import PageContent from '@/components/PageContent'; import PageTitle from '@/components/PageTitle'; import ScrollLoading from '@/components/ScrollLoading'; import { getVarValues } from '@/services/DeviceInfo'; import { useNavigate, useParams, useRequest } from '@umijs/max'; import { Button, DatePicker, Select, Table } from 'antd'; import dayjs from 'dayjs'; import { useEffect, useState } from 'react'; import styles from './index.less'; const { RangePicker } = DatePicker; const { Option } = Select; const OperationRecord = (props) => { const { projectId } = useParams(); const navigate = useNavigate(); const convertObject2FormData = (params) => { const formData = new FormData(); Object.entries(params).forEach(([key, value]) => { if (value !== null && value !== undefined && value !== NaN) { formData.append(key, value); } }); return formData; }; const defaultParams = { project_id: Number(projectId), s_time: '', e_time: '', cause_type: '', currentPage: 1, pageSize: 20, }; const [data, setData] = useState([]); const [pagination, setPagination] = useState({}); const [queryParams, setQueryParams] = useState(defaultParams); const [formData, setFormData] = useState( convertObject2FormData(defaultParams), ); const { run: getList, loading } = useRequest( (params = formData) => getVarValues(params), { onSuccess: (res) => { if (res.pagination?.current == 1) { setData(res?.list); } else { setData([...data, ...res?.list]); } setPagination(res.pagination); }, }, ); const columns = [ { title: '操作时间', dataIndex: 'c_time', key: 'c_time', align: 'center', render: (value) => { return
{dayjs(value).format('YYYY-MM-DD HH:mm')}
; }, }, { title: '操作类型', dataIndex: 'cause_type', key: 'cause_type', render: (text) => { if (Number(text) === 0) { return '自主操作'; } if (Number(text) === 1) { return '系统任务'; } return '系统自控'; }, }, { title: '来源', dataIndex: 'source', key: 'source', render: (text) => { if (text === undefined) { return '-'; } const temp = Number(text); if (temp === 0) { return '客户端'; } if (temp === 1) { return '移动端'; } if (temp === 2) { return 'Pad端'; } return '系统'; }, }, { title: '点位名称', dataIndex: 'item_alias', key: 'item_alias', align: 'center', render: (text) => { if (!text) { return '--'; } return text; }, }, { title: '设备名称', dataIndex: 'device_name', key: 'device_name', align: 'center', render: (text) => { if (!text) { return '--'; } return text; }, }, { title: '操作前数值', dataIndex: 'old_value', key: 'old_value', align: 'center', render: (text) => { if (!text) { return '--'; } return text; }, }, { title: '操作后数值', dataIndex: 'new_value', key: 'new_value', align: 'center', render: (text) => { if (!text) { return '--'; } return text; }, }, { title: '操作人', dataIndex: 'operator_name', key: 'operator_name', align: 'center', render: (text) => { if (!text) { return '--'; } return text; }, }, ]; const handleParamsChange = (key, value) => { const tempParams = { project_id: Number(projectId), s_time: queryParams.s_time || '', e_time: queryParams.e_time || '', cause_type: queryParams.cause_type || '', source: queryParams.source || '', currentPage: 1, pageSize: queryParams.pageSize || 20, }; switch (key) { case 'cause_type': case 'source': tempParams[key] = value; break; case 'date': tempParams.currentPage = 1; if (value?.length === 2) { tempParams.s_time = dayjs(value[0]).format('YYYY-MM-DD 00:00:00'); tempParams.e_time = dayjs(value[1]).format('YYYY-MM-DD 23:59:59'); } else { tempParams.s_time = ''; tempParams.e_time = ''; } break; case 'page': tempParams.currentPage = value; handleSearch(convertObject2FormData(tempParams)); default: break; } setQueryParams(tempParams); }; const handleSearch = (params) => { if (params !== undefined) { getList(params); return; } getList(formData); }; useEffect(() => { const tempFormData = convertObject2FormData(queryParams); // page变更自动请求接口 setFormData(tempFormData); }, [queryParams]); return ( 操作记录
handleParamsChange('date', value)} /> {/* 操作类型: */} {/* 来源: */}
handleParamsChange('page', current)} > ); }; export default OperationRecord;