import A from"./ContentContainer-CtimBbkx.js";import{_ as M,B as Q}from"./Modal-B95At_XC.js";import{T as x}from"./TreeParts-Ca39YBcY.js";import{ab as E,c as $,o as w,g as S,w as d,f as a,j as i,x as G,A as b,r as k,b as H,m as J,ac as K,B as y,a1 as W,d as X,e as P,s as Y,i as R,t as O}from"./index-BroSwtHE.js";import{a as Z}from"./common-YIO90SQ4.js";import{_ as ee}from"./_plugin-vue_export-helper-DlAUqK2U.js";const T={__name:"OrgForm",props:{org_form:{type:Object,required:!0,default:()=>({parentName:"",status:0,deptName:"",leader:"",phone:"",address:""})}},emits:["statusChange"],setup(n,{emit:N}){const _=N,f=n,{org_form:r}=E(f),B=e=>{_("statusChange",e)};return(e,o)=>{const g=$("a-input"),u=$("a-form-item"),F=$("a-switch"),U=$("a-space"),I=$("a-form");return w(),S(I,{model:i(r),layout:"horizontal",ref:"orgFormRef"},{default:d(()=>[a(u,{field:"parentName",label:e.$t("permission.org.parent_org"),disabled:""},{default:d(()=>[a(g,{modelValue:i(r).parentName,"onUpdate:modelValue":o[0]||(o[0]=l=>i(r).parentName=l)},null,8,["modelValue"])]),_:1},8,["label"]),a(u,{field:"status",label:e.$t("permission.org.status")},{default:d(()=>[a(F,{modelValue:i(r).status,"onUpdate:modelValue":o[1]||(o[1]=l=>i(r).status=l),onChange:o[2]||(o[2]=l=>B(i(r).status)),"checked-value":"1","unchecked-value":"0"},null,8,["modelValue"])]),_:1},8,["label"]),a(u,{field:"deptName",label:e.$t("permission.org.org_name"),rules:[{required:!0,message:"机构名称必填"},{maxLength:50,message:"长度不超过50"}]},{default:d(()=>[a(g,{modelValue:i(r).deptName,"onUpdate:modelValue":o[3]||(o[3]=l=>i(r).deptName=l)},null,8,["modelValue"])]),_:1},8,["label"]),a(u,{field:"leader",label:e.$t("permission.org.leader"),rules:[{required:!0,message:"联系人必填"},{maxLength:50,message:"长度不超过50"}]},{default:d(()=>[a(g,{modelValue:i(r).leader,"onUpdate:modelValue":o[4]||(o[4]=l=>i(r).leader=l)},null,8,["modelValue"])]),_:1},8,["label"]),a(u,{field:"phone",label:e.$t("permission.org.phone"),rules:[{required:!0,message:"联系电话必填"},{maxLength:50,message:"长度不超过50"}]},{default:d(()=>[a(g,{modelValue:i(r).phone,"onUpdate:modelValue":o[5]||(o[5]=l=>i(r).phone=l)},null,8,["modelValue"])]),_:1},8,["label"]),a(u,{field:"address",label:e.$t("permission.org.address")},{default:d(()=>[a(g,{modelValue:i(r).address,"onUpdate:modelValue":o[6]||(o[6]=l=>i(r).address=l)},null,8,["modelValue"])]),_:1},8,["label"]),a(u,null,{default:d(()=>[a(U,null,{default:d(()=>[G(e.$slots,"actions")]),_:3})]),_:3})]),_:3},8,["model"])}}},V="/api/dept";function te(n){return b({url:`${V}/${n}`,method:"get"})}function ae(n){return b({url:`${V}/status`,method:"put",data:n})}function se(n){return b({url:`${V}/edit_dept`,method:"put",data:n})}function oe(n){return b({url:`${V}/dept_parent`,method:"put",data:n})}function re(n){return b({url:`${V}/add_dept`,method:"post",data:n})}function ne(n){return b({url:`${V}/${n}`,method:"delete"})}const le={class:"organization-container"},de={class:"left"},ie={class:"right"},ue={__name:"index",setup(n){const N=k(null),_=k(!1),f=k(!0),r=k([]),B={add_permission:"system:dept:add",delete_permission:"system:dept:delete"},e=H({parentName:"",status:0,deptName:"",leader:"",phone:"",address:"",orderNum:0}),o=async()=>{const{code:t,data:{rows:s}}=await Z();t==200&&(r.value=s)},g=async t=>{const{data:{data:s}}=await te(t);e.deptId=t,e.parentName=s.parentName,e.status=s.status,e.deptName=s.deptName,e.leader=s.leader,e.phone=s.phone,e.address=s.address,f.value=!0},u=t=>{e.deptId="",e.parentName=t.deptName,e.parentId=t.deptId,e.status=0,e.deptName="",e.leader="",e.phone="",e.address="",_.value=!0,f.value=!1},F=async({deptId:t})=>{const{code:s}=await ne(t);s===200&&y.success({title:"删除",content:"删除成功"}),o()},U=async t=>{const s={deptId:e.deptId[0],status:t},{code:m,msg:p}=await ae(s);m===200?(y.success({title:"状态更新",content:"状态更新成功"}),o()):(y.error({title:"状态更新",content:p}),e.status="1")},I=async()=>{N.value.$refs.orgFormRef.validate&&N.value.$refs.orgFormRef.validate(async t=>{if(!t){const s={...e,deptId:f.value&&e.deptId?e.deptId[0]:null},m=f.value?se:re,{code:p}=await m(s);if(p===200){const c=f.value?"编辑":"新增";y.success({title:`${c}用户`,content:`${c}成功`}),o(),_.value=!1}}})},l=()=>{e.deptId=null,e.parentName="",e.status=0,e.deptName="",e.leader="",e.phone="",e.address=""},q=()=>{f.value=!0,_.value=!1},L=async({dropNode:t,dragNode:s,dropPosition:m})=>{const p=r.value;oe({orderNum:"0",parentId:t.deptId,deptId:s.deptId});const c=(h,v,C)=>{h.some((D,j,z)=>D.deptId===v?(C(D,j,z),!0):D.children?c(D.children,v,C):!1)};c(p,s.deptId,(h,v,C)=>{C.splice(v,1)}),m===0?c(p,t.deptId,h=>{h.children=h.children||[],h.children.push(s)}):c(p,t.deptId,(h,v,C)=>{C.splice(m<0?v:v+1,0,s)})};return J(()=>{K("system:dept:list")?o():y.error({title:"权限不足",content:"抱歉,您没有权限查看该页面"})}),(t,s)=>{const m=$("a-button"),p=$("a-card"),c=W("hasPerm");return w(),X("div",le,[P("div",de,[a(x,{treeData:r.value,title:t.$t("permission.org.tree_title"),showLock:!0,fieldNames:{key:"deptId",title:"deptName",children:"children"},permission:B,onNodeClick:g,onAddBtnClick:u,onDeleteBtnClick:F,onDrop:L},null,8,["treeData","title"])]),P("div",ie,[a(p,{title:t.$t("permission.org.details"),style:{height:"100%"}},{default:d(()=>[a(T,{org_form:e,onStatusChange:U,onSave:I,onReset:l},{actions:d(()=>[Y((w(),S(m,{onClick:I},{default:d(()=>[R(O(t.$t("permission.org.save")),1)]),_:1})),[[c,"system:dept:edit"]]),a(m,{onClick:l},{default:d(()=>[R(O(t.$t("permission.org.reset")),1)]),_:1})]),_:1},8,["org_form"])]),_:1},8,["title"])]),a(M,{visible:_.value,onOk:I,onCancel:q,title:t.$t("permission.org.add")},{default:d(()=>[a(T,{ref_key:"orgForm",ref:N,org_form:e},null,8,["org_form"])]),_:1},8,["visible","title"])])}}},me=ee(ue,[["__scopeId","data-v-24e24f20"]]),ve={__name:"PermissionOrganization",setup(n){return(N,_)=>(w(),S(A,null,{default:d(()=>[a(Q,{current_label:"机构"}),a(me)]),_:1}))}};export{ve as default};