Добавлено сообщение об ошибке при статусе ответа 403

This commit is contained in:
Александр Сироткин 2022-02-07 17:44:46 +05:00
parent 98da6eb847
commit 9aa01454eb
42 changed files with 158 additions and 91 deletions

View File

@ -26,7 +26,8 @@ export const AnalysisOperationTime = () => {
setOperationTimeData(summary) setOperationTimeData(summary)
}, },
setLoader, setLoader,
`Не удалось получить данные для Анализа Операция-Время по скважине '${id}' за период с ${begin} по ${end}` `Не удалось получить данные для анализа Операция-Время по скважине '${id}' за период с ${begin} по ${end}`,
'Получение данных для анализа Операция-Время по скважине'
), [id, range]) ), [id, range])
return ( return (

View File

@ -43,7 +43,8 @@ export const ChangePassword = memo<ChangePasswordProps>(({ user, visible, onCanc
onOk?.() onOk?.()
}, },
setShowLoader, setShowLoader,
`Не удалось сменить пароль пользователя ${getUserLogin()}` `Не удалось сменить пароль пользователя ${getUserLogin()}`,
'Смена пароля пользователя'
) )
return ( return (

View File

@ -15,7 +15,7 @@ const actions = [
[['delete'], (data) => data.id && [data.id]], [['delete'], (data) => data.id && [data.id]],
] ]
export const makeActionHandler = (action, { idWell, service, setLoader, errorMsg, onComplete }, recordParser) => service && action && ( export const makeActionHandler = (action, { idWell, service, setLoader, errorMsg, onComplete }, recordParser, actionName) => service && action && (
(record) => invokeWebApiWrapperAsync( (record) => invokeWebApiWrapperAsync(
async () => { async () => {
const addIdWell = (...params) => idWell ? [idWell, ...params] : params const addIdWell = (...params) => idWell ? [idWell, ...params] : params
@ -29,7 +29,8 @@ export const makeActionHandler = (action, { idWell, service, setLoader, errorMsg
await onComplete?.() await onComplete?.()
}, },
setLoader, setLoader,
errorMsg errorMsg,
actionName
) )
) )

View File

@ -91,7 +91,8 @@ export const WellTreeSelector = () => {
setWellsTree(wellsTree) setWellsTree(wellsTree)
}, },
setShowLoader, setShowLoader,
`Не удалось загрузить список скважин` `Не удалось загрузить список скважин`,
'Получить список скважин'
) )
}, []) }, [])

View File

