From 87c87f989dcc3027407eccde48a6b35f0f999570 Mon Sep 17 00:00:00 2001
From: 杨磊 <505174330@qq.com>
Date: 星期一, 28 四月 2025 14:48:23 +0800
Subject: [PATCH] 高级检索

---
 src/assets/font/SourceHanSansCN-Bold.otf    |    0 
 src/assets/font/SourceHanSansCN-Regular.otf |    0 
 src/assets/css/base.css                     |    4 
 dist.zip                                    |    0 
 src/views/achievements/index.vue            |  291 +++++++++++++++++++++++++++++++----------
 src/views/achievements/details.vue          |    1 
 src/views/chronology/floatingWindow.vue     |   33 +++-
 src/layout/index.vue                        |   13 +
 src/assets/images/right_arrow.svg           |    1 
 src/views/chronology/yearWindow.vue         |   43 +++++
 src/views/chronology/index.vue              |   33 +++-
 src/views/directory/index.vue               |    1 
 12 files changed, 318 insertions(+), 102 deletions(-)

diff --git a/dist.zip b/dist.zip
index ed835c2..89a8539 100644
--- a/dist.zip
+++ b/dist.zip
Binary files differ
diff --git a/src/assets/css/base.css b/src/assets/css/base.css
index 8e41ba6..55e18a9 100644
--- a/src/assets/css/base.css
+++ b/src/assets/css/base.css
@@ -101,11 +101,11 @@
 
 @font-face {
   font-family: "siyuanBold";
-  src: url(../font/SourceHanSerifCN-Bold.otf);
+  src: url(../font/SourceHanSansCN-Bold.otf);
 }
 @font-face {
   font-family: "siyuan";
-  src: url(../font/SourceHanSerifCN-Regular.otf);
+  src: url(../font/SourceHanSansCN-Regular.otf);
 }
 
 
