Explorar o código

台账修订相关

MaiXinRong hai 6 días
pai
achega
e4c16d7462

+ 3 - 3
app/controller/revise_controller.js

@@ -105,9 +105,9 @@ module.exports = app => {
                 // 分页相关
                 const user = await this.ctx.service.projectAccount.getDataById(ctx.session.sessionUser.accountId);
                 const condition = { tid: ctx.tender.id };
-                if (!user.show_revise_invalid) condition.valid = 1;
+                if (user && !user.show_revise_invalid) condition.valid = 1;
                 const count = await ctx.service.ledgerRevise.count(condition);
-                const ledgerRevise = await ctx.service.ledgerRevise.getReviseList(ctx.tender.id, user.show_revise_invalid);
+                const ledgerRevise = await ctx.service.ledgerRevise.getReviseList(ctx.tender.id, user ? user.show_revise_invalid : 0);
                 if (ledgerRevise.length > 0) {
                     const revise = ledgerRevise[0];
                     if (ctx.page === 1) {
@@ -148,7 +148,7 @@ module.exports = app => {
                     auditConst2: JSON.stringify(audit.revise),
                     stdBills,
                     stdChapters,
-                    show_invalid: user.show_revise_invalid,
+                    show_invalid: user ? user.show_revise_invalid : 0,
                 };
                 await this.layout('revise/index.ejs', renderData, 'revise/modal.ejs');
             } catch (err) {

+ 1 - 1
app/middleware/revise_check.js

@@ -35,7 +35,7 @@ module.exports = options => {
                 const auditorsId = this.helper._.map(auditors, 'audit_id');
                 revise.reviseUsers.push(...auditorsId);
             }
-            if (revise.reviseUsers.indexOf(this.session.sessionUser.accountId) < 0) throw '您无权查看该数据';
+            if (revise.reviseUsers.indexOf(this.session.sessionUser.accountId) < 0 && this.session.sessionUser.loginType !== 4) throw '您无权查看该数据';
             revise.readOnly = revise.uid !== this.session.sessionUser.accountId ||
                 revise.status === auditConst.status.checking || revise.status === auditConst.status.checked;
             revise.priceCount = yield this.service.revisePrice.count({ rid: revise.id });

+ 16 - 15
app/service/sub_proj_permission.js

@@ -128,21 +128,6 @@ module.exports = app => {
 
         get adminPermission () {
             return {
-                budget_permission: [this.PermissionConst.budget.view],
-                file_permission: [this.PermissionConst.file.view],
-                manage_permission: [this.PermissionConst.manage.view],
-                filing_type: 'all',
-                info_permission: [this.PermissionConst.info.view],
-                datacollect_permission: [this.PermissionConst.datacollect.view],
-                contract_permission: [this.PermissionConst.contract.view],
-                fund_pay_permission: [this.PermissionConst.fund_pay.view],
-                fund_trans_permission: [this.PermissionConst.fund_trans.view],
-                payment_permission: [this.PermissionConst.payment.view],
-            }
-        }
-
-        get touristPermission () {
-            return {
                 budget_permission: this.ctx.helper.mapAllSubField(this.PermissionConst.budget, 'value'),
                 file_permission: this.ctx.helper.mapAllSubField(this.PermissionConst.file, 'value'),
                 manage_permission: this.ctx.helper.mapAllSubField(this.PermissionConst.manage, 'value'),
@@ -156,6 +141,21 @@ module.exports = app => {
             }
         }
 
+        get touristPermission () {
+            return {
+                budget_permission: [this.PermissionConst.budget.view.value],
+                file_permission: [this.PermissionConst.file.view.value],
+                manage_permission: [this.PermissionConst.manage.view.value],
+                filing_type: 'all',
+                info_permission: [this.PermissionConst.info.view.value],
+                datacollect_permission: [this.PermissionConst.datacollect.view.value],
+                contract_permission: [this.PermissionConst.contract.view.value],
+                fund_pay_permission: [this.PermissionConst.fund_pay.view.value],
+                fund_trans_permission: [this.PermissionConst.fund_trans.view.value],
+                payment_permission: [this.PermissionConst.payment.view.value],
+            }
+        }
+
         async showSubTab(uid, type, spid = '') {
             const spidSql = spid ? ` AND spid = "${spid}"` : '';
             const sql = `SELECT count(*) as count FROM ${this.tableName} WHERE ${type}_permission <> '' AND uid = ?` + spidSql;
@@ -440,6 +440,7 @@ module.exports = app => {
             } else {
                 const viewPermission = permissionBlock.permission.find(x => { return x.key === 'view'; });
                 if (!viewPermission) return true;
+                console.log(viewPermission, ctx.subProject.permission);
                 return ctx.subProject.permission[permissionBlock.field].indexOf(viewPermission.value) >= 0;
             }
         };