فهرست منبع

期上报审核,搜索审批人相关调整,应用到全部页面

MaiXinRong 6 سال پیش
والد
کامیت
3e0bc023e0
2فایلهای تغییر یافته به همراه25 افزوده شده و 25 حذف شده
  1. 17 18
      app/controller/stage_controller.js
  2. 8 7
      app/service/stage_pay.js

+ 17 - 18
app/controller/stage_controller.js

@@ -40,7 +40,7 @@ module.exports = app => {
          * @returns {{tender, tenderMenu, auditConst}}
          * @private
          */
-        _getDefaultRenderData (ctx) {
+        async _getDefaultRenderData (ctx) {
             const data = {
                 tender: ctx.tender.data,
                 tenderMenu: JSON.parse(JSON.stringify(this.menu.stageMenu)),
@@ -49,6 +49,15 @@ module.exports = app => {
                 preUrl: '/tender/' + ctx.tender.id + '/measure/stage/' + ctx.params.order,
                 stage: ctx.stage,
             };
+            if (ctx.stage.status === auditConst.status.uncheck && ctx.session.sessionUser.accountId === ctx.stage.user_id) {
+                data.accountGroup = accountGroup;
+                // 获取所有项目参与者
+                const accountList = await ctx.service.projectAccount.getAllDataByCondition({
+                    where: { project_id: ctx.session.sessionProject.id, enable: 1 },
+                    columns: ['id', 'name', 'company', 'role', 'enable', 'is_admin', 'account_group'],
+                });
+                data.accountList = accountList;
+            }
             data.tenderMenu.back.children[0].url = '/tender/' + ctx.tender.id + '/measure/stage';
             return data;
         }
@@ -132,7 +141,7 @@ module.exports = app => {
         async index(ctx) {
             try {
                 await this._getStage(ctx);
-                const renderData = this._getDefaultRenderData(ctx);
+                const renderData = await this._getDefaultRenderData(ctx);
                 [renderData.ledgerSpread, renderData.posSpread] = this._getSpreadSetting();
                 renderData.changeConst = changeConst;
                 renderData.ledgerData = await ctx.service.ledger.getDataByTenderId(ctx.tender.id, -1);
@@ -142,16 +151,6 @@ module.exports = app => {
                 // if (ctx.stage.order > 0) {
                 // renderData.preStageData
                 // }
-
-                if (ctx.stage.status === auditConst.status.uncheck && ctx.session.sessionUser.accountId === ctx.stage.user_id) {
-                    renderData.accountGroup = accountGroup;
-                    // 获取所有项目参与者
-                    const accountList = await ctx.service.projectAccount.getAllDataByCondition({
-                        where: { project_id: ctx.session.sessionProject.id, enable: 1 },
-                        columns: ['id', 'name', 'company', 'role', 'enable', 'is_admin', 'account_group'],
-                    });
-                    renderData.accountList = accountList;
-                }
                 await this.layout('stage/index.ejs', renderData, 'stage/modal.ejs');
             } catch (err) {
                 this.log(err);
@@ -222,7 +221,7 @@ module.exports = app => {
         async detail(ctx) {
             try {
                 await this._getStage(ctx);
-                const renderData = this._getDefaultRenderData(ctx);
+                const renderData = await this._getDefaultRenderData(ctx);
                 renderData.jsFiles = this.app.jsFiles.common.concat(this.app.jsFiles.stage.detail);
                 renderData.imType = tenderConst.imType;
                 await this.layout('stage/detail.ejs', renderData, 'stage/detail_modal.ejs');
@@ -415,7 +414,7 @@ module.exports = app => {
         async pay(ctx) {
             try {
                 await this._getStage(ctx);
-                const renderData = this._getDefaultRenderData(ctx);
+                const renderData = await this._getDefaultRenderData(ctx);
                 const dealPay = await ctx.service.stagePay.getStagePays(ctx.stage);
                 if (dealPay && dealPay.length > 0) {
                     renderData.dealPay = dealPay;
@@ -572,7 +571,7 @@ module.exports = app => {
         async change(ctx) {
             try {
                 await this._getStage(ctx);
-                const renderData = this._getDefaultRenderData(ctx);
+                const renderData = await this._getDefaultRenderData(ctx);
                 await this.layout('stage/change.ejs', renderData);
             } catch (err) {
                 this.log(err);
@@ -771,7 +770,7 @@ module.exports = app => {
         async gather(ctx) {
             try {
                 await this._getStage(ctx);
-                const renderData = this._getDefaultRenderData(ctx);
+                const renderData = await this._getDefaultRenderData(ctx);
                 [renderData.gclSpread, renderData.leafXmjSpread] = this._getGatherSpreadSetting();
                 renderData.ledger = await ctx.service.ledger.getDataByTenderId(ctx.tender.id, -1);
                 renderData.curLedgerData = await ctx.service.stageBills.getAuditorStageData(ctx.tender.id, ctx.stage.id, ctx.stage.times, 0);
@@ -817,7 +816,7 @@ module.exports = app => {
             };
             try {
                 await this._getStage(ctx);
-                const renderData = this._getDefaultRenderData(ctx);
+                const renderData = await this._getDefaultRenderData(ctx);
                 [renderData.ledgerSpread, renderData.posSpread] = getCompareSpreadSetting();
                 renderData.ledger = await ctx.service.ledger.getDataByTenderId(ctx.tender.id, -1);
                 renderData.orgStageLedger = await ctx.service.stageBills.getAuditorStageData(ctx.tender.id, ctx.stage.id, ctx.stage.times, 0);
@@ -858,7 +857,7 @@ module.exports = app => {
         async report(ctx) {
             try {
                 await this._getStage(ctx);
-                const renderData = this._getDefaultRenderData(ctx);
+                const renderData = await this._getDefaultRenderData(ctx);
                 await this.layout('stage/report.ejs', renderData, 'stage/report_modal.ejs');
             } catch (err) {
                 this.log(err);

+ 8 - 7
app/service/stage_pay.js

@@ -85,14 +85,15 @@ module.exports = app => {
             }
             // 获取截止上期数据
             if (stage.order > 1) {
-                const preStage = this.ctx.service.stage.getDataByCondition({tid: stage.tid, order: stage.order - 1});
+                const preStage = await this.ctx.service.stage.getDataByCondition({tid: stage.tid, order: stage.order - 1});
+                console.log(preStage);
                 if (!preStage) {
                     throw '标段数据有误';
                 }
-                const prePays = this.getStageLastestPays(preStage.id);
+                const prePays = await this.getStageLastestPays(preStage.id);
                 for (const pp of prePays) {
                     const sp = this._.find(stagePays, {pid: pp.pid});
-                    sp.pre_total_price = pp.end_total_price;
+                    sp.pre_tp= pp.end_tp;
                 }
             }
             let result;
@@ -133,14 +134,14 @@ module.exports = app => {
         async getStageLastestPays(sid) {
             const sql = 'SELECT SP.*, P.`order`, P.uid, P.name, P.minus, P.ptype, P.sprice, P.sexpr, P.rprice, P.rexpr, P.is_yf, P.dl_type, P.dl_count, P.dl_tp_type, P.dl_tp ' +
                 '  FROM ?? As SP, ?? As P, ( ' +
-                '    SELECT MAX(`stimes`) As `stimes`, MAX(`sorder`) As `sorder` ' +
+                '    SELECT MAX(`times`) As `stimes`, MAX(`order`) As `sorder` ' +
                 '      FROM ?? ' +
                 '      WHERE `sid` = ? ' +
-                '      GOURP BY `sid`) As M' +
+                '      GROUP BY `sid`) As M' +
                 '  WHERE SP.`sid` = ? AND SP.`stimes` = M.`stimes` AND SP.`sorder` = M.`sorder` AND SP.`pid` = P.`id` AND P.`valid` = true' +
                 '  ORDER BY P.`order`';
-            const sqlParam = [this.tableName, this.ctx.service.pay.tableName, this.ctx.service.stage.tableName, this.ctx.service.stageAudit.tableName,
-                stage.id, stage.id];
+            const sqlParam = [this.tableName, this.ctx.service.pay.tableName, this.ctx.service.stageAudit.tableName,
+                sid, sid];
             return await this.db.query(sql, sqlParam);
         }