2 lines
11 KiB
JavaScript
2 lines
11 KiB
JavaScript
import{o as X,q as g,r as y,v as o,D as n,b9 as Y,u as a,bD as Z,L as p,b6 as h,b7 as ee,s as i,bc as le,bf as ae,J as oe,bK as te,bm as ne,F as O,G as S,O as A,bn as de,I as re,T as c,K as se,C as ie,B as ue,a8 as pe,M as V,p as me,ba as F}from"./.pnpm-BGZW0UGg.js";import{_ as fe}from"./picker-uwVhCb3U.js";import{b as _e,d as be,e as ge}from"./admin-lNuW1kQn.js";import{d as ce}from"./department-CWFNiPVT.js";import{j as Ve}from"./post-CgwMaVP8.js";import{i as ve,m as we,_ as ye}from"./index-CTzEhZ24.js";import{u as xe}from"./useDictOptions-BN-Cd5KH.js";import"./index-B99pjMPF.js";import"./index-BauW3iNq.js";import"./index.vue_vue_type_script_setup_true_lang-ByFSC-yR.js";import"./index-ag3Z2xAC.js";import"./index-DmJsTQNR.js";import"./file-BQ0rU-P3.js";import"./index.vue_vue_type_script_setup_true_lang-DBx_F7yj.js";import"./usePaging-C4oc3vBq.js";const Ue={class:"edit-drawer"},Ee={class:"w-full"},De={class:"ml-2 text-gray-500"},je={class:"ml-2 text-gray-500"},qe={class:"ml-2 text-gray-500"},ke={class:"ml-2 text-gray-500"},Ce={class:"flex justify-end"},Re=X({__name:"edit",emits:["success","close"],setup(Be,{expose:I,emit:N}){function T(r){if(r.status!==1)return!0;const e=r.children;return Array.isArray(e)&&e.length>0}const x=N,U=pe(),m=V(!1),f=V("add"),v=V(!1),E=V([]),G=async()=>{const r=await we({type:"department"});E.value=(r==null?void 0:r.department)||[]},K=me(()=>f.value=="edit"?"编辑医生":"新增医生"),l=F({id:"",account:"",name:"",gender:1,age:null,phone:"",role_id:[1],dept_id:[],jobs_id:[],avatar:"",title:"",license_no:"",qualification_images:"",enable_image_consult:1,enable_video_consult:1,enable_charge:0,department:"",specialty:"",education:"",experience:"",honors:"",password:"",password_confirm:"",disable:0,multipoint_login:1}),{optionsData:D}=xe({jobs:{api:Ve},dept:{api:ce,params:{apply_data_scope:1}}}),w=(r,e,s)=>{l.password&&(e||s(new Error("请再次输入密码")),e!==l.password&&s(new Error("两次输入密码不一致!"))),s()},_=F({account:[{required:!0,message:"请输入账号",trigger:["blur"]}],name:[{required:!0,message:"请输入姓名",trigger:["blur"]}],gender:[{required:!0,message:"请选择性别",trigger:["change"]}],dept_id:[{required:!0,type:"array",min:1,message:"请选择归属部门",trigger:["change"]}],phone:[{validator:(r,e,s)=>{e&&!/^1[3-9]\d{9}$/.test(e)?s(new Error("请输入正确的手机号")):s()},trigger:"blur"}],password:[{required:!0,message:"请输入密码",trigger:["blur"]}],password_confirm:[{required:!0,message:"请输入确认密码",trigger:["blur"]},{validator:w,trigger:"blur"}]}),L=async()=>{var r;try{await((r=U.value)==null?void 0:r.validate()),v.value=!0,f.value=="edit"?await _e(l):await be(l),ve.msgSuccess(f.value=="edit"?"编辑成功":"新增成功"),m.value=!1,x("success")}catch(e){console.error("提交失败:",e)}finally{v.value=!1}},z=(r="add")=>{f.value=r,m.value=!0,G(),r==="add"&&(Object.assign(l,{id:"",account:"",name:"",gender:1,age:null,phone:"",role_id:[1],dept_id:[],jobs_id:[],avatar:"",title:"",license_no:"",qualification_images:"",enable_image_consult:1,enable_video_consult:1,enable_charge:0,department:"",specialty:"",education:"",experience:"",honors:"",password:"",password_confirm:"",disable:0,multipoint_login:1}),_.password=[{required:!0,message:"请输入密码",trigger:["blur"]}],_.password_confirm=[{required:!0,message:"请输入确认密码",trigger:["blur"]},{validator:w,trigger:"blur"}])},J=async r=>{_.password=[],_.password_confirm=[{validator:w,trigger:"blur"}];const e=await ge({id:r.id});for(const s in l)e[s]!=null&&e[s]!=null&&(l[s]=e[s]);l.role_id.includes(1)||l.role_id.push(1)},j=()=>{m.value=!1,x("close")};return I({open:z,setFormData:J}),(r,e)=>{const s=Z,u=ee,d=h,q=fe,k=ae,M=le,P=oe,$=te,C=de,R=ne,b=re,H=Y,B=se,Q=ue;return g(),y("div",Ue,[o(Q,{modelValue:a(m),"onUpdate:modelValue":e[23]||(e[23]=t=>ie(m)?m.value=t:null),title:a(K),direction:"rtl",size:"780px","before-close":j},{footer:n(()=>[i("div",Ce,[o(B,{onClick:j},{default:n(()=>[...e[35]||(e[35]=[p("取消",-1)])]),_:1}),o(B,{type:"primary",onClick:L,loading:a(v)},{default:n(()=>[...e[36]||(e[36]=[p("确定",-1)])]),_:1},8,["loading"])])]),default:n(()=>[o(H,{ref_key:"formRef",ref:U,model:a(l),"label-width":"100px",rules:a(_)},{default:n(()=>[o(s,{"content-position":"left"},{default:n(()=>[...e[24]||(e[24]=[p("基本信息",-1)])]),_:1}),o(d,{label:"账号",prop:"account"},{default:n(()=>[o(u,{modelValue:a(l).account,"onUpdate:modelValue":e[0]||(e[0]=t=>a(l).account=t),placeholder:"请输入账号",clearable:""},null,8,["modelValue"])]),_:1}),o(d,{label:"头像"},{default:n(()=>[i("div",null,[i("div",null,[o(q,{modelValue:a(l).avatar,"onUpdate:modelValue":e[1]||(e[1]=t=>a(l).avatar=t),limit:1},null,8,["modelValue"])]),e[25]||(e[25]=i("div",{class:"form-tips"},"建议尺寸:100*100px,支持jpg,jpeg,png格式",-1))])]),_:1}),o(d,{label:"姓名",prop:"name"},{default:n(()=>[o(u,{modelValue:a(l).name,"onUpdate:modelValue":e[2]||(e[2]=t=>a(l).name=t),placeholder:"请输入姓名",clearable:""},null,8,["modelValue"])]),_:1}),o(d,{label:"性别",prop:"gender"},{default:n(()=>[o(M,{modelValue:a(l).gender,"onUpdate:modelValue":e[3]||(e[3]=t=>a(l).gender=t)},{default:n(()=>[o(k,{label:1},{default:n(()=>[...e[26]||(e[26]=[p("男",-1)])]),_:1}),o(k,{label:2},{default:n(()=>[...e[27]||(e[27]=[p("女",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),o(d,{label:"年龄",prop:"age"},{default:n(()=>[o(P,{modelValue:a(l).age,"onUpdate:modelValue":e[4]||(e[4]=t=>a(l).age=t),min:18,max:100,placeholder:"请输入年龄"},null,8,["modelValue"])]),_:1}),o(d,{label:"手机号",prop:"phone"},{default:n(()=>[o(u,{modelValue:a(l).phone,"onUpdate:modelValue":e[5]||(e[5]=t=>a(l).phone=t),placeholder:"请输入手机号",clearable:""},null,8,["modelValue"])]),_:1}),o(s,{"content-position":"left"},{default:n(()=>[...e[28]||(e[28]=[p("组织信息",-1)])]),_:1}),o(d,{label:"归属部门",prop:"dept_id"},{default:n(()=>[i("div",Ee,[o($,{class:"flex-1 w-full",modelValue:a(l).dept_id,"onUpdate:modelValue":e[6]||(e[6]=t=>a(l).dept_id=t),data:a(D).dept,clearable:"",multiple:"","node-key":"id",props:{label:"name",disabled:T},"check-strictly":"","default-expand-all":!0,placeholder:"请选择末级归属部门"},null,8,["modelValue","data","props"]),e[29]||(e[29]=i("div",{class:"form-tips"},"仅可选末级部门(含下级的父部门不可选),与数据权限范围一致。",-1))])]),_:1}),o(d,{label:"岗位",prop:"jobs_id"},{default:n(()=>[o(R,{class:"flex-1",modelValue:a(l).jobs_id,"onUpdate:modelValue":e[7]||(e[7]=t=>a(l).jobs_id=t),clearable:"",multiple:"",placeholder:"请选择岗位"},{default:n(()=>[(g(!0),y(O,null,S(a(D).jobs,(t,W)=>(g(),A(C,{key:W,label:t.name,value:t.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),o(s,{"content-position":"left"},{default:n(()=>[...e[30]||(e[30]=[p("专业信息",-1)])]),_:1}),o(d,{label:"职称",prop:"title"},{default:n(()=>[o(u,{modelValue:a(l).title,"onUpdate:modelValue":e[8]||(e[8]=t=>a(l).title=t),placeholder:"如:主任医师、副主任医师",clearable:""},null,8,["modelValue"])]),_:1}),o(d,{label:"执业证书编号",prop:"license_no"},{default:n(()=>[o(u,{modelValue:a(l).license_no,"onUpdate:modelValue":e[9]||(e[9]=t=>a(l).license_no=t),placeholder:"请输入执业证书编号",clearable:""},null,8,["modelValue"])]),_:1}),o(d,{label:"资质图片"},{default:n(()=>[i("div",null,[i("div",null,[o(q,{modelValue:a(l).qualification_images,"onUpdate:modelValue":e[10]||(e[10]=t=>a(l).qualification_images=t),limit:9},null,8,["modelValue"])]),e[31]||(e[31]=i("div",{class:"form-tips"},"上传医生资质证书、荣誉证书等图片,最多9张,建议尺寸:800*600px",-1))])]),_:1}),o(d,{label:"图文问诊"},{default:n(()=>[o(b,{modelValue:a(l).enable_image_consult,"onUpdate:modelValue":e[11]||(e[11]=t=>a(l).enable_image_consult=t),"active-value":1,"inactive-value":0},null,8,["modelValue"]),i("span",De,c(a(l).enable_image_consult===1?"已开启":"已关闭"),1)]),_:1}),o(d,{label:"视频问诊"},{default:n(()=>[o(b,{modelValue:a(l).enable_video_consult,"onUpdate:modelValue":e[12]||(e[12]=t=>a(l).enable_video_consult=t),"active-value":1,"inactive-value":0},null,8,["modelValue"]),i("span",je,c(a(l).enable_video_consult===1?"已开启":"已关闭"),1)]),_:1}),o(d,{label:"是否开启收费"},{default:n(()=>[o(b,{modelValue:a(l).enable_charge,"onUpdate:modelValue":e[13]||(e[13]=t=>a(l).enable_charge=t),"active-value":1,"inactive-value":0},null,8,["modelValue"]),i("span",qe,c(a(l).enable_charge===1?"已开启":"已关闭"),1)]),_:1}),o(d,{label:"所属科室",prop:"department"},{default:n(()=>[o(R,{modelValue:a(l).department,"onUpdate:modelValue":e[14]||(e[14]=t=>a(l).department=t),placeholder:"请选择所属科室",clearable:"",class:"flex-1"},{default:n(()=>[(g(!0),y(O,null,S(a(E),t=>(g(),A(C,{key:t.value,label:t.name,value:t.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),o(d,{label:"擅长领域",prop:"specialty"},{default:n(()=>[o(u,{modelValue:a(l).specialty,"onUpdate:modelValue":e[15]||(e[15]=t=>a(l).specialty=t),type:"textarea",rows:3,placeholder:"请输入擅长领域"},null,8,["modelValue"])]),_:1}),o(s,{"content-position":"left"},{default:n(()=>[...e[32]||(e[32]=[p("履历信息",-1)])]),_:1}),o(d,{label:"教育背景",prop:"education"},{default:n(()=>[o(u,{modelValue:a(l).education,"onUpdate:modelValue":e[16]||(e[16]=t=>a(l).education=t),type:"textarea",rows:3,placeholder:"请输入教育背景,如:北京中医药大学 中医学博士"},null,8,["modelValue"])]),_:1}),o(d,{label:"工作经历",prop:"experience"},{default:n(()=>[o(u,{modelValue:a(l).experience,"onUpdate:modelValue":e[17]||(e[17]=t=>a(l).experience=t),type:"textarea",rows:4,placeholder:"请输入工作经历"},null,8,["modelValue"])]),_:1}),o(d,{label:"荣誉资质",prop:"honors"},{default:n(()=>[o(u,{modelValue:a(l).honors,"onUpdate:modelValue":e[18]||(e[18]=t=>a(l).honors=t),type:"textarea",rows:3,placeholder:"请输入荣誉资质"},null,8,["modelValue"])]),_:1}),o(s,{"content-position":"left"},{default:n(()=>[...e[33]||(e[33]=[p("账号设置",-1)])]),_:1}),o(d,{label:"密码",prop:"password"},{default:n(()=>[o(u,{modelValue:a(l).password,"onUpdate:modelValue":e[19]||(e[19]=t=>a(l).password=t),"show-password":"",clearable:"",placeholder:a(f)==="edit"?"不修改请留空":"请输入密码"},null,8,["modelValue","placeholder"])]),_:1}),o(d,{label:"确认密码",prop:"password_confirm"},{default:n(()=>[o(u,{modelValue:a(l).password_confirm,"onUpdate:modelValue":e[20]||(e[20]=t=>a(l).password_confirm=t),"show-password":"",clearable:"",placeholder:a(f)==="edit"?"不修改请留空":"请输入确认密码"},null,8,["modelValue","placeholder"])]),_:1}),o(d,{label:"状态"},{default:n(()=>[o(b,{modelValue:a(l).disable,"onUpdate:modelValue":e[21]||(e[21]=t=>a(l).disable=t),"active-value":0,"inactive-value":1},null,8,["modelValue"]),i("span",ke,c(a(l).disable===0?"启用":"禁用"),1)]),_:1}),o(d,{label:"多处登录"},{default:n(()=>[i("div",null,[o(b,{modelValue:a(l).multipoint_login,"onUpdate:modelValue":e[22]||(e[22]=t=>a(l).multipoint_login=t),"active-value":1,"inactive-value":0},null,8,["modelValue"]),e[34]||(e[34]=i("div",{class:"form-tips"},"允许多人同时在线登录",-1))])]),_:1})]),_:1},8,["model","rules"])]),_:1},8,["modelValue","title"])])}}}),Qe=ye(Re,[["__scopeId","data-v-cf984238"]]);export{Qe as default};
|