add new props for /route
route
This commit is contained in:
parent
0f2b7095b5
commit
65a8f1e064
@ -12,7 +12,7 @@ interface CustomDataGridProps extends DataGridProps {
|
|||||||
resource?: string // Add this prop
|
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) => {
|
export const CustomDataGrid = ({hasCoordinates = false, columns = [], resource, ...props}: CustomDataGridProps) => {
|
||||||
// const isDev = import.meta.env.DEV
|
// const isDev = import.meta.env.DEV
|
||||||
|
@ -113,6 +113,104 @@ export const RouteCreate = () => {
|
|||||||
name="path"
|
name="path"
|
||||||
placeholder="[[1.1, 2.2], [2.1, 4.5]]"
|
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>
|
</Box>
|
||||||
</Create>
|
</Create>
|
||||||
)
|
)
|
||||||
|
@ -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>
|
</Box>
|
||||||
|
|
||||||
{routeId && (
|
{routeId && (
|
||||||
|
@ -44,7 +44,70 @@ export const RouteList = () => {
|
|||||||
field: 'route_number',
|
field: 'route_number',
|
||||||
headerName: 'Номер маршрута',
|
headerName: 'Номер маршрута',
|
||||||
type: 'string',
|
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',
|
display: 'flex',
|
||||||
align: 'left',
|
align: 'left',
|
||||||
headerAlign: 'left',
|
headerAlign: 'left',
|
||||||
@ -56,6 +119,7 @@ export const RouteList = () => {
|
|||||||
display: 'flex',
|
display: 'flex',
|
||||||
align: 'left',
|
align: 'left',
|
||||||
headerAlign: 'left',
|
headerAlign: 'left',
|
||||||
|
minWidth: 120,
|
||||||
flex: 1,
|
flex: 1,
|
||||||
renderCell: ({value}) => <Typography style={{color: value ? '#48989f' : '#7f6b58'}}>{value ? 'прямое' : 'обратное'}</Typography>,
|
renderCell: ({value}) => <Typography style={{color: value ? '#48989f' : '#7f6b58'}}>{value ? 'прямое' : 'обратное'}</Typography>,
|
||||||
},
|
},
|
||||||
|
Loading…
Reference in New Issue
Block a user