@ -1,7 +1,7 @@
import { notification } from 'antd' import { notification } from 'antd'
import { Dispatch, ReactNode, SetStateAction } from 'react' import { Dispatch, ReactNode, SetStateAction } from 'react'
import { FileInfoDto } from '@api' import { ApiError, FileInfoDto } from '@api'
import { getUserToken } from '@utils/storage' import { getUserToken } from '@utils/storage'
const notificationTypeDictionary = new Map([ const notificationTypeDictionary = new Map([
@ -36,7 +36,8 @@ type asyncFunction = (...args: any) => Promise<any|void>
export const invokeWebApiWrapperAsync = async ( export const invokeWebApiWrapperAsync = async (
funcAsync: asyncFunction, funcAsync: asyncFunction,
setShowLoader?: Dispatch<SetStateAction<boolean>>, setShowLoader?: Dispatch<SetStateAction<boolean>>,
errorNotifyText?: (string | ((ex: unknown) => string)) errorNotifyText?: (string | ((ex: unknown) => string)),
actionName?: string,
) => { ) => {
setShowLoader?.(true) setShowLoader?.(true)
try{ try{
@ -44,7 +45,12 @@ export const invokeWebApiWrapperAsync = async (
} catch (ex) { } catch (ex) {
if(process.env.NODE_ENV === 'development') if(process.env.NODE_ENV === 'development')
console.error(ex) console.error(ex)
if(errorNotifyText) { if (ex instanceof ApiError && ex.status === 403) {
if (actionName)
notify(`Недостаточно прав для выполнения действия "${actionName}"`, 'error')
else
notify('Недостаточно прав для выполнения действия', 'error')
} else if(errorNotifyText) {
if (typeof errorNotifyText === 'function') if (typeof errorNotifyText === 'function')
notify(errorNotifyText(ex), 'error') notify(errorNotifyText(ex), 'error')
else notify(errorNotifyText, 'error') else notify(errorNotifyText, 'error')

View File

@ -44,7 +44,8 @@ export const ClusterController = () => {
setClusters(arrayOrDefault(clusters)) setClusters(arrayOrDefault(clusters))
}, },
setShowLoader, setShowLoader,
`Не удалось загрузить список кустов` `Не удалось загрузить список кустов`,
'Получение списка кустов'
) )
useEffect(() => invokeWebApiWrapperAsync( useEffect(() => invokeWebApiWrapperAsync(
@ -54,7 +55,8 @@ export const ClusterController = () => {
setDeposits(deposits) setDeposits(deposits)
}, },
setShowLoader, setShowLoader,
`Не удалось загрузить список месторождений` `Не удалось загрузить список месторождений`,
'Получение списка месторождений'
), []) ), [])
useEffect(updateTable, []) useEffect(updateTable, [])
@ -74,9 +76,9 @@ export const ClusterController = () => {
dataSource={clusters} dataSource={clusters}
columns={clusterColumns} columns={clusterColumns}
pagination={defaultPagination} pagination={defaultPagination}
onRowAdd={hasPermission('AdminCluster.edit') && makeActionHandler('insert', handlerProps)} onRowAdd={hasPermission('AdminCluster.edit') && makeActionHandler('insert', handlerProps, null, 'Добавление куста')}
onRowEdit={hasPermission('AdminCluster.edit') && makeActionHandler('put', handlerProps)} onRowEdit={hasPermission('AdminCluster.edit') && makeActionHandler('put', handlerProps, null, 'Редактирование куста')}
onRowDelete={hasPermission('AdminCluster.delete') && makeActionHandler('delete', handlerProps)} onRowDelete={hasPermission('AdminCluster.delete') && makeActionHandler('delete', handlerProps, null, 'Удаление куста')}
/> />
</LoaderPortal> </LoaderPortal>
) )

View File

@ -49,7 +49,8 @@ export const CompanyController = () => {
await updateTable() await updateTable()
}, },
setShowLoader, setShowLoader,
`Не удалось загрузить список типов компаний` `Не удалось загрузить список типов компаний`,
'Получение списка типов команд'
), []) ), [])
const handlerProps = { const handlerProps = {
@ -59,7 +60,8 @@ export const CompanyController = () => {
onComplete: () => invokeWebApiWrapperAsync( onComplete: () => invokeWebApiWrapperAsync(
updateTable, updateTable,
setShowLoader, setShowLoader,
`Не удалось обновить список компаний` `Не удалось обновить список компаний`,
'Получение списка компаний'
), ),
} }
@ -71,9 +73,9 @@ export const CompanyController = () => {
columns={columns} columns={columns}
dataSource={companies} dataSource={companies}
pagination={defaultPagination} pagination={defaultPagination}
onRowAdd={hasPermission('AdminCompany.edit') && makeActionHandler('insert', handlerProps)} onRowAdd={hasPermission('AdminCompany.edit') && makeActionHandler('insert', handlerProps, null, 'Добавлениее компаний')}
onRowEdit={hasPermission('AdminCompany.edit') && makeActionHandler('put', handlerProps)} onRowEdit={hasPermission('AdminCompany.edit') && makeActionHandler('put', handlerProps, null, 'Редактирование команий')}
onRowDelete={hasPermission('AdminCompany.delete') && makeActionHandler('delete', handlerProps)} onRowDelete={hasPermission('AdminCompany.delete') && makeActionHandler('delete', handlerProps, null, 'Удаление компаний')}
/> />
</LoaderPortal> </LoaderPortal>
) )

View File

@ -33,7 +33,8 @@ export const CompanyTypeController = () => {
setCompanyTypes(arrayOrDefault(companyTypes)) setCompanyTypes(arrayOrDefault(companyTypes))
}, },
setShowLoader, setShowLoader,
`Не удалось загрузить список типов компаний` `Не удалось загрузить список типов компаний`,
'Получение списка типов компаний'
) )
useEffect(updateTable, []) useEffect(updateTable, [])
@ -53,9 +54,9 @@ export const CompanyTypeController = () => {
columns={columns} columns={columns}
dataSource={companyTypes} dataSource={companyTypes}
pagination={defaultPagination} pagination={defaultPagination}
onRowAdd={hasPermission('AdminCompanyType.edit') && makeActionHandler('insert', handlerProps)} onRowAdd={hasPermission('AdminCompanyType.edit') && makeActionHandler('insert', handlerProps, null, 'Добавление типа компаний')}
onRowEdit={hasPermission('AdminCompanyType.edit') && makeActionHandler('put', handlerProps)} onRowEdit={hasPermission('AdminCompanyType.edit') && makeActionHandler('put', handlerProps, null, 'Редактирование типа компаний')}
onRowDelete={hasPermission('AdminCompanyType.delete') && makeActionHandler('delete', handlerProps)} onRowDelete={hasPermission('AdminCompanyType.delete') && makeActionHandler('delete', handlerProps, null, 'Удаление типа компаний')}
/> />
</LoaderPortal> </LoaderPortal>
) )

View File

