From a5abb70a428f59894fc9ee4330f0033d6fe93a8b Mon Sep 17 00:00:00 2001
From: 杨磊 <505174330@qq.com>
Date: 星期四, 24 四月 2025 18:38:13 +0800
Subject: [PATCH] Merge branch 'master' of http://182.92.203.7:2001/r/wyyDatabase

---
 src/views/honors/index.vue              |    3 
 src/views/achievements/index.vue        |  128 +++++++++++++++++++++++--
 src/views/achievements/details.vue      |   90 ++++++++---------
 src/views/home/components/searchBox.vue |   24 +++-
 src/views/directory/index.vue           |    6 
 5 files changed, 181 insertions(+), 70 deletions(-)

diff --git a/src/views/achievements/details.vue b/src/views/achievements/details.vue
index 4fab097..1e76411 100644
--- a/src/views/achievements/details.vue
+++ b/src/views/achievements/details.vue
@@ -1,73 +1,50 @@
 <template>
   <div class="page">
     <div class="page-header">
-      <p>鐜嬫案鐐庨櫌澹鏈垚鏋�</p>
+      <p><span>鐜嬫案鐐庨櫌澹鏈垚鏋�</span></p>
     </div>
     <div class="page-main-father">
       <ul class="page-main">
         <li class="page-main-name">
           <p>
-            <el-button icon="el-icon-arrow-left" @click="goBack()"
-              >杩斿洖</el-button
-            >
+            <el-button icon="el-icon-arrow-left" @click="goBack()">杩斿洖</el-button>
           </p>
           <p>{{ detailsList.name }}</p>
         </li>
         <li class="page-main-time">
           <p>
-            <span>{{ detailsList.sources }}</span>
-            <span>{{ detailsList.time }}</span>
+            <span>{{ detailsList.source }}</span>
+            <span>{{ detailsList.year }}</span>
           </p>
         </li>
         <li class="page-main-title">
           <p>
-            <span
-              v-for="(item, index) in detailsList.characterList"
-              :key="index"
-              >{{ item.name }}</span
-            >
+            <span v-for="(item, index) in detailsList.characterList" :key="index">{{ item.name }}</span>
           </p>
-          <p><span>鎽樿锛�</span>{{ detailsList.title }}</p>
+          <p>
+            <span>鎽樿锛�</span>
+            <span class="page-main-abstract" v-html="detailsList.abstract"></span>
+          </p>
           <p>
             <span>鍏抽敭璇嶏細</span>
-            <span
-              class="page-main-keyword"
-              v-for="(item, index) in detailsList.keyword"
-              :key="index"
-              >{{ item.name }}</span
-            >
+            <span class="page-main-keyword" v-for="(item, index) in detailsList.keyWords" :key="index">{{ item
+            }}</span>
           </p>
           <p v-if="!isDisplay">
             <el-button @click="isDisplay = !isDisplay">鏌ョ湅鍏ㄦ枃</el-button>
           </p>
           <p class="page-main-video" v-if="isDisplay">
-            <video
-              :src="detailsList.videoUrl"
-              controls
-              autoplay
-              class="video"
-              width="70%"
-            ></video>
+            <video :src="detailsList.videoUrl" controls autoplay class="video" width="70%"></video>
           </p>
           <p class="page-main-audio" v-if="isDisplay">
-            <audio
-              :src="detailsList.videoUrl"
-              controls
-              autoplay
-              class="video"
-              width="100%"
-            ></audio>
+            <audio :src="detailsList.videoUrl" controls autoplay class="video" width="100%"></audio>
           </p>
         </li>
         <li class="page-main-literature">
           <p class="literature-header">鐩稿叧鏂囩尞</p>
           <div class="content-right">
             <!-- 缁撴灉灞曠ず -->
-            <ul
-              class="right-main"
-              v-for="(item, index) in resultList"
-              :key="index"
-            >
+            <ul class="right-main" v-for="(item, index) in resultList" :key="index">
               <li class="main-name">
                 <p>{{ item.name }}</p>
                 <p>
@@ -88,11 +65,7 @@
               </li>
               <li class="main-keyword">
                 <span>鍏抽敭璇嶏細</span>
