index.def29306.js 6.0 KB

1
  1. import{r as d,m as n}from"./index.2f084916.js";import{d as f,ap as u,T as k,a as t,al as x,ak as C,I as b,j as l,C as S,q as p,k as w,l as m,ac as y,am as h,ad as v,z as I,x as L,F as P,aq as T,u as j,ar as _,P as G}from"./vendor.a0144ce9.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import{i as D}from"./icon-shop-cart.43383536.js";import{A as B}from"./index.7fd61285.js";/* empty css */const N="_swipeItemImg_127mx_1",A="_swipe_127mx_1",H="_goodsHead_127mx_17",q="_priceGroup_127mx_24",E="_price_127mx_24",M="_delPrice_127mx_36",W="_stock_127mx_42",F="_goodsName_127mx_46",J="_row_127mx_52",R="_col_127mx_56",V="_radio_127mx_60",$="_badge_127mx_94",z="_section_127mx_98",O="_detail_127mx_102",U="_photoDetail_127mx_127",Z="_goodsDetail_127mx_131",K="_actionBar_127mx_134",Q="_addCertBtn_127mx_154",X="_buyGroup_127mx_158",Y="_selectWrap_127mx_168";var e={swipeItemImg:N,swipe:A,"custom-indicator":"_custom-indicator_127mx_7",goodsHead:H,priceGroup:q,price:E,delPrice:M,stock:W,goodsName:F,row:J,col:R,"radio-group":"_radio-group_127mx_60",radio:V,badge:$,section:z,detail:O,photoDetail:U,goodsDetail:Z,actionBar:K,addCertBtn:Q,buyGroup:X,selectWrap:Y};function tt(s){return typeof s=="function"||Object.prototype.toString.call(s)==="[object Object]"&&!L(s)}var gt=f({name:"goods-detail",data(){return{id:this.$route.query.id,albumPics:[],product:{},radio:0,skuStockListTemp:[],detailMobileHtml:"",loading:!1,addGoodsShow:!1,selectGoodsItem:{},cartCount:0,showType:"cart"}},computed:{skuStockList(){const s=this.product,i=this.skuStockListTemp.length>0?this.skuStockListTemp:[{id:-1,price:s.price,pic:s.pic,stock:s.stock,spData:null}];return i.forEach(a=>{if(a.spData){const o=JSON.parse(a.spData);let r="";o.forEach(c=>{r+=`${c.value}`}),a.spDataJson=r}else a.spDataJson="\u9ED8\u8BA4"}),i},getPrice(){let s=this.skuStockList.filter(i=>i.id==this.radio);return s&&Array.isArray(s)&&s.length?s[0].price:0}},async mounted(){try{this.loading=!0;const s=await d.get(`/api-mall-portal/product/detail/${this.id}`);this.loading=!1;const i=s.data||{};if(this.albumPics=[i.product.pic].concat(i.product.albumPics.split(",")).filter(a=>a),this.product=i.product,this.skuStockListTemp=i.skuStockList||[],this.skuStockListTemp.length){let a=this.skuStockListTemp.length;for(let o=0;o<a;o++){let r=this.skuStockListTemp[o];if(r.stock>=0){this.radio=r.id;break}}}this.detailMobileHtml=i.product.detailMobileHtml}catch{}this.getCartCount()},methods:{onPreview(s){u({images:this.albumPics,startPosition:s,closeable:!0})},onShowImg(s){const{localName:i}=s.srcElement;if(i!=="img")return;let a=0;const o=document.querySelectorAll(".msgWrap img");let r=Array.from(o).map((c,g)=>(s.srcElement==c&&(a=g),c.src));u({images:r,startPosition:a,closeable:!0})},onShowCart(s="cart"){this.selectGoodsItem={price:this.product.pic,stock:this.product.stock,skuStockList:this.skuStockListTemp.length?this.skuStockListTemp:void 0,brandName:this.product.brandName,productCategoryId:this.product.productCategoryId,name:this.product.name,productSn:this.product.productSn,productSubTitle:this.product.subTitle,id:this.product.id},this.showType=s,this.addGoodsShow=!0},onBuy(){if(!this.radio)return k("\u8BF7\u9009\u62E9\u89C4\u683C");console.log(!0)},async getCartCount(){try{let{code:s,data:i}=await d.get("/api-mall-portal/cart/list");s===200&&(this.cartCount=i.length)}catch{}}},render(){let s;const i=this.product,a=this.skuStockList.filter(o=>o.id===this.radio);return t("div",{class:e.goodsDetail},[t(x,{class:e.swipe,lazyRender:!0},{default:()=>[this.albumPics.map((o,r)=>t(C,null,{default:()=>[t(b,{class:e.swipeItemImg,src:o,onClick:()=>this.onPreview(r),fit:"cover"},null)]}))],indicator:o=>o.total>1&&t("div",{class:e["custom-indicator"]},[(o.active||0)+1,l(" / "),o.total])}),t(S,{border:!1,class:[e.goodsHead,"mb12"]},{default:()=>[t(p,{center:!0,border:!1},{title:()=>t("div",{class:e.priceGroup},[t("span",{class:e.price},[t("i",null,[l("\xA5")]),n(this.getPrice)]),t("del",{class:e.delPrice},[l("\xA5"),n(i.originalPrice)])])}),t(p,{center:!0,border:!1,title:i.name,titleClass:[e.goodsName,"van-ellipsis"]},null)]}),t(w,{class:[e.row,"mb12"]},{default:()=>[t(m,{span:4,class:e.col},{default:()=>[l("\u89C4\u683C")]}),t(m,{span:20},{default:()=>[a.length?t("div",{class:e.selectWrap},[a[0].stock<=0?"\u5F53\u524D\u6B3E\u5F0F\u6682\u65F6\u7F3A\u8D27":`\u5DF2\u9009\u62E9 ${a[0].spDataJson}`]):t("div",null,[l("\u8BF7\u9009\u62E9 \u89C4\u683C")]),t(y,{class:e["radio-group"],modelValue:this.radio,"onUpdate:modelValue":o=>this.radio=o},tt(s=this.skuStockList.map(o=>{const r=o.id===this.radio,c=r?"primary":"default";return t(h,{position:"top-right",content:o.stock<=0?"\u7F3A\u8D27":"",color:"#999999",class:e.badge,offset:[-20,0]},{default:()=>[t(v,{class:e.radio,name:o.id,disabled:o.stock<=0,onClick:()=>{o.stock<=0||(this.radio=o.id)}},{default:()=>[t(I,{size:"large",plain:r,type:c},{default:()=>[o.spDataJson]})]})]})}))?s:{default:()=>[s]})]})]}),this.detailMobileHtml&&t("div",{class:[e.section]},[t("div",{class:e.detail},[t("span",null,[l("\u56FE\u6587\u8BE6\u60C5")])]),t("div",{class:[e.photoDetail,"msgWrap"],onClick:this.onShowImg,innerHTML:this.detailMobileHtml},null)]),!this.loading&&t(P,null,[t(T,{class:e.actionBar,"safe-area-inset-bottom":!0},{default:()=>[t(h,{content:this.cartCount,showZero:!1,onClick:()=>{this.$router.push("/cart")}},{default:()=>[t(j,{name:D,size:30},null)]})],button:()=>t("div",{class:e.buyGroup},[t(_,{type:"primary",class:e.addCertBtn,text:"\u52A0\u5165\u8D2D\u7269\u8F66",onClick:()=>this.onShowCart()},null),t(_,{type:"primary",text:"\u7ACB\u5373\u8D2D\u4E70",onClick:()=>this.onShowCart("cartConfirm")},null)])})]),t(G,{show:this.addGoodsShow,closeable:!0,position:"bottom",round:!0,onClose:()=>{this.addGoodsShow=!1}},{default:()=>[t(B,{onGetCartCount:()=>this.getCartCount(),item:this.selectGoodsItem,defaultRadio:this.radio,showType:this.showType},null)]})])}});export{gt as default};