From 4bc815c4e4a4ea12eadf4974ba2ff152db83357a Mon Sep 17 00:00:00 2001
From: 田源 <lastanimals@163.com>
Date: 星期一, 23 十月 2023 15:56:24 +0800
Subject: [PATCH] 主数据 主题库-滚动条样式

---
 Source/UBCS-WEB/src/components/Master/MasterTree.vue |  189 ++++++++++++++++++++++++++++++++---------------
 1 files changed, 129 insertions(+), 60 deletions(-)

diff --git a/Source/UBCS-WEB/src/components/Master/MasterTree.vue b/Source/UBCS-WEB/src/components/Master/MasterTree.vue
index e6f5bd5..756be6b 100644
--- a/Source/UBCS-WEB/src/components/Master/MasterTree.vue
+++ b/Source/UBCS-WEB/src/components/Master/MasterTree.vue
@@ -1,40 +1,47 @@
 <template>
-  <avue-tree ref="tree" v-model="CloneTreeAvueform" v-loading="loading" :data="Treedata" :defaultExpandAll="false"
-             :option="Treeoption"
-             style="height: 80.5vh;padding-top: 5px;padding-bottom: 30px"
-             @node-click=" nodeClick"
-  ></avue-tree>
+  <div style="overflow: auto; height: calc(100vh - 150px);">
+    <avue-tree ref="tree" v-model="CloneTreeAvueform" v-loading="loading" :data="Treedata" :defaultExpandAll="false" :option="Treeoption" @node-click="nodeClick" style="width: fit-content;">
+      <template slot-scope="{ node }">
+        <span style="display: inline-block;">{{ node.label }}</span>
+      </template>
+    </avue-tree>
+  </div>
 </template>
 
 <script>
 import {getTreeList} from "@/api/MasterData/master";
