| 1 |
- import{X as e,t as l,p as t,w as s,B as a,v as i,q as o}from"./index-P0fyQ2Em.js";import{M as n}from"./index.C9raOSI0.js";import{s as u}from"./index.DsvBnwWf.js";import{_ as p}from"./_plugin-vue_export-helper.BCo6x5W8.js";const r=p({name:"jnpf-select",components:{MultSelect:n,selectBox:u},props:{modelValue:{type:[String,Number,Array]},options:{type:Array,default:()=>[]},props:{type:Object,default:()=>({label:"fullName",value:"id"})},placeholder:{type:String,default:"请选择"},multiple:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},filterable:{type:Boolean,default:!1},isFlow:{type:Boolean,default:!0}},data:()=>({innerValue:"",defaultValue:[],selectShow:!1}),watch:{modelValue:{immediate:!0,handler(e){this.setDefault()}},options:{immediate:!0,handler(e){this.setDefault()}}},computed:{list(){return this.options}},methods:{openSelect(){this.disabled||(this.selectShow=!0)},selectConfirm(e){if(this.multiple)this.innerValue=e.label,this.defaultValue=e.value,this.$emit("update:modelValue",e.value||[]),this.$emit("change",e.value||[],e.list||[]);else{if(!e.length)return;const l=e[0];this.innerValue=l[this.props.label],this.defaultValue=[e[0][this.props.value]],this.$emit("update:modelValue",l[this.props.value]),this.$emit("change",l[this.props.value],l)}},setDefault(){if(!this.options.length)return this.innerValue="";if(this.multiple){if(this.innerValue="",this.defaultValue=[],!this.modelValue||!this.modelValue.length)return;this.defaultValue=this.modelValue;for(let e=0;e<this.options.length;e++){const l=this.options[e];for(let e=0;e<this.modelValue.length;e++){const t=this.modelValue[e];l[this.props.value]==t&&(this.innerValue?this.innerValue+=","+l[this.props.label]:this.innerValue+=l[this.props.label])}}}else{if(this.innerValue="",this.defaultValue=[],!this.modelValue&&0!==this.modelValue)return;for(let e=0;e<this.options.length;e++)if(this.options[e][this.props.value]==this.modelValue)return this.defaultValue=[this.modelValue],void(this.innerValue=this.options[e][this.props.label])}},close(){this.selectShow=!1}}},[["render",function(n,u,p,r,h,d){const m=e("selectBox"),f=e("MultSelect"),c=o;return l(),t(c,{class:"jnpf-select"},{default:s((()=>[p.isFlow?(l(),t(m,{key:0,modelValue:h.innerValue,"onUpdate:modelValue":u[0]||(u[0]=e=>h.innerValue=e),disabled:p.disabled,placeholder:p.placeholder,onOpenSelect:d.openSelect,"select-open":h.selectShow},null,8,["modelValue","disabled","placeholder","onOpenSelect","select-open"])):a("",!0),i(f,{list:d.list,show:h.selectShow,"value-name":p.props.value,"label-name":p.props.label,defaultValue:h.defaultValue,onConfirm:d.selectConfirm,onClose:d.close,filterable:p.filterable,multiple:p.multiple},null,8,["list","show","value-name","label-name","defaultValue","onConfirm","onClose","filterable","multiple"])])),_:1})}],["__scopeId","data-v-d3c45dcd"]]);export{r as _};
|