import { MyButtons, MyColumns, MyImportModal, MyPageContainer, MyProTableProps, renderTextHelper, useCurrentPermissions, } from '@/common'; import { Apis } from '@/gen/Apis'; import { CompanyEmployeesTypeEnum } from '@/gen/Enums'; import { ProTable } from '@ant-design/pro-components'; import { Dropdown, Space } from 'antd'; import Change from './modals/Change'; import CompletePhone from './modals/CompletePhone'; import EmployeeCreate from './modals/EmployeeCreate'; import EmployeeUpdate from './modals/EmployeeUpdate'; import Role from './modals/Role'; export default function Index({ title = '员工管理' }) { const getCurrentPermissions = useCurrentPermissions(); let toolBarRender = (action: any) => { return getCurrentPermissions({ create: ( ), export: ( ), }); }; let tableRender = (item: any, action: any) => { let permissions = getCurrentPermissions({ update: ( ), change: , }); let permissionsSpace = getCurrentPermissions({ Role: { key: '1', label: , }, resetPassword: { key: '2', label: ( Apis.Company.CompanyEmployees.ResetPassword({ id: item.id, password: 'Gc#123', }).then(() => action?.reload()) } /> ), }, delete: { key: '3', label: ( Apis.Company.CompanyEmployees.Delete({ id: item.id }).then(() => action?.reload(), ) } /> ), }, }); let Others = ( ); return [...permissions, ...[Others]]; }; return ( MyProTableProps.request( params, sort, Apis.Company.CompanyEmployees.List, ) } toolBarRender={(action) => [ { try { await Apis.Company.CompanyEmployees.SyncWechatEmployees(); action?.reload?.(); } catch (error) { console.error('同步企微信息失败:', error); } }} />, , toolBarRender(action), ]} columns={[ MyColumns.ID({ search: false, }), { title: '所在组织', dataIndex: 'organization_path', search: { transform: (value) => { return { organization_name: value }; }, }, }, { title: '姓名', dataIndex: 'name', }, { title: '手机号', dataIndex: 'phone', }, { title: '角色', dataIndex: 'roles', renderText: renderTextHelper.TagList, hideInSearch: true, }, { title: '岗位', dataIndex: ['position', 'name'], search: false, }, MyColumns.EnumTag({ title: '来源', dataIndex: 'type', valueEnum: CompanyEmployeesTypeEnum, }), MyColumns.SoftDelete({ title: '启/禁用', onRestore: Apis.Company.CompanyEmployees.Restore, onSoftDelete: Apis.Company.CompanyEmployees.SoftDelete, search: false, setPermissions: getCurrentPermissions({ enableDisable: true, }), }), MyColumns.UpdatedAt(), // MyColumns.CreatedAt(), MyColumns.Option({ render: (_, item: any, index, action) => ( <>{tableRender(item, action)} ), }), ]} /> ); }