import React, { useEffect, useState } from 'react'; import { Modal, Table } from 'antd'; import type { ColumnsType } from 'antd/es/table'; import moment from 'moment/moment'; import { queryDeviceRunState } from '@/services/afterSales'; interface editProps { visible: boolean; editCallback: () => void; params: any; } interface DataType { created_at: string; start_time: string; end_time: string; duration: number; record_id: string; } /** * 设备运行历史 * @param props * @constructor */ const DeviceHistory: React.FC = (props) => { const { params, visible, editCallback } = props; const [pagination, setPagination] = useState({ total: 0, current: 1, pageSize: 10 }); const [loading, setLoading] = useState(false); const [list, setList] = useState([]); // 设备运行历史 const onHistory = () => { setLoading(true); const data = { q: 'page', current: pagination.current, pageSize: pagination.pageSize, device_id: params.device_code, }; queryDeviceRunState(data).then((res) => { if (res && res.code === 0) { setList(res.data.list || []); setPagination(res.data.pagination); setLoading(false); } }); }; useEffect(() => { if (params) { onHistory(); } }, []); const tableChange = (page: any) => { setLoading(true); const data = { q: 'page', current: page.current, pageSize: page.pageSize, device_id: params.device_code, }; queryDeviceRunState(data).then((res) => { if (res && res.code === 0) { setList(res.data.list || []); setPagination(res.data.pagination); setLoading(false); } }); }; const columns: ColumnsType = [ { title: '序号', align: 'center', key: 'index', render: (_: any, _row: any, index: number) => index + 1, }, { title: '创建时间', dataIndex: 'created_at', key: 'created_at', render: (v) => v && {moment(v).format('YYYY-MM-DD HH:mm')}, }, { title: '开机时间', dataIndex: 'start_time', key: 'start_time', render: (v) => v && {moment(v).format('YYYY-MM-DD HH:mm')}, }, { title: '关机时间', dataIndex: 'end_time', key: 'end_time', render: (v) => v && {moment(v).format('YYYY-MM-DD HH:mm')}, }, { title: '运行时长(小时)', dataIndex: 'duration', key: 'duration', }, ]; return ( { editCallback(); }} > record.record_id} pagination={pagination} loading={loading} onChange={tableChange} /> ); }; export default DeviceHistory;