import{_ as e}from"./u-input.B4n5960Q.js";import{q as l,Q as t,o as a,c as s,w as i,A as o,t as u,i as n}from"./index-DL8B2Mxu.js";import{r as p}from"./uni-app.es.BSVEa1f2.js";import{M as r}from"./MultSelect.HKBUWGE0.js";import{_ as h}from"./_plugin-vue_export-helper.BCo6x5W8.js";const d=h({name:"jnpf-select",components:{MultSelect:r},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},isForm:{type:Boolean,default:!0}},data:()=>({innerValue:"",defaultValue:[],showSelectModal:!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.showSelectModal=!0)},selectConfirm(e,l=""){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=this.options[e[0].index]||{};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.showSelectModal=!1}}},[["render",function(r,h,d,m,f,c){const V=p(l("u-input"),e),b=t("MultSelect"),v=n;return a(),s(v,{class:"jnpf-select"},{default:i((()=>[d.isForm?(a(),s(V,{key:0,"input-align":"right",type:"select","select-open":f.showSelectModal,modelValue:f.innerValue,"onUpdate:modelValue":h[0]||(h[0]=e=>f.innerValue=e),placeholder:d.placeholder,onClick:c.openSelect},null,8,["select-open","modelValue","placeholder","onClick"])):o("",!0),u(b,{list:c.list,show:f.showSelectModal,"value-name":d.props.value,"label-name":d.props.label,defaultValue:f.defaultValue,onConfirm:c.selectConfirm,onClose:c.close,filterable:d.filterable,multiple:d.multiple,labelName:d.props.label,valueName:d.props.value},null,8,["list","show","value-name","label-name","defaultValue","onConfirm","onClose","filterable","multiple","labelName","valueName"])])),_:1})}],["__scopeId","data-v-8a738214"]]);export{d as _};
