import{_ as a,r as e,y as l,R as t,T as s,U as o,V as r,D as u,J as d,z as n,A as c,f as i,e as f,w as v,F as p,n as _,i as m,W as y,X as g,Y as b,a as T,b as k,t as h,h as C,c as w,d as N,k as S,Z as x,m as $,x as D,S as j,B as I,p as P}from"./index-Bf8mw6fQ.js";import{u as L}from"./dict.CvR3iV48.js";const z=a({__name:"index",setup(a){const z=e({}),B=e(!1),E=e(!1),F=e(!1),O=e([]),R=e(0),U=e(1),V=e(10),A=e(!0),J=e(!1),W=e({totalCases:0,readCases:0,agreedCases:0}),X=e(!1),Y=e({}),Z=a=>a.serviceTransport&&a.serviceTransport.length>0,q=()=>{_({url:"/pages/case/CaseDetails"})},G=a=>{if(Z(a)){const e=a.serviceTransport[0];return e.reportId||e.id||""}return""},H=a=>Z(a)?a.serviceTransport[0].transportStartTime:"",K=a=>Z(a)?a.serviceTransport[0].transportStartPlace:"",M=a=>Z(a)?a.serviceTransport[0].contactPerson:"",Q=a=>Z(a)?a.serviceTransport[0].transitStatus:null,aa=a=>{if(!Z(a))return"需转运";return{1:"待转运",2:"转运中",3:"已完成",4:"已取消",5:"暂存"}[Q(a)]||"未知"},ea=a=>{if(!Z(a))return"not-transported";return{1:"pending",2:"transporting",3:"completed",4:"cancelled",5:"draft"}[Q(a)]||"pending"},la=[{label:"全部",value:"all"},{label:"已上报",value:"1"},{label:"已阅读",value:"2"},{label:"已同意",value:"3"},{label:"已驳回",value:"4"}],ta=e("all"),sa=e(""),oa=e("");l(async a=>{z.value=await L("sys_IDType","sys_user_sex","sys_BloodType","sys_DiseaseType"),await ra()}),t(()=>{!A.value||B.value||F.value||va()}),s(()=>{const a=o("transportStatusUpdate");a&&(pa(a.orderNo,a.status),r("transportStatusUpdate"))});const ra=async()=>{E.value=!0;try{await Promise.all([ua(!0),da()])}catch(a){console.error("初始化数据失败:",a)}finally{E.value=!1}},ua=async(a=!1)=>{if(a&&(U.value=1,A.value=!0),!B.value&&!F.value&&A.value){a?B.value=!0:F.value=!0;try{const e={pageNum:U.value,pageSize:V.value};"all"!==ta.value&&(e.reportStatus=ta.value),sa.value&&oa.value&&(e.startDate=sa.value,e.endDate=oa.value),console.log("请求参数:",e);const l=await uni.$uapi.post("/project/donatebaseinforeport/list",e);if(console.log("接口返回数据:",l),200!=l.code)throw new Error(l.msg||"加载失败");{const e=l.data||[],t=e.map(a=>(a=>{var e,l,t,s;const o={1:{status:"1",statusText:"已上报"},2:{status:"2",statusText:"已阅读"},3:{status:"3",statusText:"已同意"},4:{status:"4",statusText:"已驳回"}},r=o[a.reportStatus]||o[1];return{id:a.id||a.donatebaseinfoReportId,donorNo:a.caseNo,reportStatus:a.reportStatus,hospitalName:a.treatmenthospitalname,hospitalLogo:"/static/hospital/default.jpg",caseType:"器官捐献案例",donorName:a.name,idCardNo:a.idcardno,gender:(null==(l=null==(e=z.value.sys_user_sex)?void 0:e.find(e=>e.dictValue==a.sex))?void 0:l.dictLabel)||a.sex,age:a.age,ageunit:a.ageunit,bloodType:(null==(s=null==(t=z.value.sys_BloodType)?void 0:t.find(e=>e.dictValue==a.bloodType))?void 0:s.dictLabel)||a.bloodType,diagnosis:a.diagnosisname,illnessoverview:a.illnessoverview,patientstate:a.patientstate,gcsScore:a.gcsScore,infectious:a.infectious,infectiousOther:a.infectiousOther,isTransport:a.isTransport,education:a.education,occupation:a.occupation,nativeplace:a.nativeplace,nation:a.nation,nationality:a.nationality,birthday:a.birthday,idcardtype:a.idcardtype,phone:a.phone,departmentName:a.treatmentdeptname,contactPerson:a.coordinatorName||a.infoName,contactPhone:a.coordinatorNo||a.phone,reportTime:a.reporttime,reporterName:a.reportername||a.infoName,reviewTime:a.approvetime,reviewerName:a.approvername,...r,serviceTransport:a.serviceTransport||[],remark:a.remark}})(a));a||1==U.value?(console.log(t,"mappedData"),O.value=t):O.value=[...O.value,...t],A.value=e.length>=V.value,R.value=l.total||0,e.length>0&&U.value++}}catch(e){console.error("获取案例列表失败:",e),u({title:"网络请求失败",icon:"none"})}finally{B.value=!1,F.value=!1}}},da=async()=>{try{const a=await uni.$uapi.post("/project/donatebaseinforeport/getTotal");if(200!==a.code)throw new Error(a.msg||"获取统计失败");W.value={totalCases:a.data.all||0,readCases:a.data[2]||0,agreedCases:a.data[3]||0}}catch(a){console.error("获取统计数据失败:",a)}},na=d(()=>{let a=O.value;return console.log(a,"result"),a}),ca=a=>{sa.value=a.detail.value,oa.value&&(U.value=1,ua(!0))},ia=a=>{oa.value=a.detail.value,sa.value&&(U.value=1,ua(!0))},fa=async()=>{J.value=!0,U.value=1,await ua(!0),await da(),setTimeout(()=>{J.value=!1},1e3)},va=async()=>{!A.value||B.value||F.value||await ua()},pa=(a,e)=>{const l=O.value.find(e=>e.transportOrderNo==a);l&&(l.transportStatus=e)},_a=async()=>{try{const a=await uni.$uapi.delete(`/project/donatebaseinforeport/${Y.value.id}`);if(200!==a.code)throw new Error(a.msg||"撤回失败");{const a=O.value.findIndex(a=>a.id==Y.value.id);-1!==a&&(O.value.splice(a,1),W.value.totalCases-=1),u({title:"撤回成功",icon:"success"})}}catch(a){console.error("撤回失败:",a),u({title:"撤回失败,请重试",icon:"none"})}finally{X.value=!1}},ma=()=>{X.value=!1};return(a,e)=>{const l=S,t=m,s=x,o=$,r=D,u=n(c("u-loading-icon"),y),d=j,L=n(c("u-loading-page"),g),z=n(c("u-icon"),b);return T(),i(p,null,[f(t,{class:"case-record"},{default:v(()=>[f(t,{class:"stats-card"},{default:v(()=>[f(t,{class:"stat-item"},{default:v(()=>[f(l,{class:"count"},{default:v(()=>[k(h(W.value.totalCases),1)]),_:1}),f(l,{class:"label"},{default:v(()=>[k("总上报量")]),_:1})]),_:1}),f(t,{class:"divider"}),f(t,{class:"stat-item"},{default:v(()=>[f(l,{class:"count"},{default:v(()=>[k(h(W.value.readCases),1)]),_:1}),f(l,{class:"label"},{default:v(()=>[k("已阅读")]),_:1})]),_:1}),f(t,{class:"divider"}),f(t,{class:"stat-item"},{default:v(()=>[f(l,{class:"count"},{default:v(()=>[k(h(W.value.agreedCases),1)]),_:1}),f(l,{class:"label"},{default:v(()=>[k("已同意")]),_:1})]),_:1})]),_:1}),f(t,{class:"filter-bar"},{default:v(()=>[f(t,{class:"type-filter"},{default:v(()=>[(T(),i(p,null,C(la,(a,e)=>f(l,{key:e,class:I({active:ta.value==a.value}),onClick:e=>(a=>{ta.value=a,U.value=1,ua(!0)})(a.value)},{default:v(()=>[k(h(a.label),1)]),_:2},1032,["class","onClick"])),64))]),_:1}),f(t,{class:"date-filter"},{default:v(()=>[f(s,{mode:"date",value:sa.value,end:oa.value,onChange:ca},{default:v(()=>[f(l,null,{default:v(()=>[k(h(sa.value||"开始日期"),1)]),_:1})]),_:1},8,["value","end"]),f(l,{class:"separator"},{default:v(()=>[k("至")]),_:1}),f(s,{mode:"date",value:oa.value,start:sa.value,onChange:ia},{default:v(()=>[f(l,null,{default:v(()=>[k(h(oa.value||"结束日期"),1)]),_:1})]),_:1},8,["value","start"])]),_:1})]),_:1}),f(d,{"scroll-y":"",class:"case-list","refresher-enabled":"","refresher-triggered":J.value,onRefresherrefresh:fa,onScrolltolower:va},{default:v(()=>[(T(!0),i(p,null,C(na.value,(a,e)=>(T(),w(t,{class:"case-item card",key:e,onClick:e=>(a=>{_({url:`/pages/case/detail?id=${a.id}`})})(a)},{default:v(()=>[f(t,{class:"header"},{default:v(()=>{return[f(t,{class:"hospital-info"},{default:v(()=>[f(o,{src:a.hospitalLogo,mode:"aspectFit",class:"logo"},null,8,["src"]),f(t,{class:"info"},{default:v(()=>[f(l,{class:"name"},{default:v(()=>[k(h(a.hospitalName),1)]),_:2},1024),f(l,{class:"type"},{default:v(()=>[k(h(a.caseType),1)]),_:2},1024)]),_:2},1024)]),_:2},1024),f(l,{class:I(["status",(e=a.reportStatus,{1:"reported",2:"read",3:"agreed",4:"rejected"}[e]||"reported")])},{default:v(()=>[k(h(a.statusText),1)]),_:2},1032,["class"])];var e}),_:2},1024),f(t,{class:"detail-info"},{default:v(()=>[f(t,{class:"info-item"},{default:v(()=>[f(l,{class:"label"},{default:v(()=>[k("捐献编号")]),_:1}),f(l,{class:"value"},{default:v(()=>[k(h(a.donorNo),1)]),_:2},1024)]),_:2},1024),f(t,{class:"info-item"},{default:v(()=>[f(l,{class:"label"},{default:v(()=>[k("捐献者姓名")]),_:1}),f(l,{class:"value"},{default:v(()=>[k(h(a.donorName),1)]),_:2},1024)]),_:2},1024),f(t,{class:"info-item"},{default:v(()=>[f(l,{class:"label"},{default:v(()=>[k("证件号码")]),_:1}),f(l,{class:"value"},{default:v(()=>[k(h(a.idCardNo),1)]),_:2},1024)]),_:2},1024),f(t,{class:"info-item"},{default:v(()=>[f(l,{class:"label"},{default:v(()=>[k("性别/年龄")]),_:1}),f(l,{class:"value"},{default:v(()=>[k(h(a.gender)+" / "+h(a.age)+"岁",1)]),_:2},1024)]),_:2},1024),f(t,{class:"info-item"},{default:v(()=>[f(l,{class:"label"},{default:v(()=>[k("血型")]),_:1}),f(l,{class:"value"},{default:v(()=>[k(h(a.bloodType),1)]),_:2},1024)]),_:2},1024),f(t,{class:"info-item"},{default:v(()=>[f(l,{class:"label"},{default:v(()=>[k("疾病诊断")]),_:1}),f(l,{class:"value"},{default:v(()=>[k(h(a.diagnosis),1)]),_:2},1024)]),_:2},1024),a.phone?(T(),w(t,{key:0,class:"info-item"},{default:v(()=>[f(l,{class:"label"},{default:v(()=>[k("联系电话")]),_:1}),f(l,{class:"value"},{default:v(()=>[k(h(a.phone),1)]),_:2},1024)]),_:2},1024)):N("",!0),f(t,{class:"info-item"},{default:v(()=>[f(l,{class:"label"},{default:v(()=>[k("上报时间")]),_:1}),f(l,{class:"value"},{default:v(()=>[k(h(a.reportTime),1)]),_:2},1024)]),_:2},1024),a.reviewTime?(T(),w(t,{key:1,class:"info-item"},{default:v(()=>[f(l,{class:"label"},{default:v(()=>[k("审核时间")]),_:1}),f(l,{class:"value"},{default:v(()=>[k(h(a.reviewTime),1)]),_:2},1024)]),_:2},1024)):N("",!0),a.reviewerName?(T(),w(t,{key:2,class:"info-item"},{default:v(()=>[f(l,{class:"label"},{default:v(()=>[k("审核人")]),_:1}),f(l,{class:"value"},{default:v(()=>[k(h(a.reviewerName),1)]),_:2},1024)]),_:2},1024)):N("",!0)]),_:2},1024),"2"==a.isTransport||2==a.isTransport?(T(),w(t,{key:0,class:"transport-section"},{default:v(()=>[f(t,{class:"transport-info"},{default:v(()=>[f(l,{class:"label"},{default:v(()=>[k("转运状态")]),_:1}),f(l,{class:I(["transport-status",ea(a)])},{default:v(()=>[k(h(aa(a)),1)]),_:2},1032,["class"])]),_:2},1024),Z(a)?(T(),w(t,{key:0,class:"transport-details"},{default:v(()=>[f(t,{class:"detail-item"},{default:v(()=>[f(l,{class:"detail-label"},{default:v(()=>[k("转运单号")]),_:1}),f(l,{class:"detail-value"},{default:v(()=>[k(h(G(a)),1)]),_:2},1024)]),_:2},1024),H(a)?(T(),w(t,{key:0,class:"detail-item"},{default:v(()=>[f(l,{class:"detail-label"},{default:v(()=>[k("计划转运时间")]),_:1}),f(l,{class:"detail-value"},{default:v(()=>[k(h(H(a)),1)]),_:2},1024)]),_:2},1024)):N("",!0),K(a)?(T(),w(t,{key:1,class:"detail-item"},{default:v(()=>[f(l,{class:"detail-label"},{default:v(()=>[k("出发地点")]),_:1}),f(l,{class:"detail-value"},{default:v(()=>[k(h(K(a)),1)]),_:2},1024)]),_:2},1024)):N("",!0),M(a)?(T(),w(t,{key:2,class:"detail-item"},{default:v(()=>[f(l,{class:"detail-label"},{default:v(()=>[k("协调员")]),_:1}),f(l,{class:"detail-value"},{default:v(()=>[k(h(M(a)),1)]),_:2},1024)]),_:2},1024)):N("",!0),2==Q(a)?(T(),w(t,{key:3,class:"detail-item"},{default:v(()=>[f(l,{class:"detail-label"},{default:v(()=>[k("转运状态")]),_:1}),f(l,{class:"detail-value"},{default:v(()=>[k("转运中")]),_:1})]),_:1})):N("",!0),3==Q(a)?(T(),w(t,{key:4,class:"detail-item"},{default:v(()=>[f(l,{class:"detail-label"},{default:v(()=>[k("转运状态")]),_:1}),f(l,{class:"detail-value"},{default:v(()=>[k("已完成")]),_:1})]),_:1})):N("",!0)]),_:2},1024)):N("",!0),f(t,{class:"transport-actions"},{default:v(()=>{return[(e=a,"2"!=e.isTransport&&2!=e.isTransport||Z(e)?N("",!0):(T(),w(r,{key:0,class:"transport-btn primary",onClick:P(e=>(a=>{_({url:`/pages/case/transferinfo?caseId=${a.id}&caseNo=${a.donorNo}`})})(a),["stop"])},{default:v(()=>[k(" 创建转运单 ")]),_:2},1032,["onClick"]))),Z(a)?(T(),w(r,{key:1,class:"transport-btn secondary",onClick:P(e=>(a=>{if(Z(a)){const e=a.serviceTransport[0];_({url:`/pages/case/transferinfo?id=${e.id}`})}})(a),["stop"])},{default:v(()=>[k(" 查看转运单 ")]),_:2},1032,["onClick"])):N("",!0)];var e}),_:2},1024)]),_:2},1024)):"3"==a.reportStatus?(T(),w(t,{key:1,class:"transport-section"},{default:v(()=>[f(t,{class:"transport-info"},{default:v(()=>[f(l,{class:"transport-note"},{default:v(()=>[k("该案例无需转运")]),_:1})]),_:1})]),_:1})):N("",!0),f(t,{class:"footer"},{default:v(()=>[f(t,{class:"action-info"},{default:v(()=>[f(l,{class:"label"},{default:v(()=>[k("案例状态")]),_:1}),f(l,{class:"case-status"},{default:v(()=>[k(h(a.statusText),1)]),_:2},1024)]),_:2},1024),f(t,{class:"actions"},{default:v(()=>[f(r,{class:"action-btn",onClick:P(e=>(a=>{_({url:`/pages/case/CaseInfo?id=${a.id}`})})(a),["stop"])},{default:v(()=>[k(" 查看详情 ")]),_:2},1032,["onClick"]),"1"==a.reportStatus||"2"==a.reportStatus?(T(),w(r,{key:0,class:"action-btn secondary",onClick:P(e=>(a=>{_({url:`/pages/case/CaseDetails?id=${a.id}&edit=true`})})(a),["stop"])},{default:v(()=>[k(" 编辑 ")]),_:2},1032,["onClick"])):N("",!0)]),_:2},1024)]),_:2},1024)]),_:2},1032,["onClick"]))),128)),F.value?(T(),w(t,{key:0,class:"load-more"},{default:v(()=>[f(u,{text:"加载中..."})]),_:1})):N("",!0),!A.value&&na.value.length>0?(T(),w(t,{key:1,class:"no-more"},{default:v(()=>[f(l,null,{default:v(()=>[k("已加载全部数据")]),_:1})]),_:1})):N("",!0),B.value||0!=na.value.length?N("",!0):(T(),w(t,{key:2,class:"empty-state"},{default:v(()=>[f(o,{src:"/static/empty/no-case.png",mode:"aspectFit"}),f(l,null,{default:v(()=>[k("暂无器官捐献案例记录")]),_:1})]),_:1}))]),_:1},8,["refresher-triggered"]),X.value?(T(),w(t,{key:0,class:"modal-mask"},{default:v(()=>[f(t,{class:"modal-content"},{default:v(()=>[f(t,{class:"modal-header"},{default:v(()=>[f(l,{class:"modal-title"},{default:v(()=>[k("确认撤回")]),_:1})]),_:1}),f(t,{class:"modal-body"},{default:v(()=>[f(l,null,{default:v(()=>[k('确定要撤回捐献案例 "'+h(Y.value.donorNo)+'" 吗?',1)]),_:1})]),_:1}),f(t,{class:"modal-footer"},{default:v(()=>[f(r,{class:"modal-btn cancel",onClick:ma},{default:v(()=>[k("取消")]),_:1}),f(r,{class:"modal-btn confirm",onClick:_a},{default:v(()=>[k(" 确认撤回 ")]),_:1})]),_:1})]),_:1})]),_:1})):N("",!0),E.value?(T(),w(L,{key:1,loading:!0,text:"数据加载中..."})):N("",!0)]),_:1}),f(t,{class:"float-button",onClick:q},{default:v(()=>[f(z,{name:"plus",color:"#fff",size:"24"})]),_:1})],64)}}},[["__scopeId","data-v-1e5316a9"]]);export{z as default};
|