WXL
昨天 888f941ae16c850c0f1a844ec9436058840920bd
1
import{_ as e,r as l,J as a,c as u,w as t,i as s,a as d,e as n,b as o,t as r,d as c,B as i,f as v,F as m,D as f,K as p,L as b,M as _,k as h,I as g,V,x as I,ax as y}from"./index-DF3kK8Jo.js";const k=e({__name:"add",setup(e){const k=[{value:"macauId",label:"青岛居民身份证"},{value:"mainlandId",label:"内地居民身份证"},{value:"hkId",label:"香港居民身份证"},{value:"passport",label:"护照"},{value:"other",label:"其他证件"}],x=l(0),N=l(-1),$=a(()=>k.map(e=>e.label)),C=[{value:"self",label:"本人"},{value:"parent",label:"父母"},{value:"spouse",label:"配偶"},{value:"child",label:"子女"},{value:"grandparent",label:"祖父母"},{value:"sibling",label:"兄弟姐妹"},{value:"other",label:"其他"}],q=a(()=>C.map(e=>e.label)),U=l({name:"",idType:"macauId",idNumber:"",relation:"",cardNo:"",phone:"",verifyCode:"",isDefault:!1}),w=l("bind"),T=l(0);let D=null;const A=l(""),B=a(()=>"mainlandId"===k[x.value].value?18:20),K=a(()=>{switch(k[x.value].value){case"macauId":return"请输入8位青岛居民身份证号码";case"mainlandId":return"请输入18位内地居民身份证号码";case"hkId":return"请输入香港居民身份证号码";case"passport":return"请输入护照号码";default:return"请输入证件号码"}}),M={macauId:{pattern:/^[1-9]\d{7}$/,message:"请输入8位数字的青岛居民身份证号码"},mainlandId:{pattern:/(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/,message:"请输入正确的内地居民身份证号码"},hkId:{pattern:/^[A-Z]{1,2}[0-9]{6}\([0-9A]\)$/,message:"请输入正确的香港居民身份证号码"}},j=()=>{if(!U.value.idNumber)return A.value="请输入证件号码",!1;const e=k[x.value].value,l=M[e];if(l){if(!l.pattern.test(U.value.idNumber))return A.value=l.message,!1}return A.value="",!0},F=e=>/^6\d{7}$/.test(e)||/^1[3-9]\d{9}$/.test(e)||/^[569]\d{7}$/.test(e),J=()=>{T.value>0||(U.value.phone?F(U.value.phone)?(T.value=60,D=setInterval(()=>{T.value--,T.value<=0&&(clearInterval(D),D=null)},1e3)):f({title:"请输入正确的手机号码",icon:"none"}):f({title:"请输入手机号码",icon:"none"}))},L=e=>{const l=parseInt(e.detail.value);x.value=l,U.value.idType=k[l].value,U.value.idNumber="",A.value=""},S=e=>{const l=parseInt(e.detail.value);N.value=l,U.value.relation=C[l].value},W=a(()=>{const{name:e,idNumber:l,relation:a,phone:u}=U.value;return!!(e&&l&&a&&u)&&(!A.value&&!("bind"===w.value&&!U.value.cardNo))}),X=()=>{var e;W.value&&(j()&&("bind"!==w.value||(e=U.value.cardNo,/^KW\d{8}$/.test(e)||/^MUST\d{6}$/.test(e))?F(U.value.phone)?(p({title:"保存中..."}),console.log("提交表单:",U.value),setTimeout(()=>{b(),f({title:"保存成功",icon:"success"}),setTimeout(()=>{_()},1500)},1e3)):f({title:"请输入正确的手机号码",icon:"none"}):f({title:"请输入正确的就诊卡号",icon:"none"})))};onUnmounted(()=>{D&&(clearInterval(D),D=null)});const Z=a(()=>x.value>=0&&k[x.value]?k[x.value].label:"请选择证件类型"),z=a(()=>N.value>=0&&C[N.value]?C[N.value].label:"请选择关系");return(e,l)=>{const a=s,f=h,p=g,b=V,_=I,k=y;return d(),u(a,{class:"add-patient"},{default:t(()=>[n(a,{class:"form-card"},{default:t(()=>[n(a,{class:"section-title"},{default:t(()=>[o("基本信息")]),_:1}),n(a,{class:"form-item"},{default:t(()=>[n(f,{class:"label required"},{default:t(()=>[o("姓名")]),_:1}),n(p,{type:"text",modelValue:U.value.name,"onUpdate:modelValue":l[0]||(l[0]=e=>U.value.name=e),placeholder:"请输入就诊人姓名",maxlength:"20"},null,8,["modelValue"])]),_:1}),n(a,{class:"form-item"},{default:t(()=>[n(f,{class:"label required"},{default:t(()=>[o("证件类型")]),_:1}),n(b,{mode:"selector",range:$.value,value:x.value,onChange:L},{default:t(()=>[n(a,{class:"picker"},{default:t(()=>[n(f,null,{default:t(()=>[o(r(Z.value),1)]),_:1}),n(f,{class:"iconfont icon-arrow-right"})]),_:1})]),_:1},8,["range","value"])]),_:1}),n(a,{class:"form-item"},{default:t(()=>[n(f,{class:"label required"},{default:t(()=>[o("证件号码")]),_:1}),n(p,{type:"idcard",modelValue:U.value.idNumber,"onUpdate:modelValue":l[1]||(l[1]=e=>U.value.idNumber=e),placeholder:K.value,maxlength:B.value,onBlur:j},null,8,["modelValue","placeholder","maxlength"]),A.value?(d(),u(f,{key:0,class:"error"},{default:t(()=>[o(r(A.value),1)]),_:1})):c("",!0)]),_:1}),n(a,{class:"form-item"},{default:t(()=>[n(f,{class:"label required"},{default:t(()=>[o("与本人关系")]),_:1}),n(b,{mode:"selector",range:q.value,value:N.value,onChange:S},{default:t(()=>[n(a,{class:"picker"},{default:t(()=>[n(f,null,{default:t(()=>[o(r(z.value),1)]),_:1}),n(f,{class:"iconfont icon-arrow-right"})]),_:1})]),_:1},8,["range","value"])]),_:1})]),_:1}),n(a,{class:"form-card"},{default:t(()=>[n(a,{class:"section-title"},{default:t(()=>[o("就诊卡信息")]),_:1}),n(a,{class:"card-options"},{default:t(()=>[n(a,{class:i(["option-item",{active:"bind"===w.value}]),onClick:l[2]||(l[2]=e=>w.value="bind")},{default:t(()=>[n(f,{class:"radio"}),n(f,null,{default:t(()=>[o("绑定已有就诊卡")]),_:1})]),_:1},8,["class"]),n(a,{class:i(["option-item",{active:"new"===w.value}]),onClick:l[3]||(l[3]=e=>w.value="new")},{default:t(()=>[n(f,{class:"radio"}),n(f,null,{default:t(()=>[o("办理新就诊卡")]),_:1})]),_:1},8,["class"])]),_:1}),"bind"===w.value?(d(),v(m,{key:0},[n(a,{class:"form-item"},{default:t(()=>[n(f,{class:"label required"},{default:t(()=>[o("就诊卡号")]),_:1}),n(p,{type:"text",modelValue:U.value.cardNo,"onUpdate:modelValue":l[4]||(l[4]=e=>U.value.cardNo=e),placeholder:"请输入就诊卡号",maxlength:"12"},null,8,["modelValue"])]),_:1}),n(a,{class:"form-item"},{default:t(()=>[n(f,{class:"label required"},{default:t(()=>[o("手机号码")]),_:1}),n(p,{type:"number",modelValue:U.value.phone,"onUpdate:modelValue":l[5]||(l[5]=e=>U.value.phone=e),placeholder:"请输入办卡时预留的手机号",maxlength:"11"},null,8,["modelValue"])]),_:1}),n(a,{class:"form-item verify-code"},{default:t(()=>[n(f,{class:"label required"},{default:t(()=>[o("验证码")]),_:1}),n(p,{type:"number",modelValue:U.value.verifyCode,"onUpdate:modelValue":l[6]||(l[6]=e=>U.value.verifyCode=e),placeholder:"请输入验证码",maxlength:"6"},null,8,["modelValue"]),n(_,{class:"send-btn",disabled:!!T.value,onClick:J},{default:t(()=>[o(r(T.value?`${T.value}s`:"获取验证码"),1)]),_:1},8,["disabled"])]),_:1})],64)):(d(),v(m,{key:1},[n(a,{class:"form-item"},{default:t(()=>[n(f,{class:"label required"},{default:t(()=>[o("手机号码")]),_:1}),n(p,{type:"number",modelValue:U.value.phone,"onUpdate:modelValue":l[7]||(l[7]=e=>U.value.phone=e),placeholder:"请输入手机号码",maxlength:"11"},null,8,["modelValue"])]),_:1}),n(a,{class:"notice"},{default:t(()=>[n(f,{class:"dot"}),n(f,null,{default:t(()=>[o("新办就诊卡需要到医院自助机或服务台激活后才能使用")]),_:1})]),_:1})],64))]),_:1}),n(a,{class:"form-card"},{default:t(()=>[n(a,{class:"switch-item"},{default:t(()=>[n(f,null,{default:t(()=>[o("设为默认就诊人")]),_:1}),n(k,{checked:U.value.isDefault,onChange:l[8]||(l[8]=e=>U.value.isDefault=e.detail.value),color:"#0f95b0"},null,8,["checked"])]),_:1})]),_:1}),n(a,{class:"bottom-bar"},{default:t(()=>[n(_,{class:"submit-btn primary-btn",disabled:!W.value,onClick:X},{default:t(()=>[o("保存")]),_:1},8,["disabled"])]),_:1})]),_:1})}}},[["__scopeId","data-v-c28e0e71"]]);export{k as default};