Files
2026-09-08 11:40:15 +08:00

2 lines
2.2 KiB
JavaScript

import{Q as k,P as w}from"./element-plus-Bm2jcHo4.js";import{m as B}from"./medicine-KT_ikIZr.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 c,A as S}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 D}from"./index-CJJeyIXM.js";const F={key:0,class:"medicine-name-readonly"},L={class:"medicine-name-option"},O={class:"medicine-name-option__meta"},Q=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,m=h(!1),t=h([]),y=S(()=>{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=>{m.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{m.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",F,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(m),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(()=>[c("div",L,[c("span",null,u(i.name),1),c("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"]))}}}),J=D(Q,[["__scopeId","data-v-74b65e79"]]);export{J as M};