pages-goods-index.0ea0edd5.js 10 KB

1
  1. import{C as s,c as o,b as e,d as t,o as l,e as a,w as d,i as n,y as c,f as i,F as u,h as r,G as p,j as f,z as g,m,B as _,S as y,s as b,A as I,H as k,u as w,l as h,v as x,p as v,k as S,a0 as C,Z as V,a1 as j}from"./index-520dfaee.js";import{_ as $}from"./s-empty.b6c95127.js";import{_ as M}from"./su-swiper.9f671df5.js";import{_ as A}from"./s-select-sku.0393cb3b.js";import{_ as P}from"./s-coupon-list.26ded2df.js";import{_ as U,b as B,a as G}from"./s-layout.5146c957.js";import{_ as O}from"./_plugin-vue_export-helper.1b428a4d.js";import{f as L,a as z,b as F}from"./useGoods.7c6b9280.js";import{d as H,a as T,_ as q,b as E,c as J,e as N,f as Z,g as D}from"./detail-content-card.3b4b5ee8.js";/* empty css */import"./su-number-box.f5462364.js";import"./comment-item.4d4387d7.js";import"./uni-rate.b2e08c50.js";import"./su-image.ba5fb633.js";import"./mp-html.30fd211a.js";const K=O({__name:"s-coupon-get",props:{modelValue:{type:Object,default(){}},show:{type:Boolean,default:!1}},emits:["get","close"],setup(b,{emit:I}){const k=b,w=s({couponInfo:o((()=>k.modelValue)),currentValue:-1,couponId:""});return(s,o)=>{const k=m,h=_,x=e(t("s-coupon-list"),P),v=y,S=e(t("su-popup"),U);return l(),a(S,{show:b.show,type:"bottom",round:"20",onClose:o[0]||(o[0]=s=>I("close")),showClose:"",backgroundColor:"#f2f2f2"},{default:d((()=>[n(k,{class:"model-box"},{default:d((()=>[n(k,{class:"title ss-m-t-16 ss-m-l-20 ss-flex"},{default:d((()=>[c("优惠券")])),_:1}),n(v,{class:"model-content","scroll-y":"","scroll-with-animation":!1,"enable-back-to-top":!0},{default:d((()=>[n(k,{class:"subtitle ss-m-l-20"},{default:d((()=>[c("可使用优惠券")])),_:1}),(l(!0),i(u,null,r(w.couponInfo,(s=>(l(),a(k,{key:s.id},{default:d((()=>[n(x,{data:s},{default:d((()=>[n(h,{class:p(["ss-reset-button card-btn ss-flex ss-row-center ss-col-center","can_get"!=s.get_status&&"can_use"!=s.get_status?"boder-btn":""]),onClick:f((o=>{return e=s.id,void I("get",e);var e}),["stop"]),disabled:"can_get"!=s.get_status&&"can_use"!=s.get_status},{default:d((()=>[c(g(s.get_status_text),1)])),_:2},1032,["class","onClick","disabled"])])),_:2},1032,["data"])])),_:2},1024)))),128))])),_:1})])),_:1})])),_:1},8,["show"])}}},[["__scopeId","data-v-7cb167f1"]]),Q=O({__name:"s-activity-pop",props:{modelValue:{type:Object,default(){}},show:{type:Boolean,default:!1}},emits:["close"],setup(p,{emit:f}){const _=p,k=s({activityInfo:o((()=>_.modelValue))});return(s,o)=>{const _=m,w=I,h=y,x=e(t("su-popup"),U);return l(),a(x,{show:p.show,type:"bottom",round:"20",onClose:o[0]||(o[0]=s=>f("close")),showClose:""},{default:d((()=>[n(_,{class:"model-box"},{default:d((()=>[n(_,{class:"title ss-m-t-16 ss-m-l-20 ss-flex"},{default:d((()=>[c("营销活动")])),_:1}),n(h,{class:"model-content ss-m-t-50","scroll-y":"","scroll-with-animation":!1,"enable-back-to-top":!0},{default:d((()=>[(l(!0),i(u,null,r(k.activityInfo,(s=>(l(),a(_,{key:s.id},{default:d((()=>[n(_,{class:"ss-flex ss-col-top ss-m-b-40",onClick:o=>{return e=s,void b.$router.go("/pages/activity/index",{activityId:e.id});var e}},{default:d((()=>[n(_,{class:"model-content-tag ss-flex ss-row-center"},{default:d((()=>[c(g(s.type_text),1)])),_:2},1024),n(_,{class:"ss-m-l-20 model-content-title ss-flex-1"},{default:d((()=>[(l(!0),i(u,null,r(s.texts,(s=>(l(),a(_,{class:"ss-m-b-24",key:s},{default:d((()=>[c(g(s),1)])),_:2},1024)))),128))])),_:2},1024),n(w,{class:"cicon-forward"})])),_:2},1032,["onClick"])])),_:2},1024)))),128))])),_:1})])),_:1})])),_:1},8,["show"])}}},[["__scopeId","data-v-4db6a67e"]]),R=O({__name:"detail-activity-tip",props:{data:{type:Object,default(){}}},setup(s){const o=s;k((s=>({"1bd5de8e":w(f),"09618f86":w(y)})));const f=b.$url.css("/assets/addons/shopro/uniapp/goods/seckill-tip-bg.png"),y=b.$url.css("/assets/addons/shopro/uniapp/goods/groupon-tip-bg.png");return(f,y)=>{const I=h,k=m,x=_,v=e(t("su-fixed"),B);return l(),a(v,{bottom:"",placeholder:"",val:44},{default:d((()=>[n(k,null,{default:d((()=>[(l(!0),i(u,null,r(s.data.activities,(s=>(l(),a(k,{key:s.id},{default:d((()=>[n(k,{class:p(["activity-box ss-p-x-38 ss-flex ss-row-between ss-col-center","seckill"==s.type?"seckill-box":"groupon-box"])},{default:d((()=>[n(k,{class:"activity-title ss-flex"},{default:d((()=>[n(k,{class:"ss-m-r-16"},{default:d((()=>["seckill"==s.type?(l(),a(I,{key:0,src:w(b).$url.static("/assets/addons/shopro/uniapp/goods/seckill-icon.png"),class:"activity-icon"},null,8,["src"])):(l(),a(I,{key:1,src:w(b).$url.static("/assets/addons/shopro/uniapp/goods/groupon-icon.png"),class:"activity-icon"},null,8,["src"]))])),_:2},1024),n(k,null,{default:d((()=>[c("该商品正在参与"+g(s.type_text)+"活动",1)])),_:2},1024)])),_:2},1024),n(x,{class:"ss-reset-button activity-go",onClick:e=>function(s){let e=s.type;"groupon_ladder"===e&&(e="groupon"),b.$router.go(`/pages/goods/${e}`,{id:o.data.id,activity_id:s.id})}(s)},{default:d((()=>[c(" GO ")])),_:2},1032,["onClick"])])),_:2},1032,["class"])])),_:2},1024)))),128))])),_:1})])),_:1})}}},[["__scopeId","data-v-ff4cb67d"]]),W=O({__name:"index",setup(p){x((()=>{}));const f=s({goodsId:0,skeletonLoading:!0,goodsInfo:{},showSelectSku:!1,goodsSwiper:[],selectedSkuPrice:{},showModel:!1,total:0,couponInfo:[],showActivityModel:!1,activityInfo:[]});function y(s){f.selectedSkuPrice=s}function k(s){b.$store("cart").add(s)}function h(s){b.$router.go("/pages/order/confirm",{data:JSON.stringify({order_type:"goods",goods_list:[{goods_id:s.goods_id,goods_num:s.goods_num,goods_sku_price_id:s.id}]})})}function P(){f.activityInfo=f.goodsInfo.promos,f.showActivityModel=!0}async function U(s){const{code:o,msg:e}=await b.$api.coupon.get(s);1===o&&(V({title:e}),setTimeout((()=>{getCoupon()}),1e3))}const B=o((()=>j.isEmpty(f.goodsInfo)?{}:b.$platform.share.getShareInfo({title:f.goodsInfo.title,image:b.$url.cdn(f.goodsInfo.image),desc:f.goodsInfo.subtitle,params:{page:"2",query:f.goodsInfo.id}},{type:"goods",title:f.goodsInfo.title,image:b.$url.cdn(f.goodsInfo.image),price:f.goodsInfo.price[0],original_price:f.goodsInfo.original_price})));return v((async s=>{if(!s.id)return void(f.goodsInfo=null);f.goodsId=s.id,b.$api.goods.detail(f.goodsId).then((s=>{f.skeletonLoading=!1,1===s.code?(f.goodsInfo=s.data,f.goodsSwiper=L(f.goodsInfo.images)):f.goodsInfo=null}));const{code:o,data:e}=await b.$api.coupon.listByGoods(f.goodsId);1===o&&(f.couponInfo=e)})),(s,o)=>{const p=e(t("s-empty"),$),b=e(t("su-swiper"),M),x=m,v=I,V=e(t("s-select-sku"),A),j=_,O=e(t("s-coupon-get"),K),L=e(t("s-activity-pop"),Q),W=e(t("s-layout"),G);return l(),a(x,null,{default:d((()=>[n(W,{onShareAppMessage:w(B),navbar:"goods"},{default:d((()=>[n(H),f.skeletonLoading?(l(),a(T,{key:0})):null===f.goodsInfo?(l(),a(p,{key:1,text:"商品不存在或已下架",icon:"/static/soldout-empty.png",showAction:"",actionText:"再逛逛",actionUrl:"/pages/goods/list"})):(l(),i(u,{key:2},[n(x,{class:"detail-swiper-selector"},{default:d((()=>[n(b,{class:"ss-m-b-14",isPreview:"",list:f.goodsSwiper,dotStyle:"tag",imageMode:"widthFix",dotCur:"bg-mask-40",seizeHeight:750},null,8,["list"]),n(x,{class:"title-card detail-card ss-p-y-40 ss-p-x-20"},{default:d((()=>[n(x,{class:"ss-flex ss-row-between ss-col-center ss-m-b-26"},{default:d((()=>[n(x,{class:"price-box ss-flex ss-col-bottom"},{default:d((()=>[n(x,{class:"price-text ss-m-r-16"},{default:d((()=>[c(g(f.selectedSkuPrice.price||w(z)(f.goodsInfo.price)),1)])),_:1}),f.goodsInfo.original_price>0?(l(),a(x,{key:0,class:"origin-price-text"},{default:d((()=>[c(g(f.selectedSkuPrice.original_price||f.goodsInfo.original_price),1)])),_:1})):S("",!0)])),_:1}),n(x,{class:"sales-text"},{default:d((()=>[c(g(w(F)(f.goodsInfo.sales_show_type,f.goodsInfo.sales)),1)])),_:1})])),_:1}),n(x,{class:"discounts-box ss-flex ss-row-between ss-m-b-28"},{default:d((()=>[C("div",{class:"tag-content"},[n(x,{class:"tag-box ss-flex"},{default:d((()=>[(l(!0),i(u,null,r(f.goodsInfo.promos,(s=>(l(),a(x,{class:"tag ss-m-r-10",key:s.id,onClick:P},{default:d((()=>[c(g(s.title),1)])),_:2},1024)))),128))])),_:1})]),f.couponInfo.length?(l(),a(x,{key:0,class:"get-coupon-box ss-flex ss-col-center ss-m-l-20",onClick:o[0]||(o[0]=s=>f.showModel=!0)},{default:d((()=>[n(x,{class:"discounts-title ss-m-r-8"},{default:d((()=>[c("领券")])),_:1}),n(v,{class:"cicon-forward"})])),_:1})):S("",!0)])),_:1}),n(x,{class:"title-text ss-line-2 ss-m-b-6"},{default:d((()=>[c(g(f.goodsInfo.title),1)])),_:1}),n(x,{class:"subtitle-text ss-line-1"},{default:d((()=>[c(g(f.goodsInfo.subtitle),1)])),_:1})])),_:1}),n(x,{class:"detail-cell-card detail-card ss-flex-col"},{default:d((()=>[n(q,{modelValue:f.selectedSkuPrice.goods_sku_text,"onUpdate:modelValue":o[1]||(o[1]=s=>f.selectedSkuPrice.goods_sku_text=s),skus:f.goodsInfo.skus,onClick:o[2]||(o[2]=s=>f.showSelectSku=!0)},null,8,["modelValue","skus"]),f.goodsInfo.service?(l(),a(E,{key:0,modelValue:f.goodsInfo.service,"onUpdate:modelValue":o[3]||(o[3]=s=>f.goodsInfo.service=s)},null,8,["modelValue"])):S("",!0),f.goodsInfo.params?(l(),a(J,{key:1,modelValue:f.goodsInfo.params,"onUpdate:modelValue":o[4]||(o[4]=s=>f.goodsInfo.params=s)},null,8,["modelValue"])):S("",!0)])),_:1}),n(V,{goodsInfo:f.goodsInfo,show:f.showSelectSku,onAddCart:k,onBuy:h,onChange:y,onClose:o[5]||(o[5]=s=>f.showSelectSku=!1)},null,8,["goodsInfo","show"])])),_:1}),n(N,{class:"detail-comment-selector",goodsId:f.goodsId},null,8,["goodsId"]),n(Z,{class:"detail-content-selector",content:f.goodsInfo.content},null,8,["content"]),f.goodsInfo.activities?(l(),a(R,{key:0,data:f.goodsInfo},null,8,["data"])):S("",!0),n(D,{modelValue:f.goodsInfo,"onUpdate:modelValue":o[8]||(o[8]=s=>f.goodsInfo=s)},{default:d((()=>[f.goodsInfo.stock>0?(l(),a(x,{key:0,class:"buy-box ss-flex ss-col-center ss-p-r-20"},{default:d((()=>[n(j,{class:"ss-reset-button add-btn ui-Shadow-Main",onClick:o[6]||(o[6]=s=>f.showSelectSku=!0)},{default:d((()=>[c(" 加入购物车 ")])),_:1}),n(j,{class:"ss-reset-button buy-btn ui-Shadow-Main",onClick:o[7]||(o[7]=s=>f.showSelectSku=!0)},{default:d((()=>[c(" 立即购买 ")])),_:1})])),_:1})):(l(),a(x,{key:1,class:"buy-box ss-flex ss-col-center ss-p-r-20"},{default:d((()=>[n(j,{class:"ss-reset-button disabled-btn",disabled:""},{default:d((()=>[c(" 已售罄 ")])),_:1})])),_:1}))])),_:1},8,["modelValue"]),n(O,{modelValue:f.couponInfo,"onUpdate:modelValue":o[9]||(o[9]=s=>f.couponInfo=s),show:f.showModel,onClose:o[10]||(o[10]=s=>f.showModel=!1),onGet:U},null,8,["modelValue","show"]),n(L,{modelValue:f.activityInfo,"onUpdate:modelValue":o[11]||(o[11]=s=>f.activityInfo=s),show:f.showActivityModel,onClose:o[12]||(o[12]=s=>f.showActivityModel=!1)},null,8,["modelValue","show"])],64))])),_:1},8,["onShareAppMessage"])])),_:1})}}},[["__scopeId","data-v-682c78bb"]]);export{W as default};