Fixes according to testing

dev
Platon Yasev 3 years ago
parent 6e9c74b551
commit 329a41a50d

@ -2,7 +2,6 @@ import "./App.css";
import { BrowserRouter, Route, Routes } from "react-router-dom";
import { LoginPage } from "./pages/Login";
import { VerifyRegistrationPage } from "./pages/VerifyRegistration";
import { RegisterPage } from "./pages/Register";
import { MapPage } from "./pages/Map";
import { QueryClient, QueryClientProvider } from "@tanstack/react-query";
import { enableMapSet } from "immer";
@ -31,7 +30,7 @@ function App() {
<Route path="/" element={<MapPage />} />
<Route path="/signin" element={<LoginPage />} />
<Route path="/verify-user" element={<VerifyRegistrationPage />} />
<Route path="/register" element={<RegisterPage />} />
{/*<Route path="/register" element={<RegisterPage />} />*/}
</Routes>
</BrowserRouter>
</QueryClientProvider>

@ -42,6 +42,16 @@ export const PendingPointsFilters = () => {
const { filters, setRegion, clear } = usePendingPointsFilters();
const { data: fullRange, isInitialLoading } = useGetPendingPointsRange();
const [isSelectionEmpty, setIsSelectionEmpty] = useState(false);
const handleSelectedChange = (count) => {
if (count === 0) {
setIsSelectionEmpty(true);
} else {
setIsSelectionEmpty(false);
}
};
const [hover, setHover] = useState(false);
useEffect(() => {
@ -111,8 +121,8 @@ export const PendingPointsFilters = () => {
</div>
<div>
<SelectedLocations />
{canEdit && <TakeToWorkButton />}
<SelectedLocations onSelectedChange={handleSelectedChange} />
{canEdit && <TakeToWorkButton disabled={isSelectionEmpty} />}
</div>
</div>
);

@ -4,19 +4,25 @@ import {
} from "../../../api";
import { usePointSelection } from "../../../stores/usePointSelection";
import { Spin } from "antd";
import { useEffect } from "react";
export const SelectedLocations = () => {
export const SelectedLocations = ({ onSelectedChange }) => {
const { data: totalCount, isInitialLoading: isTotalLoading } =
useGetTotalInitialPointsCount();
const { data: filteredCount, isInitialLoading: isFilteredLoading } =
useGetFilteredPendingPointsCount();
const showSpinner = isTotalLoading || isFilteredLoading;
const {
selection: { excluded },
} = usePointSelection();
useEffect(
() => onSelectedChange(filteredCount - excluded.size),
[filteredCount, excluded]
);
const showSpinner = isTotalLoading || isFilteredLoading;
return (
<div className={"flex items-center justify-between"}>
<span>Отобрано локаций</span>

@ -8,7 +8,7 @@ import { ArrowRightOutlined } from "@ant-design/icons";
import { Title } from "../../../components/Title";
import { usePendingPointsFilters } from "../../../stores/usePendingPointsFilters";
export const TakeToWorkButton = () => {
export const TakeToWorkButton = ({ disabled }) => {
const { filters } = usePendingPointsFilters();
const { prediction, categories, region } = filters;
const { selection } = usePointSelection();
@ -79,6 +79,7 @@ export const TakeToWorkButton = () => {
block
className={"mt-2"}
onClick={() => setIsModalOpened(true)}
disabled={disabled}
>
<span className="mr-1">Взять в работу</span>
<ArrowRightOutlined />

@ -62,6 +62,10 @@ export const OnApprovalTable = ({ fullWidth }) => {
: [STATUSES.onApproval, STATUSES.working, STATUSES.cancelled],
});
if (statuses.length === 0) {
return { count: 0, results: [] };
}
return await getPoints(params, region);
},
{ keepPreviousData: true }

@ -91,6 +91,18 @@ export const useColumns = () => {
width: "120px",
ellipsis: true,
},
{
title: "Дата начала работы",
dataIndex: "start_date",
key: "start_date",
width: "120px",
render: (value) => {
if (!value) return "Нет данных";
const date = new Date(value);
return date.toLocaleDateString("ru");
},
},
{
title: "Id постамата",
dataIndex: "postamat_id",

Loading…
Cancel
Save