Commit d3c2ff4ad53fdd7e85275c176cae305a8c4e5789

Authored by 谢忠泽
1 parent 684294aa

add:轨迹回放添加分页,点击行选中状态

src/pages/vms/OperationAdministration/components/PlayBackTable/index.tsx
... ... @@ -2,7 +2,6 @@ import React, { useState, useEffect } from 'react';
2 2 import { Table, message} from 'antd';
3 3 import type { ColumnsType } from 'antd/es/table';
4 4 import {getGpsTableData, getTripTableData} from '../../api';
5   -
6 5 import './style.less';
7 6  
8 7 interface DataType {
... ... @@ -11,6 +10,12 @@ interface DataType {
11 10 entityName:string;
12 11 enable:boolean;
13 12 }
  13 +interface Data{
  14 + current?:number;
  15 + currentPage?:number;
  16 + total?:number;
  17 + pageSize?:number;
  18 +}
14 19  
15 20 const columns:ColumnsType<DataType> = [
16 21 {
... ... @@ -45,52 +50,76 @@ interface DataType {
45 50 function PlayBackTable(props:any) {
46 51 const {handelRow, type} = props;
47 52 const [tableData, setTableData] = useState<any>([]);
  53 + const [data, setData] = useState<Data>({current: 1, pageSize: 10});
  54 + const [rowKey, setRowKey] = useState<number>();
48 55 useEffect(() => {
49 56 //获取table数据
50 57 if (type === 1) {
51   - getGpsTableData().then(res => {
  58 + getGpsTableData({current: data.current, pageSize: data.pageSize}).then(res => {
52 59 const data = res?.data?.data.map((item:any) => {
53 60 if (item?.enable) item.enable = '启用'; else item.enable = '禁用';
54 61 return item;
55 62 });
56 63 setTableData(data);
  64 + setData(res?.data);
57 65 }).catch((e) => {
58 66 message.error('查询数据失败!');
59 67 });
60 68 } else if (type === 2) {
61   - getTripTableData().then(res => {
  69 + getTripTableData({current: data.current, pageSize: data.pageSize}).then(res => {
62 70 const data = res?.data?.data.map((item:any) => {
63 71 if (item?.enable) item.enable = '启用'; else item.enable = '禁用';
64 72 return item;
65 73 });
66 74 setTableData(data);
  75 + setData(res?.data);
67 76 }).catch((e) => {
68   - message.error('查询数据失败');
  77 + message.error('查询数据失败');
69 78 });
70 79 }
71   - }, []);
72   -
  80 + }, [data.current, data.pageSize]);
  81 + const setRowClassName = (record:any, key:any) => {
  82 + if (rowKey === key) {
  83 + return 'checkRow';
  84 + } else {
  85 + return 'row';
  86 + }
  87 + };
  88 +
  89 + const handlePageChange = (current:number, pageSize:number) => {
  90 + console.log(1);
  91 + setTableData([]);
  92 + setData({...data, current, pageSize});
  93 + };
73 94 return (
74 95 <div className="play_back_table">
75 96 <Table
76 97 dataSource={tableData}
77 98 columns={columns}
78 99 className="table_back"
  100 + rowClassName={setRowClassName}
79 101 rowKey={row => row.tid}
80 102 pagination={{
  103 + total: data?.total,
  104 + current: data?.current,
  105 + pageSize: data?.pageSize,
81 106 showQuickJumper: false,
82 107 showSizeChanger: true,
  108 + onChange: handlePageChange,
  109 + onShowSizeChange: handlePageChange,
  110 + pageSizeOptions: ['10', '20', '50', '100', '150', '200']
83 111 }}
84 112 onRow={
85   - record => {
  113 + (record, rowkey) => {
86 114 return {
87 115 //行点击
88 116 onClick: () => {
  117 + setRowKey(rowkey);
89 118 handelRow({tid: record?.tid, entityName: record?.entityName});
90 119 },
91   - };
92   - }
93   -}
  120 + };
  121 + }
  122 + }
94 123 />
95 124 </div>
96 125 );
... ...
src/pages/vms/OperationAdministration/components/PlayBackTable/style.css
... ... @@ -8,3 +8,6 @@
8 8 .play_back_table .ant-table .ant-table-cell {
9 9 max-width: 100px !important;
10 10 }
  11 +.play_back_table .ant-table .checkRow {
  12 + background-color: #FAAD14;
  13 +}
... ...
src/pages/vms/OperationAdministration/components/PlayBackTable/style.less
... ... @@ -6,5 +6,8 @@
6 6 .ant-table-cell{
7 7 max-width: 100px !important;
8 8 }
  9 + .checkRow{
  10 + background-color: #FAAD14;
  11 + }
9 12 }
10 13 }
11 14 \ No newline at end of file
... ...