Kaynağa Gözat

审核审批

xuzhancheng 1 hafta önce
ebeveyn
işleme
022e824a9c

+ 15 - 6
yudao-ui-admin-vue3/src/views/pressure2/boilerchecker/components/StatusOperationPanel.vue

@@ -1280,14 +1280,23 @@ const handleCancelFlow = async () => {
   }).catch(() => {})
 }
 
-// 判断"OA审核"按钮是否显示:报告审核或审批阶段,且有OA流程ID
+// 判断"OA审核"按钮是否显示:报告审核或审批阶段,且有OA流程ID,且当前用户是对应阶段的审核人/审批人
 const isCanOAAudit = computed(() => {
   if (!props.selectedItem) return false
-  const isAuditOrApprove = [
-    PressureCheckerMyTaskStatus['REPORT_AUDIT'],
-    PressureCheckerMyTaskStatus['REPORT_APPROVE']
-  ].includes(props.selectedItem.taskStatus)
-  return isAuditOrApprove && !!props.selectedItem.summaryId && !checkerIsLoginUser.value
+  const { taskStatus, summaryId, approvalId, ratifyId } = props.selectedItem
+  const currentUserId = userStore?.user?.id
+  
+  // 审核阶段:只有审核人才能点击
+  if (taskStatus === PressureCheckerMyTaskStatus['REPORT_AUDIT']) {
+    return !!summaryId && approvalId === currentUserId
+  }
+  
+  // 审批阶段:只有审批人才能点击
+  if (taskStatus === PressureCheckerMyTaskStatus['REPORT_APPROVE']) {
+    return !!summaryId && ratifyId === currentUserId
+  }
+  
+  return false
 })
 
 // OA审核:弹出独立窗口

+ 15 - 6
yudao-ui-admin-vue3/src/views/pressure2/pipechecker/components/StatusOperationPanel.vue

@@ -1266,14 +1266,23 @@ const handleCancelFlow = async () => {
   }).catch(() => {})
 }
 
-// 判断"OA审核"按钮是否显示:报告审核或审批阶段,且有OA流程ID
+// 判断"OA审核"按钮是否显示:报告审核或审批阶段,且有OA流程ID,且当前用户是对应阶段的审核人/审批人
 const isCanOAAudit = computed(() => {
   if (!props.selectedItem) return false
-  const isAuditOrApprove = [
-    PressureCheckerMyTaskStatus['REPORT_AUDIT'],
-    PressureCheckerMyTaskStatus['REPORT_APPROVE']
-  ].includes(props.selectedItem.taskStatus)
-  return isAuditOrApprove && !!props.selectedItem.summaryId && !checkerIsLoginUser.value
+  const { taskStatus, summaryId, approvalId, ratifyId } = props.selectedItem
+  const currentUserId = userStore?.user?.id
+  
+  // 审核阶段:只有审核人才能点击
+  if (taskStatus === PressureCheckerMyTaskStatus['REPORT_AUDIT']) {
+    return !!summaryId && approvalId === currentUserId
+  }
+  
+  // 审批阶段:只有审批人才能点击
+  if (taskStatus === PressureCheckerMyTaskStatus['REPORT_APPROVE']) {
+    return !!summaryId && ratifyId === currentUserId
+  }
+  
+  return false
 })
 
 // OA审核:弹出独立窗口