import { getPendingList } from '@/services/message';
import { getComparisonData } from '@/services/OperationManagement';
import { queryConditionSnapshot } from '@/services/SmartOps';
import { getToken, UnityAction } from '@/utils/utils';
import { LoadingOutlined } from '@ant-design/icons';
import { connect, useParams, useRequest } from '@umijs/max';
import dayjs from 'dayjs';
import { useEffect } from 'react';
import { getScadaPage } from '../../services/OperationManagement';
import CircleScore from '../Smart/components/CircleScore';
import styles from './index.less';
const HomePage = (props) => {
const { projectId } = useParams();
const { data } = useRequest(queryConditionSnapshot, {
defaultParams: [{ project_id: projectId }],
});
return (
{/* */}
);
};
const LeftContent = (props) => {
const { data } = props;
return (
);
};
const CenterContent = () => {
return (
);
};
const RightContent = (props) => {
const { data } = props;
return (
);
};
// 水厂工况
const SmartWork = (props) => {
const { data } = props;
return (
UnityAction.sendMsg('menuItem', '工况管理')}
>
{data?.score}
{data?.grade}
当前运行{data?.grade},可继续优化
{dayjs(data?.clac_time).format('YYYY-MM-DD HH:mm')}
);
};
// 水量监测
const WaterAmt = (props) => {
const { data } = props;
const { projectId } = useParams();
return (
UnityAction.sendMsg('menuItem', '水量监测')}
>
-
{data?.fwa}
进水量
-
{data?.dwa}
产水量
);
};
// 水质监测
const WaterQuality = (props) => {
const { data } = props;
const { projectId } = useParams();
return (
UnityAction.sendMsg('menuItem', '水质监测')}
>
-
{data?.dsan}
出水余氯
-
{data?.dtur}
出水浊度
);
};
// 系统自检
const SelfInspection = connect(({ eqSelfInspection, loading }) => ({
autoReport: eqSelfInspection.autoReport,
loading: loading.models['eqSelfInspection'],
}))((props) => {
const { autoReport, dispatch, loading } = props;
const { projectId } = useParams();
const renderStatus = () => {
if (loading) return ;
if (autoReport.Status > 0) {
return 异常;
}
return 正常;
};
useEffect(() => {
dispatch({
type: 'eqSelfInspection/getAutoPatrol',
payload: {
projectId,
},
});
}, []);
return (
UnityAction.sendMsg('menuItem', '系统自检')}
>
自检中
{renderStatus()}
{dayjs(autoReport.CreatedTime).format('YYYY-MM-DD HH:mm')}
);
});
// 能耗监测
const Electric = (props) => {
const { data } = props;
const { projectId } = useParams();
return (
UnityAction.sendMsg('menuItem', '能耗监测')}
>
);
};
// 药耗监测
const Medicine = () => {
const { projectId } = useParams();
const time = dayjs().format('YYYY-MM');
const { data } = useRequest(getComparisonData, {
defaultParams: [
{
project_id: projectId,
start: time,
end: time,
type: 1,
flag: 1,
},
],
formatResult(res) {
return res[0];
},
});
return (
UnityAction.sendMsg('menuItem', '药耗监测')}
>
);
};
// 工艺监控
const Scada = () => {
const { projectId } = useParams();
const { data } = useRequest(getScadaPage, {
defaultParams: [{ project_id: projectId }],
formatResult: (res) => {
let domain = location.host.includes('pad.greentech.com.cn')
? 'https://120.55.44.4:8900/'
: 'http://47.96.12.136:8788/';
const token = getToken();
const pageList = res?.filter((item) => item.hide);
const urls = pageList.map(
(item) =>
`${domain}smart-water/scada/index.html#/3dview/${projectId}/${item.id}?JWT-TOKEN=${token}&hideTitle=true`,
);
return urls.splice(0, 1);
},
});
return (
UnityAction.sendMsg('menuItem', '工艺监控')}
>
{data?.map((url) => (
))}
);
};
// 待办事项
const Backlog = (props) => {
// const { data } = props;
const { projectId } = useParams();
const { data, loading } = useRequest(getPendingList, {
defaultParams: [{ project_id: projectId }],
});
const handleClick = (item) => {
if (item.type === 0) {
// task
UnityAction.sendMsg('OpenTaskModal', `mandate_id=${item.origin_id}`);
} else {
// order
UnityAction.sendMsg(
'OpenWorkOrderModal',
`order_id=${item.origin_id}&order_type=${item.origin_type}`,
);
}
};
return (
待办事项
{/* {data?.length || 0}
*/}
}
onClick={() => UnityAction.sendMsg('menuItem', '待办事项')}
>
{data?.map((item) => (
<>
{item.time}
{
e.stopPropagation();
handleClick(item);
}}
>
{item.title}
{item.content}
>
))}
);
};
const Box = ({ title, children, onClick, big }) => {
return (
);
};
export default HomePage;