diff --git a/src/assets/font/SourceHanSansCN-Bold.otf b/src/assets/font/SourceHanSansCN-Bold.otf
new file mode 100644
index 0000000..4b3429a
--- /dev/null
+++ b/src/assets/font/SourceHanSansCN-Bold.otf
Binary files differ
diff --git a/src/assets/font/SourceHanSansCN-Regular.otf b/src/assets/font/SourceHanSansCN-Regular.otf
new file mode 100644
index 0000000..886f82f
--- /dev/null
+++ b/src/assets/font/SourceHanSansCN-Regular.otf
Binary files differ
diff --git a/src/assets/images/right_arrow.svg b/src/assets/images/right_arrow.svg
new file mode 100644
index 0000000..eac093d
--- /dev/null
+++ b/src/assets/images/right_arrow.svg
@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" fill="none" version="1.1" width="48" height="48" viewBox="0 0 48 48"><defs><clipPath id="master_svg0_55_1931"><rect x="0" y="0" width="48" height="48" rx="0"/></clipPath></defs><g clip-path="url(#master_svg0_55_1931)"><g><rect x="0" y="0" width="48" height="48" rx="0" fill="#FFFFFF" fill-opacity="0.009999999776482582" style="mix-blend-mode:passthrough"/></g><g><path d="M9.15075,9.15076Q3,15.3015,3,24Q3,32.698499999999996,9.15076,38.8492Q15.3015,45,24,45Q32.698499999999996,45,38.8492,38.8492Q45,32.698499999999996,45,24Q45,15.3015,38.8492,9.15075Q32.698499999999996,3,24,3Q15.3015,3,9.15075,9.15076ZM10.564969999999999,37.435Q5,31.8701,5,24Q5,16.1299,10.564969999999999,10.564969999999999Q16.1299,5,24,5Q31.8701,5,37.435,10.564969999999999Q43,16.1299,43,24Q43,31.8701,37.435,37.435Q31.8701,43,24,43Q16.1299,43,10.564969999999999,37.435Z" fill-rule="evenodd" fill="#6F5A3A" fill-opacity="1" style="mix-blend-mode:passthrough"/></g><g><path d="M14.49163818359375,23.5L32.49163818359375,23.5Q32.59013818359375,23.5,32.68673818359375,23.519215Q32.78333818359375,23.538429999999998,32.87433818359375,23.576121Q32.96533818359375,23.613812,33.04723818359375,23.66853Q33.12913818359375,23.723249,33.19873818359375,23.792893Q33.268338183593755,23.862537,33.32313818359375,23.94443Q33.37783818359375,24.026322,33.41553818359375,24.117317Q33.453238183593754,24.208311,33.47243818359375,24.30491Q33.49163818359375,24.4015086,33.49163818359375,24.5Q33.49163818359375,24.5984914,33.47243818359375,24.69509Q33.453238183593754,24.791689,33.41553818359375,24.882683Q33.37783818359375,24.973678,33.32313818359375,25.05557Q33.268338183593755,25.137463,33.19873818359375,25.207107Q33.12913818359375,25.276751,33.04723818359375,25.33147Q32.96533818359375,25.386188,32.87433818359375,25.423879Q32.78333818359375,25.461570000000002,32.68673818359375,25.480785Q32.59013818359375,25.5,32.49163818359375,25.5L14.49163818359375,25.5Q14.39314678359375,25.5,14.29654818359375,25.480785Q14.19994918359375,25.461570000000002,14.10895518359375,25.423879Q14.01796018359375,25.386188,13.93606818359375,25.33147Q13.85417518359375,25.276751,13.78453118359375,25.207107Q13.71488718359375,25.137463,13.66016818359375,25.05557Q13.60545018359375,24.973678,13.56775918359375,24.882683Q13.53006818359375,24.791689,13.510853183593749,24.69509Q13.49163818359375,24.5984914,13.49163818359375,24.5Q13.49163818359375,24.4015086,13.510853183593749,24.30491Q13.53006818359375,24.208311,13.56775918359375,24.117317Q13.60545018359375,24.026322,13.66016818359375,23.94443Q13.71488718359375,23.862537,13.78453118359375,23.792893Q13.85417518359375,23.723249,13.93606818359375,23.66853Q14.01796018359375,23.613812,14.10895518359375,23.576121Q14.19994918359375,23.538429999999998,14.29654818359375,23.519215Q14.39314678359375,23.5,14.49163818359375,23.5Z" fill-rule="evenodd" fill="#6F5A3A" fill-opacity="1" style="mix-blend-mode:passthrough"/></g><g><path d="M22.78453118359375,16.207107Q22.64387918359375,16.066455,22.56775818359375,15.882683Q22.49163818359375,15.698912,22.49163818359375,15.5Q22.49163818359375,15.4015086,22.51085318359375,15.30491Q22.530068183593748,15.208311,22.56775918359375,15.117317Q22.60545018359375,15.026322,22.66016818359375,14.94443Q22.71488718359375,14.862537,22.78453118359375,14.792893Q22.85417518359375,14.723249,22.93606818359375,14.66853Q23.01796018359375,14.613812,23.10895518359375,14.576121Q23.19994918359375,14.53843,23.29654818359375,14.519214999999999Q23.39314678359375,14.5,23.49163818359375,14.5Q23.69055018359375,14.5,23.87432118359375,14.57612Q24.05809318359375,14.652241,24.19874518359375,14.792893L33.19874818359375,23.79289Q33.33939818359375,23.93355,33.41551818359375,24.11732Q33.49163818359375,24.301090000000002,33.49163818359375,24.5Q33.49163818359375,24.698909999999998,33.41551818359375,24.88268Q33.33939818359375,25.06645,33.19874818359375,25.20711L24.19874518359375,34.2071Q24.05809218359375,34.3478,23.87432118359375,34.4239Q23.69055018359375,34.5,23.49163818359375,34.5Q23.39314678359375,34.5,23.29654818359375,34.4808Q23.19994918359375,34.461600000000004,23.10895518359375,34.4239Q23.01796018359375,34.3862,22.93606818359375,34.3315Q22.85417518359375,34.276700000000005,22.78453118359375,34.2071Q22.71488718359375,34.1375,22.66016818359375,34.0556Q22.60545018359375,33.9737,22.56775918359375,33.8827Q22.530068183593748,33.7917,22.51085318359375,33.6951Q22.49163818359375,33.5985,22.49163818359375,33.5Q22.49163818359375,33.301100000000005,22.56775818359375,33.1173Q22.64387918359375,32.933499999999995,22.78453118359375,32.7929L22.78541118359375,32.792L31.07742818359375,24.5L22.78453118359375,16.207107L22.78453118359375,16.207107Z" fill-rule="evenodd" fill="#6F5A3A" fill-opacity="1" style="mix-blend-mode:passthrough"/></g></g></svg>
\ No newline at end of file
diff --git a/src/layout/index.vue b/src/layout/index.vue
index 0308721..eb9f1ab 100644
--- a/src/layout/index.vue
+++ b/src/layout/index.vue
@@ -114,13 +114,14 @@
     background: #937950;
     display: flex;
     flex-direction: column;
-    font-family: Alimama DongFangDaKai;
-
+    font-family: siyuanBlod;
+    
     .leftMenuTitle {
       width: 100%;
       height: 50px;
       line-height: 50px;
       text-align: center;
+      margin-top: 20px;
       color: #fff;
       font-size: 24px;
     }
@@ -129,11 +130,14 @@
       font-size: 20px;
       line-height: 30px;
       color: #fff;
-      margin: 10px 20px;
+      margin: 10px 14px;
+      margin-top: 0px;
       padding: 10px 0;
       text-align: center;
       border-top: 1px solid #fff;
       border-bottom: 1px solid #fff;
+      letter-spacing: 4px;
+      white-space: nowrap;
     }
 
     .leftMenuList > menuItem:first-child {
@@ -146,7 +150,7 @@
       justify-content: space-around;
       border-top: 1px solid #b9a587;
       margin-top: 20px;
-
+      font-weight: bold;
       .menuItem {
         width: 100%;
         display: flex;
@@ -161,6 +165,7 @@
         cursor: pointer;
         .menuText {
           line-height: 50px;
+          font-weight: 700;
         }
 
         i {
diff --git a/src/views/achievements/details.vue b/src/views/achievements/details.vue
index c2b8297..cd98c70 100644
--- a/src/views/achievements/details.vue
+++ b/src/views/achievements/details.vue
@@ -182,6 +182,7 @@
     if (this.details.cmsItemType == "video" || this.details.cmsItemType == "audio") {
       if (this.details.file != "") {
         this.details.src = await this.getResourcePath(this.details.file)
+        console.log(this.details.src, "瑙嗛鍦板潃");
       }
     }
 
diff --git a/src/views/achievements/index.vue b/src/views/achievements/index.vue
index eb71247..80fc281 100644
--- a/src/views/achievements/index.vue
+++ b/src/views/achievements/index.vue
@@ -19,12 +19,17 @@
         </ul>
         <!-- 楂樼骇鎼滅储 -->
         <div v-if="isDisplay" class="page-search">
-          <MyForm class="myfrom" @submit="
-            (data) => {
-              CurrentPage = 1;
-              onSubmit(data);
-            }
-          " @reset="resetForm" :from="from" />
+          <MyForm
+            class="myfrom"
+            @submit="
+              (data) => {
+                CurrentPage = 1;
+                onSubmit(data);
+              }
+            "
+            @reset="resetForm"
+            :from="from"
+          />
         </div>
         <!-- 鎼滅储缁撴灉 -->
         <div class="page-content">
@@ -34,15 +39,31 @@
               <li class="left-title">
                 <span>{{ category.title }}</span>
                 <p @click="category.isDisplay = !category.isDisplay">
-                  <img :src="[category.isDisplay ? topIcon : bottomIcon]" alt="" />
+                  <img
+                    :src="[category.isDisplay ? topIcon : bottomIcon]"
+                    alt=""
+                  />
                 </p>
               </li>
               <li class="left-main" v-if="category.isDisplay">
-                <div class="category-main" v-for="(item, index) in category.list" :key="index">
-                  <el-checkbox class="el-checkbox" v-model="item.checked" :title="item.name"
-                    @change="categoryChange(item)" style="display: inline-block; vertical-align: middle">{{ item.name
-                    }}</el-checkbox>
-                  <span class="" style="display: inline-block; vertical-align: middle">{{ item.num }}</span>
+                <div
+                  class="category-main"
+                  v-for="(item, index) in category.list"
+                  :key="index"
+                >
+                  <el-checkbox
+                    class="el-checkbox"
+                    v-model="item.checked"
+                    :title="item.name"
+                    @change="categoryChange(item)"
+                    style="display: inline-block; vertical-align: middle"
+                    >{{ item.name }}</el-checkbox
+                  >
+                  <span
+                    class=""
+                    style="display: inline-block; vertical-align: middle"
+                    >{{ item.num }}</span
+                  >
                 </div>
               </li>
             </ul>
@@ -53,25 +74,50 @@
                   <span>{{ annual.title }}</span>
                   <span>
                     鏃堕棿
-                    <img class="sort-Icon" :src="[isDisplay ? sortTop : sortBottom]" alt="" />
+                    <img
+                      class="sort-Icon"
+                      :src="[isDisplay ? sortTop : sortBottom]"
+                      alt=""
+                    />
                   </span>
-                  <span>鏂囩尞閲�
-                    <img class="sort-Icon" :src="[isDisplay ? sortBottom : sortTop]" alt="" />
+                  <span
+                    >鏂囩尞閲�
+                    <img
+                      class="sort-Icon"
+                      :src="[isDisplay ? sortBottom : sortTop]"
+                      alt=""
+                    />
                   </span>
                 </div>
                 <p @click="annual.isDisplay = !annual.isDisplay">
-                  <img :src="[annual.isDisplay ? topIcon : bottomIcon]" alt="" />
+                  <img
+                    :src="[annual.isDisplay ? topIcon : bottomIcon]"
+                    alt=""
+                  />
                 </p>
               </li>
               <li class="left-main" v-if="annual.isDisplay">
-                <div class="annual-main" :style="{
-                  display: index + 1 > professionIndex ? 'none' : '',
-                }" v-for="(item, index) in annual.list" :key="index">
-                  <el-checkbox class="el-checkbox" v-model="item.checked" :title="item.years">{{ item.years
-                  }}</el-checkbox>
+                <div
+                  class="annual-main"
+                  :style="{
+                    display: index + 1 > professionIndex ? 'none' : '',
+                  }"
+                  v-for="(item, index) in annual.list"
+                  :key="index"
+                >
+                  <el-checkbox
+                    class="el-checkbox"
+                    v-model="item.checked"
+                    :title="item.years"
+                    >{{ item.years }}</el-checkbox
+                  >
                   <span class="">{{ item.num }}</span>
                 </div>
-                <p class="annual-footer" v-if="annual.list && annual.list.length > 5" @click="shrinkClick('a', '骞村害')">
+                <p
+                  class="annual-footer"
+                  v-if="annual.list && annual.list.length > 5"
+                  @click="shrinkClick('a', '骞村害')"
+                >
                   {{ activeBox !== "a" ? "鏇村 鈭�" : "鏀惰捣 鈭�" }}
                 </p>
               </li>
@@ -83,23 +129,42 @@
                   <span>{{ sources.title }}</span>
                   <span>
                     鏂囩尞閲�
-                    <img class="sort-Icon" :src="[isDisplay ? sortBottom : sortTop]" alt="" />
+                    <img
+                      class="sort-Icon"
+                      :src="[isDisplay ? sortBottom : sortTop]"
+                      alt=""
+                    />
                   </span>
                 </div>
                 <p @click="sources.isDisplay = !sources.isDisplay">
-                  <img :src="[sources.isDisplay ? topIcon : bottomIcon]" alt="" />
+                  <img
+                    :src="[sources.isDisplay ? topIcon : bottomIcon]"
+                    alt=""
+                  />
                 </p>
               </li>
               <li class="left-main" v-if="sources.isDisplay">
-                <div class="sources-main" v-for="(item, index) in sources.list" :key="index" :style="{
-                  display: index + 1 > dynastyIndex ? 'none' : '',
-                }">
-                  <el-checkbox class="el-checkbox" :title="item.name" v-model="item.checked">{{ item.name
-                  }}</el-checkbox>
+                <div
+                  class="sources-main"
+                  v-for="(item, index) in sources.list"
+                  :key="index"
+                  :style="{
+                    display: index + 1 > dynastyIndex ? 'none' : '',
+                  }"
+                >
+                  <el-checkbox
+                    class="el-checkbox"
+                    :title="item.name"
+                    v-model="item.checked"
+                    >{{ item.name }}</el-checkbox
+                  >
                   <span class="">{{ item.num }}</span>
                 </div>
