[audit] P6.3 F5-4 重跑确认框改 Modal+复选「按当前已发布流程定义重跑(救僵尸办件)」
This commit is contained in:
@@ -277,9 +277,13 @@ class FlowApi {
|
|||||||
routerStatus(id: number | string, enabled: boolean) {
|
routerStatus(id: number | string, enabled: boolean) {
|
||||||
return post(`${ROOT}/admin/router/status/${id}?enabled=${enabled}`);
|
return post(`${ROOT}/admin/router/status/${id}?enabled=${enabled}`);
|
||||||
}
|
}
|
||||||
/** 重跑路由(判断失败挂起的恢复入口:重新调判断,成功即按出口续走) */
|
/**
|
||||||
instanceReroute(instanceId: number | string) {
|
* 重跑路由(判断失败挂起的恢复入口:重新调判断,成功即按出口续走)。
|
||||||
return post(`${ROOT}/admin/instance/${instanceId}/reroute`);
|
* useLatestDef=true(F5-4 僵尸逃生门):按该流程当前已发布最高版本重跑并刷新办件定义快照。
|
||||||
|
*/
|
||||||
|
instanceReroute(instanceId: number | string, useLatestDef?: boolean) {
|
||||||
|
const suffix = useLatestDef ? "?useLatestDef=true" : "";
|
||||||
|
return post(`${ROOT}/admin/instance/${instanceId}/reroute${suffix}`);
|
||||||
}
|
}
|
||||||
/** 表达式调试求值(2026-10-10:与运行时同一求值核心;不落库不走流程) */
|
/** 表达式调试求值(2026-10-10:与运行时同一求值核心;不落库不走流程) */
|
||||||
routerEval(body: { expression: string; variablesJson?: string }) {
|
routerEval(body: { expression: string; variablesJson?: string }) {
|
||||||
|
|||||||
@@ -2,7 +2,6 @@
|
|||||||
// 办件记录(管理端):全校办件查询;CONDITION 判断失败挂起的办件在此"重跑路由"恢复
|
// 办件记录(管理端):全校办件查询;CONDITION 判断失败挂起的办件在此"重跑路由"恢复
|
||||||
import { ref } from "vue";
|
import { ref } from "vue";
|
||||||
import { Message, Tag } from "view-ui-plus";
|
import { Message, Tag } from "view-ui-plus";
|
||||||
import MyConfirm from "@/components/MyConfirm";
|
|
||||||
import { OperatorEnum } from "@/types";
|
import { OperatorEnum } from "@/types";
|
||||||
import TablePageAlovaNew from "@/components/TablePageAlovaNew.vue";
|
import TablePageAlovaNew from "@/components/TablePageAlovaNew.vue";
|
||||||
import InstanceDrawer from "@/views/flow/components/InstanceDrawer.vue";
|
import InstanceDrawer from "@/views/flow/components/InstanceDrawer.vue";
|
||||||
@@ -41,18 +40,25 @@ function openDetail(instanceId: string | number) {
|
|||||||
drawerVisible.value = true;
|
drawerVisible.value = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
/** 重跑路由(2026-09-24 §4.4):重新调判断服务,成功即按出口续走;仍失败回业务错(办件继续挂起) */
|
/** 重跑路由(2026-09-24 §4.4 + F5-4 逃生门):确认框带「按当前已发布定义重跑」复选——
|
||||||
|
* 僵尸办件(挂起时的表达式已修好并发布为新版)勾选后按新版续走,否则按落库快照重跑 */
|
||||||
|
const rerouteVisible = ref(false);
|
||||||
|
const rerouteUseLatest = ref(false);
|
||||||
|
const rerouteRow = ref<any>(null);
|
||||||
|
|
||||||
function onReroute(row: any) {
|
function onReroute(row: any) {
|
||||||
MyConfirm({
|
rerouteRow.value = row;
|
||||||
title: "重跑路由",
|
rerouteUseLatest.value = false;
|
||||||
msg: `确定对办件「${row.bizTitle || row.id}」重跑条件路由判断吗?`,
|
rerouteVisible.value = true;
|
||||||
info: "仅对挂在条件分支节点的挂起办件生效(未挂起的会提示无需重跑)",
|
}
|
||||||
async onOk() {
|
|
||||||
await flowApi.instanceReroute(row.id).send();
|
async function confirmReroute() {
|
||||||
Message.success("路由已重跑,流程按新判断结果继续");
|
const row = rerouteRow.value;
|
||||||
|
if (!row) return;
|
||||||
|
await flowApi.instanceReroute(row.id, rerouteUseLatest.value).send();
|
||||||
|
rerouteVisible.value = false;
|
||||||
|
Message.success("路由已重跑,流程按判断结果继续");
|
||||||
tableRef.value?.reloadData(OperatorEnum.edit);
|
tableRef.value?.reloadData(OperatorEnum.edit);
|
||||||
},
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// dataApi 返回 Method(alova usePagination 负责发送与解包),不能调 .send()
|
// dataApi 返回 Method(alova usePagination 负责发送与解包),不能调 .send()
|
||||||
@@ -90,5 +96,10 @@ function onSearch() {
|
|||||||
<TablePageAlovaNew ref="tableRef" :dataApi="tableApi" :columns="columns" />
|
<TablePageAlovaNew ref="tableRef" :dataApi="tableApi" :columns="columns" />
|
||||||
</div>
|
</div>
|
||||||
<InstanceDrawer v-model="drawerVisible" :instance-id="drawerInstanceId" />
|
<InstanceDrawer v-model="drawerVisible" :instance-id="drawerInstanceId" />
|
||||||
|
<Modal v-model="rerouteVisible" title="重跑路由" :mask-closable="false" @on-ok="confirmReroute">
|
||||||
|
<p style="margin: 0 0 8px">确定对办件「{{ rerouteRow?.bizTitle || rerouteRow?.id }}」重跑条件路由判断吗?</p>
|
||||||
|
<p style="margin: 0 0 12px; color: #808695">仅对挂在条件分支节点的挂起办件生效(未挂起的会提示无需重跑)</p>
|
||||||
|
<Checkbox v-model="rerouteUseLatest">按当前已发布流程定义重跑(救僵尸办件)</Checkbox>
|
||||||
|
</Modal>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|||||||
Reference in New Issue
Block a user