WXL
昨天 c80bc467a41daa6cbae4e5515a300a8ca98cfeaa
1
import{_ as e,r as a,R as l,$ as t,p as s,A as o,G as n,H as u,c as r,w as i,i as c,a0 as d,U as f,a1 as v,a3 as m,a2 as p,Y as _,S as b,a as y,e as g,b as S,t as h,d as w,J as V,f as x,F as $,I as k,a7 as I,N as C,a4 as U,a5 as P,a6 as N,k as D,W as T}from"./index-BIH8RjL7.js";import{a as j}from"./index.BaVDQu2g.js";import"./uni-icons.fMk-tPXC.js";const H=e({__name:"transferinfo",setup(e){a({});const H=a({annexfilesList:[]}),L=a(!1),M=a(!1),W=a(!1),B=a(!1),E=a(0),F=a(null),q=a(!1),Y=a(0);a(!1);const z=a(!1),A=a([]),G=a([{label:"待转运",value:1},{label:"转运中",value:2},{label:"转运完成",value:3},{label:"转运取消",value:4},{label:"暂存",value:5}]),J=a("#f5f5f7"),O=l(()=>L.value?"加载中...":M.value?"保存中...":""),R=l(()=>H.value.transportStartPlace&&H.value.transportStartTime&&H.value.contactPerson),K=l(()=>!L.value&&(1===H.value.transitStatus||5===H.value.transitStatus)),Q=l(()=>!L.value&&1===H.value.transitStatus),X=l(()=>!L.value&&2===H.value.transitStatus);l(()=>!L.value);const Z=l(()=>G.value.map(e=>e.label));l(()=>{if(!H.value.transitStatus)return 0;const e=G.value.findIndex(e=>e.value==H.value.transitStatus);return e>=0?e:0}),t(()=>H.value.transitStatus,e=>{if(null!=e){const a=G.value.findIndex(a=>a.value==e);a>=0&&(E.value=a)}},{immediate:!0}),s(async e=>{if(e.id?(F.value=e.id,await ee(e.id)):e.caseId&&(W.value=!0,await ae(e.caseId,e.caseNo)),void 0!==H.value.transitStatus){const e=G.value.findIndex(e=>e.value==H.value.transitStatus);E.value=e>=0?e:0}});const ee=async e=>{L.value=!0;try{const a=await uni.$uapi.get(`/project/transport/getInfo/${e}`);if(!a.data)throw new Error(a.msg||"数据加载失败");if(H.value=a.data,a.data.annexfilesList&&(A.value=a.data.annexfilesList,A.value.forEach(e=>{e.url=e.opath,e.name=e.fileName})),void 0!==H.value.transitStatus){const e=G.value.findIndex(e=>e.value==H.value.transitStatus);E.value=e>=0?e:0}}catch(a){console.error("加载转运单失败:",a),o({title:"数据加载失败,请重试",icon:"none"})}finally{L.value=!1}},ae=async(e,a)=>{try{const a=new Date,l=a.getFullYear(),t=String(a.getMonth()+1).padStart(2,"0"),s=String(a.getDate()).padStart(2,"0"),o=String(a.getHours()).padStart(2,"0"),n=String(a.getMinutes()).padStart(2,"0"),u=String(a.getSeconds()).padStart(2,"0");if(H.value.transportStartTime=`${l}-${t}-${s} ${o}:${n}:${u}`,e){const a=await uni.$uapi.get(`/project/donatebaseinforeport/getInfo/${e}`);if(a.data){const e=a.data;console.log(e),H.value={...H.value,caseNo:e.caseNo||"",patName:e.name||"",sex:e.sex||"",age:e.age||"",reportId:e.id||null,diagnosisname:e.diagnosisname||"",treatmentHospitalName:e.treatmenthospitalname||"",treatmentDeptName:e.treatmentdeptname||"",transportStartPlace:e.treatmenthospitalname||"",contactPerson:e.coordinatorName||""},console.log(H.value,"transportData.value")}}else H.value={transitStatus:1,createTime:(new Date).toISOString().replace("T"," ").substring(0,19)}}catch(l){console.error("初始化转运单失败:",l)}},le=e=>({1:"待转运",2:"转运中",3:"转运完成",4:"转运取消",5:"暂存"}[e]||"未知"),te=e=>e?"border: 2rpx solid #f56c6c !important; border-radius: 12rpx !important;":"border: 2rpx solid #e5e5e7 !important; border-radius: 12rpx !important;",se=e=>{const a=new Date(e.value);H.value.transportStartTime=`${a.getFullYear()}-${String(a.getMonth()+1).padStart(2,"0")}-${String(a.getDate()).padStart(2,"0")} ${String(a.getHours()).padStart(2,"0")}:${String(a.getMinutes()).padStart(2,"0")}:${String(a.getSeconds()).padStart(2,"0")}`,q.value=!1},oe=e=>{const a=e.indexs[0];G.value[a]&&(H.value.transitStatus=G.value[a].value),B.value=!1},ne=()=>{I()},ue=()=>{W.value=!0},re=()=>{F.value?(W.value=!1,ee(F.value)):I()},ie=async()=>{if(ce()){M.value=!0;try{const e={...H.value,annexfilesList:A.value.map(e=>({path:e.url,fileName:e.name,type:e.type}))};let a;if(F.value?a=await uni.$uapi.post("/project/transport/edit",e):(e.transitStatus=2,a=await uni.$uapi.post("/project/transport/add",e)),200!==a.code)throw new Error(a.msg||"操作失败");o({title:F.value?"修改成功":"新增成功",icon:"success"}),F.value?(W.value=!1,await ee(F.value)):setTimeout(()=>{I()},1500)}catch(e){console.error("保存失败:",e),o({title:e.message||(F.value?"修改失败":"新增失败"),icon:"none"})}finally{M.value=!1}}},ce=()=>H.value.transportStartPlace?H.value.transportStartTime?!!H.value.contactPerson||(o({title:"请输入负责协调员",icon:"none"}),!1):(o({title:"请选择出发时间",icon:"none"}),!1):(o({title:"请输入出发地点",icon:"none"}),!1),de=()=>{C({title:"开始转运",content:"确定要开始转运吗?",success:async e=>{e.confirm&&await ve(2,"开始转运")}})},fe=()=>{C({title:"完成转运",content:"确定要完成转运吗?",success:async e=>{e.confirm&&await ve(3,"完成转运")}})},ve=async(e,a)=>{try{const t={id:F.value,transitStatus:e,...H.value,annexfilesList:A.value.map(e=>({path:e.url,fileName:e.name,type:e.type}))},s=await uni.$uapi.post("/project/transport/edit",t);if(200!==s.code)throw new Error(s.msg||`${a}失败`);if(o({title:`${a}成功`,icon:"success"}),3===e)try{const e=H.value.reportId;if(e){const a=await uni.$uapi.get(`/project/donatebaseinforeport/getInfo/${e}`);if(a&&a.data){const e=a.data;e.isDonate=1;const l=await uni.$uapi.post("/project/donatebaseinforeport/edit",e);l&&200==l.code&&o({title:"对应上报案例已进入正式案例流程",icon:"success"})}}}catch(l){console.error("更新案例状态失败:",l),o({title:"案例状态更新失败,请联系管理员",icon:"none"})}await ee(F.value)}catch(t){console.error(`${a}失败:`,t),o({title:`${a}失败`,icon:"none"})}},me=e=>{console.log("基础附件上传成功:",e),A.value.push(e)},pe=e=>{console.log(e,"files"),A.value=e.map(e=>({...e})),console.log(A.value)},_e=e=>{const a=e.url.startsWith("http")?e.url:baseUrlHt+(e.url.startsWith("/")?"":"/")+e.url;e.type.includes("image")?U({urls:A.value.filter(e=>e.type.includes("image")).map(e=>e.url.startsWith("http")?e.url:baseUrlHt+(e.url.startsWith("/")?"":"/")+e.url),current:a}):e.type.includes("pdf")?P({url:a,success:e=>{N({filePath:e.tempFilePath,fileType:"pdf",showMenu:!0})},fail:e=>{console.error("打开文档失败:",e),o({title:"打开文件失败",icon:"none"})}}):o({title:"暂不支持此文件类型预览",icon:"none"})};return(e,a)=>{const l=c,t=D,s=n(u("u-input"),d),o=n(u("up-icon"),f),I=n(u("u-textarea"),v),C=n(u("u-button"),m),U=T,P=n(u("u-datetime-picker"),p),N=n(u("u-picker"),_),F=n(u("u-loading-icon"),b);return y(),r(l,{class:"transport-edit-container"},{default:i(()=>[g(U,{"scroll-y":"",class:"form-scroll","show-scrollbar":!1},{default:i(()=>[g(l,{class:"form-content"},{default:i(()=>[H.value.reportId?(y(),r(l,{key:0,class:"form-section"},{default:i(()=>[g(l,{class:"section-header"},{default:i(()=>[g(l,{class:"section-icon"},{default:i(()=>[S("📋")]),_:1}),g(t,{class:"section-title"},{default:i(()=>[S("关联案例信息")]),_:1})]),_:1}),g(l,{class:"case-info"},{default:i(()=>[g(l,{class:"info-row"},{default:i(()=>[g(t,{class:"info-label"},{default:i(()=>[S("案例编号:")]),_:1}),g(t,{class:"info-value"},{default:i(()=>[S(h(H.value.caseNo),1)]),_:1})]),_:1}),g(l,{class:"info-row"},{default:i(()=>[g(t,{class:"info-label"},{default:i(()=>[S("患者姓名:")]),_:1}),g(t,{class:"info-value"},{default:i(()=>[S(h(H.value.patName),1)]),_:1})]),_:1}),g(l,{class:"info-row"},{default:i(()=>[g(t,{class:"info-label"},{default:i(()=>[S("性别/年龄:")]),_:1}),g(t,{class:"info-value"},{default:i(()=>{return[S(h((e=H.value.sex,e?"1"===e?"男":"女":"未知"))+" / "+h(H.value.age)+"岁",1)];var e}),_:1})]),_:1}),g(l,{class:"info-row"},{default:i(()=>[g(t,{class:"info-label"},{default:i(()=>[S("疾病诊断:")]),_:1}),g(t,{class:"info-value"},{default:i(()=>[S(h(H.value.diagnosisname),1)]),_:1})]),_:1}),g(l,{class:"info-row"},{default:i(()=>[g(t,{class:"info-label"},{default:i(()=>[S("治疗医院:")]),_:1}),g(t,{class:"info-value"},{default:i(()=>[S(h(H.value.treatmentHospitalName),1)]),_:1})]),_:1})]),_:1})]),_:1})):w("",!0),g(l,{class:"form-section"},{default:i(()=>[g(l,{class:"section-header"},{default:i(()=>{return[g(l,{class:"section-icon"},{default:i(()=>[S("📄")]),_:1}),g(t,{class:"section-title"},{default:i(()=>[S("转运单信息")]),_:1}),g(l,{class:V(["status-tag",(e=H.value.transitStatus,{1:"pending",2:"transporting",3:"completed",4:"cancelled",5:"draft"}[e]||"draft")])},{default:i(()=>[S(h(le(H.value.transitStatus)),1)]),_:1},8,["class"])];var e}),_:1}),g(l,{class:"form-grid"},{default:i(()=>[g(l,{class:"form-item"},{default:i(()=>[g(t,{class:"item-label required"},{default:i(()=>[S("出发地点")]),_:1}),g(s,{modelValue:H.value.transportStartPlace,"onUpdate:modelValue":a[0]||(a[0]=e=>H.value.transportStartPlace=e),placeholder:"请输入出发地点",border:"none",readonly:!W.value,customStyle:te(!H.value.transportStartPlace)},null,8,["modelValue","readonly","customStyle"])]),_:1}),g(l,{class:"form-item"},{default:i(()=>[g(t,{class:"item-label required"},{default:i(()=>[S("出发时间")]),_:1}),g(l,{class:"picker-trigger",onClick:a[1]||(a[1]=e=>W.value&&(q.value=!0))},{default:i(()=>[g(t,null,{default:i(()=>[S(h(H.value.transportStartTime||"请选择出发时间"),1)]),_:1}),W.value?(y(),r(o,{key:0,name:"arrow-down",size:"16",color:"#999"})):w("",!0)]),_:1})]),_:1}),g(l,{class:"form-item"},{default:i(()=>[g(t,{class:"item-label required"},{default:i(()=>[S("负责协调员")]),_:1}),g(s,{modelValue:H.value.contactPerson,"onUpdate:modelValue":a[2]||(a[2]=e=>H.value.contactPerson=e),placeholder:"请输入协调员姓名",border:"none",readonly:!W.value,customStyle:te(!H.value.contactPerson)},null,8,["modelValue","readonly","customStyle"])]),_:1}),H.value.createTime?(y(),r(l,{key:0,class:"form-item"},{default:i(()=>[g(t,{class:"item-label"},{default:i(()=>[S("创建时间")]),_:1}),g(s,{modelValue:H.value.createTime,"onUpdate:modelValue":a[3]||(a[3]=e=>H.value.createTime=e),placeholder:"自动生成",disabled:"",disabledColor:J.value,border:"none"},null,8,["modelValue","disabledColor"])]),_:1})):w("",!0),H.value.createBy?(y(),r(l,{key:1,class:"form-item"},{default:i(()=>[g(t,{class:"item-label"},{default:i(()=>[S("创建人")]),_:1}),g(s,{modelValue:H.value.createBy,"onUpdate:modelValue":a[4]||(a[4]=e=>H.value.createBy=e),placeholder:"自动获取",disabled:"",disabledColor:J.value,border:"none"},null,8,["modelValue","disabledColor"])]),_:1})):w("",!0)]),_:1})]),_:1}),g(l,{class:"form-section"},{default:i(()=>[g(l,{class:"section-header"},{default:i(()=>[g(l,{class:"section-icon"},{default:i(()=>[S("👥")]),_:1}),g(t,{class:"section-title"},{default:i(()=>[S("医护人员信息")]),_:1})]),_:1}),g(l,{class:"form-grid"},{default:i(()=>[g(l,{class:"form-item"},{default:i(()=>[g(t,{class:"item-label"},{default:i(()=>[S("出诊医生")]),_:1}),g(s,{modelValue:H.value.doctor,"onUpdate:modelValue":a[5]||(a[5]=e=>H.value.doctor=e),placeholder:"请输入出诊医生",border:"none",readonly:!W.value},null,8,["modelValue","readonly"])]),_:1}),g(l,{class:"form-item"},{default:i(()=>[g(t,{class:"item-label"},{default:i(()=>[S("出诊护士")]),_:1}),g(s,{modelValue:H.value.nurse,"onUpdate:modelValue":a[6]||(a[6]=e=>H.value.nurse=e),placeholder:"请输入出诊护士姓名",border:"none",readonly:!W.value},null,8,["modelValue","readonly"])]),_:1}),g(l,{class:"form-item"},{default:i(()=>[g(t,{class:"item-label"},{default:i(()=>[S("驾驶员")]),_:1}),g(s,{modelValue:H.value.driver,"onUpdate:modelValue":a[7]||(a[7]=e=>H.value.driver=e),placeholder:"请输入驾驶员姓名",border:"none",readonly:!W.value},null,8,["modelValue","readonly"])]),_:1}),g(l,{class:"form-item"},{default:i(()=>[g(t,{class:"item-label"},{default:i(()=>[S("ICU评估医生")]),_:1}),g(s,{modelValue:H.value.icuDoctor,"onUpdate:modelValue":a[8]||(a[8]=e=>H.value.icuDoctor=e),placeholder:"请输入ICU评估医生",border:"none",readonly:!W.value},null,8,["modelValue","readonly"])]),_:1}),g(l,{class:"form-item"},{default:i(()=>[g(t,{class:"item-label"},{default:i(()=>[S("ICU医生电话")]),_:1}),g(s,{modelValue:H.value.icuDoctorPhone,"onUpdate:modelValue":a[9]||(a[9]=e=>H.value.icuDoctorPhone=e),placeholder:"请输入ICU医生手机号",type:"number",border:"none",readonly:!W.value},null,8,["modelValue","readonly"])]),_:1})]),_:1})]),_:1}),g(l,{class:"form-section"},{default:i(()=>[g(l,{class:"section-header"},{default:i(()=>[g(l,{class:"section-icon"},{default:i(()=>[S("📝")]),_:1}),g(t,{class:"section-title"},{default:i(()=>[S("备注信息")]),_:1})]),_:1}),g(l,{class:"form-grid"},{default:i(()=>[g(l,{class:"form-item full-width"},{default:i(()=>[g(I,{modelValue:H.value.remark,"onUpdate:modelValue":a[10]||(a[10]=e=>H.value.remark=e),placeholder:"请输入备注信息",border:"none",readonly:!W.value,count:W.value,maxlength:"500",height:"150"},null,8,["modelValue","readonly","count"])]),_:1})]),_:1})]),_:1}),g(l,{class:"action-buttons"},{default:i(()=>[W.value?(y(),x($,{key:1},[g(C,{class:"btn secondary",onClick:re},{default:i(()=>[S("取消")]),_:1}),g(C,{class:"btn success",onClick:ie,disabled:!R.value,loading:M.value},{default:i(()=>[S(" 保存 ")]),_:1},8,["disabled","loading"])],64)):(y(),x($,{key:0},[g(C,{class:"btn secondary",onClick:ne},{default:i(()=>[S("返回")]),_:1}),K.value?(y(),r(C,{key:0,class:"btn primary",onClick:ue},{default:i(()=>[S(" 编辑 ")]),_:1})):w("",!0),Q.value?(y(),r(C,{key:1,class:"btn warning",onClick:de},{default:i(()=>[S(" 开始转运 ")]),_:1})):w("",!0),X.value?(y(),r(C,{key:2,class:"btn success",onClick:fe},{default:i(()=>[S(" 完成转运 ")]),_:1})):w("",!0)],64))]),_:1})]),_:1})]),_:1}),g(k(j),{ref:"attachment",files:A.value,readonly:z.value,maxCount:5,"onUpdate:files":pe,onUploadBase:me,onPreview:_e},null,8,["files","readonly"]),g(P,{show:q.value,modelValue:Y.value,"onUpdate:modelValue":a[11]||(a[11]=e=>Y.value=e),mode:"datetime",onConfirm:se,onCancel:a[12]||(a[12]=e=>q.value=!1),title:"选择出发时间"},null,8,["show","modelValue"]),g(N,{show:B.value,columns:[Z.value],defaultIndex:[E.value],keyName:"label",onConfirm:oe,onCancel:a[13]||(a[13]=e=>B.value=!1),title:"请选择转运状态"},null,8,["show","columns","defaultIndex"]),g(F,{show:L.value,text:O.value},null,8,["show","text"])]),_:1})}}},[["__scopeId","data-v-bac71a75"]]);export{H as default};