-                <p class="sources-footer" v-if="sources.list && sources.list.length > 5"
-                  @click="shrinkClick('b', '鏂囩尞鏉ユ簮')">
+                <p
+                  class="sources-footer"
+                  v-if="sources.list && sources.list.length > 5"
+                  @click="shrinkClick('b', '鏂囩尞鏉ユ簮')"
+                >
                   {{ activeBox !== "b" ? "鏇村 鈭�" : "鏀惰捣 鈭�" }}
                 </p>
               </li>
@@ -109,39 +174,67 @@
               <li class="left-title">
                 <span>{{ subject.title }}</span>
                 <p @click="subject.isDisplay = !subject.isDisplay">
-                  <img :src="[subject.isDisplay ? topIcon : bottomIcon]" alt="" />
+                  <img
+                    :src="[subject.isDisplay ? topIcon : bottomIcon]"
+                    alt=""
+                  />
                 </p>
               </li>
               <li class="left-main" v-if="subject.isDisplay">
-                <div class="category-main" v-for="(item, index) in subject.list" :key="index">
-                  <el-checkbox class="el-checkbox" v-model="item.checked" :title="item.name"
-                    @change="subjectChange(item)">{{ item.name }}</el-checkbox>
+                <div
+                  class="category-main"
+                  v-for="(item, index) in subject.list"
+                  :key="index"
+                >
+                  <el-checkbox
+                    class="el-checkbox"
+                    v-model="item.checked"
+                    :title="item.name"
+                    @change="subjectChange(item)"
+                    >{{ item.name }}</el-checkbox
+                  >
                   <span class="">{{ item.num }}</span>
                 </div>
               </li>
             </ul>
           </div>
