You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1 lines
8.0 KiB
1 lines
8.0 KiB
import{d as e,r as a,aD as t,k as s,a0 as l,M as r,q as o,o as n,c as d,w as c,f as i,b as u,u as p,n as f,Q as x,a3 as _,R as m,z as g,A as v,B as h,ah as b,ai as y,C as k,j as w,ap as j,E as C,D as F,g as E,i as I,F as T,G as z,S as M,a as R,H as S,an as P,aq as U}from"./index-ed377420.js";import{_ as W}from"./u-popup.c17b5064.js";import{a as $,b as q,c as A}from"./rank.fd748d6b.js";import{M as B}from"./mescroll-body.b578c8a9.js";import{u as D}from"./useMescroll.26ccf5de.js";import{M as G}from"./mescroll-empty.a74b4bfd.js";import{t as H}from"./topTabbar.5c01942d.js";import{u as N}from"./useGoods.edfb8dbc.js";import{_ as O}from"./_plugin-vue_export-helper.1b428a4d.js";import"./u-transition.62225ebb.js";import"./u-icon.d58f766c.js";import"./u-safe-bottom.c40cd15c.js";import"./mescroll-uni-option.db093104.js";import"./mescroll-i18n.6025c811.js";/* empty css */const Q=O(e({__name:"rank",setup(e){const O=N(),{mescrollInit:Q,downCallback:V,getMescroll:X}=D(y,b),J=a(null),K=a(!1);t();let L={};H().setTopTabbarParam({title:""});const Y=s((()=>S(Number(L.height)+L.top+8)+30+"rpx;")),Z=l(),ee=Z.windowHeight/Z.screenWidth*750,ae=s((()=>`${ee-450}rpx`)),te=a(!1),se=()=>{te.value=!1},le=a([]),re=a([]),oe=a(!1),ne=(e=!1)=>{$().then((a=>{le.value=a.data,e&&le.value&&le.value.length?pe(le.value[0],0):le.value.length||(K.value=!0),P((()=>{U().selectAll(".category-btn").boundingClientRect((e=>{if(e&&e.length>0){const a=e.reduce(((e,a)=>e+a.width),0),t=l().windowWidth;oe.value=a<=t}else console.error("Failed to get .category-btn elements.")})).exec()}))})).catch((e=>{console.error("加载分类数据失败",e)}))},de=r({}),ce=a(0),ie=a(0),ue=a();function pe(e,a){var t;K.value=!1,re.value=[],ce.value=a,ie.value=e.rank_id,ue.value=e.goods_source,null==(t=X())||t.resetUpScroll()}const fe=e=>{if(0==le.value.length)return;K.value=!1;let a={page:e.num,limit:e.size,rank_id:ie.value};A(a).then((a=>{let t=a.data.data.map((e=>e)),s=!0;1==e.num&&(re.value=[]),re.value=re.value.concat(t),s="goods"!=ue.value,e.endSuccess(t.length,s),K.value=!0})).catch((()=>{K.value=!0,e.endErr()}))};function xe(e){switch(e){case 1:return T("addon/shop/rank/rank_first.png");case 2:return T("addon/shop/rank/rank_second.png");case 3:return T("addon/shop/rank/rank_third.png");default:return T("addon/shop/rank/rank.png")}}return o((async e=>{q().then((e=>{Object.assign(de,e.data)})),ne(!0)})),(e,a)=>{const t=k,s=w,l=j,r=C,o=F,b=E(I("u-popup"),W);return n(),d(s,{class:"min-h-[100vh]",style:f(e.themeColor())},{default:c((()=>[i(" 顶部图片 "),u(s,{class:"rank-head"},{default:c((()=>[u(t,{class:"w-[100%] h-[435rpx]",src:p(T)(de.rank_images),mode:"aspectFill"},null,8,["src"]),u(s,{class:"content-box"},{default:c((()=>[i(" 榜单分类按钮 "),u(l,{"scroll-x":"true",class:"category-slider","scroll-with-animation":"","scroll-into-view":"id"+ce.value},{default:c((()=>[u(s,{class:"category-con",style:f({justifyContent:oe.value?"center":"flex-start"})},{default:c((()=>[(n(!0),x(m,null,_(le.value,((e,a)=>(n(),d(s,{class:"category-btn",key:a,id:"id"+a,onClick:t=>pe(e,a),style:f({color:ce.value===a?de.select_color:de.no_color,background:ce.value===a?`linear-gradient(to right, ${de.select_bg_color_start}, ${de.select_bg_color_end})`:"transparent"})},{default:c((()=>[u(s,null,{default:c((()=>[g(v(e.name),1)])),_:2},1024)])),_:2},1032,["id","onClick","style"])))),128))])),_:1},8,["style"])])),_:1},8,["scroll-into-view"]),i(' <view class="content">\r\n\t\t\t\t\t<text class="text-[26rpx]">{{rankConfig.rank_name}}</text>\r\n\t\t\t\t</view> ')])),_:1}),de.rank_remark?(n(),d(s,{key:0,class:"side-tab",style:f({top:p(Y)}),onClick:a[0]||(a[0]=e=>te.value=!0)},{default:c((()=>[u(r,{class:"iconfont icona-paihangbangpc30 icon"}),u(r,{class:"desc"},{default:c((()=>[g(v(p(z)("rankingRules")),1)])),_:1})])),_:1},8,["style"])):i("v-if",!0)])),_:1}),u(s,{class:"rank-list p-[20rpx] relative -mt-[42rpx]"},{default:c((()=>[i(" 列表 "),u(B,{ref_key:"mescrollRef",ref:J,height:p(ae),onInit:p(Q),down:{use:!1},onUp:fe},{default:c((()=>[re.value.length?(n(!0),x(m,{key:0},_(re.value,((e,a)=>(n(),d(s,{class:M(["bg-[#fff] flex rounded-[var(--rounded-mid)] p-[20rpx]",{"mb-[20rpx]":re.value.length-1!=a}]),key:e.goods_id,onClick:a=>{return t=e.goods_id,void R({url:"/addon/shop/pages/goods/detail",param:{goods_id:t}});var t}},{default:c((()=>[u(s,{class:"w-[240rpx] h-[240rpx] flex items-center justify-center relative"},{default:c((()=>[i(" 榜单排名图片 "),a<5?(n(),d(t,{key:0,class:"absolute top-[7rpx] left-[10rpx] w-[50rpx] h-[58rpx]",style:{zIndex:9},src:xe(e.rank_num),mode:"aspectFill"},null,8,["src"])):i("v-if",!0),a<5?(n(),d(s,{key:1,class:"absolute top-[15rpx] left-[10rpx] flex items-center justify-center w-[50rpx] h-[50rpx]",style:{zIndex:10}},{default:c((()=>[u(r,{class:"text-[24rpx] font-bold text-[#fff]"},{default:c((()=>[g(v(a+1),1)])),_:2},1024)])),_:2},1024)):i("v-if",!0),e.goods_cover_thumb_mid?(n(),d(t,{key:2,class:"w-[250rpx] h-[250rpx] rounded-[var(--rounded-mid)]",src:p(T)(e.goods_cover_thumb_mid),mode:"aspectFill",onError:a=>e.goods_cover_thumb_mid="static/resource/images/diy/shop_default.jpg"},null,8,["src","onError"])):(n(),d(t,{key:3,class:"w-[240rpx] h-[240rpx] rounded-[var(--rounded-mid)]",src:p(T)("static/resource/images/diy/shop_default.jpg"),mode:"aspectFill"},null,8,["src"]))])),_:2},1024),u(s,{class:"flex flex-col flex-1 justify-between ml-[20rpx] pt-[4rpx]"},{default:c((()=>[u(s,{class:"text-[28rpx] text-[#333] leading-[40rpx] multi-hidden mb-[10rpx]"},{default:c((()=>[e.goods_brand?(n(),d(s,{key:0,class:"brand-tag"},{default:c((()=>[g(v(e.goods_brand.brand_name),1)])),_:2},1024)):i("v-if",!0),g(" "+v(e.goods_name),1)])),_:2},1024),e.goods_label_name&&e.goods_label_name.length?(n(),d(s,{key:0,class:"flex flex-wrap"},{default:c((()=>[(n(!0),x(m,null,_(e.goods_label_name,((e,a)=>(n(),x(m,null,["icon"==e.style_type&&e.icon?(n(),d(t,{key:0,class:"img-tag",src:p(T)(e.icon),mode:"heightFix",onError:a=>p(O).error(e,"icon")},null,8,["src","onError"])):"diy"!=e.style_type&&e.icon?i("v-if",!0):(n(),d(s,{key:1,class:"base-tag",style:f(p(O).baseTagStyle(e))},{default:c((()=>[g(v(e.label_name),1)])),_:2},1032,["style"]))],64)))),256))])),_:2},1024)):i("v-if",!0),u(s,{class:"flex items-center justify-between"},{default:c((()=>[u(s,{class:"text-[var(--price-text-color)] price-font flex items-baseline"},{default:c((()=>[u(r,{class:"text-[24rpx] font-500"},{default:c((()=>[g("¥")])),_:1}),u(r,{class:"text-[40rpx] font-500"},{default:c((()=>[g(v(p(O).goodsPrice(e).toFixed(2).split(".")[0]),1)])),_:2},1024),u(r,{class:"text-[24rpx] font-500"},{default:c((()=>[g("."+v(p(O).goodsPrice(e).toFixed(2).split(".")[1]),1)])),_:2},1024)])),_:2},1024),u(s,{id:"itemCart"+a,class:"w-[102rpx] box-border text-center text-[#fff] primary-btn-bg h-[46rpx] text-[22rpx] leading-[46rpx] rounded-[100rpx]"},{default:c((()=>[g("去购买")])),_:2},1032,["id"])])),_:2},1024)])),_:2},1024)])),_:2},1032,["class","onClick"])))),128)):i("v-if",!0),!re.value.length&&K.value?(n(),d(G,{key:1,option:{tip:"暂无商品",btnText:"去逛逛"},onEmptyclick:a[1]||(a[1]=e=>p(R)({url:"/addon/shop/pages/goods/list"}))})):i("v-if",!0)])),_:1},8,["height","onInit"]),u(s,{onTouchmove:a[3]||(a[3]=h((()=>{}),["prevent","stop"]))},{default:c((()=>[u(b,{show:te.value,onClose:se,mode:"center",round:"var(--rounded-big)"},{default:c((()=>[u(s,{class:"w-[570rpx] px-[32rpx] popup-common center"},{default:c((()=>[u(s,{class:"title"},{default:c((()=>[g(v(p(z)("rankingRules")),1)])),_:1}),u(l,{"scroll-y":!0,class:"px-[30rpx] box-border max-h-[260rpx]"},{default:c((()=>[u(s,{class:"text-[28rpx] leading-[40rpx] mb-[20rpx]"},{default:c((()=>[g(v(de.rank_remark),1)])),_:1})])),_:1}),u(s,{class:"btn-wrap !pt-[40rpx]"},{default:c((()=>[u(o,{class:"primary-btn-bg w-[480rpx] h-[70rpx] text-[26rpx] leading-[70rpx] rounded-[35rpx] !text-[#fff] font-500",onClick:a[2]||(a[2]=e=>te.value=!1)},{default:c((()=>[g("我知道了")])),_:1})])),_:1})])),_:1})])),_:1},8,["show"])])),_:1})])),_:1})])),_:1},8,["style"])}}}),[["__scopeId","data-v-b4da1fc7"]]);export{Q as default};
|
|
|