2 lines
12 KiB
JavaScript
2 lines
12 KiB
JavaScript
import{G as W,R as X,D as Y,F as Z,C as h,I as ee,h as le,S as oe,P as ae,Q as te,g as re,i as de,e as ne}from"./element-plus-BMTkHLHO.js";import{_ as ie}from"./picker-CZdl8TOk.js";import{b as se,d as pe,e as ue}from"./admin-CFEVrA4m.js";import{d as me}from"./department-DjQu8mEQ.js";import{j as fe}from"./post-CsmubPWE.js";import{f as _e,j as be,d as ce}from"./index-_HeSPmLP.js";import{u as Ve}from"./useDictOptions-DRs4kdTo.js";import{f as ge,ak as c,I as y,a,aN as r,O as u,J as p,F as S,ap as F,G as I,A as ve}from"./@vue/runtime-core-D7eUgySO.js";import{y as o,a as we,u as ye,o as V,r as O}from"./@vue/reactivity-maRK_BBd.js";import{Q as g}from"./@vue/shared-C75lBtbe.js";import"./@vue/runtime-dom-DVgibYoU.js";import"./nprogress-BpICrWuH.js";import"./@element-plus/icons-vue-BX5NvPi2.js";import"./lodash-es-BADexyn7.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-BOuxpn4j.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-Bi8ZuWNg.js";import"./index-CcUcGwR5.js";import"./index.vue_vue_type_script_setup_true_lang-C4EjxgJU.js";import"./index-CKXnPZ-R.js";import"./index-D_m7ga9B.js";import"./index.vue_vue_type_script_setup_true_lang-DCcZRqCf.js";import"./@vueuse/core-DCeljLnb.js";import"./@vueuse/shared-B444yVpD.js";import"./usePaging-CPrBIeJ2.js";import"./vuedraggable-DoxySVw6.js";import"./vue-BWLcg9DT.js";import"./@vue/compiler-dom-Ddn9Zm90.js";import"./@vue/compiler-core-KYniu4wC.js";import"./sortablejs-BkVvOzsn.js";import"./jspdf-G5PuBoTt.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-CJXI7XhX.js";import"./pinia-BhomUS5m.js";import"./axios-C80V62Fs.js";import"./lodash-Ct9_CZb9.js";import"./css-color-function-BVb6B1lA.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-ChYu0NfX.js";import"./clipboard-Bmfw2kIN.js";import"./echarts-DYKKs4Al.js";import"./tslib-BDyQ-Jie.js";import"./zrender-CTTuYiLF.js";import"./highlight.js-jaPyNblr.js";import"./@highlightjs/vue-plugin-ASXrwou_.js";const xe={class:"edit-drawer"},Ue={class:"ml-2 text-gray-500"},Ee={class:"ml-2 text-gray-500"},je={class:"ml-2 text-gray-500"},De={class:"ml-2 text-gray-500"},ke={class:"flex justify-end"},Re=ge({__name:"edit",emits:["success","close"],setup(qe,{expose:B,emit:N}){const x=N,U=ye(),m=V(!1),f=V("add"),v=V(!1),E=V([]),A=async()=>{const i=await be({type:"department"});E.value=(i==null?void 0:i.department)||[]},G=ve(()=>f.value=="edit"?"编辑医生":"新增医生"),l=O({id:"",account:"",name:"",gender:1,age:null,phone:"",role_id:[1],dept_id:[],jobs_id:[],avatar:"",title:"",license_no:"",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:j}=Ve({jobs:{api:fe},dept:{api:me}}),w=(i,e,n)=>{l.password&&(e||n(new Error("请再次输入密码")),e!==l.password&&n(new Error("两次输入密码不一致!"))),n()},_=O({account:[{required:!0,message:"请输入账号",trigger:["blur"]}],name:[{required:!0,message:"请输入姓名",trigger:["blur"]}],gender:[{required:!0,message:"请选择性别",trigger:["change"]}],phone:[{validator:(i,e,n)=>{e&&!/^1[3-9]\d{9}$/.test(e)?n(new Error("请输入正确的手机号")):n()},trigger:"blur"}],password:[{required:!0,message:"请输入密码",trigger:["blur"]}],password_confirm:[{required:!0,message:"请输入确认密码",trigger:["blur"]},{validator:w,trigger:"blur"}]}),T=async()=>{var i;try{await((i=U.value)==null?void 0:i.validate()),v.value=!0,f.value=="edit"?await se(l):await pe(l),_e.msgSuccess(f.value=="edit"?"编辑成功":"新增成功"),m.value=!1,x("success")}catch(e){console.error("提交失败:",e)}finally{v.value=!1}},P=(i="add")=>{f.value=i,m.value=!0,A(),i==="add"&&(Object.assign(l,{id:"",account:"",name:"",gender:1,age:null,phone:"",role_id:[1],dept_id:[],jobs_id:[],avatar:"",title:"",license_no:"",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"}])},Q=async i=>{_.password=[],_.password_confirm=[{validator:w,trigger:"blur"}];const e=await ue({id:i.id});for(const n in l)e[n]!=null&&e[n]!=null&&(l[n]=e[n]);l.role_id.includes(1)||l.role_id.push(1)},D=()=>{m.value=!1,x("close")};return B({open:P,setFormData:Q}),(i,e)=>{const n=X,s=Z,d=Y,z=ie,k=ee,J=h,L=le,$=oe,R=te,q=ae,b=re,H=W,C=de,K=ne;return c(),y("div",xe,[a(K,{modelValue:o(m),"onUpdate:modelValue":e[22]||(e[22]=t=>we(m)?m.value=t:null),title:o(G),direction:"rtl",size:"780px","before-close":D},{footer:r(()=>[p("div",ke,[a(C,{onClick:D},{default:r(()=>[...e[32]||(e[32]=[u("取消",-1)])]),_:1}),a(C,{type:"primary",onClick:T,loading:o(v)},{default:r(()=>[...e[33]||(e[33]=[u("确定",-1)])]),_:1},8,["loading"])])]),default:r(()=>[a(H,{ref_key:"formRef",ref:U,model:o(l),"label-width":"100px",rules:o(_)},{default:r(()=>[a(n,{"content-position":"left"},{default:r(()=>[...e[23]||(e[23]=[u("基本信息",-1)])]),_:1}),a(d,{label:"账号",prop:"account"},{default:r(()=>[a(s,{modelValue:o(l).account,"onUpdate:modelValue":e[0]||(e[0]=t=>o(l).account=t),placeholder:"请输入账号",clearable:""},null,8,["modelValue"])]),_:1}),a(d,{label:"头像"},{default:r(()=>[p("div",null,[p("div",null,[a(z,{modelValue:o(l).avatar,"onUpdate:modelValue":e[1]||(e[1]=t=>o(l).avatar=t),limit:1},null,8,["modelValue"])]),e[24]||(e[24]=p("div",{class:"form-tips"},"建议尺寸:100*100px,支持jpg,jpeg,png格式",-1))])]),_:1}),a(d,{label:"姓名",prop:"name"},{default:r(()=>[a(s,{modelValue:o(l).name,"onUpdate:modelValue":e[2]||(e[2]=t=>o(l).name=t),placeholder:"请输入姓名",clearable:""},null,8,["modelValue"])]),_:1}),a(d,{label:"性别",prop:"gender"},{default:r(()=>[a(J,{modelValue:o(l).gender,"onUpdate:modelValue":e[3]||(e[3]=t=>o(l).gender=t)},{default:r(()=>[a(k,{label:1},{default:r(()=>[...e[25]||(e[25]=[u("男",-1)])]),_:1}),a(k,{label:2},{default:r(()=>[...e[26]||(e[26]=[u("女",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),a(d,{label:"年龄",prop:"age"},{default:r(()=>[a(L,{modelValue:o(l).age,"onUpdate:modelValue":e[4]||(e[4]=t=>o(l).age=t),min:18,max:100,placeholder:"请输入年龄"},null,8,["modelValue"])]),_:1}),a(d,{label:"手机号",prop:"phone"},{default:r(()=>[a(s,{modelValue:o(l).phone,"onUpdate:modelValue":e[5]||(e[5]=t=>o(l).phone=t),placeholder:"请输入手机号",clearable:""},null,8,["modelValue"])]),_:1}),a(n,{"content-position":"left"},{default:r(()=>[...e[27]||(e[27]=[u("组织信息",-1)])]),_:1}),a(d,{label:"归属部门",prop:"dept_id"},{default:r(()=>[a($,{class:"flex-1",modelValue:o(l).dept_id,"onUpdate:modelValue":e[6]||(e[6]=t=>o(l).dept_id=t),data:o(j).dept,clearable:"",multiple:"","node-key":"id",props:{label:"name",disabled(t){return t.status!==1}},"check-strictly":"","default-expand-all":!0,placeholder:"请选择归属部门"},null,8,["modelValue","data","props"])]),_:1}),a(d,{label:"岗位",prop:"jobs_id"},{default:r(()=>[a(q,{class:"flex-1",modelValue:o(l).jobs_id,"onUpdate:modelValue":e[7]||(e[7]=t=>o(l).jobs_id=t),clearable:"",multiple:"",placeholder:"请选择岗位"},{default:r(()=>[(c(!0),y(S,null,F(o(j).jobs,(t,M)=>(c(),I(R,{key:M,label:t.name,value:t.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),a(n,{"content-position":"left"},{default:r(()=>[...e[28]||(e[28]=[u("专业信息",-1)])]),_:1}),a(d,{label:"职称",prop:"title"},{default:r(()=>[a(s,{modelValue:o(l).title,"onUpdate:modelValue":e[8]||(e[8]=t=>o(l).title=t),placeholder:"如:主任医师、副主任医师",clearable:""},null,8,["modelValue"])]),_:1}),a(d,{label:"执业证书编号",prop:"license_no"},{default:r(()=>[a(s,{modelValue:o(l).license_no,"onUpdate:modelValue":e[9]||(e[9]=t=>o(l).license_no=t),placeholder:"请输入执业证书编号",clearable:""},null,8,["modelValue"])]),_:1}),a(d,{label:"图文问诊"},{default:r(()=>[a(b,{modelValue:o(l).enable_image_consult,"onUpdate:modelValue":e[10]||(e[10]=t=>o(l).enable_image_consult=t),"active-value":1,"inactive-value":0},null,8,["modelValue"]),p("span",Ue,g(o(l).enable_image_consult===1?"已开启":"已关闭"),1)]),_:1}),a(d,{label:"视频问诊"},{default:r(()=>[a(b,{modelValue:o(l).enable_video_consult,"onUpdate:modelValue":e[11]||(e[11]=t=>o(l).enable_video_consult=t),"active-value":1,"inactive-value":0},null,8,["modelValue"]),p("span",Ee,g(o(l).enable_video_consult===1?"已开启":"已关闭"),1)]),_:1}),a(d,{label:"是否开启收费"},{default:r(()=>[a(b,{modelValue:o(l).enable_charge,"onUpdate:modelValue":e[12]||(e[12]=t=>o(l).enable_charge=t),"active-value":1,"inactive-value":0},null,8,["modelValue"]),p("span",je,g(o(l).enable_charge===1?"已开启":"已关闭"),1)]),_:1}),a(d,{label:"所属科室",prop:"department"},{default:r(()=>[a(q,{modelValue:o(l).department,"onUpdate:modelValue":e[13]||(e[13]=t=>o(l).department=t),placeholder:"请选择所属科室",clearable:"",class:"flex-1"},{default:r(()=>[(c(!0),y(S,null,F(o(E),t=>(c(),I(R,{key:t.value,label:t.name,value:t.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),a(d,{label:"擅长领域",prop:"specialty"},{default:r(()=>[a(s,{modelValue:o(l).specialty,"onUpdate:modelValue":e[14]||(e[14]=t=>o(l).specialty=t),type:"textarea",rows:3,placeholder:"请输入擅长领域"},null,8,["modelValue"])]),_:1}),a(n,{"content-position":"left"},{default:r(()=>[...e[29]||(e[29]=[u("履历信息",-1)])]),_:1}),a(d,{label:"教育背景",prop:"education"},{default:r(()=>[a(s,{modelValue:o(l).education,"onUpdate:modelValue":e[15]||(e[15]=t=>o(l).education=t),type:"textarea",rows:3,placeholder:"请输入教育背景,如:北京中医药大学 中医学博士"},null,8,["modelValue"])]),_:1}),a(d,{label:"工作经历",prop:"experience"},{default:r(()=>[a(s,{modelValue:o(l).experience,"onUpdate:modelValue":e[16]||(e[16]=t=>o(l).experience=t),type:"textarea",rows:4,placeholder:"请输入工作经历"},null,8,["modelValue"])]),_:1}),a(d,{label:"荣誉资质",prop:"honors"},{default:r(()=>[a(s,{modelValue:o(l).honors,"onUpdate:modelValue":e[17]||(e[17]=t=>o(l).honors=t),type:"textarea",rows:3,placeholder:"请输入荣誉资质"},null,8,["modelValue"])]),_:1}),a(n,{"content-position":"left"},{default:r(()=>[...e[30]||(e[30]=[u("账号设置",-1)])]),_:1}),a(d,{label:"密码",prop:"password"},{default:r(()=>[a(s,{modelValue:o(l).password,"onUpdate:modelValue":e[18]||(e[18]=t=>o(l).password=t),"show-password":"",clearable:"",placeholder:o(f)==="edit"?"不修改请留空":"请输入密码"},null,8,["modelValue","placeholder"])]),_:1}),a(d,{label:"确认密码",prop:"password_confirm"},{default:r(()=>[a(s,{modelValue:o(l).password_confirm,"onUpdate:modelValue":e[19]||(e[19]=t=>o(l).password_confirm=t),"show-password":"",clearable:"",placeholder:o(f)==="edit"?"不修改请留空":"请输入确认密码"},null,8,["modelValue","placeholder"])]),_:1}),a(d,{label:"医生状态"},{default:r(()=>[a(b,{modelValue:o(l).disable,"onUpdate:modelValue":e[20]||(e[20]=t=>o(l).disable=t),"active-value":0,"inactive-value":1},null,8,["modelValue"]),p("span",De,g(o(l).disable===0?"启用":"禁用"),1)]),_:1}),a(d,{label:"多处登录"},{default:r(()=>[p("div",null,[a(b,{modelValue:o(l).multipoint_login,"onUpdate:modelValue":e[21]||(e[21]=t=>o(l).multipoint_login=t),"active-value":1,"inactive-value":0},null,8,["modelValue"]),e[31]||(e[31]=p("div",{class:"form-tips"},"允许多人同时在线登录",-1))])]),_:1})]),_:1},8,["model","rules"])]),_:1},8,["modelValue","title"])])}}}),Fl=ce(Re,[["__scopeId","data-v-4cb12a84"]]);export{Fl as default};
|