import { h } from 'vue'; import { Tag, Avatar } from 'ant-design-vue'; export const columns = [ { title: 'ID', dataIndex: 'id', fixed: 'left', width: 50, }, { title: '登录账号', dataIndex: 'username', key: 'username', width: 160, }, { title: '用户姓名', dataIndex: 'realname', key: 'realname', width: 160, }, { title: '头像', dataIndex: 'avatar', key: 'avatar', customRender({ record }) { return h(Avatar, { size: 48, src: record.avatar, shape: 'square', fit: 'fill', }); }, width: 100, }, { title: '性别', dataIndex: 'gender', key: 'gender', customRender({ record }) { let typeText = ''; let color = ''; switch (record.gender) { case 1: typeText = '男'; color = 'processing'; break; case 2: typeText = '女'; color = 'error'; break; case 3: typeText = '保密'; color = 'warning'; break; default: break; } return h( Tag, { color: color, }, { default: () => typeText, }, ); }, width: 70, }, { title: '手机号', dataIndex: 'mobile', key: 'mobile', width: 140, }, { title: '用户角色', dataIndex: 'role', key: 'role', customRender({ record }) { let roleNames = ''; if (record.roles.length > 0) { roleNames = record.roles.map((role) => role.name).join(','); } return h('span', roleNames || '-'); }, width: 160, }, { title: '职级', prop: 'levelName', dataIndex: 'levelName', width: 160, }, { title: '岗位', prop: 'positionName', dataIndex: 'positionName', width: 160, }, { title: '部门', prop: 'deptName', dataIndex: 'deptName', width: 160, }, { title: '状态', dataIndex: 'status', key: 'status', customRender({ record }) { return h( Tag, { color: record.status == 1 ? 'success' : 'error', }, { default: () => (record.status == 1 ? '正常' : '禁用'), }, ); }, width: 100, }, { title: '创建时间', dataIndex: 'createTime', key: 'createTime', width: 180, }, { title: '操作', fixed: 'right', dataIndex: 'action', key: 'action', width: 400, }, ];