| | |
| | | <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" |
| | | style="height: calc(100vh - 150px);" |
| | | @node-click=" nodeClick" |
| | | ></avue-tree> |
| | | </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", |
| | |
| | | }, |
| | | data(){ |
| | | return{ |
| | | masterVrBtnList:[], |
| | | tableHeadFindData:[], |
| | | tableHeadDataFateher:[], |
| | | templateOids:"", |
| | | tableDataArray:[], |
| | | codeClassifyOid:"", |
| | | coderuleoid:"", |
| | |
| | | } |
| | | }, |
| | | created() { |
| | | this.getTreeList() |
| | | this.getTreeLists() |
| | | |
| | | }, |
| | | computed:{ |
| | | }, |
| | | methods:{ |
| | | //获取数据 |
| | | getTreeList(){ |
| | | getTreeLists(){ |
| | | 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) |
| | |
| | | } |
| | | } |
| | | }, |
| | | //树点击事件 |
| | | 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.$emit('total',res.data.total) |
| | | console.log('table',this.tableDataArray) |
| | | }) |
| | | }, |
| | | //表格头部 |
| | | TableHeadRend() { |
| | | return new Promise((resolve, reject) => { |
| | | MasterTable({ |
| | | codeClassifyOid: this.nodeClickList.oid, |
| | | functionId: 5, |
| | | }).then(res => { |
| | | console.log('1-', res.data) |
| | | console.log('123-', res.data.buttons) |
| | | const flagsToDeleteBtn = ["CODEIMPORTHISTORY", "CODEBATCHADD", "CODESTARTPROCESS", "CODEEXPORT", "CODEQUERY"]; |
| | | //不同节点显示不同按钮 |
| | | 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; |
| | | let List = res.data.tableDefineVO.cols[0]; |
| | | List.forEach(item => { |
| | | let columnItem = { |
| | | label: item.title, |
| | | prop: item.field, |
| | | // type: this.columnType[item.type], |
| | | sortable: item.sort, |
| | | width: item.minWidth |
| | | }; |
| | | this.tableHeadFindData.push(Object.assign(item, columnItem)) |
| | | // console.log(' this.tableHeadFindData', this.tableHeadFindData) |
| | | }) |
| | | this.$emit('tableHeadDataFateher', this.tableHeadDataFateher); |
| | | this.$emit('tableHeadFindData', this.tableHeadFindData); |
| | | this.$emit('tableHeadBttoms', this.masterVrBtnList); |
| | | resolve(); |
| | | }).catch(err => { |
| | | reject(err) |
| | | }) |
| | | }) |
| | | }, |
| | | //树点击事件 |
| | | async nodeClick(data) { |
| | | try { |
| | | 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 ) |
| | | console.log('树',this.nodeClickList) |
| | | } catch (error) { |
| | | // 处理错误 |
| | | this.$message.error(error) |
| | | } |
| | | } |
| | | } |
| | | } |