-import {mapMutations, mapState} from "vuex";
-import {TableData} from "@/api/GetItem";
+import {TableData, MasterTable} from "@/api/GetItem";
 
 export default {
   name: "MasterTree",
-  props:{
-    pageSize:{
-      type:String,
-      default:"10"
+  props: {
+    pageSize: {
+      type: String,
+      default: "100"
     },
-    currentPage:{
-      type:String,
-      default:"1"
+    currentPage: {
+      type: String,
+      default: "1"
     },
-    templateOid:{
-      type:String,
-      default:''
+    templateOid: {
+      type: String,
+      default: ''
     },
   },
-  data(){
-    return{
-      tableDataArray:[],
-      codeClassifyOid:"",
-      coderuleoid:"",
-      CloneTreeAvueform:{},
-      loading:false,
-      Treedata:[],
+  data() {
+    return {
+      TreeValue:'',
+      idData: '',
+      masterVrBtnList: [],
+      tableHeadFindData: [],
+      tableHeadDataFateher: [],
+      templateOids: "",
+      tableDataArray: [],
+      codeClassifyOid: "",
+      coderuleoid: "",
+      CloneTreeAvueform: {},
+      loading: false,
+      Treedata: [],
       nodeClickList: "",
       Treeoption: {
         addBtn: false,
@@ -47,15 +54,15 @@
         //   console.log(node)
         //   console.log(resolve)
         // }
-        treeLoad:function (node, resolve){
-          if(node.data != false){
+        treeLoad: function (node, resolve) {
+          if (node.data != false) {
             const parentId = (node.level === 0) ? 0 : node.data.oid;
             const parentBtmName = node.data.attributes.btmname
-            getTreeList({parentOid:parentId,parentBtmName:parentBtmName}).then(res=>{
-              resolve(res.data.map(item=>{
+            getTreeList({parentOid: parentId, parentBtmName: parentBtmName}).then(res => {
+              resolve(res.data.map(item => {
                 return {
                   ...item,
-                  label:item.text
+                  label: item.text
                 }
               }))
             })
@@ -65,24 +72,34 @@
     }
   },
   created() {
-    this.getTreeList()
-
+    this.getTreeLists()
   },
-  computed:{
-   },
-  methods:{
+  computed: {},
+  methods: {
     //鑾峰彇鏁版嵁
-    getTreeList(){
-      getTreeList({'conditionMap[id]': 'wupin'}).then(res=>{
-        this.Treedata=res.data
-        this.ModifyProperties(this.Treedata, 'text', 'label');
-        this.codeClassifyOid=res.data[0].oid;
-        this.coderuleoid=res.data[0].attributes.coderuleoid;
-        this.$emit("codeClassifyOid", this.codeClassifyOid )
-        this.$emit("coderuleoid", this.coderuleoid )
-      }).catch(res=>{
-        console.log(res)
-      })
+    getTreeLists() {
+      const index = this.$route.query.id.indexOf('@');
+      const result = this.$route.query.id.substring(0, index);
+      this.idData = result
+      // console.log(this.$route)
+      getTreeList({'conditionMap[id]': this.idData}).then(res => {
+        if(res){
+          if(res.data.length === 0){
+            this.$message.error("涓绘暟鎹垎绫绘煡璇负绌猴紒");
+          }else{
+            this.Treedata = res.data;
+            const [firstProperty] = res.data;
+            this.ModifyProperties(this.Treedata, 'text', 'label');
+            this.codeClassifyOid = firstProperty.oid;
+            this.coderuleoid = firstProperty.attributes.coderuleoid;
+            this.$emit("coderuleoid", this.coderuleoid)
+            this.$emit('Treedata', this.Treedata)
+          }
+        }
+      }).catch(res => {
+        // console.log(res)
+        this.$message.error(res)
+      });
     },
 
     //瀹氫箟涓�涓慨鏀规暟鎹睘鎬у悕鐨勬柟娉�
@@ -97,23 +114,75 @@
         }
       }
     },
-    //鏍戠偣鍑讳簨浠�
-    nodeClick(data){
-      this.nodeClickList = data;
-      console.log(this.currentPage,this.pageSize)
+    //琛ㄦ牸鍒锋柊
+    TableRend() {
       TableData({
-        templateOid: this.templateOid,
-        codeClassifyOid: this.codeClassifyOid,
-        page: this.pageSize,
-        limit:this.currentPage,
+        templateOid: this.templateOids,
+        codeClassifyOid: this.nodeClickList.oid,
+        page: this.currentPage,
+        limit: this.pageSize,
       }).then(res => {
-        console.log(res)
-        // this.page.total = res.data.total;
-        // this.data = res.data.data;
-        this.tableDataArray=res.data.data;
-        this.$emit('tableDataArray',this.tableDataArray)
-        console.log(this.tableDataArray)
+        this.tableDataArray = res.data.data;
+        this.$emit('tableDataArray', this.tableDataArray)
+        this.$emit('total', res.data.total)
       })
+    },
+    //琛ㄦ牸澶撮儴
+    TableHeadRend() {
+      const index = this.$route.query.id.indexOf('@');
+      const result = this.$route.query.id.substring(0, index);
+      return new Promise((resolve, reject) => {
+        MasterTable({
+          codeClassifyOid: this.nodeClickList.oid,
+          functionId: result,
+        }).then(res => {
+          const flagsToDeleteBtn = ["CODEIMPORTHISTORY", "CODEEXPORT", "CODEQUERY", "batchApplyCode"];
+          //涓嶅悓鑺傜偣鏄剧ず涓嶅悓鎸夐挳
+          if (!res.data.leaf) {
+            this.masterVrBtnList = res.data.buttons.filter(obj => flagsToDeleteBtn.includes(obj.uniqueFlag));
+          } else {
+            this.masterVrBtnList = res.data.buttons
+          }
+          this.tableHeadDataFateher = res.data;
+          this.templateOids = res.data.tableDefineVO.oid;
+          const [List] = res.data.tableDefineVO.cols;
+          List.forEach(item => {
+            let columnItem = {
+              label: item.title,
+              prop: item.queryField,
+              // type: this.columnType[item.type],
+              sortable: item.sort,
+              width: item.minWidth
+            };
+            this.tableHeadFindData.push(Object.assign(item, columnItem))
+          })
+          this.$emit('tableHeadDataFateher', this.tableHeadDataFateher);
+          this.$emit('tableHeadFindData', this.tableHeadFindData);
+          this.$emit('tableHeadBttoms', this.masterVrBtnList);
+          resolve();
+        }).catch(err => {
+          reject(err)
+        })
+      })
+    },
+    //鏍戠偣鍑讳簨浠�
+    async nodeClick(data) {
+      try {
+        // console.log(data)
+        this.TreeValue=data.label.split(" ")[0].trim();
+        // console.log('TreeValue',this.TreeValue)
+        this.$emit('TreeValue',this.TreeValue)
+        this.nodeClickList = data;
+        this.tableHeadDataFateher = []
+        this.tableHeadFindData = []
+        await this.TableHeadRend(); // 鍏堟墽琛� TableHeadRend()
+        this.TableRend(); // TableHeadRend() 鏂规硶瀹屾垚鍚庡啀鎵ц TableRend()
+        this.$emit('nodeClick', this.templateOids)
+        this.$emit("codeClassifyOid", this.nodeClickList.oid)
+      } catch (error) {
+        // 澶勭悊閿欒
+        this.$message.error(error)
+      }
     }
   }
 }

--
Gitblit v1.9.3