-          <div class="content-right" v-loading="loading" element-loading-text="妫�绱㈢粨鏋滃姞杞戒腑"
-            element-loading-spinner="el-icon-loading" element-loading-background="rgba(0, 0, 0, 0)">
+          <div
+            class="content-right"
+            v-loading="loading"
+            element-loading-text="妫�绱㈢粨鏋滃姞杞戒腑"
+            element-loading-spinner="el-icon-loading"
+            element-loading-background="rgba(0, 0, 0, 0)"
+          >
             <!-- title閮ㄥ垎 -->
             <ul class="right-header">
               <li v-for="(item, index) in associationList" :key="index">
                 <p>{{ item.type }} : {{ item.content }}</p>
-                <img @click="removeAssociationList(item.content)" :src="errorIcon" alt="" />
+                <img
+                  @click="removeAssociationList(item.content)"
+                  :src="errorIcon"
+                  alt=""
+                />
               </li>
             </ul>
             <!-- 鍏眡x鏉� -->
             <ul class="right-number">
               <ul class="number-number">
-                鍏辨壘鍒�<span>{{ this.total }}</span>鏉$粨鏋�
+                鍏辨壘鍒�<span>{{ this.total }}</span
+                >鏉$粨鏋�
               </ul>
               <ul class="number-time">
                 鍙戣〃鏃堕棿
