WXL
11 小时以前 05c363fdd7ab04e3bd9a753e2c5d5bfff04d681c
1
"use strict";const e=require("../../common/vendor.js"),a=require("../../common/assets.js"),t=require("../../utils/dict.js");if(!Array){(e.resolveComponent("u-loading-icon")+e.resolveComponent("u-loading-page"))()}Math||((()=>"../../uni_modules/uview-plus/components/u-loading-icon/u-loading-icon.js")+(()=>"../../uni_modules/uview-plus/components/u-loading-page/u-loading-page.js"))();const r={__name:"transfer",setup(r){const l=e.ref({}),s=e.ref({totalTransports:0,pendingTransports:0,completedTransports:0}),n=e.ref([]),o=e.ref(!1),u=e.ref(!1),i=e.ref(!1),v=e.ref(!1),c=e.ref(!0),d=e.ref(1),p=e.ref(10),g=e.ref(!1),m=e.ref({}),f=e.ref(""),S=e.ref(""),w=[{label:"全部",value:""},{label:"待转运",value:1},{label:"转运中",value:2},{label:"已完成",value:3},{label:"已取消",value:4},{label:"暂存",value:5}],y=e.ref(""),x=e.ref(""),h=e.ref("");e.onLoad(async e=>{l.value=await t.useDict("sys_user_sex"),await q()}),e.onReachBottom(()=>{!c.value||o.value||i.value||D()}),e.onShow(()=>{const a=e.index.getStorageSync("transportStatusUpdate");a&&(U(a),e.index.removeStorageSync("transportStatusUpdate"))});const T=e.computed(()=>{let e=n.value;return""!==y.value&&(e=e.filter(e=>e.transitStatus===y.value)),e}),_=e=>({1:"待出发",2:"转运中",3:"已完成",4:"已取消",5:"暂存"}[e]||"待转运"),b=e=>{if(!e)return"待转运";if(!l.value.sys_user_sex)return e;const a=l.value.sys_user_sex.find(a=>a.dictValue===e);return a?a.dictLabel:e},N=e=>e?e.replace("T"," ").substring(0,16):"未设置",$=e=>{x.value=e.detail.value,h.value&&(d.value=1,E(!0))},j=e=>{h.value=e.detail.value,x.value&&(d.value=1,E(!0))},A=a=>{e.index.navigateTo({url:`/pages/case/transferinfo?id=${a.id}`})},I=async()=>{try{"开始"===S.value?await H(2,"开始转运"):"完成"===S.value&&await H(3,"完成转运"),e.index.showToast({title:`${S.value}成功`,icon:"success"})}catch(a){console.error(`${S.value}失败:`,a),e.index.showToast({title:`${S.value}失败,请重试`,icon:"none"})}finally{g.value=!1}},P=()=>{g.value=!1},q=async()=>{u.value=!0;try{await Promise.all([E(!0),C()])}catch(e){console.error("初始化数据失败:",e)}finally{u.value=!1}},k=async()=>{v.value=!0,d.value=1,await E(!0),await C(),setTimeout(()=>{v.value=!1},1e3)},D=async()=>{!c.value||o.value||i.value||await E()},E=async(a=!1)=>{if(a&&(d.value=1,c.value=!0),!o.value&&!i.value&&c.value){a?o.value=!0:i.value=!0;try{const t={pageNum:d.value,pageSize:p.value};""!==y.value&&(t.transitStatus=y.value),x.value&&h.value&&(t.startDate=x.value,t.endDate=h.value),console.log("请求参数:",t);const r=await e.index.$uapi.post("/project/transport/list",t);if(console.log("接口返回数据:",r),!r||200!==r.code)throw new Error((null==r?void 0:r.msg)||"加载失败");{let e=[];if(r.rows&&Array.isArray(r.rows))e=r.rows;else if(r.data&&Array.isArray(r.data))e=r.data;else{if(!Array.isArray(r))throw console.error("接口返回格式不正确:",r),new Error("接口返回格式不正确");e=r}const t=e.map(e=>{return{id:(a=e).id,reportId:a.reportId,caseNo:a.caseNo,patName:a.patName,sex:a.sex,age:a.age,diagnosisname:a.diagnosisname,treatmentHospitalName:a.treatmentHospitalName,transportStartTime:a.transportStartTime,contactPerson:a.contactPerson,createTime:a.createTime,transitStatus:a.transitStatus,doctor:a.doctor,nurse:a.nurse,driver:a.driver,transportStartPlace:a.transportStartPlace,remark:a.remark};var a});a||1===d.value?n.value=t:n.value=[...n.value,...t],c.value=e.length>=p.value,e.length>0&&d.value++}}catch(t){console.error("加载转运单列表失败:",t),e.index.showToast({title:"网络请求失败",icon:"none"})}finally{o.value=!1,i.value=!1}}},C=async()=>{try{const a=await e.index.$uapi.post("/api/totalServiceTransportState");a.data&&(s.value={totalTransports:a.data.reduce((e,a)=>e+a.count,0)||0,pendingTransports:a.data[0].count||0,completedTransports:a.data[3].count||0})}catch(a){console.error("加载统计失败:",a)}},H=async(a,t)=>{try{const r={id:m.value.id,transitStatus:a},l=await e.index.$uapi.post("/project/transport/edit",r);if(l&&200===l.code){const t=n.value.findIndex(e=>e.id===m.value.id);return-1!==t&&(n.value[t].transitStatus=a),await C(),e.index.setStorageSync("transportStatusUpdate",{orderId:m.value.id,status:a}),!0}throw new Error((null==l?void 0:l.msg)||`${t}失败`)}catch(r){throw console.error(`${t}失败:`,r),r}},U=e=>{const a=n.value.findIndex(a=>a.id===e.orderId);-1!==a&&(n.value[a].transitStatus=e.status)};return(t,r)=>e.e({a:e.t(s.value.totalTransports),b:e.t(s.value.pendingTransports),c:e.t(s.value.completedTransports),d:e.f(w,(a,t,r)=>({a:e.t(a.label),b:t,c:y.value==a.value?1:"",d:e.o(e=>(e=>{y.value=e,d.value=1,E(!0)})(a.value),t)})),e:e.t(x.value||"开始日期"),f:x.value,g:h.value,h:e.o($),i:e.t(h.value||"结束日期"),j:h.value,k:x.value,l:e.o(j),m:e.f(T.value,(a,t,r)=>{return e.e({a:e.t(a.caseNo||a.reportId),b:e.t(a.patName),c:e.t(b(a.sex)),d:e.t(a.age),e:e.t(_(a.transitStatus)),f:e.n((l=a.transitStatus,{1:"pending",2:"transporting",3:"completed",4:"cancelled",5:"cancelled"}[l]||"pending")),g:e.t(a.diagnosisname||"未填写"),h:e.t(a.treatmentHospitalName||"未填写"),i:e.t(N(a.transportStartTime)),j:e.t(a.contactPerson||"未指定"),k:e.t(N(a.createTime)),l:e.t(_(a.transitStatus)),m:1===a.transitStatus},1===a.transitStatus?{n:e.o(e=>(e=>{m.value=e,f.value="开始转运",S.value="开始",g.value=!0})(a),t)}:{},{o:2===a.transitStatus},2===a.transitStatus?{p:e.o(e=>(e=>{m.value=e,f.value="完成转运",S.value="完成",g.value=!0})(a),t)}:{},{q:3!=a.transitStatus},3!=a.transitStatus?{r:e.o(t=>(a=>{e.index.navigateTo({url:`/pages/case/transferinfo?id=${a.id}&edit=true`})})(a),t)}:{},{s:e.o(e=>A(a),t),t:t,v:e.o(e=>(e=>{A(e)})(a),t)});var l}),n:i.value},i.value?{o:e.p({text:"加载中..."})}:{},{p:!c.value&&T.value.length>0},(!c.value&&T.value.length,{}),{q:!o.value&&0===T.value.length},o.value||0!==T.value.length?{}:{r:a._imports_0$8},{s:v.value,t:e.o(k),v:e.o(D),w:g.value},g.value?{x:e.t(f.value),y:e.t(S.value),z:e.t(m.value.caseNo),A:e.o(P),B:e.o(I)}:{},{C:u.value},u.value?{D:e.p({loading:!0,text:"数据加载中..."})}:{},{E:e.gei(t,"")})}},l=e._export_sfc(r,[["__scopeId","data-v-ff5c6e2a"]]);wx.createPage(l);