forked from ddrilling/asb_cloud_front
На странице скачивания файла исправлено название файла и переход на предыдущую страницу
This commit is contained in:
parent
85b17ccf66
commit
1a4189901a
@ -1,4 +1,4 @@
|
||||
import { Link, useNavigate, useParams } from 'react-router-dom'
|
||||
import { Link, useLocation, useNavigate, useParams } from 'react-router-dom'
|
||||
import { memo, useCallback, useEffect, useState } from 'react'
|
||||
import { InfoCircleFilled, CloseCircleOutlined } from '@ant-design/icons'
|
||||
import { Button, Result, Typography } from 'antd'
|
||||
@ -20,6 +20,8 @@ const FileDownload = memo(function FileDownload() {
|
||||
const [isError, setIsError] = useState(false)
|
||||
|
||||
const navigate = useNavigate()
|
||||
const location = useLocation()
|
||||
const isFirstOpenApp = location.key === 'default'
|
||||
|
||||
useEffect(() => {
|
||||
invokeWebApiWrapperAsync(
|
||||
@ -33,10 +35,8 @@ const FileDownload = memo(function FileDownload() {
|
||||
useEffect(() => {
|
||||
invokeWebApiWrapperAsync(
|
||||
async () => {
|
||||
const files = await FileService.getFilesInfo(idWell)
|
||||
// TODO Получается только одна категория файлов.
|
||||
// Поменять при появлении метода получения инфы о конкретном файле
|
||||
setFile(files.items.find((file) => file.id === idFile) ?? { id: idFile, idWell, name: `File_${idWell}_${idFile}` })
|
||||
const file = await FileService.getFileInfo(idFile)
|
||||
setFile(file)
|
||||
},
|
||||
null,
|
||||
() => {
|
||||
@ -48,7 +48,7 @@ const FileDownload = memo(function FileDownload() {
|
||||
}, [idWell, idFile])
|
||||
|
||||
const download = useCallback(async () => {
|
||||
if (!await downloadFile(file))
|
||||
if (!file || !await downloadFile(file))
|
||||
setIsError(true)
|
||||
}, [file])
|
||||
|
||||
@ -60,13 +60,16 @@ const FileDownload = memo(function FileDownload() {
|
||||
<>
|
||||
Вы перешли к странице загрузки файла!
|
||||
<br />
|
||||
Файл "{file.name ?? ('№' + idFile)}", скважина "{well.caption ?? ('№' + idWell)}".
|
||||
Файл "{file?.name ?? ('№' + idFile)}", скважина "{well.caption ?? ('№' + idWell)}".
|
||||
</>
|
||||
)}
|
||||
// subTitle={}
|
||||
extra={(
|
||||
<>
|
||||
<Button type={'ghost'} onClick={() => navigate('/')}>Вернуться на главную</Button>
|
||||
{isFirstOpenApp
|
||||
? <Button type={'ghost'} onClick={() => navigate('/')}>Вернуться на главную</Button>
|
||||
: <Button type={'ghost'} onClick={() => navigate(-1)}>Вернуться на страницу документов</Button>
|
||||
}
|
||||
<Button type={'primary'} onClick={download}>Загрузить</Button>
|
||||
</>
|
||||
)}
|
||||
|
Loading…
Reference in New Issue
Block a user