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