1234567 |
- ;(function(){function asyncGeneratorStep(gen,resolve,reject,_next,_throw,key,arg){try{var info=gen[key](arg);var value=info.value;}catch(error){reject(error);return;}if(info.done){resolve(value);}else{Promise.resolve(value).then(_next,_throw);}}function _asyncToGenerator(fn){return function(){var self=this,args=arguments;return new Promise(function(resolve,reject){var gen=fn.apply(self,args);function _next(value){asyncGeneratorStep(gen,resolve,reject,_next,_throw,"next",value);}function _throw(err){asyncGeneratorStep(gen,resolve,reject,_next,_throw,"throw",err);}_next(undefined);});};}var __vite_style__=document.createElement('style');__vite_style__.innerHTML="._swipeItemImg_1y2kt_1,._swipe_1y2kt_1{width:100%;height:10rem;vertical-align:middle}._custom-indicator_1y2kt_7{position:absolute;right:.13333rem;bottom:.13333rem;padding:.10667rem .21333rem;font-size:.37333rem;color:#fff;background:rgba(0,0,0,.5);border-radius:.32rem}._goodsHead_1y2kt_17{padding:.21333rem 0}._goodsHead_1y2kt_17 .van-cell{padding-top:.13333rem;padding-bottom:.13333rem}._priceGroup_1y2kt_24{display:flex;align-items:center}._priceGroup_1y2kt_24 ._price_1y2kt_24{color:#ff4e19;font-size:.64rem}._priceGroup_1y2kt_24 ._price_1y2kt_24 i{font-size:.42667rem;font-style:normal}._priceGroup_1y2kt_24 ._delPrice_1y2kt_36{font-size:.37333rem;color:#999;margin-left:.32rem;line-height:.53333rem}._priceGroup_1y2kt_24 ._stock_1y2kt_42{font-size:.37333rem;color:#999}._goodsName_1y2kt_46{font-size:.42667rem;font-weight:500;color:#333;line-height:.58667rem}._row_1y2kt_52{background-color:#fff;padding:var(--van-cell-vertical-padding) var(--van-cell-horizontal-padding)}._row_1y2kt_52 ._col_1y2kt_56{line-height:.85333rem;font-size:.42667rem;color:#333}._radio-group_1y2kt_61{display:flex;flex-wrap:wrap}._radio_1y2kt_61{margin-right:.26667rem;margin-bottom:.21333rem}._radio_1y2kt_61 .van-radio__label--disabled{opacity:.5}._radio_1y2kt_61 .van-radio__icon{display:none}._radio_1y2kt_61 .van-tag--large{height:.85333rem;font-size:.42667rem;text-align:center;display:flex;align-items:center;justify-content:center}._radio_1y2kt_61 .van-tag{box-sizing:border-box}._radio_1y2kt_61 .van-tag--default{color:#999}._radio_1y2kt_61 .van-tag--primary{background-color:#f7f8f9}._radio_1y2kt_61 .van-radio__label{margin-left:0}._badge_1y2kt_95 .van-badge{border-radius:.16rem 0;font-size:.32rem}._section_1y2kt_99{background:#fff;padding:.32rem 0 0}._detail_1y2kt_103{display:flex;align-items:center;justify-content:center;font-size:.37333rem;color:#999;line-height:.53333rem;margin-bottom:.32rem}._detail_1y2kt_103 span{padding:0 .26667rem}._detail_1y2kt_103:before,._detail_1y2kt_103:after{display:inline-block;content:\" \";width:1.06667rem;height:.08rem}._detail_1y2kt_103:before{background:linear-gradient(90deg,rgba(238,238,238,0) 0%,#d8d8d8 100%)}._detail_1y2kt_103:after{background:linear-gradient(270deg,rgba(238,238,238,0) 0%,#d8d8d8 100%)}._photoDetail_1y2kt_128 img{width:100%;vertical-align:middle}._goodsDetail_1y2kt_132{margin-bottom:var(--van-action-bar-height)}._actionBar_1y2kt_135{padding:0 .13333rem;justify-content:space-between;box-shadow:0 -.26667rem .26667rem var(--box-shadow-color);box-sizing:border-box}._actionBar_1y2kt_135 .van-submit-bar__bar{justify-content:space-between;padding:0}._actionBar_1y2kt_135 .van-action-bar-icon{align-items:center}._actionBar_1y2kt_135 .van-action-bar-icon__icon{margin-bottom:0;line-height:0}._actionBar_1y2kt_135 .van-badge{background:#ff4e19}._addCertBtn_1y2kt_155{background:#fff;color:var(--van-primary)}._buyGroup_1y2kt_159{flex-basis:60%;display:flex;justify-content:center;border:var(--van-button-border-width) solid var(--van-button-primary-border-color)!important;border-radius:.53333rem;background-color:var(--van-primary);overflow:hidden;box-sizing:border-box}\n";document.head.appendChild(__vite_style__);System.register(['./index-legacy.ebe81e45.js','./vendor-legacy.c3310871.js','./index-legacy.637f35563.js','./index-legacy.f25f109a4.js','./index-legacy.f25f109a.js','./index-legacy.f25f109a2.js','./index-legacy.f25f109a15.js','./index-legacy.637f35566.js','./index-legacy.f25f109a14.js','./index-legacy.f25f109a9.js','./index-legacy.637f3556.js','./index-legacy.637f35562.js','./index-legacy.f25f109a19.js','./icon-shop-cart-legacy.4af1d7c9.js','./index-legacy.5be515ee.js','./index-legacy.f25f109a12.js'],function(exports){'use strict';var request,moneyFormat,defineComponent,ImagePreview,Toast,createVNode,Swipe,SwipeItem,Image,createTextVNode,CellGroup,Cell,Row,Col,RadioGroup,Badge,Radio,Tag,isVNode,Fragment,SubmitBar,Icon,ActionBarButton,Popup,iconShopCart,AddGoodsCart;return{setters:[function(module){request=module.r;moneyFormat=module.m;},function(module){defineComponent=module.d;ImagePreview=module.ao;Toast=module.T;createVNode=module.a;Swipe=module.ak;SwipeItem=module.aj;Image=module.I;createTextVNode=module.j;CellGroup=module.C;Cell=module.q;Row=module.k;Col=module.l;RadioGroup=module.ab;Badge=module.al;Radio=module.ac;Tag=module.z;isVNode=module.x;Fragment=module.F;SubmitBar=module.ap;Icon=module.u;ActionBarButton=module.aq;Popup=module.P;},function(){},function(){},function(){},function(){},function(){},function(){},function(){},function(){},function(){},function(){},function(){},function(module){iconShopCart=module.i;},function(module){AddGoodsCart=module.A;},function(){}],execute:function execute(){var swipeItemImg="_swipeItemImg_1y2kt_1";var swipe="_swipe_1y2kt_1";var goodsHead="_goodsHead_1y2kt_17";var priceGroup="_priceGroup_1y2kt_24";var price="_price_1y2kt_24";var delPrice="_delPrice_1y2kt_36";var stock="_stock_1y2kt_42";var goodsName="_goodsName_1y2kt_46";var row="_row_1y2kt_52";var col="_col_1y2kt_56";var radio="_radio_1y2kt_61";var badge="_badge_1y2kt_95";var section="_section_1y2kt_99";var detail="_detail_1y2kt_103";var photoDetail="_photoDetail_1y2kt_128";var goodsDetail="_goodsDetail_1y2kt_132";var actionBar="_actionBar_1y2kt_135";var addCertBtn="_addCertBtn_1y2kt_155";var buyGroup="_buyGroup_1y2kt_159";var styles={swipeItemImg:swipeItemImg,swipe:swipe,"custom-indicator":"_custom-indicator_1y2kt_7",goodsHead:goodsHead,priceGroup:priceGroup,price:price,delPrice:delPrice,stock:stock,goodsName:goodsName,row:row,col:col,"radio-group":"_radio-group_1y2kt_61",radio:radio,badge:badge,section:section,detail:detail,photoDetail:photoDetail,goodsDetail:goodsDetail,actionBar:actionBar,addCertBtn:addCertBtn,buyGroup:buyGroup};function _isSlot(s){return typeof s==='function'||Object.prototype.toString.call(s)==='[object Object]'&&!isVNode(s);}var index=exports('default',defineComponent({name:'goods-detail',data:function data(){var query=this.$route.query;return{id:query.id,albumPics:[],product:{},radio:0,skuStockListTemp:[],detailMobileHtml:'',loading:false,addGoodsShow:false,selectGoodsItem:{},cartCount:0,showType:'cart'};},computed:{skuStockList:function skuStockList(){// 处理规格
- var product=this.product;var skuStockList=this.skuStockListTemp.length>0?this.skuStockListTemp:[{id:-1,price:product.price,pic:product.pic,stock:product.stock,spData:null}];skuStockList.forEach(function(item){if(item.spData){var spData=JSON.parse(item.spData);var str='';spData.forEach(function(sp){str+="".concat(sp.value);});item.spDataJson=str;}else{item.spDataJson='默认';}});return skuStockList;},getPrice:function getPrice(){var _this=this;var item=this.skuStockList.filter(function(n){return n.id==_this.radio;});if(item&&Array.isArray(item)&&item.length){return item[0].price;}return 0;}},mounted:function mounted(){var _this2=this;return _asyncToGenerator(/*#__PURE__*/regeneratorRuntime.mark(function _callee(){var res,result,len,i,item;return regeneratorRuntime.wrap(function _callee$(_context){while(1){switch(_context.prev=_context.next){case 0:_context.prev=0;_this2.loading=true;_context.next=4;return request.get("/api-mall-portal/product/detail/".concat(_this2.id));case 4:res=_context.sent;_this2.loading=false;result=res.data||{};_this2.albumPics=[result.product.pic].concat(result.product.albumPics.split(',')).filter(function(n){return n;});_this2.product=result.product;_this2.skuStockListTemp=result.skuStockList||[];if(!_this2.skuStockListTemp.length){_context.next=21;break;}len=_this2.skuStockListTemp.length;i=0;case 13:if(!(i<len)){_context.next=21;break;}item=_this2.skuStockListTemp[i];if(!(item.stock>=0)){_context.next=18;break;}_this2.radio=item.id;return _context.abrupt("break",21);case 18:i++;_context.next=13;break;case 21:_this2.detailMobileHtml=result.product.detailMobileHtml;_context.next=26;break;case 24:_context.prev=24;_context.t0=_context["catch"](0);case 26:_this2.getCartCount();case 27:case"end":return _context.stop();}}},_callee,null,[[0,24]]);}))();},methods:{onPreview:function onPreview(index){// 图片预览
- ImagePreview({images:this.albumPics,startPosition:index,closeable:true});},onShowImg:function onShowImg(target){var localName=target.srcElement.localName;if(localName!=='img'){return;}var startPosition=0;var domList=document.querySelectorAll('.msgWrap img');var imgList=Array.from(domList).map(function(item,index){if(target.srcElement==item){startPosition=index;}return item.src;});ImagePreview({images:imgList,startPosition:startPosition,closeable:true});},onShowCart:function onShowCart(){var type=arguments.length>0&&arguments[0]!==undefined?arguments[0]:'cart';this.selectGoodsItem={price:this.product.pic,stock:this.product.stock,skuStockList:this.skuStockListTemp.length?this.skuStockListTemp:undefined,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=type;// 打开购物弹框
- this.addGoodsShow=true;},onBuy:function onBuy(){// 购买
- if(!this.radio){return Toast('请选择规格');}console.log(true);},getCartCount:function getCartCount(){var _this3=this;return _asyncToGenerator(/*#__PURE__*/regeneratorRuntime.mark(function _callee2(){var _yield$request$get,code,data;return regeneratorRuntime.wrap(function _callee2$(_context2){while(1){switch(_context2.prev=_context2.next){case 0:_context2.prev=0;_context2.next=3;return request.get('/api-mall-portal/cart/list');case 3:_yield$request$get=_context2.sent;code=_yield$request$get.code;data=_yield$request$get.data;if(code===200){_this3.cartCount=data.length;}_context2.next=11;break;case 9:_context2.prev=9;_context2.t0=_context2["catch"](0);case 11:case"end":return _context2.stop();}}},_callee2,null,[[0,9]]);}))();}},render:function render(){var _this4=this;var _slot;var product=this.product;return createVNode("div",{"class":styles.goodsDetail},[createVNode(Swipe,{"class":styles.swipe,"lazyRender":true},{default:function _default(){return[_this4.albumPics.map(function(item,index){return createVNode(SwipeItem,null,{default:function _default(){return[createVNode(Image,{"class":styles.swipeItemImg,"src":item,"onClick":function onClick(){return _this4.onPreview(index);},"fit":"cover"},null)];}});})];},indicator:function indicator(item){return item.total>1&&createVNode("div",{"class":styles['custom-indicator']},[(item.active||0)+1,createTextVNode(" / "),item.total]);}}),createVNode(CellGroup,{"border":false,"class":[styles.goodsHead,'mb12']},{default:function _default(){return[createVNode(Cell,{"center":true,"border":false,"title":product.name,"titleClass":[styles.goodsName,'van-ellipsis']},null),createVNode(Cell,{"center":true,"border":false},{title:function title(){return createVNode("div",{"class":styles.priceGroup},[createVNode("span",{"class":styles.price},[createVNode("i",null,[createTextVNode("\xA5")]),moneyFormat(_this4.getPrice)]),createVNode("del",{"class":styles.delPrice},[createTextVNode("\xA5"),moneyFormat(product.originalPrice)])]);}// default: () => <div class={styles.stock}>销量4件</div>
- })];}}),createVNode(Row,{"class":[styles.row,'mb12']},{default:function _default(){return[createVNode(Col,{"span":4,"class":styles.col},{default:function _default(){return[createTextVNode("\u89C4\u683C")];}}),createVNode(Col,{"span":20},{default:function _default(){return[createVNode(RadioGroup,{"class":styles['radio-group'],"modelValue":_this4.radio,"onUpdate:modelValue":function onUpdateModelValue(val){return _this4.radio=val;}},_isSlot(_slot=_this4.skuStockList.map(function(item){var isActive=item.id===_this4.radio;var type=isActive?'primary':'default';return createVNode(Badge,{"position":"top-right","content":item.stock<=0?'缺货':'',"color":'#999999',"class":styles.badge,"offset":[-20,0]},{default:function _default(){return[createVNode(Radio,{"class":styles.radio,"name":item.id,"disabled":item.stock<=0,"onClick":function onClick(){// 判断是否有库存
- if(item.stock<=0){return;}_this4.radio=item.id;}},{default:function _default(){return[createVNode(Tag,{"size":"large","plain":isActive,"type":type},{default:function _default(){return[item.spDataJson];}})];}})];}});}))?_slot:{default:function _default(){return[_slot];}})];}})];}}),this.detailMobileHtml&&createVNode("div",{"class":[styles.section]},[createVNode("div",{"class":styles.detail},[createVNode("span",null,[createTextVNode("\u56FE\u6587\u8BE6\u60C5")])]),createVNode("div",{"class":[styles.photoDetail,'msgWrap'],"onClick":this.onShowImg,"innerHTML":this.detailMobileHtml},null)]),!this.loading&&createVNode(Fragment,null,[createVNode(SubmitBar,{"class":styles.actionBar,"safe-area-inset-bottom":true},{default:function _default(){return[createVNode(Badge,{"content":_this4.cartCount,"showZero":false,"onClick":function onClick(){_this4.$router.push('/cart');}},{default:function _default(){return[createVNode(Icon,{"name":iconShopCart,"size":30},null)];}})];},button:function button(){return createVNode("div",{"class":styles.buyGroup},[createVNode(ActionBarButton,{"type":"primary","class":styles.addCertBtn,"text":"加入购物车","onClick":function onClick(){return _this4.onShowCart();}},null),createVNode(ActionBarButton,{"type":"primary","text":"立即购买","onClick":function onClick(){return _this4.onShowCart('cartConfirm');}},null)]);}})]),createVNode(Popup,{"show":this.addGoodsShow,"closeable":true,"position":"bottom","round":true,"onClose":function onClose(){_this4.addGoodsShow=false;}},{default:function _default(){return[createVNode(AddGoodsCart,{"onGetCartCount":function onGetCartCount(){return _this4.getCartCount();},"item":_this4.selectGoodsItem,"defaultRadio":_this4.radio,"showType":_this4.showType},null)];}})]);}}));}};});})();
|