'use strict'; /** * 用户权限相关常量 * * @author Ellisran * @date 2019/3/26 * @version */ const create_tender = { tzfj: 0, cjtzxd: 1, cjjlq: 2, cjgcbg: 3, }; const create_tender_group = []; create_tender_group[create_tender.tzfj] = '台账分解'; create_tender_group[create_tender.cjtzxd] = '创建台账修订'; create_tender_group[create_tender.cjjlq] = '创建计量期'; create_tender_group[create_tender.cjgcbg] = '创建工程变更'; // 权限管理页 const permission = { tender: { class: 'fa fa-list-ul', title: '标段管理', type: 'checkbox', children: [ { title: '创建标段', value: 1 }, { title: '查阅所有标段', value: 2 }, { title: '维护签约清单', value: 3, hint: '开启该选项,台账审批通过后,可上传签约清单', hintIcon: 'fa-question-circle' }, { title: '批量设置材差清单', value: 4, show: false, hint: '开启该选项,当前账号可设置允许调差的清单', hintIcon: 'fa-question-circle' }, { title: '变更意向', value: 5, show: false, hint: '开启该选项,变更立项可新建变更意向书', hintIcon: 'fa-question-circle' }, { title: '查看项目管理报表数据', value: 6, hint: '开启该选项,当前账号在报表下可查看项目管理数据', hintIcon: 'fa-question-circle' }, ], tips: '勾选「创建标段」该用户默认具有「新建标段」及标段内「台账分解」「创建台账修订」「创建计量期」「创建工程变更」的权限。', }, change: { class: 'fa fa-retweet', title: '工程变更', type: 'checkbox', children: [ { title: '变更意向', value: 1, hint: '开启该选项,变更立项可新建变更意向书', hintIcon: 'fa-question-circle' }, ], }, material: { class: 'fa fa-line-chart fa-fw', title: '材料调差', type: 'checkbox', children: [ { title: '批量设置材差清单', value: 1, hint: '开启该选项,当前账号可设置允许调差的清单', hintIcon: 'fa-question-circle' }, { title: '修改调差工料消耗量', value: 2, hint: '开启该选项,可在新材差期修改工料的消耗量', hintIcon: 'fa-question-circle' }, // { title: '修改材料税税率', value: 3, hint: '开启该选项,可在新材差期修改材料税税率', hintIcon: 'fa-question-circle' }, ], }, // cooperation: { // class: '', // title: '协作办公', // type: 'radio', // children: [ // { title: '启用', value: 1 }, // { title: '关闭', value: 0 }, // ], // tips: '启用「协作办公」,则该用户可以为他创建的标段添加其他用户进行协作办公。', // }, project_msg: { class: '', title: '发布项目通知', type: 'radio', children: [ { title: '启用', value: 1 }, { title: '关闭', value: 0 }, ], }, }; const PermissionCheck = { check: function (permission, key) { if (!permission) return false; switch (key) { case 'viewPmData': return permission && permission.tender ? permission.tender.indexOf('6') >= 0 : false; default: return false; } }, viewPmData: function (permission) { return this.check(permission, 'viewPmData'); }, }; module.exports = { tenderPermission: create_tender, tenderPermissionList: create_tender_group, permission, PermissionCheck, };