MrShi
2026-04-17 f39ca3c49d26abd10f76fc67506b9c603a13547c
small-program/unpackage/dist/dev/mp-weixin/pages/storage-point/storage-point.js
@@ -34,7 +34,7 @@
/* harmony import */ var _storage_point_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./storage-point.vue?vue&type=script&lang=js& */ 199);
/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _storage_point_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__) if(["default"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _storage_point_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[key]; }) }(__WEBPACK_IMPORT_KEY__));
/* harmony import */ var _storage_point_vue_vue_type_style_index_0_id_6bbaaa78_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./storage-point.vue?vue&type=style&index=0&id=6bbaaa78&lang=scss&scoped=true& */ 201);
/* harmony import */ var _HBuilderX_3_8_12_20230817_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../../../办公/HBuilderX.3.8.12.20230817/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js */ 38);
/* harmony import */ var _HBuilderX_3_8_12_20230817_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../../../办公/HBuilderX.3.8.12.20230817/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js */ 41);
var renderjs
@@ -101,7 +101,7 @@
try {
  components = {
    uIcon: function () {
      return Promise.all(/*! import() | node-modules/uview-ui/components/u-icon/u-icon */[__webpack_require__.e("common/vendor"), __webpack_require__.e("node-modules/uview-ui/components/u-icon/u-icon")]).then(__webpack_require__.bind(null, /*! uview-ui/components/u-icon/u-icon.vue */ 233))
      return Promise.all(/*! import() | node-modules/uview-ui/components/u-icon/u-icon */[__webpack_require__.e("common/vendor"), __webpack_require__.e("node-modules/uview-ui/components/u-icon/u-icon")]).then(__webpack_require__.bind(null, /*! uview-ui/components/u-icon/u-icon.vue */ 297))
    },
  }
} catch (e) {
@@ -160,272 +160,93 @@
"use strict";
/* WEBPACK VAR INJECTION */(function(uni) {
var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 4);
Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.default = void 0;
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ 34));
var _toConsumableArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/toConsumableArray */ 18));
var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ 36));
var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ 11));
var _vuex = __webpack_require__(/*! vuex */ 37);
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
var _default = {
  data: function data() {
    return {
      keyword: '',
      page: 1,
      isMapMode: false,
      activeStore: null,
      currentDropdown: '',
      selectedFilters: {
        sort: 'all',
        range: 'all',
        hours: 'all'
        sortType: '',
        distance: '',
        businessType: ''
      },
      mapCenter: {
        latitude: 31.86119,
        longitude: 117.28565
      },
      filters: [{
        key: 'sort',
        key: 'sortType',
        label: '综合排序'
      }, {
        key: 'range',
        key: 'distance',
        label: '位置范围'
      }, {
        key: 'hours',
        key: 'businessType',
        label: '营业时间'
      }],
      dropdownOptions: {
        sort: [{
        sortType: [{
          label: '综合排序',
          value: 'all'
        }, {
          label: '距离最近',
          value: 'nearest'
          value: ''
        }, {
          label: '评分优先',
          value: 'score'
          value: '2'
        }],
        range: [{
        distance: [{
          label: '位置范围',
          value: 'all'
          value: ''
        }, {
          label: '1km内',
          value: '1km'
          label: '500m',
          value: '500'
        }, {
          label: '3km内',
          value: '3km'
          label: '1km',
          value: '1000'
        }, {
          label: '5km内',
          value: '5km'
          label: '2km',
          value: '2000'
        }, {
          label: '3km',
          value: '3000'
        }, {
          label: '5km',
          value: '5000'
        }],
        hours: [{
        businessType: [{
          label: '营业时间',
          value: 'all'
          value: ''
        }, {
          label: '营业中',
          value: 'open'
          label: '全天营业',
          value: '1'
        }, {
          label: '24小时营业',
          value: '24h'
          label: '限时营业',
          value: '0'
        }]
      },
      pointList: [{
        name: '中铁快运南站旗舰店',
        address: '合肥南站负一层100号',
        time: '周一至周日 7:00~23:00',
        distance: '239m',
        cover: '/static/icon/nav_wode_sel@2x.png',
        latitude: 31.80054,
        longitude: 117.28391,
        thumbClass: 'thumb-amber'
      }, {
        name: '中铁快运合肥火车站',
        address: '合肥火车站一层12号',
        time: '周一至周日 7:00~23:00',
        distance: '12.8km',
        cover: '/static/icon/nav_wode_sel@2x.png',
        latitude: 31.87673,
        longitude: 117.31584,
        thumbClass: 'thumb-sky'
      }, {
        name: '合肥火车站北广场',
        address: '合肥火车站一层12号',
        time: '周一至周日 7:00~23:00',
        distance: '13.1km',
        cover: '/static/icon/nav_wode_sel@2x.png',
        latitude: 31.87802,
        longitude: 117.31695,
        thumbClass: 'thumb-stone'
      }, {
        name: '小铁无忧存',
        address: '合肥火车站一层12号',
        time: '周一至周日 7:00~23:00',
        distance: '16.3km',
        cover: '/static/icon/nav_wode_sel@2x.png',
        latitude: 31.88418,
        longitude: 117.33086,
        thumbClass: 'thumb-orange'
      }, {
        name: '合肥火车站北广场',
        address: '合肥火车站一层12号',
        time: '周一至周日 7:00~23:00',
        distance: '21.9km',
        cover: '/static/icon/nav_wode_sel@2x.png',
        latitude: 31.85562,
        longitude: 117.29231,
        thumbClass: 'thumb-silver'
      }, {
        name: '合肥火车站北广场',
        address: '合肥火车站一层12号',
        time: '周一至周日 7:00~23:00',
        distance: '24.9km',
        cover: '/static/icon/nav_wode_sel@2x.png',
        latitude: 31.84638,
        longitude: 117.34752,
        thumbClass: 'thumb-amber'
      }]
      pointList: [],
      isRequest: true
    };
  },
  computed: {
  computed: _objectSpread(_objectSpread({}, (0, _vuex.mapState)(['latitude', 'longitude', 'cityId'])), {}, {
    filterLabels: function filterLabels() {
      return {
        sort: this.getFilterLabel('sort'),
        range: this.getFilterLabel('range'),
        hours: this.getFilterLabel('hours')
        sortType: this.getFilterLabel('sortType'),
        distance: this.getFilterLabel('distance'),
        businessType: this.getFilterLabel('businessType')
      };
    },
    currentOptions: function currentOptions() {
@@ -437,9 +258,9 @@
          id: index,
          latitude: item.latitude,
          longitude: item.longitude,
          width: 28,
          height: 36,
          iconPath: '/static/icon/home_ic_location@2x.png',
          width: 0,
          height: 0,
          iconPath: '/static/icon/home1_ic_location@2x.png',
          anchor: {
            x: 0.5,
            y: 1
@@ -457,13 +278,115 @@
        };
      });
    }
  }),
  watch: {
    filterLabels: {
      handler: function handler(newVal, oldVal) {
        this.handleSearch();
      }
    }
  },
  onLoad: function onLoad() {
    var _this = this;
    return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
      return _regenerator.default.wrap(function _callee$(_context) {
        while (1) {
          switch (_context.prev = _context.next) {
            case 0:
              _context.next = 2;
              return _this.$onLaunched;
            case 2:
              _this.getNearbyShopList();
            case 3:
            case "end":
              return _context.stop();
          }
        }
      }, _callee);
    }))();
  },
  onReachBottom: function onReachBottom() {
    this.getNearbyShopList();
  },
  methods: {
    handleSearch: function handleSearch() {
      this.page = 1;
      this.pointList = [];
      this.isRequest = true;
      this.getNearbyShopList();
    },
    handleFilterChange: function handleFilterChange(key, value) {
      this.selectedFilters[key] = value;
      this.page = 1;
      this.pointList = [];
      this.getNearbyShopList();
    },
    getNearbyShopList: function getNearbyShopList() {
      var _this2 = this;
      return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {
        var res, arr;
        return _regenerator.default.wrap(function _callee2$(_context2) {
          while (1) {
            switch (_context2.prev = _context2.next) {
              case 0:
                if (_this2.isRequest) {
                  _context2.next = 2;
                  break;
                }
                return _context2.abrupt("return");
              case 2:
                _context2.next = 4;
                return _this2.$u.api.getNearbyShopList({
                  capacity: 10,
                  page: _this2.page,
                  model: {
                    latitude: _this2.latitude,
                    longitude: _this2.longitude,
                    distance: _this2.selectedFilters.distance || '',
                    name: _this2.keyword,
                    cityId: _this2.cityId,
                    sortType: _this2.selectedFilters.sortType || 1,
                    businessType: _this2.selectedFilters.businessType || ''
                  }
                });
              case 4:
                res = _context2.sent;
                if (res.code === 200) {
                  arr = [];
                  res.data.records.forEach(function (item) {
                    var obj = {
                      shopId: item.id,
                      name: item.name,
                      address: item.address,
                      time: item.shopHours,
                      distance: item.distanceText,
                      cover: item.coverImg,
                      latitude: item.latitude,
                      longitude: item.longitude,
                      depositTypes: item.depositTypes,
                      feeStandard: item.feeStandard
                    };
                    arr.push(obj);
                  });
                  _this2.pointList = [].concat((0, _toConsumableArray2.default)(_this2.pointList), arr);
                  _this2.page++;
                  if (res.data.total <= _this2.pointList.length) {
                    _this2.isRequest = false;
                  }
                }
              case 6:
              case "end":
                return _context2.stop();
            }
          }
        }, _callee2);
      }))();
    },
    getFilterLabel: function getFilterLabel(key) {
      var _this = this;
      var _this3 = this;
      var options = this.dropdownOptions[key] || [];
      var current = options.find(function (item) {
        return item.value === _this.selectedFilters[key];
        return item.value === _this3.selectedFilters[key];
      });
      return current ? current.label : (this.filters.find(function (item) {
        return item.key === key;
@@ -494,6 +417,7 @@
      }
    },
    handleMarkerTap: function handleMarkerTap(event) {
      var _this4 = this;
      var markerId = typeof event.detail.markerId !== 'undefined' ? event.detail.markerId : event.detail.id;
      var current = this.pointList[markerId];
      if (!current) {
@@ -503,13 +427,38 @@
        latitude: current.latitude,
        longitude: current.longitude
      };
      this.activeStore = current;
      console.log('current', current);
      this.$u.api.getShopDetail({
        id: current.shopId,
        latitude: this.latitude,
        longitude: this.longitude
      }).then(function (res) {
        if (res.code === 200) {
          _this4.activeStore = res.data;
        }
      });
    },
    resetMapCenter: function resetMapCenter() {
      this.mapCenter = {
        latitude: 31.86119,
        longitude: 117.28565
      };
      var that = this;
      uni.getLocation({
        type: 'wgs84',
        success: function success(res) {
          that.mapCenter = {
            latitude: res.latitude,
            longitude: res.longitude
          };
        }
      });
    },
    openNavigation: function openNavigation() {
      uni.openLocation({
        latitude: this.activeStore.latitude,
        longitude: this.activeStore.longitude,
        name: this.activeStore.name,
        address: this.activeStore.address,
        scale: 18,
        infoUrl: ''
      });
    },
    contactStore: function contactStore() {
      uni.showToast({