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