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 |  209 +++++++++++++++++++++++++++++++--------------------
 1 files changed, 126 insertions(+), 83 deletions(-)

diff --git a/src/container/home/index.vue b/src/container/home/index.vue
index 9611b84..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">
-                            <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>2鍘�</li>
-                            <li>2鍘�</li>
-                            <li>2鍘�</li>
-                            <li>2鍘�</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,49 +155,23 @@
                 this.$router.push('/')
             })
         },
-        navigateTo (name,v) {
-            let routers = {
-                2: 'map',
-                workshop: 'workshop',
-                4: 'maintenance',
-                7: 'component',
-                ledger: 'ledger',
-                deviceType: 'deviceType',
-            }
-            
-            if (['3','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
-                // let param = {}
-                // if (v) {
-                //     param.id = v.id
-                // }
-                // this.$router.push({name: routers[name],params: {
-                //     id: v.id
-                // },query: {
-                //     ...v
-                // }})
-                // this.$nextTick(() => {
-                //     this.showSub = false
-                // })
-            } else {
-                this.activeId = name
-                console.log(name)
-                let params = {}
-                if ('workshop' === name) {
-                    params.id = v.id
+                this.activeId = item.id || this.activeId
+                if(item.pathName) {
+                    this.$router.push({name: item.pathName,params: item.params,query: item.query})
                 }
-                this.$router.push({name: routers[name],params: params})
-                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>
@@ -155,6 +197,7 @@
             position: relative;
             ul {
                 display: none;
+                font-size: 14px;
             }
             // user-select:none;
         }

--
Gitblit v1.9.3