From 82d09815c5efb03d448d6a5b74a5cbfe85063ebc Mon Sep 17 00:00:00 2001 From: xiejun <xj@2023> Date: 星期三, 30 八月 2023 18:46:13 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- Source/UBCS-WEB/src/components/Master/MasterTree.vue | 184 ++++++++++++++++++++++++++------------------- 1 files changed, 107 insertions(+), 77 deletions(-) diff --git a/Source/UBCS-WEB/src/components/Master/MasterTree.vue b/Source/UBCS-WEB/src/components/Master/MasterTree.vue index c24335f..f485dbe 100644 --- a/Source/UBCS-WEB/src/components/Master/MasterTree.vue +++ b/Source/UBCS-WEB/src/components/Master/MasterTree.vue @@ -1,42 +1,44 @@ <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,MasterTable} from "@/api/GetItem"; +import {TableData, MasterTable} from "@/api/GetItem"; export default { name: "MasterTree", - props:{ - pageSize:{ - type:String, - default:"10" + props: { + pageSize: { + type: String, + default: "10" }, - currentPage:{ - type:String, - default:"1" + currentPage: { + type: String, + default: "1" }, - templateOid:{ - type:String, - default:'' + templateOid: { + type: String, + default: '' }, }, - data(){ - return{ - tableHeadDataFateher:[], - templateOids:"", - tableDataArray:[], - codeClassifyOid:"", - coderuleoid:"", - CloneTreeAvueform:{}, - loading:false, - Treedata:[], + data() { + return { + idData: '', + masterVrBtnList: [], + tableHeadFindData: [], + tableHeadDataFateher: [], + templateOids: "", + tableDataArray: [], + codeClassifyOid: "", + coderuleoid: "", + CloneTreeAvueform: {}, + loading: false, + Treedata: [], nodeClickList: "", Treeoption: { addBtn: false, @@ -49,15 +51,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 } })) }) @@ -67,25 +69,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 ) - this.TableHeadRends() - }).catch(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) + }); }, //瀹氫箟涓�涓慨鏀规暟鎹睘鎬у悕鐨勬柟娉� @@ -101,51 +112,70 @@ } }, //琛ㄦ牸鍒锋柊 - TableRend(){ + TableRend() { TableData({ templateOid: this.templateOids, codeClassifyOid: this.nodeClickList.oid, page: this.currentPage, limit: this.pageSize, }).then(res => { - // this.page.total = res.data.total; - // this.data = res.data.data; - this.tableDataArray=res.data.data; - this.$emit('tableDataArray',this.tableDataArray) - this.$emit('total',res.data.total) + this.tableDataArray = res.data.data; + this.$emit('tableDataArray', this.tableDataArray) + this.$emit('total', res.data.total) }) }, //琛ㄦ牸澶撮儴 - TableHeadRend(){ - MasterTable({ - codeClassifyOid:this.nodeClickList.oid, - functionId: 5, - }).then(res=>{ - this.tableHeadDataFateher=res.data; - this.templateOids=res.data.tableDefineVO.oid - this.$emit("tableHeadDataFateher",this.tableHeadDataFateher) - console.log("123",res) - }) - }, - TableHeadRends(){ - MasterTable({ - codeClassifyOid:this.codeClassifyOid, - functionId: 5, - }).then(res=>{ - this.tableHeadDataFateher=res.data; - this.templateOids=res.data.tableDefineVO.oid - this.$emit("tableHeadDataFateher",this.tableHeadDataFateher) - console.log("123",res) + 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.field, + // 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) + }) }) }, //鏍戠偣鍑讳簨浠� - nodeClick(data){ - this.nodeClickList = data; - this.TableHeadRend() - this.TableRend() - console.log('code',this.nodeClickList.oid) - console.log('teoid',this.templateOids) - console.log() + 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) + } catch (error) { + // 澶勭悊閿欒 + this.$message.error(error) + } } } } -- Gitblit v1.9.3