index.3615e65b.js 6.3 KB

1
  1. import{x as y,H as P,I,E as j,G as x,d as v,J as T,X as G,i as t,z as B,aW as u,L as k,D as L,b as m,T as D,w as n,bk as h,ak as A,ab as N}from"./index.9a8e7555.js";import{S as z,a as H}from"./index.77775083.js";import{I as R}from"./index.7f9087a9.js";import{C as E}from"./index.e50ea8f8.js";import{C as g}from"./index.3b6c3426.js";import{I as b}from"./index.7be95ba8.js";import{R as M,a as q}from"./index.7a27846b.js";import"./index.df465582.js";import{T as J}from"./index.eefac611.js";import{R as O,C as f}from"./index.1d0ada62.js";/* empty css */import{i as V}from"./icon-shop-cart.37434050.js";import{A as $}from"./index.b01a7412.js";import{b as W,a as F,A as _}from"./index.3fb1b5c3.js";import"./index.851ca690.js";const[K,d]=y("action-bar-icon"),U=P({},I,{dot:Boolean,text:String,icon:String,color:String,badge:j,iconClass:x,badgeProps:Object,iconPrefix:String});var X=v({name:K,props:U,setup(o,{slots:i}){const a=T();G(W);const e=()=>{const{dot:r,badge:c,icon:l,color:C,iconClass:w,badgeProps:p,iconPrefix:S}=o;return i.icon?t(u,B({dot:r,class:d("icon"),content:c},p),{default:i.icon}):t(k,{tag:"div",dot:r,name:l,badge:c,color:C,class:[d("icon"),w],badgeProps:p,classPrefix:S},null)};return()=>t("div",{role:"button",class:d(),tabindex:0,onClick:a},[e(),i.default?i.default():o.text])}});const Y=L(X);const Z="_swipeItemImg_12lj0_1",Q="_swipe_12lj0_1",tt="_goodsHead_12lj0_17",ot="_priceGroup_12lj0_24",at="_price_12lj0_24",it="_delPrice_12lj0_36",st="_stock_12lj0_42",et="_goodsName_12lj0_46",rt="_row_12lj0_52",ct="_col_12lj0_56",nt="_radio_12lj0_61",lt="_badge_12lj0_95",dt="_section_12lj0_99",ut="_detail_12lj0_103",pt="_photoDetail_12lj0_128",mt="_goodsDetail_12lj0_132",ht="_actionBar_12lj0_135",gt="_addCertBtn_12lj0_150",bt="_buyGroup_12lj0_155";var s={swipeItemImg:Z,swipe:Q,"custom-indicator":"_custom-indicator_12lj0_7",goodsHead:tt,priceGroup:ot,price:at,delPrice:it,stock:st,goodsName:et,row:rt,col:ct,"radio-group":"_radio-group_12lj0_61",radio:nt,badge:lt,section:dt,detail:ut,photoDetail:pt,goodsDetail:mt,actionBar:ht,addCertBtn:gt,buyGroup:bt};function ft(o){return typeof o=="function"||Object.prototype.toString.call(o)==="[object Object]"&&!A(o)}var Dt=v({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 o=this.product,i=this.skuStockListTemp.length>0?this.skuStockListTemp:[{id:-1,price:o.price,pic:o.pic,stock:o.stock,spData:null}];return i.forEach(a=>{if(a.spData){const e=JSON.parse(a.spData);let r="";e.forEach(c=>{r+=`${c.value}`}),a.spDataJson=r}else a.spDataJson="\u9ED8\u8BA4"}),i}},async mounted(){try{this.loading=!0;const o=await m.get(`/api-mall-portal/product/detail/${this.id}`);this.loading=!1;const i=o.data||{};if(this.albumPics=i.product.albumPics?i.product.albumPics.split(","):[i.product.pic],this.product=i.product,this.skuStockListTemp=i.skuStockList||[],this.skuStockListTemp.length){let a=this.skuStockListTemp.length;for(let e=0;e<a;e++){let r=this.skuStockListTemp[e];if(r.stock>=0){this.radio=r.id;break}}}this.detailMobileHtml=i.product.detailMobileHtml}catch{}this.getCartCount()},methods:{onPreview(o){b({images:this.albumPics,startPosition:o,closeable:!0})},onShowImg(o){const{localName:i}=o.srcElement;if(i!=="img")return;let a=0;const e=document.querySelectorAll(".msgWrap img");let r=Array.from(e).map((c,l)=>(o.srcElement==c&&(a=l),c.src));b({images:r,startPosition:a,closeable:!0})},onShowCart(o="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=o,this.addGoodsShow=!0},onBuy(){if(!this.radio)return D("\u8BF7\u9009\u62E9\u89C4\u683C");console.log(!0)},async getCartCount(){try{let{code:o,data:i}=await m.get("/api-mall-portal/cart/list");o===200&&(this.cartCount=i.length)}catch{}}},render(){let o;const i=this.product;return t("div",{class:s.goodsDetail},[t(z,{class:s.swipe,lazyRender:!0},{default:()=>[this.albumPics.map((a,e)=>t(H,null,{default:()=>[t(R,{class:s.swipeItemImg,src:a,onClick:()=>this.onPreview(e),fit:"cover"},null)]}))],indicator:a=>a.total>1&&t("div",{class:s["custom-indicator"]},[(a.active||0)+1,n(" / "),a.total])}),t(E,{border:!1,class:[s.goodsHead,"mb12"]},{default:()=>[t(g,{center:!0,border:!1,title:i.name,titleClass:[s.goodsName,"van-ellipsis"]},null),t(g,{center:!0,border:!1},{title:()=>t("div",{class:s.priceGroup},[t("span",{class:s.price},[t("i",null,[n("\xA5")]),h(i.price)]),t("del",{class:s.delPrice},[n("\xA5"),h(i.originalPrice)])])})]}),t(O,{class:[s.row,"mb12"]},{default:()=>[t(f,{span:4,class:s.col},{default:()=>[n("\u89C4\u683C")]}),t(f,{span:20},{default:()=>[t(M,{class:s["radio-group"],modelValue:this.radio,"onUpdate:modelValue":a=>this.radio=a},ft(o=this.skuStockList.map(a=>{const e=a.id===this.radio,r=e?"primary":"default";return t(u,{position:"top-right",content:a.stock<=0?"\u7F3A\u8D27":"",color:"#999999",class:s.badge,offset:[-20,0]},{default:()=>[t(q,{class:s.radio,name:a.id,disabled:a.stock<=0,onClick:()=>{a.stock<=0||(this.radio=a.id)}},{default:()=>[t(J,{size:"large",plain:e,type:r},{default:()=>[a.spDataJson]})]})]})}))?o:{default:()=>[o]})]})]}),this.detailMobileHtml&&t("div",{class:[s.section]},[t("div",{class:s.detail},[t("span",null,[n("\u56FE\u6587\u8BE6\u60C5")])]),t("div",{class:[s.photoDetail,"msgWrap"],onClick:this.onShowImg,innerHTML:this.detailMobileHtml},null)]),!this.loading&&t(F,{class:s.actionBar},{default:()=>[t(Y,{icon:"cart-o",onClick:()=>{this.$router.push("/cart")}},{icon:()=>t(u,{content:this.cartCount,showZero:!1},{default:()=>[t(k,{name:V,size:30},null)]})}),t("div",{class:s.buyGroup},[t(_,{type:"primary",class:s.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(N,{show:this.addGoodsShow,closeable:!0,position:"bottom",round:!0,onClose:()=>{this.addGoodsShow=!1}},{default:()=>[t($,{onGetCartCount:()=>this.getCartCount(),item:this.selectGoodsItem,defaultRadio:this.radio,showType:this.showType},null)]})])}});export{Dt as default};