2 lines
42 KiB
JavaScript
2 lines
42 KiB
JavaScript
import{i as Te,G as Be,a7 as Ne,a8 as Me,D as ze,F as Le,h as Fe,P as We,a2 as Qe,d as Ke,e as Ye,Q as qe,m as Ze,l as et,R as tt,C as lt,I as ot,$ as at,a0 as nt,a9 as st,B as it,a1 as dt,v as rt,E as Ie}from"./element-plus-BMTkHLHO.js";import{_ as ut}from"./picker-CZdl8TOk.js";import{p as pt,c as ve,d as mt,e as _t,f as ft,h as gt,t as $e,i as ct,j as yt}from"./tcm-SmjkhU9m.js";import{a as He,f as $,j as C,d as je,u as vt}from"./index-_HeSPmLP.js";import bt from"./BloodRecordList-BKkYZBfl.js";import Vt from"./CaseRecordList-ZnHRK7LY.js";import{s as Se}from"./@vue/runtime-dom-DVgibYoU.js";import wt from"./html2canvas-QH1iLAAe.js";import{E as kt}from"./jspdf-G5PuBoTt.js";import{S as xt,F as ht}from"./@element-plus/icons-vue-BX5NvPi2.js";import{f as Ae,ak as u,G as h,M as Ut,aN as t,J as m,a as e,O as p,I as b,F as S,ap as E,H as Q,A as St}from"./@vue/runtime-core-D7eUgySO.js";import{y as o,a as Ee,o as k,r as Pe}from"./@vue/reactivity-maRK_BBd.js";import{Q as V}from"./@vue/shared-C75lBtbe.js";const Et={key:0,class:"prescription-edit"},Ct={class:"info-section"},Dt={class:"info-section"},Rt={class:"info-section"},Ot={class:"section-title"},It={class:"mb-3"},$t={class:"flex gap-2 items-center flex-wrap"},Pt={class:"info-section"},Tt={class:"flex gap-2 items-center"},Bt={class:"signature-pad-wrap"},Nt={class:"signature-actions"},Mt={key:1,class:"prescription-preview"},zt={class:"prescription-header"},Lt={class:"prescription-title"},Ft={class:"prescription-type"},Wt={key:0,class:"prescription-void-info"},Yt={class:"prescription-info"},qt={class:"info-row"},Ht={class:"info-item"},jt={class:"info-item"},At={class:"info-item"},Gt={class:"info-row"},Xt={class:"info-item"},Jt={class:"info-item"},Qt={class:"info-item"},Kt={class:"info-row"},Zt={key:0,class:"info-item"},el={key:1,class:"info-item"},tl={class:"info-row info-row-full"},ll={class:"info-item"},ol={class:"prescription-rp"},al={class:"herbs-grid"},nl={key:1,class:"prescription-disclaimer"},sl={class:"prescription-footer"},il={class:"footer-left"},dl={class:"footer-dosage"},rl={class:"footer-amount"},ul={class:"footer-right footer-sign"},pl={class:"signature-cell"},ml=["src"],_l={key:1},fl={class:"flex justify-end gap-2 mt-4"},gl={class:"flex justify-end gap-2"},cl=Ae({__name:"index",emits:["success"],setup(Ge,{expose:be,emit:Ve}){const ae=Ve,L=k(!1),H=k(),q=k(!1),j=k(!1),F=k(),B=k(),W=k(!1),y=k(null),N=Pe({stationName:"成都双流甄养堂互联网医院",showDisclaimer:!0,disclaimer:""}),d=Pe({diagnosis_id:0,appointment_id:0,patient_name:"",gender:0,gender_desc:"女",age:0,phone:"",visit_no:"",prescription_date:"",pulse:"",tongue:"",clinical_diagnosis:"",herbs:[],dose_count:1,dose_unit:"剂",usage_instruction:"水煎服一日二次",amount:0,doctor_name:"",doctor_signature:""}),s=He(),Ce=["剂","丸","袋","盒","瓶","膏","贴","包","片","粒"],we=k([]),ne=k([]),K=(i,n)=>{if(!n)return"";const _=i.find(c=>c.value===n);return _?_.name:n},se=async()=>{try{const[i,n]=await Promise.all([C({type:"diagnosis_type"}),C({type:"syndrome_type"})]);we.value=(i==null?void 0:i.diagnosis_type)||[],ne.value=(n==null?void 0:n.syndrome_type)||[]}catch{}},ie=i=>{var r;if((r=i==null?void 0:i.symptoms)!=null&&r.trim())return i.symptoms.trim();const n=K(we.value,i==null?void 0:i.diagnosis_type),_=K(ne.value,i==null?void 0:i.syndrome_type),c=[n,_].filter(Boolean);return c.length?c.join(" "):""},de=async(i,n)=>{var l;n!=null&&n.stationName&&(N.stationName=n.stationName);const _=i.diagnosis||i,c=i.diagnosis_id??(_==null?void 0:_.id)??i.id;if(!c){$.msgWarning("缺少诊单信息");return}await se();const r=Number(i.id??i.appointment_id??0);if(r)try{const g=await pt({appointment_id:r});if(g!=null&&g.id){const U=await ve({id:g.id});y.value=U,L.value=!0;return}}catch{}d.diagnosis_id=Number(c),d.appointment_id=r,d.patient_name=i.patient_name||_.patient_name||"",d.gender=i.patient_gender??_.gender??0,d.gender_desc=d.gender===1?"男":"女",d.age=i.patient_age??_.age??0,d.phone=i.patient_phone||_.phone||"",d.visit_no=i.id?`1K${String(i.id).padStart(8,"0")}`:"",d.prescription_date=new Date().toISOString().slice(0,10),d.pulse=_.pulse||"",d.tongue=_.tongue_coating||_.tongue||"",d.clinical_diagnosis=ie(_),d.herbs=[],d.dose_count=1,d.dose_unit="剂",d.usage_instruction="水煎服一日二次",d.amount=0,d.doctor_name=((l=s.userInfo)==null?void 0:l.name)||"",d.doctor_signature="",y.value=null,L.value=!0,setTimeout(()=>le(),100)},re=async i=>{try{const n=await ve({id:i});y.value=n,L.value=!0}catch{$.msgError("加载处方失败")}},A=()=>{L.value=!1,y.value=null},Z=i=>{const n=B.value;if(!n)return{x:0,y:0};const _=n.getBoundingClientRect(),c=n.width/_.width,r=n.height/_.height;if(i instanceof TouchEvent){const l=i.touches[0]||i.changedTouches[0];return{x:(l.clientX-_.left)*c,y:(l.clientY-_.top)*r}}return{x:(i.clientX-_.left)*c,y:(i.clientY-_.top)*r}},ee=i=>{var r;W.value=!0;const n=(r=B.value)==null?void 0:r.getContext("2d");if(!n)return;const{x:_,y:c}=Z(i);n.beginPath(),n.moveTo(_,c)},te=i=>{var r;if(!W.value)return;const n=(r=B.value)==null?void 0:r.getContext("2d");if(!n)return;const{x:_,y:c}=Z(i);n.lineTo(_,c),n.stroke()},G=()=>{W.value=!1;const i=B.value;i&&(d.doctor_signature=i.toDataURL("image/png"))},ue=()=>{const i=B.value;if(i){const n=i.getContext("2d");n&&(n.fillStyle="#fff",n.fillRect(0,0,i.width,i.height)),d.doctor_signature=""}},le=()=>{const i=B.value;if(i){const n=i.getContext("2d");n&&(n.fillStyle="#fff",n.fillRect(0,0,i.width,i.height),n.strokeStyle="#333",n.lineWidth=2,n.lineCap="round",n.lineJoin="round")}},pe=()=>{d.herbs.push({name:"",dosage:6})},me=i=>{d.herbs.splice(i,1)},_e=async()=>{var i,n,_;if(!((i=d.clinical_diagnosis)!=null&&i.trim())){$.msgWarning("请输入临床诊断");return}if(d.herbs.length===0){$.msgWarning("请至少添加一味中药");return}for(const c of d.herbs){if(!((n=c.name)!=null&&n.trim())){$.msgWarning("请填写中药名称");return}if(!c.dosage||c.dosage<=0){$.msgWarning(`请填写「${c.name}」的剂量`);return}}if(!((_=d.doctor_signature)!=null&&_.trim())){$.msgWarning("请使用电子签名板手写医师签名");return}q.value=!0;try{const c=await mt({diagnosis_id:d.diagnosis_id,appointment_id:d.appointment_id,patient_name:d.patient_name,gender:d.gender,age:d.age,phone:d.phone,visit_no:d.visit_no,prescription_date:d.prescription_date,pulse:d.pulse,tongue:d.tongue,clinical_diagnosis:d.clinical_diagnosis,herbs:d.herbs,dose_count:d.dose_count,dose_unit:d.dose_unit||"剂",usage_instruction:d.usage_instruction,amount:d.amount,doctor_name:d.doctor_name,doctor_signature:d.doctor_signature}),r=c==null?void 0:c.id;if(r){const l=await ve({id:r});y.value=l,ae("success")}else $.msgError("保存失败")}catch(c){$.msgError((c==null?void 0:c.msg)||"保存失败")}finally{q.value=!1}},fe=i=>{if(!i)return"—";const n=new Date(i*1e3);return`${n.getFullYear()}-${String(n.getMonth()+1).padStart(2,"0")}-${String(n.getDate()).padStart(2,"0")} ${String(n.getHours()).padStart(2,"0")}:${String(n.getMinutes()).padStart(2,"0")}:${String(n.getSeconds()).padStart(2,"0")}`},ge=async()=>{var n;const i=(n=y.value)==null?void 0:n.id;if(i)try{await $.confirm("确定要作废该处方吗?作废后不可恢复。"),j.value=!0,await _t({id:i}),$.msgSuccess("作废成功");const _=await ve({id:i});y.value=_,ae("success")}catch(_){_!=="cancel"&&(_==null?void 0:_.message)!=="cancel"&&$.msgError((_==null?void 0:_.msg)||"作废失败")}finally{j.value=!1}},ce=()=>{var n;const i=y.value;i&&(d.diagnosis_id=i.diagnosis_id??d.diagnosis_id,d.appointment_id=i.appointment_id??d.appointment_id,d.patient_name=i.patient_name||"",d.gender=i.gender??0,d.gender_desc=i.gender===1?"男":"女",d.age=i.age??0,d.phone=i.phone||"",d.visit_no=i.visit_no||"",d.prescription_date=new Date().toISOString().slice(0,10),d.pulse=i.pulse||"",d.tongue=i.tongue||"",d.clinical_diagnosis=i.clinical_diagnosis||"",d.dose_count=1,d.dose_unit=i.dose_unit||"剂",d.usage_instruction="水煎服一日二次",d.amount=0,d.doctor_name=((n=s.userInfo)==null?void 0:n.name)||i.doctor_name||"",d.doctor_signature="",d.herbs=[],setTimeout(()=>le(),100)),y.value=null},ye=async()=>{const i=F.value;if(!i)throw new Error("未找到处方内容");return wt(i,{scale:2,useCORS:!0,logging:!1,backgroundColor:"#ffffff"})},ke=async()=>{var i;try{const n=await ye(),_=document.createElement("a");_.download=`处方_${((i=y.value)==null?void 0:i.patient_name)||"未命名"}_${Date.now()}.png`,_.href=n.toDataURL("image/png"),_.click(),$.msgSuccess("图片已下载")}catch{$.msgError("下载图片失败")}},xe=async()=>{var i;try{const n=await ye(),_=n.toDataURL("image/png"),c=new kt({orientation:"portrait",unit:"mm",format:"a5"}),r=c.internal.pageSize.getWidth(),l=c.internal.pageSize.getHeight(),g=Math.min(r/n.width,l/n.height),U=n.width*g,f=n.height*g;c.addImage(_,"PNG",0,0,U,f),c.save(`处方_${((i=y.value)==null?void 0:i.patient_name)||"未命名"}_${Date.now()}.pdf`),$.msgSuccess("PDF已下载")}catch{$.msgError("下载PDF失败")}};return be({open:de,openById:re}),(i,n)=>{const _=ze,c=Me,r=Le,l=Ne,g=Te,U=Fe,f=qe,w=We,x=Be,M=Qe,R=Ke,T=Ye;return u(),h(T,{modelValue:o(L),"onUpdate:modelValue":n[9]||(n[9]=v=>Ee(L)?L.value=v:null),title:"中医处方单",size:"900px","close-on-click-modal":!1,onClose:A},Ut({default:t(()=>[o(y)?(u(),b("div",Mt,[m("div",{ref_key:"prescriptionPrintRef",ref:F,class:"prescription-print"},[m("div",zt,[m("h2",Lt,V(o(N).stationName)+"处方笺",1),m("div",Ft,[o(y).void_status===1?(u(),h(M,{key:0,type:"danger",size:"small"},{default:t(()=>[...n[19]||(n[19]=[p("已作废",-1)])]),_:1})):(u(),b(S,{key:1},[n[20]||(n[20]=m("div",null,"普通处方",-1)),n[21]||(n[21]=m("div",{class:"text-sm"},"当日有效",-1))],64))])]),o(y).void_status===1?(u(),b("div",Wt," 作废人:"+V(o(y).void_by_name||"—")+",作废时间:"+V(fe(o(y).void_time)),1)):Q("",!0),m("div",Yt,[m("div",qt,[m("span",Ht,[n[22]||(n[22]=m("em",null,"日期",-1)),p(V(o(y).prescription_date),1)]),m("span",jt,[n[23]||(n[23]=m("em",null,"电话",-1)),p(V(o(y).phone),1)]),m("span",At,[n[24]||(n[24]=m("em",null,"门诊号",-1)),p(V(o(y).visit_no),1)])]),m("div",Gt,[m("span",Xt,[n[25]||(n[25]=m("em",null,"姓名",-1)),p(V(o(y).patient_name),1)]),m("span",Jt,[n[26]||(n[26]=m("em",null,"性别",-1)),p(V(o(y).gender_desc),1)]),m("span",Qt,[n[27]||(n[27]=m("em",null,"年龄",-1)),p(V(o(y).age!=null?o(y).age+"岁":"—"),1)])]),m("div",Kt,[o(y).pulse?(u(),b("span",Zt,[n[28]||(n[28]=m("em",null,"面象",-1)),p(V(o(y).pulse||"—"),1)])):Q("",!0),o(y).tongue?(u(),b("span",el,[n[29]||(n[29]=m("em",null,"舌象",-1)),p(V(o(y).tongue||"—"),1)])):Q("",!0)]),m("div",tl,[m("span",ll,[n[30]||(n[30]=m("em",null,"临床诊断",-1)),p(V(o(y).clinical_diagnosis),1)])])]),m("div",ol,[n[31]||(n[31]=m("div",{class:"rp-label"},"RP",-1)),m("div",al,[(u(!0),b(S,null,E(o(y).herbs,(v,P)=>(u(),b("div",{key:P,class:"herb-cell"},V(v.name)+" "+V(v.dosage)+"克 ",1))),128))])]),o(N).showDisclaimer?(u(),b("div",nl,V(o(N).disclaimer),1)):Q("",!0),m("div",sl,[m("div",il,[m("div",dl," 共 "+V(o(y).dose_count)+V(o(y).dose_unit||"剂")+", "+V(o(y).usage_instruction),1),m("div",rl,"金额 "+V(o(y).amount),1)]),m("div",ul,[m("span",pl,[n[32]||(n[32]=p(" 医师 ",-1)),o(y).doctor_signature?(u(),b("img",{key:0,src:o(y).doctor_signature,alt:"医师签名",class:"doctor-signature-img"},null,8,ml)):(u(),b("span",_l,V(o(y).doctor_name||"医师"),1))])])])],512),m("div",fl,[e(g,{onClick:ke},{default:t(()=>[e(R,null,{default:t(()=>[e(o(xt))]),_:1}),n[33]||(n[33]=p(" 下载图片 ",-1))]),_:1}),e(g,{type:"primary",onClick:xe},{default:t(()=>[e(R,null,{default:t(()=>[e(o(ht))]),_:1}),n[34]||(n[34]=p(" 下载PDF ",-1))]),_:1}),o(y).void_status!==1?(u(),h(g,{key:0,type:"danger",plain:"",loading:o(j),onClick:ge},{default:t(()=>[...n[35]||(n[35]=[p(" 作废处方 ",-1)])]),_:1},8,["loading"])):Q("",!0),e(g,{onClick:ce},{default:t(()=>[...n[36]||(n[36]=[p("新建处方",-1)])]),_:1}),e(g,{onClick:A},{default:t(()=>[...n[37]||(n[37]=[p("关闭",-1)])]),_:1})])])):(u(),b("div",Et,[e(x,{ref_key:"formRef",ref:H,model:o(d),"label-width":"100px",class:"prescription-form"},{default:t(()=>[m("div",Ct,[n[10]||(n[10]=m("div",{class:"section-title"},"患者信息",-1)),e(l,{gutter:16},{default:t(()=>[e(c,{span:8},{default:t(()=>[e(_,{label:"姓名"},{default:t(()=>[m("span",null,V(o(d).patient_name),1)]),_:1})]),_:1}),e(c,{span:8},{default:t(()=>[e(_,{label:"性别"},{default:t(()=>[m("span",null,V(o(d).gender_desc),1)]),_:1})]),_:1}),e(c,{span:8},{default:t(()=>[e(_,{label:"年龄"},{default:t(()=>[m("span",null,V(o(d).age),1)]),_:1})]),_:1}),e(c,{span:12},{default:t(()=>[e(_,{label:"电话"},{default:t(()=>[m("span",null,V(o(d).phone),1)]),_:1})]),_:1}),e(c,{span:12},{default:t(()=>[e(_,{label:"门诊号"},{default:t(()=>[e(r,{modelValue:o(d).visit_no,"onUpdate:modelValue":n[0]||(n[0]=v=>o(d).visit_no=v),placeholder:"门诊号"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1})]),m("div",Dt,[n[11]||(n[11]=m("div",{class:"section-title"},"诊断信息",-1)),e(l,{gutter:16},{default:t(()=>[e(c,{span:12},{default:t(()=>[e(_,{label:"面象",prop:"pulse"},{default:t(()=>[e(r,{modelValue:o(d).pulse,"onUpdate:modelValue":n[1]||(n[1]=v=>o(d).pulse=v),placeholder:"面象"},null,8,["modelValue"])]),_:1})]),_:1}),e(c,{span:12},{default:t(()=>[e(_,{label:"舌象",prop:"tongue"},{default:t(()=>[e(r,{modelValue:o(d).tongue,"onUpdate:modelValue":n[2]||(n[2]=v=>o(d).tongue=v),placeholder:"舌象"},null,8,["modelValue"])]),_:1})]),_:1}),e(c,{span:24},{default:t(()=>[e(_,{label:"临床诊断",prop:"clinical_diagnosis"},{default:t(()=>[e(r,{modelValue:o(d).clinical_diagnosis,"onUpdate:modelValue":n[3]||(n[3]=v=>o(d).clinical_diagnosis=v),type:"textarea",rows:2,placeholder:"请输入临床诊断"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1})]),m("div",Rt,[m("div",Ot,[n[13]||(n[13]=p(" 中药处方 (RP) ",-1)),e(g,{type:"primary",size:"small",onClick:pe},{default:t(()=>[...n[12]||(n[12]=[p("添加中药",-1)])]),_:1})]),m("div",It,[e(_,{label:"处方价格",prop:"amount",class:"!mb-0"},{default:t(()=>[e(U,{modelValue:o(d).amount,"onUpdate:modelValue":n[4]||(n[4]=v=>o(d).amount=v),min:0,precision:2,placeholder:"请输入处方总价(元)",class:"!w-40"},null,8,["modelValue"]),n[14]||(n[14]=m("span",{class:"ml-2 text-gray-500"},"元",-1))]),_:1})]),(u(!0),b(S,null,E(o(d).herbs,(v,P)=>(u(),b("div",{key:P,class:"herb-item"},[e(_,{label:`中药${P+1}`},{default:t(()=>[m("div",$t,[e(r,{modelValue:v.name,"onUpdate:modelValue":z=>v.name=z,placeholder:"药品名称",style:{width:"160px"}},null,8,["modelValue","onUpdate:modelValue"]),e(U,{modelValue:v.dosage,"onUpdate:modelValue":z=>v.dosage=z,min:.1,step:1,precision:1,placeholder:"剂量(克)",style:{width:"120px"}},null,8,["modelValue","onUpdate:modelValue"]),n[16]||(n[16]=m("span",{class:"text-gray-500"},"克",-1)),e(g,{type:"danger",size:"small",link:"",onClick:z=>me(P)},{default:t(()=>[...n[15]||(n[15]=[p(" 删除 ",-1)])]),_:1},8,["onClick"])])]),_:2},1032,["label"])]))),128))]),m("div",Pt,[e(l,{gutter:16},{default:t(()=>[e(c,{span:12},{default:t(()=>[e(_,{label:"数量规格",prop:"dose_count"},{default:t(()=>[m("div",Tt,[e(U,{modelValue:o(d).dose_count,"onUpdate:modelValue":n[5]||(n[5]=v=>o(d).dose_count=v),min:1,max:999,class:"!w-28"},null,8,["modelValue"]),e(w,{modelValue:o(d).dose_unit,"onUpdate:modelValue":n[6]||(n[6]=v=>o(d).dose_unit=v),placeholder:"单位",class:"!w-24"},{default:t(()=>[(u(),b(S,null,E(Ce,v=>e(f,{key:v,label:v,value:v},null,8,["label","value"])),64))]),_:1},8,["modelValue"])])]),_:1})]),_:1}),e(c,{span:12},{default:t(()=>[e(_,{label:"用法",prop:"usage_instruction"},{default:t(()=>[e(r,{modelValue:o(d).usage_instruction,"onUpdate:modelValue":n[7]||(n[7]=v=>o(d).usage_instruction=v),placeholder:"如:水煎服一日二次"},null,8,["modelValue"])]),_:1})]),_:1}),e(c,{span:12},{default:t(()=>[e(_,{label:"医师",prop:"doctor_name"},{default:t(()=>[e(r,{modelValue:o(d).doctor_name,"onUpdate:modelValue":n[8]||(n[8]=v=>o(d).doctor_name=v),placeholder:"医师姓名"},null,8,["modelValue"])]),_:1})]),_:1}),e(c,{span:24},{default:t(()=>[e(_,{label:"医师签名",prop:"doctor_signature",required:""},{default:t(()=>[m("div",Bt,[m("canvas",{ref_key:"signatureCanvasRef",ref:B,class:"signature-canvas",width:"280",height:"120",onMousedown:ee,onMousemove:te,onMouseup:G,onMouseleave:G,onTouchstart:Se(ee,["prevent"]),onTouchmove:Se(te,["prevent"]),onTouchend:Se(G,["prevent"])},null,544),m("div",Nt,[e(g,{size:"small",onClick:ue},{default:t(()=>[...n[17]||(n[17]=[p("清空签名",-1)])]),_:1})])]),n[18]||(n[18]=m("div",{class:"text-xs text-amber-600 mt-1"},"* 必填,请在框内手写医师签名",-1))]),_:1})]),_:1})]),_:1})])]),_:1},8,["model"])]))]),_:2},[o(y)?void 0:{name:"footer",fn:t(()=>[m("div",gl,[e(g,{onClick:A},{default:t(()=>[...n[38]||(n[38]=[p("取消",-1)])]),_:1}),e(g,{type:"primary",onClick:_e,loading:o(q)},{default:t(()=>[...n[39]||(n[39]=[p("保存处方",-1)])]),_:1},8,["loading"])])]),key:"0"}]),1032,["modelValue"])}}}),yl=je(cl,[["__scopeId","data-v-90164a69"]]),vl={class:"edit-drawer"},bl={key:0,class:"bingli-tab-content"},Vl={class:"bingli-diagnosis-section"},wl={key:0,class:"bingli-images"},kl={key:1,class:"bingli-empty"},xl={key:0,class:"bingli-images"},hl={key:1,class:"bingli-empty"},Ul={class:"flex justify-end gap-3 px-4 pb-4"},Sl=Ae({__name:"edit",emits:["success"],setup(Ge,{expose:be,emit:Ve}){const ae=Ve,L=vt(),H=r=>{var l;return((l=r==null?void 0:r.indexOf)==null?void 0:l.call(r,"http"))===0?r:L.getImageUrl(r||"")},q=k(),j=k(),F=k(!1),B=k(),W=k("add"),y=k(!1),N=k("basic"),d=St(()=>W.value==="add"?"新增诊单":"编辑诊单"),s=k({id:"",patient_id:"",patient_name:"",id_card:"",phone:"",gender:1,age:void 0,diagnosis_date:"",diagnosis_type:"",syndrome_type:"",diabetes_type:"",diabetes_discovery_year:void 0,local_hospital_diagnosis:[],local_hospital_name:"",marital_status:void 0,height:void 0,weight:void 0,region:"",systolic_pressure:void 0,diastolic_pressure:void 0,fasting_blood_sugar:void 0,appetite:[],water_intake:"",diet_condition:[],weight_change:"",body_feeling:[],sleep_condition:[],eye_condition:[],head_feeling:[],sweat_condition:[],skin_condition:[],urine_condition:[],stool_condition:[],kidney_condition:[],fatty_liver_degree:"",past_history:[],trauma_history:0,surgery_history:0,allergy_history:0,family_history:0,pregnancy_history:0,tongue_images:[],report_files:[],symptoms:"",tongue_coating:"",pulse:"",treatment_principle:"",prescription:"",doctor_advice:"",remark:"",status:1,external_userid:""}),ne={patient_name:[{required:!0,message:"请输入患者姓名",trigger:"blur"}],id_card:[{validator:(r,l,g)=>{if(l&&!/^[1-9]\d{5}(18|19|20)\d{2}(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])\d{3}[\dXx]$/.test(l)){g(new Error("身份证号格式不正确"));return}g()},trigger:"blur"}],phone:[{required:!0,validator:(r,l,g)=>{if(!l){g(new Error("请输入手机号"));return}if(!/^1[3-9]\d{9}$/.test(l)){g(new Error("手机号格式不正确"));return}g()},trigger:"blur"}],gender:[{required:!0,message:"请选择性别",trigger:"change"}],age:[{required:!0,message:"请输入年龄",trigger:"blur"}],diagnosis_date:[{required:!0,message:"请选择诊断日期",trigger:"change"}],diagnosis_type:[{required:!0,message:"请选择诊断类型",trigger:"change"}],syndrome_type:[{required:!0,message:"请选择证型",trigger:"change"}],diabetes_type:[{required:!0,message:"请选择糖尿病期数",trigger:"change"}]},K=k([]),se=k([]),ie=k([]),de=k([]),re=k([]),A=k([]),Z=k([]),ee=k([]),te=k([]),G=k([]),ue=k([]),le=k([]),pe=k([]),me=k([]),_e=k([]),fe=k([]),ge=k([]),ce=k([]),ye=async()=>{try{const[r,l,g,U,f,w,x,M,R,T,v,P,z,D,O,I,X,oe]=await Promise.all([C({type:"diagnosis_type"}),C({type:"syndrome_type"}),C({type:"diabetes_type"}),C({type:"past_history"}),C({type:"appetite"}),C({type:"water_intake"}),C({type:"diet_condition"}),C({type:"weight_change"}),C({type:"body_feeling"}),C({type:"sleep_condition"}),C({type:"eye_condition"}),C({type:"head_feeling"}),C({type:"sweat_condition"}),C({type:"skin_condition"}),C({type:"urine_condition"}),C({type:"stool_condition"}),C({type:"kidney_condition"}),C({type:"fatty_liver_degree"})]);K.value=(r==null?void 0:r.diagnosis_type)||[],se.value=(l==null?void 0:l.syndrome_type)||[],ie.value=(g==null?void 0:g.diabetes_type)||[],de.value=(U==null?void 0:U.past_history)||[],re.value=(f==null?void 0:f.appetite)||[],A.value=(w==null?void 0:w.water_intake)||[],Z.value=(x==null?void 0:x.diet_condition)||[],ee.value=(M==null?void 0:M.weight_change)||[],te.value=(R==null?void 0:R.body_feeling)||[],G.value=(T==null?void 0:T.sleep_condition)||[],ue.value=(v==null?void 0:v.eye_condition)||[],le.value=(P==null?void 0:P.head_feeling)||[],pe.value=(z==null?void 0:z.sweat_condition)||[],me.value=(D==null?void 0:D.skin_condition)||[],_e.value=(O==null?void 0:O.urine_condition)||[],fe.value=(I==null?void 0:I.stool_condition)||[],ge.value=(X==null?void 0:X.kidney_condition)||[],ce.value=(oe==null?void 0:oe.fatty_liver_degree)||[]}catch(r){console.error("获取字典数据失败:",r)}},ke=async()=>{if(!(!s.value.phone||!/^1[3-9]\d{9}$/.test(s.value.phone)))try{const r=await ft({phone:s.value.phone,id:s.value.id||""});r.exists&&Ie.warning(r.message)}catch(r){console.error("检查手机号失败:",r)}},xe=async()=>{if(!s.value.id_card||!/^[1-9]\d{5}(18|19|20)\d{2}(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])\d{3}[\dXx]$/.test(s.value.id_card))return;const r=s.value.id_card,l=parseInt(r.substring(6,10)),g=parseInt(r.substring(10,12)),U=parseInt(r.substring(12,14)),f=new Date;let w=f.getFullYear()-l;(f.getMonth()+1<g||f.getMonth()+1===g&&f.getDate()<U)&&w--,s.value.age=w;try{const x=await gt({id_card:s.value.id_card,id:s.value.id||""});x.exists&&Ie.warning(x.message)}catch(x){console.error("检查身份证号失败:",x)}},i=async(r,l)=>{var g;if(W.value=r,F.value=!0,N.value="basic",await ye(),r==="edit"&&l){const U=await $e({id:l});s.value=U}else if(r==="add"){const U=He();s.value.assistant_id=((g=U.userInfo)==null?void 0:g.id)||""}},n=async()=>{var r;await((r=B.value)==null?void 0:r.validate()),y.value=!0;try{if(W.value==="add"){const l=await ct(s.value);if(l&&l.id){W.value="edit",s.value.id=l.id;try{const g=await $e({id:l.id});s.value.patient_id=g.patient_id}catch(g){console.error("获取详情失败:",g)}}}else await yt(s.value);ae("success")}catch(l){console.error("提交失败:",l)}finally{y.value=!1}},_=r=>{var l;(l=j.value)==null||l.openById(r.id)},c=()=>{var r;(r=B.value)==null||r.resetFields(),s.value={id:"",patient_id:"",patient_name:"",id_card:"",phone:"",gender:1,diabetes_type:"",marital_status:void 0,height:void 0,weight:void 0,region:"",systolic_pressure:void 0,diastolic_pressure:void 0,fasting_blood_sugar:void 0,diabetes_discovery_year:void 0,local_hospital_diagnosis:[],local_hospital_name:"",appetite:[],water_intake:"",diet_condition:[],weight_change:"",body_feeling:[],sleep_condition:[],eye_condition:[],head_feeling:[],sweat_condition:[],skin_condition:[],urine_condition:[],stool_condition:[],kidney_condition:[],fatty_liver_degree:"",past_history:[],trauma_history:0,surgery_history:0,allergy_history:0,family_history:0,pregnancy_history:0,tongue_images:[],report_files:[],symptoms:"",tongue_coating:"",pulse:"",treatment_principle:"",prescription:"",doctor_advice:"",remark:"",status:1,external_userid:""},F.value=!1};return be({open:i,refreshCaseList:()=>{var r,l;return(l=(r=q.value)==null?void 0:r.refresh)==null?void 0:l.call(r)}}),(r,l)=>{const g=tt,U=Le,f=ze,w=Me,x=Ne,M=ot,R=lt,T=Fe,v=qe,P=We,z=at,D=st,O=nt,I=it,X=ut,oe=Be,he=et,De=dt,Re=rt,Xe=Ze,Oe=Te,Je=Ye;return u(),b("div",vl,[e(Je,{modelValue:o(F),"onUpdate:modelValue":l[47]||(l[47]=a=>Ee(F)?F.value=a:null),title:o(d),size:"70%","before-close":c,"z-index":1500,modal:!0,class:"diagnosis-drawer"},{footer:t(()=>[m("div",Ul,[e(Oe,{onClick:c},{default:t(()=>[...l[78]||(l[78]=[p("取消",-1)])]),_:1}),o(N)==="basic"?(u(),h(Oe,{key:0,type:"primary",onClick:n,loading:o(y)},{default:t(()=>[...l[79]||(l[79]=[p(" 确定 ",-1)])]),_:1},8,["loading"])):Q("",!0)])]),default:t(()=>[e(Xe,{modelValue:o(N),"onUpdate:modelValue":l[45]||(l[45]=a=>Ee(N)?N.value=a:null),class:"diagnosis-tabs"},{default:t(()=>[e(he,{label:"基本信息",name:"basic"},{default:t(()=>[e(oe,{ref_key:"formRef",ref:B,model:o(s),rules:ne,"label-width":"160px"},{default:t(()=>[e(g,{"content-position":"left"},{default:t(()=>[...l[48]||(l[48]=[p("基本信息",-1)])]),_:1}),e(f,{label:"诊单ID"},{default:t(()=>[e(U,{modelValue:o(s).patient_id,"onUpdate:modelValue":l[0]||(l[0]=a=>o(s).patient_id=a),disabled:"",placeholder:"系统自动生成"},null,8,["modelValue"])]),_:1}),e(x,{gutter:20},{default:t(()=>[e(w,{span:12},{default:t(()=>[e(f,{label:"姓名",prop:"patient_name"},{default:t(()=>[e(U,{modelValue:o(s).patient_name,"onUpdate:modelValue":l[1]||(l[1]=a=>o(s).patient_name=a),placeholder:"请输入姓名"},null,8,["modelValue"])]),_:1})]),_:1}),e(w,{span:12},{default:t(()=>[e(f,{label:"身份证号",prop:"id_card"},{default:t(()=>[e(U,{modelValue:o(s).id_card,"onUpdate:modelValue":l[2]||(l[2]=a=>o(s).id_card=a),placeholder:"请输入身份证号",maxlength:"18",onBlur:xe},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),e(x,{gutter:20},{default:t(()=>[e(w,{span:12},{default:t(()=>[e(f,{label:"手机号",prop:"phone"},{default:t(()=>[e(U,{modelValue:o(s).phone,"onUpdate:modelValue":l[3]||(l[3]=a=>o(s).phone=a),placeholder:"请输入手机号",maxlength:"11",onBlur:ke},null,8,["modelValue"])]),_:1})]),_:1}),e(w,{span:12},{default:t(()=>[e(f,{label:"性别",prop:"gender"},{default:t(()=>[e(R,{modelValue:o(s).gender,"onUpdate:modelValue":l[4]||(l[4]=a=>o(s).gender=a)},{default:t(()=>[e(M,{label:1},{default:t(()=>[...l[49]||(l[49]=[p("男",-1)])]),_:1}),e(M,{label:0},{default:t(()=>[...l[50]||(l[50]=[p("女",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1})]),_:1}),e(x,{gutter:20},{default:t(()=>[e(w,{span:12},{default:t(()=>[e(f,{label:"年龄",prop:"age"},{default:t(()=>[e(T,{modelValue:o(s).age,"onUpdate:modelValue":l[5]||(l[5]=a=>o(s).age=a),min:0,max:150,placeholder:"请输入年龄",class:"w-full"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),e(g,{"content-position":"left"},{default:t(()=>[...l[51]||(l[51]=[p("生命体征",-1)])]),_:1}),e(x,{gutter:20},{default:t(()=>[e(w,{span:8},{default:t(()=>[e(f,{label:"婚姻状态",prop:"marital_status"},{default:t(()=>[e(P,{modelValue:o(s).marital_status,"onUpdate:modelValue":l[6]||(l[6]=a=>o(s).marital_status=a),placeholder:"请选择婚姻状态",class:"w-full","popper-options":{strategy:"fixed"},"popper-class":"high-z-index"},{default:t(()=>[e(v,{label:"未婚",value:0}),e(v,{label:"已婚",value:1}),e(v,{label:"离异",value:2})]),_:1},8,["modelValue"])]),_:1})]),_:1}),e(w,{span:8},{default:t(()=>[e(f,{label:"身高(cm)",prop:"height"},{default:t(()=>[e(T,{modelValue:o(s).height,"onUpdate:modelValue":l[7]||(l[7]=a=>o(s).height=a),min:0,max:300,placeholder:"请输入身高",class:"w-full"},null,8,["modelValue"])]),_:1})]),_:1}),e(w,{span:8},{default:t(()=>[e(f,{label:"体重(kg)",prop:"weight"},{default:t(()=>[e(T,{modelValue:o(s).weight,"onUpdate:modelValue":l[8]||(l[8]=a=>o(s).weight=a),min:0,max:500,step:.1,placeholder:"请输入体重",class:"w-full"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),e(x,{gutter:20},{default:t(()=>[e(w,{span:8},{default:t(()=>[e(f,{label:"地区",prop:"region"},{default:t(()=>[e(U,{modelValue:o(s).region,"onUpdate:modelValue":l[9]||(l[9]=a=>o(s).region=a),placeholder:"请输入地区"},null,8,["modelValue"])]),_:1})]),_:1}),e(w,{span:8},{default:t(()=>[e(f,{label:"收缩压(mmHg)",prop:"systolic_pressure"},{default:t(()=>[e(T,{modelValue:o(s).systolic_pressure,"onUpdate:modelValue":l[10]||(l[10]=a=>o(s).systolic_pressure=a),min:0,max:250,placeholder:"请输入收缩压",class:"w-full"},null,8,["modelValue"])]),_:1})]),_:1}),e(w,{span:8},{default:t(()=>[e(f,{label:"舒张压(mmHg)",prop:"diastolic_pressure"},{default:t(()=>[e(T,{modelValue:o(s).diastolic_pressure,"onUpdate:modelValue":l[11]||(l[11]=a=>o(s).diastolic_pressure=a),min:0,max:150,placeholder:"请输入舒张压",class:"w-full"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),e(x,{gutter:20},{default:t(()=>[e(w,{span:8},{default:t(()=>[e(f,{label:"空腹血糖(mmol/L)",prop:"fasting_blood_sugar"},{default:t(()=>[e(T,{modelValue:o(s).fasting_blood_sugar,"onUpdate:modelValue":l[12]||(l[12]=a=>o(s).fasting_blood_sugar=a),min:0,max:50,step:.1,placeholder:"请输入空腹血糖",class:"w-full"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),e(x,{gutter:20},{default:t(()=>[e(w,{span:12},{default:t(()=>[e(f,{label:"诊断类型",prop:"diagnosis_type"},{default:t(()=>[e(P,{modelValue:o(s).diagnosis_type,"onUpdate:modelValue":l[13]||(l[13]=a=>o(s).diagnosis_type=a),placeholder:"请选择诊断类型",class:"w-full","popper-options":{strategy:"fixed"},"popper-class":"high-z-index"},{default:t(()=>[(u(!0),b(S,null,E(o(K),a=>(u(),h(v,{key:a.value,label:a.name,value:a.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1})]),_:1}),e(w,{span:12},{default:t(()=>[e(f,{label:"证型",prop:"syndrome_type"},{default:t(()=>[e(P,{modelValue:o(s).syndrome_type,"onUpdate:modelValue":l[14]||(l[14]=a=>o(s).syndrome_type=a),placeholder:"请选择证型",class:"w-full","popper-options":{strategy:"fixed"},"popper-class":"high-z-index"},{default:t(()=>[(u(!0),b(S,null,E(o(se),a=>(u(),h(v,{key:a.value,label:a.name,value:a.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1})]),_:1})]),_:1}),e(x,{gutter:20},{default:t(()=>[e(w,{span:12},{default:t(()=>[e(f,{label:"糖尿病期数",prop:"diabetes_type"},{default:t(()=>[e(P,{modelValue:o(s).diabetes_type,"onUpdate:modelValue":l[15]||(l[15]=a=>o(s).diabetes_type=a),placeholder:"请选择糖尿病期数",class:"w-full","popper-options":{strategy:"fixed"},"popper-class":"high-z-index"},{default:t(()=>[(u(!0),b(S,null,E(o(ie),a=>(u(),h(v,{key:a.value,label:a.name+(a.remark?" ("+a.remark+")":""),value:a.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1})]),_:1}),e(w,{span:12},{default:t(()=>[e(f,{label:"状态",prop:"status"},{default:t(()=>[e(R,{modelValue:o(s).status,"onUpdate:modelValue":l[16]||(l[16]=a=>o(s).status=a)},{default:t(()=>[e(M,{label:1},{default:t(()=>[...l[52]||(l[52]=[p("启用",-1)])]),_:1}),e(M,{label:0},{default:t(()=>[...l[53]||(l[53]=[p("禁用",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1})]),_:1}),e(g,{"content-position":"left"},{default:t(()=>[...l[54]||(l[54]=[p("主诉",-1)])]),_:1}),e(x,{gutter:20},{default:t(()=>[e(w,{span:12},{default:t(()=>[e(f,{label:"线下诊断日期",prop:"diagnosis_date"},{default:t(()=>[e(z,{modelValue:o(s).diagnosis_date,"onUpdate:modelValue":l[17]||(l[17]=a=>o(s).diagnosis_date=a),type:"date",placeholder:"请选择诊断日期","value-format":"YYYY-MM-DD",class:"w-full","popper-options":{strategy:"fixed"},"popper-class":"high-z-index"},null,8,["modelValue"])]),_:1})]),_:1}),e(w,{span:12},{default:t(()=>[e(f,{label:"发现糖尿病就患病史",prop:"diabetes_discovery_year"},{append:t(()=>[...l[55]||(l[55]=[p("年",-1)])]),default:t(()=>[e(T,{modelValue:o(s).diabetes_discovery_year,"onUpdate:modelValue":l[18]||(l[18]=a=>o(s).diabetes_discovery_year=a),min:0,max:100,placeholder:"请输入年数",class:"w-full"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),e(f,{label:"当地医院诊断结果",class:"checkbox-form-item"},{default:t(()=>[e(O,{modelValue:o(s).local_hospital_diagnosis,"onUpdate:modelValue":l[19]||(l[19]=a=>o(s).local_hospital_diagnosis=a)},{default:t(()=>[e(D,{label:"糖尿病"},{default:t(()=>[...l[56]||(l[56]=[p("糖尿病",-1)])]),_:1}),e(D,{label:"高血压"},{default:t(()=>[...l[57]||(l[57]=[p("高血压",-1)])]),_:1}),e(D,{label:"糖尿病高血压"},{default:t(()=>[...l[58]||(l[58]=[p("糖尿病高血压",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),e(f,{label:"当地就诊医院名称",prop:"local_hospital_name"},{default:t(()=>[e(U,{modelValue:o(s).local_hospital_name,"onUpdate:modelValue":l[20]||(l[20]=a=>o(s).local_hospital_name=a),placeholder:"请输入当地就诊医院名称(不能填写当地、本地、互联网等关键词)"},null,8,["modelValue"])]),_:1}),e(g,{"content-position":"left"},{default:t(()=>[...l[59]||(l[59]=[p("现病史",-1)])]),_:1}),e(x,{gutter:20},{default:t(()=>[e(f,{label:"口腔感觉",class:"checkbox-form-item"},{default:t(()=>[e(O,{modelValue:o(s).appetite,"onUpdate:modelValue":l[21]||(l[21]=a=>o(s).appetite=a)},{default:t(()=>[(u(!0),b(S,null,E(o(re),a=>(u(),h(D,{key:a.value,label:a.value},{default:t(()=>[p(V(a.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1})]),_:1}),e(x,{gutter:20},{default:t(()=>[e(w,{span:20},{default:t(()=>[e(f,{label:"每日饮水量",class:"compact-form-item"},{default:t(()=>[e(R,{modelValue:o(s).water_intake,"onUpdate:modelValue":l[22]||(l[22]=a=>o(s).water_intake=a)},{default:t(()=>[(u(!0),b(S,null,E(o(A),a=>(u(),h(I,{key:a.value,label:a.value},{default:t(()=>[p(V(a.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1})]),_:1})]),_:1}),e(x,{gutter:20},{default:t(()=>[e(w,{span:12},{default:t(()=>[e(f,{label:"近一个月体重变化",class:"compact-form-item"},{default:t(()=>[e(R,{modelValue:o(s).weight_change,"onUpdate:modelValue":l[23]||(l[23]=a=>o(s).weight_change=a)},{default:t(()=>[(u(!0),b(S,null,E(o(ee),a=>(u(),h(I,{key:a.value,label:a.value},{default:t(()=>[p(V(a.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1})]),_:1})]),_:1}),e(x,{gutter:20},{default:t(()=>[e(w,{span:12},{default:t(()=>[e(f,{label:"脂肪肝程度",class:"compact-form-item"},{default:t(()=>[e(R,{modelValue:o(s).fatty_liver_degree,"onUpdate:modelValue":l[24]||(l[24]=a=>o(s).fatty_liver_degree=a)},{default:t(()=>[(u(!0),b(S,null,E(o(ce),a=>(u(),h(I,{key:a.value,label:a.value},{default:t(()=>[p(V(a.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1})]),_:1})]),_:1}),e(f,{label:"饮食情况",class:"checkbox-form-item"},{default:t(()=>[e(O,{modelValue:o(s).diet_condition,"onUpdate:modelValue":l[25]||(l[25]=a=>o(s).diet_condition=a)},{default:t(()=>[(u(!0),b(S,null,E(o(Z),a=>(u(),h(D,{key:a.value,label:a.value},{default:t(()=>[p(V(a.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),e(f,{label:"肢体感觉",class:"checkbox-form-item"},{default:t(()=>[e(O,{modelValue:o(s).body_feeling,"onUpdate:modelValue":l[26]||(l[26]=a=>o(s).body_feeling=a)},{default:t(()=>[(u(!0),b(S,null,E(o(te),a=>(u(),h(D,{key:a.value,label:a.value},{default:t(()=>[p(V(a.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),e(f,{label:"睡眠情况",class:"checkbox-form-item"},{default:t(()=>[e(O,{modelValue:o(s).sleep_condition,"onUpdate:modelValue":l[27]||(l[27]=a=>o(s).sleep_condition=a)},{default:t(()=>[(u(!0),b(S,null,E(o(G),a=>(u(),h(D,{key:a.value,label:a.value},{default:t(()=>[p(V(a.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),e(f,{label:"眼睛情况",class:"checkbox-form-item"},{default:t(()=>[e(O,{modelValue:o(s).eye_condition,"onUpdate:modelValue":l[28]||(l[28]=a=>o(s).eye_condition=a)},{default:t(()=>[(u(!0),b(S,null,E(o(ue),a=>(u(),h(D,{key:a.value,label:a.value},{default:t(()=>[p(V(a.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),e(f,{label:"头部感觉",class:"checkbox-form-item"},{default:t(()=>[e(O,{modelValue:o(s).head_feeling,"onUpdate:modelValue":l[29]||(l[29]=a=>o(s).head_feeling=a)},{default:t(()=>[(u(!0),b(S,null,E(o(le),a=>(u(),h(D,{key:a.value,label:a.value},{default:t(()=>[p(V(a.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),e(f,{label:"出汗情况",class:"checkbox-form-item"},{default:t(()=>[e(O,{modelValue:o(s).sweat_condition,"onUpdate:modelValue":l[30]||(l[30]=a=>o(s).sweat_condition=a)},{default:t(()=>[(u(!0),b(S,null,E(o(pe),a=>(u(),h(D,{key:a.value,label:a.value},{default:t(()=>[p(V(a.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),e(f,{label:"皮肤情况",class:"checkbox-form-item"},{default:t(()=>[e(O,{modelValue:o(s).skin_condition,"onUpdate:modelValue":l[31]||(l[31]=a=>o(s).skin_condition=a)},{default:t(()=>[(u(!0),b(S,null,E(o(me),a=>(u(),h(D,{key:a.value,label:a.value},{default:t(()=>[p(V(a.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),e(f,{label:"小便情况",class:"checkbox-form-item"},{default:t(()=>[e(O,{modelValue:o(s).urine_condition,"onUpdate:modelValue":l[32]||(l[32]=a=>o(s).urine_condition=a)},{default:t(()=>[(u(!0),b(S,null,E(o(_e),a=>(u(),h(D,{key:a.value,label:a.value},{default:t(()=>[p(V(a.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),e(f,{label:"大便情况",class:"checkbox-form-item"},{default:t(()=>[e(O,{modelValue:o(s).stool_condition,"onUpdate:modelValue":l[33]||(l[33]=a=>o(s).stool_condition=a)},{default:t(()=>[(u(!0),b(S,null,E(o(fe),a=>(u(),h(D,{key:a.value,label:a.value},{default:t(()=>[p(V(a.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),e(f,{label:"腰肾情况",class:"checkbox-form-item"},{default:t(()=>[e(O,{modelValue:o(s).kidney_condition,"onUpdate:modelValue":l[34]||(l[34]=a=>o(s).kidney_condition=a)},{default:t(()=>[(u(!0),b(S,null,E(o(ge),a=>(u(),h(D,{key:a.value,label:a.value},{default:t(()=>[p(V(a.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),e(f,{label:"其他补充",prop:"symptoms"},{default:t(()=>[e(U,{modelValue:o(s).symptoms,"onUpdate:modelValue":l[35]||(l[35]=a=>o(s).symptoms=a),type:"textarea",rows:3,placeholder:"请输入症状"},null,8,["modelValue"])]),_:1}),e(g,{"content-position":"left"},{default:t(()=>[...l[60]||(l[60]=[p("既往史",-1)])]),_:1}),e(f,{label:"",prop:"past_history",class:"checkbox-form-item"},{default:t(()=>[e(O,{modelValue:o(s).past_history,"onUpdate:modelValue":l[36]||(l[36]=a=>o(s).past_history=a)},{default:t(()=>[(u(!0),b(S,null,E(o(de),a=>(u(),h(D,{key:a.value,label:a.value},{default:t(()=>[p(V(a.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue"])]),_:1}),e(g,{"content-position":"left"},{default:t(()=>[...l[61]||(l[61]=[p("其他病史",-1)])]),_:1}),e(x,{gutter:20},{default:t(()=>[e(w,{span:8},{default:t(()=>[e(f,{label:"外伤史"},{default:t(()=>[e(R,{modelValue:o(s).trauma_history,"onUpdate:modelValue":l[37]||(l[37]=a=>o(s).trauma_history=a)},{default:t(()=>[e(I,{label:1},{default:t(()=>[...l[62]||(l[62]=[p("有",-1)])]),_:1}),e(I,{label:0},{default:t(()=>[...l[63]||(l[63]=[p("无",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1}),e(w,{span:8},{default:t(()=>[e(f,{label:"手术史"},{default:t(()=>[e(R,{modelValue:o(s).surgery_history,"onUpdate:modelValue":l[38]||(l[38]=a=>o(s).surgery_history=a)},{default:t(()=>[e(I,{label:1},{default:t(()=>[...l[64]||(l[64]=[p("有",-1)])]),_:1}),e(I,{label:0},{default:t(()=>[...l[65]||(l[65]=[p("无",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1}),e(w,{span:8},{default:t(()=>[e(f,{label:"过敏史"},{default:t(()=>[e(R,{modelValue:o(s).allergy_history,"onUpdate:modelValue":l[39]||(l[39]=a=>o(s).allergy_history=a)},{default:t(()=>[e(I,{label:1},{default:t(()=>[...l[66]||(l[66]=[p("有",-1)])]),_:1}),e(I,{label:0},{default:t(()=>[...l[67]||(l[67]=[p("无",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1})]),_:1}),e(x,{gutter:20},{default:t(()=>[e(w,{span:12},{default:t(()=>[e(f,{label:"家族病史"},{default:t(()=>[e(R,{modelValue:o(s).family_history,"onUpdate:modelValue":l[40]||(l[40]=a=>o(s).family_history=a)},{default:t(()=>[e(I,{label:1},{default:t(()=>[...l[68]||(l[68]=[p("有",-1)])]),_:1}),e(I,{label:0},{default:t(()=>[...l[69]||(l[69]=[p("无",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1}),e(w,{span:12},{default:t(()=>[e(f,{label:"妊娠哺乳史"},{default:t(()=>[e(R,{modelValue:o(s).pregnancy_history,"onUpdate:modelValue":l[41]||(l[41]=a=>o(s).pregnancy_history=a)},{default:t(()=>[e(I,{label:1},{default:t(()=>[...l[70]||(l[70]=[p("有",-1)])]),_:1}),e(I,{label:0},{default:t(()=>[...l[71]||(l[71]=[p("无",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1})]),_:1}),e(g,{"content-position":"left"},{default:t(()=>[...l[72]||(l[72]=[p("诊断信息",-1)])]),_:1}),e(f,{label:"舌苔照片"},{default:t(()=>[e(X,{modelValue:o(s).tongue_images,"onUpdate:modelValue":l[42]||(l[42]=a=>o(s).tongue_images=a),limit:9,type:"image"},null,8,["modelValue"]),l[73]||(l[73]=m("div",{class:"form-tips"},"支持上传多张舌苔照片,最多9张",-1))]),_:1}),e(f,{label:"检查报告"},{default:t(()=>[e(X,{modelValue:o(s).report_files,"onUpdate:modelValue":l[43]||(l[43]=a=>o(s).report_files=a),limit:10,type:"image"},null,8,["modelValue"]),l[74]||(l[74]=m("div",{class:"form-tips"},"支持上传检查报告、病历、彩超等影像科检查图片,最多10个文件",-1))]),_:1}),e(f,{label:"备注",prop:"remark"},{default:t(()=>[e(U,{modelValue:o(s).remark,"onUpdate:modelValue":l[44]||(l[44]=a=>o(s).remark=a),type:"textarea",rows:2,placeholder:"请输入备注"},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1}),e(he,{label:"血糖血压记录",name:"blood",disabled:!o(s).id},{default:t(()=>[o(s).id?(u(),h(bt,{key:0,"diagnosis-id":Number(o(s).id),"patient-id":Number(o(s).patient_id)},null,8,["diagnosis-id","patient-id"])):(u(),h(De,{key:1,description:"请先保存诊单后再添加血糖血压记录"}))]),_:1},8,["disabled"]),e(he,{label:"病历",name:"bingli",disabled:!o(s).id},{default:t(()=>[o(s).id?(u(),b("div",bl,[m("div",Vl,[e(g,{"content-position":"left"},{default:t(()=>[...l[75]||(l[75]=[p("诊断信息",-1)])]),_:1}),e(x,{gutter:24},{default:t(()=>[e(w,{span:12},{default:t(()=>{var a;return[l[76]||(l[76]=m("div",{class:"bingli-label"},"舌苔照片",-1)),(a=o(s).tongue_images)!=null&&a.length?(u(),b("div",wl,[(u(!0),b(S,null,E(o(s).tongue_images,(Y,J)=>(u(),h(Re,{key:J,src:H(Y),"preview-src-list":(o(s).tongue_images||[]).map(Ue=>H(Ue)),class:"bingli-img",fit:"cover"},null,8,["src","preview-src-list"]))),128))])):(u(),b("span",kl,"暂无"))]}),_:1}),e(w,{span:12},{default:t(()=>{var a;return[l[77]||(l[77]=m("div",{class:"bingli-label"},"检查报告",-1)),(a=o(s).report_files)!=null&&a.length?(u(),b("div",xl,[(u(!0),b(S,null,E(o(s).report_files,(Y,J)=>(u(),h(Re,{key:J,src:H(Y),"preview-src-list":(o(s).report_files||[]).map(Ue=>H(Ue)),class:"bingli-img",fit:"cover"},null,8,["src","preview-src-list"]))),128))])):(u(),b("span",hl,"暂无"))]}),_:1})]),_:1})]),e(Vt,{ref_key:"caseRecordListRef",ref:q,"diagnosis-id":Number(o(s).id),onView:_},null,8,["diagnosis-id"])])):(u(),h(De,{key:1,description:"请先保存诊单,开方后病历将在此显示"}))]),_:1},8,["disabled"])]),_:1},8,["modelValue"]),e(yl,{ref_key:"prescriptionRef",ref:j,onSuccess:l[46]||(l[46]=a=>{var Y,J;return(J=(Y=o(q))==null?void 0:Y.refresh)==null?void 0:J.call(Y)})},null,512)]),_:1},8,["modelValue","title"])])}}}),El=je(Sl,[["__scopeId","data-v-5c9cba25"]]),Fl=Object.freeze(Object.defineProperty({__proto__:null,default:El},Symbol.toStringTag,{value:"Module"}));export{El as E,yl as T,Fl as e};
|