| 1 |
- import{r as e,aW as t,aV as l,aG as a,B as s,bp as i,a8 as o,aw as n,N as u,aa as c,M as r,b8 as d,E as h,I as m,S as p,G as f,F as y,aQ as _,av as b,bb as v,aR as g,br as x,aj as C,am as S,ai as D,a1 as V,a_ as k,bh as w,aO as R,x as $,aA as A,bo as I,K as B}from"./index-F6_4Jyh4.js";import{b as N}from"./uni-row.zq2qDVVW.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=c,V=o,k=m,w=t(l("uni-icons"),N),R=p;return a(),s(V,{class:b(["uni-combox",g.border?"":"uni-combox__no-border"])},{default:i(()=>[g.label?(a(),s(V,{key:0,class:"uni-combox__label",style:n(S.labelStyle)},{default:i(()=>[u(D,null,{default:i(()=>[r(d(g.label),1)]),_:1})]),_:1},8,["style"])):h("",!0),u(V,{class:"uni-combox__input-box"},{default:i(()=>[u(k,{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?h("",!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"])):h("",!0)]),_:1}),C.showSelector?(a(),s(V,{key:1,class:"uni-combox__selector"},{default:i(()=>[u(V,{class:"uni-popper__arrow"}),u(R,{"scroll-y":"true",class:"uni-combox__selector-scroll"},{default:i(()=>[0===S.filterCandidatesLength?(a(),s(V,{key:0,class:"uni-combox__selector-empty"},{default:i(()=>[u(D,null,{default:i(()=>[r(d(g.emptyTips),1)]),_:1})]),_:1})):h("",!0),(a(!0),f(y,null,_(S.filterCandidates,(e,t)=>(a(),s(V,{class:"uni-combox__selector-item",key:t,onClick:e=>S.onSelectorClick(t)},{default:i(()=>[u(D,null,{default:i(()=>[r(d(e),1)]),_:2},1024)]),_:2},1032,["onClick"]))),128))]),_:1})]),_:1})):h("",!0)]),_:1},8,["class"])}],["__scopeId","data-v-205b5832"]]);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(V(this.cacheKey)||{})[e]},setCache(e,t=this.getCurrentCacheKey()){let l=V(this.cacheKey)||{};l[t]=e,k(this.cacheKey,l)},removeCache(e=this.getCurrentCacheKey()){let t=V(this.cacheKey)||{};delete t[e],k(this.cacheKey,t)}}},[["render",function(e,m,v,V,k,w){const R=o,$=t(l("uni-icons"),N),A=c,I=D,B=S,K=C,T=p;return a(),s(R,{class:"uni-stat__select"},{default:i(()=>[v.label?(a(),f("span",{key:0,class:"uni-label-text hide-on-phone"},d(v.label+":"),1)):h("",!0),u(R,{class:b(["uni-stat-box",{"uni-stat__actived":k.current}])},{default:i(()=>[u(R,{class:b(["uni-select",{"uni-select--disabled":v.disabled,"uni-select--wrap":w.shouldWrap,"border-default":"default"==v.mode,"border-bottom":"underline"==v.mode}])},{default:i(()=>[u(R,{class:b(["uni-select__input-box",{"uni-select__input-box--wrap":w.shouldWrap}]),onClick:w.toggleSelector},{default:i(()=>[w.slotSelected?(a(),s(R,{key:0,class:b(["slot-content padding-top-bottom",{"uni-select__input-text--wrap":w.shouldWrap}])},{default:i(()=>[g(e.$slots,"selected",{selectedItems:w.getSelectedItems()},void 0,!0)]),_:3},8,["class"])):(a(),f(y,{key:1},[w.textShow?(a(),s(R,{key:0,class:b(["uni-select__input-text",{"uni-select__input-text--wrap":w.shouldWrap}])},{default:i(()=>[u(R,{class:b(["padding-top-bottom","align-"+v.align])},{default:i(()=>[r(d(w.textShow),1)]),_:1},8,["class"])]),_:1},8,["class"])):(a(),s(R,{key:1,class:b(["uni-select__input-text uni-select__input-placeholder","align-"+v.align])},{default:i(()=>[r(d(w.typePlaceholder),1)]),_:1},8,["class"]))],64)),!v.hideRight&&w.shouldShowClear&&v.clear&&!v.disabled?(a(),s(R,{key:"clear-button",onClick:x(w.clearVal,["stop"])},{default:i(()=>[u($,{type:"clear",color:"#c0c4cc",size:"24"})]),_:1},8,["onClick"])):v.hideRight?h("",!0):(a(),s(R,{key:"arrow-button"},{default:i(()=>[u($,{type:k.showSelector?"top":"bottom",size:"14",color:"#999"},null,8,["type"])]),_:1}))]),_:3},8,["onClick","class"]),k.showSelector?(a(),s(R,{key:0,class:"uni-select--mask",onClick:w.toggleSelector},null,8,["onClick"])):h("",!0),k.showSelector?(a(),s(R,{key:1,class:"uni-select__selector",style:n(w.getOffsetByPlacement)},{default:i(()=>[u(R,{class:b("bottom"==v.placement?"uni-popper__arrow_bottom":"uni-popper__arrow_top")},null,8,["class"]),u(T,{"scroll-y":"true",class:"uni-select__selector-scroll"},{default:i(()=>[w.slotEmpty&&0===k.mixinDatacomResData.length?(a(),s(R,{key:0,class:"uni-select__selector-empty"},{default:i(()=>[g(e.$slots,"empty",{empty:v.emptyTips},void 0,!0)]),_:3})):(a(),f(y,{key:1},[0===k.mixinDatacomResData.length?(a(),s(R,{key:0,class:"uni-select__selector-empty"},{default:i(()=>[u(A,null,{default:i(()=>[r(d(v.emptyTips),1)]),_:1})]),_:1})):h("",!0)],64)),w.slotOption?(a(!0),f(y,{key:2},_(k.mixinDatacomResData,(t,l)=>(a(),s(R,{key:l,onClick:e=>w.change(t)},{default:i(()=>[g(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(),f(y,{key:3},[!v.multiple&&k.mixinDatacomResData.length>0?(a(!0),f(y,{key:0},_(k.mixinDatacomResData,(e,t)=>(a(),s(R,{class:b([{"uni-select__selector-item":!0,"uni-select__selector-item--actived":e.value===v.modelValue},""]),key:t,onClick:t=>w.change(e)},{default:i(()=>[u(A,{class:b({"uni-select__selector__disabled":e.disable})},{default:i(()=>[r(d(v.needSpace?e.disable?"":" ":"")+" "+d(w.formatItemName(e)),1)]),_:2},1032,["class"])]),_:2},1032,["class","onClick"]))),128)):h("",!0),v.multiple&&k.mixinDatacomResData.length>0?(a(),s(R,{key:1},{default:i(()=>[u(K,{onChange:w.checkBoxChange},{default:i(()=>[(a(!0),f(y,null,_(k.mixinDatacomResData,(e,t)=>(a(),s(B,{class:"uni-select__selector-item",key:t},{default:i(()=>[u(I,{value:t+"",checked:w.getCurrentValues().includes(e.value),disabled:e.disable},null,8,["value","checked","disabled"]),u(R,{class:b({"uni-select__selector__disabled":e.disable})},{default:i(()=>[r(d(w.formatItemName(e)),1)]),_:2},1032,["class"])]),_:2},1024))),128))]),_:1},8,["onChange"])]),_:1})):h("",!0)],64))]),_:3})]),_:3},8,["style"])):h("",!0)]),_:3},8,["class"])]),_:3},8,["class"])]),_:3})}],["__scopeId","data-v-a016b5a2"]]),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:n}){const{t:u}=w(),c=e,m=n,p=R(c.value),_=R(),b=$(()=>c.options.map(e=>e.text)),v=e=>{if(!e)return void(_.value="");const t=c.options.find(t=>t.value===e);_.value=t?t.text:""};A(()=>{c.value&&(p.value=c.value,v(c.value))}),I(()=>c.value,e=>{p.value=e,v(e)}),I(()=>c.options,()=>{c.value&&v(c.value)},{deep:!0});const x=e=>{p.value=e,v(e),m("update:value",e),m("change",e)},C=e=>{const t=c.options.find(t=>t.text===e);t&&(p.value=t.value,m("update:value",t.value),m("change",t.value))};return(n,u)=>{const c=o,m=t(l("uni-combox"),K),v=t(l("uni-data-select"),T);return a(),s(c,{class:"cwg-combox"},{default:i(()=>[e.disabled?(a(),s(c,{key:0,class:"disabled-text"},{default:i(()=>[r(d(_.value),1)]),_:1})):h("",!0),e.disabled?h("",!0):(a(),f(y,{key:1},[e.filterable?(a(),s(m,{key:0,modelValue:_.value,"onUpdate:modelValue":u[0]||(u[0]=e=>_.value=e),candidates:b.value,clearable:e.clearable,placeholder:e.placeholder,disabled:e.disabled,onInput:C},null,8,["modelValue","candidates","clearable","placeholder","disabled"])):(a(),s(v,{key:1,modelValue:p.value,"onUpdate:modelValue":u[1]||(u[1]=e=>p.value=e),localdata:e.options,clear:e.clearable,placeholder:e.placeholder,multiple:e.multiple,disabled:e.disabled,onChange:x,needSpace:e.needSpace},B({_:2},[n.$slots.selected?{name:"selected",fn:i(()=>[g(n.$slots,"selected",{},void 0,!0)]),key:"0"}:void 0]),1032,["modelValue","localdata","clear","placeholder","multiple","disabled","needSpace"]))],64))]),_:3})}}},[["__scopeId","data-v-b3a48302"]]);export{T as _,W as a};
|