Sfoglia il codice sorgente

修复审核比较页面问题

MaiXinRong 6 anni fa
parent
commit
669bc59c3b

+ 1 - 1
app/const/spread.js

@@ -361,7 +361,7 @@ const stageCompare = {
             {title: '名称', colSpan: '1', rowSpan: '1', field: 'name', hAlign: 0, width: 230, formatter: '@'},
         ],
         extraCols: [
-            {title: '%s数量', colSpan: '1', rowSpan: '1', field: 'quantity%s', hAlign: 2, width: 60, formatter: '@'},
+            {title: '%s数量', colSpan: '1', rowSpan: '1', field: 'gather_qty%s', hAlign: 2, width: 60, formatter: '@'},
         ],
         emptyRows: 3,
         headRows: 1,

+ 6 - 3
app/public/js/path_tree.js

@@ -226,7 +226,7 @@ class MasterPosData extends PosData {
      * @returns {Array}
      */
     loadMinorData(datas, fieldSuf, fields) {
-        if (!datas) { return; }
+        if (!datas) return;
         datas = datas instanceof Array ? datas : [datas];
         this.minorData[fieldSuf] = datas;
         const loadedData = [];
@@ -1273,8 +1273,11 @@ const createNewPathTree = function (type, setting) {
          * @param {Array} fields - 关联字段
          * @returns {Array}
          */
-        loadMinorData(datas, fieldSuf, fields) {
-            if (!datas) { return; }
+        loadMinorData(datas, fieldSuf, fields, calcFields) {
+            for (const cf of calcFields) {
+                this.setting.calcFields.push(cf+fieldSuf);
+            }
+            if (!datas) return;
             datas = datas instanceof Array ? datas : [datas];
             this.minorData[fieldSuf] = datas;
             const loadedData = [];

+ 9 - 12
app/public/js/stage_compare.js

@@ -40,7 +40,6 @@ $(document).ready(function () {
     function calculateStagePosData(datas) {
         for (const d of datas) {
             d.gather_qty = ZhCalc.add(d.contract_qty, d.qc_qty);
-            d.gather_tp = ZhCalc.add(d.contract_tp, d.qc_tp);
         }
     }
 
@@ -70,20 +69,18 @@ $(document).ready(function () {
         keys: ['id', 'tender_id', 'ledger_id'],
         masterId: 'id',
         minorId: 'lid',
-    }
-    //scTreeSetting.updateFields = ['contract_qty', 'contract_tp', 'qc_qty', 'qc_tp'];
-    scTreeSetting.calcFields = ['gather_tp0'];
+        calcFields: [],
+    };
     const scTree = createNewPathTree('master', scTreeSetting);
     scTree.loadDatas(ledger);
     calculateStageLedgerData(orgStageLedger);
-    scTree.loadMinorData(orgStageLedger, '0', ['gather_qty', 'gather_tp']);
+    scTree.loadMinorData(orgStageLedger, '0', ['gather_qty', 'gather_tp'], ['gather_tp']);
     treeCalc.calculateAll(scTree);
     scTree.expandByCalcFields();
     SpreadJsObj.loadSheetData(ledgerSpread.getActiveSheet(), SpreadJsObj.DataType.Tree, scTree);
     // 加载 部位 数据
     const scPosSetting = {
         id: 'id', ledgerId: 'lid', masterId: 'id', minorId: 'pid',
-        updateFields: ['contract_qty', 'qc_qty'],
     };
     scPosSetting.calcFun = function (pos) {
         pos.gather_qty = ZhCalc.add(pos.contract_qty, pos.qc_qty);
@@ -126,9 +123,9 @@ $(document).ready(function () {
             scTreeSetting.calcFields = [];
             const fieldSufs = ['0'], roles = ['原报'], trs = $('tr[auditorId]');
             for (let order = 0, iLength = trs.length; order < iLength; order++) {
-                fieldSufs.push(order + '');
-                roles.push(tr.children()[0].text);
-                scTreeSetting.calcFields.push('gather_tp' + order);
+                const tr = trs[order];
+                fieldSufs.push((order + 1) + '');
+                roles.push(tr.children[0].textContent);
             }
             setSpreadSettingCols(ledgerSpreadSetting, fieldSufs, roles);
             SpreadJsObj.initSheet(ledgerSpread.getActiveSheet(), ledgerSpreadSetting);
@@ -142,8 +139,8 @@ $(document).ready(function () {
         let loadData = [], showData = [], trs = $('tr[auditorId]');
         for (let order = 0, iLength = trs.length; order < iLength; order++) {
             const tr = trs[order];
-            if ($('input[type=check]', tr)[0].checked) {
-                if (!scTree.minorData[tr]) {
+            if ($('input[type=checkbox]', tr)[0].checked) {
+                if (!scTree.minorData[order + 1]) {
                     loadData.push(order + 1);
                 }
                 showData.push(order + 1);
@@ -153,7 +150,7 @@ $(document).ready(function () {
             postData(window.location.pathname + '/load', {auditors: loadData}, function (result) {
                 for (const aData of result) {
                     calculateStageLedgerData(aData.bills);
-                    scTree.loadMinorData(aData.bills, aData.order + '', ['gather_qty', 'gather_tp']);
+                    scTree.loadMinorData(aData.bills, aData.order + '', ['gather_qty', 'gather_tp'], ['gather_tp']);
                     treeCalc.calculateAll(scTree);
                     calculateStagePosData(aData.pos);
                     scPos.loadMinorData(aData.pos, aData.order + '', ['gather_qty']);

+ 1 - 1
app/view/stage/compare_modal.ejs

@@ -11,7 +11,7 @@
                     <tr><th>审批人</th><th width="90">选择</th></tr>
                     <% for (const a of ctx.stage.auditors) { %>
                     <% if (a.status === auditConst.status.checked) { %>
-                    <tr><td>a.name</td><td><input type="checkbox"></td></tr>
+                    <tr auditorId="<%- a.id %>"><td><%- a.name %></td><td><input type="checkbox"></td></tr>
                     <% } %>
                     <% } %>
                 </table>