1 |
- import{c as e,s,v as o,a2 as t,a3 as l,a,b as n,e as d,d as c,w as u,f as i,g as r,j as p,z as f,u as _,N as m,x as g,F as k,y,L as h,a4 as I,a5 as b,t as S,k as x,i as w,l as v,O as P,a6 as $,K as j,C as T,o as C,a7 as A,H as V,a8 as F,a9 as O,S as M,aa as L,ab as U,I as E}from"./index-DNuNVpwk.js";import{_ as D}from"./s-empty.C0MT77gG.js";import{_ as B}from"./su-swiper.iJtkIP10.js";import{_ as Q}from"./su-number-box.BCy2XPSn.js";import{_ as q}from"./phone-international-input.vue_vue_type_style_index_0_scoped_a793e264_lang.CZSqjCi7.js";import{_ as z}from"./points.DDTOnulC.js";import{c as G,a as H,f as J,b as K,p as N,d as W,e as X}from"./useGoods.CrGbmvFq.js";import{_ as R}from"./_plugin-vue_export-helper.BCo6x5W8.js";import{_ as Y}from"./s-layout.D9p6eCz-.js";import{d as Z,a as ee,_ as se,b as oe,c as te,e as le}from"./detail-content-card.2_tsm4_a.js";import"./s-layout.vue_vue_type_style_index_0_scoped_d5f7c468_lang.C_5j2fBR.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-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 ae=R({__name:"s-select-sku",props:{goodsInfo:{type:Object,default(){}},show:{type:Boolean,default:!1}},emits:["change","addCart","buy","close"],setup(T,{emit:C}){const A=C,V=T,F=e((()=>s.$store("user").userWallet)),O=o({selectedSku:{},currentPropertyArray:[]}),M=G(V.goodsInfo.skus),L=e((()=>{let e=V.goodsInfo.skus;for(let s of e)s.value_id_array=s.properties.map((e=>e.valueId));return e}));function U(){V.goodsInfo.highPrecision?O.selectedSku.goods_num=parseInt(O.selectedSku.use_points/(O.selectedSku.highPrecisionPrice/100)):O.selectedSku.goods_num=parseInt(O.selectedSku.use_points/J(O.selectedSku.price))}async function E(){const{code:e,data:s}=await I.getDuserInfo(),o=parseFloat(N(s.integralDO.currentQuota));console.log(o),O.selectedSku.use_points=parseInt(o),U()}function D(e){const o=e.detail.value;if(console.log(typeof o),""==o)return!1;const t=parseFloat(N(F.value.integralDO.currentQuota));U(),b((()=>{O.selectedSku.use_points=parseInt(o),U()})),o<=0&&(s.$helper.toast(S("selectSku.min_points_required")),b(t>=1?()=>{O.selectedSku.use_points=1,U()}:()=>{O.selectedSku.use_points=0,U()})),o>t&&(s.$helper.toast(S("selectSku.insufficient_points")),b((()=>{O.selectedSku.use_points=parseInt(t),U()})))}function B(){O.selectedSku.id<=0?s.$helper.toast(S("selectSku.select_specification")):O.selectedSku.stock<=0?s.$helper.toast(S("selectSku.insufficient_stock")):A("addCart",O.selectedSku)}async function W(){if(2==V.goodsInfo.spuPayType){const{code:e,data:o}=await I.getDuserInfo();if(parseFloat(N(o.integralDO.currentQuota))<O.selectedSku.use_points)return s.$helper.toast(S("selectSku.min_points_required")),!1;if(O.selectedSku.goods_num<1||!O.selectedSku.use_points)return void s.$helper.toast(S("selectSku.amount_less_than_min"));O.selectedSku.goods_num>O.selectedSku.stock&&(O.selectedSku.use_points=(O.selectedSku.stock*J(O.selectedSku.price)).toFixed(2),O.selectedSku.goods_num=O.selectedSku.stock)}O.selectedSku.id<=0?s.$helper.toast(S("selectSku.select_specification")):O.selectedSku.stock<=0?s.$helper.toast(S("selectSku.insufficient_stock")):(A("buy",O.selectedSku),O.selectedSku.use_points=0)}function X(e=!1,s=0,o=0){let t=[];if(e)for(let n of L.value)n.stock<=0||n.value_id_array.indexOf(o)>=0&&t.push(n);else t=R();let l=[];for(let n of t)l=l.concat(n.value_id_array);if(l=Array.from(new Set(l)),e){let e=l.indexOf(o);l.splice(e,1)}else O.currentPropertyArray.forEach((e=>{if(""!==e.toString())return;let s=l.indexOf(e);s>=0&&l.splice(s,1)}));let a=[];e?a=[s]:O.currentPropertyArray.forEach(((e,s)=>{""!==e&&a.push(s)}));for(let n in M)if(!(a.indexOf(M[n].id)>=0))for(let e in M[n].values)M[n].values[e].disabled=l.indexOf(M[n].values[e].id)<0}function R(){let e=[];for(let s of L.value){if(s.stock<=0)continue;let o=!0;O.currentPropertyArray.forEach((e=>{""!==e.toString()&&s.value_id_array.indexOf(e)<0&&(o=!1)})),o&&e.push(s)}return e}function Y(e,s){O.selectedSku.use_points=0;let o=!0;void 0!==O.currentPropertyArray[e]&&O.currentPropertyArray[e]===s?(o=!1,O.currentPropertyArray.splice(e,1,"")):O.currentPropertyArray[e]=s;let t=[];O.currentPropertyArray.forEach((e=>{""!==e&&t.push(e)}));let l=R();t.length===M.length&&l.length?(l[0].goods_num=O.selectedSku.goods_num||1,O.selectedSku=l[0]):O.selectedSku={},X(o,e,s)}return t((()=>O.selectedSku),(e=>{A("change",e)}),{immediate:!0,deep:!0}),X(!1),l((()=>{1==M.length&&1==M[0].values.length&&Y(0,0)})),(e,s)=>{const o=x,t=w,l=v,I=P,b=$,S=a(n("su-number-box"),Q),C=j,V=a(n("su-popup"),q);return d(),c(V,{show:T.show,round:"10",onClose:s[4]||(s[4]=e=>A("close"))},{default:u((()=>[i(t,{class:"ss-modal-box bg-white ss-flex-col"},{default:u((()=>[i(t,{class:"modal-header ss-flex ss-col-center"},{default:u((()=>[i(t,{class:"header-left ss-m-r-30"},{default:u((()=>[i(o,{class:"sku-image",src:O.selectedSku.picUrl||T.goodsInfo.picUrl,mode:"aspectFill"},null,8,["src"])])),_:1}),i(t,{class:"header-right ss-flex-col ss-row-between ss-flex-1"},{default:u((()=>[i(t,{class:"goods-title ss-line-2"},{default:u((()=>[r(p(T.goodsInfo.name),1)])),_:1}),i(t,{class:"header-right-bottom ss-flex ss-col-center ss-row-between"},{default:u((()=>[i(t,{class:"ss-flex"},{default:u((()=>[i(t,{class:"price-text"},{default:u((()=>[2==T.goodsInfo.spuPayType?(d(),c(o,{key:0,src:z,style:{width:"30rpx",height:"30rpx"}})):f("",!0),T.goodsInfo.highPrecision?(d(),c(l,{key:1},{default:u((()=>[r(p(_(H)(O.selectedSku.highPrecisionPrice||T.goodsInfo.highPrecisionPrice)),1)])),_:1})):(d(),c(l,{key:2},{default:u((()=>[r(p(_(J)(O.selectedSku.price||T.goodsInfo.price)),1)])),_:1}))])),_:1}),O.selectedSku.promotionFee>=0||T.goodsInfo.promotionFee>=0?(d(),c(t,{key:0,class:"origin-price-text ss-m-l-10"},{default:u((()=>[r(p(e.$t("common.points"))+":"+p(_(J)(O.selectedSku.promotionFee||T.goodsInfo.promotionFee)),1)])),_:1})):f("",!0)])),_:1}),i(t,{class:"stock-text ss-m-l-20"},{default:u((()=>[r(p(_(K)("exact",O.selectedSku.stock||T.goodsInfo.stock)),1)])),_:1})])),_:1})])),_:1})])),_:1}),i(t,{class:"modal-content ss-flex-1"},{default:u((()=>[i(C,{"scroll-y":"true",class:"modal-content-scroll",onTouchmove:s[3]||(s[3]=m((()=>{}),["stop"]))},{default:u((()=>[(d(!0),g(k,null,y(_(M),(e=>(d(),c(t,{class:"sku-item ss-m-b-20",key:e.id},{default:u((()=>[i(t,{class:"label-text ss-m-b-20"},{default:u((()=>[r(p(e.name),1)])),_:2},1024),i(t,{class:"ss-flex ss-col-center ss-flex-wrap"},{default:u((()=>[(d(!0),g(k,null,y(e.values,(s=>(d(),c(I,{class:h(["ss-reset-button spec-btn",[{"ui-BG-Main-Gradient":O.currentPropertyArray[e.id]===s.id},{"disabled-btn":!0===s.disabled}]]),key:s.id,disabled:!0===s.disabled,onClick:o=>Y(e.id,s.id)},{default:u((()=>[r(p(s.name),1)])),_:2},1032,["class","disabled","onClick"])))),128))])),_:2},1024)])),_:2},1024)))),128)),2==T.goodsInfo.spuPayType?(d(),c(t,{key:0,class:"buy-num-box ss-flex ss-col-center ss-row-between ss-m-b-40"},{default:u((()=>[i(t,{class:"label-text"},{default:u((()=>[r(p(e.$t("selectSku.purchase_amount"))+" "+p(e.$t("selectSku.available_points",{points:_(N)(F.value.integralDO.currentQuota)})),1)])),_:1}),i(t,{class:"ss-flex ss-col-center"},{default:u((()=>[i(I,{class:"ss-reset-button all-btn",onClick:E},{default:u((()=>[r(p(e.$t("commmon.all")),1)])),_:1}),2==T.goodsInfo.spuPayType?(d(),c(o,{key:0,src:z,style:{width:"30rpx",height:"30rpx"}})):f("",!0),i(b,{modelValue:O.selectedSku.use_points,"onUpdate:modelValue":s[0]||(s[0]=e=>O.selectedSku.use_points=e),class:"uni-input input-points",style:{width:"100rpx","text-align":"center"},type:"number",placeholder:"0",onInput:D,disabled:!O.selectedSku.id},null,8,["modelValue","disabled"])])),_:1})])),_:1})):(d(),c(t,{key:1,class:"buy-num-box ss-flex ss-col-center ss-row-between ss-m-b-40"},{default:u((()=>[i(t,{class:"label-text"},{default:u((()=>[r(p(e.$t("selectSku.purchase_quantity")),1)])),_:1}),i(S,{min:1,max:O.selectedSku.stock,step:1,modelValue:O.selectedSku.goods_num,"onUpdate:modelValue":s[1]||(s[1]=e=>O.selectedSku.goods_num=e),onChange:s[2]||(s[2]=e=>{var s;0!==(s=e)&&O.selectedSku.goods_num!==s&&(O.selectedSku.goods_num=s)})},null,8,["max","modelValue"])])),_:1}))])),_:1})])),_:1}),i(t,{class:"modal-footer border-top"},{default:u((()=>[T.goodsInfo.spuType&&1==T.goodsInfo.spuPayType?(d(),c(t,{key:0,class:"buy-box ss-flex ss-col-center ss-flex ss-col-center ss-row-center"},{default:u((()=>[i(I,{class:"ss-reset-button add-btn ui-Shadow-Main",onClick:B},{default:u((()=>[r(p(e.$t("common.add_to_cart")),1)])),_:1}),i(I,{class:"ss-reset-button buy-btn ui-Shadow-Main",onClick:W},{default:u((()=>[r(p(e.$t("common.buy_now")),1)])),_:1})])),_:1})):(d(),c(t,{key:1,class:"buy-box ss-flex ss-col-center ss-p-r-20"},{default:u((()=>[i(I,{class:"ss-reset-button disabled-btn one-buy-btn ui-Shadow-Main",onClick:W},{default:u((()=>[1==T.goodsInfo.spuPayType||T.goodsInfo.spuType?T.goodsInfo.spuType?(d(),g(k,{key:2},[r(p(e.$t("common.redeem_now")),1)],64)):(d(),g(k,{key:1},[r(p(e.$t("common.buy_now")),1)],64)):(d(),g(k,{key:0},[r(p(e.$t("common.redeem_now")),1)],64))])),_:1})])),_:1}))])),_:1})])),_:1})])),_:1},8,["show"])}}},[["__scopeId","data-v-758ef23d"]]),ne=R({__name:"index",setup(l){T((()=>{}));const m=o({goodsId:0,skeletonLoading:!0,goodsInfo:{},showSelectSku:!1,selectedSku:{},showModel:!1,couponInfo:[],showActivityModel:!1,activityInfo:[],activityList:[],linkId:0});function h(e){m.selectedSku=e}function I(e){e.id?q.value?s.$store("cart").add(e):E():s.$helper.toast(S("common.select_product_options"))}function b(e){m.selectedSku.id?s.$router.go("/pages/order/confirm",{data:JSON.stringify({items:[{skuId:e.id,count:e.goods_num}],spuType:m.goodsInfo.spuType,spuPayType:m.goodsInfo.spuPayType,highPrecision:m.goodsInfo.highPrecision,deliveryType:1,pointStatus:!1})}):s.$helper.toast(S("common.select_product_options"))}function $(){m.showActivityModel=!0}const j=e((()=>O.isEmpty(m.goodsInfo)?{}:s.$platform.share.getShareInfo({title:m.goodsInfo.name,image:s.$url.cdn(m.goodsInfo.image),desc:m.goodsInfo.subtitle,params:{page:"2"}},{type:"goods",title:m.goodsInfo.name,introduction:m.goodsInfo.introduction,image:s.$url.cdn(m.goodsInfo.picUrl),price:J(m.goodsInfo.price),original_price:J(m.goodsInfo.maretPrice)})));async function Q(e){M.getSpuDetail(e).then((e=>{0===e.code&&e.data?(m.skeletonLoading=!1,m.goodsInfo=e.data,q.value&&L.isFavoriteExists(m.goodsId,"goods").then((e=>{0===e.code&&(m.goodsInfo.favorite=e.data)}))):m.goodsInfo=null}))}const q=e((()=>s.$store("user").isLogin));return t((()=>q.value),(e=>{e&&Q(m.goodsId)})),C((e=>{if(e.id||e.linkId){if(m.goodsId=e.id||0,!e.id&&e.linkId){console.log("如果只是没有spuId有linkId的话 要去linkId对应的spuId");const s=e.linkId.toString();A.getObjectIdByLinkId(s).then((e=>{0===e.code&&(m.goodsId=e.data,Q(m.goodsId),async function(){A.getLinkId(3,m.goodsId).then((e=>{0===e.code&&(m.linkId=e.data.linkId)}))}())})),V("linkId",e.linkId)}else Q(m.goodsId);F.getActivityListBySpuId(m.goodsId).then((e=>{0===e.code&&e.data.forEach((e=>{[1,2,3].includes(e.type)?m.activityList.push(e):5===e.type&&m.activityInfo.push(e)}))}))}else m.goodsInfo=null})),(e,s)=>{const o=a(n("s-empty"),D),t=a(n("su-swiper"),B),l=x,S=v,T=w,C=a(n("s-select-sku"),ae),A=P,V=a(n("s-layout"),Y);return d(),c(T,null,{default:u((()=>[i(V,{onShareAppMessage:j.value,navbar:"goods"},{default:u((()=>[i(Z,{modelValue:m.goodsInfo,"onUpdate:modelValue":s[0]||(s[0]=e=>m.goodsInfo=e)},null,8,["modelValue"]),m.skeletonLoading?(d(),c(ee,{key:0})):null===m.goodsInfo?(d(),c(o,{key:1,text:"商品不存在或已下架",icon:"/static/soldout-empty.png",showAction:"",actionText:"再逛逛",actionUrl:"/pages/goods/list"})):(d(),g(k,{key:2},[i(T,{class:"detail-swiper-selector"},{default:u((()=>[i(t,{class:"ss-m-b-14",isPreview:"",list:_(W)(m.goodsInfo.sliderPicUrls),otStyle:"tag",imageMode:"widthFix",dotCur:"bg-mask-40",seizeHeight:750},null,8,["list"]),i(T,{class:"title-card detail-card ss-p-y-40 ss-p-x-20"},{default:u((()=>[i(T,{class:"ss-flex ss-row-between ss-col-center ss-m-b-26"},{default:u((()=>[i(T,{class:"price-box ss-flex ss-col-center"},{default:u((()=>[i(T,{class:"price-text ss-m-r-16 ss-flex ss-col-center"},{default:u((()=>[2==m.goodsInfo.spuPayType?(d(),c(l,{key:0,src:z,class:"ss-m-r-10",style:{width:"40rpx",height:"40rpx"}})):(d(),c(S,{key:1},{default:u((()=>[r("¥")])),_:1})),m.goodsInfo.highPrecision?(d(),c(S,{key:2},{default:u((()=>[r(p(_(H)(m.selectedSku.highPrecisionPrice||m.goodsInfo.highPrecisionPrice)),1)])),_:1})):(d(),c(S,{key:3},{default:u((()=>[r(p(_(J)(m.selectedSku.price||m.goodsInfo.price)),1)])),_:1}))])),_:1}),m.goodsInfo.promotionFee>=0?(d(),c(T,{key:0,class:"origin-price-text"},{default:u((()=>[r(p(e.$t("common.points"))+":"+p(_(J)(m.selectedSku.promotionFee||m.goodsInfo.promotionFee)),1)])),_:1})):f("",!0)])),_:1}),i(T,{class:"sales-text"},{default:u((()=>[r(p(_(X)("exact",m.goodsInfo.salesCount)),1)])),_:1})])),_:1}),i(T,{class:"discounts-box ss-flex ss-row-between ss-m-b-28"},{default:u((()=>[U("div",{class:"tag-content"},[i(T,{class:"tag-box ss-flex"},{default:u((()=>[(d(!0),g(k,null,y(m.activityInfo,(e=>(d(),c(T,{class:"tag ss-m-r-10",key:e.id,onClick:$},{default:u((()=>[r(p(e.name),1)])),_:2},1024)))),128))])),_:1})]),m.couponInfo.length?(d(),c(T,{key:0,class:"get-coupon-box ss-flex ss-col-center ss-m-l-20",onClick:s[1]||(s[1]=e=>m.showModel=!0)},{default:u((()=>[i(T,{class:"discounts-title ss-m-r-8"},{default:u((()=>[r("领券")])),_:1}),i(S,{class:"cicon-forward"})])),_:1})):f("",!0)])),_:1}),i(T,{class:"title-text ss-line-2 ss-m-b-6"},{default:u((()=>[r(p(m.goodsInfo.name),1)])),_:1}),i(T,{class:"subtitle-text ss-line-1"},{default:u((()=>[r(p(m.goodsInfo.introduction),1)])),_:1})])),_:1}),i(T,{class:"detail-cell-card detail-card ss-flex-col"},{default:u((()=>[i(se,{modelValue:m.selectedSku.goods_sku_text,"onUpdate:modelValue":s[2]||(s[2]=e=>m.selectedSku.goods_sku_text=e),sku:m.selectedSku,onClick:s[3]||(s[3]=e=>m.showSelectSku=!0)},null,8,["modelValue","sku"])])),_:1}),i(C,{goodsInfo:m.goodsInfo,show:m.showSelectSku,onAddCart:I,onBuy:b,onChange:h,onClose:s[4]||(s[4]=e=>m.showSelectSku=!1)},null,8,["goodsInfo","show"])])),_:1}),i(oe,{class:"detail-comment-selector",goodsId:m.goodsId},null,8,["goodsId"]),i(te,{class:"detail-content-selector",content:m.goodsInfo.description},null,8,["content"]),i(le,{modelValue:m.goodsInfo,"onUpdate:modelValue":s[8]||(s[8]=e=>m.goodsInfo=e)},{default:u((()=>[m.goodsInfo.stock>0&&m.goodsInfo.spuType&&1==m.goodsInfo.spuPayType?(d(),c(T,{key:0,class:"buy-box ss-flex ss-col-center ss-p-r-20"},{default:u((()=>[i(A,{class:"ss-reset-button add-btn ui-Shadow-Main",onClick:s[5]||(s[5]=e=>m.showSelectSku=!0)},{default:u((()=>[r(p(e.$t("common.add_to_cart")),1)])),_:1}),i(A,{class:"ss-reset-button buy-btn ui-Shadow-Main",onClick:s[6]||(s[6]=e=>m.showSelectSku=!0)},{default:u((()=>[r(p(e.$t("common.buy_now")),1)])),_:1})])),_:1})):m.goodsInfo.stock>0&&1!=m.goodsInfo.spuPayType||!m.goodsInfo.spuType?(d(),c(T,{key:1,class:"buy-box ss-flex ss-col-center ss-p-r-20"},{default:u((()=>[i(A,{class:"ss-reset-button disabled-btn buy-btn ui-Shadow-Main",onClick:s[7]||(s[7]=e=>m.showSelectSku=!0)},{default:u((()=>[1==m.goodsInfo.spuPayType||m.goodsInfo.spuType?m.goodsInfo.spuType?(d(),g(k,{key:2},[r(p(e.$t("common.redeem_now")),1)],64)):(d(),g(k,{key:1},[r(p(e.$t("common.buy_now")),1)],64)):(d(),g(k,{key:0},[r(p(e.$t("common.redeem_now")),1)],64))])),_:1})])),_:1})):(d(),c(T,{key:2,class:"buy-box ss-flex ss-col-center ss-p-r-20"},{default:u((()=>[i(A,{class:"ss-reset-button disabled-btn",disabled:"",style:{background:"#999999"}},{default:u((()=>[r(p(e.$t("common.sold_out")),1)])),_:1})])),_:1}))])),_:1},8,["modelValue"])],64))])),_:1},8,["onShareAppMessage"])])),_:1})}}},[["__scopeId","data-v-6a7e0e0a"]]);export{ne as default};
|