| 1 |
- import{E as e,$ as t,o as a,c as s,w as l,a as o,b as n,d as i,F as d,e as c,i as r,r as u,f as g,t as m,g as h,h as p,n as _,j as y,k as f,l as C,m as S,p as k,q as v,s as L,u as b,v as I,x as E,y as T,z as x}from"./index-b2e89937.js";import{S as w}from"./index.987be536.js";import{E as P}from"./index.23adf8b0.js";import{_ as A}from"./_plugin-vue_export-helper.1b428a4d.js";import{M as B,_ as N}from"./mescroll-mixins.ac1843d6.js";import{r as R}from"./uni-app.es.868efe30.js";import{G,h as O,S as V}from"./index.9d2b3ae3.js";import{a as $}from"./cart.ec91eb93.js";import{s as D,l as M}from"./index.50d0f4e7.js";const j={onPageScroll(e){this.handlePageScroll(e)},onReachBottom(){this.handleReachBottom()},onPullDownRefresh(){this.handlePullDownRefresh()},data(){return{mescroll:{onPageScroll:e=>{this.handlePageScroll(e)},onReachBottom:()=>{this.handleReachBottom()},onPullDownRefresh:()=>{this.handlePullDownRefresh()}}}},methods:{handlePageScroll(e){let t=this.$refs.mescrollItem;t&&t.mescroll&&t.mescroll.onPageScroll(e)},handleReachBottom(){let e=this.$refs.mescrollItem;e&&e.mescroll&&e.mescroll.onReachBottom()},handlePullDownRefresh(){let e=this.$refs.mescrollItem;e&&e.mescroll&&e.mescroll.onPullDownRefresh()}}},U=new e([{key:"ONE_LEVEL_BIG",name:"一级分类[大图]",value:10},{key:"ONE_LEVEL_SMALL",name:"一级分类[小图]",value:11},{key:"TWO_LEVEL",name:"二级分类",value:20},{key:"COMMODITY",name:"一级分类+商品",value:30}]),z="category/list";let F;const Y=A({components:{Search:w,Primary:A({components:{Empty:P},props:{display:{type:Number,default:10},list:{type:Array,default:[]}},data:()=>({PageCategoryStyleEnum:U}),methods:{onTargetGoodsList(e){this.$navTo("pages/goods/list",{categoryId:e})}}},[["render",function(e,t,p,_,y,f){const C=h,S=r,k=u("empty");return a(),s(S,{class:"primary"},{default:l((()=>[p.list.length>0&&p.display==y.PageCategoryStyleEnum.ONE_LEVEL_BIG.value?(a(),s(S,{key:0,class:"cate-content"},{default:l((()=>[o(S,{class:"cate-wrapper cate_style__10 clearfix"},{default:l((()=>[(a(!0),n(d,null,i(p.list,((e,t)=>(a(),s(S,{class:"cate-item",key:t,onClick:t=>f.onTargetGoodsList(e.category_id)},{default:l((()=>[e.image?(a(),s(C,{key:0,class:"image",mode:"widthFix",src:e.image.preview_url},null,8,["src"])):c("",!0)])),_:2},1032,["onClick"])))),128))])),_:1})])),_:1})):c("",!0),p.list.length>0&&p.display==y.PageCategoryStyleEnum.ONE_LEVEL_SMALL.value?(a(),s(S,{key:1,class:"cate-content"},{default:l((()=>[o(S,{class:"cate-wrapper cate_style__11 clearfix"},{default:l((()=>[(a(!0),n(d,null,i(p.list,((e,t)=>(a(),s(S,{class:"cate-item",key:t,onClick:t=>f.onTargetGoodsList(e.category_id)},{default:l((()=>[e.image?(a(),s(C,{key:0,class:"image",mode:"scaleToFill",src:e.image.preview_url},null,8,["src"])):c("",!0),o(S,{class:"cate-name"},{default:l((()=>[g(m(e.name),1)])),_:2},1024)])),_:2},1032,["onClick"])))),128))])),_:1})])),_:1})):c("",!0),p.list.length?c("",!0):(a(),s(k,{key:2,tips:"亲,暂无商品分类"+p.display},null,8,["tips"]))])),_:1})}],["__scopeId","data-v-784c3793"]]),Secondary:A({props:{list:{type:Array,default:[]}},data:()=>({curIndex:0}),methods:{handleSelectNav(e){this.curIndex=e},handleGoods(e){this.$navTo("pages/goods/list",{categoryId:e})}}},[["render",function(e,t,u,S,k,v){const L=C,b=y,I=h,E=r;return a(),s(E,{class:"container",style:_(e.appThemeStyle)},{default:l((()=>[o(b,{class:"cate-left","scroll-y":!0,onTouchmove:t[0]||(t[0]=p((()=>{}),["stop","prevent"]))},{default:l((()=>[(a(!0),n(d,null,i(u.list,((e,t)=>(a(),s(L,{class:f(["type-nav",{selected:k.curIndex==t}]),key:t,onClick:e=>v.handleSelectNav(t)},{default:l((()=>[g(m(e.name),1)])),_:2},1032,["class","onClick"])))),128))])),_:1}),o(E,{class:"cate-content"},{default:l((()=>[o(E,{class:"category-list clearfix"},{default:l((()=>[(a(!0),n(d,null,i(u.list[k.curIndex].children,((e,t)=>(a(),s(E,{class:"category-item",key:t,onClick:t=>v.handleGoods(e.category_id)},{default:l((()=>[e.image?(a(),s(E,{key:0,class:"item-image"},{default:l((()=>[o(I,{class:"image",mode:"scaleToFill",src:e.image.preview_url},null,8,["src"])])),_:2},1024)):c("",!0),o(E,{class:"item-name"},{default:l((()=>[o(L,{class:"oneline-hide"},{default:l((()=>[g(m(e.name),1)])),_:2},1024)])),_:2},1024)])),_:2},1032,["onClick"])))),128))])),_:1})])),_:1})])),_:1},8,["style"])}],["__scopeId","data-v-4138b0b9"]]),Commodity:A({components:{AddCartBtn:A({props:{btnStyle:{type:Number,default:1}},data:()=>({value:!1,goodsInfo:{}}),methods:{handleAddCart(){this.$emit("handleAddCart")}}},[["render",function(e,t,n,i,d,c){const u=C,g=r;return a(),s(g,{class:"add-cart",onClick:p(c.handleAddCart,["stop"])},{default:l((()=>[o(u,{class:f(["icon iconfont",[`icon-jiagou${n.btnStyle}`]])},null,8,["class"])])),_:1},8,["onClick"])}],["__scopeId","data-v-0f678d54"]]),AddCartPopup:A({components:{GoodsSkuPopup:G},props:{btnStyle:{type:Number,default:1}},data:()=>({visible:!1,goods:{},localdata:{}}),computed:{activedBtnBackgroundColor(){return O(this.appTheme.mainBg,.1)}},methods:{async handle(e){this.goods=e,e.spec_type==V.SINGLE.value&&this.singleEvent(),e.spec_type==V.MULTI.value&&this.multiEvent()},singleEvent(){const{goods:e}=this;this.addCart({goods_id:e.goods_id,goods_sku_id:"0",buy_num:1})},async multiEvent(){const e=this,{goods:t}=e,{data:{specData:a}}=await D(t.goods_id);t.skuList=a.skuList,t.specList=a.specList,e.localdata={_id:t.goods_id,name:t.goods_name,goods_thumb:t.goods_image,sku_list:e.getSkuList(),spec_list:e.getSpecList()},this.visible=!0},onChangeValue(e){this.visible=e},getSkuList(){const e=this,{goods:{goods_name:t,goods_image:a,skuList:s}}=e,l=[];return s.forEach((s=>{l.push({_id:s.id,goods_sku_id:s.goods_sku_id,goods_id:s.goods_id,goods_name:t,image:s.image_url?s.image_url:a,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)})})),l},getSkuNameArr(e){const t=this,a=[];return e&&e.forEach(((e,s)=>{const l=t.getSpecValueName(e,s);a.push(l)})),a.length?a:["默认"]},getSpecValueName(e,t){const{goods:{specList:a}}=this;return a[t].valueList.find((t=>t.spec_value_id==e)).spec_value},getSpecList(){const{goods:{specList:e}}=this,t=[];return e.forEach((e=>{const a=[];e.valueList.forEach((e=>{a.push({name:e.spec_value})})),t.push({name:e.spec_name,list:a})})),t.length?t:[{name:"默认",list:[{name:"默认"}]}]},addCart(e){const t=this,{goods_id:a,goods_sku_id:s,buy_num:l}=e;$(a,s,l).then((e=>{t.$toast(e.message,1e3,!1),t.onChangeValue(!1);const a=e.data.cartTotal;S(a),t.$emit("addCart",a)}))}}},[["render",function(e,t,l,o,n,i){const d=u("goods-sku-popup");return a(),s(d,{modelValue:n.visible,onInput:i.onChangeValue,"border-radius":"20",localdata:n.localdata,mode:2,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:i.activedBtnBackgroundColor},onAddCart:i.addCart,buyNowText:"立即购买"},null,8,["modelValue","onInput","localdata","priceColor","buyNowBackgroundColor","addCartColor","addCartBackgroundColor","activedStyle","onAddCart"])}]])},mixins:[B],props:{list:{type:Array,default:[]},setting:{type:Object,default:()=>{}}},data:()=>({curIndex:-1,showSubCate:!1,curIndex2:-1,goodsList:k(),upOption:{auto:!0,page:{size:15},noMoreSize:3,toTop:{right:30,bottom:48,zIndex:9}}}),computed:{subCateList(){return this.list[this.curIndex]&&this.list[this.curIndex].children?this.list[this.curIndex].children:[]}},methods:{upCallback(e){const t=this;t.getGoodsList(e.num).then((e=>{const a=e.data.length,s=e.data.total;t.mescroll.endBySize(a,s)})).catch((()=>t.mescroll.endErr()))},getGoodsList(e=1){const t=this,a=t.getCategoryId();return new Promise(((s,l)=>{M({categoryId:a,page:e},{load:!1}).then((a=>{const l=a.data.list;t.goodsList.data=v(l,t.goodsList,e),t.goodsList.last_page=l.last_page,s(l)})).catch(l)}))},getCategoryId(){const e=this;return e.curIndex2>-1?e.subCateList[e.curIndex2].category_id:e.curIndex>-1?e.list[e.curIndex].category_id:0},handleSelectNav(e){this.curIndex=e,this.onRefreshList(),this.showSubCate=!1,this.curIndex2=-1},handleSelectSubCate(e){this.curIndex2=e,this.showSubCate=!1,this.onRefreshList()},onRefreshList(){this.goodsList=k(),setTimeout((()=>this.mescroll.resetUpScroll()),120)},onTargetGoods(e){this.$navTo("pages/goods/detail",{goodsId:e})},handleAddCart(e){this.$refs.AddCartPopup.handle(e)},onUpdateCartTabBadge(){console.log("onUpdateCartTabBadge"),L()},handleShowSubCate(){this.showSubCate=!this.showSubCate}}},[["render",function(e,t,S,k,v,L){const T=C,x=y,w=r,P=h,A=u("add-cart-btn"),B=u("AddCartPopup"),G=R(E("mescroll-body"),N);return a(),s(w,{class:"container",style:_(e.appThemeStyle)},{default:l((()=>[o(x,{class:"cate-left","scroll-y":!0,onTouchmove:t[1]||(t[1]=p((()=>{}),["stop","prevent"]))},{default:l((()=>[o(T,{class:f(["type-nav",{selected:-1==v.curIndex}]),onClick:t[0]||(t[0]=e=>L.handleSelectNav(-1))},{default:l((()=>[g("全部")])),_:1},8,["class"]),(a(!0),n(d,null,i(S.list,((e,t)=>(a(),s(T,{class:f(["type-nav",{selected:v.curIndex==t}]),key:t,onClick:e=>L.handleSelectNav(t)},{default:l((()=>[g(m(e.name),1)])),_:2},1032,["class","onClick"])))),128))])),_:1}),o(G,{ref:"mescrollRef",sticky:!0,onInit:e.mescrollInit,down:{use:!1},up:v.upOption,bottombar:!1,onUp:L.upCallback},{default:l((()=>[o(w,{class:"cate-content"},{default:l((()=>[L.subCateList.length?(a(),s(w,{key:0,class:f(["sub-cate-list clearfix",{"display-fold":!v.showSubCate}]),onTouchmove:t[3]||(t[3]=p((()=>{}),["stop","prevent"]))},{default:l((()=>[o(w,{class:"nav-icon",onClick:L.handleShowSubCate},{default:l((()=>[o(T,{class:f(["iconfont",[v.showSubCate?"icon-arrow-up":"icon-arrow-down"]])},null,8,["class"])])),_:1},8,["onClick"]),o(w,{class:f(["sub-cate-item",{selected:-1==v.curIndex2}]),onClick:t[2]||(t[2]=e=>L.handleSelectSubCate(-1))},{default:l((()=>[o(T,null,{default:l((()=>[g("全部")])),_:1})])),_:1},8,["class"]),(a(!0),n(d,null,i(L.subCateList,((e,t)=>(a(),s(w,{class:f(["sub-cate-item",{selected:v.curIndex2==t}]),key:t,onClick:e=>L.handleSelectSubCate(t)},{default:l((()=>[o(T,null,{default:l((()=>[g(m(e.name),1)])),_:2},1024)])),_:2},1032,["class","onClick"])))),128))])),_:1},8,["class"])):c("",!0),o(w,{class:"goods-list"},{default:l((()=>[(a(!0),n(d,null,i(v.goodsList.data,((e,t)=>(a(),s(w,{class:"goods-item--container",key:t},{default:l((()=>[o(w,{class:"goods-item",onClick:t=>L.onTargetGoods(e.goods_id)},{default:l((()=>[o(w,{class:"goods-item-left"},{default:l((()=>[o(P,{class:"image",src:e.goods_image},null,8,["src"])])),_:2},1024),o(w,{class:"goods-item-right"},{default:l((()=>[o(w,{class:"goods-name"},{default:l((()=>[o(T,{class:"twoline-hide"},{default:l((()=>[g(m(e.goods_name),1)])),_:2},1024)])),_:2},1024),o(w,{class:"goods-item-desc"},{default:l((()=>[o(w,{class:"desc-footer"},{default:l((()=>[o(w,{class:"item-prices oneline-hide"},{default:l((()=>[o(T,{class:"price-x"},{default:l((()=>[g("¥"+m(e.goods_price_min),1)])),_:2},1024),e.line_price_min>0?(a(),s(T,{key:0,class:"price-y"},{default:l((()=>[g("¥"+m(e.line_price_min),1)])),_:2},1024)):c("",!0)])),_:2},1024),S.setting.showAddCart?(a(),s(A,{key:0,btnStyle:S.setting.cartStyle,onHandleAddCart:t=>L.handleAddCart(e)},null,8,["btnStyle","onHandleAddCart"])):c("",!0)])),_:2},1024)])),_:2},1024)])),_:2},1024)])),_:2},1032,["onClick"])])),_:2},1024)))),128))])),_:1}),b(o(w,{class:"mask",onTouchmove:t[4]||(t[4]=p((()=>{}),["stop","prevent"])),onClick:L.handleShowSubCate},null,8,["onClick"]),[[I,v.showSubCate]]),o(B,{ref:"AddCartPopup",onAddCart:L.onUpdateCartTabBadge},null,8,["onAddCart"])])),_:1})])),_:1},8,["onInit","up","onUp"])])),_:1},8,["style"])}],["__scopeId","data-v-1cc4bc26"]])},mixins:[j],data:()=>({PageCategoryStyleEnum:U,list:[],setting:{},isLoading:!0}),onLoad(){this.onRefreshPage()},onShow(){(new Date).getTime()-F>3e5&&this.onRefreshPage()},methods:{onRefreshPage(){F=(new Date).getTime(),this.getPageData(),L()},getPageData(){const e=this;e.isLoading=!0,Promise.all([T.data(!1),t.get(z)]).then((t=>{e.initSetting(t[0]),e.initCategory(t[1])})).finally((()=>e.isLoading=!1))},initSetting(e){this.setting=e[x.PAGE_CATEGORY_TEMPLATE.value]},initCategory(e){this.list=e.data.list}},onShareAppMessage(){return{title:_this.templet.shareTitle,path:"/pages/category/index?"+this.$getShareUrlParams()}},onShareTimeline(){return{title:_this.templet.shareTitle,path:"/pages/category/index?"+this.$getShareUrlParams()}}},[["render",function(e,t,n,i,d,g){const m=u("search"),h=r,p=u("primary"),_=u("secondary"),y=u("commodity");return a(),s(h,{class:"container"},{default:l((()=>[o(h,{class:"search"},{default:l((()=>[o(m,{tips:"搜索商品",onEvent:t[0]||(t[0]=t=>e.$navTo("pages/search/index"))})])),_:1}),d.setting.style==d.PageCategoryStyleEnum.ONE_LEVEL_BIG.value||d.setting.style==d.PageCategoryStyleEnum.ONE_LEVEL_SMALL.value?(a(),s(p,{key:0,display:d.setting.style,list:d.list},null,8,["display","list"])):c("",!0),d.setting.style==d.PageCategoryStyleEnum.TWO_LEVEL.value?(a(),s(_,{key:1,list:d.list},null,8,["list"])):c("",!0),d.setting.style==d.PageCategoryStyleEnum.COMMODITY.value?(a(),s(y,{key:2,ref:"mescrollItem",list:d.list,setting:d.setting},null,8,["list","setting"])):c("",!0)])),_:1})}],["__scopeId","data-v-c67d876d"]]);export{Y as default};
|