diff --git a/src/pages/Documents/DrillingProgram.jsx b/src/pages/Documents/DrillingProgram.jsx
index 23f8fe9..a06240d 100644
--- a/src/pages/Documents/DrillingProgram.jsx
+++ b/src/pages/Documents/DrillingProgram.jsx
@@ -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}>
- Сформировать и просмотреть
+ Сформировать и скачать
@@ -72,6 +78,14 @@ export default function DrillingProgram({idWell}) {
Программа бурения {wellLabel}.xlsx
+
+
+
diff --git a/src/services/api/services/DrillingProgramService.ts b/src/services/api/services/DrillingProgramService.ts
index 284346c..22d5db4 100644
--- a/src/services/api/services/DrillingProgramService.ts
+++ b/src/services/api/services/DrillingProgramService.ts
@@ -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 {
+ const result = await __request({
+ method: 'GET',
+ path: `/api/well/${idWell}/drillingProgram/webUrl`,
+ });
+ return result.body;
+ }
+
}
\ No newline at end of file