import{C as L}from"./ContentContainer-BHCaXtzf.js";import{B as R}from"./BreadCrumbMenu-DhsppHDy.js";import{_ as P,U as q,r as w,c,V as S,o as I,g as h,w as n,e as U,f as t,z as j,j as r,W as M,h as Q,l as E,x as B,b as W,q as G,d as H,i as O,D as A}from"./index-CV-b1sqb.js";import{_ as J,a as K}from"./common-DwtO0d57.js";const X={__name:"TreeParts",props:{treeData:{type:Array,default:()=>[]}},emits:["nodeClick","onAddBtnClick","onDrop","onDeleteBtnClick"],setup(d,{emit:_}){const o=d,{treeData:C}=q(o),e=_;let u=w(!1);const p=()=>{u.value=!u.value},y=i=>{e("nodeClick",i)},x=i=>{e("addBtnClick",i)},D=i=>{e("deleteBtnClick",i)},s=({dragNode:i,dropNode:b,dropPosition:l})=>{e("drop",{dragNode:i,dropNode:b,dropPosition:l})};return(i,b)=>{const l=c("a-button"),a=c("a-tooltip"),f=c("IconPlus"),m=c("IconDelete"),V=c("a-popconfirm"),g=c("a-tree"),N=c("a-card"),k=S("has-permi");return I(),h(N,{title:"机构",bordered:!1,"header-style":{textAlign:"left"},class:"tree-card"},{title:n(()=>[b[0]||(b[0]=U("span",null,"机构",-1)),t(a,{content:"点击后可通过拖拽更改机构结构,再次点击来关闭","background-color":"#165DFF"},{default:n(()=>[j((I(),h(l,{type:r(u)?"secondary":"outline",style:{float:"right"},onClick:p},{default:n(()=>[(I(),h(M(r(u)?"IconUnlock":"IconLock")))]),_:1},8,["type"])),[[k,"/base/syorganization!update"]])]),_:1})]),default:n(()=>[t(g,{draggable:r(u),blockNode:"",data:r(C),"show-line":!0,"default-expand-all":!0,fieldNames:{key:"deptId",title:"deptName",children:"children"},onDrop:s,onSelect:y},{extra:n(v=>[t(f,{class:"icon-plus",onClick:()=>x(v)},null,8,["onClick"]),v.parentId?(I(),h(V,{key:0,content:"请确认是否删除?",type:"success",onOk:()=>D(v)},{default:n(()=>[t(m,{class:"icon-delete"})]),_:2},1032,["onOk"])):Q("",!0)]),_:1},8,["draggable","data"])]),_:1})}}},Y=P(X,[["__scopeId","data-v-62a2e60f"]]),F={__name:"OrgForm",props:{org_form:{type:Object,required:!0,default:()=>({parentName:"",status:0,deptName:"",leader:"",orderNum:"",address:""})}},setup(d){const _=d,{org_form:o}=q(_);return(C,e)=>{const u=c("a-input"),p=c("a-form-item"),y=c("a-switch"),x=c("a-space"),D=c("a-form");return I(),h(D,{model:r(o),layout:"horizontal",ref:"formRef"},{default:n(()=>[t(p,{field:"parentName",label:"上级机构",disabled:""},{default:n(()=>[t(u,{modelValue:r(o).parentName,"onUpdate:modelValue":e[0]||(e[0]=s=>r(o).parentName=s)},null,8,["modelValue"])]),_:1}),t(p,{field:"status",label:"机构状态"},{default:n(()=>[t(y,{"checked-value":"0","unchecked-value":"1",modelValue:r(o).status,"onUpdate:modelValue":e[1]||(e[1]=s=>r(o).status=s)},null,8,["modelValue"])]),_:1}),t(p,{field:"deptName",label:"机构名称",rules:[{required:!0,message:"机构名称必填"},{maxLength:50,message:"长度不超过50"}]},{default:n(()=>[t(u,{modelValue:r(o).deptName,"onUpdate:modelValue":e[2]||(e[2]=s=>r(o).deptName=s)},null,8,["modelValue"])]),_:1}),t(p,{field:"leader",label:"联系人",rules:[{required:!0,message:"联系人必填"},{maxLength:50,message:"长度不超过50"}]},{default:n(()=>[t(u,{modelValue:r(o).leader,"onUpdate:modelValue":e[3]||(e[3]=s=>r(o).leader=s)},null,8,["modelValue"])]),_:1}),t(p,{field:"orderNum",label:"联系电话",rules:[{required:!0,message:"联系电话必填"},{maxLength:50,message:"长度不超过50"}]},{default:n(()=>[t(u,{modelValue:r(o).orderNum,"onUpdate:modelValue":e[4]||(e[4]=s=>r(o).orderNum=s)},null,8,["modelValue"])]),_:1}),t(p,{field:"address",label:"机构地址"},{default:n(()=>[t(u,{modelValue:r(o).address,"onUpdate:modelValue":e[5]||(e[5]=s=>r(o).address=s)},null,8,["modelValue"])]),_:1}),t(p,null,{default:n(()=>[t(x,null,{default:n(()=>[E(C.$slots,"actions")]),_:3})]),_:3})]),_:3},8,["model"])}}},$="/api/dept";function Z(d){return B({url:`${$}/${d}`,method:"get"})}function ee(d){return B({url:`${$}/edit_dept`,method:"put",data:d})}function te(d){return B({url:`${$}/dept_parent`,method:"put",data:d})}function ae(d){return B({url:`${$}/add_dept`,method:"post",data:d})}function oe(d){return B({url:`${$}/${d}`,method:"delete"})}const ne={class:"organization-container"},le={class:"left"},re={class:"right"},se={__name:"index",setup(d){const _=w(!1),o=w(!0),C=w([]),e=W({parentName:"",status:0,deptName:"",leader:"",orderNum:"",address:""}),u=async()=>{const{code:l,data:{rows:a}}=await K();l==200&&(C.value=a)},p=async l=>{const{data:{data:a}}=await Z(l);e.deptId=l,e.parentName=a.parentName,e.status=a.status,e.deptName=a.deptName,e.leader=a.leader,e.orderNum=a.orderNum,e.address=a.address},y=l=>{e.deptId="",e.parentName=l.deptName,e.parentId=l.deptId,e.status=0,e.deptName="",e.leader="",e.orderNum="",e.address="",_.value=!0,o.value=!1},x=async({deptId:l})=>{const{code:a}=await oe(l);a===200&&A.success({title:"删除",content:"删除成功"}),u()},D=async()=>{const l={...e,deptId:o.value&&e.deptId?e.deptId[0]:null},a=o.value?ee:ae,{code:f}=await a(l);if(f===200){const m=o.value?"编辑":"新增";A.success({title:`${m}账号`,content:`${m}成功`}),u(),_.value=!1}},s=()=>{e.deptId=null,e.parentName="",e.status=0,e.deptName="",e.leader="",e.orderNum="",e.address=""},i=()=>{o.value=!0,_.value=!1},b=async({dropNode:l,dragNode:a,dropPosition:f})=>{const m=C.value;te({orderNum:"0",parentId:l.deptId,deptId:a.deptId});const V=(g,N,k)=>{g.some((v,z,T)=>v.deptId===N?(k(v,z,T),!0):v.children?V(v.children,N,k):!1)};V(m,a.deptId,(g,N,k)=>{k.splice(N,1)}),f===0?V(m,l.deptId,g=>{g.children=g.children||[],g.children.push(a)}):V(m,l.deptId,(g,N,k)=>{k.splice(f<0?N:N+1,0,a)})};return G(()=>{u()}),(l,a)=>{const f=c("a-button"),m=c("a-card");return I(),H("div",ne,[U("div",le,[t(Y,{treeData:C.value,onNodeClick:p,onAddBtnClick:y,onDeleteBtnClick:x,onDrop:b},null,8,["treeData"])]),U("div",re,[t(m,{title:"详情",style:{height:"100%"}},{default:n(()=>[t(F,{org_form:e,onSave:D,onReset:s},{actions:n(()=>[t(f,{onClick:D},{default:n(()=>a[0]||(a[0]=[O("保存")])),_:1}),t(f,{onClick:s},{default:n(()=>a[1]||(a[1]=[O("重置")])),_:1})]),_:1},8,["org_form"])]),_:1})]),t(J,{visible:_.value,onOk:D,onCancel:i,title:"新增"},{default:n(()=>[t(F,{org_form:e},null,8,["org_form"])]),_:1},8,["visible"])])}}},de=P(se,[["__scopeId","data-v-9b6e88de"]]),me={__name:"PermissionOrganization",setup(d){return(_,o)=>(I(),h(L,null,{default:n(()=>[t(R,{current_label:"机构"}),t(de)]),_:1}))}};export{me as default};