From c6189f35d8744bf9c90bc15fd132ceb2a51d902c Mon Sep 17 00:00:00 2001 From: 杨磊 <505174330@qq.com> Date: 星期一, 28 四月 2025 19:29:52 +0800 Subject: [PATCH] bug修改 --- src/views/achievements/index.vue | 288 ++++++++++++++++++++++++++++++++++++++++++-------------- 1 files changed, 214 insertions(+), 74 deletions(-) diff --git a/src/views/achievements/index.vue b/src/views/achievements/index.vue index 4faf930..42bb078 100644 --- a/src/views/achievements/index.vue +++ b/src/views/achievements/index.vue @@ -170,7 +170,7 @@ </li> </ul> <!-- 瀛︾ --> - <ul> + <!-- <ul> <li class="left-title"> <span>{{ subject.title }}</span> <p @click="subject.isDisplay = !subject.isDisplay"> @@ -196,7 +196,7 @@ <span class="">{{ item.num }}</span> </div> </li> - </ul> + </ul> --> </div> <div class="content-right" @@ -238,7 +238,7 @@ <li class="main-name"> <p>{{ item.name }}</p> <p> - <el-button @click="goPage(item)">璇︽儏</el-button> + <el-button @click="goPage(item.id)">璇︽儏</el-button> <el-button>AI鏅鸿兘闃呰</el-button> </p> </li> @@ -251,16 +251,34 @@ <li class="main-author"> {{ item.author }} </li> - <li class="main-title" :title="item.abstract"> + <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"> + <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: '鍏抽敭璇�', + }) + " > {{ citem }} </span> @@ -278,6 +296,7 @@ > </el-pagination> </div> + <el-empty v-if="!loading && !resultList.length"></el-empty> </div> </div> </div> @@ -299,6 +318,7 @@ }, data() { return { + relatedList: [], // 杈撳叆妗嗙殑鍐呭 inputValue: "", // 閫夋嫨鐨勭被鍨� @@ -353,7 +373,7 @@ { type: "input", label: "鏍囥��棰�", - name: "title", + name: "Name", value: "", }, { @@ -430,39 +450,35 @@ list: [ { years: "2025", - num: 20, + num: 10, check: false, }, { - years: "2025", - num: 20, + years: "2024", + num: 18, check: false, }, { - years: "2025", - num: 20, + years: "2023", + num: 21, check: false, }, { - years: "2025", - num: 20, + years: "2022", + num: 19, check: false, }, { - years: "2025", - num: 20, + years: "2021", + num: 22, check: false, }, { - years: "2025", - num: 20, + years: "2020", + num: 24, check: false, }, - { - years: "2025", - num: 20, - check: false, - }, + ], }, // 鏂囩尞鏉ユ簮 @@ -478,30 +494,26 @@ check: false, }, { - name: "鍖椾含涓尰鑽ぇ瀛﹀ぇ瀛﹀鎶�", - num: 190, + name: "鍖椾含甯堣寖澶у", + num: 19, + check: false, + }, + { + name: "涓浗涓尰绉戝闄�", + num: 22, check: false, }, { name: "鍖椾含涓尰鑽ぇ瀛﹀ぇ瀛﹀鎶�", - num: 190, + num: 31, check: false, }, { - name: "鍖椾含涓尰鑽ぇ瀛﹀ぇ瀛﹀鎶�", - num: 190, + name: "骞垮窞涓尰鑽ぇ瀛�", + num: 25, check: false, }, - { - name: "鍖椾含涓尰鑽ぇ瀛﹀ぇ瀛﹀鎶�", - num: 190, - check: false, - }, - { - name: "鍖椾含涓尰鑽ぇ瀛﹀ぇ瀛﹀鎶�", - num: 190, - check: false, - }, + ], }, // 瀛︾ @@ -556,27 +568,32 @@ author: "浣滆��", keyword: "鍏抽敭璇�", source: "鏉ユ簮", - title: "鏍囬", + Name: "鏍囬", year: "骞翠唤", }, }; }, mounted() { - this.getSelectContent(); - this.getLeftCheckbox(); this.getSelectData(); }, methods: { categoryChange(val) { - console.log(val, "val"); if (val.checked) { this.categoryChecList.push(val.value); + this.associationList.push({ + type: "绫诲瀷", + content: val.name, + }); } else { const index = this.categoryChecList.findIndex( (item) => item === val.value ); + const index2 = this.associationList.findIndex( + (item) => item.name === val.name + ); this.categoryChecList.splice(index, 1); + this.associationList.splice(index2, 1); } this.getItemList(); }, @@ -595,16 +612,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(); }, //閲嶇疆鎼滅储缁撴灉 @@ -612,9 +636,8 @@ // this.onSearch(""); }, // 椤甸潰璺宠浆 - goPage(key) { - console.log(key, "key"); - this.$router.push({ name: "details", params: { key: key } }); + goPage(id) { + this.$router.push({ name: "details", query: { id } }); }, // 鏀惰捣鍜屽睍绀� shrinkClick(key, name) { @@ -634,12 +657,9 @@ this.activeBox = this.activeBox === "b" ? null : "b"; } }, - // 鑾峰彇宸︿晶checkbox鏁版嵁 - getLeftCheckbox() {}, //鑾峰彇涓嬫媺閫夋嫨妗嗙殑鍐呭 async getSelectData() { - this.loading = true; try { // 鍚屾椂鍙戣捣涓や釜寮傛璇锋眰锛屽苟绛夊緟瀹冧滑鐨勭粨鏋� const [subjectListResult, resourceListResult] = await Promise.all([ @@ -667,7 +687,6 @@ .getProductTypeField(requestData) .then((res) => { const selestList = JSON.parse(res[0].config); - console.log(selestList, "涓嬫媺妗嗘暟鎹�"); return selestList; }) .catch((error) => { @@ -682,47 +701,71 @@ (item) => item.content !== value ); this.inputValue = ""; + // 閫氱煡鐖剁粍浠舵暟鎹凡鏀瑰彉 this.getItemList(); }, // 鎼滅储 handleSearch(isText) { - console.log(1234); - console.log(isText, "鎼滅储123"); + console.log(isText, "isText"); + this.associationList = []; + console.log(isText, "isText"); + if (isText.text != "") { this.inputValue = isText.text; this.inputType = isText.type; this.associationList.push({ type: isText.label, content: isText.text, + value: isText.type, }); this.getItemList(); } }, - // getTtem + // 璇锋眰鏁版嵁 getItemList() { - let searchData = {}; + this.loading = true; + let searchData = {}; // 鍒濆鍖栦竴涓┖瀵硅薄鏉ュ瓨鍌ㄦ悳绱㈡暟鎹� if (this.inputValue) { + // 濡傛灉杈撳叆鍊煎瓨鍦� if (this.inputType != "all") { + // 濡傛灉杈撳叆绫诲瀷涓嶆槸"all" + // 灏嗚緭鍏ュ�间笌杈撳叆绫诲瀷鍏宠仈锛屽苟娣诲姞涓�涓槦鍙�(*)浣滀负鍚庣紑 searchData[this.inputType + "*"] = this.inputValue; } else { + // 濡傛灉杈撳叆绫诲瀷鏄�"all" + // 閬嶅巻杈撳叆閫夐」 for (let index = 0; index < this.inputOptions.length; index++) { - const item = this.inputOptions[index]; + const item = this.inputOptions[index]; // 鑾峰彇褰撳墠閫夐」 if (item.value !== "all") { - console.log(item.value, "987"); + // 濡傛灉褰撳墠閫夐」鐨勫�间笉鏄�"all" if (!Object.keys(searchData).length) { + // 濡傛灉searchData鏄┖鐨� + // 灏嗙涓�涓�夐」鐨勫�间笌杈撳叆鍊煎叧鑱旓紝骞舵坊鍔犱竴涓槦鍙�(*)浣滀负鍚庣紑 searchData[item.value + "*"] = this.inputValue; } else { + // 濡傛灉searchData涓嶆槸绌虹殑 + // 浣跨敤"||"浣滀负鍓嶇紑锛屽皢鍚庣画閫夐」鐨勫�间笌杈撳叆鍊煎叧鑱旓紝骞舵坊鍔犱竴涓槦鍙�(*)浣滀负鍚庣紑 + // 杩欓�氬父鐢ㄤ簬鏋勫缓涓�涓�昏緫鎴栵紙OR锛夋煡璇� searchData["||" + item.value + "*"] = this.inputValue; } } } } } + console.log(searchData, "searchData1"); + if (this.associationList && this.associationList.length) { this.associationList.forEach((item) => { - searchData[item.value + "*"] = item.content; + 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; + } }); } console.log(searchData, "searchData"); @@ -757,7 +800,8 @@ }, }) .then((res) => { - console.log(res, "鍏ㄩ儴鏁版嵁"); + console.log(res, "鍏ㄩ儴鍐呭"); + res.datas.forEach((item) => { item.year = moment(item.year).format("YYYY-MM-DD"); if (typeof item.keyWords === "string") { @@ -766,20 +810,49 @@ // 璁剧疆涓�涓粯璁ゅ�兼垨鑰呰繘琛屽叾浠栭敊璇鐞� item.keyWords = []; } - item.resourceTypeName = this.category.list.find( + if (item.abstract) { + item.cleanAbstract = item.abstract.replace(/<[^>]+>/g, ""); + } + + const foundItem = this.category.list.find( (citem) => citem.value == item.cmsItemType - ).name; + ); + 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) { this.paginationPage = newPage; this.getItemList(); // 閲嶆柊鑾峰彇鏁版嵁 + // 婊氬姩鍒伴〉闈㈤《閮� + this.$nextTick(() => { + const pageMain = document.querySelector(".page-main-father"); + if (pageMain) { + pageMain.scrollTo({ + top: 0, + behavior: "smooth", + }); + } + }); }, sortChange() { this.postedSortInfo = !this.postedSortInfo; @@ -823,11 +896,23 @@ } } +::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: 1292px; + min-width: 1200px; overflow: auto; padding-top: 1%; padding-bottom: 2%; @@ -846,15 +931,40 @@ 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; } } @@ -907,10 +1017,11 @@ 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; } } @@ -1076,6 +1187,7 @@ .right-header { display: flex; + flex-wrap: wrap; li { background: #ffffff; @@ -1087,6 +1199,8 @@ font-family: Poppins; font-size: 13px; color: #937950; + line-height: 20px; + margin-bottom: 10px; img { cursor: pointer; @@ -1146,16 +1260,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; } } @@ -1196,7 +1315,7 @@ border-left: 1px solid #2c2c2c; } - margin-bottom: 10px; + margin-bottom: 15px; } .main-author { @@ -1217,7 +1336,7 @@ overflow: hidden; display: -webkit-box; -webkit-box-orient: vertical; - -webkit-line-clamp: 4; + -webkit-line-clamp: 3; span { font-family: Source Han Sans; @@ -1300,4 +1419,25 @@ 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> -- Gitblit v1.9.1