"use strict"; var __async = (__this, __arguments, generator) => { return new Promise((resolve, reject) => { var fulfilled = (value) => { try { step(generator.next(value)); } catch (e) { reject(e); } }; var rejected = (value) => { try { step(generator.throw(value)); } catch (e) { reject(e); } }; var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected); step((generator = generator.apply(__this, __arguments)).next()); }); }; const common_vendor = require("../../../common/vendor.js"); const sheep_index = require("../../../sheep/index.js"); const sheep_hooks_useGoods = require("../../../sheep/hooks/useGoods.js"); const sheep_api_promotion_combination = require("../../../sheep/api/promotion/combination.js"); const sheep_api_product_spu = require("../../../sheep/api/product/spu.js"); if (!Array) { const _easycom_s_empty2 = common_vendor.resolveComponent("s-empty"); const _easycom_su_swiper2 = common_vendor.resolveComponent("su-swiper"); const _easycom_s_select_groupon_sku2 = common_vendor.resolveComponent("s-select-groupon-sku"); const _easycom_s_layout2 = common_vendor.resolveComponent("s-layout"); const _component_layout_default_uni = common_vendor.resolveComponent("layout-default-uni"); (_easycom_s_empty2 + _easycom_su_swiper2 + _easycom_s_select_groupon_sku2 + _easycom_s_layout2 + _component_layout_default_uni)(); } const _easycom_s_empty = () => "../../../sheep/components/s-empty/s-empty.js"; const _easycom_su_swiper = () => "../../../sheep/ui/su-swiper/su-swiper.js"; const _easycom_s_select_groupon_sku = () => "../../../sheep/components/s-select-groupon-sku/s-select-groupon-sku.js"; const _easycom_s_layout = () => "../../../sheep/components/s-layout/s-layout.js"; if (!Math) { (detailNavbar + detailSkeleton + _easycom_s_empty + _easycom_su_swiper + detailCellSku + grouponCardList + _easycom_s_select_groupon_sku + detailCommentCard + detailContentCard + detailTabbar + _easycom_s_layout)(); } const detailNavbar = () => "./components/detail/detail-navbar.js"; const detailCellSku = () => "./components/detail/detail-cell-sku.js"; const detailTabbar = () => "./components/detail/detail-tabbar.js"; const detailSkeleton = () => "./components/detail/detail-skeleton.js"; const detailCommentCard = () => "./components/detail/detail-comment-card.js"; const detailContentCard = () => "./components/detail/detail-content-card.js"; const grouponCardList = () => "./components/groupon/groupon-card-list.js"; const _sfc_main = { __name: "groupon", setup(__props) { common_vendor.useCssVars((_ctx) => ({ "ac8463f8": common_vendor.unref(headerBg), "18737eaf": common_vendor.unref(btnBg), "7f98b393": common_vendor.unref(disabledBtnBg), "425ab171": common_vendor.unref(grouponBg) })); const headerBg = sheep_index.sheep.$url.css("/static/img/shop/goods/groupon-bg.png"); const btnBg = sheep_index.sheep.$url.css("/static/img/shop/goods/groupon-btn.png"); const disabledBtnBg = sheep_index.sheep.$url.css("/static/img/shop/goods/activity-btn-disabled.png"); const grouponBg = sheep_index.sheep.$url.css("/static/img/shop/goods/groupon-tip-bg.png"); common_vendor.onPageScroll(() => { }); const state = common_vendor.reactive({ skeletonLoading: true, // 骨架屏 goodsId: 0, // 商品ID goodsInfo: {}, // 商品信息 goodsSwiper: [], // 商品轮播图 showSelectSku: false, // 显示规格弹框 selectedSku: {}, // 选中的规格属性 activity: {}, // 团购活动 grouponId: 0, // 团购ID grouponNum: 0, // 团购人数 grouponAction: "create", // 团购操作 combinationHeadId: null // 拼团团长编号 }); const endTime = common_vendor.computed(() => { return sheep_hooks_useGoods.useDurationTime(state.activity.endTime); }); function onSkuChange(e) { state.selectedSku = e; } function onSkuClose() { state.showSelectSku = false; } function onCreateGroupon() { state.grouponAction = "create"; state.grouponId = 0; state.showSelectSku = true; } function onJoinGroupon(record) { state.grouponAction = "join"; state.grouponId = record.activityId; state.combinationHeadId = record.id; state.grouponNum = record.userSize; state.showSelectSku = true; } function onBuy(sku) { sheep_index.sheep.$router.go("/modules/mall/order/confirm", { data: JSON.stringify({ order_type: "goods", combinationActivityId: state.activity.id, combinationHeadId: state.combinationHeadId, items: [ { skuId: sku.id, count: sku.count } ] }) }); } const shareInfo = common_vendor.computed(() => { if (common_vendor.isEmpty(state.activity)) return {}; return sheep_index.sheep.$platform.share.getShareInfo( { title: state.activity.name, image: sheep_index.sheep.$url.cdn(state.goodsInfo.picUrl), params: { page: "3", query: state.activity.id } }, { type: "goods", // 商品海报 title: state.activity.name, // 商品标题 image: sheep_index.sheep.$url.cdn(state.goodsInfo.picUrl), // 商品主图 price: sheep_hooks_useGoods.fen2yuan(state.goodsInfo.price), // 商品价格 marketPrice: sheep_hooks_useGoods.fen2yuan(state.goodsInfo.marketPrice) // 商品原价 } ); }); common_vendor.onLoad((options) => __async(this, null, function* () { if (!options.id) { state.goodsInfo = null; return; } state.grouponId = options.id; const { code, data: activity } = yield sheep_api_promotion_combination.CombinationApi.getCombinationActivity(state.grouponId); state.activity = activity; const { data: spu } = yield sheep_api_product_spu.SpuApi.getSpuDetail(activity.spuId); state.goodsId = spu.id; activity.products.forEach((product) => { spu.price = Math.min(spu.price, product.combinationPrice); }); spu.skus.forEach((sku) => { const product = activity.products.find((product2) => product2.skuId === sku.id); if (product) { sku.price = product.combinationPrice; } else { sku.stock = 0; } }); state.skeletonLoading = false; if (code === 0) { state.goodsInfo = spu; state.grouponNum = activity.userSize; state.goodsSwiper = sheep_hooks_useGoods.formatGoodsSwiper(state.goodsInfo.sliderPicUrls); } else { state.goodsInfo = null; } })); return (_ctx, _cache) => { return common_vendor.e({ a: state.skeletonLoading }, state.skeletonLoading ? {} : state.goodsInfo === null || state.activity.status !== 0 || state.activity.endTime < (/* @__PURE__ */ new Date()).getTime() ? { c: common_vendor.o(($event) => common_vendor.unref(sheep_index.sheep).$router.back()), d: common_vendor.p({ text: "活动不存在或已结束", icon: "/static/soldout-empty.png", showAction: true, actionText: "返回上一页" }) } : common_vendor.e({ e: common_vendor.p({ isPreview: true, list: state.goodsSwiper, dotStyle: "tag", imageMode: "widthFix", dotCur: "bg-mask-40", seizeHeight: 750 }), f: common_vendor.t(common_vendor.unref(sheep_hooks_useGoods.fen2yuan)(state.activity.price || state.goodsInfo.price)), g: common_vendor.unref(sheep_index.sheep).$url.static("/static/img/shop/goods/groupon-tag.png"), h: state.goodsInfo.price }, state.goodsInfo.price ? { i: common_vendor.t(common_vendor.unref(sheep_hooks_useGoods.fen2yuan)(state.goodsInfo.price)) } : {}, { j: endTime.value.ms > 0 }, endTime.value.ms > 0 ? { k: common_vendor.t(endTime.value.h), l: common_vendor.t(endTime.value.m), m: common_vendor.t(endTime.value.s) } : {}, { n: common_vendor.t(state.goodsInfo.name), o: common_vendor.t(state.goodsInfo.introduction), p: common_vendor.o(($event) => state.showSelectSku = true), q: common_vendor.p({ sku: state.selectedSku }), r: common_vendor.o(onJoinGroupon), s: common_vendor.o(($event) => state.activity = $event), t: common_vendor.p({ modelValue: state.activity }), v: common_vendor.o(onBuy), w: common_vendor.o(onSkuChange), x: common_vendor.o(onSkuClose), y: common_vendor.p({ show: state.showSelectSku, goodsInfo: state.goodsInfo, selectedSku: state.selectedSku, grouponAction: state.grouponAction, grouponNum: state.grouponNum }), z: common_vendor.p({ goodsId: state.goodsId }), A: common_vendor.p({ content: state.goodsInfo.description }), B: common_vendor.t(common_vendor.unref(sheep_hooks_useGoods.fen2yuan)(state.goodsInfo.marketPrice)), C: common_vendor.o(($event) => common_vendor.unref(sheep_index.sheep).$router.go("/modules/mall/goods/index", { id: state.goodsInfo.id })), D: common_vendor.t(common_vendor.unref(sheep_hooks_useGoods.fen2yuan)(state.selectedSku.price * state.selectedSku.count || state.activity.price * state.selectedSku.count || state.goodsInfo.price * state.selectedSku.count || state.goodsInfo.price)), E: state.activity.startTime > (/* @__PURE__ */ new Date()).getTime() }, state.activity.startTime > (/* @__PURE__ */ new Date()).getTime() ? {} : state.activity.endTime <= (/* @__PURE__ */ new Date()).getTime() ? {} : common_vendor.e({ G: state.goodsInfo.stock === 0 }, state.goodsInfo.stock === 0 ? {} : {}), { F: state.activity.endTime <= (/* @__PURE__ */ new Date()).getTime(), H: common_vendor.o(onCreateGroupon), I: common_vendor.n(state.activity.status === 0 && state.goodsInfo.stock !== 0 ? "check-btn-box" : "disabled-btn-box"), J: state.goodsInfo.stock === 0 || state.activity.status !== 0, K: common_vendor.o(($event) => state.goodsInfo = $event), L: common_vendor.p({ modelValue: state.goodsInfo }) }), { b: state.goodsInfo === null || state.activity.status !== 0 || state.activity.endTime < (/* @__PURE__ */ new Date()).getTime(), M: common_vendor.p({ onShareAppMessage: shareInfo.value, navbar: "goods" }), N: common_vendor.s(_ctx.__cssVars()) }); }; } }; const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-619ff406"]]); _sfc_main.__runtimeHooks = 3; wx.createPage(MiniProgramPage); //# sourceMappingURL=groupon.js.map