2 lines
1.5 KiB
JavaScript
2 lines
1.5 KiB
JavaScript
import{Q as V,P as b}from"./element-plus-Ds3qCU_G.js";import{m as k}from"./medicine-Rr4qPw9c.js";import{f as w,w as x,ak as l,I as d,G as u,aN as B,F as C,ap as E}from"./@vue/runtime-core-C6bnekPw.js";import{Q as I}from"./@vue/shared-mAAVTE9n.js";import{y as p,n as f}from"./@vue/reactivity-DiY1c2vO.js";import{_ as M}from"./index-CYLw0J2V.js";const S={key:0,class:"medicine-name-readonly"},F=w({__name:"index",props:{modelValue:{},disabled:{type:Boolean,default:!1}},emits:["update:modelValue"],setup(o,{emit:v}){const i=o,_=v,n=f(!1),a=f([]);function m(){const e=(i.modelValue||"").trim();e&&(a.value.some(t=>t.name===e)||(a.value=[{id:0,name:e},...a.value]))}const c=async e=>{n.value=!0;try{const t=(e||"").trim(),s=await k({name:t||void 0,page_no:1,page_size:100,status:1});a.value=s.lists||[],m()}catch(t){console.error(t),a.value=[]}finally{n.value=!1}},y=e=>{e&&a.value.length===0&&c("")},h=e=>{_("update:modelValue",e||"")};return x(()=>i.modelValue,()=>{m()},{immediate:!0}),(e,t)=>{const s=V,g=b;return o.disabled?(l(),d("span",S,I(o.modelValue||"—"),1)):(l(),u(g,{key:1,"model-value":o.modelValue,class:"medicine-name-select w-full",filterable:"",remote:"","reserve-keyword":"",placeholder:"搜索药材名称或拼音首字母","remote-method":c,loading:p(n),clearable:"",onVisibleChange:y,"onUpdate:modelValue":h},{default:B(()=>[(l(!0),d(C,null,E(p(a),r=>(l(),u(s,{key:r.id,label:r.name,value:r.name},null,8,["label","value"]))),128))]),_:1},8,["model-value","loading"]))}}}),z=M(F,[["__scopeId","data-v-01d726b0"]]);export{z as M};
|