2 lines
13 KiB
JavaScript
2 lines
13 KiB
JavaScript
import{D as M,Y as W,B as X,C as h,G as ee,I as le,h as oe,Z as ae,P as te,Q as re,g as ne,i as de,e as ie}from"./element-plus-lurTijPg.js";import{_ as se}from"./picker-CJ3VA4Xu.js";import{b as pe,d as ue,e as me}from"./admin-cUFsh18W.js";import{d as fe}from"./department-rQBMnRXt.js";import{j as _e}from"./post-BF5MQ-OW.js";import{i as be,m as ge,_ as ce}from"./index-D1R1SdHf.js";import{u as Ve}from"./useDictOptions-BXDmlvxt.js";import{f as ve,ak as g,I as y,a,aN as r,O as u,J as s,F as B,ap as I,G as N,A as we}from"./@vue/runtime-core-C6bnekPw.js";import{y as o,a as ye,q as xe,n as c,r as O}from"./@vue/reactivity-DiY1c2vO.js";import{Q as V}from"./@vue/shared-mAAVTE9n.js";import"./@vue/runtime-dom-DDAG46FW.js";import"./lodash-D3kF6u-c.js";import"./@element-plus/icons-vue-HOEUG8sr.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-COOsJPDL.js";import"./index-BzlcdUnb.js";import"./index.vue_vue_type_script_setup_true_lang-CB1JgtXC.js";import"./index-_00jPw5X.js";import"./index-K3gXVKnF.js";import"./cos-js-sdk-v5-DSMN0LUT.js";import"./file-BS2JhC0o.js";import"./index.vue_vue_type_script_setup_true_lang-SfFZFG0h.js";import"./@vueuse/core-1S4fJlii.js";import"./@vueuse/shared-Cl3lVqjz.js";import"./usePaging-VsbTxSU0.js";import"./vuedraggable-5bKFmC7X.js";import"./vue-BVs68q8v.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-QlpZ4wdW.js";import"./pinia-B8cvXbiZ.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-CNLwa9wG.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DRNXw7y3.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-C4onkBvW.js";const Ue={class:"edit-drawer"},Ee={class:"w-full"},je={class:"ml-2 text-gray-500"},qe={class:"ml-2 text-gray-500"},De={class:"ml-2 text-gray-500"},ke={class:"ml-2 text-gray-500"},Ce={class:"flex justify-end"},Re=ve({__name:"edit",emits:["success","close"],setup(Ae,{expose:S,emit:F}){function T(d){if(d.status!==1)return!0;const e=d.children;return Array.isArray(e)&&e.length>0}const x=F,U=xe(),m=c(!1),f=c("add"),v=c(!1),E=c([]),G=async()=>{const d=await ge({type:"department"});E.value=(d==null?void 0:d.department)||[]},P=we(()=>f.value=="edit"?"编辑医生":"新增医生"),l=O({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:_e},dept:{api:fe,params:{apply_data_scope:1}}}),w=(d,e,i)=>{l.password&&(e||i(new Error("请再次输入密码")),e!==l.password&&i(new Error("两次输入密码不一致!"))),i()},_=O({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:(d,e,i)=>{e&&!/^1[3-9]\d{9}$/.test(e)?i(new Error("请输入正确的手机号")):i()},trigger:"blur"}],password:[{required:!0,message:"请输入密码",trigger:["blur"]}],password_confirm:[{required:!0,message:"请输入确认密码",trigger:["blur"]},{validator:w,trigger:"blur"}]}),Q=async()=>{var d;try{await((d=U.value)==null?void 0:d.validate()),v.value=!0,f.value=="edit"?await pe(l):await ue(l),be.msgSuccess(f.value=="edit"?"编辑成功":"新增成功"),m.value=!1,x("success")}catch(e){console.error("提交失败:",e)}finally{v.value=!1}},z=(d="add")=>{f.value=d,m.value=!0,G(),d==="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 d=>{_.password=[],_.password_confirm=[{validator:w,trigger:"blur"}];const e=await me({id:d.id});for(const i in l)e[i]!=null&&e[i]!=null&&(l[i]=e[i]);l.role_id.includes(1)||l.role_id.push(1)},q=()=>{m.value=!1,x("close")};return S({open:z,setFormData:J}),(d,e)=>{const i=W,p=h,n=X,D=se,k=le,L=ee,Y=oe,Z=ae,C=re,R=te,b=ne,$=M,A=de,H=ie;return g(),y("div",Ue,[a(H,{modelValue:o(m),"onUpdate:modelValue":e[23]||(e[23]=t=>ye(m)?m.value=t:null),title:o(P),direction:"rtl",size:"780px","before-close":q},{footer:r(()=>[s("div",Ce,[a(A,{onClick:q},{default:r(()=>[...e[35]||(e[35]=[u("取消",-1)])]),_:1}),a(A,{type:"primary",onClick:Q,loading:o(v)},{default:r(()=>[...e[36]||(e[36]=[u("确定",-1)])]),_:1},8,["loading"])])]),default:r(()=>[a($,{ref_key:"formRef",ref:U,model:o(l),"label-width":"100px",rules:o(_)},{default:r(()=>[a(i,{"content-position":"left"},{default:r(()=>[...e[24]||(e[24]=[u("基本信息",-1)])]),_:1}),a(n,{label:"账号",prop:"account"},{default:r(()=>[a(p,{modelValue:o(l).account,"onUpdate:modelValue":e[0]||(e[0]=t=>o(l).account=t),placeholder:"请输入账号",clearable:""},null,8,["modelValue"])]),_:1}),a(n,{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(n,{label:"姓名",prop:"name"},{default:r(()=>[a(p,{modelValue:o(l).name,"onUpdate:modelValue":e[2]||(e[2]=t=>o(l).name=t),placeholder:"请输入姓名",clearable:""},null,8,["modelValue"])]),_:1}),a(n,{label:"性别",prop:"gender"},{default:r(()=>[a(L,{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]=[u("男",-1)])]),_:1}),a(k,{label:2},{default:r(()=>[...e[27]||(e[27]=[u("女",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"年龄",prop:"age"},{default:r(()=>[a(Y,{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(n,{label:"手机号",prop:"phone"},{default:r(()=>[a(p,{modelValue:o(l).phone,"onUpdate:modelValue":e[5]||(e[5]=t=>o(l).phone=t),placeholder:"请输入手机号",clearable:""},null,8,["modelValue"])]),_:1}),a(i,{"content-position":"left"},{default:r(()=>[...e[28]||(e[28]=[u("组织信息",-1)])]),_:1}),a(n,{label:"归属部门",prop:"dept_id"},{default:r(()=>[s("div",Ee,[a(Z,{class:"flex-1 w-full",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},"check-strictly":"","default-expand-all":!0,placeholder:"请选择末级归属部门"},null,8,["modelValue","data","props"]),e[29]||(e[29]=s("div",{class:"form-tips"},"仅可选末级部门(含下级的父部门不可选),与数据权限范围一致。",-1))])]),_:1}),a(n,{label:"岗位",prop:"jobs_id"},{default:r(()=>[a(R,{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,K)=>(g(),N(C,{key:K,label:t.name,value:t.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),a(i,{"content-position":"left"},{default:r(()=>[...e[30]||(e[30]=[u("专业信息",-1)])]),_:1}),a(n,{label:"职称",prop:"title"},{default:r(()=>[a(p,{modelValue:o(l).title,"onUpdate:modelValue":e[8]||(e[8]=t=>o(l).title=t),placeholder:"如:主任医师、副主任医师",clearable:""},null,8,["modelValue"])]),_:1}),a(n,{label:"执业证书编号",prop:"license_no"},{default:r(()=>[a(p,{modelValue:o(l).license_no,"onUpdate:modelValue":e[9]||(e[9]=t=>o(l).license_no=t),placeholder:"请输入执业证书编号",clearable:""},null,8,["modelValue"])]),_:1}),a(n,{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[31]||(e[31]=s("div",{class:"form-tips"},"上传医生资质证书、荣誉证书等图片,最多9张,建议尺寸:800*600px",-1))])]),_:1}),a(n,{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",je,V(o(l).enable_image_consult===1?"已开启":"已关闭"),1)]),_:1}),a(n,{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",qe,V(o(l).enable_video_consult===1?"已开启":"已关闭"),1)]),_:1}),a(n,{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",De,V(o(l).enable_charge===1?"已开启":"已关闭"),1)]),_:1}),a(n,{label:"所属科室",prop:"department"},{default:r(()=>[a(R,{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(),N(C,{key:t.value,label:t.name,value:t.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),a(n,{label:"擅长领域",prop:"specialty"},{default:r(()=>[a(p,{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(i,{"content-position":"left"},{default:r(()=>[...e[32]||(e[32]=[u("履历信息",-1)])]),_:1}),a(n,{label:"教育背景",prop:"education"},{default:r(()=>[a(p,{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(n,{label:"工作经历",prop:"experience"},{default:r(()=>[a(p,{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(n,{label:"荣誉资质",prop:"honors"},{default:r(()=>[a(p,{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(i,{"content-position":"left"},{default:r(()=>[...e[33]||(e[33]=[u("账号设置",-1)])]),_:1}),a(n,{label:"密码",prop:"password"},{default:r(()=>[a(p,{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(n,{label:"确认密码",prop:"password_confirm"},{default:r(()=>[a(p,{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(n,{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",ke,V(o(l).disable===0?"启用":"禁用"),1)]),_:1}),a(n,{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[34]||(e[34]=s("div",{class:"form-tips"},"允许多人同时在线登录",-1))])]),_:1})]),_:1},8,["model","rules"])]),_:1},8,["modelValue","title"])])}}}),Ol=ce(Re,[["__scopeId","data-v-c5cf7e96"]]);export{Ol as default};
|