diff --git a/star_lock/lib/appRouters.dart b/star_lock/lib/appRouters.dart index c82faf0e..ca0e3630 100644 --- a/star_lock/lib/appRouters.dart +++ b/star_lock/lib/appRouters.dart @@ -1,6 +1,7 @@ import 'package:get/get.dart'; import 'package:star_lock/common/safetyVerification/safetyVerification_binding.dart'; import 'package:star_lock/login/register/starLock_register_binding.dart'; +import 'package:star_lock/main/accessoriesList/accessoriesList_page.dart'; import 'package:star_lock/main/lockDetail/doorLockLog/doorLockLog_page.dart'; import 'package:star_lock/main/lockDetail/electronicKey/electronicKeyDetail/keyOperationRecord/keyOperationRecord_page.dart'; @@ -186,7 +187,7 @@ abstract class Routers { static const starLockMain = '/StarLockMain'; // 首页 static const starLockMinePage = '/StarLockMinePage'; // 我的 static const selectLockTypePage = '/SelectLockTypePage'; // 选择锁类型 - static const LockMallPage = '/LockMallPage'; // 商城页面 + static const lockMallPage = '/LockMallPage'; // 商城页面 static const addLockPage = '/AddLockPage'; // 选择锁类型 static const nearbyLockPage = '/NearbyLockPage'; // 附近的锁 static const lockAddressPage = '/LockAddressPage'; // 锁地址 @@ -424,6 +425,8 @@ abstract class Routers { static const catEyeCustomModePage = '/catEyeCustomModePage'; //猫眼自定义模式 static const videoSlotPage = '/videoSlotPage'; //录像时段 static const liveVideoPage = '/liveVideoPage'; //实时画面 + + static const accessoriesListPage = '/accessoriesListPage'; //配件列表 } abstract class AppRouters { @@ -445,7 +448,7 @@ abstract class AppRouters { page: () => const SelectLockTypePage(), ), GetPage( - name: Routers.LockMallPage, + name: Routers.lockMallPage, page: () => const LockMallPage(), ), GetPage( @@ -1024,5 +1027,8 @@ abstract class AppRouters { GetPage( name: Routers.messageDetailPage, page: (() => const MessageDetailPage())), + GetPage( + name: Routers.accessoriesListPage, + page: (() => const AccessoriesListPage())) ]; } diff --git a/star_lock/lib/main/accessoriesList/accessoriesList_logic.dart b/star_lock/lib/main/accessoriesList/accessoriesList_logic.dart index e69de29b..bd305363 100644 --- a/star_lock/lib/main/accessoriesList/accessoriesList_logic.dart +++ b/star_lock/lib/main/accessoriesList/accessoriesList_logic.dart @@ -0,0 +1,23 @@ +import 'package:star_lock/main/accessoriesList/accessoriesList_state.dart'; +import 'package:star_lock/tools/baseGetXController.dart'; + +class AccessoriesListLogic extends BaseGetXController { + final AccessoriesListState state = AccessoriesListState(); + + @override + void onReady() { + // TODO: implement onReady + super.onReady(); + } + + @override + void onInit() { + // TODO: implement onInit + super.onInit(); + } + + @override + void onClose() { + // TODO: implement onClose + } +} diff --git a/star_lock/lib/main/accessoriesList/accessoriesList_page.dart b/star_lock/lib/main/accessoriesList/accessoriesList_page.dart index e69de29b..f24d03ff 100644 --- a/star_lock/lib/main/accessoriesList/accessoriesList_page.dart +++ b/star_lock/lib/main/accessoriesList/accessoriesList_page.dart @@ -0,0 +1,80 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_screenutil/flutter_screenutil.dart'; +import 'package:fluttertoast/fluttertoast.dart'; +import 'package:get/get.dart'; +import 'package:star_lock/appRouters.dart'; +import 'package:star_lock/main/accessoriesList/accessoriesList_logic.dart'; + +import '../../../app_settings/app_colors.dart'; +import '../../../baseWidget.dart'; +import '../../../tools/titleAppBar.dart'; + +class AccessoriesListPage extends StatefulWidget { + const AccessoriesListPage({Key? key}) : super(key: key); + + @override + State createState() => _AccessoriesListPageState(); +} + +class _AccessoriesListPageState extends State + with BaseWidget { + final logic = Get.put(AccessoriesListLogic()); + final state = Get.find().state; + + @override + Widget build(BuildContext context) { + return Scaffold( + backgroundColor: Colors.white, + appBar: TitleAppBar( + barTitle: '选择设备类型', + haveBack: true, + backgroundColor: AppColors.mainColor), + body: ListView( + children: [ + _accessoriesItem( + 'images/mine/icon_mine_selectGatewayType_G2.png', "照明灯具", true), + _accessoriesItem( + 'images/mine/icon_mine_selectGatewayType_G4.png', "开门器", false), + _accessoriesItem( + 'images/mine/icon_mine_selectGatewayType_G2.png', "电动窗帘", true), + _accessoriesItem( + 'images/mine/icon_mine_selectGatewayType_G4.png', "门窗传感器", false), + _accessoriesItem( + 'images/mine/icon_mine_selectGatewayType_G2.png', "传感器", true), + ], + ), + ); + } + + //配件列表 + Widget _accessoriesItem(String iconStr, String gatewayType, bool isWhite) { + return GestureDetector( + onTap: () { + logic.showToast("该功能暂未开放"); + }, + child: Container( + color: isWhite == true ? Colors.white : AppColors.mainBackgroundColor, + width: 1.sw, + height: 140.h, + padding: EdgeInsets.all(30.w), + child: Center( + child: Row( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Image.asset( + iconStr, + width: 150.w, + height: 150.w, + ), + // SizedBox(width: 20.w), + Text( + gatewayType, + style: TextStyle(fontSize: 22.sp), + ) + ], + ), + ), + ), + ); + } +} diff --git a/star_lock/lib/main/accessoriesList/accessoriesList_state.dart b/star_lock/lib/main/accessoriesList/accessoriesList_state.dart index e69de29b..b737db94 100644 --- a/star_lock/lib/main/accessoriesList/accessoriesList_state.dart +++ b/star_lock/lib/main/accessoriesList/accessoriesList_state.dart @@ -0,0 +1,6 @@ +import 'package:get/get.dart'; + +class AccessoriesListState { + var getLockType = 1.obs; //0-所有锁;1-门锁;2-NFC无源锁;3-挂锁;4-保险箱锁;5-车位锁;6-智能门禁;7-网关 + var lockTypeImg = 'images/lockType/addLock_touchScreen.png'.obs; //不同类型锁图片更换 +} diff --git a/star_lock/lib/main/lockDetail/lockDetail/lockDetail_page.dart b/star_lock/lib/main/lockDetail/lockDetail/lockDetail_page.dart index 7fcf5eab..6aa0bb07 100644 --- a/star_lock/lib/main/lockDetail/lockDetail/lockDetail_page.dart +++ b/star_lock/lib/main/lockDetail/lockDetail/lockDetail_page.dart @@ -400,7 +400,9 @@ class _LockDetailPageState extends State // 新增配件 showWidgetArr.add(bottomItem('images/main/icon_main_addLock.png', '新增配件', - state.bottomBtnisUneable.value, () {})); + state.bottomBtnisUneable.value, () { + Navigator.pushNamed(context, Routers.accessoriesListPage); + })); return showWidgetArr; } diff --git a/star_lock/lib/mine/addLock/selectLockType/selectLockType_page.dart b/star_lock/lib/mine/addLock/selectLockType/selectLockType_page.dart index 1c7f2bf9..c3c22f9d 100644 --- a/star_lock/lib/mine/addLock/selectLockType/selectLockType_page.dart +++ b/star_lock/lib/mine/addLock/selectLockType/selectLockType_page.dart @@ -18,7 +18,8 @@ class SelectLockTypePage extends StatefulWidget { State createState() => _SelectLockTypePageState(); } -class _SelectLockTypePageState extends State with BaseWidget { +class _SelectLockTypePageState extends State + with BaseWidget { @override Widget build(BuildContext context) { return Scaffold( @@ -80,6 +81,11 @@ class _SelectLockTypePageState extends State with BaseWidget // Navigator.pushNamed(context, Routers.gatewayListPage); getNearByLimits(); }), + lockTypeItem( + 'images/lockType/lockType_gatewayLock.png', '网络摄像头', () { + // Navigator.pushNamed(context, Routers.gatewayListPage); + getNearByLimits(); + }), ], ), ), diff --git a/star_lock/lib/mine/mine/starLockMine_page.dart b/star_lock/lib/mine/mine/starLockMine_page.dart index a71aeb41..34f423e4 100644 --- a/star_lock/lib/mine/mine/starLockMine_page.dart +++ b/star_lock/lib/mine/mine/starLockMine_page.dart @@ -152,7 +152,7 @@ class _StarLockMinePageState extends State with BaseWidget { mineItem('images/mine/icon_mine_main_shoppingcart.png', "配件商城".tr, () { Get.back(); - Get.toNamed(Routers.LockMallPage); + Get.toNamed(Routers.lockMallPage); }), mineItem('images/mine/icon_mine_main_about.png', TranslationLoader.lanKeys!.about!.tr, () {