1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/didiopensource-KnowStreaming

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Это зеркальный репозиторий, синхронизируется ежедневно с исходного репозитория.
Клонировать/Скачать
user-management.tsx 2.4 КБ
Копировать Редактировать Исходные данные Просмотреть построчно История
孙超 Отправлено 4 лет назад 6080f76
import { observer } from 'mobx-react';
import * as React from 'react';
import { Table, Button, Spin } from 'component/antd';
import { SearchAndFilterContainer } from 'container/search-filter';
import { IUser } from 'types/base-type';
import { users } from 'store/users';
import { pagination } from 'constants/table';
import { getUserColumns } from './config';
import { showApplyModal } from 'container/modal/admin';
import { roleMap } from 'constants/status-map';
import { tableFilter } from 'lib/utils';
@observer
export class UserManagement extends SearchAndFilterContainer {
public state = {
searchKey: '',
filterRole: false,
};
public componentDidMount() {
if (!users.userData.length) {
users.getUserList();
}
}
public getData<T extends IUser>(origin: T[]) {
let data: T[] = origin;
let { searchKey } = this.state;
searchKey = (searchKey + '').trim().toLowerCase();
data = searchKey ? origin.filter((item: IUser) =>
(item.username !== undefined && item.username !== null) && item.username.toLowerCase().includes(searchKey as string)) : origin;
return data;
}
public renderTable() {
const roleColumn = Object.assign({
title: '角色权限',
dataIndex: 'role',
key: 'role',
width: '35%',
filters: tableFilter<IUser>(users.userData, 'role', roleMap),
onFilter: (text: number, record: IUser) => record.role === text,
render: (text: number) => roleMap[text] || '',
}, this.renderColumnsFilter('filterRole')) as any;
const userColumns = getUserColumns();
userColumns.splice(1, 0, roleColumn);
return (
<Spin spinning={users.loading}>
<Table
rowKey="key"
columns={userColumns}
dataSource={this.getData(users.userData)}
pagination={pagination}
/>
</Spin>
);
}
public renderOperationPanel() {
return (
<ul>
{this.renderSearch('', '请输入用户名或应用名称')}
<li className="right-btn-1">
<Button type="primary" onClick={() => showApplyModal()}>添加用户</Button>
</li>
</ul>
);
}
public render() {
return (
<div className="container">
<div className="table-operation-panel">
{this.renderOperationPanel()}
</div>
<div className="table-wrapper">
{this.renderTable()}
</div>
</div>
);
}
}

Комментарий ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://gitlife.ru/oschina-mirror/didiopensource-KnowStreaming.git
git@gitlife.ru:oschina-mirror/didiopensource-KnowStreaming.git
oschina-mirror
didiopensource-KnowStreaming
didiopensource-KnowStreaming
v2.4.1