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) => (
<>
{getTitle(item.Name)}
|
{moment(item.CreatedTime).format('YYYY-MM-DD')}
|
{subModule == 0 && (
{getTitle(getProject(item.ProjectId)?.Name || '无')}
|
)}
>
))}
>
);
} else {
content = ;
}
break;
case 2:
if (dailyList.length > 0) {
content = (
<>
创建人
|
日期
|
{subModule == 0 && (
项目名称
|
)}
{dailyList.map((item: any) => (
<>
{getTitle(item.CreatorUser.CName)}
|
{moment(item.ReportDate).format('YYYY-MM-DD')}
|
{subModule == 0 && (
{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;