| 1 |
- import{V as e,S as a,W as o,o as s,c as t,w as l,a as d,f as n,t as i,e as u,k as r,i as c,l as m,b as g,d as p,F as f,N as _,L as h,M as k,g as y,C,r as v,q as S,$ as w,n as b,j as x,y as I,X as T,u as P,v as L,R as B}from"./index-DVbFeFXr.js";import{_ as V}from"./mp-html.CZXQ7L9B.js";import{r as N}from"./uni-app.es.BZZrcWfv.js";import{d as M}from"./index.DJMsJV-b.js";import{a as j,t as A}from"./cart.mO0MswIt.js";import{G as $,h as E,a as U}from"./index.BX0IzlE5.js";import{_ as D}from"./_plugin-vue_export-helper.BCo6x5W8.js";import{C as O}from"./index.SnbxCjdQ.js";import{l as R,_ as G}from"./comment.D8ki3NbU.js";import{A as H}from"./index.BSt_TZAn.js";import{_ as Q}from"./u-popup.DTY0oIIM.js";import"./u-icon.BaXMqVPv.js";const W={name:"ShareSheet",components:{},emits:["update:modelValue"],props:{modelValue:{Type:Boolean,default:!1},cancelWithMask:{type:Boolean,default:!0},shareTitle:{type:String,default:"商品分享"},shareImageUrl:{type:String,default:""},cancelText:{type:String,default:"关闭"}},data:()=>({}),created(){this.initSharesheet()},methods:{initSharesheet(){},onMaskClick(){this.cancelWithMask&&this.handleCancel()},getShareUrl(){const{path:s,query:t}=e();return new Promise(((e,l)=>{a.h5Url().then((a=>{const l=o(a,s,t);e(l)}))}))},handleCopyLink(){const e=this;e.getShareUrl().then((a=>{uni.setClipboardData({data:a,success:()=>e.$toast("链接复制成功,快去发送给朋友吧~"),fail:({errMsg:a})=>e.$toast("复制失败 "+a),complete:()=>e.handleCancel()})}))},handleCancel(){this.$emit("update:modelValue",!1)}}};const q={components:{GoodsSkuPopup:$},emits:["update:modelValue"],props:{modelValue:{Type:Boolean,default:!1},skuMode:{type:Number,default:1},goods:{type:Object,default:{}}},data:()=>({goodsInfo:{},maxBuyNum:null}),computed:{activedBtnBackgroundColor(){return E(this.appTheme.mainBg,.1)}},created(){const e=this,{goods:a}=e;e.goodsInfo={_id:a.goods_id,name:a.goods_name,goods_thumb:a.goods_image,sku_list:e.getSkuList(),spec_list:e.getSpecList()},e.maxBuyNum=e.getMaxBuyNum()},methods:{onChangeValue(e){this.$emit("update:modelValue",e)},getSkuList(){const e=this,{goods:{goods_name:a,goods_image:o,skuList:s}}=e,t=[];return s.forEach((s=>{t.push({_id:s.id,goods_sku_id:s.goods_sku_id,goods_id:s.goods_id,goods_name:a,image:s.image_url?s.image_url:o,price:100*s.goods_price,stock:s.stock_num,spec_value_ids:s.spec_value_ids,sku_name_arr:e.getSkuNameArr(s.spec_value_ids)})})),t},getSkuNameArr(e){const a=this,o=[];return e&&e.forEach(((e,s)=>{const t=a.getSpecValueName(e,s);o.push(t)})),o.length?o:["默认"]},getSpecValueName(e,a){const{goods:{specList:o}}=this;return o[a].valueList.find((a=>a.spec_value_id==e)).spec_value},getSpecList(){const{goods:{specList:e}}=this,a=[];return e.forEach((e=>{const o=[];e.valueList.forEach((e=>{o.push({name:e.spec_value})})),a.push({name:e.spec_name,list:o})})),a.length?a:[{name:"默认",list:[{name:"默认"}]}]},getMaxBuyNum(){const{goods:e}=this;return e.is_restrict?e.restrict_single:null},openSkuPopup(){},closeSkuPopup(){},addCart(e){const a=this,{goods_id:o,goods_sku_id:s,buy_num:t}=e;j(o,s,t).then((e=>{a.$toast(e.message),a.onChangeValue(!1);const o=e.data.cartTotal;C(o),a.$emit("addCart",o)}))},buyNow(e){this.$navTo("pages/checkout/index",{mode:"buyNow",goodsId:e.goods_id,goodsSkuId:e.goods_sku_id,goodsNum:e.buy_num}),this.onChangeValue(!1)}}};const F="goods.service/list";const J=D({components:{ShareSheet:D(W,[["render",function(e,a,o,g,p,f){const _=c,h=m;return s(),t(_,{class:r(["sharesheet",{show:o.modelValue}])},{default:l((()=>[d(_,{class:"mask-class sharesheet__mask",onClick:f.onMaskClick},null,8,["onClick"]),d(_,{class:"sharesheet__container"},{default:l((()=>[d(_,{class:"sharesheet__list"},{default:l((()=>[d(_,{class:"share-item",onClick:a[0]||(a[0]=e=>f.handleCopyLink())},{default:l((()=>[d(_,{class:"item-image",style:{backgroundColor:"#38beec"}},{default:l((()=>[d(h,{class:"iconfont icon-link"})])),_:1}),d(_,{class:"item-name"},{default:l((()=>[d(h,null,{default:l((()=>[n("复制链接")])),_:1})])),_:1})])),_:1})])),_:1}),o.cancelText?(s(),t(_,{key:0,class:"sharesheet__footer",onClick:a[1]||(a[1]=e=>f.handleCancel())},{default:l((()=>[d(_,{class:"btn-cancel"},{default:l((()=>[n(i(o.cancelText),1)])),_:1})])),_:1})):u("",!0)])),_:1})])),_:1},8,["class"])}],["__scopeId","data-v-4b4245b8"]]),CustomerBtn:O,SlideImage:D({props:{video:{type:Object,default:()=>null},videoCover:{type:Object,default:()=>null},images:{type:Array,default:[]}},data:()=>({indicatorDots:!1,autoplay:!0,interval:4e3,duration:800,currentIndex:1}),methods:{onVideoPlay(e){this.autoplay=!1},setCurrent({detail:e}){this.currentIndex=e.current+1},onPreviewImages(e){const a=[];this.images.forEach((e=>{a.push(e.preview_url)})),uni.previewImage({current:a[e],urls:a})}}},[["render",function(e,a,o,r,C,v){const S=_,w=c,b=h,x=y,I=k,T=m;return s(),t(w,{class:"images-swiper"},{default:l((()=>[d(I,{class:"swiper-box",autoplay:C.autoplay,duration:C.duration,"indicator-dots":C.indicatorDots,interval:C.interval,circular:!0,onChange:v.setCurrent},{default:l((()=>[o.video?(s(),t(b,{key:0},{default:l((()=>[d(w,{class:"slide-video"},{default:l((()=>[d(S,{id:"myVideo",class:"video",poster:o.videoCover?o.videoCover.preview_url:"",src:o.video.external_url,controls:"","x5-playsinline":"",playsinline:"","x5-video-player-type":"h5","x5-video-player-fullscreen":"","x5-video-orientation":"portrait","enable-progress-gesture":!1,onPlay:v.onVideoPlay},null,8,["poster","src","onPlay"])])),_:1})])),_:1})):u("",!0),(s(!0),g(f,null,p(o.images,((e,a)=>(s(),t(b,{key:a,onClick:e=>v.onPreviewImages(a)},{default:l((()=>[d(w,{class:"slide-image"},{default:l((()=>[d(x,{class:"image",draggable:!1,src:e.preview_url},null,8,["src"])])),_:2},1024)])),_:2},1032,["onClick"])))),128))])),_:1},8,["autoplay","duration","indicator-dots","interval","onChange"]),d(w,{class:"swiper-count"},{default:l((()=>[d(T,null,{default:l((()=>[n(i(C.currentIndex),1)])),_:1}),d(T,null,{default:l((()=>[n("/")])),_:1}),d(T,null,{default:l((()=>[n(i(o.images.length+(o.video?1:0)),1)])),_:1})])),_:1})])),_:1})}],["__scopeId","data-v-fad94353"]]),SkuPopup:D(q,[["render",function(e,a,o,l,d,n){const i=v("goods-sku-popup");return s(),t(i,{modelValue:o.modelValue,onInput:n.onChangeValue,"border-radius":"20",localdata:d.goodsInfo,mode:o.skuMode,maskCloseAble:!0,priceColor:e.appTheme.mainBg,buyNowBackgroundColor:e.appTheme.mainBg,addCartColor:e.appTheme.viceText,addCartBackgroundColor:e.appTheme.viceBg,activedStyle:{color:e.appTheme.mainBg,borderColor:e.appTheme.mainBg,backgroundColor:n.activedBtnBackgroundColor},onOpen:n.openSkuPopup,onClose:n.closeSkuPopup,onAddCart:n.addCart,onBuyNow:n.buyNow,buyNowText:"立即购买",maxBuyNum:d.maxBuyNum},null,8,["modelValue","onInput","localdata","mode","priceColor","buyNowBackgroundColor","addCartColor","addCartBackgroundColor","activedStyle","onOpen","onClose","onAddCart","onBuyNow","maxBuyNum"])}]]),Comment:D({components:{AvatarImage:H},props:{goodsId:{type:Number,default:null},limit:{type:Number,default:2}},data:()=>({isLoading:!0,rates:{10:5,20:3,30:1},list:[],total:0}),created(){this.getCommentList()},methods:{getCommentList(){const e=this;e.isLoading=!0,R(e.goodsId,e.limit).then((a=>{e.list=a.data.list,e.total=a.data.total})).catch((e=>e)).finally((()=>e.isLoading=!1))},onTargetToComment(){this.$navTo("pages/comment/index",{goodsId:this.goodsId})}}},[["render",function(e,a,o,r,_,h){const k=m,y=c,C=v("avatar-image"),w=N(S("u-rate"),G);return!_.isLoading&&_.list.length?(s(),t(y,{key:0,class:"goods-comment m-top20"},{default:l((()=>[d(y,{class:"item-title dis-flex"},{default:l((()=>[d(y,{class:"block-left flex-box"},{default:l((()=>[n(" 商品评价 ("),d(k,{class:"total"},{default:l((()=>[n(i(_.total)+"条",1)])),_:1}),n(") ")])),_:1}),d(y,{class:"block-right"},{default:l((()=>[d(k,{onClick:h.onTargetToComment,class:"show-more col-9"},{default:l((()=>[n("查看更多")])),_:1},8,["onClick"]),d(k,{class:"iconfont icon-arrow-right col-9"})])),_:1})])),_:1}),d(y,{class:"comment-list"},{default:l((()=>[(s(!0),g(f,null,p(_.list,((e,a)=>(s(),t(y,{class:"comment-item",key:a},{default:l((()=>[d(y,{class:"comment-item_row dis-flex flex-y-center"},{default:l((()=>[d(y,{class:"user-info dis-flex flex-y-center"},{default:l((()=>[d(y,{class:"user-avatar"},{default:l((()=>[d(C,{url:e.user.avatar_url,width:50},null,8,["url"])])),_:2},1024),d(k,{class:"user-name"},{default:l((()=>[n(i(e.user.nick_name),1)])),_:2},1024)])),_:2},1024),d(y,{class:"star-rating"},{default:l((()=>[d(w,{"active-color":"#f4a213",current:_.rates[e.score],disabled:!0},null,8,["current"])])),_:2},1024)])),_:2},1024),d(y,{class:"item-content m-top20"},{default:l((()=>[d(k,{class:"f-26 twoline-hide"},{default:l((()=>[n(i(e.content),1)])),_:2},1024)])),_:2},1024),d(y,{class:"comment-time"},{default:l((()=>[n(i(e.create_time),1)])),_:2},1024)])),_:2},1024)))),128))])),_:1})])),_:1})):u("",!0)}],["__scopeId","data-v-94b3762a"]]),Service:D({props:{goodsId:{type:Number,default:null}},data:()=>({isLoading:!0,showPopup:!1,list:[]}),created(){this.getServiceList()},methods:{getServiceList(){const e=this;var a;e.isLoading=!0,(a=e.goodsId,w.get(F,{goodsId:a})).then((a=>e.list=a.data.list)).finally((()=>e.isLoading=!1))},handlePopup(){this.showPopup=!this.showPopup}}},[["render",function(e,a,o,r,_,h){const k=m,y=c,C=x,v=N(S("u-popup"),Q);return _.list.length?(s(),t(y,{key:0,class:"service-wrapper",style:b(e.appThemeStyle)},{default:l((()=>[d(y,{class:"service-simple",onClick:h.handlePopup},{default:l((()=>[d(y,{class:"s-list"},{default:l((()=>[(s(!0),g(f,null,p(_.list,((e,a)=>(s(),t(y,{class:"s-item",key:a},{default:l((()=>[d(k,{class:"item-icon iconfont icon-fuwu"}),d(k,{class:"item-val"},{default:l((()=>[n(i(e.name),1)])),_:2},1024)])),_:2},1024)))),128))])),_:1}),d(y,{class:"s-arrow f-26 col-9 t-r"},{default:l((()=>[d(k,{class:"iconfont icon-arrow-right"})])),_:1})])),_:1},8,["onClick"]),d(v,{modelValue:_.showPopup,"onUpdate:modelValue":a[0]||(a[0]=e=>_.showPopup=e),mode:"bottom",closeable:!0,"border-radius":26},{default:l((()=>[d(y,{class:"service-content"},{default:l((()=>[d(y,{class:"title"},{default:l((()=>[n("服务")])),_:1}),d(C,{class:"content-scroll","scroll-y":!0},{default:l((()=>[d(y,{class:"s-list clearfix"},{default:l((()=>[(s(!0),g(f,null,p(_.list,((e,a)=>(s(),t(y,{class:"s-item",key:a},{default:l((()=>[d(k,{class:"item-icon iconfont icon-fuwu"}),d(y,{class:"item-val"},{default:l((()=>[n(i(e.name),1)])),_:2},1024),d(y,{class:"item-summary"},{default:l((()=>[n(i(e.summary),1)])),_:2},1024)])),_:2},1024)))),128))])),_:1})])),_:1})])),_:1})])),_:1},8,["modelValue"])])),_:1},8,["style"])):u("",!0)}],["__scopeId","data-v-3d9ab61b"]])},data:()=>({isLoading:!0,goodsId:null,goods:{},cartTotal:0,showSkuPopup:!1,skuMode:1,showShareSheet:!1,isEnableCart:!1,isShowCustomerBtn:!1}),computed:{pagePath(){return`/pages/goods/detail?${this.$getShareUrlParams({goodsId:this.goodsId})}`}},async onLoad(e){this.onRecordQuery(e),this.onRefreshPage(),this.isShowCustomerBtn=await I.isShowCustomerBtn()},methods:{onRecordQuery(e){const a=T(e);this.goodsId=e.goodsId?parseInt(e.goodsId):parseInt(a.gid)},onRefreshPage(){const e=this;e.isLoading=!0,Promise.all([e.getGoodsDetail(),e.getCartTotal()]).finally((()=>e.isLoading=!1))},getGoodsDetail(){const e=this;return new Promise(((a,o)=>{M(e.goodsId).then((o=>{e.goods=o.data.detail,e.goods.goods_type==U.PHYSICAL.value&&(e.isEnableCart=!0),a(o)})).catch(o)}))},getCartTotal(){const e=this;return new Promise(((a,o)=>{A().then((o=>{e.cartTotal=o.data.cartTotal,a(o)})).catch(o)}))},onAddCart(e){this.cartTotal=e},onShowSkuPopup(e=1){const a=this;a.isEnableCart?a.skuMode=e:a.skuMode=3,a.showSkuPopup=!a.showSkuPopup},onShowShareSheet(){this.showShareSheet=!this.showShareSheet},onTargetHome(e){this.$navTo("pages/index/index")},onTargetCart(){this.$navTo("pages/cart/index")}},onShareAppMessage(){return{title:this.goods.goods_name,path:this.pagePath}},onShareTimeline(){return{title:this.goods.goods_name,path:this.pagePath}}},[["render",function(e,a,o,r,_,h){const k=v("SlideImage"),y=m,C=c,w=B,x=v("Service"),I=v("SkuPopup"),T=v("Comment"),M=N(S("mp-html"),V),j=v("customer-btn"),A=v("share-sheet");return P((s(),t(C,{class:"container",style:b(e.appThemeStyle)},{default:l((()=>[_.isLoading?u("",!0):(s(),t(k,{key:0,video:_.goods.video,videoCover:_.goods.videoCover,images:_.goods.goods_images},null,8,["video","videoCover","images"])),_.isLoading?u("",!0):(s(),t(C,{key:1,class:"goods-info m-top20"},{default:l((()=>[d(C,{class:"info-item info-item__top dis-flex flex-x-between flex-y-end"},{default:l((()=>[d(C,{class:"block-left dis-flex flex-y-center"},{default:l((()=>[d(y,{class:"floor-price__samll"},{default:l((()=>[n("¥")])),_:1}),d(y,{class:"floor-price"},{default:l((()=>[n(i(_.goods.goods_price_min),1)])),_:1}),_.goods.is_user_grade?(s(),t(C,{key:0,class:"user-grade"},{default:l((()=>[d(y,null,{default:l((()=>[n("会员价")])),_:1})])),_:1})):u("",!0),_.goods.line_price_min>0?(s(),t(y,{key:1,class:"original-price"},{default:l((()=>[n("¥"+i(_.goods.line_price_min),1)])),_:1})):u("",!0)])),_:1}),d(C,{class:"block-right dis-flex"},{default:l((()=>[d(C,{class:"goods-sales"},{default:l((()=>[d(y,null,{default:l((()=>[n("已售"+i(_.goods.goods_sales)+"件",1)])),_:1})])),_:1})])),_:1})])),_:1}),d(C,{class:"info-item info-item__name dis-flex flex-y-center"},{default:l((()=>[d(C,{class:"goods-name flex-box"},{default:l((()=>[d(y,{class:"twoline-hide"},{default:l((()=>[n(i(_.goods.goods_name),1)])),_:1})])),_:1}),d(C,{class:"goods-share__line"}),d(C,{class:"goods-share"},{default:l((()=>[d(w,{class:"share-btn dis-flex flex-dir-column",onClick:a[0]||(a[0]=e=>h.onShowShareSheet())},{default:l((()=>[d(y,{class:"share__icon iconfont icon-fenxiang"}),d(y,{class:"f-24"},{default:l((()=>[n("分享")])),_:1})])),_:1})])),_:1})])),_:1}),_.goods.selling_point?(s(),t(C,{key:0,class:"info-item info-item_selling-point"},{default:l((()=>[d(y,null,{default:l((()=>[n(i(_.goods.selling_point),1)])),_:1})])),_:1})):u("",!0)])),_:1})),20==_.goods.spec_type?(s(),t(C,{key:2,class:"goods-choice m-top20 b-f",onClick:a[1]||(a[1]=e=>h.onShowSkuPopup(1))},{default:l((()=>[d(C,{class:"spec-list"},{default:l((()=>[d(C,{class:"flex-box"},{default:l((()=>[d(y,{class:"col-8"},{default:l((()=>[n("选择:")])),_:1}),(s(!0),g(f,null,p(_.goods.specList,((e,a)=>(s(),t(y,{class:"spec-name",key:a},{default:l((()=>[n(i(e.spec_name),1)])),_:2},1024)))),128))])),_:1}),d(C,{class:"f-26 col-9 t-r"},{default:l((()=>[d(y,{class:"iconfont icon-arrow-right"})])),_:1})])),_:1})])),_:1})):u("",!0),_.isLoading?u("",!0):(s(),t(x,{key:3,"goods-id":_.goodsId},null,8,["goods-id"])),_.isLoading?u("",!0):(s(),t(I,{key:4,modelValue:_.showSkuPopup,"onUpdate:modelValue":a[2]||(a[2]=e=>_.showSkuPopup=e),skuMode:_.skuMode,goods:_.goods,onAddCart:h.onAddCart},null,8,["modelValue","skuMode","goods","onAddCart"])),_.isLoading?u("",!0):(s(),t(T,{key:5,"goods-id":_.goodsId,limit:2},null,8,["goods-id"])),_.isLoading?u("",!0):(s(),t(C,{key:6,class:"goods-content m-top20"},{default:l((()=>[d(C,{class:"item-title b-f"},{default:l((()=>[d(y,null,{default:l((()=>[n("商品描述")])),_:1})])),_:1}),""!=_.goods.content?(s(),t(C,{key:0,class:"goods-content__detail b-f"},{default:l((()=>[d(M,{content:_.goods.content},null,8,["content"])])),_:1})):u("",!0)])),_:1})),d(C,{class:"footer-fixed"},{default:l((()=>[d(C,{class:"footer-container"},{default:l((()=>[d(C,{class:"foo-item-fast"},{default:l((()=>[d(C,{class:"fast-item fast-item--home",onClick:h.onTargetHome},{default:l((()=>[d(C,{class:"fast-icon"},{default:l((()=>[d(y,{class:"iconfont icon-shouye"})])),_:1}),d(C,{class:"fast-text"},{default:l((()=>[d(y,null,{default:l((()=>[n("首页")])),_:1})])),_:1})])),_:1},8,["onClick"]),_.isShowCustomerBtn?(s(),t(j,{key:0,showCard:!0,cardTitle:_.goods.goods_name,cardImage:_.goods.goods_image,cardPath:h.pagePath},{default:l((()=>[d(C,{class:"fast-item"},{default:l((()=>[d(C,{class:"fast-icon"},{default:l((()=>[d(y,{class:"iconfont icon-kefu1"})])),_:1}),d(C,{class:"fast-text"},{default:l((()=>[d(y,null,{default:l((()=>[n("客服")])),_:1})])),_:1})])),_:1})])),_:1},8,["cardTitle","cardImage","cardPath"])):u("",!0),d(C,{class:"fast-item fast-item--cart",onClick:h.onTargetCart},{default:l((()=>[_.cartTotal>0?(s(),t(C,{key:0,class:"fast-badge fast-badge--fixed"},{default:l((()=>[n(i(_.cartTotal>99?"99+":_.cartTotal),1)])),_:1})):u("",!0),d(C,{class:"fast-icon"},{default:l((()=>[d(y,{class:"iconfont icon-gouwuche"})])),_:1}),d(C,{class:"fast-text"},{default:l((()=>[d(y,null,{default:l((()=>[n("购物车")])),_:1})])),_:1})])),_:1},8,["onClick"])])),_:1}),d(C,{class:"foo-item-btn"},{default:l((()=>[d(C,{class:"btn-wrapper"},{default:l((()=>[_.isEnableCart?(s(),t(C,{key:0,class:"btn-item btn-item-deputy",onClick:a[3]||(a[3]=e=>h.onShowSkuPopup(2))},{default:l((()=>[d(y,null,{default:l((()=>[n("加入购物车")])),_:1})])),_:1})):u("",!0),d(C,{class:"btn-item btn-item-main",onClick:a[4]||(a[4]=e=>h.onShowSkuPopup(3))},{default:l((()=>[d(y,null,{default:l((()=>[n("立即购买")])),_:1})])),_:1})])),_:1})])),_:1})])),_:1})])),_:1}),d(A,{modelValue:_.showShareSheet,"onUpdate:modelValue":a[5]||(a[5]=e=>_.showShareSheet=e),shareTitle:_.goods.goods_name,shareImageUrl:_.goods.goods_image},null,8,["modelValue","shareTitle","shareImageUrl"])])),_:1},8,["style"])),[[L,!_.isLoading]])}],["__scopeId","data-v-318ff12d"]]);export{J as default};
|