瀏覽代碼

1. 支付明细点击报错
2. 新增合同支付期,限制

MaiXinRong 5 月之前
父節點
當前提交
5c766433ad
共有 4 個文件被更改,包括 35 次插入5 次删除
  1. 1 2
      app/controller/pay_controller.js
  2. 2 0
      app/view/phase_pay/index.ejs
  3. 2 2
      app/view/phase_pay/sub_menu_list.ejs
  4. 30 1
      db_script/project_spread.js

+ 1 - 2
app/controller/pay_controller.js

@@ -31,13 +31,12 @@ module.exports = app => {
                 const phasePays = await this.ctx.service.phasePay.getAllPhasePay(ctx.tender.id, 'DESC');
                 const relaStage = [];
                 for (const p of phasePays) {
-                    // todo 加载当前审批人
                     if (p.audit_status !== audit.common.status.checked) await this.ctx.service.phasePay.loadUser(p);
                     relaStage.push(...p.rela_stage);
                 }
                 const stages = await this.ctx.service.stage.getAllDataByCondition({ where: { tid: ctx.tender.id }, orders: [['order', 'AEC']] });
                 const validStages = stages.filter(s => {
-                    return !relaStage.find(r => { return s.id === r.id; });
+                    return !relaStage.find(r => { return s.id === r.stage_id; });
                 });
                 this.ctx.service.phasePay.calculatePhasePay(phasePays);
                 const renderData = {

+ 2 - 0
app/view/phase_pay/index.ejs

@@ -6,9 +6,11 @@
             <h2>
                 合同支付列表
             </h2>
+            <% if (ctx.session.sessionUser.accountId === ctx.tender.user_id && (phasePays.length === 0 || phasePays[0].audit_status === auditConst.status.checked)) { %>
             <div class="ml-auto">
                 <a href="#add-qi" data-toggle="modal" data-target="#add-qi" class="btn btn-primary btn-sm">开始新一期</a>
             </div>
+            <% } %>
         </div>
     </div>
     <div class="content-wrap">

+ 2 - 2
app/view/phase_pay/sub_menu_list.ejs

@@ -1,4 +1,4 @@
 <nav-menu title="返回" url="/tender/<%= ctx.tender.id %>/pay" tclass="text-primary" ml="1" icon="fa-chevron-left"></nav-menu>
-<nav-menu title="支付明细" url="/tender/<%= ctx.tender.id %>/pay/<%= ctx.phasePay.order + '/detail'%>" ml="3" active="<%= (ctx.url.indexOf('detail') >= 0 ? 1 : -1) %>"></nav-menu>
-<nav-menu title="输出报表" url="/tender/<%= ctx.tender.id %>/pay/<%= ctx.phasePay.order + '/report'%>" ml="3" active="<%= (ctx.url.indexOf('report') >= 0 ? 1 : -1) %>"></nav-menu>
+<nav-menu title="支付明细" url="/tender/<%= ctx.tender.id %>/pay/<%= ctx.phasePay.phase_order + '/detail'%>" ml="3" active="<%= (ctx.url.indexOf('detail') >= 0 ? 1 : -1) %>"></nav-menu>
+<nav-menu title="输出报表" url="/tender/<%= ctx.tender.id %>/pay/<%= ctx.phasePay.phase_order + '/report'%>" ml="3" active="<%= (ctx.url.indexOf('report') >= 0 ? 1 : -1) %>"></nav-menu>
 <% include ./audit_btn.ejs %>

+ 30 - 1
db_script/project_spread.js

@@ -137,4 +137,33 @@ const doComplete = async function(projectCode) {
     BaseUtil.closePool();
 };
 
-doComplete(process.argv[3]);
+// doComplete(process.argv[3]);
+// 更新所有工程量清单
+
+const updateProjectSpread = async function (project) {
+    const projectSpread = await querySql('Select * From zh_project_spread WHERE pid = ?', [project.id]);
+    for (const spread of projectSpread) {
+        if (!spread.gcl_stage_set) continue;
+
+        const gcl_stage_set = JSON.parse(spread.gcl_stage_set);
+        const tz_calc = gcl_stage_set.find(x => { return x.key === 'tz_calc'});
+        if (!tz_calc) continue;
+        tz_calc.pos_valid = 0;
+        await querySql(`UPDATE zh_project_spread SET gcl_stage_set = ? WHERE id = ?`, [JSON.stringify(gcl_stage_set), spread.id]);
+    }
+};
+const doComplete2 = async function (projectCode) {
+    try {
+        const whereSql = projectCode ? ` WHERE code = "${projectCode}"` : '';
+        const project = await querySql(`Select * From zh_project ${whereSql}`);
+        for (const p of project) {
+            console.log(`Update Project ${p.code}(${p.id}):`);
+            await updateProjectSpread(p);
+        }
+    } catch (err) {
+        console.log(err);
+    }
+    BaseUtil.closePool();
+};
+doComplete2(process.argv[3]);
+