Browse Source

[new]增加选取地址界面

zk 3 months ago
parent
commit
08272d0432

BIN
assets/images/bg_common_point_select_address_top.webp


BIN
assets/images/icon_common_point_search.webp


BIN
assets/images/icon_current_location.webp


+ 4 - 0
assets/string/base/string.xml

@@ -442,4 +442,8 @@
     <string name="friday">周五</string>
     <string name="friday">周五</string>
     <string name="saturday">周六</string>
     <string name="saturday">周六</string>
     <string name="dialog_save">保存</string>
     <string name="dialog_save">保存</string>
+    <string name="select_address_done">完成</string>
+    <string name="select_address_commonly_used_range">常用地范围</string>
+    <string name="select_address_please_enter_place_name">请输入地方名称</string>
+    <string name="select_address_current_location">[当前位置]</string>
 </resources>
 </resources>

+ 4 - 0
lib/di/get_it.config.dart

@@ -32,6 +32,8 @@ import '../module/analyse/location_analyse_controller.dart' as _i783;
 import '../module/browser/browser_controller.dart' as _i923;
 import '../module/browser/browser_controller.dart' as _i923;
 import '../module/commonpoint/add/common_point_add_controller.dart' as _i696;
 import '../module/commonpoint/add/common_point_add_controller.dart' as _i696;
 import '../module/commonpoint/common_point_controller.dart' as _i625;
 import '../module/commonpoint/common_point_controller.dart' as _i625;
+import '../module/commonpoint/select_address/common_point_select_address_controller.dart'
+    as _i440;
 import '../module/commonpoint/setting/common_point_setting_controller.dart'
 import '../module/commonpoint/setting/common_point_setting_controller.dart'
     as _i644;
     as _i644;
 import '../module/feedback/feed_back_controller.dart' as _i769;
 import '../module/feedback/feed_back_controller.dart' as _i769;
@@ -80,6 +82,8 @@ extension GetItInjectableX on _i174.GetIt {
     gh.factory<_i973.SplashController>(() => _i973.SplashController());
     gh.factory<_i973.SplashController>(() => _i973.SplashController());
     gh.factory<_i756.TrackDetailController>(
     gh.factory<_i756.TrackDetailController>(
         () => _i756.TrackDetailController());
         () => _i756.TrackDetailController());
+    gh.factory<_i440.CommonPointSelectAddressController>(
+        () => _i440.CommonPointSelectAddressController());
     gh.singleton<_i361.Dio>(() => networkModule.createDefaultDio());
     gh.singleton<_i361.Dio>(() => networkModule.createDefaultDio());
     gh.lazySingleton<_i772.InternetConnectionHelper>(
     gh.lazySingleton<_i772.InternetConnectionHelper>(
         () => _i772.InternetConnectionHelper());
         () => _i772.InternetConnectionHelper());

+ 6 - 0
lib/module/commonpoint/add/common_point_add_controller.dart

@@ -5,6 +5,7 @@ import 'package:injectable/injectable.dart';
 import 'package:location/base/base_controller.dart';
 import 'package:location/base/base_controller.dart';
 import 'package:location/dialog/select_message_reminder_date_dialog.dart';
 import 'package:location/dialog/select_message_reminder_date_dialog.dart';
 import '../../../dialog/select_guard_time_dialog.dart';
 import '../../../dialog/select_guard_time_dialog.dart';
+import '../select_address/common_point_select_address_page.dart';
 
 
 @injectable
 @injectable
 class CommonPointAddController extends BaseController {
 class CommonPointAddController extends BaseController {
@@ -41,4 +42,9 @@ class CommonPointAddController extends BaseController {
     hideKeyboard(Get.context!);
     hideKeyboard(Get.context!);
     SelectMessageReminderDateDialog.show();
     SelectMessageReminderDateDialog.show();
   }
   }
+
+  void onSelectAddressClick() {
+    hideKeyboard(Get.context!);
+    CommonPointSelectAddressPage.start();
+  }
 }
 }

+ 2 - 1
lib/module/commonpoint/add/common_point_add_page.dart

@@ -168,7 +168,8 @@ class CommonPointAddPage extends BasePage<CommonPointAddController> {
                 style:
                 style:
                     TextStyle(fontSize: 13.sp, color: ColorName.colorPrimary),
                     TextStyle(fontSize: 13.sp, color: ColorName.colorPrimary),
               ),
               ),
-              isShowBottomLine: false),
+              isShowBottomLine: false,
+              onClick: controller.onSelectAddressClick),
         ],
         ],
       ),
       ),
     );
     );

