From ca420bd9c09b51a404ade3e0106257725df727be Mon Sep 17 00:00:00 2001
From: 田源 <lastanimals@163.com>
Date: 星期三, 01 十一月 2023 11:32:28 +0800
Subject: [PATCH] 整合代码

---
 Source/UBCS-WEB/src/components/Theme/ThemeClassifyTrees.vue |  171 +++++++++++++++++++++++++++++++++++++-------------------
 1 files changed, 112 insertions(+), 59 deletions(-)

diff --git a/Source/UBCS-WEB/src/components/Theme/ThemeClassifyTrees.vue b/Source/UBCS-WEB/src/components/Theme/ThemeClassifyTrees.vue
index 4030c0d..a957de2 100644
--- a/Source/UBCS-WEB/src/components/Theme/ThemeClassifyTrees.vue
+++ b/Source/UBCS-WEB/src/components/Theme/ThemeClassifyTrees.vue
@@ -8,16 +8,16 @@
           <div>
             <div style="display: flex; flex-direction: column;">
               <div style="display: flex;">
-                <el-button plain size="small" type="primary" @click="TreeAdd">娣诲姞</el-button>
-                <el-button plain size="small" type="primary" @click="TreeEdit">淇敼</el-button>
-                <el-button plain size="small" type="primary" @click="TreeDel">鍒犻櫎</el-button>
-                <el-button plain size="small" type="primary" @click="flushed">鍒锋柊</el-button>
+                <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>
               </div>
               <div style="display: flex; margin-top: 10px">
-                <el-button plain size="small" type="primary" @click="Enable">鍚敤</el-button>
-                <el-button plain size="small" type="primary" @click="Deactivate">鍋滅敤</el-button>
-                <el-button plain size="small" type="primary" @click.native="ImportExcel">瀵煎叆</el-button>
-                <el-button plain size="small" type="primary" @click="ExportExcel">瀵煎嚭</el-button>
+                <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>
               </div>
             </div>
             <div style="display: flex;justify-content: space-around;margin-top: 5px;margin-bottom: 5px">
@@ -63,16 +63,18 @@
           </el-dialog>
           <!--        淇敼瀵硅瘽妗�-->
           <el-dialog :visible.sync="TreeEditFormVisible" append-to-body title="淇敼鍒嗙被">
-            <classifyTreeform ref="childForm" :Editclose=" ()=>{TreeEditFormVisible=false}" :TreeFlag="editTreeFLagCode" :flag="'edit'"
+            <classifyTreeform ref="childForm" :Editclose=" ()=>{TreeEditFormVisible=false}" :TreeFlag="editTreeFLagCode"
+                              :flag="'edit'"
                               :loneTreeNewForm="TreeList" :nodeClickList="nodeClickList"
                               :nodeList="nodeList" @MasterHandler="MasterHandler" @flushed="flushed"
                               @referTreeForm="referTreeForm"></classifyTreeform>
           </el-dialog>
+<!--          宸︿晶鏍�-->
           <avue-tree ref="tree" v-model="CloneTreeAvueform" v-loading="loading" :data="CloneTreedata"
                      :defaultExpandAll="false"
                      :option="Treeoption"
                      class="classifyTree"
-                     style="height: calc(100vh - 230px);"
+                     style="height: calc(100vh - 230px)"
                      @node-click="nodeClick"
           >
           </avue-tree>
@@ -102,9 +104,9 @@
                   </template>
 
             <template slot="menuLeft">
-              <el-button plain size="small" type="primary" @click="FindeHanler">鏌ヨ</el-button>
-              <el-button plain size="small" type="primary" @click="TemRefresh">鍒锋柊</el-button>
-              <el-button plain size="small" type="primary" @click="CloneBtn">浠庡叾瀹冩ā鏉垮厠闅�</el-button>
+              <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-dialog :visible.sync="FindFormVisible" append-to-body title="楂樼骇鏌ヨ">
               <div>
@@ -141,7 +143,7 @@
                         <avue-tree ref="cloneTree" v-model="TreeAvueform" v-loading="loading" :data="Treedata"
                                    :defaultExpandAll="false"
                                    :option="Treeoption"
