zhongzewei 7 лет назад
Родитель
Сommit
3db5cbbcc8

+ 2 - 1
web/maintain/bills_lib/html/neirong.html

@@ -261,8 +261,9 @@
         }
 
         function pasteJobs(sheet, totalJobs){
-            sheetJobsDatas = tools.getsheetDatas(sheet, 'total');
+           // sheetJobsDatas = tools.getsheetDatas(sheet, 'total');
             sheet.bind(GC.Spread.Sheets.Events.ClipboardPasting, function (sender, args) {
+                sheetJobsDatas = tools.getsheetDatas(sheet, 'total');
                 let maxCol = args.cellRange.col + args.cellRange.colCount - 1;
                 //复制的列数超过正确的列数,不可复制
                 if(maxCol >= totalJobsSetting.cols.length){

+ 5 - 5
web/maintain/bills_lib/html/qingdan.html

@@ -597,7 +597,7 @@
                         tools.orderReshowData(sheet, jobs, setting, 'job', true);
                         orgJobData = sheet.getValue(0, 0);
                     }
-                    sheetDatas = tools.getsheetDatas(sheet, 'jobs');
+                    //sheetDatas = tools.getsheetDatas(sheet, 'jobs');
                 }
                 if(field === 'items'){
                     tools.clearData(sheet);
@@ -607,15 +607,15 @@
                         tools.orderReshowData(sheet, items, setting, 'item', true);
                         orgItemData = sheet.getValue(0, 0);
                     }
-                    sheetItemsDatas = tools.getsheetDatas(sheet, 'items');
+                    //sheetItemsDatas = tools.getsheetDatas(sheet, 'items');
                 }
             }
         });
     }
 
     function bindPasteBills(controller, sheet, setting){
-        sheetBillsDatas = tools.getsheetDatas(sheet, 'bills', controller);
         sheet.bind(GC.Spread.Sheets.Events.ClipboardPasting, function (sender, args) {
+            sheetBillsDatas = tools.getsheetDatas(sheet, 'bills', controller);
             let maxCol = args.cellRange.col + args.cellRange.colCount - 1;
             //复制的列数超过正确的列数,不可复制
             if(maxCol >= billsLibSetting.cols.length){
@@ -663,7 +663,7 @@
         });
     }
     function bindPasteRel(sheet, controller, totalJobs, setting){
-        sheetDatas = tools.getsheetDatas(sheet, 'jobs');
+        //sheetDatas = tools.getsheetDatas(sheet, 'jobs');
         sheet.bind(GC.Spread.Sheets.Events.ClipboardPasting, function (sender, args) {
             let maxCol = args.cellRange.col + args.cellRange.colCount - 1;
             sheetDatas = tools.getsheetDatas(sheet, 'jobs');
@@ -725,7 +725,7 @@
         });
     }
     function bindPasteItemsRel(sheet, controller, totalItems, setting){
-        sheetItemsDatas = tools.getsheetDatas(sheet, 'items');
+        //sheetItemsDatas = tools.getsheetDatas(sheet, 'items');
         sheet.bind(GC.Spread.Sheets.Events.ClipboardPasting, function (sender, args) {
             let maxCol = args.cellRange.col + args.cellRange.colCount - 1;
             sheetItemsDatas = tools.getsheetDatas(sheet, 'items');

+ 4 - 2
web/maintain/bills_lib/html/tezheng.html

@@ -313,8 +313,9 @@
         }
 
         function pasteItems(sheet, totalItems){
-            totalItemsDatas = tools.getsheetDatas(sheet, 'total');
+            //totalItemsDatas = tools.getsheetDatas(sheet, 'total');
             sheet.bind(GC.Spread.Sheets.Events.ClipboardPasting, function (sender, args) {
+                totalItemsDatas = tools.getsheetDatas(sheet, 'total');
                 let maxCol = args.cellRange.col + args.cellRange.colCount - 1;
                 //复制的列数超过正确的列数,不可复制
                 if(maxCol >= totalItemsSetting.cols.length){
@@ -382,6 +383,7 @@
 
         function pasteValue(sheet, totalItems){
             sheet.bind(GC.Spread.Sheets.Events.ClipboardPasting, function (sender, args) {
+                valueDatas = tools.getsheetDatas(sheet, 'total');
                 let maxCol = args.cellRange.col + args.cellRange.colCount - 1;
                 //复制的列数超过正确的列数,不可复制
                 if(maxCol >= eigenValueSetting.cols.length){
@@ -390,7 +392,7 @@
             });
 
             sheet.bind(GC.Spread.Sheets.Events.ClipboardPasted, function(sender, args){
-                valueDatas = tools.getsheetDatas(sheet, 'total');
+                //valueDatas = tools.getsheetDatas(sheet, 'total');
                 const colIdx = 1;
                 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;

+ 2 - 2
web/maintain/bills_lib/scripts/bills_lib_setting.js

@@ -112,7 +112,7 @@ var jobsSetting = {
                 hAlign: 0,
                 font: 'Arial'
             },
-            width: 210
+            width: 200
         },
     ],
     headRows: 1,
@@ -155,7 +155,7 @@ var itemsSetting = {
                 hAlign: 0,
                 font: 'Arial'
             },
-            width: 210
+            width: 200
         },
     ],
     headRows: 1,

+ 82 - 69
web/maintain/bills_lib/scripts/db_controller.js

@@ -151,7 +151,6 @@ var dbController = {
     delete: function(controller, btn, totalJobs, totalItems){
         tools.btnClose(btn);
         btn.attr('doing', 'true');
-        console.log(`beforeNodeId :${controller.tree.selected.getID()}`);
         var node = controller.tree.selected;
         if(node){
             var deleteIds = [];
@@ -443,7 +442,6 @@ var tools = {
             args.sheet.getCell(args.row, args.col).value(orgCode);
         });
         $('#alertCof').click(function () {
-            console.log(args.col);
             args.sheet.options.isProtected = false;
             args.sheet.getCell(args.row, args.col).value(orgCode);
         });
@@ -465,7 +463,7 @@ var tools = {
         btn.removeClass("disabled");
         //btn.attr(attr, 'false');
     },
-    isExist: function (totalArr, field, newData, orgData){
+    /*isExist: function (totalArr, field, newData, orgData){
         var isExist = false;
         if(totalArr.length > 0){
             totalArr.forEach(function(item){
@@ -475,6 +473,17 @@ var tools = {
             });
         }
         return isExist;
+    },*/
+    isExist: function (totalArr, field, newData){
+        var isExist = false;
+        if(totalArr.length > 0){
+            totalArr.forEach(function(item){
+                if(item.data[field] == newData){
+                    isExist = true;
+                }
+            });
+        }
+        return isExist;
     },
     isRepeat: function(arr, field, newData, ref, classify){
         var isRepeat = false;
@@ -1224,8 +1233,6 @@ var tools = {
                 rebuildArr.sort(myCompareCode);
                 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' ){
@@ -1538,7 +1545,6 @@ let pasteController = {
             }
         }
         setSheet.setMaxRowCount(sheet, totalJobs.jobsArr);
-        console.log(totalJobs);
         tools.reshowData(sheet, totalJobs.jobsArr, totalJobsSetting, true);
         sheetJobsDatas = tools.getsheetDatas(sheet, 'total');
     },
@@ -1640,19 +1646,21 @@ let pasteController = {
 };
 
 var jobsController = {
+    currentEditData: null,
     editData: function(controller, sheet, totalJobs, setting){
-        sheet.bind(GC.Spread.Sheets.Events.EnterCell, function(sender, args){
-            orgJobData = sheet.getCell(args.row, args.col).value();
+        let me = jobsController;
+        sheet.bind(GC.Spread.Sheets.Events.EditStarting, function (sender, args) {
+           me.currentEditData = sheet.getValue(args.row, args.col) + '';
         });
         sheet.bind(GC.Spread.Sheets.Events.EditEnded, function(sender, args) {
-            var field, newData = args.editingText, id = sheet.getTag(args.row, args.col);
+            var field, newData = args.editingText + '', id = sheet.getTag(args.row, args.col);
             setting.cols.forEach(function (col, idx) {
                 if (args.col === idx) {
                     field = col.data.field;
                 }
             });
-            if (controller.tree.selected) {
-                var isExist = tools.isExist(totalJobs.jobsArr, field, newData, orgJobData);
+            if (controller.tree.selected && newData !== me.currentEditData) {
+                var isExist = tools.isExist(totalJobs.jobsArr, field, newData);
                 var isRepeat = tools.isRepeat(controller.tree.selected.jobs, field ,newData, 'reference', 'job');
                 //create
                 if(!id && newData && !isRepeat){
@@ -1664,22 +1672,16 @@ var jobsController = {
                         }
                 }
                 //update
-                else if(id && newData !== orgJobData && !isRepeat){
+                else if(id && !isRepeat){
                     jobsController.update(sheet, controller, totalJobs, field, newData, id, isExist, args, setting);
                 }
                 //处理重复
                 if(isRepeat){
-                    ///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 {
-                sheet.getCell(args.row, args.col).value('');
+                sheet.getCell(args.row, args.col).value(me.currentEditData + '');
             }
         });
     },
@@ -1712,7 +1714,7 @@ var jobsController = {
             if(field === 'content'&& newData === job.data.content){
                 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--
+                billsAjax.updateBills(userAccount, billsLibId, controller.tree.selected.getID(), 'jobs', {id: job.data.id, serialNo: serialNo});//update--
                 job.count++;
                // controller.tree.selected.jobs.push(job);//update--
                 controller.tree.selected.jobs.push({job: job, serialNo: serialNo});//update--
@@ -1721,7 +1723,7 @@ var jobsController = {
             }
             else if(field == 'code' && newData == job.data.code){
                 let serialNo = tools.getSerialNo(controller.tree.selected.jobs);//update--
-                billsAjax.updateBills(billsLibId, controller.tree.selected.getID(), 'jobs', {id: job.data.id, serialNo: serialNo});//update--
+                billsAjax.updateBills(userAccount, billsLibId, controller.tree.selected.getID(), 'jobs', {id: job.data.id, serialNo: serialNo});//update--
                 job.count++;
                 controller.tree.selected.jobs.push({job: job, serialNo: serialNo});//update--
                // tools.reshowData(sheet, controller.tree.selected.jobs, setting, true);//update--
@@ -1859,19 +1861,21 @@ var jobsController = {
 };
 
 var itemsController = {
+    currentEditData: null,
     editData: function(controller, sheet, totalItems, setting){
-        sheet.bind(GC.Spread.Sheets.Events.EnterCell, function(sender, args){
-            orgItemData = sheet.getCell(args.row, args.col).value();
-        });
+        let me = itemsController;
+        sheet.bind(GC.Spread.Sheets.Events.EditStarting, function (sender, args) {
+            me.currentEditData = sheet.getValue(args.row, args.col) + '';
+        })
         sheet.bind(GC.Spread.Sheets.Events.EditEnded, function(sender, args) {
-            var field, newData = args.editingText, id = sheet.getTag(args.row, args.col);
+            var field, newData = args.editingText + '', id = sheet.getTag(args.row, args.col);
             setting.cols.forEach(function (col, idx) {
                 if (args.col === idx) {
                     field = col.data.field;
                 }
             });
-            if (controller.tree.selected) {
-                var isExist = tools.isExist(totalItems.itemsArr, field, newData, orgItemData);
+            if (controller.tree.selected && newData !== me.currentEditData) {
+                var isExist = tools.isExist(totalItems.itemsArr, field, newData);
                 var isRepeat = tools.isRepeat(controller.tree.selected.items, field ,newData, 'reference', 'item');
                 //create
                 if(!id && newData && !isRepeat){
@@ -1883,7 +1887,7 @@ var itemsController = {
                     }
                 }
                 //update
-                else if(id && newData !== orgItemData && !isRepeat){
+                else if(id && !isRepeat){
                     itemsController.update(sheet, controller, totalItems, field, newData, id, isExist, args, setting);
                 }
                 //处理重复
@@ -1892,7 +1896,7 @@ var itemsController = {
                 }
             }
             else {
-                sheet.getCell(args.row, args.col).value('');
+                sheet.getCell(args.row, args.col).value(me.currentEditData + '');
             }
         });
     },
@@ -1901,7 +1905,6 @@ var itemsController = {
         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(userAccount, billsLibId, controller.tree.selected.getID(), newData, maxItemsNumber, serialNo, function(newItemId){
                 let newItemData, newItem;
                 newItemData = {id: newItemId, content: newData, code: maxItemsNumber};
@@ -1923,14 +1926,14 @@ var itemsController = {
         totalItems.itemsArr.forEach(function(item){
             if(field === 'content'&& newData === item.data.content){
                 let serialNo = tools.getSerialNo(controller.tree.selected.items);
-                billsAjax.updateBills(billsLibId, controller.tree.selected.getID(), 'items', {id: item.data.id, serialNo: serialNo});
+                billsAjax.updateBills(userAccount, billsLibId, controller.tree.selected.getID(), 'items', {id: item.data.id, serialNo: serialNo});
                 item.count++;
                 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){
                 let serialNo = tools.getSerialNo(controller.tree.selected.items);
-                billsAjax.updateBills(billsLibId, controller.tree.selected.getID(), 'items', {id: item.data.id, serialNo: serialNo});
+                billsAjax.updateBills(userAccount, billsLibId, controller.tree.selected.getID(), 'items', {id: item.data.id, serialNo: serialNo});
                 item.count++;
                 controller.tree.selected.items.push({item: item, serialNo: serialNo});
                 tools.orderReshowData(sheet, controller.tree.selected.items, setting, 'item', true);
@@ -1981,14 +1984,6 @@ var itemsController = {
             else {
                 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) {
@@ -2057,34 +2052,39 @@ var itemsController = {
 };
 
 var valueController = {
+    currentEditData: null,
     editData: function(totalItems, sheet, setting){
-        sheet.bind(GC.Spread.Sheets.Events.EnterCell, function(sender, args){
-            orgValue = sheet.getValue(args.row, args.col);
-        });
+        let me = valueController;
+        sheet.bind(GC.Spread.Sheets.Events.EditStarting, function (sender, args) {
+            me.currentEditData = sheet.getValue(args.row, args.col) + '';
+        })
         sheet.bind(GC.Spread.Sheets.Events.EditEnded, function(sender, args){
-            var newValue = sheet.getValue(args.row, args.col), tagId = sheet.getTag(args.row, args.col), field, isRepeat;
+            var newValue = args.editingText + '', tagId = sheet.getTag(args.row, args.col), field, isRepeat;
             setting.cols.forEach(function(col, colIdx){
                 if(args.col === colIdx){
                     field = col.data.field;
                 }
             });
-            if(selectedId){
+            if(selectedId && newValue!== me.currentEditData){
                 isRepeat = tools.isRepeat(valueController.getValues(totalItems, selectedId), field, newValue, 'document');
                 if(!tagId && !isRepeat && newValue){//create
                         valueController.createValue(sheet, totalItems, selectedId, field, newValue);
                 }
-                else if(tagId && !isRepeat && newValue !== orgValue){//update
+                else if(tagId && !isRepeat){//update
                         valueController.updateValue(userAccount, totalItems, tagId, newValue, field);
                 }
                 if(isRepeat){
                     if(tagId && newValue){
-                        sheet.getCell(args.row, args.col, GC.Spread.Sheets.SheetArea.viewport).value(orgValue);
+                        sheet.getCell(args.row, args.col, GC.Spread.Sheets.SheetArea.viewport).value(me.currentEditData);
                     }
                     else {
                         sheet.getCell(args.row, args.col, GC.Spread.Sheets.SheetArea.viewport).value('');
                     }
                 }
             }
+            else{
+                sheet.getCell(args.row, args.col).value(me.currentEditData + '');
+            }
         });
     },
     createValue: function(sheet, totalItems, id, field, newValue){
@@ -2181,26 +2181,33 @@ var valueController = {
 };
 
 var totalJobsController = {
+    currentEditData: null,
     eiditData: function(totalJobs, sheet, setting){
-        sheet.bind(GC.Spread.Sheets.Events.EnterCell, function(sender, args){
-            orgJobData = sheet.getCell(args.row, args.col).value();
-        });
+        let me = totalJobsController;
+        sheet.bind(GC.Spread.Sheets.Events.EditStarting, function (sender, args) {
+            me.currentEditData = sheet.getValue(args.row, args.col) + '';
+        })
         sheet.bind(GC.Spread.Sheets.Events.EditEnded, function(sender, args){
-            var newData = sheet.getValue(args.row, args.col), tagId = sheet.getTag(args.row, args.col), field, isRepeat;
+            var newData = args.editingText + '', tagId = sheet.getTag(args.row, args.col), field, isRepeat;
             setting.cols.forEach(function(col, colIdx){
                 if(args.col === colIdx){
                     field = col.data.field;
                 }
             });
-            isRepeat = tools.isRepeat(totalJobs.jobsArr, field, newData, 'reference', null);
-            if(!tagId && !isRepeat && newData){//create
-                totalJobsController.createJob(sheet, totalJobs, field, newData, args);
-            }
-            else if(tagId && !isRepeat && newData !== orgJobData){//update
+            if(newData !== me.currentEditData){
+                isRepeat = tools.isRepeat(totalJobs.jobsArr, field, newData, 'reference', null);
+                if(!tagId && !isRepeat && newData){//create
+                    totalJobsController.createJob(sheet, totalJobs, field, newData, args);
+                }
+                else if(tagId && !isRepeat){//update
                     totalJobsController.updateJob(totalJobs, tagId, field, newData, args);
+                }
+                if(isRepeat){
+                    tools.alertTotalOpr(args, '该工作内容已存在!', totalJobs.jobsArr);
+                }
             }
-            if(isRepeat){
-                tools.alertTotalOpr(args, '该工作内容已存在!', totalJobs.jobsArr);
+            else{
+                sheet.getCell(args.row, args.col).value(me.currentEditData + '');
             }
         });
     },
@@ -2262,27 +2269,33 @@ var totalJobsController = {
 };
 
 var totalItemsController = {
+    currentEditData: null,
     eiditData: function(totalItems, sheet, setting){
-        sheet.bind(GC.Spread.Sheets.Events.EnterCell, function(sender, args){
-            orgItemData = sheet.getCell(args.row, args.col).value();
+        let me = totalItemsController;
+        sheet.bind(GC.Spread.Sheets.Events.EditStarting, function (sender, args) {
+            me.currentEditData = sheet.getValue(args.row, args.col) + '';
         });
         sheet.bind(GC.Spread.Sheets.Events.EditEnded, function(sender, args){
-            var newData = sheet.getValue(args.row, args.col), tagId = sheet.getTag(args.row, args.col), field, isRepeat;
+            var newData = args.editingText + '', tagId = sheet.getTag(args.row, args.col), field, isRepeat;
             setting.cols.forEach(function(col, colIdx){
                 if(args.col === colIdx){
                     field = col.data.field;
                 }
             });
-            isRepeat = tools.isRepeat(totalItems.itemsArr, field, newData, 'reference', null);
-            if(!tagId && !isRepeat && newData){//create
-                totalItemsController.createItem(sheet, totalItems, field, newData, args);
-            }
-            else if(tagId && !isRepeat && newData !== orgItemData){//update
+            if(newData !== me.currentEditData){
+                isRepeat = tools.isRepeat(totalItems.itemsArr, field, newData, 'reference', null);
+                if(!tagId && !isRepeat && newData){//create
+                    totalItemsController.createItem(sheet, totalItems, field, newData, args);
+                }
+                else if(tagId && !isRepeat ){//update
                     totalItemsController.updateItem(totalItems, tagId, field, newData, args);
+                }
+                else if(isRepeat){
+                    tools.alertTotalOpr(args, '该项目特征已存在!', totalItems.itemsArr);
+                }
             }
-            else if(isRepeat){
-                console.log(`cunzai`);
-                tools.alertTotalOpr(args, '该项目特征已存在!', totalItems.itemsArr);
+            else{
+                sheet.getCell(args.row, args.col).value(me.currentEditData + '');
             }
         });
     },