Files
zyt/server/public/admin/assets/index-BR_Xy01V.js
T
2026-05-06 18:22:24 +08:00

2 lines
41 KiB
JavaScript

import{e as Ct,i as xt,D as Dt,a3 as Pt,a4 as Ut,B as Et,C as Nt,h as Rt,P as It,Q as Ot,G as Lt,I as Tt,g as $t,T as At,d as zt,r as Mt,V as Wt,L as Ht,N as jt,M as Bt,X as Ft}from"./element-plus-B7Dx6hR2.js";import{s as J,w as Gt}from"./@vue/runtime-dom-CEiKlVMn.js";import{M as Jt}from"./index-BSHCwamW.js";import{u as Kt,e as qt,i as k,m as S,_ as Qt}from"./index-CMjmnkXt.js";import{f as Xt}from"./diabetes-discovery-display-B_wmGXQJ.js";import{J as Yt,a as oe,K as Fe,e as Zt,f as es,aa as ts}from"./tcm-C-HR_i0x.js";import Ge from"./html2canvas-QH1iLAAe.js";import{E as ss}from"./jspdf-BsthCvR5.js";import{L as os,G as as,M as ls}from"./@element-plus/icons-vue-C25ce6PD.js";import{f as ns,w as Je,ak as g,I as w,F as K,a as l,M as is,aN as i,J as o,O as u,ap as _e,H as C,G as D,aP as rs,A as me}from"./@vue/runtime-core-tF_2qJHK.js";import{y as t,a as q,n as f,r as Ke}from"./@vue/reactivity-BmZ-20sQ.js";import{Q as c,o as ds}from"./@vue/shared-mAAVTE9n.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./lodash-D3kF6u-c.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./medicine-Ccpy1xFM.js";import"./vue-router-BjeWxBI0.js";import"./pinia-CTWOnonq.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-Da2f2eD_.js";import"./@vueuse/shared-Bl-RnC0s.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-yVHyDRAS.js";import"./tslib-BDyQ-Jie.js";import"./zrender-C0YiHEZX.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-Bm7NQW9r.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";const cs={key:0,class:"prescription-edit"},us={class:"info-section"},ps={class:"info-section"},_s={class:"info-section"},ms={class:"section-title"},gs={class:"mb-3"},fs={class:"herbs-editor-grid"},vs={class:"herb-editor-card__title"},ys={key:0,class:"herb-editor-card__dup-hint text-amber-600 text-xs mb-1"},bs={class:"herb-editor-card__row"},ws={class:"info-section"},hs={key:3,class:"ml-2"},ks={class:"signature-pad-wrap"},Vs={class:"signature-actions"},Ss={key:1,class:"prescription-preview"},Cs={class:"prescription-preview-content"},xs={class:"prescription-header"},Ds={class:"prescription-title"},Ps={class:"prescription-type"},Us={key:0,class:"prescription-void-info"},Es={class:"prescription-info"},Ns={class:"info-row"},Rs={class:"info-item"},Is={class:"info-item"},Os={class:"info-item"},Ls={class:"info-row"},Ts={class:"info-item"},$s={class:"info-item"},As={class:"info-item"},zs={class:"info-row"},Ms={key:0,class:"info-item"},Ws={key:1,class:"info-item"},Hs={class:"info-row info-row-full"},js={class:"info-item"},Bs={class:"prescription-rp"},Fs={class:"herbs-grid"},Gs={key:1,class:"prescription-disclaimer"},Js={class:"prescription-footer"},Ks={class:"footer-left"},qs={class:"footer-dosage"},Qs={class:"footer-dosage"},Xs={key:0,class:"footer-dietary"},Ys={key:1,class:"footer-notes"},Zs={class:"footer-right footer-sign"},eo={class:"signature-cell"},to=["src"],so={key:1},oo={class:"case-record-a3-inner"},ao={class:"case-record-a3-title"},lo={class:"case-record-a3-body"},no={class:"cr-section"},io={class:"cr-grid"},ro={class:"cr-item"},co={class:"cr-item"},uo={class:"cr-item"},po={class:"cr-item"},_o={class:"cr-item"},mo={class:"cr-item"},go={class:"cr-item"},fo={class:"cr-item"},vo={class:"cr-item"},yo={class:"cr-item"},bo={class:"cr-section"},wo={class:"cr-grid"},ho={class:"cr-item"},ko={class:"cr-item"},Vo={class:"cr-section"},So={class:"cr-grid"},Co={class:"cr-item"},xo={class:"cr-item"},Do={class:"cr-item"},Po={class:"cr-item"},Uo={class:"cr-item"},Eo={class:"cr-item cr-full"},No={class:"cr-item cr-full"},Ro={class:"cr-section"},Io={class:"cr-grid"},Oo={class:"cr-item cr-full"},Lo={class:"cr-item cr-full"},To={class:"cr-item cr-full"},$o={class:"cr-item cr-full"},Ao={class:"cr-item cr-full"},zo={class:"cr-item cr-full"},Mo={class:"cr-item cr-full"},Wo={class:"cr-item cr-full"},Ho={class:"cr-item cr-full"},jo={class:"cr-item cr-full"},Bo={class:"cr-item cr-full"},Fo={class:"cr-item cr-full"},Go={class:"cr-item cr-full"},Jo={class:"cr-item cr-full"},Ko={class:"cr-item cr-full"},qo={class:"cr-section"},Qo={class:"cr-item cr-full"},Xo={class:"cr-section"},Yo={class:"cr-grid"},Zo={class:"cr-item"},ea={class:"cr-item"},ta={class:"cr-item"},sa={class:"cr-item"},oa={class:"cr-item"},aa={class:"cr-section"},la={key:0,class:"cr-grid"},na={class:"cr-item cr-full"},ia={class:"cr-images"},ra=["src"],da={class:"cr-grid"},ca={class:"cr-item cr-full"},ua={class:"flex justify-end gap-2 mt-4"},pa={class:"inline-block"},_a={class:"flex justify-end gap-2"},ma={class:"mb-4"},ga={key:0},fa={key:1,class:"text-gray-400"},va={class:"flex justify-end mt-4"},Q=560,X=168,ya=ns({__name:"index",emits:["success"],setup(ba,{expose:qe,emit:Qe}){const ge=Qe,I=f(!1),Xe=f(),ae=f(!1),le=f(!1),fe=f(),ve=f(),O=f(),Y=f(null),n=f(null),Z=me(()=>{const a=n.value;return a?Number(a.audit_status)===1&&Number(a.void_status)!==1:!1}),ye=me(()=>{const a=n.value;return a?Number(a.has_prescription_order)===1:!1}),Ye=me(()=>Z.value?"查看处方":"中医处方单"),$=f(!1),ne=f(!1),be=f([]),H=f(""),A=f(!1),z=f(1),ee=f(15),we=f(0),j=Ke({stationName:"成都双流甄养堂互联网医院",showDisclaimer:!0,disclaimer:""}),s=Ke({diagnosis_id:0,appointment_id:0,prescription_name:"",prescription_type:"浓缩水丸",dosage_amount:10,dosage_unit:"g",need_decoction:!1,bags_per_dose:1,patient_name:"",gender:0,gender_desc:"女",age:0,phone:"",visit_no:"",prescription_date:"",pulse:"",tongue:"",tongue_image:"",pulse_condition:"",clinical_diagnosis:"",case_record:null,herbs:[],dose_count:1,dose_unit:"剂",usage_days:7,times_per_day:2,usage_instruction:"",usage_time:"饭后",usage_way:"温水送服",dietary_taboo:[],usage_notes:"",amount:0,doctor_name:"",doctor_signature:"",is_shared:0}),he=Kt(),Ze=qt(),et=a=>{const e=typeof a=="string"?a:(a==null?void 0:a.url)??(a==null?void 0:a.uri)??(a==null?void 0:a.path)??"";return e?String(e).startsWith("http")?e:Ze.getImageUrl(e):""},ie=f([]),re=f([]),ke=f([]),Ve=f([]),Se=f([]),Ce=f([]),xe=f([]),De=f([]),Pe=f([]),Ue=f([]),Ee=f([]),Ne=f([]),Re=f([]),Ie=f([]),Oe=f([]),Le=f([]),Te=f([]),$e=f([]),N=(a,e)=>{if(!e)return"";const r=a.find(d=>d.value===e);return r?r.name:e},Ae=async()=>{try{const[a,e,r,d,_,b,v,y,p,h,L,M,R,T,P,W,B,F]=await Promise.all([S({type:"diagnosis_type"}),S({type:"syndrome_type"}),S({type:"diabetes_type"}),S({type:"past_history"}),S({type:"appetite"}),S({type:"water_intake"}),S({type:"diet_condition"}),S({type:"weight_change"}),S({type:"body_feeling"}),S({type:"sleep_condition"}),S({type:"eye_condition"}),S({type:"head_feeling"}),S({type:"sweat_condition"}),S({type:"skin_condition"}),S({type:"urine_condition"}),S({type:"stool_condition"}),S({type:"kidney_condition"}),S({type:"fatty_liver_degree"})]);ie.value=(a==null?void 0:a.diagnosis_type)||[],re.value=(e==null?void 0:e.syndrome_type)||[],ke.value=(r==null?void 0:r.diabetes_type)||[],Ve.value=(d==null?void 0:d.past_history)||[],Se.value=(_==null?void 0:_.appetite)||[],Ce.value=(b==null?void 0:b.water_intake)||[],xe.value=(v==null?void 0:v.diet_condition)||[],De.value=(y==null?void 0:y.weight_change)||[],Pe.value=(p==null?void 0:p.body_feeling)||[],Ue.value=(h==null?void 0:h.sleep_condition)||[],Ee.value=(L==null?void 0:L.eye_condition)||[],Ne.value=(M==null?void 0:M.head_feeling)||[],Re.value=(R==null?void 0:R.sweat_condition)||[],Ie.value=(T==null?void 0:T.skin_condition)||[],Oe.value=(P==null?void 0:P.urine_condition)||[],Le.value=(W==null?void 0:W.stool_condition)||[],Te.value=(B==null?void 0:B.kidney_condition)||[],$e.value=(F==null?void 0:F.fatty_liver_degree)||[]}catch{}},x=(a,e)=>{if(!e||Array.isArray(e)&&e.length===0)return"—";const d=(Array.isArray(e)?e:typeof e=="string"?e.split(","):[]).map(_=>{const b=a.find(v=>v.value===_);return b?b.name:_}).filter(Boolean);return d.length?d.join("、"):"—"},tt=a=>!a||Array.isArray(a)&&a.length===0?"—":(Array.isArray(a)?a:typeof a=="string"?a.split(","):[]).filter(Boolean).join("、")||"—",st=a=>{var _;if((_=a==null?void 0:a.symptoms)!=null&&_.trim())return a.symptoms.trim();const e=N(ie.value,a==null?void 0:a.diagnosis_type),r=N(re.value,a==null?void 0:a.syndrome_type),d=[e,r].filter(Boolean);return d.length?d.join(" "):""},ot=async(a,e)=>{var r;if(A.value){console.warn("处方正在打开中,请勿重复点击");return}A.value=!0;try{e!=null&&e.stationName&&(j.stationName=e.stationName);const d=a.diagnosis||a,_=a.diagnosis_id??(d==null?void 0:d.id)??a.id;if(!_){k.msgWarning("缺少诊单信息");return}await Ae();const b=Number(a.id??a.appointment_id??0);if(b)try{const y=await Yt({appointment_id:b});if(console.log("-----------",y),y!=null&&y.id){const p=await oe({id:y.id});n.value=p,I.value=!0;return}}catch{}let v=a.case_record&&Object.keys(a.case_record).length>0?a.case_record:null;if(!v&&_)try{const y=await Fe({id:Number(_)});v=y&&typeof y=="object"?y:null}catch(y){console.warn("获取诊单详情失败:",y)}s.diagnosis_id=Number(_),s.appointment_id=b,s.prescription_name="",s.prescription_type="浓缩水丸",s.dosage_unit="g",s.dosage_amount=10,s.patient_name=a.patient_name||d.patient_name||"",s.gender=a.patient_gender??d.gender??0,s.gender_desc=s.gender===1?"男":"女",s.age=a.patient_age??d.age??0,s.phone=a.patient_phone||d.phone||"",s.visit_no=a.id?`1K${String(a.id).padStart(8,"0")}`:"",s.prescription_date=new Date().toISOString().slice(0,10),s.pulse=d.pulse||"",s.tongue=d.tongue_coating||d.tongue||"",s.tongue_image="",s.pulse_condition="",s.clinical_diagnosis=st(d),s.case_record=v,s.herbs=[],s.dose_count=1,s.dose_unit="剂",s.usage_days=7,s.usage_instruction="",s.usage_time="饭后",s.usage_way="温水送服",s.dietary_taboo=[],s.usage_notes="",s.amount=0,s.doctor_name=((r=he.userInfo)==null?void 0:r.name)||"",s.doctor_signature="",s.is_shared=0,n.value=null,I.value=!0,setTimeout(()=>ce(),100)}finally{setTimeout(()=>{A.value=!1},500)}},at=async a=>{if(A.value){console.warn("处方正在打开中,请勿重复点击");return}A.value=!0;try{const e=await oe({id:a});n.value=e,e!=null&&e.case_record&&Object.keys(e.case_record).length>0&&await Ae(),I.value=!0}catch{k.msgError("加载处方失败")}finally{setTimeout(()=>{A.value=!1},500)}},de=()=>{I.value=!1,n.value=null},ze=a=>{const e=O.value;if(!e)return{x:0,y:0};const r=e.getBoundingClientRect();if(r.width<=0||r.height<=0)return{x:0,y:0};const d=(a.clientX-r.left)/r.width*Q,_=(a.clientY-r.top)/r.height*X;return{x:Math.max(0,Math.min(Q,d)),y:Math.max(0,Math.min(X,_))}},lt=()=>{const a=O.value;a&&(s.doctor_signature=a.toDataURL("image/png"))},nt=a=>{if(a.pointerType==="mouse"&&a.button!==0)return;const e=O.value,r=e==null?void 0:e.getContext("2d");if(!e||!r)return;e.setPointerCapture(a.pointerId),Y.value=a.pointerId;const{x:d,y:_}=ze(a);r.beginPath(),r.moveTo(d,_)},it=a=>{var _;if(Y.value!==a.pointerId)return;const e=(_=O.value)==null?void 0:_.getContext("2d");if(!e)return;const{x:r,y:d}=ze(a);e.lineTo(r,d),e.stroke(),e.beginPath(),e.moveTo(r,d)},Me=a=>{if(Y.value!==a.pointerId)return;Y.value=null;const e=O.value;if(e)try{e.releasePointerCapture(a.pointerId)}catch{}lt()},rt=()=>{ce(),s.doctor_signature=""},ce=()=>{const a=O.value;if(!a)return;const e=Math.min(typeof window<"u"&&window.devicePixelRatio||1,2.5);a.style.width=`${Q}px`,a.style.height=`${X}px`,a.width=Math.round(Q*e),a.height=Math.round(X*e);const r=a.getContext("2d");r&&(r.setTransform(1,0,0,1,0,0),r.scale(e,e),r.fillStyle="#fff",r.fillRect(0,0,Q,X),r.strokeStyle="#333",r.lineWidth=2.5,r.lineCap="round",r.lineJoin="round")};function ue(a){return(a??"").trim()}function We(a){var _,b;const e=s.herbs,r=ue((_=e[a])==null?void 0:_.name);if(!r)return!1;let d=0;for(let v=0;v<e.length;v++)ue((b=e[v])==null?void 0:b.name)===r&&d++;return d>1}function He(){const a=new Map;for(const e of s.herbs){const r=ue(e==null?void 0:e.name);r&&a.set(r,(a.get(r)??0)+1)}return[...a.entries()].filter(([,e])=>e>1).map(([e])=>e)}const dt=()=>{s.herbs.push({name:"",dosage:6})},ct=a=>{s.herbs.splice(a,1)},te=async()=>{ne.value=!0;try{const a=await Zt({page_no:z.value,page_size:ee.value,prescription_name:H.value,is_public:""});be.value=a.lists||[],we.value=a.count||0}catch(a){console.error("加载处方库失败:",a),k.msgError("加载处方库失败")}finally{ne.value=!1}},pe=()=>{z.value=1,te()},ut=a=>{je(a)},je=a=>{if(!a.herbs||a.herbs.length===0){k.msgWarning("该处方没有药材信息");return}const e=JSON.parse(JSON.stringify(a.herbs));s.herbs=e,He().length&&k.msgWarning("导入的处方中存在重复药名,请合并剂量或删除多余行"),k.msgSuccess(`已导入处方「${a.prescription_name}」,共${e.length}味药材`),$.value=!1};Je($,a=>{a&&(H.value="",z.value=1,te())}),Je(()=>s.prescription_type,a=>{a==="浓缩水丸"?(s.dosage_unit="g",s.dosage_amount=10,s.need_decoction=!1,s.bags_per_dose=1):a==="饮片"?(s.dosage_unit="ml",s.dosage_amount=50,s.bags_per_dose=1):(s.dosage_unit="g",s.dosage_amount=void 0,s.need_decoction=!1,s.bags_per_dose=1)});const pt=async()=>{var e,r,d;if(!((e=s.clinical_diagnosis)!=null&&e.trim())){k.msgWarning("请输入临床诊断");return}if(s.herbs.length===0){k.msgWarning("请至少添加一味中药");return}const a=He();if(a.length){k.msgWarning(`存在重复药名:${a.join("、")},请合并剂量或删除多余行后再保存`);return}for(const _ of s.herbs){if(!((r=_.name)!=null&&r.trim())){k.msgWarning("请填写中药名称");return}if(!_.dosage||_.dosage<=0){k.msgWarning(`请填写「${_.name}」的剂量`);return}}if(!((d=s.doctor_signature)!=null&&d.trim())){k.msgWarning("请使用电子签名板手写医师签名");return}ae.value=!0;try{const _=await es({diagnosis_id:s.diagnosis_id,appointment_id:s.appointment_id,prescription_name:s.prescription_name,prescription_type:s.prescription_type,patient_name:s.patient_name,gender:s.gender,age:s.age,phone:s.phone,visit_no:s.visit_no,prescription_date:s.prescription_date,pulse:s.pulse,tongue:s.tongue,tongue_image:s.tongue_image,pulse_condition:s.pulse_condition,clinical_diagnosis:s.clinical_diagnosis,case_record:s.case_record,herbs:s.herbs,dose_count:s.dose_count,dose_unit:s.dose_unit,dosage_amount:s.dosage_amount,dosage_unit:s.dosage_unit,need_decoction:s.need_decoction,bags_per_dose:s.bags_per_dose,usage_days:s.usage_days,times_per_day:s.times_per_day,usage_instruction:s.usage_instruction,usage_time:s.usage_time,usage_way:s.usage_way,dietary_taboo:s.dietary_taboo,usage_notes:s.usage_notes,amount:s.amount,doctor_name:s.doctor_name,doctor_signature:s.doctor_signature,is_shared:s.is_shared}),b=_==null?void 0:_.id;if(b){const v=await oe({id:b});n.value=v,ge("success")}else k.msgError("保存失败")}catch(_){k.msgError((_==null?void 0:_.msg)||"保存失败")}finally{ae.value=!1}},_t=a=>{if(!a)return"—";const e=new Date(a*1e3);return`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,"0")}-${String(e.getDate()).padStart(2,"0")} ${String(e.getHours()).padStart(2,"0")}:${String(e.getMinutes()).padStart(2,"0")}:${String(e.getSeconds()).padStart(2,"0")}`},mt=async()=>{var e,r;const a=(e=n.value)==null?void 0:e.id;if(a){if(Number((r=n.value)==null?void 0:r.has_prescription_order)===1){k.msgWarning("该处方已存在业务订单,无法作废");return}try{await k.confirm("确定要作废该处方吗?作废后不可恢复。"),le.value=!0,await ts({id:a}),k.msgSuccess("作废成功");const d=await oe({id:a});n.value=d,ge("success")}catch(d){d!=="cancel"&&(d==null?void 0:d.message)!=="cancel"&&k.msgError((d==null?void 0:d.msg)||"作废失败")}finally{le.value=!1}}},gt=async a=>{if(!a)return null;try{const e=await Fe({id:a});return e&&typeof e=="object"?e:null}catch(e){return console.warn("获取诊单详情失败:",e),null}},ft=async()=>{var e;const a=n.value;a&&(s.diagnosis_id=a.diagnosis_id??s.diagnosis_id,s.appointment_id=a.appointment_id??s.appointment_id,s.prescription_name="",s.prescription_type=a.prescription_type||"浓缩水丸",s.prescription_type==="浓缩水丸"?(s.dosage_unit="g",s.dosage_amount=10):s.prescription_type==="饮片"?(s.dosage_unit="ml",s.dosage_amount=50):(s.dosage_unit="g",s.dosage_amount=void 0),s.patient_name=a.patient_name||"",s.gender=a.gender??0,s.gender_desc=a.gender===1?"男":"女",s.age=a.age??0,s.phone=a.phone||"",s.visit_no=a.visit_no||"",s.prescription_date=new Date().toISOString().slice(0,10),s.pulse=a.pulse||"",s.tongue=a.tongue||"",s.tongue_image="",s.pulse_condition="",s.clinical_diagnosis=a.clinical_diagnosis||"",s.dose_count=1,s.dose_unit=a.dose_unit||"剂",s.usage_days=7,s.usage_instruction="",s.usage_time="饭后",s.usage_way="温水送服",s.dietary_taboo=[],s.usage_notes="",s.amount=0,s.doctor_name=((e=he.userInfo)==null?void 0:e.name)||a.doctor_name||"",s.doctor_signature="",s.is_shared=0,s.herbs=[],s.case_record=a.case_record&&Object.keys(a.case_record).length>0?a.case_record:await gt(Number(s.diagnosis_id)),setTimeout(()=>ce(),100)),n.value=null},Be=async()=>{const a=fe.value;if(!a)throw new Error("未找到处方内容");return Ge(a,{scale:2,useCORS:!0,logging:!1,backgroundColor:"#ffffff"})},vt=async a=>{const e=a.querySelectorAll('img[src^="http"]'),r=Array.from(e).map(async d=>{try{const _=await fetch(d.src,{mode:"cors"});if(!_.ok)return;const b=await _.blob(),v=await new Promise((y,p)=>{const h=new FileReader;h.onload=()=>y(h.result),h.onerror=p,h.readAsDataURL(b)});d.src=v}catch{}});await Promise.allSettled(r)},yt=async()=>{const a=ve.value;return a?(a.scrollIntoView({behavior:"instant",block:"nearest"}),await vt(a),await new Promise(e=>setTimeout(e,200)),Ge(a,{scale:2,useCORS:!0,logging:!1,backgroundColor:"#ffffff"})):null},bt=async()=>{var a;try{const e=await Be(),r=document.createElement("a");r.download=`处方_${((a=n.value)==null?void 0:a.patient_name)||"未命名"}_${Date.now()}.png`,r.href=e.toDataURL("image/png"),r.click(),k.msgSuccess("图片已下载")}catch{k.msgError("下载图片失败")}},wt=async()=>{var a;try{const e=await Be(),r=e.toDataURL("image/png"),d=new ss({orientation:"portrait",unit:"mm",format:"a5"}),_=d.internal.pageSize.getWidth(),b=d.internal.pageSize.getHeight(),v=Math.min(_/e.width,b/e.height),y=e.width*v,p=e.height*v;d.addImage(r,"PNG",0,0,y,p);const h=await yt();if(h){d.addPage("a3","p");const R=Math.min(297/h.width,420/h.height),T=h.width*R,P=h.height*R;d.addImage(h.toDataURL("image/png"),"PNG",0,0,T,P)}d.save(`处方_${((a=n.value)==null?void 0:a.patient_name)||"未命名"}_${Date.now()}.pdf`),k.msgSuccess("PDF已下载")}catch{k.msgError("下载PDF失败")}};return qe({open:ot,openById:at}),(a,e)=>{const r=Et,d=Ut,_=Nt,b=Pt,v=xt,y=Rt,p=Ot,h=It,L=Tt,M=Lt,R=$t,T=Dt,P=At,W=zt,B=Mt,F=Ct,G=jt,ht=Bt,kt=Ft,Vt=Wt,St=Ht;return g(),w(K,null,[l(F,{modelValue:t(I),"onUpdate:modelValue":e[21]||(e[21]=V=>q(I)?I.value=V:null),title:t(Ye),size:"1200px","close-on-click-modal":!1,onClose:de},is({default:i(()=>{var V,U;return[t(n)?(g(),w("div",Ss,[o("div",Cs,[o("div",{ref_key:"prescriptionPrintRef",ref:fe,class:"prescription-print"},[o("div",xs,[o("h2",Ds,c(t(j).stationName)+"处方笺",1),o("div",Ps,[t(n).void_status===1?(g(),D(P,{key:0,type:"danger",size:"small"},{default:i(()=>[...e[38]||(e[38]=[u("已作废",-1)])]),_:1})):t(Z)?(g(),D(P,{key:1,type:"success",size:"small",class:"mr-1"},{default:i(()=>[...e[39]||(e[39]=[u("已通过",-1)])]),_:1})):Number(t(n).audit_status)===0?(g(),D(P,{key:2,type:"warning",size:"small",class:"mr-1"},{default:i(()=>[...e[40]||(e[40]=[u("待审核",-1)])]),_:1})):C("",!0),t(n).void_status!==1?(g(),w(K,{key:3},[e[41]||(e[41]=o("div",null,"普通处方",-1)),e[42]||(e[42]=o("div",{class:"text-sm"},"当日有效",-1))],64)):C("",!0)])]),t(n).void_status===1?(g(),w("div",Us," 作废人:"+c(t(n).void_by_name||"—")+",作废时间:"+c(_t(t(n).void_time)),1)):C("",!0),o("div",Es,[o("div",Ns,[o("span",Rs,[e[43]||(e[43]=o("em",null,"日期",-1)),u(c(t(n).prescription_date),1)]),o("span",Is,[e[44]||(e[44]=o("em",null,"电话",-1)),u(c(t(n).phone),1)]),o("span",Os,[e[45]||(e[45]=o("em",null,"门诊号",-1)),u(c(t(n).visit_no),1)])]),o("div",Ls,[o("span",Ts,[e[46]||(e[46]=o("em",null,"姓名",-1)),u(c(t(n).patient_name),1)]),o("span",$s,[e[47]||(e[47]=o("em",null,"性别",-1)),u(c(t(n).gender_desc),1)]),o("span",As,[e[48]||(e[48]=o("em",null,"年龄",-1)),u(c(t(n).age!=null?t(n).age+"岁":"—"),1)])]),o("div",zs,[t(n).pulse?(g(),w("span",Ms,[e[49]||(e[49]=o("em",null,"面象",-1)),u(c(t(n).pulse||"—"),1)])):C("",!0),t(n).tongue?(g(),w("span",Ws,[e[50]||(e[50]=o("em",null,"舌象",-1)),u(c(t(n).tongue||"—"),1)])):C("",!0)]),o("div",Hs,[o("span",js,[e[51]||(e[51]=o("em",null,"临床诊断",-1)),u(c(t(n).clinical_diagnosis),1)])])]),o("div",Bs,[e[52]||(e[52]=o("div",{class:"rp-label"},"RP",-1)),o("div",Fs,[(g(!0),w(K,null,_e(t(n).herbs,(m,E)=>(g(),w("div",{key:E,class:"herb-cell"},c(m.name)+" "+c(m.dosage)+"克 ",1))),128))])]),t(j).showDisclaimer?(g(),w("div",Gs,c(t(j).disclaimer),1)):C("",!0),o("div",Js,[o("div",Ks,[o("div",qs," 服用"+c(t(n).usage_days||t(n).dose_count)+"天"+c(t(n).times_per_day?",每天"+t(n).times_per_day+"次":"")+", "+c(t(n).prescription_type)+" "+c(t(n).usage_instruction),1),o("div",Qs,[u(" 服用时间: "+c(t(n).usage_time?" "+t(n).usage_time:"")+" ",1),e[53]||(e[53]=o("text",{style:{"margin-left":"20px"}},null,-1)),u("服用方式: "+c(t(n).usage_way?" "+t(n).usage_way:""),1)]),t(n).dietary_taboo&&t(n).dietary_taboo.length?(g(),w("div",Xs," 忌口:"+c(Array.isArray(t(n).dietary_taboo)?t(n).dietary_taboo.join("、"):t(n).dietary_taboo),1)):C("",!0),t(n).usage_notes?(g(),w("div",Ys,c(t(n).usage_notes),1)):C("",!0)]),o("div",Zs,[o("span",eo,[e[54]||(e[54]=u(" 医师 ",-1)),t(n).doctor_signature?(g(),w("img",{key:0,src:t(n).doctor_signature,alt:"医师签名",class:"doctor-signature-img"},null,8,to)):(g(),w("span",so,c(t(n).doctor_name||"医师"),1))])])]),e[55]||(e[55]=o("div",{class:"prescription-area"},[o("div",null,"成都双流甄养堂互联网医院有限公司 联系方式:4001667339"),o("div",null,"地址 :四川省成都市双流区黄甲街道黄龙大道二段280号")],-1))],512),t(n).case_record?(g(),w("div",{key:0,ref_key:"caseRecordPrintRef",ref:ve,class:"case-record-a3"},[o("div",oo,[o("h2",ao,c(t(j).stationName)+" 详细病历",1),o("div",lo,[o("div",no,[e[66]||(e[66]=o("div",{class:"cr-section-title"},"基本信息",-1)),o("div",io,[o("div",ro,[e[56]||(e[56]=o("span",{class:"cr-label"},"诊单ID",-1)),u(c(t(n).case_record.patient_id||"—"),1)]),o("div",co,[e[57]||(e[57]=o("span",{class:"cr-label"},"姓名",-1)),u(c(t(n).case_record.patient_name||"—"),1)]),o("div",uo,[e[58]||(e[58]=o("span",{class:"cr-label"},"身份证号",-1)),u(c(t(n).case_record.id_card||"—"),1)]),o("div",po,[e[59]||(e[59]=o("span",{class:"cr-label"},"手机号",-1)),u(c(t(n).case_record.phone||"—"),1)]),o("div",_o,[e[60]||(e[60]=o("span",{class:"cr-label"},"性别",-1)),u(c(t(n).gender_desc),1)]),o("div",mo,[e[61]||(e[61]=o("span",{class:"cr-label"},"年龄",-1)),u(c(t(n).case_record.age??"—")+"岁",1)]),o("div",go,[e[62]||(e[62]=o("span",{class:"cr-label"},"婚姻状态",-1)),u(c(["未婚","已婚","离异"][t(n).case_record.marital_status]??"—"),1)]),o("div",fo,[e[63]||(e[63]=o("span",{class:"cr-label"},"身高",-1)),u(c(t(n).case_record.height??"—")+"cm",1)]),o("div",vo,[e[64]||(e[64]=o("span",{class:"cr-label"},"体重",-1)),u(c(t(n).case_record.weight??"—")+"kg",1)]),o("div",yo,[e[65]||(e[65]=o("span",{class:"cr-label"},"地区",-1)),u(c(t(n).case_record.region||"—"),1)])])]),o("div",bo,[e[69]||(e[69]=o("div",{class:"cr-section-title"},"生命体征",-1)),o("div",wo,[o("div",ho,[e[67]||(e[67]=o("span",{class:"cr-label"},"血压",-1)),u(c(t(n).case_record.systolic_pressure!=null&&t(n).case_record.diastolic_pressure!=null?t(n).case_record.systolic_pressure+"/"+t(n).case_record.diastolic_pressure+" mmHg":"—"),1)]),o("div",ko,[e[68]||(e[68]=o("span",{class:"cr-label"},"空腹血糖",-1)),u(c(t(n).case_record.fasting_blood_sugar!=null?t(n).case_record.fasting_blood_sugar+" mmol/L":"—"),1)])])]),o("div",Vo,[e[77]||(e[77]=o("div",{class:"cr-section-title"},"主诉",-1)),o("div",So,[o("div",Co,[e[70]||(e[70]=o("span",{class:"cr-label"},"诊断日期",-1)),u(c(t(n).case_record.diagnosis_date||"—"),1)]),o("div",xo,[e[71]||(e[71]=o("span",{class:"cr-label"},"诊断类型",-1)),u(c(N(t(ie),t(n).case_record.diagnosis_type)||"—"),1)]),o("div",Do,[e[72]||(e[72]=o("span",{class:"cr-label"},"证型",-1)),u(c(N(t(re),t(n).case_record.syndrome_type)||"—"),1)]),o("div",Po,[e[73]||(e[73]=o("span",{class:"cr-label"},"糖尿病期数",-1)),u(c(N(t(ke),t(n).case_record.diabetes_type)||"—"),1)]),o("div",Uo,[e[74]||(e[74]=o("span",{class:"cr-label"},"发现糖尿病患病史",-1)),u(c(t(Xt)((V=t(n).case_record)==null?void 0:V.diabetes_discovery_year)),1)]),o("div",Eo,[e[75]||(e[75]=o("span",{class:"cr-label"},"当地医院诊断",-1)),u(c(tt(t(n).case_record.local_hospital_diagnosis)),1)]),o("div",No,[e[76]||(e[76]=o("span",{class:"cr-label"},"当地就诊医院",-1)),u(c(t(n).case_record.local_hospital_name||"—"),1)])])]),o("div",Ro,[e[93]||(e[93]=o("div",{class:"cr-section-title"},"现病史",-1)),o("div",Io,[o("div",Oo,[e[78]||(e[78]=o("span",{class:"cr-label"},"口腔感觉",-1)),u(c(x(t(Se),t(n).case_record.appetite)),1)]),o("div",Lo,[e[79]||(e[79]=o("span",{class:"cr-label"},"每日饮水量",-1)),u(c(N(t(Ce),t(n).case_record.water_intake)||"—"),1)]),o("div",To,[e[80]||(e[80]=o("span",{class:"cr-label"},"体重变化",-1)),u(c(N(t(De),t(n).case_record.weight_change)||"—"),1)]),o("div",$o,[e[81]||(e[81]=o("span",{class:"cr-label"},"脂肪肝程度",-1)),u(c(N(t($e),t(n).case_record.fatty_liver_degree)||"—"),1)]),o("div",Ao,[e[82]||(e[82]=o("span",{class:"cr-label"},"饮食情况",-1)),u(c(x(t(xe),t(n).case_record.diet_condition)),1)]),o("div",zo,[e[83]||(e[83]=o("span",{class:"cr-label"},"肢体感觉",-1)),u(c(x(t(Pe),t(n).case_record.body_feeling)),1)]),o("div",Mo,[e[84]||(e[84]=o("span",{class:"cr-label"},"睡眠情况",-1)),u(c(x(t(Ue),t(n).case_record.sleep_condition)),1)]),o("div",Wo,[e[85]||(e[85]=o("span",{class:"cr-label"},"眼睛情况",-1)),u(c(x(t(Ee),t(n).case_record.eye_condition)),1)]),o("div",Ho,[e[86]||(e[86]=o("span",{class:"cr-label"},"头部感觉",-1)),u(c(x(t(Ne),t(n).case_record.head_feeling)),1)]),o("div",jo,[e[87]||(e[87]=o("span",{class:"cr-label"},"出汗情况",-1)),u(c(x(t(Re),t(n).case_record.sweat_condition)),1)]),o("div",Bo,[e[88]||(e[88]=o("span",{class:"cr-label"},"皮肤情况",-1)),u(c(x(t(Ie),t(n).case_record.skin_condition)),1)]),o("div",Fo,[e[89]||(e[89]=o("span",{class:"cr-label"},"小便情况",-1)),u(c(x(t(Oe),t(n).case_record.urine_condition)),1)]),o("div",Go,[e[90]||(e[90]=o("span",{class:"cr-label"},"大便情况",-1)),u(c(x(t(Le),t(n).case_record.stool_condition)),1)]),o("div",Jo,[e[91]||(e[91]=o("span",{class:"cr-label"},"腰肾情况",-1)),u(c(x(t(Te),t(n).case_record.kidney_condition)),1)]),o("div",Ko,[e[92]||(e[92]=o("span",{class:"cr-label"},"其他补充",-1)),u(c(t(n).case_record.symptoms||"—"),1)])])]),o("div",qo,[e[95]||(e[95]=o("div",{class:"cr-section-title"},"既往史",-1)),o("div",Qo,[e[94]||(e[94]=o("span",{class:"cr-label"},null,-1)),u(c(x(t(Ve),t(n).case_record.past_history)),1)])]),o("div",Xo,[e[101]||(e[101]=o("div",{class:"cr-section-title"},"其他病史",-1)),o("div",Yo,[o("div",Zo,[e[96]||(e[96]=o("span",{class:"cr-label"},"外伤史",-1)),u(c(t(n).case_record.trauma_history===1?"有":"无"),1)]),o("div",ea,[e[97]||(e[97]=o("span",{class:"cr-label"},"手术史",-1)),u(c(t(n).case_record.surgery_history===1?"有":"无"),1)]),o("div",ta,[e[98]||(e[98]=o("span",{class:"cr-label"},"过敏史",-1)),u(c(t(n).case_record.allergy_history===1?"有":"无"),1)]),o("div",sa,[e[99]||(e[99]=o("span",{class:"cr-label"},"家族病史",-1)),u(c(t(n).case_record.family_history===1?"有":"无"),1)]),o("div",oa,[e[100]||(e[100]=o("span",{class:"cr-label"},"妊娠哺乳史",-1)),u(c(t(n).case_record.pregnancy_history===1?"有":"无"),1)])])]),o("div",aa,[e[104]||(e[104]=o("div",{class:"cr-section-title"},"诊断信息",-1)),(U=t(n).case_record.tongue_images)!=null&&U.length?(g(),w("div",la,[o("div",na,[e[102]||(e[102]=o("span",{class:"cr-label"},"舌苔照片",-1)),o("div",ia,[(g(!0),w(K,null,_e(t(n).case_record.tongue_images,(m,E)=>(g(),w("img",{key:E,src:et(m),class:"cr-img",crossorigin:"anonymous"},null,8,ra))),128))])])])):C("",!0),o("div",da,[o("div",ca,[e[103]||(e[103]=o("span",{class:"cr-label"},"舌象",-1)),u(c(t(n).case_record.tongue_coating||"—"),1)])])])])])],512)):C("",!0)]),o("div",ua,[l(v,{onClick:bt},{default:i(()=>[l(W,null,{default:i(()=>[l(t(os))]),_:1}),e[105]||(e[105]=u(" 下载图片 ",-1))]),_:1}),l(v,{type:"primary",onClick:wt},{default:i(()=>[l(W,null,{default:i(()=>[l(t(as))]),_:1}),e[106]||(e[106]=u(" 下载PDF ",-1))]),_:1}),t(n).void_status!==1&&!t(Z)?(g(),D(B,{key:0,disabled:!t(ye),content:"该处方已存在业务订单,无法作废,请前往已开处方里修改",placement:"top"},{default:i(()=>[o("span",pa,[l(v,{type:"danger",plain:"",disabled:t(ye),loading:t(le),onClick:mt},{default:i(()=>[...e[107]||(e[107]=[u(" 作废处方 ",-1)])]),_:1},8,["disabled","loading"])])]),_:1},8,["disabled"])):C("",!0),t(Z)?C("",!0):(g(),D(v,{key:1,onClick:ft},{default:i(()=>[...e[108]||(e[108]=[u("新建处方",-1)])]),_:1})),l(v,{onClick:de},{default:i(()=>[...e[109]||(e[109]=[u("关闭",-1)])]),_:1})])])):(g(),w("div",cs,[l(T,{ref_key:"formRef",ref:Xe,model:t(s),"label-width":"100px",class:"prescription-form"},{default:i(()=>[o("div",us,[e[26]||(e[26]=o("div",{class:"section-title"},"患者信息",-1)),l(b,{gutter:16},{default:i(()=>[l(d,{span:8},{default:i(()=>[l(r,{label:"姓名"},{default:i(()=>[o("span",null,c(t(s).patient_name),1)]),_:1})]),_:1}),l(d,{span:8},{default:i(()=>[l(r,{label:"性别"},{default:i(()=>[o("span",null,c(t(s).gender_desc),1)]),_:1})]),_:1}),l(d,{span:8},{default:i(()=>[l(r,{label:"年龄"},{default:i(()=>[o("span",null,c(t(s).age),1)]),_:1})]),_:1}),l(d,{span:12},{default:i(()=>[l(r,{label:"电话"},{default:i(()=>[o("span",null,c(t(s).phone),1)]),_:1})]),_:1}),l(d,{span:12},{default:i(()=>[l(r,{label:"门诊号"},{default:i(()=>[l(_,{modelValue:t(s).visit_no,"onUpdate:modelValue":e[0]||(e[0]=m=>t(s).visit_no=m),placeholder:"门诊号"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1})]),o("div",ps,[e[27]||(e[27]=o("div",{class:"section-title"},"诊断信息",-1)),l(b,{gutter:16},{default:i(()=>[l(d,{span:12},{default:i(()=>[l(r,{label:"面象",prop:"pulse"},{default:i(()=>[l(_,{modelValue:t(s).pulse,"onUpdate:modelValue":e[1]||(e[1]=m=>t(s).pulse=m),placeholder:"面象"},null,8,["modelValue"])]),_:1})]),_:1}),l(d,{span:12},{default:i(()=>[l(r,{label:"舌象",prop:"tongue"},{default:i(()=>[l(_,{modelValue:t(s).tongue,"onUpdate:modelValue":e[2]||(e[2]=m=>t(s).tongue=m),placeholder:"舌象"},null,8,["modelValue"])]),_:1})]),_:1}),l(d,{span:24},{default:i(()=>[l(r,{label:"临床诊断",prop:"clinical_diagnosis"},{default:i(()=>[l(_,{modelValue:t(s).clinical_diagnosis,"onUpdate:modelValue":e[3]||(e[3]=m=>t(s).clinical_diagnosis=m),type:"textarea",rows:2,placeholder:"请输入临床诊断"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1})]),o("div",_s,[o("div",ms,[e[30]||(e[30]=u(" 中药处方 (RP) ",-1)),l(v,{type:"primary",size:"small",onClick:dt},{default:i(()=>[...e[28]||(e[28]=[u("添加中药",-1)])]),_:1}),l(v,{type:"success",size:"small",onClick:e[4]||(e[4]=m=>$.value=!0)},{default:i(()=>[...e[29]||(e[29]=[u("从处方库导入",-1)])]),_:1})]),o("div",gs,[l(r,{label:"处方价格",prop:"amount",class:"!mb-0"},{default:i(()=>[l(y,{modelValue:t(s).amount,"onUpdate:modelValue":e[5]||(e[5]=m=>t(s).amount=m),min:0,precision:2,placeholder:"请输入处方总价(元)",class:"!w-40"},null,8,["modelValue"]),e[31]||(e[31]=o("span",{class:"ml-2 text-gray-500"},"元",-1))]),_:1})]),o("div",fs,[(g(!0),w(K,null,_e(t(s).herbs,(m,E)=>(g(),w("div",{key:"herb-"+E,class:ds(["herb-editor-card",{"herb-editor-card--dup":We(E)}])},[o("div",vs,"中药 "+c(E+1),1),l(Jt,{modelValue:m.name,"onUpdate:modelValue":se=>m.name=se,class:"herb-editor-card__select"},null,8,["modelValue","onUpdate:modelValue"]),We(E)?(g(),w("div",ys," 该药名与其他行重复,请合并剂量或删除多余行 ")):C("",!0),o("div",bs,[l(y,{modelValue:m.dosage,"onUpdate:modelValue":se=>m.dosage=se,min:.1,step:1,precision:1,placeholder:"剂量(克)",class:"herb-editor-card__dose"},null,8,["modelValue","onUpdate:modelValue"]),e[33]||(e[33]=o("span",{class:"text-gray-500 shrink-0"},"克",-1)),l(v,{type:"danger",size:"small",link:"",onClick:se=>ct(E)},{default:i(()=>[...e[32]||(e[32]=[u(" 删除 ",-1)])]),_:1},8,["onClick"])])],2))),128))])]),o("div",ws,[l(b,{gutter:16},{default:i(()=>[l(d,{span:8},{default:i(()=>[l(r,{label:"处方类型",prop:"prescription_type"},{default:i(()=>[l(h,{modelValue:t(s).prescription_type,"onUpdate:modelValue":e[6]||(e[6]=m=>t(s).prescription_type=m),placeholder:"请选择处方类型",class:"!w-full"},{default:i(()=>[l(p,{label:"浓缩水丸",value:"浓缩水丸"}),l(p,{label:"饮片",value:"饮片"}),l(p,{label:"颗粒",value:"颗粒"}),l(p,{label:"丸剂",value:"丸剂"}),l(p,{label:"散剂",value:"散剂"}),l(p,{label:"膏方",value:"膏方"}),l(p,{label:"汤剂",value:"汤剂"})]),_:1},8,["modelValue"])]),_:1})]),_:1}),l(d,{span:8},{default:i(()=>[l(r,{label:"用量",prop:"dosage_amount"},{default:i(()=>[t(s).prescription_type==="浓缩水丸"?(g(),D(h,{key:0,modelValue:t(s).dosage_amount,"onUpdate:modelValue":e[7]||(e[7]=m=>t(s).dosage_amount=m),placeholder:"请选择用量",class:"!w-full"},{default:i(()=>[l(p,{label:"1g",value:1}),l(p,{label:"2g",value:2}),l(p,{label:"3g",value:3}),l(p,{label:"4g",value:4}),l(p,{label:"5g",value:5}),l(p,{label:"6g",value:6}),l(p,{label:"7g",value:7}),l(p,{label:"8g",value:8}),l(p,{label:"9g",value:9}),l(p,{label:"10g",value:10})]),_:1},8,["modelValue"])):t(s).prescription_type==="饮片"?(g(),D(h,{key:1,modelValue:t(s).dosage_amount,"onUpdate:modelValue":e[8]||(e[8]=m=>t(s).dosage_amount=m),placeholder:"请选择用量",class:"!w-full"},{default:i(()=>[l(p,{label:"50ml",value:50}),l(p,{label:"100ml",value:100}),l(p,{label:"120ml",value:120}),l(p,{label:"150ml",value:150}),l(p,{label:"180ml",value:180}),l(p,{label:"200ml",value:200}),l(p,{label:"250ml",value:250})]),_:1},8,["modelValue"])):(g(),D(y,{key:2,modelValue:t(s).dosage_amount,"onUpdate:modelValue":e[9]||(e[9]=m=>t(s).dosage_amount=m),min:0,precision:2,class:"!w-full"},null,8,["modelValue"])),t(s).prescription_type!=="浓缩水丸"&&t(s).prescription_type!=="饮片"?(g(),w("span",hs,c(t(s).dosage_unit),1)):C("",!0)]),_:1})]),_:1}),t(s).prescription_type==="饮片"?(g(),D(d,{key:0,span:8},{default:i(()=>[l(r,{label:"每贴出包数",prop:"bags_per_dose"},{default:i(()=>[l(h,{modelValue:t(s).bags_per_dose,"onUpdate:modelValue":e[10]||(e[10]=m=>t(s).bags_per_dose=m),placeholder:"请选择",class:"!w-full"},{default:i(()=>[l(p,{label:"1包",value:1}),l(p,{label:"2包",value:2}),l(p,{label:"3包",value:3}),l(p,{label:"4包",value:4}),l(p,{label:"5包",value:5}),l(p,{label:"6包",value:6}),l(p,{label:"7包",value:7}),l(p,{label:"8包",value:8}),l(p,{label:"9包",value:9})]),_:1},8,["modelValue"])]),_:1})]),_:1})):C("",!0),t(s).prescription_type==="饮片"?(g(),D(d,{key:1,span:8},{default:i(()=>[l(r,{label:"是否代煎",prop:"need_decoction"},{default:i(()=>[l(M,{modelValue:t(s).need_decoction,"onUpdate:modelValue":e[11]||(e[11]=m=>t(s).need_decoction=m)},{default:i(()=>[l(L,{label:!0},{default:i(()=>[...e[34]||(e[34]=[u("代煎",-1)])]),_:1}),l(L,{label:!1},{default:i(()=>[...e[35]||(e[35]=[u("不代煎",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1})):C("",!0),l(d,{span:8},{default:i(()=>[l(r,{label:"服用天数",prop:"usage_days"},{default:i(()=>[l(y,{modelValue:t(s).usage_days,"onUpdate:modelValue":e[12]||(e[12]=m=>t(s).usage_days=m),min:1,max:365,class:"!w-full"},null,8,["modelValue"])]),_:1})]),_:1}),l(d,{span:8},{default:i(()=>[l(r,{label:"每天几次",prop:"times_per_day"},{default:i(()=>[l(y,{modelValue:t(s).times_per_day,"onUpdate:modelValue":e[13]||(e[13]=m=>t(s).times_per_day=m),min:1,max:6,class:"!w-full",placeholder:"每天服用次数"},null,8,["modelValue"])]),_:1})]),_:1}),l(d,{span:24},{default:i(()=>[l(r,{label:"用法",prop:"usage_instruction"},{default:i(()=>[l(_,{modelValue:t(s).usage_instruction,"onUpdate:modelValue":e[14]||(e[14]=m=>t(s).usage_instruction=m),placeholder:"",maxlength:"200","show-word-limit":""},null,8,["modelValue"])]),_:1})]),_:1}),l(d,{span:12},{default:i(()=>[l(r,{label:"服用时间",prop:"usage_time"},{default:i(()=>[l(h,{modelValue:t(s).usage_time,"onUpdate:modelValue":e[15]||(e[15]=m=>t(s).usage_time=m),placeholder:"请选择服用时间",class:"!w-full"},{default:i(()=>[l(p,{label:"饭前",value:"饭前"}),l(p,{label:"饭后",value:"饭后"}),l(p,{label:"饭中",value:"饭中"}),l(p,{label:"空腹",value:"空腹"}),l(p,{label:"睡前",value:"睡前"}),l(p,{label:"晨起",value:"晨起"}),l(p,{label:"随时",value:"随时"})]),_:1},8,["modelValue"])]),_:1})]),_:1}),l(d,{span:12},{default:i(()=>[l(r,{label:"服用方式",prop:"usage_way"},{default:i(()=>[l(h,{modelValue:t(s).usage_way,"onUpdate:modelValue":e[16]||(e[16]=m=>t(s).usage_way=m),placeholder:"请选择服用方式",class:"!w-full"},{default:i(()=>[l(p,{label:"温水送服",value:"温水送服"}),l(p,{label:"开水冲服",value:"开水冲服"}),l(p,{label:"黄酒送服",value:"黄酒送服"}),l(p,{label:"淡盐水送服",value:"淡盐水送服"}),l(p,{label:"米汤送服",value:"米汤送服"}),l(p,{label:"嚼服",value:"嚼服"}),l(p,{label:"含化",value:"含化"})]),_:1},8,["modelValue"])]),_:1})]),_:1}),l(d,{span:24},{default:i(()=>[l(r,{label:"忌口",prop:"dietary_taboo"},{default:i(()=>[l(h,{modelValue:t(s).dietary_taboo,"onUpdate:modelValue":e[17]||(e[17]=m=>t(s).dietary_taboo=m),multiple:"",placeholder:"请选择忌口内容(可多选)",class:"!w-full"},{default:i(()=>[l(p,{label:"辛辣食物",value:"辛辣食物"}),l(p,{label:"生冷食物",value:"生冷食物"}),l(p,{label:"油腻食物",value:"油腻食物"}),l(p,{label:"海鲜",value:"海鲜"}),l(p,{label:"牛羊肉",value:"牛羊肉"}),l(p,{label:"鸡蛋",value:"鸡蛋"}),l(p,{label:"豆制品",value:"豆制品"}),l(p,{label:"酒类",value:"酒类"}),l(p,{label:"浓茶",value:"浓茶"}),l(p,{label:"咖啡",value:"咖啡"}),l(p,{label:"烟草",value:"烟草"}),l(p,{label:"萝卜",value:"萝卜"})]),_:1},8,["modelValue"])]),_:1})]),_:1}),l(d,{span:24},{default:i(()=>[l(r,{label:"其他说明",prop:"usage_notes"},{default:i(()=>[l(_,{modelValue:t(s).usage_notes,"onUpdate:modelValue":e[18]||(e[18]=m=>t(s).usage_notes=m),type:"textarea",rows:2,placeholder:"其他服用注意事项",maxlength:"200","show-word-limit":""},null,8,["modelValue"])]),_:1})]),_:1}),l(d,{span:12},{default:i(()=>[l(r,{label:"医师",prop:"doctor_name"},{default:i(()=>[l(_,{modelValue:t(s).doctor_name,"onUpdate:modelValue":e[19]||(e[19]=m=>t(s).doctor_name=m),placeholder:"医师姓名"},null,8,["modelValue"])]),_:1})]),_:1}),l(d,{span:12},{default:i(()=>[l(r,{label:"是否共享",prop:"is_shared"},{default:i(()=>[l(R,{modelValue:t(s).is_shared,"onUpdate:modelValue":e[20]||(e[20]=m=>t(s).is_shared=m),"active-value":1,"inactive-value":0,"active-text":"所有人可见","inactive-text":"仅自己可见"},null,8,["modelValue"])]),_:1})]),_:1}),l(d,{span:24},{default:i(()=>[l(r,{label:"医师签名",prop:"doctor_signature",required:""},{default:i(()=>[o("div",ks,[o("canvas",{ref_key:"signatureCanvasRef",ref:O,class:"signature-canvas",onPointerdown:J(nt,["prevent"]),onPointermove:J(it,["prevent"]),onPointerup:J(Me,["prevent"]),onPointercancel:J(Me,["prevent"])},null,544),o("div",Vs,[l(v,{size:"small",onClick:rt},{default:i(()=>[...e[36]||(e[36]=[u("清空签名",-1)])]),_:1})])]),e[37]||(e[37]=o("div",{class:"text-xs text-amber-600 mt-1"},"* 必填,请在框内手写医师签名",-1))]),_:1})]),_:1})]),_:1})])]),_:1},8,["model"])]))]}),_:2},[t(n)?void 0:{name:"footer",fn:i(()=>[o("div",_a,[l(v,{onClick:de},{default:i(()=>[...e[110]||(e[110]=[u("取消",-1)])]),_:1}),l(v,{type:"primary",onClick:pt,loading:t(ae)},{default:i(()=>[...e[111]||(e[111]=[u("保存处方",-1)])]),_:1},8,["loading"])])]),key:"0"}]),1032,["modelValue","title"]),l(Vt,{modelValue:t($),"onUpdate:modelValue":e[25]||(e[25]=V=>q($)?$.value=V:null),title:"从处方库导入",width:"800px","close-on-click-modal":!1},{default:i(()=>[o("div",ma,[l(_,{modelValue:t(H),"onUpdate:modelValue":e[22]||(e[22]=V=>q(H)?H.value=V:null),placeholder:"请输入处方名称搜索",clearable:"",onKeyup:Gt(pe,["enter"]),onClear:pe},{append:i(()=>[l(v,{icon:t(ls),onClick:pe},null,8,["icon"])]),_:1},8,["modelValue"])]),rs((g(),D(ht,{data:t(be),height:"400",onRowClick:ut,style:{cursor:"pointer"}},{default:i(()=>[l(G,{label:"处方名称",prop:"prescription_name","min-width":"150","show-overflow-tooltip":""}),l(G,{label:"药材数量",width:"100"},{default:i(({row:V})=>{var U;return[u(c(((U=V.herbs)==null?void 0:U.length)||0)+"味 ",1)]}),_:1}),l(G,{label:"药材明细","min-width":"300","show-overflow-tooltip":""},{default:i(({row:V})=>[V.herbs&&V.herbs.length>0?(g(),w("span",ga,c(V.herbs.map(U=>`${U.name} ${U.dosage}g`).join("、")),1)):(g(),w("span",fa,"暂无药材"))]),_:1}),l(G,{label:"创建人",prop:"creator_name",width:"100"}),l(G,{label:"操作",width:"100",fixed:"right"},{default:i(({row:V})=>[l(v,{type:"primary",link:"",onClick:J(U=>je(V),["stop"])},{default:i(()=>[...e[112]||(e[112]=[u(" 导入 ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["data"])),[[St,t(ne)]]),o("div",va,[l(kt,{"current-page":t(z),"onUpdate:currentPage":e[23]||(e[23]=V=>q(z)?z.value=V:null),"page-size":t(ee),"onUpdate:pageSize":e[24]||(e[24]=V=>q(ee)?ee.value=V:null),total:t(we),"page-sizes":[10,15,20,50],layout:"total, sizes, prev, pager, next",onCurrentChange:te,onSizeChange:te},null,8,["current-page","page-size","total"])])]),_:1},8,["modelValue"])],64)}}}),rl=Qt(ya,[["__scopeId","data-v-0c21f582"]]);export{rl as default};