From 3f3de7e4cea0d9692cddd71df1e0c3d96a301fd1 Mon Sep 17 00:00:00 2001
From: wangting <675591594@qq.com>
Date: 星期三, 06 十一月 2024 16:12:10 +0800
Subject: [PATCH] 修改业务类型

---
 Source/plt-web/plt-web-ui/src/views/modelingMenu/modeling/businessType/index.vue |  213 ++++++++++++++++++++++++++++++-----------------------
 1 files changed, 120 insertions(+), 93 deletions(-)

diff --git a/Source/plt-web/plt-web-ui/src/views/modelingMenu/modeling/businessType/index.vue b/Source/plt-web/plt-web-ui/src/views/modelingMenu/modeling/businessType/index.vue
index 646a7e6..88a6823 100644
--- a/Source/plt-web/plt-web-ui/src/views/modelingMenu/modeling/businessType/index.vue
+++ b/Source/plt-web/plt-web-ui/src/views/modelingMenu/modeling/businessType/index.vue
@@ -215,15 +215,15 @@
                            :props="{label: 'id', value: 'id'}"
                            :dic="lifeData"></avue-select>
             </el-form-item>
-
             <el-form-item label="澶囬�夌敓鍛藉懆鏈熷垪琛細" label-width="138px">
               <avue-select multiple
                            :filterable="true"
-                           v-model="form.subLifeCycleId"
+                           v-model="form.subLifeCycleIdList"
                            placeholder="璇烽�夋嫨鐢熷懡鍛ㄦ湡"
                            :props="{label: 'id', value: 'id'}"
                            type="tree"
-                           :dic="lifeData"></avue-select>
+                           :dic="subLifeData"
+                           @change="subLifeChange"></avue-select>
             </el-form-item>
           </div>
         </div>
@@ -554,6 +554,8 @@
       versionAddFlag: false,
       inheritTreeData: [],
       lifeData: [],//鐢熷懡鍛ㄦ湡涓嬫媺鏁版嵁
+      subLifeData:[],//澶囬�夌敓鍛藉懆鏈熶笅鎷夋暟鎹�
+      allLifeData:[],
       versionData: [],//鐗堟湰瑙勫垯鏁版嵁
       dialogAttrSelectList: [],
       searchAttrParams: {},
@@ -707,7 +709,8 @@
         delimiter: '', // 鍒嗛殧绗�
         versionRule: '0', // 鐗堟鍙疯鍒�
         lifeCycleId: '', // 鐢熷懡鍛ㄦ湡
-        subLifeCycleId: [], // 鐢熷懡鍛ㄦ湡澶囬�夊垪琛�,
+        subLifeCycleId: '', // 鐢熷懡鍛ㄦ湡澶囬�夊垪琛�,
+        subLifeCycleIdList:[],
         apNameArray: "", // 灞炴�ф睜鍒楄〃鈥欙紝鈥樺垎闅�
       },
       nodeRow: {},
@@ -748,6 +751,19 @@
     this.getLifeCycle();
   },
   mounted() {
+  },
+  watch:{
+    'form.lifeCycleId':{
+      handler(newval) {
+        if(this.form.lifeCycleId){
+          this.subLifeData = this.allLifeData.filter(item=>{
+            return item.id!=this.form.lifeCycleId
+          });
+        }else {
+          this.subLifeData = this.allLifeData
+        }
+      },
+    }
   },
   methods: {
     //鏍戣〃鏌ヨ
@@ -790,7 +806,7 @@
     //鑾峰彇鐢熷懡鍛ㄦ湡鏁版嵁
     getLifeCycle(){
       gridLifeCycle().then(res => {
-        this.lifeData = res.data.data;
+        this.allLifeData=res.data.data;
       });
     },
     // 鍒涘缓鎸夐挳
@@ -801,10 +817,107 @@
       }
       this.title = 'add';
       this.form.fName = this.nodeRow.id === 'topNode' ? "" : this.nodeRow.id;
+      this.lifeData = this.allLifeData;
+      this.subLifeData = this.allLifeData;
       this.form.inputRevisionFlag = JSON.parse(this.form.inputRevisionFlag); // 瀛楃涓瞗alse杞崲涓哄竷灏斿��
       this.visible = true;
     },
 
