Добавлено сообщение об ошибке при статусе ответа 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)
},
setLoader,
`Не удалось получить данные для Анализа Операция-Время по скважине '${id}' за период с ${begin} по ${end}`
`Не удалось получить данные для анализа Операция-Время по скважине '${id}' за период с ${begin} по ${end}`,
'Получение данных для анализа Операция-Время по скважине'
), [id, range])
return (

View File

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

View File

@ -15,7 +15,7 @@ const actions = [
[['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(
async () => {
const addIdWell = (...params) => idWell ? [idWell, ...params] : params
@ -29,7 +29,8 @@ export const makeActionHandler = (action, { idWell, service, setLoader, errorMsg
await onComplete?.()
},
setLoader,
errorMsg
errorMsg,
actionName
)
)

View File

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

View File

@ -1,7 +1,7 @@
import { notification } from 'antd'
import { Dispatch, ReactNode, SetStateAction } from 'react'
import { FileInfoDto } from '@api'
import { ApiError, FileInfoDto } from '@api'
import { getUserToken } from '@utils/storage'
const notificationTypeDictionary = new Map([
@ -36,7 +36,8 @@ type asyncFunction = (...args: any) => Promise<any|void>
export const invokeWebApiWrapperAsync = async (
funcAsync: asyncFunction,
setShowLoader?: Dispatch<SetStateAction<boolean>>,
errorNotifyText?: (string | ((ex: unknown) => string))
errorNotifyText?: (string | ((ex: unknown) => string)),
actionName?: string,
) => {
setShowLoader?.(true)
try{
@ -44,7 +45,12 @@ export const invokeWebApiWrapperAsync = async (
} catch (ex) {
if(process.env.NODE_ENV === 'development')
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')
notify(errorNotifyText(ex), 'error')
else notify(errorNotifyText, 'error')

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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