forked from ddrilling/asb_cloud_front
Добавлена кнопка скачивания "Выгрузка расширенной автоформируемой РТК"
This commit is contained in:
parent
923d469a86
commit
d36cd1acbd
@ -1,6 +1,8 @@
|
||||
import { useState, useEffect, memo, useMemo, useCallback } from 'react'
|
||||
import { useState, useEffect, memo, useMemo, useCallback, FC } from 'react'
|
||||
import { Button, Tooltip } from 'antd'
|
||||
import { FileOutlined } from '@ant-design/icons'
|
||||
|
||||
import { useWell } from '@asb/context'
|
||||
import { useWell, useTopRightBlock } from '@asb/context'
|
||||
import {
|
||||
EditableTable,
|
||||
makeGroupColumn,
|
||||
@ -11,10 +13,31 @@ import {
|
||||
makeSelectColumn,
|
||||
} from '@components/Table'
|
||||
import LoaderPortal from '@components/LoaderPortal'
|
||||
import { invokeWebApiWrapperAsync } from '@components/factory'
|
||||
import { invokeWebApiWrapperAsync, download } from '@components/factory'
|
||||
import { ProcessMapService, WellOperationService } from '@api'
|
||||
import { arrayOrDefault } from '@utils'
|
||||
|
||||
|
||||
const ImportExportBar = memo(({ well: givenWell, disabled }) => {
|
||||
const style = { margin: 4 }
|
||||
|
||||
const [wellContext] = useWell()
|
||||
const well = useMemo(() => givenWell ?? wellContext, [givenWell, wellContext])
|
||||
|
||||
const downloadExport = useCallback(
|
||||
async () => await download(`/api/ProcessMap/getReportFile/${well.id}`),
|
||||
[well.id]
|
||||
)
|
||||
|
||||
return (
|
||||
<div>
|
||||
<Tooltip title={'Выгрузка расширенной автоформируемой РТК'}>
|
||||
<Button disabled={disabled} icon={<FileOutlined />} style={style} onClick={downloadExport} />
|
||||
</Tooltip>
|
||||
</div>
|
||||
)
|
||||
})
|
||||
|
||||
const numericRender = makeNumericRender(2)
|
||||
|
||||
export const getColumns = async (idWell) => {
|
||||
@ -25,7 +48,7 @@ export const getColumns = async (idWell) => {
|
||||
}))
|
||||
|
||||
return [
|
||||
makeSelectColumn('Конструкция секции','idWellSectionType', sectionTypes, null, {
|
||||
makeSelectColumn('Конструкция секции', 'idWellSectionType', sectionTypes, null, {
|
||||
width: 160,
|
||||
sorter: makeNumericSorter('idWellSectionType'),
|
||||
}),
|
||||
@ -48,16 +71,21 @@ export const DrillProcessFlow = memo(() => {
|
||||
const [columns, setColumns] = useState([])
|
||||
|
||||
const [well] = useWell()
|
||||
const setTopRightBlock = useTopRightBlock()
|
||||
|
||||
const updateFlows = useCallback(() => invokeWebApiWrapperAsync(
|
||||
async () => {
|
||||
const flows = await ProcessMapService.getByIdWell(well.id)
|
||||
setFlows(arrayOrDefault(flows))
|
||||
},
|
||||
setShowLoader,
|
||||
`Не удалось загрузить режимно-технологическую карту`,
|
||||
{ actionName: 'Получение режимно-технологической карты', well },
|
||||
), [well])
|
||||
const updateFlows = useCallback(
|
||||
() =>
|
||||
invokeWebApiWrapperAsync(
|
||||
async () => {
|
||||
const flows = await ProcessMapService.getByIdWell(well.id)
|
||||
setFlows(arrayOrDefault(flows))
|
||||
},
|
||||
setShowLoader,
|
||||
`Не удалось загрузить режимно-технологическую карту`,
|
||||
{ actionName: 'Получение режимно-технологической карты', well }
|
||||
),
|
||||
[well]
|
||||
)
|
||||
|
||||
useEffect(() => {
|
||||
invokeWebApiWrapperAsync(
|
||||
@ -67,7 +95,7 @@ export const DrillProcessFlow = memo(() => {
|
||||
},
|
||||
setShowLoader,
|
||||
`Не удалось загрузить список конструкций секций`,
|
||||
{ actionName: 'Получение списка конструкций секций', well },
|
||||
{ actionName: 'Получение списка конструкций секций', well }
|
||||
)
|
||||
}, [well])
|
||||
|
||||
@ -75,6 +103,8 @@ export const DrillProcessFlow = memo(() => {
|
||||
updateFlows()
|
||||
}, [well])
|
||||
|
||||
useEffect(() => setTopRightBlock((well) => <ImportExportBar well={well} />), [setTopRightBlock])
|
||||
|
||||
const tableHandlers = useMemo(() => {
|
||||
const handlerProps = {
|
||||
service: ProcessMapService,
|
||||
@ -88,7 +118,12 @@ export const DrillProcessFlow = memo(() => {
|
||||
return {
|
||||
add: { ...handlerProps, action: 'insert', actionName: 'Добавление месторождения', recordParser },
|
||||
edit: { ...handlerProps, action: 'update', actionName: 'Редактирование месторождения', recordParser },
|
||||
delete: { ...handlerProps, action: 'delete', actionName: 'Удаление месторождения', permission: 'DrillFlowChart.delete' },
|
||||
delete: {
|
||||
...handlerProps,
|
||||
action: 'delete',
|
||||
actionName: 'Удаление месторождения',
|
||||
permission: 'DrillFlowChart.delete',
|
||||
},
|
||||
}
|
||||
}, [updateFlows, well.id])
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user