From 428519bd36af8e719e56abbc5f1ba0b37cdadb8c Mon Sep 17 00:00:00 2001
From: zhongshujie <2862698242@qq.com>
Date: 星期一, 28 四月 2025 14:49:32 +0800
Subject: [PATCH] 样式调整

---
 src/views/achievements/index.vue |  316 +++++++++++++++++++++++++---------------------------
 1 files changed, 150 insertions(+), 166 deletions(-)

diff --git a/src/views/achievements/index.vue b/src/views/achievements/index.vue
index 0d9ce7f..c1ab2ea 100644
--- a/src/views/achievements/index.vue
+++ b/src/views/achievements/index.vue
@@ -19,17 +19,12 @@
         </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">
@@ -39,31 +34,15 @@
               <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>
@@ -74,50 +53,25 @@
                   <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>
@@ -129,42 +83,23 @@
                   <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>
@@ -174,67 +109,39 @@
               <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>
@@ -253,33 +160,24 @@
               </li>
               <li class="main-title" :title="item.cleanAbstract" v-if="item.abstract">
                 <span>鎽樿: </span>
-                <span class="page-main-abstract" v-html="item.abstract"></span>
+                <span class="page-main-abstract" v-html="item.cleanAbstract"></span>
               </li>
               <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"
-                >
+                <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>
           </div>
-
         </div>
       </div>
     </div>
@@ -310,6 +208,7 @@
         { value: "all", label: "鍏ㄩ儴" },
         { value: "Name", label: "鏍囬" },
         { value: "author", label: "浣滆��" },
+        // { value: "year", label: "骞翠唤" },
         { value: "keyWords", label: "鍏抽敭璇�" },
         { value: "abstract", label: "鎽樿" },
         { value: "source", label: "鏉ユ簮" },
@@ -761,14 +660,31 @@
               // 璁剧疆涓�涓粯璁ゅ�兼垨鑰呰繘琛屽叾浠栭敊璇鐞�
               item.keyWords = [];
             }
-            // item.cleanAbstract = item.abstract.replace(/<[^>]+>/g, "");
+            if (item.abstract) {
+              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
           this.total = res.total;
           this.loading = false;
+        }).catch((error) => {
+          // 鎵撳嵃閿欒淇℃伅
+          console.error("鑾峰彇鏁版嵁澶辫触:", error);
         });
+
+      // 婊氬姩鍒伴〉闈㈤《閮�
+      this.$nextTick(() => {
+        const pageMain = document.querySelector('.page-main-father');
+        if (pageMain) {
+          pageMain.scrollTo({
+            top: 0,
+            behavior: 'smooth'
+          });
+        }
+      });
     },
     // 澶勭悊椤电爜鍙樺寲
     handleCurrentChange(newPage) {
@@ -827,11 +743,25 @@
   }
 }
 
+::v-deep .el-loading-spinner {
+  .el-loading-text {
+
+    font-size: 14px;
+    color: #937950;
+  }
+
+  .el-icon-loading {
+    font-size: 14px;
+    color: #937950;
+  }
+}
+
+
 .page-main-father {
   flex: 1;
   width: 100%;
   height: 100%;
-  min-width: 1250px;
+  min-width: 1200px;
   overflow: auto;
   padding-top: 1%;
   padding-bottom: 2%;
@@ -850,16 +780,43 @@
   background-color: #fefbf5;
   border: 1px solid #e4dace;
 
-  .input-main {
+  ::v-deep(.input-main) {
     padding: 15px 0;
     display: flex;
     justify-content: center;
     width: 90%;
     border-right: 2px solid #e4dace;
+    font-weight: bold;
 
     .input-with-select {
       width: 50%;
+      font-weight: bold;
     }
+
+    .el-select .el-input.is-focus .el-input__inner {
+      color: #937950 !important;
+      border-color: #937950 !important;
+      font-weight: bold;
+    }
+
+    .el-select-dropdown__item.selected {
+      color: #937950 !important;
+      font-weight: bold;
+    }
+
+    .el-select .el-input__inner:focus {
+      border-color: #937950;
+      font-weight: bold;
+    }
+
+    .el-select .el-input__inner {
+      font-family: Source Han Sans;
+      font-size: 14px;
+      font-weight: bold;
+      color: #2C2C2C;
+
+    }
+
   }
 
   .input-txt {
@@ -911,11 +868,12 @@
         font-size: 14px;
         background-color: transparent;
         color: #937950;
-        border: 1px solid #6f5a3a;
+        border: 1px solid #937950;
+        ;
         cursor: pointer;
 
         &:hover {
-          background-color: #6f5a3a;
+          background-color: #937950;
           color: #fffdf8;
         }
       }
@@ -1039,15 +997,12 @@
     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;
   }
@@ -1081,6 +1036,7 @@
 
     .right-header {
       display: flex;
+      flex-wrap: wrap;
 
       li {
         background: #ffffff;
@@ -1092,6 +1048,8 @@
         font-family: Poppins;
         font-size: 13px;
         color: #937950;
+        line-height: 20px;
+        margin-bottom: 10px;
 
         img {
           cursor: pointer;
@@ -1151,16 +1109,21 @@
         font-size: 16px;
         font-weight: bold;
         color: #937950;
+        margin-bottom: 5px;
+
+        p {
+          overflow: hidden;
+        }
 
         ::v-deep .el-button {
           font-size: 14px;
           background-color: transparent;
           color: #937950;
-          border: 1px solid #6f5a3a;
+          border: 1px solid #937950;
           border-radius: 0;
 
           &:hover {
-            background-color: #6f5a3a;
+            background-color: #937950;
             color: #fffdf8;
           }
         }
@@ -1201,7 +1164,7 @@
           border-left: 1px solid #2c2c2c;
         }
 
-        margin-bottom: 10px;
+        margin-bottom: 15px;
       }
 
       .main-author {
@@ -1222,7 +1185,7 @@
         overflow: hidden;
         display: -webkit-box;
         -webkit-box-orient: vertical;
-        -webkit-line-clamp: 4;
+        -webkit-line-clamp: 3;
 
         span {
           font-family: Source Han Sans;
@@ -1296,13 +1259,34 @@
   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;
   border-radius: 5px;
   border: 1px solid #cccccc;
 }
+:deep.el-pagination.is-background .el-pager li:not(.disabled):hover{
+  color: #937950
+}
+</style>
+
+<style>
+.el-input.is-focus .el-input__inner {
+  color: #937950 !important;
+  border-color: #937950 !important;
+  font-weight: bold;
+
+}
+
+
+.el-select-dropdown__item.selected {
+  color: #937950 !important;
+  font-weight: bold;
+}
+
+.el-select .el-input__inner:focus {
+  border-color: #937950;
+  font-weight: bold;
+}
 </style>
\ No newline at end of file

--
Gitblit v1.9.1