|
@@ -101,7 +101,7 @@ var components
|
|
|
try {
|
|
try {
|
|
|
components = {
|
|
components = {
|
|
|
uvRow: function () {
|
|
uvRow: function () {
|
|
|
- return Promise.all(/*! import() | uni_modules/uv-row/components/uv-row/uv-row */[__webpack_require__.e("common/vendor"), __webpack_require__.e("uni_modules/uv-row/components/uv-row/uv-row")]).then(__webpack_require__.bind(null, /*! @/uni_modules/uv-row/components/uv-row/uv-row.vue */ 204))
|
|
|
|
|
|
|
+ return Promise.all(/*! import() | uni_modules/uv-row/components/uv-row/uv-row */[__webpack_require__.e("common/vendor"), __webpack_require__.e("uni_modules/uv-row/components/uv-row/uv-row")]).then(__webpack_require__.bind(null, /*! @/uni_modules/uv-row/components/uv-row/uv-row.vue */ 213))
|
|
|
},
|
|
},
|
|
|
}
|
|
}
|
|
|
} catch (e) {
|
|
} catch (e) {
|
|
@@ -126,13 +126,26 @@ var render = function () {
|
|
|
var _h = _vm.$createElement
|
|
var _h = _vm.$createElement
|
|
|
var _c = _vm._self._c || _h
|
|
var _c = _vm._self._c || _h
|
|
|
var m0 = __webpack_require__(/*! ../../static/index/bottom.png */ 46)
|
|
var m0 = __webpack_require__(/*! ../../static/index/bottom.png */ 46)
|
|
|
- var m1 = __webpack_require__(/*! ../../static/index/hotel.png */ 47)
|
|
|
|
|
|
|
+ var g0 = _vm.hotelList.length
|
|
|
|
|
+ var l0 = g0
|
|
|
|
|
+ ? _vm.__map(_vm.hotelList, function (item, __i0__) {
|
|
|
|
|
+ var $orig = _vm.__get_orig(item)
|
|
|
|
|
+ var m1 = __webpack_require__(/*! ../../static/index/hotel.png */ 47)
|
|
|
|
|
+ return {
|
|
|
|
|
+ $orig: $orig,
|
|
|
|
|
+ m1: m1,
|
|
|
|
|
+ }
|
|
|
|
|
+ })
|
|
|
|
|
+ : null
|
|
|
|
|
+ var m2 = !g0 ? __webpack_require__(/*! ../../static/images/noData.png */ 401) : null
|
|
|
_vm.$mp.data = Object.assign(
|
|
_vm.$mp.data = Object.assign(
|
|
|
{},
|
|
{},
|
|
|
{
|
|
{
|
|
|
$root: {
|
|
$root: {
|
|
|
m0: m0,
|
|
m0: m0,
|
|
|
- m1: m1,
|
|
|
|
|
|
|
+ g0: g0,
|
|
|
|
|
+ l0: l0,
|
|
|
|
|
+ m2: m2,
|
|
|
},
|
|
},
|
|
|
}
|
|
}
|
|
|
)
|
|
)
|
|
@@ -171,10 +184,19 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
"use strict";
|
|
"use strict";
|
|
|
/* WEBPACK VAR INJECTION */(function(uni) {
|
|
/* WEBPACK VAR INJECTION */(function(uni) {
|
|
|
|
|
|
|
|
|
|
+var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 4);
|
|
|
Object.defineProperty(exports, "__esModule", {
|
|
Object.defineProperty(exports, "__esModule", {
|
|
|
value: true
|
|
value: true
|
|
|
});
|
|
});
|
|
|
exports.default = void 0;
|
|
exports.default = void 0;
|
|
|
|
|
+var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ 218));
|
|
|
|
|
+var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ 220));
|
|
|
|
|
+//
|
|
|
|
|
+//
|
|
|
|
|
+//
|
|
|
|
|
+//
|
|
|
|
|
+//
|
|
|
|
|
+//
|
|
|
//
|
|
//
|
|
|
//
|
|
//
|
|
|
//
|
|
//
|
|
@@ -220,61 +242,160 @@ exports.default = void 0;
|
|
|
var _default = {
|
|
var _default = {
|
|
|
data: function data() {
|
|
data: function data() {
|
|
|
return {
|
|
return {
|
|
|
|
|
+ // 是否显示距离差
|
|
|
|
|
+ showdDistance: false,
|
|
|
// 搜索框绑定数据
|
|
// 搜索框绑定数据
|
|
|
keywords: '',
|
|
keywords: '',
|
|
|
- // 名宿列表数组
|
|
|
|
|
- hotelList: [{
|
|
|
|
|
- id: 1,
|
|
|
|
|
- imgUrl: '../../static/search/img.png',
|
|
|
|
|
- hotelName: '双溪镇抱朴小院',
|
|
|
|
|
- type: '舒适型',
|
|
|
|
|
- distance: '7.2',
|
|
|
|
|
- price: 180,
|
|
|
|
|
- phone: '18320846714'
|
|
|
|
|
- }, {
|
|
|
|
|
- id: 2,
|
|
|
|
|
- imgUrl: '../../static/index/banner.png',
|
|
|
|
|
- hotelName: '幸福乡宿',
|
|
|
|
|
- type: '舒适型',
|
|
|
|
|
- distance: '3.2',
|
|
|
|
|
- price: 190,
|
|
|
|
|
- phone: '18320846714'
|
|
|
|
|
- }, {
|
|
|
|
|
- id: 3,
|
|
|
|
|
- imgUrl: '../../static/index/banner.png',
|
|
|
|
|
- hotelName: '健康乡宿',
|
|
|
|
|
- type: '舒适型',
|
|
|
|
|
- distance: '8.6',
|
|
|
|
|
- price: 150,
|
|
|
|
|
- phone: '18320846714'
|
|
|
|
|
- }, {
|
|
|
|
|
- id: 4,
|
|
|
|
|
- imgUrl: '../../static/search/img.png',
|
|
|
|
|
- hotelName: '开心乡宿',
|
|
|
|
|
- type: '舒适型',
|
|
|
|
|
- distance: '6.2',
|
|
|
|
|
- price: 180,
|
|
|
|
|
- phone: '18320846714'
|
|
|
|
|
- }, {
|
|
|
|
|
- id: 5,
|
|
|
|
|
- imgUrl: '../../static/index/banner.png',
|
|
|
|
|
- hotelName: '快乐乡宿',
|
|
|
|
|
- type: '舒适型',
|
|
|
|
|
- distance: '3.9',
|
|
|
|
|
- price: 280,
|
|
|
|
|
- phone: '18320846714'
|
|
|
|
|
- }],
|
|
|
|
|
|
|
+ // 民宿列表数组
|
|
|
|
|
+ hotelList: [],
|
|
|
// 地区数组
|
|
// 地区数组
|
|
|
placeList: ['靖安县', '宝峰镇', '三爪乡'],
|
|
placeList: ['靖安县', '宝峰镇', '三爪乡'],
|
|
|
// 当前选择地区索引
|
|
// 当前选择地区索引
|
|
|
- placeIndex: 0
|
|
|
|
|
|
|
+ placeIndex: 0,
|
|
|
|
|
+ // 当前页
|
|
|
|
|
+ page: 1,
|
|
|
|
|
+ // 每页多少条
|
|
|
|
|
+ rows: 6,
|
|
|
|
|
+ // 总条数
|
|
|
|
|
+ total: null,
|
|
|
|
|
+ // 当前用户定位经度
|
|
|
|
|
+ myLng: 0,
|
|
|
|
|
+ // 当前用户定位纬度
|
|
|
|
|
+ myLat: 0,
|
|
|
|
|
+ // 签到点中心经度
|
|
|
|
|
+ centerLng: 0,
|
|
|
|
|
+ // 签到点中心纬度
|
|
|
|
|
+ centerLat: 0,
|
|
|
|
|
+ // 距离签到点的距离
|
|
|
|
|
+ distance: 0
|
|
|
};
|
|
};
|
|
|
},
|
|
},
|
|
|
- onLoad: function onLoad() {},
|
|
|
|
|
|
|
+ onLoad: function onLoad() {
|
|
|
|
|
+ this.getLocation();
|
|
|
|
|
+ // this.getHotelList()
|
|
|
|
|
+ },
|
|
|
|
|
+
|
|
|
methods: {
|
|
methods: {
|
|
|
|
|
+ // 获取用户当前位置
|
|
|
|
|
+ getLocation: function getLocation() {
|
|
|
|
|
+ var _this = this;
|
|
|
|
|
+ uni.getSetting({
|
|
|
|
|
+ success: function success(res) {
|
|
|
|
|
+ if (!res.authSetting['scope.userLocation']) {
|
|
|
|
|
+ uni.authorize({
|
|
|
|
|
+ scope: 'scope.userLocation',
|
|
|
|
|
+ success: function success(res) {
|
|
|
|
|
+ // 授权成功
|
|
|
|
|
+ uni.getLocation({
|
|
|
|
|
+ type: 'gcj02',
|
|
|
|
|
+ success: function success(res) {
|
|
|
|
|
+ _this.myLat = res.latitude;
|
|
|
|
|
+ _this.myLng = res.longitude;
|
|
|
|
|
+ _this.showdDistance = true;
|
|
|
|
|
+ _this.getHotelList();
|
|
|
|
|
+ console.log('2当前位置的经度:' + res.longitude);
|
|
|
|
|
+ console.log('2当前位置的纬度:' + res.latitude);
|
|
|
|
|
+ }
|
|
|
|
|
+ });
|
|
|
|
|
+ },
|
|
|
|
|
+ fail: function fail() {
|
|
|
|
|
+ uni.showModal({
|
|
|
|
|
+ content: '获取定位权限失败将会影响使用部分功能,是否去设置打开?',
|
|
|
|
|
+ confirmText: '确认',
|
|
|
|
|
+ cancelText: '取消',
|
|
|
|
|
+ success: function success(res) {
|
|
|
|
|
+ if (res.confirm) {
|
|
|
|
|
+ uni.openSetting({
|
|
|
|
|
+ success: function success(res) {
|
|
|
|
|
+ console.log(res);
|
|
|
|
|
+ _this.getLocation();
|
|
|
|
|
+ }
|
|
|
|
|
+ });
|
|
|
|
|
+ } else {
|
|
|
|
|
+ _this.showdDistance = false;
|
|
|
|
|
+ _this.getHotelList();
|
|
|
|
|
+ uni.showToast({
|
|
|
|
|
+ title: '获取定位权限失败',
|
|
|
|
|
+ icon: 'none'
|
|
|
|
|
+ });
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ });
|
|
|
|
|
+ }
|
|
|
|
|
+ });
|
|
|
|
|
+ } else {
|
|
|
|
|
+ uni.getLocation({
|
|
|
|
|
+ type: 'gcj02',
|
|
|
|
|
+ success: function success(res) {
|
|
|
|
|
+ _this.myLat = res.latitude;
|
|
|
|
|
+ _this.myLng = res.longitude;
|
|
|
|
|
+ _this.showdDistance = true;
|
|
|
|
|
+ _this.getHotelList();
|
|
|
|
|
+ console.log('当前位置的经度:' + res.longitude);
|
|
|
|
|
+ console.log('当前位置的纬度:' + res.latitude);
|
|
|
|
|
+ }
|
|
|
|
|
+ });
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ });
|
|
|
|
|
+ },
|
|
|
|
|
+ // 获取民宿列表
|
|
|
|
|
+ getHotelList: function getHotelList() {
|
|
|
|
|
+ var _this2 = this;
|
|
|
|
|
+ return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
|
|
|
|
|
+ var res;
|
|
|
|
|
+ return _regenerator.default.wrap(function _callee$(_context) {
|
|
|
|
|
+ while (1) {
|
|
|
|
|
+ switch (_context.prev = _context.next) {
|
|
|
|
|
+ case 0:
|
|
|
|
|
+ _context.next = 2;
|
|
|
|
|
+ return _this2.$myRequest({
|
|
|
|
|
+ url: '/mhotel/ahphomePage.action',
|
|
|
|
|
+ data: {
|
|
|
|
|
+ queryValue: _this2.keywords,
|
|
|
|
|
+ page: _this2.page,
|
|
|
|
|
+ rows: _this2.rows
|
|
|
|
|
+ }
|
|
|
|
|
+ });
|
|
|
|
|
+ case 2:
|
|
|
|
|
+ res = _context.sent;
|
|
|
|
|
+ // console.log(res)
|
|
|
|
|
+ _this2.hotelList = res.pageList;
|
|
|
|
|
+ console.log(_this2.myLat);
|
|
|
|
|
+ console.log(_this2.myLng);
|
|
|
|
|
+ if (_this2.showdDistance && _this2.hotelList.length) {
|
|
|
|
|
+ _this2.hotelList.forEach(function (ele) {
|
|
|
|
|
+ ele.distance = _this2.calculateDistance(28.86054, 115.361744);
|
|
|
|
|
+ });
|
|
|
|
|
+ }
|
|
|
|
|
+ console.log(_this2.hotelList);
|
|
|
|
|
+ _this2.total = res.total;
|
|
|
|
|
+ case 9:
|
|
|
|
|
+ case "end":
|
|
|
|
|
+ return _context.stop();
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }, _callee);
|
|
|
|
|
+ }))();
|
|
|
|
|
+ },
|
|
|
|
|
+ // 计算两个点之间的距离
|
|
|
|
|
+ calculateDistance: function calculateDistance(lat, lng) {
|
|
|
|
|
+ var centerLat = lat;
|
|
|
|
|
+ var centerLng = lng;
|
|
|
|
|
+ var red1 = this.myLat * Math.PI / 180.0;
|
|
|
|
|
+ var red2 = centerLat * Math.PI / 180.0;
|
|
|
|
|
+ var a = red1 - red2;
|
|
|
|
|
+ var b = this.myLng * Math.PI / 180.0 - centerLng * Math.PI / 180.0;
|
|
|
|
|
+ var R = 6378137;
|
|
|
|
|
+ var distance = R * 2 * Math.asin(Math.sqrt(Math.pow(Math.sin(a / 2), 2) + Math.cos(red1) * Math.cos(red2) * Math.pow(Math.sin(b / 2), 2)));
|
|
|
|
|
+ var res = (distance / 1000).toFixed(2) * 1;
|
|
|
|
|
+ return res;
|
|
|
|
|
+ },
|
|
|
// 搜索按钮点击回调
|
|
// 搜索按钮点击回调
|
|
|
searchHandler: function searchHandler() {
|
|
searchHandler: function searchHandler() {
|
|
|
console.log(this.keywords);
|
|
console.log(this.keywords);
|
|
|
|
|
+ // this.page = 1
|
|
|
|
|
+ // this.getHotelList()
|
|
|
},
|
|
},
|
|
|
// 点击每一个名宿卡片回调
|
|
// 点击每一个名宿卡片回调
|
|
|
goPageDetail: function goPageDetail(item) {
|
|
goPageDetail: function goPageDetail(item) {
|
|
@@ -284,6 +405,7 @@ var _default = {
|
|
|
url: "/pages/detail/detail?info=".concat(info)
|
|
url: "/pages/detail/detail?info=".concat(info)
|
|
|
});
|
|
});
|
|
|
},
|
|
},
|
|
|
|
|
+ // 选择地区时的回调
|
|
|
bindPickerChange: function bindPickerChange(e) {
|
|
bindPickerChange: function bindPickerChange(e) {
|
|
|
console.log('picker发送选择改变,携带值为', e.detail.value);
|
|
console.log('picker发送选择改变,携带值为', e.detail.value);
|
|
|
this.placeIndex = e.detail.value;
|
|
this.placeIndex = e.detail.value;
|