import{o as e,t}from"./request-xrnk7ZJV.js";import{Pr as n,t as r}from"./jsx-runtime-OfKoVykY.js";import{t as i}from"./typography-C81dpVAv.js";import{t as a}from"./PlusOutlined-CKNTdA7h.js";import{t as o}from"./alert-MkQrWV4q.js";import{n as s,t as c}from"./table-GdB-aSU5.js";import{t as l}from"./space-JYtHxLjg.js";import{t as u}from"./button-DsOd0cni.js";import{t as d}from"./XinForm-D9piiVGF.js";import{t as f}from"./card-C-jMUkpS.js";import{n as p,t as m}from"./row-DM2jDy-f.js";import{t as h}from"./popconfirm-Drhri82N.js";import{t as g}from"./tag-CY8tAhzO.js";import{t as ee}from"./UserOutlined-CHErCzr8.js";import{t as te}from"./useTranslation-C4ZVtLa2.js";import{Tt as _,Z as v,ct as y,p as b,r as x}from"./index-DMEx4_h0.js";import{t as S}from"./AuthButton-CIGfKIUu.js";import{t as C}from"./useAuth-oU31VBxJ.js";var w=e(n(),1);async function T(){return t({url:`/system/dept`,method:`get`})}async function E(e){return t({url:`/system/dept`,method:`post`,data:e})}async function D(e,n){return t({url:`/system/dept/`+e,method:`put`,data:n})}async function O(e){return t({url:`/system/dept`,method:`delete`,data:{ids:e}})}async function k(e,n={page:1,pageSize:10}){return t({url:`/system/dept/users/`+e,method:`get`,params:n})}var A=x(),j=r(),M=new Map,N=()=>{let{t:e}=te(),{auth:t}=C(),n=(0,w.useRef)(null),r=(0,w.useRef)(null),[x,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 r=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)(v,{}):t.type===1?(0,j.jsx)(b,{}):(0,j.jsx)(ee,{}),children:r(t.children||[])})):[];try{let e=await T();e.data.data&&e.data.data.length>0&&(M.clear(),B(r(e.data.data)),x&&M.has(x)||(N(e.data.data[0].id.toString()),n.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)=>{r.current?.resetFields(),r.current?.setFieldsValue({parent_id:e?Number(x):0,sort:0,status:0,type:0}),r.current?.open()},ne=e=>{if(e&&e.length>=1){N(e[0].toString());let t=M.get(e[0].toString());t&&n.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(x),t),_.success(e(`system.dept.updateSuccess`))):(await E(t),_.success(e(`system.dept.createSuccess`)),r.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)(g,{color:`success`,children:e(`system.dept.users.column.status.0`)}),t===0&&(0,j.jsx)(g,{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)(i.Title,{level:3,children:e(`system.dept.page.title`)}),(0,j.jsx)(i.Text,{type:`secondary`,children:e(`system.dept.page.description`)})]}),(0,j.jsxs)(m,{gutter:[20,20],children:[(0,j.jsxs)(p,{xxl:12,lg:12,xs:24,children:[(0,j.jsx)(d,{layoutType:`ModalForm`,formRef:r,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)(f,{title:(0,j.jsxs)(l,{children:[(0,j.jsx)(S,{auth:`system.dept.create`,children:(0,j.jsx)(u,{loading:G,children:e(`system.dept.createButton`),icon:(0,j.jsx)(a,{}),type:`primary`,onClick:()=>Z()})}),(0,j.jsx)(S,{auth:`system.dept.create`,children:(0,j.jsx)(u,{loading:G,children:e(`system.dept.createChildrenButton`),icon:(0,j.jsx)(a,{}),type:`primary`,onClick:()=>Z(!0)})})]}),variant:`borderless`,loading:G,styles:{body:{minHeight:`70vh`}},children:[P.length>0&&(0,j.jsx)(o,{style:{marginBottom:20},description:e(`system.dept.checkedMessage`,{checked:P.length}),type:`info`,action:(0,j.jsxs)(l,{children:[(0,j.jsx)(u,{size:`small`,type:`primary`,onClick:()=>F([]),children:e(`system.dept.unselect`)}),(0,j.jsx)(S,{auth:`system.dept.delete`,children:(0,j.jsx)(h,{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)(u,{type:`primary`,icon:(0,j.jsx)(y,{}),size:`small`,danger:!0,loading:G})})})]})}),(0,j.jsx)(s,{checkable:!0,treeData:z,showIcon:!0,checkStrictly:!0,selectedKeys:[x],defaultExpandedKeys:[x],onSelect:ne,checkedKeys:P,onCheck:re})]})]}),(0,j.jsx)(p,{xxl:12,lg:12,xs:24,children:(0,j.jsxs)(f,{variant:`borderless`,tabList:R,tabProps:{accessKey:I},onTabChange:L,styles:{body:{minHeight:`70vh`}},children:[(0,j.jsx)(d,{formRef:n,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)(c,{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(x),n).then()}},scroll:{x:600}})})]})})]})]})};export{N as default};