import{_ as e}from"./u-input.YvGQNLqg.js";import{v as l,G as t,o as a,d as s,w as i,x as o,e as u,i as n}from"./index-Du27JD75.js";import{r as p}from"./uni-app.es.BZ3Oj9NS.js";import{M as r}from"./MultSelect.CW882N0Q.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[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 _};