-                                   style="height: 50.5vh;margin-right: 10px"
+                                   style="height: 50.5vh;margin-right: 10px;width: 300px"
                                    @node-click="ClonenodeClick"
                         >
                         </avue-tree>
@@ -233,7 +235,8 @@
                        :rowIndex="this.selectRow"></templatePro>
         </span>
         <!--     缂栫爜瑙勫垯-->
-        <el-dialog :visible.sync="MasterdialogVisible" append-to-body title="涓恒�愮紪鐮佽鍒欍�戦�夊彇鍊�" :before-close="masterEscHandler">
+        <el-dialog :before-close="masterEscHandler" :visible.sync="MasterdialogVisible" append-to-body
+                   title="涓恒�愮紪鐮佽鍒欍�戦�夊彇鍊�">
           <template>
             <el-select v-model="SelectValue" placeholder="璇烽�夋嫨" style="width: 135px">
               <el-option
@@ -248,7 +251,7 @@
             <el-button plain size="small" style="margin-left: 20px" type="primary" @click="SelectFindeHandler">鏌ヨ
             </el-button>
           </template>
-          <avue-crud :data="masterData" :option="masterOption" @row-click="masterSelect">
+          <avue-crud :data="masterData" :option="Option" @row-click="masterSelect">
             <template slot="radio" slot-scope="{row}">
               <el-radio v-model="masterRow" :label="row.$index" style="padding-left: 10px !important;">{{ '' }}
               </el-radio>
@@ -266,7 +269,7 @@
           </div>
         </el-dialog>
         <!--      鍏抽敭灞炴�ф煡璇㈣鍒�-->
-        <el-dialog :visible.sync="KeydialogVisible" append-to-body title="涓恒�愬叧閿睘鎬ф煡璇㈣鍒欍�戦�夊彇鍊�" :before-close="KeyEscHandler">
+        <el-dialog :before-close="KeyEscHandler" :visible.sync="KeydialogVisible" append-to-body title="涓恒�愬叧閿睘鎬ф煡璇㈣鍒欍�戦�夊彇鍊�">
           <template>
             <el-select v-model="SelectValue" placeholder="璇烽�夋嫨" style="width: 135px">
               <el-option
@@ -281,7 +284,7 @@
             <el-button plain size="small" style="margin-left: 20px" type="primary" @click="KeySelectFindeHandler">鏌ヨ
             </el-button>
           </template>
-          <avue-crud :data="KeyData" :option="masterOption" @row-click="KeySelect">
+          <avue-crud :data="KeyData" :option="Option" @row-click="KeySelect">
             <template slot="radio" slot-scope="{row}">
               <el-radio v-model="masterRow" :label="row.$index" style="padding-left: 10px !important;">{{ '' }}
               </el-radio>
@@ -290,7 +293,9 @@
           <div style="height: 30px">
             <div
               style="display: inline-block;float: left;border: 1px solid #eeeeee;padding: 5px;margin-top: 5px;font-size: 14px ">
-              宸茶缃殑鍊间负:[{{ this.TreeAddform.codeKeyAttrRepeatOidName == '' ? '鏈缃��' : this.TreeAddform.codekeyattrrepeatoidName }}]
+              宸茶缃殑鍊间负:[{{
+                this.TreeAddform.codeKeyAttrRepeatOidName == '' ? '鏈缃��' : this.TreeAddform.codekeyattrrepeatoidName
+              }}]
             </div>
             <div style="padding-top: 10px;display: flex; justify-content: flex-end;float: right;overflow: hidden">
               <el-button size="small" type="primary" @click="KeyHandlerClick">纭畾</el-button>
@@ -299,7 +304,7 @@
           </div>
         </el-dialog>
         <!--      鐩镐技椤规煡璇㈣鍒�-->
-        <el-dialog :visible.sync="SimidialogVisible" append-to-body title="涓恒�愮浉浼奸」鏌ヨ瑙勫垯銆戦�夊彇鍊�" :before-close="simEscHandler">
+        <el-dialog :before-close="simEscHandler" :visible.sync="SimidialogVisible" append-to-body title="涓恒�愮浉浼奸」鏌ヨ瑙勫垯銆戦�夊彇鍊�">
           <template>
             <el-select v-model="SelectValue" placeholder="璇烽�夋嫨" style="width: 135px">
               <el-option
