e-select.C93dsHhZ.js 14 KB

1
  1. import{J as e,o as t,c as i,w as a,b as n,n as s,d as l,t as o,G as r,k as p,M as c,j as u,e as h,F as d,f as g,E as m,N as x,R as f,i as y,h as S,aj as I,S as b,L as k,a1 as v,U as _}from"./index-ESTWQ1DK.js";import{_ as T}from"./uni-icons.CCSIFyQK.js";import{r as z}from"./uni-app.es.B2O8FBxl.js";import{_ as P}from"./_plugin-vue_export-helper.BCo6x5W8.js";const w=P({name:"e-select",data:()=>({showSelector:!1,currentOptions:[],filterOptions:[],currentData:"",scrollTop:0,scrollToId:"scrollToId",scrollWithAnimation:!1}),props:{value:{type:[String,Number],default:""},modelValue:{type:[String,Number],default:""},options:{type:Array,default:()=>[]},props:{type:Object,default:()=>({text:"text",value:"value",disabled:"disabled"})},placeholder:{type:String,default:"请选择"},width:{type:String,default:"100%"},minWidth:{type:String,default:"120rpx"},maxHeight:{type:String,default:"160px"},emptyTips:{type:String,default:"暂无选项"},clearable:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},search:{type:Boolean,default:!0},animation:{type:Boolean,default:!0},position:{type:String,default:"bottom"},pageSize:{type:Number,default:0},pageIndex:{type:Number,default:1}},watch:{options:{handler(e){this.filterOptions=e.slice(),this.initOptions(),this.initData()},immediate:!0,deep:!0},modelValue:{handler(){this.initData()},immediate:!0},value:{handler(){this.initData()},immediate:!0},pageSize(){this.initOptions()},pageIndex(){this.initOptions()}},methods:{initData(){if(this.currentData="",this.value||0===this.value)for(let e=0;e<this.options.length;e++){const t=this.options[e];if(t[this.props.value]===this.value)return this.currentData=t[this.props.text],this.$emit("getText",this.currentData),void(this.pageSize&&this.pageIndex&&this.$emit("update:pageIndex",Math.floor(e/this.pageSize)+1))}else if(this.modelValue||0===this.modelValue)for(let e=0;e<this.options.length;e++){const t=this.options[e];if(t[this.props.value]===this.modelValue)return this.currentData=t[this.props.text],this.$emit("getText",this.currentData),void(this.pageSize&&this.pageIndex&&this.$emit("update:pageIndex",Math.floor(e/this.pageSize)+1))}},initOptions(){this.pageSize&&this.pageIndex?this.currentOptions=this.filterOptions.slice((this.pageIndex-1)*this.pageSize,this.pageIndex*this.pageSize):this.currentOptions=this.filterOptions,this.scrollTop=.1,this.$nextTick((()=>{this.scrollTop=0}))},filter(){this.$emit("update:pageIndex",1),this.$emit("getText",this.currentData),this.currentData&&(this.filterOptions=this.options.filter((e=>e[this.props.text].indexOf(this.currentData)>-1)),this.$emit("update:total",this.filterOptions.length)),setTimeout((()=>{this.initOptions()}),0)},change(e,t){if(e[this.props.disabled])return;const i={index:t,...e};this.$emit("change",i),this.emit(i),this.toggleSelector()},emit(e){this.$emit("input",e[this.props.value]),this.$emit("update:modelValue",e[this.props.value])},clearVal(){this.$emit("change","clear"),this.$emit("input",""),this.$emit("update:modelValue","")},toggleSelector(){this.disabled||(this.showSelector=!this.showSelector,this.showSelector?this.animation&&setTimeout((()=>{this.scrollWithAnimation=!0}),100):(this.filterOptions=this.options.slice(),this.initData(),this.initOptions(),this.$emit("update:total",this.options.length),this.scrollWithAnimation=!1))}}},[["render",function(b,k,v,_,P,w){const C=f,D=y,V=z(e("uni-icons"),T),$=S,O=I;return t(),i(D,{class:"e-select-box",style:u({width:v.width,minWidth:v.minWidth})},{default:a((()=>[n(D,{class:s(["e-select",{"e-select-disabled":v.disabled}])},{default:a((()=>[n(D,{class:"e-select-input-box",onClick:w.toggleSelector},{default:a((()=>[v.search&&!v.disabled?(t(),i(C,{key:0,class:"e-select-input-text",placeholder:v.placeholder,"placeholder-class":"e-select-input-placeholder",modelValue:P.currentData,"onUpdate:modelValue":k[0]||(k[0]=e=>P.currentData=e),onInput:w.filter},null,8,["placeholder","modelValue","onInput"])):(t(),i(D,{key:1,class:s(["e-select-input-text",{"e-select-input-placeholder":!(P.currentData||0===P.currentData)}])},{default:a((()=>[l(o(P.currentData||0===P.currentData?P.currentData:v.placeholder),1)])),_:1},8,["class"])),P.currentData&&v.clearable&&!v.disabled?(t(),i(D,{key:2,class:"e-select-icon",onClick:r(w.clearVal,["stop"])},{default:a((()=>[n(V,{type:"clear",color:"#e1e1e1",size:"16"})])),_:1},8,["onClick"])):(t(),i(D,{key:3,class:"e-select-icon",onClick:r(w.toggleSelector,["stop"])},{default:a((()=>[n(V,{size:"16",color:"#6A6A6A",type:"top",class:s(["arrowAnimation",P.showSelector?"top":"bottom"])},null,8,["class"])])),_:1},8,["onClick"]))])),_:1},8,["onClick"]),P.showSelector?(t(),i(D,{key:0,class:"e-select--mask",onClick:r(w.toggleSelector,["stop"])},null,8,["onClick"])):p("",!0),c(n(D,{class:"e-select-selector",style:u("top"===v.position?"bottom: calc(0px + 42px)":"top: calc(100% + 12px)")},{default:a((()=>[n(D,{class:s("top"===v.position?"e-popper-arrow-bottom":"e-popper-arrow")},null,8,["class"]),P.showSelector?(t(),i(O,{key:0,"scroll-y":"true","scroll-top":P.scrollTop,class:"e-select-selector-scroll",style:u({maxHeight:v.maxHeight}),"scroll-into-view":P.scrollToId,"scroll-with-animation":P.scrollWithAnimation},{default:a((()=>[0===P.currentOptions.length?(t(),i(D,{key:0,class:"e-select-selector-empty"},{default:a((()=>[n($,null,{default:a((()=>[l(o(v.emptyTips),1)])),_:1})])),_:1})):(t(!0),h(d,{key:1},g(P.currentOptions,((e,r)=>(t(),i(D,{class:s(["e-select-selector-item",[{highlight:P.currentData==e[v.props.text]},{"e-select-selector-item-disabled":e[v.props.disabled]}]]),key:r,onClick:t=>w.change(e,r)},{default:a((()=>[P.currentData==e[v.props.text]?(t(),i(D,{key:0,id:"scrollToId"})):p("",!0),n($,null,{default:a((()=>[l(o(e[v.props.text]),1)])),_:2},1024)])),_:2},1032,["class","onClick"])))),128))])),_:1},8,["scroll-top","style","scroll-into-view","scroll-with-animation"])):p("",!0),m(b.$slots,"default",{},void 0,!0)])),_:3},8,["style"]),[[x,P.showSelector]])])),_:3},8,["class"])])),_:3},8,["style"])}],["__scopeId","data-v-22e05c0a"]]),C={en:{"uni-pagination.prevText":"prev","uni-pagination.nextText":"next","uni-pagination.piecePerPage":"piece/page"},es:{"uni-pagination.prevText":"anterior","uni-pagination.nextText":"prxima","uni-pagination.piecePerPage":"Art��culo/P��gina"},fr:{"uni-pagination.prevText":"précédente","uni-pagination.nextText":"suivante","uni-pagination.piecePerPage":"Articles/Pages"},"zh-Hans":{"uni-pagination.prevText":"上一页","uni-pagination.nextText":"下一页","uni-pagination.piecePerPage":"条/页"},"zh-Hant":{"uni-pagination.prevText":"上一頁","uni-pagination.nextText":"下一頁","uni-pagination.piecePerPage":"條/頁"}},{t:D}=b(C);const V=P({components:{eSelectBuiltIn:w,uniPaginationBuiltIn:P({name:"UniPagination",emits:["update:modelValue","input","change","pageSizeChange"],props:{value:{type:[Number,String],default:1},modelValue:{type:[Number,String],default:1},prevText:{type:String},nextText:{type:String},piecePerPageText:{type:String},current:{type:[Number,String],default:1},total:{type:[Number,String],default:0},pageSize:{type:[Number,String],default:10},showIcon:{type:[Boolean,String],default:!1},showPageSize:{type:[Boolean,String],default:!1},pagerCount:{type:Number,default:7},pageSizeRange:{type:Array,default:()=>[20,50,100,500]}},data:()=>({pageSizeIndex:0,currentIndex:1,paperData:[],pickerShow:!1}),computed:{piecePerPage(){return this.piecePerPageText||D("uni-pagination.piecePerPage")},prevPageText(){return this.prevText||D("uni-pagination.prevText")},nextPageText(){return this.nextText||D("uni-pagination.nextText")},maxPage(){let e=1,t=Number(this.total),i=Number(this.pageSize);return t&&i&&(e=Math.ceil(t/i)),e},paper(){const e=this.currentIndex,t=this.pagerCount,i=this.total,a=this.pageSize;let n=[],s=[],l=Math.ceil(i/a);for(let r=0;r<l;r++)n.push(r+1);s.push(1);const o=n[n.length-(t+1)/2];return n.forEach(((i,a)=>{(t+1)/2>=e?i<t+1&&i>1&&s.push(i):e+2<=o?i>e-(t+1)/2&&i<e+(t+1)/2&&s.push(i):(i>e-(t+1)/2||l-t<i)&&i<n[n.length-1]&&s.push(i)})),l>t?((t+1)/2>=e?s[s.length-1]="...":e+2<=o?(s[1]="...",s[s.length-1]="..."):s[1]="...",s.push(n[n.length-1])):(t+1)/2>=e||e+2<=o||(s.shift(),s.push(n[n.length-1])),s}},watch:{current:{immediate:!0,handler(e,t){this.currentIndex=e<1?1:e}},value:{immediate:!0,handler(e){1===Number(this.current)&&(this.currentIndex=e<1?1:e)}},pageSizeIndex(e){this.$emit("pageSizeChange",this.pageSizeRange[e])}},methods:{pickerChange(e){this.pageSizeIndex=e.detail.value,this.pickerClick()},pickerClick(){const e=document.querySelector("body");if(!e)return;const t="uni-pagination-picker-show";this.pickerShow=!this.pickerShow,this.pickerShow?e.classList.add(t):setTimeout((()=>e.classList.remove(t)),300)},selectPage(e,t){if(parseInt(e))this.currentIndex=e,this.change("current");else{let e=Math.ceil(this.total/this.pageSize);if(t<=1)return void(this.currentIndex-5>1?this.currentIndex-=5:this.currentIndex=1);if(t>=6)return void(this.currentIndex+5>e?this.currentIndex=e:this.currentIndex+=5)}},clickLeft(){1!==Number(this.currentIndex)&&(this.currentIndex-=1,this.change("prev"))},clickRight(){Number(this.currentIndex)>=this.maxPage||(this.currentIndex+=1,this.change("next"))},change(e){this.$emit("input",this.currentIndex),this.$emit("update:modelValue",this.currentIndex),this.$emit("change",{type:e,current:this.currentIndex})}}},[["render",function(r,c,u,m,x,f){const I=S,b=z(e("uni-icons"),T),_=k,P=v,w=y;return t(),i(w,{class:"uni-pagination"},{default:a((()=>[!0===u.showPageSize||"true"===u.showPageSize?(t(),i(P,{key:0,class:"select-picker",mode:"selector",value:x.pageSizeIndex,range:u.pageSizeRange,onChange:f.pickerChange,onCancel:f.pickerClick,onClick:f.pickerClick},{default:a((()=>[n(_,{type:"default",size:"mini",plain:!0},{default:a((()=>[n(I,null,{default:a((()=>[l(o(u.pageSizeRange[x.pageSizeIndex])+" "+o(f.piecePerPage),1)])),_:1}),n(b,{class:"select-picker-icon",type:"arrowdown",size:"12",color:"#999"})])),_:1})])),_:1},8,["value","range","onChange","onCancel","onClick"])):p("",!0),n(w,{class:"uni-pagination__total is-phone-hide"},{default:a((()=>[l("共 "+o(u.total)+" 条",1)])),_:1}),n(w,{class:s(["uni-pagination__btn",1===x.currentIndex?"uni-pagination--disabled":"uni-pagination--enabled"]),"hover-class":1===x.currentIndex?"":"uni-pagination--hover","hover-start-time":20,"hover-stay-time":70,onClick:f.clickLeft},{default:a((()=>[!0===u.showIcon||"true"===u.showIcon?(t(),i(b,{key:0,color:"#666",size:"16",type:"left"})):(t(),i(I,{key:1,class:"uni-pagination__child-btn"},{default:a((()=>[l(o(f.prevPageText),1)])),_:1}))])),_:1},8,["class","hover-class","onClick"]),n(w,{class:"uni-pagination__num uni-pagination__num-flex-none"},{default:a((()=>[n(w,{class:"uni-pagination__num-current"},{default:a((()=>[n(I,{class:"uni-pagination__num-current-text is-pc-hide current-index-text"},{default:a((()=>[l(o(x.currentIndex),1)])),_:1}),n(I,{class:"uni-pagination__num-current-text is-pc-hide"},{default:a((()=>[l(" /"+o(f.maxPage||0),1)])),_:1}),(t(!0),h(d,null,g(f.paper,((e,r)=>(t(),i(w,{key:r,class:s([{"page--active":e===x.currentIndex},"uni-pagination__num-tag tag--active is-phone-hide"]),onClick:t=>f.selectPage(e,r)},{default:a((()=>[n(I,null,{default:a((()=>[l(o(e),1)])),_:2},1024)])),_:2},1032,["class","onClick"])))),128))])),_:1})])),_:1}),n(w,{class:s(["uni-pagination__btn",x.currentIndex>=f.maxPage?"uni-pagination--disabled":"uni-pagination--enabled"]),"hover-class":x.currentIndex===f.maxPage?"":"uni-pagination--hover","hover-start-time":20,"hover-stay-time":70,onClick:f.clickRight},{default:a((()=>[!0===u.showIcon||"true"===u.showIcon?(t(),i(b,{key:0,color:"#666",size:"16",type:"right"})):(t(),i(I,{key:1,class:"uni-pagination__child-btn"},{default:a((()=>[l(o(f.nextPageText),1)])),_:1}))])),_:1},8,["class","hover-class","onClick"])])),_:1})}],["__scopeId","data-v-4762ecbc"]])},props:{value:{type:[String,Number],default:""},modelValue:{type:[String,Number],default:""},options:{type:Array,default:()=>[]},props:{type:Object,default:()=>({text:"text",value:"value",disabled:"disabled"})},placeholder:{type:String,default:"请选择"},width:{type:String,default:"100%"},minWidth:{type:String,default:"120rpx"},maxHeight:{type:String,default:"160px"},emptyTips:{type:String,default:"暂无选项"},clearable:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},search:{type:Boolean,default:!0},animation:{type:Boolean,default:!0},position:{type:String,default:"bottom"},pageSize:{type:Number,default:0}},data:()=>({total:0,pageIndex:1,selectData:""}),watch:{options:{handler(e){this.total=e.length},immediate:!0,deep:!0},modelValue:{handler(){this.initData()},immediate:!0},value:{handler(){this.initData()},immediate:!0},selectData:{handler(e){this.$emit("input",e),this.$emit("update:modelValue",e)}}},methods:{initData(){this.value||0===this.value?this.selectData=this.value:(this.modelValue||0===this.modelValue)&&(this.selectData=this.modelValue)},updatePageIndex(e){this.pageIndex=e},updateTotal(e){this.total=e},changePage(e){this.pageIndex=e.current,this.$emit("changePage",e)},changeSelect(e){this.$emit("change",e)}}},[["render",function(e,n,s,l,o,r){const c=_("uni-pagination-built-in"),u=_("e-select-built-in");return t(),i(u,{modelValue:o.selectData,"onUpdate:modelValue":n[0]||(n[0]=e=>o.selectData=e),options:s.options,props:s.props,placeholder:s.placeholder,width:s.width,minWidth:s.minWidth,maxHeight:s.maxHeight,emptyTips:s.emptyTips,clearable:s.clearable,disabled:s.disabled,search:s.search,animation:s.animation,position:s.position,pageSize:s.pageSize,pageIndex:o.pageIndex,"onUpdate:pageIndex":r.updatePageIndex,"onUpdate:total":r.updateTotal,onChange:r.changeSelect},{default:a((()=>[s.pageSize?(t(),i(c,{key:0,"show-icon":"true",total:o.total,pageSize:s.pageSize,current:o.pageIndex,onChange:r.changePage},null,8,["total","pageSize","current","onChange"])):p("",!0)])),_:1},8,["modelValue","options","props","placeholder","width","minWidth","maxHeight","emptyTips","clearable","disabled","search","animation","position","pageSize","pageIndex","onUpdate:pageIndex","onUpdate:total","onChange"])}]]);export{V as _};