Files
zyt/server/public/admin/assets/readonly-Cyk1twjp.js
T
2026-06-01 10:01:59 +08:00

2 lines
8.2 KiB
JavaScript

import{L as H,d as J,i as Q,r as S,W}from"./element-plus-lurTijPg.js";import{u as $,a as j}from"./vue-router-QlpZ4wdW.js";import{o as K}from"./@element-plus/icons-vue-HOEUG8sr.js";import{as as U}from"./tcm-Dvr9iZ3T.js";import{g as X}from"./patient-CfBxxmVd.js";import{f as Y}from"./diag-display-DCz_VAqj.js";import{h as p}from"./perm-DTVdKuSV.js";import Z from"./PatientInfoCard-QCxRte9e.js";import tt from"./PatientCaseCard-C7tr1zQb.js";import et from"./DailyMatrix-B98gd5rC.js";import ot from"./CallRecordPanel-xjU19TCy.js";import it from"./ImChatRecordPanel-BrlUqfsB.js";import at from"./AssignLogPanel-BE7Zs_up.js";import st from"./AppointmentRecordPanel-C2JuBTZ_.js";import rt from"./PatientOrderList-xmOG8JTa.js";import nt from"./NoteTimeline-DCUOCfuq.js";import{f as dt,b as lt,aP as ct,ak as o,I as n,J as i,a as _,aN as b,O as B,F as A,H as l,G as a,A as m}from"./@vue/runtime-core-C6bnekPw.js";import{y as u,n as f}from"./@vue/reactivity-DiY1c2vO.js";import{Q as k,o as mt}from"./@vue/shared-mAAVTE9n.js";import{_ as ut}from"./index-DU3c9-Jb.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./pinia-B8cvXbiZ.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.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-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";import"./blood-thresholds-CJ1fqMjh.js";import"./diabetes-discovery-display-B_wmGXQJ.js";import"./picker-CLKZn5eT.js";import"./index-D5h1pDU3.js";import"./index-DBZ1__6G.js";import"./index.vue_vue_type_script_setup_true_lang-CB1JgtXC.js";import"./index-D24jU6I5.js";import"./index-CLXazkLW.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-eX29SeTv.js";import"./index.vue_vue_type_script_setup_true_lang-SfFZFG0h.js";import"./usePaging-VsbTxSU0.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";import"./vue-echarts-BNtg2q_G.js";import"./resize-detector-G6vbKCU7.js";import"./DiagnosisTodoList-BoWI7nsN.js";import"./RecordingPlaybackBlock-CYjk5x3p.js";import"./RecordingVideoPlayer-Bp2lb_6O.js";import"./im-business-message-parse-QKjFLn3X.js";import"./doctor-do1i0Aq_.js";const pt={class:"readonly-page"},vt={class:"readonly-hero"},_t={class:"hero-left"},gt={key:0,class:"hero-right"},yt={class:"patient-name"},ft={class:"patient-meta"},kt={key:1,class:"unserved-badge unserved-muted"},bt={key:0,class:"card tracking-card"},ht={class:"card-body"},Nt={class:"card note-card"},xt={class:"card-body card-body--matrix-align"},Ct={key:1,class:"card section-card"},Dt={class:"card-body card-body--matrix-align"},Pt={key:2,class:"card section-card"},wt={class:"card-body card-body--matrix-align"},It={key:3,class:"card section-card"},Rt={class:"card-body card-body--matrix-align"},Bt={key:4,class:"card section-card"},At={class:"card-body card-body--matrix-align"},Et={key:5,class:"card section-card"},Lt={class:"card-body card-body--matrix-align"},Vt=dt({__name:"readonly",setup(Ft){const E=$(),h=j(),N=m(()=>Number(E.query.id||0)),g=f(!1),y=f(""),d=f(null),v=f([]),x=m(()=>{var e;return((e=d.value)==null?void 0:e.appointment)||{}}),r=m(()=>{var e;return((e=d.value)==null?void 0:e.diagnosis)||{}}),L=m(()=>p(["tcm.diagnosis/dailyRecord"])),s=m(()=>{var e;return Number(((e=r.value)==null?void 0:e.id)??N.value??0)}),C=m(()=>{var e;return Number(((e=r.value)==null?void 0:e.patient_id)??0)}),D=m(()=>{var t;const e=(t=d.value)==null?void 0:t.unserved_days;return e==null?null:Number(e)}),P=m(()=>{var e;return((e=d.value)==null?void 0:e.last_blood_record_at)||""}),V=e=>{if(e==null)return"unserved-muted";const t=Number(e);return Number.isFinite(t)?t>=7?"unserved-red":t>=3?"unserved-orange":"unserved-green":"unserved-muted"},F=async()=>{const e=s.value;if(e)try{const t=await X({diagnosis_id:e})||[];v.value=t}catch{}},M=async()=>{const e=N.value;if(!e||e<=0){y.value="诊单 id 缺失",d.value=null,v.value=[];return}g.value=!0,y.value="";try{const t=await U({id:e});d.value=t||null,v.value=Array.isArray(t==null?void 0:t.doctor_notes)?t.doctor_notes:[],await F()}catch(t){y.value=(t==null?void 0:t.message)||"",d.value=null,v.value=[]}finally{g.value=!1}},O=()=>{window.history.length>1?h.back():h.push({path:"/tcm/diagnosis"})};return lt(M),(e,t)=>{var w,I,R;const T=J,z=Q,G=S,c=W,q=H;return ct((o(),n("div",pt,[i("div",vt,[i("div",_t,[_(z,{link:"",size:"default",onClick:O,class:"back-btn"},{default:b(()=>[_(T,null,{default:b(()=>[_(u(K))]),_:1}),t[0]||(t[0]=i("span",null,"返回",-1))]),_:1}),t[1]||(t[1]=i("span",{class:"title"},"患者信息详情",-1))]),(w=r.value)!=null&&w.patient_name?(o(),n("div",gt,[i("span",yt,k(r.value.patient_name),1),i("span",ft,[B(k(u(Y)(r.value.gender))+" ",1),r.value.age!=null?(o(),n(A,{key:0},[B(" · "+k(r.value.age)+"岁",1)],64)):l("",!0)]),P.value?(o(),a(G,{key:0,content:`最近一次健康打卡:${P.value}`,placement:"bottom"},{default:b(()=>[i("span",{class:mt(["unserved-badge",V(D.value)])}," 未服务 "+k(D.value??"—")+" 天 ",3)]),_:1},8,["content"])):(o(),n("span",kt,"从未打卡"))])):l("",!0)]),!g.value&&!d.value?(o(),a(c,{key:0,description:y.value||"诊单不存在或无权访问",class:"empty-state"},null,8,["description"])):d.value?(o(),n(A,{key:1},[_(Z,{apt:x.value,diag:r.value},null,8,["apt","diag"]),_(tt,{apt:x.value,diag:r.value},null,8,["apt","diag"]),L.value?(o(),n("div",bt,[t[2]||(t[2]=i("div",{class:"card-title"},"日常记录",-1)),i("div",ht,[_(et,{"diagnosis-id":s.value,"patient-id":C.value,age:((I=r.value)==null?void 0:I.age)??null,"patient-name":((R=r.value)==null?void 0:R.patient_name)||"","read-only":!0},null,8,["diagnosis-id","patient-id","age","patient-name"])])])):l("",!0),i("div",Nt,[t[3]||(t[3]=i("div",{class:"card-title"},"医生备注 & 舌苔照片 & 检查报告",-1)),i("div",xt,[s.value<=0?(o(),a(c,{key:0,description:"诊单数据不完整"})):v.value.length?(o(),a(nt,{key:2,notes:v.value,"diagnosis-id":s.value,readonly:!0},null,8,["notes","diagnosis-id"])):(o(),a(c,{key:1,description:"暂无医生备注"}))])]),u(p)(["tcm.diagnosis/patientOrders"])?(o(),n("div",Ct,[t[4]||(t[4]=i("div",{class:"card-title"},"业务订单",-1)),i("div",Dt,[s.value>0?(o(),a(rt,{key:0,"diagnosis-id":s.value,"patient-id":C.value||0},null,8,["diagnosis-id","patient-id"])):(o(),a(c,{key:1,description:"诊单数据不完整"}))])])):l("",!0),u(p)(["tcm.diagnosis/huifang"])?(o(),n("div",Pt,[t[5]||(t[5]=i("div",{class:"card-title"},"视频录制回放记录",-1)),i("div",wt,[s.value>0?(o(),a(ot,{key:0,"diagnosis-id":s.value,"read-only":!0},null,8,["diagnosis-id"])):(o(),a(c,{key:1,description:"诊单数据不完整"}))])])):l("",!0),u(p)(["tcm.diagnosis/chat"])?(o(),n("div",It,[t[6]||(t[6]=i("div",{class:"card-title"},"聊天记录",-1)),i("div",Rt,[s.value>0?(o(),a(it,{key:0,"diagnosis-id":s.value},null,8,["diagnosis-id"])):(o(),a(c,{key:1,description:"诊单数据不完整"}))])])):l("",!0),u(p)(["tcm.diagnosis/assign"])||u(p)(["tcm.diagnosis/detail"])?(o(),n("div",Bt,[t[7]||(t[7]=i("div",{class:"card-title"},"指派医助记录",-1)),i("div",At,[s.value>0?(o(),a(at,{key:0,"diagnosis-id":s.value},null,8,["diagnosis-id"])):(o(),a(c,{key:1,description:"诊单数据不完整"}))])])):l("",!0),u(p)(["doctor.appointment/lists"])?(o(),n("div",Et,[t[8]||(t[8]=i("div",{class:"card-title"},"挂号记录",-1)),i("div",Lt,[s.value>0?(o(),a(st,{key:0,"diagnosis-id":s.value},null,8,["diagnosis-id"])):(o(),a(c,{key:1,description:"诊单数据不完整"}))])])):l("",!0)],64)):l("",!0)])),[[q,g.value]])}}}),oo=ut(Vt,[["__scopeId","data-v-d5db5705"]]);export{oo as default};