+    // 鏂板缂栬緫淇濆瓨
+    addDialogSavaHandler() {
+      if (this.form.revLevel !== '0' &&!this.form.inputRevisionFlag && (!this.form.revisionRuleId || this.form.revisionRuleId === "")) {
+        this.$message.error('璇锋鏌ョ増鏈彿瑙勫垯涓嶈兘涓虹┖');
+        return;
+      }
+      this.form.lifeCycleIds=this.form.subLifeCycleIdList.join(',');
+      this.form.subLifeCycleId=this.form.subLifeCycleIdList.join(',');
+      this.form.apNameArray = this.dialogAttrData ? this.dialogAttrData.map(item => item.id).join(',') : "";
+      this.$refs.form.validate((valid) => {
+        const saveFunction = this.title === 'add' ? addLifeCycle : updateLifeCycle;
+        if (valid) {
+          if (this.form.revLevel === 0) {
+            this.form.versionRule = "";
+          }
+          saveFunction(this.form).then(res => {
+            if (res.data.code === 200) {
+              this.$message.success(res.data.obj);
+              this.getTreeList();
+              this.resetForm();
+              this.visible = false;
+            }
+          })
+        } else {
+          return false;
+        }
+      });
+    },
+
+    // 缂栬緫鎸夐挳鐐瑰嚮浜嬩欢
+    editClickHandler() {
+      /**
+       * id 鍚嶇О
+       * name 鏍囩
+       * implClass 瀹炵幇绫�
+       * fName 缁ф壙鑷�
+       * description 鎻忚堪
+       * revLevel 鐗堟湰瑙勫垯
+       * revisionRuleId 鐗堟湰鍙疯鍒�
+       * inputRevisionFlag 鎵嬪伐杈撳叆
+       * delimiter 鍒嗛殧绗�
+       * versionRule 鐗堟鍙疯鍒�
+       * lifeCycleId 鐢熷懡鍛ㄦ湡
+       * lifeCycleIds 鐢熷懡鍛ㄦ湡鍒楄〃
+       * attributes 灞炴�ф睜鍒楄〃
+       */
+      if (func.isEmptyObject(this.nodeRow)) {
+        this.$message.error('璇疯嚦灏戦�夋嫨涓�鏉℃暟鎹�');
+        return;
+      }
+      if (this.nodeRow.id === 'topNode') {
+        this.$message.error('璇烽�夋嫨瀛愯妭鐐硅繘琛屼慨鏀�')
+        return;
+      }
+      this.form = {...this.nodeRow};
+      this.form.inputRevisionFlag = JSON.parse(this.form.inputRevisionFlag); // 瀛楃涓瞗alse杞崲涓哄竷灏斿��
+      // this.form.fName = this.nodeRow.id === 'topNode' ? "" : this.nodeRow.id;
+      this.form.subLifeCycleIdList = this.nodeRow.lifeCycleIds.split(',');
+      this.dialogAttrData = this.nodeRow.attributes ? JSON.parse(this.nodeRow.attributes) : [];
+      function  processChildren(item,fName) {
+        if (item.children && item.children.length > 0) {
+          item.children = item.children.map(child => {
+            processChildren(child,fName); // 閫掑綊澶勭悊姣忎釜瀛愯妭鐐�
+            if(fName==child.id){
+              child.disabled=true;
+            }else {
+              child.disabled=false;
+            }
+            return child;
+          });
+        }
+      };
+      const inheritTreeData=this.inheritTreeData.map(item => {
+        processChildren(item,this.form.id); // 澶勭悊姣忎釜鑺傜偣
+        if(this.form.id==item.id){
+          item.disabled=true;
+        }else {
+          item.disabled=false;
+        }
+        return item;
+      });
+      this.inheritTreeData=inheritTreeData
+      this.title = 'edit';
+      this.visible = true;
+    },
+
+    subLifeChange(data){
+      if (data.value.length == 0) {
+        this.lifeData = this.allLifeData
+      } else {
+        this.lifeData = this.allLifeData.filter(item => {
+          return !data.value.includes(item.id)
+        });
+      }
+    },
     // 瀵硅瘽妗� 灞炴�ф睜鍒楄〃澧炲姞鎸夐挳
     addDialogClickHandler() {
       this.dialogAttrLoading = true;
@@ -947,7 +1060,8 @@
         delimiter: '', // 鍒嗛殧绗�
         versionRule: '0', // 鐗堟鍙疯鍒�
         lifeCycleId: '', // 鐢熷懡鍛ㄦ湡
-        subLifeCycleId: [], // 鐢熷懡鍛ㄦ湡澶囬�夊垪琛�,
+        subLifeCycleId: '', // 鐢熷懡鍛ㄦ湡澶囬�夊垪琛�,
+        subLifeCycleIdList:[],
         lifeCycleIds:'',
         apNameArray: "", // 灞炴�ф睜鍒楄〃鈥欙紝鈥樺垎闅�
       };
