diff --git a/src/api/department.ts b/src/api/department.ts index 00101a6..d94a077 100644 --- a/src/api/department.ts +++ b/src/api/department.ts @@ -54,3 +54,7 @@ export function dropDiffClass(id: number, parent_id: number, ids: number[]) { export function checkDestroy(id: number) { return client.get(`/backend/v1/department/${id}/destroy`, {}); } + +export function ldapSync() { + return client.post(`/backend/v1/department/ldap-sync`, {}); +} diff --git a/src/pages/department/index.tsx b/src/pages/department/index.tsx index 7a4ad65..c6aba78 100644 --- a/src/pages/department/index.tsx +++ b/src/pages/department/index.tsx @@ -32,6 +32,8 @@ const DepartmentPage = () => { const [updateVisible, setUpdateVisible] = useState(false); const [did, setDid] = useState(0); const [modal, contextHolder] = Modal.useModal(); + + // 是否启用LDAP const ldapEnabled = useSelector( (state: any) => state.systemConfig.value["ldap-enabled"] ); @@ -389,9 +391,22 @@ const DepartmentPage = () => { } }; + const ldapSync = () => { + if (loading) { + message.warning("正在同步,请稍后..."); + return; + } + setLoading(true); + department.ldapSync().then(() => { + message.success("操作成功"); + setLoading(false); + resetData(); + }); + }; + return ( <> - {!ldapEnabled && ( + {
{contextHolder}
@@ -404,9 +419,21 @@ const DepartmentPage = () => { onClick={() => setCreateVisible(true)} disabled={null} /> + + {ldapEnabled ? ( + ldapSync()} + disabled={null} + /> + ) : null}
- )} + }
{loading && (