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