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, }, ];