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