新增配件UI布局

This commit is contained in:
Daisy 2024-03-06 10:10:41 +08:00
parent 2f207db3ec
commit e096b50bc6
7 changed files with 128 additions and 5 deletions

View File

@ -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()))
];
}

View File

@ -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
}
}

View File

@ -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<AccessoriesListPage> createState() => _AccessoriesListPageState();
}
class _AccessoriesListPageState extends State<AccessoriesListPage>
with BaseWidget {
final logic = Get.put(AccessoriesListLogic());
final state = Get.find<AccessoriesListLogic>().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),
)
],
),
),
),
);
}
}

View File

@ -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; //
}

View File

@ -400,7 +400,9 @@ class _LockDetailPageState extends State<LockDetailPage>
//
showWidgetArr.add(bottomItem('images/main/icon_main_addLock.png', '新增配件',
state.bottomBtnisUneable.value, () {}));
state.bottomBtnisUneable.value, () {
Navigator.pushNamed(context, Routers.accessoriesListPage);
}));
return showWidgetArr;
}

View File

@ -18,7 +18,8 @@ class SelectLockTypePage extends StatefulWidget {
State<SelectLockTypePage> createState() => _SelectLockTypePageState();
}
class _SelectLockTypePageState extends State<SelectLockTypePage> with BaseWidget {
class _SelectLockTypePageState extends State<SelectLockTypePage>
with BaseWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
@ -80,6 +81,11 @@ class _SelectLockTypePageState extends State<SelectLockTypePage> with BaseWidget
// Navigator.pushNamed(context, Routers.gatewayListPage);
getNearByLimits();
}),
lockTypeItem(
'images/lockType/lockType_gatewayLock.png', '网络摄像头', () {
// Navigator.pushNamed(context, Routers.gatewayListPage);
getNearByLimits();
}),
],
),
),

View File

@ -152,7 +152,7 @@ class _StarLockMinePageState extends State<StarLockMinePage> 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, () {