|
@@ -42,8 +42,9 @@ var dbController = {
|
|
|
var getDeleteIds = function(node){
|
|
|
if(node){
|
|
|
deleteIds.push(node.getID());
|
|
|
- if(node.children.length > 0){
|
|
|
- for(var i=0; i<node.children.length; i++){
|
|
|
+ var length = node.children.length;
|
|
|
+ if(length > 0){
|
|
|
+ for(var i=0; i<length; i++){
|
|
|
getDeleteIds(node.children[i]);
|
|
|
}
|
|
|
}
|
|
@@ -456,7 +457,8 @@ var tools = {
|
|
|
tools.resort(arr, 'code', false);
|
|
|
}
|
|
|
if(arr.length > 0){
|
|
|
- for(var i=0; i<arr.length; i++){
|
|
|
+ var length = arr.length;
|
|
|
+ for(var i=0; i<length; i++){
|
|
|
setting.cols.forEach(function(col, colIdx){
|
|
|
sheet.setTag(i, colIdx, arr[i].data.id);
|
|
|
if(arr[i].data[col.data.field]){
|
|
@@ -476,7 +478,8 @@ var tools = {
|
|
|
tools.resort(arr, 'code', true);
|
|
|
}
|
|
|
if(arr.length > 0){
|
|
|
- for(var i=0; i<arr.length; i++){
|
|
|
+ var length = arr.length;
|
|
|
+ for(var i=0; i<length; i++){
|
|
|
setting.cols.forEach(function(col, colIdx){
|
|
|
sheet.setTag(i, colIdx, arr[i].code);
|
|
|
if(arr[i][col.data.field]){
|
|
@@ -567,7 +570,6 @@ var jobsController = {
|
|
|
}
|
|
|
//处理重复
|
|
|
if(isRepeat){
|
|
|
- //todo:redirect focus
|
|
|
if(id && newData){
|
|
|
sheet.getCell(args.row, args.col, GC.Spread.Sheets.SheetArea.viewport).value(orgJobData);
|
|
|
}
|
|
@@ -593,7 +595,6 @@ var jobsController = {
|
|
|
totalJobs.jobs[totalJobs.prefix + id] = newJob;
|
|
|
totalJobs.jobsArr.push(newJob);
|
|
|
billsAjax.updateBills(billsLibId, controller.tree.selected.getID(), 'jobs', id);
|
|
|
- //tools.addAttr(controller.tree.selected.jobs);
|
|
|
controller.tree.selected.jobs.push(newJob);
|
|
|
tools.reshowData(sheet, controller.tree.selected.jobs, setting, true);
|
|
|
});
|
|
@@ -605,20 +606,14 @@ var jobsController = {
|
|
|
|
|
|
createExist: function(sheet, controller, totalJobs, field, newData, args, setting){
|
|
|
totalJobs.jobsArr.forEach(function(job){
|
|
|
- //todo:整合代码
|
|
|
if(field === 'content'&& newData === job.data.content){
|
|
|
- //isExist = true;
|
|
|
billsAjax.updateBills(billsLibId, controller.tree.selected.getID(), 'jobs', job.data.id);
|
|
|
- //整合
|
|
|
- // tools.addAttr(controller.tree.selected.jobs);
|
|
|
job.count++;
|
|
|
controller.tree.selected.jobs.push(job);
|
|
|
tools.reshowData(sheet, controller.tree.selected.jobs, setting, true);
|
|
|
}
|
|
|
else if(field == 'code' && newData == job.data.code){
|
|
|
- //isExist = true;
|
|
|
billsAjax.updateBills(billsLibId, controller.tree.selected.getID(), 'jobs', job.data.id);
|
|
|
- //tools.addAttr(controller.tree.selected.jobs);
|
|
|
job.count++;
|
|
|
controller.tree.selected.jobs.push(job);
|
|
|
tools.reshowData(sheet, controller.tree.selected.jobs, setting, true);
|
|
@@ -634,7 +629,6 @@ var jobsController = {
|
|
|
job.count++;
|
|
|
controller.tree.selected.jobs.splice(index, 1);
|
|
|
controller.tree.selected.jobs.splice(index, 0, job);
|
|
|
- // var newJobData = {id: job.data.id, code: newData, content: job.data.content}
|
|
|
billsAjax.updateBillsArr(billsLibId, controller.tree.selected.getID(), id, job.data.id, 'update', 'jobs');
|
|
|
tools.reshowData(sheet, controller.tree.selected.jobs, setting, true);
|
|
|
}
|
|
@@ -643,7 +637,6 @@ var jobsController = {
|
|
|
job.count++;
|
|
|
controller.tree.selected.jobs.splice(index, 1);
|
|
|
controller.tree.selected.jobs.splice(index, 0, job);
|
|
|
- //var newJobData = {id: job.data.id, code: job.data.code, content: newData}
|
|
|
billsAjax.updateBillsArr(billsLibId, controller.tree.selected.getID(), id, job.data.id, 'update', 'jobs');
|
|
|
tools.reshowData(sheet, controller.tree.selected.jobs, setting, true);
|
|
|
}
|
|
@@ -660,7 +653,6 @@ var jobsController = {
|
|
|
totalJobs.jobs[totalJobs.prefix + newId] = newJob;
|
|
|
totalJobs.jobsArr.push(newJob);
|
|
|
billsAjax.updateBillsArr(billsLibId, controller.tree.selected.getID(), id, newId, 'update', 'jobs');
|
|
|
- // tools.addAttr(controller.tree.selected.jobs);
|
|
|
var index = tools.getIndex(controller.tree.selected.jobs, id);
|
|
|
controller.tree.selected.jobs.splice(index, 1);
|
|
|
controller.tree.selected.jobs.splice(index, 0, newJob);
|
|
@@ -668,7 +660,13 @@ var jobsController = {
|
|
|
});
|
|
|
}
|
|
|
else {
|
|
|
- sheet.getCell(args.row, args.col).value(orgJobData);
|
|
|
+ //todo: 提示窗口
|
|
|
+ if(typeof newData === 'number'){
|
|
|
+ sheet.getCell(args.row, args.col).value(orgJobData);
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ //编号只能是数字
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
},
|
|
@@ -731,13 +729,17 @@ var itemsController = {
|
|
|
totalItems.items[totalItems.prefix + id] = newItem;
|
|
|
totalItems.itemsArr.push(newItem);
|
|
|
billsAjax.updateBills(billsLibId, controller.tree.selected.getID(), 'items', id);
|
|
|
- // tools.addAttr(controller.tree.selected.items);
|
|
|
controller.tree.selected.items.push(newItem);
|
|
|
tools.reshowData(sheet, controller.tree.selected.items, setting, true);
|
|
|
});
|
|
|
}
|
|
|
else {
|
|
|
- sheet.getCell(args.row, args.col).value('');
|
|
|
+ if(typeof newData === 'number'){
|
|
|
+ sheet.getCell(args.row, args.col).value('');
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ //编号只能为数字
|
|
|
+ }
|
|
|
}
|
|
|
},
|
|
|
|
|
@@ -806,7 +808,12 @@ var itemsController = {
|
|
|
});
|
|
|
}
|
|
|
else {
|
|
|
- sheet.getCell(args.row, args.col).value(orgItemData);
|
|
|
+ if(typeof newData === 'number'){
|
|
|
+ sheet.getCell(args.row, args.col).value(orgItemData);
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ //编号只能为数字
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
},
|
|
@@ -828,30 +835,17 @@ var valueController = {
|
|
|
if(selectedId){
|
|
|
isRepeat = tools.isRepeat(valueController.getValues(totalItems, selectedId), field, newValue, 'document');
|
|
|
if(!tagId && !isRepeat && newValue){//create
|
|
|
- // if(field === 'value'){
|
|
|
valueController.createValue(sheet, totalItems, selectedId, field, newValue);
|
|
|
- // }
|
|
|
- /*else {
|
|
|
- sheet.getCell(args.row, args.col).value('');
|
|
|
- }*/
|
|
|
}
|
|
|
else if(tagId && !isRepeat && newValue !== orgValue){//update
|
|
|
- // if(field === 'value'){
|
|
|
valueController.updateValue(totalItems, tagId, newValue, field);
|
|
|
- console.log('updateV');
|
|
|
- // }
|
|
|
- /* else {
|
|
|
- sheet.getCell(args.row, args.col).value(orgValue);
|
|
|
- }*/
|
|
|
}
|
|
|
if(isRepeat){
|
|
|
if(tagId && newValue){
|
|
|
sheet.getCell(args.row, args.col, GC.Spread.Sheets.SheetArea.viewport).value(orgValue);
|
|
|
- console.log('rePV1');
|
|
|
}
|
|
|
else {
|
|
|
sheet.getCell(args.row, args.col, GC.Spread.Sheets.SheetArea.viewport).value('');
|
|
|
- console.log('rePV2');
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -866,8 +860,13 @@ var valueController = {
|
|
|
tools.reSetCell(sheet, sheet.getActiveRowIndex(), 0, newCode, newCode);
|
|
|
}
|
|
|
else {
|
|
|
- newData = {code: newValue, value: ''};
|
|
|
- tools.reSetCell(sheet, sheet.getActiveRowIndex(), null, null, newValue);
|
|
|
+ if(typeof newValue === 'number'){
|
|
|
+ newData = {code: newValue, value: ''};
|
|
|
+ tools.reSetCell(sheet, sheet.getActiveRowIndex(), null, null, newValue);
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ //编号只能为数字!
|
|
|
+ }
|
|
|
}
|
|
|
totalItems.findItem(id).data.itemValue.push(newData);
|
|
|
itemsAjax.updateValue(id, newData, null, 'create');
|
|
@@ -888,22 +887,28 @@ var valueController = {
|
|
|
});
|
|
|
itemVals.splice(index, 0, updateEle);
|
|
|
}
|
|
|
+ itemsAjax.updateValue(selectedId, updateData, null, 'update');
|
|
|
}
|
|
|
else {
|
|
|
- if(itemVals){
|
|
|
- var updateEle;
|
|
|
- var index;
|
|
|
- itemVals.forEach(function(val){
|
|
|
- if(val.code === tagId){
|
|
|
- updateEle = {code: newData, value: val.value};
|
|
|
- index = itemVals.indexOf(val);
|
|
|
- itemVals.splice(index, 1);
|
|
|
- }
|
|
|
- });
|
|
|
- itemVals.splice(index, 0, updateEle);
|
|
|
+ if(typeof newData === 'number'){
|
|
|
+ if(itemVals){
|
|
|
+ var updateEle;
|
|
|
+ var index;
|
|
|
+ itemVals.forEach(function(val){
|
|
|
+ if(val.code === tagId){
|
|
|
+ updateEle = {code: newData, value: val.value};
|
|
|
+ index = itemVals.indexOf(val);
|
|
|
+ itemVals.splice(index, 1);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ itemVals.splice(index, 0, updateEle);
|
|
|
+ }
|
|
|
+ itemsAjax.updateValue(selectedId, updateData, null, 'update');
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ //编号只能为数字!
|
|
|
}
|
|
|
}
|
|
|
- itemsAjax.updateValue(selectedId, updateData, null, 'update');
|
|
|
},
|
|
|
|
|
|
getValues: function(totalItems, id){
|
|
@@ -919,7 +924,6 @@ var valueController = {
|
|
|
var valArr = totalItems.findItem(id).data.itemValue;
|
|
|
tools.resort(valArr, 'code', true);
|
|
|
return valArr.length > 0 ? valArr[valArr.length - 1].code + 1 : 1;
|
|
|
- //return totalItems.findItem(id).data.itemValue.length;
|
|
|
},
|
|
|
|
|
|
isRepeat: function(arr, newValue){
|
|
@@ -975,25 +979,34 @@ var totalJobsController = {
|
|
|
});
|
|
|
}
|
|
|
else {
|
|
|
- maxJobsNumber = maxJobsNumber >= newData ? maxJobsNumber : newData;
|
|
|
- console.log('maxJobs: ' + maxJobsNumber + 'code: ' + newData);
|
|
|
- jobsAjax.createJobContent(billsLibId, field, '', newData, function(id){
|
|
|
- var newJobData, newJob;
|
|
|
- newJobData = {id: id, content: '', code: newData};
|
|
|
- newJob = createObj.newJob(newJobData);
|
|
|
- totalJobs.jobsArr.push(newJob);
|
|
|
- tools.reSetCell(sheet, args.row, 0, null, id);
|
|
|
- });
|
|
|
+ if(typeof newData === 'number'){
|
|
|
+ maxJobsNumber = maxJobsNumber >= newData ? maxJobsNumber : newData;
|
|
|
+ jobsAjax.createJobContent(billsLibId, field, '', newData, function(id){
|
|
|
+ var newJobData, newJob;
|
|
|
+ newJobData = {id: id, content: '', code: newData};
|
|
|
+ newJob = createObj.newJob(newJobData);
|
|
|
+ totalJobs.jobsArr.push(newJob);
|
|
|
+ tools.reSetCell(sheet, args.row, 0, null, id);
|
|
|
+ });
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ //编号只能为数字!
|
|
|
+ }
|
|
|
}
|
|
|
},
|
|
|
|
|
|
updateJob: function(totalJobs, id, field, newData){
|
|
|
+ if(field === 'code' && typeof newData !== 'number'){
|
|
|
+ //编号只能为数字
|
|
|
+ }
|
|
|
+ else {
|
|
|
totalJobs.jobsArr.forEach(function(job){
|
|
|
if(job.data[field] === newData){
|
|
|
job.data[field] = newData;
|
|
|
}
|
|
|
});
|
|
|
jobsAjax.updateJobContent(id, field, newData);
|
|
|
+ }
|
|
|
}
|
|
|
};
|
|
|
|
|
@@ -1040,24 +1053,34 @@ var totalItemsController = {
|
|
|
});
|
|
|
}
|
|
|
else {
|
|
|
- maxItemsNumber = maxItemsNumber >= newData ? maxItemsNumber : newData;
|
|
|
- itemsAjax.createItemCharacter(billsLibId, field, '', newData, function(id){
|
|
|
- var newItemData, newItem;
|
|
|
- newItemData = {id: id, content: '', code: newData};
|
|
|
- newItem = createObj.newItem(newItemData);
|
|
|
- totalItems.itemsArr.push(newItem);
|
|
|
- tools.reSetCell(sheet, args.row, 0, null, id);
|
|
|
- });
|
|
|
+ if(typeof newData === 'number'){
|
|
|
+ maxItemsNumber = maxItemsNumber >= newData ? maxItemsNumber : newData;
|
|
|
+ itemsAjax.createItemCharacter(billsLibId, field, '', newData, function(id){
|
|
|
+ var newItemData, newItem;
|
|
|
+ newItemData = {id: id, content: '', code: newData};
|
|
|
+ newItem = createObj.newItem(newItemData);
|
|
|
+ totalItems.itemsArr.push(newItem);
|
|
|
+ tools.reSetCell(sheet, args.row, 0, null, id);
|
|
|
+ });
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ //编号只能为数字
|
|
|
+ }
|
|
|
}
|
|
|
},
|
|
|
|
|
|
updateItem: function(totalItems, id, field, newData){
|
|
|
- totalItems.itemsArr.forEach(function(item){
|
|
|
- if(item.data[field] === newData){
|
|
|
- item.data[field] = newData;
|
|
|
- }
|
|
|
- });
|
|
|
- itemsAjax.updateItemCharacter(id, field, newData);
|
|
|
+ if(field === 'code' && typeof newData !== 'number'){
|
|
|
+ //编号只能为数字
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ totalItems.itemsArr.forEach(function(item){
|
|
|
+ if(item.data[field] === newData){
|
|
|
+ item.data[field] = newData;
|
|
|
+ }
|
|
|
+ });
|
|
|
+ itemsAjax.updateItemCharacter(id, field, newData);
|
|
|
+ }
|
|
|
}
|
|
|
};
|
|
|
|
|
@@ -1086,7 +1109,6 @@ var rechargeController = {
|
|
|
var tempId = [];
|
|
|
tempId.push(node.getID());
|
|
|
var rootNode = tools.getRoot(node);
|
|
|
- console.log('rootNodeId: ' + rootNode.getID());
|
|
|
if(rootNode.data.recharge && rootNode !== node){
|
|
|
billsAjax.updateRecharge(billsLibId, tempId, rootNode.data.recharge);
|
|
|
node.data.recharge = rootNode.data.recharge;
|
|
@@ -1101,7 +1123,8 @@ var rechargeController = {
|
|
|
$('exampleTextarea').val('');
|
|
|
}
|
|
|
}
|
|
|
-}
|
|
|
+};
|
|
|
+
|
|
|
|
|
|
|
|
|
|