Bladeren bron

对流程设计中的数据收集做OA兼容

lph 1 jaar geleden
bovenliggende
commit
df9f79aefd

+ 22 - 2
zkqy-ui/src/views/bpmprocess/index.vue

@@ -8,7 +8,7 @@
       v-show="showSearch"
       label-width="68px"
     >
-      <el-form-item label="流程名称" prop="processName">
+      <el-form-item label="流程名称:" prop="processName">
         <el-input
           v-model="queryParams.processName"
           placeholder="请输入流程名称"
@@ -16,7 +16,7 @@
           @keyup.enter.native="handleQuery"
         />
       </el-form-item>
-      <el-form-item label="流程别名" prop="processKey">
+      <el-form-item label="流程别名:" prop="processKey">
         <el-input
           v-model="queryParams.processKey"
           placeholder="请输入流程别名"
@@ -24,6 +24,26 @@
           @keyup.enter.native="handleQuery"
         />
       </el-form-item>
+      <el-form-item label="流程类型:" prop="processType">
+        <!-- <el-input
+          v-model="queryParams.processType"
+          placeholder="请输入流程别名"
+          clearable
+          @keyup.enter.native="handleQuery"
+        /> -->
+        <el-radio
+          @change="handleQuery"
+          v-model="queryParams.processType"
+          label="0"
+          >工业类型</el-radio
+        >
+        <el-radio
+          @change="handleQuery"
+          v-model="queryParams.processType"
+          label="1"
+          >OA类型</el-radio
+        >
+      </el-form-item>
       <!-- <el-form-item
         label="流程开启状态"
         class="item_label"

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

@@ -32,7 +32,12 @@
           maxlength="20"
           @change="updateFormKey"
         /> -->
-        <el-select v-model="elFormData.formKey" @change="updateFormKey">
+        <el-select
+          v-model="elFormData.formKey"
+          @change="updateFormKey"
+          clearable
+          filterable
+        >
           <el-option
             v-for="item in formList"
             :key="item.formKey"

+ 2 - 0
zkqy-ui/src/views/system/bpmnPro/components/Panel/index.vue

@@ -230,6 +230,8 @@ export default {
       } else if (this.myProcessType == 1) {
         this.renderComponents.push(ElementGenerations); //常规信息
         !isProcess(element) && this.renderComponents.push(ElementAfterNode);
+        isUserTask(element) && this.renderComponents.push(ElementExecuteUser);
+        !isProcess(element) && this.renderComponents.push(ElementNormalTask); //正常节点`
       }
       // switch (this.myProcessType) {
       //   case 0: //工业类型

+ 13 - 9
zkqy-ui/src/views/system/bpmnPro/components/Toolbar/tools/Save.vue