@ -26,7 +26,8 @@ export const DepositController = () => {
setDeposits(arrayOrDefault(deposits)) setDeposits(arrayOrDefault(deposits))
}, },
setShowLoader, setShowLoader,
`Не удалось загрузить список месторождении` `Не удалось загрузить список месторождении`,
'Получение списка месторождений'
) )
useEffect(updateTable, []) useEffect(updateTable, [])
@ -46,9 +47,9 @@ export const DepositController = () => {
dataSource={deposits} dataSource={deposits}
columns={depositColumns} columns={depositColumns}
pagination={defaultPagination} pagination={defaultPagination}
onRowAdd={hasPermission('AdminDeposit.edit') && makeActionHandler('insert', handlerProps)} onRowAdd={hasPermission('AdminDeposit.edit') && makeActionHandler('insert', handlerProps, null, 'Добавление месторождения')}
onRowEdit={hasPermission('AdminDeposit.edit') && makeActionHandler('put', handlerProps)} onRowEdit={hasPermission('AdminDeposit.edit') && makeActionHandler('put', handlerProps, null, 'Редактирование месторождения')}
onRowDelete={hasPermission('AdminDeposit.delete') && makeActionHandler('delete', handlerProps)} onRowDelete={hasPermission('AdminDeposit.delete') && makeActionHandler('delete', handlerProps, null, 'Удаление месторождения')}
/> />
</LoaderPortal> </LoaderPortal>
) )

View File

@ -36,7 +36,8 @@ export const PermissionController = () => {
setPermissions(arrayOrDefault(permission)) setPermissions(arrayOrDefault(permission))
}, },
setShowLoader, setShowLoader,
`Не удалось загрузить список прав` `Не удалось загрузить список прав`,
'Получение списка прав'
) )
useEffect(() => updateTable(), []) useEffect(() => updateTable(), [])
@ -56,9 +57,9 @@ export const PermissionController = () => {
columns={columns} columns={columns}
dataSource={permissions} dataSource={permissions}
pagination={{ showSizeChanger: true }} pagination={{ showSizeChanger: true }}
onRowAdd={hasPermission('AdminPermission.edit') && makeActionHandler('insert', handlerProps)} onRowAdd={hasPermission('AdminPermission.edit') && makeActionHandler('insert', handlerProps, null, 'Добавление права')}
onRowEdit={hasPermission('AdminPermission.edit') && makeActionHandler('put', handlerProps)} onRowEdit={hasPermission('AdminPermission.edit') && makeActionHandler('put', handlerProps, null, 'Редактирование права')}
onRowDelete={hasPermission('AdminPermission.delete') && makeActionHandler('delete', handlerProps)} onRowDelete={hasPermission('AdminPermission.delete') && makeActionHandler('delete', handlerProps, null, 'Удаление права')}
/> />
</LoaderPortal> </LoaderPortal>
) )

View File

@ -42,7 +42,8 @@ export const RoleController = memo(() => {
await loadRoles() await loadRoles()
}, },
setShowLoader, setShowLoader,
`Не удалось загрузить список прав` `Не удалось загрузить список ролей`,
'Получение списка ролей'
), []) ), [])
const handlerProps = { const handlerProps = {
@ -52,7 +53,8 @@ export const RoleController = memo(() => {
onComplete: async () => invokeWebApiWrapperAsync( onComplete: async () => invokeWebApiWrapperAsync(
loadRoles, loadRoles,
setShowLoader, setShowLoader,
`Не удалось загрузить список прав` `Не удалось загрузить список ролей`,
'Получение списка ролей'
) )
} }
@ -63,9 +65,9 @@ export const RoleController = memo(() => {
size={'small'} size={'small'}
columns={columns} columns={columns}
dataSource={roles} dataSource={roles}
onRowAdd={hasPermission('AdminUserRole.edit') && makeActionHandler('insert', handlerProps)} onRowAdd={hasPermission('AdminUserRole.edit') && makeActionHandler('insert', handlerProps, null, 'Добавление роли')}
onRowEdit={hasPermission('AdminUserRole.edit') && makeActionHandler('put', handlerProps)} onRowEdit={hasPermission('AdminUserRole.edit') && makeActionHandler('put', handlerProps, null, 'Редактирование роли')}
onRowDelete={hasPermission('AdminUserRole.delete') && makeActionHandler('delete', handlerProps)} onRowDelete={hasPermission('AdminUserRole.delete') && makeActionHandler('delete', handlerProps, null, 'Удаление роли')}
/> />
</LoaderPortal> </LoaderPortal>
) )

View File

@ -44,7 +44,8 @@ export const TelemetryController = () => {
}))) })))
}, },
setIsLoading, setIsLoading,
`Не удалось загрузить список телеметрии скважин` `Не удалось загрузить список телеметрии скважин`,
'Полученик списка телеметрии скважин'
), []) ), [])
return ( return (

View File

@ -45,7 +45,8 @@ export const UserController = () => {
setUsers(arrayOrDefault(users)) setUsers(arrayOrDefault(users))
}, },
setShowLoader, setShowLoader,
`Не удалось загрузить список пользователей` `Не удалось загрузить список пользователей`,
'Получение списка пользователей'
) )
useEffect(() => invokeWebApiWrapperAsync( useEffect(() => invokeWebApiWrapperAsync(
@ -136,7 +137,8 @@ export const UserController = () => {
]) ])
}, },
setShowLoader, setShowLoader,
`Не удалось загрузить список компаний` `Не удалось загрузить список компаний`,
'Получение списка компаний'
), []) ), [])
const handlerProps = { const handlerProps = {
@ -154,9 +156,9 @@ export const UserController = () => {
bordered bordered
columns={columns} columns={columns}
dataSource={users} dataSource={users}
onRowAdd={hasPermission('AdminUser.edit') && makeActionHandler('insert', handlerProps)} onRowAdd={hasPermission('AdminUser.edit') && makeActionHandler('insert', handlerProps, null, 'Добавление пользователя')}
onRowEdit={hasPermission('AdminUser.edit') && makeActionHandler('put', handlerProps)} onRowEdit={hasPermission('AdminUser.edit') && makeActionHandler('put', handlerProps, null, 'Редактирование пользователя')}
onRowDelete={hasPermission('AdminUser.delete') && makeActionHandler('delete', handlerProps)} onRowDelete={hasPermission('AdminUser.delete') && makeActionHandler('delete', handlerProps, null, 'Удаление пользователя')}
additionalButtons={additionalButtons} additionalButtons={additionalButtons}
buttonsWidth={120} buttonsWidth={120}
pagination={defaultPagination} pagination={defaultPagination}

View File

@ -28,7 +28,8 @@ export const VisitLog = memo(() => {
setLogData(logData) setLogData(logData)
}, },
setIsLoading, setIsLoading,
`Не удалось загрузить список последних посещений пользователей` `Не удалось загрузить список последних посещений пользователей`,
'Получение списка последних посещений'
), []) ), [])

