From ef46d13d5fa70d1c94f25de294f5ed177b751234 Mon Sep 17 00:00:00 2001
From: MrShi <1878285526@qq.com>
Date: 星期一, 02 三月 2026 16:40:30 +0800
Subject: [PATCH] 提交

---
 mini-program/pages/community/community.vue |  108 ++++++++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 88 insertions(+), 20 deletions(-)

diff --git a/mini-program/pages/community/community.vue b/mini-program/pages/community/community.vue
index 9e1b9da..c8c15b6 100644
--- a/mini-program/pages/community/community.vue
+++ b/mini-program/pages/community/community.vue
@@ -9,7 +9,7 @@
 			</view>
 			<view class="search">
 				<u-search placeholder="璇疯緭鍏ュ叧閿瘝" height="36" searchIconColor="#999999" borderColor="#eeeeee"
-					bgColor="rgba(255,255,255,0.9)" :showAction="false" v-model="info" />
+					bgColor="rgba(255,255,255,0.9)" :showAction="false" v-model="info" @search="search" @clear="search" />
 				<view class="search-shai" @click="show = true">
 					<text>绛涢��</text>
 					<image src="/static/icon/ic_shaixuan@2x.png" mode="widthFix"></image>
@@ -17,13 +17,13 @@
 			</view>
 		</view>
 		<view class="list">
-			<view class="list-item" v-for="(item, index) in list" :key="index" @click="jump(item.id)">
+			<view class="list-item" v-for="(item, index) in list" :key="index" @click="jump(item.id, item.contentType, item.content)">
 				<view class="info">
 					<view class="info-title">{{item.name}}</view>
 					<view class="info-desc" v-if="item.contentInfo">{{item.contentInfo}}</view>
 					<view class="info-data">
-						<view class="tips">{{item.lablesName}}</view>
-						<text>{{item.looknum || 0}} 闃呰锝渰{item.createDate}}</text>
+						<view class="tips" :style="{ border: '1rpx solid' + item.param, color: item.param }">{{item.lablesName}}</view>
+						<text>{{item.looknum > 999 ? '999+' : item.looknum  || 0}} 闃呰锝渰{item.createDate.substring(0, 16)}}</text>
 					</view>
 				</view>
 				<view class="image" v-if="item.imgurlfull">
@@ -38,22 +38,20 @@
 				<view class="sear-item">
 					<view class="sear-item-label">鍒嗙被</view>
 					<view class="sear-item-list">
-						<view class="sear-item-list-item active">缁翠慨</view>
-						<view class="sear-item-list-item">淇濆吇</view>
+						<view :class="item.active ? 'sear-item-list-item active' : 'sear-item-list-item'" v-for="(item, index) in fenlei" :key="item.id" @click="sele(index, 1)">{{item.name}}</view>
 						<view style="width: 216rpx; height: 0;"></view>
 					</view>
 				</view>
 				<view class="sear-item">
 					<view class="sear-item-label">鎵�灞炲搧鐗�</view>
 					<view class="sear-item-list">
-						<view class="sear-item-list-item active">鍝佺墝鍚嶇О</view>
-						<view class="sear-item-list-item">鍝佺墝鍚嶇О</view>
+						<view :class="item.active ? 'sear-item-list-item active' : 'sear-item-list-item'" v-for="(item, index) in pinpai" :key="item.id" @click="sele(index, 2)">{{item.name}}</view>
 						<view style="width: 216rpx; height: 0;"></view>
 					</view>
 				</view>
 				<view class="sear-footer">
-					<view class="sear-footer-btn1">閲嶇疆</view>
-					<view class="sear-footer-btn2">纭</view>
+					<view class="sear-footer-btn1" @click="reset">閲嶇疆</view>
+					<view class="sear-footer-btn2" @click="search">纭</view>
 				</view>
 			</view>
 		</u-popup>
@@ -72,20 +70,78 @@
 				info: '',
 				page: 1,
 				next: true,
