| 1 |
- import{r as g,m as d}from"./index.bfda0881.js";import{d as h,af as n,T as f,a as t,ah as b,ag as k,q as y,b as c,C as w,t as u,k as x,l as p,a9 as v,aj as C,aa as j,z as P,x as S,ak as B,al as I,I as D,am as m}from"./vendor.6544a766.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import{i as L}from"./icon-shop-cart.37434050.js";const G="_swipeItemImg_1u602_1",H="_swipe_1u602_1",N="_goodsHead_1u602_17",T="_priceGroup_1u602_24",A="_price_1u602_24",q="_delPrice_1u602_36",E="_stock_1u602_42",M="_goodsName_1u602_46",V="_row_1u602_52",z="_col_1u602_56",J="_radio_1u602_61",R="_badge_1u602_95",$="_section_1u602_99",O="_detail_1u602_103",F="_photoDetail_1u602_128",W="_goodsDetail_1u602_132",U="_actionBar_1u602_135",K="_addCertBtn_1u602_147",Q="_buyGroup_1u602_152";var s={swipeItemImg:G,swipe:H,"custom-indicator":"_custom-indicator_1u602_7",goodsHead:N,priceGroup:T,price:A,delPrice:q,stock:E,goodsName:M,row:V,col:z,"radio-group":"_radio-group_1u602_61",radio:J,badge:R,section:$,detail:O,photoDetail:F,goodsDetail:W,actionBar:U,addCertBtn:K,buyGroup:Q};function X(a){return typeof a=="function"||Object.prototype.toString.call(a)==="[object Object]"&&!S(a)}var ut=h({name:"goods-detail",data(){return{id:this.$route.query.id,albumPics:[],product:{},radio:"",skuStockListTemp:[],detailMobileHtml:"",loading:!1}},computed:{skuStockList(){const a=this.product,e=this.skuStockListTemp.length>0?this.skuStockListTemp:[{id:-1,price:a.price,pic:a.pic,stock:a.stock,spData:null}];return e.forEach(o=>{if(o.spData){const i=JSON.parse(o.spData);let r="";i.forEach(l=>{r+=`${l.value}`}),o.spDataJson=r}else o.spDataJson="\u9ED8\u8BA4"}),e}},async mounted(){try{this.loading=!0;const a=await g.get(`/api-mall-portal/product/detail/${this.id}`);this.loading=!1;const e=a.data||{};this.albumPics=e.product.albumPics?e.product.albumPics.split(","):[e.product.pic],this.product=e.product,this.skuStockListTemp=e.skuStockList||[],this.detailMobileHtml=e.product.detailMobileHtml}catch{}},methods:{onPreview(a){n({images:this.albumPics,startPosition:a,closeable:!0})},onShowImg(a){const{localName:e}=a.srcElement;if(e!=="img")return;let o=0;const i=document.querySelectorAll(".msgWrap img");let r=Array.from(i).map((l,_)=>(a.srcElement==l&&(o=_),l.src));n({images:r,startPosition:o,closeable:!0})},onBuy(){if(!this.radio)return f("\u8BF7\u9009\u62E9\u89C4\u683C");console.log(!0)}},render(){let a;const e=this.product;return t("div",{class:s.goodsDetail},[t(b,{class:s.swipe,lazyRender:!0},{default:()=>[this.albumPics.map((o,i)=>t(k,null,{default:()=>[t(y,{class:s.swipeItemImg,src:o,onClick:()=>this.onPreview(i),fit:"cover"},null)]}))],indicator:o=>o.total>1&&t("div",{class:s["custom-indicator"]},[(o.active||0)+1,c(" / "),o.total])}),t(w,{border:!1,class:[s.goodsHead,"mb12"]},{default:()=>[t(u,{center:!0,border:!1},{title:()=>t("div",{class:s.priceGroup},[t("span",{class:s.price},[t("i",null,[c("\xA5")]),d(e.price)]),t("del",{class:s.delPrice},[c("\xA5"),d(e.originalPrice)])])}),t(u,{center:!0,border:!1,title:e.name,titleClass:[s.goodsName,"van-ellipsis"]},null)]}),t(x,{class:[s.row,"mb12"]},{default:()=>[t(p,{span:4,class:s.col},{default:()=>[c("\u89C4\u683C")]}),t(p,{span:20},{default:()=>[t(v,{class:s["radio-group"],modelValue:this.radio,"onUpdate:modelValue":o=>this.radio=o},X(a=this.skuStockList.map(o=>{const i=o.id===this.radio,r=i?"primary":"default";return t(C,{position:"top-right",content:o.stock<=0?"\u7F3A\u8D27":"",color:"#999999",class:s.badge,offset:[-20,0]},{default:()=>[t(j,{class:s.radio,name:o.id,disabled:o.stock<=0,onClick:()=>{o.stock<=0||(this.radio=o.id)}},{default:()=>[t(P,{size:"large",plain:i,type:r},{default:()=>[o.spDataJson]})]})]})}))?a:{default:()=>[a]})]})]}),this.detailMobileHtml&&t("div",{class:[s.section]},[t("div",{class:s.detail},[t("span",null,[c("\u56FE\u6587\u8BE6\u60C5")])]),t("div",{class:[s.photoDetail,"msgWrap"],onClick:this.onShowImg,innerHTML:this.detailMobileHtml},null)]),!this.loading&&t(B,{class:s.actionBar},{default:()=>[t(I,{icon:"cart-o"},{icon:()=>t(D,{name:L,size:30},null)}),t("div",{class:s.buyGroup},[t(m,{type:"primary",class:s.addCertBtn,text:"\u52A0\u5165\u8D2D\u7269\u8F66"},null),t(m,{type:"primary",text:"\u7ACB\u5373\u8D2D\u4E70",onClick:this.onBuy},null)])]})])}});export{ut as default};
|