1,新增部分图片
2,新增授权管理员模块UI 3,新增锁分组模块UI 4,新增锁用户管理模块UI 5,新增转移智能锁模块UI
This commit is contained in:
parent
4e03e1c007
commit
b1e2cf4ebd
BIN
star_lock/images/icon_addressBook.png
Normal file
BIN
star_lock/images/icon_addressBook.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.8 KiB |
BIN
star_lock/images/icon_lockGroup_item.png
Normal file
BIN
star_lock/images/icon_lockGroup_item.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 4.1 KiB |
@ -199,9 +199,12 @@
|
|||||||
"touchUnlock":"Touch Unlock",
|
"touchUnlock":"Touch Unlock",
|
||||||
"pushNotification":"Push Notification",
|
"pushNotification":"Push Notification",
|
||||||
"lockUserManagement":"Lock User Management",
|
"lockUserManagement":"Lock User Management",
|
||||||
|
"aboutToExpire":"About to expire",
|
||||||
"authorizedAdmin":"Authorized Admin",
|
"authorizedAdmin":"Authorized Admin",
|
||||||
"lockGroup":"Lock Group",
|
"lockGroup":"Lock Group",
|
||||||
"transferSmartLock":"Transfer Smart Lock",
|
"transferSmartLock":"Transfer Smart Lock",
|
||||||
|
"selectiveLock":"Selective lock",
|
||||||
|
"recipientInformation":"recipientInformation",
|
||||||
"transferGateway":"Transfer Gateway",
|
"transferGateway":"Transfer Gateway",
|
||||||
"multiLanguage":"Multi Language",
|
"multiLanguage":"Multi Language",
|
||||||
"lockScreen":"Lock Screen",
|
"lockScreen":"Lock Screen",
|
||||||
@ -236,7 +239,6 @@
|
|||||||
"problemTwo":"Problem Two",
|
"problemTwo":"Problem Two",
|
||||||
"problemThree":"Problem Three",
|
"problemThree":"Problem Three",
|
||||||
"pleaseEnterYourAnswer":"Please Enter Your Answer",
|
"pleaseEnterYourAnswer":"Please Enter Your Answer",
|
||||||
"aboutToExpire":"About to expire",
|
|
||||||
|
|
||||||
"designation": "designation",
|
"designation": "designation",
|
||||||
"state": "State",
|
"state": "State",
|
||||||
|
|||||||
@ -202,6 +202,8 @@
|
|||||||
"authorizedAdmin":"authorizedAdmin",
|
"authorizedAdmin":"authorizedAdmin",
|
||||||
"lockGroup":"lockGroup",
|
"lockGroup":"lockGroup",
|
||||||
"transferSmartLock":"transferSmartLock",
|
"transferSmartLock":"transferSmartLock",
|
||||||
|
"selectiveLock":"selectiveLock",
|
||||||
|
"recipientInformation":"recipientInformation",
|
||||||
"transferGateway":"transferGateway",
|
"transferGateway":"transferGateway",
|
||||||
"multiLanguage":"multiLanguage",
|
"multiLanguage":"multiLanguage",
|
||||||
"lockScreen":"lockScreen",
|
"lockScreen":"lockScreen",
|
||||||
@ -236,7 +238,7 @@
|
|||||||
"problemTwo":"problemTwo",
|
"problemTwo":"problemTwo",
|
||||||
"problemThree":"problemThree",
|
"problemThree":"problemThree",
|
||||||
"pleaseEnterYourAnswer":"pleaseEnterYourAnswer",
|
"pleaseEnterYourAnswer":"pleaseEnterYourAnswer",
|
||||||
"aboutToExpire":"About to expire",
|
"aboutToExpire":"aboutToExpire",
|
||||||
|
|
||||||
"designation": "designation",
|
"designation": "designation",
|
||||||
"state": "state",
|
"state": "state",
|
||||||
|
|||||||
@ -202,6 +202,8 @@
|
|||||||
"authorizedAdmin":"授权管理员",
|
"authorizedAdmin":"授权管理员",
|
||||||
"lockGroup":"锁分组",
|
"lockGroup":"锁分组",
|
||||||
"transferSmartLock":"转移智能锁",
|
"transferSmartLock":"转移智能锁",
|
||||||
|
"selectiveLock":"选择锁",
|
||||||
|
"recipientInformation":"接收人信息",
|
||||||
"transferGateway":"转移网关",
|
"transferGateway":"转移网关",
|
||||||
"multiLanguage":"多语言",
|
"multiLanguage":"多语言",
|
||||||
"lockScreen":"锁屏",
|
"lockScreen":"锁屏",
|
||||||
|
|||||||
BIN
star_lock/images/normal_circle.png
Normal file
BIN
star_lock/images/normal_circle.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.3 KiB |
BIN
star_lock/images/select_circle.png
Normal file
BIN
star_lock/images/select_circle.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.7 KiB |
@ -1,7 +1,11 @@
|
|||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
import 'package:star_lock/mine/mineSet/lockUserManage/lockUserManageListPage.dart';
|
import 'package:star_lock/mine/mineSet/lockGroup/lockGroupList_page.dart';
|
||||||
|
import 'package:star_lock/mine/mineSet/lockUserManage/lockUserManageList_page.dart';
|
||||||
import 'package:star_lock/mine/mineSet/mineSet_page.dart';
|
import 'package:star_lock/mine/mineSet/mineSet_page.dart';
|
||||||
|
import 'package:star_lock/mine/mineSet/transferSmartLock/recipientInformation_page.dart';
|
||||||
|
import 'package:star_lock/mine/mineSet/transferSmartLock/selectBranch_page.dart';
|
||||||
|
import 'package:star_lock/mine/mineSet/transferSmartLock/transferSmartLock_page.dart';
|
||||||
|
|
||||||
import 'login/forgetPassword/starLock_forgetPassword_page.dart';
|
import 'login/forgetPassword/starLock_forgetPassword_page.dart';
|
||||||
import 'login/login/starLock_login_page.dart';
|
import 'login/login/starLock_login_page.dart';
|
||||||
@ -86,6 +90,7 @@ import 'mine/minePersonInfo/minePersonInfoResetPassword/minePersonInfoResetPassw
|
|||||||
import 'mine/minePersonInfo/minePersonInfoSetSafetyProblem/minePersonInfoSetSafetyProblem_page.dart';
|
import 'mine/minePersonInfo/minePersonInfoSetSafetyProblem/minePersonInfoSetSafetyProblem_page.dart';
|
||||||
import 'mine/mineSet/appUnlockNeedMobileNetworkingLock/appUnlockNeedMobileNetworkingLock_page.dart';
|
import 'mine/mineSet/appUnlockNeedMobileNetworkingLock/appUnlockNeedMobileNetworkingLock_page.dart';
|
||||||
import 'mine/mineSet/hideInvalidUnlockPermissions/hideInvalidUnlockPermissions_page.dart';
|
import 'mine/mineSet/hideInvalidUnlockPermissions/hideInvalidUnlockPermissions_page.dart';
|
||||||
|
import 'mine/mineSet/lockGroup/lockItemList_page.dart';
|
||||||
import 'mine/mineSet/lockScreen/lockScreen_page.dart';
|
import 'mine/mineSet/lockScreen/lockScreen_page.dart';
|
||||||
import 'mine/mine_page.dart';
|
import 'mine/mine_page.dart';
|
||||||
import 'mine/supportStaff/supportStaff_page.dart';
|
import 'mine/supportStaff/supportStaff_page.dart';
|
||||||
@ -99,7 +104,7 @@ import 'mine/valueAddedServices/valueAddedServicesNoteAndEmailDetail/valueAddedS
|
|||||||
import 'mine/valueAddedServices/valueAddedServicesRealName/valueAddedServicesRealName_page.dart';
|
import 'mine/valueAddedServices/valueAddedServicesRealName/valueAddedServicesRealName_page.dart';
|
||||||
import 'mine/valueAddedServices/valueAddedServicesSMSTemplate/valueAddedServicesAddSMSTemplate/valueAddedServicesAddSMSTemplate_page.dart';
|
import 'mine/valueAddedServices/valueAddedServicesSMSTemplate/valueAddedServicesAddSMSTemplate/valueAddedServicesAddSMSTemplate_page.dart';
|
||||||
import 'mine/valueAddedServices/valueAddedServicesSMSTemplate/valueAddedServicesListSMSTemplate/valueAddedServicesListSMSTemplate_page.dart';
|
import 'mine/valueAddedServices/valueAddedServicesSMSTemplate/valueAddedServicesListSMSTemplate/valueAddedServicesListSMSTemplate_page.dart';
|
||||||
import 'mine/mineSet/authorizedAdministrator/authorizedAdministratorListPage.dart';
|
import 'mine/mineSet/authorizedAdministrator/authorizedAdministratorList_page.dart';
|
||||||
import 'starLockApplication.dart';
|
import 'starLockApplication.dart';
|
||||||
|
|
||||||
abstract class Routers {
|
abstract class Routers {
|
||||||
@ -241,6 +246,11 @@ abstract class Routers {
|
|||||||
static const lockUserManageLisPage = '/LockUserManageLisPage'; //我的设置-锁用户管理
|
static const lockUserManageLisPage = '/LockUserManageLisPage'; //我的设置-锁用户管理
|
||||||
static const authorizedAdministratorListPage =
|
static const authorizedAdministratorListPage =
|
||||||
'/AuthorizedAdministratorListPage'; //我的设置-授权管理员
|
'/AuthorizedAdministratorListPage'; //我的设置-授权管理员
|
||||||
|
static const lockGroupListPage = '/LockGroupListPage'; //我的设置-锁分组
|
||||||
|
static const lockItemListPage = '/LockItemListPage'; //锁分组-锁列表
|
||||||
|
static const transferSmartLockPage = '/transferSmartLockPage'; //转移智能锁
|
||||||
|
static const recipientInformationPage = '/recipientInformationPage'; //接受人信息
|
||||||
|
static const selectBranchPage = '/SelectBranchPage'; //选择分店
|
||||||
|
|
||||||
static const starLockLoginPage = '/StarLockLoginPage'; // 登录
|
static const starLockLoginPage = '/StarLockLoginPage'; // 登录
|
||||||
static const starLockRegisterPage = '/StarLockRegisterPage'; // 注册
|
static const starLockRegisterPage = '/StarLockRegisterPage'; // 注册
|
||||||
@ -648,6 +658,18 @@ abstract class AppRouters {
|
|||||||
page: () => const AuthorizedAdministratorListPage()),
|
page: () => const AuthorizedAdministratorListPage()),
|
||||||
GetPage(
|
GetPage(
|
||||||
name: Routers.lockUserManageLisPage,
|
name: Routers.lockUserManageLisPage,
|
||||||
page: () => const LockUserManageListListPage())
|
page: () => const LockUserManageListListPage()),
|
||||||
|
GetPage(
|
||||||
|
name: Routers.lockGroupListPage, page: () => const LockGroupListPage()),
|
||||||
|
GetPage(
|
||||||
|
name: Routers.lockItemListPage, page: () => const LockItemListPage()),
|
||||||
|
GetPage(
|
||||||
|
name: Routers.transferSmartLockPage,
|
||||||
|
page: () => const TransferSmartLockPage()),
|
||||||
|
GetPage(
|
||||||
|
name: Routers.recipientInformationPage,
|
||||||
|
page: () => const RecipientInformationPage()),
|
||||||
|
GetPage(
|
||||||
|
name: Routers.selectBranchPage, page: () => const SelectBranchPage())
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|||||||
@ -116,4 +116,6 @@ class AppColors {
|
|||||||
static Color progressValueColor = const Color(0xFF0093E5);
|
static Color progressValueColor = const Color(0xFF0093E5);
|
||||||
|
|
||||||
static const greyLineColor = Color.fromRGBO(240, 240, 240, 1); //灰色分割线
|
static const greyLineColor = Color.fromRGBO(240, 240, 240, 1); //灰色分割线
|
||||||
|
static const darkGrayTextColor = Color.fromRGBO(65, 65, 65, 1); //深灰色字体
|
||||||
|
static const placeholderTextColor = Color.fromRGBO(128, 128, 128, 1); //占位字体颜色
|
||||||
}
|
}
|
||||||
|
|||||||
@ -23,19 +23,18 @@ void main() async {
|
|||||||
}
|
}
|
||||||
|
|
||||||
class MyApp extends StatefulWidget {
|
class MyApp extends StatefulWidget {
|
||||||
const MyApp({GlobalKey? key}):super(key: key);
|
const MyApp({GlobalKey? key}) : super(key: key);
|
||||||
|
|
||||||
@override
|
@override
|
||||||
State<MyApp> createState() => _MyAppState();
|
State<MyApp> createState() => _MyAppState();
|
||||||
}
|
}
|
||||||
|
|
||||||
class _MyAppState extends State<MyApp> with WidgetsBindingObserver, BaseWidget {
|
class _MyAppState extends State<MyApp> with WidgetsBindingObserver, BaseWidget {
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
return ScreenUtilInit(
|
return ScreenUtilInit(
|
||||||
designSize: const Size(750, 1334),
|
designSize: const Size(750, 1334),
|
||||||
builder: (w, a) => _initMaterialApp());
|
builder: (w, a) => _initMaterialApp());
|
||||||
}
|
}
|
||||||
|
|
||||||
GetMaterialApp _initMaterialApp() => GetMaterialApp(
|
GetMaterialApp _initMaterialApp() => GetMaterialApp(
|
||||||
@ -47,17 +46,19 @@ class _MyAppState extends State<MyApp> with WidgetsBindingObserver, BaseWidget {
|
|||||||
GlobalCupertinoLocalizations.delegate,
|
GlobalCupertinoLocalizations.delegate,
|
||||||
GlobalWidgetsLocalizations.delegate,
|
GlobalWidgetsLocalizations.delegate,
|
||||||
],
|
],
|
||||||
localeResolutionCallback: (locale,supportedLocales){
|
localeResolutionCallback: (locale, supportedLocales) {
|
||||||
if(!supportedLocales.contains(locale)) {
|
if (!supportedLocales.contains(locale)) {
|
||||||
int idx = appSupportedLocales.indexWhere((element) => element.languageCode == locale!.languageCode);
|
int idx = appSupportedLocales.indexWhere(
|
||||||
if(idx != -1) {
|
(element) => element.languageCode == locale!.languageCode);
|
||||||
|
if (idx != -1) {
|
||||||
locale = appSupportedLocales[idx];
|
locale = appSupportedLocales[idx];
|
||||||
}else {
|
} else {
|
||||||
locale = const Locale('zh', 'CN');
|
locale = const Locale('zh', 'CN');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// print("localelocalelocalelocalelocale locale:${locale} locale.languageCode:${locale.languageCode} locale.countryCode:${locale.countryCode} supportedLocales:${supportedLocales}");
|
// print("localelocalelocalelocalelocale locale:${locale} locale.languageCode:${locale.languageCode} locale.countryCode:${locale.countryCode} supportedLocales:${supportedLocales}");
|
||||||
AppManager().setLanCode(code: '${locale!.languageCode}_${locale.countryCode}');
|
AppManager()
|
||||||
|
.setLanCode(code: '${locale!.languageCode}_${locale.countryCode}');
|
||||||
return locale;
|
return locale;
|
||||||
},
|
},
|
||||||
// locale: StoreService.to.getLanguageCode().isNotEmpty ? appDept.deptSupportedLocales.where((element) => element.languageCode == StoreService.to.getLanguageCode()).first : Get.deviceLocale,
|
// locale: StoreService.to.getLanguageCode().isNotEmpty ? appDept.deptSupportedLocales.where((element) => element.languageCode == StoreService.to.getLanguageCode()).first : Get.deviceLocale,
|
||||||
@ -68,21 +69,19 @@ class _MyAppState extends State<MyApp> with WidgetsBindingObserver, BaseWidget {
|
|||||||
backgroundColor: const Color(0xFFF6F6F6),
|
backgroundColor: const Color(0xFFF6F6F6),
|
||||||
primaryColor: const Color(0xFFFFFFFF),
|
primaryColor: const Color(0xFFFFFFFF),
|
||||||
textTheme: TextTheme(
|
textTheme: TextTheme(
|
||||||
//用在非Material组件上的文字显示,
|
//用在非Material组件上的文字显示,
|
||||||
bodyText1: TextStyle(
|
bodyText1:
|
||||||
fontSize: 28.sp, color: const Color(0xff2E2B2B)),
|
TextStyle(fontSize: 28.sp, color: const Color(0xff2E2B2B)),
|
||||||
//Material组件上的文字显示
|
//Material组件上的文字显示
|
||||||
bodyText2: TextStyle(
|
bodyText2:
|
||||||
fontSize: 28.sp, color: const Color(0xff2E2B2B)),
|
TextStyle(fontSize: 28.sp, color: const Color(0xff2E2B2B)),
|
||||||
button: TextStyle(fontSize: 28.sp)),
|
button: TextStyle(fontSize: 28.sp)),
|
||||||
iconTheme:
|
iconTheme: IconThemeData(size: 28.sp, color: const Color(0xff2E2B2B)),
|
||||||
IconThemeData(size: 28.sp, color: const Color(0xff2E2B2B)),
|
|
||||||
appBarTheme: AppBarTheme(
|
appBarTheme: AppBarTheme(
|
||||||
backgroundColor: const Color(0xFFFFFFFF),
|
backgroundColor: const Color(0xFFFFFFFF),
|
||||||
elevation: 0,
|
elevation: 0,
|
||||||
centerTitle: true,
|
centerTitle: true,
|
||||||
iconTheme:
|
iconTheme: IconThemeData(color: const Color(0xff333333), size: 36.sp),
|
||||||
IconThemeData(color: const Color(0xff333333), size: 36.sp),
|
|
||||||
titleTextStyle: TextStyle(
|
titleTextStyle: TextStyle(
|
||||||
color: const Color(0xff333333),
|
color: const Color(0xff333333),
|
||||||
fontWeight: FontWeight.w400,
|
fontWeight: FontWeight.w400,
|
||||||
@ -93,8 +92,7 @@ class _MyAppState extends State<MyApp> with WidgetsBindingObserver, BaseWidget {
|
|||||||
),
|
),
|
||||||
debugShowCheckedModeBanner: false,
|
debugShowCheckedModeBanner: false,
|
||||||
getPages: AppRouters.routePages,
|
getPages: AppRouters.routePages,
|
||||||
initialRoute: '/'
|
initialRoute: '/');
|
||||||
);
|
|
||||||
|
|
||||||
@override
|
@override
|
||||||
void initState() {
|
void initState() {
|
||||||
@ -117,15 +115,14 @@ class _MyAppState extends State<MyApp> with WidgetsBindingObserver, BaseWidget {
|
|||||||
print("应用进入后台");
|
print("应用进入后台");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// 设置国际化信息
|
// 设置国际化信息
|
||||||
Future _initTranslation() async => TranslationLoader.loadTranslation(
|
Future _initTranslation() async => TranslationLoader.loadTranslation(
|
||||||
zhSource: "images/lan/lan_zh.json",
|
zhSource: "images/lan/lan_zh.json",
|
||||||
enSource: "images/lan/lan_en.json",
|
enSource: "images/lan/lan_en.json",
|
||||||
keySource: "images/lan/lan_keys.json",
|
keySource: "images/lan/lan_keys.json",
|
||||||
);
|
);
|
||||||
|
|
||||||
// 设置包名服务设备信息
|
// 设置包名服务设备信息
|
||||||
Future _setCommonServices() async {
|
Future _setCommonServices() async {
|
||||||
|
|||||||
@ -27,7 +27,7 @@ class _AuthorizedAdministratorListPageState
|
|||||||
backgroundColor: AppColors.mainColor,
|
backgroundColor: AppColors.mainColor,
|
||||||
actionsList: [
|
actionsList: [
|
||||||
IconButton(
|
IconButton(
|
||||||
icon: const Icon(Icons.add),
|
icon: Image.asset('images/icon_add_white.png'),
|
||||||
onPressed: () {
|
onPressed: () {
|
||||||
// 处理操作按钮的点击事件
|
// 处理操作按钮的点击事件
|
||||||
Navigator.pushNamed(context, Routers.authorizedAdminManagePage);
|
Navigator.pushNamed(context, Routers.authorizedAdminManagePage);
|
||||||
|
|||||||
71
star_lock/lib/mine/mineSet/lockGroup/lockGroupList_page.dart
Normal file
71
star_lock/lib/mine/mineSet/lockGroup/lockGroupList_page.dart
Normal file
@ -0,0 +1,71 @@
|
|||||||
|
import 'package:flutter/material.dart';
|
||||||
|
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
||||||
|
import 'package:get/get.dart';
|
||||||
|
|
||||||
|
import '../../../../../appRouters.dart';
|
||||||
|
import '../../../../../app_settings/app_colors.dart';
|
||||||
|
import '../../../../../tools/commonItem.dart';
|
||||||
|
import '../../../../../tools/submitBtn.dart';
|
||||||
|
import '../../../../../tools/titleAppBar.dart';
|
||||||
|
import '../../../../../translations/trans_lib.dart';
|
||||||
|
|
||||||
|
class LockGroupListPage extends StatefulWidget {
|
||||||
|
const LockGroupListPage({Key? key}) : super(key: key);
|
||||||
|
|
||||||
|
@override
|
||||||
|
State<LockGroupListPage> createState() => _LockGroupListPageState();
|
||||||
|
}
|
||||||
|
|
||||||
|
class _LockGroupListPageState extends State<LockGroupListPage> {
|
||||||
|
@override
|
||||||
|
Widget build(BuildContext context) {
|
||||||
|
return Scaffold(
|
||||||
|
backgroundColor: AppColors.mainBackgroundColor,
|
||||||
|
appBar: TitleAppBar(
|
||||||
|
barTitle: TranslationLoader.lanKeys!.basicInformation!.tr,
|
||||||
|
haveBack: true,
|
||||||
|
actionsList: [
|
||||||
|
IconButton(
|
||||||
|
icon: Image.asset('images/icon_add_white.png'),
|
||||||
|
onPressed: () {
|
||||||
|
// 处理操作按钮的点击事件-添加锁分组
|
||||||
|
},
|
||||||
|
),
|
||||||
|
],
|
||||||
|
backgroundColor: AppColors.mainColor),
|
||||||
|
body: Column(
|
||||||
|
children: [
|
||||||
|
Expanded(child: _buildMainUI()),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
Widget _buildMainUI() {
|
||||||
|
return ListView.builder(
|
||||||
|
itemCount: 2,
|
||||||
|
itemBuilder: (c, index) {
|
||||||
|
if (index == 1) {
|
||||||
|
return Center(
|
||||||
|
child: SizedBox(
|
||||||
|
height: 40.h,
|
||||||
|
child: const Text(
|
||||||
|
'锁数量:1',
|
||||||
|
style: TextStyle(
|
||||||
|
color: AppColors.darkGrayTextColor, fontSize: 14),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
);
|
||||||
|
} else {
|
||||||
|
return CommonItem(
|
||||||
|
leftTitel: "未分组(1)",
|
||||||
|
rightTitle: "",
|
||||||
|
allHeight: 70.h,
|
||||||
|
isHaveLine: true,
|
||||||
|
action: () {
|
||||||
|
Navigator.pushNamed(context, Routers.lockItemListPage);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
66
star_lock/lib/mine/mineSet/lockGroup/lockItemList_page.dart
Normal file
66
star_lock/lib/mine/mineSet/lockGroup/lockItemList_page.dart
Normal file
@ -0,0 +1,66 @@
|
|||||||
|
import 'package:flutter/material.dart';
|
||||||
|
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
||||||
|
import 'package:get/get.dart';
|
||||||
|
|
||||||
|
import '../../../../../app_settings/app_colors.dart';
|
||||||
|
import '../../../../../tools/commonItem.dart';
|
||||||
|
import '../../../../../tools/titleAppBar.dart';
|
||||||
|
import '../../../../../translations/trans_lib.dart';
|
||||||
|
|
||||||
|
class LockItemListPage extends StatefulWidget {
|
||||||
|
const LockItemListPage({Key? key}) : super(key: key);
|
||||||
|
|
||||||
|
@override
|
||||||
|
State<LockItemListPage> createState() => _LockItemListPageState();
|
||||||
|
}
|
||||||
|
|
||||||
|
class _LockItemListPageState extends State<LockItemListPage> {
|
||||||
|
@override
|
||||||
|
Widget build(BuildContext context) {
|
||||||
|
return Scaffold(
|
||||||
|
backgroundColor: AppColors.mainBackgroundColor,
|
||||||
|
appBar: TitleAppBar(
|
||||||
|
barTitle: TranslationLoader.lanKeys!.basicInformation!.tr,
|
||||||
|
haveBack: true,
|
||||||
|
backgroundColor: AppColors.mainColor),
|
||||||
|
body: ListView.builder(
|
||||||
|
itemBuilder: (context, index) {
|
||||||
|
return _listItemView();
|
||||||
|
},
|
||||||
|
itemCount: 2,
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
Widget _listItemView() {
|
||||||
|
return GestureDetector(
|
||||||
|
child: Container(
|
||||||
|
color: Colors.white,
|
||||||
|
height: 70.h,
|
||||||
|
child: Row(
|
||||||
|
mainAxisAlignment: MainAxisAlignment.start,
|
||||||
|
crossAxisAlignment: CrossAxisAlignment.center,
|
||||||
|
children: [
|
||||||
|
SizedBox(
|
||||||
|
width: 20.w,
|
||||||
|
),
|
||||||
|
Image.asset(
|
||||||
|
'images/icon_lockGroup_item.png',
|
||||||
|
width: 30,
|
||||||
|
height: 30,
|
||||||
|
fit: BoxFit.fill,
|
||||||
|
),
|
||||||
|
SizedBox(
|
||||||
|
width: 8.w,
|
||||||
|
),
|
||||||
|
const Text(
|
||||||
|
'Daisy',
|
||||||
|
style: TextStyle(fontSize: 14),
|
||||||
|
)
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
onTap: () {},
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -23,7 +23,7 @@ class _LockUserManageListListPageState
|
|||||||
return Scaffold(
|
return Scaffold(
|
||||||
backgroundColor: AppColors.mainBackgroundColor,
|
backgroundColor: AppColors.mainBackgroundColor,
|
||||||
appBar: TitleAppBar(
|
appBar: TitleAppBar(
|
||||||
barTitle: TranslationLoader.lanKeys!.authorizedAdmin!.tr,
|
barTitle: TranslationLoader.lanKeys!.lockUserManagement!.tr,
|
||||||
haveBack: true,
|
haveBack: true,
|
||||||
backgroundColor: AppColors.mainColor,
|
backgroundColor: AppColors.mainColor,
|
||||||
actionsList: [
|
actionsList: [
|
||||||
|
|||||||
@ -81,14 +81,19 @@ class _MineSetPageState extends State<MineSetPage> {
|
|||||||
rightTitle: "",
|
rightTitle: "",
|
||||||
isHaveLine: true,
|
isHaveLine: true,
|
||||||
isHaveDirection: true,
|
isHaveDirection: true,
|
||||||
action: () {}),
|
action: () {
|
||||||
|
Navigator.pushNamed(context, Routers.lockGroupListPage);
|
||||||
|
}),
|
||||||
CommonItem(
|
CommonItem(
|
||||||
leftTitel:
|
leftTitel:
|
||||||
TranslationLoader.lanKeys!.transferSmartLock!.tr,
|
TranslationLoader.lanKeys!.transferSmartLock!.tr,
|
||||||
rightTitle: "",
|
rightTitle: "",
|
||||||
isHaveLine: true,
|
isHaveLine: true,
|
||||||
isHaveDirection: true,
|
isHaveDirection: true,
|
||||||
action: () {}),
|
action: () {
|
||||||
|
Navigator.pushNamed(
|
||||||
|
context, Routers.transferSmartLockPage);
|
||||||
|
}),
|
||||||
CommonItem(
|
CommonItem(
|
||||||
leftTitel: TranslationLoader.lanKeys!.transferGateway!.tr,
|
leftTitel: TranslationLoader.lanKeys!.transferGateway!.tr,
|
||||||
rightTitle: "",
|
rightTitle: "",
|
||||||
|
|||||||
@ -0,0 +1,198 @@
|
|||||||
|
import 'package:flutter/material.dart';
|
||||||
|
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
||||||
|
import 'package:get/get.dart';
|
||||||
|
|
||||||
|
import '../../../../appRouters.dart';
|
||||||
|
import '../../../../app_settings/app_colors.dart';
|
||||||
|
import '../../../../tools/titleAppBar.dart';
|
||||||
|
import '../../../../translations/trans_lib.dart';
|
||||||
|
|
||||||
|
class RecipientInformationPage extends StatefulWidget {
|
||||||
|
const RecipientInformationPage({Key? key}) : super(key: key);
|
||||||
|
|
||||||
|
@override
|
||||||
|
State<RecipientInformationPage> createState() =>
|
||||||
|
_RecipientInformationPageState();
|
||||||
|
}
|
||||||
|
|
||||||
|
class _RecipientInformationPageState extends State<RecipientInformationPage> {
|
||||||
|
@override
|
||||||
|
Widget build(BuildContext context) {
|
||||||
|
return Scaffold(
|
||||||
|
backgroundColor: AppColors.mainBackgroundColor,
|
||||||
|
appBar: TitleAppBar(
|
||||||
|
barTitle: TranslationLoader.lanKeys!.recipientInformation!.tr,
|
||||||
|
haveBack: true,
|
||||||
|
backgroundColor: AppColors.mainColor,
|
||||||
|
),
|
||||||
|
body: Column(
|
||||||
|
children: [
|
||||||
|
SizedBox(height: 150.h, child: _buildMainUI()),
|
||||||
|
SizedBox(
|
||||||
|
height: 20.h,
|
||||||
|
),
|
||||||
|
_buildAccoutRow(),
|
||||||
|
_buildBottomText(),
|
||||||
|
_buildNextBtn(),
|
||||||
|
Expanded(
|
||||||
|
child: SizedBox(
|
||||||
|
height: 64.h,
|
||||||
|
)),
|
||||||
|
_buildRemoveBadLockBtn(),
|
||||||
|
SizedBox(
|
||||||
|
height: 64.h,
|
||||||
|
)
|
||||||
|
],
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
Widget _buildMainUI() {
|
||||||
|
return ListView.separated(
|
||||||
|
itemCount: 2,
|
||||||
|
separatorBuilder: (context, index) {
|
||||||
|
return Divider(
|
||||||
|
height: 1,
|
||||||
|
indent: 20.w,
|
||||||
|
endIndent: 20.w,
|
||||||
|
color: AppColors.greyLineColor,
|
||||||
|
);
|
||||||
|
},
|
||||||
|
itemBuilder: (c, index) {
|
||||||
|
if (index == 0) {
|
||||||
|
return _electronicKeyItem(
|
||||||
|
'images/select_circle.png', "个人用户", () {});
|
||||||
|
} else {
|
||||||
|
return _electronicKeyItem(
|
||||||
|
'images/normal_circle.png', "好房管家", () {});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
Widget _electronicKeyItem(
|
||||||
|
String leftIcon, String leftTitle, Function() action) {
|
||||||
|
return GestureDetector(
|
||||||
|
child: Container(
|
||||||
|
color: Colors.white,
|
||||||
|
height: 70.h,
|
||||||
|
child: Row(
|
||||||
|
mainAxisAlignment: MainAxisAlignment.start,
|
||||||
|
crossAxisAlignment: CrossAxisAlignment.center,
|
||||||
|
children: [
|
||||||
|
SizedBox(
|
||||||
|
width: 40.w,
|
||||||
|
),
|
||||||
|
GestureDetector(
|
||||||
|
child: Image.asset(
|
||||||
|
leftIcon,
|
||||||
|
width: 16,
|
||||||
|
height: 16,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
SizedBox(
|
||||||
|
width: 16.w,
|
||||||
|
),
|
||||||
|
Text(
|
||||||
|
leftTitle,
|
||||||
|
style: TextStyle(fontSize: 28.sp),
|
||||||
|
)
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
onTap: () {},
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
Widget _buildAccoutRow() {
|
||||||
|
return Container(
|
||||||
|
height: 60.h,
|
||||||
|
color: Colors.white,
|
||||||
|
child: Row(
|
||||||
|
children: [
|
||||||
|
SizedBox(
|
||||||
|
width: 40.w,
|
||||||
|
),
|
||||||
|
Text(
|
||||||
|
'账号',
|
||||||
|
style:
|
||||||
|
TextStyle(color: AppColors.darkGrayTextColor, fontSize: 24.sp),
|
||||||
|
),
|
||||||
|
Expanded(
|
||||||
|
child: TextField(
|
||||||
|
textAlign: TextAlign.right,
|
||||||
|
keyboardType: TextInputType.text,
|
||||||
|
onChanged: (value) {},
|
||||||
|
decoration: InputDecoration(
|
||||||
|
border: InputBorder.none,
|
||||||
|
hintText: '请输入手机号或email',
|
||||||
|
hintStyle: TextStyle(
|
||||||
|
color: AppColors.placeholderTextColor,
|
||||||
|
fontSize: ScreenUtil().setSp(24),
|
||||||
|
textBaseline: TextBaseline.alphabetic),
|
||||||
|
),
|
||||||
|
)),
|
||||||
|
SizedBox(
|
||||||
|
width: 20.w,
|
||||||
|
),
|
||||||
|
Image.asset(
|
||||||
|
'images/icon_addressBook.png',
|
||||||
|
width: 28.w,
|
||||||
|
height: 28.h,
|
||||||
|
),
|
||||||
|
SizedBox(
|
||||||
|
width: 40.w,
|
||||||
|
)
|
||||||
|
],
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
Widget _buildBottomText() {
|
||||||
|
return Padding(
|
||||||
|
padding: EdgeInsets.only(top: 20.h, bottom: 80.h),
|
||||||
|
child: Text(
|
||||||
|
'选中的智能锁将会转移到您输入的账号中,您将失去锁的管理权',
|
||||||
|
style:
|
||||||
|
TextStyle(fontSize: 20.sp, color: AppColors.placeholderTextColor),
|
||||||
|
textAlign: TextAlign.left,
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
Widget _buildNextBtn() {
|
||||||
|
return GestureDetector(
|
||||||
|
child: Container(
|
||||||
|
color: Colors.grey,
|
||||||
|
width: ScreenUtil().screenWidth - 80.w,
|
||||||
|
height: 64.h,
|
||||||
|
child: TextButton(
|
||||||
|
onPressed: () {
|
||||||
|
Navigator.pushNamed(context, Routers.selectBranchPage);
|
||||||
|
},
|
||||||
|
child: Text(
|
||||||
|
'下一步',
|
||||||
|
style: TextStyle(fontSize: 28.sp, color: Colors.white),
|
||||||
|
)),
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
Widget _buildRemoveBadLockBtn() {
|
||||||
|
return Row(
|
||||||
|
children: [
|
||||||
|
const Expanded(child: SizedBox()),
|
||||||
|
TextButton(
|
||||||
|
onPressed: () {},
|
||||||
|
child: Text(
|
||||||
|
'移除坏锁',
|
||||||
|
style: TextStyle(
|
||||||
|
fontSize: 28.sp, color: AppColors.darkGrayTextColor),
|
||||||
|
textAlign: TextAlign.end,
|
||||||
|
)),
|
||||||
|
SizedBox(
|
||||||
|
width: 10.h,
|
||||||
|
)
|
||||||
|
],
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,134 @@
|
|||||||
|
import 'package:flutter/material.dart';
|
||||||
|
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
||||||
|
import 'package:get/get.dart';
|
||||||
|
|
||||||
|
import '../../../../appRouters.dart';
|
||||||
|
import '../../../../app_settings/app_colors.dart';
|
||||||
|
import '../../../../tools/titleAppBar.dart';
|
||||||
|
import '../../../../translations/trans_lib.dart';
|
||||||
|
|
||||||
|
class SelectBranchPage extends StatefulWidget {
|
||||||
|
const SelectBranchPage({Key? key}) : super(key: key);
|
||||||
|
|
||||||
|
@override
|
||||||
|
State<SelectBranchPage> createState() => _SelectBranchPageState();
|
||||||
|
}
|
||||||
|
|
||||||
|
class _SelectBranchPageState extends State<SelectBranchPage> {
|
||||||
|
@override
|
||||||
|
Widget build(BuildContext context) {
|
||||||
|
return Scaffold(
|
||||||
|
backgroundColor: AppColors.mainBackgroundColor,
|
||||||
|
appBar: TitleAppBar(
|
||||||
|
barTitle: TranslationLoader.lanKeys!.recipientInformation!.tr,
|
||||||
|
haveBack: true,
|
||||||
|
backgroundColor: AppColors.mainColor,
|
||||||
|
),
|
||||||
|
body: Column(
|
||||||
|
children: [
|
||||||
|
_buildTopView(),
|
||||||
|
SizedBox(
|
||||||
|
height: 20.h,
|
||||||
|
),
|
||||||
|
Expanded(child: _buildMainUI()),
|
||||||
|
_buildNextBtn(),
|
||||||
|
SizedBox(
|
||||||
|
height: 64.h,
|
||||||
|
)
|
||||||
|
],
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
Widget _buildTopView() {
|
||||||
|
return Container(
|
||||||
|
height: 120.h,
|
||||||
|
width: ScreenUtil().screenWidth,
|
||||||
|
color: Colors.white,
|
||||||
|
child: Column(
|
||||||
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
|
children: [
|
||||||
|
Padding(
|
||||||
|
padding: EdgeInsets.only(left: 40.w, top: 20.h, bottom: 16.h),
|
||||||
|
child: Text(
|
||||||
|
'公寓',
|
||||||
|
style: TextStyle(fontSize: 28.sp),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
Padding(
|
||||||
|
padding: EdgeInsets.only(left: 40.w),
|
||||||
|
child: Text('管理员:18682150237',
|
||||||
|
style: TextStyle(
|
||||||
|
color: AppColors.darkGrayTextColor, fontSize: 24.sp)),
|
||||||
|
)
|
||||||
|
],
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
Widget _buildMainUI() {
|
||||||
|
return ListView.separated(
|
||||||
|
itemCount: 5,
|
||||||
|
separatorBuilder: (context, index) {
|
||||||
|
return Divider(
|
||||||
|
height: 1,
|
||||||
|
indent: 20.w,
|
||||||
|
endIndent: 20.w,
|
||||||
|
color: AppColors.greyLineColor,
|
||||||
|
);
|
||||||
|
},
|
||||||
|
itemBuilder: (c, index) {
|
||||||
|
return _electronicKeyItem('images/select_circle.png', "分组一", () {});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
Widget _electronicKeyItem(
|
||||||
|
String leftIcon, String leftTitle, Function() action) {
|
||||||
|
return GestureDetector(
|
||||||
|
child: Container(
|
||||||
|
color: Colors.white,
|
||||||
|
height: 70.h,
|
||||||
|
child: Row(
|
||||||
|
mainAxisAlignment: MainAxisAlignment.start,
|
||||||
|
crossAxisAlignment: CrossAxisAlignment.center,
|
||||||
|
children: [
|
||||||
|
SizedBox(
|
||||||
|
width: 40.w,
|
||||||
|
),
|
||||||
|
GestureDetector(
|
||||||
|
child: Image.asset(
|
||||||
|
leftIcon,
|
||||||
|
width: 16,
|
||||||
|
height: 16,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
SizedBox(
|
||||||
|
width: 16.w,
|
||||||
|
),
|
||||||
|
Text(
|
||||||
|
leftTitle,
|
||||||
|
style: TextStyle(fontSize: 28.sp),
|
||||||
|
)
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
onTap: () {},
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
Widget _buildNextBtn() {
|
||||||
|
return GestureDetector(
|
||||||
|
child: Container(
|
||||||
|
color: AppColors.mainColor,
|
||||||
|
width: ScreenUtil().screenWidth,
|
||||||
|
height: 64.h,
|
||||||
|
child: TextButton(
|
||||||
|
onPressed: () {},
|
||||||
|
child: Text(
|
||||||
|
'下一步',
|
||||||
|
style: TextStyle(fontSize: 28.sp, color: Colors.white),
|
||||||
|
)),
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,166 @@
|
|||||||
|
import 'package:flutter/material.dart';
|
||||||
|
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
||||||
|
import 'package:get/get.dart';
|
||||||
|
|
||||||
|
import '../../../../appRouters.dart';
|
||||||
|
import '../../../../app_settings/app_colors.dart';
|
||||||
|
import '../../../../tools/titleAppBar.dart';
|
||||||
|
import '../../../../translations/trans_lib.dart';
|
||||||
|
|
||||||
|
class TransferSmartLockPage extends StatefulWidget {
|
||||||
|
const TransferSmartLockPage({Key? key}) : super(key: key);
|
||||||
|
|
||||||
|
@override
|
||||||
|
State<TransferSmartLockPage> createState() => _TransferSmartLockPageState();
|
||||||
|
}
|
||||||
|
|
||||||
|
class _TransferSmartLockPageState extends State<TransferSmartLockPage> {
|
||||||
|
@override
|
||||||
|
Widget build(BuildContext context) {
|
||||||
|
return Scaffold(
|
||||||
|
backgroundColor: AppColors.mainBackgroundColor,
|
||||||
|
appBar: TitleAppBar(
|
||||||
|
barTitle: TranslationLoader.lanKeys!.selectiveLock!.tr,
|
||||||
|
haveBack: true,
|
||||||
|
backgroundColor: AppColors.mainColor,
|
||||||
|
actionsList: [
|
||||||
|
TextButton(
|
||||||
|
onPressed: () {},
|
||||||
|
child: Text(
|
||||||
|
'全选',
|
||||||
|
style: TextStyle(color: Colors.white, fontSize: 28.sp),
|
||||||
|
))
|
||||||
|
],
|
||||||
|
),
|
||||||
|
body: Column(
|
||||||
|
children: [
|
||||||
|
_searchWidget(),
|
||||||
|
SizedBox(
|
||||||
|
height: 10.h,
|
||||||
|
),
|
||||||
|
Expanded(child: _buildMainUI()),
|
||||||
|
SizedBox(
|
||||||
|
height: 20.h,
|
||||||
|
),
|
||||||
|
_buildNextBtn(),
|
||||||
|
SizedBox(
|
||||||
|
height: 64.h,
|
||||||
|
)
|
||||||
|
],
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
Widget _searchWidget() {
|
||||||
|
return Container(
|
||||||
|
height: 60.h,
|
||||||
|
margin: EdgeInsets.only(top: 20.w, left: 20.w, right: 20.w),
|
||||||
|
decoration: BoxDecoration(
|
||||||
|
color: Colors.white, borderRadius: BorderRadius.circular(5)),
|
||||||
|
child: TextField(
|
||||||
|
//输入框一行
|
||||||
|
maxLines: 1,
|
||||||
|
// controller: _controller,
|
||||||
|
autofocus: false,
|
||||||
|
decoration: InputDecoration(
|
||||||
|
//输入里面输入文字内边距设置
|
||||||
|
contentPadding: const EdgeInsets.only(
|
||||||
|
top: 12.0, left: -19.0, right: -15.0, bottom: 8.0),
|
||||||
|
hintText: TranslationLoader.lanKeys!.pleaseEnter!.tr,
|
||||||
|
//不需要输入框下划线
|
||||||
|
border: InputBorder.none,
|
||||||
|
//左边图标设置
|
||||||
|
icon: Padding(
|
||||||
|
padding: EdgeInsets.only(
|
||||||
|
top: 30.w, bottom: 20.w, right: 20.w, left: 20.w),
|
||||||
|
child: Image.asset(
|
||||||
|
'images/main/icon_main_search.png',
|
||||||
|
width: 40.w,
|
||||||
|
height: 40.w,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
Widget _buildMainUI() {
|
||||||
|
return ListView.separated(
|
||||||
|
itemCount: 10,
|
||||||
|
separatorBuilder: (context, index) {
|
||||||
|
return Divider(
|
||||||
|
height: 1,
|
||||||
|
indent: 20.w,
|
||||||
|
endIndent: 20.w,
|
||||||
|
color: AppColors.greyLineColor,
|
||||||
|
);
|
||||||
|
},
|
||||||
|
itemBuilder: (c, index) {
|
||||||
|
return _electronicKeyItem('images/icon_lock.png', "张三",
|
||||||
|
"2023.6.21 11.15", "2023.6.21 11.15", () {
|
||||||
|
Navigator.pushNamed(context, Routers.authorizedAdminDetailPage);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
Widget _electronicKeyItem(String lockTypeIcon, String lockTypeTitle,
|
||||||
|
String beginTime, String endTime, Function() action) {
|
||||||
|
return GestureDetector(
|
||||||
|
child: Container(
|
||||||
|
color: Colors.white,
|
||||||
|
height: 70.h,
|
||||||
|
child: Row(
|
||||||
|
mainAxisAlignment: MainAxisAlignment.start,
|
||||||
|
crossAxisAlignment: CrossAxisAlignment.center,
|
||||||
|
children: [
|
||||||
|
SizedBox(
|
||||||
|
width: 20.w,
|
||||||
|
),
|
||||||
|
GestureDetector(
|
||||||
|
child: Image.asset(
|
||||||
|
'images/icon_round_unSelet.png',
|
||||||
|
width: 16,
|
||||||
|
height: 16,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
SizedBox(
|
||||||
|
width: 16.w,
|
||||||
|
),
|
||||||
|
Image.asset(
|
||||||
|
'images/icon_lockGroup_item.png',
|
||||||
|
width: 30,
|
||||||
|
height: 30,
|
||||||
|
fit: BoxFit.fill,
|
||||||
|
),
|
||||||
|
SizedBox(
|
||||||
|
width: 8.w,
|
||||||
|
),
|
||||||
|
const Text(
|
||||||
|
'Daisy',
|
||||||
|
style: TextStyle(fontSize: 14),
|
||||||
|
)
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
onTap: () {},
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
Widget _buildNextBtn() {
|
||||||
|
return GestureDetector(
|
||||||
|
child: Container(
|
||||||
|
color: Colors.grey,
|
||||||
|
width: ScreenUtil().screenWidth,
|
||||||
|
height: 64.h,
|
||||||
|
child: TextButton(
|
||||||
|
onPressed: () {
|
||||||
|
Navigator.pushNamed(context, Routers.recipientInformationPage);
|
||||||
|
},
|
||||||
|
child: Text(
|
||||||
|
'下一步',
|
||||||
|
style: TextStyle(fontSize: 28.sp, color: Colors.white),
|
||||||
|
)),
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -198,6 +198,8 @@ class LanKeyEntity {
|
|||||||
this.authorizedAdmin,
|
this.authorizedAdmin,
|
||||||
this.lockGroup,
|
this.lockGroup,
|
||||||
this.transferSmartLock,
|
this.transferSmartLock,
|
||||||
|
this.selectiveLock,
|
||||||
|
this.recipientInformation,
|
||||||
this.transferGateway,
|
this.transferGateway,
|
||||||
this.multiLanguage,
|
this.multiLanguage,
|
||||||
this.lockScreen,
|
this.lockScreen,
|
||||||
@ -564,6 +566,8 @@ class LanKeyEntity {
|
|||||||
authorizedAdmin = json['authorizedAdmin'];
|
authorizedAdmin = json['authorizedAdmin'];
|
||||||
lockGroup = json['lockGroup'];
|
lockGroup = json['lockGroup'];
|
||||||
transferSmartLock = json['transferSmartLock'];
|
transferSmartLock = json['transferSmartLock'];
|
||||||
|
selectiveLock = json['selectiveLock'];
|
||||||
|
recipientInformation = json['recipientInformation'];
|
||||||
transferGateway = json['transferGateway'];
|
transferGateway = json['transferGateway'];
|
||||||
|
|
||||||
multiLanguage = json['multiLanguage'];
|
multiLanguage = json['multiLanguage'];
|
||||||
@ -946,6 +950,8 @@ class LanKeyEntity {
|
|||||||
String? authorizedAdmin;
|
String? authorizedAdmin;
|
||||||
String? lockGroup;
|
String? lockGroup;
|
||||||
String? transferSmartLock;
|
String? transferSmartLock;
|
||||||
|
String? selectiveLock;
|
||||||
|
String? recipientInformation;
|
||||||
String? transferGateway;
|
String? transferGateway;
|
||||||
|
|
||||||
String? multiLanguage;
|
String? multiLanguage;
|
||||||
@ -1324,6 +1330,8 @@ class LanKeyEntity {
|
|||||||
map['authorizedAdmin'] = authorizedAdmin;
|
map['authorizedAdmin'] = authorizedAdmin;
|
||||||
map['lockGroup'] = lockGroup;
|
map['lockGroup'] = lockGroup;
|
||||||
map['transferSmartLock'] = transferSmartLock;
|
map['transferSmartLock'] = transferSmartLock;
|
||||||
|
map['selectiveLock'] = selectiveLock;
|
||||||
|
map['recipientInformation'] = recipientInformation;
|
||||||
map['transferGateway'] = transferGateway;
|
map['transferGateway'] = transferGateway;
|
||||||
|
|
||||||
map['multiLanguage'] = multiLanguage;
|
map['multiLanguage'] = multiLanguage;
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user