-                <span
-                  class="keyWord"
-                  v-for="(citem, cindex) in item.keyword"
-                  :key="cindex"
-                >
+                <span class="keyWord" v-for="(citem, cindex) in item.keyword" :key="cindex">
                   {{ citem.name }}
                 </span>
               </li>
@@ -266,8 +239,12 @@
       ],
     };
   },
+  mounted() {
+    console.log(this.$route.params.key, "key001");
+    this.detailsList = this.$route.params.key;
+  },
   methods: {
-    goPage(key) {},
+    goPage(key) { },
 
     goBack() {
       this.$router.go(-1);
@@ -284,9 +261,12 @@
   background-color: #e9e1d4;
   position: relative;
   overflow: hidden;
+  display: flex;
+  flex-direction: column;
 }
 
 .page-header {
+  padding: 8px 0;
   height: 9.4%;
   width: 100%;
   text-align: left;
@@ -295,18 +275,25 @@
   position: sticky;
   top: 0;
   z-index: 100;
+
   p {
-    padding: 1.6% 0 1.55% 0;
+    height: 100%;
     font-family: Alimama DongFangDaKai;
     font-size: 30px;
     text-indent: 1em;
     border-bottom: 1px solid #937950;
+    display: flex;
+    align-items: center;
   }
 }
-.page-main-father{
-  height: calc(100% - 9.4%);
+
+.page-main-father {
+  flex: 1;
   width: 100%;
+  height: 100%;
   overflow: auto;
+  padding-top: 2%;
+  padding-bottom: 2%;
 }
 
 
@@ -381,6 +368,14 @@
         background-color: #6f5a3a;
         color: #fffdf8;
       }
+    }
+
+    .page-main-abstract {
+      font-family: Source Han Sans !important;
+      font-size: 14px !important;
+      font-weight: 350 !important;
+      line-height: 26px !important;
+      color: #333333 !important;
     }
 
     p:nth-child(1) {
@@ -464,8 +459,7 @@
     display: flex;
     justify-content: center;
 
-    audio {
-    }
+    audio {}
   }
 
   .page-main-literature {
diff --git a/src/views/achievements/index.vue b/src/views/achievements/index.vue
index 71406e4..6f655ea 100644
--- a/src/views/achievements/index.vue
+++ b/src/views/achievements/index.vue
@@ -10,7 +10,7 @@
         <!-- 鎼滅储妗� -->
         <ul class="page-input">
           <li class="input-main">
-            <SearchBox />
+            <SearchBox @search="handleSearch" />
           </li>
           <li class="input-txt" @click="isDisplay = !isDisplay">
             楂樼骇妫�绱�
@@ -131,7 +131,7 @@
             <!-- 鍏眡x鏉� -->
             <ul class="right-number">
               <ul class="number-number">
-                鍏辨壘鍒�<span>{{ resultList.length }}</span>鏉$粨鏋�
+                鍏辨壘鍒�<span>{{ this.total }}</span>鏉$粨鏋�
               </ul>
               <ul class="number-time">
                 鍙戣〃鏃堕棿
@@ -148,27 +148,28 @@
                 </p>
               </li>
               <li class="main-sources">
-                <span>{{ item.type }}</span>
-                <span>{{ item.sources }}</span>
-                <span>{{ item.time }}</span>
+                <span>{{ item.resourceTypeName }}</span>
+                <span>{{ item.source }}</span>
+                <span>{{ item.year }}</span>
               </li>
               <li class="main-author">
                 {{ item.author }}
               </li>
-              <li class="main-title" :title="item.title">
-                <span>鎽樿: </span>{{ item.title }}
+              <li class="main-title" :title="item.abstract">
+                <span>鎽樿: </span>
+                <span class="page-main-abstract" v-html="item.abstract"></span>
               </li>
               <li class="main-keyword">
                 <span>鍏抽敭璇嶏細</span>
-                <span class="keyWord" v-for="(citem, cindex) in item.keyword" :key="cindex">
-                  {{ citem.name }}
+                <span class="keyWord" v-for="(citem, cindex) in item.keyWords" :key="cindex">
+                  {{ citem }}
                 </span>
               </li>
             </ul>
             <!-- 鍒嗛〉 -->
             <div class="pagination">
-              <el-pagination class="msg-pagination-container" :background="isBackground" layout="prev, pager, next"
-                :total="200">
+              <el-pagination @current-change="handleCurrentChange" class="msg-pagination-container"
+                :background="isBackground" layout="prev, pager, next" :total="total">
               </el-pagination>
             </div>
           </div>
@@ -181,6 +182,8 @@
 <script>
 import MyForm from "@/components/form/form.vue";
 import SearchBox from "@/views/home/components/searchBox.vue";
+import MG from "@/assets/js/middleGround/WebMiddleGroundApi.js";
+import moment from "moment";
 /* eslint-disable vue/no-unused-components */
 export default {
   name: "achievements",
@@ -190,6 +193,8 @@
   },
   data() {
     return {
+      subjectAffiliationRefCode: "subjectAffiliation",
+      resourceTypeRefCode: "resourceType",
       errorIcon: require("@/assets/images/achievements/errorIcon.png"),
       topIcon: require("@/assets/images/achievements/top-Icon.png"),
       bottomIcon: require("@/assets/images/achievements/bottom-Icon.png"),
@@ -571,7 +576,16 @@
           ],
         },
       ],
