Browse Source

优化加载速度

laiguoran 3 years ago
parent
commit
b247ebd152

+ 20 - 14
app/public/js/change_information_approval.js

@@ -71,7 +71,7 @@ $(document).ready(() => {
         const newColTp = {
             title: '|金额',
             colSpan: '|1', rowSpan: '|1',
-            field: 'sa_tp',
+            field: 'sa_tp_' + aid,
             hAlign: 2, width: 80, type: 'Number',
             readOnly: true
         };
@@ -108,18 +108,23 @@ $(document).ready(() => {
             changeSpreadObj.countSum();
         },
         setAuditValue: function () {
-            const rowCount = changeSpreadSheet.getRowCount();
-            // 用户的数据合计
-            for (const j in aidList) {
-                for(let i = 0; i <= rowCount - 1; i++){
-                    const data = {
-                        unit_price: changeSpreadSheet.getValue(i, 5),
-                        amount: parseFloat(changeSpreadSheet.getValue(i, 10 + parseInt(j)*2)),
-                    };
-                    const sum = ZhCalc.round(ZhCalc.mul(data.unit_price, data.amount), totalPriceUnit);
-                    changeSpreadSheet.setValue(i, 11 + j*2, sum !== 0 ? sum : null);
+            for (const c  of changeList) {
+                for (const j of aidList) {
+                    c['sa_tp_' + j] = ZhCalc.round(ZhCalc.mul(c['audit_amount_' + j], c.unit_price), totalPriceUnit);
                 }
             }
+            // const rowCount = changeSpreadSheet.getRowCount();
+            // // 用户的数据合计
+            // for (const j in aidList) {
+            //     for(let i = 0; i <= rowCount - 1; i++){
+            //         const data = {
+            //             unit_price: changeSpreadSheet.getValue(i, 5),
+            //             amount: parseFloat(changeSpreadSheet.getValue(i, 10 + parseInt(j)*2)),
+            //         };
+            //         const sum = ZhCalc.round(ZhCalc.mul(data.unit_price, data.amount), totalPriceUnit);
+            //         changeSpreadSheet.setValue(i, 11 + j*2, sum !== 0 ? sum : null);
+            //     }
+            // }
         },
         resetXmjSpread: function(data = null) {
             const xmj = [];
@@ -321,13 +326,13 @@ $(document).ready(() => {
             // 更新至服务器
             postData(window.location.pathname + '/save', { type:'paste_amount_rows', updateData: data }, function (result) {
                 changeList = result;
-                SpreadJsObj.loadSheetData(changeSpreadSheet, SpreadJsObj.DataType.Data, changeList);
                 changeSpreadObj.setAuditValue();
+                SpreadJsObj.loadSheetData(changeSpreadSheet, SpreadJsObj.DataType.Data, changeList);
                 changeSpreadObj.makeSjsFooter();
                 changeSpreadObj.resetXmjSpread(SpreadJsObj.getSelectObject(changeSpreadSheet));
             }, function () {
-                SpreadJsObj.reLoadRowData(info.sheet, info.cellRange.row, info.cellRange.rowCount);
                 changeSpreadObj.setAuditValue();
+                SpreadJsObj.reLoadRowData(info.sheet, info.cellRange.row, info.cellRange.rowCount);
                 return;
             });
         },
@@ -335,8 +340,9 @@ $(document).ready(() => {
 
     SpreadJsObj.initSpreadSettingEvents(changeSpreadSetting, changeCol);
     SpreadJsObj.initSheet(changeSpreadSheet, changeSpreadSetting);
-    SpreadJsObj.loadSheetData(changeSpreadSheet, SpreadJsObj.DataType.Data, changeList);
     changeSpreadObj.setAuditValue();
+    SpreadJsObj.loadSheetData(changeSpreadSheet, SpreadJsObj.DataType.Data, changeList);
+    console.log(changeList);
     changeSpreadObj.makeSjsFooter();
     changeSpreadObj.resetXmjSpread(SpreadJsObj.getSelectObject(changeSpreadSheet));
     const userIndex = aidList.indexOf(parseInt(accountId));

+ 7 - 2
app/public/js/change_information_show.js

@@ -60,7 +60,7 @@ $(document).ready(() => {
         const newColTp = {
             title: '|金额',
             colSpan: '|1', rowSpan: '|1',
-            field: 'sa_tp',
+            field: 'sa_tp_' + aid,
             hAlign: 2, width: 80, type: 'Number',
         };
         changeSpreadSetting.cols.push(newColcount);
@@ -163,8 +163,13 @@ $(document).ready(() => {
 
     SpreadJsObj.initSpreadSettingEvents(changeSpreadSetting, changeCol);
     SpreadJsObj.initSheet(changeSpreadSheet, changeSpreadSetting);
+    for (const c  of changeList) {
+        for (const j of aidList) {
+            c['sa_tp_' + j] = ZhCalc.round(ZhCalc.mul(c['audit_amount_' + j], c.unit_price), totalPriceUnit);
+        }
+    }
     SpreadJsObj.loadSheetData(changeSpreadSheet, SpreadJsObj.DataType.Data, changeList);
-    changeSpreadObj.setAuditValue();
+    // changeSpreadObj.setAuditValue();
     changeSpreadObj.makeSjsFooter();
     changeSpreadObj.showHideAudit();
     changeSpreadObj.resetXmjSpread(SpreadJsObj.getSelectObject(changeSpreadSheet));