View File

@ -45,7 +45,8 @@ export const WellController = () => {
setWells(arrayOrDefault(wells)) setWells(arrayOrDefault(wells))
}, },
setShowLoader, setShowLoader,
`Не удалось загрузить список скважин` `Не удалось загрузить список скважин`,
'Получение списка скважин'
) )
const duplicateWell = (well) => { const duplicateWell = (well) => {
@ -102,7 +103,8 @@ export const WellController = () => {
await updateTable() await updateTable()
}, },
setShowLoader, setShowLoader,
`Не удалось загрузить список кустов` `Не удалось загрузить список кустов`,
'Получение списка кустов'
), []) ), [])
const recordParser = (record) => ({ const recordParser = (record) => ({
@ -125,9 +127,9 @@ export const WellController = () => {
columns={columns} columns={columns}
dataSource={wells} dataSource={wells}
pagination={defaultPagination} pagination={defaultPagination}
onRowAdd={hasPermission('AdminWell.edit') && makeActionHandler('insert', handlerProps, recordParser)} onRowAdd={hasPermission('AdminWell.edit') && makeActionHandler('insert', handlerProps, recordParser, 'Добавление скважины')}
onRowEdit={hasPermission('AdminWell.edit') && makeActionHandler('put', handlerProps, recordParser)} onRowEdit={hasPermission('AdminWell.edit') && makeActionHandler('put', handlerProps, recordParser, 'Редактирование скважины')}
onRowDelete={hasPermission('AdminWell.delete') && makeActionHandler('delete', handlerProps)} onRowDelete={hasPermission('AdminWell.delete') && makeActionHandler('delete', handlerProps, null, 'Удаление скважины')}
//additionalButtons={addititonalButtons} //additionalButtons={addititonalButtons}
buttonsWidth={95} buttonsWidth={95}
/> />

View File

@ -115,7 +115,8 @@ export const Archive = memo(({ idWell }) => {
setStartDate(new Date(Math.max(dates.from, +dates.to - chartInterval))) setStartDate(new Date(Math.max(dates.from, +dates.to - chartInterval)))
}, },
setShowLoader, setShowLoader,
`Не удалось загрузить диапозон телеметрии для скважины "${idWell}"` `Не удалось загрузить диапозон телеметрии для скважины "${idWell}"`,
'Загрузка диапозона телеметрии'
), []) ), [])
useEffect(() => { useEffect(() => {
@ -146,7 +147,8 @@ export const Archive = memo(({ idWell }) => {
}, },
setShowLoader, setShowLoader,
`Не удалось загрузить данные по скважине "${idWell}" c ${startDate.toISOString()} по ${new Date(+startDate + chartInterval).toISOString()}` `Не удалось загрузить данные по скважине "${idWell}" c ${startDate.toISOString()} по ${new Date(+startDate + chartInterval).toISOString()}`,
'Загрузка телеметрий в диапозоне'
) )
}, [idWell, chartInterval, loaded, startDate]) }, [idWell, chartInterval, loaded, startDate])

View File

@ -54,6 +54,7 @@ export const ClusterWells = ({ statsWells }) => {
}, },
setShowLoader, setShowLoader,
`Не удалось загрузить операции по скважине "${selectedWellId}"`, `Не удалось загрузить операции по скважине "${selectedWellId}"`,
'Получение операций по скважине'
) )
}, [selectedWellId, isOpsModalVisible]) }, [selectedWellId, isOpsModalVisible])

View File

