瀏覽代碼

台账修订,清单对比,所属项目节相关

MaiXinRong 4 年之前
父節點
當前提交
1cd8ea1dde
共有 1 個文件被更改,包括 16 次插入11 次删除
  1. 16 11
      app/public/js/shares/gcl_gather_compare.js

+ 16 - 11
app/public/js/shares/gcl_gather_compare.js

@@ -219,17 +219,22 @@ const gclCompareModel = (function () {
         const posRange = gsPos.getLedgerPos(node.id);
         const detail = posRange && posRange.length > 0 ? posRange : [node];
         for (const d of detail) {
-            const dx = _.assign({}, cacheLeafXmj);
-            gatherfields(dx, d, ledgerSetting.posFields, ledgerSetting.prefix);
-            dx.gcl_id = node.id;
-            if (d.name !== node.name) {
-                dx.bwmx = d.name;
-                dx.mx_id = d.id;
-            }
-            if (d.drawing_code) {
-                dx.drawing_code = d.drawing_code;
+            const lx = gcl.leafXmjs.find(x => {return x.id === leafXmj.id && (x.mx_id === d.id || x.gcl_id === d.id)});
+            if (lx) {
+                gatherfields(lx, d, ledgerSetting.posFields, ledgerSetting.prefix);
+            } else {
+                const dx = _.assign({}, cacheLeafXmj);
+                gatherfields(dx, d, ledgerSetting.posFields, ledgerSetting.prefix);
+                dx.gcl_id = node.id;
+                if (d.name !== node.name) {
+                    dx.bwmx = d.name;
+                    dx.mx_id = d.id;
+                }
+                if (d.drawing_code) {
+                    dx.drawing_code = d.drawing_code;
+                }
+                gcl.leafXmjs.push(dx);
             }
-            gcl.leafXmjs.push(dx);
         }
     }
 
@@ -338,7 +343,7 @@ const gclCompareModel = (function () {
     function gatherLedgerData(bills, pos, setting) {
         ledgerSetting = setting;
         try {
-            //if (leafXmjs.length > 0) leafXmjs.length = 0;
+            if (leafXmjs.length > 0) leafXmjs.length = 0;
             gsTree = createNewPathTree('ledger', setting.tree);
             gsTree.loadDatas(bills);
             const gsPos = new PosData(setting.pos);