|
@@ -5,32 +5,39 @@ var dbController = {
|
|
|
insert: function(controller){
|
|
|
if(controller.tree.items.length === 0){
|
|
|
controller.tree.maxNodeID(0);
|
|
|
- controller.insert();
|
|
|
- controller.tree.selected.jobs = new Array();
|
|
|
- controller.tree.selected.items = new Array();
|
|
|
- billsAjax.createBills(billsLibId, controller.tree.selected.getID(), -1 , -1);
|
|
|
+ let newNodeId = controller.tree.newNodeID();
|
|
|
+ billsAjax.createBills(billsLibId, newNodeId, -1 , -1, null, function(){
|
|
|
+ controller.insert();
|
|
|
+ controller.tree.selected.jobs = new Array();
|
|
|
+ controller.tree.selected.items = new Array();
|
|
|
+ controller.sheet.setTag(controller.tree.selected.serialNo(), 0, newNodeId);
|
|
|
+ });
|
|
|
}
|
|
|
else {
|
|
|
- var node = controller.tree.selected;
|
|
|
+ let node = controller.tree.selected;
|
|
|
if(node){
|
|
|
var updateId = node.getID(), createpid = node.getParentID(), createnid = node.getNextSiblingID();
|
|
|
- controller.insert();
|
|
|
- controller.tree.selected.jobs = new Array();
|
|
|
- controller.tree.selected.items = new Array();
|
|
|
- billsAjax.createBills(billsLibId, node.getNextSiblingID(), createpid, createnid, function(){
|
|
|
- billsAjax.updatePNId(billsLibId, [{ID: updateId, NextSiblingID: node.getNextSiblingID()}]);
|
|
|
- rechargeController.createRecharge(controller.tree.selected);
|
|
|
+ let newNodeId = controller.tree.newNodeID();
|
|
|
+ let updatePreData = {ID: updateId, NextSiblingID: newNodeId};
|
|
|
+ billsAjax.createBills(billsLibId, newNodeId, createpid, createnid, updatePreData, function(){
|
|
|
+ controller.insert();
|
|
|
+ controller.tree.selected.jobs = new Array();
|
|
|
+ controller.tree.selected.items = new Array();
|
|
|
+ controller.sheet.setTag(controller.tree.selected.serialNo(), 0, newNodeId);
|
|
|
+ sheetBillsDatas = tools.getsheetDatas(controller.sheet, 'bills', controller);
|
|
|
});
|
|
|
}
|
|
|
else {
|
|
|
- var updateNode = controller.tree.roots[controller.tree.roots.length - 1];
|
|
|
- var updateId = updateNode.getID();
|
|
|
- controller.insert();
|
|
|
- controller.tree.selected.jobs = new Array();
|
|
|
- controller.tree.selected.items = new Array();
|
|
|
- billsAjax.createBills(billsLibId, updateNode.getNextSiblingID(), -1, -1, function(){
|
|
|
- billsAjax.updatePNId(billsLibId, [{ID: updateId, NextSiblingID: updateNode.getNextSiblingID()}]);
|
|
|
- rechargeController.createRecharge(controller.tree.selected);
|
|
|
+ let updateNode = controller.tree.roots[controller.tree.roots.length - 1];
|
|
|
+ let updateId = updateNode.getID();
|
|
|
+ let newNodeId = controller.tree.newNodeID();
|
|
|
+ let updatePreData = {ID: updateId, NextSiblingID: newNodeId};
|
|
|
+ billsAjax.createBills(billsLibId, newNodeId, -1, -1, updatePreData, function(){
|
|
|
+ controller.insert();
|
|
|
+ controller.tree.selected.jobs = new Array();
|
|
|
+ controller.tree.selected.items = new Array();
|
|
|
+ controller.sheet.setTag(controller.tree.selected.serialNo(), 0, newNodeId);
|
|
|
+ sheetBillsDatas = tools.getsheetDatas(controller.sheet, 'bills', controller);
|
|
|
});
|
|
|
}
|
|
|
}
|
|
@@ -49,36 +56,38 @@ var dbController = {
|
|
|
//node
|
|
|
if(node){
|
|
|
if(node.parent){
|
|
|
- var updateA = {
|
|
|
+ let updateA = {
|
|
|
ID: node.getID(),
|
|
|
ParentID: node.parent.getParentID(),
|
|
|
NextSiblingID: node.parent.getNextSiblingID()
|
|
|
};
|
|
|
updateData.push(updateA);
|
|
|
//parent
|
|
|
- var updateB = {
|
|
|
+ let updateB = {
|
|
|
ID: node.getParentID(),
|
|
|
NextSiblingID: node.getID()
|
|
|
}
|
|
|
updateData.push(updateB);
|
|
|
if(node.nextSibling){
|
|
|
getNextSibling(node);
|
|
|
- var updateC = {
|
|
|
+ let updateC = {
|
|
|
ID: ids,
|
|
|
ParentID: node.getID()
|
|
|
}
|
|
|
updateData.push(updateC);
|
|
|
}
|
|
|
if(node.preSibling){
|
|
|
- var updateD = {
|
|
|
+ let updateD = {
|
|
|
ID: node.preSibling.getID(),
|
|
|
NextSibingID: -1
|
|
|
}
|
|
|
updateData.push(updateD);
|
|
|
}
|
|
|
- billsAjax.updatePNId(billsLibId, updateData);
|
|
|
- controller.upLevel();
|
|
|
- rechargeController.createRecharge(controller.tree.selected);
|
|
|
+ billsAjax.updatePNId(billsLibId, updateData, function(){
|
|
|
+ controller.upLevel();
|
|
|
+ sheetBillsDatas = tools.getsheetDatas(controller.sheet, 'bills', controller);
|
|
|
+ });
|
|
|
+ //rechargeController.createRecharge(controller.tree.selected);
|
|
|
}
|
|
|
}
|
|
|
},
|
|
@@ -106,9 +115,11 @@ var dbController = {
|
|
|
}
|
|
|
updateData.push(updateC);
|
|
|
}
|
|
|
- billsAjax.updatePNId(billsLibId, updateData);
|
|
|
- controller.downLevel();
|
|
|
- rechargeController.createRecharge(controller.tree.selected);
|
|
|
+ billsAjax.updatePNId(billsLibId, updateData, function(){
|
|
|
+ controller.downLevel();
|
|
|
+ sheetBillsDatas = tools.getsheetDatas(controller.sheet, 'bills', controller);
|
|
|
+ });
|
|
|
+ //rechargeController.createRecharge(controller.tree.selected);
|
|
|
}
|
|
|
}
|
|
|
},
|
|
@@ -128,67 +139,80 @@ var dbController = {
|
|
|
}
|
|
|
};
|
|
|
getDeleteIds(node);
|
|
|
- billsAjax.deleteBills(billsLibId, deleteIds, function(){
|
|
|
- if(node.preSibling){
|
|
|
- billsAjax.updatePNId(billsLibId, [{ID: node.preSibling.getID(), NextSiblingID: node.getNextSiblingID()}]);
|
|
|
- }
|
|
|
- });
|
|
|
- //controller.delete();
|
|
|
- tools.delteSheets(controller, totalJobs, totalItems, jobsSpread.getActiveSheet(), itemsSpread.getActiveSheet());
|
|
|
- //to solve refresh after deleted
|
|
|
- let jobsSheet = jobsSpread.getActiveSheet();
|
|
|
- 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);
|
|
|
+ let updateNode = node.preSibling ? {ID: node.preSibling.getID(), NextSiblingID: node.getNextSiblingID()} : null;
|
|
|
+ billsAjax.deleteBills(billsLibId, deleteIds, updateNode, function(){
|
|
|
+ console.log(`entetcb`);
|
|
|
+ controller.delete();
|
|
|
+ //to solve refresh after deleted
|
|
|
+ let jobsSheet = jobsSpread.getActiveSheet();
|
|
|
+ let itemsSheet = itemsSpread.getActiveSheet();
|
|
|
+ let nowNode = controller.tree.selected ;
|
|
|
+ if(nowNode){
|
|
|
+ let jobs = controller.tree.selected.jobs;
|
|
|
+ $('#exampleTextarea').val(controller.tree.selected.data.recharge);
|
|
|
+ setSheet.setMaxRowCount(jobsSheet, jobs);
|
|
|
+ if(jobs.length > 0){
|
|
|
+ tools.orderReshowData(jobsSheet, jobs, jobsSetting, 'job', false);
|
|
|
+ orgJobData = jobsSheet.getValue(0, 0);
|
|
|
+ }
|
|
|
+ let items = controller.tree.selected.items;
|
|
|
+ setSheet.setMaxRowCount(itemsSheet, items);
|
|
|
+ if(items.length > 0){
|
|
|
+ tools.orderReshowData(itemsSheet, items, itemsSetting, 'item', false);
|
|
|
+ orgItemData = itemsSheet.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);
|
|
|
+ else {
|
|
|
+ tools.clearData(jobsSheet);
|
|
|
+ tools.clearData(itemsSheet);
|
|
|
+ $('#exampleTextarea').val("");
|
|
|
}
|
|
|
- sheetItemsDatas = tools.getsheetDatas(itemsSheet, 'items');
|
|
|
- }
|
|
|
- else {
|
|
|
- tools.clearData(jobsSheet);
|
|
|
- tools.clearData(itemsSheet);
|
|
|
sheetDatas = tools.getsheetDatas(jobsSheet, 'jobs');
|
|
|
sheetItemsDatas = tools.getsheetDatas(itemsSheet, 'items');
|
|
|
- }
|
|
|
- //to solve refresh after deleted
|
|
|
+ sheetBillsDatas = tools.getsheetDatas(controller.sheet, 'bills', controller);
|
|
|
+ //to solve refresh after deleted
|
|
|
+ });
|
|
|
},
|
|
|
|
|
|
upMove: function(controller){
|
|
|
var node = controller.tree.selected;
|
|
|
+ console.log(`nodeId ${node.getID()}`);
|
|
|
+ console.log(`preNode ${node.preSibling.getID()}`);
|
|
|
var updateData = [];
|
|
|
if(node){
|
|
|
+ //1 2 5 3 4
|
|
|
if(node.preSibling){
|
|
|
- var updateA = {
|
|
|
+ let preNode = node.preSibling,
|
|
|
+ nextNode = node.nextSibling,
|
|
|
+ prePreNode;
|
|
|
+ let updateA = {
|
|
|
ID: node.preSibling.getID(),
|
|
|
NextSiblingID: node.getNextSiblingID()
|
|
|
};
|
|
|
- var updateB = {
|
|
|
+ console.log(`update preNode: ID: ${updateA.ID} NextSiblingID: ${updateA.NextSiblingID}`);
|
|
|
+ let updateB = {
|
|
|
ID: node.getID(),
|
|
|
NextSiblingID: node.preSibling.getID()
|
|
|
};
|
|
|
+ console.log(`update oprNode: ID: ${updateB.ID} NextSiblingID: ${updateB.NextSiblingID}`);
|
|
|
updateData.push(updateA);
|
|
|
updateData.push(updateB);
|
|
|
if(node.preSibling.preSibling){
|
|
|
- var updateC = {
|
|
|
+ prePreNode = node.preSibling.preSibling;
|
|
|
+ let updateC = {
|
|
|
ID: node.preSibling.preSibling.getID(),
|
|
|
NextSiblingID: node.getID()
|
|
|
}
|
|
|
updateData.push(updateC);
|
|
|
- }
|
|
|
- billsAjax.updatePNId(billsLibId, updateData);
|
|
|
- controller.upMove();
|
|
|
+ console.log(`update prePreNode: ID: ${updateC.ID} NextSiblingID: ${updateC.NextSiblingID}`);
|
|
|
+ }
|
|
|
+ /*billsAjax.updatePNId(billsLibId, updateData, function(){
|
|
|
+ controller.upMove();
|
|
|
+ });*/
|
|
|
+ billsAjax.upMove(billsLibId, updateData, function(){
|
|
|
+ controller.upMove();
|
|
|
+ sheetBillsDatas = tools.getsheetDatas(controller.sheet, 'bills', controller);
|
|
|
+ });
|
|
|
}
|
|
|
}
|
|
|
},
|
|
@@ -217,6 +241,7 @@ var dbController = {
|
|
|
}
|
|
|
billsAjax.updatePNId(billsLibId, updateData);
|
|
|
controller.downMove();
|
|
|
+ sheetBillsDatas = tools.getsheetDatas(controller.sheet, 'bills', controller);
|
|
|
}
|
|
|
}
|
|
|
},
|
|
@@ -233,6 +258,7 @@ var dbController = {
|
|
|
}
|
|
|
});
|
|
|
billsAjax.updateBills(billsLibId, updateId, field, args.editingText);
|
|
|
+ sheetBillsDatas = tools.getsheetDatas(controller.sheet, 'bills', controller);
|
|
|
}
|
|
|
else {
|
|
|
args.sheet.getCell(args.row, args.col, GC.Spread.Sheets.SheetArea.viewport).value('');
|
|
@@ -390,15 +416,29 @@ var tools = {
|
|
|
},
|
|
|
isRepeat: function(arr, field, newData, ref, classify){
|
|
|
var isRepeat = false;
|
|
|
- if(arr){
|
|
|
- arr.forEach(function(item){
|
|
|
- if(ref === 'reference' && item[classify].data[field] == newData){
|
|
|
- isRepeat = true;
|
|
|
- }
|
|
|
- else if(ref === 'document' && item[field] === newData){
|
|
|
- isRepeat = true;
|
|
|
- }
|
|
|
- });
|
|
|
+ if(classify){
|
|
|
+ if(arr){
|
|
|
+ arr.forEach(function(item){
|
|
|
+ if(ref === 'reference' && item[classify].data[field] == newData){
|
|
|
+ isRepeat = true;
|
|
|
+ }
|
|
|
+ else if(ref === 'document' && item[field] === newData){
|
|
|
+ isRepeat = true;
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ if(arr){
|
|
|
+ arr.forEach(function(item){
|
|
|
+ if(ref === 'reference' && item.data[field] == newData){
|
|
|
+ isRepeat = true;
|
|
|
+ }
|
|
|
+ else if(ref === 'document' && item[field] === newData){
|
|
|
+ isRepeat = true;
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
}
|
|
|
return isRepeat;
|
|
|
},
|
|
@@ -450,34 +490,109 @@ var tools = {
|
|
|
|
|
|
},
|
|
|
|
|
|
+ getValidDatas: function(sheet, setting, args){
|
|
|
+ let validDatas = [];
|
|
|
+ const colLen = 4;
|
|
|
+ let orgRow = args.cellRange.row, orgCol = args.cellRange.col, rowCount = args.cellRange.rowCount, colCount = args.cellRange.colCount;
|
|
|
+ let maxRow = orgRow + rowCount - 1, maxCol = orgCol + colCount -1;
|
|
|
+ for(let i=orgRow; i<= maxRow; i++){
|
|
|
+ if(tools.getValidRow(sheet, i)){
|
|
|
+ let validData = {code: '', name: '', unit: '', ruleText: ''};
|
|
|
+ for(var j=0; j<colLen; j++){
|
|
|
+ let field;
|
|
|
+ setting.cols.forEach(function(col, colIdx){
|
|
|
+ if(colIdx === j){
|
|
|
+ field = col.data.field;
|
|
|
+ }
|
|
|
+ });
|
|
|
+ validData[field] = sheet.getValue(i, j);
|
|
|
+ }
|
|
|
+ validDatas.push(validData);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return validDatas;
|
|
|
+ },
|
|
|
+
|
|
|
+ getValidRow: function(sheet, rowIdx){
|
|
|
+ const colCount = 4;
|
|
|
+ let isValid = false;
|
|
|
+ for(let i=0; i< colCount; i++){
|
|
|
+ if(sheet.getValue(rowIdx, i, GC.Spread.Sheets.SheetArea.viewport)){
|
|
|
+ isValid = true;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return isValid;
|
|
|
+ },
|
|
|
+
|
|
|
+ getDelDatas: function(controller, totalJobs, totalItems){
|
|
|
+ let delJobs = controller.tree.selected.jobs,
|
|
|
+ delItems = controller.tree.selected.items,
|
|
|
+ delJobsIds = [], delItemsIds = [];
|
|
|
+ if(delJobs.length > 0){
|
|
|
+ delJobs.forEach()
|
|
|
+ }
|
|
|
+ },
|
|
|
+
|
|
|
+ /*delteSheets: function(controller, totalJobs, totalItems, jobsSheet, itemsSheet){
|
|
|
+ var delJobs = controller.tree.selected.jobs;
|
|
|
+ var delItems = controller.tree.selected.items;
|
|
|
+ var delJobsIds = [];
|
|
|
+ var delItemsIds = [];
|
|
|
+ if(delJobs.length > 0){
|
|
|
+ delJobs.forEach(function(obj){
|
|
|
+ obj.job.count --;
|
|
|
+ if(obj.job.count <=0){
|
|
|
+ totalJobs.jobsArr.splice(totalJobs.jobsArr.indexOf(obj), 1);
|
|
|
+ delJobsIds.push(obj.job.data.id)
|
|
|
+ }
|
|
|
+ });
|
|
|
+ jobsAjax.deleteJobContent(delJobsIds);
|
|
|
+ tools.clearData(jobsSheet);
|
|
|
+ tools.orderReshowData(jobsSheet, controller.tree.selected.jobs, jobsSetting, 'job', true);
|
|
|
+ }
|
|
|
+ if(delItems.length > 0){
|
|
|
+ delItems.forEach(function(obj){
|
|
|
+ obj.item.count --;
|
|
|
+ if(obj.item.count <=0){
|
|
|
+ totalItems.itemsArr.splice(totalItems.itemsArr.indexOf(obj), 1);
|
|
|
+ delItemsIds.push(obj.item.data.id)
|
|
|
+ }
|
|
|
+ });
|
|
|
+ itemsAjax.deleteItemCharacter(delItemsIds);
|
|
|
+ tools.clearData(itemsSheet);
|
|
|
+ tools.orderReshowData(itemsSheet, controller.tree.selected.items, itemsSetting, 'item', true);
|
|
|
+ }
|
|
|
+ controller.delete();
|
|
|
+
|
|
|
+ },*/
|
|
|
delteSheets: function(controller, totalJobs, totalItems, jobsSheet, itemsSheet){
|
|
|
var delJobs = controller.tree.selected.jobs;
|
|
|
var delItems = controller.tree.selected.items;
|
|
|
var delJobsIds = [];
|
|
|
var delItemsIds = [];
|
|
|
if(delJobs.length > 0){
|
|
|
- delJobs.forEach(function(job){
|
|
|
- job.count --;
|
|
|
- if(job.count <=0){
|
|
|
- totalJobs.jobsArr.splice(totalJobs.jobsArr.indexOf(job), 1);
|
|
|
- delJobsIds.push(job.data.id)
|
|
|
+ delJobs.forEach(function(obj){
|
|
|
+ obj.job.count --;
|
|
|
+ if(obj.job.count <=0){
|
|
|
+ totalJobs.jobsArr.splice(totalJobs.jobsArr.indexOf(obj), 1);
|
|
|
+ delJobsIds.push(obj.job.data.id)
|
|
|
}
|
|
|
});
|
|
|
jobsAjax.deleteJobContent(delJobsIds);
|
|
|
tools.clearData(jobsSheet);
|
|
|
- tools.reshowData(jobsSheet, controller.tree.selected.jobs, jobsSetting, true);
|
|
|
+ tools.orderReshowData(jobsSheet, controller.tree.selected.jobs, jobsSetting, 'job', true);
|
|
|
}
|
|
|
if(delItems.length > 0){
|
|
|
- delItems.forEach(function(item){
|
|
|
- item.count --;
|
|
|
- if(item.count <=0){
|
|
|
- totalItems.itemsArr.splice(totalItems.itemsArr.indexOf(item), 1);
|
|
|
- delItemsIds.push(item.data.id)
|
|
|
+ delItems.forEach(function(obj){
|
|
|
+ obj.item.count --;
|
|
|
+ if(obj.item.count <=0){
|
|
|
+ totalItems.itemsArr.splice(totalItems.itemsArr.indexOf(obj), 1);
|
|
|
+ delItemsIds.push(obj.item.data.id)
|
|
|
}
|
|
|
});
|
|
|
itemsAjax.deleteItemCharacter(delItemsIds);
|
|
|
tools.clearData(itemsSheet);
|
|
|
- tools.reshowData(itemsSheet, controller.tree.selected.items, itemsSetting, true);
|
|
|
+ tools.orderReshowData(itemsSheet, controller.tree.selected.items, itemsSetting, 'item', true);
|
|
|
}
|
|
|
controller.delete();
|
|
|
|
|
@@ -542,6 +657,7 @@ var tools = {
|
|
|
orderReshowData: function(sheet, arr, setting, classify, isResort){
|
|
|
tools.clearData(sheet);
|
|
|
if(arr.length > 0){
|
|
|
+ setSheet.setMaxRowCount(sheet, arr);
|
|
|
if(isResort){
|
|
|
tools.resortSerialNo(arr);
|
|
|
}
|
|
@@ -657,7 +773,7 @@ var tools = {
|
|
|
return newArr;
|
|
|
},
|
|
|
|
|
|
- getsheetDatas: function(sheet, classify){
|
|
|
+ getsheetDatas: function(sheet, classify, controller){
|
|
|
let rowCount = sheet.getRowCount();
|
|
|
const colIdx = 1;
|
|
|
let sheetDatas = [];
|
|
@@ -677,6 +793,14 @@ var tools = {
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+ else if(classify === 'bills'){
|
|
|
+ for(let i= 0; i< controller.tree.items.length; i++){
|
|
|
+ let code = sheet.getValue(i, 0), name = sheet.getValue(i, 1),
|
|
|
+ unit = sheet.getValue(i, 2), ruleText = sheet.getValue(i, 3);
|
|
|
+ let data = {code: code, name: name, unit: unit, ruleText: ruleText, rowIdx: i};
|
|
|
+ sheetDatas.push(data);
|
|
|
+ }
|
|
|
+ }
|
|
|
else{
|
|
|
for(let i=0; i<rowCount; i++){
|
|
|
let data = sheet.getCell(i, colIdx).value(), id = sheet.getTag(i, colIdx);
|
|
@@ -907,7 +1031,9 @@ var tools = {
|
|
|
}
|
|
|
rebuildArr.forEach(function(data){
|
|
|
if(data.type !== 'CreateT' && data.field === 'content' ){
|
|
|
- let code = maxJobsNumber ++;
|
|
|
+ console.log(`!=CT&& content content: ${data.data}`);
|
|
|
+ maxJobsNumber++;
|
|
|
+ let code = maxJobsNumber;
|
|
|
data.code = code;
|
|
|
}
|
|
|
});
|
|
@@ -962,7 +1088,8 @@ var tools = {
|
|
|
}
|
|
|
rebuildArr.forEach(function(data){
|
|
|
if(data.type !== 'CreateT' && data.field === 'content' ){
|
|
|
- let code = maxItemsNumber ++;
|
|
|
+ maxItemsNumber ++;
|
|
|
+ let code = maxItemsNumber;
|
|
|
data.code = code;
|
|
|
}
|
|
|
});
|
|
@@ -1250,9 +1377,11 @@ let pasteController = {
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+ setSheet.setMaxRowCount(sheet, totalJobs.jobsArr);
|
|
|
tools.reshowData(sheet, totalJobs.jobsArr, totalJobsSetting, true);
|
|
|
},
|
|
|
pasteItemsFront: function(sheet, totalItems, datas){
|
|
|
+ console.log(`enterFront`);
|
|
|
const Update = 'Update', CreateT = 'CreateT';
|
|
|
if(datas.length > 0){
|
|
|
for(let i=0; i<datas.length; i++){
|
|
@@ -1285,6 +1414,7 @@ let pasteController = {
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+ setSheet.setMaxRowCount(sheet, totalItems.itemsArr);
|
|
|
tools.reshowData(sheet, totalItems.itemsArr, totalItemsSetting, true);
|
|
|
},
|
|
|
|
|
@@ -1779,7 +1909,7 @@ var totalJobsController = {
|
|
|
field = col.data.field;
|
|
|
}
|
|
|
});
|
|
|
- isRepeat = tools.isRepeat(totalJobs.jobsArr, field, newData, 'reference');
|
|
|
+ isRepeat = tools.isRepeat(totalJobs.jobsArr, field, newData, 'reference', null);
|
|
|
if(!tagId && !isRepeat && newData){//create
|
|
|
totalJobsController.createJob(sheet, totalJobs, field, newData, args);
|
|
|
}
|
|
@@ -1800,26 +1930,27 @@ var totalJobsController = {
|
|
|
createJob: function(sheet, totalJobs, field, newData, args){
|
|
|
if(field === 'content'){
|
|
|
maxJobsNumber++;
|
|
|
- let id = maxJobsNumber;
|
|
|
- let code = tools.getNewCode(totalJobs, 'jobs');
|
|
|
- code++;
|
|
|
- jobsAjax.createJobContent(billsLibId, newData, code, id);
|
|
|
- var newJobData, newJob;
|
|
|
- newJobData = {id: id, content: newData, code: code};
|
|
|
+ let code = maxJobsNumber;
|
|
|
+ jobsAjax.createJobContent(billsLibId, newData, code, function(newJobId){
|
|
|
+ let newJobData, newJob;
|
|
|
+ newJobData = {id: newJobId, content: newData, code: code};
|
|
|
newJob = createObj.newJob(newJobData);
|
|
|
totalJobs.jobsArr.push(newJob);
|
|
|
- tools.reSetCell(sheet, args.row, 0, code, id);
|
|
|
+ tools.reSetCell(sheet, args.row, 0, code, newJobId);
|
|
|
+ setSheet.setMaxRowCount(sheet, totalJobs.jobsArr);
|
|
|
+ });
|
|
|
}
|
|
|
else {
|
|
|
if(typeof newData === 'number'){
|
|
|
maxJobsNumber = maxJobsNumber >= newData ? maxJobsNumber : newData;
|
|
|
- let id = maxJobsNumber;
|
|
|
- jobsAjax.createJobContent(billsLibId, '', newData, id);
|
|
|
- var newJobData, newJob;
|
|
|
- newJobData = {id: id, content: '', code: newData};
|
|
|
+ jobsAjax.createJobContent(billsLibId, '', newData, function(newJobId){
|
|
|
+ let newJobData, newJob;
|
|
|
+ newJobData = {id: newJobId, content: '', code: newData};
|
|
|
newJob = createObj.newJob(newJobData);
|
|
|
totalJobs.jobsArr.push(newJob);
|
|
|
- tools.reSetCell(sheet, args.row, 0, null, id);
|
|
|
+ tools.reSetCell(sheet, args.row, 0, null, newJobId);
|
|
|
+ setSheet.setMaxRowCount(sheet, totalJobs.jobsArr);
|
|
|
+ });
|
|
|
}
|
|
|
else {
|
|
|
//编号只能为数字!
|
|
@@ -1857,7 +1988,7 @@ var totalItemsController = {
|
|
|
console.log('colIdx' + colIdx);
|
|
|
}
|
|
|
});
|
|
|
- isRepeat = tools.isRepeat(totalItems.itemsArr, field, newData, 'reference');
|
|
|
+ isRepeat = tools.isRepeat(totalItems.itemsArr, field, newData, 'reference', null);
|
|
|
if(!tagId && !isRepeat && newData){//create
|
|
|
totalItemsController.createItem(sheet, totalItems, field, newData, args);
|
|
|
}
|
|
@@ -1878,28 +2009,29 @@ var totalItemsController = {
|
|
|
createItem: function(sheet, totalItems, field, newData, args){
|
|
|
if(field === 'content'){
|
|
|
maxItemsNumber++;
|
|
|
- let id = maxItemsNumber;
|
|
|
- let code = tools.getNewCode(totalItems, 'items');
|
|
|
- code++;
|
|
|
- itemsAjax.createItemCharacter(billsLibId, newData, code, id);
|
|
|
+ let code = maxItemsNumber;
|
|
|
+ itemsAjax.createItemCharacter(billsLibId, newData, code, function(newItemId){
|
|
|
var newItemData, newItem;
|
|
|
- newItemData = {id: id, content: newData, code: code, itemValue: []};
|
|
|
+ newItemData = {id: newItemId, content: newData, code: code, itemValue: []};
|
|
|
newItem = createObj.newItem(newItemData);
|
|
|
totalItems.itemsArr.push(newItem);
|
|
|
- totalItems.items[totalItems.prefix + id] = newItem;
|
|
|
- tools.reSetCell(sheet, args.row, 0, code, id);
|
|
|
+ totalItems.items[totalItems.prefix + newItemId] = newItem;
|
|
|
+ tools.reSetCell(sheet, args.row, 0, code, newItemId);
|
|
|
+ setSheet.setMaxRowCount(sheet, totalItems.itemsArr);
|
|
|
+ });
|
|
|
}
|
|
|
else {
|
|
|
if(typeof newData === 'number'){
|
|
|
maxItemsNumber = maxItemsNumber >= newData ? maxItemsNumber : newData;
|
|
|
- let id = maxItemsNumber;
|
|
|
- itemsAjax.createItemCharacter(billsLibId, '', newData, id);
|
|
|
+ itemsAjax.createItemCharacter(billsLibId, '', newData, function(newItemId){
|
|
|
var newItemData, newItem;
|
|
|
- newItemData = {id: id, content: '', code: newData, itemValue: []};
|
|
|
+ newItemData = {id: newItemId, content: '', code: newData, itemValue: []};
|
|
|
newItem = createObj.newItem(newItemData);
|
|
|
totalItems.itemsArr.push(newItem);
|
|
|
- totalItems.items[totalItems.prefix + id] = newItem;
|
|
|
- tools.reSetCell(sheet, args.row, 0, null, id);
|
|
|
+ totalItems.items[totalItems.prefix + newItemId] = newItem;
|
|
|
+ tools.reSetCell(sheet, args.row, 0, null, newItemId);
|
|
|
+ setSheet.setMaxRowCount(sheet, totalItems.itemsArr);
|
|
|
+ });
|
|
|
}
|
|
|
else {
|
|
|
//编号只能为数字
|