From 47482f386cefd756e1d1a745a5b13949fd709c77 Mon Sep 17 00:00:00 2001
From: xiejun <xj@2023>
Date: 星期三, 22 十一月 2023 18:19:05 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 Source/UBCS-WEB/src/components/Theme/ThemeClassifyTrees.vue |  323 +++++++++++++++++++++++++++++------------------------
 1 files changed, 177 insertions(+), 146 deletions(-)

diff --git a/Source/UBCS-WEB/src/components/Theme/ThemeClassifyTrees.vue b/Source/UBCS-WEB/src/components/Theme/ThemeClassifyTrees.vue
index 69351e6..5854b1a 100644
--- a/Source/UBCS-WEB/src/components/Theme/ThemeClassifyTrees.vue
+++ b/Source/UBCS-WEB/src/components/Theme/ThemeClassifyTrees.vue
@@ -8,22 +8,33 @@
           <div>
             <div style="display: flex; flex-direction: column;">
               <div style="display: flex;">
-                <el-button plain size="small" type="primary" @click="TreeAdd" v-if="permissionList.TreeAddStatus">娣诲姞</el-button>
-                <el-button plain size="small" type="primary" @click="TreeEdit" v-if="permissionList.TreeEditStatus">淇敼</el-button>
-                <el-button plain size="small" type="primary" @click="TreeDel" v-if="permissionList.TreeDelStatus">鍒犻櫎</el-button>
-                <el-button plain size="small" type="primary" @click="flushed" v-if="permissionList.flushedStatus">鍒锋柊</el-button>
+                <el-button v-if="permissionList.TreeAddStatus" plain size="small" type="primary" @click="TreeAdd">娣诲姞
+                </el-button>
+                <el-button v-if="permissionList.TreeEditStatus" plain size="small" type="primary" @click="TreeEdit">淇敼
+                </el-button>
+                <el-button v-if="permissionList.TreeDelStatus" plain size="small" type="primary" @click="TreeDel">鍒犻櫎
+                </el-button>
+                <el-button v-if="permissionList.flushedStatus" plain size="small" type="primary" @click="flushed">鍒锋柊
+                </el-button>
               </div>
               <div style="display: flex; margin-top: 10px">
-                <el-button plain size="small" type="primary" @click="Enable" v-if="permissionList.EnableStatus">鍚敤</el-button>
-                <el-button plain size="small" type="primary" @click="Deactivate" v-if="permissionList.DeactivateStatus">鍋滅敤</el-button>
-                <el-button plain size="small" type="primary" @click.native="ImportExcel" v-if="permissionList.ImportExcelStatus">瀵煎叆</el-button>
-                <el-button plain size="small" type="primary" @click="ExportExcel" v-if="permissionList.ExportExcelStatus">瀵煎嚭</el-button>
+                <el-button v-if="permissionList.EnableStatus" plain size="small" type="primary" @click="Enable">鍚敤
+                </el-button>
+                <el-button v-if="permissionList.DeactivateStatus" plain size="small" type="primary" @click="Deactivate">
+                  鍋滅敤
+                </el-button>
+                <el-button v-if="permissionList.ImportExcelStatus" plain size="small" type="primary"
+                           @click.native="ImportExcel">瀵煎叆
+                </el-button>
+                <el-button v-if="permissionList.ExportExcelStatus" plain size="small" type="primary"
+                           @click="ExportExcel">瀵煎嚭
+                </el-button>
               </div>
             </div>
             <div style="display: flex;justify-content: space-around;margin-top: 5px;margin-bottom: 5px">
             </div>
           </div>
-<!--          宸︿晶鏍�-->
+          <!--          宸︿晶鏍�-->
           <div style="height: calc(100vh - 230px);overflow: auto">
             <avue-tree ref="tree" v-model="CloneTreeAvueform" v-loading="loading" :data="CloneTreedata"
                        :defaultExpandAll="false"
@@ -66,10 +77,10 @@
               <el-form-item label="鏄惁鍙備笌鍏抽敭灞炴�ф牎楠岋細" label-width="170px">
                 <el-switch
                   v-model="TreeAddform.codeKeyAttrValue"
-                  active-text="鏄�"
-                  inactive-text="鍚�"
                   active-color="#13ce66"
+                  active-text="鏄�"
                   inactive-color="#ff4949"
+                  inactive-text="鍚�"
                   @change="switchChange">
                 </el-switch>
               </el-form-item>
@@ -117,9 +128,11 @@
                   </template>
 
             <template slot="menuLeft">
