Forráskód Böngészése

修复egg 路由bug,先推一次支付审批

laiguoran 2 éve
szülő
commit
0a0c3a1659

+ 7 - 3
app/controller/payment_controller.js

@@ -58,7 +58,7 @@ module.exports = app => {
             }
         }
 
-        async listLoad(ctx) {
+        async paymentLoad(ctx) {
             const responseData = {
                 err: 0, msg: '', data: {},
             };
@@ -207,7 +207,7 @@ module.exports = app => {
                 const id = parseInt(ctx.params.id);
                 if (!id) throw '参数错误';
                 const info = await ctx.service.paymentDetail.getDataById(id);
-                const rptTpl = await ctx.service.rptTpl.getDataById(3030);
+                const rptTpl = await ctx.service.rptTpl.getDataById(3029);
                 const pageRst = ctx.service.jpcReport.getAllPreviewPagesCommon(rptTpl, 'A4');
                 const renderData = {
                     info,
@@ -223,7 +223,7 @@ module.exports = app => {
 
         async process(ctx) {
             try {
-                const id = parseInt(ctx.params.pid);
+                const id = parseInt(ctx.params.tid);
                 if (!id) throw '参数错误';
                 const info = await ctx.service.paymentTender.getDataById(id);
                 if (!info) throw '标段不存在';
@@ -237,14 +237,18 @@ module.exports = app => {
                         const rptTpl = await ctx.service.rptTpl.getDataById(rpt.ID);
                         // 根据模板ID获取报表JSON
                         const pageRst = ctx.service.jpcReport.getAllPreviewPagesCommon(rptTpl, 'A4');
+                        console.log(pageRst.items[0]);
+                        // return;
                         rptTplList.push(pageRst.items[0]);
                     }
                 }
+                const tenderRptList = await ctx.service.paymentTenderRpt.getProcessList(id, rptProjectList);
                 const renderData = {
                     info,
                     jsFiles: this.app.jsFiles.common.concat(this.app.jsFiles.payment.process),
                     rptProjectList,
                     rptTplList,
+                    tenderRptList,
                 };
                 await this.layout('payment/process.ejs', renderData, 'payment/process_modal.ejs');
             } catch (err) {

+ 3 - 3
app/router.js

@@ -718,10 +718,10 @@ module.exports = app => {
     // 支付审批
     app.get('/payment', sessionAuth, 'paymentController.index');
     app.post('/payment/permission/save', sessionAuth, 'paymentController.permissionSave');
-    app.get('/payment/:pid/detail/:id', sessionAuth, 'paymentController.detail');
+    app.get('/payment/:tid/detail/:id', sessionAuth, 'paymentController.detail');
     app.post('/payment/save', sessionAuth, 'paymentController.save');
-    app.post('/payment/load', sessionAuth, 'paymentController.listLoad');
-    app.get('/payment/:pid/process', sessionAuth, 'paymentController.process');
+    app.post('/payment/load', sessionAuth, 'paymentController.paymentLoad');
+    app.get('/payment/:tid/process', sessionAuth, 'paymentController.process');
 
     // 企业微信回调
     app.get('/wx/work/callback/command', 'wechatController.command');

+ 1 - 1
app/service/payment_tender.js

@@ -19,7 +19,7 @@ module.exports = app => {
         async getList(uid) {
             const sql = 'SELECT pt.*, pa.name as user_name FROM ?? as pt LEFT JOIN ?? as pa ON pt.`uid` = pa.`id` WHERE pt.`uid` = ?';
             const params = [this.tableName, this.ctx.service.projectAccount.tableName, uid];
-            return this.db.query(sql, params);
+            return await this.db.query(sql, params);
         }
 
         async addTender(projectId, uid, folderId, name) {

+ 48 - 0
app/service/payment_tender_rpt.js

@@ -0,0 +1,48 @@
+'use strict';
+
+/**
+ * 决策大屏用户查看权限-数据模型
+ *
+ * @author ellisran
+ * @date 2021/09/23
+ * @version
+ */
+const accountGroup = require('../const/account_group').group;
+const paymentConst = require('../const/payment');
+module.exports = app => {
+    class paymentTenderRpt extends app.BaseService {
+        constructor(ctx) {
+            super(ctx);
+            this.tableName = 'payment_tender_rpt';
+        }
+
+        async getProcessList(id, rptProjectList) {
+            const sql = 'SELECT ptr.*, pa.name as user_name FROM ?? as ptr LEFT JOIN ?? as pa ON ptr.`uid` = pa.`id` WHERE ptr.`tender_id` = ?';
+            const params = [this.tableName, this.ctx.service.projectAccount.tableName, id];
+            const tenderRptList = await this.db.query(sql, params);
+            if (tenderRptList.length > 0) {
+                const updateDatas = [];
+                for (const tr of tenderRptList) {
+                    const rptInfo = this._.find(rptProjectList, { ID: tr.rpt_id });
+                    if (tr.is_del === 0 && !rptInfo) {
+                        updateDatas.push({
+                            id: tr.id,
+                            is_del: 1,
+                        });
+                        tr.is_del = 1;
+                    } else if (rptInfo && tr.rpt_name !== rptInfo.name) {
+                        updateDatas.push({
+                            id: tr.id,
+                            rpt_name: rptInfo.name,
+                        });
+                        tr.rpt_name = rptInfo.name;
+                    }
+                    tr.rpt_sign_audit_num = rptInfo.
+                }
+                if (updateDatas.length > 0) await this.db.updateRows(this.tableName, updateDatas);
+            }
+            return tenderRptList;
+        }
+    }
+    return paymentTenderRpt;
+};