feat(projects): 实现用户管理页面

This commit is contained in:
Soybean
2022-08-07 12:02:00 +08:00
parent 77572855c3
commit 472f93bfc1
11 changed files with 361 additions and 83 deletions

View File

@ -2,8 +2,7 @@ import { EnumGender } from '@/enum';
import { isUndefined } from '@/utils';
export function adapterOfFetchUserManagementList(
requestData: ApiUserManagement.UserTable[],
adminId: string
requestData: ApiUserManagement.UserTable[]
): UserManagement.UserTable[] {
const genderMap: Record<
NonNullable<ApiUserManagement.UserTable['gender']>,
@ -17,21 +16,25 @@ export function adapterOfFetchUserManagementList(
// 2. 接口定义的字段有可能为null, 例如 预期是数组却返回了null导致调用数组方法报错
// 3. 字段可能丢失
return requestData.map(item => {
const { id, name, age, gender } = item;
const userName = name + (adminId === id ? '(管理员)' : '');
return requestData.map((item, index) => {
const { id, name: userName, age, gender, phone: userPhone, email: userEmail, role: userRole, disabled } = item;
const userAge = isUndefined(age) ? '无' : String(age);
const userGender = gender !== null ? genderMap[gender] : 'null';
const result: UserManagement.UserTable = {
index: index + 1,
key: id,
id,
userName,
userAge,
userGender,
userGenderLabel: EnumGender[userGender]
userGenderLabel: EnumGender[userGender],
userPhone,
userEmail,
userRole,
disabled
};
return result;

View File

@ -8,15 +8,5 @@ import { adapterOfFetchUserManagementList } from './management.adapter';
export async function fetchUserManagementList() {
const data = await mockRequest.post<ApiUserManagement.UserTable[]>('/getUserManagementList');
const id = '2';
return adapter(adapterOfFetchUserManagementList, data, { error: null, data: id });
return adapter(adapterOfFetchUserManagementList, data);
}
// export async function fetchFilterUserManagementList(
// filterKey: keyof UserManagement.UserTable,
// mode: 'fontEnd' | 'backEnd',
// source: UserManagement.UserTable[]
// ) {
// }