WXL
3 天以前 2cc85c64f1c64a2dbaeae276a3e2ca8420de76b7
1
import{_ as a,r as e,y as l,J as s,c as t,w as u,i as o,a as d,e as n,b as c,t as r,f as i,h as f,F as v,d as _,D as p,k as m,V as g,x as T,m as b,S as k,B as N,p as y,n as C}from"./index-DF3kK8Jo.js";const h=a({__name:"transfer",setup(a){const h=e({totalTransports:12,pendingTransports:4,completedTransports:6});e(1),e(10);const x=e(!1),D=e({}),H=e(""),L=e("");l(async a=>{A()});const O=[{label:"全部",value:"all"},{label:"待出发",value:"pending"},{label:"转运中",value:"transporting"},{label:"已完成",value:"completed"},{label:"已取消",value:"cancelled"}],$=e("all"),I=e(""),w=e(""),F=e([{id:"T20241217001",caseNo:"DON20241216001",donorName:"张三",gender:"男",age:38,diagnosis:"脑外伤导致脑死亡",hospitalName:"青岛镜湖医院",transportTime:"2024-12-17 14:30",coordinator:"张医生",createTime:"2024-12-16 09:30",status:"pending",statusText:"待出发",departureLocation:"青岛市立医院急诊科",destinationHospital:"青岛镜湖医院"},{id:"T20241217002",caseNo:"DON20241216002",donorName:"李四",gender:"女",age:45,diagnosis:"脑梗死",hospitalName:"青岛大学附属医院",transportTime:"2024-12-17 16:00",coordinator:"李医生",createTime:"2024-12-16 11:20",status:"transporting",statusText:"转运中",departureLocation:"青岛大学附属医院ICU",destinationHospital:"青岛器官移植中心"},{id:"T20241216003",caseNo:"DON20241215001",donorName:"王五",gender:"男",age:52,diagnosis:"心脏骤停",hospitalName:"青岛市立医院",transportTime:"2024-12-16 10:15",coordinator:"王医生",createTime:"2024-12-15 14:45",status:"completed",statusText:"已完成",departureLocation:"青岛市立医院心内科",destinationHospital:"青岛器官移植中心"},{id:"T20241216004",caseNo:"DON20241214001",donorName:"赵六",gender:"女",age:29,diagnosis:"急性肝衰竭",hospitalName:"青岛科大医院",transportTime:"2024-12-16 08:30",coordinator:"赵医生",createTime:"2024-12-14 16:20",status:"cancelled",statusText:"已取消",departureLocation:"青岛科大医院消化科",destinationHospital:"青岛器官移植中心"}]),S=s(()=>{let a=F.value;return"all"!==$.value&&(a=a.filter(a=>a.status===$.value)),I.value&&w.value&&(a=a.filter(a=>{const e=a.createTime.split(" ")[0];return e>=I.value&&e<=w.value})),a}),j=e(!0),B=e(!1),J=a=>{I.value=a.detail.value},R=a=>{w.value=a.detail.value},U=()=>{const a=F.value.findIndex(a=>a.id===D.value.id);-1!==a&&("开始"===L.value?(F.value[a].status="transporting",F.value[a].statusText="转运中",h.value.pendingTransports-=1):"完成"===L.value&&(F.value[a].status="completed",F.value[a].statusText="已完成",h.value.completedTransports+=1),p({title:`${L.value}成功`,icon:"success"})),x.value=!1},V=()=>{x.value=!1},q=()=>{B.value=!0,A(),setTimeout(()=>{B.value=!1},1e3)},z=()=>{j.value&&A()},A=async()=>{setTimeout(()=>{j.value=!1},1e3)};return(a,e)=>{const l=m,s=o,p=g,F=T,A=b,E=k;return d(),t(s,{class:"transport-record"},{default:u(()=>[n(s,{class:"stats-card"},{default:u(()=>[n(s,{class:"stat-item"},{default:u(()=>[n(l,{class:"count"},{default:u(()=>[c(r(h.value.totalTransports),1)]),_:1}),n(l,{class:"label"},{default:u(()=>[c("总转运单")]),_:1})]),_:1}),n(s,{class:"divider"}),n(s,{class:"stat-item"},{default:u(()=>[n(l,{class:"count"},{default:u(()=>[c(r(h.value.pendingTransports),1)]),_:1}),n(l,{class:"label"},{default:u(()=>[c("待出发")]),_:1})]),_:1}),n(s,{class:"divider"}),n(s,{class:"stat-item"},{default:u(()=>[n(l,{class:"count"},{default:u(()=>[c(r(h.value.completedTransports),1)]),_:1}),n(l,{class:"label"},{default:u(()=>[c("已完成")]),_:1})]),_:1})]),_:1}),n(s,{class:"filter-bar"},{default:u(()=>[n(s,{class:"type-filter"},{default:u(()=>[(d(),i(v,null,f(O,(a,e)=>n(l,{key:e,class:N({active:$.value===a.value}),onClick:e=>(a=>{$.value=a})(a.value)},{default:u(()=>[c(r(a.label),1)]),_:2},1032,["class","onClick"])),64))]),_:1}),n(s,{class:"date-filter"},{default:u(()=>[n(p,{mode:"date",value:I.value,end:w.value,onChange:J},{default:u(()=>[n(l,null,{default:u(()=>[c(r(I.value||"开始日期"),1)]),_:1})]),_:1},8,["value","end"]),n(l,{class:"separator"},{default:u(()=>[c("至")]),_:1}),n(p,{mode:"date",value:w.value,start:I.value,onChange:R},{default:u(()=>[n(l,null,{default:u(()=>[c(r(w.value||"结束日期"),1)]),_:1})]),_:1},8,["value","start"])]),_:1})]),_:1}),n(E,{"scroll-y":"",class:"transport-list","refresher-enabled":"","refresher-triggered":B.value,onRefresherrefresh:q,onScrolltolower:z},{default:u(()=>[(d(!0),i(v,null,f(S.value,(a,e)=>(d(),t(s,{class:"transport-item card",key:e,onClick:e=>(a=>{C({url:`/pages/transport/detail?id=${a.id}`})})(a)},{default:u(()=>[n(s,{class:"header"},{default:u(()=>[n(s,{class:"case-info"},{default:u(()=>[n(s,{class:"info"},{default:u(()=>[n(l,{class:"case-no"},{default:u(()=>[c(r(a.caseNo),1)]),_:2},1024),n(l,{class:"patient"},{default:u(()=>[c(r(a.donorName)+" | "+r(a.gender)+" | "+r(a.age)+"岁",1)]),_:2},1024)]),_:2},1024)]),_:2},1024),n(l,{class:N(["status",a.status])},{default:u(()=>[c(r(a.statusText),1)]),_:2},1032,["class"])]),_:2},1024),n(s,{class:"detail-info"},{default:u(()=>[n(s,{class:"info-item"},{default:u(()=>[n(l,{class:"label"},{default:u(()=>[c("疾病诊断")]),_:1}),n(l,{class:"value"},{default:u(()=>[c(r(a.diagnosis),1)]),_:2},1024)]),_:2},1024),n(s,{class:"info-item"},{default:u(()=>[n(l,{class:"label"},{default:u(()=>[c("所在医疗机构")]),_:1}),n(l,{class:"value"},{default:u(()=>[c(r(a.hospitalName),1)]),_:2},1024)]),_:2},1024),n(s,{class:"info-item"},{default:u(()=>[n(l,{class:"label"},{default:u(()=>[c("计划转运时间")]),_:1}),n(l,{class:"value"},{default:u(()=>[c(r(a.transportTime),1)]),_:2},1024)]),_:2},1024),n(s,{class:"info-item"},{default:u(()=>[n(l,{class:"label"},{default:u(()=>[c("负责协调员")]),_:1}),n(l,{class:"value"},{default:u(()=>[c(r(a.coordinator),1)]),_:2},1024)]),_:2},1024),n(s,{class:"info-item"},{default:u(()=>[n(l,{class:"label"},{default:u(()=>[c("创建时间")]),_:1}),n(l,{class:"value"},{default:u(()=>[c(r(a.createTime),1)]),_:2},1024)]),_:2},1024)]),_:2},1024),n(s,{class:"footer"},{default:u(()=>[n(s,{class:"action-info"},{default:u(()=>[n(l,{class:"label"},{default:u(()=>[c("转运状态")]),_:1}),n(l,{class:"transport-status"},{default:u(()=>[c(r(a.statusText),1)]),_:2},1024)]),_:2},1024),n(s,{class:"actions"},{default:u(()=>["pending"===a.status?(d(),t(F,{key:0,class:"action-btn",onClick:y(e=>(a=>{D.value=a,H.value="开始转运",L.value="开始",x.value=!0})(a),["stop"])},{default:u(()=>[c(" 开始转运 ")]),_:2},1032,["onClick"])):_("",!0),"transporting"===a.status?(d(),t(F,{key:1,class:"action-btn",onClick:y(e=>(a=>{D.value=a,H.value="完成转运",L.value="完成",x.value=!0})(a),["stop"])},{default:u(()=>[c(" 完成转运 ")]),_:2},1032,["onClick"])):_("",!0),n(F,{class:"action-btn secondary",onClick:y(e=>(a=>{C({url:`/pages/case/transferinfo?id=${a.id}`})})(a),["stop"])},{default:u(()=>[c(" 编辑 ")]),_:2},1032,["onClick"]),n(F,{class:"action-btn secondary",onClick:y(e=>(a=>{C({url:`/pages/case/transferinfo?id=${a.id}`})})(a),["stop"])},{default:u(()=>[c(" 查看详情 ")]),_:2},1032,["onClick"])]),_:2},1024)]),_:2},1024)]),_:2},1032,["onClick"]))),128)),j.value?(d(),t(s,{key:0,class:"load-more"},{default:u(()=>[n(l,null,{default:u(()=>[c("加载中...")]),_:1})]),_:1})):_("",!0),0===S.value.length?(d(),t(s,{key:1,class:"empty-state"},{default:u(()=>[n(A,{src:"/static/empty/no-transport.png",mode:"aspectFit"}),n(l,null,{default:u(()=>[c("暂无转运单记录")]),_:1})]),_:1})):_("",!0)]),_:1},8,["refresher-triggered"]),x.value?(d(),t(s,{key:0,class:"modal-mask"},{default:u(()=>[n(s,{class:"modal-content"},{default:u(()=>[n(s,{class:"modal-header"},{default:u(()=>[n(l,{class:"modal-title"},{default:u(()=>[c(r(H.value),1)]),_:1})]),_:1}),n(s,{class:"modal-body"},{default:u(()=>[n(l,null,{default:u(()=>[c("确定要"+r(L.value)+'转运单 "'+r(D.value.caseNo)+'" 吗?',1)]),_:1})]),_:1}),n(s,{class:"modal-footer"},{default:u(()=>[n(F,{class:"modal-btn cancel",onClick:V},{default:u(()=>[c("取消")]),_:1}),n(F,{class:"modal-btn confirm",onClick:U},{default:u(()=>[c("确认")]),_:1})]),_:1})]),_:1})]),_:1})):_("",!0)]),_:1})}}},[["__scopeId","data-v-2d054771"]]);export{h as default};