forked from ddrilling/asb_cloud_front
* Добавлена подгрузка автозаполняемых значений
* Исправлена ошибка с отсутствием 'key'
This commit is contained in:
parent
f9ddf172f5
commit
148dd2e96c
@ -16,9 +16,9 @@ const Item = memo(({ style, ...other }) => <RawItem style={{ margin: 0, ...style
|
|||||||
|
|
||||||
const table1Columns = [
|
const table1Columns = [
|
||||||
makeGroupColumn('Отчётный период', [
|
makeGroupColumn('Отчётный период', [
|
||||||
makeColumn('От (дата, время)', 'dateStart', { width: 200, render: (disabled) => (
|
makeColumn('От (дата, время)', 'dateStart', { width: 200, render: (_, { disabled, onChange }) => (
|
||||||
<Item name={'reportDate'}>
|
<Item name={'reportDate'}>
|
||||||
<DatePicker disabled={disabled} format={'DD.MM.YYYY'} style={{ width: '100%' }} />
|
<DatePicker disabled={disabled} format={'DD.MM.YYYY'} style={{ width: '100%' }} onChange={onChange} />
|
||||||
</Item>
|
</Item>
|
||||||
)}),
|
)}),
|
||||||
]),
|
]),
|
||||||
@ -52,9 +52,9 @@ const table2Columns = [
|
|||||||
]
|
]
|
||||||
|
|
||||||
const table2Data = [
|
const table2Data = [
|
||||||
{ label: 'АПД (автоматическая подача долота), ч/м:', hours: 'workTimeSAUB', meters: 'penetrationSAUB' },
|
{ key: '1', label: 'АПД (автоматическая подача долота), ч/м:', hours: 'workTimeSAUB', meters: 'penetrationSAUB' },
|
||||||
{ label: 'Спин Мастер (осцилляция), ч/м:', hours: 'workTimeSpinMaster', meters: 'penetrationSpinMaster' },
|
{ key: '2', label: 'Спин Мастер (осцилляция), ч/м:', hours: 'workTimeSpinMaster', meters: 'penetrationSpinMaster' },
|
||||||
{ label: 'Торк Мастер (демпфирование), ч/м:', hours: 'workTimeTorkMaster', meters: 'penetrationTorkMaster' },
|
{ key: '3', label: 'Торк Мастер (демпфирование), ч/м:', hours: 'workTimeTorkMaster', meters: 'penetrationTorkMaster' },
|
||||||
]
|
]
|
||||||
|
|
||||||
const table3Columns = [
|
const table3Columns = [
|
||||||
@ -65,7 +65,7 @@ const table3Columns = [
|
|||||||
]),
|
]),
|
||||||
]
|
]
|
||||||
|
|
||||||
const table3Data = [{ sinking: 'penetrationInRotor', hours: 'numberDrillingHours', pressure: 'avgDiffDropRotor' }]
|
const table3Data = [{ key: '', sinking: 'penetrationInRotor', hours: 'numberDrillingHours', pressure: 'avgDiffDropRotor' }]
|
||||||
|
|
||||||
const table4Columns = [
|
const table4Columns = [
|
||||||
makeGroupColumn('Бурение в слайде (за отчётный период) с использованием САУБ-1', [
|
makeGroupColumn('Бурение в слайде (за отчётный период) с использованием САУБ-1', [
|
||||||
@ -75,7 +75,7 @@ const table4Columns = [
|
|||||||
]),
|
]),
|
||||||
]
|
]
|
||||||
|
|
||||||
const table4Data = [{ sinking: 'penetrationInSlide', hours: 'drillingTimeInRotor', pressure: 'avgDiffPressureSlide' }]
|
const table4Data = [{ key: '', sinking: 'penetrationInSlide', hours: 'drillingTimeInRotor', pressure: 'avgDiffPressureSlide' }]
|
||||||
|
|
||||||
const table6Columns = [
|
const table6Columns = [
|
||||||
makeGroupColumn('БЕЗМЕТРАЖНЫЕ РАБОТЫ', [
|
makeGroupColumn('БЕЗМЕТРАЖНЫЕ РАБОТЫ', [
|
||||||
@ -87,11 +87,13 @@ const table6Columns = [
|
|||||||
]
|
]
|
||||||
|
|
||||||
const table6Data = [{
|
const table6Data = [{
|
||||||
|
key: '1',
|
||||||
l_label: 'Норматив на одну операцию, (мин):',
|
l_label: 'Норматив на одну операцию, (мин):',
|
||||||
r_label: 'Норматив на одну операцию, (мин):',
|
r_label: 'Норматив на одну операцию, (мин):',
|
||||||
l_value: 'standardTimeBarrelPreparation',
|
l_value: 'standardTimeBarrelPreparation',
|
||||||
r_value: 'standardTimeExtension'
|
r_value: 'standardTimeExtension'
|
||||||
}, {
|
}, {
|
||||||
|
key: '2',
|
||||||
l_label: 'Проработка при бур, факт (ч):',
|
l_label: 'Проработка при бур, факт (ч):',
|
||||||
r_label: 'Наращивание, факт (ч):',
|
r_label: 'Наращивание, факт (ч):',
|
||||||
l_value: 'actualTimeBarrelPreparation',
|
l_value: 'actualTimeBarrelPreparation',
|
||||||
@ -127,12 +129,14 @@ export const ReportEditor = memo(({ visible, data, onDone, onCancel }) => {
|
|||||||
|
|
||||||
const idWell = useContext(IdWellContext)
|
const idWell = useContext(IdWellContext)
|
||||||
|
|
||||||
useEffect(() => form.setFieldsValue(data ? {
|
const setFields = useCallback((data) => form.setFieldsValue(data ? {
|
||||||
...data,
|
...data,
|
||||||
rotorDrillingModes: Array.isArray(data.rotorDrillingModes) ? data.rotorDrillingModes ?? [] : [],
|
rotorDrillingModes: Array.isArray(data.rotorDrillingModes) ? data.rotorDrillingModes ?? [] : [],
|
||||||
slideDrillingModes: Array.isArray(data.slideDrillingModes) ? data.slideDrillingModes ?? [] : [],
|
slideDrillingModes: Array.isArray(data.slideDrillingModes) ? data.slideDrillingModes ?? [] : [],
|
||||||
reportDate: moment.utc(data.reportDate).local(),
|
reportDate: moment.utc(data.reportDate).local(),
|
||||||
} : {}), [data, form])
|
} : {}), [form])
|
||||||
|
|
||||||
|
useEffect(() => setFields(data), [data, setFields])
|
||||||
|
|
||||||
const onFormChange = useCallback(async () => await form.validateFields()
|
const onFormChange = useCallback(async () => await form.validateFields()
|
||||||
.then(() => setIsInvalid(false))
|
.then(() => setIsInvalid(false))
|
||||||
@ -152,6 +156,17 @@ export const ReportEditor = memo(({ visible, data, onDone, onCancel }) => {
|
|||||||
'Сохранение суточного рапорта',
|
'Сохранение суточного рапорта',
|
||||||
), [data, onDone, idWell])
|
), [data, onDone, idWell])
|
||||||
|
|
||||||
|
const onDateChange = useCallback((date) => invokeWebApiWrapperAsync(
|
||||||
|
async () => {
|
||||||
|
if (data) return
|
||||||
|
const newData = await DailyReportService.getOrGenerate(idWell, date.toISOString())
|
||||||
|
setFields(newData)
|
||||||
|
},
|
||||||
|
setIsLoading,
|
||||||
|
'Не удалось загрузить автозаполняемые данные для нового рапорта',
|
||||||
|
'Получение автозаполняемых данных суточного рапорта',
|
||||||
|
))
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Modal
|
<Modal
|
||||||
centered
|
centered
|
||||||
@ -176,7 +191,7 @@ export const ReportEditor = memo(({ visible, data, onDone, onCancel }) => {
|
|||||||
onChange={onFormChange}
|
onChange={onFormChange}
|
||||||
>
|
>
|
||||||
<Item name={'reportDate'} label={'Дата рапорта'} rules={[{ required: true }]}>
|
<Item name={'reportDate'} label={'Дата рапорта'} rules={[{ required: true }]}>
|
||||||
<DatePicker disabled={!!data} format={'DD.MM.YYYY'}/>
|
<DatePicker disabled={!!data} format={'DD.MM.YYYY'} onChange={onDateChange} />
|
||||||
</Item>
|
</Item>
|
||||||
<Divider />
|
<Divider />
|
||||||
<Space direction={'vertical'} size={'middle'} style={{ width: '100%' }}>
|
<Space direction={'vertical'} size={'middle'} style={{ width: '100%' }}>
|
||||||
@ -186,7 +201,7 @@ export const ReportEditor = memo(({ visible, data, onDone, onCancel }) => {
|
|||||||
bordered
|
bordered
|
||||||
size={'small'}
|
size={'small'}
|
||||||
columns={table1Columns}
|
columns={table1Columns}
|
||||||
dataSource={[{ dateStart: !!data }]}
|
dataSource={[{ key: '', disabled: !!data, onChange: onDateChange }]}
|
||||||
pagination={false}
|
pagination={false}
|
||||||
/>
|
/>
|
||||||
<Item label={'Бурильщик 1 смена'} name={'firstDriller'}><Input /></Item>
|
<Item label={'Бурильщик 1 смена'} name={'firstDriller'}><Input /></Item>
|
||||||
|
Loading…
Reference in New Issue
Block a user