Browse Source

标段过滤,部分代码

MaiXinRong 2 months atrás
parent
commit
0a8728fb2d

+ 2 - 2
app/base/base_controller.js

@@ -37,8 +37,8 @@ class BaseController extends Controller {
             menuList.file.display = ctx.subProject.page_show.openFile || false;
             menuList.contract.display = ctx.subProject.page_show.openContract || false;
             menuList.financial.display = ctx.subProject.page_show.openFinancial || false;
-            menuList.budget.display = ctx.subProject.openBudget || false;
-            menuList.payment.display = ctx.subProject.openPayment || false;
+            menuList.budget.display = ctx.subProject.page_show.openBudget || false;
+            menuList.payment.display = ctx.subProject.page_show.openPayment || false;
             for (const index in menuList) {
                 const im = menuList[index];
                 if (!im.url) {

+ 5 - 7
app/controller/budget_controller.js

@@ -27,9 +27,7 @@ module.exports = app => {
          */
         async list(ctx) {
             try {
-                if (!ctx.session.sessionProject.showBudget) {
-                    throw '该功能已关闭或无法查看';
-                }
+                if (!ctx.subProject.page_show.openBudget) throw '该功能已关闭或无法查看';
                 const renderData = {
                     jsFiles: this.app.jsFiles.common.concat(this.app.jsFiles.budget.list),
                     auditConst,
@@ -47,6 +45,7 @@ module.exports = app => {
                 renderData.categoryData = await this.ctx.service.category.getAllCategory(ctx.subProject);
                 await this.layout('budget/list.ejs', renderData, 'budget/list_modal.ejs');
             } catch (err) {
+                console.log(err);
                 ctx.log(err);
                 ctx.session.postError = err.toString();
                 ctx.redirect(this.menu.menu.dashboard.url);
@@ -87,11 +86,10 @@ module.exports = app => {
                     jsFiles: this.app.jsFiles.common.concat(this.app.jsFiles.budget.compare),
                     auditConst,
                 };
-                const relaTenderId = ctx.helper._.map(ctx.budget.rela_tender.split(','), ctx.helper._.toInteger);
                 const tenderList = await ctx.service.tender.getList4Select('stage');
-                renderData.tenderList = relaTenderId.length > 0 ? tenderList.filter(x => {
-                    return relaTenderId.indexOf(x.id) >= 0;
-                }) : tenderList;
+                renderData.tenderList = tenderList.filter(x => {
+                    return !x.filter_budger;
+                });
                 renderData.tenderList = renderData.tenderList.map(y => {
                     return { id: y.id, name: y.name, lastStageOrder: y.lastStage.order, lastStageStatus: auditConst.stage.statusString[y.lastStage.status], category: y.category };
                 });

+ 2 - 2
app/controller/financial_controller.js

@@ -177,7 +177,7 @@ module.exports = app => {
                     throw '该资金划拨信息不存在';
                 }
                 const transferTenderList = await ctx.service.financialTransferTender.getList(trid);
-                const tenders = await ctx.service.tender.getAllDataByCondition({ where: { spid: ctx.subProject.id } });
+                const tenders = await ctx.service.tender.getAllDataByCondition({ where: { spid: ctx.subProject.id, filter_fund: 0 } });
                 for (const tt of transferTenderList) {
                     const tenderIndex = ctx.helper._.findIndex(tenders, { id: tt.tid });
                     if (tenderIndex !== -1) {
@@ -596,7 +596,7 @@ module.exports = app => {
             const fptAuditTids = ctx.helper._.map(fptAudits, 'tid');
             const fptReportTids = ctx.helper._.map(ctx.helper._.filter(fptAudits, { is_report: 1 }), 'tid');
             const filterTids = tid === null ? (ctx.session.sessionUser.is_admin ? null : fptAuditTids) : [tid];
-            const tenderCondition = { spid: ctx.subProject.id };
+            const tenderCondition = { spid: ctx.subProject.id, filter_fund: 0 };
             let hadTender = false;
             if (ctx.session.sessionUser.is_admin) {
                 hadTender = true;

+ 5 - 0
app/controller/tender_controller.js

@@ -1441,6 +1441,11 @@ module.exports = app => {
                         return x.ledger_status === auditConst.ledger.status.checked && !!x.lastStage;
                     });
                 }
+                if (data.filter) {
+                    responseData.data.tenders = responseData.data.tenders.filter(x => {
+                        return !x[data.filter];
+                    })
+                }
                 ctx.body = responseData;
             } catch (err) {
                 this.log(err);

+ 1 - 1
app/middleware/budget_check.js

@@ -19,7 +19,7 @@ module.exports = options => {
      */
     return function* budgetCheck(next) {
         try {
-            if (!this.session.sessionProject.showBudget) {
+            if (!this.subProject.page_show.openBudget) {
                 throw '该功能已关闭或无法查看';
             }
             // 读取标段数据

+ 0 - 1
app/router.js

@@ -358,7 +358,6 @@ module.exports = app => {
     app.get('/sp/:id/construction/:tid/log/:lid/file/:fid/download', sessionAuth, subProjectCheck, constructionCheck, 'constructionController.downloadFile');
 
     // **概算投资/动态投资
-    // app.get('/budget', sessionAuth, 'budgetController.list');
     app.get('/sp/:id/budget', sessionAuth, subProjectCheck, budgetCheck, 'budgetController.budgetInfo');
     app.get('/sp/:id/budget/compare', sessionAuth, subProjectCheck, budgetCheck, 'budgetController.compare');
     app.post('/sp/:id/budget/compare/load', sessionAuth, subProjectCheck, budgetCheck, 'budgetController.compareLoad');

+ 1 - 1
app/service/tender.js

@@ -95,7 +95,7 @@ module.exports = app => {
             if (listStatus === 'manage') {
                 const userFilter = getAll ? '' : this.db.format(' And t.user_id = ? ', [session.sessionUser.accountId]);
                 // 管理页面只取属于自己创建的标段
-                sql = 'SELECT t.`id`, t.`project_id`, t.`name`, t.`status`, t.`category`, t.`ledger_times`, t.`ledger_status`, t.`measure_type`, t.`user_id`, t.`create_time`, t.`total_price`, t.`deal_tp`, t.`spid`,' +
+                sql = 'SELECT t.`id`, t.`project_id`, t.`name`, t.`status`, t.`category`, t.`ledger_times`, t.`ledger_status`, t.`measure_type`, t.`user_id`, t.`create_time`, t.`total_price`, t.`deal_tp`, t.`spid`, t.filter_budget, t.filter_fund' +
                     '    pa.`name` As `user_name`, pa.`role` As `user_role`, pa.`company` As `user_company` ' +
                     '  FROM ?? As t ' +
                     '  Left Join ?? As pa ' +

+ 4 - 0
sql/update.sql

@@ -67,6 +67,10 @@ MODIFY COLUMN `id` varchar(36) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NU
 ADD COLUMN `spid` varchar(36) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL DEFAULT '' COMMENT '子项目id' AFTER `pid`,
 ADD COLUMN `folder_id` int(11) NOT NULL DEFAULT 0 COMMENT '节点id' AFTER `name`;
 
+ALTER TABLE `zh_tender`
+ADD COLUMN `filter_budget` tinyint(4) UNSIGNED NOT NULL DEFAULT 0 COMMENT '动态投资-是否过滤' AFTER `spid`,
+ADD COLUMN `filter_fund` tinyint(4) UNSIGNED NOT NULL DEFAULT 0 COMMENT '资金监管-是否过滤' AFTER `filter_budget`;
+
 ------------------------------------
 -- 表数据
 ------------------------------------