Commit ba0d880ca815a2d1be22e7e7440039de36018900
1 parent
e229e848
Exists in
charge
feat: 审核按钮权限控制
Showing
2 changed files
with
40 additions
and
8 deletions
Show diff stats
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