index.ab23e248.js 3.8 KB

1
  1. import{r as I,m as k}from"./index.d925b97f.js";import{d as y,T as j,a as t,q as u,I as g,j as m,ab as S,ac as C,z as x,x as b,O as v,B as O}from"./vendor.ad13860b.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */var _="./assets/icon-sell-out.437e8d6c.png",M=Object.freeze({__proto__:null,[Symbol.toStringTag]:"Module",default:_});const D="_addGoodsCart_13nlj_1",T="_goodsSection_13nlj_16",G="_sellOut_13nlj_21",J="_sellOutImg_13nlj_32",V="_goodsImg_13nlj_36",A="_goodsPrice_13nlj_43",F="_goodsStore_13nlj_52",L="_title_13nlj_57",N="_radio_13nlj_62";var o={addGoodsCart:D,goodsSection:T,sellOut:G,sellOutImg:J,goodsImg:V,goodsPrice:A,goodsStore:F,title:L,"radio-group":"_radio-group_13nlj_62",radio:N};function R(s){return typeof s=="function"||Object.prototype.toString.call(s)==="[object Object]"&&!b(s)}var W=y({name:"add-goods-cart",props:{item:{type:Object,default:{}},defaultRadio:{type:Number,default:0},showType:{type:String,default:"cart"},onGetCartCount:{type:Function,default:s=>{}}},data(){return{radio:"",selectItem:{id:"",pic:"",stock:0,price:0,spDataJson:"",skuCode:""},total:1}},computed:{skuStockList(){const s=this.item.skuStockList||[{id:-1,price:this.item.price,pic:this.item.pic,stock:this.item.stock,spData:null}];s.forEach(i=>{if(i.spData){const r=JSON.parse(i.spData);let h="";r.forEach(f=>{h+=`${f.value}`}),i.spDataJson=h}else i.spDataJson="\u9ED8\u8BA4"});let e=0;if(this.defaultRadio){let i=s.findIndex(r=>r.id==this.defaultRadio);e=i>-1?i:0}const{id:a,price:d,pic:l,stock:c,spDataJson:n,skuCode:p}=s[e];return this.radio=a,this.selectItem={id:a,price:d,pic:l||this.item.pic,stock:c,spDataJson:n,skuCode:p},s}},mounted(){},methods:{async onAddCart(){const s=this.selectItem,e=this.item,a={price:s.price,productSkuId:s.id,quantity:this.total,productId:e.id,hidden:this.showType==="cart"?0:1};try{let{code:d,data:l}=await I.post("/api-mall-portal/cart/add",{data:a});d===200&&(this.showType==="cart"?(this.onGetCartCount(),this.$nextTick(()=>{setTimeout(()=>{j({icon:"success",message:"\u6DFB\u52A0\u8D2D\u7269\u8F66\u6210\u529F"})},500)})):this.$router.push({path:"/cartConfirm",query:{cartIds:l.id}}))}catch{}}},render(){return this.item,t("div",{class:o.addGoodsCart},[t(u,{titleStyle:{paddingLeft:"12px"}},{icon:()=>t("div",{class:o.goodsSection},[t(g,{src:this.selectItem.pic,class:o.goodsImg,fit:"cover"},null),this.selectItem.stock<=0&&t("div",{class:o.sellOut},[t(g,{src:_,fit:"cover",class:o.sellOutImg},null)])]),title:()=>t("div",{class:o.goodsInfo},[t("p",{class:o.goodsPrice},[t("span",null,[m("\uFFE5")]),k(this.selectItem.price)]),t("p",{class:o.goodsStore},[m("\u5E93\u5B58\uFF1A"),this.selectItem.stock])])}),t(u,null,{title:()=>t("div",{class:o.title},[m("\u89C4\u683C")]),label:()=>{let s;return t(S,{class:o["radio-group"],modelValue:this.radio,"onUpdate:modelValue":e=>this.radio=e},R(s=this.skuStockList.map(e=>{const a=e.id===this.radio,d=a?"primary":"default";return t(C,{class:o.radio,name:e.id,onClick:()=>{this.radio=e.id;const{id:l,price:c,pic:n,stock:p,spDataJson:i,skuCode:r}=e;this.radio=l,this.selectItem={id:l,price:c,pic:n||this.item.pic,stock:p,spDataJson:i,skuCode:r}}},{default:()=>[t(x,{size:"large",plain:a,type:d},{default:()=>[e.spDataJson]})]})}))?s:{default:()=>[s]})}}),t(u,{title:"\u8D2D\u4E70\u6570\u91CF",style:{margin:"12px 0"},border:!1,titleClass:o.title,center:!0},{default:()=>[t(v,{modelValue:this.total,"onUpdate:modelValue":s=>this.total=s,inputWidth:"50px",theme:"round",buttonSize:"24px",max:this.selectItem.stock,min:1,disabled:this.selectItem.stock<=0},null)]}),t("div",{class:["btnGroup"],style:{marginBottom:"8px"}},[t(O,{block:!0,round:!0,type:"primary",text:"\u786E\u5B9A",disabled:this.selectItem.stock<=0,onClick:()=>this.onAddCart()},null)])])}});export{W as A,M as _,_ as i};