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 {
|
||||
EditableTable,
|
||||
makeGroupColumn,
|
||||
@ -11,10 +13,30 @@ 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 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)
|
||||
|
||||
export const getColumns = async (idWell) => {
|
||||
@ -25,7 +47,7 @@ export const getColumns = async (idWell) => {
|
||||
}))
|
||||
|
||||
return [
|
||||
makeSelectColumn('Конструкция секции','idWellSectionType', sectionTypes, null, {
|
||||
makeSelectColumn('Конструкция секции', 'idWellSectionType', sectionTypes, null, {
|
||||
width: 160,
|
||||
sorter: makeNumericSorter('idWellSectionType'),
|
||||
}),
|
||||
@ -48,6 +70,7 @@ export const DrillProcessFlow = memo(() => {
|
||||
const [columns, setColumns] = useState([])
|
||||
|
||||
const [well] = useWell()
|
||||
const setTopRightBlock = useTopRightBlock()
|
||||
|
||||
const updateFlows = useCallback(() => invokeWebApiWrapperAsync(
|
||||
async () => {
|
||||
@ -75,6 +98,10 @@ export const DrillProcessFlow = memo(() => {
|
||||
updateFlows()
|
||||
}, [well])
|
||||
|
||||
useEffect(() => setTopRightBlock((well) => (
|
||||
<ImportExportBar well={well} />
|
||||
)), [setTopRightBlock])
|
||||
|
||||
const tableHandlers = useMemo(() => {
|
||||
const handlerProps = {
|
||||
service: ProcessMapService,
|
||||
@ -88,7 +115,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