From 07907a65daef5f8b624a8b081eebe6fbc1abcbb5 Mon Sep 17 00:00:00 2001 From: gaosp <gaosp> Date: 星期二, 16 一月 2024 20:23:42 +0800 Subject: [PATCH] update --- src/container/home/index.vue | 200 +++++++++++++++++++++++++++++++------------------ 1 files changed, 125 insertions(+), 75 deletions(-) diff --git a/src/container/home/index.vue b/src/container/home/index.vue index 339e69e..7cae30b 100644 --- a/src/container/home/index.vue +++ b/src/container/home/index.vue @@ -2,54 +2,14 @@ <Home> <template slot="menu"> <div class="menu-container"> - <ul class=""> - <!-- <li :class="activeId ==='1' ? 'active' : ''" @click="navigateTo('1')">鐘舵�佺洃鎺�</li> --> - <li :class="activeId ==='0' ? 'active' : ''" @click="navigateTo('0')">澶у睆灞曠ず</li> - <li :class="activeId ==='2' ? 'active' : ''" @click="navigateTo('2')"> + <ul> + <li v-for="item in navs" :key="item.id" :class="activeId === item.id ? 'active' : ''" @click="goTo(item)"> <span> - 杞﹂棿鍦板浘 + {{ item.label }} + <i class="el-icon-caret-bottom" v-show="item.children && item.children.length > 0"></i> </span> - - </li> - <li :class="activeId ==='3' ? 'active' : ''" @click="navigateTo('3')"> - <span> - 杞﹂棿鍒楄〃<i class="el-icon-caret-bottom"></i> - </span> - <ul v-if="showSub" class="sub"> - <li v-for="item in workshopList" :key="item.id" @click.stop="navigateTo('workshop',item)">{{ item.name }}</li> - </ul> - </li> - <li :class="activeId ==='4' ? 'active' : ''" @click="navigateTo('4')"> - <span> - 璁惧淇濆吇<i class="el-icon-caret-bottom"></i> - </span> - <ul v-if="showSub"> - <li @click="navigateTo('maintenance', {style: 1})">鏃ュ父淇濆吇</li> - <li @click="navigateTo('maintenance', {style: 2})">涓�绾�</li> - <li @click="navigateTo('maintenance', {style: 3})">浜岀骇</li> - <li @click="navigateTo('maintenance', {style: 4})">涓夌骇</li> - </ul> - </li> - <!-- <li :class="activeId ==='5' ? 'active' : ''" @click="navigateTo('5')"> - <span> - 鎶ヨ〃鐢熸垚<i class="el-icon-caret-bottom"></i> - </span> - <ul v-if="showSub"> - <li>2鍘�</li> - <li>2鍘�</li> - <li>2鍘�</li> - <li>2鍘�</li> - </ul> - </li> --> - <!-- <li :class="activeId ==='6' ? 'active' : ''" @click="navigateTo('6')">鐝璁剧疆</li> --> - <li :class="activeId ==='7' ? 'active' : ''" @click="navigateTo('7')">宸ヤ欢淇℃伅</li> - <li :class="activeId ==='8' ? 'active' : ''" @click="navigateTo('8')"> - <span> - 鏇村鑿滃崟<i class="el-icon-caret-bottom"></i> - </span> - <ul v-if="showSub"> - <li @click="navigateTo('ledger')">鍙拌处</li> - <li @click="navigateTo('deviceType')">璁惧绫诲瀷绠$悊</li> + <ul v-if="activeId === item.id && showSub"> + <li v-for="child in item.children" @click="goTo(child)">{{ child.label }}</li> </ul> </li> </ul> @@ -73,6 +33,114 @@ }, data () { return { + navs: [ + { + label: '鐘舵�佺洃鎺�', + pathName: '', + id: 1 + }, + { + label: '澶у睆灞曠ず', + pathName: 'preview', + id: 2, + }, + { + label: '杞﹂棿鍦板浘', + pathName: '', + id: 3, + children: [ + { + label: '鍦板浘灞曠ず', + pathName: 'mapPreview' + }, + { + label: '鍦板浘缂栬緫', + pathName: 'map' + } + ] + }, + { + label: '杞﹂棿鍒楄〃',// workshop + id: 4, + children: [] + }, + { + label: '璁惧淇濆吇', + id: 5, + children:[ + { + label: '鏃ュ父淇濆吇', + pathName: 'maintenance', + params: {style: 1}, + query: {} + }, + { + label: '涓�绾т繚鍏�', + pathName: 'maintenance', + params: {style: 2}, + query: {} + }, + { + label: '浜岀骇淇濆吇', + pathName: 'maintenance', + params: {style: 3}, + query: {} + }, + { + label: '涓夌骇淇濆吇', + pathName: 'maintenance', + params: {style: 4}, + query: {} + }, + ] + }, + { + label: '鎶ヨ〃鐢熸垚', + id: 6, + children: [ + { + label: '璁捐鍣�', + href: '/mdc/ureport/designer' + }, + { + label: '鎶ヨ〃鐢熸垚1' + }, + { + label: '鎶ヨ〃鐢熸垚1' + }, + { + label: '鎶ヨ〃鐢熸垚1' + }, + ] + }, + { + label: '鐝璁剧疆', + id: 7, + }, + { + label: '宸ヤ欢淇℃伅', + pathName: 'component', + id: 8, + }, + { + label: '鏇村鑿滃崟', + id: 9, + children: [ + { + label: '鍙拌处绠$悊', + pathName: 'ledger' + }, + { + label: '璁惧绫诲瀷', + pathName: 'deviceType' + }, + { + label: '鏈哄簥閲囬泦', + pathName: 'machineList' + } + ] + }, + ], activeId: '', showSub: false, } @@ -87,41 +155,23 @@ this.$router.push('/') }) }, - navigateTo (name,v) { - let routers = { - 2: 'map', - workshop: 'workshop', - maintenance: 'maintenance', - 7: 'component', - ledger: 'ledger', - deviceType: 'deviceType', - } - - if (['3','4','5','8'].includes(name)) { - if (name === this.activeId) { + goTo (item) { + if (item.id) { + if (item.id === this.activeId) { this.showSub = !this.showSub } else { this.showSub = true } - this.activeId = name - } else { - this.activeId = name - let params = {} - let query = {} - if ('workshop' === name) { - params.id = v.id - query.name = v.name + this.activeId = item.id || this.activeId + if(item.pathName) { + this.$router.push({name: item.pathName,params: item.params,query: item.query}) } - if (name === 'maintenance') { - params.style = v.style - } - this.$router.push({name: routers[name],params: params,query: query}) - this.$nextTick(() => { - this.showSub = false - }) + } else if(item.pathName){//浜岀骇鑿滃崟 + this.$router.push({name: item.pathName,params: item.params,query: item.query}) + } else if(item.href) { + window.open(item.href) } - - } + }, }, } </script> -- Gitblit v1.9.3