WXL
3 天以前 4d9da000fbe74d344e0e4580b138e79d4ad98ede
1
import{_ as a,r as e,J as l,y as s,D as t,z as u,A as c,c as o,w as d,i,W as n,a as f,e as r,b as _,t as v,B as p,f as b,h as m,F as g,d as y,p as h,M as k,n as w,m as S,k as T,x}from"./index-Bf8mw6fQ.js";import{u as C}from"./dict.CvR3iV48.js";const I=a({__name:"CaseInfo",setup(a){const I=e({}),N=e({}),j=e(!1),D=e("basic"),$=e(null),B=e([{id:"basic",label:"基本信息"},{id:"medical",label:"医疗信息"},{id:"contact",label:"联系信息"},{id:"transport",label:"转运信息"}]),U=l(()=>N.value.serviceTransport);l(()=>"1"===N.value.reportStatus||"2"===N.value.reportStatus||"4"===N.value.reportStatus),s(async a=>{a.id&&($.value=a.id,I.value=await C("sys_user_sex","sys_BloodType","sys_IDType","sys_AgeUnit"),await L(a.id))});const L=async a=>{j.value=!0;try{const e=await uni.$uapi.get(`/project/donatebaseinforeport/getInfo/${a}`);if(!e.data)throw new Error(e.msg||"数据加载失败");N.value=e.data}catch(e){console.error("加载案例详情失败:",e),t({title:"数据加载失败,请重试",icon:"none"})}finally{j.value=!1}},P=a=>({1:"已上报",2:"已阅读",3:"已同意",4:"已驳回"}[a]||"已上报"),z=a=>{if(!I.value.sys_user_sex)return a;const e=I.value.sys_user_sex.find(e=>e.dictValue===a);return e?e.dictLabel:a},A=a=>{if(!I.value.sys_BloodType)return a;const e=I.value.sys_BloodType.find(e=>e.dictValue===a);return e?e.dictLabel:a},F=a=>{if(!a)return"";return{year:"岁",month:"个月",day:"天"}[a]||a},O=()=>{const{registerprovincename:a,registercityname:e,registertownname:l,registercommunityname:s,registeraddress:t}=N.value;return[a,e,l,s,t].filter(a=>a).join("")},V=()=>{const{residenceprovincename:a,residencecountyname:e,residencetownname:l,residencecommunityname:s,residenceaddress:t}=N.value;return[a,e,l,s,t].filter(a=>a).join("")},E=a=>({1:"待转运",2:"转运中",3:"转运完成",4:"转运取消",5:"暂存"}[a]||"未知"),G=a=>a?a.replace("T"," ").substring(0,16):"",H=()=>{k()},J=()=>{w({url:`/pages/case/CaseDetails?id=${$.value}&edit=true`})},M=()=>{"3"===N.value.reportStatus?w({url:`/pages/transport/create?caseId=${$.value}&caseNo=${N.value.caseNo}`}):t({title:"案例需先审批同意",icon:"none"})},R=()=>{if(U.value&&N.value.serviceTransport[0]){const a=N.value.serviceTransport[0];w({url:`/pages/transport/detail?id=${a.id}`})}};return(a,e)=>{const l=S,s=T,t=i,k=x,w=u(c("u-loading-icon"),n);return f(),o(t,{class:"case-detail"},{default:d(()=>[r(t,{class:"header-card"},{default:d(()=>[r(t,{class:"case-header"},{default:d(()=>{return[r(t,{class:"hospital-info"},{default:d(()=>[r(l,{src:N.value.hospitalLogo,mode:"aspectFit",class:"hospital-logo"},null,8,["src"]),r(t,{class:"hospital-details"},{default:d(()=>[r(s,{class:"hospital-name"},{default:d(()=>[_(v(N.value.treatmenthospitalname||"未填写治疗医院"),1)]),_:1}),r(s,{class:"case-type"},{default:d(()=>[_(v(N.value.donorNo?"器官捐献案例":"案例详情"),1)]),_:1})]),_:1})]),_:1}),r(t,{class:p(["case-status",(a=N.value.reportStatus,{1:"reported",2:"read",3:"agreed",4:"rejected"}[a]||"reported")])},{default:d(()=>[_(v(P(N.value.reportStatus)),1)]),_:1},8,["class"])];var a}),_:1}),r(t,{class:"case-basic-info"},{default:d(()=>[r(t,{class:"info-row"},{default:d(()=>[r(t,{class:"info-item"},{default:d(()=>[r(s,{class:"label"},{default:d(()=>[_("案例编号")]),_:1}),r(s,{class:"value"},{default:d(()=>[_(v(N.value.caseNo||"未生成"),1)]),_:1})]),_:1}),r(t,{class:"info-item"},{default:d(()=>[r(s,{class:"label"},{default:d(()=>[_("上报时间")]),_:1}),r(s,{class:"value"},{default:d(()=>[_(v(G(N.value.reporttime)),1)]),_:1})]),_:1})]),_:1})]),_:1})]),_:1}),r(t,{class:"tab-navigation"},{default:d(()=>[(f(!0),b(g,null,m(B.value,a=>(f(),o(s,{key:a.id,class:p([{active:D.value===a.id},"tab-item"]),onClick:e=>{return l=a.id,void(D.value=l);var l}},{default:d(()=>[_(v(a.label),1)]),_:2},1032,["class","onClick"]))),128))]),_:1}),"basic"===D.value?(f(),o(t,{key:0,class:"info-section fade-in-up"},{default:d(()=>[r(t,{class:"section-card"},{default:d(()=>[r(t,{class:"section-header"},{default:d(()=>[r(s,{class:"section-title"},{default:d(()=>[_("捐献者基本信息")]),_:1})]),_:1}),r(t,{class:"info-grid"},{default:d(()=>[r(t,{class:"info-item"},{default:d(()=>[r(s,{class:"label"},{default:d(()=>[_("姓名")]),_:1}),r(s,{class:"value"},{default:d(()=>[_(v(N.value.name||"未填写"),1)]),_:1})]),_:1}),r(t,{class:"info-item"},{default:d(()=>[r(s,{class:"label"},{default:d(()=>[_("性别")]),_:1}),r(s,{class:"value"},{default:d(()=>[_(v(z(N.value.sex)),1)]),_:1})]),_:1}),r(t,{class:"info-item"},{default:d(()=>[r(s,{class:"label"},{default:d(()=>[_("年龄")]),_:1}),r(s,{class:"value"},{default:d(()=>[_(v(N.value.age||"0")+" "+v(F(N.value.ageunit)),1)]),_:1})]),_:1}),r(t,{class:"info-item"},{default:d(()=>[r(s,{class:"label"},{default:d(()=>[_("证件号码")]),_:1}),r(s,{class:"value"},{default:d(()=>[_(v(N.value.idcardno||"未填写"),1)]),_:1})]),_:1}),r(t,{class:"info-item"},{default:d(()=>[r(s,{class:"label"},{default:d(()=>[_("血型")]),_:1}),r(s,{class:"value"},{default:d(()=>[_(v(A(N.value.bloodType)),1)]),_:1})]),_:1}),r(t,{class:"info-item"},{default:d(()=>[r(s,{class:"label"},{default:d(()=>[_("民族")]),_:1}),r(s,{class:"value"},{default:d(()=>[_(v(N.value.nation||"未填写"),1)]),_:1})]),_:1}),r(t,{class:"info-item"},{default:d(()=>[r(s,{class:"label"},{default:d(()=>[_("国籍")]),_:1}),r(s,{class:"value"},{default:d(()=>[_(v(N.value.nationality||"未填写"),1)]),_:1})]),_:1}),r(t,{class:"info-item"},{default:d(()=>[r(s,{class:"label"},{default:d(()=>[_("籍贯")]),_:1}),r(s,{class:"value"},{default:d(()=>[_(v(N.value.nativeplace||"未填写"),1)]),_:1})]),_:1}),r(t,{class:"info-item"},{default:d(()=>[r(s,{class:"label"},{default:d(()=>[_("学历")]),_:1}),r(s,{class:"value"},{default:d(()=>[_(v(N.value.education||"未填写"),1)]),_:1})]),_:1}),r(t,{class:"info-item"},{default:d(()=>[r(s,{class:"label"},{default:d(()=>[_("职业")]),_:1}),r(s,{class:"value"},{default:d(()=>[_(v(N.value.occupation||"未填写"),1)]),_:1})]),_:1}),r(t,{class:"info-item full-width"},{default:d(()=>[r(s,{class:"label"},{default:d(()=>[_("户籍地址")]),_:1}),r(s,{class:"value"},{default:d(()=>[_(v(O()||"未填写"),1)]),_:1})]),_:1}),r(t,{class:"info-item full-width"},{default:d(()=>[r(s,{class:"label"},{default:d(()=>[_("现住地址")]),_:1}),r(s,{class:"value"},{default:d(()=>[_(v(V()||"未填写"),1)]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})):y("",!0),"medical"===D.value?(f(),o(t,{key:1,class:"info-section fade-in-up"},{default:d(()=>[r(t,{class:"section-card"},{default:d(()=>[r(t,{class:"section-header"},{default:d(()=>[r(s,{class:"section-title"},{default:d(()=>[_("医疗信息")]),_:1})]),_:1}),r(t,{class:"info-content"},{default:d(()=>[r(t,{class:"info-group"},{default:d(()=>[r(s,{class:"group-title"},{default:d(()=>[_("疾病诊断")]),_:1}),r(s,{class:"group-content"},{default:d(()=>[_(v(N.value.diagnosisname||"未填写"),1)]),_:1})]),_:1}),r(t,{class:"info-group"},{default:d(()=>[r(s,{class:"group-title"},{default:d(()=>[_("病情概况")]),_:1}),r(s,{class:"group-content"},{default:d(()=>[_(v(N.value.illnessoverview||"未填写"),1)]),_:1})]),_:1}),r(t,{class:"info-group"},{default:d(()=>[r(s,{class:"group-title"},{default:d(()=>[_("病人状况")]),_:1}),r(s,{class:"group-content"},{default:d(()=>[_(v(N.value.patientstate||"未填写"),1)]),_:1})]),_:1}),r(t,{class:"info-group"},{default:d(()=>[r(s,{class:"group-title"},{default:d(()=>[_("住院号")]),_:1}),r(s,{class:"group-content"},{default:d(()=>[_(v(N.value.inpatientno||"未填写"),1)]),_:1})]),_:1}),r(t,{class:"info-group"},{default:d(()=>[r(s,{class:"group-title"},{default:d(()=>[_("GCS评分")]),_:1}),r(s,{class:"group-content"},{default:d(()=>[_(v(N.value.gcsScore||"未评估"),1)]),_:1})]),_:1}),r(t,{class:"info-group"},{default:d(()=>[r(s,{class:"group-title"},{default:d(()=>[_("传染病情况")]),_:1}),r(s,{class:"group-content"},{default:d(()=>[_(v(N.value.infectious||"无")+v(N.value.infectiousOther?`(${N.value.infectiousOther})`:""),1)]),_:1})]),_:1}),r(t,{class:"info-group"},{default:d(()=>[r(s,{class:"group-title"},{default:d(()=>[_("Rh阴性")]),_:1}),r(s,{class:"group-content"},{default:d(()=>[_(v("1"===N.value.rhYin?"是":"否"),1)]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})):y("",!0),"contact"===D.value?(f(),o(t,{key:2,class:"info-section fade-in-up"},{default:d(()=>[r(t,{class:"section-card"},{default:d(()=>[r(t,{class:"section-header"},{default:d(()=>[r(s,{class:"section-title"},{default:d(()=>[_("医院与联系信息")]),_:1})]),_:1}),r(t,{class:"info-grid"},{default:d(()=>[r(t,{class:"info-item full-width"},{default:d(()=>[r(s,{class:"label"},{default:d(()=>[_("治疗医院")]),_:1}),r(s,{class:"value"},{default:d(()=>[_(v(N.value.treatmenthospitalname||"未填写"),1)]),_:1})]),_:1}),r(t,{class:"info-item"},{default:d(()=>[r(s,{class:"label"},{default:d(()=>[_("治疗科室")]),_:1}),r(s,{class:"value"},{default:d(()=>[_(v(N.value.treatmentdeptname||"未填写"),1)]),_:1})]),_:1}),r(t,{class:"info-item"},{default:d(()=>[r(s,{class:"label"},{default:d(()=>[_("上报医院")]),_:1}),r(s,{class:"value"},{default:d(()=>[_(v(N.value.toHospital||"未填写"),1)]),_:1})]),_:1}),r(t,{class:"info-item full-width"},{default:d(()=>[r(s,{class:"label"},{default:d(()=>[_("联系电话")]),_:1}),r(s,{class:"value"},{default:d(()=>[_(v(N.value.phone||"未填写"),1)]),_:1})]),_:1}),r(t,{class:"info-item"},{default:d(()=>[r(s,{class:"label"},{default:d(()=>[_("信息员")]),_:1}),r(s,{class:"value"},{default:d(()=>[_(v(N.value.infoName||"未填写"),1)]),_:1})]),_:1}),r(t,{class:"info-item"},{default:d(()=>[r(s,{class:"label"},{default:d(()=>[_("信息员编号")]),_:1}),r(s,{class:"value"},{default:d(()=>[_(v(N.value.infoNo||"未填写"),1)]),_:1})]),_:1}),r(t,{class:"info-item"},{default:d(()=>[r(s,{class:"label"},{default:d(()=>[_("ICU评估医生")]),_:1}),r(s,{class:"value"},{default:d(()=>[_(v(N.value.icuDoctor||"未填写"),1)]),_:1})]),_:1}),r(t,{class:"info-item"},{default:d(()=>[r(s,{class:"label"},{default:d(()=>[_("ICU医生电话")]),_:1}),r(s,{class:"value"},{default:d(()=>[_(v(N.value.icuDoctorPhone||"未填写"),1)]),_:1})]),_:1}),r(t,{class:"info-item"},{default:d(()=>[r(s,{class:"label"},{default:d(()=>[_("协调员")]),_:1}),r(s,{class:"value"},{default:d(()=>[_(v(N.value.coordinatorName||"未填写"),1)]),_:1})]),_:1}),r(t,{class:"info-item"},{default:d(()=>[r(s,{class:"label"},{default:d(()=>[_("协调员编号")]),_:1}),r(s,{class:"value"},{default:d(()=>[_(v(N.value.coordinatorNo||"未填写"),1)]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})):y("",!0),"transport"===D.value?(f(),o(t,{key:3,class:"info-section fade-in-up"},{default:d(()=>[r(t,{class:"section-card"},{default:d(()=>[r(t,{class:"section-header"},{default:d(()=>[r(t,{style:{display:"flex","justify-content":"space-between","align-items":"center"}},{default:d(()=>[r(s,{class:"section-title"},{default:d(()=>[_("转运信息")]),_:1}),"3"===N.value.reportStatus?(f(),o(t,{key:0,style:{display:"flex",gap:"20rpx"}},{default:d(()=>["2"!==N.value.isTransport||U.value?y("",!0):(f(),o(k,{key:0,class:"small-btn primary",onClick:h(M,["stop"])},{default:d(()=>[_(" 创建转运单 ")]),_:1})),U.value?(f(),o(k,{key:1,class:"small-btn secondary",onClick:h(R,["stop"])},{default:d(()=>[_(" 查看转运单 ")]),_:1})):y("",!0)]),_:1})):y("",!0)]),_:1})]),_:1}),r(t,{class:"info-content"},{default:d(()=>[r(t,{class:"info-group"},{default:d(()=>[r(s,{class:"group-title"},{default:d(()=>[_("是否需要转运")]),_:1}),r(s,{class:"group-content"},{default:d(()=>[_(v("2"===N.value.isTransport?"需要":"不需要"),1)]),_:1})]),_:1}),U.value&&N.value.serviceTransport?(f(),o(t,{key:0,class:"transport-info"},{default:d(()=>[(f(!0),b(g,null,m(N.value.serviceTransport,a=>(f(),o(t,{class:"info-group",key:a.id},{default:d(()=>[r(t,{class:"sub-group"},{default:d(()=>[r(s,{class:"sub-label"},{default:d(()=>[_("转运单号:")]),_:1}),r(s,{class:"sub-value"},{default:d(()=>[_(v(a.reportId||a.id),1)]),_:2},1024)]),_:2},1024),r(t,{class:"sub-group"},{default:d(()=>[r(s,{class:"sub-label"},{default:d(()=>[_("出发地点:")]),_:1}),r(s,{class:"sub-value"},{default:d(()=>[_(v(a.transportStartPlace),1)]),_:2},1024)]),_:2},1024),r(t,{class:"sub-group"},{default:d(()=>[r(s,{class:"sub-label"},{default:d(()=>[_("出发时间:")]),_:1}),r(s,{class:"sub-value"},{default:d(()=>[_(v(G(a.transportStartTime)),1)]),_:2},1024)]),_:2},1024),r(t,{class:"sub-group"},{default:d(()=>[r(s,{class:"sub-label"},{default:d(()=>[_("负责协调员:")]),_:1}),r(s,{class:"sub-value"},{default:d(()=>[_(v(a.contactPerson),1)]),_:2},1024)]),_:2},1024),r(t,{class:"sub-group"},{default:d(()=>{return[r(s,{class:"sub-label"},{default:d(()=>[_("转运状态:")]),_:1}),r(s,{class:p(["sub-value status",(e=a.transitStatus,{1:"pending",2:"transporting",3:"completed",4:"cancelled",5:"draft"}[e]||"pending")])},{default:d(()=>[_(v(E(a.transitStatus)),1)]),_:2},1032,["class"])];var e}),_:2},1024),a.doctor?(f(),o(t,{key:0,class:"sub-group"},{default:d(()=>[r(s,{class:"sub-label"},{default:d(()=>[_("急诊科医生:")]),_:1}),r(s,{class:"sub-value"},{default:d(()=>[_(v(a.doctor),1)]),_:2},1024)]),_:2},1024)):y("",!0),a.nurse?(f(),o(t,{key:1,class:"sub-group"},{default:d(()=>[r(s,{class:"sub-label"},{default:d(()=>[_("护士:")]),_:1}),r(s,{class:"sub-value"},{default:d(()=>[_(v(a.nurse),1)]),_:2},1024)]),_:2},1024)):y("",!0),a.driver?(f(),o(t,{key:2,class:"sub-group"},{default:d(()=>[r(s,{class:"sub-label"},{default:d(()=>[_("驾驶员:")]),_:1}),r(s,{class:"sub-value"},{default:d(()=>[_(v(a.driver),1)]),_:2},1024)]),_:2},1024)):y("",!0),a.icuDoctor?(f(),o(t,{key:3,class:"sub-group"},{default:d(()=>[r(s,{class:"sub-label"},{default:d(()=>[_("ICU评估医生:")]),_:1}),r(s,{class:"sub-value"},{default:d(()=>[_(v(a.icuDoctor),1)]),_:2},1024)]),_:2},1024)):y("",!0)]),_:2},1024))),128))]),_:1})):"2"===N.value.isTransport?(f(),o(t,{key:1,class:"transport-info"},{default:d(()=>[r(t,{class:"empty-transport"},{default:d(()=>[r(s,null,{default:d(()=>[_("该案例需要转运,但尚未创建转运单")]),_:1}),"3"!==N.value.reportStatus?(f(),o(s,{key:0,style:{color:"#f0ad4e","font-size":"24rpx","margin-top":"10rpx"}},{default:d(()=>[_(" 需先审批同意才能创建转运单 ")]),_:1})):y("",!0)]),_:1})]),_:1})):(f(),o(t,{key:2,class:"transport-info"},{default:d(()=>[r(t,{class:"empty-transport"},{default:d(()=>[r(s,null,{default:d(()=>[_("该案例无需转运")]),_:1})]),_:1})]),_:1}))]),_:1})]),_:1})]),_:1})):y("",!0),r(t,{class:"action-bar"},{default:d(()=>[r(k,{class:"action-btn secondary",onClick:H},{default:d(()=>[_("返回")]),_:1}),"1"===N.value.reportStatus||"2"===N.value.reportStatus?(f(),o(k,{key:0,class:"action-btn primary",onClick:J},{default:d(()=>[_(" 编辑案例 ")]),_:1})):y("",!0)]),_:1}),j.value?(f(),o(w,{key:4,show:j.value,text:"加载中..."},null,8,["show"])):y("",!0)]),_:1})}}},[["__scopeId","data-v-67603a73"]]);export{I as default};