s-select-groupon-sku.gruQ4OXL.js 5.6 KB

1
  1. import{M as e,u as s,s as t,v as l,c as o,a2 as a,a as r,b as c,e as u,d as n,w as d,f as i,g as f,j as p,x as _,F as g,y as m,L as y,z as b,k as x,i as k,O as h,K as S}from"./index-DNuNVpwk.js";import{_ as v}from"./su-number-box.BCy2XPSn.js";import{_ as w}from"./phone-international-input.vue_vue_type_style_index_0_scoped_a793e264_lang.CZSqjCi7.js";import{c as A,f as I}from"./useGoods.CrGbmvFq.js";import{_ as P}from"./_plugin-vue_export-helper.BCo6x5W8.js";const j=P({__name:"s-select-groupon-sku",props:{show:{type:Boolean,default:!1},goodsInfo:{type:Object,default(){}},grouponAction:{type:String,default:"create"},grouponNum:{type:[Number,String],default:0}},emits:["change","addCart","buy","close","ladder"],setup(P,{emit:j}){e((e=>({e5f6e91e:s(O)})));const O=t.$url.css("/static/images/groupon-btn-long.png"),C=j,N=P,$=l({selectedSku:{},currentPropertyArray:[],grouponNum:N.grouponNum}),E=A(N.goodsInfo.skus),U=o((()=>{let e=N.goodsInfo.skus;for(let s of e)s.value_id_array=s.properties.map((e=>e.valueId));return e}));function V(){!$.selectedSku.id||$.selectedSku.id<=0?t.$helper.toast("请选择规格"):$.selectedSku.stock<=0?t.$helper.toast("库存不足"):C("buy",$.selectedSku)}function F(e=!1,s=0,t=0){let l=[];if(e)for(let r of U.value)r.stock<=0||r.value_id_array.indexOf(t)>=0&&l.push(r);else l=K();let o=[];for(let r of l)o=o.concat(r.value_id_array);if(o=Array.from(new Set(o)),e){let e=o.indexOf(t);o.splice(e,1)}else $.currentPropertyArray.forEach((e=>{if(""!==e.toString())return;let s=o.indexOf(e);s>=0&&o.splice(s,1)}));let a=[];e?a=[s]:$.currentPropertyArray.forEach(((e,s)=>{""!==e&&a.push(s)}));for(let r in E)if(!(a.indexOf(E[r].id)>=0))for(let e in E[r].values)E[r].values[e].disabled=o.indexOf(E[r].values[e].id)<0}function K(){let e=[];for(let s of U.value){if(s.stock<=0)continue;let t=!0;$.currentPropertyArray.forEach((e=>{""!==e.toString()&&s.value_id_array.indexOf(e)<0&&(t=!1)})),t&&e.push(s)}return e}return a((()=>$.selectedSku),(e=>{C("change",e)}),{immediate:!0,deep:!0}),F(!1),(e,l)=>{const o=x,a=k,A=h,j=r(c("su-number-box"),v),O=S,N=r(c("su-popup"),w);return u(),n(N,{show:P.show,round:"10",onClose:l[2]||(l[2]=e=>C("close"))},{default:d((()=>[i(a,{class:"ss-modal-box bg-white ss-flex-col"},{default:d((()=>[i(a,{class:"modal-header ss-flex ss-col-center"},{default:d((()=>[i(a,{class:"header-left ss-m-r-30"},{default:d((()=>[i(o,{class:"sku-image",src:s(t).$url.cdn($.selectedSku.picUrl||P.goodsInfo.picUrl),mode:"aspectFill"},null,8,["src"])])),_:1}),i(a,{class:"header-right ss-flex-col ss-row-between ss-flex-1"},{default:d((()=>[i(a,{class:"goods-title ss-line-2"},{default:d((()=>[i(a,{class:"tig ss-flex ss-col-center"},{default:d((()=>[i(a,{class:"tig-icon ss-flex ss-col-center ss-row-center"},{default:d((()=>[i(a,{class:"groupon-tag"},{default:d((()=>[i(o,{src:s(t).$url.static("/static/images/groupon-tag-white.png")},null,8,["src"])])),_:1})])),_:1}),i(a,{class:"tig-title"},{default:d((()=>[f("拼团价")])),_:1})])),_:1}),i(a,{class:"info-title"},{default:d((()=>[f(p(P.goodsInfo.name),1)])),_:1})])),_:1}),i(a,{class:"header-right-bottom ss-flex ss-col-center ss-row-between"},{default:d((()=>[i(a,{class:"price-text"},{default:d((()=>[f(p(s(I)(P.goodsInfo.price)),1)])),_:1}),i(a,{class:"stock-text ss-m-l-20"},{default:d((()=>[f(" 库存"+p($.selectedSku.stock||P.goodsInfo.stock)+"件 ",1)])),_:1})])),_:1})])),_:1})])),_:1}),i(a,{class:"modal-content ss-flex-1"},{default:d((()=>[i(O,{"scroll-y":"true",class:"modal-content-scroll"},{default:d((()=>[(u(!0),_(g,null,m(s(E),(e=>(u(),n(a,{class:"sku-item ss-m-b-20",key:e.id},{default:d((()=>[i(a,{class:"label-text ss-m-b-20"},{default:d((()=>[f(p(e.name),1)])),_:2},1024),i(a,{class:"ss-flex ss-col-center ss-flex-wrap"},{default:d((()=>[(u(!0),_(g,null,m(e.values,(s=>(u(),n(A,{class:y(["ss-reset-button spec-btn",[{"checked-btn":$.currentPropertyArray[e.id]===s.id},{"disabled-btn":!0===s.disabled}]]),key:s.id,disabled:!0===s.disabled,onClick:t=>function(e,s){let t=!0;void 0!==$.currentPropertyArray[e]&&$.currentPropertyArray[e]===s?(t=!1,$.currentPropertyArray.splice(e,1,"")):$.currentPropertyArray[e]=s;let l=[];$.currentPropertyArray.forEach((e=>{""!==e&&l.push(e)}));let o=K();l.length===E.length&&o.length?(o[0].count=$.selectedSku.count||1,$.selectedSku=o[0]):$.selectedSku={},F(t,e,s)}(e.id,s.id)},{default:d((()=>[f(p(s.name),1)])),_:2},1032,["class","disabled","onClick"])))),128))])),_:2},1024)])),_:2},1024)))),128)),i(a,{class:"buy-num-box ss-flex ss-col-center ss-row-between"},{default:d((()=>[i(a,{class:"label-text"},{default:d((()=>[f("购买数量")])),_:1}),i(j,{min:1,max:$.selectedSku.stock,step:1,modelValue:$.selectedSku.count,"onUpdate:modelValue":l[0]||(l[0]=e=>$.selectedSku.count=e),onChange:l[1]||(l[1]=e=>{var s;0!==(s=e)&&$.selectedSku.count!==s&&($.selectedSku.count=s)}),activity:"groupon"},null,8,["max","modelValue"])])),_:1})])),_:1})])),_:1}),i(a,{class:"modal-footer ss-p-y-20"},{default:d((()=>[i(a,{class:"buy-box ss-flex ss-col-center ss-flex ss-col-center ss-row-center"},{default:d((()=>[i(a,{class:"ss-flex"},{default:d((()=>[i(A,{class:"ss-reset-button origin-price-btn ss-flex-col"},{default:d((()=>[i(a,{class:"btn-title"},{default:d((()=>[f(p(P.grouponNum+"人团"),1)])),_:1})])),_:1}),i(A,{class:"ss-reset-button btn-tox ss-flex-col",onClick:V},{default:d((()=>[i(a,{class:"btn-price"},{default:d((()=>[f(p(s(I)(P.goodsInfo.price)),1)])),_:1}),"create"===P.grouponAction?(u(),n(a,{key:0},{default:d((()=>[f("立即开团")])),_:1})):"join"===P.grouponAction?(u(),n(a,{key:1},{default:d((()=>[f("参与拼团")])),_:1})):b("",!0)])),_:1})])),_:1})])),_:1})])),_:1})])),_:1})])),_:1},8,["show"])}}},[["__scopeId","data-v-ecee0924"]]);export{j as _};