gaosp
2024-01-12 c34bcb35a4ccb478f39f235e2e2cccbdf0336a02
src/container/home/index.vue
@@ -16,7 +16,7 @@
                            车间列表<i class="el-icon-caret-bottom"></i>
                        </span>
                        <ul v-if="showSub">
                            <li v-for="item in workshopList" :key="item.id" @click.stop="navigateTo('3',item)">{{ item.name }}</li>
                            <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')">
@@ -90,34 +90,40 @@
        navigateTo (name,v) {
            let routers = {
                2: 'map',
                3: 'workshop',
                workshop: 'workshop',
                4: 'maintenance',
                7: 'component',
                ledger: 'ledger',
                deviceType: 'deviceType',
            }
            if (name === this.activeId) {
                this.showSub = !this.showSub
            } else {
                this.showSub = true
            }
            if (['3','5','8'].includes(name)) {
                this.activeId = name
                let params = {}
                if (v) {
                    params.id = v.id
                if (name === this.activeId) {
                    this.showSub = !this.showSub
                } else {
                    this.showSub = true
                }
                this.$router.push({name: routers[name],params,query: {
                    ...v
                }})
                this.$nextTick(() => {
                    this.showSub = false
                })
                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)
                // this.$router.push('/home/map')
                this.$router.push({name: routers[name]})
                let params = {}
                if ('workshop' === name) {
                    params.id = v.id
                }
                this.$router.push({name: routers[name],params: params})
                this.$nextTick(() => {
                    this.showSub = false
                })