From 8ea3ff02af6b44b7eae0da797f8efbf7697dc3b7 Mon Sep 17 00:00:00 2001 From: goodm2ice Date: Tue, 11 Jan 2022 16:06:36 +0500 Subject: [PATCH] =?UTF-8?q?=D0=A0=D0=B5=D1=84=D0=B0=D0=BA=D1=82=D0=BE?= =?UTF-8?q?=D1=80=D0=B8=D0=BD=D0=B3=20=D1=81=D1=82=D0=B8=D0=BB=D1=8F=20?= =?UTF-8?q?=D0=BA=D0=BE=D0=B4=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../WellCompositeEditor/WellCompositeInfo.jsx | 25 ------- .../WellCompositeSections.jsx | 68 +++++++++++-------- .../WellCompositeEditor/index.jsx | 32 +++++---- 3 files changed, 57 insertions(+), 68 deletions(-) delete mode 100644 src/pages/WellOperations/WellCompositeEditor/WellCompositeInfo.jsx diff --git a/src/pages/WellOperations/WellCompositeEditor/WellCompositeInfo.jsx b/src/pages/WellOperations/WellCompositeEditor/WellCompositeInfo.jsx deleted file mode 100644 index 99a9136..0000000 --- a/src/pages/WellOperations/WellCompositeEditor/WellCompositeInfo.jsx +++ /dev/null @@ -1,25 +0,0 @@ -import { useEffect, useState } from 'react' -import { invokeWebApiWrapperAsync } from '../../../components/factory' -import LoaderPortal from '../../../components/LoaderPortal' -import { OperationStatService } from '../../../services/api' -import ClusterWells from '../../Cluster/ClusterWells' - -export const WellCompositeInfo = ({idWell, selectedIdWells}) => { - const [showLoader, setShowLoader] = useState(false) - const [statsWells, setStatsWells] = useState([]) - - useEffect(() => invokeWebApiWrapperAsync( - async () => { - const operations = await OperationStatService.getWellsStat(selectedIdWells) - setStatsWells(operations) - }, - setShowLoader, - 'Не удалось загрузить список операции по скважинам' - ), [selectedIdWells]) - - return ( - - - - ) -} diff --git a/src/pages/WellOperations/WellCompositeEditor/WellCompositeSections.jsx b/src/pages/WellOperations/WellCompositeEditor/WellCompositeSections.jsx index 4480628..e70060c 100644 --- a/src/pages/WellOperations/WellCompositeEditor/WellCompositeSections.jsx +++ b/src/pages/WellOperations/WellCompositeEditor/WellCompositeSections.jsx @@ -14,8 +14,8 @@ import { makeFilterMinMaxFunction, getOperations } from '../../Cluster/functions' -import { Tvd } from '../Tvd' import WellOperationsTable from '../../Cluster/WellOperationsTable' +import { Tvd } from '../Tvd' import { getColumns } from '../WellDrillParams' @@ -28,19 +28,18 @@ const filtersSectionsType = [] const DAY_IN_MS = 1000 * 60 * 60 * 24 export const WellCompositeSections = ({ idWell, statsWells, selectedSections }) => { - - const [showLoader, setShowLoader] = useState(false) - const [showParamsLoader, setShowParamsLoader] = useState(false) - const [selectedWellId, setSelectedWellId] = useState(0) - const [selectedWells, setSelectedWells] = useState([]) - const [selectedWellsKeys, setSelectedWellsKeys] = useState([]) - const [isTVDModalVisible, setIsTVDModalVisible] = useState(false) - const [isOpsModalVisible, setIsOpsModalVisible] = useState(false) - const [isParamsModalVisible, setIsParamsModalVisible] = useState(false) - const [wellOperations, setWellOperations] = useState([]) const [rows, setRows] = useState([]) const [params, setParams] = useState([]) const [paramsColumns, setParamsColumns] = useState([]) + const [selectedWells, setSelectedWells] = useState([]) + const [wellOperations, setWellOperations] = useState([]) + const [selectedWellsKeys, setSelectedWellsKeys] = useState([]) + const [selectedWellId, setSelectedWellId] = useState(0) + const [showLoader, setShowLoader] = useState(false) + const [showParamsLoader, setShowParamsLoader] = useState(false) + const [isTVDModalVisible, setIsTVDModalVisible] = useState(false) + const [isOpsModalVisible, setIsOpsModalVisible] = useState(false) + const [isParamsModalVisible, setIsParamsModalVisible] = useState(false) useEffect(() => (async() => setParamsColumns(await getColumns(idWell)))(), [idWell]) @@ -63,7 +62,7 @@ export const WellCompositeSections = ({ idWell, statsWells, selectedSections }) if (!filtersSectionsType.some((el) => el.text === section.caption)) filtersSectionsType.push({ text: section.caption, value: section.caption }) - let row = { + const row = { key: well.caption + section.id, id: well.id, sectionId: section.id, @@ -138,18 +137,26 @@ export const WellCompositeSections = ({ idWell, statsWells, selectedSections }) makeNumericColumnPlanFact('НПВ, сут', 'nonProductiveTime', filtersMinMax, makeFilterMinMaxFunction, null, '70px'), { title: 'TVD', - render: (value) => , + render: (value) => ( + + ), align: 'center' }, { title: 'Операции', - render: (value) => , + render: (value) => ( + + ), align: 'center' }, { @@ -221,13 +228,17 @@ export const WellCompositeSections = ({ idWell, statsWells, selectedSections }) scroll={{ x: true }} pagination={false} /> - + + - + > + Режимы + + + setIsParamsModalVisible(false)} width={1700} - footer={ - - + footer={( + + - } + )} > { - const { tab } = useParams() +export const WellCompositeEditor = ({ idWell }) => { const rootPath = `/well/${idWell}/operations/composite` + const { tab } = useParams() const [wellsTree, setWellsTree] = useState([]) + const [wellLabels, setWellLabels] = useState([]) + const [statsWells, setStatsWells] = useState([]) const [showLoader, setShowLoader] = useState(false) const [showTabLoader, setShowTabLoader] = useState(false) const [selectedIdWells, setSelectedIdWells] = useState([]) - const [statsWells, setStatsWells] = useState([]) const [selectedSections, setSelectedSections] = useState([]) - const [wellLabels, setWellLabels] = useState([]) useEffect(() => { invokeWebApiWrapperAsync( @@ -44,14 +50,14 @@ export const WellCompositeEditor = ({idWell}) => { value: well.id, }) }), - })) + })), })) setWellsTree(wellsTree) setWellLabels(labels) try { const selected = await WellCompositeService.get(idWell) - setSelectedSections(Array.isArray(selected) ? selected : []) + setSelectedSections(arrayOrDefault(selected)) } catch(e) { setSelectedSections([]) } @@ -69,7 +75,7 @@ export const WellCompositeEditor = ({idWell}) => { useEffect(() => invokeWebApiWrapperAsync( async () => { const stats = await OperationStatService.getWellsStat(selectedIdWells) - setStatsWells(Array.isArray(stats) ? stats : []) + setStatsWells(arrayOrDefault(stats)) }, setShowTabLoader, 'Не удалось загрузить статистику по скважинам/секциям' @@ -85,7 +91,7 @@ export const WellCompositeEditor = ({idWell}) => { showCheckedStrategy={TreeSelect.SHOW_CHILD} treeDefaultExpandAll treeData={wellsTree} - treeLine={{showLeafIcon: false}} + treeLine={{ showLeafIcon: false }} onChange={(value) => setSelectedIdWells(value)} size={'middle'} style={{width: '100%'}}