| | |
| | | const submitFormRef = ref(); |
| | | const submitSaving = ref(false); |
| | | |
| | | // 批量删除相关 |
| | | const selectedRows = ref([]); |
| | | |
| | | const isSubmitEdit = computed(() => submitDialog.mode === "edit"); |
| | | const submitDialogTitle = computed(() => { |
| | | if (submitDialog.mode === "edit") { |
| | |
| | | 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, |
| | |
| | | openDetail, |
| | | openApprove, |
| | | fetchApprovalList, |
| | | selectedRows, |
| | | batchDelete, |
| | | }; |
| | | } |