import { administratorOnly, apiGet, copyField, crudCommonOptions, mappingField, operationField, timeField, userRoleMapping, userStateMapping } from '../../components/constants.js' import {userCheckDialog, userDetailDialog} from "../../components/user/dialog-user-check.js"; import {userAdministratorRegisterDialog} from "../../components/user/dialog-user-register.js"; export function tabUser() { return { visibleOn: administratorOnly, title: '用户管理', icon: 'fa fa-user', reload: true, body: [ { type: 'crud', api: apiGet('${base}/user_management/list'), ...crudCommonOptions(), headerToolbar: [ 'reload', { type: 'action', icon: 'fa fa-plus', tooltip: '新增账号', ...userAdministratorRegisterDialog(), }, ], columns: [ copyField( 'username', '邮箱', undefined, undefined, userDetailDialog(), ), mappingField('role', '角色', userRoleMapping, 120), mappingField('state', '账号状态', userStateMapping), timeField('createdTime', '创建时间'), timeField('lastLoginTime', '上次登陆时间'), operationField('操作', undefined, [ { visibleOn: "${state === 'CHECKING'}", label: '审核', icon: 'fa fa-fingerprint', level: 'primary', size: 'xs', ...userCheckDialog(), }, { visibleOn: "${state === 'NORMAL' && role !== 'ADMINISTRATOR'}", label: '禁用', icon: 'fa fa-ban', level: 'danger', size: 'xs', confirmText: '确认禁用账号${username}?', confirmTitle: '禁用账号', actionType: 'ajax', api: apiGet('${base}/user_management/disable/${username}'), }, { visibleOn: "${state === 'DISABLED' && role !== 'ADMINISTRATOR'}", label: '启用', icon: 'fa fa-check', level: 'success', size: 'xs', confirmText: '确认启用账号${username}?', confirmTitle: '启用账号', actionType: 'ajax', api: apiGet('${base}/user_management/enable/${username}'), } ]), ] } ] } }