1 |
- import{v as s,c as e,W as o,X as t,l,m as a,e as d,f as n,w as c,j as i,p as r,t as u,u as f,A as p,k as m,F as g,r as y,z as _,s as k,q as h,i as b,D as I,S as x,C as w,Y as v,B as S,g as C,d as j,o as A,R as V,Z as M,a0 as $,a1 as P,a2 as L}from"./index-637e17de.js";import{_ as O}from"./s-empty.85f37f1b.js";import{_ as E}from"./su-swiper.755cfd32.js";import{_ as T}from"./su-number-box.49e9c9da.js";import{d as U}from"./form.347bd53b.js";import{c as G,f as B,a as F,b as q,d as D,e as R}from"./useGoods.d1644931.js";import{_ as z}from"./_plugin-vue_export-helper.1b428a4d.js";import{_ as H}from"./s-coupon-list.d9680cba.js";import{R as J}from"./rewardActivity.9da4757d.js";import{a as N,_ as W}from"./s-layout.e5be7872.js";import{F as X}from"./favorite.b2d9ba14.js";import{d as Y,a as Z,_ as K,b as Q,c as ss,e as es}from"./detail-content-card.23771b16.js";import{S as os}from"./spu.cf0b0d5c.js";/* empty css */import"./comment-item.82e3ff27.js";import"./uni-rate.d95d44a7.js";import"./su-image.eec7cd6c.js";import"./mp-html.9760e4cf.js";const ts=z({__name:"s-select-sku",props:{goodsInfo:{type:Object,default(){}},show:{type:Boolean,default:!1}},emits:["change","addCart","buy","close"],setup(w,{emit:v}){const S=w,C=s({selectedSku:{},currentPropertyArray:[]}),j=G(S.goodsInfo.skus),A=e((()=>{let s=S.goodsInfo.skus;for(let e of s)e.value_id_array=e.properties.map((s=>s.valueId));return s}));function V(){C.selectedSku.id<=0?k.$helper.toast("请选择规格"):C.selectedSku.stock<=0?k.$helper.toast("库存不足"):v("addCart",C.selectedSku)}function M(){C.selectedSku.id<=0?k.$helper.toast("请选择规格"):C.selectedSku.stock<=0?k.$helper.toast("库存不足"):v("buy",C.selectedSku)}function $(s=!1,e=0,o=0){let t=[];if(s)for(let d of A.value)d.stock<=0||d.value_id_array.indexOf(o)>=0&&t.push(d);else t=P();let l=[];for(let d of t)l=l.concat(d.value_id_array);if(l=Array.from(new Set(l)),s){let s=l.indexOf(o);l.splice(s,1)}else C.currentPropertyArray.forEach((s=>{if(""!==s.toString())return;let e=l.indexOf(s);e>=0&&l.splice(e,1)}));let a=[];s?a=[e]:C.currentPropertyArray.forEach(((s,e)=>{""!==s&&a.push(e)}));for(let d in j)if(!(a.indexOf(j[d].id)>=0))for(let s in j[d].values)j[d].values[s].disabled=l.indexOf(j[d].values[s].id)<0}function P(){let s=[];for(let e of A.value){if(e.stock<=0)continue;let o=!0;C.currentPropertyArray.forEach((s=>{""!==s.toString()&&e.value_id_array.indexOf(s)<0&&(o=!1)})),o&&s.push(e)}return s}function L(s,e){let o=!0;void 0!==C.currentPropertyArray[s]&&C.currentPropertyArray[s]===e?(o=!1,C.currentPropertyArray.splice(s,1,"")):C.currentPropertyArray[s]=e;let t=[];C.currentPropertyArray.forEach((s=>{""!==s&&t.push(s)}));let l=P();t.length===j.length&&l.length?(l[0].goods_num=C.selectedSku.goods_num||1,C.selectedSku=l[0]):C.selectedSku={},$(o,s,e)}return o((()=>C.selectedSku),(s=>{v("change",s)}),{immediate:!0,deep:!0}),$(!1),t((()=>{1==j.length&&1==j[0].values.length&&L(0,0)})),(s,e)=>{const o=h,t=b,k=I,S=l(a("su-number-box"),T),A=x,$=l(a("su-popup"),U);return d(),n($,{show:w.show,round:"10",onClose:e[3]||(e[3]=s=>v("close"))},{default:c((()=>[i(t,{class:"ss-modal-box bg-white ss-flex-col"},{default:c((()=>[i(t,{class:"modal-header ss-flex ss-col-center"},{default:c((()=>[i(t,{class:"header-left ss-m-r-30"},{default:c((()=>[i(o,{class:"sku-image",src:C.selectedSku.picUrl||w.goodsInfo.picUrl,mode:"aspectFill"},null,8,["src"])])),_:1}),i(t,{class:"header-right ss-flex-col ss-row-between ss-flex-1"},{default:c((()=>[i(t,{class:"goods-title ss-line-2"},{default:c((()=>[r(u(w.goodsInfo.name),1)])),_:1}),i(t,{class:"header-right-bottom ss-flex ss-col-center ss-row-between"},{default:c((()=>[i(t,{class:"ss-flex"},{default:c((()=>[i(t,{class:"price-text"},{default:c((()=>[r(u(f(B)(C.selectedSku.price||w.goodsInfo.price)),1)])),_:1})])),_:1}),i(t,{class:"stock-text ss-m-l-20"},{default:c((()=>[r(u(f(F)("exact",C.selectedSku.stock||w.goodsInfo.stock)),1)])),_:1})])),_:1})])),_:1})])),_:1}),i(t,{class:"modal-content ss-flex-1"},{default:c((()=>[i(A,{"scroll-y":"true",class:"modal-content-scroll",onTouchmove:e[2]||(e[2]=p((()=>{}),["stop"]))},{default:c((()=>[(d(!0),m(g,null,y(f(j),(s=>(d(),n(t,{class:"sku-item ss-m-b-20",key:s.id},{default:c((()=>[i(t,{class:"label-text ss-m-b-20"},{default:c((()=>[r(u(s.name),1)])),_:2},1024),i(t,{class:"ss-flex ss-col-center ss-flex-wrap"},{default:c((()=>[(d(!0),m(g,null,y(s.values,(e=>(d(),n(k,{class:_(["ss-reset-button spec-btn",[{"ui-BG-Main-Gradient":C.currentPropertyArray[s.id]===e.id},{"disabled-btn":!0===e.disabled}]]),key:e.id,disabled:!0===e.disabled,onClick:o=>L(s.id,e.id)},{default:c((()=>[r(u(e.name),1)])),_:2},1032,["class","disabled","onClick"])))),128))])),_:2},1024)])),_:2},1024)))),128)),i(t,{class:"buy-num-box ss-flex ss-col-center ss-row-between ss-m-b-40"},{default:c((()=>[i(t,{class:"label-text"},{default:c((()=>[r("购买数量")])),_:1}),i(S,{min:1,max:C.selectedSku.stock,step:1,modelValue:C.selectedSku.goods_num,"onUpdate:modelValue":e[0]||(e[0]=s=>C.selectedSku.goods_num=s),onChange:e[1]||(e[1]=s=>{var e;0!==(e=s)&&C.selectedSku.goods_num!==e&&(C.selectedSku.goods_num=e)})},null,8,["max","modelValue"])])),_:1})])),_:1})])),_:1}),i(t,{class:"modal-footer border-top"},{default:c((()=>[i(t,{class:"buy-box ss-flex ss-col-center ss-flex ss-col-center ss-row-center"},{default:c((()=>[i(k,{class:"ss-reset-button add-btn ui-Shadow-Main",onClick:V},{default:c((()=>[r("加入购物车")])),_:1}),i(k,{class:"ss-reset-button buy-btn ui-Shadow-Main",onClick:M},{default:c((()=>[r("立即购买")])),_:1})])),_:1})])),_:1})])),_:1})])),_:1},8,["show"])}}},[["__scopeId","data-v-0b7e4c36"]]),ls=z({__name:"s-coupon-get",props:{modelValue:{type:Object,default(){}},show:{type:Boolean,default:!1}},emits:["get","close"],setup(o,{emit:t}){const f=o,k=s({couponInfo:e((()=>f.modelValue))});return(s,e)=>{const f=b,h=I,w=l(a("s-coupon-list"),H),v=x,S=l(a("su-popup"),U);return d(),n(S,{show:o.show,type:"bottom",round:"20",onClose:e[0]||(e[0]=s=>t("close")),showClose:"",backgroundColor:"#f2f2f2"},{default:c((()=>[i(f,{class:"model-box"},{default:c((()=>[i(f,{class:"title ss-m-t-16 ss-m-l-20 ss-flex"},{default:c((()=>[r("优惠券")])),_:1}),i(v,{class:"model-content","scroll-y":"","scroll-with-animation":!1,"enable-back-to-top":!0},{default:c((()=>[i(f,{class:"subtitle ss-m-l-20"},{default:c((()=>[r("可使用优惠券")])),_:1}),(d(!0),m(g,null,y(k.couponInfo,(s=>(d(),n(f,{key:s.id},{default:c((()=>[i(w,{data:s},{default:c((()=>[i(h,{class:_(["ss-reset-button card-btn ss-flex ss-row-center ss-col-center",s.canTake?"":"boder-btn"]),onClick:p((e=>{return o=s.id,void t("get",o);var o}),["stop"]),disabled:!s.canTake},{default:c((()=>[r(u(s.canTake?"立即领取":"已领取"),1)])),_:2},1032,["class","onClick","disabled"])])),_:2},1032,["data"])])),_:2},1024)))),128))])),_:1})])),_:1})])),_:1},8,["show"])}}},[["__scopeId","data-v-3a9aaf40"]]),as=z({__name:"s-activity-pop",props:{modelValue:{type:Object,default(){}},show:{type:Boolean,default:!1}},emits:["close"],setup(t,{emit:p}){const _=t,h=s({activityInfo:e((()=>_.modelValue)),activityMap:{}});return o((()=>_.show),(()=>{var s;_.show&&(null==(s=h.activityInfo)||s.forEach((s=>{J.getRewardActivity(s.id).then((e=>{0===e.code&&(h.activityMap[s.id]=e.data)}))})))})),(s,e)=>{const o=b,_=w,I=x,v=l(a("su-popup"),U);return d(),n(v,{show:t.show,type:"bottom",round:"20",onClose:e[0]||(e[0]=s=>p("close")),showClose:""},{default:c((()=>[i(o,{class:"model-box"},{default:c((()=>[i(o,{class:"title ss-m-t-16 ss-m-l-20 ss-flex"},{default:c((()=>[r("营销活动")])),_:1}),i(I,{class:"model-content ss-m-t-50","scroll-y":"","scroll-with-animation":!1,"enable-back-to-top":!0},{default:c((()=>[(d(!0),m(g,null,y(h.activityInfo,(s=>(d(),n(o,{key:s.id},{default:c((()=>[i(o,{class:"ss-flex ss-col-top ss-m-b-40",onClick:e=>{return o=s,void k.$router.go("/pages/activity/index",{activityId:o.id});var o}},{default:c((()=>[i(o,{class:"model-content-tag ss-flex ss-row-center"},{default:c((()=>[r("满减")])),_:1}),i(o,{class:"ss-m-l-20 model-content-title ss-flex-1"},{default:c((()=>{var e;return[(d(!0),m(g,null,y(null==(e=h.activityMap[s.id])?void 0:e.rules,(e=>(d(),n(o,{class:"ss-m-b-24",key:e},{default:c((()=>[r(u(f(q)(h.activityMap[s.id],e)),1)])),_:2},1024)))),128))]})),_:2},1024),i(_,{class:"cicon-forward"})])),_:2},1032,["onClick"])])),_:2},1024)))),128))])),_:1})])),_:1})])),_:1},8,["show"])}}},[["__scopeId","data-v-fdb00d48"]]),ds=s=>v({url:"/promotion/activity/list-by-spu-id",method:"GET",params:{spuId:s}}),ns=z({__name:"detail-activity-tip",props:{activityList:{type:Array,default:()=>[]}},setup(s){const e=s;S((s=>({"0f9834e5":f(o),"21dce2d8":f(t)})));const o=k.$url.css("/static/img/shop/goods/seckill-tip-bg.png"),t=k.$url.css("/static/img/shop/goods/groupon-tip-bg.png");return(s,o)=>{const t=h,p=b,x=I,w=l(a("su-fixed"),N);return d(),n(w,{bottom:"",placeholder:"",val:44},{default:c((()=>[i(p,null,{default:c((()=>[(d(!0),m(g,null,y(e.activityList,(s=>(d(),n(p,{key:s.id},{default:c((()=>[i(p,{class:_(["activity-box ss-p-x-38 ss-flex ss-row-between ss-col-center",1===s.type?"seckill-box":"groupon-box"])},{default:c((()=>[i(p,{class:"activity-title ss-flex"},{default:c((()=>[i(p,{class:"ss-m-r-16"},{default:c((()=>[1===s.type?(d(),n(t,{key:0,src:f(k).$url.static("/static/img/shop/goods/seckill-icon.png"),class:"activity-icon"},null,8,["src"])):3===s.type?(d(),n(t,{key:1,src:f(k).$url.static("/static/img/shop/goods/groupon-icon.png"),class:"activity-icon"},null,8,["src"])):C("",!0)])),_:2},1024),i(p,null,{default:c((()=>[r("该商品正在参与"+u(s.name)+"活动",1)])),_:2},1024)])),_:2},1024),i(x,{class:"ss-reset-button activity-go",onClick:e=>function(s){const e=s.type,o=1===e?"seckill":2===e?"TODO 拼团":"groupon";k.$router.go(`/pages/goods/${o}`,{id:s.id})}(s)},{default:c((()=>[r(" GO ")])),_:2},1032,["onClick"])])),_:2},1032,["class"])])),_:2},1024)))),128))])),_:1})])),_:1})}}},[["__scopeId","data-v-ed9697ba"]]),cs=(s,e)=>v({url:"/distri/share-link/getShareLink",method:"GET",params:{category:s,objectId:e},custom:{showLoading:!1,showError:!1}}),is=s=>v({url:"/distri/share-link/getObjectIdByLinkId",method:"GET",params:{linkId:s},custom:{showLoading:!1,showError:!1}}),rs=z({__name:"index",setup(o){j((()=>{}));const t=s({goodsId:0,skeletonLoading:!0,goodsInfo:{},showSelectSku:!1,selectedSku:{},showModel:!1,couponInfo:[],showActivityModel:!1,activityInfo:[],activityList:[],linkId:0});function p(s){t.selectedSku=s}function _(s){s.id?k.$store("cart").add(s):k.$helper.toast("请选择商品规格")}function h(s){t.selectedSku.id?k.$router.go("/pages/order/confirm",{data:JSON.stringify({items:[{skuId:s.id,count:s.goods_num}],deliveryType:1,pointStatus:!1})}):k.$helper.toast("请选择商品规格")}function x(){t.showActivityModel=!0}async function v(s){const{code:e}=await M.takeCoupon(s);0===e&&(P({title:"领取成功"}),setTimeout((()=>{T()}),1e3))}const S=e((()=>L.isEmpty(t.goodsInfo)?{}:k.$platform.share.getShareInfo({title:t.goodsInfo.name,image:k.$url.cdn(t.goodsInfo.image),desc:t.goodsInfo.subtitle,params:{page:"2",query:t.linkId}},{type:"goods",title:t.goodsInfo.name,image:k.$url.cdn(t.goodsInfo.picUrl),price:B(t.goodsInfo.price),original_price:B(t.goodsInfo.maretPrice)})));async function T(){const{code:s,data:e}=await M.getCouponTemplateList(t.goodsId,2,10);0===s&&(t.couponInfo=e)}async function U(s){os.getSpuDetail(s).then((s=>{0===s.code&&s.data?(t.skeletonLoading=!1,t.goodsInfo=s.data,X.isFavoriteExists(t.goodsId,"goods").then((s=>{0===s.code&&(t.goodsInfo.favorite=s.data)}))):t.goodsInfo=null}))}return A((s=>{if(console.log("options.id",s.id,"options.linkId",s.linkId),s.id||s.linkId){if(t.goodsId=s.id||0,!s.id&&s.linkId){const e=s.linkId.toString();is(e).then((s=>{0===s.code&&(t.goodsId=s.data,U(t.goodsId))})),V("linkId",s.linkId)}else U(t.goodsId);T(),ds(t.goodsId).then((s=>{0===s.code&&s.data.forEach((s=>{[1,2,3].includes(s.type)?t.activityList.push(s):5===s.type?t.activityInfo.push(s):console.log("待实现!优先级不高")}))})),async function(){cs(3,t.goodsId).then((s=>{0===s.code&&(t.linkId=s.data.linkId,console.log(t.linkId))}))}()}else t.goodsInfo=null})),(s,e)=>{const o=l(a("s-empty"),O),k=l(a("su-swiper"),E),j=b,A=w,V=l(a("s-select-sku"),ts),M=I,P=l(a("s-coupon-get"),ls),L=l(a("s-activity-pop"),as),T=l(a("s-layout"),W);return d(),n(j,null,{default:c((()=>[i(T,{onShareAppMessage:f(S),navbar:"goods"},{default:c((()=>[i(Y,{modelValue:t.goodsInfo,"onUpdate:modelValue":e[0]||(e[0]=s=>t.goodsInfo=s)},null,8,["modelValue"]),t.skeletonLoading?(d(),n(Z,{key:0})):null===t.goodsInfo?(d(),n(o,{key:1,text:"商品不存在或已下架",icon:"/static/soldout-empty.png",showAction:"",actionText:"再逛逛",actionUrl:"/pages/goods/list"})):(d(),m(g,{key:2},[i(j,{class:"detail-swiper-selector"},{default:c((()=>[i(k,{class:"ss-m-b-14",isPreview:"",list:f(D)(t.goodsInfo.sliderPicUrls),otStyle:"tag",imageMode:"widthFix",dotCur:"bg-mask-40",seizeHeight:750},null,8,["list"]),i(j,{class:"title-card detail-card ss-p-y-40 ss-p-x-20"},{default:c((()=>[i(j,{class:"ss-flex ss-row-between ss-col-center ss-m-b-26"},{default:c((()=>[i(j,{class:"price-box ss-flex ss-col-bottom"},{default:c((()=>[i(j,{class:"price-text ss-m-r-16"},{default:c((()=>[r(u(f(B)(t.selectedSku.price||t.goodsInfo.price)),1)])),_:1}),t.goodsInfo.marketPrice>0?(d(),n(j,{key:0,class:"origin-price-text"},{default:c((()=>[r(u(f(B)(t.selectedSku.marketPrice||t.goodsInfo.marketPrice)),1)])),_:1})):C("",!0)])),_:1}),i(j,{class:"sales-text"},{default:c((()=>[r(u(f(R)("exact",t.goodsInfo.salesCount)),1)])),_:1})])),_:1}),i(j,{class:"discounts-box ss-flex ss-row-between ss-m-b-28"},{default:c((()=>[$("div",{class:"tag-content"},[i(j,{class:"tag-box ss-flex"},{default:c((()=>[(d(!0),m(g,null,y(t.activityInfo,(s=>(d(),n(j,{class:"tag ss-m-r-10",key:s.id,onClick:x},{default:c((()=>[r(u(s.name),1)])),_:2},1024)))),128))])),_:1})]),t.couponInfo.length?(d(),n(j,{key:0,class:"get-coupon-box ss-flex ss-col-center ss-m-l-20",onClick:e[1]||(e[1]=s=>t.showModel=!0)},{default:c((()=>[i(j,{class:"discounts-title ss-m-r-8"},{default:c((()=>[r("领券")])),_:1}),i(A,{class:"cicon-forward"})])),_:1})):C("",!0)])),_:1}),i(j,{class:"title-text ss-line-2 ss-m-b-6"},{default:c((()=>[r(u(t.goodsInfo.name),1)])),_:1}),i(j,{class:"subtitle-text ss-line-1"},{default:c((()=>[r(u(t.goodsInfo.introduction),1)])),_:1})])),_:1}),i(j,{class:"detail-cell-card detail-card ss-flex-col"},{default:c((()=>[i(K,{modelValue:t.selectedSku.goods_sku_text,"onUpdate:modelValue":e[2]||(e[2]=s=>t.selectedSku.goods_sku_text=s),sku:t.selectedSku,onClick:e[3]||(e[3]=s=>t.showSelectSku=!0)},null,8,["modelValue","sku"])])),_:1}),i(V,{goodsInfo:t.goodsInfo,show:t.showSelectSku,onAddCart:_,onBuy:h,onChange:p,onClose:e[4]||(e[4]=s=>t.showSelectSku=!1)},null,8,["goodsInfo","show"])])),_:1}),i(Q,{class:"detail-comment-selector",goodsId:t.goodsId},null,8,["goodsId"]),i(ss,{class:"detail-content-selector",content:t.goodsInfo.description},null,8,["content"]),t.activityList.length>0?(d(),n(ns,{key:0,"activity-list":t.activityList},null,8,["activity-list"])):C("",!0),i(es,{modelValue:t.goodsInfo,"onUpdate:modelValue":e[7]||(e[7]=s=>t.goodsInfo=s)},{default:c((()=>[t.goodsInfo.stock>0?(d(),n(j,{key:0,class:"buy-box ss-flex ss-col-center ss-p-r-20"},{default:c((()=>[i(M,{class:"ss-reset-button add-btn ui-Shadow-Main",onClick:e[5]||(e[5]=s=>t.showSelectSku=!0)},{default:c((()=>[r(" 加入购物车 ")])),_:1}),i(M,{class:"ss-reset-button buy-btn ui-Shadow-Main",onClick:e[6]||(e[6]=s=>t.showSelectSku=!0)},{default:c((()=>[r(" 立即购买 ")])),_:1})])),_:1})):(d(),n(j,{key:1,class:"buy-box ss-flex ss-col-center ss-p-r-20"},{default:c((()=>[i(M,{class:"ss-reset-button disabled-btn",disabled:""},{default:c((()=>[r(" 已售罄 ")])),_:1})])),_:1}))])),_:1},8,["modelValue"]),i(P,{modelValue:t.couponInfo,"onUpdate:modelValue":e[8]||(e[8]=s=>t.couponInfo=s),show:t.showModel,onClose:e[9]||(e[9]=s=>t.showModel=!1),onGet:v},null,8,["modelValue","show"]),i(L,{modelValue:t.activityInfo,"onUpdate:modelValue":e[10]||(e[10]=s=>t.activityInfo=s),show:t.showActivityModel,onClose:e[11]||(e[11]=s=>t.showActivityModel=!1)},null,8,["modelValue","show"])],64))])),_:1},8,["onShareAppMessage"])])),_:1})}}},[["__scopeId","data-v-2c616402"]]);export{rs as default};
|