forked from ddrilling/asb_cloud_front
Add Measure Editor
This commit is contained in:
parent
7a7a4663c5
commit
30b5ac8eb3
95
src/pages/Measure/Editor.jsx
Normal file
95
src/pages/Measure/Editor.jsx
Normal file
@ -0,0 +1,95 @@
|
|||||||
|
import { useState, useEffect } from 'react'
|
||||||
|
import moment from 'moment'
|
||||||
|
import { EditableTable, DatePickerWrapper } from '../../components/Table'
|
||||||
|
import LoaderPortal from '../../components/LoaderPortal'
|
||||||
|
import { invokeWebApiWrapperAsync } from '../../components/factory'
|
||||||
|
import { MeasureService } from '../../services/api'
|
||||||
|
|
||||||
|
const format='YYYY.MM.DD HH:mm'
|
||||||
|
|
||||||
|
const columnTimestamp = {
|
||||||
|
editable: true,
|
||||||
|
title: 'Время',
|
||||||
|
key:'timestamp',
|
||||||
|
dataindex:'timestamp',
|
||||||
|
input: <DatePickerWrapper/>,
|
||||||
|
width:'12em',
|
||||||
|
render: (text, record, idx) => record['timestamp'],
|
||||||
|
}
|
||||||
|
|
||||||
|
export const Editor = ({idWell, idCategory, columns, onUpdate}) => {
|
||||||
|
const [showLoader, setShowLoader] = useState(false)
|
||||||
|
const [history, setHistory] = useState([])
|
||||||
|
|
||||||
|
const update = () => invokeWebApiWrapperAsync(async()=>{
|
||||||
|
const data = await MeasureService.getHisory(idWell, idCategory)
|
||||||
|
const story = data?.map( i=> ({
|
||||||
|
id: i.id,
|
||||||
|
idWell: i.idWell,
|
||||||
|
idCategory: i.idCategory,
|
||||||
|
timestamp: moment.utc(i.timestamp).local().format(format),
|
||||||
|
...i.data}))
|
||||||
|
setHistory(story??[])
|
||||||
|
}
|
||||||
|
, setShowLoader
|
||||||
|
, "не удалось загрузить")
|
||||||
|
|
||||||
|
useEffect(update, [idWell, idCategory])
|
||||||
|
|
||||||
|
const onAdd = async (row) => {
|
||||||
|
const {id, idCategory: _idCategory, idWell : _idWell, timestamp, key, ...data} = row
|
||||||
|
const measure = {
|
||||||
|
id:0,
|
||||||
|
idWell: idWell,
|
||||||
|
idCategory: idCategory,
|
||||||
|
timestamp: timestamp?? moment(),
|
||||||
|
data,
|
||||||
|
}
|
||||||
|
await MeasureService.insert(idWell, measure)
|
||||||
|
if(onUpdate)
|
||||||
|
onUpdate()
|
||||||
|
else
|
||||||
|
update()
|
||||||
|
}
|
||||||
|
|
||||||
|
const onEdit = async (row) => {
|
||||||
|
if(!row?.id)
|
||||||
|
return
|
||||||
|
const {id, idCategory: _idCategory, idWell : _idWell, timestamp, ...data} = row
|
||||||
|
const measure = {
|
||||||
|
id: id,
|
||||||
|
idWell: idWell,
|
||||||
|
idCategory: idCategory,
|
||||||
|
timestamp: timestamp?? moment(),
|
||||||
|
data,
|
||||||
|
}
|
||||||
|
await MeasureService.update(idWell, measure)
|
||||||
|
if(onUpdate)
|
||||||
|
onUpdate()
|
||||||
|
else
|
||||||
|
update()
|
||||||
|
}
|
||||||
|
|
||||||
|
const onDelete = async (row) => {
|
||||||
|
if(!row?.id)
|
||||||
|
return
|
||||||
|
await MeasureService.markAsDelete(idWell, row.id)
|
||||||
|
if(onUpdate)
|
||||||
|
onUpdate()
|
||||||
|
else
|
||||||
|
update()
|
||||||
|
}
|
||||||
|
|
||||||
|
return <LoaderPortal show={showLoader}>
|
||||||
|
<EditableTable
|
||||||
|
bordered
|
||||||
|
dataSource = {history}
|
||||||
|
columns = {[columnTimestamp,...columns]}
|
||||||
|
onRowAdd = {onAdd}
|
||||||
|
onRowEdit = {onEdit}
|
||||||
|
onRowDelete = {onDelete}
|
||||||
|
size = 'small'
|
||||||
|
scroll={{ x: 400, y: 600 }}
|
||||||
|
/>
|
||||||
|
</LoaderPortal>
|
||||||
|
}
|
@ -1,27 +1,54 @@
|
|||||||
import { useState, useEffect } from 'react'
|
import { useState, useEffect } from 'react'
|
||||||
import { Table } from 'antd'
|
import { Table, Button, Modal } from 'antd'
|
||||||
|
import { HourglassOutlined } from '@ant-design/icons'
|
||||||
import LoaderPortal from '../../components/LoaderPortal'
|
import LoaderPortal from '../../components/LoaderPortal'
|
||||||
import { invokeWebApiWrapperAsync } from '../../components/factory'
|
import { invokeWebApiWrapperAsync } from '../../components/factory'
|
||||||
import { MeasureService } from '../../services/api'
|
import { MeasureService } from '../../services/api'
|
||||||
|
import { Editor } from './Editor'
|
||||||
|
|
||||||
export const MeasureTable = ({idWell, idCategory, title, columns}) => {
|
export const MeasureTable = ({idWell, idCategory, title, columns}) => {
|
||||||
const [showLoader, setShowLoader] = useState(false)
|
const [showLoader, setShowLoader] = useState(false)
|
||||||
const [lastData, setLastData] = useState([])
|
const [showEditor, setShowEditor] = useState(false)
|
||||||
|
const [lastData, setLastData] = useState({})
|
||||||
|
|
||||||
useEffect(()=>invokeWebApiWrapperAsync(async()=>{
|
const update = ()=>invokeWebApiWrapperAsync(async()=>{
|
||||||
const data = await MeasureService.getLast(idWell, idCategory)
|
const data = await MeasureService.getLast(idWell, idCategory)
|
||||||
setLastData(data)
|
setLastData(data)
|
||||||
}
|
}
|
||||||
, setShowLoader
|
, setShowLoader
|
||||||
, "не удалось загрузить")
|
, "не удалось загрузить")
|
||||||
, [idWell, idCategory])
|
|
||||||
|
useEffect(update, [idWell, idCategory])
|
||||||
|
|
||||||
|
const timestamp = lastData ? new Date(lastData?.timestamp).toLocaleString() : '-'
|
||||||
|
|
||||||
return <LoaderPortal show={showLoader}>
|
return <LoaderPortal show={showLoader}>
|
||||||
<h3>{title}</h3>
|
<h3>{title}</h3>
|
||||||
<span>дата: {lastData?.timestamp}</span>
|
<span>Дата: {timestamp}</span>
|
||||||
|
|
||||||
|
<Button
|
||||||
|
onClick={() => setShowEditor(true)}
|
||||||
|
icon={<HourglassOutlined/>}>История</Button>
|
||||||
<Table
|
<Table
|
||||||
|
style={{marginTop:16}}
|
||||||
|
bordered
|
||||||
dataSource = {[lastData?.data]}
|
dataSource = {[lastData?.data]}
|
||||||
columns = {columns}
|
columns = {columns}
|
||||||
/>
|
scroll={{ x: 400, y: 600 }}/>
|
||||||
|
<Modal
|
||||||
|
title={title}
|
||||||
|
centered
|
||||||
|
visible={showEditor}
|
||||||
|
onOk={() => setShowEditor(false)}
|
||||||
|
onCancel={() => setShowEditor(false)}
|
||||||
|
width="95%"
|
||||||
|
footer={null}
|
||||||
|
>
|
||||||
|
<Editor
|
||||||
|
idWell={idWell}
|
||||||
|
idCategory={idCategory}
|
||||||
|
columns = {columns}
|
||||||
|
onUpdate={update}/>
|
||||||
|
</Modal>
|
||||||
</LoaderPortal>
|
</LoaderPortal>
|
||||||
}
|
}
|
@ -1,68 +0,0 @@
|
|||||||
import {Button, Modal } from "antd";
|
|
||||||
import {DrillingFluid} from "../../components/modalWindows/DrillingFluid";
|
|
||||||
import {useState} from "react";
|
|
||||||
import {SludgeDiagram} from "../../components/modalWindows/MudDiagram";
|
|
||||||
import {Nnb} from "../../components/modalWindows/Nnb"
|
|
||||||
|
|
||||||
export default function LastData(/*{idWell}*/) {
|
|
||||||
|
|
||||||
const [tableVisible, setCementTableVisible] = useState(false)
|
|
||||||
const [tableSludgeVisible, setTableSludgeVisible] = useState(false)
|
|
||||||
const [tableNNBVisible, setTableNNBVisible] = useState(false)
|
|
||||||
|
|
||||||
return (
|
|
||||||
<>
|
|
||||||
<div> </div>
|
|
||||||
<Button type="primary" onClick={() => setCementTableVisible(true)}>
|
|
||||||
Последний замер бурового раствора
|
|
||||||
</Button>
|
|
||||||
<Modal
|
|
||||||
title='Последние показатели бурового раствора'
|
|
||||||
centered
|
|
||||||
visible={tableVisible}
|
|
||||||
onCancel={() => setCementTableVisible(false)}
|
|
||||||
width={2000}
|
|
||||||
footer={[
|
|
||||||
<Button key="back" onClick={() => setCementTableVisible(false)}>
|
|
||||||
Закрыть
|
|
||||||
</Button>
|
|
||||||
]}
|
|
||||||
>
|
|
||||||
<DrillingFluid/>
|
|
||||||
</Modal>
|
|
||||||
<Button type="primary" onClick={() => setTableSludgeVisible(true)} style={{marginLeft: "5px"}}>
|
|
||||||
Шламограмма
|
|
||||||
</Button>
|
|
||||||
<Modal
|
|
||||||
title='Шламограмма'
|
|
||||||
centered
|
|
||||||
visible={tableSludgeVisible}
|
|
||||||
onCancel={() => setTableSludgeVisible(false)}
|
|
||||||
width={2000}
|
|
||||||
footer={[
|
|
||||||
<Button key="back" onClick={() => setTableSludgeVisible(false)}>
|
|
||||||
Закрыть
|
|
||||||
</Button>
|
|
||||||
]}
|
|
||||||
>
|
|
||||||
<SludgeDiagram/>
|
|
||||||
</Modal>
|
|
||||||
<Button type="primary" onClick={() => setTableNNBVisible(true)} style={{marginLeft: "5px"}}>
|
|
||||||
ННБ
|
|
||||||
</Button>
|
|
||||||
<Modal
|
|
||||||
title='ННБ'
|
|
||||||
centered
|
|
||||||
visible={tableNNBVisible}
|
|
||||||
onCancel={() => setTableNNBVisible(false)}
|
|
||||||
width={2000}
|
|
||||||
footer={[
|
|
||||||
<Button key="back" onClick={() => setTableNNBVisible(false)}>
|
|
||||||
Закрыть
|
|
||||||
</Button>
|
|
||||||
]}
|
|
||||||
>
|
|
||||||
<Nnb/>
|
|
||||||
</Modal>
|
|
||||||
</>)
|
|
||||||
}
|
|
31
src/pages/Measure/columnsCommon.js
Normal file
31
src/pages/Measure/columnsCommon.js
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
import {RegExpIsFloat} from '../../components/Table'
|
||||||
|
import {Input} from 'antd'
|
||||||
|
|
||||||
|
const {TextArea} = Input
|
||||||
|
|
||||||
|
export const v = (text) => <div
|
||||||
|
style={{
|
||||||
|
writingMode:'vertical-rl',
|
||||||
|
textOrientation: 'mixed',
|
||||||
|
verticalAlign: 'top',
|
||||||
|
}}>
|
||||||
|
{text}
|
||||||
|
</div>
|
||||||
|
|
||||||
|
export const numericColumnOptions = {
|
||||||
|
editable: true,
|
||||||
|
initialValue: 0,
|
||||||
|
width:'5em',
|
||||||
|
formItemRules: [
|
||||||
|
{
|
||||||
|
required: true,
|
||||||
|
message: `Введите число`,
|
||||||
|
pattern: RegExpIsFloat,
|
||||||
|
},
|
||||||
|
],
|
||||||
|
};
|
||||||
|
|
||||||
|
export const textColumnOptions = {
|
||||||
|
editable:true,
|
||||||
|
input:<TextArea/>,
|
||||||
|
width:'20em'}
|
@ -1,44 +1,33 @@
|
|||||||
import { makeColumn } from "../../components/Table";
|
import { makeColumn } from "../../components/Table";
|
||||||
|
import {v, numericColumnOptions, textColumnOptions} from './columnsCommon'
|
||||||
|
|
||||||
export const columnsDrillingFluid = [
|
export const columnsDrillingFluid = [
|
||||||
makeColumn("Наименование", "name"),
|
makeColumn("Наименование", "name", textColumnOptions),
|
||||||
makeColumn("Температура, °C", "temperature"),
|
makeColumn(v("Температура, °C"), "temperature",numericColumnOptions),
|
||||||
makeColumn("Плотность, г/см³", "density"),
|
makeColumn(v("Плотность, г/см³"), "density",numericColumnOptions),
|
||||||
makeColumn("Усл. вязкость, сек", "conditionalViscosity"),
|
makeColumn(v("Усл. вязкость, сек"), "conditionalViscosity",numericColumnOptions),
|
||||||
makeColumn("R300", "r300"),
|
makeColumn(v("R300"), "r300",numericColumnOptions),
|
||||||
makeColumn("R600", "r600"),
|
makeColumn(v("R600"), "r600",numericColumnOptions),
|
||||||
makeColumn("R3/R6", "r3r6"),
|
makeColumn(v("R3/R6"), "r3r6",numericColumnOptions),
|
||||||
makeColumn("ДНС, дПа", "dnsDpa"),
|
makeColumn(v("ДНС, дПа"), "dnsDpa",numericColumnOptions),
|
||||||
makeColumn("Пластич. вязкость, сПз", "plasticViscocity"),
|
makeColumn(v("Пластич. вязкость, сПз"), "plasticViscocity",numericColumnOptions),
|
||||||
makeColumn("СНС, дПа", "snsDpa"),
|
makeColumn(v("СНС, дПа"), "snsDpa",numericColumnOptions),
|
||||||
makeColumn("R3/R6 49С", "r3r649С"),
|
makeColumn(v("R3/R6 49С"), "r3r649С",numericColumnOptions),
|
||||||
makeColumn("ДНС 49С, дПа", "dns49Cdpa"),
|
makeColumn(v("ДНС 49С, дПа"), "dns49Cdpa",numericColumnOptions),
|
||||||
makeColumn("Пластич. вязкость 49С, сПз", "plasticViscocity49c"),
|
makeColumn(v("Пластич. вязкость 49С, сПз"), "plasticViscocity49c",numericColumnOptions),
|
||||||
makeColumn("СНС 49С, дПа", "sns49Cdpa"),
|
makeColumn(v("СНС 49С, дПа"), "sns49Cdpa",numericColumnOptions),
|
||||||
makeColumn("МВТ, кг/м³", "mbt"),
|
makeColumn(v("МВТ, кг/м³"), "mbt",numericColumnOptions),
|
||||||
makeColumn("Песок, %", "sand"),
|
makeColumn(v("Песок, %"), "sand",numericColumnOptions),
|
||||||
makeColumn("Фильтрация, см³/30мин", "filtering"),
|
makeColumn(v("Фильтрация, см³/30мин"), "filtering",numericColumnOptions),
|
||||||
makeColumn("Корка, мм", "crust"),
|
makeColumn(v("Корка, мм"), "crust",numericColumnOptions),
|
||||||
makeColumn("KTK", "ktk"),
|
makeColumn(v("KTK"), "ktk",numericColumnOptions),
|
||||||
makeColumn("pH", "ph"),
|
makeColumn(v("pH"), "ph",numericColumnOptions),
|
||||||
makeColumn("Жесткость, мг/л", "hardness"),
|
makeColumn(v("Жесткость, мг/л"), "hardness",numericColumnOptions),
|
||||||
makeColumn("Хлориды, мг/л", "chlorides"),
|
makeColumn(v("Хлориды, мг/л"), "chlorides",numericColumnOptions),
|
||||||
makeColumn("PF", "pf", {
|
makeColumn(v("PF"), "pf",numericColumnOptions),
|
||||||
render: (text) => (
|
makeColumn(v("Mf"), "mf",numericColumnOptions),
|
||||||
<span style={{ marginLeft: "12px", marginRight: "12px" }}>{text}</span>
|
makeColumn(v("Pm"), "pm",numericColumnOptions),
|
||||||
),
|
makeColumn(v("Твердая фаза раствора, %"), "fluidSolidPhase",numericColumnOptions),
|
||||||
}),
|
makeColumn(v("Смазка, %"), "grease",numericColumnOptions),
|
||||||
makeColumn("Mf", "mf", {
|
makeColumn(v("Карбонат кальция, кг/м³"), "calciumCarbonate",numericColumnOptions),
|
||||||
render: (text) => (
|
|
||||||
<span style={{ marginLeft: "12px", marginRight: "12px" }}>{text}</span>
|
|
||||||
),
|
|
||||||
}),
|
|
||||||
makeColumn("Pm", "pm", {
|
|
||||||
render: (text) => (
|
|
||||||
<span style={{ marginLeft: "12px", marginRight: "12px" }}>{text}</span>
|
|
||||||
),
|
|
||||||
}),
|
|
||||||
makeColumn("Твердая фаза раствора, %", "fluidSolidPhase"),
|
|
||||||
makeColumn("Смазка, %", "grease"),
|
|
||||||
makeColumn("Карбонат кальция, кг/м³", "calciumCarbonate"),
|
|
||||||
];
|
];
|
||||||
|
@ -1,40 +1,39 @@
|
|||||||
import {makeColumn} from '../../components/Table'
|
import {makeColumn} from '../../components/Table'
|
||||||
|
import {v, numericColumnOptions, textColumnOptions} from './columnsCommon'
|
||||||
|
|
||||||
export const columnsMudDiagram = [
|
export const columnsMudDiagram = [
|
||||||
makeColumn('N пробы', 'probeNumber', { className: 'yellow-background'}),
|
makeColumn(v('N пробы'), 'probeNumber', numericColumnOptions),
|
||||||
makeColumn('Глубина отбора пробы', 'probeExtractionDepth', { className: 'yellow-background'}),
|
makeColumn(v('Глубина отбора пробы'), 'probeExtractionDepth', numericColumnOptions),
|
||||||
{
|
{
|
||||||
title: 'Литология',
|
title: 'Литология',
|
||||||
key: 'lithology',
|
key: 'lithology',
|
||||||
children: [
|
children: [
|
||||||
makeColumn('Песчаник (%)', 'sandstone', { className: 'lightpurple-background'}),
|
makeColumn(v('Песчаник (%)'), 'sandstone', numericColumnOptions),
|
||||||
makeColumn('Алевролит (%)', 'siltstone', { className: 'lightpurple-background'}),
|
makeColumn(v('Алевролит (%)'), 'siltstone', numericColumnOptions),
|
||||||
makeColumn('Аргиллит (%)', 'argillit', { className: 'lightpurple-background'}),
|
makeColumn(v('Аргиллит (%)'), 'argillit', numericColumnOptions),
|
||||||
makeColumn('Аргиллит бит. (%)', 'brokenArgillit', { className: 'lightpurple-background'}),
|
makeColumn(v('Аргиллит бит. (%)'), 'brokenArgillit', numericColumnOptions),
|
||||||
makeColumn('Уголь (%)', 'coal', { className: 'lightpurple-background'}),
|
makeColumn(v('Уголь (%)'), 'coal', numericColumnOptions),
|
||||||
makeColumn('Песок (%)', 'sand', { className: 'lightpurple-background'}),
|
makeColumn(v('Песок (%)'), 'sand', numericColumnOptions),
|
||||||
makeColumn('Глина (%)', 'clay', { className: 'lightpurple-background'}),
|
makeColumn(v('Глина (%)'), 'clay', numericColumnOptions),
|
||||||
makeColumn('Известняк (%)', 'camstone', { className: 'lightpurple-background'}),
|
makeColumn(v('Известняк (%)'), 'camstone', numericColumnOptions),
|
||||||
makeColumn('Цемент (%)', 'cement', { className: 'lightpurple-background'})
|
makeColumn(v('Цемент (%)'), 'cement', numericColumnOptions),
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
makeColumn('Краткое описание', 'summary', { className: 'yellow-background'}),
|
makeColumn('Краткое описание', 'summary', textColumnOptions),
|
||||||
makeColumn('ЛБА бурового раствора', 'drillingMud', { className: 'lightgray-background'}),
|
makeColumn(v('ЛБА бурового раствора'), 'drillingMud', numericColumnOptions),
|
||||||
makeColumn('ЛБА (шлама)', 'sludge', { className: 'lightorange-background'}),
|
makeColumn(v('ЛБА (шлама)'), 'sludge', numericColumnOptions),
|
||||||
{
|
{
|
||||||
title: 'Газопоказания',
|
title: 'Газопоказания',
|
||||||
key: 'gasIndications',
|
key: 'gasIndications',
|
||||||
align: 'center',
|
|
||||||
className: 'yellow-background',
|
|
||||||
children: [
|
children: [
|
||||||
makeColumn('Сумма УВ мах. (абс%)', 'maxSum', { className: 'lightpurple-background'}),
|
makeColumn(v('Сумма УВ мах. (абс%)'), 'maxSum', numericColumnOptions),
|
||||||
makeColumn('С1 метан (отн%)', 'methane', { className: 'lightpurple-background'}),
|
makeColumn(v('С1 метан (отн%)'), 'methane', numericColumnOptions),
|
||||||
makeColumn('С2 этан (отн%)', 'ethane', { className: 'lightpurple-background'}),
|
makeColumn(v('С2 этан (отн%)'), 'ethane', numericColumnOptions),
|
||||||
makeColumn('С3 пропан (отн%)', 'propane', { className: 'lightpurple-background'}),
|
makeColumn(v('С3 пропан (отн%)'), 'propane', numericColumnOptions),
|
||||||
makeColumn('С4 бутан (отн%)', 'butane', { className: 'lightpurple-background'}),
|
makeColumn(v('С4 бутан (отн%)'), 'butane', numericColumnOptions),
|
||||||
makeColumn('С5 пентан (отн%)', 'pentane', { className: 'lightpurple-background'})
|
makeColumn(v('С5 пентан (отн%)'), 'pentane', numericColumnOptions),
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
makeColumn('Мех. скорость', 'mechanicalSpeed', { className: 'yellow-background'}),
|
makeColumn(v('Мех. скорость'), 'mechanicalSpeed', numericColumnOptions),
|
||||||
makeColumn('Предварительное заключение о насыщении по ГК', 'preliminaryConclusion', { className: 'lightorange-background'}),
|
makeColumn('Предварительное заключение о насыщении по ГК', 'preliminaryConclusion', textColumnOptions),
|
||||||
];
|
]
|
@ -1,21 +1,22 @@
|
|||||||
import { makeColumn } from '../../components/Table'
|
import { makeColumn } from '../../components/Table'
|
||||||
|
import {v, numericColumnOptions, textColumnOptions} from './columnsCommon'
|
||||||
|
|
||||||
export const columnsNnb = [
|
export const columnsNnb = [
|
||||||
makeColumn('Глубина по стволу, м', 'depth'),
|
makeColumn('Глубина по стволу, м', 'depth', textColumnOptions),
|
||||||
makeColumn('Зенитный угол, град', 'zenithAngle'),
|
makeColumn(v('Зенитный угол, град'), 'zenithAngle', numericColumnOptions),
|
||||||
makeColumn('Азимут магнитный, град', 'magneticAzimuth'),
|
makeColumn(v('Азимут магнитный, град'), 'magneticAzimuth', numericColumnOptions),
|
||||||
makeColumn('Азимут истинный, град', 'trueAzimuth'),
|
makeColumn(v('Азимут истинный, град'), 'trueAzimuth', numericColumnOptions),
|
||||||
makeColumn('Азимут дирекц., град', 'directAzimuth'),
|
makeColumn(v('Азимут дирекц., град'), 'directAzimuth', numericColumnOptions),
|
||||||
makeColumn('Глубина по вертикали, м', 'verticalDepth'),
|
makeColumn(v('Глубина по вертикали, м'), 'verticalDepth', numericColumnOptions),
|
||||||
makeColumn('Абсолютная отметка, м', 'absoluteMark'),
|
makeColumn(v('Абсолютная отметка, м'), 'absoluteMark', numericColumnOptions),
|
||||||
makeColumn('Лок. смещение к северу, м', 'localNorthOffset'),
|
makeColumn(v('Лок. смещение к северу, м'), 'localNorthOffset', numericColumnOptions),
|
||||||
makeColumn('Лок. смещение к востоку, м', 'localEastOffset'),
|
makeColumn(v('Лок. смещение к востоку, м'), 'localEastOffset', numericColumnOptions),
|
||||||
makeColumn('Отклонение от устья, м', 'outFallOffset'),
|
makeColumn(v('Отклонение от устья, м'), 'outFallOffset', numericColumnOptions),
|
||||||
makeColumn('Азимут смещения, град', 'offsetAzimuth'),
|
makeColumn(v('Азимут смещения, град'), 'offsetAzimuth', numericColumnOptions),
|
||||||
makeColumn('Пространст. интенсивность, град/10 м', 'areaIntensity'),
|
makeColumn(v('Пространст. интенсивность, град/10 м'), 'areaIntensity', numericColumnOptions),
|
||||||
makeColumn('Угол установки отклон., град', 'offsetStopAngle'),
|
makeColumn(v('Угол установки отклон., град'), 'offsetStopAngle', numericColumnOptions),
|
||||||
makeColumn('Интенсив. по зениту, град/10 м', 'zenithIntensity'),
|
makeColumn(v('Интенсив. по зениту, град/10 м'), 'zenithIntensity', numericColumnOptions),
|
||||||
makeColumn('Комментарий', 'comment'),
|
makeColumn(v('Комментарий'), 'comment', numericColumnOptions),
|
||||||
makeColumn('Разница вертикальных глубин между ХХХ (план) и ХХХ (факт)', 'depthPlanFactDifference'),
|
makeColumn(v('Разница вертикальных глубин\nмежду планом и фактом'), 'depthPlanFactDifference', numericColumnOptions),
|
||||||
makeColumn('Расстояние в пространстве между ХХХ (план) и ХХХ (факт)', 'distancePlanFactDifference'),
|
makeColumn(v('Расстояние в пространстве\nмежду планом и фактом'), 'distancePlanFactDifference', numericColumnOptions),
|
||||||
];
|
];
|
@ -1,6 +1,6 @@
|
|||||||
import { columnsMudDiagram} from './columnsMudDiagram'
|
import { columnsMudDiagram} from './columnsMudDiagram'
|
||||||
// import { columnsDrillingFluid} from './columnsDrillingFluid'
|
import { columnsDrillingFluid} from './columnsDrillingFluid'
|
||||||
// import { columnsNnb } from './columnsNnb'
|
import { columnsNnb } from './columnsNnb'
|
||||||
import { MeasureTable } from './MeasureTable'
|
import { MeasureTable } from './MeasureTable'
|
||||||
|
|
||||||
export default function Measure({idWell}){
|
export default function Measure({idWell}){
|
||||||
@ -9,16 +9,16 @@ export default function Measure({idWell}){
|
|||||||
idWell={idWell}
|
idWell={idWell}
|
||||||
idCategory={1}
|
idCategory={1}
|
||||||
title='Замер бурового раствора'
|
title='Замер бурового раствора'
|
||||||
columns={columnsMudDiagram}/>
|
columns={columnsDrillingFluid}/>
|
||||||
{/* <MeasureTable
|
<MeasureTable
|
||||||
idWell={idWell}
|
idWell={idWell}
|
||||||
idCategory={2}
|
idCategory={2}
|
||||||
title='Шлабограмма'
|
title='Шлабограмма'
|
||||||
columns={columnsDrillingFluid}/>
|
columns={columnsMudDiagram}/>
|
||||||
<MeasureTable
|
<MeasureTable
|
||||||
idWell={idWell}
|
idWell={idWell}
|
||||||
idCategory={3}
|
idCategory={3}
|
||||||
title='ННБ'
|
title='ННБ'
|
||||||
columns={columnsNnb}/> */}
|
columns={columnsNnb}/>
|
||||||
</>
|
</>
|
||||||
}
|
}
|
Loading…
Reference in New Issue
Block a user