From b099e758396f61b39d24cf5fa6be7bb0d10c2b4d Mon Sep 17 00:00:00 2001
From: MrShi <1878285526@qq.com>
Date: 星期一, 18 五月 2026 19:16:26 +0800
Subject: [PATCH] 提交

---
 small-program/pages/storage-point/storage-point.vue |   61 +++++++++++++++++++++++++++---
 1 files changed, 55 insertions(+), 6 deletions(-)

diff --git a/small-program/pages/storage-point/storage-point.vue b/small-program/pages/storage-point/storage-point.vue
index bac46dd..ff80462 100644
--- a/small-program/pages/storage-point/storage-point.vue
+++ b/small-program/pages/storage-point/storage-point.vue
@@ -62,6 +62,9 @@
 							<text class="point-name">{{ item.name }}</text>
 							<text class="point-distance">{{ item.distance }}</text>
 						</view>
+						<view class="point-tips">
+							<view class="point-tips-item" v-for="(tag, idx) in item.locationTagNames" :key="idx">{{ tag }}</view>
+						</view>
 						<view class="point-address">
 							<image src="/static/icon/home_ic_location3@2x.png" mode="widthFix"></image>
 							<text>{{ item.address ||''}}</text>
@@ -103,6 +106,9 @@
 						</swiper>
 						<view class="popup-body">
 						<text class="popup-title">{{ activeStore.name }}</text>
+						<view class="point-tips">
+							<view class="point-tips-item" v-for="(tag, idx) in activeStore.locationTagNames" :key="idx">{{ tag }}</view>
+						</view>
 						<text class="popup-hours">{{ activeStore.time }}</text>
 						<text class="popup-desc" v-if="activeStore.content">{{ activeStore.content }}</text>
 						<view class="popup-address-row" @click="openNavigation">
@@ -151,7 +157,8 @@
 				selectedFilters: {
 					sortType: '',
 					distance: '',
-					businessType: ''
+					businessType: '',
+					locationTagId: ''
 				},
 				mapCenter: {
 					latitude: 31.86119,
@@ -160,7 +167,8 @@
 				filters: [
 					{ key: 'sortType', label: '缁煎悎鎺掑簭' },
 					{ key: 'distance', label: '浣嶇疆鑼冨洿' },
-					{ key: 'businessType', label: '钀ヤ笟鏃堕棿' }
+					{ key: 'businessType', label: '钀ヤ笟鏃堕棿' },
+					{ key: 'locationTagId', label: '浣嶇疆鏍囩' }
 				],
 				dropdownOptions: {
 					sortType: [
@@ -179,7 +187,8 @@
 						{ label: '钀ヤ笟鏃堕棿', value: '' },
 						{ label: '鍏ㄥぉ钀ヤ笟', value: '1' },
 						{ label: '闄愭椂钀ヤ笟', value: '0' }
-					]
+					],
+					locationTagId: []
 				},
 				pointList: [],
 				isRequest: true,
@@ -192,7 +201,8 @@
 				return {
 					sortType: this.getFilterLabel('sortType'),
 					distance: this.getFilterLabel('distance'),
-					businessType: this.getFilterLabel('businessType')
+					businessType: this.getFilterLabel('businessType'),
+					locationTagId: this.getFilterLabel('locationTagId')
 				}
 			},
 			currentOptions() {
@@ -232,12 +242,23 @@
 		},
 		async onLoad() {
 			await this.$onLaunched
+			this.getLocationTagList()
 			this.getNearbyShopList()
 		},
 		onReachBottom() {
 			this.getNearbyShopList()
 		},
 		methods: {
+			async getLocationTagList() {
+				const res = await this.$u.api.getCategoryList({ type: 5 })
+				if (res.code === 200) {
+					const list = (res.data || []).map(item => ({
+						label: item.name,
+						value: item.id
+					}))
+					this.dropdownOptions.locationTagId = [{ label: '浣嶇疆鏍囩', value: '' }, ...list]
+				}
+			},
 			isFilterBold(key) {
 				if (key === 'sortType') {
 					return true
@@ -274,12 +295,17 @@
 						name: this.keyword,
 						cityId: this.cityId,
 						sortType: this.selectedFilters.sortType || 1,
-						businessType: this.selectedFilters.businessType || ''
+						businessType: this.selectedFilters.businessType || '',
+						locationTagId: this.selectedFilters.locationTagId || ''
 					}
 				})
 				if (res.code === 200) {
 					let arr = []
 					res.data.records.forEach(item => {
+						let locationTagNames = []
+						if (item.locationTagNames) {
+							locationTagNames = item.locationTagNames.split(',')
+						}
 						let obj = {
 							id: item.id,
 							shopId: item.id,
@@ -291,7 +317,8 @@
 							latitude: item.latitude,
 							longitude: item.longitude,
 							depositTypes: item.depositTypes,
-							feeStandard: item.feeStandard
+							feeStandard: item.feeStandard,
+							locationTagNames: locationTagNames
 						}
 						arr.push(obj)
 					})
@@ -348,6 +375,9 @@
 					longitude: this.longitude,
 				}).then(res => {
 					if (res.code === 200) {
+						if (res.data.locationTagNames) {
+							res.data.locationTagNames = res.data.locationTagNames.split(',')
+						}
 						this.activeStore = res.data
 					}
 				})
@@ -821,6 +851,25 @@
 		justify-content: space-between;
 		gap: 12rpx;
 	}
+	
+	.point-tips {
+		width: 100%;
+		display: flex;
+		align-items: center;
+		margin-top: 12rpx;
+		.point-tips-item {
+			width: 116rpx;
+			height: 36rpx;
+			line-height: 36rpx;
+			text-align: center;
+			border-radius: 8rpx;
+			font-weight: 400;
+			font-size: 20rpx;
+			color: #10B2FA;
+			margin-right: 12rpx;
+			border: 1rpx solid #10B2FA;
+		}
+	}
 
 	.point-name {
 		flex: 1;

--
Gitblit v1.9.3