From a305a0d7aa39adb735eee56bb0a695f817bd7f4b Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期四, 24 九月 2026 14:53:15 +0800
Subject: [PATCH] 天津-智科电子 1.协同办公-协同审批:待审批节点,第三人账号不可进行修改 2.营销管理-销售台账:勾选单个导出会出现整个导出的情况,但只能显示父项、不能显示子项 3.营销管理-销售台账:点击下拉没有价格,点击详情有价格

---
 src/views/officeProcessAutomation/ApproveManage/approve-list/useApproveList.js |   18 +++++++++++++++---
 1 files changed, 15 insertions(+), 3 deletions(-)

diff --git a/src/views/officeProcessAutomation/ApproveManage/approve-list/useApproveList.js b/src/views/officeProcessAutomation/ApproveManage/approve-list/useApproveList.js
index 25b6ae5..982a19b 100644
--- a/src/views/officeProcessAutomation/ApproveManage/approve-list/useApproveList.js
+++ b/src/views/officeProcessAutomation/ApproveManage/approve-list/useApproveList.js
@@ -48,6 +48,7 @@
   mapInstanceFromApi,
   mapSubmitTemplateCard,
   matchBusinessTypeValue,
+  normalizeApprovalStatusKey,
   unwrapInstancePage,
 } from "./approveListConstants.js";
 
@@ -138,6 +139,16 @@
     ...buildFormPayloadRules(submitFormFields.value),
   }));
 
+  /** 浠呫�屽彂璧蜂汉鏈汉銆嶅湪銆屽凡椹冲洖銆嶇姸鎬佷笅鍙慨鏀� */
+  function canEditInstanceRow(row) {
+    if (!row) return false;
+    const key = normalizeApprovalStatusKey(row.approvalStatus ?? row.statusRaw ?? row.status);
+    if (key !== "rejected") return false;
+    const applicantId = row.applicantId ?? row.applicantNo;
+    if (applicantId == null || applicantId === "") return false;
+    return String(applicantId) === String(userStore.id);
+  }
+
   const tableColumn = ref([
     // { label: "鐢宠浜虹紪鍙�", prop: "applicantNo", width: 110 },
     { label: "鍙戣捣浜�", prop: "applicantName", minWidth: 100 },
@@ -183,7 +194,7 @@
         {
           name: "淇敼",
           type: "text",
-          disabled: (row) => row.approvalStatus !== "pending",
+          disabled: (row) => !canEditInstanceRow(row),
           clickFun: (row) => openEditDialog(row),
         },
         {
@@ -395,8 +406,8 @@
   }
 
   async function openEditDialog(row) {
-    if (row?.approvalStatus !== "pending") {
-      ElMessage.warning("浠呭鏍镐腑鐨勫鎵瑰彲淇敼");
+    if (!canEditInstanceRow(row)) {
+      ElMessage.warning("浠呮湰浜哄彂璧枫�佷笖宸茶椹冲洖鐨勫鎵瑰彲淇敼");
       return;
     }
     const moduleKey = inferReimburseModuleKeyFromInstance(row);
@@ -688,6 +699,7 @@
     resetSubmitDialogState,
     openSubmitDialog,
     openEditDialog,
+    canEditInstanceRow,
     onBusinessTypePick,
     onTemplatePick,
     backToBusinessTypePick,

--
Gitblit v1.9.3