add new props for /route route

This commit is contained in:
maxim 2025-04-06 18:59:20 +03:00
parent 0f2b7095b5
commit 65a8f1e064
4 changed files with 262 additions and 2 deletions

View File

@ -12,7 +12,7 @@ interface CustomDataGridProps extends DataGridProps {
resource?: string // Add this prop
}
const DEV_FIELDS = ['id', 'code', 'country_code', 'city_id', 'carrier_id', 'main_color', 'left_color', 'right_color', 'logo', 'slogan', 'filename', 'arms', 'thumbnail'] as const
const DEV_FIELDS = ['id', 'code', 'country_code', 'city_id', 'carrier_id', 'main_color', 'left_color', 'right_color', 'logo', 'slogan', 'filename', 'arms', 'thumbnail', 'route_sys_number', 'governor_appeal', 'scale_min', 'scale_max', 'rotate', 'center_latitude', 'center_longitude'] as const
export const CustomDataGrid = ({hasCoordinates = false, columns = [], resource, ...props}: CustomDataGridProps) => {
// const isDev = import.meta.env.DEV

View File

@ -113,6 +113,104 @@ export const RouteCreate = () => {
name="path"
placeholder="[[1.1, 2.2], [2.1, 4.5]]"
/>
<TextField
{...register('route_sys_number', {
required: 'Это поле является обязательным',
})}
error={!!(errors as any)?.route_sys_number}
helperText={(errors as any)?.route_sys_number?.message}
margin="normal"
fullWidth
InputLabelProps={{shrink: true}}
type="number"
label={'Системный номер маршрута *'}
name="route_sys_number"
/>
<TextField
{...register('governor_appeal', {
// required: 'Это поле является обязательным',
})}
error={!!(errors as any)?.governor_appeal}
helperText={(errors as any)?.governor_appeal?.message}
margin="normal"
fullWidth
InputLabelProps={{shrink: true}}
type="number"
label={'Обращение губернатора'}
name="governor_appeal"
/>
<TextField
{...register('scale_min', {
// required: 'Это поле является обязательным',
})}
error={!!(errors as any)?.scale_min}
helperText={(errors as any)?.scale_min?.message}
margin="normal"
fullWidth
InputLabelProps={{shrink: true}}
type="number"
label={'Масштаб (мин)'}
name="scale_min"
/>
<TextField
{...register('scale_max', {
// required: 'Это поле является обязательным',
})}
error={!!(errors as any)?.scale_max}
helperText={(errors as any)?.scale_max?.message}
margin="normal"
fullWidth
InputLabelProps={{shrink: true}}
type="number"
label={'Масштаб (макс)'}
name="scale_max"
/>
<TextField
{...register('rotate', {
// required: 'Это поле является обязательным',
})}
error={!!(errors as any)?.rotate}
helperText={(errors as any)?.rotate?.message}
margin="normal"
fullWidth
InputLabelProps={{shrink: true}}
type="number"
label={'Поворот'}
name="rotate"
/>
<TextField
{...register('center_latitude', {
// required: 'Это поле является обязательным',
})}
error={!!(errors as any)?.center_latitude}
helperText={(errors as any)?.center_latitude?.message}
margin="normal"
fullWidth
InputLabelProps={{shrink: true}}
type="number"
label={'Центр. широта'}
name="center_latitude"
/>
<TextField
{...register('center_longitude', {
// required: 'Это поле является обязательным',
})}
error={!!(errors as any)?.center_longitude}
helperText={(errors as any)?.center_longitude?.message}
margin="normal"
fullWidth
InputLabelProps={{shrink: true}}
type="number"
label={'Центр. долгота'}
name="center_longitude"
/>
</Box>
</Create>
)

View File

@ -124,6 +124,104 @@ export const RouteEdit = () => {
/>
)}
/>
<TextField
{...register('route_sys_number', {
required: 'Это поле является обязательным',
})}
error={!!(errors as any)?.route_sys_number}
helperText={(errors as any)?.route_sys_number?.message}
margin="normal"
fullWidth
InputLabelProps={{shrink: true}}
type="number"
label={'Системный номер маршрута *'}
name="route_sys_number"
/>
<TextField
{...register('governor_appeal', {
// required: 'Это поле является обязательным',
})}
error={!!(errors as any)?.governor_appeal}
helperText={(errors as any)?.governor_appeal?.message}
margin="normal"
fullWidth
InputLabelProps={{shrink: true}}
type="number"
label={'Обращение губернатора'}
name="governor_appeal"
/>
<TextField
{...register('scale_min', {
// required: 'Это поле является обязательным',
})}
error={!!(errors as any)?.scale_min}
helperText={(errors as any)?.scale_min?.message}
margin="normal"
fullWidth
InputLabelProps={{shrink: true}}
type="number"
label={'Масштаб (мин)'}
name="scale_min"
/>
<TextField
{...register('scale_max', {
// required: 'Это поле является обязательным',
})}
error={!!(errors as any)?.scale_max}
helperText={(errors as any)?.scale_max?.message}
margin="normal"
fullWidth
InputLabelProps={{shrink: true}}
type="number"
label={'Масштаб (макс)'}
name="scale_max"
/>
<TextField
{...register('rotate', {
// required: 'Это поле является обязательным',
})}
error={!!(errors as any)?.rotate}
helperText={(errors as any)?.rotate?.message}
margin="normal"
fullWidth
InputLabelProps={{shrink: true}}
type="number"
label={'Поворот'}
name="rotate"
/>
<TextField
{...register('center_latitude', {
// required: 'Это поле является обязательным',
})}
error={!!(errors as any)?.center_latitude}
helperText={(errors as any)?.center_latitude?.message}
margin="normal"
fullWidth
InputLabelProps={{shrink: true}}
type="number"
label={'Центр. широта'}
name="center_latitude"
/>
<TextField
{...register('center_longitude', {
// required: 'Это поле является обязательным',
})}
error={!!(errors as any)?.center_longitude}
helperText={(errors as any)?.center_longitude?.message}
margin="normal"
fullWidth
InputLabelProps={{shrink: true}}
type="number"
label={'Центр. долгота'}
name="center_longitude"
/>
</Box>
{routeId && (

View File

@ -44,7 +44,70 @@ export const RouteList = () => {
field: 'route_number',
headerName: 'Номер маршрута',
type: 'string',
minWidth: 170,
minWidth: 150,
display: 'flex',
align: 'left',
headerAlign: 'left',
},
{
field: 'route_sys_number',
headerName: 'Системный номер маршрута',
type: 'string',
minWidth: 120,
display: 'flex',
align: 'left',
headerAlign: 'left',
},
{
field: 'governor_appeal',
headerName: 'Обращение губернатора',
type: 'number',
minWidth: 120,
display: 'flex',
align: 'left',
headerAlign: 'left',
},
{
field: 'scale_min',
headerName: 'Масштаб (мин)',
type: 'number',
minWidth: 120,
display: 'flex',
align: 'left',
headerAlign: 'left',
},
{
field: 'scale_max',
headerName: 'Масштаб (макс)',
type: 'number',
minWidth: 120,
display: 'flex',
align: 'left',
headerAlign: 'left',
},
{
field: 'rotate',
headerName: 'Поворот',
type: 'number',
minWidth: 120,
display: 'flex',
align: 'left',
headerAlign: 'left',
},
{
field: 'center_latitude',
headerName: 'Центр. широта',
type: 'number',
minWidth: 120,
display: 'flex',
align: 'left',
headerAlign: 'left',
},
{
field: 'center_longitude',
headerName: 'Центр. долгота',
type: 'number',
minWidth: 120,
display: 'flex',
align: 'left',
headerAlign: 'left',
@ -56,6 +119,7 @@ export const RouteList = () => {
display: 'flex',
align: 'left',
headerAlign: 'left',
minWidth: 120,
flex: 1,
renderCell: ({value}) => <Typography style={{color: value ? '#48989f' : '#7f6b58'}}>{value ? 'прямое' : 'обратное'}</Typography>,
},