2 lines
8.3 KiB
JavaScript
2 lines
8.3 KiB
JavaScript
import{L as H,d as J,i as Q,r as S,W}from"./element-plus-Bolc0EfP.js";import{u as $,a as j}from"./vue-router-QlpZ4wdW.js";import{o as K}from"./@element-plus/icons-vue-B0jSCQ-G.js";import{ay as U}from"./tcm-B2eDN42y.js";import{g as X}from"./patient-B-TtpnKl.js";import{f as Y}from"./diag-display-DCz_VAqj.js";import{h as p}from"./perm-Ba4WXYK7.js";import Z from"./PatientInfoCard-RfHtSmb-.js";import tt from"./PatientCaseCard-BWVpBp2i.js";import et from"./DailyMatrix-BykpJjGm.js";import ot from"./CallRecordPanel-DbPxSfko.js";import it from"./ImChatRecordPanel-CfA9lIP0.js";import at from"./AssignLogPanel-BlIdJQ7L.js";import st from"./AppointmentRecordPanel-CQZii2JX.js";import rt from"./PatientOrderList-Dgam7DDA.js";import nt from"./NoteTimeline-2XD75WaJ.js";import{f as dt,b as lt,aP as ct,ak as o,I as n,J as i,a as y,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-CzSP4TPL.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-BFSyGoz9.js";import"./index-DWEeyCDR.js";import"./index-BL6dsbzE.js";import"./index.vue_vue_type_script_setup_true_lang-EJPdzUeK.js";import"./index-C5CUkFFb.js";import"./index-8GEGc2Yz.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-DA0zt1Rz.js";import"./index.vue_vue_type_script_setup_true_lang-Lcfr_gGB.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-DVfXtsgC.js";import"./RecordingPlaybackBlock-CUlY7YyE.js";import"./RecordingVideoPlayer-D1_T25z0.js";import"./im-business-message-parse-QKjFLn3X.js";import"./doctor-CwO7n1kw.js";import"./PrescriptionOrderDetailDrawer-BL7WuF4P.js";import"./prescription-order-utils-JfPHOgCe.js";const pt={class:"readonly-page"},vt={class:"readonly-hero"},yt={class:"hero-left"},_t={key:0,class:"hero-right"},gt={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)),_=f(!1),g=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){g.value="诊单 id 缺失",d.value=null,v.value=[];return}_.value=!0,g.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){g.value=(t==null?void 0:t.message)||"",d.value=null,v.value=[]}finally{_.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",yt,[y(z,{link:"",size:"default",onClick:O,class:"back-btn"},{default:b(()=>[y(T,null,{default:b(()=>[y(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",_t,[i("span",gt,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)]),!_.value&&!d.value?(o(),a(c,{key:0,description:g.value||"诊单不存在或无权访问",class:"empty-state"},null,8,["description"])):d.value?(o(),n(A,{key:1},[y(Z,{apt:x.value,diag:r.value},null,8,["apt","diag"]),y(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,[y(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,_.value]])}}}),ao=ut(Vt,[["__scopeId","data-v-d5db5705"]]);export{ao as default};
|