|
@@ -3,7 +3,8 @@
|
|
|
*/
|
|
|
var dbController = {
|
|
|
insert: function(controller, btn){
|
|
|
- tools.btnClose(btn, 'focusOnBills');
|
|
|
+ tools.btnClose(btn);
|
|
|
+ btn.attr('doing', 'true');
|
|
|
if(controller.tree.items.length === 0){
|
|
|
controller.tree.maxNodeID(0);
|
|
|
let newNodeId = controller.tree.newNodeID();
|
|
@@ -12,7 +13,8 @@ var dbController = {
|
|
|
controller.tree.selected.jobs = new Array();
|
|
|
controller.tree.selected.items = new Array();
|
|
|
controller.sheet.setTag(controller.tree.selected.serialNo(), 0, newNodeId);
|
|
|
- tools.btnAction(btn, 'focusOnBills');
|
|
|
+ tools.btnAction(btn);
|
|
|
+ btn.attr('doing', 'false');
|
|
|
});
|
|
|
}
|
|
|
else {
|
|
@@ -27,7 +29,8 @@ var dbController = {
|
|
|
controller.tree.selected.items = new Array();
|
|
|
controller.sheet.setTag(controller.tree.selected.serialNo(), 0, newNodeId);
|
|
|
sheetBillsDatas = tools.getsheetDatas(controller.sheet, 'bills', controller);
|
|
|
- tools.btnAction(btn, 'focusOnBills');
|
|
|
+ tools.btnAction(btn);
|
|
|
+ btn.attr('doing', 'false');
|
|
|
});
|
|
|
}
|
|
|
else {
|
|
@@ -41,14 +44,16 @@ var dbController = {
|
|
|
controller.tree.selected.items = new Array();
|
|
|
controller.sheet.setTag(controller.tree.selected.serialNo(), 0, newNodeId);
|
|
|
sheetBillsDatas = tools.getsheetDatas(controller.sheet, 'bills', controller);
|
|
|
- tools.btnAction(btn, 'focusOnBills');
|
|
|
+ tools.btnAction(btn);
|
|
|
+ btn.attr('doing', 'false');
|
|
|
});
|
|
|
}
|
|
|
}
|
|
|
},
|
|
|
|
|
|
upLevel: function(controller, btn){
|
|
|
- tools.btnClose(btn, 'focusOnBills');
|
|
|
+ tools.btnClose(btn);
|
|
|
+ btn.attr('doing', 'true');
|
|
|
var node = controller.tree.selected;
|
|
|
var ids = [];
|
|
|
var updateData = [];
|
|
@@ -94,9 +99,10 @@ var dbController = {
|
|
|
}
|
|
|
billsAjax.upLevel(billsLibId, updateData, function(){
|
|
|
console.log(`enter upL`);
|
|
|
+ tools.btnAction(btn);
|
|
|
+ btn.attr('doing', 'false');
|
|
|
controller.upLevel();
|
|
|
sheetBillsDatas = tools.getsheetDatas(controller.sheet, 'bills', controller);
|
|
|
- tools.btnAction(btn, 'focusOnBills');
|
|
|
});
|
|
|
//rechargeController.createRecharge(controller.tree.selected);
|
|
|
}
|
|
@@ -104,7 +110,8 @@ var dbController = {
|
|
|
},
|
|
|
|
|
|
downLevel: function(controller, btn){
|
|
|
- tools.btnClose(btn, 'focusOnBills');
|
|
|
+ tools.btnClose(btn);
|
|
|
+ btn.attr('doing', 'true');
|
|
|
var node = controller.tree.selected;
|
|
|
var updateData = [];
|
|
|
if(node){
|
|
@@ -131,9 +138,10 @@ var dbController = {
|
|
|
updateData.push(updateC);
|
|
|
}
|
|
|
billsAjax.downLevel(billsLibId, updateData, function(){
|
|
|
+ tools.btnAction(btn);
|
|
|
+ btn.attr('doing', 'false');
|
|
|
controller.downLevel();
|
|
|
sheetBillsDatas = tools.getsheetDatas(controller.sheet, 'bills', controller);
|
|
|
- tools.btnAction(btn, 'focusOnBills');
|
|
|
});
|
|
|
//rechargeController.createRecharge(controller.tree.selected);
|
|
|
}
|
|
@@ -141,7 +149,9 @@ var dbController = {
|
|
|
},
|
|
|
|
|
|
delete: function(controller, btn, totalJobs, totalItems){
|
|
|
- tools.btnClose(btn, 'focusOnBills');
|
|
|
+ tools.btnClose(btn);
|
|
|
+ btn.attr('doing', 'true');
|
|
|
+ console.log(`beforeNodeId :${controller.tree.selected.getID()}`);
|
|
|
var node = controller.tree.selected;
|
|
|
if(node){
|
|
|
var deleteIds = [];
|
|
@@ -159,6 +169,8 @@ var dbController = {
|
|
|
getDeleteIds(node);
|
|
|
let updateNode = node.preSibling ? {ID: node.preSibling.getID(), NextSiblingID: node.getNextSiblingID()} : null;
|
|
|
billsAjax.deleteBills(billsLibId, deleteIds, updateNode, function(){
|
|
|
+ tools.btnAction(btn);
|
|
|
+ btn.attr('doing', 'false');
|
|
|
controller.delete();
|
|
|
//to solve refresh after deleted
|
|
|
let jobsSheet = jobsSpread.getActiveSheet();
|
|
@@ -187,14 +199,14 @@ var dbController = {
|
|
|
sheetDatas = tools.getsheetDatas(jobsSheet, 'jobs');
|
|
|
sheetItemsDatas = tools.getsheetDatas(itemsSheet, 'items');
|
|
|
sheetBillsDatas = tools.getsheetDatas(controller.sheet, 'bills', controller);
|
|
|
- tools.btnAction(btn, 'focusOnBills');
|
|
|
//to solve refresh after deleted
|
|
|
});
|
|
|
}
|
|
|
},
|
|
|
|
|
|
upMove: function(controller, btn){
|
|
|
- tools.btnClose(btn, 'focusOnBills');
|
|
|
+ tools.btnClose(btn);
|
|
|
+ btn.attr('doing', 'true');
|
|
|
var node = controller.tree.selected;
|
|
|
var updateData = [];
|
|
|
if(node){
|
|
@@ -217,16 +229,18 @@ var dbController = {
|
|
|
updateData.push(updateC);
|
|
|
}
|
|
|
billsAjax.upMove(billsLibId, updateData, function(){
|
|
|
+ tools.btnAction(btn);
|
|
|
+ btn.attr('doing', 'false');
|
|
|
controller.upMove();
|
|
|
sheetBillsDatas = tools.getsheetDatas(controller.sheet, 'bills', controller);
|
|
|
- tools.btnAction(btn, 'focusOnBills');
|
|
|
});
|
|
|
}
|
|
|
}
|
|
|
},
|
|
|
|
|
|
downMove: function(controller, btn){
|
|
|
- tools.btnClose(btn, 'focusOnBills');
|
|
|
+ tools.btnClose(btn);
|
|
|
+ btn.attr('doing', 'true');
|
|
|
var node = controller.tree.selected;
|
|
|
var updateData = [];
|
|
|
if(node){
|
|
@@ -252,9 +266,10 @@ var dbController = {
|
|
|
updateData.push(updateC);
|
|
|
}
|
|
|
billsAjax.downMove(billsLibId, updateData);
|
|
|
+ tools.btnAction(btn);
|
|
|
+ btn.attr('doing', 'false');
|
|
|
controller.downMove();
|
|
|
sheetBillsDatas = tools.getsheetDatas(controller.sheet, 'bills', controller);
|
|
|
- tools.btnAction(btn, 'focusOnBills');
|
|
|
}
|
|
|
}
|
|
|
},
|
|
@@ -269,7 +284,6 @@ var dbController = {
|
|
|
field = col.data.field;
|
|
|
node.data[field] = args.editingText;
|
|
|
sheetBillsDatas.datasIdx['rowIdx'+ args.row][field] = args.editingText;
|
|
|
- console.log(sheetBillsDatas);
|
|
|
}
|
|
|
});
|
|
|
billsAjax.updateBills(billsLibId, updateId, field, args.editingText);
|
|
@@ -313,16 +327,6 @@ var createObj = {
|
|
|
if(nodes){
|
|
|
nodes.forEach(function(node){
|
|
|
node.jobs = new Array();
|
|
|
- /*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 ++;
|
|
|
- }
|
|
|
- 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});
|
|
@@ -380,15 +384,6 @@ var createObj = {
|
|
|
if(nodes){
|
|
|
nodes.forEach(function(node){
|
|
|
node.items = new Array();
|
|
|
- /*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 ++;
|
|
|
- }
|
|
|
- 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], serialNo: obj.serialNo});
|
|
@@ -418,15 +413,52 @@ var createObj = {
|
|
|
};
|
|
|
|
|
|
var tools = {
|
|
|
- btnClose: function (btn, attr) {
|
|
|
+ alertOpr: function(args, sheet, txt, arr, field){
|
|
|
+ $('#alertTxt').text(txt);
|
|
|
+ $('#alertBtn').click();
|
|
|
+ sheet.options.isProtected = true;
|
|
|
+ let dataCode = args.col === 0 ? 'code' : 'content';
|
|
|
+ let orgCode = args.row < arr.length ? arr[args.row][field].data[dataCode] : '';
|
|
|
+ $('#alertCls').click(function () {
|
|
|
+ sheet.options.isProtected = false;
|
|
|
+ sheet.getCell(args.row, args.col).value(orgCode);
|
|
|
+ });
|
|
|
+ $('#alertCof').click(function () {
|
|
|
+ sheet.options.isProtected = false;
|
|
|
+ sheet.getCell(args.row, args.col).value(orgCode);
|
|
|
+ });
|
|
|
+ },
|
|
|
+ alertTotalOpr: function (args, txt, arr) {
|
|
|
+ $('#alertTxt').text(txt);
|
|
|
+ $('#alertBtn').click();
|
|
|
+ args.sheet.options.isProtected = true;
|
|
|
+ let dataCode = args.col === 0 ? 'code' : 'content';
|
|
|
+ let orgCode = args.row < arr.length ? arr[args.row].data[dataCode] : '';
|
|
|
+ $('#alertCls').click(function () {
|
|
|
+ args.sheet.options.isProtected = false;
|
|
|
+ args.sheet.getCell(args.row, args.col).value(orgCode);
|
|
|
+ });
|
|
|
+ $('#alertCof').click(function () {
|
|
|
+ args.sheet.options.isProtected = false;
|
|
|
+ args.sheet.getCell(args.row, args.col).value(orgCode);
|
|
|
+ });
|
|
|
+ },
|
|
|
+ //ref sheet up&down Move
|
|
|
+ canUpMove: function (selected, arr) {
|
|
|
+ return selected && arr.indexOf(selected) > 0 && arr.indexOf(selected) !== -1 ? true: false;
|
|
|
+ },
|
|
|
+ canDownMove: function (selected, arr) {
|
|
|
+ return selected && arr.indexOf(selected) < arr.length -1 && arr.indexOf(selected) !== -1 ? true: false;
|
|
|
+ },
|
|
|
+ btnClose: function (btn) {
|
|
|
btn.css("opacity", "0.2");
|
|
|
btn.addClass("disabled");
|
|
|
- btn.attr(attr, true);
|
|
|
+ //btn.attr(attr, 'true');
|
|
|
},
|
|
|
- btnAction: function (btn, attr) {
|
|
|
+ btnAction: function (btn) {
|
|
|
btn.css("opacity", "");
|
|
|
btn.removeClass("disabled");
|
|
|
- btn.removeAttr(attr);
|
|
|
+ //btn.attr(attr, 'false');
|
|
|
},
|
|
|
isExist: function (totalArr, field, newData, orgData){
|
|
|
var isExist = false;
|
|
@@ -678,8 +710,11 @@ var tools = {
|
|
|
},
|
|
|
//update--
|
|
|
orderReshowData: function(sheet, arr, setting, classify, isResort){
|
|
|
+ sheet.setColumnCount(2, GC.Spread.Sheets.SheetArea.viewport);
|
|
|
+ sheet.setColumnCount(2, GC.Spread.Sheets.SheetArea.colHeader);
|
|
|
tools.clearData(sheet);
|
|
|
if(arr.length > 0){
|
|
|
+ sheet.suspendPaint();
|
|
|
setSheet.setMaxRowCount(sheet, arr);
|
|
|
if(isResort){
|
|
|
tools.resortSerialNo(arr);
|
|
@@ -696,15 +731,19 @@ var tools = {
|
|
|
}
|
|
|
});
|
|
|
}
|
|
|
+ sheet.resumePaint();
|
|
|
}
|
|
|
},
|
|
|
|
|
|
reshowData: function(sheet, arr, setting, isResort){
|
|
|
+ sheet.setColumnCount(2, GC.Spread.Sheets.SheetArea.viewport);
|
|
|
+ sheet.setColumnCount(2, GC.Spread.Sheets.SheetArea.colHeader);
|
|
|
tools.clearData(sheet);
|
|
|
if(isResort){
|
|
|
tools.resort(arr, 'code', false);
|
|
|
}
|
|
|
if(arr.length > 0){
|
|
|
+ sheet.suspendPaint();
|
|
|
var length = arr.length;
|
|
|
for(var i=0; i<length; i++){
|
|
|
setting.cols.forEach(function(col, colIdx){
|
|
@@ -717,11 +756,14 @@ var tools = {
|
|
|
}
|
|
|
});
|
|
|
}
|
|
|
+ sheet.resumePaint();
|
|
|
}
|
|
|
},
|
|
|
|
|
|
reshowValue: function(sheet, arr, setting, isResort){
|
|
|
tools.clearData(sheet);
|
|
|
+ sheet.setColumnCount(2, GC.Spread.Sheets.SheetArea.viewport);
|
|
|
+ sheet.setColumnCount(2, GC.Spread.Sheets.SheetArea.colHeader);
|
|
|
if(isResort){
|
|
|
//tools.resort(arr, 'code', true);
|
|
|
function myCompareCode(a, b){
|
|
@@ -732,6 +774,7 @@ var tools = {
|
|
|
arr.sort(myCompareCode);
|
|
|
}
|
|
|
if(arr.length > 0){
|
|
|
+ sheet.suspendPaint();
|
|
|
var length = arr.length;
|
|
|
for(var i=0; i<length; i++){
|
|
|
setting.cols.forEach(function(col, colIdx){
|
|
@@ -744,6 +787,7 @@ var tools = {
|
|
|
}
|
|
|
});
|
|
|
}
|
|
|
+ sheet.resumePaint();
|
|
|
}
|
|
|
},
|
|
|
|
|
@@ -1102,7 +1146,9 @@ var tools = {
|
|
|
}
|
|
|
if(rebuildArr.length > 0){
|
|
|
rebuildArr.sort(myCompareCode);
|
|
|
- maxJobsNumber = maxJobsNumber + 1 > rebuildArr[0].code ? maxJobsNumber : rebuildArr[0].code;
|
|
|
+ if(rebuildArr[0].code){
|
|
|
+ maxJobsNumber = maxJobsNumber + 1 > rebuildArr[0].code ? maxJobsNumber : rebuildArr[0].code;
|
|
|
+ }
|
|
|
rebuildArr.forEach(function(data){
|
|
|
if(data.type !== 'CreateT' && data.field === 'content' ){
|
|
|
maxJobsNumber++;
|
|
@@ -1171,7 +1217,11 @@ var tools = {
|
|
|
//rebuildArr.sort(myCompare);
|
|
|
if(rebuildArr.length > 0){
|
|
|
rebuildArr.sort(myCompareCode);
|
|
|
- maxItemsNumber = maxItemsNumber + 1 > rebuildArr[0].code ? maxItemsNumber : rebuildArr[0].code;
|
|
|
+ if(rebuildArr[0].code){
|
|
|
+ maxItemsNumber = maxItemsNumber + 1 > rebuildArr[0].code ? maxItemsNumber : rebuildArr[0].code;
|
|
|
+ console.log(`maxJobs`);
|
|
|
+ console.log(maxItemsNumber);
|
|
|
+ }
|
|
|
rebuildArr.forEach(function(data){
|
|
|
if(data.type !== 'CreateT' && data.field === 'content' ){
|
|
|
maxItemsNumber ++;
|
|
@@ -1241,10 +1291,10 @@ var tools = {
|
|
|
return valB- valA;
|
|
|
}
|
|
|
rebuildArr.sort(myCompareCode);
|
|
|
- console.log(`rebuildArr`);
|
|
|
- console.log(rebuildArr);
|
|
|
let newCode = valueController.getCode(totalItems, selectedId);
|
|
|
- newCode = newCode > rebuildArr[0].code ? newCode : rebuildArr[0].code + 1;
|
|
|
+ if(rebuildArr[0].code){
|
|
|
+ newCode = newCode > rebuildArr[0].code ? newCode : rebuildArr[0].code + 1;
|
|
|
+ }
|
|
|
for(let i=0; i< rebuildArr.length; i++){
|
|
|
rebuildArr[i].itemId = selectedId;
|
|
|
if(rebuildArr[i].type !== 'CreateT' && rebuildArr[i].field === 'value'){
|
|
@@ -1456,8 +1506,8 @@ let pasteController = {
|
|
|
});
|
|
|
}
|
|
|
if(datas[i].type === CreateT){
|
|
|
- maxJobsNumber++;
|
|
|
- maxJobsNumber = maxJobsNumber >= datas[i].code ? maxJobsNumber : datas[i].code;
|
|
|
+ //maxJobsNumber++;
|
|
|
+ // maxJobsNumber = maxJobsNumber >= datas[i].code ? maxJobsNumber : datas[i].code;
|
|
|
newJobData = {id: datas[i].newJobId, content: datas[i].content, code: datas[i].code};
|
|
|
newJob = createObj.newJob(newJobData);
|
|
|
totalJobs.jobsArr.push(newJob);
|
|
@@ -1468,8 +1518,8 @@ let pasteController = {
|
|
|
totalJobs.jobsArr.push(newJob);
|
|
|
}
|
|
|
if(datas[i].type !== 'CreateT' && datas[i].field === 'code'){
|
|
|
- maxJobsNumber++;
|
|
|
- maxJobsNumber = maxJobsNumber >= datas[i].data ? maxJobsNumber : datas[i].data;
|
|
|
+ // maxJobsNumber++;
|
|
|
+ // maxJobsNumber = maxJobsNumber >= datas[i].data ? maxJobsNumber : datas[i].data;
|
|
|
newJobData = {id: datas[i].newJobId, content: '', code: datas[i].data};
|
|
|
newJob = createObj.newJob(newJobData);
|
|
|
totalJobs.jobsArr.push(newJob);
|
|
@@ -1480,7 +1530,6 @@ let pasteController = {
|
|
|
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++){
|
|
@@ -1493,8 +1542,8 @@ let pasteController = {
|
|
|
});
|
|
|
}
|
|
|
if(datas[i].type === CreateT){
|
|
|
- maxItemsNumber++;
|
|
|
- maxItemsNumber = maxItemsNumber >= datas[i].code ? maxItemsNumber : datas[i].code;
|
|
|
+ //maxItemsNumber++;
|
|
|
+ //maxItemsNumber = maxItemsNumber >= datas[i].code ? maxItemsNumber : datas[i].code;
|
|
|
newItemData = {id: datas[i].newItemId, content: datas[i].content, code: datas[i].code};
|
|
|
newItem = createObj.newItem(newItemData);
|
|
|
totalItems.itemsArr.push(newItem);
|
|
@@ -1507,8 +1556,8 @@ let pasteController = {
|
|
|
totalItems.items[totalItems.prefix + datas[i].newItemId] = newItem;
|
|
|
}
|
|
|
if(datas[i].type !== 'CreateT' && datas[i].field === 'code'){
|
|
|
- maxItemsNumber++;
|
|
|
- maxItemsNumber = maxItemsNumber >= datas[i].data ? maxItemsNumber : datas[i].data;
|
|
|
+ //maxItemsNumber++;
|
|
|
+ //maxItemsNumber = maxItemsNumber >= datas[i].data ? maxItemsNumber : datas[i].data;
|
|
|
newItemData = {id: datas[i].newItemId, content: '', code: datas[i].data};
|
|
|
newItem = createObj.newItem(newItemData);
|
|
|
totalItems.itemsArr.push(newItem);
|
|
@@ -1605,12 +1654,13 @@ var jobsController = {
|
|
|
}
|
|
|
//处理重复
|
|
|
if(isRepeat){
|
|
|
- if(id && newData){
|
|
|
- sheet.getCell(args.row, args.col, GC.Spread.Sheets.SheetArea.viewport).value(orgJobData);
|
|
|
- }
|
|
|
- else {
|
|
|
- sheet.getCell(args.row, args.col, GC.Spread.Sheets.SheetArea.viewport).value('');
|
|
|
- }
|
|
|
+ ///if(id && newData){
|
|
|
+ tools.alertOpr(args, sheet, '该工作内容已存在!', controller.tree.selected.jobs, 'job');
|
|
|
+ // }
|
|
|
+ // else {
|
|
|
+ //sheet.getCell(args.row, args.col, GC.Spread.Sheets.SheetArea.viewport).value('');
|
|
|
+ // tools.alertOpr(sheet, controller.tree.selected.jobs, 'jobs');
|
|
|
+ // }
|
|
|
}
|
|
|
}
|
|
|
else {
|
|
@@ -1625,9 +1675,7 @@ var jobsController = {
|
|
|
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, serialNo, function(newJobId){
|
|
|
var newJobData, newJob;
|
|
|
newJobData = {id: newJobId, content: newData, code: maxJobsNumber};
|
|
@@ -1636,12 +1684,11 @@ var jobsController = {
|
|
|
totalJobs.jobs[totalJobs.prefix + newJobId] = newJob;
|
|
|
totalJobs.jobsArr.push(newJob);
|
|
|
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 {
|
|
|
- sheet.getCell(args.row, args.col).value('');
|
|
|
+ tools.alertOpr(args, sheet, '该编号不存在,请重新输入!', controller.tree.selected.jobs, 'job');
|
|
|
}
|
|
|
},
|
|
|
|
|
@@ -1675,10 +1722,8 @@ var jobsController = {
|
|
|
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);//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);//update--
|
|
|
tools.orderReshowData(sheet, controller.tree.selected.jobs, setting, 'job', true);
|
|
|
}
|
|
|
if(field === 'content' && job.data[field] === newData){
|
|
@@ -1714,17 +1759,72 @@ var jobsController = {
|
|
|
});
|
|
|
}
|
|
|
else {
|
|
|
- //todo: 提示窗口
|
|
|
+ tools.alertOpr(args, sheet, '该编号不存在,请重新输入!', controller.tree.selected.jobs, 'job');
|
|
|
+ /* //todo: 提示窗口
|
|
|
+ console.log(`enter`);
|
|
|
+ console.log(typeof newData);
|
|
|
if(typeof newData === 'number'){
|
|
|
+ console.log(`orgJobData: ${orgJobData}`);
|
|
|
sheet.getCell(args.row, args.col).value(orgJobData);
|
|
|
}
|
|
|
else {
|
|
|
//编号只能是数字
|
|
|
sheet.getCell(args.row, args.col).value('');
|
|
|
- }
|
|
|
+ }*/
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
+ upMove: function (controller, sheet) {
|
|
|
+ let updateSelArr = [];
|
|
|
+ $('#upMove').attr('doing', 'true');
|
|
|
+ tools.btnClose($('#upMove'));
|
|
|
+ let args = controller.tree.selected.args,
|
|
|
+ thisJob = controller.tree.selected.jobs[args.row],
|
|
|
+ preJob = controller.tree.selected.jobs[args.row - 1],
|
|
|
+ tempSerialNo;
|
|
|
+ //switch serialNo
|
|
|
+ tempSerialNo = thisJob.serialNo;
|
|
|
+ thisJob.serialNo = preJob.serialNo;
|
|
|
+ preJob.serialNo = tempSerialNo;
|
|
|
+ updateSelArr.push({id: thisJob.job.data.id, serialNo: thisJob.serialNo});
|
|
|
+ updateSelArr.push({id: preJob.job.data.id, serialNo: preJob.serialNo});
|
|
|
+ billsAjax.updateSerialNo(billsLibId, controller.tree.selected.getID(), updateSelArr, 'jobs', function () {
|
|
|
+ tools.orderReshowData(sheet, controller.tree.selected.jobs, jobsSetting, 'job', true);
|
|
|
+ sheet.setActiveCell(args.row -1, args.col);
|
|
|
+ controller.tree.selected.args.row = args.row - 1;
|
|
|
+ $('#upMove').attr('doing', 'false');
|
|
|
+ if(tools.canUpMove(controller.tree.selected.jobs[controller.tree.selected.args.row], controller.tree.selected.jobs)){
|
|
|
+ $('#upMove').attr('canMove', 'true');
|
|
|
+ tools.btnAction($('#upMove'));
|
|
|
+ }
|
|
|
+ else{
|
|
|
+ $('#upMove').attr('canMove', 'false');
|
|
|
}
|
|
|
- }
|
|
|
+ });
|
|
|
},
|
|
|
+ downMove: function (controller, sheet) {
|
|
|
+ let updateSelArr = [];
|
|
|
+ $('#downMove').attr('doing', 'true');
|
|
|
+ tools.btnClose($('#downMove'));
|
|
|
+ let tempSerialNo = controller.tree.selected.jobs[controller.tree.selected.args.row].serialNo;
|
|
|
+ controller.tree.selected.jobs[controller.tree.selected.args.row].serialNo = controller.tree.selected.jobs[controller.tree.selected.args.row + 1].serialNo;
|
|
|
+ controller.tree.selected.jobs[controller.tree.selected.args.row + 1].serialNo = tempSerialNo;
|
|
|
+ updateSelArr.push({id: controller.tree.selected.jobs[controller.tree.selected.args.row].job.data.id, serialNo: controller.tree.selected.jobs[controller.tree.selected.args.row].serialNo});
|
|
|
+ updateSelArr.push({id: controller.tree.selected.jobs[controller.tree.selected.args.row + 1].job.data.id, serialNo: controller.tree.selected.jobs[controller.tree.selected.args.row + 1].serialNo});
|
|
|
+ billsAjax.updateSerialNo(billsLibId, controller.tree.selected.getID(), updateSelArr, 'jobs', function () {
|
|
|
+ tools.orderReshowData(sheet, controller.tree.selected.jobs, jobsSetting, 'job', true);
|
|
|
+ sheet.setActiveCell(controller.tree.selected.args.row + 1, controller.tree.selected.args.col);
|
|
|
+ controller.tree.selected.args.row = controller.tree.selected.args.row + 1;
|
|
|
+ $('#downMove').attr('doing', 'false');
|
|
|
+ if(tools.canDownMove(controller.tree.selected.jobs[controller.tree.selected.args.row], controller.tree.selected.jobs)){
|
|
|
+ $('#downMove').attr('canMove', 'true');
|
|
|
+ tools.btnAction($('#downMove'));
|
|
|
+ }
|
|
|
+ else{
|
|
|
+ $('#downMove').attr('canMove', 'false');
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
|
|
|
};
|
|
|
|
|
@@ -1758,13 +1858,7 @@ var itemsController = {
|
|
|
}
|
|
|
//处理重复
|
|
|
if(isRepeat){
|
|
|
- //todo:redirect focus
|
|
|
- if(id && newData){
|
|
|
- sheet.getCell(args.row, args.col, GC.Spread.Sheets.SheetArea.viewport).value(orgItemData);
|
|
|
- }
|
|
|
- else {
|
|
|
- sheet.getCell(args.row, args.col, GC.Spread.Sheets.SheetArea.viewport).value('');
|
|
|
- }
|
|
|
+ tools.alertOpr(args, sheet, '该项目特征已存在!', controller.tree.selected.items, 'item');
|
|
|
}
|
|
|
}
|
|
|
else {
|
|
@@ -1791,13 +1885,7 @@ var itemsController = {
|
|
|
});
|
|
|
}
|
|
|
else {
|
|
|
- if(typeof newData === 'number'){
|
|
|
- sheet.getCell(args.row, args.col).value('');
|
|
|
- }
|
|
|
- else {
|
|
|
- //编号只能为数字
|
|
|
- sheet.getCell(args.row, args.col).value('');
|
|
|
- }
|
|
|
+ tools.alertOpr(args, sheet, '该编号不存在,请重新输入!', controller.tree.selected.items, 'item');
|
|
|
}
|
|
|
},
|
|
|
|
|
@@ -1861,16 +1949,64 @@ var itemsController = {
|
|
|
});
|
|
|
}
|
|
|
else {
|
|
|
- if(typeof newData === 'number'){
|
|
|
+ tools.alertOpr(args, sheet, '该编号不存在,请重新输入!', controller.tree.selected.items, 'item');
|
|
|
+ }
|
|
|
+ /* if(typeof newData === 'number'){
|
|
|
sheet.getCell(args.row, args.col).value(orgItemData);
|
|
|
}
|
|
|
else {
|
|
|
//编号只能为数字
|
|
|
sheet.getCell(args.row, args.col).value('');
|
|
|
}
|
|
|
+ }*/
|
|
|
+ }
|
|
|
+ },
|
|
|
+ upMove: function (controller, sheet) {
|
|
|
+ let updateSelArr = [];
|
|
|
+ $('#upMove').attr('doing', 'true');
|
|
|
+ tools.btnClose($('#upMove'));
|
|
|
+ let tempSerialNo = controller.tree.selected.items[controller.tree.selected.args.row].serialNo;
|
|
|
+ controller.tree.selected.items[controller.tree.selected.args.row].serialNo = controller.tree.selected.items[controller.tree.selected.args.row -1].serialNo;
|
|
|
+ controller.tree.selected.items[controller.tree.selected.args.row -1].serialNo = tempSerialNo;
|
|
|
+ updateSelArr.push({id: controller.tree.selected.items[controller.tree.selected.args.row].item.data.id, serialNo: controller.tree.selected.items[controller.tree.selected.args.row].serialNo});
|
|
|
+ updateSelArr.push({id: controller.tree.selected.items[controller.tree.selected.args.row -1].item.data.id, serialNo: controller.tree.selected.items[controller.tree.selected.args.row -1].serialNo});
|
|
|
+ billsAjax.updateSerialNo(billsLibId, controller.tree.selected.getID(), updateSelArr, 'items', function () {
|
|
|
+ tools.orderReshowData(sheet, controller.tree.selected.items, itemsSetting, 'item', true);
|
|
|
+ sheet.setActiveCell(controller.tree.selected.args.row -1, controller.tree.selected.args.col);
|
|
|
+ controller.tree.selected.args.row = controller.tree.selected.args.row -1;
|
|
|
+ $('#upMove').attr('doing', 'false');
|
|
|
+ if(tools.canUpMove(controller.tree.selected.items[controller.tree.selected.args.row], controller.tree.selected.items)){
|
|
|
+ $('#upMove').attr('canMove', 'true');
|
|
|
+ tools.btnAction($('#upMove'));
|
|
|
+ }
|
|
|
+ else{
|
|
|
+ $('#upMove').attr('canMove', 'false');
|
|
|
}
|
|
|
- }
|
|
|
+ });
|
|
|
},
|
|
|
+ downMove: function (controller, sheet) {
|
|
|
+ let updateSelArr = [];
|
|
|
+ $('#downMove').attr('doing', 'true');
|
|
|
+ tools.btnClose($('#downMove'));
|
|
|
+ let tempSerialNo = controller.tree.selected.items[controller.tree.selected.args.row].serialNo;
|
|
|
+ controller.tree.selected.items[controller.tree.selected.args.row].serialNo = controller.tree.selected.items[controller.tree.selected.args.row + 1].serialNo;
|
|
|
+ controller.tree.selected.items[controller.tree.selected.args.row + 1].serialNo = tempSerialNo;
|
|
|
+ updateSelArr.push({id: controller.tree.selected.items[controller.tree.selected.args.row].item.data.id, serialNo: controller.tree.selected.items[controller.tree.selected.args.row].serialNo});
|
|
|
+ updateSelArr.push({id: controller.tree.selected.items[controller.tree.selected.args.row + 1].item.data.id, serialNo: controller.tree.selected.items[controller.tree.selected.args.row +1].serialNo});
|
|
|
+ billsAjax.updateSerialNo(billsLibId, controller.tree.selected.getID(), updateSelArr, 'items', function () {
|
|
|
+ tools.orderReshowData(sheet, controller.tree.selected.items, itemsSetting, 'item', true);
|
|
|
+ sheet.setActiveCell(controller.tree.selected.args.row +1, controller.tree.selected.args.col);
|
|
|
+ controller.tree.selected.args.row = controller.tree.selected.args.row +1;
|
|
|
+ $('#downMove').attr('doing', 'false');
|
|
|
+ if(tools.canDownMove(controller.tree.selected.items[controller.tree.selected.args.row], controller.tree.selected.items)){
|
|
|
+ $('#downMove').attr('canMove', 'true');
|
|
|
+ tools.btnAction($('#downMove'));
|
|
|
+ }
|
|
|
+ else{
|
|
|
+ $('#downMove').attr('canMove', 'false');
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
|
|
|
};
|
|
|
|
|
@@ -2016,15 +2152,10 @@ var totalJobsController = {
|
|
|
totalJobsController.createJob(sheet, totalJobs, field, newData, args);
|
|
|
}
|
|
|
else if(tagId && !isRepeat && newData !== orgJobData){//update
|
|
|
- totalJobsController.updateJob(totalJobs, tagId, field, newData);
|
|
|
+ totalJobsController.updateJob(totalJobs, tagId, field, newData, args);
|
|
|
}
|
|
|
if(isRepeat){
|
|
|
- if(tagId && newData){
|
|
|
- sheet.getCell(args.row, args.col, GC.Spread.Sheets.SheetArea.viewport).value(orgJobData);
|
|
|
- }
|
|
|
- else {
|
|
|
- sheet.getCell(args.row, args.col, GC.Spread.Sheets.SheetArea.viewport).value('');
|
|
|
- }
|
|
|
+ tools.alertTotalOpr(args, '该工作内容已存在!', totalJobs.jobsArr);
|
|
|
}
|
|
|
});
|
|
|
},
|
|
@@ -2038,7 +2169,8 @@ var totalJobsController = {
|
|
|
newJobData = {id: newJobId, content: newData, code: code};
|
|
|
newJob = createObj.newJob(newJobData);
|
|
|
totalJobs.jobsArr.push(newJob);
|
|
|
- tools.reSetCell(sheet, args.row, 0, code, newJobId);
|
|
|
+ //tools.reSetCell(sheet, args.row, 0, code, newJobId);
|
|
|
+ tools.reshowData(sheet, totalJobs.jobsArr, totalJobsSetting, true);
|
|
|
setSheet.setMaxRowCount(sheet, totalJobs.jobsArr);
|
|
|
});
|
|
|
}
|
|
@@ -2050,23 +2182,24 @@ var totalJobsController = {
|
|
|
newJobData = {id: newJobId, content: '', code: newData};
|
|
|
newJob = createObj.newJob(newJobData);
|
|
|
totalJobs.jobsArr.push(newJob);
|
|
|
- tools.reSetCell(sheet, args.row, 0, null, newJobId);
|
|
|
+ //tools.reSetCell(sheet, args.row, 0, null, newJobId);
|
|
|
+ tools.reshowData(sheet, totalJobs.jobsArr, totalJobsSetting, true);
|
|
|
setSheet.setMaxRowCount(sheet, totalJobs.jobsArr);
|
|
|
});
|
|
|
}
|
|
|
else {
|
|
|
//编号只能为数字!
|
|
|
- sheet.getCell(args.row, args.col).value("");
|
|
|
+ tools.alertTotalOpr(args, '编号只能为数字,请重新输入!', totalJobs.jobsArr);
|
|
|
+ // sheet.getCell(args.row, args.col).value("");
|
|
|
}
|
|
|
}
|
|
|
},
|
|
|
|
|
|
- updateJob: function(totalJobs, id, field, newData){
|
|
|
+ updateJob: function(totalJobs, id, field, newData, args){
|
|
|
if(field === 'code' && typeof newData !== 'number'){
|
|
|
- //编号只能为数字
|
|
|
+ tools.alertTotalOpr(args, '编号只能为数字,请重新输入!', totalJobs.jobsArr);
|
|
|
}
|
|
|
else {
|
|
|
- console.log(`enterupdate id: ${id}`);
|
|
|
totalJobs.jobsArr.forEach(function(job){
|
|
|
if(job.data.id === id){
|
|
|
job.data[field] = newData;
|
|
@@ -2097,12 +2230,7 @@ var totalItemsController = {
|
|
|
totalItemsController.updateItem(totalItems, tagId, field, newData);
|
|
|
}
|
|
|
if(isRepeat){
|
|
|
- if(tagId && newData){
|
|
|
- sheet.getCell(args.row, args.col, GC.Spread.Sheets.SheetArea.viewport).value(orgItemData);
|
|
|
- }
|
|
|
- else {
|
|
|
- sheet.getCell(args.row, args.col, GC.Spread.Sheets.SheetArea.viewport).value('');
|
|
|
- }
|
|
|
+ tools.alertTotalOpr(args, '该项目特征已存在!', totalItems.itemsArr);
|
|
|
}
|
|
|
});
|
|
|
},
|
|
@@ -2117,7 +2245,8 @@ var totalItemsController = {
|
|
|
newItem = createObj.newItem(newItemData);
|
|
|
totalItems.itemsArr.push(newItem);
|
|
|
totalItems.items[totalItems.prefix + newItemId] = newItem;
|
|
|
- tools.reSetCell(sheet, args.row, 0, code, newItemId);
|
|
|
+ //tools.reSetCell(sheet, args.row, 0, code, newItemId);
|
|
|
+ tools.reshowData(sheet, totalItems.itemsArr, totalItemsSetting, true);
|
|
|
setSheet.setMaxRowCount(sheet, totalItems.itemsArr);
|
|
|
});
|
|
|
}
|
|
@@ -2130,21 +2259,20 @@ var totalItemsController = {
|
|
|
newItem = createObj.newItem(newItemData);
|
|
|
totalItems.itemsArr.push(newItem);
|
|
|
totalItems.items[totalItems.prefix + newItemId] = newItem;
|
|
|
- tools.reSetCell(sheet, args.row, 0, null, newItemId);
|
|
|
+ //tools.reSetCell(sheet, args.row, 0, null, newItemId);
|
|
|
+ tools.reshowData(sheet, totalItems.itemsArr, totalItemsSetting, true);
|
|
|
setSheet.setMaxRowCount(sheet, totalItems.itemsArr);
|
|
|
});
|
|
|
}
|
|
|
else {
|
|
|
- //编号只能为数字
|
|
|
- sheet.getCell(args.row, args.col).value("");
|
|
|
+ tools.alertTotalOpr(args, '编号只能为数字,请重新输入!', totalItems.itemsArr);
|
|
|
}
|
|
|
}
|
|
|
},
|
|
|
|
|
|
- updateItem: function(totalItems, id, field, newData){
|
|
|
+ updateItem: function(totalItems, id, field, newData, args){
|
|
|
if(field === 'code' && typeof newData !== 'number'){
|
|
|
- //编号只能为数字
|
|
|
- sheet.getCell(args.row, args.col).value('');
|
|
|
+ tools.alertTotalOpr(args, '编号只能为数字,请重新输入!', totalItems.itemsArr);
|
|
|
}
|
|
|
else {
|
|
|
totalItems.itemsArr.forEach(function(item){
|