diff --git a/threadpool/console-new/src/api/tenant.ts b/threadpool/console-new/src/api/tenant.ts index f947040b..2a673ecb 100644 --- a/threadpool/console-new/src/api/tenant.ts +++ b/threadpool/console-new/src/api/tenant.ts @@ -2,31 +2,42 @@ import request from '@/utils'; import { useContext, useEffect } from 'react'; import { MyContext } from '@/context'; -const getTenantList = async () => { +const getTenantList = async (formData: { current: number; desc: boolean; size: number; tenantId: string }) => { return await request('/tenant/query/page', { method: 'POST', }) .then(response => { console.log('租户列表返回', response); - const { setTenantInfo } = useContext(MyContext); - useEffect(() => { - setTenantInfo(response.data); - }); }) .catch(err => { console.log('租户列表获取出错:', err); }); }; -const updataTenant = async (formData: { size: number }) => { +const updataTenant = async (formData: { + id: number; + tenantId: string; + tenantName: string; + tenantDesc: string; + owner: string; + // gmtCreate: Data; + // gmtModified: Data; +}) => { return await request('/tenant/update', { method: 'POST', params: { ...formData, }, - }).catch(err => { - console.log('租户列表获取出错:', err); - }); + }) + .then((response: any) => { + useEffect(() => { + const { setTenantInfo } = useContext(MyContext); + setTenantInfo(response.data.records); + }); + }) + .catch(err => { + console.log('租户列表获取出错:', err); + }); }; export { getTenantList, updataTenant }; diff --git a/threadpool/console-new/src/components/header/index.tsx b/threadpool/console-new/src/components/header/index.tsx index 21e64e1f..083d699c 100644 --- a/threadpool/console-new/src/components/header/index.tsx +++ b/threadpool/console-new/src/components/header/index.tsx @@ -1,16 +1,20 @@ -import React, { useContext } from 'react'; +import React, { useContext, useEffect, useState } from 'react'; import style from './index.module.less'; import { UserOutlined } from '@ant-design/icons'; import { Avatar, Button, Col, Dropdown, Row, Switch, Select, Space } from 'antd'; -import { getTenantList } from '../../api/tenant'; +import { getTenantList, updataTenant } from '../../api/tenant'; +import { STR_MAP } from '../../config/i18n/locales/constants'; import { useThemeMode } from '@/hooks/useThemeMode'; import { MyContext } from '@/context'; import IconFont from '@/components/icon'; +import { useSetState } from 'ahooks'; +import { useTran } from '../../hooks'; +import { resolve } from 'path'; const HeaderChild = () => { const { isDark, setIsDark } = useThemeMode(); const { lang, setLang } = useContext(MyContext); - const { setTenantInfo } = useContext(MyContext); + const { tenantInfo, setTenantInfo } = useContext(MyContext); const items = [ { @@ -39,35 +43,56 @@ const HeaderChild = () => { }, ]; - const tenantList = [ + let tenantTitle = useTran(STR_MAP.CHANGE_TENANT); + let tenantList = [ { - value: 'option1', - key: 1, - id: undefined, - tenantId: '', - tenantName: '', - owner: '', - tenantDesc: '', + gmtCreate: '2023-09-20 11:08:37', + gmtModified: '2023-09-20 21:34:40', + id: 8, + owner: 'test', + tenantDesc: 'test', + tenantId: 'test', + tenantName: 'test1', }, { - value: 'option2', - key: 2, - id: undefined, - tenantId: '', - tenantName: '', - owner: '', - tenantDesc: '', + gmtCreate: '2023-09-20 11:08:37', + gmtModified: '2023-09-20 21:34:40', + id: 8, + owner: 'abc', + tenantDesc: 'abc', + tenantId: 'tesabct', + tenantName: 'abc', }, ]; const handleTenantChange = (value: string) => { - setTenantInfo(tenantList[0]); + let formData = { + id: tenantInfo.id, + tenantId: tenantInfo.tenantId, + tenantName: value, + tenantDesc: tenantInfo.tenantDesc, + owner: tenantInfo.owner, + }; + updataTenant(formData).then((resolve: any) => { + console.log('tenantList', resolve); + setTenantInfo(formData); + }); }; - getTenantList().then((resolve: any) => { - console.log('tenantList', resolve); - // this.tenantList = resolve; - }); + useEffect(() => { + let formData = { + current: 1, + desc: true, + size: 10, + tenantId: '', + }; + getTenantList(formData).then((resolve: any) => { + console.log('tenantList', resolve); + // eslint-disable-next-line react-hooks/exhaustive-deps, react-hooks/rules-of-hooks + tenantList = useSetState(resolve.records); + }); + console.log('use effect'); + }, [setTenantInfo, tenantList]); return (
@@ -79,10 +104,10 @@ const HeaderChild = () => { - - - - - - - - -
- ); -}; -export default Login;