From b8f5f6cdf5c26db929b7cda0188c587eb8d66c1d Mon Sep 17 00:00:00 2001 From: zhanghua <314079846@qq.com> Date: 星期六, 18 三月 2023 17:42:51 +0800 Subject: [PATCH] Merge branch 'dev1.0' of http://42.193.1.25:9521/r/sccg_ui into dev1.0 --- src/views/layout/components/Header/index.vue | 75 ++++++++++++++++++++++++++++++++----- 1 files changed, 65 insertions(+), 10 deletions(-) diff --git a/src/views/layout/components/Header/index.vue b/src/views/layout/components/Header/index.vue index 64d9514..2dc413c 100644 --- a/src/views/layout/components/Header/index.vue +++ b/src/views/layout/components/Header/index.vue @@ -6,6 +6,17 @@ <div class="menu-left__item" v-for="(item, index) in menuLeftList" :key="item.id" @click="changeActive(index)"> <span :class="item.checked ? 'my-active' : 'my-activeno'" @click="menuChange(item)">{{ item.label }}</span> </div> + <div class="menu-left__item" v-for="(item, index) in menuLinkList" :key="item.id+index" > + <span class="link-active" @click="menuOpen(item)">{{ item.name }}</span> + </div> + <el-dropdown trigger="click" @command="handleCommand" v-if="linkLeng"> + <span class="el-dropdown-link"> + <i class="el-icon-arrow-down el-icon--right"></i> + </span> + <el-dropdown-menu slot="dropdown" > + <el-dropdown-item v-for="(i,dx) in menuLinkLists" :key="i.id+dx" :command="i">{{i.name}}</el-dropdown-item> + </el-dropdown-menu> + </el-dropdown> </div> <!-- 鍙充晶鑿滃崟 --> <div class="header-right"> @@ -123,6 +134,7 @@ import updatePassword from "./updatePassword"; import users from "@/api/users"; import { Message } from "element-ui"; +import {searchexternalLinks} from "@/api/system/portal/externalLinks"; export default { components: { @@ -130,6 +142,9 @@ }, data() { return { + linkLeng:false, + menuLinkLists:[], + menuLinkList:[], baseInformationVisible: false, updatePasswordDialog: false, channelSettingVisible: false, @@ -159,12 +174,6 @@ url: '', id: '4f', }, - { - label: '澶栭儴閾炬帴', - checked: false, - url: '', - id: '5f', - }, ], flag: { user: false, @@ -183,6 +192,12 @@ }, created() { this.setLoginInfo(); + this.getExternalLinks() + }, + mounted(){ + window.eventBus.$on('setFeaturesData', ()=>{ // 涓嶅甫鍙傛暟 + this.getExternalLinks() + }) }, watch:{ $route() { @@ -192,6 +207,32 @@ }, }, methods: { + handleCommand(e){ + console.log(e) + this.menuOpen(e) + }, + menuOpen(row){ + window.open('http://'+row.url, '_blank'); + }, + async getExternalLinks() { + await searchexternalLinks().then((res) => { + let that = this + that.menuLinkList=[] + if (res.length > 5) { + that.linkLeng = true + } + that.menuLinkLists = res + for (let i = 0; i < res.length; i++) { + that.menuLinkList.push(res[i]) + if (i == 4) { + break; + } + } + console.log(that.menuLinkLists) + // this.menuLinkList = res + + }); + }, cancelChannel(){ this.channelSettingVisible=false }, @@ -323,15 +364,17 @@ if (data.id === '4f') { window.open('http://116.62.234.187:8120/#/Customer', '_blank'); } - if (data.id === '5f') { - this.$router.push({ path: "/home/system/platform/externalLinks" }) - } + } } }; </script> <style lang="scss" scoped> +.el-dropdown-link { + cursor: pointer; + color: #409EFF; +} ::v-deep .el-form { padding: 3vh 5vw; @@ -353,7 +396,7 @@ .header-left { display: flex; flex: 1; - +align-items: center; .menu-left__item { width: 120px; @@ -368,7 +411,19 @@ } } } +.link-active{ + overflow:hidden; + white-space: nowrap; + + text-overflow: ellipsis; + + -o-text-overflow:ellipsis; +} + .link-active:hover{ + color: #2f54eb; + background-color: #313350; + } .my-active { border-radius: 20px; color: #2f54eb; -- Gitblit v1.8.0