+ 63 - 0
lib/module/commonpoint/select_address/common_point_select_address_controller.dart

@@ -0,0 +1,63 @@
+import 'package:flutter/cupertino.dart';
+import 'package:get/get.dart';
+import 'package:get/get_core/src/get_main.dart';
+import 'package:injectable/injectable.dart';
+import 'package:location/base/base_controller.dart';
+import 'package:sliding_sheet2/sliding_sheet2.dart';
+
+@injectable
+class CommonPointSelectAddressController extends BaseController {
+  final TextEditingController searchEditController = TextEditingController();
+  final FocusNode searchFocusNode = FocusNode();
+
+  final SheetController sheetController = SheetController();
+
+  final RxDouble _commonPointRange = RxDouble(200);
+
+  double get commonPointRange => _commonPointRange.value;
+
+  final RxDouble _sheetProgress = 0.0.obs;
+
+  double get sheetProgress => _sheetProgress.value;
+
+  void backClick() {
+    if (sheetController.state?.isExpanded == true) {
+      sheetController.snapToExtent(0,
+          duration: const Duration(milliseconds: 250));
+      return;
+    }
+    Get.back();
+  }
+
+  void setCommonPointRange(double value) {
+    _commonPointRange.value = value;
+  }
+
+  setSheetProgress(double progress) {
+    _sheetProgress.value = progress;
+    if (progress == 1) {
+      _requestFocus();
+    }
+  }
+
+  void onOpenSearchAddressModel() async {
+    if (sheetProgress == 0) {
+      _setExpand();
+    }
+  }
+
+  void _setExpand() async {
+    await sheetController.snapToExtent(1,
+        duration: const Duration(milliseconds: 250));
+    _requestFocus();
+  }
+
+  void _requestFocus() async {
+    if (searchFocusNode.hasFocus) {
+      return;
+    }
+    //获取焦点
+    await Future.delayed(Duration(milliseconds: 150));
+    searchFocusNode.requestFocus();
+  }
+}

+ 331 - 0
lib/module/commonpoint/select_address/common_point_select_address_page.dart