+      total: 0,
+      currentPage: 1,
+      loading: false,
     };
+  },
+  mounted() {
+    this.getSelectContent();
+    this.getLeftCheckbox()
+    this.getSelectData();
+    this.getItemList()
   },
 
   methods: {
@@ -582,6 +596,7 @@
     },
     // 椤甸潰璺宠浆
     goPage(key) {
+      console.log(key,"key");
       this.$router.push({ name: "details", params: { key: key } });
     },
     // 鏀惰捣鍜屽睍绀�
@@ -602,6 +617,88 @@
         this.activeBox = this.activeBox === "b" ? null : "b";
       }
     },
+    // 鑾峰彇宸︿晶checkbox鏁版嵁
+    getLeftCheckbox() {
+
+
+    },
+
+    //鑾峰彇涓嬫媺閫夋嫨妗嗙殑鍐呭
+    async getSelectData() {
+      try {
+        // 鍚屾椂鍙戣捣涓や釜寮傛璇锋眰锛屽苟绛夊緟瀹冧滑鐨勭粨鏋�
+        const [subjectListResult, resourceListResult] = await Promise.all([
+          this.getSelectContent(this.subjectAffiliationRefCode),
+          this.getSelectContent(this.resourceTypeRefCode),
+        ]);
+        this.subject.list = subjectListResult.option
+        this.category.list = resourceListResult.option;
+      } catch (error) {
+        console.error("鑾峰彇涓嬫媺妗嗘暟鎹け璐�:", error);
+      }
+    },
+
+    //鑾峰彇閫夋嫨鍐呭
+    getSelectContent(refCode) {
+      let requestData = { refCodes: [refCode] };
+      return MG.store
+        .getProductTypeField(requestData)
+        .then((res) => {
+          const selestList = JSON.parse(res[0].config);
+          this.getLeftCheckbox()
+          return selestList;
+        })
+        .catch((error) => {
+          console.error("鑾峰彇鑽h獕澶辫触:", error);
+          return null;
+        });
+    },
+
+    // 鎼滅储
+    handleSearch(text, type) {
+      console.log(1234);
+      console.log(text, type, "鎼滅储123");
+    },
+
+    // getTtem
+    getItemList() {
+      this.loading = true;
+      MG.resource
+        .getItem({
+          path: "*",
+          queryType: "*",
+          paging: {
+            start: (this.currentPage - 1) * 6,
+            size: 6
+          },
+          fields: {
+            cmsType: ["cmsItem"],
+            resourceType: [],
+            source: [],
+            year: [],
+            abstract: [],
+            keyWords: [],
+          },
+        })
+        .then((res) => {
+          console.log(res, "鍏ㄩ儴鏁版嵁");
+          res.datas.forEach((item) => {
+            item.year = moment(item.year).format("YYYY-MM-DD")
+            item.keyWords = item.keyWords.split(";;")
+            item.resourceTypeName = this.category.list.find((citem) => citem.value == item.resourceType).name
+          })
+          this.resultList = res.datas
+          this.total = res.total;
+          this.loading = false;
+        })
+    },
+
+    // 澶勭悊椤电爜鍙樺寲
+    handleCurrentChange(newPage) {
+      this.currentPage = newPage;
+      this.getItemList(); // 閲嶆柊鑾峰彇鏁版嵁
+    },
+
   },
 };
 </script>
