From 9d43688f11d630734cb67b75399df26d308ad25e Mon Sep 17 00:00:00 2001
From: zhongshujie <2862698242@qq.com>
Date: 星期一, 28 四月 2025 21:20:17 +0800
Subject: [PATCH] ai智能阅读

---
 src/views/achievements/index.vue |   60 ++++++++++++++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 54 insertions(+), 6 deletions(-)

diff --git a/src/views/achievements/index.vue b/src/views/achievements/index.vue
index 1c19aa8..9658632 100644
--- a/src/views/achievements/index.vue
+++ b/src/views/achievements/index.vue
@@ -146,7 +146,7 @@
                 <p>{{ item.name }}</p>
                 <p>
                   <el-button @click="goPage(item.id)">璇︽儏</el-button>
-                  <el-button>AI鏅鸿兘闃呰</el-button>
+                  <el-button @click="openAiReading(item.AIReading, item.name)">AI鏅鸿兘闃呰</el-button>
                 </p>
               </li>
               <li class="main-sources">
@@ -160,10 +160,7 @@
               </li>
               <li class="main-title" :title="item.cleanAbstract" v-if="item.abstract">
                 <span>鎽樿: </span>
-                <span
-                  class="page-main-abstract"
-                  v-html="item.cleanAbstract"
-                ></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>
@@ -185,6 +182,14 @@
                 :background="isBackground" layout="prev, pager, next" :total="total" :page-size="10">
               </el-pagination>
             </div>
+            <el-dialog v-model="dialogVisible" :title="aIName" width="60vw" top="3vh" bottom="2vh"
+              :visible.sync="dialogVisible" class="custom-dialog">
+              <div class="AIReadingBox" element-loading-spinner="el-icon-loading"
+                element-loading-background="rgba(0, 0, 0, 0)">
+                <div class="richTextInitBox" v-if="AIReading" v-html="AIReading"></div>
+                <div class="richTextInitError" v-else>缃戠粶绻佸繖锛岃绋嶅悗鍐嶈瘯銆�</div>
+              </div>
+            </el-dialog>
             <el-empty v-if="!loading && !resultList.length"></el-empty>
           </div>
         </div>
@@ -207,6 +212,9 @@
   },
   data() {
     return {
+      dialogVisible: false,
+      aIName: "",
+      AIReading: "",
       relatedList: [],
       // 杈撳叆妗嗙殑鍐呭
       inputValue: "",
@@ -521,7 +529,7 @@
               content: val[key],
               value: key,
             });
-          }else {
+          } else {
             hasKey.content = val[key]
           }
         }
@@ -768,6 +776,12 @@
         default:
           return 'other-color';
       }
+    },
+
+    openAiReading(text, name) {
+        this.AIReading = text;
+        this.aIName = name;
+        this.dialogVisible = true;
     }
   },
 };
@@ -1191,18 +1205,23 @@
       .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;
       }
@@ -1305,6 +1324,23 @@
   }
 }
 
+.AIReadingBox {
+  height: 85vh;
+  min-height: 600px;
+  padding: 20px 10px;
+}
+
+.richTextInitBox {
+  height: 100%;
+  overflow: auto;
+}
+.richTextInitError{
+    height: 100%;
+    display: flex;
+    align-items: center;
+    justify-content: center;
+}
+
 .pagination {
   display: flex;
   justify-content: center;
@@ -1350,6 +1386,18 @@
 :deep.el-pagination.is-background .el-pager li:not(.disabled):hover {
   color: #937950
 }
+
+:deep.el-button--primary {
+  background-color: #937950;
+  color: #937950;
+  border: 1px solid #937950;
+  cursor: pointer;
+
+  &:hover {
+    background-color: #937950;
+    color: #fffdf8;
+  }
+}
 </style>
 
 <style>

--
Gitblit v1.9.1