1 |
- import{y as e,c as s,W as o,X as t,l,m as a,e as d,f as n,w as u,j as c,t as r,u as i,v as f,g as p,C as g,k as m,F as y,r as k,B as _,s as b,x as I,i as h,E as x,G as S,Y as w,S as v,Z as P,d as C,o as j,p as T,Q as A,q as M,a0 as V}from"./index-a0c79ae7.js";import{_ as $}from"./s-empty.face1b49.js";import{_ as F}from"./su-swiper.df429999.js";import{_ as U}from"./su-number-box.4dd38b27.js";import{_ as E}from"./phone-international-input.98e38fd1.js";import{_ as O}from"./points.c381a8e1.js";import{c as L,f as B,d as G,S as q,e as D,_ as z}from"./s-layout.fd6ec616.js";import{_ as H}from"./_plugin-vue_export-helper.1b428a4d.js";import{F as J}from"./favorite.91f238f0.js";import{d as N,a as Q,_ as W,b as X,c as Y,e as Z}from"./detail-content-card.ee38fd64.js";import{S as K}from"./spu.5286ecb7.js";/* empty css */import"./comment-item.df32ff98.js";import"./uni-rate.be431720.js";import"./su-image.8ff1a2f0.js";import"./mp-html.061ec6fc.js";const R=H({__name:"s-select-sku",props:{goodsInfo:{type:Object,default(){}},show:{type:Boolean,default:!1}},emits:["change","addCart","buy","close"],setup(P,{emit:C}){const j=C,T=P,A=e({selectedSku:{},currentPropertyArray:[]}),M=L(T.goodsInfo.skus),V=s((()=>{let e=T.goodsInfo.skus;for(let s of e)s.value_id_array=s.properties.map((e=>e.valueId));return e}));function $(){A.selectedSku.id<=0?b.$helper.toast("请选择规格"):A.selectedSku.stock<=0?b.$helper.toast("库存不足"):j("addCart",A.selectedSku)}function F(){console.log(),A.selectedSku.goods_num<1||!A.selectedSku.use_points?b.$helper.toast("输入金额少于可购买数量"):A.selectedSku.id<=0?b.$helper.toast("请选择规格"):A.selectedSku.stock<=0?b.$helper.toast("库存不足"):j("buy",A.selectedSku)}function q(e=!1,s=0,o=0){let t=[];if(e)for(let d of V.value)d.stock<=0||d.value_id_array.indexOf(o)>=0&&t.push(d);else t=D();let l=[];for(let d of t)l=l.concat(d.value_id_array);if(l=Array.from(new Set(l)),e){let e=l.indexOf(o);l.splice(e,1)}else A.currentPropertyArray.forEach((e=>{if(""!==e.toString())return;let s=l.indexOf(e);s>=0&&l.splice(s,1)}));let a=[];e?a=[s]:A.currentPropertyArray.forEach(((e,s)=>{""!==e&&a.push(s)}));for(let d in M)if(!(a.indexOf(M[d].id)>=0))for(let e in M[d].values)M[d].values[e].disabled=l.indexOf(M[d].values[e].id)<0}function D(){let e=[];for(let s of V.value){if(s.stock<=0)continue;let o=!0;A.currentPropertyArray.forEach((e=>{""!==e.toString()&&s.value_id_array.indexOf(e)<0&&(o=!1)})),o&&e.push(s)}return e}function z(e,s){let o=!0;void 0!==A.currentPropertyArray[e]&&A.currentPropertyArray[e]===s?(o=!1,A.currentPropertyArray.splice(e,1,"")):A.currentPropertyArray[e]=s;let t=[];A.currentPropertyArray.forEach((e=>{""!==e&&t.push(e)}));let l=D();t.length===M.length&&l.length?(l[0].goods_num=A.selectedSku.goods_num||1,A.selectedSku=l[0]):A.selectedSku={},q(o,e,s)}return o((()=>A.selectedSku),(e=>{e.use_points&&(console.log(e.use_points,B(A.selectedSku.price)),A.selectedSku.goods_num=parseInt(e.use_points/B(A.selectedSku.price))),j("change",e)}),{immediate:!0,deep:!0}),q(!1),t((()=>{1==M.length&&1==M[0].values.length&&z(0,0)})),(e,s)=>{const o=I,t=h,b=x,C=S,T=w,V=l(a("su-number-box"),U),L=v,q=l(a("su-popup"),E);return d(),n(q,{show:P.show,round:"10",onClose:s[4]||(s[4]=e=>j("close"))},{default:u((()=>[c(t,{class:"ss-modal-box bg-white ss-flex-col"},{default:u((()=>[c(t,{class:"modal-header ss-flex ss-col-center"},{default:u((()=>[c(t,{class:"header-left ss-m-r-30"},{default:u((()=>[c(o,{class:"sku-image",src:A.selectedSku.picUrl||P.goodsInfo.picUrl,mode:"aspectFill"},null,8,["src"])])),_:1}),c(t,{class:"header-right ss-flex-col ss-row-between ss-flex-1"},{default:u((()=>[c(t,{class:"goods-title ss-line-2"},{default:u((()=>[r(i(P.goodsInfo.name),1)])),_:1}),c(t,{class:"header-right-bottom ss-flex ss-col-center ss-row-between"},{default:u((()=>[c(t,{class:"ss-flex"},{default:u((()=>[c(t,{class:"price-text"},{default:u((()=>[2==P.goodsInfo.spuPayType?(d(),n(o,{key:0,src:O,style:{width:"30rpx",height:"30rpx"}})):(d(),n(b,{key:1},{default:u((()=>[r("¥")])),_:1})),r(" "+i(f(B)(A.selectedSku.price||P.goodsInfo.price)),1)])),_:1}),A.selectedSku.promotionFee>=0||P.goodsInfo.promotionFee>=0?(d(),n(t,{key:0,class:"origin-price-text ss-m-l-10"},{default:u((()=>[r(" 数字权益:"+i(f(B)(A.selectedSku.promotionFee||P.goodsInfo.promotionFee)),1)])),_:1})):p("",!0)])),_:1}),c(t,{class:"stock-text ss-m-l-20"},{default:u((()=>[r(i(f(G)("exact",A.selectedSku.stock||P.goodsInfo.stock)),1)])),_:1})])),_:1})])),_:1})])),_:1}),c(t,{class:"modal-content ss-flex-1"},{default:u((()=>[c(L,{"scroll-y":"true",class:"modal-content-scroll",onTouchmove:s[3]||(s[3]=g((()=>{}),["stop"]))},{default:u((()=>[(d(!0),m(y,null,k(f(M),(e=>(d(),n(t,{class:"sku-item ss-m-b-20",key:e.id},{default:u((()=>[c(t,{class:"label-text ss-m-b-20"},{default:u((()=>[r(i(e.name),1)])),_:2},1024),c(t,{class:"ss-flex ss-col-center ss-flex-wrap"},{default:u((()=>[(d(!0),m(y,null,k(e.values,(s=>(d(),n(C,{class:_(["ss-reset-button spec-btn",[{"ui-BG-Main-Gradient":A.currentPropertyArray[e.id]===s.id},{"disabled-btn":!0===s.disabled}]]),key:s.id,disabled:!0===s.disabled,onClick:o=>z(e.id,s.id)},{default:u((()=>[r(i(s.name),1)])),_:2},1032,["class","disabled","onClick"])))),128))])),_:2},1024)])),_:2},1024)))),128)),2==P.goodsInfo.spuPayType?(d(),n(t,{key:0,class:"buy-num-box ss-flex ss-col-center ss-row-between ss-m-b-40"},{default:u((()=>[c(t,{class:"label-text"},{default:u((()=>[r("购买金额")])),_:1}),c(t,{class:"ss-flex ss-col-center"},{default:u((()=>[2==P.goodsInfo.spuPayType?(d(),n(o,{key:0,src:O,style:{width:"30rpx",height:"30rpx"}})):p("",!0),c(T,{modelValue:A.selectedSku.use_points,"onUpdate:modelValue":s[0]||(s[0]=e=>A.selectedSku.use_points=e),modelModifiers:{number:!0},class:"uni-input input-points",style:{width:"100rpx","text-align":"center"},type:"number",placeholder:"0",oninput:"this.value=this.value.replace(/\\D/g);",disabled:!A.selectedSku.id},null,8,["modelValue","disabled"])])),_:1})])),_:1})):(d(),n(t,{key:1,class:"buy-num-box ss-flex ss-col-center ss-row-between ss-m-b-40"},{default:u((()=>[c(t,{class:"label-text"},{default:u((()=>[r("购买数量")])),_:1}),c(V,{min:1,max:A.selectedSku.stock,step:1,modelValue:A.selectedSku.goods_num,"onUpdate:modelValue":s[1]||(s[1]=e=>A.selectedSku.goods_num=e),onChange:s[2]||(s[2]=e=>{var s;0!==(s=e)&&A.selectedSku.goods_num!==s&&(A.selectedSku.goods_num=s)})},null,8,["max","modelValue"])])),_:1}))])),_:1})])),_:1}),c(t,{class:"modal-footer border-top"},{default:u((()=>[P.goodsInfo.spuType&&1==P.goodsInfo.spuPayType?(d(),n(t,{key:0,class:"buy-box ss-flex ss-col-center ss-flex ss-col-center ss-row-center"},{default:u((()=>[c(C,{class:"ss-reset-button add-btn ui-Shadow-Main",onClick:$},{default:u((()=>[r("加入购物车")])),_:1}),c(C,{class:"ss-reset-button buy-btn ui-Shadow-Main",onClick:F},{default:u((()=>[r("立即购买")])),_:1})])),_:1})):(d(),n(t,{key:1,class:"buy-box ss-flex ss-col-center ss-flex ss-col-center ss-row-center"},{default:u((()=>[c(C,{class:"ss-reset-button one-buy-btn ui-Shadow-Main",onClick:F},{default:u((()=>[r("立即购买")])),_:1})])),_:1}))])),_:1})])),_:1})])),_:1},8,["show"])}}},[["__scopeId","data-v-da30ac68"]]),ee=e=>P({url:"/promotion/activity/list-by-spu-id",method:"GET",params:{spuId:e}}),se=H({__name:"index",setup(t){C((()=>{}));const g=e({goodsId:0,skeletonLoading:!0,goodsInfo:{},showSelectSku:!1,selectedSku:{},showModel:!1,couponInfo:[],showActivityModel:!1,activityInfo:[],activityList:[],linkId:0});function _(e){g.selectedSku=e}function w(e){e.id?L.value?b.$store("cart").add(e):M():b.$helper.toast("请选择商品规格")}function v(e){g.selectedSku.id?b.$router.go("/pages/order/confirm",{data:JSON.stringify({items:[{skuId:e.id,count:e.goods_num}],spuType:g.goodsInfo.spuType,spuPayType:g.goodsInfo.spuPayType,deliveryType:1,pointStatus:!1})}):b.$helper.toast("请选择商品规格")}function P(){g.showActivityModel=!0}const U=s((()=>V.isEmpty(g.goodsInfo)?{}:b.$platform.share.getShareInfo({title:g.goodsInfo.name,image:b.$url.cdn(g.goodsInfo.image),desc:g.goodsInfo.subtitle,params:{page:"2"}},{type:"goods",title:g.goodsInfo.name,introduction:g.goodsInfo.introduction,image:b.$url.cdn(g.goodsInfo.picUrl),price:B(g.goodsInfo.price),original_price:B(g.goodsInfo.maretPrice)})));async function E(e){K.getSpuDetail(e).then((e=>{0===e.code&&e.data?(g.skeletonLoading=!1,g.goodsInfo=e.data,console.log(g.goodsInfo),L.value&&J.isFavoriteExists(g.goodsId,"goods").then((e=>{0===e.code&&(g.goodsInfo.favorite=e.data)}))):g.goodsInfo=null}))}const L=s((()=>b.$store("user").isLogin));return o((()=>L.value),(e=>{e&&E(g.goodsId)})),j((e=>{if(e.id||e.linkId){if(g.goodsId=e.id||0,!e.id&&e.linkId){console.log("如果只是没有spuId有linkId的话 要去linkId对应的spuId");const s=e.linkId.toString();q.getObjectIdByLinkId(s).then((e=>{0===e.code&&(g.goodsId=e.data,E(g.goodsId),async function(){q.getLinkId(3,g.goodsId).then((e=>{0===e.code&&(g.linkId=e.data.linkId)}))}())})),T("linkId",e.linkId)}else E(g.goodsId);ee(g.goodsId).then((e=>{0===e.code&&e.data.forEach((e=>{[1,2,3].includes(e.type)?g.activityList.push(e):5===e.type?g.activityInfo.push(e):console.log("待实现!优先级不高")}))}))}else g.goodsInfo=null})),(e,s)=>{const o=l(a("s-empty"),$),t=l(a("su-swiper"),F),b=I,C=x,j=h,T=l(a("s-select-sku"),R),M=S,V=l(a("s-layout"),z);return d(),n(j,null,{default:u((()=>[c(V,{onShareAppMessage:U.value,navbar:"goods"},{default:u((()=>[c(N,{modelValue:g.goodsInfo,"onUpdate:modelValue":s[0]||(s[0]=e=>g.goodsInfo=e)},null,8,["modelValue"]),g.skeletonLoading?(d(),n(Q,{key:0})):null===g.goodsInfo?(d(),n(o,{key:1,text:"商品不存在或已下架",icon:"/static/soldout-empty.png",showAction:"",actionText:"再逛逛",actionUrl:"/pages/goods/list"})):(d(),m(y,{key:2},[c(j,{class:"detail-swiper-selector"},{default:u((()=>[c(t,{class:"ss-m-b-14",isPreview:"",list:f(D)(g.goodsInfo.sliderPicUrls),otStyle:"tag",imageMode:"widthFix",dotCur:"bg-mask-40",seizeHeight:750},null,8,["list"]),c(j,{class:"title-card detail-card ss-p-y-40 ss-p-x-20"},{default:u((()=>[c(j,{class:"ss-flex ss-row-between ss-col-center ss-m-b-26"},{default:u((()=>[c(j,{class:"price-box ss-flex ss-col-center"},{default:u((()=>[c(j,{class:"price-text ss-m-r-16"},{default:u((()=>[2==g.goodsInfo.spuPayType?(d(),n(b,{key:0,src:O,style:{width:"40rpx",height:"40rpx"}})):(d(),n(C,{key:1},{default:u((()=>[r("¥")])),_:1})),r(" "+i(f(B)(g.selectedSku.price||g.goodsInfo.price)),1)])),_:1}),g.goodsInfo.promotionFee>=0?(d(),n(j,{key:0,class:"origin-price-text"},{default:u((()=>[r(" 数字权益:"+i(f(B)(g.selectedSku.promotionFee||g.goodsInfo.promotionFee)),1)])),_:1})):p("",!0)])),_:1}),c(j,{class:"sales-text"})])),_:1}),c(j,{class:"discounts-box ss-flex ss-row-between ss-m-b-28"},{default:u((()=>[A("div",{class:"tag-content"},[c(j,{class:"tag-box ss-flex"},{default:u((()=>[(d(!0),m(y,null,k(g.activityInfo,(e=>(d(),n(j,{class:"tag ss-m-r-10",key:e.id,onClick:P},{default:u((()=>[r(i(e.name),1)])),_:2},1024)))),128))])),_:1})]),g.couponInfo.length?(d(),n(j,{key:0,class:"get-coupon-box ss-flex ss-col-center ss-m-l-20",onClick:s[1]||(s[1]=e=>g.showModel=!0)},{default:u((()=>[c(j,{class:"discounts-title ss-m-r-8"},{default:u((()=>[r("领券")])),_:1}),c(C,{class:"cicon-forward"})])),_:1})):p("",!0)])),_:1}),c(j,{class:"title-text ss-line-2 ss-m-b-6"},{default:u((()=>[r(i(g.goodsInfo.name),1)])),_:1}),c(j,{class:"subtitle-text ss-line-1"},{default:u((()=>[r(i(g.goodsInfo.introduction),1)])),_:1})])),_:1}),c(j,{class:"detail-cell-card detail-card ss-flex-col"},{default:u((()=>[c(W,{modelValue:g.selectedSku.goods_sku_text,"onUpdate:modelValue":s[2]||(s[2]=e=>g.selectedSku.goods_sku_text=e),sku:g.selectedSku,onClick:s[3]||(s[3]=e=>g.showSelectSku=!0)},null,8,["modelValue","sku"])])),_:1}),c(T,{goodsInfo:g.goodsInfo,show:g.showSelectSku,onAddCart:w,onBuy:v,onChange:_,onClose:s[4]||(s[4]=e=>g.showSelectSku=!1)},null,8,["goodsInfo","show"])])),_:1}),c(X,{class:"detail-comment-selector",goodsId:g.goodsId},null,8,["goodsId"]),c(Y,{class:"detail-content-selector",content:g.goodsInfo.description},null,8,["content"]),c(Z,{modelValue:g.goodsInfo,"onUpdate:modelValue":s[9]||(s[9]=e=>g.goodsInfo=e)},{default:u((()=>[g.goodsInfo.stock>0&&g.goodsInfo.spuType&&1==g.goodsInfo.spuPayType?(d(),n(j,{key:0,class:"buy-box ss-flex ss-col-center ss-p-r-20"},{default:u((()=>[c(M,{class:"ss-reset-button add-btn ui-Shadow-Main",onClick:s[5]||(s[5]=e=>g.showSelectSku=!0)},{default:u((()=>[r(" 加入购物车 ")])),_:1}),c(M,{class:"ss-reset-button buy-btn ui-Shadow-Main",onClick:s[6]||(s[6]=e=>g.showSelectSku=!0)},{default:u((()=>[r(" 立即购买 ")])),_:1})])),_:1})):g.goodsInfo.stock>0&&!g.goodsInfo.spuType?(d(),n(j,{key:1,class:"buy-box ss-flex ss-col-center ss-p-r-20"},{default:u((()=>[c(M,{class:"ss-reset-button disabled-btn buy-btn ui-Shadow-Main",onClick:s[7]||(s[7]=e=>g.showSelectSku=!0)},{default:u((()=>[r(" 立即购买 ")])),_:1})])),_:1})):g.goodsInfo.stock>0&&1!=g.goodsInfo.spuPayType?(d(),n(j,{key:2,class:"buy-box ss-flex ss-col-center ss-p-r-20"},{default:u((()=>[c(M,{class:"ss-reset-button disabled-btn buy-btn ui-Shadow-Main",onClick:s[8]||(s[8]=e=>g.showSelectSku=!0)},{default:u((()=>[r(" 立即购买 ")])),_:1})])),_:1})):(d(),n(j,{key:3,class:"buy-box ss-flex ss-col-center ss-p-r-20"},{default:u((()=>[c(M,{class:"ss-reset-button disabled-btn",disabled:"",style:{background:"#999999"}},{default:u((()=>[r(" 已售罄 ")])),_:1})])),_:1}))])),_:1},8,["modelValue"])],64))])),_:1},8,["onShareAppMessage"])])),_:1})}}},[["__scopeId","data-v-1beb7393"]]);export{se as default};
|