-              <el-button plain size="small" type="primary" @click="FindeHanler" v-if="permissionList.FindStatus">鏌ヨ</el-button>
-              <el-button plain size="small" type="primary" @click="TemRefresh" v-if="permissionList.TemRefreshStatus">鍒锋柊</el-button>
-              <el-button plain size="small" type="primary" @click="CloneBtn" v-if="permissionList.CloneBtnStuatus">浠庡叾瀹冩ā鏉垮厠闅�</el-button>
+              <el-button v-if="permissionList.FindStatus" plain size="small" type="primary"
+                         @click="FindeHanler">鏌ヨ</el-button>
+              <el-button v-if="permissionList.TemRefreshStatus" plain size="small" type="primary"
+                         @click="TemRefresh">鍒锋柊</el-button>
+              <el-button v-if="permissionList.CloneBtnStuatus" plain size="small" type="primary" @click="CloneBtn">浠庡叾瀹冩ā鏉垮厠闅�</el-button>
               <!--              鏌ヨ瀵硅瘽妗�-->
            <el-dialog :visible.sync="FindFormVisible" append-to-body title="楂樼骇鏌ヨ">
               <div>
@@ -415,6 +428,7 @@
 import {defaultReferDataGrid, referDataGrid} from '@/api/MasterData/master'
 import func from "@/util/func";
 import {mapGetters} from "vuex";
