From de962e6331d7ebf3c660a3b0d7fa1dbdc81c645f Mon Sep 17 00:00:00 2001
From: 杨磊 <505174330@qq.com>
Date: 星期一, 28 四月 2025 19:30:04 +0800
Subject: [PATCH] Merge branch 'master' of http://182.92.203.7:2001/r/wyyDatabase

---
 src/views/achievements/index.vue |  306 ++++++++++++++++++--------------------------------
 1 files changed, 113 insertions(+), 193 deletions(-)

diff --git a/src/views/achievements/index.vue b/src/views/achievements/index.vue
index 42bb078..b147315 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>
@@ -243,7 +150,7 @@
                 </p>
               </li>
               <li class="main-sources">
-                <span>{{ item.resourceTypeName }}</span>
+                <span :class="getResourceTypeClass(item.cmsItemType)">{{ item.resourceTypeName }}</span>
                 <span>{{ item.source }}</span>
                 <span>{{ item.year }}</span>
                 <span v-if="item.DOI">doi锛歿{ item.DOI }}</span>
@@ -251,49 +158,31 @@
               <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.cleanAbstract"
                 ></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="10">
               </el-pagination>
             </div>
             <el-empty v-if="!loading && !resultList.length"></el-empty>
@@ -562,7 +451,7 @@
       resultList: [],
       total: 0,
       paginationPage: 1,
-      loading: false,
+      loading: true,
       labelList: {
         abstract: "鎽樿",
         author: "浣滆��",
@@ -710,7 +599,6 @@
       console.log(isText, "isText");
       this.associationList = [];
       console.log(isText, "isText");
-      
       if (isText.text != "") {
         this.inputValue = isText.text;
         this.inputType = isText.type;
@@ -754,28 +642,26 @@
           }
         }
       }
-      console.log(searchData, "searchData1");
-
-      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 if (item.value) {
-            searchData[item.value + "*"] = item.content;
-          }
-        });
-      }
+      // 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: "*",
           queryType: "*",
           paging: {
-            start: (this.paginationPage - 1) * 6,
-            size: 6,
+            start: (this.paginationPage - 1) * 10,
+            size: 10,
           },
           sort: {
             year: this.postedSortInfo ? "Desc" : "Asc",
@@ -787,6 +673,7 @@
                 ? this.categoryChecList
                 : this.resourceTypeValueList,
             source: [],
+            isbn: [],
             year: [],
             abstract: [],
             keyWords: [],
@@ -858,6 +745,22 @@
       this.postedSortInfo = !this.postedSortInfo;
       this.getItemList();
     },
+    getResourceTypeClass(typeName) {
+      switch (typeName) {
+        case 'journal':
+          return 'journal-color';
+        case 'books':
+          return 'books-color';
+        case 'video':
+          return 'video-color';
+        case 'audio':
+          return 'audio-color';
+        case 'newspaper':
+          return 'newspaper-color';
+        default:
+          return 'other-color';
+      }
+    }
   },
 };
 </script>
@@ -1145,15 +1048,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;
   }
@@ -1280,10 +1180,31 @@
         }
       }
 
+      .journal-color {
+        background-color: #87a8b9;
+      }
+      .books-color {
+        background-color: #C48787;
+      }
+      .video-color {
+        background-color: #6F8F5A;
+      }
+      .audio-color {
+        background-color: #937950;
+      }
+      .newspaper-color {
+        background-color: #8D77B3;
+      }
+      .other-color {
+        background-color: #009F9F;
+      }
+
+
+
       .main-sources {
         span:nth-child(1) {
           padding: 3px 5px;
-          background-color: #87a8b9;
+
           color: #fff;
           margin-right: 10px;
         }
@@ -1410,16 +1331,15 @@
   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{
+
+:deep.el-pagination.is-background .el-pager li:not(.disabled):hover {
   color: #937950
 }
 </style>

--
Gitblit v1.9.1