@@ -0,0 +1,331 @@
+import 'package:flutter/cupertino.dart';
+import 'package:flutter/material.dart';
+import 'package:flutter/src/widgets/framework.dart';
+import 'package:flutter_map/flutter_map.dart';
+import 'package:flutter_screenutil/flutter_screenutil.dart';
+import 'package:get/get.dart';
+import 'package:get/get_core/src/get_main.dart';
+import 'package:location/base/base_page.dart';
+import 'package:location/resource/assets.gen.dart';
+import 'package:location/resource/colors.gen.dart';
+import 'package:location/resource/string.gen.dart';
+import 'package:location/utils/common_expand.dart';
+import 'package:sliding_sheet2/sliding_sheet2.dart';
+
+import '../../../router/app_pages.dart';
+import '../../../widget/common_view.dart';
+import 'common_point_select_address_controller.dart';
+
+class CommonPointSelectAddressPage
+    extends BasePage<CommonPointSelectAddressController> {
+  const CommonPointSelectAddressPage({super.key});
+
+  static start() {
+    Get.toNamed(RoutePath.commonPointSelectAddress);
+  }
+
+  @override
+  bool immersive() {
+    return true;
+  }
+
+  @override
+  Widget buildBody(BuildContext context) {
+    return PopScope(
+      canPop: false,
+      onPopInvokedWithResult: (bool didPop, dynamic result) {
+        if (didPop) {
+          return;
+        }
+        controller.backClick();
+      },
+      child: Stack(
+        children: [
+          MapWidget(),
+          buildHeadBgView(),
+          buildSlidingSheetView(),
+          buildToolbarView(),
+        ],
+      ),
+    );
+  }
+
+  Widget buildSlidingSheetView() {
+    return SlidingSheet(
+        listener: (SheetState state) {
+          controller.setSheetProgress(state.progress);
+        },
+        controller: controller.sheetController,
+        color: ColorName.transparent,
+        elevation: 0,
+        shadowColor: ColorName.transparent,
+        cornerRadius: 0,
+        snapSpec: SnapSpec(
+          initialSnap: 0.45,
+          // Enable snapping. This is true by default.
+          snap: true,
+          // Set custom snapping points.
+          snappings: [0.45, 0.94],
+          // Define to what the snappings relate to. In this case,
+          // the total available space that the sheet can expand to.
+          positioning: SnapPositioning.relativeToAvailableSpace,
+        ),
+        headerBuilder: selectAddressHeaderBuilder,
+        customBuilder: selectAddressCustomBuilder);
+  }
+
+  Widget buildToolbarView() {
+    return SafeArea(
+      child: Container(
+        padding: EdgeInsets.symmetric(horizontal: 12.w, vertical: 14.5.w),
+        child: Row(
+          children: [
+            GestureDetector(
+                onTap: controller.backClick,
+                child: CommonView.getBackBtnView()),
+            Spacer(),
+            Container(
+                width: 50.w,
+                height: 28.w,
+                decoration: BoxDecoration(
+                  color: ColorName.white,
+                  borderRadius: BorderRadius.circular(8.r),
+                ),
+                child: Center(
+                  child: Text(StringName.selectAddressDone,
+                      style: TextStyle(
+                          fontSize: 12.sp,
+                          color: ColorName.black90,
+                          fontWeight: FontWeight.bold)),
+                )),
+          ],
+        ),
+      ),
+    );
+  }
+
+  Widget buildHeadBgView() {
+    return IgnorePointer(
+      child: AspectRatio(
+        aspectRatio: 360 / 146,
+        child: Assets.images.bgCommonPointSelectAddressTop.image(
+          width: double.infinity,
+        ),
+      ),
+    );
+  }
+
+  Widget selectAddressCustomBuilder(BuildContext context,
+      ScrollController scrollController, SheetState state) {
+    return ListView.builder(
+      padding: EdgeInsets.zero,
+      controller: scrollController,
+      itemBuilder: (ctx, index) => Text('selectAddressCustomBuilder--$index'),
+      itemCount: 100,
+    );
+  }
+
+  Widget selectAddressHeaderBuilder(BuildContext context, SheetState state) {
+    return IntrinsicHeight(
+      child: Column(
+        children: [
+          buildRangeView(),
+          SizedBox(height: 12.w),
+          buildSelectAddressView()
+        ],
+      ),
+    );
+  }
+
+  Widget buildSelectAddressView() {
+    return GestureDetector(
+      onTap: controller.onOpenSearchAddressModel,
+      child: Container(
+        padding: EdgeInsets.all(12.w),
+        width: double.infinity,
+        decoration: BoxDecoration(
+            color: ColorName.white,
+            borderRadius: BorderRadius.only(
+                topLeft: Radius.circular(18.r),
+                topRight: Radius.circular(18.r))),
+        child: Obx(() {
+          return Container(
+            width: double.infinity,
+            height: 40.w,
+            decoration: BoxDecoration(
+                border: controller.sheetProgress == 1
+                    ? Border.all(color: '#EAECEE'.color, width: 0.5.w)
+                    : null,
+                color: '#F6F6F8'.color,
+                borderRadius: BorderRadius.circular(8.r)),
+            child: Row(
+              children: [
+                SizedBox(width: 12.w),
+                Assets.images.iconCommonPointSearch
+                    .image(width: 14.w, height: 14.w),
+                SizedBox(width: 6.w),
+                Expanded(
+                    child: TextField(
+                        enabled: controller.sheetProgress == 1,
+                        controller: controller.searchEditController,
+                        focusNode: controller.searchFocusNode,
+                        style: TextStyle(
+                            fontSize: 14.sp, color: ColorName.primaryTextColor),
+                        maxLines: 1,
+                        maxLength: 30,
+                        keyboardType: TextInputType.text,
+                        textAlignVertical: TextAlignVertical.center,
+                        textInputAction: TextInputAction.next,
+                        decoration: InputDecoration(
+                            hintText:
+                                StringName.selectAddressPleaseEnterPlaceName,
+                            counterText: '',
+                            hintStyle: TextStyle(
+                                fontSize: 13.sp, color: ColorName.black40),
+                            contentPadding: const EdgeInsets.all(0),
+                            border: const OutlineInputBorder(
+                                borderSide: BorderSide.none)))),
+                SizedBox(width: 12.w),
+              ],
+            ),
+          );
+        }),
+      ),
+    );
+  }
+
+  Widget buildRangeView() {
+    return Obx(() {
+      return Opacity(
+        opacity: 1 - controller.sheetProgress,
+        child: Container(
+          width: 336.w,
+          height: 41.w,
+          decoration: BoxDecoration(
+              color: ColorName.white,
+              borderRadius: BorderRadius.circular(12.r)),
+          child: Builder(builder: (context) {
+            return Row(
+              children: [
+                SizedBox(width: 16.w),
+                Text(StringName.selectAddressCommonlyUsedRange,
+                    style:
+                        TextStyle(fontSize: 12.sp, color: ColorName.black80)),
+                SizedBox(width: 8.w),
+                Expanded(
+                  child: SliderTheme(
+                    data: SliderTheme.of(context).copyWith(
+                      thumbColor: Colors.white,
+                      thumbShape: CustomBlueThumb(
+                        thumbRadius: 4.6.w,
+                        outerRingWidth: 2.5.w,
+                        color: ColorName.colorPrimary,
+                      ),
+                      overlayShape: SliderComponentShape.noOverlay,
+                      trackHeight: 6.w,
+                      activeTrackColor: ColorName.colorPrimary,
+                      inactiveTrackColor: "#E4E4E4".color,
+                      trackShape: CustomTrackShape(),
+                    ),
+                    child: Obx(() {
+                      return Slider(
+                        value: controller.commonPointRange,
+                        min: 50,
+                        max: 500,
+                        onChanged: (value) {
+                          controller.setCommonPointRange(value);
+                        },
+                      );
+                    }),
+                  ),
+                ),
+                SizedBox(width: 8.w),
+                Container(
+                  width: 48.w,
+                  height: 21.w,
+                  decoration: BoxDecoration(
+                      color: '#F6F6F8'.color,
+                      borderRadius: BorderRadius.circular(5.w)),
+                  child: Center(child: Obx(() {
+                    return Text(
+                      '${controller.commonPointRange.toInt()}m',
+                      style:
+                          TextStyle(fontSize: 12.sp, color: ColorName.black80),
+                    );
+                  })),
+                ),
+                SizedBox(width: 16.w),
+              ],
+            );
+          }),
+        ),
+      );
+    });
+  }
+}
+
+class CustomTrackShape extends RoundedRectSliderTrackShape {
+  @override
+  Rect getPreferredRect({
+    required RenderBox parentBox,
+    Offset offset = Offset.zero,
+    required SliderThemeData sliderTheme,
+    bool isEnabled = false,
+    bool isDiscrete = false,
+  }) {
+    final trackHeight = sliderTheme.trackHeight;
+    final trackLeft = offset.dx;
+    final trackTop = offset.dy + (parentBox.size.height - trackHeight!) / 2;
+    final trackWidth = parentBox.size.width;
+    return Rect.fromLTWH(trackLeft, trackTop, trackWidth, trackHeight);
+  }
+}
+
+class CustomBlueThumb extends SliderComponentShape {
+  final double thumbRadius;
+  final double outerRingWidth;
+  final Color color;
+
+  const CustomBlueThumb({
+    this.thumbRadius = 12.0,
+    this.outerRingWidth = 3.0,
+    this.color = const Color(0xFF4476FF),
+  });
+
+  @override
+  Size getPreferredSize(bool isEnabled, bool isDiscrete) {
+    return Size.fromRadius(thumbRadius + outerRingWidth);
+  }
+
+  @override
+  void paint(
+    PaintingContext context,
+    Offset center, {
+    required Animation<double> activationAnimation,
+    required Animation<double> enableAnimation,
+    required bool isDiscrete,
+    required TextPainter labelPainter,
+    required RenderBox parentBox,
+    required SliderThemeData sliderTheme,
+    required TextDirection textDirection,
+    required double value,
+    required double textScaleFactor,
+    required Size sizeWithOverflow,
+  }) {
+    final Canvas canvas = context.canvas;
+    final Paint outerPaint = Paint()
+      ..color = color // 使用您指定的蓝色
+      ..strokeWidth = outerRingWidth
+      ..style = PaintingStyle.stroke;
+
+    final Paint innerPaint = Paint()
+      ..color = Colors.white
+      ..style = PaintingStyle.fill;
+
+    // 绘制蓝色外圈
+    canvas.drawCircle(center, thumbRadius + outerRingWidth / 2, outerPaint);
+
+    // 绘制白色内圆
+    canvas.drawCircle(center, thumbRadius, innerPaint);
+  }
+}

