Explorar o código

清单库debug

zhongzewei %!s(int64=7) %!d(string=hai) anos
pai
achega
66013261bd

+ 33 - 7
web/maintain/bills_lib/html/qingdan.html

@@ -667,7 +667,7 @@
             }
             sheet.resumePaint();
             billsAjax.pasteBills(userAccount, billsLibId, validDatas);
-            setSheet.setMaxRowCount(sheet, sheetBillsDatas);
+            sheet.setRowCount(sheetBillsDatas.datas.length);
         });
     }
     function bindPasteRel(sheet, controller, totalJobs, setting){
@@ -681,16 +681,27 @@
             }
         });
         sheet.bind(GC.Spread.Sheets.Events.ClipboardPasted, function(sender, args){
+            console.log(args);
             if(controller.tree.selected){
                 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;
                 let pasteArr = [];
                 let crossedDatas = [];
                 let uncrossedDatas = [];
-                const colIdx = 1;
+                const codeCol = 0;
+                const contentCol = 1;
                 for(let i=orgRow; i<=maxRow; i++){
-                    if(sheet.getCell(i, colIdx).value()){
-                        pasteArr.push(sheet.getCell(i, colIdx).value());
+                    //粘贴编号列,转换成粘贴内容处理
+                    let code = sheet.getCell(i, codeCol).value();
+                    let content = sheet.getCell(i, contentCol).value();
+                    if(code && !content){
+                        let contentByCode = tools.getContentByCode(totalJobs.jobsArr, code);
+                        if(contentByCode){
+                            pasteArr.push(contentByCode);
+                        }
+                    }
+                    if(content){
+                        pasteArr.push(content);
                     }
                 }
                 let uniqPasteArr = tools.uniqArr(pasteArr);
@@ -717,7 +728,12 @@
                         crossedDatas.push(crossedData);
                     }
                 }
+                console.log(`uncrossedDatas`);
+                console.log(uncrossedDatas);
+                console.log(`crossedDatas`);
+                console.log(crossedDatas);
                 let pasteDatas = tools.encapData(uncrossedDatas, crossedDatas, controller, totalJobs);
+                console.log(pasteDatas);
                 if(pasteDatas.updateDatas.length > 0 || pasteDatas.createDatas.length > 0){
                     billsAjax.pasteRel(userAccount, billsLibId, pasteDatas.updateDatas, pasteDatas.createDatas, 'jobs', function(datas){
                         pasteController.frontOperator(sheet, setting, controller, totalJobs, datas);
@@ -749,10 +765,20 @@
                 let pasteArr = [];
                 let crossedDatas = [];
                 let uncrossedDatas = [];
-                const colIdx = 1;
+                const codeCol = 0;
+                const contentCol = 1;
                 for(let i=orgRow; i<=maxRow; i++){
-                    if(sheet.getCell(i, colIdx).value()){
-                        pasteArr.push(sheet.getCell(i, colIdx).value());
+                    //编号列转换成内容列处理
+                    let code = sheet.getCell(i, codeCol).value();
+                    let content = sheet.getCell(i, contentCol).value();
+                    if(code && !content){
+                        let contentByCode = tools.getContentByCode(totalItems.itemsArr, code);
+                        if(contentByCode){
+                            pasteArr.push(contentByCode);
+                        }
+                    }
+                    if(content){
+                        pasteArr.push(content);
                     }
                 }
                 let uniqPasteArr = tools.uniqArr(pasteArr);

+ 19 - 8
web/maintain/bills_lib/scripts/db_controller.js

@@ -589,6 +589,15 @@ var tools = {
         return isRepeat;
     },
 
+    getContentByCode: function (items, code) {
+        for(let item of items){
+            if(item.data.code == code){
+                return item.data.content;
+            }
+        }
+        return null;
+    },
+
     addAttr: function(attr){
         if(!attr){
             attr = new Array();
@@ -1005,13 +1014,15 @@ var tools = {
         let updateDatas = [];
         let createDatas = [];
         let nodeId = controller.tree.selected.getID();
+        console.log(`totalJobs`);
+        console.log(totalJobs);
         uncrossedDatas.forEach(obj => {
             let cnDataObj, ceDataObj, content, jobId;
             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(obj.data === job.data.content){
+                   if(obj.data == job.data.content){
                        jobId = job.data.id;
                    }
                 });
@@ -1046,7 +1057,7 @@ var tools = {
             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){
+                   if(cData.newData == job.data.content){
                        newJobId = job.data.id;
                    }
                 });
@@ -1094,7 +1105,7 @@ var tools = {
             let isRepeat = tools.isRepeat(controller.tree.selected.items, 'content', obj.data, 'reference', 'item');
             if(isExisit && !isRepeat){
                 totalItems.itemsArr.forEach(item => {
-                    if(obj.data === item.data.content){
+                    if(obj.data == item.data.content){
                         itemId = item.data.id;
                     }
                 });
@@ -1130,7 +1141,7 @@ var tools = {
             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){
+                    if(cData.newData == item.data.content){
                         newItemId = item.data.id;
                     }
                 });
@@ -1536,7 +1547,7 @@ let pasteController = {
                 if(datas[i]){
                     if(datas[i].type === UpdateExist){
                         totalJobs.jobsArr.forEach(job => {
-                            if(job.data.content === datas[i].newData){
+                            if(job.data.content == datas[i].newData){
                                 let serialNo = datas[i].serialNo;
                                 let index = tools.getIndex(controller.tree.selected.jobs, datas[i].orgJobId, 'job');
                                 job.count ++;
@@ -1560,7 +1571,7 @@ let pasteController = {
                    else if(datas[i].type === CreateExist){
                         let serialNo = datas[i].serialNo;
                         totalJobs.jobsArr.forEach(job => {
-                            if(job.data.content === datas[i].newData){
+                            if(job.data.content == datas[i].newData){
                                 job.count ++;
                                 controller.tree.selected.jobs.push({job: job, serialNo: serialNo});
                             }
@@ -1590,7 +1601,7 @@ let pasteController = {
         if(datas.length > 0){
             for(let i =0; i<datas.length; i++){
                 if(datas[i]){
-                    if(datas[i].type === UpdateExist){
+                    if(datas[i].type == UpdateExist){
                         let serialNo = datas[i].serialNo;
                         totalItems.itemsArr.forEach(item => {
                             if(item.data.content === datas[i].newData){
@@ -1616,7 +1627,7 @@ let pasteController = {
                    else if(datas[i].type === CreateExist){
                         let serialNo = datas[i].serialNo;
                         totalItems.itemsArr.forEach(item => {
-                            if(item.data.content === datas[i].newData){
+                            if(item.data.content == datas[i].newData){
                                 item.count ++;
                                 controller.tree.selected.items.push({item: item, serialNo: serialNo});
                             }