@@ -314,7 +319,7 @@
             <el-button plain size="small" style="margin-left: 20px" type="primary" @click="SimSelectFindeHandler">鏌ヨ
             </el-button>
           </template>
-          <avue-crud :data="simData" :option="masterOption" @row-click="simSelect">
+          <avue-crud :data="simData" :option="Option" @row-click="simSelect">
             <template slot="radio" slot-scope="{row}">
               <el-radio v-model="masterRow" :label="row.$index" style="padding-left: 10px !important;">{{ '' }}
               </el-radio>
@@ -323,7 +328,9 @@
           <div style="height: 30px">
             <div
               style="display: inline-block;float: left;border: 1px solid #eee;padding: 5px;margin-top: 5px;font-size: 14px ">
-              宸茶缃殑鍊间负:[{{ this.TreeAddform.codeResembleRuleOidName == '' ? '鏈缃��' : this.TreeAddform.codeResembleRuleOidName }}]
+              宸茶缃殑鍊间负:[{{
+                this.TreeAddform.codeResembleRuleOidName == '' ? '鏈缃��' : this.TreeAddform.codeResembleRuleOidName
+              }}]
             </div>
             <div style="padding-top: 10px;display: flex; justify-content: flex-end;float: right;overflow: hidden">
               <el-button size="small" type="primary" @click="simHandlerClick">纭畾</el-button>
@@ -332,7 +339,7 @@
           </div>
         </el-dialog>
         <!--        涓氬姟绫诲瀷-->
-        <el-dialog :visible.sync="BtmdialogVisible" append-to-body title="涓恒�愪笟鍔$被鍨嬭鍒欍�戦�夊彇鍊�" :before-close="BtmEscHandler">
+        <el-dialog :before-close="BtmEscHandler" :visible.sync="BtmdialogVisible" append-to-body title="涓恒�愪笟鍔$被鍨嬭鍒欍�戦�夊彇鍊�">
           <template>
             <el-select v-model="SelectValue" placeholder="璇烽�夋嫨" style="width: 135px !important;">
               <el-option
@@ -394,12 +401,9 @@
 } from "@/api/template/templateAttr";
 import {defaultReferDataGrid, referDataGrid} from '@/api/MasterData/master'
 import func from "@/util/func";
-
+import {mapGetters} from "vuex";
 export default {
   name: "classifyTrees.vue",
-  //浣跨敤inject鎺ユ敹鍙傛暟
-  //Treeoption宸︿晶鏍戞柊澧炶〃鍗曢」 Treedata宸︿晶鏍戣妭鐐� 閰嶇疆椤� crudTreeOption鍙充晶琛ㄦ牸閰嶇疆椤� crudTreeData鍙充晶琛ㄦ牸鏄剧ず鍐呭
-  //Treeform鍙充晶琛ㄥ崟閰嶇疆椤�
   inject: ["crudTreeData"],
   data() {
     return {
@@ -466,6 +470,34 @@
           }
         ]
       },
+      Option: {
+        addBtn: false,
+        index: true,
+        columnBtn:false,
+        border: true,
+        menu: false,
+        height: 380,
+        column: [
+          {
+            label: '',
+            prop: 'radio',
+            width: 60,
+            display: false
+          },
+          {
+            label: '鑻辨枃鍚嶇О',
+            prop: 'id'
+          },
+          {
+            label: '涓枃鍚嶇О',
+            prop: 'name'
+          },
+          {
+            label: '鎻忚堪',
+            prop: 'description'
+          }
+        ]
+      },
       SelectOption: [
         {
           value: 'name',
@@ -476,7 +508,7 @@
           label: '鑻辨枃鍚嶇О'
         }
       ],
-      masterSelectOption:[
+      masterSelectOption: [
         {
           value: 'id',
           label: '涓氬姟绫诲瀷缂栧彿'
@@ -633,6 +665,7 @@
       CloneSelect: [],
       //鍏嬮殕妯℃澘option
       ClonecrudTreeOption: {
+        columnBtn:false,
         index: true,
         border: true,
         menu: false,
@@ -728,7 +761,6 @@
     }
   },
   watch: {},
-  //tab鏍忛粯璁ゆ槸琛ㄦ牸
   mounted() {
     this.type = this.tabOption.column[0];
     this.getAttr();
@@ -743,10 +775,27 @@
     }, true)
   },
   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),