-                <span @click="sortChange()"><img :src="!postedSortInfo ? sortBottom : sortTop" alt="" /></span>
+                <span @click="sortChange()"
+                  ><img :src="!postedSortInfo ? sortBottom : sortTop" alt=""
+                /></span>
               </ul>
             </ul>
             <!-- 缁撴灉灞曠ず -->
-            <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>
@@ -158,22 +251,46 @@
               <li class="main-author">
                 {{ item.author }}
               </li>
-              <li class="main-title" :title="item.cleanAbstract" v-if="item.abstract">
+              <li
+                class="main-title"
+                :title="item.cleanAbstract"
+                v-if="item.abstract"
+              >
                 <span>鎽樿: </span>
                 <span class="page-main-abstract" v-html="item.abstract"></span>
               </li>
-              <li class="main-keyword" v-if="item.keyWords && item.keyWords.length > 0">
+              <li
+                class="main-keyword"
+                v-if="item.keyWords && item.keyWords.length > 0"
+              >
                 <span>鍏抽敭璇嶏細</span>
-                <span class="keyWord" v-for="(citem, cindex) in item.keyWords" :key="cindex"
-                  @click="() => handleSearch({ text: citem, type: 'keyWords', label: '鍏抽敭璇�' })">
+                <span
+                  class="keyWord"
+                  v-for="(citem, cindex) in item.keyWords"
+                  :key="cindex"
+                  @click="
+                    () =>
+                      handleSearch({
+                        text: citem,
+                        type: 'keyWords',
+                        label: '鍏抽敭璇�',
+                      })
+                  "
+                >
                   {{ citem }}
                 </span>
               </li>
             </ul>
             <!-- 鍒嗛〉 -->
             <div class="pagination" v-if="total > 6">
-              <el-pagination @current-change="handleCurrentChange" class="msg-pagination-container"
-                :background="isBackground" layout="prev, pager, next" :total="total" :page-size="6">
+              <el-pagination
+                @current-change="handleCurrentChange"
+                class="msg-pagination-container"
+                :background="isBackground"
+                layout="prev, pager, next"
+                :total="total"
+                :page-size="6"
+              >
               </el-pagination>
             </div>
             <el-empty v-if="!loading && !resultList.length"></el-empty>
@@ -467,14 +584,21 @@
 
   methods: {
     categoryChange(val) {
-      console.log(val, "val");
       if (val.checked) {
         this.categoryChecList.push(val.value);
+        this.associationList.push({
+          type: "绫诲瀷",
+          content: val.name,
+        });
       } else {
         const index = this.categoryChecList.findIndex(
           (item) => item === val.value
         );
+        const index2 = this.associationList.findIndex(
+          (item) => item.name === val.name
+        );
         this.categoryChecList.splice(index, 1);
+        this.associationList.splice(index2, 1);
       }
       this.getItemList();
     },
@@ -577,12 +701,12 @@
       );
       this.inputValue = "";
       // 閫氱煡鐖剁粍浠舵暟鎹凡鏀瑰彉
