2 lines
12 KiB
JavaScript
2 lines
12 KiB
JavaScript
import{D as W,R as X,B as Y,C as Z,G 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-DCRlGjqn.js";import{_ as ie}from"./picker-BO5eJFtW.js";import{b as se,d as ue,e as pe}from"./admin-4QVlUAYJ.js";import{d as me}from"./department-BSzGJg6W.js";import{j as fe}from"./post-C_xAWmhL.js";import{i as _e,m as be,_ as ge}from"./index-uyUH29BJ.js";import{u as Ve}from"./useDictOptions-yJ8jcNIf.js";import{f as ce,ak as g,I as y,a,aN as r,O as p,J as s,F as B,ap as I,G as O,A as ve}from"./@vue/runtime-core-C0pg79pw.js";import{y as o,a as we,u as ye,o as V,r as F}from"./@vue/reactivity-BIbyPIZJ.js";import{Q as c}from"./@vue/shared-mAAVTE9n.js";import"./@vue/runtime-dom-iFk_KP8y.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-jYCthPJY.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-L6H5-ImI.js";import"./index-BXG1Vu_t.js";import"./index.vue_vue_type_script_setup_true_lang-CwEtReGd.js";import"./index-m_feBrtP.js";import"./index-0rZnCDXS.js";import"./index.vue_vue_type_script_setup_true_lang-BuPXZ-mu.js";import"./@vueuse/core-DIKi2bJB.js";import"./@vueuse/shared-D8934tfB.js";import"./file-CNY42yWf.js";import"./usePaging-B_C_SZ2Z.js";import"./vuedraggable-C3E4D3Yv.js";import"./vue-tI-HfQaQ.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-CYz6RFzi.js";import"./pinia-Ba_jX6-d.js";import"./axios-C80V62Fs.js";import"./css-color-function-DI01JAaZ.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-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-CZvD9OL_.js";import"./tslib-BDyQ-Jie.js";import"./zrender-BQyIY4j9.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-BVMzZUvF.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"},qe={class:"ml-2 text-gray-500"},De={class:"flex justify-end"},ke=ce({__name:"edit",emits:["success","close"],setup(Re,{expose:N,emit:A}){const x=A,U=ye(),m=V(!1),f=V("add"),v=V(!1),E=V([]),G=async()=>{const i=await be({type:"department"});E.value=(i==null?void 0:i.department)||[]},T=ve(()=>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: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()},_=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:(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"}]}),P=async()=>{var i;try{await((i=U.value)==null?void 0:i.validate()),v.value=!0,f.value=="edit"?await se(l):await ue(l),_e.msgSuccess(f.value=="edit"?"编辑成功":"新增成功"),m.value=!1,x("success")}catch(e){console.error("提交失败:",e)}finally{v.value=!1}},Q=(i="add")=>{f.value=i,m.value=!0,G(),i==="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"}])},z=async i=>{_.password=[],_.password_confirm=[{validator:w,trigger:"blur"}];const e=await pe({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)},q=()=>{m.value=!1,x("close")};return N({open:Q,setFormData:z}),(i,e)=>{const n=X,u=Z,d=Y,D=ie,k=ee,J=h,L=le,$=oe,R=te,C=ae,b=re,H=W,S=de,K=ne;return g(),y("div",xe,[a(K,{modelValue:o(m),"onUpdate:modelValue":e[23]||(e[23]=t=>we(m)?m.value=t:null),title:o(T),direction:"rtl",size:"780px","before-close":q},{footer:r(()=>[s("div",De,[a(S,{onClick:q},{default:r(()=>[...e[34]||(e[34]=[p("取消",-1)])]),_:1}),a(S,{type:"primary",onClick:P,loading:o(v)},{default:r(()=>[...e[35]||(e[35]=[p("确定",-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[24]||(e[24]=[p("基本信息",-1)])]),_:1}),a(d,{label:"账号",prop:"account"},{default:r(()=>[a(u,{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(()=>[s("div",null,[s("div",null,[a(D,{modelValue:o(l).avatar,"onUpdate:modelValue":e[1]||(e[1]=t=>o(l).avatar=t),limit:1},null,8,["modelValue"])]),e[25]||(e[25]=s("div",{class:"form-tips"},"建议尺寸:100*100px,支持jpg,jpeg,png格式",-1))])]),_:1}),a(d,{label:"姓名",prop:"name"},{default:r(()=>[a(u,{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[26]||(e[26]=[p("男",-1)])]),_:1}),a(k,{label:2},{default:r(()=>[...e[27]||(e[27]=[p("女",-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(u,{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[28]||(e[28]=[p("组织信息",-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(C,{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(()=>[(g(!0),y(B,null,I(o(j).jobs,(t,M)=>(g(),O(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[29]||(e[29]=[p("专业信息",-1)])]),_:1}),a(d,{label:"职称",prop:"title"},{default:r(()=>[a(u,{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(u,{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(()=>[s("div",null,[s("div",null,[a(D,{modelValue:o(l).qualification_images,"onUpdate:modelValue":e[10]||(e[10]=t=>o(l).qualification_images=t),limit:9},null,8,["modelValue"])]),e[30]||(e[30]=s("div",{class:"form-tips"},"上传医生资质证书、荣誉证书等图片,最多9张,建议尺寸:800*600px",-1))])]),_:1}),a(d,{label:"图文问诊"},{default:r(()=>[a(b,{modelValue:o(l).enable_image_consult,"onUpdate:modelValue":e[11]||(e[11]=t=>o(l).enable_image_consult=t),"active-value":1,"inactive-value":0},null,8,["modelValue"]),s("span",Ue,c(o(l).enable_image_consult===1?"已开启":"已关闭"),1)]),_:1}),a(d,{label:"视频问诊"},{default:r(()=>[a(b,{modelValue:o(l).enable_video_consult,"onUpdate:modelValue":e[12]||(e[12]=t=>o(l).enable_video_consult=t),"active-value":1,"inactive-value":0},null,8,["modelValue"]),s("span",Ee,c(o(l).enable_video_consult===1?"已开启":"已关闭"),1)]),_:1}),a(d,{label:"是否开启收费"},{default:r(()=>[a(b,{modelValue:o(l).enable_charge,"onUpdate:modelValue":e[13]||(e[13]=t=>o(l).enable_charge=t),"active-value":1,"inactive-value":0},null,8,["modelValue"]),s("span",je,c(o(l).enable_charge===1?"已开启":"已关闭"),1)]),_:1}),a(d,{label:"所属科室",prop:"department"},{default:r(()=>[a(C,{modelValue:o(l).department,"onUpdate:modelValue":e[14]||(e[14]=t=>o(l).department=t),placeholder:"请选择所属科室",clearable:"",class:"flex-1"},{default:r(()=>[(g(!0),y(B,null,I(o(E),t=>(g(),O(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(u,{modelValue:o(l).specialty,"onUpdate:modelValue":e[15]||(e[15]=t=>o(l).specialty=t),type:"textarea",rows:3,placeholder:"请输入擅长领域"},null,8,["modelValue"])]),_:1}),a(n,{"content-position":"left"},{default:r(()=>[...e[31]||(e[31]=[p("履历信息",-1)])]),_:1}),a(d,{label:"教育背景",prop:"education"},{default:r(()=>[a(u,{modelValue:o(l).education,"onUpdate:modelValue":e[16]||(e[16]=t=>o(l).education=t),type:"textarea",rows:3,placeholder:"请输入教育背景,如:北京中医药大学 中医学博士"},null,8,["modelValue"])]),_:1}),a(d,{label:"工作经历",prop:"experience"},{default:r(()=>[a(u,{modelValue:o(l).experience,"onUpdate:modelValue":e[17]||(e[17]=t=>o(l).experience=t),type:"textarea",rows:4,placeholder:"请输入工作经历"},null,8,["modelValue"])]),_:1}),a(d,{label:"荣誉资质",prop:"honors"},{default:r(()=>[a(u,{modelValue:o(l).honors,"onUpdate:modelValue":e[18]||(e[18]=t=>o(l).honors=t),type:"textarea",rows:3,placeholder:"请输入荣誉资质"},null,8,["modelValue"])]),_:1}),a(n,{"content-position":"left"},{default:r(()=>[...e[32]||(e[32]=[p("账号设置",-1)])]),_:1}),a(d,{label:"密码",prop:"password"},{default:r(()=>[a(u,{modelValue:o(l).password,"onUpdate:modelValue":e[19]||(e[19]=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(u,{modelValue:o(l).password_confirm,"onUpdate:modelValue":e[20]||(e[20]=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[21]||(e[21]=t=>o(l).disable=t),"active-value":0,"inactive-value":1},null,8,["modelValue"]),s("span",qe,c(o(l).disable===0?"启用":"禁用"),1)]),_:1}),a(d,{label:"多处登录"},{default:r(()=>[s("div",null,[a(b,{modelValue:o(l).multipoint_login,"onUpdate:modelValue":e[22]||(e[22]=t=>o(l).multipoint_login=t),"active-value":1,"inactive-value":0},null,8,["modelValue"]),e[33]||(e[33]=s("div",{class:"form-tips"},"允许多人同时在线登录",-1))])]),_:1})]),_:1},8,["model","rules"])]),_:1},8,["modelValue","title"])])}}}),Bl=ge(ke,[["__scopeId","data-v-b4b172ea"]]);export{Bl as default};
|