"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(); /******/ } ]); //# sourceMappingURL=stadiumReserveDetailM.js.map