import { useState, useEffect } from 'react' import { makeNumericMinMax, makeNumericStartEnd } from '../../components/Table' import LoaderPortal from '../../components/LoaderPortal' import { invokeWebApiWrapperAsync } from '../../components/factory' import { EditableTable } from '../../components/Table' import { DrillFlowChartService } from '../../services/api' const columns = [ makeNumericStartEnd('Глубина', 'depth'), makeNumericMinMax('Нагрузка', 'axialLoad'), makeNumericMinMax('Давление', 'pressure'), makeNumericMinMax('Момент на ВСП', 'rotorTorque'), makeNumericMinMax('Обороты на ВСП', 'rotorSpeed'), makeNumericMinMax('Расход', 'flow') ] export const DrillProcessFlow = ({idWell}) => { const [flows, setFlows] = useState([]) const [showLoader, setShowLoader] = useState(false) const updateFlows = () => invokeWebApiWrapperAsync( async () => { const flows = await DrillFlowChartService.get(idWell) setFlows(Array.isArray(flows) ? flows : []) }, setShowLoader, 'Не удалось загрузить режимно-технологическую карту скважины' ) useEffect(updateFlows, [idWell]) const onAdd = async (flow) => { flow.idWell = idWell await DrillFlowChartService.insert(idWell, flow) updateFlows() } const onEdit = async (flow) => { if (!flow.id) return flow.idWell = idWell await DrillFlowChartService.edit(idWell, flow) updateFlows() } const onDelete = async (flow) => { if (!flow.id) return await DrillFlowChartService.delete(idWell, flow.id) updateFlows() } return ( ) }