forked from ddrilling/asb_cloud_front
Added 'Watch drilling program preview' button
This commit is contained in:
parent
46dddceae4
commit
dc53a0d0b2
@ -1,7 +1,7 @@
|
||||
import {Button, Tooltip} from 'antd'
|
||||
import { FileExcelOutlined } from '@ant-design/icons'
|
||||
import { useEffect, useState } from "react"
|
||||
import {invokeWebApiWrapperAsync} from '../../components/factory'
|
||||
import {invokeWebApiWrapperAsync, download} from '../../components/factory'
|
||||
import DocumentsTemplate from './DocumentsTemplate'
|
||||
import LoaderPortal from '../../components/LoaderPortal'
|
||||
import { Flex } from '../../components/Grid'
|
||||
@ -24,18 +24,24 @@ export default function DrillingProgram({idWell}) {
|
||||
`Не удалось загрузить название скважины "${idWell}"`
|
||||
), [idWell])
|
||||
|
||||
//const urlDownloadProgram =`/api/well/${idWell}/drillingProgram`
|
||||
const urlDownloadProgram =`/api/well/${idWell}/drillingProgram`
|
||||
|
||||
const downloadProgram = () => invokeWebApiWrapperAsync(async()=>{
|
||||
//await download(urlDownloadProgram)
|
||||
// Это временный функционал по просмотру программы бурения без скачивания.
|
||||
// Наверняка его попросят убрать и нужно вернуть закомменченое скачивание файла выше.
|
||||
var filWebUrl = await DrillingProgramService.get(idWell)
|
||||
window.open(filWebUrl, '_blank')
|
||||
await download(urlDownloadProgram)
|
||||
},
|
||||
setShowLoader,
|
||||
"Не удалось загрузить программу бурения")
|
||||
|
||||
const openProgramPreview = () => invokeWebApiWrapperAsync(async()=>{
|
||||
var filWebUrl = await DrillingProgramService.getFileWebLink(idWell)
|
||||
if(filWebUrl && filWebUrl.length)
|
||||
window.open(filWebUrl, '_blank')
|
||||
else
|
||||
throw new Error()
|
||||
},
|
||||
setShowLoader,
|
||||
"Программа бурения еще не сформирована. Перед просмотром сначала сформируйте программу.")
|
||||
|
||||
const filesUpdated = (files) =>{
|
||||
if(!files || files.length === 0){
|
||||
setTooltip('Нет файлов для формирования программы')
|
||||
@ -60,7 +66,7 @@ export default function DrillingProgram({idWell}) {
|
||||
type="primary"
|
||||
onClick={downloadProgram}
|
||||
disabled={!downloadButtonEnabled}>
|
||||
Сформировать и просмотреть
|
||||
Сформировать и скачать
|
||||
</Button>
|
||||
</Tooltip>
|
||||
<Tooltip title={tooltip}>
|
||||
@ -72,6 +78,14 @@ export default function DrillingProgram({idWell}) {
|
||||
Программа бурения {wellLabel}.xlsx
|
||||
</Button>
|
||||
</Tooltip>
|
||||
<Tooltip title="Перед просмотром программы бурения сначала сформируйте ее.">
|
||||
<Button
|
||||
type="primary"
|
||||
onClick={openProgramPreview}
|
||||
disabled={!downloadButtonEnabled}>
|
||||
Просмотреть программу бурения
|
||||
</Button>
|
||||
</Tooltip>
|
||||
</Flex>
|
||||
</div>
|
||||
|
||||
|
@ -21,4 +21,20 @@ export class DrillingProgramService {
|
||||
return result.body;
|
||||
}
|
||||
|
||||
/**
|
||||
* Возвращает ссылку на файл программы бурения в облаке
|
||||
* @param idWell id скважины
|
||||
* @returns string Success
|
||||
* @throws ApiError
|
||||
*/
|
||||
public static async getFileWebLink(
|
||||
idWell: number,
|
||||
): Promise<string> {
|
||||
const result = await __request({
|
||||
method: 'GET',
|
||||
path: `/api/well/${idWell}/drillingProgram/webUrl`,
|
||||
});
|
||||
return result.body;
|
||||
}
|
||||
|
||||
}
|
Loading…
Reference in New Issue
Block a user