lcw
This commit is contained in:
@ -29,11 +29,11 @@
|
||||
</template>
|
||||
<!-- 操作 -->
|
||||
<template #controls="{ row }">
|
||||
<el-link size="small" type="primary" @click="getDataById('edit', row)">修改</el-link>
|
||||
<el-link size="small" type="primary" @click="getDataById('edit', row)" :disabled="!canEdit(row)">修改</el-link>
|
||||
<el-link size="small" type="primary" @click="getDataById('detail', row)">详情</el-link>
|
||||
<el-link size="small" type="danger" @click="deleteFile(row)">删除</el-link>
|
||||
<el-link v-if="showBtn(row) == 'sign'" size="small" type="success" @click="sign(row)">签收</el-link>
|
||||
<el-link v-if="showBtn(row) == 'feedback'" size="small" type="warning" @click="feedback(row)">反馈</el-link>
|
||||
<el-link size="small" type="danger" @click="deleteFile(row)" :disabled="!canDelete(row)">删除</el-link>
|
||||
<el-link v-if="canSign(row)" size="small" type="success" @click="sign(row)">签收</el-link>
|
||||
<el-link v-if="canFeedback(row)" size="small" type="warning" @click="feedback(row)">反馈</el-link>
|
||||
</template>
|
||||
</MyTable>
|
||||
<Pages @changeNo="changeNo" @changeSize="changeSize" :tableHeight="pageData.tableHeight" :pageConfiger="{
|
||||
@ -198,25 +198,46 @@ const handleFeedbackSuccess = () => {
|
||||
|
||||
|
||||
// 权限控制
|
||||
// 显示签收
|
||||
// 获取当前用户在xfbmList中的部门项
|
||||
const getMyDeptItem = (row) => {
|
||||
return row.xfbmList?.find(v => v.ssbmdm == userInfo.value?.deptCode)
|
||||
}
|
||||
|
||||
// 显示签收状态
|
||||
const showSign = (row) => {
|
||||
let item = row.xfbmList.find(v => v.ssbmdm == userInfo.value.deptCode)
|
||||
const item = getMyDeptItem(row)
|
||||
if (item) {
|
||||
return item.zlzt == '01' ? '未签收' : item.zlzt == '02' ? '已签收' : '已反馈'
|
||||
} else {
|
||||
return row.zlzt == '01' ? '未签收' : row.zlzt == '02' ? '已签收' : '已反馈'
|
||||
}
|
||||
return row.zlzt == '01' ? '未签收' : row.zlzt == '02' ? '已签收' : '已反馈'
|
||||
}
|
||||
// sign--签收
|
||||
// feedback--反馈
|
||||
// 显示按钮
|
||||
const showBtn = (row) => {
|
||||
let item = row.xfbmList.find(v => v.ssbmdm == userInfo.value.deptCode)
|
||||
if (item) {
|
||||
return item.zlzt == '01' ? 'sign' : item.zlzt == '02' ? 'feedback' : ''
|
||||
} else {
|
||||
return ''
|
||||
}
|
||||
|
||||
// 删除权限:JS_666666/JS_777777可删除所有,其余只能删除自己的
|
||||
const canDelete = (row) => {
|
||||
const roleList = getItem('roleList') || []
|
||||
const roleCodes = roleList.map(r => r.roleCode)
|
||||
|
||||
if (roleCodes.includes('JS_666666') || roleCodes.includes('JS_777777')) return true
|
||||
return row.ssbmdm == userInfo.value?.deptCode
|
||||
}
|
||||
|
||||
// 修改权限:只能自己修改,且未签收未反馈
|
||||
const canEdit = (row) => {
|
||||
const item = getMyDeptItem(row)
|
||||
if (!item) return false
|
||||
return item.zlzt == '01'
|
||||
}
|
||||
|
||||
// 签收权限:当前部门在列表中且未签收
|
||||
const canSign = (row) => {
|
||||
const item = getMyDeptItem(row)
|
||||
return item?.zlzt == '01'
|
||||
}
|
||||
|
||||
// 反馈权限:当前部门在列表中且已签收或已反馈(可多次反馈)
|
||||
const canFeedback = (row) => {
|
||||
const item = getMyDeptItem(row)
|
||||
return item && (item.zlzt == '02' || item.zlzt == '03')
|
||||
}
|
||||
</script>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user