|
- import{_ as e,r as a,a1 as l,c as t,K as s,b as n,q as u,C as r,aj as o,y as c,z as i,a as d,w as _,ad as p,A as m,i as v,ag as f,ah as h,ae as y,af as g,a7 as b,a3 as k,a4 as x,ai as w,h as C,j as V,l as E,t as j,n as T,m as I,R as z,T as U,S,V as $,D as P,F,G as N,a5 as R,J as q,ak as A,P as B,p as D,I as G}from"./index-BWvsB30X.js";const J=e({__name:"sample-info",setup(e){const J=a({}),K=l({sample_types:[],wax_return:0,return_name:"",return_phone:"",return_province_code:"",return_city_code:"",return_district_code:"",return_address:"",report_email:"",sample_tracking_no:"",sample_photos:[]}),H=a(!1),L=a(!0),M=a(!1),O=a([]),Q=a(!1),W=a({address:"",receiver:"",phone:"",contact_phone:""}),X=a(0),Y=a(""),Z=a(""),ee=a(""),ae=a(""),le=a(""),te=a(!1),se=a(!1),ne=a(""),ue=a(!1),re=a(""),oe=t((()=>2===X.value)),ce=t((()=>3===X.value)),ie=t((()=>1===X.value||2===X.value||3===X.value)),de=t((()=>1===X.value)),_e=t((()=>3===X.value?"申请审核中":2===X.value?"已寄回":1===X.value?"已生效":"")),pe=t((()=>3===X.value?"applying":2===X.value?"returned":"effective")),me=t((()=>3===X.value?"修改申请审核中":2===X.value?"样品已寄回":1===X.value?"送检信息已生效":"提交送检信息")),ve=a([]),fe=a([[],[],[]]),he=a([0,0,0]),ye=a(!1),ge=t((()=>{const e=J.value.id_card||"";return 18===e.length?e.slice(0,3)+"****"+e.slice(-4):e})),be=t((()=>{const e=J.value.phone||"";return 11===e.length?e.slice(0,3)+"****"+e.slice(-4):e})),ke=t((()=>!(!K.sample_types||!K.sample_types.length)&&K.sample_types.some((e=>{const a=O.value.find((a=>a.name===e));return a&&a.need_return})))),xe=t((()=>{if(!K.sample_types||!K.sample_types.length)return"";return K.sample_types.filter((e=>{const a=O.value.find((a=>a.name===e));return a&&a.need_return})).join("、")})),we=t((()=>{const e=[];if(K.return_province_code){const a=ve.value.find((e=>e.code===K.return_province_code));a&&e.push(a.name)}if(K.return_city_code){const a=ve.value.find((e=>e.code===K.return_province_code));if(a&&a.children){const l=a.children.find((e=>e.code===K.return_city_code));l&&e.push(l.name)}}if(K.return_district_code){const a=ve.value.find((e=>e.code===K.return_province_code));if(a&&a.children){const l=a.children.find((e=>e.code===K.return_city_code));if(l&&l.children){const a=l.children.find((e=>e.code===K.return_district_code));a&&e.push(a.name)}}}return e.join(" ")})),Ce=()=>{ie.value||(ke.value||(K.wax_return=0),K.sample_types&&0!==K.sample_types.length||(K.report_email="",K.sample_tracking_no="",K.sample_photos=[],K.wax_return=0,K.return_name="",K.return_phone="",K.return_province_code="",K.return_city_code="",K.return_district_code="",K.return_address=""))},Ve=()=>{if(ie.value)return Ne();K.return_name=J.value.name||"",K.return_phone=J.value.phone||"",K.return_province_code=J.value.province_code||"",K.return_city_code=J.value.city_code||"",K.return_district_code=J.value.district_code||"",K.return_address=J.value.address||""},Ee=()=>{if(ie.value)return Ne();ye.value=!0};s((async()=>{L.value=!0;try{await ze(),await Te(),await Ie(),await je()}finally{L.value=!1,te.value&&(te.value=!1,setTimeout((()=>Ne()),100))}}));const je=async()=>{try{const e=await n("/api/mp/subscribeConfig");e.data&&e.data.sample_edit_audit&&(re.value=e.data.sample_edit_audit)}catch(e){}},Te=async()=>{try{const e=await n("/api/mp/sampleInfo");e.data&&(J.value=e.data.patient||{},K.sample_types=e.data.sample_types||[],K.wax_return=e.data.wax_return||0,K.return_name=e.data.return_name||"",K.return_phone=e.data.return_phone||"",K.return_province_code=e.data.return_province_code||"",K.return_city_code=e.data.return_city_code||"",K.return_district_code=e.data.return_district_code||"",K.return_address=e.data.return_address||"",K.report_email=e.data.report_email||"",K.sample_tracking_no=e.data.sample_tracking_no||"",K.sample_photos=e.data.sample_photos||[],X.value=Number(e.data.sample_info_status)||0,Y.value=e.data.return_tracking_no||"",Z.value=e.data.return_time||"",ee.value=e.data.sample_edit_reason||"",ae.value=e.data.sample_edit_reject_reason||"",le.value=e.data.sample_edit_apply_time||"",W.value=e.data.sample_receiver_info||{address:"",receiver:"",phone:"",contact_phone:""},te.value=1===X.value&&!ae.value||3===X.value)}catch(e){}},Ie=async()=>{try{const e=await n("/common/sampleTypes");O.value=e.data&&e.data.list||[],Q.value=e.data&&e.data.required||!1}catch(e){}},ze=async()=>{try{const e=await n("/common/regions");ve.value=e.data||[],Ue()}catch(e){}},Ue=(e=0,a=0)=>{const l=ve.value,t=l.map((e=>e.name)),s=l[e]&&l[e].children||[],n=s.map((e=>e.name)),u=(s[a]&&s[a].children||[]).map((e=>e.name));fe.value=[t,n,u]},Se=e=>{const{columnIndex:a,index:l}=e;if(0===a)Ue(l,0),he.value=[l,0,0];else if(1===a){const e=he.value[0];Ue(e,l),he.value=[e,l,0]}},$e=e=>{if(ie.value)return;const a=e.indexs||e.index||[0,0,0],l=ve.value[a[0]],t=l&&l.children?l.children[a[1]]:null,s=t&&t.children?t.children[a[2]]:null;K.return_province_code=l?l.code:"",K.return_city_code=t?t.code:"",K.return_district_code=s?s.code:"",ye.value=!1},Pe=()=>{if(ie.value)return Ne();P({count:9-K.sample_photos.length,sizeType:["compressed"],sourceType:["album","camera"],success:async e=>{for(const l of e.tempFilePaths)try{const e=await F("/api/mp/upload",{filePath:l,name:"file"});e.data&&e.data.url&&K.sample_photos.push(e.data.url)}catch(a){}}})},Fe=()=>{D({url:"/pages/content/content?key=patient_information_sheet"})},Ne=()=>{if(ce.value)return void u({title:"温馨提示",content:"送检信息修改申请正在审核中,请等待平台处理。",showCancel:!1,confirmText:"知道了"});if(oe.value)return void u({title:"温馨提示",content:`样品已经寄回,回寄物流单号:${Y.value||"—"}。`,cancelText:"知道了",confirmText:"复制单号",success:e=>{e.confirm&&Be()}});const e=W.value.contact_phone||"";let a="送检信息已生效,如需修改请点击页面的【申请修改送检信息】按钮申请,通过后可重新提交送检信息。";e&&(a+=`详情咨询${e}。`),u({title:"温馨提示",content:a,showCancel:!1,confirmText:"知道了"})},Re=()=>{if(!de.value)return Ne();ne.value="",se.value=!0},qe=()=>{se.value=!1},Ae=async()=>{if(!ne.value.trim())return r({title:"请填写申请原因",icon:"none"});ue.value=!0;try{await new Promise((e=>{if(!re.value)return e(!1);e(!1)}));const e={reason:ne.value.trim()};await N("/api/mp/applySampleInfoEdit",e),X.value=3,ee.value=ne.value.trim(),le.value="",se.value=!1,r({title:"申请已提交",icon:"success"})}catch(e){e&&e.msg&&r({title:e.msg,icon:"none"})}finally{ue.value=!1}},Be=()=>{if(!Y.value)return r({title:"暂无单号",icon:"none"});o({data:Y.value,success:()=>r({title:"单号已复制",icon:"success"})})},De=()=>{const e=W.value,a=[`收件地址:${e.address||""}`,`收件人:${e.receiver||""}`,`电话:${e.phone||""}`].join("\n");o({data:a,success:()=>r({title:"已复制",icon:"success"})})},Ge=()=>{if(ie.value)return Ne();M.value=!M.value},Je=async()=>{if(ie.value)return Ne();if(!M.value)return r({title:"请阅读并同意《患者告知书》",icon:"none"});if(Q.value&&(!K.sample_types||0===K.sample_types.length))return r({title:"请选择送检样本类型",icon:"none"});if(1===K.wax_return&&ke.value){if(!K.return_name)return r({title:"请输入收件人姓名",icon:"none"});if(!K.return_phone)return r({title:"请输入收件人电话",icon:"none"});if(!K.return_province_code)return r({title:"请选择收件地址",icon:"none"});if(!K.return_address)return r({title:"请输入收件详细地址",icon:"none"})}if(K.sample_types&&K.sample_types.length>0){if(!K.report_email)return r({title:"请输入报告接收邮箱",icon:"none"});if(!/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(K.report_email))return r({title:"邮箱格式不正确",icon:"none"});if(!K.sample_tracking_no)return r({title:"请输入送检样本物流单号",icon:"none"});if(!K.sample_photos||0===K.sample_photos.length)return r({title:"请上传送检单照片",icon:"none"})}H.value=!0;try{await N("/api/mp/saveSampleInfo",{...K}),X.value=1,r({title:"提交成功",icon:"success"}),setTimeout((()=>R()),1500)}catch(e){if(e&&e.data&&[1,2,3].includes(Number(e.data.sample_info_status)))return X.value=Number(e.data.sample_info_status),Y.value=e.data.return_tracking_no||Y.value,Z.value=e.data.return_time||Z.value,ee.value=e.data.sample_edit_reason||ee.value,le.value=e.data.sample_edit_apply_time||le.value,e.data.sample_receiver_info&&(W.value=e.data.sample_receiver_info),Ne();e&&e.msg&&r({title:e.msg,icon:"none"})}finally{H.value=!1}};return(e,a)=>{const l=c(i("u-loading-page"),p),t=c(i("u-icon"),m),s=q,n=v,u=c(i("u-checkbox"),f),r=c(i("u-checkbox-group"),h),o=c(i("u-radio"),y),P=c(i("u-radio-group"),g),F=c(i("u-input"),b),N=G,R=c(i("u-button"),k),D=A,X=c(i("u-popup"),x),ee=c(i("u-picker"),w);return C(),d(n,{class:"page"},{default:_((()=>[V(l,{loading:L.value,"loading-text":"加载中..."},null,8,["loading"]),V(n,{class:"section"},{default:_((()=>[V(n,{class:"section-title"},{default:_((()=>[V(t,{name:"account-fill",size:"18",color:"#0e63e3"}),V(s,null,{default:_((()=>[E("基本信息")])),_:1})])),_:1}),V(n,{class:"info-compact"},{default:_((()=>[V(n,{class:"info-compact-row"},{default:_((()=>[V(s,{class:"info-compact-item"},{default:_((()=>[E("姓名:"+j(J.value.name),1)])),_:1}),V(s,{class:"info-compact-item"},{default:_((()=>[E("性别:"+j(J.value.gender),1)])),_:1})])),_:1}),V(n,{class:"info-compact-row"},{default:_((()=>[V(s,{class:"info-compact-item"},{default:_((()=>[E("身份证:"+j(ge.value),1)])),_:1}),V(s,{class:"info-compact-item"},{default:_((()=>[E("手机号:"+j(be.value),1)])),_:1})])),_:1}),V(n,{class:"info-compact-row"},{default:_((()=>[V(s,{class:"info-compact-item"},{default:_((()=>[E("联系地址:"+j(J.value.region_text)+" "+j(J.value.address),1)])),_:1})])),_:1}),V(n,{class:"info-compact-row"},{default:_((()=>[V(s,{class:"info-compact-item"},{default:_((()=>[E("医院:"+j(J.value.hospital||"—"),1)])),_:1}),V(s,{class:"info-compact-item"},{default:_((()=>[E("癌种:"+j(J.value.tag||"—"),1)])),_:1})])),_:1})])),_:1})])),_:1}),V(n,{class:"section"},{default:_((()=>[V(n,{class:"section-title"},{default:_((()=>[V(t,{name:"order",size:"18",color:"#0e63e3"}),V(s,null,{default:_((()=>[E("平台收件信息")])),_:1})])),_:1}),V(n,{class:"receiver-info"},{default:_((()=>[V(n,{class:"receiver-row"},{default:_((()=>[V(s,{class:"receiver-label"},{default:_((()=>[E("收件地址")])),_:1}),V(s,{class:"receiver-value"},{default:_((()=>[E(j(W.value.address||"—"),1)])),_:1})])),_:1}),V(n,{class:"receiver-row"},{default:_((()=>[V(s,{class:"receiver-label"},{default:_((()=>[E("收件人")])),_:1}),V(s,{class:"receiver-value"},{default:_((()=>[E(j(W.value.receiver||"—"),1)])),_:1})])),_:1}),V(n,{class:"receiver-row"},{default:_((()=>[V(s,{class:"receiver-label"},{default:_((()=>[E("电话")])),_:1}),V(s,{class:"receiver-value"},{default:_((()=>[E(j(W.value.phone||"—"),1)])),_:1})])),_:1})])),_:1}),V(n,{class:"copy-receiver",onClick:De},{default:_((()=>[E("复制送检信息")])),_:1})])),_:1}),V(n,{class:"section"},{default:_((()=>[V(n,{class:"section-title"},{default:_((()=>[V(t,{name:"file-text",size:"18",color:"#fa541c"}),V(s,null,{default:_((()=>[E("送检信息")])),_:1}),_e.value?(C(),d(s,{key:0,class:T(["status-pill",pe.value])},{default:_((()=>[E(j(_e.value),1)])),_:1},8,["class"])):I("",!0)])),_:1}),oe.value?(C(),d(n,{key:0,class:"return-info"},{default:_((()=>[V(s,{class:"return-title"},{default:_((()=>[E("样品已经寄回")])),_:1}),V(s,{class:"return-text"},{default:_((()=>[E("回寄物流单号:"+j(Y.value||"—"),1)])),_:1}),Z.value?(C(),d(s,{key:0,class:"return-time"},{default:_((()=>[E("回寄时间:"+j(Z.value),1)])),_:1})):I("",!0),V(s,{class:"copy-return-no",onClick:Be},{default:_((()=>[E("复制单号")])),_:1})])),_:1})):I("",!0),ae.value?(C(),d(n,{key:1,class:"reject-info"},{default:_((()=>[V(s,{class:"reject-title"},{default:_((()=>[E("修改申请未通过")])),_:1}),V(s,{class:"reject-text"},{default:_((()=>[E("原因:"+j(ae.value),1)])),_:1})])),_:1})):I("",!0),V(n,{class:"form-group"},{default:_((()=>[V(s,{class:"form-label"},{default:_((()=>[E("送检样本类型"+j(Q.value?"":"(选填)"),1)])),_:1}),V(r,{modelValue:K.sample_types,"onUpdate:modelValue":a[0]||(a[0]=e=>K.sample_types=e),placement:"row",wrap:!0,onChange:Ce},{default:_((()=>[(C(!0),z(S,null,U(O.value,(e=>(C(),d(u,{key:e.id,label:e.name,name:e.name,disabled:ie.value,activeColor:"#0E63E3",customStyle:{marginRight:"24rpx",marginBottom:"16rpx"}},null,8,["label","name","disabled"])))),128))])),_:1},8,["modelValue"])])),_:1}),ke.value?(C(),d(n,{key:2,class:"form-group"},{default:_((()=>[V(s,{class:"form-label"},{default:_((()=>[E(j(xe.value)+"是否需寄回",1)])),_:1}),V(P,{modelValue:K.wax_return,"onUpdate:modelValue":a[1]||(a[1]=e=>K.wax_return=e),placement:"row"},{default:_((()=>[V(o,{label:"是",name:1,disabled:ie.value,activeColor:"#0E63E3",customStyle:{marginRight:"40rpx"}},null,8,["disabled"]),V(o,{label:"否",name:0,disabled:ie.value,activeColor:"#0E63E3"},null,8,["disabled"])])),_:1},8,["modelValue"])])),_:1})):I("",!0),1===K.wax_return&&ke.value?(C(),z(S,{key:3},[V(n,{class:"form-group"},{default:_((()=>[V(n,{style:{display:"flex","align-items":"center","justify-content":"space-between"}},{default:_((()=>[V(s,{class:"form-label",style:{"margin-bottom":"0"}},{default:_((()=>[E("收件人姓名")])),_:1}),V(s,{class:T(["fill-self-btn",ie.value?"disabled":""]),onClick:Ve},{default:_((()=>[E("本人接收")])),_:1},8,["class"])])),_:1}),V(F,{modelValue:K.return_name,"onUpdate:modelValue":a[2]||(a[2]=e=>K.return_name=e),disabled:ie.value,placeholder:"请输入收件人姓名",border:"surround",customStyle:{marginTop:"16rpx"}},null,8,["modelValue","disabled"])])),_:1}),V(n,{class:"form-group"},{default:_((()=>[V(s,{class:"form-label"},{default:_((()=>[E("收件人电话")])),_:1}),V(F,{modelValue:K.return_phone,"onUpdate:modelValue":a[3]||(a[3]=e=>K.return_phone=e),disabled:ie.value,type:"number",placeholder:"请输入收件人电话",border:"surround",maxlength:"11"},null,8,["modelValue","disabled"])])),_:1}),V(n,{class:"form-group"},{default:_((()=>[V(s,{class:"form-label"},{default:_((()=>[E("收件地址")])),_:1}),V(n,{class:T(["region-row",ie.value?"disabled":""]),onClick:Ee},{default:_((()=>[V(s,{class:T(["region-text",we.value?"":"placeholder"])},{default:_((()=>[E(j(we.value||"请选择省/市/区"),1)])),_:1},8,["class"]),V(s,{class:"arrow"},{default:_((()=>[E("›")])),_:1})])),_:1},8,["class"]),V(F,{modelValue:K.return_address,"onUpdate:modelValue":a[4]||(a[4]=e=>K.return_address=e),disabled:ie.value,placeholder:"详细门牌号",border:"surround",customStyle:{marginTop:"16rpx"}},null,8,["modelValue","disabled"])])),_:1})],64)):I("",!0),K.sample_types&&K.sample_types.length||Q.value?(C(),z(S,{key:4},[V(n,{class:"form-group"},{default:_((()=>[V(s,{class:"form-label"},{default:_((()=>[E("报告接收邮箱")])),_:1}),V(F,{modelValue:K.report_email,"onUpdate:modelValue":a[5]||(a[5]=e=>K.report_email=e),disabled:ie.value,placeholder:"请输入邮箱地址",border:"surround"},null,8,["modelValue","disabled"])])),_:1}),V(n,{class:"form-group"},{default:_((()=>[V(s,{class:"form-label"},{default:_((()=>[E("送检样本物流单号")])),_:1}),V(F,{modelValue:K.sample_tracking_no,"onUpdate:modelValue":a[6]||(a[6]=e=>K.sample_tracking_no=e),disabled:ie.value,placeholder:"请输入物流单号",border:"surround"},null,8,["modelValue","disabled"])])),_:1}),V(n,{class:"form-group"},{default:_((()=>[V(s,{class:"form-label"},{default:_((()=>[E("送检单照片(可上传多张)")])),_:1}),V(n,{class:"upload-row"},{default:_((()=>[(C(!0),z(S,null,U(K.sample_photos,((e,a)=>(C(),d(n,{class:"upload-item",key:"sp"+a},{default:_((()=>[V(N,{class:"upload-img",src:e,mode:"aspectFill",onClick:e=>(e=>{B({urls:K.sample_photos,current:e})})(a)},null,8,["src","onClick"]),ie.value?I("",!0):(C(),d(n,{key:0,class:"upload-del",onClick:e=>K.sample_photos.splice(a,1)},{default:_((()=>[E("×")])),_:2},1032,["onClick"]))])),_:2},1024)))),128)),ie.value?I("",!0):(C(),d(n,{key:0,class:"upload-box",onClick:Pe},{default:_((()=>[V(s,{class:"upload-icon"},{default:_((()=>[E("+")])),_:1}),V(s,{class:"upload-text"},{default:_((()=>[E("上传图片")])),_:1})])),_:1}))])),_:1})])),_:1})],64)):I("",!0)])),_:1}),V(n,{class:"btn-wrap"},{default:_((()=>[V(n,{class:"agree-row",onClick:Ge},{default:_((()=>[V(r,null,{default:_((()=>[V(u,{checked:M.value,disabled:ie.value,shape:"circle",activeColor:"#0E63E3",size:"18"},null,8,["checked","disabled"])])),_:1}),V(s,{class:"agree-text"},{default:_((()=>[E("请阅读并同意")])),_:1}),V(s,{class:"agree-link",onClick:$(Fe,["stop"])},{default:_((()=>[E("《患者告知书》")])),_:1})])),_:1}),de.value?(C(),d(R,{key:0,text:"申请修改送检信息",loading:ue.value,onClick:Re,color:"#0E63E3",plain:"",size:"large"},null,8,["loading"])):I("",!0),de.value?I("",!0):(C(),d(R,{key:1,text:me.value,loading:H.value,onClick:Je,color:"#0E63E3",size:"large"},null,8,["text","loading"]))])),_:1}),V(X,{show:se.value,mode:"bottom",round:"12",safeAreaInsetBottom:!0,onClose:qe},{default:_((()=>[V(n,{class:"apply-popup"},{default:_((()=>[V(n,{class:"apply-title"},{default:_((()=>[E("申请修改送检信息")])),_:1}),V(n,{class:"apply-desc"},{default:_((()=>[E("请填写需要修改送检信息的原因,平台审核通过后即可重新编辑。")])),_:1}),V(D,{modelValue:ne.value,"onUpdate:modelValue":a[7]||(a[7]=e=>ne.value=e),class:"apply-textarea",maxlength:"500",placeholder:"请输入申请原因","adjust-position":!0,"cursor-spacing":40},null,8,["modelValue"]),V(n,{class:"apply-actions"},{default:_((()=>[V(R,{text:"取消",onClick:qe,plain:"",color:"#909399"}),V(R,{text:"提交申请",loading:ue.value,onClick:Ae,color:"#0E63E3"},null,8,["loading"])])),_:1})])),_:1})])),_:1},8,["show"]),fe.value[0].length?(C(),d(ee,{key:0,show:ye.value,columns:fe.value,onConfirm:$e,onCancel:a[8]||(a[8]=e=>ye.value=!1),onChange:Se,defaultIndex:he.value},null,8,["show","columns","defaultIndex"])):I("",!0)])),_:1})}}},[["__scopeId","data-v-32ff98dd"]]);export{J as default};
|