/** @format */ import moment from 'moment'; import React, { useCallback, useEffect, useState } from 'react'; import Modal from '../../../baseComponents/Modal'; import { desensitization } from '../../../utils'; import RelationWarningChart from './RelationWarningChart'; import { SubModalWrapper } from './styled.subModal'; import TabMode from './TabMode'; import { getHouseItemColorByType } from './utils'; /** * @description 房屋列表 */ interface SubModalProps { item: Record | null; visible: boolean; refreshKey: number; } const SubModal = (props: SubModalProps) => { const { item, refreshKey, ...otherProps } = props; const { visible } = props; const [tabState, setTabState] = useState('basic-info'); const [height, setHeight] = useState(0); const [width, setWidth] = useState(0); useEffect(() => { return () => setTabState('basic-info'); }, [visible]); const measuredRef = useCallback(node => { if (node !== null) { setHeight(node.getBoundingClientRect().height); setWidth(node.getBoundingClientRect().width); } }, []); function handleTabChange(value: any) { setTabState(value); } if (!item) { return null; } function getHouseItemByType(type: string) { switch (type) { case 'not_auth': { return '未认证'; } case 'self_use': { return '自用'; } case 'rent_out': { return '出租'; } case 'idle': { return '空置'; } default: { return '自用'; } } } return (
{`${item.project}${item.building || ''}${item.unit || ''}${item.room}`}
{getHouseItemByType(item.type) || '自用'}
{tabState === 'basic-info' && (
户主信息
{/* 姓名:{desensitization(item.ownerInfo.name, 1, -1)} */} 姓名:{item.ownerInfo?.name || '-'}
身份证号: {/* {desensitization(item.ownerInfo.identityCardNum, 6, -4)} */} {item.ownerInfo?.identityCardNum || '-'}
关联车牌: {/* {desensitization(item.ownerInfo.licensePlate, 3, -2)} */} {item.ownerInfo?.licensePlate || '-'}
{/* 联系方式:{desensitization(item.ownerInfo.phone, 4, -4)} */} 手机号码:{item.ownerInfo?.phone}
住户类型: {item.ownerInfo?.relation || '-'}
入住时间: {item.ownerInfo?.checkInDate || '-'}
撤离时间: {item.ownerInfo?.evacuateDate || '-'}
历史关联预警
访查信息
{/* 最近走访日期:{item.investigateInfo.lastVisitDate} */} 最近走访日期: {item.investigateInfo?.lastVisitDate || '-'}
访查者姓名: {/* {desensitization(item.investigateInfo.name, 1, -1)} */} {item.investigateInfo?.name || '-'}
最近一次关联预警: {item.investigateInfo?.warningType ? `${item.investigateInfo.warningType} / ${ item.investigateInfo.staffName } / ${moment(item.investigateInfo.warningDate).format( 'YYYY-MM-DD', )}` : '无'}
实际居住人({item.actualLivingList.length})
{item.actualLivingList && item.actualLivingList.map( (item: Record, index: number) => ( {/* */} {/* */} {/* */} ), )}
姓名 关注类别 关联车牌 手机号码 身份证号 住户类型 入住时间 撤离时间
{desensitization(item.name, 1, -1)}{item.name || '-'} {item.type || '-'}{desensitization(item.licensePlate, 3, -2)}{item.licensePlate || '-'}{desensitization(item.phone, 4, -4)}{item.phone || '-'} {item.identityCardNum || '-'} {item.relation || '-'} {item.checkInDate || '-'} {item.evacuateDate || '-'}
)} {tabState === 'house-pic' && (
{item.houseTypePic ? ( 户型图 ) : (
empty
)}
)} ); }; export default SubModal;