import{Or as e,Tr as t,n,t as r}from"./jsx-runtime-NwRKtVrk.js";import{t as i}from"./request-Blbag3Ot.js";import{t as a}from"./alert-DAtI4UaJ.js";import{n as ee,t as te}from"./table-By97ouEx.js";import{t as o}from"./button-CM-rzMOH.js";import{t as s}from"./space-Dvitgohy.js";import{t as c}from"./card-D7XvzVif.js";import{t as l}from"./XinForm-ihfVpzb6.js";import{at as u,f as d,mt as f,o as p}from"./es-Do50EHua.js";import{t as m}from"./popconfirm-BkTOsppG.js";import{t as h}from"./tag-C0Yg14A-.js";import{N as g,b as _,h as v,r as y,s as b,v as x}from"./index-B7MUL4ct.js";import{t as S}from"./AuthButton-MNxRWjhj.js";import{t as C}from"./useAuth-DKX3y3On.js";var w=e(t(),1);async function T(){return i({url:`/system/dept`,method:`get`})}async function E(e){return i({url:`/system/dept`,method:`post`,data:e})}async function D(e,t){return i({url:`/system/dept/`+e,method:`put`,data:t})}async function O(e){return i({url:`/system/dept`,method:`delete`,data:{ids:e}})}async function k(e,t={page:1,pageSize:10}){return i({url:`/system/dept/users/`+e,method:`get`,params:t})}var A=y(),j=r(),M=new Map,N=()=>{let{t:e}=b(),{auth:t}=C(),r=(0,w.useRef)(null),i=(0,w.useRef)(null),[y,N]=(0,w.useState)(``),[P,F]=(0,w.useState)([]),[I,L]=(0,w.useState)(`info`),R=[{key:`info`,label:e(`system.dept.tab.info`)},{key:`users`,label:e(`system.dept.tab.users`),disabled:!t(`system.dept.users`)}],[z,B]=(0,w.useState)([]),[V,H]=(0,w.useState)([]),[U,W]=(0,w.useState)({page:1,pageSize:10,total:0}),[G,K]=(0,w.useState)(!1),[q,J]=(0,w.useState)(!1),Y=async(e,t)=>{try{J(!0);let n=await k(e,(0,A.omit)(t||U,`total`));H(n.data.data.data),W({...U,total:n.data.data.total})}finally{J(!1)}},X=async()=>{K(!0);let n=t=>t?.length?t.map(t=>(M.set(t.id.toString(),(0,A.omit)(t,`children`)),{title:t.name||e(`system.dept.tab.users`),key:t.id?.toString()||``,icon:t.type===0?(0,j.jsx)(u,{}):t.type===1?(0,j.jsx)(d,{}):(0,j.jsx)(p,{}),children:n(t.children||[])})):[];try{let e=await T();e.data.data&&e.data.data.length>0&&(M.clear(),B(n(e.data.data)),(!y||!M.has(y))&&(N(e.data.data[0].id.toString()),r.current?.setFieldsValue((0,A.omit)(e.data.data[0],`children`)),t(`system.dept.users`)&&await Y(e.data.data[0].id)))}finally{K(!1)}},Z=(e=!1)=>{i.current?.resetFields(),i.current?.setFieldsValue({parent_id:e?Number(y):0,sort:0,status:0,type:0}),i.current?.open()},ne=e=>{if(e&&e.length>=1){N(e[0].toString());let t=M.get(e[0].toString());t&&r.current?.setFieldsValue(t),Y(Number(e[0])).then()}},re=e=>{(0,A.isArray)(e)?F(e):F(e.checked)},Q=async(t,n=!1)=>{try{K(!0),n?(await D(Number(y),t),_.success(e(`system.dept.updateSuccess`))):(await E(t),_.success(e(`system.dept.createSuccess`)),i.current?.close()),await X()}finally{K(!1)}},ie=async()=>{try{K(!0),await O(P),await X(),F([]),_.success(e(`system.dept.deleteSuccess`))}finally{K(!1)}},$=[{title:e(`system.dept.column.name`),valueType:`text`,dataIndex:`name`,rules:[{required:!0,message:e(`system.dept.column.name.required`)}]},{title:e(`system.dept.column.code`),valueType:`text`,dataIndex:`code`,rules:[{required:!0,message:e(`system.dept.column.code.required`)}]},{title:e(`system.dept.column.type`),valueType:`radioButton`,dataIndex:`type`,fieldProps:{options:[{value:0,label:e(`system.dept.column.type.0`)},{value:1,label:e(`system.dept.column.type.1`)},{value:2,label:e(`system.dept.column.type.2`)}]},rules:[{required:!0,message:e(`system.dept.column.type.required`)}]},{title:e(`system.dept.column.parent`),valueType:`treeSelect`,dataIndex:`parent_id`,fieldProps:{treeData:[{title:e(`system.dept.column.parent.0`),value:0,children:z}],fieldNames:{label:`title`,value:`key`},disabled:!0},rules:[{required:!0,message:e(`system.dept.column.parent.required`)}]},{title:e(`system.dept.column.email`),valueType:`text`,dataIndex:`email`},{title:e(`system.dept.column.address`),valueType:`text`,dataIndex:`address`},{title:e(`system.dept.column.phone`),valueType:`text`,dataIndex:`phone`},{title:e(`system.dept.column.sort`),valueType:`digit`,dataIndex:`sort`,rules:[{required:!0,message:e(`system.dept.column.sort.required`)}]},{title:e(`system.dept.column.status`),valueType:`radioButton`,dataIndex:`status`,fieldProps:{options:[{value:0,label:e(`system.dept.column.status.0`)},{value:1,label:e(`system.dept.column.status.1`)}]},rules:[{required:!0,message:e(`system.dept.column.status.required`)}]},{title:e(`system.dept.column.remark`),valueType:`textarea`,dataIndex:`remark`}],ae=[{title:e(`system.dept.users.column.id`),dataIndex:`id`,key:`id`,align:`center`},{title:e(`system.dept.users.column.username`),dataIndex:`username`,key:`username`,align:`center`},{title:e(`system.dept.users.column.nickname`),dataIndex:`nickname`,key:`nickname`,align:`center`},{title:e(`system.dept.users.column.nickname`),dataIndex:`email`,key:`email`,align:`center`},{title:e(`system.dept.users.column.mobile`),dataIndex:`mobile`,key:`mobile`,align:`center`},{title:e(`system.dept.users.column.status`),dataIndex:`status`,key:`status`,align:`center`,render:t=>(0,j.jsxs)(j.Fragment,{children:[t===1&&(0,j.jsx)(h,{color:`success`,children:e(`system.dept.users.column.status.0`)}),t===0&&(0,j.jsx)(h,{color:`error`,children:e(`system.dept.users.column.status.1`)})]})}];return(0,w.useEffect)(()=>{X()},[]),(0,j.jsxs)(j.Fragment,{children:[(0,j.jsxs)(`div`,{className:`mb-5`,children:[(0,j.jsx)(v.Title,{level:3,children:e(`system.dept.page.title`)}),(0,j.jsx)(v.Text,{type:`secondary`,children:e(`system.dept.page.description`)})]}),(0,j.jsxs)(x,{gutter:[20,20],children:[(0,j.jsxs)(g,{xxl:12,lg:12,xs:24,children:[(0,j.jsx)(l,{layoutType:`ModalForm`,formRef:i,modalProps:{title:e(`system.dept.createModalTitle`),styles:{body:{paddingTop:20}},width:800},onFinish:async e=>(await Q(e,!1),!0),columns:$,layout:`vertical`,grid:!0,rowProps:{gutter:[30,0]},colProps:{span:12}}),(0,j.jsxs)(c,{title:(0,j.jsxs)(s,{children:[(0,j.jsx)(S,{auth:`system.dept.create`,children:(0,j.jsx)(o,{loading:G,children:e(`system.dept.createButton`),icon:(0,j.jsx)(n,{}),type:`primary`,onClick:()=>Z()})}),(0,j.jsx)(S,{auth:`system.dept.create`,children:(0,j.jsx)(o,{loading:G,children:e(`system.dept.createChildrenButton`),icon:(0,j.jsx)(n,{}),type:`primary`,onClick:()=>Z(!0)})})]}),variant:`borderless`,loading:G,styles:{body:{minHeight:`70vh`}},children:[P.length>0&&(0,j.jsx)(a,{style:{marginBottom:20},description:e(`system.dept.checkedMessage`,{checked:P.length}),type:`info`,action:(0,j.jsxs)(s,{children:[(0,j.jsx)(o,{size:`small`,type:`primary`,onClick:()=>F([]),children:e(`system.dept.unselect`)}),(0,j.jsx)(S,{auth:`system.dept.delete`,children:(0,j.jsx)(m,{okText:e(`system.dept.delete.ok`),cancelText:e(`system.dept.delete.cancel`),title:e(`system.dept.delete.title`),description:e(`system.dept.delete.description`),onConfirm:()=>ie(),children:(0,j.jsx)(o,{type:`primary`,icon:(0,j.jsx)(f,{}),size:`small`,danger:!0,loading:G})})})]})}),(0,j.jsx)(ee,{checkable:!0,treeData:z,showIcon:!0,checkStrictly:!0,selectedKeys:[y],defaultExpandedKeys:[y],onSelect:ne,checkedKeys:P,onCheck:re})]})]}),(0,j.jsx)(g,{xxl:12,lg:12,xs:24,children:(0,j.jsxs)(c,{variant:`borderless`,tabList:R,tabProps:{accessKey:I},onTabChange:L,styles:{body:{minHeight:`70vh`}},children:[(0,j.jsx)(l,{formRef:r,onFinish:async e=>(await Q(e,!0),!0),columns:$,layout:`horizontal`,style:{display:I===`info`?`block`:`none`},submitter:{render:e=>(0,j.jsx)(S,{auth:`system.dept.update`,children:e.submit}),submitText:e(`system.dept.saveInfo`)}}),(0,j.jsx)(S,{auth:`system.dept.users`,children:(0,j.jsx)(te,{style:{display:I===`users`?`block`:`none`},dataSource:V,bordered:!0,columns:ae,loading:q,size:`small`,pagination:{current:U.page,pageSize:U.pageSize,total:U.total,showSizeChanger:!0,onChange:(e,t)=>{let n={total:U.total,pageSize:t,page:e};W(n),Y(Number(y),n).then()}},scroll:{x:600}})})]})})]})]})};export{N as default};