2 lines
2.2 KiB
JavaScript
2 lines
2.2 KiB
JavaScript
import{L as k,K as w}from"./element-plus-DDINy080.js";import{m as B}from"./medicine-B9SVZ633.js";import{f as x,w as C,ak as l,I as v,G as I,aN as b,F as M,ap as E,J as m,A as L}from"./@vue/runtime-core-C6bnekPw.js";import{Q as u}from"./@vue/shared-mAAVTE9n.js";import{y as p,n as h}from"./@vue/reactivity-DiY1c2vO.js";import{_ as S}from"./index-CucNzNKR.js";const D={key:0,class:"medicine-name-readonly"},F={class:"medicine-name-option"},O={class:"medicine-name-option__meta"},U=x({__name:"index",props:{modelValue:{},medicineId:{},disabled:{type:Boolean,default:!1}},emits:["update:modelValue","update:medicineId"],setup(d,{emit:g}){const o=d,r=g,c=h(!1),t=h([]),y=L(()=>{const e=Number(o.medicineId);return Number.isInteger(e)&&e>0?e:(o.modelValue||"").trim()?0:""});function f(){const e=(o.modelValue||"").trim();if(!e)return;const n=Number(o.medicineId),a=Number.isInteger(n)&&n>0?n:0;t.value.some(s=>s.id===a)||(t.value=[{id:a,name:e},...t.value])}const _=async e=>{c.value=!0;try{const n=(e||"").trim(),a=await B({name:n||void 0,page_no:1,page_size:100,status:1});t.value=a.lists||[],f()}catch(n){console.error(n),t.value=[]}finally{c.value=!1}},V=e=>{e&&t.value.length===0&&_("")},N=e=>{const n=Number(e),a=n>0?t.value.find(s=>s.id===n):void 0;r("update:modelValue",(a==null?void 0:a.name)||""),r("update:medicineId",a==null?void 0:a.id)};return C(()=>[o.modelValue,o.medicineId],()=>{!(o.modelValue||"").trim()&&Number(o.medicineId)>0&&r("update:medicineId",void 0),f()},{immediate:!0}),(e,n)=>{const a=k,s=w;return d.disabled?(l(),v("span",D,u(d.modelValue||"—"),1)):(l(),I(s,{key:1,"model-value":p(y),class:"medicine-name-select w-full",filterable:"",remote:"","reserve-keyword":"",placeholder:"搜索药材名称或拼音首字母","remote-method":_,loading:p(c),clearable:"",onVisibleChange:V,"onUpdate:modelValue":N},{default:b(()=>[(l(!0),v(M,null,E(p(t),i=>(l(),I(a,{key:i.id,label:i.name,value:i.id},{default:b(()=>[m("div",F,[m("span",null,u(i.name),1),m("span",O,u(i.id>0?[i.supplier,i.unit,`ID ${i.id}`].filter(Boolean).join(" · "):"历史名称,请重新选择"),1)])]),_:2},1032,["label","value"]))),128))]),_:1},8,["model-value","loading"]))}}}),K=S(U,[["__scopeId","data-v-ad63c295"]]);export{K as M};
|