+ 0 - 1
lib/module/commonpoint/setting/common_point_setting_page.dart

@@ -7,7 +7,6 @@ import 'package:location/base/base_page.dart';
 import 'package:location/data/bean/user_info.dart';
 import 'package:location/data/bean/user_info.dart';
 import 'package:location/resource/colors.gen.dart';
 import 'package:location/resource/colors.gen.dart';
 import 'package:location/utils/common_expand.dart';
 import 'package:location/utils/common_expand.dart';
-
 import '../../../resource/assets.gen.dart';
 import '../../../resource/assets.gen.dart';
 import '../../../resource/string.gen.dart';
 import '../../../resource/string.gen.dart';
 import '../../../router/app_pages.dart';
 import '../../../router/app_pages.dart';

+ 15 - 0
lib/resource/assets.gen.dart

@@ -47,6 +47,10 @@ class $AssetsImagesGen {
   AssetGenImage get bgCheckLocationPermission =>
   AssetGenImage get bgCheckLocationPermission =>
       const AssetGenImage('assets/images/bg_check_location_permission.webp');
       const AssetGenImage('assets/images/bg_check_location_permission.webp');
 
 
+  /// File path: assets/images/bg_common_point_select_address_top.webp
+  AssetGenImage get bgCommonPointSelectAddressTop => const AssetGenImage(
+      'assets/images/bg_common_point_select_address_top.webp');
+
   /// File path: assets/images/bg_dialog_location_permission_ios.webp
   /// File path: assets/images/bg_dialog_location_permission_ios.webp
   AssetGenImage get bgDialogLocationPermissionIos => const AssetGenImage(
   AssetGenImage get bgDialogLocationPermissionIos => const AssetGenImage(
       'assets/images/bg_dialog_location_permission_ios.webp');
       'assets/images/bg_dialog_location_permission_ios.webp');
@@ -199,6 +203,14 @@ class $AssetsImagesGen {
   AssetGenImage get iconCommonPointNoData =>
   AssetGenImage get iconCommonPointNoData =>
       const AssetGenImage('assets/images/icon_common_point_no_data.webp');
       const AssetGenImage('assets/images/icon_common_point_no_data.webp');
 
 
+  /// File path: assets/images/icon_common_point_search.webp
+  AssetGenImage get iconCommonPointSearch =>
+      const AssetGenImage('assets/images/icon_common_point_search.webp');
+
+  /// File path: assets/images/icon_current_location.webp
+  AssetGenImage get iconCurrentLocation =>
+      const AssetGenImage('assets/images/icon_current_location.webp');
+
   /// File path: assets/images/icon_date_selected.webp
   /// File path: assets/images/icon_date_selected.webp
   AssetGenImage get iconDateSelected =>
   AssetGenImage get iconDateSelected =>
       const AssetGenImage('assets/images/icon_date_selected.webp');
       const AssetGenImage('assets/images/icon_date_selected.webp');
@@ -803,6 +815,7 @@ class $AssetsImagesGen {
   List<AssetGenImage> get values => [
   List<AssetGenImage> get values => [
         bgAddFriendDialog,
         bgAddFriendDialog,
         bgCheckLocationPermission,
         bgCheckLocationPermission,
+        bgCommonPointSelectAddressTop,
         bgDialogLocationPermissionIos,
         bgDialogLocationPermissionIos,
         bgDialogTrackError,
         bgDialogTrackError,
         bgFriendItem,
         bgFriendItem,
@@ -841,6 +854,8 @@ class $AssetsImagesGen {
         iconCommonPointAddArrow,
         iconCommonPointAddArrow,
         iconCommonPointAiSummary,
         iconCommonPointAiSummary,
         iconCommonPointNoData,
         iconCommonPointNoData,
+        iconCommonPointSearch,
+        iconCurrentLocation,
         iconDateSelected,
         iconDateSelected,
         iconDateUnSelect,
         iconDateUnSelect,
         iconDefaultFriendAvatar,
         iconDefaultFriendAvatar,

+ 11 - 0
lib/resource/string.gen.dart

@@ -384,6 +384,13 @@ class StringName {
   static String get friday => 'friday'.tr; // 周五
   static String get friday => 'friday'.tr; // 周五
   static String get saturday => 'saturday'.tr; // 周六
   static String get saturday => 'saturday'.tr; // 周六
   static String get dialogSave => 'dialog_save'.tr; // 保存
   static String get dialogSave => 'dialog_save'.tr; // 保存
+  static String get selectAddressDone => 'select_address_done'.tr; // 完成
+  static String get selectAddressCommonlyUsedRange =>
+      'select_address_commonly_used_range'.tr; // 常用地范围
+  static String get selectAddressPleaseEnterPlaceName =>
+      'select_address_please_enter_place_name'.tr; // 请输入地方名称
+  static String get selectAddressCurrentLocation =>
+      'select_address_current_location'.tr; // [当前位置]
 }
 }
 class StringMultiSource {
 class StringMultiSource {
   StringMultiSource._();
   StringMultiSource._();
@@ -756,6 +763,10 @@ class StringMultiSource {
       'friday': '周五',
       'friday': '周五',
       'saturday': '周六',
       'saturday': '周六',
       'dialog_save': '保存',
       'dialog_save': '保存',
+      'select_address_done': '完成',
+      'select_address_commonly_used_range': '常用地范围',
+      'select_address_please_enter_place_name': '请输入地方名称',
+      'select_address_current_location': '[当前位置]',
     },
     },
   };
   };
 }
 }

+ 7 - 0
lib/router/app_pages.dart

@@ -9,6 +9,7 @@ import 'package:location/module/commonpoint/add/common_point_add_controller.dart
 import 'package:location/module/commonpoint/add/common_point_add_page.dart';
 import 'package:location/module/commonpoint/add/common_point_add_page.dart';
 import 'package:location/module/commonpoint/common_point_controller.dart';
 import 'package:location/module/commonpoint/common_point_controller.dart';
 import 'package:location/module/commonpoint/common_point_page.dart';
 import 'package:location/module/commonpoint/common_point_page.dart';
+import 'package:location/module/commonpoint/select_address/common_point_select_address_page.dart';
 import 'package:location/module/commonpoint/setting/common_point_setting_controller.dart';
 import 'package:location/module/commonpoint/setting/common_point_setting_controller.dart';
 import 'package:location/module/commonpoint/setting/common_point_setting_page.dart';
 import 'package:location/module/commonpoint/setting/common_point_setting_page.dart';
 import 'package:location/module/feedback/feed_back_controller.dart';
 import 'package:location/module/feedback/feed_back_controller.dart';
@@ -35,6 +36,7 @@ import 'package:location/module/urgent_contact/urgent_contact_controller.dart';
 import 'package:location/module/urgent_contact/urgent_contact_page.dart';
 import 'package:location/module/urgent_contact/urgent_contact_page.dart';
 import '../module/add_friend/add_friend_dialog_controller.dart';
 import '../module/add_friend/add_friend_dialog_controller.dart';
 import '../module/analyse/location_analyse_controller.dart';
 import '../module/analyse/location_analyse_controller.dart';
+import '../module/commonpoint/select_address/common_point_select_address_controller.dart';
 import '../module/login/login_page.dart';
 import '../module/login/login_page.dart';
 import '../module/main/main_controller.dart';
 import '../module/main/main_controller.dart';
 import '../module/member/activity/member_activity_page.dart';
 import '../module/member/activity/member_activity_page.dart';
@@ -74,6 +76,7 @@ abstract class RoutePath {
   static const commonPoint = '/commonPoint';
   static const commonPoint = '/commonPoint';
   static const commonPointSetting = '/commonPointSetting';
   static const commonPointSetting = '/commonPointSetting';
   static const commonPointAdd = '/commonPointAdd';
   static const commonPointAdd = '/commonPointAdd';
+  static const commonPointSelectAddress = '/commonPointSelectAddress';
 }
 }
 
 
 class AppBinding extends Bindings {
 class AppBinding extends Bindings {
@@ -102,6 +105,7 @@ class AppBinding extends Bindings {
     lazyPut(() => getIt.get<CommonPointController>());
     lazyPut(() => getIt.get<CommonPointController>());
     lazyPut(() => getIt.get<CommonPointSettingController>());
     lazyPut(() => getIt.get<CommonPointSettingController>());
     lazyPut(() => getIt.get<CommonPointAddController>());
     lazyPut(() => getIt.get<CommonPointAddController>());
+    lazyPut(() => getIt.get<CommonPointSelectAddressController>());
   }
   }
 
 
   void lazyPut<S>(InstanceBuilderCallback<S> builder) {
   void lazyPut<S>(InstanceBuilderCallback<S> builder) {
@@ -134,4 +138,7 @@ final generalPages = [
   GetPage(
   GetPage(
       name: RoutePath.commonPointSetting, page: () => CommonPointSettingPage()),
       name: RoutePath.commonPointSetting, page: () => CommonPointSettingPage()),
   GetPage(name: RoutePath.commonPointAdd, page: () => CommonPointAddPage()),
   GetPage(name: RoutePath.commonPointAdd, page: () => CommonPointAddPage()),
+  GetPage(
+      name: RoutePath.commonPointSelectAddress,
+      page: () => CommonPointSelectAddressPage()),
 ];
 ];