|
@@ -136,17 +136,32 @@ var dbController = {
|
|
|
//controller.delete();
|
|
|
tools.delteSheets(controller, totalJobs, totalItems, jobsSpread.getActiveSheet(), itemsSpread.getActiveSheet());
|
|
|
//to solve refresh after deleted
|
|
|
- /*let jobs = controller.tree.selected.jobs;
|
|
|
let jobsSheet = jobsSpread.getActiveSheet();
|
|
|
- setSheet.setMaxRowCount(jobsSheet, jobs);
|
|
|
- if(jobs.length > 0){
|
|
|
- tools.reshowData(jobsSheet, jobs, jobsSetting, false);
|
|
|
- orgJobData = jobsSheet.getValue(0, 0);
|
|
|
+ let itemsSheet = itemsSpread.getActiveSheet();
|
|
|
+ if(node){
|
|
|
+ let jobs = controller.tree.selected.jobs;
|
|
|
+ $('#exampleTextarea').val(controller.tree.selected.data.recharge);
|
|
|
+ setSheet.setMaxRowCount(jobsSheet, jobs);
|
|
|
+ if(jobs.length > 0){
|
|
|
+ tools.reshowData(jobsSheet, jobs, jobsSetting, false);
|
|
|
+ orgJobData = jobsSheet.getValue(0, 0);
|
|
|
+ }
|
|
|
+ sheetDatas = tools.getsheetDatas(jobsSheet, 'jobs');
|
|
|
+ //
|
|
|
+ let items = controller.tree.selected.items;
|
|
|
+ setSheet.setMaxRowCount(itemsSheet, items);
|
|
|
+ if(items.length > 0){
|
|
|
+ tools.reshowData(itemsSheet, items, itemsSetting, false);
|
|
|
+ orgItemData = itemsSheet.getValue(0, 0);
|
|
|
+ }
|
|
|
+ sheetItemsDatas = tools.getsheetDatas(itemsSheet, 'items');
|
|
|
}
|
|
|
else {
|
|
|
tools.clearData(jobsSheet);
|
|
|
+ tools.clearData(itemsSheet);
|
|
|
+ sheetDatas = tools.getsheetDatas(jobsSheet, 'jobs');
|
|
|
+ sheetItemsDatas = tools.getsheetDatas(itemsSheet, 'items');
|
|
|
}
|
|
|
- sheetDatas = tools.getsheetDatas(jobsSheet, 'jobs');*/
|
|
|
//to solve refresh after deleted
|
|
|
},
|
|
|
|
|
@@ -224,7 +239,6 @@ var dbController = {
|
|
|
}
|
|
|
});
|
|
|
}
|
|
|
-
|
|
|
};
|
|
|
|
|
|
var createObj = {
|
|
@@ -258,7 +272,7 @@ var createObj = {
|
|
|
if(nodes){
|
|
|
nodes.forEach(function(node){
|
|
|
node.jobs = new Array();
|
|
|
- node.data.jobs.forEach(function(jobId){
|
|
|
+ /*node.data.jobs.forEach(function(jobId){
|
|
|
if(me.jobs[me.prefix + jobId]){
|
|
|
node.jobs.push(me.jobs[me.prefix + jobId]);
|
|
|
me.jobs[me.prefix + jobId].count ++;
|
|
@@ -266,6 +280,16 @@ var createObj = {
|
|
|
else {
|
|
|
node.data.jobs.splice(node.data.jobs.indexOf(jobId), 1);
|
|
|
}
|
|
|
+ });*/
|
|
|
+ //update
|
|
|
+ node.data.jobs.forEach(function(obj){
|
|
|
+ if(me.jobs[me.prefix + obj.id]){
|
|
|
+ node.jobs.push({job: me.jobs[me.prefix + obj.id], serialNo: obj.serialNo});
|
|
|
+ me.jobs[me.prefix + obj.id].count ++;
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ node.data.jobs.splice(node.data.jobs.indexOf(obj), 1);
|
|
|
+ }
|
|
|
});
|
|
|
});
|
|
|
}
|
|
@@ -315,7 +339,7 @@ var createObj = {
|
|
|
if(nodes){
|
|
|
nodes.forEach(function(node){
|
|
|
node.items = new Array();
|
|
|
- node.data.items.forEach(function(itemID){
|
|
|
+ /*node.data.items.forEach(function(itemID){
|
|
|
if(me.items[me.prefix + itemID]){
|
|
|
node.items.push(me.items[me.prefix + itemID]);
|
|
|
me.items[me.prefix + itemID].count ++;
|
|
@@ -323,6 +347,15 @@ var createObj = {
|
|
|
else {
|
|
|
node.data.items.splice(node.data.items.indexOf(itemID), 1);
|
|
|
}
|
|
|
+ });*/
|
|
|
+ node.data.items.forEach(function(obj){
|
|
|
+ if(me.items[me.prefix + obj.id]){
|
|
|
+ node.items.push({item: me.items[me.prefix + obj.id]});
|
|
|
+ me.items[me.prefix + obj.id].count ++;
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ node.data.items.splice(node.data.items.indexOf(obj), 1);
|
|
|
+ }
|
|
|
});
|
|
|
});
|
|
|
}
|
|
@@ -355,13 +388,11 @@ var tools = {
|
|
|
}
|
|
|
return isExist;
|
|
|
},
|
|
|
- isRepeat: function(arr, field, newData, ref){
|
|
|
+ isRepeat: function(arr, field, newData, ref, classify){
|
|
|
var isRepeat = false;
|
|
|
- console.log(`enterIsR`);
|
|
|
if(arr){
|
|
|
- console.log(`enter ifArr`);
|
|
|
arr.forEach(function(item){
|
|
|
- if(ref === 'reference' && item.data[field] == newData){
|
|
|
+ if(ref === 'reference' && item[classify].data[field] == newData){
|
|
|
isRepeat = true;
|
|
|
}
|
|
|
else if(ref === 'document' && item[field] === newData){
|
|
@@ -387,16 +418,25 @@ var tools = {
|
|
|
sheet.setTag(rowIdx, 1, id);
|
|
|
},
|
|
|
|
|
|
- getIndex: function(arr, id){
|
|
|
+ getIndex: function(arr, id, classify){
|
|
|
var index;
|
|
|
arr.forEach(function(item){
|
|
|
- if(item.data.id === id){
|
|
|
+ if(item[classify].data.id === id){
|
|
|
index = arr.indexOf(item);
|
|
|
}
|
|
|
});
|
|
|
return index;
|
|
|
},
|
|
|
|
|
|
+ getObj: function(arr, id, classify){
|
|
|
+ for(let i=0; i<arr.length; i++){
|
|
|
+ if(arr[i][classify].data.id === id){
|
|
|
+ return arr[i];
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return null;
|
|
|
+ },
|
|
|
+
|
|
|
getNewCode: function(totalObj, classify){
|
|
|
let arr;
|
|
|
if(classify === 'jobs'){
|
|
@@ -462,6 +502,25 @@ var tools = {
|
|
|
|
|
|
},
|
|
|
|
|
|
+ getSerialNo: function(arr){
|
|
|
+ if(arr.length > 0){
|
|
|
+ tools.resortSerialNo(arr);
|
|
|
+ return arr[arr.length - 1].serialNo + 1;
|
|
|
+ }
|
|
|
+ return 1;
|
|
|
+ },
|
|
|
+
|
|
|
+ resortSerialNo: function(arr){
|
|
|
+ function compare(){
|
|
|
+ return function (a, b){
|
|
|
+ let valA = a.serialNo,
|
|
|
+ valB = b.serialNo;
|
|
|
+ return valA - valB;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ arr.sort(compare());
|
|
|
+ },
|
|
|
+
|
|
|
resort: function(arr, attr, isValue){
|
|
|
function compare(attr){
|
|
|
return function (a, b){
|
|
@@ -479,6 +538,27 @@ var tools = {
|
|
|
}
|
|
|
arr.sort(compare(attr));
|
|
|
},
|
|
|
+ //update--
|
|
|
+ orderReshowData: function(sheet, arr, setting, classify, isResort){
|
|
|
+ tools.clearData(sheet);
|
|
|
+ if(arr.length > 0){
|
|
|
+ if(isResort){
|
|
|
+ tools.resortSerialNo(arr);
|
|
|
+ }
|
|
|
+ let length = arr.length;
|
|
|
+ for(let i=0; i<length; i++){
|
|
|
+ setting.cols.forEach(function(col, colIdx){
|
|
|
+ sheet.setTag(i, colIdx, arr[i][classify].data.id);
|
|
|
+ if(arr[i][classify].data[col.data.field]){
|
|
|
+ sheet.getCell(i, colIdx).value(arr[i][classify].data[col.data.field]);
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ sheet.getCell(i, colIdx).value('');
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
|
|
|
reshowData: function(sheet, arr, setting, isResort){
|
|
|
tools.clearData(sheet);
|
|
@@ -617,26 +697,23 @@ var tools = {
|
|
|
const UpdateExist = 'updateExist', UpdateNew = 'updateNew', CreateExist = 'createExist', CreateNew = 'createNew';
|
|
|
let updateDatas = [];
|
|
|
let createDatas = [];
|
|
|
- let createNewData = [];
|
|
|
- let createExData = [];
|
|
|
- let updateNewData = [];
|
|
|
- let updateExData = [];
|
|
|
let nodeId = controller.tree.selected.getID();
|
|
|
- uncrossedDatas.forEach(data => {
|
|
|
+ uncrossedDatas.forEach(obj => {
|
|
|
let cnDataObj, ceDataObj, content, jobId;
|
|
|
- let isExisit = tools.isExist(totalJobs.jobsArr, 'content', data, null);
|
|
|
- let isRepeat = tools.isRepeat(controller.tree.selected.jobs, 'content', data, 'reference');
|
|
|
+ let isExisit = tools.isExist(totalJobs.jobsArr, 'content', obj.data, null);
|
|
|
+ let isRepeat = tools.isRepeat(controller.tree.selected.jobs, 'content', obj.data, 'reference', 'job');
|
|
|
if(isExisit && !isRepeat){
|
|
|
totalJobs.jobsArr.forEach(job => {
|
|
|
- if(data === job.data.content){
|
|
|
+ if(obj.data === job.data.content){
|
|
|
jobId = job.data.id;
|
|
|
}
|
|
|
});
|
|
|
ceDataObj= {
|
|
|
- newData: data,
|
|
|
+ newData: obj.data,
|
|
|
billsLibId: billsLibId,
|
|
|
nodeId: nodeId,
|
|
|
jobId: jobId,
|
|
|
+ serialNo: obj.serialNo,
|
|
|
type: CreateExist
|
|
|
};
|
|
|
createDatas.push(ceDataObj);
|
|
@@ -648,8 +725,9 @@ var tools = {
|
|
|
//id: maxJobsNumber,
|
|
|
billsLibId: billsLibId,
|
|
|
nodeId: nodeId,
|
|
|
- newData: data,
|
|
|
+ newData: obj.data,
|
|
|
code: maxJobsNumber,
|
|
|
+ serialNo: obj.serialNo,
|
|
|
type: CreateNew
|
|
|
};
|
|
|
createDatas.push(cnDataObj);
|
|
@@ -658,7 +736,7 @@ var tools = {
|
|
|
crossedDatas.forEach(cData => {
|
|
|
let ueObj, unObj, newJobId;
|
|
|
let isExisit = tools.isExist(totalJobs.jobsArr, 'content', cData.newData, null);
|
|
|
- let isRepeat = tools.isRepeat(controller.tree.selected.jobs, 'content', cData.newData, 'reference');
|
|
|
+ let isRepeat = tools.isRepeat(controller.tree.selected.jobs, 'content', cData.newData, 'reference', 'job');
|
|
|
if(isExisit && !isRepeat){
|
|
|
totalJobs.jobsArr.forEach(job => {
|
|
|
if(cData.newData === job.data.content){
|
|
@@ -671,6 +749,7 @@ var tools = {
|
|
|
nodeId: nodeId,
|
|
|
newJobId: newJobId,
|
|
|
orgJobId: cData.orgId,
|
|
|
+ serialNo:cData.serialNo,
|
|
|
type: UpdateExist
|
|
|
};
|
|
|
updateDatas.push(ueObj);
|
|
@@ -685,6 +764,7 @@ var tools = {
|
|
|
newData: cData.newData,
|
|
|
orgJobId: cData.orgId,
|
|
|
code: maxJobsNumber,
|
|
|
+ serialNo: cData.serialNo,
|
|
|
type: UpdateNew
|
|
|
};
|
|
|
updateDatas.push(unObj);
|
|
@@ -700,26 +780,23 @@ var tools = {
|
|
|
const UpdateExist = 'updateExist', UpdateNew = 'updateNew', CreateExist = 'createExist', CreateNew = 'createNew';
|
|
|
let updateDatas = [];
|
|
|
let createDatas = [];
|
|
|
- let createNewData = [];
|
|
|
- let createExData = [];
|
|
|
- let updateNewData = [];
|
|
|
- let updateExData = [];
|
|
|
let nodeId = controller.tree.selected.getID();
|
|
|
- uncrossedDatas.forEach(data => {
|
|
|
+ uncrossedDatas.forEach(obj => {
|
|
|
let cnDataObj, ceDataObj, content,itemId;
|
|
|
- let isExisit = tools.isExist(totalItems.itemsArr, 'content', data, null);
|
|
|
- let isRepeat = tools.isRepeat(controller.tree.selected.items, 'content', data, 'reference');
|
|
|
+ let isExisit = tools.isExist(totalItems.itemsArr, 'content', obj.data, null);
|
|
|
+ let isRepeat = tools.isRepeat(controller.tree.selected.items, 'content', obj.data, 'reference', 'item');
|
|
|
if(isExisit && !isRepeat){
|
|
|
totalItems.itemsArr.forEach(item => {
|
|
|
- if(data === item.data.content){
|
|
|
+ if(obj.data === item.data.content){
|
|
|
itemId = item.data.id;
|
|
|
}
|
|
|
});
|
|
|
ceDataObj= {
|
|
|
- newData: data,
|
|
|
+ newData: obj.data,
|
|
|
billsLibId: billsLibId,
|
|
|
nodeId: nodeId,
|
|
|
itemId: itemId,
|
|
|
+ serialNo: obj.serialNo,
|
|
|
type: CreateExist
|
|
|
};
|
|
|
createDatas.push(ceDataObj);
|
|
@@ -731,7 +808,8 @@ var tools = {
|
|
|
// id: maxItemsNumber,
|
|
|
billsLibId: billsLibId,
|
|
|
nodeId: nodeId,
|
|
|
- newData: data,
|
|
|
+ newData: obj.data,
|
|
|
+ serialNo: obj.serialNo,
|
|
|
code: maxItemsNumber,
|
|
|
type: CreateNew
|
|
|
};
|
|
@@ -742,7 +820,7 @@ var tools = {
|
|
|
crossedDatas.forEach(cData => {
|
|
|
let ueObj, unObj, newItemId;
|
|
|
let isExisit = tools.isExist(totalItems.itemsArr, 'content', cData.newData, null);
|
|
|
- let isRepeat = tools.isRepeat(controller.tree.selected.items, 'content', cData.newData, 'reference');
|
|
|
+ let isRepeat = tools.isRepeat(controller.tree.selected.items, 'content', cData.newData, 'reference', 'item');
|
|
|
if(isExisit && !isRepeat){
|
|
|
totalItems.itemsArr.forEach(item => {
|
|
|
if(cData.newData === item.data.content){
|
|
@@ -755,6 +833,7 @@ var tools = {
|
|
|
nodeId: nodeId,
|
|
|
newItemId: newItemId,
|
|
|
orgItemId: cData.orgId,
|
|
|
+ serialNo: cData.serialNo,
|
|
|
type: UpdateExist
|
|
|
};
|
|
|
updateDatas.push(ueObj);
|
|
@@ -769,6 +848,7 @@ var tools = {
|
|
|
newData: cData.newData,
|
|
|
orgItemId: cData.orgId,
|
|
|
code: maxItemsNumber,
|
|
|
+ serialNo: cData.serialNo,
|
|
|
type: UpdateNew
|
|
|
};
|
|
|
updateDatas.push(unObj);
|
|
@@ -1036,101 +1116,104 @@ let pasteController = {
|
|
|
if(datas[i].type === UpdateExist){
|
|
|
totalJobs.jobsArr.forEach(job => {
|
|
|
if(job.data.content === datas[i].newData){
|
|
|
- let index = tools.getIndex(controller.tree.selected.jobs, datas[i].orgJobId);
|
|
|
+ let serialNo = datas[i].serialNo;
|
|
|
+ let index = tools.getIndex(controller.tree.selected.jobs, datas[i].orgJobId, 'job');
|
|
|
job.count ++;
|
|
|
controller.tree.selected.jobs.splice(index, 1);
|
|
|
- controller.tree.selected.jobs.splice(index, 0, job);
|
|
|
+ controller.tree.selected.jobs.splice(index, 0, {job: job, serialNo: serialNo});
|
|
|
}
|
|
|
});
|
|
|
}
|
|
|
if(datas[i].type === UpdateNew){
|
|
|
let newJobData, newJob;
|
|
|
- let newJobId = datas[i].newJobId;
|
|
|
+ let newJobId = datas[i].newJobId, serialNo = datas[i].serialNo;
|
|
|
newJobData = {id: newJobId, content: datas[i].newData, code: datas[i].code};
|
|
|
newJob = createObj.newJob(newJobData);
|
|
|
newJob.count = 1;
|
|
|
totalJobs.jobs[totalJobs.prefix + newJobId] = newJob;
|
|
|
totalJobs.jobsArr.push(newJob);
|
|
|
- var index = tools.getIndex(controller.tree.selected.jobs, datas[i].orgJobId);
|
|
|
+ var index = tools.getIndex(controller.tree.selected.jobs, datas[i].orgJobId, 'job');
|
|
|
controller.tree.selected.jobs.splice(index, 1);
|
|
|
- controller.tree.selected.jobs.splice(index, 0, newJob);
|
|
|
+ controller.tree.selected.jobs.splice(index, 0, {job: newJob, serialNo: serialNo});
|
|
|
}
|
|
|
if(datas[i].type === CreateExist){
|
|
|
+ let serialNo = datas[i].serialNo;
|
|
|
totalJobs.jobsArr.forEach(job => {
|
|
|
if(job.data.content === datas[i].newData){
|
|
|
job.count ++;
|
|
|
- controller.tree.selected.jobs.push(job);
|
|
|
+ controller.tree.selected.jobs.push({job: job, serialNo: serialNo});
|
|
|
}
|
|
|
|
|
|
});
|
|
|
}
|
|
|
if(datas[i].type === CreateNew){
|
|
|
- let newJobId = datas[i].newJobId;
|
|
|
+ let newJobId = datas[i].newJobId, serialNo = datas[i].serialNo;
|
|
|
let newJobData, newJob;
|
|
|
newJobData = {id: newJobId, content: datas[i].newData, code: datas[i].code};
|
|
|
newJob = createObj.newJob(newJobData);
|
|
|
newJob.count = 1;
|
|
|
totalJobs.jobs[totalJobs.prefix + newJobId] = newJob;
|
|
|
totalJobs.jobsArr.push(newJob);
|
|
|
- controller.tree.selected.jobs.push(newJob);
|
|
|
+ controller.tree.selected.jobs.push({job: newJob, serialNo: serialNo});
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
//resort&reshow
|
|
|
- tools.reshowData(sheet, controller.tree.selected.jobs, setting, true);
|
|
|
+ tools.orderReshowData(sheet, controller.tree.selected.jobs, setting, 'job', true);
|
|
|
sheetDatas = tools.getsheetDatas(sheet);
|
|
|
|
|
|
},
|
|
|
frontItemsRelOperator: function(sheet, setting, controller, totalItems, datas){
|
|
|
const UpdateExist = 'updateExist', UpdateNew = 'updateNew', CreateExist = 'createExist', CreateNew = 'createNew';
|
|
|
- //let updateDatas = pasteDatas.updateDatas, createDatas = pasteDatas.createDatas;
|
|
|
if(datas.length > 0){
|
|
|
for(let i =0; i<datas.length; i++){
|
|
|
if(datas[i].type === UpdateExist){
|
|
|
+ let serialNo = datas[i].serialNo;
|
|
|
totalItems.itemsArr.forEach(item => {
|
|
|
if(item.data.content === datas[i].newData){
|
|
|
- let index = tools.getIndex(controller.tree.selected.items, datas[i].orgItemId);
|
|
|
+ let index = tools.getIndex(controller.tree.selected.items, datas[i].orgItemId, 'item');
|
|
|
item.count ++;
|
|
|
controller.tree.selected.items.splice(index, 1);
|
|
|
- controller.tree.selected.items.splice(index, 0, item);
|
|
|
+ controller.tree.selected.items.splice(index, 0, {item: item, serialNo: serialNo});
|
|
|
}
|
|
|
});
|
|
|
}
|
|
|
if(datas[i].type === UpdateNew){
|
|
|
let newItemData, newItem;
|
|
|
- let newItemId = datas[i].newItemId;
|
|
|
+ let newItemId = datas[i].newItemId, serialNo = datas[i].serialNo;
|
|
|
newItemData = {id: newItemId, content: datas[i].newData, code: datas[i].code};
|
|
|
newItem = createObj.newItem(newItemData);
|
|
|
newItem.count = 1;
|
|
|
totalItems.items[totalItems.prefix + newItemId] = newItem;
|
|
|
totalItems.itemsArr.push(newItem);
|
|
|
- var index = tools.getIndex(controller.tree.selected.items, datas[i].orgItemId);
|
|
|
+ var index = tools.getIndex(controller.tree.selected.items, datas[i].orgItemId, 'item');
|
|
|
controller.tree.selected.items.splice(index, 1);
|
|
|
- controller.tree.selected.items.splice(index, 0, newItem);
|
|
|
+ controller.tree.selected.items.splice(index, 0, {item: newItem, serialNo: serialNo});
|
|
|
}
|
|
|
if(datas[i].type === CreateExist){
|
|
|
+ let serialNo = datas[i].serialNo;
|
|
|
totalItems.itemsArr.forEach(item => {
|
|
|
if(item.data.content === datas[i].newData){
|
|
|
item.count ++;
|
|
|
- controller.tree.selected.jobs.push(item);
|
|
|
+ controller.tree.selected.items.push({item: item, serialNo: serialNo});
|
|
|
}
|
|
|
|
|
|
});
|
|
|
}
|
|
|
if(datas[i].type === CreateNew){
|
|
|
- let newItemId = datas[i].newItemId;
|
|
|
+ let newItemId = datas[i].newItemId, serialNo = datas[i].serialNo;
|
|
|
let newItemData, newItem;
|
|
|
newItemData = {id: newItemId, content: datas[i].newData, code: datas[i].code};
|
|
|
newItem = createObj.newItem(newItemData);
|
|
|
newItem.count = 1;
|
|
|
totalItems.items[totalItems.prefix + newItemId] = newItem;
|
|
|
totalItems.itemsArr.push(newItem);
|
|
|
- controller.tree.selected.items.push(newItem);
|
|
|
+ controller.tree.selected.items.push({item: newItem, serialNo: serialNo});
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
//resort&reshow
|
|
|
- tools.reshowData(sheet, controller.tree.selected.items, setting, true);
|
|
|
+ tools.orderReshowData(sheet, controller.tree.selected.items, setting, 'item', true);
|
|
|
sheetItemsDatas = tools.getsheetDatas(sheet);
|
|
|
|
|
|
},
|
|
@@ -1274,7 +1357,7 @@ var jobsController = {
|
|
|
});
|
|
|
if (controller.tree.selected) {
|
|
|
var isExist = tools.isExist(totalJobs.jobsArr, field, newData, orgJobData);
|
|
|
- var isRepeat = tools.isRepeat(controller.tree.selected.jobs, field ,newData, 'reference');
|
|
|
+ var isRepeat = tools.isRepeat(controller.tree.selected.jobs, field ,newData, 'reference', 'job');
|
|
|
//create
|
|
|
if(!id && newData && !isRepeat){
|
|
|
if(isExist){
|
|
@@ -1308,16 +1391,21 @@ var jobsController = {
|
|
|
createNew: function(sheet, controller, totalJobs, field, newData, args, setting){
|
|
|
if(field === 'content'){
|
|
|
maxJobsNumber++;
|
|
|
+ //update--
|
|
|
+ let serialNo = tools.getSerialNo(controller.tree.selected.jobs);
|
|
|
+ console.log(`serialNo: ${serialNo}`);
|
|
|
+ //--
|
|
|
console.log(`billsLibId: ${billsLibId} billsId: ${controller.tree.selected.getID()} content: ${newData} code: ${maxJobsNumber}`);
|
|
|
- jobsAjax.edCreateJob(billsLibId, controller.tree.selected.getID(), newData, maxJobsNumber, function(newJobId){
|
|
|
+ jobsAjax.edCreateJob(billsLibId, controller.tree.selected.getID(), newData, maxJobsNumber, serialNo, function(newJobId){
|
|
|
var newJobData, newJob;
|
|
|
newJobData = {id: newJobId, content: newData, code: maxJobsNumber};
|
|
|
newJob = createObj.newJob(newJobData);
|
|
|
newJob.count = 1;
|
|
|
totalJobs.jobs[totalJobs.prefix + newJobId] = newJob;
|
|
|
totalJobs.jobsArr.push(newJob);
|
|
|
- controller.tree.selected.jobs.push(newJob);
|
|
|
- tools.reshowData(sheet, controller.tree.selected.jobs, setting, true);
|
|
|
+ controller.tree.selected.jobs.push({job: newJob, serialNo: serialNo});//update--
|
|
|
+ //tools.reshowData(sheet, controller.tree.selected.jobs, setting, true);//update--
|
|
|
+ tools.orderReshowData(sheet, controller.tree.selected.jobs, setting, 'job', true)//update--
|
|
|
});
|
|
|
}
|
|
|
else {
|
|
@@ -1328,16 +1416,22 @@ var jobsController = {
|
|
|
createExist: function(sheet, controller, totalJobs, field, newData, args, setting){
|
|
|
totalJobs.jobsArr.forEach(function(job){
|
|
|
if(field === 'content'&& newData === job.data.content){
|
|
|
- billsAjax.updateBills(billsLibId, controller.tree.selected.getID(), 'jobs', job.data.id);
|
|
|
+ let serialNo = tools.getSerialNo(controller.tree.selected.jobs);//update--
|
|
|
+ //billsAjax.updateBills(billsLibId, controller.tree.selected.getID(), 'jobs', job.data.id);//update--
|
|
|
+ billsAjax.updateBills(billsLibId, controller.tree.selected.getID(), 'jobs', {id: job.data.id, serialNo: serialNo});//update--
|
|
|
job.count++;
|
|
|
- controller.tree.selected.jobs.push(job);
|
|
|
- tools.reshowData(sheet, controller.tree.selected.jobs, setting, true);
|
|
|
+ // controller.tree.selected.jobs.push(job);//update--
|
|
|
+ controller.tree.selected.jobs.push({job: job, serialNo: serialNo});//update--
|
|
|
+ //tools.reshowData(sheet, controller.tree.selected.jobs, setting, true);//update--
|
|
|
+ tools.orderReshowData(sheet,controller.tree.selected.jobs, setting, 'job', true);
|
|
|
}
|
|
|
else if(field == 'code' && newData == job.data.code){
|
|
|
- billsAjax.updateBills(billsLibId, controller.tree.selected.getID(), 'jobs', job.data.id);
|
|
|
+ let serialNo = tools.getSerialNo(controller.tree.selected.jobs);//update--
|
|
|
+ billsAjax.updateBills(billsLibId, controller.tree.selected.getID(), 'jobs', {id: job.data.id, serialNo: serialNo});//update--
|
|
|
job.count++;
|
|
|
- controller.tree.selected.jobs.push(job);
|
|
|
- tools.reshowData(sheet, controller.tree.selected.jobs, setting, true);
|
|
|
+ controller.tree.selected.jobs.push({job: job, serialNo: serialNo});//update--
|
|
|
+ // tools.reshowData(sheet, controller.tree.selected.jobs, setting, true);//update--
|
|
|
+ tools.orderReshowData(sheet, controller.tree.selected.jobs, setting, 'job', true);
|
|
|
}
|
|
|
});
|
|
|
},
|
|
@@ -1345,37 +1439,46 @@ var jobsController = {
|
|
|
if(isExist){
|
|
|
totalJobs.jobsArr.forEach(function(job){
|
|
|
if(field == 'code' && job.data[field] == newData){
|
|
|
- var index = tools.getIndex(controller.tree.selected.jobs, id);
|
|
|
+ let serialNo = tools.getObj(controller.tree.selected.jobs, id, 'job').serialNo;//update--add
|
|
|
+ let index = tools.getIndex(controller.tree.selected.jobs, id, 'job');//update-- getIndex
|
|
|
job.count++;
|
|
|
controller.tree.selected.jobs.splice(index, 1);
|
|
|
- controller.tree.selected.jobs.splice(index, 0, job);
|
|
|
+ //controller.tree.selected.jobs.splice(index, 0, job);//update--
|
|
|
+ controller.tree.selected.jobs.splice(index, 0, {job: job, serialNo: serialNo});//update--
|
|
|
billsAjax.updateBillsArr(billsLibId, controller.tree.selected.getID(), id, job.data.id, 'update', 'jobs');
|
|
|
- tools.reshowData(sheet, controller.tree.selected.jobs, setting, true);
|
|
|
+ //tools.reshowData(sheet, controller.tree.selected.jobs, setting, true);//update--
|
|
|
+ tools.orderReshowData(sheet, controller.tree.selected.jobs, setting, 'job', true);
|
|
|
}
|
|
|
if(field === 'content' && job.data[field] === newData){
|
|
|
- var index = tools.getIndex(controller.tree.selected.jobs, id);
|
|
|
+ let serialNo = tools.getObj(controller.tree.selected.jobs, id, 'job').serialNo;//update--add
|
|
|
+ let index = tools.getIndex(controller.tree.selected.jobs, id, 'job');
|
|
|
job.count++;
|
|
|
controller.tree.selected.jobs.splice(index, 1);
|
|
|
- controller.tree.selected.jobs.splice(index, 0, job);
|
|
|
+ controller.tree.selected.jobs.splice(index, 0, {job: job, serialNo: serialNo});//update--
|
|
|
billsAjax.updateBillsArr(billsLibId, controller.tree.selected.getID(), id, job.data.id, 'update', 'jobs');
|
|
|
- tools.reshowData(sheet, controller.tree.selected.jobs, setting, true);
|
|
|
+ // tools.reshowData(sheet, controller.tree.selected.jobs, setting, true);//update--
|
|
|
+ tools.orderReshowData(sheet,controller.tree.selected.jobs, setting, 'job', true);
|
|
|
}
|
|
|
});
|
|
|
}
|
|
|
else{
|
|
|
if(field === 'content'){
|
|
|
maxJobsNumber++;
|
|
|
- jobsAjax.edUpdateJob(billsLibId, controller.tree.selected.getID(), newData, maxJobsNumber, id, function(newJobId){
|
|
|
+ //let serialNo = tools.getSerialNo(controller.tree.selected.jobs);//update--
|
|
|
+ let serialNo = tools.getObj(controller.tree.selected.jobs, id, 'job').serialNo;
|
|
|
+ console.log(`upNe: serialNo: ${serialNo}`);
|
|
|
+ jobsAjax.edUpdateJob(billsLibId, controller.tree.selected.getID(), newData, maxJobsNumber, id, function(newJobId){//update--
|
|
|
var newJobData, newJob;
|
|
|
newJobData = {id: newJobId, content: newData, code: maxJobsNumber};
|
|
|
newJob = createObj.newJob(newJobData);
|
|
|
newJob.count = 1;
|
|
|
totalJobs.jobs[totalJobs.prefix + newJobId] = newJob;
|
|
|
totalJobs.jobsArr.push(newJob);
|
|
|
- var index = tools.getIndex(controller.tree.selected.jobs, id);
|
|
|
+ var index = tools.getIndex(controller.tree.selected.jobs, id, 'job');
|
|
|
controller.tree.selected.jobs.splice(index, 1);
|
|
|
- controller.tree.selected.jobs.splice(index, 0, newJob);
|
|
|
- tools.reshowData(sheet, controller.tree.selected.jobs, setting, true);
|
|
|
+ controller.tree.selected.jobs.splice(index, 0, {job: newJob, serialNo: serialNo});//update--
|
|
|
+ //tools.reshowData(sheet, controller.tree.selected.jobs, setting, true);//update--
|
|
|
+ tools.orderReshowData(sheet, controller.tree.selected.jobs, setting, 'job', true);//update--
|
|
|
});
|
|
|
}
|
|
|
else {
|
|
@@ -1407,7 +1510,7 @@ var itemsController = {
|
|
|
});
|
|
|
if (controller.tree.selected) {
|
|
|
var isExist = tools.isExist(totalItems.itemsArr, field, newData, orgItemData);
|
|
|
- var isRepeat = tools.isRepeat(controller.tree.selected.items, field ,newData, 'reference');
|
|
|
+ var isRepeat = tools.isRepeat(controller.tree.selected.items, field ,newData, 'reference', 'item');
|
|
|
//create
|
|
|
if(!id && newData && !isRepeat){
|
|
|
if(isExist){
|
|
@@ -1441,16 +1544,18 @@ var itemsController = {
|
|
|
createNew: function(sheet, controller, totalItems, field, newData, args, setting){
|
|
|
if(field === 'content'){
|
|
|
maxItemsNumber++;
|
|
|
+ let serialNo = tools.getSerialNo(controller.tree.selected.items);
|
|
|
console.log(`billsLibId: ${billsLibId} billsId: ${controller.tree.selected.getID()} content: ${newData} code: ${maxItemsNumber}`);
|
|
|
- itemsAjax.edCreateItem(billsLibId, controller.tree.selected.getID(), newData, maxItemsNumber, function(newItemId){
|
|
|
+ itemsAjax.edCreateItem(billsLibId, controller.tree.selected.getID(), newData, maxItemsNumber, serialNo, function(newItemId){
|
|
|
let newItemData, newItem;
|
|
|
newItemData = {id: newItemId, content: newData, code: maxItemsNumber};
|
|
|
newItem = createObj.newItem(newItemData);
|
|
|
newItem.count = 1;
|
|
|
totalItems.items[totalItems.prefix + newItemId] = newItem;
|
|
|
totalItems.itemsArr.push(newItem);
|
|
|
- controller.tree.selected.items.push(newItem);
|
|
|
- tools.reshowData(sheet, controller.tree.selected.items, setting, true);
|
|
|
+ controller.tree.selected.items.push({item: newItem, serialNo: serialNo});
|
|
|
+ //tools.reshowData(sheet, controller.tree.selected.items, setting, true);
|
|
|
+ tools.orderReshowData(sheet, controller.tree.selected.items, setting, 'item', true);
|
|
|
});
|
|
|
}
|
|
|
else {
|
|
@@ -1466,20 +1571,19 @@ var itemsController = {
|
|
|
|
|
|
createExist: function(sheet, controller, totalItems, field, newData, args, setting){
|
|
|
totalItems.itemsArr.forEach(function(item){
|
|
|
- //todo:整合代码
|
|
|
if(field === 'content'&& newData === item.data.content){
|
|
|
- //isExist = true;
|
|
|
- billsAjax.updateBills(billsLibId, controller.tree.selected.getID(), 'items', item.data.id);
|
|
|
+ let serialNo = tools.getSerialNo(controller.tree.selected.items);
|
|
|
+ billsAjax.updateBills(billsLibId, controller.tree.selected.getID(), 'items', {id: item.data.id, serialNo: serialNo});
|
|
|
item.count++;
|
|
|
- controller.tree.selected.items.push(item);
|
|
|
- tools.reshowData(sheet, controller.tree.selected.items, setting, true);
|
|
|
+ controller.tree.selected.items.push({item: item, serialNo: serialNo});
|
|
|
+ tools.orderReshowData(sheet, controller.tree.selected.items, setting, 'item', true);
|
|
|
}
|
|
|
else if(field == 'code' && newData == item.data.code){
|
|
|
- //isExist = true;
|
|
|
- billsAjax.updateBills(billsLibId, controller.tree.selected.getID(), 'items', item.data.id);
|
|
|
+ let serialNo = tools.getSerialNo(controller.tree.selected.items);
|
|
|
+ billsAjax.updateBills(billsLibId, controller.tree.selected.getID(), 'items', {id: item.data.id, serialNo: serialNo});
|
|
|
item.count++;
|
|
|
- controller.tree.selected.items.push(item);
|
|
|
- tools.reshowData(sheet, controller.tree.selected.items, setting, true);
|
|
|
+ controller.tree.selected.items.push({item: item, serialNo: serialNo});
|
|
|
+ tools.orderReshowData(sheet, controller.tree.selected.items, setting, 'item', true);
|
|
|
}
|
|
|
});
|
|
|
},
|
|
@@ -1488,26 +1592,29 @@ var itemsController = {
|
|
|
if(isExist){
|
|
|
totalItems.itemsArr.forEach(function(item){
|
|
|
if(field == 'code' && item.data[field] == newData){
|
|
|
- var index = tools.getIndex(controller.tree.selected.items, id);
|
|
|
+ let serialNo = tools.getObj(controller.tree.selected.items, id, 'item').serialNo;
|
|
|
+ let index = tools.getIndex(controller.tree.selected.items, id, 'item');
|
|
|
item.count++;
|
|
|
controller.tree.selected.items.splice(index, 1);
|
|
|
- controller.tree.selected.items.splice(index, 0, item);
|
|
|
+ controller.tree.selected.items.splice(index, 0, {item: item, serialNo: serialNo});
|
|
|
billsAjax.updateBillsArr(billsLibId, controller.tree.selected.getID(), id, item.data.id, 'update', 'items');
|
|
|
- tools.reshowData(sheet, controller.tree.selected.items, setting, true);
|
|
|
+ tools.orderReshowData(sheet, controller.tree.selected.items, setting, 'item', true);
|
|
|
}
|
|
|
if(field === 'content' && item.data[field] === newData){
|
|
|
- var index = tools.getIndex(controller.tree.selected.items, id);
|
|
|
+ let serialNo = tools.getObj(controller.tree.selected.items, id, 'item').serialNo;
|
|
|
+ let index = tools.getIndex(controller.tree.selected.items, id, 'item');
|
|
|
item.count++;
|
|
|
controller.tree.selected.items.splice(index, 1);
|
|
|
- controller.tree.selected.items.splice(index, 0, item);
|
|
|
+ controller.tree.selected.items.splice(index, 0, {item: item, serialNo: serialNo});
|
|
|
billsAjax.updateBillsArr(billsLibId, controller.tree.selected.getID(), id, item.data.id, 'update', 'items');
|
|
|
- tools.reshowData(sheet, controller.tree.selected.items, setting, true);
|
|
|
+ tools.orderReshowData(sheet, controller.tree.selected.items, setting, 'item', true);
|
|
|
}
|
|
|
});
|
|
|
}
|
|
|
else{
|
|
|
if(field === 'content'){
|
|
|
maxItemsNumber++;
|
|
|
+ let serialNo = tools.getObj(controller.tree.selected.items, id, 'item').serialNo;
|
|
|
itemsAjax.edUpdateItem(billsLibId, controller.tree.selected.getID(), newData, maxItemsNumber, id, function(newItemId){
|
|
|
var newItemData, newItem;
|
|
|
newItemData = {id: newItemId, content: newData, code: maxItemsNumber};
|
|
@@ -1515,10 +1622,10 @@ var itemsController = {
|
|
|
newItem.count = 1;
|
|
|
totalItems.items[totalItems.prefix + newItemId] = newItem;
|
|
|
totalItems.itemsArr.push(newItem);
|
|
|
- var index = tools.getIndex(controller.tree.selected.items, id);
|
|
|
+ var index = tools.getIndex(controller.tree.selected.items, id, 'item');
|
|
|
controller.tree.selected.items.splice(index, 1);
|
|
|
- controller.tree.selected.items.splice(index, 0, newItem);
|
|
|
- tools.reshowData(sheet, controller.tree.selected.items, setting, true);
|
|
|
+ controller.tree.selected.items.splice(index, 0, {item: newItem, serialNo: serialNo});
|
|
|
+ tools.orderReshowData(sheet, controller.tree.selected.items, setting, 'item', true);
|
|
|
});
|
|
|
}
|
|
|
else {
|
|
@@ -1820,8 +1927,9 @@ var totalItemsController = {
|
|
|
var rechargeController = {
|
|
|
updateRechar: function(selectedNode, newData){
|
|
|
if(selectedNode){
|
|
|
- var updateIds = [];
|
|
|
- var getupdateIds = function(node){
|
|
|
+ var updateId = selectedNode.getID();
|
|
|
+ selectedNode.data.recharge = newData;
|
|
|
+ /*var getupdateIds = function(node){
|
|
|
updateIds.push(node.getID());
|
|
|
node.data.recharge = newData;
|
|
|
if(node.children.length > 0){
|
|
@@ -1830,8 +1938,8 @@ var rechargeController = {
|
|
|
});
|
|
|
}
|
|
|
}
|
|
|
- getupdateIds(tools.getRoot(selectedNode));
|
|
|
- billsAjax.updateRecharge(billsLibId, updateIds, newData);
|
|
|
+ getupdateIds(tools.getRoot(selectedNode));*/
|
|
|
+ billsAjax.updateRecharge(billsLibId, updateId, newData);
|
|
|
}
|
|
|
else {
|
|
|
$('exampleTextarea').val('');
|