2026-08-25 12:01:09 +08:00
|
|
|
"use strict";
|
|
|
|
|
(self["webpackChunkliu_official"] = self["webpackChunkliu_official"] || []).push([[276],{
|
|
|
|
|
|
|
|
|
|
/***/ 3902:
|
|
|
|
|
/***/ (function(__unused_webpack_module, __unused_webpack___webpack_exports__, __webpack_require__) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// EXTERNAL MODULE: ./node_modules/.pnpm/vue@3.5.16/node_modules/vue/dist/vue.esm-bundler.js + 5 modules
|
|
|
|
|
var vue_esm_bundler = __webpack_require__(2892);
|
|
|
|
|
// EXTERNAL MODULE: ./node_modules/.pnpm/axios@1.9.0/node_modules/axios/lib/axios.js + 48 modules
|
|
|
|
|
var axios = __webpack_require__(9925);
|
|
|
|
|
// EXTERNAL MODULE: ./src/components/vue/mobile/AdPopup.vue + 2 modules
|
|
|
|
|
var AdPopup = __webpack_require__(1476);
|
|
|
|
|
// EXTERNAL MODULE: ./src/components/vue/mobile/MenuPopup.vue + 3 modules
|
|
|
|
|
var MenuPopup = __webpack_require__(5416);
|
|
|
|
|
// EXTERNAL MODULE: ./node_modules/.pnpm/element-plus@2.10.2_vue@3.5.16/node_modules/element-plus/es/components/carousel/index.mjs + 9 modules
|
|
|
|
|
var components_carousel = __webpack_require__(8489);
|
|
|
|
|
;// ./node_modules/.pnpm/unplugin@2.3.5/node_modules/unplugin/dist/webpack/loaders/transform.js??unplugin-auto-import!./node_modules/.pnpm/babel-loader@10.0.0_@babel+core@7.27.4_webpack@5.99.9/node_modules/babel-loader/lib/index.js!./node_modules/.pnpm/vue-loader@17.4.2_vue@3.5.16_webpack@5.99.9/node_modules/vue-loader/dist/index.js??ruleSet[1].rules[11].use[0]!./src/components/vue/mobile/MobileCarousel.vue?vue&type=script&setup=true&lang=js
|
|
|
|
|
|
|
|
|
|
const _hoisted_1 = ["src"];
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/* harmony default export */ var MobileCarouselvue_type_script_setup_true_lang_js = ({
|
|
|
|
|
__name: 'MobileCarousel',
|
|
|
|
|
props: ['items'],
|
|
|
|
|
setup(__props) {
|
|
|
|
|
const props = __props;
|
|
|
|
|
const items = (0,vue_esm_bundler/* toRef */.lW)(props, 'items');
|
|
|
|
|
const carousel = (0,vue_esm_bundler/* ref */.KR)(null);
|
|
|
|
|
const carouselWrapper = (0,vue_esm_bundler/* ref */.KR)(null);
|
|
|
|
|
const autoplay = (0,vue_esm_bundler/* ref */.KR)(true);
|
|
|
|
|
let touchStartX = 0;
|
|
|
|
|
let touchEndX = 0;
|
|
|
|
|
const handleTouchStart = e => {
|
|
|
|
|
autoplay.value = false;
|
|
|
|
|
touchStartX = e.touches[0].clientX;
|
|
|
|
|
};
|
|
|
|
|
const handleTouchMove = e => {
|
|
|
|
|
touchEndX = e.touches[0].clientX;
|
|
|
|
|
};
|
|
|
|
|
const handleTouchEnd = () => {
|
|
|
|
|
const threshold = 50; // 滑动阈值(px)
|
|
|
|
|
const diff = touchEndX - touchStartX;
|
|
|
|
|
if (Math.abs(diff) > threshold) {
|
|
|
|
|
if (diff > 0) {
|
|
|
|
|
carousel.value.prev();
|
|
|
|
|
} else {
|
|
|
|
|
carousel.value.next();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
setTimeout(() => {
|
|
|
|
|
autoplay.value = true;
|
|
|
|
|
}, 5000); // 3秒后恢复自动播放
|
|
|
|
|
};
|
|
|
|
|
return (_ctx, _cache) => {
|
|
|
|
|
return (0,vue_esm_bundler/* openBlock */.uX)(), (0,vue_esm_bundler/* createElementBlock */.CE)("div", {
|
|
|
|
|
ref_key: "carouselWrapper",
|
|
|
|
|
ref: carouselWrapper,
|
|
|
|
|
class: "mobile-carousel",
|
|
|
|
|
onTouchstart: handleTouchStart,
|
|
|
|
|
onTouchmove: handleTouchMove,
|
|
|
|
|
onTouchend: handleTouchEnd
|
|
|
|
|
}, [(0,vue_esm_bundler/* createVNode */.bF)((0,vue_esm_bundler/* unref */.R1)(components_carousel/* ElCarousel */.eP), {
|
|
|
|
|
ref_key: "carousel",
|
|
|
|
|
ref: carousel,
|
|
|
|
|
interval: autoplay.value ? 5000 : 0,
|
|
|
|
|
height: "221px",
|
|
|
|
|
"pause-on-hover": false
|
|
|
|
|
}, {
|
|
|
|
|
default: (0,vue_esm_bundler/* withCtx */.k6)(() => [((0,vue_esm_bundler/* openBlock */.uX)(true), (0,vue_esm_bundler/* createElementBlock */.CE)(vue_esm_bundler/* Fragment */.FK, null, (0,vue_esm_bundler/* renderList */.pI)(items.value, item => {
|
|
|
|
|
return (0,vue_esm_bundler/* openBlock */.uX)(), (0,vue_esm_bundler/* createBlock */.Wv)((0,vue_esm_bundler/* unref */.R1)(components_carousel/* ElCarouselItem */.vJ), {
|
|
|
|
|
key: item
|
|
|
|
|
}, {
|
|
|
|
|
default: (0,vue_esm_bundler/* withCtx */.k6)(() => [(0,vue_esm_bundler/* createElementVNode */.Lk)("img", {
|
|
|
|
|
src: item,
|
|
|
|
|
class: "carousel-image"
|
|
|
|
|
}, null, 8 /* PROPS */, _hoisted_1)]),
|
|
|
|
|
_: 2 /* DYNAMIC */
|
|
|
|
|
}, 1024 /* DYNAMIC_SLOTS */);
|
|
|
|
|
}), 128 /* KEYED_FRAGMENT */))]),
|
|
|
|
|
_: 1 /* STABLE */
|
|
|
|
|
}, 8 /* PROPS */, ["interval"])], 544 /* NEED_HYDRATION, NEED_PATCH */);
|
|
|
|
|
};
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
;// ./src/components/vue/mobile/MobileCarousel.vue?vue&type=script&setup=true&lang=js
|
|
|
|
|
|
|
|
|
|
// EXTERNAL MODULE: ./node_modules/.pnpm/vue-loader@17.4.2_vue@3.5.16_webpack@5.99.9/node_modules/vue-loader/dist/exportHelper.js
|
|
|
|
|
var exportHelper = __webpack_require__(4406);
|
|
|
|
|
;// ./src/components/vue/mobile/MobileCarousel.vue
|
|
|
|
|
/* unplugin-vue-components disabled */
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const __exports__ = /*#__PURE__*/(0,exportHelper/* default */.A)(MobileCarouselvue_type_script_setup_true_lang_js, [['__scopeId',"data-v-8dc6d67e"]])
|
|
|
|
|
|
|
|
|
|
/* harmony default export */ var MobileCarousel = (__exports__);
|
|
|
|
|
// EXTERNAL MODULE: ./node_modules/.pnpm/@element-plus+icons-vue@2.3.1_vue@3.5.16/node_modules/@element-plus/icons-vue/dist/index.js
|
|
|
|
|
var dist = __webpack_require__(5253);
|
|
|
|
|
// EXTERNAL MODULE: ./node_modules/.pnpm/element-plus@2.10.2_vue@3.5.16/node_modules/element-plus/es/components/icon/index.mjs + 2 modules
|
|
|
|
|
var icon = __webpack_require__(242);
|
|
|
|
|
// EXTERNAL MODULE: ./node_modules/.pnpm/element-plus@2.10.2_vue@3.5.16/node_modules/element-plus/es/components/base/style/css.mjs + 1 modules
|
|
|
|
|
var css = __webpack_require__(5729);
|
|
|
|
|
// EXTERNAL MODULE: ./node_modules/.pnpm/element-plus@2.10.2_vue@3.5.16/node_modules/element-plus/es/components/icon/style/css.mjs
|
|
|
|
|
var style_css = __webpack_require__(9573);
|
|
|
|
|
;// ./src/pages/mobile/stadiumReserveDetail/index.js
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const request = axios/* default */.A.create({
|
|
|
|
|
baseURL: "https://room.yunvip123.cn/prod-api/room",
|
|
|
|
|
timeout: 60 * 1000
|
|
|
|
|
});
|
|
|
|
|
(0,vue_esm_bundler/* createApp */.Ef)({
|
|
|
|
|
components: {
|
|
|
|
|
AdPopup: AdPopup/* default */.A,
|
|
|
|
|
MenuPopup: MenuPopup/* default */.A,
|
|
|
|
|
MobileCarousel: MobileCarousel,
|
|
|
|
|
LocationInformation: dist/* LocationInformation */.ewv,
|
|
|
|
|
ElIcon: icon/* ElIcon */.tk
|
|
|
|
|
},
|
|
|
|
|
setup() {
|
|
|
|
|
(0,vue_esm_bundler/* onMounted */.sV)(async () => {
|
|
|
|
|
const params = new URLSearchParams(window.location.search);
|
|
|
|
|
const id = params.get('shopId');
|
|
|
|
|
if (id) {
|
|
|
|
|
queryDetail(id);
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
const detail = (0,vue_esm_bundler/* ref */.KR)({});
|
|
|
|
|
const imgList = (0,vue_esm_bundler/* ref */.KR)([]);
|
|
|
|
|
function queryDetail(id) {
|
|
|
|
|
request.get('mini/queryRoomShop', {
|
|
|
|
|
params: {
|
|
|
|
|
shopId: id
|
|
|
|
|
}
|
|
|
|
|
}).then(async res => {
|
|
|
|
|
detail.value = res.data.data;
|
|
|
|
|
imgList.value = detail.value.roomLogo.split(',') || [];
|
|
|
|
|
await (0,vue_esm_bundler/* nextTick */.dY)();
|
|
|
|
|
initMap();
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
const map = (0,vue_esm_bundler/* ref */.KR)(null);
|
|
|
|
|
const marker = (0,vue_esm_bundler/* ref */.KR)(null);
|
|
|
|
|
function initMap() {
|
|
|
|
|
const point = new TMap.LatLng(detail.value.latitude, detail.value.longitude);
|
|
|
|
|
map.value = new TMap.Map(document.getElementById('map'), {
|
|
|
|
|
center: point
|
|
|
|
|
});
|
|
|
|
|
marker.value = new TMap.MultiMarker({
|
|
|
|
|
map: map.value,
|
|
|
|
|
geometries: [{
|
|
|
|
|
"id": "marker1",
|
|
|
|
|
"position": point,
|
|
|
|
|
"properties": {
|
|
|
|
|
"title": "marker1"
|
|
|
|
|
}
|
|
|
|
|
}]
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
const lgyyPopup = (0,vue_esm_bundler/* ref */.KR)(null);
|
|
|
|
|
function openLgyy() {
|
|
|
|
|
lgyyPopup.value.open();
|
|
|
|
|
}
|
|
|
|
|
const gkdPopup = (0,vue_esm_bundler/* ref */.KR)(null);
|
|
|
|
|
function openGkd() {
|
|
|
|
|
gkdPopup.value.open();
|
|
|
|
|
}
|
|
|
|
|
const menuPopup = (0,vue_esm_bundler/* ref */.KR)(null);
|
|
|
|
|
function openMenu() {
|
|
|
|
|
menuPopup.value.open();
|
|
|
|
|
}
|
|
|
|
|
return {
|
|
|
|
|
detail,
|
|
|
|
|
imgList,
|
|
|
|
|
lgyyPopup,
|
|
|
|
|
openLgyy,
|
|
|
|
|
gkdPopup,
|
|
|
|
|
openGkd,
|
|
|
|
|
menuPopup,
|
|
|
|
|
openMenu
|
|
|
|
|
};
|
|
|
|
|
}
|
|
|
|
|
}).mount("#homeMain");
|
|
|
|
|
|
|
|
|
|
/***/ })
|
|
|
|
|
|
|
|
|
|
},
|
|
|
|
|
/******/ function(__webpack_require__) { // webpackRuntimeModules
|
|
|
|
|
/******/ var __webpack_exec__ = function(moduleId) { return __webpack_require__(__webpack_require__.s = moduleId); }
|
|
|
|
|
/******/ __webpack_require__.O(0, [534,810,361,76], function() { return __webpack_exec__(3902); });
|
|
|
|
|
/******/ var __webpack_exports__ = __webpack_require__.O();
|
|
|
|
|
/******/ }
|
|
|
|
|
]);
|
2026-09-01 15:24:09 +08:00
|
|
|
//# sourceMappingURL=stadiumReserveDetailM.js.map
|