From ce7cf2f67ec29aef55a889574942c58c8d7737bd Mon Sep 17 00:00:00 2001
From: zhongshujie <2862698242@qq.com>
Date: 星期日, 27 四月 2025 17:10:30 +0800
Subject: [PATCH] 学术成果详情

---
 src/layout/index.vue |  142 ++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 139 insertions(+), 3 deletions(-)

diff --git a/src/layout/index.vue b/src/layout/index.vue
index d7b591b..f26e3d5 100644
--- a/src/layout/index.vue
+++ b/src/layout/index.vue
@@ -1,5 +1,27 @@
 <template>
   <div class="homeLayoutBox">
+    <div class="leftMenu">
+      <div class="leftMenuTitle" @click="$router.push('/home')">鐜嬫案鐐庨櫌澹�</div>
+      <div class="leftMenuContent">
+        <p>瀛︽湳鎬濇兂浼犳壙</p>
+        <p>澶氱淮搴︽暟鎹簱</p>
+      </div>
+      <div class="leftMenuList">
+        <div
+          class="menuItem"
+          :class="{ active: $route.path == item.path }"
+          v-for="(item, index) in menuList"
+          :key="index"
+          @click="$router.push(item.path)"
+        >
+          <div class="iconBox">
+            <img class="autoImg" :src="item.activeIcon" alt="" v-if="$route.path == item.path">
+            <img class="autoImg" :src="item.icon" alt="" v-else>
+          </div>
+          <div class="menuText">{{ item.name }}</div>
+        </div>
+      </div>
+    </div>
     <div class="pageContentBox">
       <keep-alive v-if="keepAliveList.length > 0" :include="keepAliveList">
         <router-view />
@@ -11,27 +33,141 @@
 
 <script>
 import { mapState } from "vuex";
+import nianpu1 from "@/assets/images/menuIcon/nianpu1.png";
+import nianpu from "@/assets/images/menuIcon/nianpu.png";
+import mulu from "@/assets/images/menuIcon/mulu.png";
+import mulu1 from "@/assets/images/menuIcon/mulu1.png";
+import rongyu from "@/assets/images/menuIcon/rongyu.png";
+import rongyu1 from "@/assets/images/menuIcon/rongyu1.png";
+import xueshu from "@/assets/images/menuIcon/xueshu.png";
+import xueshu1 from "@/assets/images/menuIcon/xueshu1.png";
 export default {
-
   computed: {
     ...mapState(["userInfo", "keepAliveList"]),
   },
   watch: {
     $route(to, from) {
       if (to.meta.keepAlive && this.keepAliveList.indexOf(to.name) == -1) {
-        this.$store.commit("addKeepAlive", to.name); 
+        this.$store.commit("addKeepAlive", to.name);
       }
     },
+  },
+  data() {
+    return {
+      menuList: [
+        {
+          name: "骞磋氨",
+          path: "/chronology",
+          icon: nianpu1,
+          activeIcon: nianpu,
+        },
+        {
+          name: "瀛︽湳鎴愭灉",
+          path: "/achievements",
+          icon: xueshu,
+          activeIcon: xueshu1,
+        },
+        {
+          name: "鑽h獕濂栭」",
+          path: "/honor",
+          icon: rongyu,
+          activeIcon: rongyu1,
+        },
+        {
+          name: "瀛︾敓鍚嶅綍",
+          path: "/directory",
+          icon: mulu,
+          activeIcon: mulu1,
+        },
+      ],
+    };
   },
 };
 </script>
 
 <style lang="less" scoped>
+
+.iconBox{
+  width: 70px;
+  height: 70px;
+  position: relative;
+}
 .homeLayoutBox {
-  width: 100%;
   height: 100%;
+  display: flex;
+  // background-image: url("@/assets/images/homeBg.png");
+  // background-repeat: no-repeat;
+  // background-size: 100% 95%;
   .pageContentBox {
+    width: 100%;
     min-height: calc(100% - 525px);
   }
+
+  .active {
+    background: #6f5a3a;
+    color: #fff;
+  }
+
+  .leftMenu {
+    width: 200px;
+    height: 100%;
+    background: #937950;
+    display: flex;
+    flex-direction: column;
+    font-family: Alimama DongFangDaKai;
+
+    .leftMenuTitle {
+      width: 100%;
+      height: 50px;
+      line-height: 50px;
+      text-align: center;
+      color: #fff;
+      font-size: 24px;
+    }
+
+    .leftMenuContent {
+      font-size: 20px;
+      line-height: 30px;
+      color: #fff;
+      margin: 10px 20px;
+      padding: 10px 0;
+      text-align: center;
+      border-top: 1px solid #fff;
+      border-bottom: 1px solid #fff;
+    }
+
+    .leftMenuList > menuItem:first-child {
+      border-top: 1px solid #fff;
+    }
+
+    .leftMenuList {
+      display: flex;
+      flex-direction: column;
+      justify-content: space-around;
+      border-top: 1px solid #b9a587;
+      margin-top: 20px;
+
+      .menuItem {
+        width: 100%;
+        display: flex;
+        flex-direction: column;
+        justify-content: center;
+        align-items: center;
+        text-align: center;
+        color: #decaac;
+        font-size: 24px;
+        border-bottom: 1px solid #b9a587;
+        height: 18vh;
+        cursor: pointer;
+        .menuText {
+          line-height: 50px;
+        }
+
+        i {
+          font-size: 34px;
+        }
+      }
+    }
+  }
 }
 </style>

--
Gitblit v1.9.1