+      }
+    },
     crudTreeOption() {
       return {
         index: true,
         border: true,
+        columnBtn:false,
         height: 180,
         addBtn: this.Formlist.length <= 0 && this.nodeClickList != "",
         editBtn: false,
@@ -800,32 +849,35 @@
     }
   },
   created() {
-
   },
   methods: {
     //瀛樺偍鐨勪笟鍔$被鍨嬪叧闂�
-    BtmEscHandler(){
-      this.SelectFInd='';
-      this.SelectValue='id';
-      this.BtmdialogVisible=false;
+    BtmEscHandler() {
+      this.SelectFInd = '';
+      this.SelectValue = 'id';
+      this.masterRow = null;
+      this.BtmdialogVisible = false;
     },
     //鐩镐技椤瑰叧闂�
-    simEscHandler(){
-      this.SelectFInd='';
-      this.SelectValue='id';
-      this.SimidialogVisible=false;
+    simEscHandler() {
+      this.SelectFInd = '';
+      this.SelectValue = 'id';
+      this.masterRow = null;
+      this.SimidialogVisible = false;
     },
     //鍏抽敭灞炴�у叧闂�
-    KeyEscHandler(){
-      this.SelectFInd='';
-      this.SelectValue='id';
-      this.KeydialogVisible=false;
+    KeyEscHandler() {
+      this.SelectFInd = '';
+      this.SelectValue = 'id';
+      this.masterRow = null;
+      this.KeydialogVisible = false;
     },
     //缂栫爜瑙勫垯鍏抽棴
-    masterEscHandler(){
-      this.SelectFInd='';
-      this.SelectValue='id';
-      this.MasterdialogVisible=false;
+    masterEscHandler() {
+      this.SelectFInd = '';
+      this.SelectValue = 'id';
+      this.masterRow = null;
+      this.MasterdialogVisible = false;
     },
     // 鍏抽棴寮圭獥
     /** 瀵煎叆 */
@@ -858,7 +910,7 @@
     //缂栫爜瑙勫垯鏌ヨ
     SelectFindeHandler() {
       const masterParameter = {};
-      masterParameter[`conditionMap['${this.SelectValue}']`] = `*${this.SelectFInd}*`;
+      masterParameter[`conditionMap['${this.SelectValue}']`] = this.SelectFInd;
       this.MasterdefaultRend(masterParameter)
     },
     //缂栫爜瑙勫垯纭畾
@@ -873,6 +925,7 @@
         this.$set(this.TreeAddform, 'codeRuleOidName', this.masterName)
         this.$set(this.TreeAddform, 'codeRuleOid', this.masterOid)
         this.$emit('MasterHandler', this.loneTreeNewForm)
+        this.masterRow=null;
       }
     },
     //缂栫爜鎺ュ彛
@@ -881,6 +934,7 @@
         referType: 'coderule',
         isMuti: 'false',
         'conditionMap["lcstatus"]': 'Released',
+        'limit':'-1',
         ...masterParameter
       }).then(res => {
         this.masterData = res.data.records;
@@ -901,12 +955,13 @@
         this.KeySelectLIst = []
         this.$set(this.TreeAddform, 'codeKeyAttrRepeatOidName', this.KeyName)
         this.$set(this.TreeAddform, 'codeKeyAttrRepeatOid', this.KeyOid)
+        this.masterRow=null;
       }
     },
     //鍏抽敭灞炴�ф煡璇�
     KeySelectFindeHandler() {
       const masterParameter = {};
-      masterParameter[`conditionMap['${this.SelectValue}']`] = `*${this.SelectFInd}*`;
+      masterParameter[`conditionMap['${this.SelectValue}']`] = this.SelectFInd;
       this.KeydefaultRend(masterParameter)
     },
     //鍏抽敭灞炴�ф帴鍙�
@@ -915,6 +970,7 @@
         referType: 'codekeyattrrepeat',
         isMuti: 'false',
         'conditionMap["lcstatus"]': 'Enabled',
+        'limit':'-1',
         ...masterParameter
       }).then(res => {
         this.KeyData = res.data.records;
@@ -944,12 +1000,13 @@
         this.$set(this.TreeAddform, 'codeResembleRuleOidName', this.simName)
         this.$set(this.TreeAddform, 'codeResembleRuleOid', this.simOid)
         this.$emit('MasterHandler', this.loneTreeNewForm)
+        this.masterRow=null;
       }
     },
     //鐩镐技椤规煡璇�
     SimSelectFindeHandler() {
       const masterParameter = {};
-      masterParameter[`conditionMap['${this.SelectValue}']`] = `*${this.SelectFInd}*`;
+      masterParameter[`conditionMap['${this.SelectValue}']`] = this.SelectFInd;
       this.simdefaultRend(masterParameter)
     },
     //  鐩镐技椤瑰閫�
@@ -965,6 +1022,7 @@
         referType: 'coderesemblerule',
         isMuti: 'false',
         'conditionMap["lcstatus"]': 'Enabled',
+        'limit':'-1',
         ...masterParameter
       }).then(res => {
         this.simData = res.data.records;
@@ -982,18 +1040,20 @@
       } else if (this.btmSelectList.length <= 0) {
         this.$message.warning('璇烽�夋嫨涓�鏉℃暟鎹�')
       } else {
+        this.$refs.myForm.clearValidate();
         this.BtmdialogVisible = false;
         this.btmSelectList = []
         this.$set(this.TreeAddform, 'btmTypeName', this.btmName)
         this.$set(this.TreeAddform, 'btmTypeId', this.btmOid)
         this.$emit('MasterHandler', this.loneTreeNewForm)
+        this.masterRow=null;
       }
     },
     //涓氬姟绫诲瀷鏌ヨ
     BtmSelectFindeHandler() {
       const masterParameter = {};
-      masterParameter[`conditionMap['${this.SelectValue}']`] = `*${this.SelectFInd}*`;
-        this.btmdefaultRend(masterParameter);
+      masterParameter[`conditionMap['${this.SelectValue}']`] = this.SelectFInd;
+      this.btmdefaultRend(masterParameter);
     },
     //涓氬姟绫诲瀷澶氶��
     btmSelect(row) {
@@ -1004,7 +1064,7 @@
     },
     //涓氬姟绫诲瀷鎺ュ彛
     btmdefaultRend(masterParameter) {
-      referDataGrid({valueField: 'id', isMuti: 'false', ...masterParameter}).then(res => {
+      referDataGrid({valueField: 'id', isMuti: 'false','limit':'-1', ...masterParameter}).then(res => {
         this.BtmData = res.data.data.records
       })
     },
@@ -1031,7 +1091,6 @@
         })
         //璋冪敤淇敼灞炴�у悕鏂规硶
         this.ModifyProperties(this.CloneTreedata, 'name', 'label');
-        console.log(this.CloneTreedata)
         this.CloneTreedata = this.CloneTreedata.map(item => {
           if (item.attributes.lcStatus === "Disabled") {
             item.label += '銆愬仠鐢ㄣ��';
@@ -1087,7 +1146,6 @@
         this.$message.warning('璇疯緭鍏ュ唴瀹癸紒');
       } else {
         const data = this.TreeAddform;
-        // data.btmtypename= this.TreeList.btmtypename
         this.$set(data, "parentCodeClassifyOid", this.nodeClickList.oid);
         TreeSave(data)
           .then(() => {
@@ -1254,11 +1312,9 @@
           });
         }
       }
-
     },
     //鏍戠偣鍑讳簨浠�
     async nodeClick(data) {
-      console.log(data);
       //鎿嶄綔鏂板鍜屼慨鏀圭殑涓氬姟绫诲瀷闅愯棌
       this.TreeFlagCode = !data;
       this.editTreeFLagCode = !data.parentId;
@@ -1480,9 +1536,6 @@
       const {id, name} = row[0];
       this.CloneModel = {id, name};
       this.CloneSelect[0].codeclassifyoid = this.nodeClickList.oid;
-      console.log('row', row)
-      console.log('CloneSelect', this.CloneSelect)
-      console.log('CloneModel', this.CloneModel)
     },
     //鍏嬮殕琛ㄥ崟鎻愪氦
     Clonesubmit(row, done) {

--
Gitblit v1.9.3