Sfoglia il codice sorgente

修复调差工料修改共用值bug

laiguoran 2 anni fa
parent
commit
e7a8b319ee
3 ha cambiato i file con 19 aggiunte e 4 eliminazioni
  1. 13 2
      app/public/js/material.js
  2. 4 0
      app/service/material_bills.js
  3. 2 2
      app/view/material/info.ejs

+ 13 - 2
app/public/js/material.js

@@ -88,8 +88,8 @@ function resetTpTable() {
     if (isStageSelf) {
         let html = '';
         for (const ms of materialStageData) {
-            const taxHtml = materialTax ? '                                        <td class="text-center">' + ms.m_tax_tp + '</td>\n' : '';
-            html += '<tr><td>第' + ms.order + '期</td><td class="text-center">' + ms.m_tp + '</td>\n' +
+            const taxHtml = materialTax ? '                                        <td class="text-center">' + (ms.m_tax_tp !== null ? ms.m_tax_tp : '') + '</td>\n' : '';
+            html += '<tr><td>第' + ms.order + '期</td><td class="text-center">' + (ms.m_tp !== null ? ms.m_tp : '') + '</td>\n' +
                 taxHtml +
                 '                                </tr>';
         }
@@ -286,6 +286,17 @@ $(document).ready(() => {
             return data;
         },
         updateMaterialData: function (datas) {
+            if (datas.billsData && datas.billsData.length > 0) {
+                if (datas.billsData.length === materialBillsData.length) {
+                    // 全体替换
+                    materialBillsData = datas.billsData;
+                } else {
+                    for (const b of datas.billsData) {
+                        const index = _.findIndex(materialBillsData, {id: b.id});
+                        materialBillsData.splice(index, 1, b);
+                    }
+                }
+            }
             if (datas.stageData && datas.stageData.length > 0) {
                 if (datas.stageData.length === materialStageData.length) {
                     // 全体替换

+ 4 - 0
app/service/material_bills.js

@@ -292,6 +292,9 @@ module.exports = app => {
                         await transaction.select(this.ctx.service.materialStage.tableName, { where: { mid: this.ctx.material.id, id: ms_id } });
                 }
                 await transaction.update(this.tableName, data);
+                if (this.ctx.material.is_stage_self) {
+                    result.billsData = await transaction.select(this.tableName, { where: { id: data.id } });
+                }
                 result.m_tp = await this.calcMaterialMTp(transaction);
                 await transaction.commit();
                 return result;
@@ -410,6 +413,7 @@ module.exports = app => {
                     await this.ctx.service.materialStage.updateMtp(transaction, ms_id);
                     result.stageBillsData = await transaction.select(this.ctx.service.materialStageBills.tableName, { where: { mid: this.ctx.material.id } });
                     result.stageData = await transaction.select(this.ctx.service.materialStage.tableName, { where: { mid: this.ctx.material.id } });
+                    result.billsData = await transaction.select(this.tableName, { where: { mid: this.ctx.material.id } });
                 }
                 result.m_tp = await this.calcMaterialMTp(transaction);
                 await transaction.commit();

+ 2 - 2
app/view/material/info.ejs

@@ -184,9 +184,9 @@
                                 </thead>
                                 <tbody id="materialStageTable">
                                 <% for (const ms of materialStageData) { %>
-                                <tr><td>第<%- ms.order %>期</td><td class="text-center"><%- ms.m_tp %></td>
+                                <tr><td>第<%- ms.order %>期</td><td class="text-center"><%- ms.m_tp !== null ? ms.m_tp : null %></td>
                                     <% if (material.material_tax) { %>
-                                        <td class="text-center"><%- ms.m_tax_tp %></td>
+                                        <td class="text-center"><%- ms.m_tax_tp !== null ? ms.m_tax_tp : null %></td>
                                     <% } %>
                                 </tr>
                                 <% } %>