@@ -148,7 +148,8 @@ export default {
       var xmlObj = this.xmlStr2XmlObj(xmlPro);
       // getNodeMsg(xmlObj);
       // return;
-      let validateNodeRes = validateNode(xmlObj);
+
+      let validateNodeRes = validateNode(xmlObj, formData.processType); // 校验节点信息
       if (!validateNodeRes.flag) {
         this.$message.error(validateNodeRes.msg);
         return;
@@ -157,14 +158,17 @@ export default {
       // 生成节点顺序
       // getNodeSequence(xmlObj);
       // return;
+
+      // 设置默认数据
       formData.startEventType =
         xmlObj
           .getElementsByTagName("bpmn:process")[0]
-          .getAttribute("camunda:startEventType") || 0;
-      formData.processType =
-        xmlObj
-          .getElementsByTagName("bpmn:process")[0]
-          .getAttribute("camunda:bpmType") || 0;
+          .getAttribute("camunda:startEventType") || 0; // 开始事件类型  0:手动 1:自动
+      // formData.processVersion = 1;
+      // formData.processType =
+      //   xmlObj
+      //     .getElementsByTagName("bpmn:process")[0]
+      //     .getAttribute("camunda:bpmType") || 0;
       // 将asill码数组转换成文件格式
       formData.fileXML = new File([xmlPro], formData.processKey + ".bpmn", {
         type: "text/bpmn",
@@ -189,15 +193,15 @@ export default {
         addProcess(subformData).then((res) => {
           if (res.code == 200) {
             _this.$message.success("保存成功");
-            this.saveNodeMsg(xmlObj);
+            this.saveNodeMsg(xmlObj, formData.processType);
           } else {
             _this.$message.error("保存失败");
           }
         });
       }
     },
-    async saveNodeMsg(obj) {
-      let data = getNodeMsg(obj);
+    async saveNodeMsg(obj, processType) {
+      let data = getNodeMsg(obj, processType);
       if (!data.bpmProcessConfigurationList.length) return;
       data.bpmProcessConfigurationList.forEach((item) => {
         // item.createBy = this.$store.state.user.name;

+ 10 - 7
zkqy-ui/src/views/system/bpmnPro/components/bo-utils/getNodeMsg.js

@@ -30,7 +30,7 @@ function getSecondStr(str) {
 //   return res;
 // }
 
-export function getNodeMsg(xmlObj) {
+export function getNodeMsg(xmlObj, processType) {
   // let moddle = getModeler.getModdle();
   // console.log(moddle);
   // return;
@@ -60,7 +60,7 @@ export function getNodeMsg(xmlObj) {
     }
     nodeObj.nodeType = node.localName;
     if (nodeObj.nodeType == "sequenceFlow") return;
-    let nodeExceptionList = getNodeException(node, nodeObj)
+    let nodeExceptionList = getNodeException(node, nodeObj, processType)
     let bpmNodeHandleUser = getBpmNodeHandleUser(node, nodeObj)
     let tableNameList = getTableNameList(node, nodeObj)
     bpmTableNameList = [...bpmTableNameList, ...tableNameList]
@@ -73,7 +73,7 @@ export function getNodeMsg(xmlObj) {
     nodeObj.nodeKey = node.id;
     nodeObj.nodeName = node.getAttribute('name');
     // if (nodeObj.nodeName.includes('-')) {
-    nodeObj.nodeFormType = 'designForm';
+    nodeObj.nodeFormType = processType == 0 ? 'designForm' : 'dragForm';
     nodeObj.nodeFormKey = node.getAttribute(`${prefix}:nodeFormKey`)
     // }
     // bpmNodeHandleUser.length && (nodeObj.nodeRolePermission = node.getAttribute(`${prefix}:virtuallyRole`));
@@ -96,11 +96,11 @@ export function getNodeMsg(xmlObj) {
   };
 }
 
-function getNodeException(node, nodeObj) {
+function getNodeException(node, nodeObj, processType) {
   let prefix = getProcessEngine();
   let res = []
   let { children } = node;
-  let nodeName = node.getAttribute('name'), nodeFormType = 'designForm', formKey = node.getAttribute(`${prefix}:nodeFormKey`);
+  let nodeName = node.getAttribute('name'), nodeFormType = processType == 0 ? 'designForm' : 'dragForm', formKey = node.getAttribute(`${prefix}:nodeFormKey`);
 
   // if (nodeName.includes('-')) {
   //   nodeFormType = 'designForm';
@@ -145,7 +145,7 @@ function getNodeException(node, nodeObj) {
             // scriptTriggerType: item.attributes?.scriptTriggerType?.nodeValue || 0,
             scriptTriggerType: 0,
             // scriptNodeFormType: item.getAttribute('formType'),
-            scriptNodeFormType: 'designForm',
+            scriptNodeFormType: processType == 0 ? 'designForm' : 'dragForm',
             scriptNodeName: formName,
             // formKey: item.getAttribute('formId')
             formKey: item.getAttribute('compName')
@@ -286,8 +286,11 @@ const blackArr = [
  * 校验节点数据
  * @param {xml对象} xmlObj 
  */
-export function validateNode(xmlObj) {
+export function validateNode(xmlObj, processType) {
   let preFix = getProcessEngine()
+  if (processType == '1') {
+    return { flag: true }
+  }
   let res = { flag: true }, nodeList = xmlObj.all;
   for (let index = 0; index < nodeList.length; index++) {
     const element = nodeList[index];

+ 1 - 1
zkqy-ui/src/views/system/bpmnPro/index.vue

@@ -193,7 +193,7 @@ export default {
         let res = await listForm({ isEnablePaging: false });
         if (res.code == 200) {
           res.rows.forEach((element) => {
-            element.formKey = element.fId;
+            element.formKey = element.fId + "";
             element.formName = element.dfName;
           });
           this.dragFormList = res.rows;