import { MyButtons, MyColumns, MyProTableProps } from '@/common'; import { Apis } from '@/gen/Apis'; import { ConvenienceServicesTypeEnum } from '@/gen/Enums'; import { ProTable } from '@ant-design/pro-components'; import { Space } from 'antd'; import { useEffect, useRef } from 'react'; import ServiceCreate from './modals/ServiceCreate'; import ServiceUpdate from './modals/ServiceUpdate'; export default function Index({ ...rest }) { const actionLooks = useRef(); useEffect(() => { actionLooks?.current.reloadAndRest(); }, [rest.loadmore]); return ( <> > {...MyProTableProps.props} actionRef={actionLooks} request={async (params, sort) => MyProTableProps.request( { ...params, asset_projects_id: rest.item?.id }, sort, Apis.Common.ConvenienceServices.List, ) } search={false} toolBarRender={(action) => [ , ]} columns={[ MyColumns.ID(), { title: '关联项目', dataIndex: ['asset_project', 'name'], search: { transform: (value) => { return { project_name: value }; }, }, }, MyColumns.EnumTag({ title: '类型', dataIndex: 'type', valueEnum: ConvenienceServicesTypeEnum, search: false, }), { title: '服务名称', dataIndex: 'name', }, { title: '联系方式', render(_, record) { const content = record?.content || []; // 过滤有效数据 const validItems = content.filter( (item: any) => item?.name && item?.phone, ); return (
{validItems.length > 0 ? ( validItems.map((item: any, index: number) => ( // 每个客户信息单独一行
{item.name}: {item.phone}
)) ) : ( 暂无客户信息 )}
); }, search: false, }, MyColumns.Option({ render: (_, item: any, index, action) => ( Apis.Common.ConvenienceServices.Delete({ id: item.id, }).then(() => action?.reload()) } /> ), }), ]} /> ); }