WXL
3 天以前 2cc85c64f1c64a2dbaeae276a3e2ca8420de76b7
1
import{_ as e,at as a,r as l,J as o,y as t,z as n,A as s,c as r,w as u,i as d,au as c,ag as i,ah as m,ai as f,aj as p,ak as v,al as h,a as b,e as _,b as g,f as w,h as V,F as y,M as C,D as I,G as k,k as S,S as D,t as U}from"./index-DF3kK8Jo.js";const x=e({__name:"transferinfo",setup(e){const x=a({caseInfo:{caseId:"",donorName:"",gender:"",age:"",diagnosis:""},hospital:"",department:"",departureTime:"",departureLocation:"",destinationHospital:"",coordinator:{id:"",name:""},emergencyDoctor:{id:"",name:""},nurse:{id:"",name:""},driver:{id:"",name:""},icuDoctor:{id:"",name:""},contacts:[{role:"协调员电话",phone:""},{role:"急诊医生电话",phone:""},{role:"护士电话",phone:""},{role:"司机电话",phone:""},{role:"ICU医生电话",phone:""}],remarks:""}),N=l(!1),T=l(!1),$=l(!1),H=l(!1),M=l(!1),O=l(!1),L=l(!1),j=l(0),q=l([{label:"张三 - 脑外伤导致脑死亡 - 青岛镜湖医院",value:"DON20241216001",data:{donorName:"张三",gender:"男",age:"38",diagnosis:"脑外伤导致脑死亡",hospital:"青岛镜湖医院"}},{label:"李四 - 脑梗死 - 青岛大学附属医院",value:"DON20241216002",data:{donorName:"李四",gender:"女",age:"45",diagnosis:"脑梗死",hospital:"青岛大学附属医院"}}]),F=l([{label:"张医生",value:"1"},{label:"李医生",value:"2"},{label:"王医生",value:"3"}]),P=l([{label:"赵医生",value:"1"},{label:"钱医生",value:"2"},{label:"孙医生",value:"3"}]),Y=l([{label:"周护士",value:"1"},{label:"吴护士",value:"2"},{label:"郑护士",value:"3"}]),z=l([{label:"刘师傅",value:"1"},{label:"陈师傅",value:"2"},{label:"杨师傅",value:"3"}]),A=l([{label:"朱医生",value:"1"},{label:"秦医生",value:"2"},{label:"尤医生",value:"3"}]),G=l(!1),J=l(!1),B=l("");l("#f5f5f7");const E=o(()=>x.caseInfo.caseId&&x.hospital&&x.departureTime),K=e=>e?"border: 2rpx solid #ff4757 !important; border-radius: 12rpx !important;":"border: 2rpx solid #e5e5e7 !important; border-radius: 12rpx !important;",Q=e=>{if(e.value&&e.value[0]){const a=e.value[0];x.caseInfo.caseId=a.value,x.caseInfo.donorName=a.data.donorName,x.caseInfo.gender=a.data.gender,x.caseInfo.age=a.data.age,x.caseInfo.diagnosis=a.data.diagnosis,x.hospital=a.data.hospital}N.value=!1},R=e=>{const a=new Date(e.value);x.departureTime=`${a.getFullYear()}-${(a.getMonth()+1).toString().padStart(2,"0")}-${a.getDate().toString().padStart(2,"0")} ${a.getHours().toString().padStart(2,"0")}:${a.getMinutes().toString().padStart(2,"0")}`,T.value=!1},W=e=>{if(e.value&&e.value[0]){x.coordinator.name=e.value[0].label,x.coordinator.id=e.value[0].value;const a=x.contacts.find(e=>"协调员电话"===e.role);a&&(a.phone="13800138000")}$.value=!1},X=e=>{if(e.value&&e.value[0]){x.emergencyDoctor.name=e.value[0].label,x.emergencyDoctor.id=e.value[0].value;const a=x.contacts.find(e=>"急诊医生电话"===e.role);a&&(a.phone="13800138001")}H.value=!1},Z=e=>{if(e.value&&e.value[0]){x.nurse.name=e.value[0].label,x.nurse.id=e.value[0].value;const a=x.contacts.find(e=>"护士电话"===e.role);a&&(a.phone="13800138002")}M.value=!1},ee=e=>{if(e.value&&e.value[0]){x.driver.name=e.value[0].label,x.driver.id=e.value[0].value;const a=x.contacts.find(e=>"司机电话"===e.role);a&&(a.phone="13800138003")}O.value=!1},ae=e=>{if(e.value&&e.value[0]){x.icuDoctor.name=e.value[0].label,x.icuDoctor.id=e.value[0].value;const a=x.contacts.find(e=>"ICU医生电话"===e.role);a&&(a.phone="13800138004")}L.value=!1},le=()=>{C()},oe=()=>x.caseInfo.caseId?x.hospital?!!x.departureTime||(I({title:"请选择出发时间",icon:"none"}),!1):(I({title:"请输入捐献医院",icon:"none"}),!1):(I({title:"请选择案例",icon:"none"}),!1),te=async()=>{if(oe()){G.value=!0;try{await new Promise(e=>setTimeout(e,1e3)),await se("draft"),I({title:"保存草稿成功",icon:"success"})}catch(e){console.error("保存草稿失败:",e),I({title:"保存失败,请重试",icon:"none"})}finally{G.value=!1}}},ne=async()=>{oe()&&k({title:"确认提交",content:"确定要提交转运单申请吗?",success:async e=>{if(e.confirm){G.value=!0;try{await new Promise(e=>setTimeout(e,1500)),await se("pending"),I({title:"提交成功",icon:"success"}),setTimeout(()=>{C()},1500)}catch(a){console.error("提交失败:",a),I({title:"提交失败,请重试",icon:"none"})}finally{G.value=!1}}}})},se=async e=>{const a={...x,status:e,id:J.value?B.value:re(),createTime:(new Date).toISOString()};console.log("保存转运单:",a)},re=()=>{const e=new Date;return`T${e.getFullYear()}${(e.getMonth()+1).toString().padStart(2,"0")}${e.getDate().toString().padStart(2,"0")}${Math.random().toString().slice(-3)}`};return t(e=>{e.id&&(J.value=!0,B.value=e.id,e.id,Object.assign(x,{caseInfo:{caseId:"DON20241216001",donorName:"张三",gender:"男",age:"38",diagnosis:"脑外伤导致脑死亡"},hospital:"青岛镜湖医院",department:"神经外科",departureTime:"2024-12-17 14:30:00",departureLocation:"青岛市立医院急诊科",destinationHospital:"青岛镜湖医院",coordinator:{id:"1",name:"张医生"},emergencyDoctor:{id:"2",name:"王医生"},nurse:{id:"3",name:"李护士"},driver:{id:"4",name:"刘师傅"},icuDoctor:{id:"5",name:"赵医生"},contacts:[{role:"协调员电话",phone:"13800138000"},{role:"急诊医生电话",phone:"13800138001"},{role:"护士电话",phone:"13800138002"},{role:"司机电话",phone:"13800138003"},{role:"ICU医生电话",phone:"13800138004"}],remarks:"需要准备呼吸机等急救设备"}))}),(e,a)=>{const l=d,o=S,t=n(s("u-icon"),c),C=n(s("u-input"),i),I=n(s("u-textarea"),m),k=n(s("u-button"),f),J=D,B=n(s("u-picker"),p),oe=n(s("u-datetime-picker"),v),se=n(s("u-loading-icon"),h);return b(),r(l,{class:"transport-edit-container"},{default:u(()=>[_(J,{"scroll-y":"",class:"form-scroll","show-scrollbar":!1},{default:u(()=>[_(l,{class:"form-content"},{default:u(()=>[_(l,{class:"form-section"},{default:u(()=>[_(l,{class:"section-header"},{default:u(()=>[_(l,{class:"section-icon"},{default:u(()=>[g("📋")]),_:1}),_(o,{class:"section-title"},{default:u(()=>[g("基础信息")]),_:1})]),_:1}),_(l,{class:"form-grid"},{default:u(()=>[_(l,{class:"form-item"},{default:u(()=>[_(o,{class:"item-label required"},{default:u(()=>[g("案例选择")]),_:1}),_(C,{modelValue:x.caseInfo.donorName,"onUpdate:modelValue":a[0]||(a[0]=e=>x.caseInfo.donorName=e),placeholder:"选择案例",readonly:"",border:"none",onClick:a[1]||(a[1]=e=>N.value=!0),customStyle:K(!x.caseInfo.caseId)},{suffix:u(()=>[_(t,{name:"arrow-down",color:"#86868b"})]),_:1},8,["modelValue","customStyle"])]),_:1}),_(l,{class:"form-item"},{default:u(()=>[_(o,{class:"item-label required"},{default:u(()=>[g("捐献医院")]),_:1}),_(C,{modelValue:x.hospital,"onUpdate:modelValue":a[2]||(a[2]=e=>x.hospital=e),placeholder:"请输入捐献医院",border:"none",customStyle:K(!x.hospital)},null,8,["modelValue","customStyle"])]),_:1}),_(l,{class:"form-item"},{default:u(()=>[_(o,{class:"item-label"},{default:u(()=>[g("科室")]),_:1}),_(C,{modelValue:x.department,"onUpdate:modelValue":a[3]||(a[3]=e=>x.department=e),placeholder:"请输入科室",border:"none"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),_(l,{class:"form-section"},{default:u(()=>[_(l,{class:"section-header"},{default:u(()=>[_(l,{class:"section-icon"},{default:u(()=>[g("🚑")]),_:1}),_(o,{class:"section-title"},{default:u(()=>[g("转运信息")]),_:1})]),_:1}),_(l,{class:"form-grid"},{default:u(()=>[_(l,{class:"form-item"},{default:u(()=>[_(o,{class:"item-label required"},{default:u(()=>[g("出发时间")]),_:1}),_(C,{modelValue:x.departureTime,"onUpdate:modelValue":a[4]||(a[4]=e=>x.departureTime=e),placeholder:"请选择出发时间",readonly:"",border:"none",onClick:a[5]||(a[5]=e=>T.value=!0),customStyle:K(!x.departureTime)},{suffix:u(()=>[_(t,{name:"arrow-down",color:"#86868b"})]),_:1},8,["modelValue","customStyle"])]),_:1}),_(l,{class:"form-item full-width"},{default:u(()=>[_(o,{class:"item-label"},{default:u(()=>[g("出发地点")]),_:1}),_(I,{modelValue:x.departureLocation,"onUpdate:modelValue":a[6]||(a[6]=e=>x.departureLocation=e),placeholder:"请输入出发地点详细地址",count:"",maxlength:"200",height:"120"},null,8,["modelValue"])]),_:1}),_(l,{class:"form-item"},{default:u(()=>[_(o,{class:"item-label"},{default:u(()=>[g("抵达医院")]),_:1}),_(C,{modelValue:x.destinationHospital,"onUpdate:modelValue":a[7]||(a[7]=e=>x.destinationHospital=e),placeholder:"请输入抵达医院",border:"none"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),_(l,{class:"form-section"},{default:u(()=>[_(l,{class:"section-header"},{default:u(()=>[_(l,{class:"section-icon"},{default:u(()=>[g("👥")]),_:1}),_(o,{class:"section-title"},{default:u(()=>[g("团队成员")]),_:1})]),_:1}),_(l,{class:"form-grid"},{default:u(()=>[_(l,{class:"form-item"},{default:u(()=>[_(o,{class:"item-label"},{default:u(()=>[g("协调员")]),_:1}),_(C,{modelValue:x.coordinator.name,"onUpdate:modelValue":a[8]||(a[8]=e=>x.coordinator.name=e),placeholder:"选择协调员",readonly:"",border:"none",onClick:a[9]||(a[9]=e=>$.value=!0)},{suffix:u(()=>[_(t,{name:"arrow-down",color:"#86868b"})]),_:1},8,["modelValue"])]),_:1}),_(l,{class:"form-item"},{default:u(()=>[_(o,{class:"item-label"},{default:u(()=>[g("急诊科医生")]),_:1}),_(C,{modelValue:x.emergencyDoctor.name,"onUpdate:modelValue":a[10]||(a[10]=e=>x.emergencyDoctor.name=e),placeholder:"选择急诊科医生",readonly:"",border:"none",onClick:a[11]||(a[11]=e=>H.value=!0)},{suffix:u(()=>[_(t,{name:"arrow-down",color:"#86868b"})]),_:1},8,["modelValue"])]),_:1}),_(l,{class:"form-item"},{default:u(()=>[_(o,{class:"item-label"},{default:u(()=>[g("护士")]),_:1}),_(C,{modelValue:x.nurse.name,"onUpdate:modelValue":a[12]||(a[12]=e=>x.nurse.name=e),placeholder:"选择护士",readonly:"",border:"none",onClick:a[13]||(a[13]=e=>M.value=!0)},{suffix:u(()=>[_(t,{name:"arrow-down",color:"#86868b"})]),_:1},8,["modelValue"])]),_:1}),_(l,{class:"form-item"},{default:u(()=>[_(o,{class:"item-label"},{default:u(()=>[g("司机")]),_:1}),_(C,{modelValue:x.driver.name,"onUpdate:modelValue":a[14]||(a[14]=e=>x.driver.name=e),placeholder:"选择司机",readonly:"",border:"none",onClick:a[15]||(a[15]=e=>O.value=!0)},{suffix:u(()=>[_(t,{name:"arrow-down",color:"#86868b"})]),_:1},8,["modelValue"])]),_:1}),_(l,{class:"form-item"},{default:u(()=>[_(o,{class:"item-label"},{default:u(()=>[g("ICU评估医生")]),_:1}),_(C,{modelValue:x.icuDoctor.name,"onUpdate:modelValue":a[16]||(a[16]=e=>x.icuDoctor.name=e),placeholder:"选择ICU评估医生",readonly:"",border:"none",onClick:a[17]||(a[17]=e=>L.value=!0)},{suffix:u(()=>[_(t,{name:"arrow-down",color:"#86868b"})]),_:1},8,["modelValue"])]),_:1})]),_:1})]),_:1}),_(l,{class:"form-section"},{default:u(()=>[_(l,{class:"section-header"},{default:u(()=>[_(l,{class:"section-icon"},{default:u(()=>[g("📞")]),_:1}),_(o,{class:"section-title"},{default:u(()=>[g("联系方式")]),_:1})]),_:1}),_(l,{class:"form-grid"},{default:u(()=>[(b(!0),w(y,null,V(x.contacts,(e,a)=>(b(),r(l,{class:"form-item",key:a},{default:u(()=>[_(o,{class:"item-label"},{default:u(()=>[g(U(e.role),1)]),_:2},1024),_(C,{modelValue:e.phone,"onUpdate:modelValue":a=>e.phone=a,placeholder:"请输入联系电话",border:"none",type:"number"},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1024))),128))]),_:1})]),_:1}),_(l,{class:"form-section"},{default:u(()=>[_(l,{class:"section-header"},{default:u(()=>[_(l,{class:"section-icon"},{default:u(()=>[g("📝")]),_:1}),_(o,{class:"section-title"},{default:u(()=>[g("备注信息")]),_:1})]),_:1}),_(l,{class:"form-grid"},{default:u(()=>[_(l,{class:"form-item full-width"},{default:u(()=>[_(I,{modelValue:x.remarks,"onUpdate:modelValue":a[18]||(a[18]=e=>x.remarks=e),placeholder:"请输入特殊要求或备注信息",count:"",maxlength:"500",height:"200"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),_(l,{class:"action-buttons"},{default:u(()=>[_(k,{class:"btn secondary",onClick:le},{default:u(()=>[g("取消")]),_:1}),_(k,{class:"btn primary",onClick:te},{default:u(()=>[g("保存草稿")]),_:1}),_(k,{class:"btn success",onClick:ne,disabled:!E.value},{default:u(()=>[g("提交申请")]),_:1},8,["disabled"])]),_:1})]),_:1})]),_:1}),_(B,{show:N.value,columns:[q.value],keyName:"label",onConfirm:Q,onCancel:a[19]||(a[19]=e=>N.value=!1),title:"选择案例"},null,8,["show","columns"]),_(oe,{show:T.value,modelValue:j.value,"onUpdate:modelValue":a[20]||(a[20]=e=>j.value=e),mode:"datetime",onConfirm:R,onCancel:a[21]||(a[21]=e=>T.value=!1),title:"选择出发时间"},null,8,["show","modelValue"]),_(B,{show:$.value,columns:[F.value],keyName:"label",onConfirm:W,onCancel:a[22]||(a[22]=e=>$.value=!1),title:"选择协调员"},null,8,["show","columns"]),_(B,{show:H.value,columns:[P.value],keyName:"label",onConfirm:X,onCancel:a[23]||(a[23]=e=>H.value=!1),title:"选择急诊科医生"},null,8,["show","columns"]),_(B,{show:M.value,columns:[Y.value],keyName:"label",onConfirm:Z,onCancel:a[24]||(a[24]=e=>M.value=!1),title:"选择护士"},null,8,["show","columns"]),_(B,{show:O.value,columns:[z.value],keyName:"label",onConfirm:ee,onCancel:a[25]||(a[25]=e=>O.value=!1),title:"选择司机"},null,8,["show","columns"]),_(B,{show:L.value,columns:[A.value],keyName:"label",onConfirm:ae,onCancel:a[26]||(a[26]=e=>L.value=!1),title:"选择ICU评估医生"},null,8,["show","columns"]),_(se,{show:G.value,text:"提交中..."},null,8,["show"])]),_:1})}}},[["__scopeId","data-v-34e18e38"]]);export{x as default};