import { MyBetaModalFormProps } from '@/common'; import { MyModal } from '@/components/MyModal'; import { Apis } from '@/gen/Apis'; import { HouseBillsTypeEnum } from '@/gen/Enums'; import { useState } from 'react'; import HasCar from '../components/HasCar'; import HasHouse from '../components/HasHouse'; import Instrument from '../components/Instrument'; function getMeterConfig(chargeType: string) { switch (chargeType) { case HouseBillsTypeEnum.WaterFee.value: return { usage_type: 'WaterMeter', meter_type: 'HouseMeter' }; case HouseBillsTypeEnum.ElectricityFee.value: return { usage_type: 'ElectricMeter', meter_type: 'HouseMeter' }; case HouseBillsTypeEnum.SharedWaterFee.value: return { usage_type: 'WaterMeter', meter_type: 'CommonMeter' }; case HouseBillsTypeEnum.SharedElectricityFee.value: return { usage_type: 'ElectricMeter', meter_type: 'CommonMeter' }; default: return {}; } } function getPageType(chargeType: string) { switch (chargeType) { case HouseBillsTypeEnum.PropertyFee.value: case HouseBillsTypeEnum.MaintenanceFund.value: return 'House'; case HouseBillsTypeEnum.CarPortFee.value: return 'Car'; case HouseBillsTypeEnum.WaterFee.value: case HouseBillsTypeEnum.ElectricityFee.value: case HouseBillsTypeEnum.SharedWaterFee.value: case HouseBillsTypeEnum.SharedElectricityFee.value: return 'Meter'; default: return 'House'; } } export default function Show(props: MyBetaModalFormProps) { const { item, reload, title = '详情' } = props; const [data, setData] = useState({}); const pageType = getPageType(item?.charge_type); const meterConfig = getMeterConfig(item?.charge_type); const loadShow = () => { Apis.HouseCharge.HouseChargeStandards.Show({ id: item?.id ?? 0, }).then((res) => { setData(res?.data || {}); }); reload?.(); }; const renderContent = () => { if (pageType === 'Meter') { return ( ); } if (pageType === 'House') { return ( ); } if (pageType === 'Car') { return ( ); } return null; }; return ( { loadShow(); }} node={renderContent()} /> ); }