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,