From 59bfd0b8bbbf0ee94ec68e4a3a1a6e536d0ad8fd Mon Sep 17 00:00:00 2001
From: MrShi <1878285526@qq.com>
Date: 星期三, 20 五月 2026 23:10:43 +0800
Subject: [PATCH] Merge branch 'master' of http://139.186.142.91:10010/r/productDev/gtzxinglijicun

---
 small-program/pages/storage-point/storage-point.vue |   81 ++++++++++++++++++++++++++++++++++++----
 1 files changed, 72 insertions(+), 9 deletions(-)

diff --git a/small-program/pages/storage-point/storage-point.vue b/small-program/pages/storage-point/storage-point.vue
index 6658c44..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">
@@ -118,12 +124,12 @@
 						<view class="popup-gap"></view>
 						<view class="popup-section">
 							<text class="popup-section-title">瀵勫瓨绫诲瀷</text>
-							<text class="popup-section-text">{{ activeStore.depositTypes }}</text>
+							<text class="popup-section-text">{{ activeStore.depositTypes || '' }}</text>
 						</view>
 						<view class="popup-gap"></view>
 						<view class="popup-section no-border">
 							<text class="popup-section-title">鏀惰垂鏍囧噯</text>
-							<text class="popup-section-text">{{ activeStore.feeStandard }}</text>
+							<text class="popup-section-text">{{ activeStore.feeStandard || '' }}</text>
 						</view>
 						</view>
 					</scroll-view>
@@ -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
 					}
 				})
@@ -385,6 +415,7 @@
 					this.showLogin = true
 					return
 				}
+				uni.setStorageSync('selectedStore', this.activeStore)
 				uni.navigateTo({
 					url: '/pages/luggage-storage/luggage-storage'
 				})
@@ -820,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;
@@ -850,10 +900,23 @@
 		width: 24rpx;
 		height: 24rpx;
 		margin-right: 4rpx;
+		flex-shrink: 0;
+	}
+
+	.point-address text {
+		width: 425rpx;
+		display: -webkit-box;
+		-webkit-line-clamp: 2;
+		-webkit-box-orient: vertical;
+		overflow: hidden;
 	}
 
 	.point-time {
-		display: block;
+		width: 425rpx;
+		display: -webkit-box;
+		-webkit-line-clamp: 1;
+		-webkit-box-orient: vertical;
+		overflow: hidden;
 		margin-top: 20rpx;
 		line-height: 1.5;
 		font-weight: 400;

--
Gitblit v1.9.3