From 1ad4dd1d9a1a521980ce2cfeae4208b1873c7c9a Mon Sep 17 00:00:00 2001 From: Fixiaobai <fixiaobai@163.com> Date: 星期三, 08 十一月 2023 15:06:03 +0800 Subject: [PATCH] modified: src/views/basic/param/index.vue --- src/page/index/sidebar/sidebarItem.vue | 96 +++++++++++++++++++++++++----------------------- 1 files changed, 50 insertions(+), 46 deletions(-) diff --git a/src/page/index/sidebar/sidebarItem.vue b/src/page/index/sidebar/sidebarItem.vue index e988793..0054d3c 100644 --- a/src/page/index/sidebar/sidebarItem.vue +++ b/src/page/index/sidebar/sidebarItem.vue @@ -1,48 +1,27 @@ <template> <div class="menu-wrapper"> - <template v-for="item in menu"> - <el-menu-item - v-if="validatenull(item[childrenKey]) && vaildRoles(item)" - :index="item[pathKey]" - :key="item[labelKey]" - :class="{'is-active':vaildAvtive(item)}" - @click="open(item)"> - <i :class="item[iconKey]"/> - <span - slot="title" - :alt="item[pathKey]">{{ item[labelKey] }}</span> + <template v-for="(item, index) in menu"> + <el-menu-item v-if="validatenull(item[childrenKey]) && vaildRoles(item)" :index="item[pathKey]" :key="index" + :class="{ 'is-active': vaildAvtive(item) }" @click="open(item)"> + <i :class="item[iconKey]" /> + <span slot="title" :alt="item[pathKey]">{{ item[labelKey] }}</span> </el-menu-item> - <el-submenu - v-else-if="!validatenull(item[childrenKey])&&vaildRoles(item)" - :index="item[pathKey]" - :key="item[labelKey]"> + <el-submenu v-else-if="!validatenull(item[childrenKey]) && vaildRoles(item)" :index="item[pathKey]" :key="index"> <template slot="title"> - <i :class="item[iconKey]"/> - <span - slot="title" - :class="{'el-menu--display':collapse && first}">{{ item[labelKey] }}</span> + <i :class="item[iconKey]" /> + <span slot="title" :class="{ 'el-menu--display': collapse && first }">{{ item[labelKey] }}</span> </template> - <template v-for="(child,cindex) in item[childrenKey]"> - <el-menu-item - v-if="validatenull(child[childrenKey])" - :index="child[pathKey],cindex" - :class="{'is-active':vaildAvtive(child)}" - :key="child[labelKey]" - > + <template v-for="(child, cindex) in item[childrenKey]"> + <el-menu-item v-if="validatenull(child[childrenKey])" :index="child[pathKey], cindex" + :class="{ 'is-active': vaildAvtive(child) }" :key="cindex"> <!--<a slot="title" draggable="true" @dragend ="dragOpen(child)" style="display: block;" > <span>{{ child[labelKey] }}</span> </a>--> - <a slot="title" :href="'#'+child[pathKey]" @click.prevent="open(child)" style="display: block;" > + <a slot="title" :href="'#' + child[pathKey]" @click.prevent="open(child)" style="display: block;"> <span>{{ child[labelKey] }}</span> </a> </el-menu-item> - <sidebar-item - v-else - :menu="[child]" - :key="cindex" - :props="props" - :screen="screen" - :collapse="collapse"/> + <sidebar-item v-else :menu="[child]" :key="cindex" :props="props" :screen="screen" :collapse="collapse" /> </template> </el-submenu> </template> @@ -77,11 +56,17 @@ }, data() { return { - config: config + config: config, + menus: [], } }, - created() {}, - mounted() {}, + created() { + //杩囨护鍩虹涓嶈鐨勮彍鍗� + // this.filterMenus('鍩虹',['POC','鐩樺叿缁存姢','IFS鏃ュ織']) + }, + mounted() { + // this.filterMenus('鍩虹',['POC','鐩樺叿缁存姢','IFS鏃ュ織']) + }, computed: { ...mapGetters(['roles']), labelKey() { @@ -101,12 +86,31 @@ } }, methods: { - dragOpen(item){ - var routeData=this.$router.resolve({ - name:item[this.labelKey], + filterMenus(fatherName, childrens) { + this.menus = this.menu + let start_menu = JSON.parse(JSON.stringify(this.menus)); + let base = start_menu.filter(item => { + return item.label === fatherName + })[0] + let up_base = base.children.filter(item => { + return !childrens.includes(item.label); + }) + this.menus.forEach(element => { + if (element.label === '鍩虹') { + element.children = [] + element.children = up_base + } + }); + }, + filterFatherMenus(menuName) { + + }, + dragOpen(item) { + var routeData = this.$router.resolve({ + name: item[this.labelKey], query: item.query }); - window.open(routeData.href,'_blank'); + window.open(routeData.href, '_blank'); }, vaildAvtive(item) { const groupFlag = (item['group'] || []).some(ele => @@ -126,24 +130,24 @@ console.log(item[this.pathKey]) if (this.screen <= 1) this.$store.commit('SET_COLLAPSE'); this.$router.$avueRouter.group = item.group; - if(item[this.labelKey]=='宸ヤ綔鍙�'){ + if (item[this.labelKey] == '宸ヤ綔鍙�') { /*this.$router.push({ name:item[this.labelKey], query: item.query }).catch(() => {})*/ - var routeData=this.$router.resolve({ - name:item[this.labelKey], + var routeData = this.$router.resolve({ + name: item[this.labelKey], query: item.query }); window.open(routeData.href, '_blank'); - }else{ + } else { this.$router.push({ path: this.$router.$avueRouter.getPath({ name: item[this.labelKey], src: item[this.pathKey] }), query: item.query - }).catch(() => {}) + }).catch(() => { }) } } } -- Gitblit v1.9.3