| | |
| | | </li> |
| | | </ul> |
| | | <!-- 学科 --> |
| | | <ul> |
| | | <!-- <ul> |
| | | <li class="left-title"> |
| | | <span>{{ subject.title }}</span> |
| | | <p @click="subject.isDisplay = !subject.isDisplay"> |
| | |
| | | <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)"> |
| | |
| | | <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"> |
| | |
| | | :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> |
| | |
| | | }, |
| | | data() { |
| | | return { |
| | | dialogVisible: false, |
| | | aIName: "", |
| | | AIReading: "", |
| | | relatedList: [], |
| | | // 输入框的内容 |
| | | inputValue: "", |
| | |
| | | { |
| | | type: "input", |
| | | label: "标 题", |
| | | name: "title", |
| | | name: "Name", |
| | | value: "", |
| | | }, |
| | | { |
| | |
| | | author: "作者", |
| | | keyword: "关键词", |
| | | source: "来源", |
| | | title: "标题", |
| | | Name: "标题", |
| | | year: "年份", |
| | | }, |
| | | }; |
| | |
| | | }, |
| | | |
| | | 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(); |
| | | }, |
| | | //重置搜索结果 |
| | |
| | | |
| | | // 搜索 |
| | | handleSearch(isText) { |
| | | console.log(isText, "isText"); |
| | | this.associationList = []; |
| | | console.log(isText, "isText"); |
| | | if (isText.text != "") { |
| | |
| | | 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", |
| | | }); |
| | | } |
| | | }); |
| | |
| | | default: |
| | | return 'other-color'; |
| | | } |
| | | }, |
| | | |
| | | openAiReading(text, name) { |
| | | this.AIReading = text; |
| | | this.aIName = name; |
| | | this.dialogVisible = true; |
| | | } |
| | | }, |
| | | }; |
| | |
| | | .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; |
| | | } |
| | |
| | | } |
| | | } |
| | | |
| | | .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; |
| | |
| | | :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> |