index.0f692582.js 7.6 KB

1
  1. import{d as g,b as m,i,ac as y,w as o,ak as C,B as h,L as u,ab as b}from"./index.9a8e7555.js";import{R as _,C as c}from"./index.1d0ada62.js";import{T as p}from"./index.eefac611.js";import{S as v}from"./index.e9655eaa.js";import"./index.77775083.js";import{T as L,a as S}from"./index.737b20db.js";import{T as A}from"./index.66f847d4.js";import{C as T,i as w}from"./index.c7f6a96c.js";import{C as F}from"./index.3b6c3426.js";import{R as k,a as V}from"./index.7a27846b.js";import"./index.df465582.js";import{D as B}from"./index.2b759ea0.js";import"./use-id.62bab9ae.js";import"./use-tab-status.41627c38.js";import"./use-refs.167314c3.js";import"./index.87809eea.js";import"./index.b01a7412.js";import"./index.7f9087a9.js";import"./index.851ca690.js";import"./index.cb5d8493.js";const $="_active_83y44_13",x="_filterBtn_83y44_17",P="_filterTagWrap_83y44_20",I="_filterTag_83y44_20",G="_filterSort_83y44_66",N="_iconSort_83y44_76";var r={"filter-top":"_filter-top_83y44_1",active:$,filterBtn:x,filterTagWrap:P,filterTag:I,"filter-productCategory":"_filter-productCategory_83y44_36","filter-tag":"_filter-tag_83y44_52","filter-tag-checked":"_filter-tag-checked_83y44_62",filterSort:G,"icon-active":"_icon-active_83y44_73",iconSort:N};const R="_loading_1wy15_1",q="_titlePopup_1wy15_7",E="_title_1wy15_7",W="_radio_1wy15_21",j="_filterAction_1wy15_57";var s={loading:R,titlePopup:q,title:E,"radio-group":"_radio-group_1wy15_21",radio:W,filterAction:j};function z(t){return typeof t=="function"||Object.prototype.toString.call(t)==="[object Object]"&&!C(t)}const f=()=>({productCategorySmallVoList:null,productAttributeCategoryList:null,brandList:null});var D=g({name:"goods-filter-list",props:{setFilter:{type:Function,default:t=>{}},cateGoryId:{type:Number,default:0}},data(){return{dataShow:!0,loading:!1,brandList:[],productAttributeCategoryList:[],productCategorySmallVoList:[],params:f()}},mounted(){this.getFilterList()},methods:{async getFilterList(){this.loading=!0;try{const t=await m.get("/api-mall-portal/product/search/condition");this.dataShow=t.code===200;const{brandList:e=[],productAttributeCategoryList:a=[],productCategorySmallVoList:l=[]}=t.data||{};if(this.brandList=e,this.productAttributeCategoryList=a,this.productCategorySmallVoList=l,this.cateGoryId){let d=l.findIndex(n=>n.id==this.cateGoryId);this.params.productCategorySmallVoList=d>-1?d:null}}catch{this.dataShow=!1}this.loading=!1},onFilterClick(){this.setFilter({productCategory:this.productCategorySmallVoList[this.params.productCategorySmallVoList],productAttributeCategory:this.productAttributeCategoryList[this.params.productAttributeCategoryList],brand:this.brandList[this.params.brandList]})},setParams(t){this.params[t]=null}},render(){return i("div",null,[this.loading&&i("div",{class:s.loading},[i(y,{color:"var(--van-primary)"},null)]),i("div",{class:s.filterWrap},[i("div",{class:s.titlePopup},[o("\u7B5B\u9009")]),Object.keys(this.params).map(t=>i(F,{border:!1},{title:()=>i("div",null,[t==="productCategorySmallVoList"?"\u5546\u54C1\u5206\u7C7B":t==="productAttributeCategoryList"?"\u5546\u54C1\u7C7B\u578B":"\u54C1\u724C"]),label:()=>{let e;return i(k,{class:s["radio-group"],modelValue:this.params[t],"onUpdate:modelValue":a=>this.params[t]=a},z(e=this[t].map((a,l)=>{const n=l===this.params[t]?"primary":"default";return i(V,{class:s.radio,name:l,onClick:()=>{}},{default:()=>[i(p,{size:"large",type:n},{default:()=>[a.name]})]})}))?e:{default:()=>[e]})}})),i(B,{style:{margin:"0"}},null),i("div",{class:s.filterAction},[i(h,{round:!0,style:{marginRight:"8px"},onClick:()=>this.params=f()},{default:()=>[o("\u91CD\u7F6E")]}),i(h,{round:!0,type:"primary",style:{marginLeft:"8px"},onClick:()=>this.onFilterClick()},{default:()=>[o("\u786E\u8BA4")]})])])])}}),nt=g({name:"goods-list",data(){const t=this.$route.query;return{tabListShow:!t.id,typeId:0,filterActive:0,filterListShow:!1,productCategory:{active:0,name:t.tag||"",id:Number(t.id)||0,children:[]},productAttributeCategory:{children:[],name:"",id:0},brand:{name:"",id:0},keyword:"",autofocus:!1}},computed:{getProductAttributeCategory(){if(this.productCategory.id){if(this.productCategory.children)return(this.productCategory.children[this.productCategory.active]||{}).id||"";this.productCategory.id}return 0}},async mounted(){if(this.$nextTick(()=>{this.$route.query.input==="focus"&&document.querySelector(".van-field__control").focus()}),this.productCategory.id)try{const t=await m.get("/api-mall-portal/product/search/condition");t.code===200&&this.setFilter({productCategory:t.data.productCategorySmallVoList.find(e=>e.id===this.productCategory.id),productAttributeCategory:void 0,brand:void 0})}catch{}this.tabListShow=!0},methods:{onFilter(t){this.filterActive===3&&t===3&&(t=4),this.filterActive===4&&t===3&&(t=3),this.filterActive!==t&&(this.filterActive=t,this.$nextTick(()=>{this.onSearch()}))},setFilter({productCategory:t,productAttributeCategory:e,brand:a}){t&&t.active===void 0&&(t.active=0),this.productCategory=t||{id:0,name:""},this.productAttributeCategory=e||{id:0,name:""},this.brand=a||{id:0,name:""},this.$nextTick(()=>{this.onSearch(),this.filterListShow=!1})},onToggleTag(){this.$refs.tabList.loading||this.$nextTick(()=>{this.onSearch()})},onClearTag(t){this[t]={id:0,name:""};let e=this.$refs.goodsFilter;e&&(t==="productCategory"?e.setParams("productCategorySmallVoList"):t==="productAttributeCategory"?e.setParams("productAttributeCategoryList"):e.setParams("brandList")),this.$nextTick(()=>{this.onSearch()})},onSearch(){this.$refs.tabList.onSearch()},searchBtn(t){this.keyword=t,this.$nextTick(()=>{this.onSearch()})}},render(){return i("div",null,[i(v,null,{default:()=>[i(T,{modelValue:this.keyword,onSearch:this.searchBtn},null),i(_,{class:r["filter-top"],align:"center"},{default:()=>[i(c,{span:6,class:this.filterActive===0?r.active:"",onClick:()=>this.onFilter(0)},{default:()=>[o("\u7EFC\u5408\u6392\u5E8F")]}),i(c,{span:6,class:this.filterActive===3||this.filterActive===4?r.active:"",onClick:()=>this.onFilter(3)},{default:()=>[o("\u4EF7\u683C"),i("div",{class:r.filterSort},[i(u,{class:this.filterActive===3?r["icon-active"]:"",style:{transform:"rotate(-90deg)"},name:"play",size:12},null),i(u,{class:[r.iconSort,this.filterActive===4?[r["icon-active"]]:""],style:{transform:"rotate(90deg)"},name:"play",size:12},null)])]}),i(c,{span:6,class:this.filterActive===2?r.active:"",onClick:()=>this.onFilter(2)},{default:()=>[o("\u9500\u91CF")]}),i(c,{span:6,class:r.filterBtn,onClick:()=>this.filterListShow=!0},{default:()=>[o("\u7B5B\u9009"),i(u,{name:w,size:18},null)]})]}),this.productCategory.id?i(L,{class:r["filter-productCategory"],shrink:!0,ellipsis:!1,active:this.productCategory.active,"onUpdate:active":t=>this.productCategory.active=t,onChange:()=>this.onToggleTag()},{default:()=>[this.productCategory&&this.productCategory.children.map((t,e)=>i(S,{name:e,title:t.name},{title:()=>i("div",{class:[r["filter-tag"],this.productCategory.active===e?r["filter-tag-checked"]:""]},[t.name])}))]}):null]}),i("div",{class:r.filterTagWrap},[this.productAttributeCategory.id?i(p,{class:r.filterTag,closeable:!0,onClose:()=>this.onClearTag("productAttributeCategory")},{default:()=>[this.productAttributeCategory.name]}):"",this.brand.id?i(p,{class:r.filterTag,closeable:!0,onClose:()=>this.onClearTag("brand")},{default:()=>[this.brand.name]}):""]),this.tabListShow?i(A,{ref:"tabList",typeId:Number(this.getProductAttributeCategory),productAttributeCategoryId:this.productAttributeCategory.id,brandId:this.brand.id,sort:this.filterActive,keyword:this.keyword},null):null,i(b,{show:this.filterListShow,closeable:!0,position:"bottom",round:!0,onClose:()=>{this.filterListShow=!1}},{default:()=>[i(D,{cateGoryId:this.productCategory.id,ref:"goodsFilter",setFilter:this.setFilter},null)]})])}});export{nt as default};