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 {Button, Tooltip} from 'antd'
|
||||||
import { FileExcelOutlined } from '@ant-design/icons'
|
import { FileExcelOutlined } from '@ant-design/icons'
|
||||||
import { useEffect, useState } from "react"
|
import { useEffect, useState } from "react"
|
||||||
import {invokeWebApiWrapperAsync} from '../../components/factory'
|
import {invokeWebApiWrapperAsync, download} from '../../components/factory'
|
||||||
import DocumentsTemplate from './DocumentsTemplate'
|
import DocumentsTemplate from './DocumentsTemplate'
|
||||||
import LoaderPortal from '../../components/LoaderPortal'
|
import LoaderPortal from '../../components/LoaderPortal'
|
||||||
import { Flex } from '../../components/Grid'
|
import { Flex } from '../../components/Grid'
|
||||||
@ -24,18 +24,24 @@ export default function DrillingProgram({idWell}) {
|
|||||||
`Не удалось загрузить название скважины "${idWell}"`
|
`Не удалось загрузить название скважины "${idWell}"`
|
||||||
), [idWell])
|
), [idWell])
|
||||||
|
|
||||||
//const urlDownloadProgram =`/api/well/${idWell}/drillingProgram`
|
const urlDownloadProgram =`/api/well/${idWell}/drillingProgram`
|
||||||
|
|
||||||
const downloadProgram = () => invokeWebApiWrapperAsync(async()=>{
|
const downloadProgram = () => invokeWebApiWrapperAsync(async()=>{
|
||||||
//await download(urlDownloadProgram)
|
await download(urlDownloadProgram)
|
||||||
// Это временный функционал по просмотру программы бурения без скачивания.
|
|
||||||
// Наверняка его попросят убрать и нужно вернуть закомменченое скачивание файла выше.
|
|
||||||
var filWebUrl = await DrillingProgramService.get(idWell)
|
|
||||||
window.open(filWebUrl, '_blank')
|
|
||||||
},
|
},
|
||||||
setShowLoader,
|
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) =>{
|
const filesUpdated = (files) =>{
|
||||||
if(!files || files.length === 0){
|
if(!files || files.length === 0){
|
||||||
setTooltip('Нет файлов для формирования программы')
|
setTooltip('Нет файлов для формирования программы')
|
||||||
@ -60,7 +66,7 @@ export default function DrillingProgram({idWell}) {
|
|||||||
type="primary"
|
type="primary"
|
||||||
onClick={downloadProgram}
|
onClick={downloadProgram}
|
||||||
disabled={!downloadButtonEnabled}>
|
disabled={!downloadButtonEnabled}>
|
||||||
Сформировать и просмотреть
|
Сформировать и скачать
|
||||||
</Button>
|
</Button>
|
||||||
</Tooltip>
|
</Tooltip>
|
||||||
<Tooltip title={tooltip}>
|
<Tooltip title={tooltip}>
|
||||||
@ -72,6 +78,14 @@ export default function DrillingProgram({idWell}) {
|
|||||||
Программа бурения {wellLabel}.xlsx
|
Программа бурения {wellLabel}.xlsx
|
||||||
</Button>
|
</Button>
|
||||||
</Tooltip>
|
</Tooltip>
|
||||||
|
<Tooltip title="Перед просмотром программы бурения сначала сформируйте ее.">
|
||||||
|
<Button
|
||||||
|
type="primary"
|
||||||
|
onClick={openProgramPreview}
|
||||||
|
disabled={!downloadButtonEnabled}>
|
||||||
|
Просмотреть программу бурения
|
||||||
|
</Button>
|
||||||
|
</Tooltip>
|
||||||
</Flex>
|
</Flex>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@ -21,4 +21,20 @@ export class DrillingProgramService {
|
|||||||
return result.body;
|
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