From e3196bc81327e82748c7683c5cad9849b4b228b6 Mon Sep 17 00:00:00 2001 From: lxl <lixuliang_hd@126.com> Date: 星期三, 26 十月 2022 14:36:58 +0800 Subject: [PATCH] 菜单 --- src/views/datamanage/metadataManage.vue | 22 ++++++++++++++++++++-- src/store/index.js | 6 +++++- src/components/customElMenu.vue | 1 + src/components/navMenu.vue | 21 +++++++++++++++------ 4 files changed, 41 insertions(+), 9 deletions(-) diff --git a/src/components/customElMenu.vue b/src/components/customElMenu.vue index 0b78d2f..687218d 100644 --- a/src/components/customElMenu.vue +++ b/src/components/customElMenu.vue @@ -14,6 +14,7 @@ <el-menu-item v-else :key="item.id" + :perms="item" :index="item.url == null ? item.id.toString() : item.url + ''" > <span slot="title">{{ diff --git a/src/components/navMenu.vue b/src/components/navMenu.vue index e502d4d..3bbe467 100644 --- a/src/components/navMenu.vue +++ b/src/components/navMenu.vue @@ -1,5 +1,5 @@ <template> - <div> + <div class="leftMenu"> <div class="leftTopWrapper"> <div class="logo"> <img src="../assets/img/www.terra-it.cn.png" alt="" /> @@ -163,7 +163,9 @@ this.$store.commit("changeLang", "en"); //浼犻�掔偣鍑荤殑鑺傜偣 } }, - handleselect(index, indexPath) { + handleselect(index, indexPath, e) { + // console.log(e.$attrs.perms); + this.$store.commit("currentPerms", e.$attrs.perms.perms); if (Window.ws != null) { Window.ws.close(); Window.ws.onclose = () => { @@ -181,7 +183,7 @@ }, getUserPerms() { getPerms().then((res) => { - this.$commit("getPermsEntity", res.result); + if (res.code == 200) this.$store.commit("getPermsEntity", res.result); }); }, }, @@ -203,8 +205,14 @@ </script> <style lang="less" scoped> //@import url(); 寮曞叆鍏叡css绫� +.leftMenu { + // width: 300px; + height: 99%; + // background-color: #bfa; +} .leftTopWrapper { width: 100%; + height: 100%; .logo { // background-color: rgb(139, 0, 0); width: 249px; @@ -214,12 +222,13 @@ } } .menu { - height: 740px; + height: 90%; margin-top: 22px; overflow: auto; - + // background-color: rgb(120, 121, 120); .el-menu { - width: 234px; + height: 100%; + width: 280px; border-right: none; /deep/ .el-submenu { margin-bottom: 10px; diff --git a/src/store/index.js b/src/store/index.js index c5603c5..c12a22d 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -28,12 +28,16 @@ ws: null, //鏉冮檺鍚堥泦 permsEntity: [], + currentPerms: "", }, mutations: { //鑾峰彇鏉冮檺鍚堥泦 - getPermsEntity() { + getPermsEntity(state, msg) { state.permsEntity = msg }, + currentPerms(state, msg) { + state.currentPerms = msg + }, // 鑾峰彇瀹屾暣闈㈠寘灞戣矾寰� changeCata(state, msg) { state.catalogueName = msg; diff --git a/src/views/datamanage/metadataManage.vue b/src/views/datamanage/metadataManage.vue index 717c031..e916a6b 100644 --- a/src/views/datamanage/metadataManage.vue +++ b/src/views/datamanage/metadataManage.vue @@ -22,13 +22,14 @@ size="small" >閲嶇疆</el-button > - <!-- <el-button + <el-button + v-if="btnStatus.download" @click="downFormData" icon="el-icon-download" type="success" size="small" >涓嬭浇</el-button - > --> + > <!-- <el-button @click="downFormData" icon="el-icon-download" @@ -37,6 +38,7 @@ >涓嬭浇</el-button > --> <el-button + v-if="btnStatus.delete" @click="DelFormData" icon="el-icon-delete" type="danger" @@ -316,12 +318,28 @@ pageSize: 10, pageNum: 1, searchName: "", + btnStatus: { + select: false, + delete: false, + upload: false, + download: false, + insert: false, + update: false, + }, }; }, created() { this.getMetaData(10, 1, ""); + this.showPermsBtn(); }, methods: { + showPermsBtn() { + let currentPerms = this.$store.state.currentPerms; + let permsEntity = this.$store.state.permsEntity; + permsEntity + .filter((item) => item.perms == currentPerms) + .map((item) => (this.btnStatus[item.tag.substr(1)] = true)); + }, ShowWindowFly(res) { console.log(res); if (res == "") return; -- Gitblit v1.9.3