import React, { useState, useEffect } from 'react'; import { Popover, Radio, Avatar, Tooltip, Empty, Table } from 'antd'; import style from '../index.less'; import moment from 'moment'; import { ChartBoxTitle } from './ChartBox'; import { useModel, useRequest } from '@umijs/max'; import { queryProjectFileList } from '@/Project/services/FileAdmin'; import { getDailyList } from '@/Project/services/DataMeter'; function Other(props: DataMeter.IModelsProps) { const { child, setActive, layout, projectId, subModule } = props; const [active, setSelfActive] = useState( layout.active || child.find((item) => item.show)?.key, ); const [showTabs, setShowTabs] = useState(false); const [title, setTitle] = useState(''); const { getProject } = useModel('project'); const id = projectId || -1; const fileListRequest = useRequest(queryProjectFileList, { defaultParams: [ { fileType: 29, projectId: id, deviceCode: -1, }, ], }); const dailyListRequest = useRequest(getDailyList, { defaultParams: [ { projectId: id, }, ], }); const fileList = fileListRequest.data || []; const dailyList = dailyListRequest.data?.list || []; useEffect(() => { const current = child.find( (item: DataMeter.ILayoutChild) => item.key == active, ); if (current) setTitle(current.title); }, [active]); const getTitle = (title: string) => { return ( {title}} > {title} ); }; var content; switch (active) { case 1: if (fileList.length > 0) { content = ( <> {subModule == 0 && ( )}
文件名称 日期 项目名称
{fileList.map((item: any) => ( <> {subModule == 0 && ( )} ))}
{getTitle(item.Name)} {moment(item.CreatedTime).format('YYYY-MM-DD')} {getTitle(getProject(item.ProjectId)?.Name || '无')}
); } else { content = ; } break; case 2: if (dailyList.length > 0) { content = ( <> {subModule == 0 && ( )}
创建人 日期 项目名称
{dailyList.map((item: any) => ( <> {subModule == 0 && ( )} ))}
{getTitle(item.CreatorUser.CName)} {moment(item.ReportDate).format('YYYY-MM-DD')} {getTitle(getProject(item.ProjectId)?.Name || '无')}
); } else { content = ; } break; } return (
{showTabs && (
    {(child || []) .filter((item: DataMeter.ILayoutChild) => item.show) .map((item: DataMeter.ILayoutChild, index: number) => (
  • { setActive(item.key); setSelfActive(item.key); }} > {item.title}
  • ))}
)}
{content}
); } export default Other;