"use strict";const e=require("../../common/vendor.js"),a=require("../../stores/user.js"),t=require("../../utils/useDictMapper.js");if(!Array){(e.resolveComponent("u-input")+e.resolveComponent("u-textarea")+e.resolveComponent("u-datetime-picker")+e.resolveComponent("u-button"))()}const l=()=>"../../uni_modules/uview-plus/components/u-textarea/u-textarea.js",u=()=>"../../uni_modules/uview-plus/components/u-datetime-picker/u-datetime-picker.js",n=()=>"../../uni_modules/uview-plus/components/u-button/u-button.js";Math||((()=>"../../uni_modules/uview-plus/components/u-input/u-input.js")+e.unref(i)+l+u+e.unref(o)+n)();const o=()=>"../../components/attachment/index.js",i=()=>"../../components/AreaSelect/index.js",r={__name:"CaseDetails",setup(l){const{dictData:u,loading:n}=t.useDictMapper(["sys_IDType","sys_user_sex","sys_Nation","sys_BloodType","sys_Infectious","sys_AgeUnit","sys_education","sys_occupation"]),o=e=>u.value[e]||[],i=e.computed(()=>o("sys_Nation").map(e=>e.label)),r=e.computed(()=>o("sys_IDType").map(e=>e.label)),s=e.computed(()=>o("sys_Infectious")),v=e.computed(()=>o("sys_education").map(e=>e.label)),c=e.computed(()=>o("sys_occupation").map(e=>e.label)),d=e.computed(()=>o("sys_AgeUnit").map(e=>e.label)),p=a.useUserStore(),m=e.ref(!1),g=e.ref(null),f=e.ref([]),h=e.ref(!1),y=e.ref(""),b=e.ref("#f5f5f7"),x=e.ref(!1);e.ref(!1),e.ref(0);const w=e.ref(-1),S=e.ref(-1),_=e.ref(-1),N=e.ref(-1),I=e.ref(""),$=e.ref([]),T=e.ref(-1),D=e.ref(!1),V=e.ref(Date.now()),C=e.ref({sheng:"",shi:"",qu:""}),M=e.ref({sheng:"",shi:"",qu:""}),j=e.ref({caseNo:"",treatmenthospitalname:"",toHospital:"",coordinatorName:"",coordinatorNo:"",treatmentdeptname:"",deptName:"",name:"",nation:"",nationality:"中国",idcardtype:"",idcardno:"",rhYin:"1",sex:"",birthday:"",age:"",ageunit:"",inpatientno:"",gcsScore:"",diagnosisname:"",bloodType:"",infoName:"",phone:"",icuDoctor:"",icuDoctorPhone:"",reportername:"",reporterno:"",reporterphone:"",reporttime:"",contactperson:"",education:"",illnessoverview:"",infectious:"",infectiousOther:"",isTransport:"",nativeplace:"",occupation:"",patientstate:"",registeraddress:"",registerprovince:"",registerprovincename:"",registercityname:"",registertownname:"",registercommunityname:"",residenceaddress:"",residenceprovince:"",residenceprovincename:"",residencecountycode:"",residencecountyname:"",residencetownname:"",residencecommunity:"",residencecommunityname:"",remark:"",reportStatus:"1",terminationCase:0,annexfilesList:[]}),A=e.computed(()=>{const e=o("sys_user_sex");return e.length?e.map(e=>({label:e.label,value:e.value})):[{label:"男",value:"1"},{label:"女",value:"2"}]}),q=[{label:"A型",value:"A型"},{label:"B型",value:"B型"},{label:"O型",value:"O型"},{label:"AB型",value:"AB型"}],H=[{label:"阳性",value:"1"},{label:"阴性",value:"0"}],k=e.computed(()=>j.value.name&&j.value.diagnosisname&&j.value.toHospital),B=e.computed(()=>{if(T.value>=0&&d.value[T.value])return d.value[T.value];if(j.value.ageunit){const e=o("sys_AgeUnit").find(e=>e.value===j.value.ageunit);return e?e.label:j.value.ageunit}return""}),F=e.computed(()=>w.value>=0&&i.value[w.value]?i.value[w.value]:j.value.nation||""),Y=e.computed(()=>{if(S.value>=0&&r.value[S.value])return r.value[S.value];if(j.value.idcardtype){const e=o("sys_IDType").find(e=>e.value==j.value.idcardtype);return e?e.label:j.value.idcardtype}return""}),L=e.computed(()=>{if(_.value>=0&&v.value[_.value])return v.value[_.value];if(j.value.education){const e=o("sys_education").find(e=>e.value==j.value.education);return e?e.label:j.value.education}return""}),O=e.computed(()=>{if(N.value>=0&&c.value[N.value])return c.value[N.value];if(j.value.occupation){const e=o("sys_occupation").find(e=>e.value==j.value.occupation);return e?e.label:j.value.occupation}return""}),U=()=>{const e=new Date,a=`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,"0")}-${String(e.getDate()).padStart(2,"0")} ${String(e.getHours()).padStart(2,"0")}:${String(e.getMinutes()).padStart(2,"0")}:${String(e.getSeconds()).padStart(2,"0")}`;y.value=a,j.value.reporttime||(j.value.reporttime=a)},P=()=>{const e=j.value.reporttime||y.value;let a,t,l,u,n;if(e){const o=e.split(" ");if(o.length>=2){const e=o[0].split("-"),i=o[1].split(":");a=e[0],t=e[1],l=e[2],u=i[0],n=i[1]}else{const o=e.split("-");a=o[0],t=o[1],l=o[2],u="00",n="00"}}else{const e=new Date;a=e.getFullYear().toString(),t=String(e.getMonth()+1).padStart(2,"0"),l=String(e.getDate()).padStart(2,"0"),u=String(e.getHours()).padStart(2,"0"),n=String(e.getMinutes()).padStart(2,"0")}j.value.caseNo=`${a}${t}${l}${u}${n}`},E=e=>{const a=parseInt(e.detail.value);w.value=a,j.value.nation=i.value[a]},W=e=>{const a=parseInt(e.detail.value);S.value=a;const t=r.value[a],l=o("sys_IDType").find(e=>e.label==t);j.value.idcardtype=l?l.value:t},G=e=>{const a=parseInt(e.detail.value);_.value=a;const t=v.value[a],l=o("sys_education").find(e=>e.label==t);j.value.education=l?l.value:t},X=e=>{const a=parseInt(e.detail.value);N.value=a;const t=c.value[a],l=o("sys_occupation").find(e=>e.label==t);j.value.occupation=l?l.value:t},z=e=>{const a=parseInt(e.detail.value);T.value=a;const t=d.value[a],l=o("sys_AgeUnit").find(e=>e.label===t);j.value.ageunit=l?l.value:t},J=e=>{j.value.birthday=e.detail.value,K()},K=()=>{if(!j.value.birthday)return j.value.age="",j.value.ageunit="",void(T.value=-1);const a=new Date(j.value.birthday),t=new Date;if(isNaN(a.getTime()))return;if(a>t)return e.index.showToast({title:"出生日期不能是未来日期",icon:"none"}),j.value.age="",j.value.ageunit="",void(T.value=-1);const l=Math.floor((t-a)/864e5);if(l<0)return;let u,n,o=t.getFullYear()-a.getFullYear(),i=t.getMonth()-a.getMonth(),r=t.getDate()-a.getDate();if(o>=1)(i<0||0===i&&r<0)&&o--,u=o.toString(),n="岁";else if(l>=30){let e=12*o+i;r<0&&e--,u=Math.max(1,e).toString(),n="个月"}else u=Math.max(1,l).toString(),n="天";j.value.age=u,j.value.ageunit=n;const s=d.value.findIndex(e=>e===n);T.value=s>=0?s:-1},Q=()=>{(()=>{const e=j.value.idcardno;if(!e)return I.value="",!0;if(18!==e.length)return I.value="身份证号码必须是18位",!1;if(!/^\d{17}(\d|X|x)$/.test(e))return I.value="身份证号码格式不正确",!1;const a=[7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2];let t=0;for(let l=0;l<17;l++)t+=parseInt(e.charAt(l),10)*a[l];return["1","0","X","9","8","7","6","5","4","3","2"][t%11]!=e.charAt(17).toUpperCase()?(I.value="身份证号码校验失败",!1):(I.value="",!0)})()&&R()},R=()=>{const a=j.value.idcardno;if(!a||18!==a.length)return;const t=a.substring(6,10),l=a.substring(10,12),u=a.substring(12,14);if(isNaN(new Date(`${t}-${l}-${u}`).getTime()))return;j.value.birthday=`${t}-${l}-${u}`,K();const n=parseInt(a.charAt(16),10);isNaN(n)||(j.value.sex=n%2==1?"1":"2"),e.index.showToast({title:"已自动提取出生日期和性别",icon:"success",duration:1500})},Z=()=>{const a=Number(j.value.gcsScore);(a||0===a)&&(a>7&&(e.index.showToast({title:"GCS评分不能大于7",icon:"none"}),j.value.gcsScore=""),a<3&&(e.index.showToast({title:"GCS评分不能小于3",icon:"none"}),j.value.gcsScore=""))},ee=e=>f.value.includes(e),ae=e=>{const a=new Date(e.value),t=a.getFullYear(),l=String(a.getMonth()+1).padStart(2,"0"),u=String(a.getDate()).padStart(2,"0"),n=String(a.getHours()).padStart(2,"0"),o=String(a.getMinutes()).padStart(2,"0"),i=String(a.getSeconds()).padStart(2,"0");j.value.reporttime=`${t}-${l}-${u} ${n}:${o}:${i}`,D.value=!1,m.value||P()},te=e=>$.value.push(e),le=e=>{$.value=e.map(e=>({...e}))},ue=a=>{const t=a.url.startsWith("http")?a.url:(a.url.startsWith("/")?"":"/")+a.url;a.type.includes("image")?e.index.previewImage({urls:$.value.filter(e=>e.type.includes("image")).map(e=>e.url.startsWith("http")?e.url:(e.url.startsWith("/")?"":"/")+e.url),current:t}):a.type.includes("pdf")?e.index.downloadFile({url:t,success:a=>e.index.openDocument({filePath:a.tempFilePath,fileType:"pdf",showMenu:!0})}):e.index.showToast({title:"暂不支持此文件类型预览",icon:"none"})},ne=e=>{j.value.residenceprovincename=e.sheng,j.value.residenceprovince=e.provinceCode||"",j.value.residencecountyname=e.shi,j.value.residencetownname=e.qu},oe=e=>{j.value.registerprovincename=e.sheng,j.value.registerprovince=e.provinceCode||"",j.value.registercityname=e.shi,j.value.registertownname=e.qu},ie=()=>e.index.navigateBack(),re=()=>{e.index.showModal({title:"确认重置",content:"确定要清空所有已填写的内容吗?",success:a=>{a.confirm&&(Object.keys(j.value).forEach(e=>{["id","caseNo"].includes(e)||(j.value[e]="")}),j.value.nationality="中国",j.value.reportStatus="1",j.value.terminationCase=0,w.value=-1,S.value=-1,_.value=-1,N.value=-1,T.value=-1,f.value=[],$.value=[],C.value={sheng:"",shi:"",qu:""},M.value={sheng:"",shi:"",qu:""},m.value||(U(),P()),e.index.showToast({title:"表单已重置",icon:"success"}))}})},se=async()=>{if(k.value)try{h.value=!0,e.index.showLoading({title:m.value?"修改中...":"提交中..."});const a={...j.value,treatmenthospitalname:j.value.toHospital,age:parseInt(j.value.age)||0,annexfilesList:$.value.map(e=>({path:e.url,fileName:e.name,type:e.type})),isTransport:j.value.isTransport,terminationCase:j.value.terminationCase||0,reportStatus:j.value.reportStatus||"1"};let t;if(t=m.value?await e.index.$uapi.post("/project/donatebaseinforeport/edit",a):await e.index.$uapi.post("/project/donatebaseinforeport/add",a),e.index.hideLoading(),200!=t.code)throw new Error(t.msg||"操作失败");e.index.showToast({title:m.value?"修改成功":"上报成功",icon:"success"}),setTimeout(()=>e.index.navigateBack(),1500)}catch(a){e.index.showToast({title:a.message||(m.value?"修改失败":"上报失败"),icon:"none"})}finally{h.value=!1}else e.index.showToast({title:"请填写姓名、疾病诊断和上报医院",icon:"none"})};return e.onMounted(()=>{U(),setInterval(U,1e3)}),e.onLoad(async a=>{a.id?(g.value=a.id,m.value=!0,await new Promise(a=>{if(n.value){const t=e.watch(n,e=>{e||(t(),a())})}else a()}),await(async a=>{try{h.value=!0;const t=await e.index.$uapi.get(`/project/donatebaseinforeport/getInfo/${a}`);if(!t.code)throw new Error(t.msg||"数据加载失败");if(j.value=t.data,t.data.infectious&&(f.value=t.data.infectious.split(",").filter(e=>""!==e.trim())),j.value.nation){const e=i.value.findIndex(e=>e==j.value.nation);w.value=e>=0?e:-1}if(j.value.idcardtype){const e=o("sys_IDType").findIndex(e=>e.value==j.value.idcardtype);S.value=e>=0?e:-1}if(j.value.education){const e=o("sys_education").findIndex(e=>e.value==j.value.education);_.value=e>=0?e:-1}if(j.value.occupation){const e=o("sys_occupation").findIndex(e=>e.value==j.value.occupation);N.value=e>=0?e:-1}if(j.value.ageunit){const e=d.value.findIndex(e=>e===j.value.ageunit);T.value=e>=0?e:-1}t.data.residenceprovincename&&(C.value={sheng:t.data.residenceprovincename,shi:t.data.residencecountyname,qu:t.data.residencetownname}),t.data.registerprovincename&&(M.value={sheng:t.data.registerprovincename,shi:t.data.registercityname,qu:t.data.registertownname}),t.data.annexfilesList&&($.value=t.data.annexfilesList.map(e=>({url:e.path,name:e.fileName,type:e.type||""})))}catch(t){e.index.showToast({title:"数据加载失败,请重试",icon:"none"})}finally{h.value=!1}})(a.id)):(m.value=!1,P(),U()),p.userInfo||await p.refreshUserInfo();const t=p.userInfo;t&&(j.value.treatmenthospitalname||(j.value.treatmenthospitalname=t.orgName),j.value.toHospital||(j.value.toHospital=t.orgName),j.value.coordinatorName||(j.value.coordinatorName=t.coordinatorName),j.value.coordinatorNo||(j.value.coordinatorNo=t.coordinatorNo),j.value.infoName||(j.value.infoName=t.nickName),j.value.phone||(j.value.phone=t.phonenumber),j.value.reportername||(j.value.reportername=t.name),j.value.reporterno||(j.value.reporterno=t.userId)),U()}),(a,t)=>e.e({a:e.t(m.value?"修改案例":"上报案例"),b:e.o(e=>j.value.caseNo=e),c:e.p({placeholder:"系统自动生成",disabled:!0,disabledColor:b.value,modelValue:j.value.caseNo}),d:e.o(e=>j.value.toHospital=e),e:e.p({placeholder:"请输入上报医院",maxlength:"100",modelValue:j.value.toHospital}),f:e.o(e=>j.value.deptName=e),g:e.p({placeholder:"请输入上报科室",maxlength:"50",modelValue:j.value.deptName}),h:e.o(e=>j.value.name=e),i:e.p({type:"text",placeholder:"请输入姓名",maxlength:"20",modelValue:j.value.name}),j:e.t(F.value||"请选择民族"),k:i.value,l:w.value,m:e.o(E),n:e.o(e=>j.value.nationality=e),o:e.p({type:"text",placeholder:"请输入国籍",modelValue:j.value.nationality}),p:e.t(Y.value||"请选择证件类型"),q:r.value,r:S.value,s:e.o(W),t:e.o(Q),v:e.o(e=>j.value.idcardno=e),w:e.p({type:"idcard",placeholder:"请输入证件号码",maxlength:"18",modelValue:j.value.idcardno}),x:I.value},I.value?{y:e.t(I.value)}:{},{z:e.f(A.value,(a,t,l)=>({a:e.t(a.label),b:a.value,c:j.value.sex==a.value?1:"",d:e.o(e=>j.value.sex=a.value,a.value)})),A:e.t(j.value.birthday||"选择出生日期"),B:j.value.birthday,C:e.o(J),D:e.o(e=>j.value.age=e),E:e.p({placeholder:"输入或自动计算",type:"number",modelValue:j.value.age}),F:e.t(B.value||"单位"),G:d.value,H:T.value,I:e.o(z),J:e.o(e=>j.value.phone=e),K:e.p({placeholder:"请输入联系电话",type:"number",modelValue:j.value.phone}),L:e.t(L.value||"请选择学历"),M:v.value,N:_.value,O:e.o(G),P:e.t(O.value||"请选择职业"),Q:c.value,R:N.value,S:e.o(X),T:e.o(e=>j.value.nativeplace=e),U:e.p({placeholder:"请输入籍贯",modelValue:j.value.nativeplace}),V:e.o(ne),W:e.o(e=>C.value=e),X:e.p({modelValue:C.value}),Y:e.o(e=>j.value.residenceaddress=e),Z:e.p({placeholder:"请输入详细地址",border:"none",modelValue:j.value.residenceaddress}),aa:e.o(oe),ab:e.o(e=>M.value=e),ac:e.p({modelValue:M.value}),ad:e.o(e=>j.value.registeraddress=e),ae:e.p({placeholder:"请输入详细地址",border:"none",modelValue:j.value.registeraddress}),af:e.o(e=>j.value.inpatientno=e),ag:e.p({placeholder:"请输入住院号",modelValue:j.value.inpatientno}),ah:e.o(Z),ai:e.o(e=>j.value.gcsScore=e),aj:e.p({type:"number",maxlength:"1",placeholder:"≤7",modelValue:j.value.gcsScore}),ak:e.o(e=>j.value.diagnosisname=e),al:e.p({placeholder:"请输入疾病诊断名称",count:!0,maxlength:"200",modelValue:j.value.diagnosisname}),am:e.f(q,(a,t,l)=>({a:j.value.bloodType==a.value?1:"",b:e.t(a.label),c:a.value,d:e.o(e=>j.value.bloodType=a.value,a.value)})),an:e.f(H,(a,t,l)=>({a:j.value.rhYin==a.value?1:"",b:e.t(a.label),c:a.value,d:e.o(e=>j.value.rhYin=a.value,a.value)})),ao:e.f(s.value,(a,t,l)=>e.e({a:ee(a.value)},(ee(a.value),{}),{b:ee(a.value)?1:"",c:e.t(a.label),d:a.value,e:ee(a.value)?1:"",f:e.o(e=>(e=>{const a=f.value.indexOf(e);-1===a?f.value.push(e):f.value.splice(a,1),j.value.infectious=f.value.join(",")})(a.value),a.value)})),ap:e.o(e=>j.value.infectiousOther=e),aq:e.p({placeholder:"请输入其他传染病",modelValue:j.value.infectiousOther}),ar:e.o(e=>j.value.infoName=e),as:e.p({placeholder:"请输入信息员",modelValue:j.value.infoName}),at:e.t(j.value.reporttime||"选择报告时间"),av:e.o(e=>D.value=!0),aw:e.o(ae),ax:e.o(e=>D.value=!1),ay:e.o(e=>V.value=e),az:e.p({show:D.value,mode:"datetime",title:"选择报告时间",modelValue:V.value}),aA:e.sr("attachment","1eced393-19"),aB:e.o(le),aC:e.o(te),aD:e.o(ue),aE:e.p({files:$.value,readonly:x.value,maxCount:5}),aF:e.o(ie),aG:e.o(re),aH:e.t(h.value?"提交中...":m.value?"保存修改":"提交上报"),aI:e.o(se),aJ:e.p({disabled:!k.value||h.value}),aK:e.gei(a,"")})}},s=e._export_sfc(r,[["__scopeId","data-v-1eced393"]]);wx.createPage(s);