На странице скачивания файла исправлено название файла и переход на предыдущую страницу

This commit is contained in:
ts_salikhov 2022-10-17 16:59:45 +04:00
parent 85b17ccf66
commit 1a4189901a

View File

@ -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>
</>
)}