diff --git a/src/components/CementFluid.jsx b/src/components/CementFluid.jsx new file mode 100644 index 0000000..45fa840 --- /dev/null +++ b/src/components/CementFluid.jsx @@ -0,0 +1,106 @@ +let date = new Date().toLocaleString() + +export function CementFluid() { + return (<> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ НаименованиеТемпература, °CПлотность, г/см³Усл. вязкость, секR300R600R3/R6ДНС, дПаПластич. вязкость, сПзСНС, дПаR3/R6 49СДНС 49С, дПаПластич. вязкость 49С, сПзСНС 49С, дПаМВТ, кг/м³Песок, %Фильтрация, см³/30минКорка, ммКТКрНЖесткость, мг/лХлориды, мг/лPfMfPmТвердая фаза раствора, %Смазка, %Карбонат кальция, кг/м³
План                           
Факт                           
+
 
+

{date}

+ + ) +} \ No newline at end of file diff --git a/src/components/Disposition.jsx b/src/components/Disposition.jsx new file mode 100644 index 0000000..b40e30b --- /dev/null +++ b/src/components/Disposition.jsx @@ -0,0 +1,19 @@ +let date = new Date().toLocaleString() + + +export default function Disposition() { + return ( + <> +

Распоряжение

+ +

+ Текст +

+ +

Ф.И.О.

+

Должность

+

Компания

+

{date}

+ + ) +} \ No newline at end of file diff --git a/src/components/Documents.jsx b/src/components/Documents.jsx new file mode 100644 index 0000000..db405b0 --- /dev/null +++ b/src/components/Documents.jsx @@ -0,0 +1,170 @@ +import {Table, DatePicker, Form, Button, Upload, ConfigProvider} from 'antd'; +import { UploadOutlined } from '@ant-design/icons'; +import MenuDocuments from "./MenuDocuments"; +import {useState, useEffect} from "react"; +import {useParams} from 'react-router-dom' +import notify from './notify' +import LoaderPortal from './LoaderPortal' +import locale from "antd/lib/locale/ru_RU"; +import moment from 'moment' + +const pageSize = 26 +const {RangePicker} = DatePicker; + +const columns = [ + { + title: 'Документ', + key: 'document', + dataIndex: 'name', + }, + { + title: 'Дата загрузки', + key: 'uploadDate', + dataIndex: 'uploadDate', + render: (item) => moment.utc(item).local().format('DD MMM YYYY, HH:mm:ss') + }, + { + title: 'Ф.И.О.', + key: 'name', + dataIndex: 'name', + } +]; + +export default function Documents() { + let {id} = useParams() + + const [page, setPage] = useState(1) + const [range, setRange] = useState([]) + const [pagination, setPagination] = useState(null) + const [files, setFiles] = useState([]) + + const [loader, setLoader] = useState(false) + + const submitFileFormProps = { + //action: 'https://www.mocky.io/v2/5cc8019d300000980a055e76', + onChange({ file, fileList }) { + if (file.status !== 'uploading') { + console.log(file, fileList); + } + } + } + + const onChangeRange = (range) => { + setRange(range) + } + + const onFinish = (values) => { + console.log('Success:', values); + } + + const onFinishFailed = (errorInfo) => { + console.log('Failed:', errorInfo); + } + + const fileList = [] + + useEffect(() => { + const GetDocuments = async () => { + setLoader(true) + + try { + let begin = null + let end = null + if (range?.length > 1) { + begin = range[0].toISOString() + end = range[1].toISOString() + } + // await AnalyticsService.getOperationsByWell( + // `${id}`, + // (page-1) * pageSize, + // pageSize, + // begin, + // end).then((paginatedFiles) => { + // setFiles(paginatedFiles?.items.map(f => { + // return { + // key: f.id, + // begin: f.date, + // ...f + // } + // })) + + // setPagination({ + // total: paginatedFiles?.count, + // current: Math.floor(paginatedFiles?.skip / pageSize), + // }) + // } + //) + } catch (ex) { + notify(`Не удалось загрузить файлы по скважине "${id}"`, 'error') + console.log(ex) + } + setLoader(false) + } + GetDocuments() + }, [id, range]) + + return ( +
+ +
+

Фильтр документов:

+ + + +
+ +
 
+
+
+ + {/* { + setFile(e.target.value) + files.push(e.target.value) + localStorage.setItem(e.target.value, file) + setFiles(files) + console.log(e.target.value) + } + }/> */} + + + + + + + +
+
+
 
+ setPage(page) + }} + rowKey={(record) => record.id} + /> + ); +} \ No newline at end of file diff --git a/src/components/MenuDocuments.jsx b/src/components/MenuDocuments.jsx new file mode 100644 index 0000000..d3b73ce --- /dev/null +++ b/src/components/MenuDocuments.jsx @@ -0,0 +1,40 @@ +import {Menu} from "antd"; +import {FolderOutlined} from "@ant-design/icons"; +import {Link} from "react-router-dom"; + + +export default function MenuDocuments() { + return( + <> + + }> + Растворный сервис + + }> + Цементирование + + }> + ННБ + + }> + ГТИ + + }> + Документы по скважине + + }> + Супервайзер + + }> + Мастер + + }> + Последние данные + + + ) +} diff --git a/src/components/NnbTable.jsx b/src/components/NnbTable.jsx new file mode 100644 index 0000000..978e7c6 --- /dev/null +++ b/src/components/NnbTable.jsx @@ -0,0 +1,250 @@ +let date = new Date().toLocaleString() + +export function NnbTable() { + return (<> +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Глубина по + стволу, мЗенитный + угол, градАзимут + магнитный, градАзимут + истинный, градАзимут + дирекц., градГлубина по + вертикали, мАбсолютная + отметка, мЛок. + смещение к северу, мЛок. + смещение к востоку, мОтклонение + от устья, мАзимут + смещения, градОтклонение + от устья, мПространст. + интенсивность, град/10 мУгол + установки отклон., градИнтенсив. + по зениту, град/10 мКомментарийРазница вертикальных глубин + между ХХХ (план) и ХХХ (факт)Расстояние в пространстве между + ХХХ (план) и ХХХ (факт)


















+
 
+

{date}

+ ) +} \ No newline at end of file diff --git a/src/components/Sludge.jsx b/src/components/Sludge.jsx new file mode 100644 index 0000000..4705892 --- /dev/null +++ b/src/components/Sludge.jsx @@ -0,0 +1,383 @@ +let date = new Date().toLocaleString() + +export function Sludge() { + return (<> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
N пробы + Глубина + отбора пробыЛитологияКраткое + описаниеЛБА + бурового раствора ЛБА + (шлама)Газопоказания + Мех. + скоростьПредварительное заключение о насыщении по ГК
Песчаник + (%) Алевролит + (%)Аргиллит + (%)Аргиллит + бит. (%)Уголь + (%)Песок + (%)Глина + (%)Известняк + (%)Цемент + (%)Сумма + УВ мах. (абс%) С1 + метан (отн%)С2 этан + (отн%)С3 + пропан (отн%)С4 + бутан (отн%)С5 + пентан (отн%)






















+
 
+

{date}

+ + ) +} \ No newline at end of file diff --git a/src/pages/Cementing.jsx b/src/pages/Cementing.jsx new file mode 100644 index 0000000..b46fee5 --- /dev/null +++ b/src/pages/Cementing.jsx @@ -0,0 +1,8 @@ +import Documents from "../components/Documents" + +export default function Cementing() { + + return( + + ) +} \ No newline at end of file diff --git a/src/pages/DocumentForWell.jsx b/src/pages/DocumentForWell.jsx new file mode 100644 index 0000000..cdbf72e --- /dev/null +++ b/src/pages/DocumentForWell.jsx @@ -0,0 +1,8 @@ +import Documents from "../components/Documents" + +export default function DocumentsForWell() { + + return( + + ) +} \ No newline at end of file diff --git a/src/pages/FluidService.jsx b/src/pages/FluidService.jsx new file mode 100644 index 0000000..fa8e795 --- /dev/null +++ b/src/pages/FluidService.jsx @@ -0,0 +1,8 @@ +import Documents from "../components/Documents" + +export default function FluidService() { + + return( + + ) +} \ No newline at end of file diff --git a/src/pages/Gti.jsx b/src/pages/Gti.jsx new file mode 100644 index 0000000..4f37cf5 --- /dev/null +++ b/src/pages/Gti.jsx @@ -0,0 +1,8 @@ +import Documents from "../components/Documents" + +export default function Gti() { + + return( + + ) +} \ No newline at end of file diff --git a/src/pages/LastData.jsx b/src/pages/LastData.jsx new file mode 100644 index 0000000..a331594 --- /dev/null +++ b/src/pages/LastData.jsx @@ -0,0 +1,94 @@ +import {Button, Modal, Checkbox } from "antd"; +import {CementFluid} from "../components/CementFluid"; +import React, {useState} from "react"; +import {Sludge} from "../components/Sludge"; +import {NnbTable} from "../components/NnbTable" +import Disposition from "../components/Disposition"; +import MenuDocuments from "../components/MenuDocuments"; + + +export default function LastData() { + const [tableVisible, setTableVisible] = useState(false) + const [tableSludgeVisible, setTableSludgeVisible] = useState(false) + const [tableNNBVisible, setTableNNBVisible] = useState(false) + const [dispositionVisible, setDispositionVisible] = useState(false) + + return ( + <> +
+ +
+
 
+ + setTableVisible(false)} + onCancel={() => setTableVisible(false)} + width={1800} + okText='Ок' + cancelText='Отмена' + > + + + + setTableSludgeVisible(false)} + onCancel={() => setTableSludgeVisible(false)} + width={1600} + okText='Ок' + cancelText='Отмена' + > + + + + setTableNNBVisible(false)} + onCancel={() => setTableNNBVisible(false)} + width={1400} + okText='Ок' + cancelText='Отмена' + > + + + + setDispositionVisible(false)} + onCancel={() => setDispositionVisible(false)} + width={850} + okText='Ок' + cancelText='Отмена' + footer={[ + Принять распоряжение, + , + + ]} + > + + + ) +} \ No newline at end of file diff --git a/src/pages/Master.jsx b/src/pages/Master.jsx new file mode 100644 index 0000000..56da051 --- /dev/null +++ b/src/pages/Master.jsx @@ -0,0 +1,8 @@ +import Documents from "../components/Documents" + +export default function Master() { + + return( + + ) +} \ No newline at end of file diff --git a/src/pages/Messages.jsx b/src/pages/Messages.jsx index 0b410c6..2f9e92e 100644 --- a/src/pages/Messages.jsx +++ b/src/pages/Messages.jsx @@ -110,7 +110,7 @@ export default function Messages() { <>
-

Фильтр сообщений

+

Фильтр сообщений

record.id} /> - + ) } \ No newline at end of file diff --git a/src/services/signalr/index.ts b/src/services/signalr/index.ts index 02aad65..1e4a66a 100644 --- a/src/services/signalr/index.ts +++ b/src/services/signalr/index.ts @@ -14,12 +14,12 @@ type ConnectionsDict = { const Connections: ConnectionsDict = { 'hubs/telemetry': new HubConnectionBuilder() - .withUrl(`http://192.168.1.70:5000/hubs/telemetry`, ConnectionOptions) + .withUrl(`http://localhost:5000/hubs/telemetry`, ConnectionOptions) .withAutomaticReconnect() .build(), 'hubs/reports': new HubConnectionBuilder() - .withUrl(`http://192.168.1.70:5000/hubs/reports`, ConnectionOptions) + .withUrl(`http://localhost:5000/hubs/reports`, ConnectionOptions) .withAutomaticReconnect() .build() } diff --git a/src/styles/index.css b/src/styles/index.css index 8d31ab7..9a60f46 100644 --- a/src/styles/index.css +++ b/src/styles/index.css @@ -48,3 +48,11 @@ code { monospace; } +.linkDocuments { + color: #000; +} + +.linkDocuments:hover { + color: #c32828; +} + diff --git a/src/styles/message.css b/src/styles/message.css index fb003b0..cd0e395 100644 --- a/src/styles/message.css +++ b/src/styles/message.css @@ -33,7 +33,7 @@ margin: 0 0 5px 0; } -.filter-group__heading { +.filter-group-heading { margin: 5px auto; align-items: center; }