-      this.getItemList()
+      this.getItemList();
     },
 
     // 鎼滅储
     handleSearch(isText) {
-      this.associationList = []
+      this.associationList = [];
       if (isText.text != "") {
         this.inputValue = isText.text;
         this.inputType = isText.type;
@@ -597,19 +721,25 @@
     // 璇锋眰鏁版嵁
     getItemList() {
       let searchData = {}; // 鍒濆鍖栦竴涓┖瀵硅薄鏉ュ瓨鍌ㄦ悳绱㈡暟鎹�
-      if (this.inputValue) { // 濡傛灉杈撳叆鍊煎瓨鍦�
-        if (this.inputType != "all") { // 濡傛灉杈撳叆绫诲瀷涓嶆槸"all"
+      if (this.inputValue) {
+        // 濡傛灉杈撳叆鍊煎瓨鍦�
+        if (this.inputType != "all") {
+          // 濡傛灉杈撳叆绫诲瀷涓嶆槸"all"
           // 灏嗚緭鍏ュ�间笌杈撳叆绫诲瀷鍏宠仈锛屽苟娣诲姞涓�涓槦鍙�(*)浣滀负鍚庣紑
           searchData[this.inputType + "*"] = this.inputValue;
-        } else { // 濡傛灉杈撳叆绫诲瀷鏄�"all"
+        } else {
+          // 濡傛灉杈撳叆绫诲瀷鏄�"all"
           // 閬嶅巻杈撳叆閫夐」
           for (let index = 0; index < this.inputOptions.length; index++) {
             const item = this.inputOptions[index]; // 鑾峰彇褰撳墠閫夐」
-            if (item.value !== "all") { // 濡傛灉褰撳墠閫夐」鐨勫�间笉鏄�"all"
-              if (!Object.keys(searchData).length) { // 濡傛灉searchData鏄┖鐨�
+            if (item.value !== "all") {
+              // 濡傛灉褰撳墠閫夐」鐨勫�间笉鏄�"all"
+              if (!Object.keys(searchData).length) {
+                // 濡傛灉searchData鏄┖鐨�
                 // 灏嗙涓�涓�夐」鐨勫�间笌杈撳叆鍊煎叧鑱旓紝骞舵坊鍔犱竴涓槦鍙�(*)浣滀负鍚庣紑
                 searchData[item.value + "*"] = this.inputValue;
-              } else { // 濡傛灉searchData涓嶆槸绌虹殑
+              } else {
+                // 濡傛灉searchData涓嶆槸绌虹殑
                 // 浣跨敤"||"浣滀负鍓嶇紑锛屽皢鍚庣画閫夐」鐨勫�间笌杈撳叆鍊煎叧鑱旓紝骞舵坊鍔犱竴涓槦鍙�(*)浣滀负鍚庣紑
                 // 杩欓�氬父鐢ㄤ簬鏋勫缓涓�涓�昏緫鎴栵紙OR锛夋煡璇�
                 searchData["||" + item.value + "*"] = this.inputValue;
@@ -618,6 +748,19 @@
           }
         }
       }
+      if (this.associationList && this.associationList.length) {
+        this.associationList.forEach((item) => {
+          if (item.value == "year") {
+            const endDate = item.content.split("/")[0] + "/12/31 23:59:59";
+            const startDate = item.content.split("/")[0] + "/01/01 00:00:00";
+            searchData[item.value + ">="] = startDate;
+            searchData[item.value + "<="] = endDate;
+          } else {
+            searchData[item.value + "*"] = item.content;
+          }
+        });
+      }
+      console.log(searchData, "searchData");
       MG.resource
         .getItem({
           path: "*",
@@ -663,10 +806,12 @@
               item.cleanAbstract = item.abstract.replace(/<[^>]+>/g, "");
             }
 
-            const foundItem = this.category.list.find((citem) => citem.value == item.cmsItemType);
-            item.resourceTypeName = foundItem ? foundItem.name : '';
-          })
-          this.resultList = res.datas
+            const foundItem = this.category.list.find(
+              (citem) => citem.value == item.cmsItemType
+            );
+            item.resourceTypeName = foundItem ? foundItem.name : "";
+          });
+          this.resultList = res.datas;
           this.total = res.total;
           this.loading = false;
         });
@@ -677,11 +822,11 @@
       this.getItemList(); // 閲嶆柊鑾峰彇鏁版嵁
       // 婊氬姩鍒伴〉闈㈤《閮�
       this.$nextTick(() => {
-        const pageMain = document.querySelector('.page-main-father');
+        const pageMain = document.querySelector(".page-main-father");
         if (pageMain) {
           pageMain.scrollTo({
             top: 0,
-            behavior: 'smooth'
+            behavior: "smooth",
           });
         }
       });
@@ -730,7 +875,6 @@
 
 ::v-deep .el-loading-spinner {
   .el-loading-text {
-
     font-size: 14px;
     color: #937950;
   }
@@ -740,7 +884,6 @@
     color: #937950;
   }
 }
-
 
 .page-main-father {
   flex: 1;
@@ -798,10 +941,8 @@
       font-family: Source Han Sans;
       font-size: 14px;
       font-weight: bold;
-      color: #2C2C2C;
-
+      color: #2c2c2c;
     }
-
   }
 
   .input-txt {
@@ -854,7 +995,6 @@
         background-color: transparent;
         color: #937950;
         border: 1px solid #937950;
-        ;
         cursor: pointer;
 
         &:hover {
@@ -982,12 +1122,15 @@
     border-color: #d1d1d1;
   }
 
-  ::v-deep .el-checkbox .el-checkbox__input.is-checked+.el-checkbox__label {
+  ::v-deep .el-checkbox .el-checkbox__input.is-checked + .el-checkbox__label {
     color: #2c2c2c;
   }
 
   ::v-deep .el-checkbox .el-checkbox__input.is-checked .el-checkbox__inner,
-  ::v-deep .el-checkbox .el-checkbox__input.is-indeterminate .el-checkbox__inner {
+  ::v-deep
+    .el-checkbox
+    .el-checkbox__input.is-indeterminate
+    .el-checkbox__inner {
     border-color: #8f7a5a;
     background-color: #8f7a5a;
   }
@@ -1240,7 +1383,9 @@
   border: 1px solid #cccccc;
 }
 
-:deep.msg-pagination-container.is-background .el-pager li:not(.disabled).active {
+:deep.msg-pagination-container.is-background
+  .el-pager
+  li:not(.disabled).active {
   /*褰撳墠閫変腑椤垫暟鐨勬牱寮忚繘琛屼慨鏀�*/
   background-color: #937950;
   color: #fff;
@@ -1254,9 +1399,7 @@
   color: #937950 !important;
   border-color: #937950 !important;
   font-weight: bold;
-
 }
-
 
 .el-select-dropdown__item.selected {
   color: #937950 !important;
@@ -1267,4 +1410,4 @@
   border-color: #937950;
   font-weight: bold;
 }
-</style>
\ No newline at end of file
+</style>
diff --git a/src/views/chronology/floatingWindow.vue b/src/views/chronology/floatingWindow.vue
index 0a45b56..c8665c9 100644
--- a/src/views/chronology/floatingWindow.vue
+++ b/src/views/chronology/floatingWindow.vue
@@ -4,7 +4,7 @@
       class="journalBox"
       v-if="info.cmsItemType === 'journal' || info.cmsItemType === 'books'"
     >
-      <div class="title">{{ info.name }}</div>
+      <div :title="info.name" class="title">{{ info.name }}</div>
       <div class="subtitle">
         <div class="source">{{ info.source }}</div>
         <div class="journalInformation">{{ info.IssueNumber }}</div>
@@ -43,7 +43,7 @@
       </div>
     </div>
     <div class="videoBox" v-if="info.cmsItemType === 'video'">
-      <video width="370" height="200" controls :src="info.requestCtx"></video>
+      <video width="370" height="200" controls :src="info.fileLink"></video>
 
       <div>
         <div class="subtitle">
@@ -52,15 +52,16 @@
         </div>
         <div class="contentBox" style="text-align: left">
           <div class="contentBox" style="text-align: left">
-          <div class="audioContent" v-html="info.abstract"></div>
-        </div></div>
+            <div class="audioContent" v-html="info.abstract"></div>
+          </div>
+        </div>
       </div>
     </div>
     <div class="audioBox" v-if="info.cmsItemType === 'audio'">
       <div style="text-align: center">
         <audio
           style="width: 90%"
-          src="https://www.w3schools.com/html/horse.ogg"
+          :src="info.fileLink"
           controls
         ></audio>
       </div>
@@ -76,7 +77,7 @@
     </div>
 
     <div class="btnBox">
-      <div class="detailBtn">鏌ョ湅璇︽儏</div>
+      <div @click="toDetail" class="detailBtn">鏌ョ湅璇︽儏</div>
     </div>
   </div>
 </template>
@@ -94,7 +95,14 @@
   data() {
     return {};
   },
-
+  mounted() {
+    console.log(this.info);
+  },
+  methods: {
+    toDetail() {
+      this.$router.push({ name: "details", query: { id: this.info.id } });
+    },
+  },
 };
 </script>
 
@@ -112,6 +120,10 @@
   font-size: 16px;
   line-height: 22px;
   font-weight: 600;
+  overflow: hidden;
+  text-overflow: ellipsis;
+  white-space: nowrap;
+  margin-top: 10px;
 }
 
 .subtitle {
@@ -197,7 +209,7 @@
   cursor: pointer;
   border: 1px solid #8f7a5a;
 }
-.audioContent{
+.audioContent {
   white-space: pre-line;
   line-height: 18px;
   margin-top: 10px;
@@ -205,4 +217,9 @@
   overflow-y: auto;
   margin-top: 20px;
 }
+video {
+      border-radius: 10px;
+      border: 1px solid #dcdcdc;
+      box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.1);
+    }
 </style>
diff --git a/src/views/chronology/index.vue b/src/views/chronology/index.vue
index 8b5e4db..ba47e3f 100644
--- a/src/views/chronology/index.vue
+++ b/src/views/chronology/index.vue
@@ -96,7 +96,8 @@
 import floatingWindow from "./floatingWindow.vue";
 import yearWindow from "./yearWindow.vue";
 import { nextTick } from "vue";
-
+import fileApi from "@/assets/js/middleGround/api/file";
+import { requestCtx, appRefCode } from "@/assets/js/config";
 export default {
   components: {
     floatingWindow,
@@ -158,6 +159,7 @@
           },
         })
         .then(async (res) => {
+          console.log(res, "res");
           for (let i = 0; i < res.datas.length; i++) {
             const item = res.datas[i];
             this.$set(item, "showDetail", false);
@@ -172,7 +174,6 @@
             }
           }
 
-          console.log(this.contentList, "this.contentList");
           this.contentList = res.datas;
           this.showList = true;
         });
@@ -205,13 +206,12 @@
       const filterList = yearDataList.datas.filter((item) => {
         return item.cmsItemType != "chronology" && item.cmsItemType != "AWARD";
       });
-
       if (filterList && filterList.length > 0) {
         for (let i = 0; i < filterList.length; i++) {
           const item = filterList[i];
           if (item.file) {
-            const requestCtx =
-              this.config.requestCtx + `/file/api/ApiDownload?md5=${item.file}`;
+            const requestCtx = await this.getResourcePath(item.file);
+            console.log(requestCtx, "requestCtx");
             this.$set(item, "fileLink", requestCtx);
           }
           this.$set(item, "showDetail", false);
@@ -224,6 +224,20 @@
       }
       return filterList;
     },
+
+    // 鑾峰彇闃块噷浜戝姞閫熷湴鍧� (瑙嗛锛岄煶棰�)
+    async getResourcePath(md5) {
+      try {
+        // 濡傛灉杩斿洖鐨勬暟鎹负绌烘垨鏈畾涔夛紝鍒欐嫾鎺ラ粯璁や笅杞借矾寰�
+        return requestCtx + "/file/api/ApiDownload?md5=" + md5;
+      } catch (error) {
+        // 鎹曡幏寮傚父骞舵墦鍗伴敊璇棩蹇�
+        console.error("鑾峰彇璧勬簮璺緞澶辫触:", error);
+        // 杩斿洖涓�涓粯璁ゅ�兼垨鎶涘嚭閿欒锛堟牴鎹笟鍔¢渶姹傦級
+        return requestCtx + "/file/api/ApiDownload?md5=" + md5;
+      }
+    },
+
     closeDetail(index, cindex, type) {
       for (let i = 0; i < this.contentList.length; i++) {
         const item = this.contentList[i];
@@ -297,6 +311,7 @@
   display: flex;
   flex-direction: column;
   overflow: auto;
+  font-family: Source Han Sans;
 }
 
 .pageBox {
@@ -469,7 +484,11 @@
   border: 2px solid #cbbeaa;
   box-shadow: 2px 2px 4px 1px rgba(0, 0, 0, 0.5);
 }
-
+video {
+  border-radius: 10px;
+  border: 1px solid #dcdcdc;
+  box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.1);
+}
 .yaerWindow {
   position: absolute;
   left: -54px;
@@ -501,7 +520,6 @@
 
 ::v-deep .el-loading-spinner {
   .el-loading-text {
-
     font-size: 14px;
     color: #937950;
   }
@@ -511,5 +529,4 @@
     color: #937950;
   }
 }
-
 </style>
diff --git a/src/views/chronology/yearWindow.vue b/src/views/chronology/yearWindow.vue
index d2e9f6e..3c12b53 100644
--- a/src/views/chronology/yearWindow.vue
+++ b/src/views/chronology/yearWindow.vue
@@ -4,10 +4,20 @@
     <div class="content">
       <div class="leftTxt" v-html="info.eventOverview"></div>
       <div class="rightimg">
-        <div v-if="imgLink != ''" class="imgBox">
-          <img class="autoImg" :src="imgLink" alt="" />
+        <div class="imgBox" style="text-align: center" v-if="imgLink != ''">
+          <div class="arrowBox leftArrowBox">
+            <img class="autoImg" :src="arrow" alt="" />
+          </div>
+          <div class="imgBox">
+            <img class="autoImg" :src="imgLink" alt="" />
+          </div>
+          <div class="arrowBox">
+            <img  class="autoImg" :src="arrow" alt="" />
+          </div>
         </div>
-        <div style="text-align: center; font-size: 18px; color: #999" v-else>鏆傛棤鍥剧墖</div>
+        <div style="text-align: center; font-size: 18px; color: #999" v-else>
+          鏆傛棤鍥剧墖
+        </div>
       </div>
     </div>
   </div>
@@ -15,7 +25,7 @@
 
 <script>
 import { getPublicImage } from "@/assets/js/middleGround/tool";
-
+import arrow from "@/assets/images/right_arrow.svg";
 export default {
   name: "floatingWindow",
   props: {
@@ -28,6 +38,7 @@
     return {
       title: "",
       imgLink: "",
+      arrow,
     };
   },
   methods: {},
@@ -49,7 +60,7 @@
   padding: 15px;
   z-index: 20;
   box-sizing: border-box;
-  background-color: #FDF8F0;
+  background-color: #fdf8f0;
 }
 .content {
   display: flex;
@@ -61,11 +72,13 @@
   overflow: hidden;
   white-space: normal;
   overflow-y: auto;
-  
+  padding: 10px;
 }
 .rightimg {
   width: 350px;
   height: 100%;
+  padding: 10px;
+  padding-top: 0px;
 }
 .title {
   font-size: 24px;
@@ -77,4 +90,22 @@
   min-height: 300px;
   position: relative;
 }
+
+.arrowBox {
+  width: 30px;
+  height: 30px;
+  position: relative;
+}
+.imgBox{
+  display: flex;
+  justify-content: center;
+  align-items: center;
+}
+.arrowBox{
+  margin: 0 5px;
+}
+
+.leftArrowBox{
+  transform: rotate(180deg);
+}
 </style>
diff --git a/src/views/directory/index.vue b/src/views/directory/index.vue
index 2d7af1d..d41d60c 100644
--- a/src/views/directory/index.vue
+++ b/src/views/directory/index.vue
@@ -594,6 +594,7 @@
   overflow: hidden;
   display: flex;
   flex-direction: column;
+  font-family: Source Han Sans;
 }
 
 .page-header {

--
Gitblit v1.9.1