From 07ecebb09d124f877f5b96badecd86682d9e5939 Mon Sep 17 00:00:00 2001
From: 明梦爽 <2972214568@qq.com>
Date: 星期四, 18 十一月 2021 15:24:27 +0800
Subject: [PATCH] 动态获取完成

---
 src/components/Home.vue |  211 +++++++++++++++++++++++++++-------------------------
 1 files changed, 108 insertions(+), 103 deletions(-)

diff --git a/src/components/Home.vue b/src/components/Home.vue
index ef195e3..df42532 100644
--- a/src/components/Home.vue
+++ b/src/components/Home.vue
@@ -1,102 +1,107 @@
 <template>
   <el-container class="home-container">
+    <!-- 涓婚〉澶撮儴 -->
     <el-header>
       <div>
-        <img src="../assets/heima.png" alt="" />
-        <span>鐢靛晢鍚庡彴绠$悊绯荤粺</span>
+        <img src="../assets/xiaohui4.png" alt="" />
       </div>
-      <el-button type="info" @click="logout">閫�鍑�</el-button>
+      <div>
+        <img src="../assets/bg.png" alt="">
+      </div>
     </el-header>
-    <el-container>
-      <el-aside :width="isCollapse ? '64px' : '200px'">
-        <div class="toggle-button" @click="toggleCollapse">|||</div>
-        <el-menu
-          background-color="rgb(50, 55, 67)"
-          text-color="#fff"
-          active-text-color="rgb(61, 159, 243)"
-          unique-opened
-          :collapse="isCollapse"
-          :collapse-transition="false"
-          router
-          :default-active="activePath"
+    <!-- 涓婚〉瀵艰埅鏍� -->
+    <el-row>
+      <el-menu
+        mode="horizontal"
+        background-color="rgb(64, 112, 186)"
+        text-color="white"
+        class="menu"
+        active-text-color="#000000"
+        :default-active="activeIndex"
+        @select="handleSelect"
+      >
+        <el-menu-item
+          :key="index"
+          v-for="(item, index) in menuList"
+          :index="(item.id).toString()"
         >
-          <!-- 涓�绾ц彍鍗� -->
-          <el-submenu
-            :index="item.id + ''"
-            v-for="item in menulist"
-            :key="item.id"
-          >
-            <template slot="title">
-              <i :class="iconsObj[item.id]"></i>
-              <span>{{ item.authName }}</span>
-            </template>
-            <!-- 浜岀骇鑿滃崟 -->
-            <el-menu-item
-              :index="'/' + subItem.path"
-              v-for="subItem in item.children"
-              :key="subItem.id"
-              @click="saveNavState('/' + subItem.path)"
-            >
-              <template slot="title">
-                <i class="el-icon-menu"></i>
-                <span>{{ subItem.authName }}</span>
-              </template>
-            </el-menu-item>
-          </el-submenu>
-        </el-menu>
-      </el-aside>
-      <el-main>
-        <router-view></router-view>
+          {{ item.contypeName }}
+        </el-menu-item>
+      </el-menu>
+    </el-row>
+    <el-container>
+      <!-- 鏇村彉鐨勫唴瀹瑰尯鍩� -->
+      <el-main class="main">
+        <router-view class="box"></router-view>
       </el-main>
     </el-container>
+    <el-footer>@骞抽《灞卞闄㈢瀛︽妧鏈崗浼�</el-footer>
   </el-container>
 </template>
 
 <script>