-				list: []
+				list: [],
+				fenlei: [],
+				pinpai: []
 			};
 		},
 		onLoad() {
 			this.getList()
+			this.getCategary()
 		},
 		onReachBottom() {
 			this.getList()
 		},
 		methods: {
-			jump(id) {
-				uni.navigateTo({
-					url: '/pages/article-details/article-details?id=' + id
+			reset() {
+				this.page = 1
+				this.next = true
+				this.list = []
+				this.fenlei.forEach(item => { item.active = false })
+				this.pinpai.forEach(item => { item.active = false })
+				this.show = false
+				this.getList()
+			},
+			search() {
+				this.page = 1
+				this.next = true
+				this.list = []
+				this.show = false
+				this.getList()
+			},
+			sele(index, type) {
+				if (type === 1) {
+					this.fenlei.forEach((item, i) => {
+						item.active = index === i
+					})
+				} else {
+					this.pinpai.forEach((item, i) => {
+						item.active = index === i
+					})
+				}
+			},
+			getCategary() {
+				this.$u.api.getGoodsLabelsByType({
+					type: 9
+				}).then(res => {
+					if (res.code === 200) {
+						res.data.forEach(item => {
+							item.active = false
+						})
+						this.fenlei = res.data
+					}
 				})
+				this.$u.api.getGoodsLabelsByType({
+					type: 1
+				}).then(res => {
+					if (res.code === 200) {
+						res.data.forEach(item => {
+							item.active = false
+						})
+						this.pinpai = res.data
+					}
+				})
+			},
+			jump(id, contentType, url) {
+				if (contentType == 0) {
+					uni.navigateTo({
+						url: '/pages/article-details/article-details?id=' + id
+					})
+				} else {
+					uni.navigateTo({
+						url: '/pagesA/pages/webview/webview?url=' + url
+					})
+				}
 			},
 			getList() {
 				if (!this.next) return;
@@ -94,8 +150,8 @@
 					page: this.page,
 					model: {
 						info: this.info,
-						brandId: '',
-						labelId: ''
+						brandId: this.pinpai.filter(item => item.active).length > 0 ? this.pinpai.filter(item => item.active)[0].id : null,
+						labelId: this.fenlei.filter(item => item.active).length > 0 ? this.fenlei.filter(item => item.active)[0].id : null
 					}
 				}).then(res => {
 					if (res.code === 200) {
@@ -129,7 +185,7 @@
 				width: 100%;
 				display: flex;
 				flex-direction: column;
-				margin-top: 48rpx;
+				margin-top: 28rpx;
 				.sear-item-label {
 					font-weight: 500;
 					font-size: 32rpx;
@@ -149,12 +205,16 @@
 						width: 216rpx;
 						height: 72rpx;
 						line-height: 72rpx;
+						white-space: nowrap;
+						overflow: hidden; 
+						text-overflow: ellipsis; /* 鏄剧ず鐪佺暐鍙� */
 						text-align: center;
 						background: #F7F7F7;
 						border-radius: 8rpx;
 						font-weight: 400;
 						font-size: 28rpx;
 						color: #333333;
+						margin-bottom: 20rpx;
 					}
 				}
 			}
@@ -207,6 +267,10 @@
 					display: flex;
 					flex-direction: column;
 					.info-title {
+						width: calc(100vw - 60rpx - 220rpx);
+						white-space: nowrap;
+						overflow: hidden;
+						text-overflow: ellipsis;
 						font-weight: 600;
 						font-size: 32rpx;
 						color: #222222;
@@ -222,16 +286,20 @@
 						align-items: center;
 						margin-top: 20rpx;
 						.tips {
+							max-width: 110rpx;
 							height: 40rpx;
 							line-height: 40rpx;
+							white-space: nowrap;
+							overflow: hidden;
+							text-overflow: ellipsis;
+							// display: flex;
+							// align-items: center;
+							// justify-content: center;
 							padding: 0 8rpx;
 							box-sizing: border-box;
-							background: rgba(0,183,117,0.1);
 							border-radius: 8rpx;
-							
 							font-weight: 400;
 							font-size: 22rpx;
-							color: #00B775;
 							margin-right: 20rpx;
 						}
 						text {

--
Gitblit v1.9.3