@ -19,7 +19,8 @@ export const Cluster = () => {
setData(arrayOrDefault(clusterData?.statsWells)) setData(arrayOrDefault(clusterData?.statsWells))
}, },
setShowLoader, setShowLoader,
`Не удалось загрузить данные по кусту "${idCluster}"` `Не удалось загрузить данные по кусту "${idCluster}"`,
'Получение данных по кусту'
), [idCluster]) ), [idCluster])
return ( return (

View File

@ -48,7 +48,8 @@ export const Deposit = memo(() => {
setViewParams(calcViewParams(data)) setViewParams(calcViewParams(data))
}, },
setShowLoader, setShowLoader,
`Не удалось загрузить список кустов` `Не удалось загрузить список кустов`,
'Получить список кустов'
), []) ), [])
return ( return (

View File

@ -98,7 +98,8 @@ export const DocumentsTemplate = ({ idCategory, idWell, accept, headerChild, cus
setPagination(newPagination) setPagination(newPagination)
}, },
setShowLoader, setShowLoader,
`Не удалось загрузить файлы по скважине "${idWell}"` `Не удалось загрузить файлы по скважине "${idWell}"`,
'Загрузка файла по скважине'
) )
} }

View File

@ -27,13 +27,15 @@ export const DrillingProgram = ({ idWell }) => {
setWellLabel(well.caption ?? `${idWell}`) setWellLabel(well.caption ?? `${idWell}`)
}, },
setShowLoader, setShowLoader,
`Не удалось загрузить название скважины "${idWell}"` `Не удалось загрузить название скважины "${idWell}"`,
'Получить название скважины'
), [idWell]) ), [idWell])
const downloadProgram = () => invokeWebApiWrapperAsync( const downloadProgram = () => invokeWebApiWrapperAsync(
async () => await download(`/api/well/${idWell}/drillingProgram`), async () => await download(`/api/well/${idWell}/drillingProgram`),
setShowLoader, setShowLoader,
`Не удалось загрузить программу бурения для скважины "${idWell}"` `Не удалось загрузить программу бурения для скважины "${idWell}"`,
'Получить программу бурения'
) )
const openProgramPreview = () => invokeWebApiWrapperAsync( const openProgramPreview = () => invokeWebApiWrapperAsync(
@ -45,7 +47,8 @@ export const DrillingProgram = ({ idWell }) => {
throw new Error('Сервер вернул плохую ссылку') throw new Error('Сервер вернул плохую ссылку')
}, },
setShowLoader, setShowLoader,
'Не удалось создать быстрый просмотр программы' 'Не удалось создать быстрый просмотр программы',
'Создать быстрый просмотр программы'
) )
const filesUpdated = (files) => { const filesUpdated = (files) => {

View File

@ -26,7 +26,8 @@ export const Login = memo(() => {
history.push('well') history.push('well')
}, },
setShowLoader, setShowLoader,
(ex) => ex?.message ?? 'Ошибка входа' (ex) => ex?.message ?? 'Ошибка входа',
'Вход в систему'
) )
return ( return (

View File

@ -60,7 +60,8 @@ export const MeasureTable = memo(({idWell, group, updateMeasuresFunc, additional
updateMeasuresFunc() updateMeasuresFunc()
}, },
setShowLoader, setShowLoader,
`Не удалось удалить запись ${displayedValues.id} для скважины "${idWell}"` `Не удалось удалить запись ${displayedValues.id} для скважины "${idWell}"`,
'Удаление записи для скважины'
) )
const isDataDefault = () => !!displayedValues?.isDefaultData const isDataDefault = () => !!displayedValues?.isDefaultData
@ -93,7 +94,8 @@ export const MeasureTable = memo(({idWell, group, updateMeasuresFunc, additional
updateMeasuresFunc() updateMeasuresFunc()
}, },
setShowLoader, setShowLoader,
`Не удалось добавить/изменить запись для скаважины "${idWell}"` `Не удалось добавить/изменить запись для скаважины "${idWell}"`,
'Добавление/изменение записи по скважине'
) )
return ( return (

View File

@ -64,7 +64,8 @@ export const Measure = memo(({ idWell }) => {
}) })
}, },
setShowLoader, setShowLoader,
`Не удалось загрузить последние данные по скважине ${idWell}` `Не удалось загрузить последние данные по скважине ${idWell}`,
'Получение последних данных телеметрий'
), [idWell, isMeasuresUpdating]) ), [idWell, isMeasuresUpdating])
return ( return (

View File

@ -98,7 +98,8 @@ export const Messages = memo(({ idWell }) => {
}) })
}, },
setShowLoader, setShowLoader,
`Не удалось загрузить сообщения по скважине "${idWell}"` `Не удалось загрузить сообщения по скважине "${idWell}"`,
'Полученик списка сообщений'
), [idWell, page, categories, range, searchString]) ), [idWell, page, categories, range, searchString])
return ( return (

View File

@ -60,7 +60,8 @@ export const Register = memo(() => {
history.push('/login') history.push('/login')
}, },
setShowLoader, setShowLoader,
`Ошибка отправки заявки на регистрацию` `Ошибка отправки заявки на регистрацию`,
'Отправка заявки на регистрацию'
) )
return ( return (

View File

@ -66,7 +66,8 @@ export const Reports = memo(({ idWell }) => {
setReports(reports) setReports(reports)
}, },
setShowLoader, setShowLoader,
`Не удалось загрузить список рапортов по скважине "${idWell}"` `Не удалось загрузить список рапортов по скважине "${idWell}"`,
'Получение списка рапортов'
), [idWell]) ), [idWell])
return ( return (

View File

@ -78,7 +78,8 @@ export const Report = memo(({ idWell }) => {
setShowLoader, setShowLoader,
`Не удалось создать отчет по скважине (${idWell}) c `Не удалось создать отчет по скважине (${idWell}) c
${filterDateRange[0].format(dateTimeFormat)} по ${filterDateRange[0].format(dateTimeFormat)} по
${filterDateRange[1].format(dateTimeFormat)}` ${filterDateRange[1].format(dateTimeFormat)}`,
'Создание отчёта по скважине'
) )
const disabledDate = (current) => !current.isBetween(aviableDateRange[0], aviableDateRange[1], 'seconds', '[]') const disabledDate = (current) => !current.isBetween(aviableDateRange[0], aviableDateRange[1], 'seconds', '[]')
@ -103,7 +104,8 @@ export const Report = memo(({ idWell }) => {
]) ])
}, },
setShowLoader, setShowLoader,
`Не удалось получить диапозон дат рапортов для скважины "${idWell}"` `Не удалось получить диапозон дат рапортов для скважины "${idWell}"`,
'Получение диапозона дат рапортов'
), [idWell]) ), [idWell])
useEffect(() => invokeWebApiWrapperAsync( useEffect(() => invokeWebApiWrapperAsync(
@ -121,7 +123,8 @@ export const Report = memo(({ idWell }) => {
setShowLoader, setShowLoader,
`Не удалось получить предварительные параметры отчета c `Не удалось получить предварительные параметры отчета c
${filterDateRange[0].format(dateTimeFormat)} по ${filterDateRange[0].format(dateTimeFormat)} по
${filterDateRange[1].format(dateTimeFormat)}` ${filterDateRange[1].format(dateTimeFormat)}`,
'Получение размера рапортов'
), [filterDateRange, step, format, idWell]) ), [filterDateRange, step, format, idWell])
return ( return (

View File

@ -23,7 +23,8 @@ export const TelemetryAnalysisDepthToDay = memo(({ idWell }) => {
setBitPositionData(bitPositions) setBitPositionData(bitPositions)
}, },
setLoader, setLoader,
`Не удалось получить данные для анализа Глубина-День по скважине "${idWell}"` `Не удалось получить данные для анализа Глубина-День по скважине "${idWell}"`,
'Получение данных для анализа Глубина-День'
), [idWell]) ), [idWell])
return ( return (

View File

@ -25,7 +25,8 @@ export const TelemetryAnalysisDepthToInterval = memo(({ idWell }) => {
setDepthToIntervalData(arrayOrDefault(depthToIntervalData)) setDepthToIntervalData(arrayOrDefault(depthToIntervalData))
}, },
setLoader, setLoader,
`Не удалось получить данные для анализа скорость проходки-интервал "${idWell}"` `Не удалось получить данные для анализа скорость проходки-интервал "${idWell}"`,
'Получение данных для анализа скорость проходки-интервал'
), [idWell, chartInterval]) ), [idWell, chartInterval])
return ( return (

View File

@ -23,7 +23,8 @@ export const TelemetryAnalysisOperationsSummary = memo(({ idWell }) => {
setAviableDatesRange(datesRange) setAviableDatesRange(datesRange)
}, },
setLoader, setLoader,
`Не удалось загрузить диапозон дат для скважины "${idWell}"` `Не удалось загрузить диапозон дат для скважины "${idWell}"`,
'Получение диапозона дат телеметрии скважины'
), [idWell]) ), [idWell])
useEffect(() => invokeWebApiWrapperAsync( useEffect(() => invokeWebApiWrapperAsync(
@ -34,7 +35,8 @@ export const TelemetryAnalysisOperationsSummary = memo(({ idWell }) => {
setOperationsData(operationsSummaryData) setOperationsData(operationsSummaryData)
}, },
setLoader, setLoader,
`Не удалось получить данные для анализа операций по скважине "${idWell}"` `Не удалось получить данные для анализа операций по скважине "${idWell}"`,
'Получение данных для анализа операций по скважине'
), [idWell, filterDateRange]) ), [idWell, filterDateRange])
return ( return (

View File

@ -27,6 +27,7 @@ export const ActiveMessagesOnline = ({ idWell }) => {
}, },
setLoader, setLoader,
`Не удалось загрузить сообщения по скважине "${idWell}"`, `Не удалось загрузить сообщения по скважине "${idWell}"`,
'Получение списка сообщений'
) )
return Subscribe('hubs/telemetry','ReceiveMessages', `well_${idWell}`, handleReceiveMessages) return Subscribe('hubs/telemetry','ReceiveMessages', `well_${idWell}`, handleReceiveMessages)
}, [idWell]) }, [idWell])

