1 |
- import{_ as e}from"./s-empty.C0MT77gG.js";import{v as s,c as t,a2 as l,a as o,b as a,e as c,d as n,w as i,f as r,u,s as d,g as f,j as p,x as m,F as g,y as _,L as k,a9 as y,k as b,i as x,l as v,O as h,K as w,n as I,M as S,C,r as j,o as P,ad as A,S as L,z as T}from"./index-DNuNVpwk.js";import{_ as $}from"./su-swiper.iJtkIP10.js";import{_ as V}from"./su-number-box.BCy2XPSn.js";import{_ as E}from"./phone-international-input.vue_vue_type_style_index_0_scoped_a793e264_lang.CZSqjCi7.js";import{c as O,f as U,u as M,d as D}from"./useGoods.CrGbmvFq.js";import{_ as N}from"./_plugin-vue_export-helper.BCo6x5W8.js";import{_ as R}from"./s-layout.D9p6eCz-.js";import{d as z,a as B,_ as F,b as q,c as H,e as K}from"./detail-content-card.2_tsm4_a.js";import{g as G,T as J}from"./const.BZ3OfWoD.js";/* empty css */import"./mp-html.vue_vue_type_style_index_0_scoped_b0aa647f_lang.DLRgampy.js";import"./uni-icons.BwI1_kKT.js";import"./s-menu-tools.CEs7fo1o.js";import"./s-search-block.vue_vue_type_style_index_0_scoped_f692e81a_lang.nx0iNK_l.js";import"./s-layout.vue_vue_type_style_index_0_scoped_d5f7c468_lang.C_5j2fBR.js";import"./s-search-block.DtORRFbA.js";import"./phone-international-input.CCPqViBY.js";import"./comment-item.C7_aR10q.js";import"./uni-rate.JtjgaZvN.js";import"./su-image.CEWkxdrE.js";import"./mp-html.0mPGjy4W.js";const Q=N({__name:"s-select-seckill-sku",props:{modelValue:{type:Object,default(){}},show:{type:Boolean,default:!1},singleLimitCount:{type:Number,default:1}},emits:["change","addCart","buy","close"],setup(e,{emit:I}){const S=I,C=e,j=s({goodsInfo:t((()=>C.modelValue)),selectedSku:{},currentPropertyArray:[]}),P=O(j.goodsInfo.skus),A=t((()=>{let e=j.goodsInfo.skus;for(let s of e)s.value_id_array=s.properties.map((e=>e.valueId));return e}));j.goodsInfo.is_sku||(j.selectedSku=j.goodsInfo.skus[0]),l((()=>j.selectedSku),(e=>{S("change",e)}),{immediate:!0,deep:!0});const L=()=>{j.selectedSku.id?j.selectedSku.stock<=0?d.$helper.toast("库存不足"):S("buy",j.selectedSku):d.$helper.toast("请选择规格")};const T=(e=!1,s=0,t=0)=>{let l=[];if(e)for(let c of A.value)c.stock<=0||c.value_id_array.indexOf(t)>=0&&l.push(c);else l=$();let o=[];for(let c of l)o=o.concat(c.value_id_array);if(o=Array.from(new Set(o)),e){let e=o.indexOf(t);o.splice(e,1)}else j.currentPropertyArray.forEach((e=>{if(""!==e.toString())return;let s=o.indexOf(e);s>=0&&o.splice(s,1)}));let a=[];e?a=[s]:j.currentPropertyArray.forEach(((e,s)=>{""!==e&&a.push(s)}));for(let c in P)if(!(a.indexOf(P[c].id)>=0))for(let e in P[c].values)P[c].values[e].disabled=o.indexOf(P[c].values[e].id)<0},$=()=>{let e=[];for(let s of A.value){if(s.stock<=0)continue;let t=!0;j.currentPropertyArray.forEach((e=>{""!==e.toString()&&s.value_id_array.indexOf(e)<0&&(t=!1)})),t&&e.push(s)}return e};return T(!1),(s,t)=>{const l=b,I=x,C=v,A=h,O=o(a("su-number-box"),V),M=w,D=o(a("su-popup"),E);return c(),n(D,{show:e.show,round:"10",onClose:t[2]||(t[2]=e=>S("close"))},{default:i((()=>[r(I,{class:"ss-modal-box bg-white ss-flex-col"},{default:i((()=>[r(I,{class:"modal-header ss-flex ss-col-center"},{default:i((()=>[r(I,{class:"header-left ss-m-r-30"},{default:i((()=>[r(l,{class:"sku-image",src:u(d).$url.cdn(j.selectedSku.picUrl||j.goodsInfo.picUrl),mode:"aspectFill"},null,8,["src"])])),_:1}),r(I,{class:"header-right ss-flex-col ss-row-between ss-flex-1"},{default:i((()=>[r(I,{class:"goods-title ss-line-2"},{default:i((()=>[f(p(j.goodsInfo.name),1)])),_:1}),r(I,{class:"header-right-bottom ss-flex ss-col-center ss-row-between"},{default:i((()=>[r(I,{class:"price-text"},{default:i((()=>[f(p(u(U)(j.selectedSku.price||j.goodsInfo.price)),1)])),_:1}),r(I,{class:"tig ss-flex ss-col-center"},{default:i((()=>[r(I,{class:"tig-icon ss-flex ss-col-center ss-row-center"},{default:i((()=>[r(C,{class:"cicon-alarm"})])),_:1}),r(I,{class:"tig-title"},{default:i((()=>[f("秒杀价")])),_:1})])),_:1}),r(I,{class:"stock-text ss-m-l-20"},{default:i((()=>[f(" 库存"+p(j.selectedSku.stock||j.goodsInfo.stock)+"件 ",1)])),_:1})])),_:1})])),_:1})])),_:1}),r(I,{class:"modal-content ss-flex-1"},{default:i((()=>[r(M,{"scroll-y":"true",class:"modal-content-scroll"},{default:i((()=>[(c(!0),m(g,null,_(u(P),(e=>(c(),n(I,{class:"sku-item ss-m-b-20",key:e.id},{default:i((()=>[r(I,{class:"label-text ss-m-b-20"},{default:i((()=>[f(p(e.name),1)])),_:2},1024),r(I,{class:"ss-flex ss-col-center ss-flex-wrap"},{default:i((()=>[(c(!0),m(g,null,_(e.values,(s=>(c(),n(A,{class:k(["ss-reset-button spec-btn",[{"checked-btn":j.currentPropertyArray[e.id]===s.id},{"disabled-btn":!0===s.disabled}]]),key:s.id,disabled:!0===s.disabled,onClick:t=>((e,s)=>{let t=!0;void 0!==j.currentPropertyArray[e]&&j.currentPropertyArray[e]===s?(t=!1,j.currentPropertyArray.splice(e,1,"")):j.currentPropertyArray[e]=s;let l=[];j.currentPropertyArray.forEach((e=>{""!==e&&l.push(e)}));let o=$();l.length===P.length&&o.length?(o[0].count=j.selectedSku.count||1,j.selectedSku=o[0]):j.selectedSku={},T(t,e,s)})(e.id,s.id)},{default:i((()=>[f(p(s.name),1)])),_:2},1032,["class","disabled","onClick"])))),128))])),_:2},1024)])),_:2},1024)))),128)),r(I,{class:"buy-num-box ss-flex ss-col-center ss-row-between"},{default:i((()=>[r(I,{class:"label-text"},{default:i((()=>[f("购买数量")])),_:1}),r(O,{min:1,max:u(y.min)([e.singleLimitCount,j.selectedSku.stock]),step:1,modelValue:j.selectedSku.count,"onUpdate:modelValue":t[0]||(t[0]=e=>j.selectedSku.count=e),onChange:t[1]||(t[1]=e=>{var s;(s=e)>0&&j.selectedSku.count!==s&&(j.selectedSku.count=s)}),activity:"seckill"},null,8,["max","modelValue"])])),_:1})])),_:1})])),_:1}),r(I,{class:"modal-footer"},{default:i((()=>[r(I,{class:"buy-box ss-flex ss-col-center ss-flex ss-col-center ss-row-center"},{default:i((()=>[r(A,{class:"ss-reset-button buy-btn",onClick:L},{default:i((()=>[f("确认")])),_:1})])),_:1})])),_:1})])),_:1})])),_:1},8,["show"])}}},[["__scopeId","data-v-3ffbffbc"]]),W=N({__name:"detail-progress",props:{percent:{type:Number,default:0}},setup:e=>(s,t)=>{const l=x;return c(),n(l,{class:"ss-flex ss-col-center"},{default:i((()=>[r(l,{class:"progress-title ss-m-r-10"},{default:i((()=>[f(" 已抢"+p(e.percent)+"% ",1)])),_:1}),r(l,{class:"progress-box ss-flex ss-col-center"},{default:i((()=>[r(l,{class:"progerss-active",style:I({width:e.percent<10?"10%":e.percent+"%"})},null,8,["style"])])),_:1})])),_:1})}},[["__scopeId","data-v-71021f3c"]]),X=N({__name:"seckill",setup(l){S((e=>({"2ff21ade":u(_),"06cbf015":u(b),"4397420e":u(w),b992b3b0:u(I),faa00052:u(V)})));const _=d.$url.css("/static/img/shop/goods/seckill-bg.png"),b=d.$url.css("/static/img/shop/goods/seckill-btn.png"),w=d.$url.css("/static/img/shop/goods/activity-btn-disabled.png"),I=d.$url.css("/static/img/shop/goods/seckill-tip-bg.png"),V=d.$url.css("/static/img/shop/goods/groupon-tip-bg.png");C((()=>{}));const E=s({skeletonLoading:!0,goodsInfo:{},showSelectSku:!1,goodsSwiper:[],selectedSku:{},showModel:!1,total:0,percent:0,price:""}),O=t((()=>M(Z.value.endTime)));function N(e){E.selectedSku=e}function X(e){d.$router.go("/pages/order/confirm",{data:JSON.stringify({order_type:"goods",buy_type:"seckill",seckillActivityId:Z.value.id,items:[{skuId:e.id,count:e.count}]})})}const Y=t((()=>y.isEmpty(Z)?{}:d.$platform.share.getShareInfo({title:Z.value.name,image:d.$url.cdn(E.goodsInfo.picUrl),params:{page:"4",query:Z.value.id}},{type:"goods",title:Z.value.name,image:d.$url.cdn(E.goodsInfo.picUrl),price:E.goodsInfo.price,marketPrice:E.goodsInfo.marketPrice}))),Z=j(),ee=j(""),se=async e=>{const{data:s}=await L.getSpuDetail(e);s.activity_type="seckill",E.goodsInfo=s,E.goodsSwiper=D(E.goodsInfo.sliderPicUrls),E.goodsInfo.price=y.min([E.goodsInfo.price,...Z.value.products.map((e=>e.seckillPrice))]),s.skus.forEach((e=>{const s=Z.value.products.find((s=>s.skuId===e.id));s?(e.price=s.seckillPrice,e.stock=Math.min(e.stock,s.stock)):e.stock=0,Z.value.totalLimitCount>0&&Z.value.singleLimitCount>0?e.limitCount=Math.min(Z.value.totalLimitCount,Z.value.singleLimitCount):Z.value.totalLimitCount>0?e.limitCount=Z.value.totalLimitCount:Z.value.singleLimitCount>0&&(e.limitCount=Z.value.singleLimitCount)})),E.skeletonLoading=!1};return P((e=>{e.id?(async e=>{const{data:s}=await A.getSeckillActivity(e);Z.value=s,ee.value=G(Z.startTime,Z.endTime),await se(s.spuId)})(e.id):E.goodsInfo=null})),(s,t)=>{const l=o(a("s-empty"),e),_=o(a("su-swiper"),$),y=x,b=v,w=o(a("s-select-seckill-sku"),Q),I=h,S=o(a("s-layout"),R);return c(),n(S,{onShareAppMessage:Y.value,navbar:"goods"},{default:i((()=>[r(z),E.skeletonLoading?(c(),n(B,{key:0})):null===E.goodsInfo||"seckill"!==E.goodsInfo.activity_type?(c(),n(l,{key:1,text:"活动不存在或已结束",icon:"/static/soldout-empty.png",showAction:"",actionText:"再逛逛",actionUrl:"/pages/goods/list"})):(c(),m(g,{key:2},[r(y,{class:"detail-swiper-selector"},{default:i((()=>[r(_,{class:"ss-m-b-14",isPreview:"",list:E.goodsSwiper,dotStyle:"tag",imageMode:"widthFix",dotCur:"bg-mask-40",seizeHeight:750},null,8,["list"]),r(y,{class:"title-card ss-m-y-14 ss-m-x-20 ss-p-x-20 ss-p-y-34"},{default:i((()=>[r(y,{class:"price-box ss-flex ss-row-between ss-m-b-18"},{default:i((()=>[r(y,{class:"ss-flex"},{default:i((()=>[r(y,{class:"price-text ss-m-r-16"},{default:i((()=>[f(p(u(U)(E.selectedSku.price||E.goodsInfo.price)),1)])),_:1}),r(y,{class:"tig ss-flex ss-col-center"},{default:i((()=>[r(y,{class:"tig-icon ss-flex ss-col-center ss-row-center"},{default:i((()=>[r(b,{class:"cicon-alarm"})])),_:1}),r(y,{class:"tig-title"},{default:i((()=>[f("秒杀价")])),_:1})])),_:1})])),_:1}),O.value.ms>0?(c(),n(y,{key:0,class:"countdown-box"},{default:i((()=>[r(y,{class:"countdown-title ss-m-b-20"},{default:i((()=>[f("距结束仅剩")])),_:1}),r(y,{class:"ss-flex countdown-time"},{default:i((()=>[r(y,{class:"ss-flex countdown-h"},{default:i((()=>[f(p(O.value.h),1)])),_:1}),r(y,{class:"ss-m-x-4"},{default:i((()=>[f(":")])),_:1}),r(y,{class:"countdown-num ss-flex ss-row-center"},{default:i((()=>[f(p(O.value.m),1)])),_:1}),r(y,{class:"ss-m-x-4"},{default:i((()=>[f(":")])),_:1}),r(y,{class:"countdown-num ss-flex ss-row-center"},{default:i((()=>[f(p(O.value.s),1)])),_:1})])),_:1})])),_:1})):(c(),n(y,{key:1,class:"countdown-title"},{default:i((()=>[f(" 活动已结束 ")])),_:1}))])),_:1}),r(y,{class:"ss-flex ss-row-between ss-m-b-60"},{default:i((()=>[E.goodsInfo.marketPrice?(c(),n(y,{key:0,class:"origin-price ss-flex ss-col-center"},{default:i((()=>[f(" 原价 "),r(y,{class:"origin-price-text"},{default:i((()=>[f(p(u(U)(E.selectedSku.marketPrice||E.goodsInfo.marketPrice)),1)])),_:1})])),_:1})):T("",!0),r(W,{percent:E.percent},null,8,["percent"])])),_:1}),r(y,{class:"title-text ss-line-2 ss-m-b-6"},{default:i((()=>{var e;return[f(p(null==(e=E.goodsInfo)?void 0:e.name),1)]})),_:1}),r(y,{class:"subtitle-text ss-line-1"},{default:i((()=>[f(p(E.goodsInfo.introduction),1)])),_:1})])),_:1}),r(y,{class:"detail-cell-card detail-card ss-flex-col"},{default:i((()=>[r(F,{sku:E.selectedSku,onClick:t[0]||(t[0]=e=>E.showSelectSku=!0)},null,8,["sku"])])),_:1}),r(w,{modelValue:E.goodsInfo,"onUpdate:modelValue":t[1]||(t[1]=e=>E.goodsInfo=e),show:E.showSelectSku,"single-limit-count":Z.value.singleLimitCount,onBuy:X,onChange:N,onClose:t[2]||(t[2]=e=>E.showSelectSku=!1)},null,8,["modelValue","show","single-limit-count"])])),_:1}),r(q,{class:"detail-comment-selector",goodsId:E.goodsInfo.id},null,8,["goodsId"]),r(H,{class:"detail-content-selector",content:E.goodsInfo.description},null,8,["content"]),r(K,{modelValue:E.goodsInfo,"onUpdate:modelValue":t[5]||(t[5]=e=>E.goodsInfo=e)},{default:i((()=>[r(y,{class:"buy-box ss-flex ss-col-center ss-p-r-20"},{default:i((()=>[E.goodsInfo.marketPrice?(c(),n(I,{key:0,class:"ss-reset-button origin-price-btn ss-flex-col",onClick:t[3]||(t[3]=e=>u(d).$router.go("/pages/goods/index",{id:E.goodsInfo.id}))},{default:i((()=>[r(y,null,{default:i((()=>[r(y,{class:"btn-price"},{default:i((()=>[f(p(u(U)(E.goodsInfo.marketPrice)),1)])),_:1}),r(y,null,{default:i((()=>[f("原价购买")])),_:1})])),_:1})])),_:1})):(c(),n(I,{key:1,class:"ss-reset-button origin-price-btn ss-flex-col"},{default:i((()=>[r(y,{class:k(["no-original",(0===E.goodsInfo.stock||(ee.value,u(J).STARTED),"")])},{default:i((()=>[f(" 秒杀价 ")])),_:1},8,["class"])])),_:1})),r(I,{class:k(["ss-reset-button btn-box ss-flex-col",ee.value===u(J).STARTED&&0!=E.goodsInfo.stock?"check-btn-box":"disabled-btn-box"]),onClick:t[4]||(t[4]=e=>E.showSelectSku=!0),disabled:0===E.goodsInfo.stock||ee.value!==u(J).STARTED},{default:i((()=>[r(y,{class:"btn-price"},{default:i((()=>[f(p(u(U)(E.goodsInfo.price)),1)])),_:1}),ee.value===u(J).STARTED?(c(),n(y,{key:0},{default:i((()=>[0===E.goodsInfo.stock?(c(),n(y,{key:0},{default:i((()=>[f("已售罄")])),_:1})):(c(),n(y,{key:1},{default:i((()=>[f("立即秒杀")])),_:1}))])),_:1})):(c(),n(y,{key:1},{default:i((()=>[f(p(ee.value),1)])),_:1}))])),_:1},8,["class","disabled"])])),_:1})])),_:1},8,["modelValue"])],64))])),_:1},8,["onShareAppMessage"])}}},[["__scopeId","data-v-49a87551"]]);export{X as default};
|