diff --git a/inventory-web/src/views/operation/scrap/approval/index.vue b/inventory-web/src/views/operation/scrap/approval/index.vue index 15854b3..d1aa718 100644 --- a/inventory-web/src/views/operation/scrap/approval/index.vue +++ b/inventory-web/src/views/operation/scrap/approval/index.vue @@ -125,7 +125,7 @@ type="warning" plain size="small" :loading="row._executing" @click="openExecute(row)" >执行报废 撤回 @@ -197,9 +197,19 @@ const rejectLoading = ref(false) const userNameCache = ref>({}) // --- 权限 --- +// 执行报废:需「按单报废执行」权限 const canExecute = computed(() => userStore.role === 'SUPER_ADMIN' || userStore.hasPermission('scrap_execute') ) +// ★ 撤回:需「报废审批」权限(原先误用 canExecute) +// +// scrap_execute 比 scrap_approval 多授予 INBOUND 角色 —— 若沿用 canExecute, +// 只具备执行权、无审批权的人也会看到撤回按钮。撤回是对单据的处置动作, +// 应与审批同权限等级。(申请人在「申请页-我的申请单」有自己的撤回入口, +// 走的是单据归属校验,不依赖此处。) +const canWithdraw = computed(() => + userStore.role === 'SUPER_ADMIN' || userStore.hasPermission('scrap_approval') +) // --- 工具 --- const statusText = (status: number) => {