Преглед изворни кода

fix: 材料调差-清单数据显示bug修复

lanjianrong пре 5 година
родитељ
комит
9f09d42e58
2 измењених фајлова са 25 додато и 6 уклоњено
  1. 24 5
      app/public/js/material_list.js
  2. 1 1
      app/view/layout/layout.ejs

+ 24 - 5
app/public/js/material_list.js

@@ -56,15 +56,28 @@ function getPasteHint (str, row = '') {
     return returnObj;
 }
 
-function calculateJiaCha(Data) {
-    for(const gcld of Data) {
+// 重新计算列表的价差
+function calculateJiaCha(data, index) {
+    // 计算单条的
+    if (index) {
+        const gcld = data[index]
         let total_jiacha = 0;
         for (const [index, xmj] of gcld.leafXmjs.entries()) {
             const jiacha = calcOneBQJC(xmj);
-            gcld.leafXmjs[index].jiacha = jiacha !== 0 ? ZhCalc.round(jiacha, 2) : null;
+            gcld.leafXmjs[index].jiacha = jiacha !== 0 ? jiacha : null;
             total_jiacha += jiacha;
         }
         gcld.total_jiacha = ZhCalc.round(total_jiacha, 2)
+    } else {
+        for(const gcld of data) {
+            let total_jiacha = 0;
+            for (const [index, xmj] of gcld.leafXmjs.entries()) {
+                const jiacha = calcOneBQJC(xmj);
+                gcld.leafXmjs[index].jiacha = jiacha !== 0 ? jiacha : null;
+                total_jiacha += jiacha;
+            }
+            gcld.total_jiacha = ZhCalc.round(total_jiacha, 2)
+        }
     }
 }
 
@@ -367,11 +380,11 @@ $(document).ready(() => {
                         notJoinList.push(result);
                     }
                     gclGatherData[iGclRow].leafXmjs[iRow].jiacha = calcOneBQJC(select);
-                    calculateJiaCha(gclGatherData)
+                    calculateJiaCha(gclGatherData, iGclRow)
                     SpreadJsObj.reLoadRowData(sheet, iRow);
                     sheet.getRange(iRow, -1, 1, -1).backColor(color);
                     loadMaterialData(iGclRow, iRow);
-                    SpreadJsObj.reLoadSheetData(ledgerSpread.getActiveSheet());
+                    SpreadJsObj.reLoadRowData(ledgerSpread.getActiveSheet(), iGclRow);
                 });
             },
         }
@@ -436,7 +449,9 @@ $(document).ready(() => {
                     materialListData.splice(materialListIndex, 1);
                     const [iGclRow, iRow, lsheet, lselect] = leafXmjSpreadObj.getSelect();
                     gclGatherData[iGclRow].leafXmjs[iRow].jiacha = calcOneBQJC(lselect);
+                    calculateJiaCha(gclGatherData, iGclRow)
                     SpreadJsObj.reLoadRowData(lsheet, iRow);
+                    SpreadJsObj.reLoadRowData(ledgerSpread.getActiveSheet(), iGclRow);
                 });
             },
             deletePress: function (sheet) {
@@ -477,7 +492,9 @@ $(document).ready(() => {
                         SpreadJsObj.reLoadRowData(info.sheet, info.row);
                         const [iGclRow, iRow, sheet, lselect] = leafXmjSpreadObj.getSelect();
                         gclGatherData[iGclRow].leafXmjs[iRow].jiacha = calcOneBQJC(lselect);
+                        calculateJiaCha(gclGatherData, iGclRow)
                         SpreadJsObj.reLoadRowData(sheet, iRow);
+                        SpreadJsObj.reLoadRowData(ledgerSpread.getActiveSheet(), iGclRow);
                     }, function () {
                         SpreadJsObj.reLoadRowData(info.sheet, info.row);
                     });
@@ -556,7 +573,9 @@ $(document).ready(() => {
                     materialListData = result;
                     const [iGclRow, iRow, sheet, lselect] = leafXmjSpreadObj.getSelect();
                     gclGatherData[iGclRow].leafXmjs[iRow].jiacha = calcOneBQJC(lselect);
+                    calculateJiaCha(gclGatherData, iGclRow)
                     SpreadJsObj.reLoadRowData(sheet, iRow);
+                    SpreadJsObj.reLoadRowData(ledgerSpread.getActiveSheet(), iGclRow);
                 }, function () {
                     SpreadJsObj.reLoadRowData(info.sheet, info.cellRange.row, info.cellRange.rowCount);
                 });

+ 1 - 1
app/view/layout/layout.ejs

@@ -22,7 +22,7 @@
     <% } %>
 </head>
 
-<body oncontextmenu="return false;"> <!--屏蔽input鼠标右键-->
+<!-- <body oncontextmenu="return false;"> 屏蔽input鼠标右键 -->
 <div>
 
 </div>