You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

2 lines
13 KiB
JavaScript

import{_ as De,Y as te,o as Se,r as i,c as Ie,d,e as B,k as y,f as n,w as a,h as O,i as o,j as r,l as C,x as f,g as m,ay as ze,E as x,az as Le,q as s,F as j,t as q,v as $,aA as Ne,aB as Be,N as Ge,aC as $e,aD as Ee,aE as Re,aF as Ae,aG as Te}from"./index-b8bae120.js";import{_ as Pe}from"./DepartmentResourcesSave-aa6681b0.js";const Fe={class:"head"},Je={style:{"text-align":"center"}},Me=["onClick"],Oe=["onClick"],je={style:{color:"#dd377f"}},qe=["onClick"],He={style:{display:"flex","flex-direction":"column","align-items":"flex-start",gap:"6px",padding:"4px 0"}},Ye={style:{color:"#00aaff","font-size":"12px"}},Ke={class:"page"},Qe={class:"dialog-footer"},We={class:"dialog-footer"},Xe={class:"dialog-footer"},Ze={__name:"DepartmentConfig",setup(he){let E=m(null);sessionStorage.getItem("LoginUserInfo")&&(E.value=JSON.parse(sessionStorage.getItem("LoginUserInfo")));const w=te(()=>E.value&&(E.value.group==1||E.value.group==5)),le=te(()=>Q.value.filter(l=>l.id!==1&&l.id!==5));let _=m(!1),S=m([]),H=m([]),k=m({status:null,name:"",only_execute:!0,only_first_level:!0,appointment_enabled:!0}),Y=m([]),L=m(1),N=m(15),K=0;const v=()=>{_.value=!0,ze({searchInfo:k.value,page:L.value,pageSize:N.value}).then(l=>{_.value=!1,l.status?(Y.value=l.data.list,K=l.data.count):x.error(l.msg)})},ae=l=>{N.value=l,v()},ne=l=>{L.value=l,v()};let V=m(!1),u=m({id:null,department_name:"",department_number:"",department_status:null,appointment_enabled:0,auto_gen_days:15,pid:0,is_workbench:0,linked_departments:"[]"});const oe=l=>{V.value=!0,u.value={id:l.id,department_name:l.department_name,department_number:l.department_number,department_status:l.department_status,appointment_enabled:l.appointment_enabled??0,auto_gen_days:l.auto_gen_days??15,pid:l.pid??0,is_workbench:l.is_workbench??0,linked_departments:l.linked_departments??"[]"};try{S.value=JSON.parse(l.linked_departments||"[]").map(Number)}catch{S.value=[]}Z()},de=()=>{u.value.linked_departments=JSON.stringify(S.value.map(String)),_.value=!0,Ne({info:u.value}).then(l=>{_.value=!1,l.status?(V.value=!1,v()):x.error(l.msg)})},ue=()=>{V.value=!0,u.value={id:null,department_name:"",department_number:"",department_status:1,appointment_enabled:0,auto_gen_days:15,pid:0,is_workbench:0,linked_departments:"[]"},S.value=[],Z()};let U=m(!1),g=m({id:0,department_id:null,cname:"",uname:"",groupId:"",status:1});const se=l=>{U.value=!0,g.value.department_id=l.id},ie=()=>{if(g.value.cname==""||g.value.uname==""||g.value.groupId=="")return x.error("请填写全部信息"),!1;Be({userInfo:g.value}).then(l=>{_.value=!1,l.status=="ok"?(U.value=!1,x({message:"添加成功",type:"success"}),v()):x.error(l.msg)})};let R=m(!1);const re=l=>{R.value=!0,console.log(R.value),u.value.id=l.id},me=()=>{R.value=!1,v()},pe=l=>{window.location.href="./#/yewu/departmentResources?departmentId="+l},fe=l=>{Ge.confirm("确定删除吗?","提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then(()=>{_.value=!0,$e({id:l.id}).then(e=>{_.value=!1,e.status?(V.value=!1,v()):x.error(e.msg)})})};let Q=m("");const _e=()=>{Le().then(l=>{_.value=!1,l.status=="ok"?Q.value=l.list:x.error(l.msg)})},ve=l=>{window.location.href="./#/adminUserList?departmentId="+l.id};let c=m(!1),W=m(null),X=m([]),I=m([]);const ge=l=>{W.value=l,I.value=[],c.value=!0,Ee({department_id:l.id}).then(e=>{e.status?X.value=e.data.list:x.error(e.msg)}),Re({department_id:l.id}).then(e=>{e.status?I.value=e.data.ids.map(Number):x.error(e.msg)})},be=()=>{_.value=!0,Ae({department_id:W.value.id,children_ids:I.value}).then(l=>{_.value=!1,l.status?(c.value=!1,x({message:"关联成功",type:"success"}),v()):x.error(l.msg)})},Z=()=>{Te({department_id:u.value.id}).then(l=>{l.status&&(H.value=l.data.list)})};return Se(()=>{_e(),v()}),(l,e)=>{const A=i("el-option"),T=i("el-select"),p=i("el-form-item"),G=i("el-input"),b=i("el-button"),P=i("el-checkbox"),ye=i("el-row"),z=i("el-table-column"),h=i("el-tag"),ke=i("el-tooltip"),Ve=i("el-table"),xe=i("el-pagination"),Ce=i("el-input-number"),F=i("el-switch"),we=i("el-divider"),ee=i("el-form"),J=i("el-dialog"),Ue=i("el-transfer"),M=Ie("loading");return d(),B("div",null,[y("div",Fe,[n(ye,null,{default:a(()=>[n(p,null,{default:a(()=>[n(T,{filterable:!0,clearable:"",modelValue:o(k).status,"onUpdate:modelValue":e[0]||(e[0]=t=>o(k).status=t),placeholder:"所有状态",style:{"margin-left":"10px"}},{default:a(()=>[n(A,{label:"正常",value:1}),n(A,{label:"禁用",value:0})]),_:1},8,["modelValue"])]),_:1}),w.value?(d(),r(p,{key:0},{default:a(()=>[n(G,{modelValue:o(k).name,"onUpdate:modelValue":e[1]||(e[1]=t=>o(k).name=t),placeholder:"请输入科室名称",style:{"margin-left":"10px"}},null,8,["modelValue"])]),_:1})):f("",!0),n(b,{onClick:e[2]||(e[2]=t=>v()),style:{"margin-left":"10px"}},{default:a(()=>[...e[27]||(e[27]=[s("查询",-1)])]),_:1}),w.value?(d(),r(b,{key:1,type:"primary",onClick:e[3]||(e[3]=t=>ue()),style:{"margin-left":"10px"}},{default:a(()=>[...e[28]||(e[28]=[s("添加科室",-1)])]),_:1})):f("",!0),n(p,null,{default:a(()=>[n(P,{modelValue:o(k).only_execute,"onUpdate:modelValue":e[4]||(e[4]=t=>o(k).only_execute=t),onChange:v,style:{"margin-left":"15px"}},{default:a(()=>[...e[29]||(e[29]=[s("只显示存在排班的科室",-1)])]),_:1},8,["modelValue"])]),_:1}),n(p,null,{default:a(()=>[n(P,{modelValue:o(k).only_first_level,"onUpdate:modelValue":e[5]||(e[5]=t=>o(k).only_first_level=t),onChange:v,style:{"margin-left":"15px"}},{default:a(()=>[...e[30]||(e[30]=[s("只显示一级科室",-1)])]),_:1},8,["modelValue"])]),_:1}),n(p,null,{default:a(()=>[n(P,{modelValue:o(k).appointment_enabled,"onUpdate:modelValue":e[6]||(e[6]=t=>o(k).appointment_enabled=t),onChange:v,style:{"margin-left":"15px"}},{default:a(()=>[...e[31]||(e[31]=[s("只显示参与预约的科室",-1)])]),_:1},8,["modelValue"])]),_:1})]),_:1})]),O((d(),r(Ve,{data:o(Y),style:{width:"100%"},"row-key":"id","row-style":{height:"60px"}},{default:a(()=>[f("",!0),n(z,{prop:"department_name",label:"科室名称"}),n(z,{prop:"department_number",label:"科室编号"}),n(z,{prop:"department_status",label:"状态",width:"100"},{default:a(t=>[t.row.department_status==0?(d(),r(h,{key:0,class:"ml-2",type:"danger"},{default:a(()=>[...e[32]||(e[32]=[s("禁用",-1)])]),_:1})):f("",!0),t.row.department_status==1?(d(),r(h,{key:1,class:"ml-2",type:"success"},{default:a(()=>[...e[33]||(e[33]=[s("正常",-1)])]),_:1})):f("",!0)]),_:1}),w.value?(d(),r(z,{key:1,prop:"status",label:"科室账号",width:"120"},{default:a(t=>[y("div",Je,[t.row.department_status==1?(d(),r(b,{key:0,onClick:D=>se(t.row),size:"small"},{default:a(()=>[...e[34]||(e[34]=[s("添加账号",-1)])]),_:1},8,["onClick"])):f("",!0),n(ke,{effect:"dark",placement:"bottom"},{content:a(()=>[(d(!0),B(j,null,q(t.row.user_list,(D,ce)=>(d(),B("div",null,$(ce+1)+". "+$(D.cn_name),1))),256))]),default:a(()=>[y("div",{style:{color:"#00aaff","font-size":"12px",cursor:"pointer"},onClick:D=>ve(t.row)}," 已关联"+$(t.row.user_list.length)+"个",9,Me)]),_:2},1024)])]),_:1})):f("",!0),w.value?(d(),r(z,{key:2,label:"排班资源"},{default:a(t=>[y("div",{class:"zi_button",onClick:D=>pe(t.row.id)},[e[35]||(e[35]=s("排班资源 (共 ",-1)),y("span",je,$(t.row.resource_count),1),e[36]||(e[36]=s(" 个)",-1))],8,Oe),t.row.department_status==1?(d(),B("div",{key:0,class:"zi_button2",onClick:D=>re(t.row)},"添加排班 ",8,qe)):f("",!0)]),_:1})):f("",!0),w.value?(d(),r(z,{key:3,label:"关联诊室",width:"200"},{default:a(t=>[y("div",He,[n(b,{size:"small",onClick:D=>ge(t.row)},{default:a(()=>[...e[37]||(e[37]=[s("关联诊室",-1)])]),_:1},8,["onClick"]),y("span",Ye,"已关联 "+$(t.row.children_count)+" 个",1)])]),_:1})):f("",!0),n(z,{prop:"",label:"操作",width:"180"},{default:a(t=>[n(b,{type:"primary",onClick:D=>oe(t.row),size:"small"},{default:a(()=>[...e[38]||(e[38]=[s("修改",-1)])]),_:1},8,["onClick"]),w.value?(d(),r(b,{key:0,type:"danger",onClick:D=>fe(t.row),size:"small"},{default:a(()=>[...e[39]||(e[39]=[s("删除",-1)])]),_:1},8,["onClick"])):f("",!0)]),_:1})]),_:1},8,["data"])),[[M,o(_)]]),y("div",Ke,[n(xe,{"current-page":o(L),"onUpdate:currentPage":e[7]||(e[7]=t=>C(L)?L.value=t:L=t),"page-size":o(N),"onUpdate:pageSize":e[8]||(e[8]=t=>C(N)?N.value=t:N=t),"page-sizes":[15,50,100,200],layout:"total,sizes, prev, pager, next",total:o(K),onSizeChange:ae,onCurrentChange:ne},null,8,["current-page","page-size","total"])]),n(J,{modelValue:o(V),"onUpdate:modelValue":e[17]||(e[17]=t=>C(V)?V.value=t:V=t),title:"科室信息",width:"30%"},{footer:a(()=>[y("span",Qe,[n(b,{onClick:e[16]||(e[16]=t=>C(V)?V.value=!1:V=!1)},{default:a(()=>[...e[42]||(e[42]=[s("取消",-1)])]),_:1}),n(b,{type:"primary",onClick:de},{default:a(()=>[...e[43]||(e[43]=[s(" 确定 ",-1)])]),_:1})])]),default:a(()=>[O((d(),r(ee,{model:o(u),"label-width":"130px",style:{"padding-right":"40px"}},{default:a(()=>[n(p,{label:"科室名称:"},{default:a(()=>[n(G,{modelValue:o(u).department_name,"onUpdate:modelValue":e[9]||(e[9]=t=>o(u).department_name=t),disabled:!w.value},null,8,["modelValue","disabled"])]),_:1}),n(p,{label:"科室编号:"},{default:a(()=>[n(G,{modelValue:o(u).department_number,"onUpdate:modelValue":e[10]||(e[10]=t=>o(u).department_number=t),disabled:!w.value},null,8,["modelValue","disabled"])]),_:1}),o(u).pid==0&&o(u).appointment_enabled==1?(d(),r(p,{key:0,label:"自动生成天数:"},{default:a(()=>[n(Ce,{modelValue:o(u).auto_gen_days,"onUpdate:modelValue":e[11]||(e[11]=t=>o(u).auto_gen_days=t),min:1,max:90},null,8,["modelValue"]),e[40]||(e[40]=y("span",{style:{color:"#aaa","margin-left":"10px","font-size":"12px"}},"*定时任务自动生成N天后的号源",-1))]),_:1})):f("",!0),w.value?(d(),r(p,{key:1,label:"科室状态:"},{default:a(()=>[n(F,{modelValue:o(u).department_status,"onUpdate:modelValue":e[12]||(e[12]=t=>o(u).department_status=t),"active-text":"正常","inactive-text":"关闭","active-value":1,"inactive-value":0},null,8,["modelValue"])]),_:1})):f("",!0),n(p,{label:"参与预约:"},{default:a(()=>[n(F,{modelValue:o(u).appointment_enabled,"onUpdate:modelValue":e[13]||(e[13]=t=>o(u).appointment_enabled=t),"active-text":"是","inactive-text":"否","active-value":1,"inactive-value":0},null,8,["modelValue"])]),_:1}),n(we,{"content-position":"left"},{default:a(()=>[...e[41]||(e[41]=[s("工作台属性",-1)])]),_:1}),n(p,{label:"是否工作台科室:"},{default:a(()=>[n(F,{modelValue:o(u).is_workbench,"onUpdate:modelValue":e[14]||(e[14]=t=>o(u).is_workbench=t),"active-text":"是","inactive-text":"否","active-value":1,"inactive-value":0},null,8,["modelValue"])]),_:1}),o(u).is_workbench==1?(d(),r(p,{key:2,label:"关联科室:"},{default:a(()=>[n(T,{modelValue:o(S),"onUpdate:modelValue":e[15]||(e[15]=t=>C(S)?S.value=t:S=t),multiple:"",filterable:"","collapse-tags":"",placeholder:"请选择关联科室",style:{width:"100%"}},{default:a(()=>[(d(!0),B(j,null,q(o(H),t=>(d(),r(A,{key:t.id,label:t.department_name,value:t.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1})):f("",!0)]),_:1},8,["model"])),[[M,o(_)]])]),_:1},8,["modelValue"]),n(J,{modelValue:o(U),"onUpdate:modelValue":e[23]||(e[23]=t=>C(U)?U.value=t:U=t),title:"添加用户",width:"30%"},{footer:a(()=>[y("span",We,[n(b,{onClick:e[21]||(e[21]=t=>C(U)?U.value=!1:U=!1)},{default:a(()=>[...e[44]||(e[44]=[s("取消",-1)])]),_:1}),n(b,{type:"primary",onClick:e[22]||(e[22]=t=>ie())},{default:a(()=>[...e[45]||(e[45]=[s(" 确定 ",-1)])]),_:1})])]),default:a(()=>[O((d(),r(ee,{model:o(g),"label-width":"100px",style:{"padding-right":"40px"}},{default:a(()=>[n(p,{label:"姓名:"},{default:a(()=>[n(G,{modelValue:o(g).cname,"onUpdate:modelValue":e[18]||(e[18]=t=>o(g).cname=t)},null,8,["modelValue"])]),_:1}),n(p,{label:"账号:"},{default:a(()=>[n(G,{modelValue:o(g).uname,"onUpdate:modelValue":e[19]||(e[19]=t=>o(g).uname=t)},null,8,["modelValue"])]),_:1}),n(p,{label:"角色:"},{default:a(()=>[n(T,{filterable:!0,clearable:"",modelValue:o(g).groupId,"onUpdate:modelValue":e[20]||(e[20]=t=>o(g).groupId=t),placeholder:"选择角色",style:{"margin-left":"10px"}},{default:a(()=>[(d(!0),B(j,null,q(le.value,(t,D)=>(d(),r(A,{label:t.group_name,value:t.id},null,8,["label","value"]))),256))]),_:1},8,["modelValue"])]),_:1})]),_:1},8,["model"])),[[M,o(_)]])]),_:1},8,["modelValue"]),o(R)?(d(),r(Pe,{key:0,departmentId:o(u).id,onCloseAddResources:me},null,8,["departmentId"])):f("",!0),n(J,{modelValue:o(c),"onUpdate:modelValue":e[26]||(e[26]=t=>C(c)?c.value=t:c=t),title:"关联诊室",width:"60%"},{footer:a(()=>[y("span",Xe,[n(b,{onClick:e[25]||(e[25]=t=>C(c)?c.value=!1:c=!1)},{default:a(()=>[...e[46]||(e[46]=[s("取消",-1)])]),_:1}),n(b,{type:"primary",onClick:be},{default:a(()=>[...e[47]||(e[47]=[s("确定",-1)])]),_:1})])]),default:a(()=>[n(Ue,{class:"dept-transfer",modelValue:o(I),"onUpdate:modelValue":e[24]||(e[24]=t=>C(I)?I.value=t:I=t),data:o(X),props:{key:"id",label:"department_name"},filterable:"","filter-placeholder":"输入科室名称搜索",titles:["可选诊室","已关联诊室"],style:{display:"flex","justify-content":"center"}},null,8,["modelValue","data"])]),_:1},8,["modelValue"])])}}},lt=De(Ze,[["__scopeId","data-v-eef12383"]]);export{lt as default};