From 9405101d4700f4273dcf66442e380733dc33db26 Mon Sep 17 00:00:00 2001 From: 田源 <lastanimals@163.com> Date: 星期二, 06 六月 2023 18:21:43 +0800 Subject: [PATCH] 分类树联调 --- Source/UBCS-WEB/src/components/Tree/classifyTrees.vue | 16 +- Source/UBCS-WEB/src/components/Crud/Crud.vue | 93 ++++++--------- Source/UBCS-WEB/src/api/MasterData/master.js | 11 + Source/UBCS-WEB/src/views/MasterData/items.vue | 221 +++++++++++++++++++----------------- Source/UBCS-WEB/vue.config.js | 11 + 5 files changed, 180 insertions(+), 172 deletions(-) diff --git a/Source/UBCS-WEB/src/api/MasterData/master.js b/Source/UBCS-WEB/src/api/MasterData/master.js new file mode 100644 index 0000000..42f1b6c --- /dev/null +++ b/Source/UBCS-WEB/src/api/MasterData/master.js @@ -0,0 +1,11 @@ +import request from "@/router/axios"; +//鑾峰彇鏍戝舰缁勪欢鏁版嵁 +export const getTreeList = (params) => { + return request({ + url: '/api/ubcs-code/codeClassify/referTree', + method: 'get', + params:{ + ...params + } + }) +} diff --git a/Source/UBCS-WEB/src/components/Crud/Crud.vue b/Source/UBCS-WEB/src/components/Crud/Crud.vue index b4b82c2..49edc24 100644 --- a/Source/UBCS-WEB/src/components/Crud/Crud.vue +++ b/Source/UBCS-WEB/src/components/Crud/Crud.vue @@ -1,45 +1,28 @@ <template> <basic-container> -<!-- <avue-crud ref="crud"--> -<!-- v-loading="loading"--> -<!-- :data="data"--> -<!-- :option="option"--> -<!-- :page="page"--> -<!-- @sort-change="sortChange"--> -<!-- @selection-change="selectionChange"--> -<!-- @on-load="onLoad">--> -<!-- <template slot="menu">--> -<!-- <el-button type="text">鏂囧瓧鎸夐挳</el-button>--> -<!-- </template>--> -<!-- <template slot="menuLeft">--> -<!-- </template>--> -<!-- </avue-crud>--> - <div class="testbox"> <div style="margin-top: 10px;display: flex;flex-wrap: wrap;width: 100%;"> <el-button size="small" type="primary" plain @click="addvisible=true">澧炲姞 <FormTemplateDialog :visible.sync="addvisible" :type="add" - :templateOid="this.templateOid" - :codeClassifyOid="this.codeClassifyOid" + :templateOid="this.templateOids" + :codeClassifyOid="this.codeClassifyOids" :codeRuleOid="this.codeRuleOid" :disabledProp="disabledProp" :rowOid="rowOid" > </FormTemplateDialog></el-button> - <el-button size="small" type="primary" plain @click="editvisible=true">缂栬緫 <FormTemplateDialog :visible.sync="editvisible" :type="edit" - :templateOid="this.templateOid" - :codeClassifyOid="this.codeClassifyOid" + :templateOid="this.templateOids" + :codeClassifyOid="this.codeClassifyOids" :codeRuleOid="this.codeRuleOid" :disabledProp="disabledProp" :rowOid="rowOid" ></FormTemplateDialog></el-button> - <el-button size="small" type="primary" plain>鎵归噺瀵煎叆鐢宠</el-button> <el-button size="small" type="primary" plain>鍘嗗彶鏁版嵁瀵煎叆</el-button> <el-button size="small" type="primary" plain>鎵归噺鐢宠缂栫爜</el-button> @@ -87,22 +70,14 @@ </template> </el-table-column> </div> -<!-- <el-table-column fixed="right" label="鎿嶄綔" width="120" >--> -<!-- <template slot-scope="scope" >--> -<!-- <el-button size="small" type="text" @click.native.prevent="enumDeleteRow(scope.$index, tableData)">--> -<!-- 绉婚櫎--> -<!-- </el-button>--> -<!-- </template>--> -<!-- </el-table-column>--> </el-table> - </el-row> </div> <div class="block" style="display: flex;justify-content: flex-end"> <el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" - :current-page="currentPage4" + :current-page="page.currentPage" :page-sizes="page.pageSizes" :page-size="page.pageSizes" layout="total, sizes, prev, pager, next, jumper" @@ -111,18 +86,33 @@ </div> </basic-container> </template> - <script> import {MasterTable, TableData} from "@/api/GetItem"; export default { name: "Crud.vue", + props:{ + page:{ + type: Object, + default: ()=>{ + return {} + } + }, + templateOid:{ + type:String, + default:"" + }, + codeClassifyOid:{ + type:String, + default:"" + } + }, data() { return { addvisible:false, editvisible:false, findvisible:false, - templateOid: "78B8C7C5-A042-0B96-FE6D-65421451782A", - codeClassifyOid: "4524E801-6CC6-92E8-1AC3-2AB9604E8F96", + templateOids: "78B8C7C5-A042-0B96-FE6D-65421451782A", + codeClassifyOids: "4524E801-6CC6-92E8-1AC3-2AB9604E8F96", codeRuleOid: "B95872A6-9CEA-D490-8F1B-9D26548CAF96", rowOid: '6EF696C3-CD87-0E7C-1EA1-8DE3913A95C9', disabledProp: ["id"], @@ -133,14 +123,6 @@ data: [], options:{}, option: { - //榛樿楂樺害, - align: 'center', - menuAlign: 'center', - addBtn: false, - editBtn: false, - selection: true, - selectionFixed: false, - index: true, column: [] }, List: [], @@ -150,12 +132,6 @@ truefalse: "switch", number: "number", datetime: "datetime", - }, - page: { - total: 0, - currentPage: 1, - pageSize: 10, - pageSizes: [10, 30, 50, 100, 200], }, tableData:[], tableHeadData:[], @@ -174,7 +150,12 @@ }, methods: { handleSizeChange(val){ - console.log(val) + this.page.pageSize=val + this.CrudRend() + }, + handleCurrentChange(val){ + this.page.currentPage=val + this.CrudRend() }, // 鐩戝惉鍗曞厓鏍肩偣鍑讳簨浠跺苟瀛樺偍姝e湪缂栬緫鐨勮 handleCellClick(row, column) { @@ -220,11 +201,10 @@ //琛ㄦ牸鏁版嵁 CrudRend() { TableData({ - templateOid: "A12826E4-2B66-6D56-DE30-92BB1D7F607F", - codeClassifyOid: "D9CF223F-317D-71EB-BD11-433A94CAD9F3", + templateOid: this.templateOid, + codeClassifyOid: this.codeClassifyOid, page: this.page.currentPage, - limit:9, - _: 1685089123575 + limit:this.page.pageSize, }).then(res => { this.page.total = res.data.total; this.data = res.data.data; @@ -241,8 +221,8 @@ order = "desc"; } TableData({ - templateOid: "A12826E4-2B66-6D56-DE30-92BB1D7F607F", - codeClassifyOid: "D9CF223F-317D-71EB-BD11-433A94CAD9F3", + templateOid: this.templateOid, + codeClassifyOid: this.codeClassifyOid, order: order, sort: val.prop, page: this.page.currentPage, @@ -257,11 +237,10 @@ //鍒嗛〉鍒锋柊 async onLoad(val) { await TableData({ - templateOid: "A12826E4-2B66-6D56-DE30-92BB1D7F607F", - codeClassifyOid: "D9CF223F-317D-71EB-BD11-433A94CAD9F3", + templateOid: this.templateOid, + codeClassifyOid: this.codeClassifyOid, page: val.currentPage, limit: val.pageSize, - _: 1685089123575 }).then(res => { this.data = res.data.data; }) diff --git a/Source/UBCS-WEB/src/components/Tree/classifyTrees.vue b/Source/UBCS-WEB/src/components/Tree/classifyTrees.vue index da70e18..71747d3 100644 --- a/Source/UBCS-WEB/src/components/Tree/classifyTrees.vue +++ b/Source/UBCS-WEB/src/components/Tree/classifyTrees.vue @@ -187,7 +187,6 @@ TreeObjcet, TreeEnable, TreeDeactivate, - importClassify, gridCodeClassifyTemplate, getObjectByOid, gridCodeClassifyTemplateAttr, @@ -197,7 +196,6 @@ editSave, copy } from "@/api/template/templateAttr"; -import done from "@/views/work/done"; export default { name: "classifyTrees.vue", @@ -406,7 +404,7 @@ getAtrrList().then(res => { this.Treedata = res.data; this.CloneTreedata = res.data; - this.Treedata.forEach((item) => { + this.Treedata.forEach(() => { for (let i = 0; i < this.Treedata.length; i++) { this.Treedata[i].value = i; } @@ -546,7 +544,7 @@ cancelButtonText: '鍙栨秷', type: 'warning' }).then(() => { - TreeEnable(this.nodeClickList).then((res) => { + TreeEnable(this.nodeClickList).then(() => { this.$message({ type: 'success', message: '鍚敤鎴愬姛!' @@ -574,7 +572,7 @@ cancelButtonText: '鍙栨秷', type: 'warning' }).then(() => { - TreeDeactivate(this.nodeClickList).then((res) => { + TreeDeactivate(this.nodeClickList).then(() => { this.$message({ type: 'success', message: '鍋滅敤鎴愬姛!' @@ -722,7 +720,7 @@ } else { let codeClassifyOid = this.codeClassifyOid this.$set(row, "codeclassifyoid", codeClassifyOid) - addSave(row).then(res => { + addSave(row).then(() => { this.$message({ type: "success", message: "娣诲姞鎴愬姛!" @@ -739,7 +737,7 @@ }, //妯℃澘绠$悊淇敼 CrudRowUpdata(row,index,done) { - editSave(row).then((res) => { + editSave(row).then(() => { this.CrudRend() this.$message({ type: "success", @@ -752,7 +750,7 @@ }, //妯℃澘绠$悊鍒犻櫎 CrudRowDel(row) { - deleteData(row).then(res => { + deleteData(row).then(()=> { this.CrudRend() }).catch(res => { this.$message({ @@ -830,7 +828,7 @@ //閲嶆柊璧嬪�糃loneSelect浼犻�掔殑鏁版嵁涓鸿緭鍏ユ鍙互淇敼鐨勬暟鎹紝CloneModel鎻愪氦琛ㄥ崟杈撳叆妗嗗弻鍚戠粦瀹氭暟鎹� this.CloneSelect[0].id=this.CloneModel.id; this.CloneSelect[0].name=this.CloneModel.name; - copy(this.CloneSelect[0]).then(res=>{ + copy(this.CloneSelect[0]).then(()=>{ //鍥犱负鏄祵濂楀脊绐楁墍浠ユ墜鍔ㄥ叧闂瑿loneinnerVisible锛孋loneVisible涓や釜寮圭獥銆� this.CloneinnerVisible=false this.CloneVisible=false diff --git a/Source/UBCS-WEB/src/views/MasterData/items.vue b/Source/UBCS-WEB/src/views/MasterData/items.vue index fb59b6c..a101488 100644 --- a/Source/UBCS-WEB/src/views/MasterData/items.vue +++ b/Source/UBCS-WEB/src/views/MasterData/items.vue @@ -2,61 +2,76 @@ <el-container> <el-aside> <basic-container style="height: 85vh; max-height: 155vh; overflow-y: scroll;"> - <avue-tree ref="tree" v-model="CloneTreeAvueform" v-loading="loading" :data="CloneTreedata" :defaultExpandAll="false" + <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" - @check-change="checkChange" ></avue-tree> </basic-container> </el-aside> <el-main> - <TableCrud></TableCrud> + <TableCrud :page="this.page" :templateOid="this.templateOid" :codeClassifyOid="this.codeClassifyOid"></TableCrud> </el-main> </el-container> </template> <script> -import {getAtrrList, TreeCheckDel, TreeDel, TreeSave} from "@/api/template/templateAttr"; - +import {getTreeList} from "@/api/MasterData/master" export default { name: "items.vue", data(){ return{ + // 鍒嗛〉 + page: { + total: 0, + currentPage: 1, + pageSize: 10, + pageSizes: [10, 30, 50, 100, 200], + }, + templateOid: "A12826E4-2B66-6D56-DE30-92BB1D7F607F", + codeClassifyOid: "D9CF223F-317D-71EB-BD11-433A94CAD9F3", CloneTreeAvueform:{}, loading:false, - CloneTreedata:[], + Treedata:[], Treeoption: { addBtn: false, editBtn: false, delBtn: false, defaultExpandAll: false, menu: false, - // //杩欎釜鏄閫� - // multiple: true, + lazy: true, + // treeLoad:function (node,resolve){ + // console.log(node) + // console.log(resolve) + // } + treeLoad:function (node, resolve){ + if(node.loading){ + const parentId = (node.level === 0) ? 0 : node.data.oid; + const parentBtmName = node.data.attributes.btmname + getTreeList({parentOid:parentId,parentBtmName:parentBtmName}).then(res=>{ + console.log(res) + }) + } + }, }, nodeClickList: "", } }, created() { - this.getAttr() + // this.getAttr() + this.getTreeList() }, methods:{ - getAttr() { - getAtrrList().then(res => { - this.Treedata = res.data; - this.CloneTreedata = res.data; - this.Treedata.forEach((item) => { - for (let i = 0; i < this.Treedata.length; i++) { - this.Treedata[i].value = i; - } - }) - //璋冪敤淇敼灞炴�у悕鏂规硶 - this.ModifyProperties(this.CloneTreedata, 'name', 'label'); - }).catch(res => { - this.$message.error(res) + getTreeList(){ + getTreeList({'conditionMap[id]': 'wupin'}).then(res=>{ + this.Treedata=res.data + this.ModifyProperties(this.Treedata, 'text', 'label'); + console.log(this.Treedata) + }).catch(res=>{ + console.log(res) }) }, + //瀹氫箟涓�涓慨鏀规暟鎹睘鎬у悕鐨勬柟娉� ModifyProperties(obj, oldName, newName) { for (let key in obj) { @@ -70,88 +85,88 @@ } }, //鏍戣妭鐐规坊鍔犳寜閽� - TreeAdd() { - this.TreeAddFormVisible = true; - // 鍒ゆ柇褰撳墠鏄惁鏈夌偣鍑诲瓙椤� - if (this.nodeClickList !== "") { - this.TreeFlag = true - } - }, - //鏍戣妭鐐规坊鍔犱簨浠� - TreeAddHandler() { - const data = this.TreeAddform - this.$set(data, "parentCodeClassifyOid", this.nodeClickList.oid) - TreeSave(data).then(() => { - this.$message({ - type: 'success', - message: '娣诲姞鎴愬姛!' - }); - this.getAttr(); - this.TreeAddFormVisible = false - this.TreeAddform = "" - }).catch(res => { - this.$message({ - type: 'warning', - message: res - }); - }) - }, + // TreeAdd() { + // this.TreeAddFormVisible = true; + // // 鍒ゆ柇褰撳墠鏄惁鏈夌偣鍑诲瓙椤� + // if (this.nodeClickList !== "") { + // this.TreeFlag = true + // } + // }, + // //鏍戣妭鐐规坊鍔犱簨浠� + // TreeAddHandler() { + // const data = this.TreeAddform + // this.$set(data, "parentCodeClassifyOid", this.nodeClickList.oid) + // TreeSave(data).then(() => { + // this.$message({ + // type: 'success', + // message: '娣诲姞鎴愬姛!' + // }); + // this.getAttr(); + // this.TreeAddFormVisible = false + // this.TreeAddform = "" + // }).catch(res => { + // this.$message({ + // type: 'warning', + // message: res + // }); + // }) + // }, //鏍戣妭鐐瑰垹闄ゆ寜閽� - TreeDel() { - this.$confirm('鏄惁鍒犻櫎褰撳墠閫夋嫨鐨勫垎绫伙紝灏嗕細鎶婂瓙鍒嗙被涓�骞跺垹闄わ紝濡傛灉瀛樺湪缂栫爜鏁版嵁灏嗕笉鑳借鍒犻櫎锛屾槸鍚︾户缁紵', '鎻愮ず', { - confirmButtonText: '纭畾', - cancelButtonText: '鍙栨秷', - type: 'warning', - customClass: 'my-messagebox', - }).then(() => { - TreeCheckDel(this.nodeClickList).then(res => { - if (res.data.data) { - TreeDel(this.nodeClickList).then(() => { - this.$message({ - type: 'success', - message: '鍒犻櫎鎴愬姛!' - }); - this.getAttr(); - }).catch(res => { - this.$message({ - type: 'warning', - message: res - }); - }) - } else { - this.$confirm('褰撳墠鏁版嵁鍖呭惈鏈変笅绾ф暟鎹紝瑕佸垹闄ょ殑璇濅細鍜屼笅绾ф暟鎹竴璧峰垹闄わ紝浣犵‘璁ょ户缁�?', '鎻愮ず', { - confirmButtonText: '纭畾', - cancelButtonText: '鍙栨秷', - type: 'warning', - customClass: 'my-messageboxs', - }).then(() => { - TreeDel(this.nodeClickList).then(() => { - this.$message({ - type: 'success', - message: '鍒犻櫎鎴愬姛!' - }); - this.getAttr(); - }).catch(res => { - this.$message({ - type: 'warning', - message: res - }); - }) - }).catch(() => { - this.$message({ - type: 'info', - message: '宸插彇娑堝垹闄�' - }); - }); - } - }) - }).catch(() => { - this.$message({ - type: 'info', - message: '宸插彇娑堝垹闄�' - }); - }); - }, + // TreeDel() { + // this.$confirm('鏄惁鍒犻櫎褰撳墠閫夋嫨鐨勫垎绫伙紝灏嗕細鎶婂瓙鍒嗙被涓�骞跺垹闄わ紝濡傛灉瀛樺湪缂栫爜鏁版嵁灏嗕笉鑳借鍒犻櫎锛屾槸鍚︾户缁紵', '鎻愮ず', { + // confirmButtonText: '纭畾', + // cancelButtonText: '鍙栨秷', + // type: 'warning', + // customClass: 'my-messagebox', + // }).then(() => { + // TreeCheckDel(this.nodeClickList).then(res => { + // if (res.data.data) { + // TreeDel(this.nodeClickList).then(() => { + // this.$message({ + // type: 'success', + // message: '鍒犻櫎鎴愬姛!' + // }); + // this.getAttr(); + // }).catch(res => { + // this.$message({ + // type: 'warning', + // message: res + // }); + // }) + // } else { + // this.$confirm('褰撳墠鏁版嵁鍖呭惈鏈変笅绾ф暟鎹紝瑕佸垹闄ょ殑璇濅細鍜屼笅绾ф暟鎹竴璧峰垹闄わ紝浣犵‘璁ょ户缁�?', '鎻愮ず', { + // confirmButtonText: '纭畾', + // cancelButtonText: '鍙栨秷', + // type: 'warning', + // customClass: 'my-messageboxs', + // }).then(() => { + // TreeDel(this.nodeClickList).then(() => { + // this.$message({ + // type: 'success', + // message: '鍒犻櫎鎴愬姛!' + // }); + // this.getAttr(); + // }).catch(res => { + // this.$message({ + // type: 'warning', + // message: res + // }); + // }) + // }).catch(() => { + // this.$message({ + // type: 'info', + // message: '宸插彇娑堝垹闄�' + // }); + // }); + // } + // }) + // }).catch(() => { + // this.$message({ + // type: 'info', + // message: '宸插彇娑堝垹闄�' + // }); + // }); + // }, nodeClick(data){ this.nodeClickList = data console.log(data) diff --git a/Source/UBCS-WEB/vue.config.js b/Source/UBCS-WEB/vue.config.js index 99a052c..70c8ff6 100644 --- a/Source/UBCS-WEB/vue.config.js +++ b/Source/UBCS-WEB/vue.config.js @@ -26,12 +26,17 @@ proxy: { '/api': { //鏈湴鏈嶅姟鎺ュ彛鍦板潃 - target: 'http://localhost:37000', - // target: 'http://192.168.1.63:37000', + // target: 'http://localhost:37000', + // target: 'http://localhost:37000', + // target: 'http://192.168.1.51:37000', //target: 'http://192.168.3.7:37000', // target: 'http://dev.vci-tech.com:37000', - //target: 'http://dev.vci-tech.com:37000', // target: 'http://192.168.1.51:37000/', + // target: 'http://localhost:37000', + // target: 'http://192.168.1.63:37000', + //target: 'http://192.168.3.7:37000', + target: 'http://dev.vci-tech.com:37000', + //target: 'http://192.168.1.51:37000/', //杩滅▼婕旂ず鏈嶅姟鍦板潃,鍙敤浜庣洿鎺ュ惎鍔ㄩ」鐩� // target: 'https://saber.bladex.vip/api', ws: true, -- Gitblit v1.9.3