Procházet zdrojové kódy

修复新增部位可编辑bug

ellisran před 1 rokem
rodič
revize
f0c2bf4fa6
1 změnil soubory, kde provedl 27 přidání a 0 odebrání
  1. 27 0
      app/controller/change_controller.js

+ 27 - 0
app/controller/change_controller.js

@@ -732,6 +732,33 @@ module.exports = app => {
                 const dealBills = await ctx.service.dealBills.getAllDataByCondition({ where: { tender_id: ctx.tender.id } });
                 // const settleStatus = ctx.service.settle.settleStatus;
                 const settleBills = readySettle ? await this.ctx.service.settleBills.getAllDataByCondition({ where: { settle_id: readySettle.id } }) : [];
+                const stages = data.from === 'revise' ? await ctx.service.stage.getAllDataByCondition({
+                    where: { tid: ctx.tender.id },
+                    orders: [['order', 'desc']],
+                }) : [];
+                if (stages.length > 0) {
+                    const usedBills = [], usedPos = [];
+                    for (const s of stages) {
+                        if (s.status === audit.stage.status.checked) {
+                            const usedPreBills = await ctx.service.stageBillsFinal.getUsedBills(ctx.tender.id, s.order);
+                            usedBills.push(...usedPreBills);
+                            const usedPrePos = await ctx.service.stagePosFinal.getUsedPos(ctx.tender.id, s.order);
+                            usedPos.push(...usedPrePos);
+                            break;
+                        } else {
+                            const usedCurBills = await ctx.service.stageBills.getStageUsedBills(ctx.tender.id, s.id);
+                            usedBills.push(...usedCurBills);
+                            const usedCurPos = await ctx.service.stagePos.getStageUsedPos(ctx.tender.id, s.id);
+                            usedPos.push(...usedCurPos);
+                        }
+                    }
+                    for (const b of ledgerData) {
+                        b.used = usedBills.indexOf(b.id) >= 0;
+                    }
+                    for (const p of posData) {
+                        p.used = usedPos.indexOf(p.id) >= 0;
+                    }
+                }
                 ctx.helper.assignRelaData(ledgerData, [
                     { data: settleBills, fields: ['settle_status'], prefix: '', relaId: 'lid' },
                 ]);