forked from ddrilling/asb_cloud_front
Датасеты телеметрий вынесены в отдельный файл
This commit is contained in:
parent
18f789c980
commit
ac9b4d6c0d
@ -14,8 +14,9 @@ import { PeriodPicker, defaultPeriod } from '@components/selectors/PeriodPicker'
|
|||||||
import { formatDate, range, withPermissions } from '@utils'
|
import { formatDate, range, withPermissions } from '@utils'
|
||||||
import { TelemetryDataSaubService } from '@api'
|
import { TelemetryDataSaubService } from '@api'
|
||||||
|
|
||||||
import { makeChartGroups, normalizeData, yAxis } from '../TelemetryView'
|
import { normalizeData, yAxis } from '../TelemetryView'
|
||||||
import cursorRender from '../TelemetryView/cursorRender'
|
import { makeChartGroups } from '../TelemetryView/datasets'
|
||||||
|
import { cursorRender } from '../TelemetryView/cursorRender'
|
||||||
|
|
||||||
const DATA_COUNT = 2048 // Колличество точек на подгрузку графика
|
const DATA_COUNT = 2048 // Колличество точек на подгрузку графика
|
||||||
const ADDITIVE_PAGES = 2 // Дополнительные данные для графиков
|
const ADDITIVE_PAGES = 2 // Дополнительные данные для графиков
|
||||||
|
69
src/pages/Well/Telemetry/TelemetryView/datasets.js
Normal file
69
src/pages/Well/Telemetry/TelemetryView/datasets.js
Normal file
@ -0,0 +1,69 @@
|
|||||||
|
const dash = [7, 3]
|
||||||
|
|
||||||
|
const makeDataset = (label, shortLabel, color, key, unit, other) => ({
|
||||||
|
key,
|
||||||
|
label,
|
||||||
|
shortLabel,
|
||||||
|
color,
|
||||||
|
xAxis: {
|
||||||
|
type: 'linear',
|
||||||
|
accessor: key,
|
||||||
|
unit,
|
||||||
|
},
|
||||||
|
type: 'line',
|
||||||
|
...other,
|
||||||
|
})
|
||||||
|
|
||||||
|
export const makeChartGroups = (flowChart) => {
|
||||||
|
const makeAreaOptions = (accessor) => ({
|
||||||
|
type: 'rect_area',
|
||||||
|
data: flowChart,
|
||||||
|
hideLabel: true,
|
||||||
|
yAxis: {
|
||||||
|
type: 'linear',
|
||||||
|
accessor: 'depth',
|
||||||
|
},
|
||||||
|
minXAccessor: 'depthStart',
|
||||||
|
maxXAccessor: 'depthEnd',
|
||||||
|
minYAccessor: accessor + 'Min',
|
||||||
|
maxYAccessor: accessor + 'Max',
|
||||||
|
linkedTo: accessor,
|
||||||
|
})
|
||||||
|
|
||||||
|
return [
|
||||||
|
[
|
||||||
|
makeDataset('Высота блока', 'Высота ТБ','#303030', 'blockPosition', 'м'),
|
||||||
|
makeDataset('Глубина скважины', 'Глубина скв','#7789A1', 'wellDepth', 'м', { dash }),
|
||||||
|
makeDataset('Расход', 'Расход','#007070', 'flow', 'л/с'),
|
||||||
|
makeDataset('Положение долота', 'Долото','#B39D59', 'bitPosition', 'м'),
|
||||||
|
makeDataset('Расход', 'Расход','#007070', 'flowMM', 'л/с', makeAreaOptions('flow')),
|
||||||
|
], [
|
||||||
|
makeDataset('Скорость блока', 'Скорость ТБ','#59B359', 'blockSpeed', 'м/ч'),
|
||||||
|
makeDataset('Скорость заданная', 'Скор зад-я','#95B359', 'blockSpeedSp', 'м/ч', { dash }),
|
||||||
|
], [
|
||||||
|
makeDataset('Давление', 'Давл','#FF0000', 'pressure', 'атм'),
|
||||||
|
makeDataset('Давление заданное', 'Давл зад-е','#CC0000', 'pressureSp', 'атм'),
|
||||||
|
makeDataset('Давление ХХ', 'Давл ХХ','#CC4429', 'pressureIdle', 'атм', { dash }),
|
||||||
|
makeDataset('Перепад давления МАКС', 'ΔР макс','#B34A36', 'pressureDeltaLimitMax', 'атм', { dash }),
|
||||||
|
makeDataset('Давление', 'Давл','#FF0000', 'pressureMM', 'атм', makeAreaOptions('pressure')),
|
||||||
|
], [
|
||||||
|
makeDataset('Осевая нагрузка', 'Нагр','#0000CC', 'axialLoad', 'т'),
|
||||||
|
makeDataset('Осевая нагрузка заданная', 'Нагр зад-я','#3D6DCC', 'axialLoadSp', 'т', { dash }),
|
||||||
|
makeDataset('Осевая нагрузка МАКС', 'Нагр макс','#3D3DCC', 'axialLoadLimitMax', 'т', { dash }),
|
||||||
|
makeDataset('Осевая нагрузка', 'Нагр','#0000CC', 'axialLoadMM', 'т', makeAreaOptions('axialLoad')),
|
||||||
|
], [
|
||||||
|
makeDataset('Вес на крюке', 'Вес на крюке','#00B3B3', 'hookWeight', 'т'),
|
||||||
|
makeDataset('Вес инструмента ХХ', 'Вес инст ХХ','#29CCB1', 'hookWeightIdle', 'т', { dash }),
|
||||||
|
makeDataset('Вес инструмента МИН', 'Вес инст мин','#47A1B3', 'hookWeightLimitMin', 'т', { dash }),
|
||||||
|
makeDataset('Вес инструмента МАКС', 'Вес инст мах','#2D7280', 'hookWeightLimitMax', 'т', { dash }),
|
||||||
|
makeDataset('Обороты ротора', 'Об ротора','#11B32F', 'rotorSpeed', 'об/мин'),
|
||||||
|
makeDataset('Обороты ротора', 'Об ротора','#11B32F', 'rotorSpeedMM', 'об/мин', makeAreaOptions('rotorSpeed')),
|
||||||
|
], [
|
||||||
|
makeDataset('Момент на роторе', 'Момент','#990099', 'rotorTorque', 'кН·м'),
|
||||||
|
makeDataset('План. Момент на роторе', 'Момент зад-й','#9629CC', 'rotorTorqueSp', 'кН·м', { dash }),
|
||||||
|
makeDataset('Момент на роторе ХХ', 'Момент ХХ','#CC2996', 'rotorTorqueIdle', 'кН·м', { dash }),
|
||||||
|
makeDataset('Момент МАКС.', 'Момент макс','#FF00FF', 'rotorTorqueLimitMax', 'кН·м', { dash }),
|
||||||
|
makeDataset('Момент на роторе', 'Момент','#990099', 'rotorTorqueMM', 'кН·м', makeAreaOptions('rotorTorque')),
|
||||||
|
]
|
||||||
|
]
|
||||||
|
}
|
@ -23,8 +23,9 @@ import WirelineRunOut from './WirelineRunOut'
|
|||||||
import { CustomColumn } from './CustomColumn'
|
import { CustomColumn } from './CustomColumn'
|
||||||
import { ModeDisplay } from './ModeDisplay'
|
import { ModeDisplay } from './ModeDisplay'
|
||||||
import { UserOfWell } from './UserOfWells'
|
import { UserOfWell } from './UserOfWells'
|
||||||
import cursorRender from './cursorRender'
|
|
||||||
import { Setpoints } from './Setpoints'
|
import { Setpoints } from './Setpoints'
|
||||||
|
import { makeChartGroups } from './datasets'
|
||||||
|
import { cursorRender } from './cursorRender'
|
||||||
|
|
||||||
import MomentStabPicEnabled from '@images/DempherOn.png'
|
import MomentStabPicEnabled from '@images/DempherOn.png'
|
||||||
import MomentStabPicDisabled from '@images/DempherOff.png'
|
import MomentStabPicDisabled from '@images/DempherOff.png'
|
||||||
@ -42,76 +43,6 @@ export const yAxis = {
|
|||||||
format: (d) => formatDate(d, undefined, 'DD.MM.YYYY HH:mm:ss'),
|
format: (d) => formatDate(d, undefined, 'DD.MM.YYYY HH:mm:ss'),
|
||||||
}
|
}
|
||||||
|
|
||||||
const dash = [7, 3]
|
|
||||||
|
|
||||||
const makeDataset = (label, shortLabel, color, key, unit, other) => ({
|
|
||||||
key,
|
|
||||||
label,
|
|
||||||
shortLabel,
|
|
||||||
color,
|
|
||||||
xAxis: {
|
|
||||||
type: 'linear',
|
|
||||||
accessor: key,
|
|
||||||
unit,
|
|
||||||
},
|
|
||||||
type: 'line',
|
|
||||||
...other,
|
|
||||||
})
|
|
||||||
|
|
||||||
export const makeChartGroups = (flowChart) => {
|
|
||||||
const makeAreaOptions = (accessor) => ({
|
|
||||||
type: 'rect_area',
|
|
||||||
data: flowChart,
|
|
||||||
hideLabel: true,
|
|
||||||
yAxis: {
|
|
||||||
type: 'linear',
|
|
||||||
accessor: 'depth',
|
|
||||||
},
|
|
||||||
minXAccessor: 'depthStart',
|
|
||||||
maxXAccessor: 'depthEnd',
|
|
||||||
minYAccessor: accessor + 'Min',
|
|
||||||
maxYAccessor: accessor + 'Max',
|
|
||||||
linkedTo: accessor,
|
|
||||||
})
|
|
||||||
|
|
||||||
return [
|
|
||||||
[
|
|
||||||
makeDataset('Высота блока', 'Высота ТБ','#303030', 'blockPosition', 'м'),
|
|
||||||
makeDataset('Глубина скважины', 'Глубина скв','#7789A1', 'wellDepth', 'м', { dash }),
|
|
||||||
makeDataset('Расход', 'Расход','#007070', 'flow', 'л/с'),
|
|
||||||
makeDataset('Положение долота', 'Долото','#B39D59', 'bitPosition', 'м'),
|
|
||||||
makeDataset('Расход', 'Расход','#007070', 'flowMM', 'л/с', makeAreaOptions('flow')),
|
|
||||||
], [
|
|
||||||
makeDataset('Скорость блока', 'Скорость ТБ','#59B359', 'blockSpeed', 'м/ч'),
|
|
||||||
makeDataset('Скорость заданная', 'Скор зад-я','#95B359', 'blockSpeedSp', 'м/ч', { dash }),
|
|
||||||
], [
|
|
||||||
makeDataset('Давление', 'Давл','#FF0000', 'pressure', 'атм'),
|
|
||||||
makeDataset('Давление заданное', 'Давл зад-е','#CC0000', 'pressureSp', 'атм'),
|
|
||||||
makeDataset('Давление ХХ', 'Давл ХХ','#CC4429', 'pressureIdle', 'атм', { dash }),
|
|
||||||
makeDataset('Перепад давления МАКС', 'ΔР макс','#B34A36', 'pressureDeltaLimitMax', 'атм', { dash }),
|
|
||||||
makeDataset('Давление', 'Давл','#FF0000', 'pressureMM', 'атм', makeAreaOptions('pressure')),
|
|
||||||
], [
|
|
||||||
makeDataset('Осевая нагрузка', 'Нагр','#0000CC', 'axialLoad', 'т'),
|
|
||||||
makeDataset('Осевая нагрузка заданная', 'Нагр зад-я','#3D6DCC', 'axialLoadSp', 'т', { dash }),
|
|
||||||
makeDataset('Осевая нагрузка МАКС', 'Нагр макс','#3D3DCC', 'axialLoadLimitMax', 'т', { dash }),
|
|
||||||
makeDataset('Осевая нагрузка', 'Нагр','#0000CC', 'axialLoadMM', 'т', makeAreaOptions('axialLoad')),
|
|
||||||
], [
|
|
||||||
makeDataset('Вес на крюке', 'Вес на крюке','#00B3B3', 'hookWeight', 'т'),
|
|
||||||
makeDataset('Вес инструмента ХХ', 'Вес инст ХХ','#29CCB1', 'hookWeightIdle', 'т', { dash }),
|
|
||||||
makeDataset('Вес инструмента МИН', 'Вес инст мин','#47A1B3', 'hookWeightLimitMin', 'т', { dash }),
|
|
||||||
makeDataset('Вес инструмента МАКС', 'Вес инст мах','#2D7280', 'hookWeightLimitMax', 'т', { dash }),
|
|
||||||
makeDataset('Обороты ротора', 'Об ротора','#11B32F', 'rotorSpeed', 'об/мин'),
|
|
||||||
makeDataset('Обороты ротора', 'Об ротора','#11B32F', 'rotorSpeedMM', 'об/мин', makeAreaOptions('rotorSpeed')),
|
|
||||||
], [
|
|
||||||
makeDataset('Момент на роторе', 'Момент','#990099', 'rotorTorque', 'кН·м'),
|
|
||||||
makeDataset('План. Момент на роторе', 'Момент зад-й','#9629CC', 'rotorTorqueSp', 'кН·м', { dash }),
|
|
||||||
makeDataset('Момент на роторе ХХ', 'Момент ХХ','#CC2996', 'rotorTorqueIdle', 'кН·м', { dash }),
|
|
||||||
makeDataset('Момент МАКС.', 'Момент макс','#FF00FF', 'rotorTorqueLimitMax', 'кН·м', { dash }),
|
|
||||||
makeDataset('Момент на роторе', 'Момент','#990099', 'rotorTorqueMM', 'кН·м', makeAreaOptions('rotorTorque')),
|
|
||||||
]
|
|
||||||
]
|
|
||||||
}
|
|
||||||
|
|
||||||
const getLast = (data) =>
|
const getLast = (data) =>
|
||||||
Array.isArray(data) ? data.at(-1) : data
|
Array.isArray(data) ? data.at(-1) : data
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user