View File

@ -69,7 +69,8 @@ export const SetpointSender = ({ idWell, onClose, visible, setpointNames }) => {
onClose(true) onClose(true)
}, },
setIsLoading, setIsLoading,
`Не удалось отправить уставки по скважине "${idWell}"` `Не удалось отправить уставки по скважине "${idWell}"`,
`Рекомендация новыой уставки`
) )
return ( return (

View File

@ -33,7 +33,8 @@ export const Setpoints = ({ idWell, ...other }) => {
}))) })))
}, },
setIsLoading, setIsLoading,
`Не удалось загрузить список имёт уставок по скважине "${idWell}"` `Не удалось загрузить список имён уставок по скважине "${idWell}"`,
'Получение списка имён уставок'
), [idWell]) ), [idWell])
const showMore = (id) => { const showMore = (id) => {
@ -56,7 +57,8 @@ export const Setpoints = ({ idWell, ...other }) => {
setSetpoints(setpoints) setSetpoints(setpoints)
}, },
setIsLoading, setIsLoading,
`Не удалось загрузить список для скважины "${idWell}"` `Не удалось загрузить список для скважины "${idWell}"`,
'Получение списка скважин'
) )
const onOpenClick = async () => { const onOpenClick = async () => {
@ -79,7 +81,7 @@ export const Setpoints = ({ idWell, ...other }) => {
title={'Рекомендованные уставки'} title={'Рекомендованные уставки'}
visible={isModalVisible} visible={isModalVisible}
onCancel={() => setIsModalVisible(false)} onCancel={() => setIsModalVisible(false)}
footer={hasPermission('Setpoints.edit') && ( footer={(
<Button onClick={() => setIsSenderVisible(true)}> <Button onClick={() => setIsSenderVisible(true)}>
Рекомендовать Рекомендовать
</Button> </Button>

View File

@ -338,6 +338,7 @@ export default function TelemetryView({ idWell }) {
}, },
null, null,
`Не удалось получить данные по скважине "${idWell}"`, `Не удалось получить данные по скважине "${idWell}"`,
'Получение данных по скважине'
) )
return () => { return () => {
unsubscribeSaub() unsubscribeSaub()
@ -353,7 +354,8 @@ export default function TelemetryView({ idWell }) {
setWellData(well ?? {}) setWellData(well ?? {})
}, },
setShowLoader, setShowLoader,
`Не удалось загрузить данные по скважине "${idWell}"` `Не удалось загрузить данные по скважине "${idWell}"`,
'Получение данных по скважине'
), [idWell]) ), [idWell])
const onStatusChanged = (value) => { const onStatusChanged = (value) => {
@ -364,7 +366,8 @@ export default function TelemetryView({ idWell }) {
setWellData(well) setWellData(well)
}, },
setShowLoader, setShowLoader,
`Не удалось задать состояние скважины "${idWell}"` `Не удалось задать состояние скважины "${idWell}"`,
'Задание состояния скважины'
) )
} }

