Browse Source

项目设置调整

MaiXinRong 2 months ago
parent
commit
3a2c9c3dd6

+ 5 - 5
app/base/base_controller.js

@@ -33,12 +33,12 @@ class BaseController extends Controller {
                     ctx.menu = menuList.budget;
                 }
             }
-            menuList.datacollect.display = ctx.session && ctx.session.sessionProject ? ctx.session.sessionProject.showDataCollect : false;
-            menuList.file.display = ctx.session && ctx.session.sessionProject ? ctx.session.sessionProject.page_show.openFile : false;
+            menuList.datacollect.display = ctx.subProject.showDataCollect || false;
+            menuList.file.display = ctx.subProject.page_show.openFile || false;
             // menuList.construction.display = ctx.session && ctx.session.sessionProject ? ctx.session.sessionProject.page_show.openConstruction : false;
-            menuList.contract.display = ctx.session && ctx.session.sessionProject ? ctx.session.sessionProject.page_show.openContract : false;
-            menuList.financial.display = ctx.session && ctx.session.sessionProject ? ctx.session.sessionProject.page_show.openFinancial : false;
-            menuList.budget.display = ctx.session && ctx.session.sessionProject ? ctx.session.sessionProject.showBudget : false;
+            menuList.contract.display = ctx.subProject.page_show.openContract || false;
+            menuList.financial.display = ctx.subProject.page_show.openFinancial || false;
+            menuList.budget.display = ctx.subProject.showBudget || false;
             for (const index in menuList) {
                 const im = menuList[index];
                 if (!im.url) {

+ 103 - 0
app/const/sp_page_show.js

@@ -0,0 +1,103 @@
+'use strict';
+
+/**
+ * 前台页面展示相关
+ *
+ * @author Ellisran
+ * @date
+ * @version
+ */
+
+//  { title: '打开项目管理系统', name: 'openManagement', value: pageStatus.show, type: 'checkbox' },
+const pageStatus = {
+    show: 1,
+    hide: 0,
+};
+// 模块管理开关
+const managerPageControl = [
+    { title: '决策大屏', name: 'openDataCollect', value: pageStatus.show, type: 'checkbox', tip: '开启后,前台配置用户权限后方可显示' },
+    { title: '合同管理', name: 'openContract', value: pageStatus.show, type: 'checkbox' },
+    { title: '资料归集', name: 'openFile', value: pageStatus.show, type: 'checkbox' },
+    { title: '动态投资', name: 'openBudget', value: pageStatus.show, type: 'checkbox', tip: '开启后,前台配置用户权限后方可显示' },
+    { title: '支付审批', name: 'openPayment', value: pageStatus.show, type: 'checkbox', tip: '开启后,前台配置用户权限后方可显示' },
+    { title: '资金监管', name: 'openFinancial', value: pageStatus.show, type: 'checkbox' },
+];
+// 标段功能开关
+const tenderPageControl = [
+    { title: '部位台帐', name: 'bwtz', value: pageStatus.show, type: 'checkbox', tip: '「部位台帐」显示在「0号台帐」以及「各期计量」侧栏菜单中', tipClass: '' },
+    { title: '其他台账', name: 'stageExtra', value: pageStatus.show, type: 'checkbox' },
+    { title: '合同支付独立审批', name: 'phasePay', value: pageStatus.show, type: 'checkbox' },
+    { title: '投资进度', name: 'xxjd', value: pageStatus.show, type: 'checkbox' },
+    { title: '材料调差', name: 'openMaterial', value: pageStatus.show, type: 'checkbox' },
+    { title: '过程结算', name: 'openSettle', value: pageStatus.show, type: 'checkbox' },
+    { title: '合同管理', name: 'openTenderContract', value: pageStatus.show, type: 'checkbox' },
+];
+// 报表相关开关
+const reportPageControl = [
+    { title: '关闭报表「导出PDF」', name: 'closeExportPdf', value: pageStatus.show, type: 'checkbox' },
+    { title: '关闭报表「导出Excel」', name: 'closeExportExcel', value: pageStatus.show, type: 'checkbox' },
+    { title: '关闭报表「水印」', name: 'closeWatermark', value: pageStatus.show, type: 'checkbox', tip: '审批未通过的计量期,报表将显示水印「审批未通过」', tipClass: '' },
+    { title: '关闭「定制报表」默认加载报表功能', name: 'closeShowAllCustomized', value: pageStatus.show, type: 'checkbox', tip: '关闭后,定制报表将默认不显示(用户定制选择除外)', tipClass: '' },
+    { title: '开启报表「跨标段批量签名」', name: 'openSign', value: pageStatus.show, type: 'checkbox' },
+    { title: '开启个人「签字」功能', name: 'individualSign', value: pageStatus.show, type: 'checkbox', tip: '签字仅可选择当前人账号,管理员账号可选择所有人', tipClass: '' },
+    { title: '开启签名「网证通电子签名」', name: 'openNetCaSign', value: pageStatus.show, type: 'checkbox' },
+    { title: '开启文本「签字」', name: 'isTextSignature', value: pageStatus.show, type: 'checkbox', tip: '开启后,所有签名将以文字代替图片', tipClass: '' },
+    { title: '开启「报表数据预设」', name: 'isPreset', value: pageStatus.show, type: 'checkbox', tip: '', tipClass: '' },
+    { title: '开启「审批完成过滤」', name: 'isOnlyChecked', value: pageStatus.show, type: 'checkbox', tip: '关闭后,「工程变更」将包含未上报、审批中等全部状态的数据,影响 开启「报表数据预设」', tipClass: '' },
+    { title: '开启「归档时不生成签字和签章」', name: 'closeArchiveSignature', value: pageStatus.show, type: 'checkbox', tip: '开启后,归档时所有报表的签名(名、章、文本等)都不显示', tipClass: '' },
+];
+// 功能设置页name名列表,功能设置需要设置的name必须添加到这个列表中,否则有可能清空数据
+const settingNameArray = (function(controlArr){
+    const result = [];
+    controlArr.forEach(control => {
+        const key = control.map(x => { return x.name; });
+        result.push(...key);
+    });
+})([managerPageControl, tenderPageControl]);
+
+
+// 设置默认值,同步前台的const/page_show.js文件
+const defaultSetting = {
+    bwtz: 0,
+    xxjd: 0,
+    openMaterial: 1,
+    stageExtra: 1,
+    phasePay: 0,
+    closeExportPdf: 0,
+    closeExportExcel: 0,
+    closeWatermark: 0,
+    closeShowAllCustomized: 0,
+    openSign: 0,
+    individualSign: 0,
+    openNetCaSign: 0,
+    isTextSignature: 0,
+    openChangeRevise: 1,
+    openMaterialTax: 0,
+    addDataCollect: 1,
+    closeWapYfSf: 0,
+    close1stStageCheckDealParam: 0,
+    openManagement: 0,
+    isPreset: 0,
+    isOnlyChecked: 1,
+    closeArchiveSignature: 0,
+    openSettle: 0,
+    openContractExpr: 0,
+    openMultiStageCalc: 0,
+    maxMultiStageCount: 5,
+    openDataCollect: 1,
+    openFile: 1,
+    openBudget: 1,
+    openPayment: 1,
+    openConstruction: 1,
+    openMaterialStageRepeat: 0,
+    openContract: 1,
+    openFinancial: 1,
+};
+
+module.exports = {
+    pageStatus,
+    managerPageControl,
+    tenderPageControl,
+    defaultSetting,
+    settingNameArray,
+};

+ 7 - 7
app/controller/dashboard_controller.js

@@ -32,14 +32,14 @@ module.exports = app => {
             const auditStages = await ctx.service.stageAudit.getAuditStage(ctx.session.sessionUser.accountId);
             const auditChanges = await ctx.service.changeAudit.getAuditChange(ctx.session.sessionUser.accountId);
             const auditRevise = await ctx.service.reviseAudit.getAuditRevise(ctx.session.sessionUser.accountId);
-            const auditMaterial = ctx.session.sessionProject.page_show.openMaterial ? await ctx.service.materialAudit.getAuditMaterial(ctx.session.sessionUser.accountId) : [];
+            const auditMaterial = ctx.subProject.page_show.openMaterial ? await ctx.service.materialAudit.getAuditMaterial(ctx.session.sessionUser.accountId) : [];
             const auditAdvance = await ctx.service.advanceAudit.getAuditAdvance(ctx.session.sessionUser.accountId);
             const auditChangeProject = ctx.subProject.page_show.openChangeProject ? await ctx.service.changeProjectAudit.getAuditChangeProject(ctx.session.sessionUser.accountId) : [];
             const auditChangeApply = ctx.subProject.page_show.openChangeApply ? await ctx.service.changeApplyAudit.getAuditChangeApply(ctx.session.sessionUser.accountId) : [];
             const auditChangePlan = ctx.subProject.page_show.openChangePlan ? await ctx.service.changePlanAudit.getAuditChangePlan(ctx.session.sessionUser.accountId) : [];
-            const auditPayments = ctx.session.sessionProject.page_show.openPayment ? await ctx.service.paymentDetailAudit.getAuditPayment(ctx.session.sessionUser.accountId) : [];
+            const auditPayments = ctx.subProject.page_show.openPayment ? await ctx.service.paymentDetailAudit.getAuditPayment(ctx.session.sessionUser.accountId) : [];
             const auditStageAss = await ctx.service.stageAuditAss.getAuditStageAss(ctx.session.sessionUser.accountId);
-            const auditFinancials = ctx.session.sessionProject.page_show.openFinancial ? await ctx.service.financialPayAudit.getAuditFinancial(ctx.session.sessionUser.accountId) : [];
+            const auditFinancials = ctx.subProject.page_show.openFinancial ? await ctx.service.financialPayAudit.getAuditFinancial(ctx.session.sessionUser.accountId) : [];
             const pa = await ctx.service.projectAccount.getDataById(ctx.session.sessionUser.accountId);
             const noticeList = await ctx.service.noticePush.getNotice(ctx.session.sessionProject.id, pa.id);
             const projectData = await ctx.service.project.getDataById(ctx.session.sessionProject.id);
@@ -67,8 +67,8 @@ module.exports = app => {
             if (ctx.subProject.page_show.openChangeProject) shenpi_count.push({ count: await ctx.service.changeProjectAudit.getCountByChecked(ctx.session.sessionUser.accountId), name: '变更立项' });
             if (ctx.subProject.page_show.openChangeApply) shenpi_count.push({ count: await ctx.service.changeApplyAudit.getCountByChecked(ctx.session.sessionUser.accountId), name: '变更申请' });
             if (ctx.subProject.page_show.openChangePlan) shenpi_count.push({ count: await ctx.service.changePlanAudit.getCountByChecked(ctx.session.sessionUser.accountId), name: '变更方案' });
-            if (ctx.session.sessionProject.page_show.openMaterial) shenpi_count.push({ count: await ctx.service.materialAudit.getCountByChecked(ctx.session.sessionUser.accountId), name: '材料调差' });
-            if (ctx.session.sessionProject.page_show.openFinancial) shenpi_count.push({ count: await ctx.service.financialPayAudit.getCountByChecked(ctx.session.sessionUser.accountId), name: '资金支付' });
+            if (ctx.subProject.page_show.openMaterial) shenpi_count.push({ count: await ctx.service.materialAudit.getCountByChecked(ctx.session.sessionUser.accountId), name: '材料调差' });
+            if (ctx.subProject.page_show.openFinancial) shenpi_count.push({ count: await ctx.service.financialPayAudit.getCountByChecked(ctx.session.sessionUser.accountId), name: '资金支付' });
             // shenpi_count.push({ count: await ctx.service.advanceAudit.getCountByChecked(ctx.session.sessionUser.accountId), name: '预付款' });
             const total_count = ctx.app._.sumBy(shenpi_count, 'count');
             const shenpi_lastime = [
@@ -80,8 +80,8 @@ module.exports = app => {
                 ctx.subProject.page_show.openChangeProject ? await ctx.service.changeProjectAudit.getLastEndTimeByChecked(ctx.session.sessionUser.accountId) : null,
                 ctx.subProject.page_show.openChangeApply ? await ctx.service.changeApplyAudit.getLastEndTimeByChecked(ctx.session.sessionUser.accountId) : null,
                 ctx.subProject.page_show.openChangePlan ? await ctx.service.changePlanAudit.getLastEndTimeByChecked(ctx.session.sessionUser.accountId) : null,
-                ctx.session.sessionProject.page_show.openMaterial ? await ctx.service.materialAudit.getLastEndTimeByChecked(ctx.session.sessionUser.accountId) : null,
-                ctx.session.sessionProject.page_show.openFinancial ? await ctx.service.financialPayAudit.getLastEndTimeByChecked(ctx.session.sessionUser.accountId) : null,
+                ctx.subProject.page_show.openMaterial ? await ctx.service.materialAudit.getLastEndTimeByChecked(ctx.session.sessionUser.accountId) : null,
+                ctx.subProject.page_show.openFinancial ? await ctx.service.financialPayAudit.getLastEndTimeByChecked(ctx.session.sessionUser.accountId) : null,
             ];
             const last_time = ctx.app._.max(shenpi_lastime);
             // console.log(ctx.app._.max(shenpi_lastime), ctx.helper.calcDayNum(last_time));

+ 1 - 1
app/controller/datacollect_controller.js

@@ -47,7 +47,7 @@ module.exports = app => {
          */
         async index(ctx) {
             try {
-                if (!ctx.session.sessionProject.showDataCollect) {
+                if (!ctx.subProject.showDataCollect) {
                     throw '该功能已关闭或无法查看';
                 }
                 // 获取标段审批信息

+ 1 - 1
app/controller/file_controller.js

@@ -31,7 +31,7 @@ module.exports = app => {
          */
         async index(ctx) {
             try {
-                if (!ctx.session.sessionProject.page_show.openFile) {
+                if (!ctx.subProject.page_show.openFile) {
                     throw '该功能已关闭或无法查看';
                 }
                 const renderData = {

+ 6 - 6
app/controller/material_controller.js

@@ -46,7 +46,7 @@ module.exports = app => {
          */
         async index(ctx) {
             try {
-                if (!ctx.session.sessionProject.page_show.openMaterial) {
+                if (!ctx.subProject.page_show.openMaterial) {
                     throw '该功能已关闭';
                 }
                 // 列展示
@@ -143,7 +143,7 @@ module.exports = app => {
          */
         async materialAuditors(ctx) {
             try {
-                if (!ctx.session.sessionProject.page_show.openMaterial) {
+                if (!ctx.subProject.page_show.openMaterial) {
                     throw '该功能已关闭';
                 }
                 const order = JSON.parse(ctx.request.body.data).order;
@@ -165,7 +165,7 @@ module.exports = app => {
          */
         async save(ctx) {
             try {
-                if (!ctx.session.sessionProject.page_show.openMaterial) {
+                if (!ctx.subProject.page_show.openMaterial) {
                     throw '该功能已关闭';
                 }
                 const data = {
@@ -197,7 +197,7 @@ module.exports = app => {
          */
         async saveData(ctx) {
             try {
-                if (!ctx.session.sessionProject.page_show.openMaterial) {
+                if (!ctx.subProject.page_show.openMaterial) {
                     throw '该功能已关闭';
                 }
                 const data = JSON.parse(ctx.request.body.data);
@@ -226,7 +226,7 @@ module.exports = app => {
          */
         async add(ctx) {
             try {
-                if (!ctx.session.sessionProject.page_show.openMaterial) {
+                if (!ctx.subProject.page_show.openMaterial) {
                     throw '该功能已关闭';
                 }
                 if (ctx.session.sessionUser.accountId !== ctx.tender.data.user_id) {
@@ -266,7 +266,7 @@ module.exports = app => {
          */
         async delete(ctx) {
             try {
-                if (!ctx.session.sessionProject.page_show.openMaterial) {
+                if (!ctx.subProject.page_show.openMaterial) {
                     throw '该功能已关闭';
                 }
                 const material_id = ctx.request.body.material_id;

+ 1 - 1
app/controller/sub_proj_setting_controller.js

@@ -410,7 +410,7 @@ module.exports = app => {
         async dataCollect(ctx) {
             try {
                 this.defaultCheck(ctx);
-                if (!ctx.session.sessionProject.page_show.openDataCollect) {
+                if (!ctx.subProject.page_show.openDataCollect) {
                     throw '该功能已关闭或无法查看';
                 }
                 ctx.subProject.data_collect_pages = ctx.subProject.data_collect_pages ? ctx.subProject.data_collect_pages.split(',') : [];

+ 1 - 1
app/controller/tender_controller.js

@@ -628,7 +628,7 @@ module.exports = app => {
                     renderData.accountList = accountList;
                     renderData.accountGroup = accountGroupList;
                 }
-                if (ctx.session.sessionProject.page_show.xxjd && ctx.session.sessionUser.is_admin) {
+                if (ctx.subProject.page_show.xxjd && ctx.session.sessionUser.is_admin) {
                     // 投资进度内容
                     renderData.scheduleAuditList = await ctx.service.scheduleAudit.getAllDataByCondition({ where: { tid: tender.id } });
                     renderData.scPermission = scheduleConst.permission;

+ 1 - 1
app/middleware/financial_check.js

@@ -26,7 +26,7 @@ module.exports = options => {
             if (!this.subProject) {
                 throw '项目不存在';
             }
-            if (!this.session.sessionProject.page_show.openFinancial) {
+            if (!this.subProject.page_show.openFinancial) {
                 throw '该功能已关闭或无法查看';
             }
             // const spid = this.params.spid;

+ 1 - 1
app/middleware/financial_pay_check.js

@@ -25,7 +25,7 @@ module.exports = options => {
     return function* financialPayCheck(next) {
         try {
             if (!this.subProject) throw '项目不存在';
-            if (!this.session.sessionProject.page_show.openFinancial) {
+            if (!this.subProject.page_show.openFinancial) {
                 throw '该功能已关闭或无法查看';
             }
             const fpid = this.params.fpid;

+ 1 - 1
app/middleware/material_check.js

@@ -33,7 +33,7 @@ module.exports = options => {
      */
     return function* materialCheck(next) {
         try {
-            if (!this.session.sessionProject.page_show.openMaterial) {
+            if (!this.subProject.page_show.openMaterial) {
                 throw '该功能已关闭';
             }
             // 读取标段数据

+ 1 - 1
app/middleware/tender_check.js

@@ -87,7 +87,7 @@ module.exports = options => {
             const changePlanAuditorsId = this.helper._.map(changePlanAuditors, 'aid');
             const tenderPermission = this.session.sessionUser.permission ? this.session.sessionUser.permission.tender : null;
             const isTenderTourist = yield this.service.tenderTourist.getDataByCondition({ tid: tender.id, user_id: accountId });
-            const scheduleUser = this.session.sessionProject.page_show.xxjd ? yield this.service.scheduleAudit.getDataByCondition({ tid: tender.id, audit_id: this.session.sessionUser.accountId }) : [];
+            const scheduleUser = subProject.page_show.xxjd ? yield this.service.scheduleAudit.getDataByCondition({ tid: tender.id, audit_id: this.session.sessionUser.accountId }) : [];
             // 判断访问人是否具有游客身份
             tender.isTourist = isTenderTourist !== null;
             // 游客权限

+ 1 - 1
app/service/sub_project.js

@@ -21,7 +21,7 @@ const defaultFunRela = {
 };
 const funSet = require('../const/fun_set');
 const defaultFunSet = funSet.defaultInfo;
-const pageShowConst = require('../const/page_show').defaultSetting;
+const pageShowConst = require('../const/sp_page_show').defaultSetting;
 
 module.exports = app => {
     class SubProject extends app.BaseService {

+ 1 - 1
app/service/tender.js

@@ -123,7 +123,7 @@ module.exports = app => {
                     '        t.id IN ( SELECT cpla.`tid` FROM ' + this.ctx.service.changePlanAudit.tableName + ' AS cpla WHERE cpla.`aid` = ' + session.sessionUser.accountId + ' GROUP BY cpla.`tid`))' : '';
                 const changeProjectXsSql = this.ctx.subProject.page_show.openChangeProject ? '    OR (t.`ledger_status` = ' + auditConst.ledger.status.checked + ' AND ' +
                     '        t.id IN ( SELECT cpxa.`tid` FROM ' + this.ctx.service.changeProjectXsAudit.tableName + ' AS cpxa WHERE cpxa.`aid` = ' + session.sessionUser.accountId + ' GROUP BY cpxa.`tid`))' : '';
-                const xxjdSql = session.sessionProject.page_show.xxjd ? '    OR (t.id IN ( SELECT xxjd.`tid` FROM ' + this.ctx.service.scheduleAudit.tableName + ' AS xxjd WHERE xxjd.`permission` != 0 AND xxjd.`audit_id` = ' + session.sessionUser.accountId + ' GROUP BY xxjd.`tid`))' : '';
+                const xxjdSql = this.ctx.subProject.page_show.xxjd ? '    OR (t.id IN ( SELECT xxjd.`tid` FROM ' + this.ctx.service.scheduleAudit.tableName + ' AS xxjd WHERE xxjd.`permission` != 0 AND xxjd.`audit_id` = ' + session.sessionUser.accountId + ' GROUP BY xxjd.`tid`))' : '';
                 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`,' +
                     '    pa.`name` As `user_name`, pa.`role` As `user_role`, pa.`company` As `user_company` ' +
                     // '  FROM ?? As t, ?? As pa ' +

+ 9 - 9
app/view/dashboard/index.ejs

@@ -63,13 +63,13 @@
                                     <% if (ctx.subProject.page_show.openChangePlan && auditChangePlan.length !== 0) { %>
                                         <option value="9">变更方案(<%- auditChangePlan.length %>)</option>
                                     <% } %>
-                                    <% if (ctx.session.sessionProject.page_show.openMaterial && auditMaterial.length !== 0) { %>
+                                    <% if (ctx.subProject.page_show.openMaterial && auditMaterial.length !== 0) { %>
                                     <option value="1">材料调差(<%- auditMaterial.length %>)</option>
                                     <% } %>
-                                    <% if (ctx.session.sessionProject.page_show.openPayment && auditPayments.length !== 0) { %>
+                                    <% if (ctx.subProject.page_show.openPayment && auditPayments.length !== 0) { %>
                                         <option value="10">支付审批(<%- auditPayments.length %>)</option>
                                     <% } %>
-                                    <% if (ctx.session.sessionProject.page_show.openFinancial && auditFinancials.length !== 0) { %>
+                                    <% if (ctx.subProject.page_show.openFinancial && auditFinancials.length !== 0) { %>
                                         <option value="11">资金支付(<%- auditFinancials.length %>)</option>
                                     <% } %>
                                 </select>
@@ -401,10 +401,10 @@
                                     <% if (ctx.subProject.page_show.openChangePlan) { %>
                                         <option value="9">变更方案</option>
                                     <% } %>
-                                    <% if (ctx.session.sessionProject.page_show.openMaterial) { %>
+                                    <% if (ctx.subProject.page_show.openMaterial) { %>
                                         <option value="1">材料调差</option>
                                     <% } %>
-                                    <% if (ctx.session.sessionProject.page_show.openFinancial) { %>
+                                    <% if (ctx.subProject.page_show.openFinancial) { %>
                                         <option value="11">资金支付</option>
                                     <% } %>
                                 </select>
@@ -443,7 +443,7 @@
                                                     <td class="<%- acStage.statusClass[notice.status]%>"><%- acStage.statusString[notice.status]%></td>
                                                     <td><%- notice.opinion ? notice.opinion : '' %></td>
                                                 </tr>
-                                            <% } else if(notice.type === pushType.material && ctx.session.sessionProject.page_show.openMaterial) { %>
+                                            <% } else if(notice.type === pushType.material && ctx.subProject.page_show.openMaterial) { %>
                                                 <tr data-type="1">
                                                     <td><span class="bg-new-material text-new-material badge text-width">材料调差</span></td>
                                                     <td><a href="/tender/<%- notice.tid %>"><%- notice.name %></a> <a href="/tender/<%- notice.tid %>/measure/material/<%- notice.order %>">第<%- notice.order %>期</a></td>
@@ -523,7 +523,7 @@
                                                     <td class="<%- acAdvance.statusClass[notice.status]%>"><%- acAdvance.statusString[notice.status]%></td>
                                                     <td><%- notice.opinion ? notice.opinion : '' %></td>
                                                 </tr>
-                                            <% } else if(notice.type === pushType.financial && ctx.session.sessionProject.page_show.openFinancial) { %>
+                                            <% } else if(notice.type === pushType.financial && ctx.subProject.page_show.openFinancial) { %>
                                                 <tr data-type="11">
                                                     <td><span class="bg-new-financial text-new-financial badge text-width">资金支付</span></td>
                                                     <td><a href="/sp/<%- notice.spid %>/financial/pay"><%- notice.name %></a> <a href="/sp/<%- notice.spid %>/financial/pay/<%- notice.fpid %>/detail"><%- notice.code %></a></td>
@@ -664,10 +664,10 @@
             <% if (ctx.subProject.page_show.openChangePlan) { %>
             'rgba(114, 46, 209,'+ transparentCount +')',
             <% } %>
-            <% if (ctx.session.sessionProject.page_show.openMaterial) { %>
+            <% if (ctx.subProject.page_show.openMaterial) { %>
             'rgba(187, 41, 210,'+ transparentCount +')',
             <% } %>
-            <% if (ctx.session.sessionProject.page_show.openFinancial) { %>
+            <% if (ctx.subProject.page_show.openFinancial) { %>
             'rgba(58, 88, 50,'+ transparentCount +')',
             <% } %>
         ],

+ 1 - 1
app/view/measure/stage.ejs

@@ -7,7 +7,7 @@
                 期列表
             </h2>
             <div class="ml-auto">
-                <% if (ctx.session.sessionProject.page_show.openSettle) { %>
+                <% if (ctx.subProject.page_show.openSettle) { %>
                 <a href="/tender/<%= ctx.tender.id %>/settle" class="btn btn-primary btn-sm">计量结算</a>
                 <% } %>
                 <% if ((ctx.session.sessionUser.accountId === ctx.tender.data.user_id || ctx.tender.userAssistsId.indexOf(ctx.session.sessionUser.accountId) >= 0) && ctx.tender.data.ledger_status === auditConst.status.checked) { %>

+ 1 - 1
app/view/sp_setting/fun.ejs

@@ -246,7 +246,7 @@
                                     </div>
                                 </div>
                             </div>
-                            <div class="col-6" <% if (!ctx.session.sessionProject.page_show.openMaterial) { %>style="display: none;"<% } %>>
+                            <div class="col-6" <% if (!ctx.subProject.page_show.openMaterial) { %>style="display: none;"<% } %>>
                                 <div class="card mb-3">
                                     <div class="card-header d-flex justify-content-between">
                                         <div>材料调差</div>

+ 3 - 3
app/view/stage/stage_sub_menu.ejs

@@ -24,7 +24,7 @@
             </ul>
         </div>
         <% } %>
-        <% if (ctx.session.sessionProject.page_show.stageExtra) { %>
+        <% if (ctx.subProject.page_show.stageExtra) { %>
         <div class="nav-box">
             <ul class="nav-list list-unstyled">
                 <li class="<% if (ctx.url === '/tender/' + ctx.tender.id + '/measure/stage/' + ctx.stage.order + '/extra/jgcl') { %>active<% } %>">
@@ -33,7 +33,7 @@
             </ul>
         </div>
         <% } %>
-        <% if (!ctx.session.sessionProject.page_show.phasePay) { %>
+        <% if (!ctx.subProject.page_show.phasePay) { %>
         <div class="nav-box">
             <ul class="nav-list list-unstyled">
                 <li class="<% if (ctx.url === '/tender/' + ctx.tender.id + '/measure/stage/' + ctx.stage.order + '/pay') { %>active<% } %>">
@@ -42,7 +42,7 @@
             </ul>
         </div>
         <% } %>
-        <% if (ctx.tender.data.measure_type === 1 && ctx.session.sessionProject.page_show.bwtz) { %>
+        <% if (ctx.tender.data.measure_type === 1 && ctx.subProject.page_show.bwtz) { %>
         <div class="nav-box">
             <ul class="nav-list list-unstyled">
                 <li class="<% if (ctx.url === '/tender/' + ctx.tender.id + '/measure/stage/' + ctx.stage.order + '/bwtz') { %>active<% } %>">

+ 2 - 2
app/view/stage/stage_sub_mini_menu.ejs

@@ -26,7 +26,7 @@
             </ul>
         </div>
         <% } %>
-        <% if (ctx.session.sessionProject.page_show.stageExtra) { %>
+        <% if (ctx.subProject.page_show.stageExtra) { %>
         <div class="nav-box">
             <ul class="nav-list list-unstyled">
                 <li class="<% if (ctx.url === '/tender/' + ctx.tender.id + '/measure/stage/' + ctx.stage.order + '/extra/jgcl') { %>active<% } %>">
@@ -42,7 +42,7 @@
                 </li>
             </ul>
         </div>
-        <% if (ctx.session.sessionProject.page_show.bwtz) { %>
+        <% if (ctx.subProject.page_show.bwtz) { %>
         <div class="nav-box">
             <ul class="nav-list list-unstyled">
                 <li class="<% if (ctx.url === '/tender/' + ctx.tender.id + '/measure/stage/' + ctx.stage.order + '/bwtz') { %>active<% } %>">

+ 1 - 1
app/view/tender/detail.ejs

@@ -64,7 +64,7 @@
                             管理员
                         </a>
                         <div class="dropdown-menu" aria-labelledby="dropdownMenuLink">
-                            <% if (ctx.session.sessionProject.page_show !== null && parseInt(ctx.session.sessionProject.page_show.xxjd) === 1) { %>
+                            <% if (parseInt(ctx.subProject.page_show.xxjd) === 1) { %>
                                 <a href="#xxjd-set" data-toggle="modal" data-target="#xxjd-set" class="dropdown-item">投资进度</a>
                             <% } %>
                             <a href="/tender/<%- tender.id %>/shenpi" class="dropdown-item">审批流程</a>

+ 1 - 1
app/view/tender/detail_modal.ejs

@@ -3016,7 +3016,7 @@
         })
     </script>
 <% } %>
-<% if (ctx.session.sessionProject.page_show.xxjd && ctx.session.sessionUser.is_admin) { %>
+<% if (ctx.subProject.page_show.xxjd && ctx.session.sessionUser.is_admin) { %>
     <!--标段设置-投资进度-->
     <div class="modal fade" id="xxjd-set" data-backdrop="static">
         <div class="modal-dialog" role="document">

+ 4 - 4
app/view/tender/tender_sub_menu.ejs

@@ -18,7 +18,7 @@
             <h3><i class="fa fa-list-alt fa-fw"></i> 0号台账</h3>
             <ul class="nav-list list-unstyled sub-list">
                 <li <% if (ctx.url === '/tender/' + ctx.tender.id + '/ledger') { %>class="active"<% } %>><a href="/tender/<%- ctx.tender.id %>/ledger"><span>台账分解</span></a></li>
-                <% if (ctx.tender.data.measure_type === 1 && ctx.session.sessionProject.page_show !== null && parseInt(ctx.session.sessionProject.page_show.bwtz) === 1) { %>
+                <% if (ctx.tender.data.measure_type === 1 && ctx.subProject.page_show.bwtz) { %>
                 <li <% if (ctx.url === '/tender/' + ctx.tender.id + '/ledger/bwtz') { %>class="active"<% } %>><a href="/tender/<%- ctx.tender.id %>/ledger/bwtz"><span>部位台账</span></a></li>
                 <% } %>
                 <li <% if (ctx.url === '/tender/' + ctx.tender.id + '/ledger/gather') { %>class="active"<% } %>><a href="/tender/<%- ctx.tender.id %>/ledger/gather"><span>清单对比</span></a></li>
@@ -33,7 +33,7 @@
             </ul>
         </div>
         <div class="nav-box">
-            <% if (ctx.session.sessionProject.page_show.phasePay) { %>
+            <% if (ctx.subProject.page_show.phasePay) { %>
             <ul class="nav-list list-unstyled">
                 <li <% if (ctx.url.indexOf('/tender/' + ctx.tender.id + '/pay') !== -1) { %>class="active"<% } %>><a href="/tender/<%- ctx.tender.id %>/pay" class="h3"><i class="fa fa-pie-chart fa-fw"></i> <span>合同支付</span></a></li>
             </ul>
@@ -54,14 +54,14 @@
             </ul>
             <% } %>
         </div>
-        <% if (ctx.session.sessionProject.page_show.openMaterial) { %>
+        <% if (ctx.subProject.page_show.openMaterial) { %>
         <div class="nav-box">
             <ul class="nav-list list-unstyled">
                 <li <% if (ctx.url === '/tender/' + ctx.tender.id + '/measure/material') { %>class="active"<% } %>><a href="/tender/<%- ctx.tender.id %>/measure/material" class="h3"><i class="fa fa-line-chart fa-fw"></i> <span>材料调差</span></a></li>
             </ul>
         </div>
         <% } %>
-        <% if (ctx.session.sessionProject.page_show.xxjd && (ctx.tender.schedule_permission !== 0 || ctx.tender.isTourist)) { %>
+        <% if (ctx.subProject.page_show.xxjd && (ctx.tender.schedule_permission !== 0 || ctx.tender.isTourist)) { %>
         <div class="nav-box">
             <h3><i class="fa fa-bar-chart fa-fw"></i> 投资进度</h3>
             <ul class="nav-list list-unstyled sub-list">

+ 3 - 3
app/view/tender/tender_sub_mini_menu.ejs

@@ -21,7 +21,7 @@
             <h3><i class="fa fa-list-alt fa-fw"></i> 0号台账</h3>
             <ul class="nav-list list-unstyled sub-list">
                 <li <% if (ctx.url === '/tender/' + ctx.tender.id + '/ledger') { %>class="active"<% } %>><a href="/tender/<%- ctx.tender.id %>/ledger"><span>台账分解</span></a></li>
-                <% if (ctx.session.sessionProject.page_show !== null && parseInt(ctx.session.sessionProject.page_show.bwtz) === 1) { %><li <% if (ctx.url === '/tender/' + ctx.tender.id + '/ledger/bwtz') { %>class="active"<% } %>><a href="/tender/<%- ctx.tender.id %>/ledger/bwtz"><span>部位台账</span></a></li><% } %>
+                <% if (ctx.subProject.page_show.bwtz) { %><li <% if (ctx.url === '/tender/' + ctx.tender.id + '/ledger/bwtz') { %>class="active"<% } %>><a href="/tender/<%- ctx.tender.id %>/ledger/bwtz"><span>部位台账</span></a></li><% } %>
                 <li <% if (ctx.url === '/tender/' + ctx.tender.id + '/ledger/gather') { %>class="active"<% } %>><a href="/tender/<%- ctx.tender.id %>/ledger/gather"><span>清单对比</span></a></li>
                 <li <% if (ctx.url.indexOf('/tender/' + ctx.tender.id + '/revise') >= 0) { %>class="active"<% } %>><a href="/tender/<%- ctx.tender.id %>/revise"><span>台账修订</span></a></li>
             </ul>
@@ -48,14 +48,14 @@
                 </ul>
             <% } %>
         </div>
-        <% if (ctx.session.sessionProject.page_show.openMaterial) { %>
+        <% if (ctx.subProject.page_show.openMaterial) { %>
         <div class="nav-box">
             <ul class="nav-list list-unstyled">
                 <li <% if (ctx.url === '/tender/' + ctx.tender.id + '/measure/material') { %>class="active"<% } %>><a href="/tender/<%- ctx.tender.id %>/measure/material" class="h3"><i class="fa fa-line-chart fa-fw"></i> <span>材料调差</span></a></li>
             </ul>
         </div>
         <% } %>
-        <% if (ctx.session.sessionProject.page_show.xxjd && (ctx.tender.schedule_permission !== 0 || ctx.tender.isTourist)) { %>
+        <% if (ctx.subProject.page_show.xxjd && (ctx.tender.schedule_permission !== 0 || ctx.tender.isTourist)) { %>
             <div class="nav-box">
                 <h3><i class="fa fa-bar-chart fa-fw"></i> 投资进度</h3>
                 <ul class="nav-list list-unstyled sub-list">