import { MyColumns, MyProTableProps } from '@/common'; import { Apis } from '@/gen/Apis'; import { HouseOccupantsHouseRelationEnum, HouseOccupantsRelationWithOwnerEnum, HouseOccupantsStatusEnum, } from '@/gen/Enums'; import { ProTable } from '@ant-design/pro-components'; import { Popconfirm, Space, Tag } from 'antd'; import { useEffect, useRef } from 'react'; import AddOccupant from './modals/AddOccupant'; import AddRent from './modals/AddRent'; import MoveIn from './modals/MoveIn'; import MoveOut from './modals/MoveOut'; import OccupantShow from './modals/OccupantShow'; import OccupantsUpdate from './modals/OccupantsUpdate'; import RemoveOwner from './modals/RemoveOwner'; import Transfer from './modals/Transfer'; export default function Index({ ...rest }) { const actionLooks = useRef(); useEffect(() => { actionLooks?.current.reloadAndRest(); }, [rest.loadmore]); const handleReload = () => { actionLooks?.current.reload(); rest.reload?.(); // 调用父组件的reload函数更新Pending计数 }; return ( <> > {...MyProTableProps.props} actionRef={actionLooks} request={async (params, sort) => MyProTableProps.request( { ...params, asset_houses_id: rest.item?.asset_houses_id, status: 'Normal', }, sort, Apis.Archive.HouseOccupants.List, ) } toolBarRender={(action) => [ , , , ]} search={false} columns={[ MyColumns.EnumTag({ title: '房客关系', dataIndex: 'house_relation', valueEnum: HouseOccupantsHouseRelationEnum, search: false, }), MyColumns.EnumTag({ // title: // rest?.item?.status === 'Rented' ? '与租客关系' : '与业主关系', title: '关系说明', dataIndex: 'relation_with_owner', valueEnum: HouseOccupantsRelationWithOwnerEnum, search: false, }), { title: '姓名', dataIndex: 'name', }, { title: '电话', dataIndex: 'phone', }, { title: '入住日期', dataIndex: 'is_live_in', render(_, record) { return `${record?.move_in_date || '未入住'}`; }, }, { title: '常用联系人', render: (_, item, index, action) => item?.is_contact ? ( { Apis.Archive.HouseOccupants.ChangeIsContact({ id: item.id, is_contact: false, }).then(() => action?.reload()); }} okText="是" cancelText="否" > ) : ( { Apis.Archive.HouseOccupants.ChangeIsContact({ id: item.id, is_contact: true, }).then(() => action?.reload()); }} okText="是" cancelText="否" > ), search: false, }, MyColumns.EnumTag({ title: '状态', dataIndex: 'status', valueEnum: HouseOccupantsStatusEnum, search: false, }), // MyColumns.UpdatedAt(), MyColumns.Option({ render: (_, item: any, index, action) => ( {!item?.is_live_in && ( )} {item?.move_in_date && ( )} ), }), ]} /> ); }