gaoluyang
2 天以前 4762afb6cb043a3e539ed7ec8da5bde997bfaf65
src/views/officeProcessAutomation/ApproveManage/approve-list/useApproveList.js
@@ -98,6 +98,9 @@
  const submitFormRef = ref();
  const submitSaving = ref(false);
  // 批量删除相关
  const selectedRows = ref([]);
  const isSubmitEdit = computed(() => submitDialog.mode === "edit");
  const submitDialogTitle = computed(() => {
    if (submitDialog.mode === "edit") {
@@ -569,6 +572,49 @@
    return "待处理";
  }
  // 批量删除审批实例
  async function batchDelete() {
    if (!selectedRows.value?.length) {
      ElMessage.warning("请选择要删除的记录");
      return;
    }
    try {
      await ElMessageBox.confirm(
        `确定删除选中的 ${selectedRows.value.length} 条审批记录吗?删除后不可恢复。`,
        "删除确认",
        {
          type: "warning",
          confirmButtonText: "确定删除",
          cancelButtonText: "取消",
          distinguishCancelAndClose: true,
          autofocus: false,
        }
      );
    } catch {
      return;
    }
    const ids = selectedRows.value.map((row) => row.id).filter(Boolean);
    if (!ids.length) {
      ElMessage.warning("无法删除:缺少审批实例 ID");
      return;
    }
    try {
      await deleteApprovalInstance(ids);
      ElMessage.success("删除成功");
      selectedRows.value = [];
      // 关闭可能打开的详情弹窗
      if (detailDialog.visible) {
        detailDialog.visible = false;
      }
      if (approveDialog.visible) {
        approveDialog.visible = false;
      }
      await fetchApprovalList();
    } catch {
      /* 错误由拦截器提示 */
    }
  }
  return {
    Search,
    APPROVAL_TYPE_OPTIONS,
@@ -624,5 +670,7 @@
    openDetail,
    openApprove,
    fetchApprovalList,
    selectedRows,
    batchDelete,
  };
}