parent
fd65bd7d88
commit
401c712ca4
@ -1,8 +1,8 @@
|
|||||||
import { Button } from "antd";
|
import { Button } from "antd";
|
||||||
import { twMerge } from "tailwind-merge";
|
import { twMerge } from "tailwind-merge";
|
||||||
import { Title } from "../../components/Title";
|
import { Title } from "../../../components/Title";
|
||||||
import { useFilters } from "../../stores/useFilters";
|
import { useFilters } from "../../../stores/useFilters";
|
||||||
import { CATEGORIES } from "../../config";
|
import { CATEGORIES } from "../../../config";
|
||||||
|
|
||||||
const SelectItem = ({ name, isActive, onClick, disabled }) => {
|
const SelectItem = ({ name, isActive, onClick, disabled }) => {
|
||||||
return (
|
return (
|
||||||
@ -1,7 +1,7 @@
|
|||||||
import { SliderComponent as Slider } from "../../components/SliderComponent";
|
import { SliderComponent as Slider } from "../../../components/SliderComponent";
|
||||||
import { useFilters } from "../../stores/useFilters";
|
import { useFilters } from "../../../stores/useFilters";
|
||||||
import { useQuery } from "@tanstack/react-query";
|
import { useQuery } from "@tanstack/react-query";
|
||||||
import { api } from "../../api";
|
import { api } from "../../../api";
|
||||||
import { useEffect } from "react";
|
import { useEffect } from "react";
|
||||||
|
|
||||||
export const PredictionSlider = ({ disabled }) => {
|
export const PredictionSlider = ({ disabled }) => {
|
||||||
@ -1,10 +1,10 @@
|
|||||||
import { Alert, Button, Modal } from "antd";
|
import { Alert, Button, Modal } from "antd";
|
||||||
import { useMutation, useQueryClient } from "@tanstack/react-query";
|
import { useMutation, useQueryClient } from "@tanstack/react-query";
|
||||||
import { api } from "../../api";
|
import { api } from "../../../api";
|
||||||
import { useFilters } from "../../stores/useFilters";
|
import { useFilters } from "../../../stores/useFilters";
|
||||||
import { usePointSelection } from "../../stores/usePointSelection";
|
import { usePointSelection } from "../../../stores/usePointSelection";
|
||||||
import { STATUSES } from "../../config";
|
import { STATUSES } from "../../../config";
|
||||||
import { useUpdateLayerCounter } from "../../stores/useUpdateLayerCounter";
|
import { useUpdateLayerCounter } from "../../../stores/useUpdateLayerCounter";
|
||||||
import { useState } from "react";
|
import { useState } from "react";
|
||||||
|
|
||||||
export const TakeToWorkButton = () => {
|
export const TakeToWorkButton = () => {
|
||||||
@ -0,0 +1,54 @@
|
|||||||
|
import { Table } from "../Table";
|
||||||
|
import { columns } from "../InitialTable/columns";
|
||||||
|
import { useQuery } from "@tanstack/react-query";
|
||||||
|
import { api } from "../../../api";
|
||||||
|
import { useCallback, useState } from "react";
|
||||||
|
import { PAGE_SIZE } from "../constants";
|
||||||
|
import { STATUSES } from "../../../config";
|
||||||
|
import { useMergeTableData } from "../useMergeTableData";
|
||||||
|
|
||||||
|
export const ApproveTable = () => {
|
||||||
|
const [pageSize, setPageSize] = useState(PAGE_SIZE);
|
||||||
|
const [page, setPage] = useState(1);
|
||||||
|
const [selectedIds, setSelectedIds] = useState([]);
|
||||||
|
console.log(selectedIds);
|
||||||
|
|
||||||
|
const { data } = useQuery(["approve-points"], async () => {
|
||||||
|
const params = new URLSearchParams({
|
||||||
|
page,
|
||||||
|
page_size: pageSize,
|
||||||
|
"status[]": [STATUSES.approve, STATUSES.working],
|
||||||
|
});
|
||||||
|
|
||||||
|
const { data } = await api.get(
|
||||||
|
`/api/placement_points?${params.toString()}`
|
||||||
|
);
|
||||||
|
|
||||||
|
return data;
|
||||||
|
});
|
||||||
|
|
||||||
|
const { data: mergedData, isClickedPointLoading } = useMergeTableData(
|
||||||
|
data,
|
||||||
|
setPageSize
|
||||||
|
);
|
||||||
|
|
||||||
|
const handlePageChange = useCallback((page) => setPage(page), []);
|
||||||
|
|
||||||
|
const rowSelection = {
|
||||||
|
onChange: (selectedRowKeys) => {
|
||||||
|
setSelectedIds(selectedRowKeys);
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
return (
|
||||||
|
<Table
|
||||||
|
rowSelection={rowSelection}
|
||||||
|
data={mergedData}
|
||||||
|
onPageChange={handlePageChange}
|
||||||
|
page={page}
|
||||||
|
pageSize={pageSize}
|
||||||
|
isClickedPointLoading={isClickedPointLoading}
|
||||||
|
columns={columns}
|
||||||
|
/>
|
||||||
|
);
|
||||||
|
};
|
||||||
@ -1,13 +1,19 @@
|
|||||||
import { useMode } from "../../stores/useMode";
|
import { useMode } from "../../stores/useMode";
|
||||||
import { MODES } from "../../config";
|
import { MODES } from "../../config";
|
||||||
import { InitialTable } from "./InitialTable/InitialTable";
|
import { InitialTable } from "./InitialTable/InitialTable";
|
||||||
|
import { ApproveTable } from "./ApproveTable/ApproveTable";
|
||||||
|
import { WorkingTable } from "./WorkingTable/WorkingTable";
|
||||||
|
|
||||||
export const TableWrapper = () => {
|
export const TableWrapper = () => {
|
||||||
const { mode } = useMode();
|
const { mode } = useMode();
|
||||||
|
|
||||||
if (mode === MODES.INITIAL) {
|
if (mode === MODES.APPROVE) {
|
||||||
return <InitialTable />;
|
return <ApproveTable />;
|
||||||
}
|
}
|
||||||
|
|
||||||
return null;
|
if (mode === MODES.WORKING) {
|
||||||
|
return <WorkingTable />;
|
||||||
|
}
|
||||||
|
|
||||||
|
return <InitialTable />;
|
||||||
};
|
};
|
||||||
|
|||||||
@ -0,0 +1,45 @@
|
|||||||
|
import { useCallback, useState } from "react";
|
||||||
|
import { PAGE_SIZE } from "../constants";
|
||||||
|
import { useQuery } from "@tanstack/react-query";
|
||||||
|
import { STATUSES } from "../../../config";
|
||||||
|
import { api } from "../../../api";
|
||||||
|
import { useMergeTableData } from "../useMergeTableData";
|
||||||
|
import { Table } from "../Table";
|
||||||
|
import { columns } from "../InitialTable/columns";
|
||||||
|
|
||||||
|
export const WorkingTable = () => {
|
||||||
|
const [pageSize, setPageSize] = useState(PAGE_SIZE);
|
||||||
|
const [page, setPage] = useState(1);
|
||||||
|
|
||||||
|
const { data } = useQuery(["working-points"], async () => {
|
||||||
|
const params = new URLSearchParams({
|
||||||
|
page,
|
||||||
|
page_size: pageSize,
|
||||||
|
"status[]": [STATUSES.working],
|
||||||
|
});
|
||||||
|
|
||||||
|
const { data } = await api.get(
|
||||||
|
`/api/placement_points?${params.toString()}`
|
||||||
|
);
|
||||||
|
|
||||||
|
return data;
|
||||||
|
});
|
||||||
|
|
||||||
|
const { data: mergedData, isClickedPointLoading } = useMergeTableData(
|
||||||
|
data,
|
||||||
|
setPageSize
|
||||||
|
);
|
||||||
|
|
||||||
|
const handlePageChange = useCallback((page) => setPage(page), []);
|
||||||
|
|
||||||
|
return (
|
||||||
|
<Table
|
||||||
|
data={mergedData}
|
||||||
|
onPageChange={handlePageChange}
|
||||||
|
page={page}
|
||||||
|
pageSize={pageSize}
|
||||||
|
isClickedPointLoading={isClickedPointLoading}
|
||||||
|
columns={columns}
|
||||||
|
/>
|
||||||
|
);
|
||||||
|
};
|
||||||
Loading…
Reference in new issue