3.25提交

This commit is contained in:
zoujiandong
2026-03-25 17:33:54 +08:00
parent 18c7f7386d
commit 8a879df4b4
32 changed files with 571 additions and 64 deletions
+46 -34
View File
@@ -22,7 +22,7 @@
<view class="divider"></view>
<view class="filter-item" @click="showFilterPopup">
<text :class="{active: keywords}">筛选</text>
<text :class="{ active: keywords }">筛选</text>
<up-image
:src="keywords ? filterOn : filter"
width="36rpx"
@@ -50,12 +50,20 @@
:errorIcon="lazyImg"
:lazy-load="true"
>
<template #error>
<image :src="lazyImg" class="category-icon" mode="widthFix"></image>
</template>
<template v-slot:loading>
<image :src="lazyImg" class="category-icon" mode="widthFix"></image>
</template>
<template #error>
<image
:src="lazyImg"
class="category-icon"
mode="widthFix"
></image>
</template>
<template v-slot:loading>
<image
:src="lazyImg"
class="category-icon"
mode="widthFix"
></image>
</template>
</up-image>
</view>
<view class="item-content">
@@ -293,7 +301,7 @@
<script setup>
import { ref, onMounted } from "vue";
import { onShow, onBackPress,onLoad} from "@dcloudio/uni-app";
import { onShow, onBackPress, onLoad } from "@dcloudio/uni-app";
import upImg from "@/static/cb_up.png";
import downImg from "@/static/cb_up.png";
import filter from "@/static/cb_screen_no.png";
@@ -341,9 +349,7 @@ onBackPress(() => {
return true;
});
// 页面加载
onMounted(() => {
});
onMounted(() => {});
const showFilter = ref(false);
// 筛选弹窗相关方法
const showFilterPopup = () => {
@@ -395,32 +401,40 @@ const confirmFilter = throttle(() => {
isFilterActive.value = true;
hideFilterPopup();
const selectedTags = filterTags.value.filter((tag) => tag.selected);
let words="";
let words = "";
console.log("选中的筛选标签:", selectedTags);
for (let i = 0; i < selectedTags.length; i++) {
if (words) {
words += "," + selectedTags[i].NAME;
} else {
words= selectedTags[i].NAME;
words = selectedTags[i].NAME;
}
}
keywords.value=words;
if(!keywords.value) return;
console.log(1111111);
console.log('看看执行了几次');
navTo({
url: "/pages_app/hot/hot?keywords="+encodeURIComponent(keywords.value)
});
keywords.value = words;
if (!keywords.value) return;
console.log(1111111);
console.log("看看执行了几次");
navTo({
url: "/pages_app/hot/hot?keywords=" + encodeURIComponent(keywords.value),
});
// 根据选中的标签重新加载数据
},1000);
}, 1000);
onLoad(() => {
loadGuideTypes();
loadSearchLibrary();
loadGuideTags();
uni.sendNativeEvent("portraitReport",{
msg:{
event_nickname: "list_page",
page_type: "诊疗指南",
},
},
(ret) => {
console.log(ret);
});
});
onShow(() => {
});
onShow(() => {});
// 加载指南分类(guideType)
const loadGuideTypes = async () => {
@@ -458,14 +472,13 @@ const loadGuideTags = async () => {
const res = await api.guideTag({
type: 3,
});
if (res && res.code === 200 && res.data) {
// 将API返回的标签数据转换为筛选标签格式
filterTags.value = res.data.map((tag) => ({
...tag,
selected: false,
}));
}
} catch (e) {
console.error("加载指南标签失败:", e);
@@ -670,7 +683,7 @@ $accent-color: #4a90e2;
gap: 5px;
.search-text {
font-size:36rpx;
font-size: 36rpx;
color: $gray-medium;
}
}
@@ -690,13 +703,12 @@ $accent-color: #4a90e2;
gap: 3px;
font-size: 36rpx;
color: #999;
text{
margin-top:-1rpx;
text {
margin-top: -1rpx;
&.active {
color: #8b2316;
color: #8b2316;
}
}
}
}
}
@@ -1148,7 +1160,7 @@ $accent-color: #4a90e2;
.filter-tags {
display: flex;
flex-wrap: wrap;
margin-bottom: 60rpx;
max-height: 65vh;
overflow-y: auto;
@@ -1159,7 +1171,7 @@ $accent-color: #4a90e2;
padding: 8rpx 0; /* 去掉左右padding,仅保留上下 */
border-radius: 30rpx;
font-size: 26rpx;
margin:8rpx 5rpx;
margin: 8rpx 5rpx;
border: 2rpx solid #efefef;
transition: all 0.3s ease;
width: 152rpx; /* 固定宽度 */