+import {getNavList} from '../api/api'
 export default {
+  name: '',
   data() {
     return {
-      //宸︿晶鑿滃崟鏁版嵁
-      menulist: [],
-      iconsObj: {
-        125: 'iconfont icon-user',
-        103: 'iconfont icon-tijikongjian',
-        101: 'iconfont icon-shangpin',
-        102: 'iconfont icon-danju',
-        145: 'iconfont icon-baobiao'
-      },
-      isCollapse: false,
-      //琚縺娲荤殑閾炬帴鍦板潃
-      activePath: ''
+      activeIndex: '1',
+      menuList: [],
     }
   },
   created() {
-    this.getMenuLsit()
-    this.activePath = window.sessionStorage.getItem('activePath')
+    this.getNavArr();
   },
+  mounted() {},
+  watch: {},
   methods: {
-    logout() {
-      //娓呯┖token
-      window.sessionStorage.clear()
-      //璺宠浆鍒扮櫥褰曢〉
-      this.$router.push('/login')
+    //鑾峰彇瀵艰埅鏍�
+    getNavArr(){
+      const data ={};
+      //.then() 涓昏鐢ㄤ簬涓�涓嚱鏁扮敤鍒板彟涓�涓嚱鏁扮殑杩斿洖鍊�
+      getNavList(data).then(res => {
+        console.log('res', res)
+        if(res.code == 200){
+          this.menuList = res.data
+        }
+      }).catch(err => {
+        console.log('err', err)
+      })
     },
-    // 鑾峰彇鎵�鏈夎彍鍗�
-    async getMenuLsit() {
-      const { data: res } = await this.$http.get('/menus')
-      // 濡傛灉璇锋眰澶辫触 鎶婇敊璇秷鎭墦鍗板嚭鏉�
-      if (res.meta.status !== 200) return this.$message.error(res.meta.msg)
-      //濡傛灉璇锋眰鎴愬姛锛屽皢鑾峰彇鐨勬暟鎹嬁杩囨潵鍗冲彲
-      this.menulist = res.data
-      console.log(res.data)
+    formatterTitle(t){
+      switch(t){
+        case '1':
+          return 'index'
+        case '2':
+          return 'introduce'
+        case '3':
+          return 'zhengce'
+        case '4':
+          return 'keXieXiangMu'
+        case '5':
+          return 'xueShuJiaoLiu'
+        case '6':
+          return 'banShiZhiNan'
+        case '7':
+          return 'kePu'
+        case '8':
+          return 'xueXiaoShouYe'
+        case '9':
+          return 'telephone'
+      }
     },
-    toggleCollapse() {
-      this.isCollapse = !this.isCollapse
-    },
-    //淇濆瓨閾炬帴鐨勬縺娲荤姸鎬�
-    saveNavState(activePath) {
-      window.sessionStorage.setItem('activePath', activePath)
-      this.activePath = activePath
+    handleSelect(key, keyPath) {
+      if (key == '8') {
+        window.open('https://www.pdsu.edu.cn/#')
+      } else {
+        this.$router.push({
+          path: '/home/' + this.formatterTitle(key),
+          query: {
+            title: this.formatterTitle(key),
+            id:key
+          }
+        })
+      }
     }
   }
 }
@@ -107,41 +112,41 @@
   height: 100%;
 }
 .el-header {
-  background-color: rgb(55, 61, 63);
+  background-color: rgb(1, 72, 153);
+}
+.el-header {
+  height: 120px !important;
+  padding: 0 40px;
+  overflow: hidden;
   display: flex;
   justify-content: space-between;
-  padding-left: 0;
   align-items: center;
-  color: #fff;
-  font-size: 20px;
-  > div {
-    display: flex;
-    justify-content: center;
-    align-items: center;
-    span {
-      margin-left: 15px;
-    }
+}
+.el-menu {
+  .el-menu-item {
+    width: 150px;
+    font-size: 15px;
+    text-align: center;
   }
 }
-.el-aside {
-  background-color: rgb(50, 55, 67);
-  .el-menu {
-    border-right: none;
-  }
+.menu {
+  display: flex;
+  justify-content: space-between;
 }
-.el-main {
-  background-color: rgb(233, 237, 240);
+.el-footer {
+  background-color: rgb(85, 81, 82);
 }
-.iconfont {
-  margin-right: 10px;
+.main {
+  padding: 20px 5px;
 }
-.toggle-button {
-  background-color: rgb(72, 81, 98);
+.el-footer {
+  font-size: 15px;
   color: white;
   text-align: center;
-  font-size: 10px;
-  line-height: 26px;
-  letter-spacing: 0.2em;
-  cursor: pointer;
+  line-height: 60px;
 }
-</style>
+.box {
+  width: 1200px;
+  margin: 0 auto;
+}
+</style>
\ No newline at end of file

--
Gitblit v1.8.0