+
 export default {
   name: "classifyTrees.vue",
   data() {
@@ -485,7 +499,7 @@
       Option: {
         addBtn: false,
         index: true,
-        columnBtn:false,
+        columnBtn: false,
         border: true,
         menu: false,
         height: 380,
@@ -597,8 +611,8 @@
         codeRuleOidName: "",
         //瀛樺偍鐨勪笟鍔$被鍨�
         btmTypeName: "",
-        codeKeyAttrValue:true,
-        isParticipateCheck:1
+        codeKeyAttrValue: true,
+        isParticipateCheck: 1
       },
       rules: {
         id: [
@@ -679,7 +693,7 @@
       CloneSelect: [],
       //鍏嬮殕妯℃澘option
       ClonecrudTreeOption: {
-        columnBtn:false,
+        columnBtn: false,
         index: true,
         border: true,
         menu: false,
@@ -790,26 +804,26 @@
   },
   computed: {
     ...mapGetters(["permission"]),
-    permissionList(){
-      return{
-        TreeAddStatus:this.vaildData(this.permission.classifyTree.tree_add,false),
-        TreeEditStatus:this.vaildData(this.permission.classifyTree.tree_edit,false),
-        TreeDelStatus:this.vaildData(this.permission.classifyTree.tree_delete,false),
-        flushedStatus:this.vaildData(this.permission.classifyTree.tree_break,false),
-        EnableStatus:this.vaildData(this.permission.classifyTree.tree_enable,false),
-        DeactivateStatus:this.vaildData(this.permission.classifyTree.tree_stop,false),
-        ImportExcelStatus:this.vaildData(this.permission.classifyTree.tree_import,false),
-        ExportExcelStatus:this.vaildData(this.permission.classifyTree.tree_export,false),
-        FindStatus:this.vaildData(this.permission.classifyTree.manage_search,false),
-        TemRefreshStatus:this.vaildData(this.permission.classifyTree.manage_break,false),
-        CloneBtnStuatus:this.vaildData(this.permission.classifyTree.manage_clone,false),
+    permissionList() {
+      return {
+        TreeAddStatus: this.vaildData(this.permission.classifyTree.tree_add, false),
+        TreeEditStatus: this.vaildData(this.permission.classifyTree.tree_edit, false),
+        TreeDelStatus: this.vaildData(this.permission.classifyTree.tree_delete, false),
+        flushedStatus: this.vaildData(this.permission.classifyTree.tree_break, false),
+        EnableStatus: this.vaildData(this.permission.classifyTree.tree_enable, false),
+        DeactivateStatus: this.vaildData(this.permission.classifyTree.tree_stop, false),
+        ImportExcelStatus: this.vaildData(this.permission.classifyTree.tree_import, false),
+        ExportExcelStatus: this.vaildData(this.permission.classifyTree.tree_export, false),
+        FindStatus: this.vaildData(this.permission.classifyTree.manage_search, false),
+        TemRefreshStatus: this.vaildData(this.permission.classifyTree.manage_break, false),
+        CloneBtnStuatus: this.vaildData(this.permission.classifyTree.manage_clone, false),
       }
     },
     crudTreeOption() {
       return {
         index: true,
         border: true,
-        columnBtn:false,
+        columnBtn: false,
         height: 180,
         addBtn: this.Formlist.length <= 0 && this.nodeClickList != "",
         editBtn: false,
@@ -866,7 +880,7 @@
   },
   methods: {
     // switch
-    switchChange(){
+    switchChange() {
       this.TreeAddform.isParticipateCheck = this.TreeAddform.codeKeyAttrValue === true ? 1 : 0;
       // console.log(this.TreeAddform.isParticipateCheck)
     },
@@ -944,7 +958,7 @@
         this.$set(this.TreeAddform, 'codeRuleOidName', this.masterName)
         this.$set(this.TreeAddform, 'codeRuleOid', this.masterOid)
         this.$emit('MasterHandler', this.loneTreeNewForm)
-        this.masterRow=null;
+        this.masterRow = null;
       }
     },
     //缂栫爜鎺ュ彛
@@ -953,7 +967,7 @@
         referType: 'coderule',
         isMuti: 'false',
         'conditionMap["lcstatus"]': 'Released',
-        'limit':'-1',
+        'limit': '-1',
         ...masterParameter
       }).then(res => {
         this.masterData = res.data.records;
@@ -974,7 +988,7 @@
         this.KeySelectLIst = []
         this.$set(this.TreeAddform, 'codeKeyAttrRepeatOidName', this.KeyName)
         this.$set(this.TreeAddform, 'codeKeyAttrRepeatOid', this.KeyOid)
-        this.masterRow=null;
+        this.masterRow = null;
       }
     },
     //鍏抽敭灞炴�ф煡璇�
@@ -989,7 +1003,7 @@
         referType: 'codekeyattrrepeat',
         isMuti: 'false',
         'conditionMap["lcstatus"]': 'Enabled',
-        'limit':'-1',
+        'limit': '-1',
         ...masterParameter
       }).then(res => {
         this.KeyData = res.data.records;
@@ -1019,7 +1033,7 @@
         this.$set(this.TreeAddform, 'codeResembleRuleOidName', this.simName)
         this.$set(this.TreeAddform, 'codeResembleRuleOid', this.simOid)
         this.$emit('MasterHandler', this.loneTreeNewForm)
-        this.masterRow=null;
+        this.masterRow = null;
       }
     },
     //鐩镐技椤规煡璇�
@@ -1041,7 +1055,7 @@
         referType: 'coderesemblerule',
         isMuti: 'false',
         'conditionMap["lcstatus"]': 'Enabled',
-        'limit':'-1',
+        'limit': '-1',
         ...masterParameter
       }).then(res => {
         this.simData = res.data.records;
@@ -1065,7 +1079,7 @@
         this.$set(this.TreeAddform, 'btmTypeName', this.btmName)
         this.$set(this.TreeAddform, 'btmTypeId', this.btmOid)
         this.$emit('MasterHandler', this.loneTreeNewForm)
-        this.masterRow=null;
+        this.masterRow = null;
       }
     },
     //涓氬姟绫诲瀷鏌ヨ
@@ -1083,7 +1097,7 @@
     },
     //涓氬姟绫诲瀷鎺ュ彛
     btmdefaultRend(masterParameter) {
-      referDataGrid({valueField: 'id', isMuti: 'false','limit':'-1', ...masterParameter}).then(res => {
+      referDataGrid({valueField: 'id', isMuti: 'false', 'limit': '-1', ...masterParameter}).then(res => {
         this.BtmData = res.data.data.records
       })
     },
@@ -1100,26 +1114,33 @@
     },
     //鍒嗙被鏍戞暟鎹鐞�
     getAttr() {
-      getAtrrList().then(res => {
-        this.Treedata = res.data;
-        this.CloneTreedata = res.data;
-        this.Treedata.forEach(() => {
-          for (let i = 0; i < this.Treedata.length; i++) {
-            this.Treedata[i].value = i;
-          }
-        })
-        //璋冪敤淇敼灞炴�у悕鏂规硶
-        this.ModifyProperties(this.CloneTreedata, 'name', 'label');
-        this.CloneTreedata = this.CloneTreedata.map(item => {
-          if (item.attributes.lcStatus === "Disabled") {
-            item.label += '銆愬仠鐢ㄣ��';
-          }
-          return item;
-        });
-      }).catch(res => {
-        this.$message.error(res)
-
-      })
+      this.loading = true;
+      return new Promise((resolve, reject) => {
+        getAtrrList()
+          .then(res => {
+            this.Treedata = res.data;
+            this.CloneTreedata = res.data;
+            this.Treedata.forEach(() => {
+              for (let i = 0; i < this.Treedata.length; i++) {
+                this.Treedata[i].value = i;
+              }
+            })
+            //璋冪敤淇敼灞炴�у悕鏂规硶
+            this.ModifyProperties(this.CloneTreedata, 'name', 'label');
+            this.CloneTreedata = this.CloneTreedata.map(item => {
+              if (item.attributes.lcStatus === "Disabled") {
+                item.label += '銆愬仠鐢ㄣ��';
+              }
+              return item;
+            });
+            this.loading = false;
+            resolve(); // 瀹屾垚璇锋眰锛岃皟鐢╮esolve鏂规硶
+          })
+          .catch(error => {
+            this.$message.error(error)
+            reject(error); // 璇锋眰鍑洪敊锛岃皟鐢╮eject鏂规硶
+          });
+      });
     },
     //瀹氫箟涓�涓慨鏀规暟鎹睘鎬у悕鐨勬柟娉�
     ModifyProperties(obj, oldName, newName) {
@@ -1166,35 +1187,31 @@
       this.$refs.myForm.clearValidate();
     },
     //鏍戣妭鐐规坊鍔犱簨浠�
-    TreeAddHandler() {
+    async TreeAddHandler() {
       if ((!this.TreeAddform.id || !this.TreeAddform.name) || (this.TreeFlagCode && !this.TreeAddform.btmTypeName)) {
         this.$message.warning('璇疯緭鍏ュ唴瀹癸紒');
-      } else {
+        return;
+      }
+      try {
         const data = this.TreeAddform;
         this.$set(data, "parentCodeClassifyOid", this.nodeClickList.oid);
-        TreeSave(data)
-          .then(() => {
-            this.$message({
-              type: "success",
-              message: "娣诲姞鎴愬姛!",
-            });
-            Object.keys(this.TreeAddform).forEach(key => {
-              this.TreeAddform[key] = "";
-              this.TreeAddform.codeKeyAttrValue = true;
-              this.TreeAddform.isParticipateCheck = 1;
-            });
-            this.getAttr();
-            this.TreeAddFormVisible = false;
-            //娣诲姞瀹屾垚鍚庡彸渚ф竻绌�
-            this.ProData = [];
-            this.Formlist = [];
-          })
-          .catch((res) => {
-            this.$message({
-              type: "warning",
-              message: res,
-            });
-          });
+        await TreeSave(data)
+        this.$message.success("娣诲姞鎴愬姛!");
+        Object.keys(this.TreeAddform).forEach(key => {
+          this.TreeAddform[key] = "";
+        });
+        this.TreeAddform.codeKeyAttrValue = true;
+        this.TreeAddform.isParticipateCheck = 1;
+        this.getAttr();
+        this.TreeAddFormVisible = false;
+        //娣诲姞瀹屾垚鍚庡彸渚ф竻绌�
+        this.ProData = [];
+        this.Formlist = [];
+      } catch (res) {
+        this.$message({
+          type: "warning",
+          message: res,
+        });
       }
     },
     //鏍戣妭鐐瑰垹闄ゆ寜閽�
@@ -1265,82 +1282,96 @@
       }
     },
     //鏍戝埛鏂�
-    flushed() {
-      this.loading = true
-      this.getAttr()
-      setTimeout(() => {
-        this.loading = false;
+    async flushed() {
+        await this.getAttr()
         this.$refs.tree.setCurrentKey(null);
         this.nodeClickList = {}
         this.TreeList = []
         this.TreeFlagCode = true;
-      }, 600);
     },
     //鍚敤鍜屽仠鐢ㄩ兘鍏堝垽鏂姸鎬�
     //鍚敤
-    Enable() {
+    async Enable() {
       if (Object.keys(this.nodeClickList).length < 1) {
-        this.$message.warning('璇峰厛浠庢爲涓婇�夋嫨涓�鏉℃暟鎹�')
-      } else {
-        if (this.FlagObj.lcStatus == "Enabled") {
-          this.$message({
-            type: 'warning',
-            message: '褰撳墠鍒嗙被涓嶆槸鍋滅敤鐘舵��'
-          });
-        } else {
-          this.$confirm('鏄惁灏嗗瓙鍒嗙被涓�骞跺惎鐢紵', '鎻愮ず', {
-            confirmButtonText: '鏄�',
-            cancelButtonText: '鍙栨秷',
-            type: 'warning'
-          }).then(() => {
-            TreeEnable(this.nodeClickList).then(() => {
-              this.$message({
-                type: 'success',
-                message: '鍚敤鎴愬姛!'
-              });
-              this.getAttr()
-            })
-          }).catch(() => {
+        this.$message.warning('璇峰厛浠庢爲涓婇�夋嫨涓�鏉℃暟鎹�');
+        return;
+      }
+      if (this.FlagObj.lcStatus == "Enabled") {
+        this.$message({
+          type: 'warning',
+          message: '褰撳墠鍒嗙被涓嶆槸鍋滅敤鐘舵��'
+        });
+        return;
+      }
+      this.loading = true;
+      try {
+        const confirmResult = await this.$confirm('鏄惁灏嗗瓙鍒嗙被涓�骞跺惎鐢紵', '鎻愮ず', {
+          confirmButtonText: '鏄�',
+          cancelButtonText: '鍙栨秷',
+          type: 'warning'
+        });
+        if (confirmResult) {
+          await TreeEnable(this.nodeClickList).then(res => {
             this.$message({
-              type: 'info',
-              message: '宸插彇娑堝惎鐢�'
+              type: 'success',
+              message: '鍚敤鎴愬姛!'
             });
+          })
+          await this.getAttr();
+
+        } else {
+          this.$message({
+            type: 'info',
+            message: '宸插彇娑堝惎鐢�'
           });
         }
+      } catch (error) {
+        console.error(error);
+      } finally {
+        this.loading = false;
+      }
+    },
+
+    async Deactivate() {
+      if (Object.keys(this.nodeClickList).length < 1) {
+        this.$message.warning('璇峰厛浠庢爲涓婇�夋嫨涓�鏉℃暟鎹�');
+        return;
       }
 
-    },
-    //鍋滅敤
-    Deactivate() {
-      if (Object.keys(this.nodeClickList).length < 1) {
-        this.$message.warning('璇峰厛浠庢爲涓婇�夋嫨涓�鏉℃暟鎹�')
-      } else {
-        if (this.FlagObj.lcStatus === "Disabled") {
-          this.$message({
-            type: 'warning',
-            message: '褰撳墠鍒嗙被涓嶆槸鍚敤鐘舵��!'
-          });
-        } else {
-          this.$confirm('鏄惁鍋滅敤褰撳墠鍒嗙被锛屽仠鐢ㄥ悗锛屽瓙鍒嗙被涔熷皢涓嶈兘琚娇鐢紝鏄惁缁х画锛�', '鎻愮ず', {
-            confirmButtonText: '纭畾',
-            cancelButtonText: '鍙栨秷',
-            type: 'warning'
-          }).then(() => {
-            TreeDeactivate(this.nodeClickList).then(() => {
-              this.$message({
-                type: 'success',
-                message: '鍋滅敤鎴愬姛!'
-              });
-              this.nodeClickList['flag'] = true;
-              this.getAttr()
-            })
-          }).catch(() => {
+      if (this.FlagObj.lcStatus === "Disabled") {
+        this.$message({
+          type: 'warning',
+          message: '褰撳墠鍒嗙被涓嶆槸鍚敤鐘舵��!'
+        });
+        return;
+      }
+
+      this.loading = true;
+      try {
+        const confirmResult = await this.$confirm('鏄惁鍋滅敤褰撳墠鍒嗙被锛屽仠鐢ㄥ悗锛屽瓙鍒嗙被涔熷皢涓嶈兘琚娇鐢紝鏄惁缁х画锛�', '鎻愮ず', {
+          confirmButtonText: '纭畾',
+          cancelButtonText: '鍙栨秷',
+          type: 'warning'
+        });
+        if (confirmResult) {
+          await TreeDeactivate(this.nodeClickList).then(res => {
             this.$message({
-              type: 'info',
-              message: '宸插彇娑堝仠鐢�'
+              type: 'success',
+              message: '鍋滅敤鎴愬姛!'
             });
+          })
+          this.nodeClickList['flag'] = true;
+          await this.getAttr();
+        } else {
+          this.$message({
+            type: 'info',
+            message: '宸插彇娑堝仠鐢�'
           });
         }
+      } catch (error) {
+        console.error(error);
+      } finally {
+        this.loading = false;
       }
     },
     //鏍戠偣鍑讳簨浠�
@@ -1375,8 +1406,8 @@
           this.crudOid = ''
         }
         this.TreeList = res3.data.data;
-        if(this.TreeList.isParticipateCheck === null || this.TreeList.isParticipateCheck === undefined ||this.TreeList.isParticipateCheck === ""){
-          this.$set(this.TreeList,"isParticipateCheck",1)
+        if (this.TreeList.isParticipateCheck === null || this.TreeList.isParticipateCheck === undefined || this.TreeList.isParticipateCheck === "") {
+          this.$set(this.TreeList, "isParticipateCheck", 1)
           return
         }
       } catch (error) {

--
Gitblit v1.9.3