Bladeren bron

修改OA流程的表单绑定逻辑:统一为流程的表单

lph 1 jaar geleden
bovenliggende
commit
43872ab426

+ 35 - 1
zkqy-ui/src/views/system/bpmnPro/components/Panel/components/ElementGenerations.vue

@@ -26,7 +26,8 @@
           @change="updateElementName"
         />
       </el-form-item>
-      <el-form-item v-if="!isProcess" label="表单" prop="formKey">
+      <!-- <el-form-item v-if="!isProcess" label="表单" prop="formKey"> -->
+      <el-form-item v-if="false" label="表单" prop="formKey">
         <!-- <el-input
           v-model="elFormData.formKey"
           maxlength="20"
@@ -61,6 +62,32 @@
           @change="updateNodeDescription"
         />
       </el-form-item>
+      <el-form-item
+        v-show="isProcess && myProcessType == 1"
+        label="审批表单"
+        prop="processFId"
+      >
+        <el-select
+          v-model="elFormData.fId"
+          @change="updateFId"
+          clearable
+          filterable
+        >
+          <el-option
+            v-for="item in formList"
+            :key="item.formKey"
+            :label="item.formName"
+            :value="item.formKey"
+          >
+            <span class="discribe" style="float: left">{{
+              item.formName
+            }}</span>
+            <span style="float: right; color: #8492a6; font-size: 13px">{{
+              item.formKey
+            }}</span>
+          </el-option>
+        </el-select>
+      </el-form-item>
 
       <template v-if="isProcess">
         <edit-item key="version" label="流程版本">
@@ -144,6 +171,8 @@ import {
   setBpmType,
   setNodeDescription,
   getNodeDescription,
+  setFId,
+  getFId,
 } from "@packages/bo-utils/myFieldUtil";
 import EventEmitter from "@utils/EventEmitter";
 import { getActive } from "@packages/bpmn-utils/BpmnDesignerUtils";
@@ -203,6 +232,7 @@ export default {
         elementExecutable: true,
         scriptTriggerType: false,
         formKey: "",
+        fId: "",
       },
 
       isProcess: false,
@@ -273,6 +303,7 @@ export default {
         this.elFormData.bpmType = getBpmType(getActive()) || "";
         this.elFormData.elementVersion =
           getProcessVersionTag(getActive()) || "";
+        this.elFormData.fId = getFId(getActive()) || "";
       } else {
         this.elFormData.nodeDescription = getNodeDescription(getActive()) || "";
         this.elFormData.formKey = getFormKey(getActive()) || "";
@@ -287,6 +318,9 @@ export default {
     updateFormKey(value) {
       setFormKey(getActive(), value);
     },
+    updateFId(value) {
+      setFId(getActive(), value);
+    },
     updateElementVersion(value) {
       const reg = /((\d|([1-9](\d*))).){2}(\d|([1-9](\d*)))/;
       if (reg.test(value)) {

+ 2 - 4
zkqy-ui/src/views/system/bpmnPro/components/bo-utils/getNodeMsg.js

@@ -74,7 +74,8 @@ export function getNodeMsg(xmlObj, processType) {
     nodeObj.nodeName = node.getAttribute('name');
     // if (nodeObj.nodeName.includes('-')) {
     nodeObj.nodeFormType = processType == 0 ? 'designForm' : 'dragForm';
-    nodeObj.nodeFormKey = node.getAttribute(`${prefix}:nodeFormKey`)
+    // nodeFormKey 统一为流程的fId属性
+    nodeObj.nodeFormKey = processType == 0 ? node.getAttribute(`${prefix}:nodeFormKey`) : attributes.getNamedItem(`${prefix}:fId`)?.value || '';
     // }
     // bpmNodeHandleUser.length && (nodeObj.nodeRolePermission = node.getAttribute(`${prefix}:virtuallyRole`));
     let asyncBefore = node.getAttribute(`${prefix}:asyncBefore`)
@@ -181,7 +182,6 @@ function getBpmNodeHandleUser(node, nodeObj) {
     // res.virtuallyRole = newUUID;
     // nodeObj.nodeRolePermission = newUUID;
   }
-  console.log(nodeObj);
 
   let type = node.getAttribute('camunda:executeUserType');
   switch (type) {
@@ -201,7 +201,6 @@ function getBpmNodeHandleUser(node, nodeObj) {
 }
 
 function getTableNameList(node, nodeObj) {
-  console.dir(node, nodeObj);
   let prefix = getProcessEngine();
   let res = [];
   // 获取正常节点的tableName
@@ -215,7 +214,6 @@ function getTableNameList(node, nodeObj) {
       tableNameArrUn && (res = res.concat(tableNameArrUn.split(',')));
     }
   })
-  console.log(res);
   return res;
 }
 

+ 14 - 0
zkqy-ui/src/views/system/bpmnPro/components/bo-utils/myFieldUtil.js

@@ -67,6 +67,20 @@ export function getNodeDescription(element) {
   const prefix = getProcessEngine();
   return element.businessObject.get(`${prefix}:nodeDescription`);
 }
+// 流程的fId
+export function setFId(element, value) {
+  const modeling = getModeler.getModeling();
+  const prefix = getProcessEngine();
+
+  modeling.updateProperties(element, {
+    [`${prefix}:fId`]: value
+  });
+}
+export function getFId(element) {
+
+  const prefix = getProcessEngine();
+  return element.businessObject.get(`${prefix}:fId`);
+}
 
 // 执行表单
 export function isTaskOrUserTask(element) {