From fee2f2532144fca6c81b1523aeef54165c5263b2 Mon Sep 17 00:00:00 2001
From: hsy <1029150275@qq.com>
Date: 星期二, 25 八月 2026 16:50:38 +0800
Subject: [PATCH] Merge branch 'refs/heads/dev_pro2.0' into fix/hsy/20260812
---
src/views/bpm/task/done/index.vue | 53 +++++++++++++++++++++++++++++++++++++----------------
1 files changed, 37 insertions(+), 16 deletions(-)
diff --git a/src/views/bpm/task/done/index.vue b/src/views/bpm/task/done/index.vue
index 8f92032..4bf1c3a 100644
--- a/src/views/bpm/task/done/index.vue
+++ b/src/views/bpm/task/done/index.vue
@@ -2,11 +2,12 @@
import type { VxeTableGridOptions } from '#/adapter/vxe-table';
import type { BpmTaskApi } from '#/api/bpm/task';
-import { DocAlert, Page } from '..\..\..\..\packages\effects\common-ui\src';
+import { Page } from '@vben/common-ui';
import { message } from 'ant-design-vue';
import { ACTION_ICON, TableAction, useVbenVxeGrid } from '#/adapter/vxe-table';
+import { reverseApprove } from '#/api/erp/purchase/order';
import { getTaskDonePage, withdrawTask } from '#/api/bpm/task';
import { router } from '#/router';
@@ -34,6 +35,28 @@
try {
await withdrawTask(row.id);
message.success('鎾ゅ洖鎴愬姛');
+ await gridApi.query();
+ } finally {
+ hideLoading();
+ }
+}
+
+/** 鏄惁閲囪喘璁㈠崟瀹℃壒浠诲姟锛堢敤浜庢樉绀�"鍙嶅鎵�"銆侀殣钘忛�氱敤"鎾ゅ洖"锛� */
+function isPurchaseOrderApprove(row: BpmTaskApi.Task) {
+ return (row.processInstance?.processDefinitionId || '').startsWith(
+ 'purchase_order_approve',
+ );
+}
+
+/** 鍙嶅鎵归噰璐鍗曪紙宸插鏍� -> 鏈鏍革紝鍦ㄥ崗鍚屽姙鍏凡鍔炰换鍔′腑鎿嶄綔锛� */
+async function handleReverseApprove(row: BpmTaskApi.Task) {
+ const hideLoading = message.loading({
+ content: '鍙嶅鎵逛腑...',
+ duration: 0,
+ });
+ try {
+ await reverseApprove(row.processInstance.id);
+ message.success('鍙嶅鎵规垚鍔燂紝璁㈠崟宸查噸鏂拌繘鍏ュ緟鍔炲鎵�');
await gridApi.query();
} finally {
hideLoading();
@@ -72,29 +95,27 @@
</script>
<template>
- <Page auto-content-height>
- <template #doc>
- <DocAlert
- title="瀹℃壒閫氳繃銆佷笉閫氳繃銆侀┏鍥�"
- url="https://doc.iocoder.cn/bpm/task-todo-done/"
- />
- <DocAlert title="瀹℃壒鍔犵銆佸噺绛�" url="https://doc.iocoder.cn/bpm/sign/" />
- <DocAlert
- title="瀹℃壒杞姙銆佸娲俱�佹妱閫�"
- url="https://doc.iocoder.cn/bpm/task-delegation-and-cc/"
- />
- <DocAlert title="瀹℃壒鍔犵銆佸噺绛�" url="https://doc.iocoder.cn/bpm/sign/" />
- </template>
-
- <Grid table-title="宸插姙浠诲姟">
+ <Page auto-content-height><Grid table-title="宸插姙浠诲姟">
<template #actions="{ row }">
<TableAction
:actions="[
+ {
+ label: '鍙嶅鎵�',
+ type: 'link',
+ danger: true,
+ icon: ACTION_ICON.AUDIT,
+ ifShow: () => isPurchaseOrderApprove(row),
+ popConfirm: {
+ title: '纭畾瑕佸弽瀹℃壒璇ラ噰璐鍗曞悧锛熻鍗曞皢閲嶆柊杩涘叆寰呭姙瀹℃壒',
+ confirm: handleReverseApprove.bind(null, row),
+ },
+ },
{
label: '鎾ゅ洖',
type: 'link',
danger: true,
icon: ACTION_ICON.DELETE,
+ ifShow: () => !isPurchaseOrderApprove(row),
popConfirm: {
title: '纭畾瑕佹挙鍥炶浠诲姟鍚楋紵',
confirm: handleWithdraw.bind(null, row),
--
Gitblit v1.9.3