Commit ba0d880ca815a2d1be22e7e7440039de36018900

Authored by 李小慧
1 parent e229e848
Exists in charge

feat: 审核按钮权限控制

pages/charge/visitsAndFees/index.vue
... ... @@ -67,7 +67,7 @@
67 67 <view class="margin-left-sm">
68 68 <zb-popover placement="bottom-start" theme="dark" ref="Popover1" class="item-popover">
69 69 <view slot="content" class="popoverCss">
70   - <view class="" v-if="item.statusCode === 'APPROVED' && item.publishStatus === 'APPROVED' && item.isCharged === 'Y'">
  70 + <view class="" v-if="publishChangePermission(item)">
71 71 <view class="margin-tb-xs" @click="dataChange(item)">数据异动</view>
72 72 <u-line></u-line>
73 73 </view>
... ... @@ -75,11 +75,11 @@
75 75 <view class="margin-tb-xs" @click="processFlow(item)">处理流程</view>
76 76 <u-line></u-line>
77 77 </view>
78   - <view class="" v-if="item.statusCode === 'APPROVED' && item.publishStatus === 'APPROVED'">
  78 + <view class="" v-if="!!item.modificationStatus">
79 79 <view class="margin-tb-xs" @click="changeFlow(item)">异动记录</view>
80 80 <u-line></u-line>
81 81 </view>
82   - <view class="" v-if="item.statusCode === 'APPROVED' && item.publishStatus === 'APPROVED'">
  82 + <view class="" v-if="cancelPermission(item)">
83 83 <view class="margin-tb-xs text-center" @click="giveUpVoid(item)">作废</view>
84 84 <u-line></u-line>
85 85 </view>
... ... @@ -87,16 +87,16 @@
87 87 <u-button shape="circle">更多操作</u-button>
88 88 </zb-popover>
89 89 </view>
90   - <view class="margin-left-sm" @click="handleEdit(item)" v-if="item.statusCode === 'EDITING' && $checkPermi(['schsf:mcVisit:edit'])">
  90 + <view class="margin-left-sm" @click="handleEdit(item)" v-if="editPermission(item)">
91 91 <u-button shape="circle" type="primary">修改</u-button>
92 92 </view>
93 93 <view class="margin-left-sm" @click="handleDetail(item)" >
94 94 <u-button shape="circle">查看详情</u-button>
95 95 </view>
96   - <view class="margin-left-sm" @click="handleRefuse(item)" v-if="item.statusCode === 'APPROVE' && $checkPermi(['schsf:mcVisit:ticket_submitAuditOne'])">
  96 + <view class="margin-left-sm" @click="handleRefuse(item)" v-if="auditPermission(item)">
97 97 <u-button shape="circle">拒绝</u-button>
98 98 </view>
99   - <view class="margin-left-sm" @click="handleAgree(item)" v-if="item.statusCode === 'APPROVE' && $checkPermi(['schsf:mcVisit:ticket_submitAuditOne'])">
  99 + <view class="margin-left-sm" @click="handleAgree(item)" v-if="auditPermission(item)">
100 100 <u-button shape="circle" color="#CF000D">同意</u-button>
101 101 </view>
102 102 </view>
... ... @@ -107,11 +107,11 @@
107 107 <u-loadmore :status="status" v-if="list.length > 0" />
108 108 <u-empty text="暂无资讯" icon="/static/images/icon/nodata.png" v-else></u-empty>
109 109  
110   - <view class="fixBtnCss" @click="createaVisit">
  110 + <view v-if="$checkPermi(['schsf:mcVisit:add'])" class="fixBtnCss" @click="createaVisit">
111 111 <u-icon name="plus" color="#fff" size="30"></u-icon>
112 112 </view>
113 113 <popUpComponent :title="titles" :modificationStatus="modificationStatus" :publishID="publishID" :publishStatus="publishStatus" ref="popUpComponentRef"
114   - @getList="initData">
  114 + @getList="refreshList">
115 115 </popUpComponent>
116 116 <u-popup ref="bhPopup"></u-popup>
117 117 <u-popup ref="bhPopup" :show="zfShow">
... ... @@ -220,6 +220,33 @@
220 220 this.initData();
221 221 },
222 222 methods: {
  223 + // 修改按钮权限
  224 + editPermission(item) {
  225 + const { statusCode } = item
  226 + return statusCode === 'EDITING' && this.$checkPermi(['schsf:mcVisit:edit'])
  227 + },
  228 + // 通过/驳回按钮权限(一级审核、二级审核、异动一级审批)
  229 + auditPermission(item) {
  230 + const { publishStatus, modificationStatus } = item;
  231 + // 发起审核
  232 + const auditPer = (publishStatus === 'PENDING_LEVEL_1_AUDIT' && this.$checkPermi(['schsf:mcVisit:ticket_submitAuditOne'])) ||
  233 + (publishStatus === 'PENDING_LEVEL_2_AUDIT' && this.$checkPermi(['schsf:mcVisit:ticket_submitAuditTwo']))
  234 + // 异动审核
  235 + const changeAuditPer = publishStatus === 'APPROVED' &&
  236 + ((modificationStatus === 'PENDING_LEVEL_1_AUDIT' && this.$checkPermi(['schsf:mcVisit:modification_submitAuditOne'])) ||
  237 + modificationStatus === 'PENDING_LEVEL_2_AUDIT' && this.$checkPermi(['schsf:mcVisit:modification_submitAuditTwo']))
  238 +
  239 + return auditPer || changeAuditPer
  240 + },
  241 + // 发起异动权限
  242 + publishChangePermission(item) {
  243 + const { statusCode } = item;
  244 + return statusCode === 'APPROVED' && this.$checkPermi(['schsf:mcVisit:modification'])
  245 + },
  246 + // 作废权限
  247 + cancelPermission(item) {
  248 + return (item.publishStatus === 'EDITING' || item.statusCode === 'APPROVED') && this.$checkPermi(['schsf:mcVisit:cancel'])
  249 + },
223 250 bfColorStatus(status, type) {
224 251 const bgColorMap = {
225 252 '3': '#EFF1FD',
... ... @@ -260,6 +287,10 @@
260 287 return textColorMap[status] || '';
261 288 }
262 289 },
  290 + refreshList() {
  291 + this.params.pageNum = 1
  292 + this.initData()
  293 + },
263 294 async initData() {
264 295 let {
265 296 code,
... ...
pages/login/mobile.vue
... ... @@ -227,6 +227,7 @@
227 227 uni.$u.toast('登录成功');
228 228 //获取全部字典信息 保存至store
229 229 this.rememberPassword()
  230 + this.$store.dispatch('GetInfo')
230 231 this.$store.dispatch('loadDictDatas')
231 232 setTimeout(() => {
232 233 // uni.navigateTo({
... ...