diff --git a/dist/favicon.ico b/dist/favicon.ico index ea447bb..adce3f3 100644 Binary files a/dist/favicon.ico and b/dist/favicon.ico differ diff --git a/public/favicon.ico b/public/favicon.ico index ea447bb..adce3f3 100644 Binary files a/public/favicon.ico and b/public/favicon.ico differ diff --git a/src/Map/Layers/PendingPoints.jsx b/src/Map/Layers/PendingPoints.jsx index 5bbaeae..f87f20f 100644 --- a/src/Map/Layers/PendingPoints.jsx +++ b/src/Map/Layers/PendingPoints.jsx @@ -11,7 +11,6 @@ import { LAYER_IDS } from "./constants"; import { RANGE_FILTERS_KEYS, usePendingPointsFilters } from "../../stores/usePendingPointsFilters"; import { fieldHasChanged, predictionHasChanged } from "../../utils.js"; import { useSourceLayerName } from "../../api.js"; -import { useMode } from "../../stores/useMode.js"; const rawStatusExpression = ["==", ["get", "status"], STATUSES.pending]; @@ -19,7 +18,6 @@ const useFilterExpression = () => { const { filters, ranges } = usePendingPointsFilters(); const { prediction, categories, region } = filters; const { selection } = usePointSelection(); - const { isImportMode } = useMode(); const includedArr = [...selection.included]; const excludedArr = [...selection.excluded]; @@ -50,7 +48,7 @@ const useFilterExpression = () => { ? ["in", ["get", "category"], ["literal", categories]] : true; - const statusExpression = isImportMode ? true : rawStatusExpression; + const statusExpression = rawStatusExpression; const predictionExpression = predictionHasChanged(filters, ranges) ? rawPredictionExpression : [true]; const matchFilterExpression = [ diff --git a/src/Map/Legend.jsx b/src/Map/Legend.jsx index 54fce21..2cd4d06 100644 --- a/src/Map/Legend.jsx +++ b/src/Map/Legend.jsx @@ -21,7 +21,7 @@ const LegendPointItem = ({color, imageSrc, name, hideImage, border}) => { /> )} {!imageSrc && !color && !hideImage && ( - + )} {name} diff --git a/src/api.js b/src/api.js index b35cabd..12b6682 100644 --- a/src/api.js +++ b/src/api.js @@ -26,7 +26,7 @@ export const useDbTableName = () => { export const useSourceLayerName = () => { const {isImportMode} = useMode(); - if (isImportMode) return "public.service_preplacementpoint"; + if (isImportMode) return "public.prepoints_with_dist"; return "public.points_with_dist"; } diff --git a/src/assets/logopng.png b/src/assets/logopng.png index e0c64e0..4a838dc 100644 Binary files a/src/assets/logopng.png and b/src/assets/logopng.png differ diff --git a/src/icons/Logo.jsx b/src/icons/Logo.jsx index dddd395..78beaec 100644 --- a/src/icons/Logo.jsx +++ b/src/icons/Logo.jsx @@ -1,24 +1,8 @@ -export const Logo = ({ width = 40, height = 40, fill }) => { +import logo from "../assets/logopng.png"; + +export const Logo = ({ width = 40, height = 40 }) => { return ( - - - - - - + {"logo"}/ ); }; diff --git a/src/modules/Sidebar/PendingPointsFilters/TakeToWorkButton.jsx b/src/modules/Sidebar/PendingPointsFilters/TakeToWorkButton.jsx index 64bf172..3c61b58 100644 --- a/src/modules/Sidebar/PendingPointsFilters/TakeToWorkButton.jsx +++ b/src/modules/Sidebar/PendingPointsFilters/TakeToWorkButton.jsx @@ -2,11 +2,16 @@ import { Alert, Button, Modal, Spin } from "antd"; import { useQueryClient } from "@tanstack/react-query"; import { usePointSelection } from "../../../stores/usePointSelection"; import { STATUSES } from "../../../config"; -import { useState } from "react"; +import { useMemo, useState } from "react"; import { useUpdateStatus } from "../../../hooks/useUpdateStatus"; import { ArrowRightOutlined } from "@ant-design/icons"; import { Title } from "../../../components/Title"; import { usePendingPointsFilters } from "../../../stores/usePendingPointsFilters"; +import { useLastMLRun } from "../../../api.js"; + +const TASK_STATUSES = { + finished: "Завершено" +} export const TakeToWorkButton = ({ disabled }) => { const { filters } = usePendingPointsFilters(); @@ -14,6 +19,11 @@ export const TakeToWorkButton = ({ disabled }) => { const { selection } = usePointSelection(); const queryClient = useQueryClient(); const [isModalOpened, setIsModalOpened] = useState(false); + const { data: statusData } = useLastMLRun(); + + const disableButton = useMemo(() => { + return statusData?.task_status !== TASK_STATUSES.finished + }, [statusData]) const { mutate: updateStatus, @@ -79,7 +89,7 @@ export const TakeToWorkButton = ({ disabled }) => { block className={"mt-2"} onClick={() => setIsModalOpened(true)} - disabled={disabled} + disabled={disabled || disableButton} > Взять в работу diff --git a/src/modules/Table/PendingTable/usePendingTableData.js b/src/modules/Table/PendingTable/usePendingTableData.js index 0426c91..a6d5075 100644 --- a/src/modules/Table/PendingTable/usePendingTableData.js +++ b/src/modules/Table/PendingTable/usePendingTableData.js @@ -27,7 +27,7 @@ export const usePendingTableData = (page, resetPage, pageSize, setPageSize, sort }); appendFiltersInUse(params, filters, ranges); - if (!isImportMode) params.append("status[]", STATUSES.pending) + if (!isImportMode) params.append("status[]", [STATUSES.pending, STATUSES.cancelled].join(",")) return params; }