| 1 |
- import{_ as e,f as t,g as l,i as a,j as s,k as i,L as o,l as n,n as u,t as c,s as r,E as d,J as h,K as m,G as p,v as f,x as y,S as _,X as b,ac as v,ak as g,ap as x,R as C,q as S,ay as D,az as k,aA as V,u as w,r as R,c as $,o as A,w as I,aK as B}from"./index-cgJbsk9Q.js";import{e as N}from"./user.BtyQGfSG.js";const K=e({name:"uniCombox",emits:["input","update:modelValue"],props:{clearAble:{type:Boolean,default:!1},border:{type:Boolean,default:!0},label:{type:String,default:""},labelWidth:{type:String,default:"auto"},placeholder:{type:String,default:""},candidates:{type:Array,default:()=>[]},emptyTips:{type:String,default:"无匹配项"},modelValue:{type:[String,Number],default:""}},data:()=>({showSelector:!1,inputVal:""}),computed:{labelStyle(){return"auto"===this.labelWidth?"":`width: ${this.labelWidth}`},filterCandidates(){return this.candidates.filter(e=>e.toString().toLowerCase().includes(this.inputVal.toLowerCase()))},filterCandidatesLength(){return this.filterCandidates.length}},watch:{modelValue:{handler(e){this.inputVal=e},immediate:!0}},methods:{toggleSelector(){this.showSelector=!this.showSelector},onFocus(){this.showSelector=!0},onBlur(){setTimeout(()=>{this.showSelector=!1},153)},onSelectorClick(e){this.inputVal=this.filterCandidates[e],this.showSelector=!1,this.$emit("input",this.inputVal),this.$emit("update:modelValue",this.inputVal)},onInput(){setTimeout(()=>{this.$emit("input",this.inputVal),this.$emit("update:modelValue",this.inputVal)})},clean(){this.inputVal="",this.onInput()}}},[["render",function(e,v,g,x,C,S){const D=f,k=y,V=_,w=t(l("uni-icons"),N),R=b;return a(),s(k,{class:p(["uni-combox",g.border?"":"uni-combox__no-border"])},{default:i(()=>[g.label?(a(),s(k,{key:0,class:"uni-combox__label",style:o(S.labelStyle)},{default:i(()=>[n(D,null,{default:i(()=>[u(c(g.label),1)]),_:1})]),_:1},8,["style"])):r("",!0),n(k,{class:"uni-combox__input-box"},{default:i(()=>[n(V,{class:"uni-combox__input",type:"text",placeholder:g.placeholder,"placeholder-class":"uni-combox__input-plac",modelValue:C.inputVal,"onUpdate:modelValue":v[0]||(v[0]=e=>C.inputVal=e),onInput:S.onInput,onFocus:S.onFocus,onBlur:S.onBlur},null,8,["placeholder","modelValue","onInput","onFocus","onBlur"]),C.inputVal&&g.clearAble?r("",!0):(a(),s(w,{key:0,type:C.showSelector?"top":"bottom",size:"18",color:"#999",onClick:S.toggleSelector},null,8,["type","onClick"])),C.inputVal&&g.clearAble?(a(),s(w,{key:1,type:"clear",size:"24",color:"#999",onClick:S.clean},null,8,["onClick"])):r("",!0)]),_:1}),C.showSelector?(a(),s(k,{key:1,class:"uni-combox__selector"},{default:i(()=>[n(k,{class:"uni-popper__arrow"}),n(R,{"scroll-y":"true",class:"uni-combox__selector-scroll"},{default:i(()=>[0===S.filterCandidatesLength?(a(),s(k,{key:0,class:"uni-combox__selector-empty"},{default:i(()=>[n(D,null,{default:i(()=>[u(c(g.emptyTips),1)]),_:1})]),_:1})):r("",!0),(a(!0),d(h,null,m(S.filterCandidates,(e,t)=>(a(),s(k,{class:"uni-combox__selector-item",key:t,onClick:e=>S.onSelectorClick(t)},{default:i(()=>[n(D,null,{default:i(()=>[u(c(e),1)]),_:2},1024)]),_:2},1032,["onClick"]))),128))]),_:1})]),_:1})):r("",!0)]),_:1},8,["class"])}],["__scopeId","data-v-362d7209"]]);const T=e({name:"uni-data-select",mixins:[v.mixinDatacom||{}],emits:["open","close","update:modelValue","input","clear","change"],model:{prop:"modelValue",event:"update:modelValue"},options:{virtualHost:!0},props:{localdata:{type:Array,default:()=>[]},value:{type:[String,Number,Array],default:void 0},modelValue:{type:[String,Number,Array],default:void 0},label:{type:String,default:""},placeholder:{type:String,default:"请选择"},emptyTips:{type:String,default:"无选项"},clear:{type:Boolean,default:!0},defItem:{type:Number,default:0},disabled:{type:Boolean,default:!1},format:{type:String,default:""},placement:{type:String,default:"bottom"},multiple:{type:Boolean,default:!1},wrap:{type:Boolean,default:!1},align:{type:String,default:"left"},hideRight:{type:Boolean,default:!1},mode:{type:String,default:"default"},needSpace:{type:Boolean,default:!1}},data:()=>({showSelector:!1,current:"",mixinDatacomResData:[],apps:[],channels:[],cacheKey:"uni-data-select-lastSelectedValue"}),created(){this.debounceGet=this.debounce(()=>{this.query()},300),this.collection&&!this.localdata.length&&this.debounceGet()},computed:{typePlaceholder(){const e=this.placeholder,t={"opendb-stat-app-versions":"版本","opendb-app-channels":"渠道","opendb-app-list":"应用"}[this.collection];return t?e+t:e},valueCom(){return void 0===this.value&&void 0!==this.modelValue?this.modelValue:void 0===this.modelValue&&void 0!==this.value||void 0!==this.value||void 0!==this.modelValue?this.value:void 0},textShow(){if(this.multiple){const e=this.getCurrentValues();if(Array.isArray(e)&&e.length>0){return this.mixinDatacomResData.filter(t=>e.includes(t.value)).map(e=>this.formatItemName(e)).join(", ")}return""}return this.current},shouldShowClear(){if(this.multiple){const e=this.getCurrentValues();return Array.isArray(e)&&e.length>0}return!!this.current},shouldWrap(){return this.multiple&&this.wrap&&!!this.textShow},getOffsetByPlacement(){switch(this.placement){case"top":return"bottom:calc(100% + 12px);";case"bottom":return"top:calc(100% + 12px);"}},slotSelected(){return!!this.$slots&&this.$slots.selected},slotEmpty(){return!!this.$slots&&this.$slots.empty},slotOption(){return!!this.$slots&&this.$slots.option}},watch:{showSelector:{handler(e,t){e?this.$emit("open"):this.$emit("close")}},localdata:{immediate:!0,handler(e,t){Array.isArray(e)&&t!==e&&(this.mixinDatacomResData=e)}},valueCom(e,t){this.initDefVal()},mixinDatacomResData:{immediate:!0,handler(e){e.length&&this.initDefVal()}}},methods:{getSelectedItems(){const e=this.getCurrentValues();let t=this.mixinDatacomResData;return this.multiple?t.filter(t=>e.includes(t.value))||[]:t.filter(t=>t.value===e)||[]},debounce(e,t=100){let l=null;return function(...a){l&&clearTimeout(l),l=setTimeout(()=>{e.apply(this,a)},t)}},isSelected(e){if(this.multiple){const t=this.getCurrentValues();return Array.isArray(t)&&t.includes(e.value)}return this.getCurrentValues()===e.value},getCurrentValues(){return this.multiple?Array.isArray(this.valueCom)?this.valueCom:this.valueCom?[this.valueCom]:[]:this.valueCom},query(){this.mixinDatacomEasyGet()},onMixinDatacomPropsChange(){this.collection&&this.debounceGet()},initDefVal(){let e=this.multiple?[]:void 0;if(void 0===this.valueCom||null===this.valueCom||this.isDisabled(this.valueCom)){let t;if(this.collection&&(t=this.getCache()),t||0===t)e=t;else{let t=this.multiple?[]:void 0;this.defItem>0&&this.defItem<=this.mixinDatacomResData.length&&(t=this.multiple?[this.mixinDatacomResData[this.defItem-1].value]:this.mixinDatacomResData[this.defItem-1].value),e=t}""!==e&&null!=e&&(!this.multiple||Array.isArray(e)&&e.length>0)&&this.emit(e)}else e=this.valueCom;if(this.multiple){const t=Array.isArray(e)?e:void 0!==e?[e]:[],l=this.mixinDatacomResData.filter(e=>t.includes(e.value));this.current=l.map(e=>this.formatItemName(e))}else{const t=void 0!==e?this.mixinDatacomResData.find(t=>t.value===e):null;this.current=t?this.formatItemName(t):""}},isDisabled(e){if(Array.isArray(e))return e.some(e=>this.mixinDatacomResData.some(t=>t.value===e&&t.disable));{let t=!1;return this.mixinDatacomResData.forEach(l=>{l.value===e&&(t=l.disable)}),t}},clearVal(){const e=this.multiple?[]:"";this.emit(e),this.current=this.multiple?[]:"",this.collection&&this.removeCache(),this.$emit("clear")},checkBoxChange(e){let t=e.detail.value,l=t&&t.length>0?t.map(e=>{const t=parseInt(e,10);return isNaN(t)&&console.error(`无效索引: ${e}`),(t<0||t>=this.mixinDatacomResData.length)&&console.error(`索引越界: ${t}`),this.mixinDatacomResData[t].value}):[];const a=this.mixinDatacomResData.filter(e=>l.includes(e.value));this.current=a.map(e=>this.formatItemName(e)),this.emit(l)},change(e){if(!e.disable)if(this.multiple){let t=this.getCurrentValues();Array.isArray(t)||(t=t?[t]:[]);const l=e.value,a=t.indexOf(l);a>-1?t.splice(a,1):t.push(l);const s=this.mixinDatacomResData.filter(e=>t.includes(e.value));this.current=s.map(e=>this.formatItemName(e)),this.emit(t)}else this.showSelector=!1,this.current=this.formatItemName(e),this.emit(e.value)},emit(e){this.$emit("input",e),this.$emit("update:modelValue",e),this.$emit("change",e),this.collection&&this.setCache(e)},toggleSelector(){this.disabled||(this.showSelector=!this.showSelector)},formatItemName(e){let{text:t,value:l,channel_code:a}=e;if(a=a?`(${a})`:"",this.format){let t="";t=this.format;for(let l in e)t=t.replace(new RegExp(`{${l}}`,"g"),e[l]);return t}return this.collection.indexOf("app-list")>0?`${t}(${l})`:t||`未命名${a}`},getLoadData(){return this.mixinDatacomResData},getCurrentCacheKey(){return this.collection},getCache(e=this.getCurrentCacheKey()){return(g(this.cacheKey)||{})[e]},setCache(e,t=this.getCurrentCacheKey()){let l=g(this.cacheKey)||{};l[t]=e,x(this.cacheKey,l)},removeCache(e=this.getCurrentCacheKey()){let t=g(this.cacheKey)||{};delete t[e],x(this.cacheKey,t)}}},[["render",function(e,_,v,g,x,w){const R=y,$=t(l("uni-icons"),N),A=f,I=D,B=k,K=V,T=b;return a(),s(R,{class:"uni-stat__select"},{default:i(()=>[v.label?(a(),d("span",{key:0,class:"uni-label-text hide-on-phone"},c(v.label+":"),1)):r("",!0),n(R,{class:p(["uni-stat-box",{"uni-stat__actived":x.current}])},{default:i(()=>[n(R,{class:p(["uni-select",{"uni-select--disabled":v.disabled,"uni-select--wrap":w.shouldWrap,"border-default":"default"==v.mode,"border-bottom":"underline"==v.mode}])},{default:i(()=>[n(R,{class:p(["uni-select__input-box",{"uni-select__input-box--wrap":w.shouldWrap}]),onClick:w.toggleSelector},{default:i(()=>[w.slotSelected?(a(),s(R,{key:0,class:p(["slot-content padding-top-bottom",{"uni-select__input-text--wrap":w.shouldWrap}])},{default:i(()=>[C(e.$slots,"selected",{selectedItems:w.getSelectedItems()},void 0,!0)]),_:3},8,["class"])):(a(),d(h,{key:1},[w.textShow?(a(),s(R,{key:0,class:p(["uni-select__input-text",{"uni-select__input-text--wrap":w.shouldWrap}])},{default:i(()=>[n(R,{class:p(["padding-top-bottom","align-"+v.align])},{default:i(()=>[u(c(w.textShow),1)]),_:1},8,["class"])]),_:1},8,["class"])):(a(),s(R,{key:1,class:p(["uni-select__input-text uni-select__input-placeholder","align-"+v.align])},{default:i(()=>[u(c(w.typePlaceholder),1)]),_:1},8,["class"]))],64)),!v.hideRight&&w.shouldShowClear&&v.clear&&!v.disabled?(a(),s(R,{key:"clear-button",onClick:S(w.clearVal,["stop"])},{default:i(()=>[n($,{type:"clear",color:"#c0c4cc",size:"24"})]),_:1},8,["onClick"])):v.hideRight?r("",!0):(a(),s(R,{key:"arrow-button"},{default:i(()=>[n($,{type:x.showSelector?"top":"bottom",size:"14",color:"#999"},null,8,["type"])]),_:1}))]),_:3},8,["onClick","class"]),x.showSelector?(a(),s(R,{key:0,class:"uni-select--mask",onClick:w.toggleSelector},null,8,["onClick"])):r("",!0),x.showSelector?(a(),s(R,{key:1,class:"uni-select__selector",style:o(w.getOffsetByPlacement)},{default:i(()=>[n(R,{class:p("bottom"==v.placement?"uni-popper__arrow_bottom":"uni-popper__arrow_top")},null,8,["class"]),n(T,{"scroll-y":"true",class:"uni-select__selector-scroll"},{default:i(()=>[w.slotEmpty&&0===x.mixinDatacomResData.length?(a(),s(R,{key:0,class:"uni-select__selector-empty"},{default:i(()=>[C(e.$slots,"empty",{empty:v.emptyTips},void 0,!0)]),_:3})):(a(),d(h,{key:1},[0===x.mixinDatacomResData.length?(a(),s(R,{key:0,class:"uni-select__selector-empty"},{default:i(()=>[n(A,null,{default:i(()=>[u(c(v.emptyTips),1)]),_:1})]),_:1})):r("",!0)],64)),w.slotOption?(a(!0),d(h,{key:2},m(x.mixinDatacomResData,(t,l)=>(a(),s(R,{key:l,onClick:e=>w.change(t)},{default:i(()=>[C(e.$slots,"option",{item:t,itemSelected:v.multiple?w.getCurrentValues().includes(t.value):w.getCurrentValues()==t.value},void 0,!0)]),_:2},1032,["onClick"]))),128)):(a(),d(h,{key:3},[!v.multiple&&x.mixinDatacomResData.length>0?(a(!0),d(h,{key:0},m(x.mixinDatacomResData,(e,t)=>(a(),s(R,{class:p([{"uni-select__selector-item":!0,"uni-select__selector-item--actived":e.value===v.modelValue},""]),key:t,onClick:t=>w.change(e)},{default:i(()=>[n(A,{class:p({"uni-select__selector__disabled":e.disable})},{default:i(()=>[u(c(v.needSpace?e.disable?"":" ":"")+" "+c(w.formatItemName(e)),1)]),_:2},1032,["class"])]),_:2},1032,["class","onClick"]))),128)):r("",!0),v.multiple&&x.mixinDatacomResData.length>0?(a(),s(R,{key:1},{default:i(()=>[n(K,{onChange:w.checkBoxChange},{default:i(()=>[(a(!0),d(h,null,m(x.mixinDatacomResData,(e,t)=>(a(),s(B,{class:"uni-select__selector-item",key:t},{default:i(()=>[n(I,{value:t+"",checked:w.getCurrentValues().includes(e.value),disabled:e.disable},null,8,["value","checked","disabled"]),n(R,{class:p({"uni-select__selector__disabled":e.disable})},{default:i(()=>[u(c(w.formatItemName(e)),1)]),_:2},1032,["class"])]),_:2},1024))),128))]),_:1},8,["onChange"])]),_:1})):r("",!0)],64))]),_:3})]),_:3},8,["style"])):r("",!0)]),_:3},8,["class"])]),_:3},8,["class"])]),_:3})}],["__scopeId","data-v-5269919c"]]),W=e({__name:"cwg-combox",props:{value:[String,Number,Array],options:{type:Array,default:()=>[]},filterable:{type:Boolean,default:!1},placeholder:String,clearable:{type:Boolean,default:!0},multiple:{type:Boolean,default:!1},disabled:Boolean,needSpace:{type:Boolean,default:!1}},emits:["update:value","change"],setup(e,{emit:o}){w();const n=e,m=o,p=R(n.value),f=R(),_=$(()=>n.options.map(e=>e.text)),b=e=>{if(!e)return void(f.value="");const t=n.options.find(t=>t.value===e);f.value=t?t.text:""};A(()=>{n.value&&(p.value=n.value,b(n.value))}),I(()=>n.value,e=>{p.value=e,b(e)}),I(()=>n.options,()=>{n.value&&b(n.value)},{deep:!0});const v=e=>{p.value=e,b(e),m("update:value",e),m("change",e)},g=e=>{const t=n.options.find(t=>t.text===e);t&&(p.value=t.value,m("update:value",t.value),m("change",t.value))};return(o,n)=>{const m=y,b=t(l("uni-combox"),K),x=t(l("uni-data-select"),T);return a(),s(m,{class:"cwg-combox"},{default:i(()=>[e.disabled?(a(),s(m,{key:0,class:"disabled-text"},{default:i(()=>[u(c(f.value),1)]),_:1})):r("",!0),e.disabled?r("",!0):(a(),d(h,{key:1},[e.filterable?(a(),s(b,{key:0,modelValue:f.value,"onUpdate:modelValue":n[0]||(n[0]=e=>f.value=e),candidates:_.value,clearable:e.clearable,placeholder:e.placeholder,disabled:e.disabled,onInput:g},null,8,["modelValue","candidates","clearable","placeholder","disabled"])):(a(),s(x,{key:1,modelValue:p.value,"onUpdate:modelValue":n[1]||(n[1]=e=>p.value=e),localdata:e.options,clear:e.clearable,placeholder:e.placeholder,multiple:e.multiple,disabled:e.disabled,onChange:v,needSpace:e.needSpace},B({_:2},[o.$slots.selected?{name:"selected",fn:i(()=>[C(o.$slots,"selected",{},void 0,!0)]),key:"0"}:void 0]),1032,["modelValue","localdata","clear","placeholder","multiple","disabled","needSpace"]))],64))]),_:3})}}},[["__scopeId","data-v-63dcc4c7"]]);export{W as _,T as a};
|