|
|
|
@ -1,112 +1,82 @@
|
|
|
|
import React, { useRef } from "react";
|
|
|
|
import React, { useRef } from "react";
|
|
|
|
import { Collapse, Empty, Table as AntdTable } from "antd";
|
|
|
|
import { Collapse, Empty, Table as AntdTable } from "antd";
|
|
|
|
import "./Table.css";
|
|
|
|
import "./Table.css";
|
|
|
|
|
|
|
|
import { useQuery } from "@tanstack/react-query";
|
|
|
|
|
|
|
|
import { api } from "../../api";
|
|
|
|
|
|
|
|
|
|
|
|
const columns = [
|
|
|
|
const columns = [
|
|
|
|
{
|
|
|
|
|
|
|
|
title: "Категория",
|
|
|
|
|
|
|
|
dataIndex: "category",
|
|
|
|
|
|
|
|
key: "category",
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
{
|
|
|
|
{
|
|
|
|
title: "Статус",
|
|
|
|
title: "Статус",
|
|
|
|
dataIndex: "status",
|
|
|
|
dataIndex: "status",
|
|
|
|
key: "status",
|
|
|
|
key: "status",
|
|
|
|
|
|
|
|
width: "120px",
|
|
|
|
|
|
|
|
ellipsis: true,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
{
|
|
|
|
title: "Прогноз",
|
|
|
|
title: "Категория",
|
|
|
|
dataIndex: "predict",
|
|
|
|
dataIndex: "category",
|
|
|
|
key: "predict",
|
|
|
|
key: "category",
|
|
|
|
|
|
|
|
width: "120px",
|
|
|
|
|
|
|
|
ellipsis: true,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
{
|
|
|
|
title: "Факт",
|
|
|
|
title: "Прогноз",
|
|
|
|
dataIndex: "fact",
|
|
|
|
dataIndex: "prediction",
|
|
|
|
key: "fact",
|
|
|
|
key: "prediction",
|
|
|
|
|
|
|
|
width: "120px",
|
|
|
|
|
|
|
|
ellipsis: true,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
{
|
|
|
|
title: "Зрелость",
|
|
|
|
title: "Зрелость",
|
|
|
|
dataIndex: "age",
|
|
|
|
dataIndex: "age",
|
|
|
|
key: "age",
|
|
|
|
key: "age",
|
|
|
|
},
|
|
|
|
width: "120px",
|
|
|
|
];
|
|
|
|
ellipsis: true,
|
|
|
|
|
|
|
|
|
|
|
|
const data = [
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
id: "1",
|
|
|
|
|
|
|
|
category: "Жилой дом",
|
|
|
|
|
|
|
|
status: "Работающий",
|
|
|
|
|
|
|
|
predict: 80,
|
|
|
|
|
|
|
|
fact: 50,
|
|
|
|
|
|
|
|
age: 6,
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
id: "2",
|
|
|
|
|
|
|
|
category: "МФЦ",
|
|
|
|
|
|
|
|
status: "Не работает",
|
|
|
|
|
|
|
|
predict: 100,
|
|
|
|
|
|
|
|
fact: undefined,
|
|
|
|
|
|
|
|
age: 0,
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
id: "3",
|
|
|
|
|
|
|
|
category: "Библиотека",
|
|
|
|
|
|
|
|
status: "На рассмотрении",
|
|
|
|
|
|
|
|
predict: 80,
|
|
|
|
|
|
|
|
fact: undefined,
|
|
|
|
|
|
|
|
age: 0,
|
|
|
|
|
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
{
|
|
|
|
id: "4",
|
|
|
|
title: "План",
|
|
|
|
category: "Жилой дом",
|
|
|
|
dataIndex: "plan",
|
|
|
|
status: "Работающий",
|
|
|
|
key: "plan",
|
|
|
|
predict: 80,
|
|
|
|
width: "120px",
|
|
|
|
fact: 50,
|
|
|
|
ellipsis: true,
|
|
|
|
age: 6,
|
|
|
|
|
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
{
|
|
|
|
id: "5",
|
|
|
|
title: "Факт",
|
|
|
|
category: "МФЦ",
|
|
|
|
dataIndex: "fact",
|
|
|
|
status: "Не работает",
|
|
|
|
key: "fact",
|
|
|
|
predict: 100,
|
|
|
|
width: "120px",
|
|
|
|
fact: undefined,
|
|
|
|
ellipsis: true,
|
|
|
|
age: 0,
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
id: "6",
|
|
|
|
|
|
|
|
category: "Библиотека",
|
|
|
|
|
|
|
|
status: "На рассмотрении",
|
|
|
|
|
|
|
|
predict: 80,
|
|
|
|
|
|
|
|
fact: undefined,
|
|
|
|
|
|
|
|
age: 0,
|
|
|
|
|
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
{
|
|
|
|
id: "7",
|
|
|
|
title: "Дельта",
|
|
|
|
category: "Жилой дом",
|
|
|
|
dataIndex: "delta",
|
|
|
|
status: "Работающий",
|
|
|
|
key: "delta",
|
|
|
|
predict: 80,
|
|
|
|
width: "120px",
|
|
|
|
fact: 50,
|
|
|
|
ellipsis: true,
|
|
|
|
age: 6,
|
|
|
|
|
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
{
|
|
|
|
id: "8",
|
|
|
|
title: "АО",
|
|
|
|
category: "МФЦ",
|
|
|
|
dataIndex: "okrug",
|
|
|
|
status: "Не работает",
|
|
|
|
key: "okrug",
|
|
|
|
predict: 100,
|
|
|
|
width: "120px",
|
|
|
|
fact: undefined,
|
|
|
|
ellipsis: true,
|
|
|
|
age: 0,
|
|
|
|
|
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
{
|
|
|
|
id: "9",
|
|
|
|
title: "Район",
|
|
|
|
category: "Библиотека",
|
|
|
|
dataIndex: "rayon",
|
|
|
|
status: "На рассмотрении",
|
|
|
|
key: "rayon",
|
|
|
|
predict: 80,
|
|
|
|
width: "120px",
|
|
|
|
fact: undefined,
|
|
|
|
ellipsis: true,
|
|
|
|
age: 0,
|
|
|
|
|
|
|
|
},
|
|
|
|
},
|
|
|
|
];
|
|
|
|
];
|
|
|
|
|
|
|
|
|
|
|
|
export const Table = React.memo(({ height = 200 }) => {
|
|
|
|
export const Table = React.memo(({ height = 200 }) => {
|
|
|
|
const tableRef = useRef(null);
|
|
|
|
const tableRef = useRef(null);
|
|
|
|
|
|
|
|
const { data } = useQuery(["table"], async () => {
|
|
|
|
|
|
|
|
const { data } = await api.get("/api/placement_points?page_size=20");
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return data;
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
const SCROLL = {
|
|
|
|
const SCROLL = {
|
|
|
|
y: `${height}px`,
|
|
|
|
y: `${height}px`,
|
|
|
|
@ -125,7 +95,7 @@ export const Table = React.memo(({ height = 200 }) => {
|
|
|
|
locale={{ emptyText: <Empty description="Нет данных" /> }}
|
|
|
|
locale={{ emptyText: <Empty description="Нет данных" /> }}
|
|
|
|
// loading={isLoading}
|
|
|
|
// loading={isLoading}
|
|
|
|
pagination={false}
|
|
|
|
pagination={false}
|
|
|
|
dataSource={data}
|
|
|
|
dataSource={data?.results}
|
|
|
|
columns={columns}
|
|
|
|
columns={columns}
|
|
|
|
rowKey="id"
|
|
|
|
rowKey="id"
|
|
|
|
scroll={SCROLL}
|
|
|
|
scroll={SCROLL}
|
|
|
|
|