import { MyColumns, MyProTableProps, useCurrentPermissions } from '@/common'; import { Selects } from '@/components/Select'; import { Apis } from '@/gen/Apis'; import { HouseWorkOrdersLocationEnum, HouseWorkOrdersStatusEnum, HouseWorkOrdersTypeEnum, } from '@/gen/Enums'; import { ProTable } from '@ant-design/pro-components'; import { Space } from 'antd'; import WorkOrderShow from '../../list/modals/WorkOrderShow'; export default function Index({ title = '已回访工单' }) { const getCurrentPermissions = useCurrentPermissions(); let tableRender = (item: any, action: any) => { return getCurrentPermissions( { show: ( ), }, 'IsVisited', ); }; return ( MyProTableProps.request( { ...params, type: [ HouseWorkOrdersTypeEnum.Repair.value, HouseWorkOrdersTypeEnum.Incident.value, HouseWorkOrdersTypeEnum.Complaint.value, ], is_visited: true, status: HouseWorkOrdersStatusEnum.Completed.value, }, sort, Apis.WorkOrder.HouseWorkOrders.List, ) } // options={false} headerTitle={title} columns={[ MyColumns.ID({ search: false, }), Selects?.AssetProjects({ title: '选择项目', key: 'asset_projects_id', hidden: true, }), MyColumns.EnumTag({ title: '工单状态', dataIndex: 'status', valueEnum: HouseWorkOrdersStatusEnum, search: false, }), MyColumns.EnumTag({ title: '工单类型', dataIndex: 'type', valueEnum: HouseWorkOrdersTypeEnum, search: false, }), { title: '项目名称', dataIndex: 'project_name', hidden: true, }, MyColumns.EnumTag({ title: '报修位置', dataIndex: 'location', valueEnum: HouseWorkOrdersLocationEnum, search: false, }), { title: '位置信息', dataIndex: ['asset_house', 'full_name'], render: (_, record) => { return ( {record?.asset_house?.full_name ? record?.asset_house?.full_name : record?.asset_project?.name} ); }, search: { transform: (value) => { return { house_name: value }; }, }, }, { title: '工单描述', dataIndex: 'content', search: false, width: 120, // 关键:固定列宽(若父容器过窄,可设 minWidth: 200 优先保证列宽) render: (text) => (
{text}
), }, { title: '回访记录', dataIndex: 'visited_remark', search: false, width: 120, // 关键:固定列宽(若父容器过窄,可设 minWidth: 200 优先保证列宽) render: (text) => (
{text}
), }, { title: '回访时间', dataIndex: 'visited_time', search: false, }, // MyColumns.CreatedAt(), MyColumns.Option({ render: (_, item: any, index, action) => ( {tableRender(item, action)} ), }), ]} /> ); }