mirror of https://github.com/longtai-cn/hippo4j
commit
ac3cb9ab3d
@ -0,0 +1,88 @@
|
||||
import { useAntdTable } from 'ahooks';
|
||||
import { Button, Form, Input, Row, Space, Table, Col } from 'antd';
|
||||
import React, { useState } from 'react';
|
||||
import { fetchTenantList } from './service';
|
||||
|
||||
const baseColumns = [
|
||||
{
|
||||
title: '序号',
|
||||
dataIndex: 'num',
|
||||
},
|
||||
{
|
||||
title: '租户',
|
||||
dataIndex: 'tenant',
|
||||
},
|
||||
{
|
||||
title: '租户名称',
|
||||
dataIndex: 'tenantName',
|
||||
},
|
||||
{
|
||||
title: '负责人',
|
||||
dataIndex: 'creator',
|
||||
},
|
||||
{
|
||||
title: '修改时间',
|
||||
dataIndex: 'data',
|
||||
},
|
||||
];
|
||||
|
||||
const Tenant: React.FC = () => {
|
||||
const [editVisible, setEditVisible] = useState(false);
|
||||
const [form] = Form.useForm();
|
||||
const { tableProps, search } = useAntdTable(fetchTenantList, { form });
|
||||
const actions = (type: string) => {
|
||||
switch (type) {
|
||||
case 'create':
|
||||
setEditVisible(true);
|
||||
break;
|
||||
case 'edit':
|
||||
setEditVisible(true);
|
||||
break;
|
||||
case 'delete':
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
};
|
||||
|
||||
return (
|
||||
<div>
|
||||
<Form>
|
||||
<Row>
|
||||
<Col span={6}>
|
||||
<Form.Item name="note" rules={[{ required: true }]}>
|
||||
<Input placeholder="租户" />
|
||||
</Form.Item>
|
||||
</Col>
|
||||
<Col span={18}>
|
||||
<Space>
|
||||
<Button onClick={() => search.submit()}>搜索</Button>
|
||||
<Button onClick={() => setEditVisible(true)}>添加</Button>
|
||||
</Space>
|
||||
</Col>
|
||||
</Row>
|
||||
</Form>
|
||||
<Table
|
||||
{...tableProps}
|
||||
rowKey="num"
|
||||
columns={[
|
||||
...baseColumns,
|
||||
{
|
||||
title: '操作',
|
||||
key: 'action',
|
||||
render: (text: string, record: any) => {
|
||||
return (
|
||||
<Space>
|
||||
<Button onClick={() => actions('edit')}>编辑</Button>
|
||||
<Button onClick={() => actions('edit')}>删除</Button>
|
||||
</Space>
|
||||
);
|
||||
},
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</div>
|
||||
);
|
||||
};
|
||||
|
||||
export default Tenant;
|
@ -0,0 +1,8 @@
|
||||
import { lazy } from 'react';
|
||||
import { IRouterList } from '@/typings';
|
||||
|
||||
const Tenant = lazy(() => import('./index'));
|
||||
|
||||
const routerList: IRouterList[] = [{ path: '/tenant', component: () => <Tenant /> }];
|
||||
|
||||
export default routerList;
|
@ -0,0 +1,46 @@
|
||||
import request from '@/utils';
|
||||
|
||||
const fetchTenantList = async (
|
||||
pageProps: { current: number; pageSize: number },
|
||||
formData: { tencent: string | number }
|
||||
) => {
|
||||
// mock request
|
||||
return {
|
||||
total: 3,
|
||||
list: [
|
||||
{
|
||||
num: '1',
|
||||
tenant: 'admin',
|
||||
tenantName: 'admin',
|
||||
creator: 'admin',
|
||||
data: 'admin',
|
||||
},
|
||||
],
|
||||
};
|
||||
const res = await request('/tenants', {
|
||||
method: 'POST',
|
||||
params: {
|
||||
...formData,
|
||||
pageNum: pageProps.current,
|
||||
pageSize: pageProps.pageSize,
|
||||
},
|
||||
});
|
||||
|
||||
if (res && res.success) {
|
||||
return {
|
||||
total: 3,
|
||||
list: [
|
||||
{
|
||||
num: '1',
|
||||
tenant: 'admin',
|
||||
tenantName: 'admin',
|
||||
creator: 'admin',
|
||||
data: 'admin',
|
||||
},
|
||||
],
|
||||
};
|
||||
}
|
||||
throw new Error(res.msg || '接口异常');
|
||||
};
|
||||
|
||||
export { fetchTenantList };
|
@ -1,6 +1,7 @@
|
||||
import { IRouterList } from '@/typings';
|
||||
import homeRouter from '@/page/home/router';
|
||||
import aboutRouter from '@/page/about/router';
|
||||
import tenantRouter from '@/page/tenant/router';
|
||||
|
||||
const routerList: IRouterList[] = [...homeRouter, ...aboutRouter];
|
||||
const routerList: IRouterList[] = [...homeRouter, ...aboutRouter, ...tenantRouter];
|
||||
export default routerList;
|
||||
|
Loading…
Reference in new issue