add new props for /route route
				
					
				
			This commit is contained in:
		| @@ -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 | ||||
|   | ||||
| @@ -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> | ||||
|   ) | ||||
|   | ||||
| @@ -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 && ( | ||||
|   | ||||
| @@ -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>, | ||||
|       }, | ||||
|   | ||||
		Reference in New Issue
	
	Block a user