From 5dfc25a49379f62345271ed31929f5e51663bbac Mon Sep 17 00:00:00 2001 From: 疯狂的狮子Li <15040126243@163.com> Date: 星期五, 29 三月 2024 21:15:10 +0800 Subject: [PATCH] !95 add 工作流挂节点路由表单 Merge pull request !95 from ken.wang/dev --- src/views/workflow/task/taskWaiting.vue | 16 +++++++++++++--- src/types/bpmn/panel.d.ts | 1 + src/api/workflow/task/types.ts | 1 + src/components/BpmnDesign/panel/TaskPanel.vue | 5 ++++- src/components/BpmnDesign/hooks/usePanel.ts | 6 ++++-- 5 files changed, 23 insertions(+), 6 deletions(-) diff --git a/src/api/workflow/task/types.ts b/src/api/workflow/task/types.ts index 1a7629b..412b0aa 100644 --- a/src/api/workflow/task/types.ts +++ b/src/api/workflow/task/types.ts @@ -37,6 +37,7 @@ 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 9168fe2..e9032f1 100644 --- a/src/components/BpmnDesign/hooks/usePanel.ts +++ b/src/components/BpmnDesign/hooks/usePanel.ts @@ -115,7 +115,9 @@ 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 @@ createModdleElement, idChange, nameChange, - + formKeyChange, getExtensionElements, getPropertiesElements }; diff --git a/src/components/BpmnDesign/panel/TaskPanel.vue b/src/components/BpmnDesign/panel/TaskPanel.vue index 9e247f8..5a23702 100644 --- a/src/components/BpmnDesign/panel/TaskPanel.vue +++ b/src/components/BpmnDesign/panel/TaskPanel.vue @@ -21,6 +21,9 @@ <el-form-item v-if="showConfig.skipExpression" prop="skipExpression" label="璺宠繃琛ㄨ揪寮�"> <el-input v-model="formData.skipExpression" @change="skipExpressionChange"> </el-input> </el-form-item> + <el-form-item prop="formKey" label="琛ㄥ崟鍦板潃"> + <el-input v-model="formData.formKey" @change="formKeyChange" placeholder="褰撳墠鑺傜偣琛ㄥ崟璺敱濡傦細/demo/leaveEdit/index"> </el-input> + </el-form-item> </div> </el-collapse-item> <el-collapse-item name="2"> @@ -243,7 +246,7 @@ element: ModdleElement; } const props = withDefaults(defineProps<PropType>(), {}); -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 fc5fbe5..3179261 100644 --- a/src/types/bpmn/panel.d.ts +++ b/src/types/bpmn/panel.d.ts @@ -34,6 +34,7 @@ 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 99a1a64..29a52a2 100644 --- a/src/views/workflow/task/taskWaiting.vue +++ b/src/views/workflow/task/taskWaiting.vue @@ -135,7 +135,17 @@ }; //鍔炵悊 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 @@ type: 'approval', taskId: row.id } - }) - }else{ + }); + } else { proxy?.$modal.msgError('璇峰埌娴佺▼瀹氫箟鑿滃崟閰嶇疆璺敱锛�'); } }; -- Gitblit v1.9.3