From c5b3c121c979174010cd685a0829638b7cef2380 Mon Sep 17 00:00:00 2001 From: wangzk Date: Fri, 29 Mar 2024 17:26:56 +0800 Subject: [PATCH] =?UTF-8?q?add=20=E5=B7=A5=E4=BD=9C=E6=B5=81=E6=8C=82?= =?UTF-8?q?=E8=8A=82=E7=82=B9=E8=B7=AF=E7=94=B1=E8=A1=A8=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/workflow/task/types.ts | 1 + src/components/BpmnDesign/hooks/usePanel.ts | 6 ++++-- src/components/BpmnDesign/panel/TaskPanel.vue | 5 ++++- src/types/bpmn/panel.d.ts | 1 + src/views/workflow/task/taskWaiting.vue | 16 +++++++++++++--- 5 files changed, 23 insertions(+), 6 deletions(-) diff --git a/src/api/workflow/task/types.ts b/src/api/workflow/task/types.ts index 1a7629b5..412b0aa3 100644 --- a/src/api/workflow/task/types.ts +++ b/src/api/workflow/task/types.ts @@ -37,6 +37,7 @@ export interface TaskVO extends BaseEntity { participantVo: ParticipantVo; multiInstance: boolean; businessKey: string; + formKey: string; wfFormDefinitionVo: any; } diff --git a/src/components/BpmnDesign/hooks/usePanel.ts b/src/components/BpmnDesign/hooks/usePanel.ts index 9168fe22..e9032f1f 100644 --- a/src/components/BpmnDesign/hooks/usePanel.ts +++ b/src/components/BpmnDesign/hooks/usePanel.ts @@ -115,7 +115,9 @@ export default (ops: Options) => { updateProperties({ name: newVal }); } }; - + const formKeyChange = (newVal: string) => { + updateProperties({ formKey: newVal }); + }; const constant = { MultiInstanceType: [ { id: '373d4b81-a0d1-4eb8-8685-0d2fb1b468e2', label: '无', value: MultiInstanceTypeEnum.NONE }, @@ -136,7 +138,7 @@ export default (ops: Options) => { createModdleElement, idChange, nameChange, - + formKeyChange, getExtensionElements, getPropertiesElements }; diff --git a/src/components/BpmnDesign/panel/TaskPanel.vue b/src/components/BpmnDesign/panel/TaskPanel.vue index 9e247f86..5a23702e 100644 --- a/src/components/BpmnDesign/panel/TaskPanel.vue +++ b/src/components/BpmnDesign/panel/TaskPanel.vue @@ -21,6 +21,9 @@ + + + @@ -243,7 +246,7 @@ interface PropType { element: ModdleElement; } const props = withDefaults(defineProps(), {}); -const { showConfig, nameChange, idChange, updateProperties, getExtensionElements, createModdleElement, constant } = usePanel({ +const { showConfig, nameChange, formKeyChange, idChange, updateProperties, getExtensionElements, createModdleElement, constant } = usePanel({ element: toRaw(props.element) }); const { parseData } = useParseElement({ diff --git a/src/types/bpmn/panel.d.ts b/src/types/bpmn/panel.d.ts index fc5fbe55..31792617 100644 --- a/src/types/bpmn/panel.d.ts +++ b/src/types/bpmn/panel.d.ts @@ -34,6 +34,7 @@ declare module 'bpmnDesign' { multiInstanceType: MultiInstanceTypeEnum; async?: boolean; priority?: number; + formKey?: string; skipExpression?: string; isForCompensation?: boolean; triggerServiceTask?: boolean; diff --git a/src/views/workflow/task/taskWaiting.vue b/src/views/workflow/task/taskWaiting.vue index 99a1a644..29a52a28 100644 --- a/src/views/workflow/task/taskWaiting.vue +++ b/src/views/workflow/task/taskWaiting.vue @@ -135,7 +135,17 @@ const getWaitingList = () => { }; //办理 const handleOpen = async (row: TaskVO) => { - if(row.wfFormDefinitionVo){ + if (row.formKey != null) { + proxy.$tab.closePage(proxy.$route); + proxy.$router.push({ + path: `${row.formKey}`, + query: { + id: row.businessKey, + type: 'approval', + taskId: row.id + } + }); + } else if (row.wfFormDefinitionVo) { proxy.$tab.closePage(proxy.$route); proxy.$router.push({ path: `${row.wfFormDefinitionVo.path}`, @@ -144,8 +154,8 @@ const handleOpen = async (row: TaskVO) => { type: 'approval', taskId: row.id } - }) - }else{ + }); + } else { proxy?.$modal.msgError('请到流程定义菜单配置路由!'); } }; -- Gitee