From 8ce52eef51095b891052382caef2c2fbfd21c44e Mon Sep 17 00:00:00 2001 From: dap <15891557205@163.com> Date: Mon, 20 Oct 2025 15:51:47 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E4=BF=AE=E6=94=B9=E6=B5=81=E7=A8=8B?= =?UTF-8?q?=E5=8F=98=E9=87=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/api/workflow/instance/index.ts | 25 ++- .../src/api/workflow/instance/model.d.ts | 13 ++ .../views/workflow/processInstance/index.vue | 3 +- .../instance-variable-modal.vue | 196 +++++++++++++++++- 4 files changed, 228 insertions(+), 9 deletions(-) diff --git a/apps/web-antd/src/api/workflow/instance/index.ts b/apps/web-antd/src/api/workflow/instance/index.ts index ed3523d1..abc1b794 100644 --- a/apps/web-antd/src/api/workflow/instance/index.ts +++ b/apps/web-antd/src/api/workflow/instance/index.ts @@ -1,5 +1,5 @@ import type { TaskInfo } from '../task/model'; -import type { FlowInfoResponse } from './model'; +import type { FlowInfoResponse, FlowInstanceVariableResp } from './model'; import type { ID, IDS, PageQuery, PageResult } from '#/api/common'; @@ -104,8 +104,8 @@ export function flowInfo(businessId: string) { * @returns Map */ export function instanceVariable(instanceId: string) { - return requestClient.get>( - `/workflow/instance/variable/${instanceId}`, + return requestClient.get( + `/workflow/instance/instanceVariable/${instanceId}`, ); } @@ -118,3 +118,22 @@ export function workflowInstanceInvalid(data: { }) { return requestClient.postWithMsg('/workflow/instance/invalid', data); } + +/** + * 修改流程参数 + * @param data 参数 + * @param data.instanceId 实例ID + * @param data.key 参数key + * @param data.value 值 + * @returns void + */ +export function updateFlowVariable(data: { + instanceId: string; + key: string; + value: any; +}) { + return requestClient.putWithMsg( + '/workflow/instance/updateVariable', + data, + ); +} diff --git a/apps/web-antd/src/api/workflow/instance/model.d.ts b/apps/web-antd/src/api/workflow/instance/model.d.ts index 133d06a3..df0f9185 100644 --- a/apps/web-antd/src/api/workflow/instance/model.d.ts +++ b/apps/web-antd/src/api/workflow/instance/model.d.ts @@ -1,3 +1,5 @@ +export {}; + export interface Flow { id: string; createTime: string; @@ -39,3 +41,14 @@ export interface FlowInfoResponse { instanceId: string; list: Flow[]; } + +export interface FlowInstanceVariableResp { + /** + * json字符串 流程变量 + */ + variable: string; + variableList: { + key: string; + value: any; + }[]; +} diff --git a/apps/web-antd/src/views/workflow/processInstance/index.vue b/apps/web-antd/src/views/workflow/processInstance/index.vue index 653dca5e..a1f075c7 100644 --- a/apps/web-antd/src/views/workflow/processInstance/index.vue +++ b/apps/web-antd/src/views/workflow/processInstance/index.vue @@ -150,9 +150,10 @@ const [InstanceVariableModal, instanceVariableModalApi] = useVbenModal({ connectedComponent: instanceVariableModal, }); function handleVariable(row: Recordable) { - instanceVariableModalApi.setData({ record: row.variable }); + instanceVariableModalApi.setData({ instanceId: row.id }); instanceVariableModalApi.open(); } + const [FlowInfoModal, flowInfoModalApi] = useVbenModal({ connectedComponent: flowInfoModal, }); diff --git a/apps/web-antd/src/views/workflow/processInstance/instance-variable-modal.vue b/apps/web-antd/src/views/workflow/processInstance/instance-variable-modal.vue index 420a9d0c..41a65fd7 100644 --- a/apps/web-antd/src/views/workflow/processInstance/instance-variable-modal.vue +++ b/apps/web-antd/src/views/workflow/processInstance/instance-variable-modal.vue @@ -1,28 +1,214 @@ -