forked from ddrilling/asb_cloud_front
Merge pull request 'Добавлена кнопка скачивания "Выгрузка расширенной автоформируемой РТК"' (#1) from feature/add-download-button into dev
Reviewed-on: http://46.146.209.148:8080/DDrilling/asb_cloud_front/pulls/1
This commit is contained in:
commit
878ab921c1
@ -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 {
|
import {
|
||||||
EditableTable,
|
EditableTable,
|
||||||
makeGroupColumn,
|
makeGroupColumn,
|
||||||
@ -11,10 +13,30 @@ import {
|
|||||||
makeSelectColumn,
|
makeSelectColumn,
|
||||||
} from '@components/Table'
|
} from '@components/Table'
|
||||||
import LoaderPortal from '@components/LoaderPortal'
|
import LoaderPortal from '@components/LoaderPortal'
|
||||||
import { invokeWebApiWrapperAsync } from '@components/factory'
|
import { invokeWebApiWrapperAsync, download } from '@components/factory'
|
||||||
import { ProcessMapService, WellOperationService } from '@api'
|
import { ProcessMapService, WellOperationService } from '@api'
|
||||||
import { arrayOrDefault } from '@utils'
|
import { arrayOrDefault } from '@utils'
|
||||||
|
|
||||||
|
const style = { margin: 4 }
|
||||||
|
|
||||||
|
const ImportExportBar = memo(({ well: givenWell, disabled }) => {
|
||||||
|
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)
|
const numericRender = makeNumericRender(2)
|
||||||
|
|
||||||
export const getColumns = async (idWell) => {
|
export const getColumns = async (idWell) => {
|
||||||
@ -48,6 +70,7 @@ export const DrillProcessFlow = memo(() => {
|
|||||||
const [columns, setColumns] = useState([])
|
const [columns, setColumns] = useState([])
|
||||||
|
|
||||||
const [well] = useWell()
|
const [well] = useWell()
|
||||||
|
const setTopRightBlock = useTopRightBlock()
|
||||||
|
|
||||||
const updateFlows = useCallback(() => invokeWebApiWrapperAsync(
|
const updateFlows = useCallback(() => invokeWebApiWrapperAsync(
|
||||||
async () => {
|
async () => {
|
||||||
@ -75,6 +98,10 @@ export const DrillProcessFlow = memo(() => {
|
|||||||
updateFlows()
|
updateFlows()
|
||||||
}, [well])
|
}, [well])
|
||||||
|
|
||||||
|
useEffect(() => setTopRightBlock((well) => (
|
||||||
|
<ImportExportBar well={well} />
|
||||||
|
)), [setTopRightBlock])
|
||||||
|
|
||||||
const tableHandlers = useMemo(() => {
|
const tableHandlers = useMemo(() => {
|
||||||
const handlerProps = {
|
const handlerProps = {
|
||||||
service: ProcessMapService,
|
service: ProcessMapService,
|
||||||
@ -88,7 +115,12 @@ export const DrillProcessFlow = memo(() => {
|
|||||||
return {
|
return {
|
||||||
add: { ...handlerProps, action: 'insert', actionName: 'Добавление месторождения', recordParser },
|
add: { ...handlerProps, action: 'insert', actionName: 'Добавление месторождения', recordParser },
|
||||||
edit: { ...handlerProps, action: 'update', 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])
|
}, [updateFlows, well.id])
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user