forked from ddrilling/asb_cloud_front
Merge branch 'dev' into feature/CF2-87-Archive-page-redesign
This commit is contained in:
commit
4f0e30127c
@ -5,7 +5,7 @@ import {invokeWebApiWrapperAsync, download} from '../../components/factory'
|
||||
import DocumentsTemplate from './DocumentsTemplate'
|
||||
import LoaderPortal from '../../components/LoaderPortal'
|
||||
import { Flex } from '../../components/Grid'
|
||||
import { WellService } from '../../services/api'
|
||||
import {DrillingProgramService, WellService} from '../../services/api'
|
||||
|
||||
const idFileCategoryDrillingProgramItems = 13;
|
||||
|
||||
@ -28,10 +28,17 @@ export default function DrillingProgram({idWell}) {
|
||||
|
||||
const downloadProgram = () => invokeWebApiWrapperAsync(async()=>{
|
||||
await download(urlDownloadProgram)
|
||||
},
|
||||
},
|
||||
setShowLoader,
|
||||
"Не удалось загрузить программу бурения")
|
||||
|
||||
const openProgramPreview = () => invokeWebApiWrapperAsync(async()=>{
|
||||
const filWebUrl = await DrillingProgramService.getFileWebLink(idWell)
|
||||
window.open(filWebUrl, '_blank')
|
||||
},
|
||||
setShowLoader,
|
||||
"Не удалось создать быстрый просмотр программы")
|
||||
|
||||
const filesUpdated = (files) =>{
|
||||
if(!files || files.length === 0){
|
||||
setTooltip('Нет файлов для формирования программы')
|
||||
@ -68,6 +75,14 @@ export default function DrillingProgram({idWell}) {
|
||||
Программа бурения {wellLabel}.xlsx
|
||||
</Button>
|
||||
</Tooltip>
|
||||
<Tooltip title="Перед просмотром программы бурения сначала сформируйте ее.">
|
||||
<Button
|
||||
type="primary"
|
||||
onClick={openProgramPreview}
|
||||
disabled={!downloadButtonEnabled}>
|
||||
Сформировать и просмотреть
|
||||
</Button>
|
||||
</Tooltip>
|
||||
</Flex>
|
||||
</div>
|
||||
|
||||
|
@ -14,38 +14,44 @@ const { Search } = Input
|
||||
|
||||
// Словарь категорий для строк таблицы
|
||||
const categoryDictionary = {
|
||||
1: {title: 'Авария'},
|
||||
1: {title: 'Важное'},
|
||||
2: {title: 'Предупреждение'},
|
||||
3: {title: 'Информация'},
|
||||
}
|
||||
|
||||
const columns = [
|
||||
// Конфигурация таблицы
|
||||
export const columns = [
|
||||
{
|
||||
width: '10%',
|
||||
width: '10rem',
|
||||
title: 'Дата',
|
||||
key: 'date',
|
||||
dataIndex: 'date',
|
||||
render: item => moment(item).format('DD MMM YYYY, HH:mm:ss'),
|
||||
sorter: (a, b) => new Date(b.date) - new Date(a.date),
|
||||
sortDirections: ['descend', 'ascend'],
|
||||
}, {
|
||||
width: '10%',
|
||||
width: '10rem',
|
||||
title: 'Глубина',
|
||||
key: 'wellDepth',
|
||||
dataIndex: 'wellDepth',
|
||||
render: depth => <span>{depth.toFixed(2)} м.</span>,
|
||||
}, {
|
||||
width: '10%',
|
||||
width: '10rem',
|
||||
title: 'Категория',
|
||||
key: 'categoryId',
|
||||
dataIndex: 'categoryId',
|
||||
render: (_, item) => categoryDictionary[item.categoryId].title,
|
||||
style: (_, item) => categoryDictionary[item.categoryId].style,
|
||||
style: (_, item) => categoryDictionary[item.categoryId]?.style,
|
||||
sorter: (a, b) => a.categoryId - b.categoryId,
|
||||
sortDirections: ['descend', 'ascend'],
|
||||
ellipsis: true,
|
||||
}, {
|
||||
title: 'Сообщение',
|
||||
key: 'message',
|
||||
dataIndex: 'message',
|
||||
onFilter: (value, record) => record.name.indexOf(value) === 0,
|
||||
}, {
|
||||
width: '10%',
|
||||
width: '10rem',
|
||||
title: 'Пользователь',
|
||||
key: 'user',
|
||||
dataIndex: 'user',
|
||||
|
@ -1,51 +1,14 @@
|
||||
import {useState, useEffect} from 'react'
|
||||
import {Table} from "antd";
|
||||
import moment from 'moment'
|
||||
import {Table} from 'antd'
|
||||
|
||||
import LoaderPortal from '../../components/LoaderPortal'
|
||||
import {invokeWebApiWrapperAsync} from '../../components/factory'
|
||||
import {columns} from '../Messages'
|
||||
|
||||
import {Subscribe} from '../../services/signalr'
|
||||
import {MessageService} from '../../services/api'
|
||||
import '../../styles/message.css'
|
||||
|
||||
// Словарь категорий для строк таблицы
|
||||
const categoryDictionary = {
|
||||
1: {title: 'Важное'},
|
||||
2: {title: 'Предупреждение'},
|
||||
3: {title: 'Информация'},
|
||||
}
|
||||
|
||||
// Конфигурация таблицы
|
||||
const columns = [
|
||||
{
|
||||
title: 'Дата',
|
||||
dataIndex: 'date',
|
||||
render: (item) => moment(item).format('DD MMM YYYY, HH:mm:ss'),
|
||||
sorter: (a, b) => new Date(b.date) - new Date(a.date),
|
||||
sortDirections: ['descend', 'ascend'],
|
||||
}, {
|
||||
title: 'Глубина',
|
||||
key: 'wellDepth',
|
||||
dataIndex: 'wellDepth',
|
||||
render: depth => <span>Глубина {depth.toFixed(2)} м.</span>,
|
||||
}, {
|
||||
title: 'Категория',
|
||||
dataIndex: 'categoryId',
|
||||
render: (_, item) => categoryDictionary[item.categoryId]?.title,
|
||||
style: (_, item) => categoryDictionary[item.categoryId]?.style,
|
||||
sorter: (a, b) => a.categoryId - b.categoryId,
|
||||
sortDirections: ['descend', 'ascend'],
|
||||
}, {
|
||||
title: 'Сообщение',
|
||||
dataIndex: 'message',
|
||||
onFilter: (value, record) => record.name.indexOf(value) === 0,
|
||||
}, {
|
||||
title: 'Пользователь',
|
||||
dataIndex: 'user',
|
||||
},
|
||||
];
|
||||
|
||||
export default function ActiveMessagesOnline({idWell}) {
|
||||
const [messages, setMessages] = useState([])
|
||||
const [loader, setLoader] = useState(false)
|
||||
@ -56,7 +19,7 @@ export default function ActiveMessagesOnline({idWell}) {
|
||||
}
|
||||
}
|
||||
|
||||
useEffect(() => {
|
||||
useEffect(() => {
|
||||
invokeWebApiWrapperAsync(
|
||||
async () => {
|
||||
const messages = await MessageService.getMessages(idWell, 0, 4)
|
||||
|
@ -22,7 +22,7 @@ export class DrillingProgramService {
|
||||
}
|
||||
|
||||
/**
|
||||
* Создает программу бурения
|
||||
* Возвращает ссылку на файл программы бурения в облаке
|
||||
* @param idWell id скважины
|
||||
* @returns string Success
|
||||
* @throws ApiError
|
||||
|
Loading…
Reference in New Issue
Block a user