MrShi
9 天以前 b099e758396f61b39d24cf5fa6be7bb0d10c2b4d
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
               }
            })
@@ -822,6 +852,25 @@
      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;
      line-height: 1.35;