@@ -644,6 +741,7 @@
   flex: 1;
   width: 100%;
   height: 100%;
+  min-width: 1292px;
   overflow: auto;
   padding-top: 1%;
   padding-bottom: 2%;
@@ -1029,6 +1127,14 @@
         }
       }
 
+      .page-main-abstract {
+      font-family: Source Han Sans !important;
+      font-size: 14px !important;
+      font-weight: 350 !important;
+      line-height: 26px !important;
+      color: #333333 !important;
+    }
+
       .main-keyword {
         span:nth-child(1) {
           font-family: Source Han Sans;
diff --git a/src/views/directory/index.vue b/src/views/directory/index.vue
index 7671efa..0d3e66f 100644
--- a/src/views/directory/index.vue
+++ b/src/views/directory/index.vue
@@ -145,7 +145,8 @@
       </div>
       <!-- 鍒楄〃鏄剧ず -->
       <div class="page-main" v-if="activeTabs == 'list'">
-        <div v-loading="loading">
+        <div v-loading="loading" style="min-height: 550px;" element-loading-background="rgba(0, 0, 0, 0)" element-loading-text="瀛︾敓鍒楄〃鍔犺浇涓�"
+        element-loading-spinner="el-icon-loading">
           <div v-for="(item, index) in universityList" :key="index">
             <div
               class="table-title"
@@ -513,6 +514,7 @@
               });
             });
           });
+          this.loading = false;
           console.log(res, "res");
           if (res.datas && res.datas.length) {
             res.datas.forEach((item) => {
@@ -542,7 +544,7 @@
             console.log(this.chartData, "this.chartData");
             this.initChart();
 
-            this.loading = false;
+
           }
         })
         .catch((error) => {
diff --git a/src/views/home/components/searchBox.vue b/src/views/home/components/searchBox.vue
index 45acaf2..b27a855 100644
--- a/src/views/home/components/searchBox.vue
+++ b/src/views/home/components/searchBox.vue
@@ -15,7 +15,7 @@
     </el-select>
     <div class="inputBox">
       <input type="text" v-model="searchText" class="search-input" />
-      <div class="searchBtn">鎼滅储</div>
+      <div class="searchBtn" @click="handleSearch()">鎼滅储</div>
     </div>
   </div>
 </template>
@@ -23,17 +23,25 @@
 <script>
 export default {
   name: "SearchBox",
+  props: {
+    // 鎺ユ敹澶栭儴浼犲叆鐨勯�夐」
+    options: {
+      type: Array,
+      default: () => [
+        { value: "all", label: "鍏ㄩ儴" },
+        { value: "name", label: "鏍囬" },
+        { value: "author", label: "浣滆��" },
+        { value: "year", label: "骞翠唤" },
+        { value: "keyWords", label: "鍏抽敭璇�" },
+        { value: "abstract", label: "鎽樿" },
+        { value: "source", label: "鏉ユ簮" },
+      ],
+    },
+  },
   data() {
     return {
       searchText: "", // 杈撳叆妗嗗唴瀹�
       selectedType: "", // 涓嬫媺妗嗛�変腑鍊�
-      options: [
-        // 涓嬫媺閫夐」
-        { value: "all", label: "鍏ㄩ儴" },
-        { value: "name", label: "鍚嶇О" },
-        { value: "id", label: "ID" },
-        { value: "code", label: "缂栫爜" },
-      ],
     };
   },
   methods: {
diff --git a/src/views/honors/index.vue b/src/views/honors/index.vue
index a88cf3d..c299f09 100644
--- a/src/views/honors/index.vue
+++ b/src/views/honors/index.vue
@@ -11,7 +11,8 @@
           <!-- 宸﹁竟鏍囬 -->
           <div class="honors-main-title">鑽�<br />瑾�<br />濂�<br />椤�</div>
           <!-- 鍙宠竟鍐呭 -->
-          <div class="honors-text" v-loading="loading">
+          <div class="honors-text" v-loading="loading"  element-loading-background="rgba(0, 0, 0, 0)" element-loading-text="瀛︾敓鍒楄〃鍔犺浇涓�"
+          element-loading-spinner="el-icon-loading">
             <div style="min-height: 646px;">
               <ul>
                 <li v-for="(item, index) in honorList" :key="index">

--
Gitblit v1.9.1