@@ -968,93 +1082,6 @@
       this.form.delimiter = "";
       this.form.versionRule = "0";
       this.form.revisionRuleId = "";
-    },
-
-    // 鏂板缂栬緫淇濆瓨
-    addDialogSavaHandler() {
-      if (this.form.revLevel !== '0' &&!this.form.inputRevisionFlag && (!this.form.revisionRuleId || this.form.revisionRuleId === "")) {
-        this.$message.error('璇锋鏌ョ増鏈彿瑙勫垯涓嶈兘涓虹┖');
-        return;
-      }
-      this.form.lifeCycleIds=this.form.subLifeCycleId.join(',');
-      this.form.apNameArray = this.dialogAttrData ? this.dialogAttrData.map(item => item.id).join(',') : "";
-      this.$refs.form.validate((valid) => {
-        const saveFunction = this.title === 'add' ? addLifeCycle : updateLifeCycle;
-        if (valid) {
-          if (this.form.revLevel === 0) {
-            this.form.versionRule = "";
-          }
-          saveFunction(this.form).then(res => {
-            if (res.data.code === 200) {
-              this.$message.success(res.data.obj);
-              this.getTreeList();
-              this.resetForm();
-              this.visible = false;
-            }
-          })
-        } else {
-          return false;
-        }
-      });
-    },
-
-    // 缂栬緫鎸夐挳鐐瑰嚮浜嬩欢
-    editClickHandler() {
-      /**
-       * id 鍚嶇О
-       * name 鏍囩
-       * implClass 瀹炵幇绫�
-       * fName 缁ф壙鑷�
-       * description 鎻忚堪
-       * revLevel 鐗堟湰瑙勫垯
-       * revisionRuleId 鐗堟湰鍙疯鍒�
-       * inputRevisionFlag 鎵嬪伐杈撳叆
-       * delimiter 鍒嗛殧绗�
-       * versionRule 鐗堟鍙疯鍒�
-       * lifeCycleId 鐢熷懡鍛ㄦ湡
-       * lifeCycleIds 鐢熷懡鍛ㄦ湡鍒楄〃
-       * attributes 灞炴�ф睜鍒楄〃
-       */
-      if (func.isEmptyObject(this.nodeRow)) {
-        this.$message.error('璇疯嚦灏戦�夋嫨涓�鏉℃暟鎹�');
-        return;
-      }
-      if (this.nodeRow.id === 'topNode') {
-        this.$message.error('璇烽�夋嫨瀛愯妭鐐硅繘琛屼慨鏀�')
-        return;
-      }
-      this.form = {...this.nodeRow};
-      this.form.inputRevisionFlag = JSON.parse(this.form.inputRevisionFlag); // 瀛楃涓瞗alse杞崲涓哄竷灏斿��
-      // this.form.fName = this.nodeRow.id === 'topNode' ? "" : this.nodeRow.id;
-      this.form.subLifeCycleId = (this.nodeRow.lifeCycleIds && this.nodeRow.lifeCycleIds.trim())
-        ? this.nodeRow.lifeCycleIds.split(',').map(item => ({id: item.trim()}))
-        : [];
-      this.dialogAttrData = this.nodeRow.attributes ? JSON.parse(this.nodeRow.attributes) : [];
-      function  processChildren(item,fName) {
-        if (item.children && item.children.length > 0) {
-          item.children = item.children.map(child => {
-            processChildren(child,fName); // 閫掑綊澶勭悊姣忎釜瀛愯妭鐐�
-            if(fName==child.id){
-              child.disabled=true;
-            }else {
-              child.disabled=false;
-            }
-            return child;
-          });
-        }
-      };
-      const inheritTreeData=this.inheritTreeData.map(item => {
-        processChildren(item,this.form.id); // 澶勭悊姣忎釜鑺傜偣
-        if(this.form.id==item.id){
-          item.disabled=true;
-        }else {
-          item.disabled=false;
-        }
-        return item;
-      });
-      this.inheritTreeData=inheritTreeData
-      this.title = 'edit';
-      this.visible = true;
     },
 
     // 鍒犻櫎鎸夐挳

--
Gitblit v1.9.3