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 | 88 +++++++++++++++++++++++++++++++++++++------- 1 files changed, 74 insertions(+), 14 deletions(-) diff --git a/src/views/achievements/index.vue b/src/views/achievements/index.vue index 37c181e..9658632 100644 --- a/src/views/achievements/index.vue +++ b/src/views/achievements/index.vue @@ -105,7 +105,7 @@ </li> </ul> <!-- 瀛︾ --> - <ul> + <!-- <ul> <li class="left-title"> <span>{{ subject.title }}</span> <p @click="subject.isDisplay = !subject.isDisplay"> @@ -119,7 +119,7 @@ <span class="">{{ item.num }}</span> </div> </li> - </ul> + </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)"> @@ -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"> @@ -182,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> @@ -204,6 +212,9 @@ }, data() { return { + dialogVisible: false, + aIName: "", + AIReading: "", relatedList: [], // 杈撳叆妗嗙殑鍐呭 inputValue: "", @@ -259,7 +270,7 @@ { type: "input", label: "鏍囥��棰�", - name: "title", + name: "Name", value: "", }, { @@ -462,7 +473,7 @@ author: "浣滆��", keyword: "鍏抽敭璇�", source: "鏉ユ簮", - title: "鏍囬", + Name: "鏍囬", year: "骞翠唤", }, }; @@ -506,16 +517,23 @@ }, async onSubmit(val) { + console.log(val, "val"); + console.log(this.associationList, "associationList"); + for (let key in val) { if (val[key] != "") { - this.associationList.push({ - type: this.labelList[key], - content: val[key], - value: key, - }); + const hasKey = this.associationList.find((item) => item.value == key); + if (!hasKey) { + this.associationList.push({ + type: this.labelList[key], + content: val[key], + value: key, + }); + } else { + hasKey.content = val[key] + } } } - console.log(this.associationList, "this.associationList"); this.getItemList(); }, //閲嶇疆鎼滅储缁撴灉 @@ -594,6 +612,7 @@ // 鎼滅储 handleSearch(isText) { + console.log(isText, "isText"); this.associationList = []; console.log(isText, "isText"); if (isText.text != "") { @@ -706,18 +725,19 @@ this.resultList = res.datas; this.total = res.total; this.loading = false; - }).catch((error) => { + }) + .catch((error) => { // 鎵撳嵃閿欒淇℃伅 console.error("鑾峰彇鏁版嵁澶辫触:", error); }); // 婊氬姩鍒伴〉闈㈤《閮� 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", }); } }); @@ -756,6 +776,12 @@ default: return 'other-color'; } + }, + + openAiReading(text, name) { + this.AIReading = text; + this.aIName = name; + this.dialogVisible = true; } }, }; @@ -1179,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; } @@ -1293,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; @@ -1338,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