View File

@ -30,7 +30,8 @@ export const DrillProcessFlow = memo(({ idWell }) => {
setFlows(arrayOrDefault(flows)) setFlows(arrayOrDefault(flows))
}, },
setShowLoader, setShowLoader,
'Не удалось загрузить режимно-технологическую карту скважины' 'Не удалось загрузить режимно-технологическую карту скважины',
'Получение режимно-технологической карты скважины'
) )
useEffect(updateFlows, [idWell]) useEffect(updateFlows, [idWell])

View File

@ -123,6 +123,7 @@ export const Tvd = memo(({ idWell, title }) => {
}, },
setIsLoading, setIsLoading,
`Не удалось загрузить операции по скважине "${idWell}"`, `Не удалось загрузить операции по скважине "${idWell}"`,
'Получение списка опервций по скважине'
) )
}, [idWell]) }, [idWell])

View File

@ -181,7 +181,8 @@ export const WellCompositeSections = memo(({ idWell, statsWells, selectedSection
setSelectedWellsKeys(keys) setSelectedWellsKeys(keys)
}, },
setShowParamsLoader, setShowParamsLoader,
`Не удалось сохранить изменения выбранных секций для композитной скважины "${idWell}"` `Не удалось сохранить изменения выбранных секций для композитной скважины "${idWell}"`,
'Изменение выбранных секций скважины'
) )
} }
@ -192,7 +193,8 @@ export const WellCompositeSections = memo(({ idWell, statsWells, selectedSection
setParams(params) setParams(params)
}, },
setShowParamsLoader, setShowParamsLoader,
`Не удалось загрузить список режимов для скважины "${idWell}"` `Не удалось загрузить список режимов для скважины "${idWell}"`,
'Получение списка режимов скважины'
) )
const onParamsAddClick = () => invokeWebApiWrapperAsync( const onParamsAddClick = () => invokeWebApiWrapperAsync(
@ -201,7 +203,8 @@ export const WellCompositeSections = memo(({ idWell, statsWells, selectedSection
setIsParamsModalVisible(false) setIsParamsModalVisible(false)
}, },
setShowLoader, setShowLoader,
`Не удалось добавить режимы в список скважины "${idWell}"` `Не удалось добавить режимы в список скважины "${idWell}"`,
'Добавление режима скважины'
) )
return ( return (

View File

@ -64,7 +64,8 @@ export const WellCompositeEditor = memo(({ idWell }) => {
} }
}, },
setShowLoader, setShowLoader,
'Не удалось загрузить список скважин' 'Не удалось загрузить список скважин',
'Получение списка скважин'
) )
}, [idWell]) }, [idWell])
@ -79,7 +80,8 @@ export const WellCompositeEditor = memo(({ idWell }) => {
setStatsWells(arrayOrDefault(stats)) setStatsWells(arrayOrDefault(stats))
}, },
setShowTabLoader, setShowTabLoader,
'Не удалось загрузить статистику по скважинам/секциям' 'Не удалось загрузить статистику по скважинам/секциям',
'Получение статистики по скважинам/секциям'
), [selectedIdWells]) ), [selectedIdWells])
return ( return (

View File

@ -45,7 +45,8 @@ export const WellDrillParams = memo(({ idWell }) => {
setParams(params) setParams(params)
}, },
setShowLoader, setShowLoader,
'Не удалось загрузить список режимов бурения скважины' 'Не удалось загрузить список режимов бурения скважины',
'Получение списка режимов бурения скважины'
), [idWell]) ), [idWell])
useEffect(() => (async () => { useEffect(() => (async () => {
@ -70,9 +71,9 @@ export const WellDrillParams = memo(({ idWell }) => {
bordered bordered
columns={columns} columns={columns}
dataSource={params} dataSource={params}
onRowAdd={hasPermission('DrillParams.edit') && makeActionHandler('insert', handlerProps, recordParser)} onRowAdd={hasPermission('DrillParams.edit') && makeActionHandler('insert', handlerProps, recordParser, 'Добавление режима бурения')}
onRowEdit={hasPermission('DrillParams.edit') && makeActionHandler('update', handlerProps, recordParser)} onRowEdit={hasPermission('DrillParams.edit') && makeActionHandler('update', handlerProps, recordParser, 'Редактирование режима бурения')}
onRowDelete={hasPermission('DrillParams.delete') && makeActionHandler('delete', handlerProps, recordParser)} onRowDelete={hasPermission('DrillParams.delete') && makeActionHandler('delete', handlerProps, recordParser, 'Удаление режима бурения')}
pagination={false} pagination={false}
/> />
</LoaderPortal> </LoaderPortal>

View File

@ -75,7 +75,8 @@ export const WellOperationsEditor = memo(({ idWell, idType, ...other }) => {
}) })
}, },
setShowLoader, setShowLoader,
'Не удалось загрузить список операций по скважине' 'Не удалось загрузить список операций по скважине',
'Получение списка операций по скважине'
), [idWell]) ), [idWell])
const updateOperations = () => invokeWebApiWrapperAsync( const updateOperations = () => invokeWebApiWrapperAsync(
@ -91,7 +92,8 @@ export const WellOperationsEditor = memo(({ idWell, idType, ...other }) => {
setPaginationTotal(total) setPaginationTotal(total)
}, },
setShowLoader, setShowLoader,
'Не удалось загрузить список операций по скважине' 'Не удалось загрузить список операций по скважине',
'Получение списка операций по скважине'
) )
useEffect(updateOperations, [idWell, idType, pageNumAndPageSize]) useEffect(updateOperations, [idWell, idType, pageNumAndPageSize])
@ -119,9 +121,9 @@ export const WellOperationsEditor = memo(({ idWell, idType, ...other }) => {
size={'small'} size={'small'}
columns={columns} columns={columns}
dataSource={operations} dataSource={operations}
onRowAdd={hasPermission('WellOperation.edit') && makeActionHandler('insertRange', handlerProps, recordParser)} onRowAdd={hasPermission('WellOperation.edit') && makeActionHandler('insertRange', handlerProps, recordParser, 'Добавление операции по скважине')}
onRowEdit={hasPermission('WellOperation.edit') && makeActionHandler('update', handlerProps, recordParser)} onRowEdit={hasPermission('WellOperation.edit') && makeActionHandler('update', handlerProps, recordParser, 'Редактирование операции по скважине')}
onRowDelete={hasPermission('WellOperation.delete') && makeActionHandler('delete', handlerProps)} onRowDelete={hasPermission('WellOperation.delete') && makeActionHandler('delete', handlerProps, null, 'Удаление операции по скважине')}
pagination={{ pagination={{
current: pageNumAndPageSize.current, current: pageNumAndPageSize.current,
pageSize: pageNumAndPageSize.pageSize, pageSize: pageNumAndPageSize.pageSize,

View File

@ -51,7 +51,9 @@ export const WellSectionsStat = memo(({ idWell }) => {
setSections(sections) setSections(sections)
} }
}, },
setShowLoader setShowLoader,
`Не удалось получить статистику по секциям скважины "${idWell}"`,
'Получение статистики по секциям скважины'
), [idWell]) ), [idWell])
return ( return (