Merge remote-tracking branch 'origin/master'

# Conflicts:
#	star_lock/lib/main/lockMian/lockMain_page.dart
This commit is contained in:
魏少阳 2023-07-27 15:31:40 +08:00
commit a01d4f6cad
76 changed files with 3652 additions and 1662 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 624 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 753 B

View File

@ -188,6 +188,7 @@
"lanChinese":"Chinese", "lanChinese":"Chinese",
"multilingual":"Multilingual", "multilingual":"Multilingual",
"addLock":"Add Lock", "addLock":"Add Lock",
"addDevice":"Add device",
"gateway":"Gateway", "gateway":"Gateway",
"message":"Message", "message":"Message",
"supportStaff":"Support Staff", "supportStaff":"Support Staff",
@ -201,6 +202,7 @@
"lockUserManagement":"Lock User Management", "lockUserManagement":"Lock User Management",
"aboutToExpire":"About to expire", "aboutToExpire":"About to expire",
"authorizedAdmin":"Authorized Admin", "authorizedAdmin":"Authorized Admin",
"addAuthorizedAdmin":"Adding an Authorized Administrator",
"lockGroup":"Lock Group", "lockGroup":"Lock Group",
"transferSmartLock":"Transfer Smart Lock", "transferSmartLock":"Transfer Smart Lock",
"selectiveLock":"Selective lock", "selectiveLock":"Selective lock",
@ -230,7 +232,9 @@
"safetyProblem":"Safety Problem", "safetyProblem":"Safety Problem",
"modifyAccountTip":"For the security of your account, please use the account password verification before modifying the account", "modifyAccountTip":"For the security of your account, please use the account password verification before modifying the account",
"pleaseEnterAccountNumber":"Please enter your account number", "pleaseEnterAccountNumber":"Please enter your account number",
"pleaseEnterNewAccountNumber":"Please enter your new account number",
"changeIphoneTip":"When you retrieve your password and log in to a new device, you can verify it with the attached phone", "changeIphoneTip":"When you retrieve your password and log in to a new device, you can verify it with the attached phone",
"changeEmailTip":"When you retrieve your password and log in to a new device, you can verify it with the attached Email",
"originalPassword":"Original Password", "originalPassword":"Original Password",
"newPassword":"New Password", "newPassword":"New Password",
"surePassword":"Sure Password", "surePassword":"Sure Password",
@ -276,6 +280,7 @@
"padlock":"Pad lock", "padlock":"Pad lock",
"safeLock":"Safe Lock", "safeLock":"Safe Lock",
"intelligentLockCore":"Intelligent Lock Core", "intelligentLockCore":"Intelligent Lock Core",
"itelligentAccessControl":"Intelligent access control",
"parkingLock":"Parking Lock", "parkingLock":"Parking Lock",
"bicycleLock":"Bicycle Lock", "bicycleLock":"Bicycle Lock",
"longRangeControl":"LongRange Control", "longRangeControl":"LongRange Control",

View File

@ -188,6 +188,7 @@
"lanChinese":"lanChinese", "lanChinese":"lanChinese",
"multilingual":"multilingual", "multilingual":"multilingual",
"addLock":"addLock", "addLock":"addLock",
"addDevice":"addDevice",
"gateway":"gateway", "gateway":"gateway",
"message":"message", "message":"message",
"supportStaff":"supportStaff", "supportStaff":"supportStaff",
@ -200,6 +201,7 @@
"pushNotification":"pushNotification", "pushNotification":"pushNotification",
"lockUserManagement":"lockUserManagement", "lockUserManagement":"lockUserManagement",
"authorizedAdmin":"authorizedAdmin", "authorizedAdmin":"authorizedAdmin",
"addAuthorizedAdmin":"addAuthorizedAdmin",
"lockGroup":"lockGroup", "lockGroup":"lockGroup",
"transferSmartLock":"transferSmartLock", "transferSmartLock":"transferSmartLock",
"selectiveLock":"selectiveLock", "selectiveLock":"selectiveLock",
@ -229,7 +231,9 @@
"safetyProblem":"safetyProblem", "safetyProblem":"safetyProblem",
"modifyAccountTip":"modifyAccountTip", "modifyAccountTip":"modifyAccountTip",
"pleaseEnterAccountNumber":"pleaseEnterAccountNumber", "pleaseEnterAccountNumber":"pleaseEnterAccountNumber",
"pleaseEnterNewAccountNumber":"pleaseEnterNewAccountNumber",
"changeIphoneTip":"changeIphoneTip", "changeIphoneTip":"changeIphoneTip",
"changeEmailTip":"changeEmailTip",
"originalPassword":"originalPassword", "originalPassword":"originalPassword",
"newPassword":"newPassword", "newPassword":"newPassword",
"surePassword":"surePassword", "surePassword":"surePassword",
@ -276,6 +280,7 @@
"padlock":"padlock", "padlock":"padlock",
"safeLock":"safeLock", "safeLock":"safeLock",
"intelligentLockCore":"intelligentLockCore", "intelligentLockCore":"intelligentLockCore",
"itelligentAccessControl":"itelligentAccessControl",
"parkingLock":"parkingLock", "parkingLock":"parkingLock",
"bicycleLock":"bicycleLock", "bicycleLock":"bicycleLock",
"longRangeControl":"longRangeControl", "longRangeControl":"longRangeControl",

View File

@ -188,6 +188,7 @@
"lanChinese":"中文", "lanChinese":"中文",
"multilingual":"多语言", "multilingual":"多语言",
"addLock":"添加锁", "addLock":"添加锁",
"addDevice":"添加设备",
"gateway":"网关", "gateway":"网关",
"message":"消息", "message":"消息",
"supportStaff":"客服", "supportStaff":"客服",
@ -200,6 +201,7 @@
"pushNotification":"消息推送", "pushNotification":"消息推送",
"lockUserManagement":"锁用户管理", "lockUserManagement":"锁用户管理",
"authorizedAdmin":"授权管理员", "authorizedAdmin":"授权管理员",
"addAuthorizedAdmin":"添加授权管理员",
"lockGroup":"锁分组", "lockGroup":"锁分组",
"transferSmartLock":"转移智能锁", "transferSmartLock":"转移智能锁",
"selectiveLock":"选择锁", "selectiveLock":"选择锁",
@ -229,7 +231,9 @@
"safetyProblem":"安全问题", "safetyProblem":"安全问题",
"modifyAccountTip":"为了你的账号安全,修改账号前请先使用账号密码验证", "modifyAccountTip":"为了你的账号安全,修改账号前请先使用账号密码验证",
"pleaseEnterAccountNumber":"请输入账号", "pleaseEnterAccountNumber":"请输入账号",
"changeIphoneTip":"找回密码和登陆新设备时,可通过绑定的手机验证", "pleaseEnterNewAccountNumber":"请输入新账号",
"changeIphoneTip":"找回密码和登录新设备时,可通过绑定的手机验证",
"changeEmailTip":"找回密码和登录新设备时,可通过绑定的邮箱验证",
"originalPassword":"原密码", "originalPassword":"原密码",
"newPassword":"新密码", "newPassword":"新密码",
"surePassword":"确认密码", "surePassword":"确认密码",
@ -276,11 +280,12 @@
"padlock":"挂锁", "padlock":"挂锁",
"safeLock":"保险箱锁", "safeLock":"保险箱锁",
"intelligentLockCore":"智能锁芯", "intelligentLockCore":"智能锁芯",
"itelligentAccessControl":"智能门禁",
"parkingLock":"车位锁", "parkingLock":"车位锁",
"bicycleLock":"自行车锁", "bicycleLock":"自行车锁",
"longRangeControl":"远程控制", "longRangeControl":"远程控制",
"lightTouchScreen":"摸亮触摸屏", "lightTouchScreen":"摸亮触摸屏",
"lightTouchScreenTip":"摸亮触摸屏,锁进入可添加状态,点击下一步", "lightTouchScreenTip":"摸亮触摸屏,锁进入可添加状态,点击下一步",
"next":"下一步", "next":"下一步",
"nearbyLock":"附近的锁", "nearbyLock":"附近的锁",
"addSuccessfullyPleaseRename":"添加成功,请重命名", "addSuccessfullyPleaseRename":"添加成功,请重命名",

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.5 KiB

After

Width:  |  Height:  |  Size: 86 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.4 KiB

After

Width:  |  Height:  |  Size: 6.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.4 KiB

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 62 KiB

View File

@ -1,5 +1,7 @@
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/minePersonInfo/minePersonInfoEmail/minePersonInfoEmail_page.dart';
import 'package:star_lock/mine/mineSet/authorizedAdministrator/addAuthorizedAdministrator_page.dart';
import 'package:star_lock/mine/mineSet/lockGroup/lockGroupList_page.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/lockUserManage/lockUserManageList_page.dart';
import 'package:star_lock/mine/mineSet/mineSet_page.dart'; import 'package:star_lock/mine/mineSet/mineSet_page.dart';
@ -202,6 +204,8 @@ abstract class Routers {
'/MinePersonInfoResetPasswordPage'; // '/MinePersonInfoResetPasswordPage'; //
static const minePersonInfoSetSafetyProblemPage = static const minePersonInfoSetSafetyProblemPage =
'/MinePersonInfoSetSafetyProblemPage'; // '/MinePersonInfoSetSafetyProblemPage'; //
static const minePersonInfoEditEmailPage =
'/MinePersonInfoEditEmailPage'; //-
static const gatewayListPage = '/GatewayListPage'; // - static const gatewayListPage = '/GatewayListPage'; // -
static const gatewayDetailPage = '/GatewayDetailPage'; // - static const gatewayDetailPage = '/GatewayDetailPage'; // -
@ -253,6 +257,8 @@ abstract class Routers {
static const recipientInformationPage = '/recipientInformationPage'; // static const recipientInformationPage = '/recipientInformationPage'; //
static const selectBranchPage = '/SelectBranchPage'; // static const selectBranchPage = '/SelectBranchPage'; //
static const selectGetewayListPage = '/selectGetewayListPage'; // static const selectGetewayListPage = '/selectGetewayListPage'; //
static const addAuthorizedAdministratorPage =
'/addAuthorizedAdministratorPage'; //
static const starLockLoginPage = '/StarLockLoginPage'; // static const starLockLoginPage = '/StarLockLoginPage'; //
static const starLockRegisterPage = '/StarLockRegisterPage'; // static const starLockRegisterPage = '/StarLockRegisterPage'; //
@ -675,6 +681,12 @@ abstract class AppRouters {
name: Routers.selectBranchPage, page: () => const SelectBranchPage()), name: Routers.selectBranchPage, page: () => const SelectBranchPage()),
GetPage( GetPage(
name: Routers.selectGetewayListPage, name: Routers.selectGetewayListPage,
page: () => const SelectGetewayListPage()) page: () => const SelectGetewayListPage()),
GetPage(
name: Routers.minePersonInfoEditEmailPage,
page: () => const MinePersonInfoEditEmailPage()),
GetPage(
name: Routers.addAuthorizedAdministratorPage,
page: () => const AddAuthorizedAdministratorPage())
]; ];
} }

View File

@ -115,7 +115,9 @@ class AppColors {
static Color progressBgColor = const Color(0xFF022345); static Color progressBgColor = const Color(0xFF022345);
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(220, 220, 220, 1); //线
static const darkGrayTextColor = Color.fromRGBO(65, 65, 65, 1); // static const darkGrayTextColor = Color.fromRGBO(65, 65, 65, 1); //
static const placeholderTextColor = Color.fromRGBO(128, 128, 128, 1); // static const placeholderTextColor = Color.fromRGBO(128, 128, 128, 1); //
static const greyBackgroundColor = Color.fromRGBO(240, 240, 240, 1); //
static const btnDisableColor = Color.fromRGBO(178, 178, 178, 1); //
} }

View File

@ -35,7 +35,7 @@ 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(585, 1265),
builder: (w, a) => _initMaterialApp()); builder: (w, a) => _initMaterialApp());
} }

View File

@ -1,4 +1,3 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:get/get.dart'; import 'package:get/get.dart';
@ -11,7 +10,8 @@ class AuthorizedAdminManagePage extends StatefulWidget {
const AuthorizedAdminManagePage({Key? key}) : super(key: key); const AuthorizedAdminManagePage({Key? key}) : super(key: key);
@override @override
State<AuthorizedAdminManagePage> createState() => _AuthorizedAdminManagePageState(); State<AuthorizedAdminManagePage> createState() =>
_AuthorizedAdminManagePageState();
} }
class _AuthorizedAdminManagePageState extends State<AuthorizedAdminManagePage> { class _AuthorizedAdminManagePageState extends State<AuthorizedAdminManagePage> {
@ -21,10 +21,15 @@ class _AuthorizedAdminManagePageState extends State<AuthorizedAdminManagePage> {
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Scaffold( return Scaffold(
backgroundColor: AppColors.mainBackgroundColor, backgroundColor: AppColors.mainBackgroundColor,
appBar: TitleAppBar(barTitle: TranslationLoader.lanKeys!.authorizedAdmin!.tr, haveBack:true, backgroundColor: AppColors.mainColor), appBar: TitleAppBar(
barTitle: TranslationLoader.lanKeys!.authorizedAdmin!.tr,
haveBack: true,
backgroundColor: AppColors.mainColor),
body: Column( body: Column(
children: [ children: [
AuthorizedAdminManageTabbar(initialIndex: index,), AuthorizedAdminManageTabbar(
initialIndex: index,
),
], ],
), ),
); );

View File

@ -1,4 +1,3 @@
import 'package:flutter/cupertino.dart'; import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart';
@ -15,7 +14,8 @@ class AuthorizedAdminDetailPage extends StatefulWidget {
const AuthorizedAdminDetailPage({Key? key}) : super(key: key); const AuthorizedAdminDetailPage({Key? key}) : super(key: key);
@override @override
State<AuthorizedAdminDetailPage> createState() => _AuthorizedAdminDetailPageState(); State<AuthorizedAdminDetailPage> createState() =>
_AuthorizedAdminDetailPageState();
} }
class _AuthorizedAdminDetailPageState extends State<AuthorizedAdminDetailPage> { class _AuthorizedAdminDetailPageState extends State<AuthorizedAdminDetailPage> {
@ -23,51 +23,82 @@ class _AuthorizedAdminDetailPageState extends State<AuthorizedAdminDetailPage> {
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Scaffold( return Scaffold(
backgroundColor: AppColors.mainBackgroundColor, backgroundColor: AppColors.mainBackgroundColor,
appBar: TitleAppBar(barTitle: "${TranslationLoader.lanKeys!.authorizedAdmin!.tr}${TranslationLoader.lanKeys!.detail!.tr}", haveBack:true, backgroundColor: AppColors.mainColor, actionsList: [ appBar: TitleAppBar(
barTitle:
"${TranslationLoader.lanKeys!.authorizedAdmin!.tr}${TranslationLoader.lanKeys!.detail!.tr}",
haveBack: true,
backgroundColor: AppColors.mainColor,
actionsList: [
TextButton( TextButton(
child: Text(TranslationLoader.lanKeys!.share!.tr, style: TextStyle(color: Colors.white),), child: Text(
onPressed: (){ TranslationLoader.lanKeys!.share!.tr,
style: TextStyle(color: Colors.white, fontSize: 24.sp),
},), ),
],), onPressed: () {},
),
],
),
body: Column( body: Column(
children: [ children: [
CommonItem(leftTitel:TranslationLoader.lanKeys!.password!.tr, rightTitle:"98765432", isHaveDirection: true, isHaveLine: true, action:(){ CommonItem(
leftTitel: TranslationLoader.lanKeys!.password!.tr,
rightTitle: "98765432",
isHaveDirection: true,
isHaveLine: true,
action: () {
showCupertinoAlertDialog(context); showCupertinoAlertDialog(context);
}), }),
CommonItem(leftTitel:TranslationLoader.lanKeys!.name!.tr, rightTitle:"你好", isHaveDirection: true, isHaveLine: true, action:(){ CommonItem(
leftTitel: TranslationLoader.lanKeys!.name!.tr,
rightTitle: "你好",
isHaveDirection: true,
isHaveLine: true,
action: () {
showCupertinoAlertDialog(context); showCupertinoAlertDialog(context);
}), }),
CommonItem(leftTitel:TranslationLoader.lanKeys!.effectiveTime!.tr, rightTitle:"永久", isHaveDirection: true, action:(){ CommonItem(
Navigator.pushNamed(context, Routers.electronicKeyDetailChangeDate); leftTitel: TranslationLoader.lanKeys!.effectiveTime!.tr,
rightTitle: "永久",
isHaveDirection: true,
action: () {
Navigator.pushNamed(
context, Routers.electronicKeyDetailChangeDate);
}), }),
Container(height: 10.h), Container(height: 10.h),
CommonItem(leftTitel:TranslationLoader.lanKeys!.sender!.tr, rightTitle:"15080825640", action:(){ CommonItem(
leftTitel: TranslationLoader.lanKeys!.sender!.tr,
}), rightTitle: "15080825640",
CommonItem(leftTitel:TranslationLoader.lanKeys!.senderTime!.tr, rightTitle:"2020.06.21 11:49", action:(){ action: () {}),
CommonItem(
}), leftTitel: TranslationLoader.lanKeys!.senderTime!.tr,
rightTitle: "2020.06.21 11:49",
action: () {}),
Container(height: 10.h), Container(height: 10.h),
CommonItem(leftTitel:TranslationLoader.lanKeys!.operatingRecord!.tr, rightTitle:"", isHaveDirection: true, action:(){ CommonItem(
leftTitel: TranslationLoader.lanKeys!.operatingRecord!.tr,
}), rightTitle: "",
isHaveDirection: true,
action: () {}),
Container(height: 40.h), Container(height: 40.h),
SubmitBtn( SubmitBtn(
btnName: TranslationLoader.lanKeys!.delete!.tr, btnName: TranslationLoader.lanKeys!.delete!.tr,
isDelete: true,
borderRadius: 20.w, borderRadius: 20.w,
margin: EdgeInsets.only(left: 30.w, right: 30.w, top: 30.w, bottom: 30.w), margin: EdgeInsets.only(
left: 30.w, right: 30.w, top: 30.w, bottom: 30.w),
padding: EdgeInsets.only(top: 25.w, bottom: 25.w), padding: EdgeInsets.only(top: 25.w, bottom: 25.w),
onClick: (){ onClick: () {}),
}
),
], ],
), ),
); );
} }
Widget commonItem(String leftTitle, String rightTitle, {bool isHaveDirection = false, bool isHaveLine = false, bool isHaveRightWidget = false, Widget? rightWidget, Function()? action}){ Widget commonItem(String leftTitle, String rightTitle,
{bool isHaveDirection = false,
bool isHaveLine = false,
bool isHaveRightWidget = false,
Widget? rightWidget,
Function()? action}) {
return GestureDetector( return GestureDetector(
onTap: action, onTap: action,
child: Column( child: Column(
@ -76,27 +107,50 @@ class _AuthorizedAdminDetailPageState extends State<AuthorizedAdminDetailPage> {
Container( Container(
// height: 80.h, // height: 80.h,
color: Colors.white, color: Colors.white,
padding: EdgeInsets.only(left:20.w, right: 10.w, top: 20.w, bottom: 20.w), padding: EdgeInsets.only(
left: 20.w, right: 10.w, top: 20.w, bottom: 20.w),
child: Row( child: Row(
children: [ children: [
SizedBox(width: 20.w), SizedBox(width: 20.w),
Text(leftTitle, style: TextStyle(fontSize: 28.sp, fontWeight: FontWeight.w500), ), Text(
leftTitle,
style:
TextStyle(fontSize: 28.sp, fontWeight: FontWeight.w500),
),
SizedBox(width: 20.w), SizedBox(width: 20.w),
Expanded( Expanded(
child: Row( child: Row(
mainAxisAlignment: MainAxisAlignment.end, mainAxisAlignment: MainAxisAlignment.end,
children: [ children: [
isHaveRightWidget?rightWidget!:Text(rightTitle, textAlign: TextAlign.end,style: TextStyle(fontSize: 28.sp, fontWeight: FontWeight.w500),) isHaveRightWidget
? rightWidget!
: Text(
rightTitle,
textAlign: TextAlign.end,
style: TextStyle(
fontSize: 28.sp, fontWeight: FontWeight.w500),
)
], ],
), ),
), ),
SizedBox(width: 5.w), SizedBox(width: 5.w),
isHaveDirection?Image.asset('images/icon_right.png', width: 50.w, height: 50.w,):SizedBox(width:10.w), isHaveDirection
? Image.asset(
'images/icon_right.png',
width: 50.w,
height: 50.w,
)
: SizedBox(width: 10.w),
// SizedBox(width:10.w), // SizedBox(width:10.w),
], ],
), ),
), ),
isHaveLine?Container(height: 0.5.h, color: Colors.grey,):Container() isHaveLine
? Container(
height: 0.5.h,
color: Colors.grey,
)
: Container()
], ],
), ),
); );
@ -112,7 +166,9 @@ class _AuthorizedAdminDetailPageState extends State<AuthorizedAdminDetailPage> {
title: const Text("修改密码"), title: const Text("修改密码"),
content: Column( content: Column(
children: <Widget>[ children: <Widget>[
const SizedBox(height: 10,), const SizedBox(
height: 10,
),
Container( Container(
height: 80.h, height: 80.h,
// color: Colors.white, // color: Colors.white,
@ -172,5 +228,4 @@ class _AuthorizedAdminDetailPageState extends State<AuthorizedAdminDetailPage> {
); );
}); });
} }
} }

View File

@ -56,7 +56,7 @@ class _AuthorizedAdminListPageState extends State<AuthorizedAdminListPage> {
Widget _searchWidget() { Widget _searchWidget() {
return Container( return Container(
height: 60.h, height: 60.h,
margin: EdgeInsets.only(top: 20.w, left: 20.w, right: 20.w), margin: EdgeInsets.only(top: 20.w, left: 20.w, right: 10.w),
decoration: BoxDecoration( decoration: BoxDecoration(
color: Colors.white, borderRadius: BorderRadius.circular(5)), color: Colors.white, borderRadius: BorderRadius.circular(5)),
child: TextField( child: TextField(
@ -64,17 +64,19 @@ class _AuthorizedAdminListPageState extends State<AuthorizedAdminListPage> {
maxLines: 1, maxLines: 1,
// controller: _controller, // controller: _controller,
autofocus: false, autofocus: false,
decoration: InputDecoration( decoration: InputDecoration(
// //
contentPadding: const EdgeInsets.only( contentPadding: const EdgeInsets.only(
top: 12.0, left: -19.0, right: -15.0, bottom: 8.0), top: 12.0, left: -19.0, right: -15.0, bottom: 8.0),
hintText: TranslationLoader.lanKeys!.pleaseEnter!.tr, hintText: TranslationLoader.lanKeys!.pleaseEnter!.tr,
hintStyle: TextStyle(fontSize: 22.sp, height: 3.0),
//线 //线
border: InputBorder.none, border: InputBorder.none,
// //
icon: Padding( icon: Padding(
padding: EdgeInsets.only( padding: EdgeInsets.only(
top: 30.w, bottom: 20.w, right: 20.w, left: 20.w), top: 20.h, bottom: 20.h, right: 20.w, left: 10.w),
child: Image.asset( child: Image.asset(
'images/main/icon_main_search.png', 'images/main/icon_main_search.png',
width: 40.w, width: 40.w,

View File

@ -1,4 +1,4 @@
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_native_contact_picker/flutter_native_contact_picker.dart'; import 'package:flutter_native_contact_picker/flutter_native_contact_picker.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart';
@ -12,13 +12,16 @@ import '../../../../translations/trans_lib.dart';
class VolumeAuthorizationLockPage extends StatefulWidget { class VolumeAuthorizationLockPage extends StatefulWidget {
final String type; final String type;
const VolumeAuthorizationLockPage({Key? key, required this.type}):super(key:key); const VolumeAuthorizationLockPage({Key? key, required this.type})
: super(key: key);
@override @override
State<VolumeAuthorizationLockPage> createState() => _VolumeAuthorizationLockPageState(); State<VolumeAuthorizationLockPage> createState() =>
_VolumeAuthorizationLockPageState();
} }
class _VolumeAuthorizationLockPageState extends State<VolumeAuthorizationLockPage> { class _VolumeAuthorizationLockPageState
extends State<VolumeAuthorizationLockPage> {
final FlutterContactPicker _contactPicker = FlutterContactPicker(); final FlutterContactPicker _contactPicker = FlutterContactPicker();
late Contact _contact; late Contact _contact;
@ -31,7 +34,6 @@ class _VolumeAuthorizationLockPageState extends State<VolumeAuthorizationLockPag
void initState() { void initState() {
// TODO: implement initState // TODO: implement initState
super.initState(); super.initState();
} }
Widget indexChangeWidget() { Widget indexChangeWidget() {
@ -66,8 +68,19 @@ class _VolumeAuthorizationLockPageState extends State<VolumeAuthorizationLockPag
return Column( return Column(
children: [ children: [
Container(height: 10.h), Container(height: 10.h),
CommonItem(leftTitel:TranslationLoader.lanKeys!.number!.tr, rightTitle:"", isHaveLine: true, isHaveRightWidget: true, rightWidget: getTFWidget(true, TranslationLoader.lanKeys!.pleaseEnterNumberOrEmail!.tr)), CommonItem(
CommonItem(leftTitel:TranslationLoader.lanKeys!.name!.tr, rightTitle:"", isHaveRightWidget: true, rightWidget: getTFWidget(false, TranslationLoader.lanKeys!.pleaseEnter!.tr)), leftTitel: TranslationLoader.lanKeys!.number!.tr,
rightTitle: "",
isHaveLine: true,
isHaveRightWidget: true,
rightWidget: getTFWidget(
true, TranslationLoader.lanKeys!.pleaseEnterNumberOrEmail!.tr)),
CommonItem(
leftTitel: TranslationLoader.lanKeys!.name!.tr,
rightTitle: "",
isHaveRightWidget: true,
rightWidget:
getTFWidget(false, TranslationLoader.lanKeys!.pleaseEnter!.tr)),
Container(height: 10.h), Container(height: 10.h),
], ],
); );
@ -77,8 +90,14 @@ class _VolumeAuthorizationLockPageState extends State<VolumeAuthorizationLockPag
Widget keyTimeWidget() { Widget keyTimeWidget() {
return Column( return Column(
children: [ children: [
CommonItem(leftTitel:TranslationLoader.lanKeys!.effectiveTime!.tr, rightTitle:"2020.06.20 11:49", isHaveLine: true), CommonItem(
CommonItem(leftTitel:TranslationLoader.lanKeys!.failureTime!.tr, rightTitle:"2020.06.20 11:49", ), leftTitel: TranslationLoader.lanKeys!.effectiveTime!.tr,
rightTitle: "2020.06.20 11:49",
isHaveLine: true),
CommonItem(
leftTitel: TranslationLoader.lanKeys!.failureTime!.tr,
rightTitle: "2020.06.20 11:49",
),
Container(height: 10.h), Container(height: 10.h),
], ],
); );
@ -88,13 +107,18 @@ class _VolumeAuthorizationLockPageState extends State<VolumeAuthorizationLockPag
Widget remoteUnlockingWidget() { Widget remoteUnlockingWidget() {
return Column( return Column(
children: [ children: [
CommonItem(leftTitel:TranslationLoader.lanKeys!.lock!.tr, rightTitle:TranslationLoader.lanKeys!.pleaseSelet!.tr, isHaveDirection: true, action: (){ CommonItem(
leftTitel: TranslationLoader.lanKeys!.lock!.tr,
}), rightTitle: TranslationLoader.lanKeys!.pleaseSelet!.tr,
isHaveDirection: true,
action: () {}),
Container(height: 10.h), Container(height: 10.h),
CommonItem(leftTitel:TranslationLoader.lanKeys!.remoteUnlockingAllowed!.tr, rightTitle:"", isHaveRightWidget: true, rightWidget: SizedBox(width: 80.w, height: 50.h,child: _switch()), action:(){ CommonItem(
leftTitel: TranslationLoader.lanKeys!.remoteUnlockingAllowed!.tr,
}), rightTitle: "",
isHaveRightWidget: true,
rightWidget: SizedBox(width: 80.w, height: 50.h, child: _switch()),
action: () {}),
Container(height: 10.h), Container(height: 10.h),
], ],
); );
@ -110,8 +134,7 @@ class _VolumeAuthorizationLockPageState extends State<VolumeAuthorizationLockPag
padding: EdgeInsets.only(top: 25.w, bottom: 25.w), padding: EdgeInsets.only(top: 25.w, bottom: 25.w),
onClick: () { onClick: () {
// Navigator.pushNamed(context, Routers.nearbyLockPage); // Navigator.pushNamed(context, Routers.nearbyLockPage);
} }),
),
], ],
); );
} }
@ -139,16 +162,18 @@ class _VolumeAuthorizationLockPageState extends State<VolumeAuthorizationLockPag
), ),
), ),
), ),
SizedBox(width: 10.w,), SizedBox(
isHaveBtn?Container( width: 10.w,
),
isHaveBtn
? Container(
width: 50.w, width: 50.w,
height: 50.w, height: 50.w,
decoration: const BoxDecoration( decoration: const BoxDecoration(
color: Colors.white, color: Colors.white,
image: DecorationImage( image: DecorationImage(
image: AssetImage('images/icon_lock.png'), image: AssetImage('images/icon_lock.png'),
fit: BoxFit.fill fit: BoxFit.fill),
),
), ),
alignment: Alignment.center, alignment: Alignment.center,
child: InkWell( child: InkWell(
@ -160,22 +185,25 @@ class _VolumeAuthorizationLockPageState extends State<VolumeAuthorizationLockPag
}); });
}, },
), ),
):Container() )
: Container()
], ],
), ),
); );
} }
Switch _switch(){ CupertinoSwitch _switch() {
return Switch( bool _isOn = false;
value: false, return CupertinoSwitch(
activeColor: CupertinoColors.activeBlue,
trackColor: CupertinoColors.systemGrey5,
thumbColor: CupertinoColors.white,
value: _isOn,
onChanged: (value) { onChanged: (value) {
// switchValue = !switchValue;
setState(() { setState(() {
_isOn = value;
}); });
} },
); );
} }
} }

View File

@ -1,4 +1,3 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:get/get.dart'; import 'package:get/get.dart';
@ -25,34 +24,68 @@ class _CheckingInSetPageState extends State<CheckingInSetPage> {
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Scaffold( return Scaffold(
backgroundColor: AppColors.mainBackgroundColor, backgroundColor: AppColors.mainBackgroundColor,
appBar: TitleAppBar(barTitle: "${TranslationLoader.lanKeys!.checkingIn!.tr} ${TranslationLoader.lanKeys!.set!.tr}", haveBack:true, backgroundColor: AppColors.mainColor), appBar: TitleAppBar(
barTitle:
"${TranslationLoader.lanKeys!.checkingIn!.tr} ${TranslationLoader.lanKeys!.set!.tr}",
haveBack: true,
backgroundColor: AppColors.mainColor),
body: Column( body: Column(
children: [ children: [
CommonItem(leftTitel:"${TranslationLoader.lanKeys!.company!.tr} ${TranslationLoader.lanKeys!.name!.tr}", rightTitle:"深圳市志超科技", isHaveLine: true, isHaveDirection: true, action: (){ CommonItem(
leftTitel:
"${TranslationLoader.lanKeys!.company!.tr} ${TranslationLoader.lanKeys!.name!.tr}",
rightTitle: "深圳市志超科技",
isHaveLine: true,
isHaveDirection: true,
action: () {
showCupertinoAlertDialog(context); showCupertinoAlertDialog(context);
}), }),
CommonItem(leftTitel:TranslationLoader.lanKeys!.staff!.tr, rightTitle:"0", isHaveLine: true, isHaveDirection: true, action: (){ CommonItem(
leftTitel: TranslationLoader.lanKeys!.staff!.tr,
rightTitle: "0",
isHaveLine: true,
isHaveDirection: true,
action: () {
Navigator.pushNamed(context, Routers.checkingInStaffManagePage); Navigator.pushNamed(context, Routers.checkingInStaffManagePage);
}), }),
CommonItem(leftTitel:"${TranslationLoader.lanKeys!.work!.tr} ${TranslationLoader.lanKeys!.time!.tr}", rightTitle:"9:00 - 18:00", isHaveLine: true, isHaveDirection: true, action: (){ CommonItem(
leftTitel:
"${TranslationLoader.lanKeys!.work!.tr} ${TranslationLoader.lanKeys!.time!.tr}",
rightTitle: "9:00 - 18:00",
isHaveLine: true,
isHaveDirection: true,
action: () {
Navigator.pushNamed(context, Routers.checkingInSetWorkTimePage); Navigator.pushNamed(context, Routers.checkingInSetWorkTimePage);
}), }),
CommonItem(leftTitel:"${TranslationLoader.lanKeys!.workday!.tr} ${TranslationLoader.lanKeys!.set!.tr}", rightTitle:"1,2,3,4,5", isHaveLine: true, isHaveDirection: true, action: (){ CommonItem(
leftTitel:
"${TranslationLoader.lanKeys!.workday!.tr} ${TranslationLoader.lanKeys!.set!.tr}",
rightTitle: "1,2,3,4,5",
isHaveLine: true,
isHaveDirection: true,
action: () {
Navigator.pushNamed(context, Routers.checkingInSetWorkdaySet); Navigator.pushNamed(context, Routers.checkingInSetWorkdaySet);
}), }),
CommonItem(leftTitel:TranslationLoader.lanKeys!.holidays!.tr, rightTitle:"", isHaveLine: false, isHaveDirection: true, action: (){ CommonItem(
leftTitel: TranslationLoader.lanKeys!.holidays!.tr,
rightTitle: "",
isHaveLine: false,
isHaveDirection: true,
action: () {
Navigator.pushNamed(context, Routers.checkingInSetHolidaysPage); Navigator.pushNamed(context, Routers.checkingInSetHolidaysPage);
}), }),
SizedBox(height: 30.h,), SizedBox(
SubmitBtn(btnName: "${TranslationLoader.lanKeys!.delete!.tr} ${TranslationLoader.lanKeys!.company!.tr}", height: 30.h,
),
SubmitBtn(
btnName:
"${TranslationLoader.lanKeys!.delete!.tr} ${TranslationLoader.lanKeys!.company!.tr}",
borderRadius: 20.w, borderRadius: 20.w,
fontSize: 32.sp, fontSize: 32.sp,
isDelete: true,
margin: EdgeInsets.only(left: 30.w, right: 30.w, top: 20.w), margin: EdgeInsets.only(left: 30.w, right: 30.w, top: 20.w),
padding: EdgeInsets.only(top: 20.w, bottom: 20.w), padding: EdgeInsets.only(top: 20.w, bottom: 20.w),
onClick: () { onClick: () {}),
}
),
], ],
), ),
); );
@ -62,7 +95,11 @@ class _CheckingInSetPageState extends State<CheckingInSetPage> {
showDialog( showDialog(
context: context, context: context,
builder: (BuildContext context) { builder: (BuildContext context) {
return ShowTFView(title:"${TranslationLoader.lanKeys!.amend!.tr} ${TranslationLoader.lanKeys!.name!.tr}", tipTitle:"", controller: _changeNameController); return ShowTFView(
title:
"${TranslationLoader.lanKeys!.amend!.tr} ${TranslationLoader.lanKeys!.name!.tr}",
tipTitle: "",
controller: _changeNameController);
}); });
} }
} }

View File

@ -15,7 +15,8 @@ class ElectronicKeyDetailPage extends StatefulWidget {
const ElectronicKeyDetailPage({Key? key}) : super(key: key); const ElectronicKeyDetailPage({Key? key}) : super(key: key);
@override @override
State<ElectronicKeyDetailPage> createState() => _ElectronicKeyDetailPageState(); State<ElectronicKeyDetailPage> createState() =>
_ElectronicKeyDetailPageState();
} }
class _ElectronicKeyDetailPageState extends State<ElectronicKeyDetailPage> { class _ElectronicKeyDetailPageState extends State<ElectronicKeyDetailPage> {
@ -26,49 +27,75 @@ class _ElectronicKeyDetailPageState extends State<ElectronicKeyDetailPage> {
return Scaffold( return Scaffold(
resizeToAvoidBottomInset: false, resizeToAvoidBottomInset: false,
backgroundColor: AppColors.mainBackgroundColor, backgroundColor: AppColors.mainBackgroundColor,
appBar: TitleAppBar(barTitle: TranslationLoader.lanKeys!.keyDetail!.tr, haveBack:true, backgroundColor: AppColors.mainColor), appBar: TitleAppBar(
barTitle: TranslationLoader.lanKeys!.keyDetail!.tr,
haveBack: true,
backgroundColor: AppColors.mainColor),
body: Column( body: Column(
children: [ children: [
CommonItem(leftTitel:TranslationLoader.lanKeys!.name!.tr, rightTitle:"", isHaveDirection: true, isHaveLine: true, action:(){ CommonItem(
leftTitel: TranslationLoader.lanKeys!.name!.tr,
rightTitle: "",
isHaveDirection: true,
isHaveLine: true,
action: () {
showCupertinoAlertDialog(context); showCupertinoAlertDialog(context);
}), }),
CommonItem(leftTitel:TranslationLoader.lanKeys!.effectiveTime!.tr, allHeight: 90.h,rightTitle:"2020.06.20 11:49\n2020.06.21 11:49", isHaveDirection: true, action:(){ CommonItem(
Navigator.pushNamed(context, Routers.electronicKeyDetailChangeDate); leftTitel: TranslationLoader.lanKeys!.effectiveTime!.tr,
allHeight: 90.h,
rightTitle: "2020.06.20 11:49\n2020.06.21 11:49",
isHaveDirection: true,
action: () {
Navigator.pushNamed(
context, Routers.electronicKeyDetailChangeDate);
}), }),
Container(height: 10.h), Container(height: 10.h),
CommonItem(leftTitel:TranslationLoader.lanKeys!.receiver!.tr, rightTitle:"786612630@qq.com",action:(){ CommonItem(
leftTitel: TranslationLoader.lanKeys!.receiver!.tr,
}), rightTitle: "786612630@qq.com",
CommonItem(leftTitel:TranslationLoader.lanKeys!.sender!.tr, rightTitle:"15080825640", action:(){ action: () {}),
CommonItem(
}), leftTitel: TranslationLoader.lanKeys!.sender!.tr,
CommonItem(leftTitel:TranslationLoader.lanKeys!.senderTime!.tr, rightTitle:"2020.06.21 11:49", action:(){ rightTitle: "15080825640",
action: () {}),
}), CommonItem(
leftTitel: TranslationLoader.lanKeys!.senderTime!.tr,
rightTitle: "2020.06.21 11:49",
action: () {}),
Container(height: 10.h), Container(height: 10.h),
CommonItem(leftTitel:TranslationLoader.lanKeys!.realNameAuthentication!.tr, rightTitle:"", isHaveRightWidget: true, rightWidget: Container(width: 80.w,child: _switch()), action:(){ CommonItem(
leftTitel: TranslationLoader.lanKeys!.realNameAuthentication!.tr,
}), rightTitle: "",
isHaveRightWidget: true,
rightWidget: Container(width: 80.w, child: _switch()),
action: () {}),
Container(height: 10.h), Container(height: 10.h),
CommonItem(leftTitel:TranslationLoader.lanKeys!.operatingRecord!.tr, rightTitle:"", isHaveDirection: true, action:(){ CommonItem(
leftTitel: TranslationLoader.lanKeys!.operatingRecord!.tr,
}), rightTitle: "",
isHaveDirection: true,
action: () {}),
Container(height: 40.h), Container(height: 40.h),
SubmitBtn( SubmitBtn(
btnName: TranslationLoader.lanKeys!.delete!.tr, btnName: TranslationLoader.lanKeys!.delete!.tr,
borderRadius: 20.w, borderRadius: 20.w,
margin: EdgeInsets.only(left: 30.w, right: 30.w, top: 30.w, bottom: 30.w), isDelete: true,
margin: EdgeInsets.only(
left: 30.w, right: 30.w, top: 30.w, bottom: 30.w),
padding: EdgeInsets.only(top: 25.w, bottom: 25.w), padding: EdgeInsets.only(top: 25.w, bottom: 25.w),
onClick: (){ onClick: () {}),
}
),
], ],
), ),
); );
} }
Widget commonItem(String leftTitle, String rightTitle, {bool isHaveDirection = false, bool isHaveLine = false, bool isHaveRightWidget = false, Widget? rightWidget, Function()? action}){ Widget commonItem(String leftTitle, String rightTitle,
{bool isHaveDirection = false,
bool isHaveLine = false,
bool isHaveRightWidget = false,
Widget? rightWidget,
Function()? action}) {
return GestureDetector( return GestureDetector(
onTap: action, onTap: action,
child: Column( child: Column(
@ -77,41 +104,67 @@ class _ElectronicKeyDetailPageState extends State<ElectronicKeyDetailPage> {
Container( Container(
// height: 80.h, // height: 80.h,
color: Colors.white, color: Colors.white,
padding: EdgeInsets.only(left:20.w, right: 10.w, top: 20.w, bottom: 20.w), padding: EdgeInsets.only(
left: 20.w, right: 10.w, top: 20.w, bottom: 20.w),
child: Row( child: Row(
children: [ children: [
SizedBox(width: 20.w), SizedBox(width: 20.w),
Text(leftTitle, style: TextStyle(fontSize: 28.sp, fontWeight: FontWeight.w500), ), Text(
leftTitle,
style:
TextStyle(fontSize: 28.sp, fontWeight: FontWeight.w500),
),
SizedBox(width: 20.w), SizedBox(width: 20.w),
Expanded( Expanded(
child: Row( child: Row(
mainAxisAlignment: MainAxisAlignment.end, mainAxisAlignment: MainAxisAlignment.end,
children: [ children: [
isHaveRightWidget?rightWidget!:Text(rightTitle, textAlign: TextAlign.end,style: TextStyle(fontSize: 28.sp, fontWeight: FontWeight.w500),) isHaveRightWidget
? rightWidget!
: Text(
rightTitle,
textAlign: TextAlign.end,
style: TextStyle(
fontSize: 28.sp, fontWeight: FontWeight.w500),
)
], ],
), ),
), ),
SizedBox(width: 5.w), SizedBox(width: 5.w),
isHaveDirection?Image.asset('images/icon_right.png', width: 50.w, height: 50.w,):SizedBox(width:10.w), isHaveDirection
? Image.asset(
'images/icon_right.png',
width: 50.w,
height: 50.w,
)
: SizedBox(width: 10.w),
// SizedBox(width:10.w), // SizedBox(width:10.w),
], ],
), ),
), ),
isHaveLine?Container(height: 0.5.h, color: Colors.grey,):Container() isHaveLine
? Container(
height: 0.5.h,
color: Colors.grey,
)
: Container()
], ],
), ),
); );
} }
Switch _switch(){ CupertinoSwitch _switch() {
return Switch( bool _isOn = false;
value: false, return CupertinoSwitch(
activeColor: CupertinoColors.activeBlue,
trackColor: CupertinoColors.systemGrey5,
thumbColor: CupertinoColors.white,
value: _isOn,
onChanged: (value) { onChanged: (value) {
// switchValue = !switchValue;
setState(() { setState(() {
_isOn = value;
}); });
} },
); );
} }
@ -119,8 +172,11 @@ class _ElectronicKeyDetailPageState extends State<ElectronicKeyDetailPage> {
showDialog( showDialog(
context: context, context: context,
builder: (BuildContext context) { builder: (BuildContext context) {
return ShowTFView(title:"${TranslationLoader.lanKeys!.amend!.tr} ${TranslationLoader.lanKeys!.name!.tr}", tipTitle:"请输入", controller: _changeNameController); return ShowTFView(
title:
"${TranslationLoader.lanKeys!.amend!.tr} ${TranslationLoader.lanKeys!.name!.tr}",
tipTitle: "请输入",
controller: _changeNameController);
}); });
} }
} }

View File

@ -1,6 +1,6 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_cupertino_datetime_picker/flutter_cupertino_datetime_picker.dart'; import 'package:flutter_cupertino_datetime_picker/flutter_cupertino_datetime_picker.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:get/get.dart'; import 'package:get/get.dart';
import '../../../../../app_settings/app_colors.dart'; import '../../../../../app_settings/app_colors.dart';
@ -13,20 +13,31 @@ class ElectronicKeyDetailChangeDate extends StatefulWidget {
const ElectronicKeyDetailChangeDate({Key? key}) : super(key: key); const ElectronicKeyDetailChangeDate({Key? key}) : super(key: key);
@override @override
State<ElectronicKeyDetailChangeDate> createState() => _ElectronicKeyDetailChangeDateState(); State<ElectronicKeyDetailChangeDate> createState() =>
_ElectronicKeyDetailChangeDateState();
} }
class _ElectronicKeyDetailChangeDateState extends State<ElectronicKeyDetailChangeDate> { class _ElectronicKeyDetailChangeDateState
extends State<ElectronicKeyDetailChangeDate> {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Scaffold( return Scaffold(
backgroundColor: AppColors.mainBackgroundColor, backgroundColor: AppColors.mainBackgroundColor,
appBar: TitleAppBar(barTitle: "${TranslationLoader.lanKeys!.amend!.tr} ${TranslationLoader.lanKeys!.periodValidity!.tr}", haveBack:true, backgroundColor: AppColors.mainColor, actionsList: [ appBar: TitleAppBar(
TextButton(child: Text(TranslationLoader.lanKeys!.sure!.tr, style: const TextStyle(color: Colors.white),), onPressed: (){ barTitle:
"${TranslationLoader.lanKeys!.amend!.tr}${TranslationLoader.lanKeys!.periodValidity!.tr}",
},), haveBack: true,
],), backgroundColor: AppColors.mainColor,
actionsList: [
TextButton(
child: Text(
TranslationLoader.lanKeys!.sure!.tr,
style: TextStyle(color: Colors.white, fontSize: 24.sp),
),
onPressed: () {},
),
],
),
body: buildMainUI(), body: buildMainUI(),
); );
} }
@ -34,15 +45,27 @@ class _ElectronicKeyDetailChangeDateState extends State<ElectronicKeyDetailChang
Widget buildMainUI() { Widget buildMainUI() {
return Column( return Column(
children: [ children: [
CommonItem(leftTitel:TranslationLoader.lanKeys!.effectiveTime!.tr, rightTitle:"2020.06.20 11:49", isHaveDirection: true, isHaveLine: true, action:(){ CommonItem(
ShowSeletDateTime().showDatePicker(context, '2100-01-01 00:00', '1900-01-01 00:00', getNowDate(),'yyyy-MMMM-dd HH:mm', (dateTime, List<int> index) { leftTitel: TranslationLoader.lanKeys!.effectiveTime!.tr,
rightTitle: "2020.06.20 11:49",
}); isHaveDirection: true,
isHaveLine: true,
action: () {
ShowSeletDateTime().showDatePicker(
context,
'2100-01-01 00:00',
'1900-01-01 00:00',
getNowDate(),
'yyyy-MMMM-dd HH:mm',
(dateTime, List<int> index) {});
}), }),
CommonItem(leftTitel:TranslationLoader.lanKeys!.failureTime!.tr, rightTitle:"2020.06.20 11:49", isHaveDirection: true, action:(){ CommonItem(
ShowSeletDateTime().showDatePicker(context, '00:00', '00:00', getNowDate(),'HH:mm', (dateTime, List<int> index) { leftTitel: TranslationLoader.lanKeys!.failureTime!.tr,
rightTitle: "2020.06.20 11:49",
}); isHaveDirection: true,
action: () {
ShowSeletDateTime().showDatePicker(context, '00:00', '00:00',
getNowDate(), 'HH:mm', (dateTime, List<int> index) {});
}), }),
], ],
); );
@ -51,7 +74,8 @@ class _ElectronicKeyDetailChangeDateState extends State<ElectronicKeyDetailChang
String getNowDate() { String getNowDate() {
// //
DateTime today = DateTime.now(); DateTime today = DateTime.now();
String dateSlug ="${today.hour.toString().padLeft(2,'0')}:${today.minute.toString().padLeft(2,'0')}"; String dateSlug =
"${today.hour.toString().padLeft(2, '0')}:${today.minute.toString().padLeft(2, '0')}";
// // // //
// int year = now.year; // int year = now.year;

View File

@ -56,7 +56,7 @@ class _ElectronicKeyListPageState extends State<ElectronicKeyListPage> {
Widget _searchWidget() { Widget _searchWidget() {
return Container( return Container(
height: 60.h, height: 60.h,
margin: EdgeInsets.only(top: 20.w, left: 20.w, right: 20.w), margin: EdgeInsets.only(top: 20.w, left: 20.w, right: 10.w),
decoration: BoxDecoration( decoration: BoxDecoration(
color: Colors.white, borderRadius: BorderRadius.circular(5)), color: Colors.white, borderRadius: BorderRadius.circular(5)),
child: TextField( child: TextField(
@ -64,17 +64,19 @@ class _ElectronicKeyListPageState extends State<ElectronicKeyListPage> {
maxLines: 1, maxLines: 1,
// controller: _controller, // controller: _controller,
autofocus: false, autofocus: false,
decoration: InputDecoration( decoration: InputDecoration(
// //
contentPadding: const EdgeInsets.only( contentPadding: const EdgeInsets.only(
top: 12.0, left: -19.0, right: -15.0, bottom: 8.0), top: 12.0, left: -19.0, right: -15.0, bottom: 8.0),
hintText: TranslationLoader.lanKeys!.pleaseEnter!.tr, hintText: TranslationLoader.lanKeys!.pleaseEnter!.tr,
hintStyle: TextStyle(fontSize: 22.sp, height: 3.0),
//线 //线
border: InputBorder.none, border: InputBorder.none,
// //
icon: Padding( icon: Padding(
padding: EdgeInsets.only( padding: EdgeInsets.only(
top: 30.w, bottom: 20.w, right: 20.w, left: 20.w), top: 20.h, bottom: 20.h, right: 20.w, left: 10.w),
child: Image.asset( child: Image.asset(
'images/main/icon_main_search.png', 'images/main/icon_main_search.png',
width: 40.w, width: 40.w,

View File

@ -12,23 +12,29 @@ class ElectronicKeyPeriodValidityPage extends StatefulWidget {
const ElectronicKeyPeriodValidityPage({Key? key}) : super(key: key); const ElectronicKeyPeriodValidityPage({Key? key}) : super(key: key);
@override @override
State<ElectronicKeyPeriodValidityPage> createState() => _ElectronicKeyPeriodValidityPageState(); State<ElectronicKeyPeriodValidityPage> createState() =>
_ElectronicKeyPeriodValidityPageState();
} }
class _ElectronicKeyPeriodValidityPageState extends State<ElectronicKeyPeriodValidityPage> { class _ElectronicKeyPeriodValidityPageState
extends State<ElectronicKeyPeriodValidityPage> {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Scaffold( return Scaffold(
backgroundColor: AppColors.mainBackgroundColor, backgroundColor: AppColors.mainBackgroundColor,
appBar: TitleAppBar(barTitle: TranslationLoader.lanKeys!.periodValidity!.tr, haveBack:true, backgroundColor: AppColors.mainColor), appBar: TitleAppBar(
barTitle: TranslationLoader.lanKeys!.periodValidity!.tr,
haveBack: true,
backgroundColor: AppColors.mainColor),
body: Column( body: Column(
children: [ children: [
topWidget(), topWidget(),
SizedBox(height: 10.h,), SizedBox(
height: 1.h,
),
bottomWidget() bottomWidget()
], ],
) ));
);
} }
Widget topWidget() { Widget topWidget() {
@ -43,21 +49,19 @@ class _ElectronicKeyPeriodValidityPageState extends State<ElectronicKeyPeriodVal
height: 60.h, height: 60.h,
// color: Colors.red, // color: Colors.red,
padding: EdgeInsets.only(left: 15.h, top: 15.h), padding: EdgeInsets.only(left: 15.h, top: 15.h),
child: Text(TranslationLoader.lanKeys!.periodValidity!.tr, style: TextStyle(fontSize: 30.sp, fontWeight: FontWeight.w600)) child: Text(TranslationLoader.lanKeys!.periodValidity!.tr,
), style:
Container( TextStyle(fontSize: 24.sp, fontWeight: FontWeight.w600))),
height: 90.h, SizedBox(
height: 80.h,
child: GridView.builder( child: GridView.builder(
gridDelegate: const SliverGridDelegateWithFixedCrossAxisCount( gridDelegate: const SliverGridDelegateWithFixedCrossAxisCount(
crossAxisCount: 7, crossAxisCount: 7, childAspectRatio: 1.0),
childAspectRatio: 1.0
),
itemCount: 7, itemCount: 7,
physics: const NeverScrollableScrollPhysics(), physics: const NeverScrollableScrollPhysics(),
itemBuilder: (context, index) { itemBuilder: (context, index) {
return btnItem(index); return btnItem(index);
}) }))
)
], ],
), ),
); );
@ -92,19 +96,21 @@ class _ElectronicKeyPeriodValidityPageState extends State<ElectronicKeyPeriodVal
break; break;
} }
return GestureDetector( return GestureDetector(
onTap: (){ onTap: () {},
},
child: Container( child: Container(
width: 70.h, width: 40.w,
height: 70.h, height: 40.w,
margin: EdgeInsets.all(10.h), margin: EdgeInsets.all(10.w),
decoration: BoxDecoration( decoration: BoxDecoration(
// color: Colors.blue, // color: Colors.blue,
border: Border.all(width: 1, color: Colors.grey), border: Border.all(width: 1, color: AppColors.greyBackgroundColor),
borderRadius: BorderRadius.circular(60.w), borderRadius: BorderRadius.circular(30.w),
), ),
child: Center(child: Text(dateStr)), child: Center(
child: Text(
dateStr,
style: TextStyle(fontSize: 20.sp, color: AppColors.darkGrayTextColor),
)),
), ),
); );
} }
@ -112,19 +118,29 @@ class _ElectronicKeyPeriodValidityPageState extends State<ElectronicKeyPeriodVal
Widget bottomWidget() { Widget bottomWidget() {
return Column( return Column(
children: [ children: [
CommonItem(leftTitel:TranslationLoader.lanKeys!.effectiveTime!.tr, rightTitle:"", isHaveDirection: true, isHaveLine: true, action:(){ CommonItem(
leftTitel: TranslationLoader.lanKeys!.effectiveTime!.tr,
}), rightTitle: "",
CommonItem(leftTitel:TranslationLoader.lanKeys!.failureTime!.tr, rightTitle:"", isHaveDirection: true, action:(){ isHaveDirection: true,
isHaveLine: true,
}), action: () {}),
CommonItem(
leftTitel: TranslationLoader.lanKeys!.failureTime!.tr,
rightTitle: "",
isHaveDirection: true,
action: () {}),
Container(height: 10.h), Container(height: 10.h),
CommonItem(leftTitel:TranslationLoader.lanKeys!.effectiveDate!.tr, rightTitle:"", isHaveDirection: true, isHaveLine: true, action:(){ CommonItem(
leftTitel: TranslationLoader.lanKeys!.effectiveDate!.tr,
}), rightTitle: "",
CommonItem(leftTitel:TranslationLoader.lanKeys!.failureDate!.tr, rightTitle:"", isHaveDirection: true, action:(){ isHaveDirection: true,
isHaveLine: true,
}), action: () {}),
CommonItem(
leftTitel: TranslationLoader.lanKeys!.failureDate!.tr,
rightTitle: "",
isHaveDirection: true,
action: () {}),
Container(height: 40.h), Container(height: 40.h),
SubmitBtn( SubmitBtn(
btnName: TranslationLoader.lanKeys!.sure!.tr, btnName: TranslationLoader.lanKeys!.sure!.tr,
@ -133,8 +149,7 @@ class _ElectronicKeyPeriodValidityPageState extends State<ElectronicKeyPeriodVal
padding: EdgeInsets.only(top: 25.w, bottom: 25.w), padding: EdgeInsets.only(top: 25.w, bottom: 25.w),
onClick: () { onClick: () {
// Navigator.pushNamed(context, Routers.nearbyLockPage); // Navigator.pushNamed(context, Routers.nearbyLockPage);
} }),
),
], ],
); );
} }

View File

@ -1,4 +1,4 @@
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:get/get.dart'; import 'package:get/get.dart';
@ -13,10 +13,12 @@ import '../../../../translations/trans_lib.dart';
class MassSendElectronicKeyPage extends StatefulWidget { class MassSendElectronicKeyPage extends StatefulWidget {
final String type; final String type;
const MassSendElectronicKeyPage({Key? key, required this.type}) : super(key: key); const MassSendElectronicKeyPage({Key? key, required this.type})
: super(key: key);
@override @override
State<MassSendElectronicKeyPage> createState() => _MassSendElectronicKeyPageState(); State<MassSendElectronicKeyPage> createState() =>
_MassSendElectronicKeyPageState();
} }
class _MassSendElectronicKeyPageState extends State<MassSendElectronicKeyPage> { class _MassSendElectronicKeyPageState extends State<MassSendElectronicKeyPage> {
@ -32,7 +34,6 @@ class _MassSendElectronicKeyPageState extends State<MassSendElectronicKeyPage> {
void initState() { void initState() {
// TODO: implement initState // TODO: implement initState
super.initState(); super.initState();
} }
Widget indexChangeWidget() { Widget indexChangeWidget() {
@ -86,12 +87,17 @@ class _MassSendElectronicKeyPageState extends State<MassSendElectronicKeyPage> {
return Column( return Column(
children: [ children: [
Container(height: 10.h), Container(height: 10.h),
CommonItem(leftTitel:TranslationLoader.lanKeys!.receiver!.tr, rightTitle:TranslationLoader.lanKeys!.pleaseAdd!.tr, isHaveLine: true, isHaveDirection: true, action: (){ CommonItem(
leftTitel: TranslationLoader.lanKeys!.receiver!.tr,
}), rightTitle: TranslationLoader.lanKeys!.pleaseAdd!.tr,
CommonItem(leftTitel:TranslationLoader.lanKeys!.lock!.tr, rightTitle:TranslationLoader.lanKeys!.pleaseSelet!.tr, isHaveDirection: true, action: (){ isHaveLine: true,
isHaveDirection: true,
}), action: () {}),
CommonItem(
leftTitel: TranslationLoader.lanKeys!.lock!.tr,
rightTitle: TranslationLoader.lanKeys!.pleaseSelet!.tr,
isHaveDirection: true,
action: () {}),
Container(height: 10.h), Container(height: 10.h),
], ],
); );
@ -101,8 +107,14 @@ class _MassSendElectronicKeyPageState extends State<MassSendElectronicKeyPage> {
Widget keyTimeWidget() { Widget keyTimeWidget() {
return Column( return Column(
children: [ children: [
CommonItem(leftTitel:TranslationLoader.lanKeys!.effectiveTime!.tr, rightTitle:"2020.06.20 11:49", isHaveLine: true), CommonItem(
CommonItem(leftTitel:TranslationLoader.lanKeys!.failureTime!.tr, rightTitle:"2020.06.20 11:49", ), leftTitel: TranslationLoader.lanKeys!.effectiveTime!.tr,
rightTitle: "2020.06.20 11:49",
isHaveLine: true),
CommonItem(
leftTitel: TranslationLoader.lanKeys!.failureTime!.tr,
rightTitle: "2020.06.20 11:49",
),
Container(height: 10.h), Container(height: 10.h),
], ],
); );
@ -112,10 +124,13 @@ class _MassSendElectronicKeyPageState extends State<MassSendElectronicKeyPage> {
Widget remoteUnlockingWidget() { Widget remoteUnlockingWidget() {
return Column( return Column(
children: [ children: [
CommonItem(leftTitel:TranslationLoader.lanKeys!.remoteUnlockingAllowed!.tr, rightTitle:"", isHaveRightWidget: true, rightWidget: Container(width: 80.w, height: 50.h,child: _switch()), action:(){ CommonItem(
leftTitel: TranslationLoader.lanKeys!.remoteUnlockingAllowed!.tr,
}), rightTitle: "",
Container(height: 10.h), isHaveRightWidget: true,
rightWidget: Container(width: 80.w, height: 50.h, child: _switch()),
action: () {}),
Container(height: 40.h),
], ],
); );
} }
@ -124,8 +139,13 @@ class _MassSendElectronicKeyPageState extends State<MassSendElectronicKeyPage> {
Widget periodValidityWidget() { Widget periodValidityWidget() {
return Column( return Column(
children: [ children: [
CommonItem(leftTitel:TranslationLoader.lanKeys!.periodValidity!.tr, rightTitle:"", isHaveDirection: true, action:(){ CommonItem(
Navigator.pushNamed(context, Routers.electronicKeyPeriodValidityPage); leftTitel: TranslationLoader.lanKeys!.periodValidity!.tr,
rightTitle: "",
isHaveDirection: true,
action: () {
Navigator.pushNamed(
context, Routers.electronicKeyPeriodValidityPage);
}), }),
Container(height: 10.h), Container(height: 10.h),
], ],
@ -137,27 +157,25 @@ class _MassSendElectronicKeyPageState extends State<MassSendElectronicKeyPage> {
children: [ children: [
SubmitBtn( SubmitBtn(
btnName: TranslationLoader.lanKeys!.send!.tr, btnName: TranslationLoader.lanKeys!.send!.tr,
borderRadius: 20.w,
margin: EdgeInsets.only(left: 30.w, right: 30.w, top: 30.w),
padding: EdgeInsets.only(top: 25.w, bottom: 25.w),
onClick: () { onClick: () {
// Navigator.pushNamed(context, Routers.nearbyLockPage); // Navigator.pushNamed(context, Routers.nearbyLockPage);
} }),
),
], ],
); );
} }
Switch _switch(){ CupertinoSwitch _switch() {
return Switch( bool _isOn = false;
value: false, return CupertinoSwitch(
activeColor: CupertinoColors.activeBlue,
trackColor: CupertinoColors.systemGrey5,
thumbColor: CupertinoColors.white,
value: _isOn,
onChanged: (value) { onChanged: (value) {
// switchValue = !switchValue;
setState(() { setState(() {
_isOn = value;
}); });
} },
); );
} }
} }

View File

@ -10,13 +10,17 @@ import '../massSendElectronicKey_page.dart';
class MassSendElectronicKeyManageTabbar extends StatefulWidget { class MassSendElectronicKeyManageTabbar extends StatefulWidget {
var initialIndex = 1; var initialIndex = 1;
MassSendElectronicKeyManageTabbar({Key? key, required this.initialIndex}) : super(key: key); MassSendElectronicKeyManageTabbar({Key? key, required this.initialIndex})
: super(key: key);
@override @override
State<MassSendElectronicKeyManageTabbar> createState() => _MassSendElectronicKeyManageTabbarState(); State<MassSendElectronicKeyManageTabbar> createState() =>
_MassSendElectronicKeyManageTabbarState();
} }
class _MassSendElectronicKeyManageTabbarState extends State<MassSendElectronicKeyManageTabbar> with SingleTickerProviderStateMixin { class _MassSendElectronicKeyManageTabbarState
extends State<MassSendElectronicKeyManageTabbar>
with SingleTickerProviderStateMixin {
late TabController _tabController; late TabController _tabController;
final List<ItemView> _itemTabs = <ItemView>[ final List<ItemView> _itemTabs = <ItemView>[
@ -29,7 +33,10 @@ class _MassSendElectronicKeyManageTabbarState extends State<MassSendElectronicKe
void initState() { void initState() {
// TODO: implement initState // TODO: implement initState
super.initState(); super.initState();
_tabController = TabController(vsync: this, length: _itemTabs.length,initialIndex: widget.initialIndex); _tabController = TabController(
vsync: this,
length: _itemTabs.length,
initialIndex: widget.initialIndex);
} }
@override @override
@ -40,8 +47,7 @@ class _MassSendElectronicKeyManageTabbarState extends State<MassSendElectronicKe
_tabBar(), _tabBar(),
_pageWidget(), _pageWidget(),
], ],
) ));
);
} }
TabBar _tabBar() { TabBar _tabBar() {
@ -51,11 +57,20 @@ class _MassSendElectronicKeyManageTabbarState extends State<MassSendElectronicKe
isScrollable: true, isScrollable: true,
indicatorColor: Colors.red, indicatorColor: Colors.red,
unselectedLabelColor: Colors.black, unselectedLabelColor: Colors.black,
unselectedLabelStyle: TextStyle(color:AppColors.mainColor,fontSize: 28.sp,), unselectedLabelStyle: TextStyle(
color: AppColors.mainColor,
fontSize: 28.sp,
),
automaticIndicatorColorAdjustment: true, automaticIndicatorColorAdjustment: true,
labelColor: AppColors.mainColor, labelColor: AppColors.mainColor,
labelStyle: TextStyle(color: AppColors.mainColor,fontSize: 32.sp,fontWeight: FontWeight.w600), labelStyle: TextStyle(
indicator: CustomUnderlineTabIndicator(borderSide: BorderSide(color: AppColors.mainColor,width: 10.w),strokeCap: StrokeCap.round,width: 0.w), color: AppColors.mainColor,
fontSize: 32.sp,
fontWeight: FontWeight.w600),
indicator: CustomUnderlineTabIndicator(
borderSide: BorderSide(color: AppColors.mainColor, width: 4.w),
strokeCap: StrokeCap.round,
width: 30.w),
); );
} }
@ -66,7 +81,11 @@ class _MassSendElectronicKeyManageTabbarState extends State<MassSendElectronicKe
width: 1.sw / 8, width: 1.sw / 8,
margin: EdgeInsets.all(10.w), margin: EdgeInsets.all(10.w),
// color: Colors.red, // color: Colors.red,
child: Text(item.title, textAlign: TextAlign.center,), child: Text(
item.title,
textAlign: TextAlign.center,
style: TextStyle(fontSize: 24.sp),
),
), ),
); );
} }
@ -75,7 +94,11 @@ class _MassSendElectronicKeyManageTabbarState extends State<MassSendElectronicKe
return Expanded( return Expanded(
child: TabBarView( child: TabBarView(
controller: _tabController, controller: _tabController,
children: _itemTabs.map((ItemView item) => MassSendElectronicKeyPage(type: item.type,)).toList(), children: _itemTabs
.map((ItemView item) => MassSendElectronicKeyPage(
type: item.type,
))
.toList(),
), ),
); );
} }

View File

@ -1,4 +1,4 @@
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:get/get.dart'; import 'package:get/get.dart';
@ -32,7 +32,6 @@ class _SendElectronicKeyPageState extends State<SendElectronicKeyPage> {
void initState() { void initState() {
// TODO: implement initState // TODO: implement initState
super.initState(); super.initState();
} }
Widget indexChangeWidget() { Widget indexChangeWidget() {
@ -55,22 +54,14 @@ class _SendElectronicKeyPageState extends State<SendElectronicKeyPage> {
{ {
// //
return Column( return Column(
children: [ children: [keyInfoWidget(), keyRealNameWidget(), keyBottomWidget()],
keyInfoWidget(),
keyRealNameWidget(),
keyBottomWidget()
],
); );
} }
case 2: case 2:
{ {
// //
return Column( return Column(
children: [ children: [keyInfoWidget(), keyRealNameWidget(), keyBottomWidget()],
keyInfoWidget(),
keyRealNameWidget(),
keyBottomWidget()
],
); );
} }
case 3: case 3:
@ -95,8 +86,19 @@ class _SendElectronicKeyPageState extends State<SendElectronicKeyPage> {
return Column( return Column(
children: [ children: [
Container(height: 10.h), Container(height: 10.h),
CommonItem(leftTitel:TranslationLoader.lanKeys!.receiver!.tr, rightTitle:"", isHaveLine: true, isHaveRightWidget: true, rightWidget: getTFWidget(true, TranslationLoader.lanKeys!.pleaseEnterNumberOrEmail!.tr)), CommonItem(
CommonItem(leftTitel:TranslationLoader.lanKeys!.name!.tr, rightTitle:"", isHaveRightWidget: true, rightWidget: getTFWidget(false, TranslationLoader.lanKeys!.enterYourName!.tr)), leftTitel: TranslationLoader.lanKeys!.receiver!.tr,
rightTitle: "",
isHaveLine: true,
isHaveRightWidget: true,
rightWidget: getTFWidget(
true, TranslationLoader.lanKeys!.pleaseEnterNumberOrEmail!.tr)),
CommonItem(
leftTitel: TranslationLoader.lanKeys!.name!.tr,
rightTitle: "",
isHaveRightWidget: true,
rightWidget: getTFWidget(
false, TranslationLoader.lanKeys!.enterYourName!.tr)),
Container(height: 10.h), Container(height: 10.h),
], ],
); );
@ -106,10 +108,19 @@ class _SendElectronicKeyPageState extends State<SendElectronicKeyPage> {
Widget keyTimeWidget() { Widget keyTimeWidget() {
return Column( return Column(
children: [ children: [
CommonItem(leftTitel:TranslationLoader.lanKeys!.effectiveTime!.tr, rightTitle:"2020.06.20 11:49", isHaveLine: true, isHaveDirection: true, action:(){ CommonItem(
leftTitel: TranslationLoader.lanKeys!.effectiveTime!.tr,
rightTitle: "2020.06.20 11:49",
isHaveLine: true,
isHaveDirection: true,
action: () {
// _showDatePicker(); // _showDatePicker();
}), }),
CommonItem(leftTitel:TranslationLoader.lanKeys!.failureTime!.tr, rightTitle:"2020.06.20 11:49", isHaveDirection: true, action:(){ CommonItem(
leftTitel: TranslationLoader.lanKeys!.failureTime!.tr,
rightTitle: "2020.06.20 11:49",
isHaveDirection: true,
action: () {
// _showDatePicker(); // _showDatePicker();
}), }),
Container(height: 10.h), Container(height: 10.h),
@ -121,9 +132,12 @@ class _SendElectronicKeyPageState extends State<SendElectronicKeyPage> {
Widget keyRealNameWidget() { Widget keyRealNameWidget() {
return Column( return Column(
children: [ children: [
CommonItem(leftTitel:TranslationLoader.lanKeys!.realNameAuthentication!.tr, rightTitle:"", isHaveRightWidget: true, rightWidget: Container(width: 80.w, height: 50.h,child: _switch()), action:(){ CommonItem(
leftTitel: TranslationLoader.lanKeys!.realNameAuthentication!.tr,
}), rightTitle: "",
isHaveRightWidget: true,
rightWidget: Container(width: 80.w, height: 50.h, child: _switch()),
action: () {}),
Container(height: 10.h), Container(height: 10.h),
], ],
); );
@ -133,8 +147,13 @@ class _SendElectronicKeyPageState extends State<SendElectronicKeyPage> {
Widget keyPeriodValidityWidget() { Widget keyPeriodValidityWidget() {
return Column( return Column(
children: [ children: [
CommonItem(leftTitel:TranslationLoader.lanKeys!.periodValidity!.tr, rightTitle:"", isHaveDirection: true, action:(){ CommonItem(
Navigator.pushNamed(context, Routers.electronicKeyPeriodValidityPage); leftTitel: TranslationLoader.lanKeys!.periodValidity!.tr,
rightTitle: "",
isHaveDirection: true,
action: () {
Navigator.pushNamed(
context, Routers.electronicKeyPeriodValidityPage);
}), }),
], ],
); );
@ -148,24 +167,32 @@ class _SendElectronicKeyPageState extends State<SendElectronicKeyPage> {
child: Row( child: Row(
// crossAxisAlignment: CrossAxisAlignment.start, // crossAxisAlignment: CrossAxisAlignment.start,
children: [ children: [
Expanded(child: Text(TranslationLoader.lanKeys!.sendKeyBottomTip!.tr, textAlign: TextAlign.start,)), Expanded(
child: Text(
TranslationLoader.lanKeys!.sendKeyBottomTip!.tr,
textAlign: TextAlign.start,
)),
], ],
), ),
), ),
SubmitBtn(btnName: TranslationLoader.lanKeys!.send!.tr, borderRadius: 20.w, margin: EdgeInsets.only(left: 30.w, right: 30.w, top: 30.w), padding: EdgeInsets.only(top: 25.w, bottom: 25.w), SubmitBtn(btnName: TranslationLoader.lanKeys!.send!.tr, onClick: () {}),
onClick: (){
}
),
Container( Container(
padding: EdgeInsets.only(right: 30.w), padding: EdgeInsets.only(right: 30.w),
// color: Colors.red, // color: Colors.red,
child: Row( child: Row(
mainAxisAlignment: MainAxisAlignment.end, mainAxisAlignment: MainAxisAlignment.end,
children: [ children: [
TextButton(onPressed: (){ TextButton(
Navigator.pushNamed(context, Routers.massSendElectronicKeyManagePage); onPressed: () {
}, child: Text(TranslationLoader.lanKeys!.sendGroupKey!.tr, style: TextStyle(color: AppColors.mainColor, fontWeight: FontWeight.w500),)), Navigator.pushNamed(
context, Routers.massSendElectronicKeyManagePage);
},
child: Text(
TranslationLoader.lanKeys!.sendGroupKey!.tr,
style: TextStyle(
color: AppColors.mainColor,
fontWeight: FontWeight.w500),
)),
], ],
), ),
), ),
@ -183,31 +210,66 @@ class _SendElectronicKeyPageState extends State<SendElectronicKeyPage> {
color: Colors.white, color: Colors.white,
child: Column( child: Column(
children: [ children: [
SizedBox(height: 30.h,), SizedBox(
Image.asset('images/main/icon_main_addLock.png', width: 150.w, height: 150.w, color: AppColors.mainColor,), height: 30.h,
SizedBox(height: 20.h,), ),
Image.asset(
'images/main/icon_main_addLock.png',
width: 150.w,
height: 150.w,
color: AppColors.mainColor,
),
SizedBox(
height: 20.h,
),
Row( Row(
mainAxisAlignment: MainAxisAlignment.center, mainAxisAlignment: MainAxisAlignment.center,
children: [ children: [
Text("发送成功",style: TextStyle(fontSize: 32.sp, color: Colors.black, fontWeight: FontWeight.w500),), Text(
"发送成功",
style: TextStyle(
fontSize: 32.sp,
color: Colors.black,
fontWeight: FontWeight.w500),
),
], ],
), ),
], ],
), ),
), ),
SizedBox(height: 20.h,), SizedBox(
SubmitBtn(btnName: '完成', fontSize: 28.sp, borderRadius: 20.w, margin: EdgeInsets.only(left: 30.w, right: 30.w, top: 30.w), padding: EdgeInsets.only(top: 25.w, bottom: 25.w), onClick: (){ height: 20.h,
),
}), SubmitBtn(
SubmitBtn(btnName: '邮件通知', fontSize: 28.sp, borderRadius: 20.w, margin: EdgeInsets.only(left: 30.w, right: 30.w, top: 30.w), padding: EdgeInsets.only(top: 25.w, bottom: 25.w), onClick: (){ btnName: '完成',
fontSize: 28.sp,
borderRadius: 20.w,
margin: EdgeInsets.only(left: 30.w, right: 30.w, top: 30.w),
padding: EdgeInsets.only(top: 25.w, bottom: 25.w),
onClick: () {}),
SubmitBtn(
btnName: '邮件通知',
fontSize: 28.sp,
borderRadius: 20.w,
margin: EdgeInsets.only(left: 30.w, right: 30.w, top: 30.w),
padding: EdgeInsets.only(top: 25.w, bottom: 25.w),
onClick: () {
Navigator.pushNamed(context, Routers.sendEmailNotificationPage); Navigator.pushNamed(context, Routers.sendEmailNotificationPage);
}), }),
SubmitBtn(btnName: '微信通知', fontSize: 28.sp, borderRadius: 20.w, margin: EdgeInsets.only(left: 30.w, right: 30.w, top: 30.w), padding: EdgeInsets.only(top: 25.w, bottom: 25.w), onClick: (){ SubmitBtn(
btnName: '微信通知',
}), fontSize: 28.sp,
SubmitBtn(btnName: '标记为已入住', fontSize: 28.sp, borderRadius: 20.w, margin: EdgeInsets.only(left: 30.w, right: 30.w, top: 30.w), padding: EdgeInsets.only(top: 25.w, bottom: 25.w), onClick: (){ borderRadius: 20.w,
margin: EdgeInsets.only(left: 30.w, right: 30.w, top: 30.w),
}), padding: EdgeInsets.only(top: 25.w, bottom: 25.w),
onClick: () {}),
SubmitBtn(
btnName: '标记为已入住',
fontSize: 28.sp,
borderRadius: 20.w,
margin: EdgeInsets.only(left: 30.w, right: 30.w, top: 30.w),
padding: EdgeInsets.only(top: 25.w, bottom: 25.w),
onClick: () {}),
], ],
); );
} }
@ -235,16 +297,18 @@ class _SendElectronicKeyPageState extends State<SendElectronicKeyPage> {
), ),
), ),
), ),
SizedBox(width: 10.w,), SizedBox(
isHaveBtn?Container( width: 10.w,
),
isHaveBtn
? Container(
width: 50.w, width: 50.w,
height: 50.w, height: 50.w,
decoration: const BoxDecoration( decoration: const BoxDecoration(
color: Colors.white, color: Colors.white,
image: DecorationImage( image: DecorationImage(
image: AssetImage('images/icon_lock.png'), image: AssetImage('images/icon_lock.png'),
fit: BoxFit.fill fit: BoxFit.fill),
),
), ),
alignment: Alignment.center, alignment: Alignment.center,
child: InkWell( child: InkWell(
@ -256,22 +320,25 @@ class _SendElectronicKeyPageState extends State<SendElectronicKeyPage> {
}); });
}, },
), ),
):Container() )
: Container()
], ],
), ),
); );
} }
Switch _switch(){ CupertinoSwitch _switch() {
return Switch( bool _isOn = false;
value: false, return CupertinoSwitch(
activeColor: CupertinoColors.activeBlue,
trackColor: CupertinoColors.systemGrey5,
thumbColor: CupertinoColors.white,
value: _isOn,
onChanged: (value) { onChanged: (value) {
// switchValue = !switchValue;
setState(() { setState(() {
_isOn = value;
}); });
} },
); );
} }
} }

View File

@ -1,6 +1,6 @@
import 'dart:convert'; import 'dart:convert';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:get/get.dart'; import 'package:get/get.dart';
@ -25,15 +25,37 @@ class _AutomaticBlockingPageState extends State<AutomaticBlockingPage> {
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Scaffold( return Scaffold(
backgroundColor: AppColors.mainBackgroundColor, backgroundColor: AppColors.mainBackgroundColor,
appBar: TitleAppBar(barTitle: TranslationLoader.lanKeys!.automaticBlocking!.tr, haveBack:true, backgroundColor: AppColors.mainColor), appBar: TitleAppBar(
barTitle: TranslationLoader.lanKeys!.automaticBlocking!.tr,
haveBack: true,
backgroundColor: AppColors.mainColor),
body: ListView( body: ListView(
children: [ children: [
CommonItem(leftTitel:TranslationLoader.lanKeys!.automaticBlocking!.tr, rightTitle:"", isHaveLine: false, isHaveRightWidget:true, rightWidget: Container(width: 80.w, height: 50.h,child: _switch())), CommonItem(
Container(height: 10.h,), leftTitel: TranslationLoader.lanKeys!.automaticBlocking!.tr,
Builder( rightTitle: "",
builder: (context) { isHaveLine: false,
return CommonItem(leftTitel:TranslationLoader.lanKeys!.delayTime!.tr, rightTitle:"5s", isHaveLine: false, isHaveDirection: true, action: (){ isHaveRightWidget: true,
var list = ["5S", "10S", "15S", "30S", "60S", TranslationLoader.lanKeys!.custom!.tr]; rightWidget:
Container(width: 80.w, height: 50.h, child: _switch())),
Container(
height: 10.h,
),
Builder(builder: (context) {
return CommonItem(
leftTitel: TranslationLoader.lanKeys!.delayTime!.tr,
rightTitle: "5s",
isHaveLine: false,
isHaveDirection: true,
action: () {
var list = [
"5S",
"10S",
"15S",
"30S",
"60S",
TranslationLoader.lanKeys!.custom!.tr
];
ShowBottomSheetTool().showSingleRowPicker( ShowBottomSheetTool().showSingleRowPicker(
// //
context, context,
@ -47,13 +69,12 @@ class _AutomaticBlockingPageState extends State<AutomaticBlockingPage> {
//adapter: PickerAdapter(), //adapter: PickerAdapter(),
data: list, data: list,
// //
clickCallBack: (int index, var str) { clickCallBack: (int index, var str) {});
}); });
}); }),
} Container(
height: 10.h,
), ),
Container(height: 10.h,),
Visibility( Visibility(
visible: true, visible: true,
child: Container( child: Container(
@ -62,7 +83,10 @@ class _AutomaticBlockingPageState extends State<AutomaticBlockingPage> {
child: Column( child: Column(
children: [ children: [
Row( Row(
children: [Text("${TranslationLoader.lanKeys!.pleaseEnter!.tr}${TranslationLoader.lanKeys!.time!.tr}(S)"),], children: [
Text(
"${TranslationLoader.lanKeys!.pleaseEnter!.tr}${TranslationLoader.lanKeys!.time!.tr}(S)"),
],
), ),
TextField( TextField(
// //
@ -71,43 +95,49 @@ class _AutomaticBlockingPageState extends State<AutomaticBlockingPage> {
autofocus: false, autofocus: false,
decoration: InputDecoration( decoration: InputDecoration(
// //
contentPadding: const EdgeInsets.only( contentPadding:
top: 12.0, bottom: 8.0), const EdgeInsets.only(top: 12.0, bottom: 8.0),
hintText: "${TranslationLoader.lanKeys!.pleaseEnter!.tr}${TranslationLoader.lanKeys!.time!.tr}(S)", hintText:
"${TranslationLoader.lanKeys!.pleaseEnter!.tr}${TranslationLoader.lanKeys!.time!.tr}(S)",
hintStyle: TextStyle(fontSize: 30.sp), hintStyle: TextStyle(fontSize: 30.sp),
//线 //线
border: InputBorder.none, border: InputBorder.none,
), ),
), ),
Container(height: 0.5.h, color: Colors.grey,), Container(
height: 0.5.h,
color: Colors.grey,
),
], ],
), ),
) )),
),
Container( Container(
padding: EdgeInsets.all(30.w), padding: EdgeInsets.all(30.w),
child: Row( child: Row(
mainAxisAlignment: MainAxisAlignment.start, mainAxisAlignment: MainAxisAlignment.start,
children: [ children: [
Expanded(child: Text(TranslationLoader.lanKeys!.automaticBlockingTip!.tr)), Expanded(
child: Text(
TranslationLoader.lanKeys!.automaticBlockingTip!.tr)),
], ],
), ),
) )
], ],
) ));
);
} }
Switch _switch(){ CupertinoSwitch _switch() {
return Switch( bool _isOn = false;
value: false, return CupertinoSwitch(
activeColor: CupertinoColors.activeBlue,
trackColor: CupertinoColors.systemGrey5,
thumbColor: CupertinoColors.white,
value: _isOn,
onChanged: (value) { onChanged: (value) {
// switchValue = !switchValue;
setState(() { setState(() {
_isOn = value;
}); });
} },
); );
} }
} }

View File

@ -59,7 +59,7 @@ class _ImportOtherLockDataPageState extends State<ImportOtherLockDataPage> {
Widget _searchWidget() { Widget _searchWidget() {
return Container( return Container(
height: 60.h, height: 60.h,
// margin: EdgeInsets.only(top:20.w), margin: EdgeInsets.only(top: 20.w, left: 20.w, right: 10.w),
decoration: BoxDecoration( decoration: BoxDecoration(
color: Colors.white, borderRadius: BorderRadius.circular(5)), color: Colors.white, borderRadius: BorderRadius.circular(5)),
child: TextField( child: TextField(
@ -67,17 +67,19 @@ class _ImportOtherLockDataPageState extends State<ImportOtherLockDataPage> {
maxLines: 1, maxLines: 1,
// controller: _controller, // controller: _controller,
autofocus: false, autofocus: false,
decoration: InputDecoration( decoration: InputDecoration(
// //
contentPadding: EdgeInsets.only( contentPadding: const EdgeInsets.only(
top: 8.h, left: -25.0.h, right: -15.0.h, bottom: 8.0.h), top: 12.0, left: -19.0, right: -15.0, bottom: 8.0),
hintText: TranslationLoader.lanKeys!.pleaseEnter!.tr, hintText: TranslationLoader.lanKeys!.pleaseEnter!.tr,
hintStyle: TextStyle(fontSize: 22.sp, height: 3.0),
//线 //线
border: InputBorder.none, border: InputBorder.none,
// //
icon: Padding( icon: Padding(
padding: EdgeInsets.only( padding: EdgeInsets.only(
top: 30.w, bottom: 20.w, right: 20.w, left: 20.w), top: 20.h, bottom: 20.h, right: 20.w, left: 10.w),
child: Image.asset( child: Image.asset(
'images/main/icon_main_search.png', 'images/main/icon_main_search.png',
width: 40.w, width: 40.w,

View File

@ -1,4 +1,4 @@
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:get/get.dart'; import 'package:get/get.dart';
@ -22,100 +22,227 @@ class _LockSetPageState extends State<LockSetPage> {
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Scaffold( return Scaffold(
backgroundColor: AppColors.mainBackgroundColor, backgroundColor: AppColors.mainBackgroundColor,
appBar: TitleAppBar(barTitle: TranslationLoader.lanKeys!.set!.tr, haveBack:true, backgroundColor: AppColors.mainColor), appBar: TitleAppBar(
barTitle: TranslationLoader.lanKeys!.set!.tr,
haveBack: true,
backgroundColor: AppColors.mainColor),
body: Column( body: Column(
children: [ children: [
Expanded( Expanded(
child: ListView( child: ListView(
children: [ children: [
CommonItem(leftTitel:TranslationLoader.lanKeys!.basicInformation!.tr, rightTitle:"", isHaveLine: false, isHaveDirection: true, action: (){ CommonItem(
Navigator.pushNamed(context, Routers.basicInformationPage); leftTitel:
TranslationLoader.lanKeys!.basicInformation!.tr,
rightTitle: "",
isHaveLine: false,
isHaveDirection: true,
action: () {
Navigator.pushNamed(
context, Routers.basicInformationPage);
}), }),
SizedBox(height: 10.h,), SizedBox(
CommonItem(leftTitel:TranslationLoader.lanKeys!.wirelessKeyboard!.tr, rightTitle:"", isHaveLine: true, isHaveDirection: true, action: (){ height: 10.h,
Navigator.pushNamed(context, Routers.wirelessKeyboardPage); ),
CommonItem(
leftTitel:
TranslationLoader.lanKeys!.wirelessKeyboard!.tr,
rightTitle: "",
isHaveLine: true,
isHaveDirection: true,
action: () {
Navigator.pushNamed(
context, Routers.wirelessKeyboardPage);
}), }),
CommonItem(leftTitel:TranslationLoader.lanKeys!.doorMagnetic!.tr, rightTitle:"", isHaveLine: false, isHaveDirection: true, action: (){ CommonItem(
leftTitel: TranslationLoader.lanKeys!.doorMagnetic!.tr,
rightTitle: "",
isHaveLine: false,
isHaveDirection: true,
action: () {
Navigator.pushNamed(context, Routers.doorMagneticPage); Navigator.pushNamed(context, Routers.doorMagneticPage);
}), }),
SizedBox(height: 10.h,), SizedBox(
CommonItem(leftTitel:TranslationLoader.lanKeys!.remoteUnlocking!.tr, rightTitle:TranslationLoader.lanKeys!.closed!.tr, isHaveLine: true, isHaveDirection: true, action: (){ height: 10.h,
Navigator.pushNamed(context, Routers.remoteUnlockingPage); ),
CommonItem(
leftTitel: TranslationLoader.lanKeys!.remoteUnlocking!.tr,
rightTitle: TranslationLoader.lanKeys!.closed!.tr,
isHaveLine: true,
isHaveDirection: true,
action: () {
Navigator.pushNamed(
context, Routers.remoteUnlockingPage);
}), }),
CommonItem(leftTitel:TranslationLoader.lanKeys!.automaticBlocking!.tr, rightTitle:"5s", isHaveLine: true, isHaveDirection: true, action: (){ CommonItem(
Navigator.pushNamed(context, Routers.automaticBlockingPage); leftTitel:
TranslationLoader.lanKeys!.automaticBlocking!.tr,
rightTitle: "5s",
isHaveLine: true,
isHaveDirection: true,
action: () {
Navigator.pushNamed(
context, Routers.automaticBlockingPage);
}), }),
CommonItem(leftTitel:TranslationLoader.lanKeys!.normallyOpenMode!.tr, rightTitle:TranslationLoader.lanKeys!.closed!.tr, isHaveLine: true, isHaveDirection: true, action: (){ CommonItem(
Navigator.pushNamed(context, Routers.normallyOpenModePage); leftTitel:
TranslationLoader.lanKeys!.normallyOpenMode!.tr,
rightTitle: TranslationLoader.lanKeys!.closed!.tr,
isHaveLine: true,
isHaveDirection: true,
action: () {
Navigator.pushNamed(
context, Routers.normallyOpenModePage);
}), }),
CommonItem(leftTitel:TranslationLoader.lanKeys!.lockSound!.tr, rightTitle:"", isHaveLine: true, isHaveDirection: true, action: (){ CommonItem(
leftTitel: TranslationLoader.lanKeys!.lockSound!.tr,
rightTitle: "",
isHaveLine: true,
isHaveDirection: true,
action: () {
Navigator.pushNamed(context, Routers.lockSoundSetPage); Navigator.pushNamed(context, Routers.lockSoundSetPage);
}), }),
CommonItem(leftTitel:TranslationLoader.lanKeys!.burglarAlarm!.tr, rightTitle:TranslationLoader.lanKeys!.opened!.tr, isHaveLine: true, isHaveDirection: true, action: (){ CommonItem(
leftTitel: TranslationLoader.lanKeys!.burglarAlarm!.tr,
rightTitle: TranslationLoader.lanKeys!.opened!.tr,
isHaveLine: true,
isHaveDirection: true,
action: () {
Navigator.pushNamed(context, Routers.burglarAlarmPage); Navigator.pushNamed(context, Routers.burglarAlarmPage);
}), }),
CommonItem(leftTitel:TranslationLoader.lanKeys!.resetButton!.tr, rightTitle:TranslationLoader.lanKeys!.opened!.tr, isHaveLine: true, isHaveDirection: true, action: (){ CommonItem(
leftTitel: TranslationLoader.lanKeys!.resetButton!.tr,
rightTitle: TranslationLoader.lanKeys!.opened!.tr,
isHaveLine: true,
isHaveDirection: true,
action: () {
Navigator.pushNamed(context, Routers.resetButtonPage); Navigator.pushNamed(context, Routers.resetButtonPage);
}), }),
CommonItem(leftTitel:TranslationLoader.lanKeys!.unlockQRCode!.tr, rightTitle:"", isHaveLine: false, isHaveDirection: true, action: (){ CommonItem(
leftTitel: TranslationLoader.lanKeys!.unlockQRCode!.tr,
rightTitle: "",
isHaveLine: false,
isHaveDirection: true,
action: () {
Navigator.pushNamed(context, Routers.unlockQRCodePage); Navigator.pushNamed(context, Routers.unlockQRCodePage);
}), }),
SizedBox(height: 10.h,), SizedBox(
CommonItem(leftTitel:TranslationLoader.lanKeys!.lockTime!.tr, rightTitle:"", isHaveLine: true, isHaveDirection: true, action: (){ height: 10.h,
),
CommonItem(
leftTitel: TranslationLoader.lanKeys!.lockTime!.tr,
rightTitle: "",
isHaveLine: true,
isHaveDirection: true,
action: () {
Navigator.pushNamed(context, Routers.lockTimePage); Navigator.pushNamed(context, Routers.lockTimePage);
}), }),
CommonItem(leftTitel:TranslationLoader.lanKeys!.diagnose!.tr, rightTitle:"", isHaveLine: true, isHaveDirection: true, action: (){ CommonItem(
leftTitel: TranslationLoader.lanKeys!.diagnose!.tr,
rightTitle: "",
isHaveLine: true,
isHaveDirection: true,
action: () {
Navigator.pushNamed(context, Routers.diagnosePage); Navigator.pushNamed(context, Routers.diagnosePage);
}), }),
CommonItem(leftTitel:TranslationLoader.lanKeys!.uploadData!.tr, rightTitle:"", isHaveLine: true, isHaveDirection: true, action: (){ CommonItem(
leftTitel: TranslationLoader.lanKeys!.uploadData!.tr,
rightTitle: "",
isHaveLine: true,
isHaveDirection: true,
action: () {
Navigator.pushNamed(context, Routers.uploadDataPage); Navigator.pushNamed(context, Routers.uploadDataPage);
}), }),
CommonItem(leftTitel:TranslationLoader.lanKeys!.importOtherLockData!.tr, rightTitle:"", isHaveLine: true, isHaveDirection: true, action: (){ CommonItem(
Navigator.pushNamed(context, Routers.importOtherLockDataPage); leftTitel:
TranslationLoader.lanKeys!.importOtherLockData!.tr,
rightTitle: "",
isHaveLine: true,
isHaveDirection: true,
action: () {
Navigator.pushNamed(
context, Routers.importOtherLockDataPage);
}), }),
CommonItem(leftTitel:TranslationLoader.lanKeys!.lockEscalation!.tr, rightTitle:"", isHaveLine: false, isHaveDirection: true, action: (){ CommonItem(
Navigator.pushNamed(context, Routers.lockEscalationPage); leftTitel: TranslationLoader.lanKeys!.lockEscalation!.tr,
rightTitle: "",
isHaveLine: false,
isHaveDirection: true,
action: () {
Navigator.pushNamed(
context, Routers.lockEscalationPage);
}), }),
SizedBox(height: 10.h,), SizedBox(
CommonItem(leftTitel:"Amazon Alexa", rightTitle:"", isHaveLine: true, isHaveDirection: true, action: (){ height: 10.h,
),
CommonItem(
leftTitel: "Amazon Alexa",
rightTitle: "",
isHaveLine: true,
isHaveDirection: true,
action: () {}),
CommonItem(
leftTitel: "Google Home",
rightTitle: "",
isHaveLine: true,
isHaveDirection: true,
action: () {}),
SizedBox(
height: 10.h,
),
CommonItem(
leftTitel:
TranslationLoader.lanKeys!.markedHouseState!.tr,
rightTitle: "空闲",
isHaveLine: true,
isHaveDirection: true,
action: () {
Navigator.pushNamed(
context, Routers.markedHouseStatePage);
}), }),
CommonItem(leftTitel:"Google Home", rightTitle:"", isHaveLine: true, isHaveDirection: true, action: (){ CommonItem(
leftTitel: TranslationLoader.lanKeys!.checkingIn!.tr,
}), rightTitle: "",
SizedBox(height: 10.h,), isHaveLine: true,
CommonItem(leftTitel:TranslationLoader.lanKeys!.markedHouseState!.tr, rightTitle:"空闲", isHaveLine: true, isHaveDirection: true, action: (){ isHaveRightWidget: true,
Navigator.pushNamed(context, Routers.markedHouseStatePage); rightWidget: Container(
}), width: 80.w, height: 50.h, child: _switch())),
CommonItem(leftTitel:TranslationLoader.lanKeys!.checkingIn!.tr, rightTitle:"", isHaveLine: true, isHaveRightWidget:true, rightWidget: Container(width: 80.w, height: 50.h,child: _switch())), CommonItem(
CommonItem(leftTitel:TranslationLoader.lanKeys!.unlockReminder!.tr, rightTitle:"", isHaveLine: false, isHaveRightWidget:true, rightWidget: Container(width: 80.w, height: 50.h,child: _switch())), leftTitel: TranslationLoader.lanKeys!.unlockReminder!.tr,
SizedBox(height: 30.h,), rightTitle: "",
SubmitBtn(btnName: TranslationLoader.lanKeys!.delete!.tr, isHaveLine: false,
borderRadius: 20.w, isHaveRightWidget: true,
fontSize: 32.sp, rightWidget: Container(
margin: EdgeInsets.only(left: 30.w, right: 30.w, top: 20.w), width: 80.w, height: 50.h, child: _switch())),
padding: EdgeInsets.only(top: 20.w, bottom: 20.w), SizedBox(
onClick: () { height: 30.h,
),
} Container(
padding: EdgeInsets.only(left: 20.w, right: 20.w),
child: SubmitBtn(
btnName: TranslationLoader.lanKeys!.delete!.tr,
isDelete: true,
onClick: () {}),
), ),
], ],
), ),
), ),
], ],
) ));
);
} }
Switch _switch(){ CupertinoSwitch _switch() {
return Switch( bool _isOn = false;
value: false, return CupertinoSwitch(
activeColor: CupertinoColors.activeBlue,
trackColor: CupertinoColors.systemGrey5,
thumbColor: CupertinoColors.white,
value: _isOn,
onChanged: (value) { onChanged: (value) {
// switchValue = !switchValue;
setState(() { setState(() {
_isOn = value;
}); });
} },
); );
} }
} }

View File

@ -1,4 +1,4 @@
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:get/get.dart'; import 'package:get/get.dart';
@ -17,73 +17,139 @@ class LockSoundSetPage extends StatefulWidget {
} }
class _LockSoundSetPageState extends State<LockSoundSetPage> { class _LockSoundSetPageState extends State<LockSoundSetPage> {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Scaffold( return Scaffold(
backgroundColor: AppColors.mainBackgroundColor, backgroundColor: AppColors.mainBackgroundColor,
appBar: TitleAppBar(barTitle: TranslationLoader.lanKeys!.lockSound!.tr, haveBack:true, backgroundColor: AppColors.mainColor), appBar: TitleAppBar(
barTitle: TranslationLoader.lanKeys!.lockSound!.tr,
haveBack: true,
backgroundColor: AppColors.mainColor),
body: ListView( body: ListView(
children: [ children: [
CommonItem(leftTitel:TranslationLoader.lanKeys!.lockSound!.tr, rightTitle:"", isHaveLine: false, isHaveRightWidget:true, rightWidget: Container(width: 80.w, height: 50.h,child: _switch())), CommonItem(
Container(height: 10.h,), leftTitel: TranslationLoader.lanKeys!.lockSound!.tr,
rightTitle: "",
isHaveLine: false,
isHaveRightWidget: true,
rightWidget:
Container(width: 80.w, height: 50.h, child: _switch())),
Container(
height: 10.h,
),
Container( Container(
padding: EdgeInsets.all(30.w), padding: EdgeInsets.all(30.w),
color: Colors.white, color: Colors.white,
child: Row( child: Row(
mainAxisAlignment: MainAxisAlignment.start, mainAxisAlignment: MainAxisAlignment.start,
children: [ children: [
Expanded(child: Text(TranslationLoader.lanKeys!.lockSoundTip!.tr)), Expanded(
child: Text(TranslationLoader.lanKeys!.lockSoundTip!.tr)),
], ],
), ),
), ),
SizedBox(height: 10.h,), SizedBox(
height: 10.h,
),
Visibility( Visibility(
visible: true, visible: true,
child: Container( child: Container(
color: Colors.white, color: Colors.white,
child: Column( child: Column(
children: [ children: [
CommonItem(leftTitel:TranslationLoader.lanKeys!.pleaseSeletLockVolume!.tr, rightTitle:"", isHaveLine: true), CommonItem(
CommonItem(leftTitel:TranslationLoader.lanKeys!.low!.tr, rightTitle:"", isHaveLine: true, isHaveRightWidget: true, leftTitel: TranslationLoader
.lanKeys!.pleaseSeletLockVolume!.tr,
rightTitle: "",
isHaveLine: true),
CommonItem(
leftTitel: TranslationLoader.lanKeys!.low!.tr,
rightTitle: "",
isHaveLine: true,
isHaveRightWidget: true,
rightWidget: GestureDetector( rightWidget: GestureDetector(
onTap: (){ onTap: () {},
child: Row(
}, children: [
child: Row(children: [Image.asset('images/icon_round_unSelet.png', width: 40.w, height: 40.w,),],),) Image.asset(
), 'images/icon_round_unSelet.png',
CommonItem(leftTitel:TranslationLoader.lanKeys!.lower!.tr, rightTitle:"", isHaveLine: true, isHaveRightWidget: true, width: 40.w,
rightWidget: GestureDetector( height: 40.w,
onTap: (){
},
child: Row(children: [Image.asset('images/icon_round_unSelet.png', width: 40.w, height: 40.w,),],),)
),
CommonItem(leftTitel:TranslationLoader.lanKeys!.medium!.tr, rightTitle:"", isHaveLine: true, isHaveRightWidget: true,
rightWidget: GestureDetector(
onTap: (){
},
child: Row(children: [Image.asset('images/icon_round_unSelet.png', width: 40.w, height: 40.w,),],),)
),
CommonItem(leftTitel:TranslationLoader.lanKeys!.higher!.tr, rightTitle:"", isHaveLine: true, isHaveRightWidget: true,
rightWidget: GestureDetector(
onTap: (){
},
child: Row(children: [Image.asset('images/icon_round_unSelet.png', width: 40.w, height: 40.w,),],),)
),
CommonItem(leftTitel:TranslationLoader.lanKeys!.high!.tr, rightTitle:"", isHaveLine: true, isHaveRightWidget: true,
rightWidget: GestureDetector(
onTap: (){
},
child: Row(children: [Image.asset('images/icon_round_unSelet.png', width: 40.w, height: 40.w,),],),)
), ),
], ],
), ),
) )),
CommonItem(
leftTitel: TranslationLoader.lanKeys!.lower!.tr,
rightTitle: "",
isHaveLine: true,
isHaveRightWidget: true,
rightWidget: GestureDetector(
onTap: () {},
child: Row(
children: [
Image.asset(
'images/icon_round_unSelet.png',
width: 40.w,
height: 40.w,
), ),
],
),
)),
CommonItem(
leftTitel: TranslationLoader.lanKeys!.medium!.tr,
rightTitle: "",
isHaveLine: true,
isHaveRightWidget: true,
rightWidget: GestureDetector(
onTap: () {},
child: Row(
children: [
Image.asset(
'images/icon_round_unSelet.png',
width: 40.w,
height: 40.w,
),
],
),
)),
CommonItem(
leftTitel: TranslationLoader.lanKeys!.higher!.tr,
rightTitle: "",
isHaveLine: true,
isHaveRightWidget: true,
rightWidget: GestureDetector(
onTap: () {},
child: Row(
children: [
Image.asset(
'images/icon_round_unSelet.png',
width: 40.w,
height: 40.w,
),
],
),
)),
CommonItem(
leftTitel: TranslationLoader.lanKeys!.high!.tr,
rightTitle: "",
isHaveLine: true,
isHaveRightWidget: true,
rightWidget: GestureDetector(
onTap: () {},
child: Row(
children: [
Image.asset(
'images/icon_round_unSelet.png',
width: 40.w,
height: 40.w,
),
],
),
)),
],
),
)),
SubmitBtn( SubmitBtn(
btnName: TranslationLoader.lanKeys!.save!.tr, btnName: TranslationLoader.lanKeys!.save!.tr,
borderRadius: 20.w, borderRadius: 20.w,
@ -91,23 +157,23 @@ class _LockSoundSetPageState extends State<LockSoundSetPage> {
padding: EdgeInsets.only(top: 25.w, bottom: 25.w), padding: EdgeInsets.only(top: 25.w, bottom: 25.w),
onClick: () { onClick: () {
// Navigator.pushNamed(context, Routers.nearbyLockPage); // Navigator.pushNamed(context, Routers.nearbyLockPage);
} }),
),
], ],
) ));
);
} }
Switch _switch(){ CupertinoSwitch _switch() {
return Switch( bool _isOn = false;
value: false, return CupertinoSwitch(
activeColor: CupertinoColors.activeBlue,
trackColor: CupertinoColors.systemGrey5,
thumbColor: CupertinoColors.white,
value: _isOn,
onChanged: (value) { onChanged: (value) {
// switchValue = !switchValue;
setState(() { setState(() {
_isOn = value;
}); });
} },
); );
} }
} }

View File

@ -1,4 +1,4 @@
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:get/get.dart'; import 'package:get/get.dart';
@ -17,27 +17,41 @@ class NormallyOpenModePage extends StatefulWidget {
} }
class _NormallyOpenModePageState extends State<NormallyOpenModePage> { class _NormallyOpenModePageState extends State<NormallyOpenModePage> {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Scaffold( return Scaffold(
backgroundColor: AppColors.mainBackgroundColor, backgroundColor: AppColors.mainBackgroundColor,
appBar: TitleAppBar(barTitle: TranslationLoader.lanKeys!.normallyOpenMode!.tr, haveBack:true, backgroundColor: AppColors.mainColor), appBar: TitleAppBar(
barTitle: TranslationLoader.lanKeys!.normallyOpenMode!.tr,
haveBack: true,
backgroundColor: AppColors.mainColor),
body: ListView( body: ListView(
children: [ children: [
CommonItem(leftTitel:TranslationLoader.lanKeys!.normallyOpenMode!.tr, rightTitle:"", isHaveLine: false, isHaveRightWidget:true, rightWidget: Container(width: 80.w, height: 50.h,child: _switch())), CommonItem(
Container(height: 10.h,), leftTitel: TranslationLoader.lanKeys!.normallyOpenMode!.tr,
rightTitle: "",
isHaveLine: false,
isHaveRightWidget: true,
rightWidget:
Container(width: 80.w, height: 50.h, child: _switch())),
Container(
height: 10.h,
),
Container( Container(
padding: EdgeInsets.all(30.w), padding: EdgeInsets.all(30.w),
color: Colors.white, color: Colors.white,
child: Row( child: Row(
mainAxisAlignment: MainAxisAlignment.start, mainAxisAlignment: MainAxisAlignment.start,
children: [ children: [
Expanded(child: Text(TranslationLoader.lanKeys!.normallyOpenModeTip!.tr)), Expanded(
child: Text(
TranslationLoader.lanKeys!.normallyOpenModeTip!.tr)),
], ],
), ),
), ),
SizedBox(height: 10.h,), SizedBox(
height: 10.h,
),
Visibility( Visibility(
visible: true, visible: true,
child: Container( child: Container(
@ -45,12 +59,13 @@ class _NormallyOpenModePageState extends State<NormallyOpenModePage> {
child: Column( child: Column(
children: [ children: [
topWidget(), topWidget(),
SizedBox(height: 10.h,), SizedBox(
height: 10.h,
),
bottomWidget() bottomWidget()
], ],
), ),
) )),
),
SubmitBtn( SubmitBtn(
btnName: TranslationLoader.lanKeys!.save!.tr, btnName: TranslationLoader.lanKeys!.save!.tr,
borderRadius: 20.w, borderRadius: 20.w,
@ -58,11 +73,9 @@ class _NormallyOpenModePageState extends State<NormallyOpenModePage> {
padding: EdgeInsets.only(top: 25.w, bottom: 25.w), padding: EdgeInsets.only(top: 25.w, bottom: 25.w),
onClick: () { onClick: () {
// Navigator.pushNamed(context, Routers.nearbyLockPage); // Navigator.pushNamed(context, Routers.nearbyLockPage);
} }),
),
], ],
) ));
);
} }
Widget topWidget() { Widget topWidget() {
@ -77,22 +90,21 @@ class _NormallyOpenModePageState extends State<NormallyOpenModePage> {
height: 60.h, height: 60.h,
// color: Colors.red, // color: Colors.red,
padding: EdgeInsets.only(left: 20.h, top: 15.h), padding: EdgeInsets.only(left: 20.h, top: 15.h),
child: Text("${TranslationLoader.lanKeys!.normallyOpen!.tr} ${TranslationLoader.lanKeys!.date!.tr}", style: TextStyle(fontSize: 30.sp, fontWeight: FontWeight.w600)) child: Text(
), "${TranslationLoader.lanKeys!.normallyOpen!.tr} ${TranslationLoader.lanKeys!.date!.tr}",
style:
TextStyle(fontSize: 30.sp, fontWeight: FontWeight.w600))),
Container( Container(
height: 90.h, height: 90.h,
padding: EdgeInsets.only(left: 10.w, right: 10.w), padding: EdgeInsets.only(left: 10.w, right: 10.w),
child: GridView.builder( child: GridView.builder(
gridDelegate: const SliverGridDelegateWithFixedCrossAxisCount( gridDelegate: const SliverGridDelegateWithFixedCrossAxisCount(
crossAxisCount: 7, crossAxisCount: 7, childAspectRatio: 1.0),
childAspectRatio: 1.0
),
itemCount: 7, itemCount: 7,
physics: const NeverScrollableScrollPhysics(), physics: const NeverScrollableScrollPhysics(),
itemBuilder: (context, index) { itemBuilder: (context, index) {
return btnItem(index); return btnItem(index);
}) })),
),
], ],
), ),
); );
@ -127,9 +139,7 @@ class _NormallyOpenModePageState extends State<NormallyOpenModePage> {
break; break;
} }
return GestureDetector( return GestureDetector(
onTap: (){ onTap: () {},
},
child: Container( child: Container(
width: 70.h, width: 70.h,
height: 70.h, height: 70.h,
@ -147,17 +157,29 @@ class _NormallyOpenModePageState extends State<NormallyOpenModePage> {
Widget bottomWidget() { Widget bottomWidget() {
return Column( return Column(
children: [ children: [
Container(color: AppColors.mainBackgroundColor, height: 10.h,), Container(
CommonItem(leftTitel:"${TranslationLoader.lanKeys!.normallyOpen!.tr} ${TranslationLoader.lanKeys!.time!.tr}", rightTitle:"", isHaveLine: true, isHaveRightWidget: true, color: AppColors.mainBackgroundColor,
height: 10.h,
),
CommonItem(
leftTitel:
"${TranslationLoader.lanKeys!.normallyOpen!.tr} ${TranslationLoader.lanKeys!.time!.tr}",
rightTitle: "",
isHaveLine: true,
isHaveRightWidget: true,
rightWidget: GestureDetector( rightWidget: GestureDetector(
onTap: (){ onTap: () {},
},
child: Row( child: Row(
children: [ children: [
Text(TranslationLoader.lanKeys!.allDay!.tr), Text(TranslationLoader.lanKeys!.allDay!.tr),
SizedBox(width: 5.w,), SizedBox(
Image.asset('images/icon_round_unSelet.png', width: 40.w, height: 40.w,), width: 5.w,
),
Image.asset(
'images/icon_round_unSelet.png',
width: 40.w,
height: 40.w,
),
], ],
), ),
)), )),
@ -167,32 +189,39 @@ class _NormallyOpenModePageState extends State<NormallyOpenModePage> {
color: Colors.white, color: Colors.white,
child: Column( child: Column(
children: [ children: [
CommonItem(leftTitel:"${TranslationLoader.lanKeys!.begin!.tr} ${TranslationLoader.lanKeys!.time!.tr}", rightTitle:"", isHaveDirection: true, isHaveLine: true, action:(){ CommonItem(
leftTitel:
}), "${TranslationLoader.lanKeys!.begin!.tr} ${TranslationLoader.lanKeys!.time!.tr}",
CommonItem(leftTitel:"${TranslationLoader.lanKeys!.end!.tr} ${TranslationLoader.lanKeys!.time!.tr}", rightTitle:"", isHaveDirection: true, action:(){ rightTitle: "",
isHaveDirection: true,
}), isHaveLine: true,
action: () {}),
CommonItem(
leftTitel:
"${TranslationLoader.lanKeys!.end!.tr} ${TranslationLoader.lanKeys!.time!.tr}",
rightTitle: "",
isHaveDirection: true,
action: () {}),
Container(height: 10.h), Container(height: 10.h),
], ],
), ),
) )),
),
], ],
); );
} }
Switch _switch(){ CupertinoSwitch _switch() {
return Switch( bool _isOn = false;
value: false, return CupertinoSwitch(
activeColor: CupertinoColors.activeBlue,
trackColor: CupertinoColors.systemGrey5,
thumbColor: CupertinoColors.white,
value: _isOn,
onChanged: (value) { onChanged: (value) {
// switchValue = !switchValue;
setState(() { setState(() {
_isOn = value;
}); });
} },
); );
} }
} }

View File

@ -32,7 +32,7 @@ class _LockDetailPageState extends State<LockDetailPage> {
Widget topWidget() { Widget topWidget() {
return Column( return Column(
children: [ children: [
SizedBox(height: 40.h), SizedBox(height: 30.h),
Stack( Stack(
alignment: Alignment.centerRight, alignment: Alignment.centerRight,
children: [ children: [
@ -41,48 +41,49 @@ class _LockDetailPageState extends State<LockDetailPage> {
child: Text( child: Text(
"MCBN01-ea9240", "MCBN01-ea9240",
style: style:
TextStyle(fontSize: 36.sp, fontWeight: FontWeight.w500), TextStyle(fontSize: 22.sp, fontWeight: FontWeight.w400),
)), )),
Row( Row(
mainAxisAlignment: MainAxisAlignment.end, mainAxisAlignment: MainAxisAlignment.end,
children: [ children: [
Text( Text(
"100%", "100%",
style: style: TextStyle(
TextStyle(fontSize: 24.sp, fontWeight: FontWeight.w500), fontSize: 18.sp, color: AppColors.darkGrayTextColor),
), ),
SizedBox(width: 5.w), SizedBox(width: 2.w),
Image.asset( Image.asset(
'images/main/icon_main_cell.png', 'images/main/icon_main_cell.png',
width: 50.w, width: 30.w,
height: 50.w, height: 24.w,
), ),
SizedBox(width: 30.w), SizedBox(width: 30.w),
], ],
), ),
], ],
), ),
SizedBox(height: 40.h), SizedBox(height: 30.h),
Container( Container(
width: 1.sw, // width: 1.sw,
color: Colors.white,
height: 280.w, height: 280.w,
child: Stack( child: Stack(
children: [ children: [
Center( Center(
child: Image.asset('images/main/icon_main_openLockBtn.png', child: Image.asset('images/main/icon_main_openLockBtn.png',
width: 280.w, height: 280.w)), width: 268.w, height: 268.w)),
Align( Align(
alignment: const Alignment(0.5, 1), alignment: const Alignment(0.6, 1),
child: Image.asset( child: Image.asset(
'images/main/icon_main_remoteUnlocking.png', 'images/main/icon_main_remoteUnlocking.png',
width: 90.w, width: 50.w,
height: 90.w, height: 52.w,
)), )),
], ],
), ),
), ),
SizedBox( SizedBox(
height: 40.h, height: 30.h,
), ),
Row( Row(
mainAxisAlignment: MainAxisAlignment.center, mainAxisAlignment: MainAxisAlignment.center,
@ -90,18 +91,18 @@ class _LockDetailPageState extends State<LockDetailPage> {
Text( Text(
TranslationLoader.lanKeys!.clickUnlockAndHoldDownClose!.tr, TranslationLoader.lanKeys!.clickUnlockAndHoldDownClose!.tr,
style: TextStyle( style: TextStyle(
fontSize: 24.sp, fontSize: 20.sp,
color: const Color(0xFFB3B3B3), color: const Color(0xFFB3B3B3),
fontWeight: FontWeight.w500), fontWeight: FontWeight.w500),
), ),
], ],
), ),
SizedBox( SizedBox(
height: 40.h, height: 30.h,
), ),
Divider( Divider(
height: 1, height: 1,
color: const Color(0xFFB3B3B3), color: AppColors.greyLineColor,
indent: 20.w, indent: 20.w,
endIndent: 20.w, endIndent: 20.w,
) )
@ -111,14 +112,14 @@ class _LockDetailPageState extends State<LockDetailPage> {
Widget bottomWidget() { Widget bottomWidget() {
return Container( return Container(
margin: EdgeInsets.only(left: 10.w, right: 10.w, top: 25.h), margin: EdgeInsets.only(left: 10.w, right: 10.w, top: 40.h),
// color: Colors.blue, // color: Colors.blue,
child: SizedBox( child: SizedBox(
child: GridView.count( child: GridView.count(
crossAxisCount: 4, crossAxisCount: 4,
// childAspectRatio: 3, // childAspectRatio: 3,
crossAxisSpacing: 20.w, crossAxisSpacing: 20.w,
mainAxisSpacing: 10.h, mainAxisSpacing: 0.h,
physics: const NeverScrollableScrollPhysics(), physics: const NeverScrollableScrollPhysics(),
children: [ children: [
bottomItem('images/main/icon_main_clockingIn.png', bottomItem('images/main/icon_main_clockingIn.png',
@ -167,8 +168,8 @@ class _LockDetailPageState extends State<LockDetailPage> {
} }
Widget bottomItem(String iconUrl, String name, Function() onClick) { Widget bottomItem(String iconUrl, String name, Function() onClick) {
var width = 65.w; var width = 40.w;
var height = 70.h; var height = 36.h;
return GestureDetector( return GestureDetector(
onTap: onClick, onTap: onClick,
child: Container( child: Container(
@ -183,11 +184,11 @@ class _LockDetailPageState extends State<LockDetailPage> {
child: Image.asset(iconUrl, child: Image.asset(iconUrl,
width: width, height: height, fit: BoxFit.fitWidth), width: width, height: height, fit: BoxFit.fitWidth),
), ),
SizedBox(height: 15.w), SizedBox(height: 10.w),
Expanded( Expanded(
child: Text(name, child: Text(name,
style: TextStyle( style: TextStyle(
fontSize: 25.sp, color: const Color(0xff333333)), fontSize: 20.sp, color: AppColors.blackColor),
textAlign: TextAlign.center)) textAlign: TextAlign.center))
], ],
)), )),

View File

@ -67,7 +67,7 @@ class _LockOperatingRecordPageState extends State<LockOperatingRecordPage> {
Widget _searchWidget() { Widget _searchWidget() {
return Container( return Container(
height: 60.h, height: 60.h,
margin: EdgeInsets.only(left: 20.w, right: 20.w), margin: EdgeInsets.only(top: 20.w, left: 20.w, right: 10.w),
decoration: BoxDecoration( decoration: BoxDecoration(
color: Colors.white, borderRadius: BorderRadius.circular(5)), color: Colors.white, borderRadius: BorderRadius.circular(5)),
child: TextField( child: TextField(
@ -75,18 +75,19 @@ class _LockOperatingRecordPageState extends State<LockOperatingRecordPage> {
maxLines: 1, maxLines: 1,
// controller: _controller, // controller: _controller,
autofocus: false, autofocus: false,
decoration: InputDecoration( decoration: InputDecoration(
// //
contentPadding: const EdgeInsets.only( contentPadding: const EdgeInsets.only(
top: 12.0, left: -22.0, right: -15.0, bottom: 10.0), top: 12.0, left: -19.0, right: -15.0, bottom: 8.0),
hintText: TranslationLoader.lanKeys!.pleaseEnter!.tr, hintText: TranslationLoader.lanKeys!.pleaseEnter!.tr,
hintStyle: TextStyle(fontSize: 28.sp), hintStyle: TextStyle(fontSize: 22.sp, height: 3.0),
//线 //线
border: InputBorder.none, border: InputBorder.none,
// //
icon: Padding( icon: Padding(
padding: EdgeInsets.only( padding: EdgeInsets.only(
top: 30.w, bottom: 20.w, right: 20.w, left: 20.w), top: 20.h, bottom: 20.h, right: 20.w, left: 10.w),
child: Image.asset( child: Image.asset(
'images/main/icon_main_search.png', 'images/main/icon_main_search.png',
width: 40.w, width: 40.w,

View File

@ -24,45 +24,72 @@ class _OtherTypeKeyDetailPageState extends State<OtherTypeKeyDetailPage> {
return Scaffold( return Scaffold(
backgroundColor: AppColors.mainBackgroundColor, backgroundColor: AppColors.mainBackgroundColor,
appBar: TitleAppBar(barTitle: "${getAppBarTitle(type)}${TranslationLoader.lanKeys!.number!.tr}", haveBack:true, backgroundColor: AppColors.mainColor, actionsList: [ appBar: TitleAppBar(
barTitle:
"${getAppBarTitle(type)}${TranslationLoader.lanKeys!.number!.tr}",
haveBack: true,
backgroundColor: AppColors.mainColor,
actionsList: [
TextButton( TextButton(
child: Text(TranslationLoader.lanKeys!.share!.tr, style: const TextStyle(color: Colors.white),), child: Text(
onPressed: (){ TranslationLoader.lanKeys!.share!.tr,
style: const TextStyle(color: Colors.white),
},), ),
],), onPressed: () {},
),
],
),
body: Column( body: Column(
children: [ children: [
CommonItem(leftTitel:"${getAppBarTitle(type)}${TranslationLoader.lanKeys!.number!.tr}", rightTitle:"98765432", isHaveDirection: true, isHaveLine: true, action:(){ CommonItem(
leftTitel:
"${getAppBarTitle(type)}${TranslationLoader.lanKeys!.number!.tr}",
rightTitle: "98765432",
isHaveDirection: true,
isHaveLine: true,
action: () {
showCupertinoAlertDialog(context); showCupertinoAlertDialog(context);
}), }),
CommonItem(leftTitel:TranslationLoader.lanKeys!.name!.tr, rightTitle:"你好", isHaveDirection: true, isHaveLine: true, action:(){ CommonItem(
leftTitel: TranslationLoader.lanKeys!.name!.tr,
rightTitle: "你好",
isHaveDirection: true,
isHaveLine: true,
action: () {
showCupertinoAlertDialog(context); showCupertinoAlertDialog(context);
}), }),
CommonItem(leftTitel:TranslationLoader.lanKeys!.periodValidity!.tr, rightTitle:"永久", isHaveDirection: true, action:(){ CommonItem(
Navigator.pushNamed(context, Routers.electronicKeyDetailChangeDate); leftTitel: TranslationLoader.lanKeys!.periodValidity!.tr,
rightTitle: "永久",
isHaveDirection: true,
action: () {
Navigator.pushNamed(
context, Routers.electronicKeyDetailChangeDate);
}), }),
Container(height: 10.h), Container(height: 10.h),
CommonItem(leftTitel:TranslationLoader.lanKeys!.additive!.tr, rightTitle:"15080825640", action:(){ CommonItem(
leftTitel: TranslationLoader.lanKeys!.additive!.tr,
}), rightTitle: "15080825640",
CommonItem(leftTitel:TranslationLoader.lanKeys!.addTime!.tr, rightTitle:"2020.06.21 11:49", action:(){ action: () {}),
CommonItem(
}), leftTitel: TranslationLoader.lanKeys!.addTime!.tr,
rightTitle: "2020.06.21 11:49",
action: () {}),
Container(height: 10.h), Container(height: 10.h),
CommonItem(leftTitel:TranslationLoader.lanKeys!.operatingRecord!.tr, rightTitle:"", isHaveDirection: true, action:(){ CommonItem(
leftTitel: TranslationLoader.lanKeys!.operatingRecord!.tr,
}), rightTitle: "",
isHaveDirection: true,
action: () {}),
Container(height: 40.h), Container(height: 40.h),
SubmitBtn( SubmitBtn(
btnName: TranslationLoader.lanKeys!.delete!.tr, btnName: TranslationLoader.lanKeys!.delete!.tr,
isDelete: true,
borderRadius: 20.w, borderRadius: 20.w,
margin: EdgeInsets.only(left: 30.w, right: 30.w, top: 30.w, bottom: 30.w), margin: EdgeInsets.only(
left: 30.w, right: 30.w, top: 30.w, bottom: 30.w),
padding: EdgeInsets.only(top: 25.w, bottom: 25.w), padding: EdgeInsets.only(top: 25.w, bottom: 25.w),
onClick: (){ onClick: () {}),
}
),
], ],
), ),
); );
@ -86,7 +113,12 @@ class _OtherTypeKeyDetailPageState extends State<OtherTypeKeyDetailPage> {
return title; return title;
} }
Widget commonItem(String leftTitle, String rightTitle, {bool isHaveDirection = false, bool isHaveLine = false, bool isHaveRightWidget = false, Widget? rightWidget, Function()? action}){ Widget commonItem(String leftTitle, String rightTitle,
{bool isHaveDirection = false,
bool isHaveLine = false,
bool isHaveRightWidget = false,
Widget? rightWidget,
Function()? action}) {
return GestureDetector( return GestureDetector(
onTap: action, onTap: action,
child: Column( child: Column(
@ -95,27 +127,50 @@ class _OtherTypeKeyDetailPageState extends State<OtherTypeKeyDetailPage> {
Container( Container(
// height: 80.h, // height: 80.h,
color: Colors.white, color: Colors.white,
padding: EdgeInsets.only(left:20.w, right: 10.w, top: 20.w, bottom: 20.w), padding: EdgeInsets.only(
left: 20.w, right: 10.w, top: 20.w, bottom: 20.w),
child: Row( child: Row(
children: [ children: [
SizedBox(width: 20.w), SizedBox(width: 20.w),
Text(leftTitle, style: TextStyle(fontSize: 28.sp, fontWeight: FontWeight.w500), ), Text(
leftTitle,
style:
TextStyle(fontSize: 28.sp, fontWeight: FontWeight.w500),
),
SizedBox(width: 20.w), SizedBox(width: 20.w),
Expanded( Expanded(
child: Row( child: Row(
mainAxisAlignment: MainAxisAlignment.end, mainAxisAlignment: MainAxisAlignment.end,
children: [ children: [
isHaveRightWidget?rightWidget!:Text(rightTitle, textAlign: TextAlign.end,style: TextStyle(fontSize: 28.sp, fontWeight: FontWeight.w500),) isHaveRightWidget
? rightWidget!
: Text(
rightTitle,
textAlign: TextAlign.end,
style: TextStyle(
fontSize: 28.sp, fontWeight: FontWeight.w500),
)
], ],
), ),
), ),
SizedBox(width: 5.w), SizedBox(width: 5.w),
isHaveDirection?Image.asset('images/icon_right.png', width: 50.w, height: 50.w,):SizedBox(width:10.w), isHaveDirection
? Image.asset(
'images/icon_right.png',
width: 50.w,
height: 50.w,
)
: SizedBox(width: 10.w),
// SizedBox(width:10.w), // SizedBox(width:10.w),
], ],
), ),
), ),
isHaveLine?Container(height: 0.5.h, color: Colors.grey,):Container() isHaveLine
? Container(
height: 0.5.h,
color: Colors.grey,
)
: Container()
], ],
), ),
); );
@ -131,7 +186,9 @@ class _OtherTypeKeyDetailPageState extends State<OtherTypeKeyDetailPage> {
title: const Text("修改密码"), title: const Text("修改密码"),
content: Column( content: Column(
children: <Widget>[ children: <Widget>[
const SizedBox(height: 10,), const SizedBox(
height: 10,
),
Container( Container(
height: 80.h, height: 80.h,
// color: Colors.white, // color: Colors.white,
@ -191,5 +248,4 @@ class _OtherTypeKeyDetailPageState extends State<OtherTypeKeyDetailPage> {
); );
}); });
} }
} }

View File

@ -76,7 +76,7 @@ class _OtherTypeKeyListPageState extends State<OtherTypeKeyListPage> {
Widget _searchWidget() { Widget _searchWidget() {
return Container( return Container(
height: 60.h, height: 60.h,
margin: EdgeInsets.only(top: 20.w, left: 20.w, right: 20.w), margin: EdgeInsets.only(top: 20.w, left: 20.w, right: 10.w),
decoration: BoxDecoration( decoration: BoxDecoration(
color: Colors.white, borderRadius: BorderRadius.circular(5)), color: Colors.white, borderRadius: BorderRadius.circular(5)),
child: TextField( child: TextField(
@ -84,17 +84,19 @@ class _OtherTypeKeyListPageState extends State<OtherTypeKeyListPage> {
maxLines: 1, maxLines: 1,
// controller: _controller, // controller: _controller,
autofocus: false, autofocus: false,
decoration: InputDecoration( decoration: InputDecoration(
// //
contentPadding: const EdgeInsets.only( contentPadding: const EdgeInsets.only(
top: 12.0, left: -19.0, right: -15.0, bottom: 8.0), top: 12.0, left: -19.0, right: -15.0, bottom: 8.0),
hintText: TranslationLoader.lanKeys!.pleaseEnter!.tr, hintText: TranslationLoader.lanKeys!.pleaseEnter!.tr,
hintStyle: TextStyle(fontSize: 22.sp, height: 3.0),
//线 //线
border: InputBorder.none, border: InputBorder.none,
// //
icon: Padding( icon: Padding(
padding: EdgeInsets.only( padding: EdgeInsets.only(
top: 30.w, bottom: 20.w, right: 20.w, left: 20.w), top: 20.h, bottom: 20.h, right: 20.w, left: 10.w),
child: Image.asset( child: Image.asset(
'images/main/icon_main_search.png', 'images/main/icon_main_search.png',
width: 40.w, width: 40.w,

View File

@ -22,51 +22,81 @@ class _PasswordKeyDetailPageState extends State<PasswordKeyDetailPage> {
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Scaffold( return Scaffold(
backgroundColor: AppColors.mainBackgroundColor, backgroundColor: AppColors.mainBackgroundColor,
appBar: TitleAppBar(barTitle: TranslationLoader.lanKeys!.passwordDetail!.tr, haveBack:true, backgroundColor: AppColors.mainColor, actionsList: [ appBar: TitleAppBar(
barTitle: TranslationLoader.lanKeys!.passwordDetail!.tr,
haveBack: true,
backgroundColor: AppColors.mainColor,
actionsList: [
TextButton( TextButton(
child: const Text("分享", style: TextStyle(color: Colors.white),), child: const Text(
onPressed: (){ "分享",
style: TextStyle(color: Colors.white),
},), ),
],), onPressed: () {},
),
],
),
body: Column( body: Column(
children: [ children: [
CommonItem(leftTitel:TranslationLoader.lanKeys!.password!.tr, rightTitle:"98765432", isHaveDirection: true, isHaveLine: true, action:(){ CommonItem(
leftTitel: TranslationLoader.lanKeys!.password!.tr,
rightTitle: "98765432",
isHaveDirection: true,
isHaveLine: true,
action: () {
showCupertinoAlertDialog(context); showCupertinoAlertDialog(context);
}), }),
CommonItem(leftTitel:TranslationLoader.lanKeys!.name!.tr, rightTitle:"你好", isHaveDirection: true, isHaveLine: true, action:(){ CommonItem(
leftTitel: TranslationLoader.lanKeys!.name!.tr,
rightTitle: "你好",
isHaveDirection: true,
isHaveLine: true,
action: () {
showCupertinoAlertDialog(context); showCupertinoAlertDialog(context);
}), }),
CommonItem(leftTitel:TranslationLoader.lanKeys!.effectiveTime!.tr, rightTitle:"永久", isHaveDirection: true, action:(){ CommonItem(
Navigator.pushNamed(context, Routers.electronicKeyDetailChangeDate); leftTitel: TranslationLoader.lanKeys!.effectiveTime!.tr,
rightTitle: "永久",
isHaveDirection: true,
action: () {
Navigator.pushNamed(
context, Routers.electronicKeyDetailChangeDate);
}), }),
Container(height: 10.h), Container(height: 10.h),
CommonItem(leftTitel:TranslationLoader.lanKeys!.sender!.tr, rightTitle:"15080825640", action:(){ CommonItem(
leftTitel: TranslationLoader.lanKeys!.sender!.tr,
}), rightTitle: "15080825640",
CommonItem(leftTitel:TranslationLoader.lanKeys!.senderTime!.tr, rightTitle:"2020.06.21 11:49", action:(){ action: () {}),
CommonItem(
}), leftTitel: TranslationLoader.lanKeys!.senderTime!.tr,
rightTitle: "2020.06.21 11:49",
action: () {}),
Container(height: 10.h), Container(height: 10.h),
CommonItem(leftTitel:TranslationLoader.lanKeys!.operatingRecord!.tr, rightTitle:"", isHaveDirection: true, action:(){ CommonItem(
leftTitel: TranslationLoader.lanKeys!.operatingRecord!.tr,
}), rightTitle: "",
isHaveDirection: true,
action: () {}),
Container(height: 40.h), Container(height: 40.h),
SubmitBtn( SubmitBtn(
btnName: TranslationLoader.lanKeys!.delete!.tr, btnName: TranslationLoader.lanKeys!.delete!.tr,
isDelete: true,
borderRadius: 20.w, borderRadius: 20.w,
margin: EdgeInsets.only(left: 30.w, right: 30.w, top: 30.w, bottom: 30.w), margin: EdgeInsets.only(
left: 30.w, right: 30.w, top: 30.w, bottom: 30.w),
padding: EdgeInsets.only(top: 25.w, bottom: 25.w), padding: EdgeInsets.only(top: 25.w, bottom: 25.w),
onClick: (){ onClick: () {}),
}
),
], ],
), ),
); );
} }
Widget commonItem(String leftTitle, String rightTitle, {bool isHaveDirection = false, bool isHaveLine = false, bool isHaveRightWidget = false, Widget? rightWidget, Function()? action}){ Widget commonItem(String leftTitle, String rightTitle,
{bool isHaveDirection = false,
bool isHaveLine = false,
bool isHaveRightWidget = false,
Widget? rightWidget,
Function()? action}) {
return GestureDetector( return GestureDetector(
onTap: action, onTap: action,
child: Column( child: Column(
@ -75,27 +105,50 @@ class _PasswordKeyDetailPageState extends State<PasswordKeyDetailPage> {
Container( Container(
// height: 80.h, // height: 80.h,
color: Colors.white, color: Colors.white,
padding: EdgeInsets.only(left:20.w, right: 10.w, top: 20.w, bottom: 20.w), padding: EdgeInsets.only(
left: 20.w, right: 10.w, top: 20.w, bottom: 20.w),
child: Row( child: Row(
children: [ children: [
SizedBox(width: 20.w), SizedBox(width: 20.w),
Text(leftTitle, style: TextStyle(fontSize: 28.sp, fontWeight: FontWeight.w500), ), Text(
leftTitle,
style:
TextStyle(fontSize: 28.sp, fontWeight: FontWeight.w500),
),
SizedBox(width: 20.w), SizedBox(width: 20.w),
Expanded( Expanded(
child: Row( child: Row(
mainAxisAlignment: MainAxisAlignment.end, mainAxisAlignment: MainAxisAlignment.end,
children: [ children: [
isHaveRightWidget?rightWidget!:Text(rightTitle, textAlign: TextAlign.end,style: TextStyle(fontSize: 28.sp, fontWeight: FontWeight.w500),) isHaveRightWidget
? rightWidget!
: Text(
rightTitle,
textAlign: TextAlign.end,
style: TextStyle(
fontSize: 28.sp, fontWeight: FontWeight.w500),
)
], ],
), ),
), ),
SizedBox(width: 5.w), SizedBox(width: 5.w),
isHaveDirection?Image.asset('images/icon_right.png', width: 50.w, height: 50.w,):SizedBox(width:10.w), isHaveDirection
? Image.asset(
'images/icon_right.png',
width: 50.w,
height: 50.w,
)
: SizedBox(width: 10.w),
// SizedBox(width:10.w), // SizedBox(width:10.w),
], ],
), ),
), ),
isHaveLine?Container(height: 0.5.h, color: Colors.grey,):Container() isHaveLine
? Container(
height: 0.5.h,
color: Colors.grey,
)
: Container()
], ],
), ),
); );
@ -108,10 +161,13 @@ class _PasswordKeyDetailPageState extends State<PasswordKeyDetailPage> {
return Card( return Card(
color: const Color(0x00FFFFFF), color: const Color(0x00FFFFFF),
child: CupertinoAlertDialog( child: CupertinoAlertDialog(
title: Text("${TranslationLoader.lanKeys!.amend!.tr} ${TranslationLoader.lanKeys!.password!.tr}"), title: Text(
"${TranslationLoader.lanKeys!.amend!.tr} ${TranslationLoader.lanKeys!.password!.tr}"),
content: Column( content: Column(
children: <Widget>[ children: <Widget>[
const SizedBox(height: 10,), const SizedBox(
height: 10,
),
Container( Container(
height: 80.h, height: 80.h,
// color: Colors.white, // color: Colors.white,
@ -171,5 +227,4 @@ class _PasswordKeyDetailPageState extends State<PasswordKeyDetailPage> {
); );
}); });
} }
} }

View File

@ -55,7 +55,7 @@ class _PasswordKeyListPageState extends State<PasswordKeyListPage> {
Widget _searchWidget() { Widget _searchWidget() {
return Container( return Container(
height: 60.h, height: 60.h,
margin: EdgeInsets.only(top: 20.w, left: 20.w, right: 20.w), margin: EdgeInsets.only(top: 20.w, left: 20.w, right: 10.w),
decoration: BoxDecoration( decoration: BoxDecoration(
color: Colors.white, borderRadius: BorderRadius.circular(5)), color: Colors.white, borderRadius: BorderRadius.circular(5)),
child: TextField( child: TextField(
@ -63,17 +63,19 @@ class _PasswordKeyListPageState extends State<PasswordKeyListPage> {
maxLines: 1, maxLines: 1,
// controller: _controller, // controller: _controller,
autofocus: false, autofocus: false,
decoration: InputDecoration( decoration: InputDecoration(
// //
contentPadding: const EdgeInsets.only( contentPadding: const EdgeInsets.only(
top: 12.0, left: -19.0, right: -15.0, bottom: 8.0), top: 12.0, left: -19.0, right: -15.0, bottom: 8.0),
hintText: TranslationLoader.lanKeys!.pleaseEnter!.tr, hintText: TranslationLoader.lanKeys!.pleaseEnter!.tr,
hintStyle: TextStyle(fontSize: 22.sp, height: 3.0),
//线 //线
border: InputBorder.none, border: InputBorder.none,
// //
icon: Padding( icon: Padding(
padding: EdgeInsets.only( padding: EdgeInsets.only(
top: 30.w, bottom: 20.w, right: 20.w, left: 20.w), top: 20.h, bottom: 20.h, right: 20.w, left: 10.w),
child: Image.asset( child: Image.asset(
'images/main/icon_main_search.png', 'images/main/icon_main_search.png',
width: 40.w, width: 40.w,

View File

@ -1,3 +1,4 @@
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:get/get.dart'; import 'package:get/get.dart';
@ -11,13 +12,14 @@ import '../../../../translations/trans_lib.dart';
class PasswordKeyPerpetualPage extends StatefulWidget { class PasswordKeyPerpetualPage extends StatefulWidget {
final String type; final String type;
const PasswordKeyPerpetualPage({Key? key, required this.type}) : super(key: key); const PasswordKeyPerpetualPage({Key? key, required this.type})
: super(key: key);
@override @override
State<PasswordKeyPerpetualPage> createState() => _PasswordKeyPerpetualPageState(); State<PasswordKeyPerpetualPage> createState() =>
_PasswordKeyPerpetualPageState();
} }
class _PasswordKeyPerpetualPageState extends State<PasswordKeyPerpetualPage> { class _PasswordKeyPerpetualPageState extends State<PasswordKeyPerpetualPage> {
final TextEditingController _controller = TextEditingController(); final TextEditingController _controller = TextEditingController();
@override @override
@ -29,7 +31,6 @@ class _PasswordKeyPerpetualPageState extends State<PasswordKeyPerpetualPage> {
void initState() { void initState() {
// TODO: implement initState // TODO: implement initState
super.initState(); super.initState();
} }
Widget indexChangeWidget() { Widget indexChangeWidget() {
@ -40,7 +41,10 @@ class _PasswordKeyPerpetualPageState extends State<PasswordKeyPerpetualPage> {
// return sendElectronicKeySucceed(); // return sendElectronicKeySucceed();
return Column( return Column(
children: [ children: [
perpetualKeyWidget(TranslationLoader.lanKeys!.name!.tr, TranslationLoader.lanKeys!.pleaseNameYourPassword!.tr, _controller), perpetualKeyWidget(
TranslationLoader.lanKeys!.name!.tr,
TranslationLoader.lanKeys!.pleaseNameYourPassword!.tr,
_controller),
keyBottomWidget(TranslationLoader.lanKeys!.getPasswordTip1!.tr) keyBottomWidget(TranslationLoader.lanKeys!.getPasswordTip1!.tr)
], ],
); );
@ -52,7 +56,10 @@ class _PasswordKeyPerpetualPageState extends State<PasswordKeyPerpetualPage> {
return Column( return Column(
children: [ children: [
keyTimeLimitWidget(), keyTimeLimitWidget(),
perpetualKeyWidget(TranslationLoader.lanKeys!.name!.tr, TranslationLoader.lanKeys!.pleaseNameYourPassword!.tr, _controller), perpetualKeyWidget(
TranslationLoader.lanKeys!.name!.tr,
TranslationLoader.lanKeys!.pleaseNameYourPassword!.tr,
_controller),
keyBottomWidget(TranslationLoader.lanKeys!.getPasswordTip2!.tr) keyBottomWidget(TranslationLoader.lanKeys!.getPasswordTip2!.tr)
], ],
); );
@ -63,7 +70,10 @@ class _PasswordKeyPerpetualPageState extends State<PasswordKeyPerpetualPage> {
// //
return Column( return Column(
children: [ children: [
perpetualKeyWidget(TranslationLoader.lanKeys!.name!.tr, TranslationLoader.lanKeys!.pleaseNameYourPassword!.tr, _controller), perpetualKeyWidget(
TranslationLoader.lanKeys!.name!.tr,
TranslationLoader.lanKeys!.pleaseNameYourPassword!.tr,
_controller),
keyBottomWidget(TranslationLoader.lanKeys!.getPasswordTip3!.tr) keyBottomWidget(TranslationLoader.lanKeys!.getPasswordTip3!.tr)
], ],
); );
@ -75,8 +85,12 @@ class _PasswordKeyPerpetualPageState extends State<PasswordKeyPerpetualPage> {
return Column( return Column(
children: [ children: [
keyIfPerpetualWidget(), keyIfPerpetualWidget(),
perpetualKeyWidget(TranslationLoader.lanKeys!.name!.tr, TranslationLoader.lanKeys!.pleaseNameYourPassword!.tr, _controller), perpetualKeyWidget(
perpetualKeyWidget(TranslationLoader.lanKeys!.password!.tr, "请输入6-9位数字", _controller), TranslationLoader.lanKeys!.name!.tr,
TranslationLoader.lanKeys!.pleaseNameYourPassword!.tr,
_controller),
perpetualKeyWidget(TranslationLoader.lanKeys!.password!.tr,
"请输入6-9位数字", _controller),
keyBottomWidget(TranslationLoader.lanKeys!.getPasswordTip4!.tr) keyBottomWidget(TranslationLoader.lanKeys!.getPasswordTip4!.tr)
], ],
); );
@ -88,7 +102,10 @@ class _PasswordKeyPerpetualPageState extends State<PasswordKeyPerpetualPage> {
return Column( return Column(
children: [ children: [
keyCirculationWidget(), keyCirculationWidget(),
perpetualKeyWidget(TranslationLoader.lanKeys!.name!.tr, TranslationLoader.lanKeys!.pleaseNameYourPassword!.tr, _controller), perpetualKeyWidget(
TranslationLoader.lanKeys!.name!.tr,
TranslationLoader.lanKeys!.pleaseNameYourPassword!.tr,
_controller),
keyBottomWidget(TranslationLoader.lanKeys!.getPasswordTip5!.tr) keyBottomWidget(TranslationLoader.lanKeys!.getPasswordTip5!.tr)
], ],
); );
@ -99,7 +116,10 @@ class _PasswordKeyPerpetualPageState extends State<PasswordKeyPerpetualPage> {
// //
return Column( return Column(
children: [ children: [
perpetualKeyWidget(TranslationLoader.lanKeys!.name!.tr, TranslationLoader.lanKeys!.pleaseNameYourPassword!.tr, _controller), perpetualKeyWidget(
TranslationLoader.lanKeys!.name!.tr,
TranslationLoader.lanKeys!.pleaseNameYourPassword!.tr,
_controller),
keyBottomWidget(TranslationLoader.lanKeys!.getPasswordTip6!.tr) keyBottomWidget(TranslationLoader.lanKeys!.getPasswordTip6!.tr)
], ],
); );
@ -112,11 +132,16 @@ class _PasswordKeyPerpetualPageState extends State<PasswordKeyPerpetualPage> {
} }
// //
Widget perpetualKeyWidget(String titleStr, String rightTitle, TextEditingController controller){ Widget perpetualKeyWidget(
String titleStr, String rightTitle, TextEditingController controller) {
return Column( return Column(
children: [ children: [
Container(height: 10.h), Container(height: 10.h),
CommonItem(leftTitel:titleStr, rightTitle:"", isHaveRightWidget: true, rightWidget: getTFWidget(rightTitle)), CommonItem(
leftTitel: titleStr,
rightTitle: "",
isHaveRightWidget: true,
rightWidget: getTFWidget(rightTitle)),
Container(height: 10.h), Container(height: 10.h),
], ],
); );
@ -126,10 +151,19 @@ class _PasswordKeyPerpetualPageState extends State<PasswordKeyPerpetualPage> {
Widget keyTimeLimitWidget() { Widget keyTimeLimitWidget() {
return Column( return Column(
children: [ children: [
CommonItem(leftTitel:TranslationLoader.lanKeys!.effectiveTime!.tr, rightTitle:"2020.06.20 11:49", isHaveLine: true, isHaveDirection: true, action:(){ CommonItem(
leftTitel: TranslationLoader.lanKeys!.effectiveTime!.tr,
rightTitle: "2020.06.20 11:49",
isHaveLine: true,
isHaveDirection: true,
action: () {
// _showDatePicker(); // _showDatePicker();
}), }),
CommonItem(leftTitel:TranslationLoader.lanKeys!.failureTime!.tr, rightTitle:"2020.06.20 11:49", isHaveDirection: true, action:(){ CommonItem(
leftTitel: TranslationLoader.lanKeys!.failureTime!.tr,
rightTitle: "2020.06.20 11:49",
isHaveDirection: true,
action: () {
// _showDatePicker(); // _showDatePicker();
}), }),
Container(height: 10.h), Container(height: 10.h),
@ -141,9 +175,12 @@ class _PasswordKeyPerpetualPageState extends State<PasswordKeyPerpetualPage> {
Widget keyIfPerpetualWidget() { Widget keyIfPerpetualWidget() {
return Column( return Column(
children: [ children: [
CommonItem(leftTitel:TranslationLoader.lanKeys!.permanent!.tr, rightTitle:"", isHaveRightWidget: true, rightWidget: Container(width: 80.w, height: 50.h,child: _switch()), action:(){ CommonItem(
leftTitel: TranslationLoader.lanKeys!.permanent!.tr,
}), rightTitle: "",
isHaveRightWidget: true,
rightWidget: Container(width: 80.w, height: 50.h, child: _switch()),
action: () {}),
Container(height: 10.h), Container(height: 10.h),
], ],
); );
@ -153,15 +190,23 @@ class _PasswordKeyPerpetualPageState extends State<PasswordKeyPerpetualPage> {
Widget keyCirculationWidget() { Widget keyCirculationWidget() {
return Column( return Column(
children: [ children: [
CommonItem(leftTitel:TranslationLoader.lanKeys!.recursiveDevice!.tr, rightTitle:"周末", isHaveLine: true, isHaveDirection: true, action:(){ CommonItem(
leftTitel: TranslationLoader.lanKeys!.recursiveDevice!.tr,
}), rightTitle: "周末",
CommonItem(leftTitel:TranslationLoader.lanKeys!.effectiveTime!.tr, rightTitle:"10:00", isHaveLine: true, isHaveDirection: true, action:(){ isHaveLine: true,
isHaveDirection: true,
}), action: () {}),
CommonItem(leftTitel:TranslationLoader.lanKeys!.failureTime!.tr, rightTitle:"11:00", isHaveDirection: true, action:(){ CommonItem(
leftTitel: TranslationLoader.lanKeys!.effectiveTime!.tr,
}), rightTitle: "10:00",
isHaveLine: true,
isHaveDirection: true,
action: () {}),
CommonItem(
leftTitel: TranslationLoader.lanKeys!.failureTime!.tr,
rightTitle: "11:00",
isHaveDirection: true,
action: () {}),
], ],
); );
} }
@ -174,15 +219,20 @@ class _PasswordKeyPerpetualPageState extends State<PasswordKeyPerpetualPage> {
child: Row( child: Row(
// crossAxisAlignment: CrossAxisAlignment.start, // crossAxisAlignment: CrossAxisAlignment.start,
children: [ children: [
Expanded(child: Text(tipStr, textAlign: TextAlign.start,)), Expanded(
child: Text(
tipStr,
textAlign: TextAlign.start,
)),
], ],
), ),
), ),
SubmitBtn(btnName: TranslationLoader.lanKeys!.getPassword!.tr, borderRadius: 20.w, margin: EdgeInsets.only(left: 30.w, right: 30.w, top: 30.w), padding: EdgeInsets.only(top: 25.w, bottom: 25.w), SubmitBtn(
onClick: (){ btnName: TranslationLoader.lanKeys!.getPassword!.tr,
borderRadius: 20.w,
} margin: EdgeInsets.only(left: 30.w, right: 30.w, top: 30.w),
), padding: EdgeInsets.only(top: 25.w, bottom: 25.w),
onClick: () {}),
], ],
); );
} }
@ -197,25 +247,64 @@ class _PasswordKeyPerpetualPageState extends State<PasswordKeyPerpetualPage> {
color: Colors.white, color: Colors.white,
child: Column( child: Column(
children: [ children: [
SizedBox(height: 30.h,), SizedBox(
Image.asset('images/main/icon_main_addLock.png', width: 150.w, height: 150.w, color: AppColors.mainColor,), height: 30.h,
SizedBox(height: 20.h,), ),
Text("操作成功,密码为",style: TextStyle(fontSize: 32.sp, color: Colors.black, fontWeight: FontWeight.w500),), Image.asset(
SizedBox(height: 10.h,), 'images/main/icon_main_addLock.png',
Text("62689876",style: TextStyle(fontSize: 60.sp, color: Colors.black, fontWeight: FontWeight.w500),), width: 150.w,
height: 150.w,
color: AppColors.mainColor,
),
SizedBox(
height: 20.h,
),
Text(
"操作成功,密码为",
style: TextStyle(
fontSize: 32.sp,
color: Colors.black,
fontWeight: FontWeight.w500),
),
SizedBox(
height: 10.h,
),
Text(
"62689876",
style: TextStyle(
fontSize: 60.sp,
color: Colors.black,
fontWeight: FontWeight.w500),
),
], ],
), ),
), ),
SizedBox(height: 20.h,), SizedBox(
SubmitBtn(btnName: '完成', fontSize: 28.sp, borderRadius: 20.w, margin: EdgeInsets.only(left: 30.w, right: 30.w, top: 30.w), padding: EdgeInsets.only(top: 25.w, bottom: 25.w), onClick: (){ height: 20.h,
),
}), SubmitBtn(
SubmitBtn(btnName: '分享', fontSize: 28.sp, borderRadius: 20.w, margin: EdgeInsets.only(left: 30.w, right: 30.w, top: 30.w), padding: EdgeInsets.only(top: 25.w, bottom: 25.w), onClick: (){ btnName: '完成',
fontSize: 28.sp,
borderRadius: 20.w,
margin: EdgeInsets.only(left: 30.w, right: 30.w, top: 30.w),
padding: EdgeInsets.only(top: 25.w, bottom: 25.w),
onClick: () {}),
SubmitBtn(
btnName: '分享',
fontSize: 28.sp,
borderRadius: 20.w,
margin: EdgeInsets.only(left: 30.w, right: 30.w, top: 30.w),
padding: EdgeInsets.only(top: 25.w, bottom: 25.w),
onClick: () {
Navigator.pushNamed(context, Routers.sendEmailNotificationPage); Navigator.pushNamed(context, Routers.sendEmailNotificationPage);
}), }),
SubmitBtn(btnName: '标记为:已入住', fontSize: 28.sp, borderRadius: 20.w, margin: EdgeInsets.only(left: 30.w, right: 30.w, top: 30.w), padding: EdgeInsets.only(top: 25.w, bottom: 25.w), onClick: (){ SubmitBtn(
btnName: '标记为:已入住',
}), fontSize: 28.sp,
borderRadius: 20.w,
margin: EdgeInsets.only(left: 30.w, right: 30.w, top: 30.w),
padding: EdgeInsets.only(top: 25.w, bottom: 25.w),
onClick: () {}),
], ],
); );
} }
@ -243,22 +332,26 @@ class _PasswordKeyPerpetualPageState extends State<PasswordKeyPerpetualPage> {
), ),
), ),
), ),
SizedBox(width: 10.w,), SizedBox(
width: 10.w,
),
], ],
), ),
); );
} }
Switch _switch(){ CupertinoSwitch _switch() {
return Switch( bool _isOn = false;
value: false, return CupertinoSwitch(
activeColor: CupertinoColors.activeBlue,
trackColor: CupertinoColors.systemGrey5,
thumbColor: CupertinoColors.white,
value: _isOn,
onChanged: (value) { onChanged: (value) {
// switchValue = !switchValue;
setState(() { setState(() {
_isOn = value;
}); });
} },
); );
} }
} }

View File

@ -38,14 +38,23 @@ class _StarLockMainState extends State<StarLockMain> with BaseWidget{
return Scaffold( return Scaffold(
backgroundColor: const Color(0xFFF5F5F5), backgroundColor: const Color(0xFFF5F5F5),
appBar: TitleAppBar(barTitle: TranslationLoader.lanKeys!.starLock!.tr, haveBack:false, haveOtherLeftWidget: true, leftWidget: Builder( appBar: TitleAppBar(
barTitle: TranslationLoader.lanKeys!.starLock!.tr,
haveBack: false,
haveOtherLeftWidget: true,
leftWidget: Builder(
builder: (context) => IconButton( builder: (context) => IconButton(
icon: Image.asset("images/main/mainLeft_menu_icon.png",color:Colors.white, width: 60.w, height: 60.w,), icon: Image.asset(
"images/main/mainLeft_menu_icon.png",
color: Colors.white,
width: 44.w,
height: 44.w,
),
onPressed: () { onPressed: () {
Scaffold.of(context).openDrawer(); Scaffold.of(context).openDrawer();
}, },
) )),
),backgroundColor: AppColors.mainColor), backgroundColor: AppColors.mainColor),
drawer: Drawer( drawer: Drawer(
width: 1.sw / 3 * 2, width: 1.sw / 3 * 2,
child: StarLockMinePage(), child: StarLockMinePage(),
@ -62,15 +71,15 @@ class _StarLockMainState extends State<StarLockMain> with BaseWidget{
return nearbyLockItem('images/icon_lock.png', "MCBN01-ea9240", () { return nearbyLockItem('images/icon_lock.png', "MCBN01-ea9240", () {
Navigator.pushNamed(context, Routers.lockDetailPage); Navigator.pushNamed(context, Routers.lockDetailPage);
}); });
} });
);
} }
Widget nearbyLockItem(String lockTypeIcon, String lockTypeTitle, Function() action){ Widget nearbyLockItem(
String lockTypeIcon, String lockTypeTitle, Function() action) {
return GestureDetector( return GestureDetector(
onTap: action, onTap: action,
child: Container( child: Container(
height: 150.h, height: 122.h,
margin: EdgeInsets.only(left: 20.w, right: 20.w, top: 20.w), margin: EdgeInsets.only(left: 20.w, right: 20.w, top: 20.w),
decoration: BoxDecoration( decoration: BoxDecoration(
color: Colors.white, color: Colors.white,
@ -79,33 +88,51 @@ class _StarLockMainState extends State<StarLockMain> with BaseWidget{
child: Column( child: Column(
// mainAxisAlignment: MainAxisAlignment.center, // mainAxisAlignment: MainAxisAlignment.center,
children: [ children: [
SizedBox(height: 30.h,), SizedBox(
height: 20.h,
),
Row( Row(
children: [ children: [
SizedBox(width:20.w), SizedBox(width: 30.w),
Image.asset(lockTypeIcon, width: 50.w, height: 50.w,),
SizedBox(width:20.w),
Expanded( Expanded(
child: Column( child: Column(
mainAxisAlignment: MainAxisAlignment.center, mainAxisAlignment: MainAxisAlignment.center,
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
children: [ children: [
Text(lockTypeTitle, style: TextStyle(fontSize: 28.sp, fontWeight: FontWeight.w500), ), Text(
lockTypeTitle,
style: TextStyle(
fontSize: 24.sp, fontWeight: FontWeight.w500),
),
], ],
), ),
), ),
SizedBox(width: 20.w), SizedBox(width: 20.w),
Text("100%", style: TextStyle(fontSize: 24.sp, fontWeight: FontWeight.w500), ), Text(
SizedBox(width:5.w), "100%",
Image.asset('images/main/icon_main_cell.png', width: 50.w, height: 50.w,), style: TextStyle(
fontSize: 18.sp, color: AppColors.darkGrayTextColor),
),
SizedBox(width: 2.w),
Image.asset(
'images/main/icon_main_cell.png',
width: 30.w,
height: 24.w,
),
SizedBox(width: 30.w), SizedBox(width: 30.w),
], ],
), ),
SizedBox(height: 20.h,), SizedBox(
height: 30.h,
),
Row( Row(
children: [ children: [
SizedBox(width: 30.w), SizedBox(width: 30.w),
Text("永久/管理员", style: TextStyle(fontSize: 28.sp, fontWeight: FontWeight.w500), ), Text(
"永久/管理员",
style: TextStyle(
fontSize: 18.sp, color: AppColors.darkGrayTextColor),
),
], ],
), ),
], ],
@ -129,35 +156,43 @@ class _StarLockMainState extends State<StarLockMain> with BaseWidget{
child: InkWell( child: InkWell(
child: Padding( child: Padding(
padding: const EdgeInsets.all(30.0), padding: const EdgeInsets.all(30.0),
child: Image.asset('images/main/icon_main_addLock.png', width: 150.w, height: 150.w,), child: Image.asset(
'images/main/icon_main_addLock.png',
width: 150.w,
height: 150.w,
),
), ),
onTap: () { onTap: () {
// //
Navigator.pushNamed(context, Routers.seletLockTypePage, Navigator.pushNamed(
context, Routers.seletLockTypePage,
// arguments: { // arguments: {
// "url": ConstConfig.privacAgreementUrl, // "url": ConstConfig.privacAgreementUrl,
// "title": '隐私政策' // "title": '隐私政策'
// } // }
); );
}, },
) )),
),
], ],
), ),
SizedBox(height: h(50.h),), SizedBox(
height: h(50.h),
),
Container( Container(
padding: EdgeInsets.all(30.w), padding: EdgeInsets.all(30.w),
child: Text(TranslationLoader.lanKeys!.whenAddingLockThePhoneMustBeNextToTheLock!.tr, style: TextStyle(fontSize: 30.sp, fontWeight: FontWeight.w800, color: AppColors.mainColor),) child: Text(
) TranslationLoader
.lanKeys!.whenAddingLockThePhoneMustBeNextToTheLock!.tr,
style: TextStyle(
fontSize: 30.sp,
fontWeight: FontWeight.w800,
color: AppColors.mainColor),
))
], ],
); );
} }
void onShow(){ void onShow() {}
} void onHide() {}
void onHide(){
}
} }

View File

@ -1,4 +1,3 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:get/get.dart'; import 'package:get/get.dart';
@ -20,23 +19,72 @@ class _AbountPageState extends State<AbountPage> {
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Scaffold( return Scaffold(
backgroundColor: AppColors.mainBackgroundColor, backgroundColor: AppColors.mainBackgroundColor,
appBar: TitleAppBar(barTitle: TranslationLoader.lanKeys!.about!.tr, haveBack:true, backgroundColor: AppColors.mainColor), appBar: TitleAppBar(
barTitle: TranslationLoader.lanKeys!.about!.tr,
haveBack: true,
backgroundColor: AppColors.mainColor),
body: Column( body: Column(
crossAxisAlignment: CrossAxisAlignment.center, crossAxisAlignment: CrossAxisAlignment.center,
children: [ children: [
SizedBox(height: 150.h,), SizedBox(
height: 150.h,
),
Row( Row(
mainAxisAlignment: MainAxisAlignment.center, mainAxisAlignment: MainAxisAlignment.center,
children: [ children: [
Image.asset("images/icon_main_1024.png", width: 200.w, height: 200.w,), Image.asset(
"images/icon_main_1024.png",
width: 200.w,
height: 200.w,
),
], ],
), ),
SizedBox(height: 30.h,), SizedBox(
height: 30.h,
),
const Text("通通锁 6.7.0"), const Text("通通锁 6.7.0"),
SizedBox(height: 80.h,), SizedBox(
CommonItem(leftTitel:TranslationLoader.lanKeys!.introduce!.tr, rightTitle:"", isHaveLine: false, isHaveDirection: true, action: (){ height: 80.h,
),
}), CommonItem(
leftTitel: TranslationLoader.lanKeys!.introduce!.tr,
rightTitle: "",
isHaveLine: false,
isHaveDirection: true,
action: () {}),
CommonItem(
leftTitel: TranslationLoader.lanKeys!.userAgreement!.tr,
rightTitle: "",
isHaveLine: false,
isHaveDirection: true,
action: () {}),
CommonItem(
leftTitel: TranslationLoader.lanKeys!.privacyPolicy!.tr,
rightTitle: "",
isHaveLine: false,
isHaveDirection: true,
action: () {}),
CommonItem(
leftTitel: TranslationLoader
.lanKeys!.personalInformationCollectionList!.tr,
rightTitle: "",
isHaveLine: false,
isHaveDirection: true,
action: () {}),
CommonItem(
leftTitel: TranslationLoader
.lanKeys!.applicationPermissionDescription!.tr,
rightTitle: "",
isHaveLine: false,
isHaveDirection: true,
action: () {}),
CommonItem(
leftTitel: TranslationLoader
.lanKeys!.thirdPartyInformationSharingList!.tr,
rightTitle: "",
isHaveLine: false,
isHaveDirection: true,
action: () {}),
], ],
), ),
); );

View File

@ -37,7 +37,9 @@ class _AddLockPageState extends State<AddLockPage> with BaseWidget {
children: [ children: [
Text( Text(
TranslationLoader.lanKeys!.lightTouchScreen!.tr, TranslationLoader.lanKeys!.lightTouchScreen!.tr,
style: TextStyle(fontSize: 36.sp, fontWeight: FontWeight.w500), style: TextStyle(
fontSize: 24.sp,
),
), ),
], ],
), ),
@ -57,7 +59,7 @@ class _AddLockPageState extends State<AddLockPage> with BaseWidget {
children: [ children: [
Text( Text(
TranslationLoader.lanKeys!.lightTouchScreenTip!.tr, TranslationLoader.lanKeys!.lightTouchScreenTip!.tr,
style: TextStyle(fontSize: 28.sp, fontWeight: FontWeight.w500), style: TextStyle(fontSize: 20.sp, fontWeight: FontWeight.w500),
), ),
], ],
), ),

View File

@ -18,19 +18,23 @@ class _NearbyLockPageState extends State<NearbyLockPage> {
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Scaffold( return Scaffold(
backgroundColor: AppColors.mainBackgroundColor, backgroundColor: AppColors.mainBackgroundColor,
appBar: TitleAppBar(barTitle: TranslationLoader.lanKeys!.nearbyLock!.tr, haveBack:true, backgroundColor: AppColors.mainColor), appBar: TitleAppBar(
barTitle: TranslationLoader.lanKeys!.nearbyLock!.tr,
haveBack: true,
backgroundColor: AppColors.mainColor),
body: ListView.builder( body: ListView.builder(
itemCount: 20, itemCount: 20,
itemBuilder: (c, index) { itemBuilder: (c, index) {
return nearbyLockItem('images/icon_lock.png', "MCBN01-ea9240", (){ return nearbyLockItem(
'images/icon_lockGroup_item.png', "MCBN01-ea9240", () {
Navigator.pushNamed(context, Routers.lockAddressPage); Navigator.pushNamed(context, Routers.lockAddressPage);
}); });
} }),
),
); );
} }
Widget nearbyLockItem(String lockTypeIcon, String lockTypeTitle, Function() action){ Widget nearbyLockItem(
String lockTypeIcon, String lockTypeTitle, Function() action) {
return GestureDetector( return GestureDetector(
onTap: action, onTap: action,
child: Column( child: Column(
@ -42,32 +46,51 @@ class _NearbyLockPageState extends State<NearbyLockPage> {
child: Row( child: Row(
children: [ children: [
SizedBox(width: 20.w), SizedBox(width: 20.w),
Image.asset(lockTypeIcon, width: 50.w, height: 50.w,), Image.asset(
lockTypeIcon,
width: 50.w,
height: 50.w,
),
SizedBox(width: 20.w), SizedBox(width: 20.w),
Expanded( Column(
child: Column(
mainAxisAlignment: MainAxisAlignment.center, mainAxisAlignment: MainAxisAlignment.center,
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
children: [ children: [
Text(lockTypeTitle, style: TextStyle(fontSize: 28.sp, fontWeight: FontWeight.w500), ), Text(
lockTypeTitle,
style: TextStyle(
fontSize: 20.sp, color: AppColors.darkGrayTextColor),
),
], ],
), ),
SizedBox(
width: 10.w,
),
Image.asset(
"images/mine/icon_mine_main_about.png",
width: 22.w,
height: 22.w,
),
Expanded(child: SizedBox(width: 20.w)),
Image.asset(
'images/main/icon_main_addLock.png',
width: 28.w,
height: 28.w,
), ),
SizedBox(width:20.w),
Image.asset('images/main/icon_main_addLock.png', width: 50.w, height: 50.w,),
SizedBox(width: 30.w), SizedBox(width: 30.w),
], ],
), ),
), ),
Container(height: 0.5.h, color: Colors.grey,) Container(
height: 0.5.h,
color: Colors.grey,
)
], ],
), ),
); );
} }
void onShow(){ void onShow() {}
}
void onHide(){ void onHide() {}
}
} }

View File

@ -32,7 +32,7 @@ class _SeletLockTypePageState extends State<SeletLockTypePage> with BaseWidget {
padding: const EdgeInsets.only(left: 10, right: 10, bottom: 10), padding: const EdgeInsets.only(left: 10, right: 10, bottom: 10),
child: GridView.count( child: GridView.count(
crossAxisCount: 2, crossAxisCount: 2,
childAspectRatio: 3, childAspectRatio: 2.83,
crossAxisSpacing: 10, crossAxisSpacing: 10,
mainAxisSpacing: 10, mainAxisSpacing: 10,
children: [ children: [
@ -48,22 +48,24 @@ class _SeletLockTypePageState extends State<SeletLockTypePage> with BaseWidget {
TranslationLoader.lanKeys!.safeLock!.tr, () { TranslationLoader.lanKeys!.safeLock!.tr, () {
Navigator.pushNamed(context, Routers.addLockPage); Navigator.pushNamed(context, Routers.addLockPage);
}), }),
lockTypeItem(
'images/lockType/lockType_intelligentLockCore.png',
TranslationLoader.lanKeys!.intelligentLockCore!.tr, () {
Navigator.pushNamed(context, Routers.addLockPage);
}),
lockTypeItem('images/lockType/lockType_parkingLock.png', lockTypeItem('images/lockType/lockType_parkingLock.png',
TranslationLoader.lanKeys!.parkingLock!.tr, () { TranslationLoader.lanKeys!.parkingLock!.tr, () {
Navigator.pushNamed(context, Routers.addLockPage); Navigator.pushNamed(context, Routers.addLockPage);
}), }),
lockTypeItem('images/lockType/lockType_bicycleLock.png', lockTypeItem(
TranslationLoader.lanKeys!.bicycleLock!.tr, () { 'images/lockType/lockType_intelligentLockCore.png',
TranslationLoader.lanKeys!.itelligentAccessControl!.tr,
() {
Navigator.pushNamed(context, Routers.addLockPage); Navigator.pushNamed(context, Routers.addLockPage);
}), }),
// lockTypeItem('images/lockType/lockType_bicycleLock.png',
// TranslationLoader.lanKeys!.bicycleLock!.tr, () {
// Navigator.pushNamed(context, Routers.addLockPage);
// }),
lockTypeItem('images/lockType/lockType_remoteControl.png', lockTypeItem('images/lockType/lockType_remoteControl.png',
TranslationLoader.lanKeys!.longRangeControl!.tr, () { TranslationLoader.lanKeys!.gateway!.tr, () {
Navigator.pushNamed(context, Routers.addLockPage); Navigator.pushNamed(context, Routers.gatewayListPage);
}), }),
], ],
), ),
@ -83,7 +85,7 @@ class _SeletLockTypePageState extends State<SeletLockTypePage> with BaseWidget {
margin: const EdgeInsets.all(10), margin: const EdgeInsets.all(10),
child: Row( child: Row(
children: [ children: [
SizedBox(width: 40.w), SizedBox(width: 30.w),
Image.asset( Image.asset(
'images/lockType/lockType_allLocks.png', 'images/lockType/lockType_allLocks.png',
width: 88.w, width: 88.w,
@ -97,18 +99,19 @@ class _SeletLockTypePageState extends State<SeletLockTypePage> with BaseWidget {
children: [ children: [
Text(TranslationLoader.lanKeys!.allLock!.tr, Text(TranslationLoader.lanKeys!.allLock!.tr,
style: TextStyle( style: TextStyle(
fontSize: 30.sp, fontWeight: FontWeight.w500)), fontSize: 24.sp,
)),
Text(TranslationLoader.lanKeys!.searchAllLockType!.tr, Text(TranslationLoader.lanKeys!.searchAllLockType!.tr,
style: TextStyle( style: TextStyle(
fontSize: 26.sp, fontWeight: FontWeight.w500)), fontSize: 20.sp, color: AppColors.darkGrayTextColor)),
], ],
), ),
), ),
SizedBox(width: 40.w), SizedBox(width: 40.w),
Image.asset( Image.asset(
'images/icon_right.png', 'images/icon_right_grey.png',
width: 60.w, width: 12.w,
height: 60.w, height: 21.w,
), ),
SizedBox(width: 40.w), SizedBox(width: 40.w),
], ],
@ -127,11 +130,11 @@ class _SeletLockTypePageState extends State<SeletLockTypePage> with BaseWidget {
// margin: EdgeInsets.all(10), // margin: EdgeInsets.all(10),
child: Row( child: Row(
children: [ children: [
SizedBox(width: 20.w), SizedBox(width: 30.w),
Image.asset( Image.asset(
lockTypeIcon, lockTypeIcon,
width: 40.w, width: 32.w,
height: 57.w, height: 48.w,
), ),
SizedBox(width: 20.w), SizedBox(width: 20.w),
Expanded( Expanded(
@ -141,15 +144,15 @@ class _SeletLockTypePageState extends State<SeletLockTypePage> with BaseWidget {
children: [ children: [
Text(lockTypeTitle, Text(lockTypeTitle,
style: TextStyle( style: TextStyle(
fontSize: 30.sp, fontWeight: FontWeight.w500)), fontSize: 22.sp, color: AppColors.blackColor)),
], ],
), ),
), ),
SizedBox(width: 20.w), SizedBox(width: 20.w),
Image.asset( Image.asset(
'images/icon_right.png', 'images/icon_right_grey.png',
width: 60.w, width: 12.w,
height: 60.w, height: 21.w,
), ),
SizedBox(width: 20.w), SizedBox(width: 20.w),
], ],

View File

@ -1,3 +1,4 @@
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:get/get.dart'; import 'package:get/get.dart';
@ -12,10 +13,12 @@ class GatewayConfigurationWifiPage extends StatefulWidget {
const GatewayConfigurationWifiPage({Key? key}) : super(key: key); const GatewayConfigurationWifiPage({Key? key}) : super(key: key);
@override @override
State<GatewayConfigurationWifiPage> createState() => _GatewayConfigurationWifiPageState(); State<GatewayConfigurationWifiPage> createState() =>
_GatewayConfigurationWifiPageState();
} }
class _GatewayConfigurationWifiPageState extends State<GatewayConfigurationWifiPage> { class _GatewayConfigurationWifiPageState
extends State<GatewayConfigurationWifiPage> {
final _wifiPassward = TextEditingController(); final _wifiPassward = TextEditingController();
final _gatewayNamePassward = TextEditingController(); final _gatewayNamePassward = TextEditingController();
@ -23,59 +26,133 @@ class _GatewayConfigurationWifiPageState extends State<GatewayConfigurationWifiP
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Scaffold( return Scaffold(
backgroundColor: AppColors.mainBackgroundColor, backgroundColor: AppColors.mainBackgroundColor,
appBar: TitleAppBar(barTitle: TranslationLoader.lanKeys!.gateway!.tr, haveBack:true, backgroundColor: AppColors.mainColor), appBar: TitleAppBar(
barTitle: TranslationLoader.lanKeys!.gateway!.tr,
haveBack: true,
backgroundColor: AppColors.mainColor),
body: Column( body: Column(
children: [ children: [
Container( Container(
width: 1.sw, width: 1.sw,
color: const Color(0xFFF2F6F9), color: const Color(0xFFF2F6F9),
padding: EdgeInsets.all(15.h), padding: EdgeInsets.all(15.h),
child: Text(TranslationLoader.lanKeys!.gatewayConfigurationWifiTip!.tr) child: Text(
), TranslationLoader.lanKeys!.gatewayConfigurationWifiTip!.tr)),
Expanded( Expanded(
child: ListView( child: ListView(
children: [ children: [
CommonItem(leftTitel:TranslationLoader.lanKeys!.wifiName!.tr, rightTitle:"XinHongJia", allHeight:100.h, isHaveLine: true, isHaveDirection: true, action: (){ CommonItem(
leftTitel: TranslationLoader.lanKeys!.wifiName!.tr,
rightTitle: "XinHongJia",
allHeight: 100.h,
isHaveLine: true,
isHaveDirection: true,
action: () {
// Navigator.pushNamed(context, Routers.minePersonInfoSetSafetyProblemPage); // Navigator.pushNamed(context, Routers.minePersonInfoSetSafetyProblemPage);
}), }),
CommonItem(leftTitel:TranslationLoader.lanKeys!.wifiPassward!.tr, rightTitle:"", isHaveRightWidget: true, rightWidget: getTFWidget(_wifiPassward, TranslationLoader.lanKeys!.pleaseEnterTheWiFiPassword!.tr)), CommonItem(
SizedBox(height: 10.h,), leftTitel: TranslationLoader.lanKeys!.wifiPassward!.tr,
CommonItem(leftTitel:TranslationLoader.lanKeys!.gatewayName!.tr, rightTitle:"", isHaveRightWidget: true, rightWidget: getTFWidget(_gatewayNamePassward, TranslationLoader.lanKeys!.pleaseEnterGatewayName!.tr)), rightTitle: "",
SizedBox(height: 10.h,), isHaveRightWidget: true,
CommonItem(leftTitel:TranslationLoader.lanKeys!.wifiMAC!.tr, rightTitle:"48:55:19:7d:84:7a", allHeight:100.h, isHaveLine: false), rightWidget: getTFWidget(
SizedBox(height: 10.h,), _wifiPassward,
TranslationLoader
.lanKeys!.pleaseEnterTheWiFiPassword!.tr)),
SizedBox(
height: 10.h,
),
CommonItem(
leftTitel: TranslationLoader.lanKeys!.gatewayName!.tr,
rightTitle: "",
isHaveRightWidget: true,
rightWidget: getTFWidget(_gatewayNamePassward,
TranslationLoader.lanKeys!.pleaseEnterGatewayName!.tr)),
SizedBox(
height: 10.h,
),
CommonItem(
leftTitel: TranslationLoader.lanKeys!.wifiMAC!.tr,
rightTitle: "48:55:19:7d:84:7a",
allHeight: 100.h,
isHaveLine: false),
SizedBox(
height: 10.h,
),
Visibility( Visibility(
visible: true, visible: true,
child: Column( child: Column(
children: [ children: [
CommonItem(leftTitel:TranslationLoader.lanKeys!.ipAddress!.tr, rightTitle:"192.168.1.1", allHeight:100.h, isHaveLine: true), CommonItem(
CommonItem(leftTitel:TranslationLoader.lanKeys!.subnetMask!.tr, rightTitle:"255.255.255.0", allHeight:100.h, isHaveLine: true), leftTitel: TranslationLoader.lanKeys!.ipAddress!.tr,
CommonItem(leftTitel:TranslationLoader.lanKeys!.defaultGateway!.tr, rightTitle:"192.168.1.1", allHeight:100.h, isHaveLine: true), rightTitle: "192.168.1.1",
SizedBox(height: 10.h,), allHeight: 100.h,
CommonItem(leftTitel:TranslationLoader.lanKeys!.automaticallyGetTheDNSServerAddress!.tr, rightTitle:"", isHaveLine: true, isHaveRightWidget: true, rightWidget: Container(width: 80.w, height: 50.h,child: _switch())), isHaveLine: true),
CommonItem(
leftTitel:
TranslationLoader.lanKeys!.subnetMask!.tr,
rightTitle: "255.255.255.0",
allHeight: 100.h,
isHaveLine: true),
CommonItem(
leftTitel:
TranslationLoader.lanKeys!.defaultGateway!.tr,
rightTitle: "192.168.1.1",
allHeight: 100.h,
isHaveLine: true),
SizedBox(
height: 10.h,
),
CommonItem(
leftTitel: TranslationLoader.lanKeys!
.automaticallyGetTheDNSServerAddress!.tr,
rightTitle: "",
isHaveLine: true,
isHaveRightWidget: true,
rightWidget: Container(
width: 80.w, height: 50.h, child: _switch())),
Visibility( Visibility(
visible: true, visible: true,
child: Column( child: Column(
children: [ children: [
CommonItem(leftTitel:TranslationLoader.lanKeys!.preferredDNS!.tr, rightTitle:"", isHaveLine: true, isHaveRightWidget: true, rightWidget: getTFWidget(_gatewayNamePassward, TranslationLoader.lanKeys!.pleaseEnter!.tr)), CommonItem(
CommonItem(leftTitel:TranslationLoader.lanKeys!.alternativeDNS!.tr, rightTitle:"", isHaveLine: false, isHaveRightWidget: true, rightWidget: getTFWidget(_gatewayNamePassward, TranslationLoader.lanKeys!.pleaseEnter!.tr)), leftTitel: TranslationLoader
.lanKeys!.preferredDNS!.tr,
rightTitle: "",
isHaveLine: true,
isHaveRightWidget: true,
rightWidget: getTFWidget(
_gatewayNamePassward,
TranslationLoader
.lanKeys!.pleaseEnter!.tr)),
CommonItem(
leftTitel: TranslationLoader
.lanKeys!.alternativeDNS!.tr,
rightTitle: "",
isHaveLine: false,
isHaveRightWidget: true,
rightWidget: getTFWidget(
_gatewayNamePassward,
TranslationLoader
.lanKeys!.pleaseEnter!.tr)),
], ],
) )),
),
], ],
) )),
SizedBox(
height: 50.h,
), ),
SizedBox(height: 50.h,),
SubmitBtn( SubmitBtn(
btnName: TranslationLoader.lanKeys!.sure!.tr, btnName: TranslationLoader.lanKeys!.sure!.tr,
borderRadius: 20.w, borderRadius: 20.w,
margin: EdgeInsets.only(left: 30.w, right: 30.w, top: 20.w, bottom: 20.w), margin: EdgeInsets.only(
left: 30.w, right: 30.w, top: 20.w, bottom: 20.w),
padding: EdgeInsets.only(top: 15.w, bottom: 15.w), padding: EdgeInsets.only(top: 15.w, bottom: 15.w),
onClick: () { onClick: () {
// Navigator.pushNamed(context, Routers.seletGatewayPage); // Navigator.pushNamed(context, Routers.seletGatewayPage);
} }),
SizedBox(
height: 10.h,
), ),
SizedBox(height: 10.h,),
Row( Row(
mainAxisAlignment: MainAxisAlignment.end, mainAxisAlignment: MainAxisAlignment.end,
children: [ children: [
@ -85,7 +162,10 @@ class _GatewayConfigurationWifiPageState extends State<GatewayConfigurationWifiP
height: 50.h, height: 50.h,
// color: Colors.red, // color: Colors.red,
child: Center( child: Center(
child: Text(TranslationLoader.lanKeys!.noStaticIPIsUsed!.tr,style: TextStyle(fontSize: 28.sp, color: AppColors.mainColor)), child: Text(
TranslationLoader.lanKeys!.noStaticIPIsUsed!.tr,
style: TextStyle(
fontSize: 28.sp, color: AppColors.mainColor)),
), ),
), ),
onTap: () { onTap: () {
@ -95,7 +175,9 @@ class _GatewayConfigurationWifiPageState extends State<GatewayConfigurationWifiP
SizedBox(width: 30.w), SizedBox(width: 30.w),
], ],
), ),
SizedBox(height: 50.h,), SizedBox(
height: 50.h,
),
], ],
), ),
) )
@ -127,22 +209,26 @@ class _GatewayConfigurationWifiPageState extends State<GatewayConfigurationWifiP
), ),
), ),
), ),
SizedBox(width: 10.w,), SizedBox(
width: 10.w,
),
], ],
), ),
); );
} }
Switch _switch(){ CupertinoSwitch _switch() {
return Switch( bool _isOn = false;
value: false, return CupertinoSwitch(
activeColor: CupertinoColors.activeBlue,
trackColor: CupertinoColors.systemGrey5,
thumbColor: CupertinoColors.white,
value: _isOn,
onChanged: (value) { onChanged: (value) {
// switchValue = !switchValue;
setState(() { setState(() {
_isOn = value;
}); });
} },
); );
} }
} }

View File

@ -1,4 +1,3 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:get/get.dart'; import 'package:get/get.dart';
@ -20,34 +19,50 @@ class _SeletGatewayListPageState extends State<SeletGatewayListPage> {
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Scaffold( return Scaffold(
backgroundColor: AppColors.mainBackgroundColor, backgroundColor: AppColors.mainBackgroundColor,
appBar: TitleAppBar(barTitle: TranslationLoader.lanKeys!.selectGateway!.tr, haveBack:true, backgroundColor: AppColors.mainColor), appBar: TitleAppBar(
barTitle: TranslationLoader.lanKeys!.selectGateway!.tr,
haveBack: true,
backgroundColor: AppColors.mainColor),
body: ListView.builder( body: ListView.builder(
itemCount: 10, itemCount: 10,
itemBuilder: (c, index) { itemBuilder: (c, index) {
return _seletGatewayListListItem('images/mine/icon_mine_gatewayListMainIcon.png', "G2 41c21c", "-34", (){ return _seletGatewayListListItem(
Navigator.pushNamed(context, Routers.gatewayConfigurationWifiPage); 'images/mine/icon_mine_gatewayListMainIcon.png',
"G2 41c21c",
"-34", () {
Navigator.pushNamed(
context, Routers.gatewayConfigurationWifiPage);
}); });
} }),
),
); );
} }
Widget _seletGatewayListListItem(String lockTypeIcon, String gateWayName, String networkSignal, Function() action){ Widget _seletGatewayListListItem(String lockTypeIcon, String gateWayName,
String networkSignal, Function() action) {
return GestureDetector( return GestureDetector(
onTap: action, onTap: action,
child: Container( child: Container(
// height: 100.h, // height: 100.h,
margin: const EdgeInsets.only(bottom: 2), margin: const EdgeInsets.only(bottom: 2),
padding: EdgeInsets.only(left: 10.w, right: 20.w, top: 20.h, bottom: 20.h), padding:
EdgeInsets.only(left: 10.w, right: 20.w, top: 16.h, bottom: 16.h),
decoration: BoxDecoration( decoration: BoxDecoration(
color: Colors.white, color: Colors.white,
borderRadius: BorderRadius.circular(10.w), borderRadius: BorderRadius.circular(10.w),
), ),
child: Row( child: Row(
children: [ children: [
SizedBox(width: 10.w,), SizedBox(
Image.asset(lockTypeIcon, width: 80.w, height: 80.w,), width: 10.w,
SizedBox(width: 20.w,), ),
Image.asset(
lockTypeIcon,
width: 60.w,
height: 60.w,
),
SizedBox(
width: 20.w,
),
Expanded( Expanded(
child: Column( child: Column(
mainAxisAlignment: MainAxisAlignment.center, mainAxisAlignment: MainAxisAlignment.center,
@ -57,7 +72,10 @@ class _SeletGatewayListPageState extends State<SeletGatewayListPage> {
child: Row( child: Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween, mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [ children: [
Text(gateWayName, style: TextStyle(fontSize: 32.sp, fontWeight: FontWeight.w500), ), Text(
gateWayName,
style: TextStyle(fontSize: 24.sp),
),
], ],
), ),
), ),
@ -66,9 +84,18 @@ class _SeletGatewayListPageState extends State<SeletGatewayListPage> {
child: Row( child: Row(
mainAxisAlignment: MainAxisAlignment.start, mainAxisAlignment: MainAxisAlignment.start,
children: [ children: [
Image.asset('images/mine/icon_mine_gatewaySignal_strong.png', width: 40.w, height: 40.w,), Image.asset(
SizedBox(width: 10.w,), 'images/mine/icon_mine_gatewaySignal_strong.png',
Text(networkSignal, style: TextStyle(fontSize: 28.sp, fontWeight: FontWeight.w500), ), width: 22.w,
height: 22.w,
),
SizedBox(
width: 10.w,
),
Text(
networkSignal,
style: TextStyle(fontSize: 22.sp),
),
], ],
), ),
), ),
@ -77,12 +104,18 @@ class _SeletGatewayListPageState extends State<SeletGatewayListPage> {
), ),
), ),
SizedBox(width: 20.h), SizedBox(width: 20.h),
Image.asset('images/icon_add_white.png', width: 70.w, height: 70.w, color: AppColors.mainColor,), Image.asset(
SizedBox(width: 20.w,), 'images/icon_add_white.png',
width: 36.w,
height: 36.w,
color: AppColors.mainColor,
),
SizedBox(
width: 20.w,
),
], ],
), ),
), ),
); );
} }
} }

View File

@ -1,4 +1,3 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:get/get.dart'; import 'package:get/get.dart';
@ -20,36 +19,52 @@ class _SeletGatewayTypePageState extends State<SeletGatewayTypePage> {
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Scaffold( return Scaffold(
backgroundColor: AppColors.mainBackgroundColor, backgroundColor: AppColors.mainBackgroundColor,
appBar: TitleAppBar(barTitle: TranslationLoader.lanKeys!.selectGatewayType!.tr, haveBack:true, backgroundColor: AppColors.mainColor), appBar: TitleAppBar(
barTitle: TranslationLoader.lanKeys!.selectGatewayType!.tr,
haveBack: true,
backgroundColor: AppColors.mainColor),
body: ListView( body: ListView(
children: [ children: [
_seletGatewayType('images/mine/icon_mine_seletGatewayType_G2.png', "G2Wi-Fi", (){ _seletGatewayType(
'images/mine/icon_mine_seletGatewayType_G2.png', "G2Wi-Fi",
() {
Navigator.pushNamed(context, Routers.seletGatewayTypeNextTipPage); Navigator.pushNamed(context, Routers.seletGatewayTypeNextTipPage);
}), }),
SizedBox(height: 2.h,), SizedBox(
_seletGatewayType('images/mine/icon_mine_seletGatewayType_G4.png', "G44G ", (){ height: 2.h,
),
_seletGatewayType(
'images/mine/icon_mine_seletGatewayType_G4.png', "G44G ",
() {
Navigator.pushNamed(context, Routers.seletGatewayTypeNextTipPage); Navigator.pushNamed(context, Routers.seletGatewayTypeNextTipPage);
}), }),
], ],
) ));
);
} }
Widget _seletGatewayType(String iconStr, String gatewayType, Function() action){ Widget _seletGatewayType(
String iconStr, String gatewayType, Function() action) {
return GestureDetector( return GestureDetector(
onTap: action, onTap: action,
child: Container( child: Container(
color: Colors.white, color: Colors.white,
width: 1.sw, width: 1.sw,
height: 200.h, height: 140.h,
padding: EdgeInsets.all(30.w), padding: EdgeInsets.all(30.w),
child: Center( child: Center(
child: Row( child: Row(
mainAxisAlignment: MainAxisAlignment.center, mainAxisAlignment: MainAxisAlignment.center,
children: [ children: [
Image.asset(iconStr, width: 150.w, height: 150.w,), Image.asset(
SizedBox(width: 30.w), iconStr,
Text(gatewayType) width: 150.w,
height: 150.w,
),
// SizedBox(width: 20.w),
Text(
gatewayType,
style: TextStyle(fontSize: 22.sp),
)
], ],
), ),
), ),

View File

@ -1,4 +1,3 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:get/get.dart'; import 'package:get/get.dart';
@ -13,48 +12,62 @@ class SeletGatewayTypeNextTipPage extends StatefulWidget {
const SeletGatewayTypeNextTipPage({Key? key}) : super(key: key); const SeletGatewayTypeNextTipPage({Key? key}) : super(key: key);
@override @override
State<SeletGatewayTypeNextTipPage> createState() => _SeletGatewayTypeNextTipPageState(); State<SeletGatewayTypeNextTipPage> createState() =>
_SeletGatewayTypeNextTipPageState();
} }
class _SeletGatewayTypeNextTipPageState extends State<SeletGatewayTypeNextTipPage> { class _SeletGatewayTypeNextTipPageState
extends State<SeletGatewayTypeNextTipPage> {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Scaffold( return Scaffold(
backgroundColor: AppColors.mainBackgroundColor, backgroundColor: AppColors.mainBackgroundColor,
appBar: TitleAppBar(barTitle: TranslationLoader.lanKeys!.addGateway!.tr, haveBack:true, backgroundColor: AppColors.mainColor), appBar: TitleAppBar(
barTitle: TranslationLoader.lanKeys!.addGateway!.tr,
haveBack: true,
backgroundColor: AppColors.mainColor),
body: ListView( body: ListView(
children: [ children: [
SizedBox(height: 40.h), SizedBox(height: 40.h),
Center(child: Text(TranslationLoader.lanKeys!.turnThePowerBackOn!.tr, style: TextStyle(fontSize: 34.sp, fontWeight: FontWeight.w500),)), Center(
child: Text(
TranslationLoader.lanKeys!.turnThePowerBackOn!.tr,
style: TextStyle(fontSize: 24.sp),
)),
SizedBox(height: 80.h), SizedBox(height: 80.h),
Stack( Stack(
alignment: Alignment.center, alignment: Alignment.center,
children: [ children: [
Positioned( Positioned(
bottom: 40.h, bottom: 50.h,
left: 190.w, left: 120.w,
child: Text(TranslationLoader.lanKeys!.indicatorLight!.tr) child: Text(
), TranslationLoader.lanKeys!.indicatorLight!.tr,
Image.asset("images/mine/icon_mine_seletGatewayType_next.png", width: 300.w, height: 300.w), style: TextStyle(fontSize: 20.sp),
)),
Image.asset("images/mine/icon_mine_seletGatewayType_next.png",
width: 220.w, height: 220.w),
], ],
), ),
SizedBox(height: 50.w), SizedBox(height: 50.w),
Container( Container(
padding: EdgeInsets.all(20.w), padding: EdgeInsets.all(20.w),
child: Center(child: Text(TranslationLoader.lanKeys!.seletGatewayTypeNextTip!.tr, textAlign: TextAlign.center,))) child: Center(
, child: Text(
TranslationLoader.lanKeys!.seletGatewayTypeNextTip!.tr,
textAlign: TextAlign.center,
style: TextStyle(fontSize: 18.sp),
))),
SizedBox(height: 40.w), SizedBox(height: 40.w),
SubmitBtn( Container(
padding: EdgeInsets.only(left: 20.w, right: 20.w),
child: SubmitBtn(
btnName: TranslationLoader.lanKeys!.next!.tr, btnName: TranslationLoader.lanKeys!.next!.tr,
borderRadius: 20.w,
margin: EdgeInsets.only(left: 30.w, right: 30.w, top: 20.w, bottom: 20.w),
padding: EdgeInsets.only(top: 15.w, bottom: 15.w),
onClick: () { onClick: () {
Navigator.pushNamed(context, Routers.seletGatewayPage); Navigator.pushNamed(context, Routers.seletGatewayPage);
} }),
), ),
], ],
) ));
);
} }
} }

View File

@ -1,4 +1,3 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:get/get.dart'; import 'package:get/get.dart';
@ -25,32 +24,63 @@ class _GatewayDetailPageState extends State<GatewayDetailPage> {
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Scaffold( return Scaffold(
backgroundColor: AppColors.mainBackgroundColor, backgroundColor: AppColors.mainBackgroundColor,
appBar: TitleAppBar(barTitle: TranslationLoader.lanKeys!.gateway!.tr, haveBack:true, backgroundColor: AppColors.mainColor), appBar: TitleAppBar(
barTitle: TranslationLoader.lanKeys!.gateway!.tr,
haveBack: true,
backgroundColor: AppColors.mainColor),
body: ListView( body: ListView(
children: [ children: [
CommonItem(leftTitel:TranslationLoader.lanKeys!.designation!.tr, rightTitle:"星锁网关", isHaveLine: true, isHaveDirection: true, action: (){ CommonItem(
leftTitel: TranslationLoader.lanKeys!.designation!.tr,
rightTitle: "星锁网关",
isHaveLine: true,
isHaveDirection: true,
action: () {
showCupertinoAlertDialog(context); showCupertinoAlertDialog(context);
}), }),
CommonItem(leftTitel:TranslationLoader.lanKeys!.state!.tr, rightTitle:"在线", isHaveLine: true, isHaveDirection: false), CommonItem(
CommonItem(leftTitel:TranslationLoader.lanKeys!.wifiName!.tr, rightTitle:"XinHongJia", isHaveLine: true, isHaveDirection: false), leftTitel: TranslationLoader.lanKeys!.state!.tr,
CommonItem(leftTitel:TranslationLoader.lanKeys!.networkMAC!.tr, rightTitle:"39:23:df:34:12", isHaveLine: false, isHaveDirection: false), rightTitle: "在线",
SizedBox(height: 10.h,), isHaveLine: true,
CommonItem(leftTitel:TranslationLoader.lanKeys!.nearbyLock!.tr, rightTitle:"2", isHaveLine: true, isHaveDirection: true, action: (){ isHaveDirection: false),
CommonItem(
leftTitel: TranslationLoader.lanKeys!.wifiName!.tr,
rightTitle: "XinHongJia",
isHaveLine: true,
isHaveDirection: false),
CommonItem(
leftTitel: TranslationLoader.lanKeys!.networkMAC!.tr,
rightTitle: "39:23:df:34:12",
isHaveLine: false,
isHaveDirection: false),
SizedBox(
height: 10.h,
),
CommonItem(
leftTitel: TranslationLoader.lanKeys!.nearbyLock!.tr,
rightTitle: "2",
isHaveLine: true,
isHaveDirection: true,
action: () {
Navigator.pushNamed(context, Routers.gatewayConnectionLockPage); Navigator.pushNamed(context, Routers.gatewayConnectionLockPage);
}), }),
CommonItem(leftTitel:TranslationLoader.lanKeys!.gatewayUpgrade!.tr, rightTitle:"", isHaveLine: false, isHaveDirection: true, action: (){ CommonItem(
leftTitel: TranslationLoader.lanKeys!.gatewayUpgrade!.tr,
}), rightTitle: "",
SizedBox(height: 80.h,), isHaveLine: false,
SubmitBtn(btnName: TranslationLoader.lanKeys!.delete!.tr, isHaveDirection: true,
action: () {}),
SizedBox(
height: 80.h,
),
SubmitBtn(
btnName: TranslationLoader.lanKeys!.delete!.tr,
isDelete: true,
borderRadius: 20.w, borderRadius: 20.w,
fontSize: 32.sp, fontSize: 32.sp,
margin: EdgeInsets.only(left: 30.w, right: 30.w), margin: EdgeInsets.only(left: 30.w, right: 30.w),
padding: EdgeInsets.only(top: 15.w, bottom: 15.w), padding: EdgeInsets.only(top: 15.w, bottom: 15.w),
onClick: () { onClick: () {}),
}
),
], ],
), ),
); );
@ -61,7 +91,11 @@ class _GatewayDetailPageState extends State<GatewayDetailPage> {
showDialog( showDialog(
context: context, context: context,
builder: (BuildContext context) { builder: (BuildContext context) {
return ShowTFView(title:"${TranslationLoader.lanKeys!.amend!.tr} ${TranslationLoader.lanKeys!.name!.tr}", tipTitle:"请输入", controller: _changeGatewayNameController); return ShowTFView(
title:
"${TranslationLoader.lanKeys!.amend!.tr} ${TranslationLoader.lanKeys!.name!.tr}",
tipTitle: "请输入",
controller: _changeGatewayNameController);
}); });
} }
} }

View File

@ -30,8 +30,8 @@ class _GatewayListPageState extends State<GatewayListPage> {
}, },
child: Image.asset( child: Image.asset(
'images/icon_add_white.png', 'images/icon_add_white.png',
width: 50.w, width: 40.w,
height: 50.w, height: 40.w,
)), )),
SizedBox( SizedBox(
width: 30.w, width: 30.w,
@ -60,7 +60,7 @@ class _GatewayListPageState extends State<GatewayListPage> {
// height: 100.h, // height: 100.h,
margin: const EdgeInsets.only(bottom: 2), margin: const EdgeInsets.only(bottom: 2),
padding: padding:
EdgeInsets.only(left: 10.w, right: 20.w, top: 20.h, bottom: 20.h), EdgeInsets.only(left: 10.w, right: 20.w, top: 18.h, bottom: 18.h),
decoration: BoxDecoration( decoration: BoxDecoration(
color: Colors.white, color: Colors.white,
borderRadius: BorderRadius.circular(10.w), borderRadius: BorderRadius.circular(10.w),
@ -89,8 +89,7 @@ class _GatewayListPageState extends State<GatewayListPage> {
children: [ children: [
Text( Text(
gateWayName, gateWayName,
style: TextStyle( style: TextStyle(fontSize: 24.sp),
fontSize: 28.sp, fontWeight: FontWeight.w500),
), ),
], ],
), ),
@ -102,24 +101,23 @@ class _GatewayListPageState extends State<GatewayListPage> {
children: [ children: [
Image.asset( Image.asset(
'images/mine/icon_mine_gatewayListOnline.png', 'images/mine/icon_mine_gatewayListOnline.png',
width: 40.w, width: 22.w,
height: 40.w, height: 22.w,
), ),
SizedBox( SizedBox(
width: 10.w, width: 10.w,
), ),
Text( Text(
"在线", "在线",
style: TextStyle( style: TextStyle(fontSize: 18.sp),
fontSize: 24.sp, fontWeight: FontWeight.w500),
), ),
SizedBox( SizedBox(
width: 80.w, width: 80.w,
), ),
Image.asset( Image.asset(
'images/mine/icon_mine_gatewayListNumber.png', 'images/mine/icon_mine_gatewayListNumber.png',
width: 40.w, width: 22.w,
height: 40.w, height: 22.w,
), ),
SizedBox( SizedBox(
width: 10.w, width: 10.w,
@ -127,7 +125,7 @@ class _GatewayListPageState extends State<GatewayListPage> {
Text( Text(
"2", "2",
style: TextStyle( style: TextStyle(
fontSize: 28.sp, fontWeight: FontWeight.w500), fontSize: 18.sp, fontWeight: FontWeight.w500),
), ),
], ],
), ),

View File

@ -22,31 +22,83 @@ class _MinePersonInfoPageState extends State<MinePersonInfoPage> {
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Scaffold( return Scaffold(
backgroundColor: AppColors.mainBackgroundColor, backgroundColor: AppColors.mainBackgroundColor,
appBar: TitleAppBar(barTitle: TranslationLoader.lanKeys!.personalInformation!.tr, haveBack:true, backgroundColor: AppColors.mainColor), appBar: TitleAppBar(
barTitle: TranslationLoader.lanKeys!.personalInformation!.tr,
haveBack: true,
backgroundColor: AppColors.mainColor),
body: Column( body: Column(
children: [ children: [
CommonItem(leftTitel:TranslationLoader.lanKeys!.avatar!.tr, rightTitle:"", allHeight: 100.h, isHaveLine: true,isHaveDirection: true,isHaveRightWidget:true, rightWidget: Container(width: 75.w, height: 75.h,child: Image.asset('images/mine/icon_mine_main_defaultAvatar.png')), action: (){ CommonItem(
leftTitel: TranslationLoader.lanKeys!.avatar!.tr,
rightTitle: "",
allHeight: 100.h,
isHaveLine: true,
isHaveDirection: true,
isHaveRightWidget: true,
rightWidget: Container(),
/*
Container(
width: 75.w,
height: 75.h,
child: Image.asset(
'images/mine/icon_mine_main_defaultAvatar.png')),
*/
action: () {
_openModalBottomSheet(); _openModalBottomSheet();
},), },
CommonItem(leftTitel:TranslationLoader.lanKeys!.nickName!.tr, rightTitle:"你好", isHaveLine: true, isHaveDirection: true, action: (){ ),
Navigator.pushNamed(context, Routers.minePersonInfoEditNamePage); CommonItem(
leftTitel: TranslationLoader.lanKeys!.nickName!.tr,
rightTitle: "你好",
isHaveLine: true,
isHaveDirection: true,
action: () {
Navigator.pushNamed(
context, Routers.minePersonInfoEditNamePage);
}), }),
CommonItem(leftTitel:TranslationLoader.lanKeys!.accountNumber!.tr, rightTitle:"786612630@qq.com", isHaveLine: true, isHaveDirection: true, action: (){ CommonItem(
Navigator.pushNamed(context, Routers.minePersonInfoEditAccountPage); leftTitel: TranslationLoader.lanKeys!.accountNumber!.tr,
rightTitle: "786612630@qq.com",
isHaveLine: true,
isHaveDirection: true,
action: () {
Navigator.pushNamed(
context, Routers.minePersonInfoEditAccountPage);
}), }),
CommonItem(leftTitel:TranslationLoader.lanKeys!.iphone!.tr, rightTitle:"", isHaveLine: true, isHaveDirection: true, action: (){ CommonItem(
Navigator.pushNamed(context, Routers.minePersonInfoEditIphonePage); leftTitel: TranslationLoader.lanKeys!.email!.tr,
rightTitle: "",
isHaveLine: true,
isHaveDirection: true,
action: () {
Navigator.pushNamed(
context, Routers.minePersonInfoEditEmailPage);
}), }),
CommonItem(leftTitel:TranslationLoader.lanKeys!.resetPasswords!.tr, rightTitle:"", isHaveLine: true, isHaveDirection: true, action: (){ CommonItem(
Navigator.pushNamed(context, Routers.minePersonInfoResetPasswordPage); leftTitel: TranslationLoader.lanKeys!.resetPasswords!.tr,
rightTitle: "",
isHaveLine: true,
isHaveDirection: true,
action: () {
Navigator.pushNamed(
context, Routers.minePersonInfoResetPasswordPage);
}), }),
CommonItem(leftTitel:TranslationLoader.lanKeys!.safetyProblem!.tr, rightTitle:"", isHaveLine: true, isHaveDirection: true, action: (){ CommonItem(
Navigator.pushNamed(context, Routers.minePersonInfoSetSafetyProblemPage); leftTitel: TranslationLoader.lanKeys!.safetyProblem!.tr,
rightTitle: "",
isHaveLine: true,
isHaveDirection: true,
action: () {
Navigator.pushNamed(
context, Routers.minePersonInfoSetSafetyProblemPage);
}), }),
CommonItem(leftTitel:TranslationLoader.lanKeys!.countryAndRegion!.tr, rightTitle:"中国", isHaveLine: false, isHaveDirection: false), CommonItem(
leftTitel: TranslationLoader.lanKeys!.countryAndRegion!.tr,
rightTitle: "中国",
isHaveLine: false,
isHaveDirection: false),
], ],
) ));
);
} }
Future _openModalBottomSheet() async { Future _openModalBottomSheet() async {
@ -82,8 +134,6 @@ class _MinePersonInfoPageState extends State<MinePersonInfoPage> {
], ],
), ),
); );
});
} }
);
}
} }

View File

@ -12,69 +12,79 @@ class MinePersonInfoEditAccountPage extends StatefulWidget {
const MinePersonInfoEditAccountPage({Key? key}) : super(key: key); const MinePersonInfoEditAccountPage({Key? key}) : super(key: key);
@override @override
State<MinePersonInfoEditAccountPage> createState() => _MinePersonInfoEditAccountPageState(); State<MinePersonInfoEditAccountPage> createState() =>
_MinePersonInfoEditAccountPageState();
} }
class _MinePersonInfoEditAccountPageState extends State<MinePersonInfoEditAccountPage> { class _MinePersonInfoEditAccountPageState
extends State<MinePersonInfoEditAccountPage> {
final TextEditingController _editAccountController = TextEditingController(); final TextEditingController _editAccountController = TextEditingController();
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Scaffold( return Scaffold(
backgroundColor: AppColors.mainBackgroundColor, backgroundColor: AppColors.mainBackgroundColor,
appBar: TitleAppBar(barTitle: TranslationLoader.lanKeys!.modifyAccount!.tr, haveBack:true, backgroundColor: AppColors.mainColor), appBar: TitleAppBar(
barTitle: TranslationLoader.lanKeys!.modifyAccount!.tr,
haveBack: true,
backgroundColor: AppColors.mainColor),
body: Column( body: Column(
children: [ children: [
Container( Container(
width: 1.sw, width: 1.sw,
color: Colors.grey.shade300, color: AppColors.greyBackgroundColor,
padding: EdgeInsets.only(left: 15.w, top: 10.h, bottom: 10.h), padding: EdgeInsets.only(left: 15.w, top: 10.h, bottom: 10.h),
child: Text(TranslationLoader.lanKeys!.modifyAccountTip!.tr) child: Text(
), TranslationLoader.lanKeys!.modifyAccountTip!.tr,
style: TextStyle(fontSize: 20.sp),
)),
Container( Container(
padding: EdgeInsets.all(30.w), padding: EdgeInsets.all(20.h),
height: 110.h,
child: TextField( child: TextField(
maxLines: 1, // maxLines: 1,
keyboardType: TextInputType.text, keyboardType: TextInputType.text,
// inputFormatters: inputFormatterstters??[], // inputFormatters: inputFormatterstters??[],
controller: _editAccountController, controller: _editAccountController,
autofocus: false, autofocus: false,
textAlign: TextAlign.start, textAlign: TextAlign.start,
style: TextStyle( style: TextStyle(
height: 1.1, height: 3.2,
fontSize: 30.sp, fontSize: 22.sp,
fontWeight: FontWeight.w400, fontWeight: FontWeight.w400,
color: const Color(0xFF333333) color: const Color(0xFF333333)),
),
decoration: InputDecoration( decoration: InputDecoration(
hintText: TranslationLoader.lanKeys!.pleaseEnter!.tr, hintText: TranslationLoader.lanKeys!.pleaseEnter!.tr,
hintStyle: TextStyle( hintStyle: TextStyle(
height: 1.1, // height: 3.0,
fontSize: 30.sp, fontSize: 22.sp,
fontWeight: FontWeight.w400, color: const Color(0xFF999999)),
color: const Color(0xFF999999)
),
// labelText:"label", // labelText:"label",
labelStyle: const TextStyle(color: Color(0xFF999999)), labelStyle: const TextStyle(color: Color(0xFF999999)),
border: const OutlineInputBorder( border: const OutlineInputBorder(
/// ///
borderRadius: BorderRadius.all(Radius.circular(10)), borderRadius: BorderRadius.all(Radius.circular(10)),
/// ///
borderSide: BorderSide( borderSide: BorderSide(
/// ///
color: Color(0xffD3D3D3), color: Color(0xffD3D3D3),
/// ///
width: 1, width: 1,
), ),
), ),
/// ///
enabledBorder: const OutlineInputBorder( enabledBorder: const OutlineInputBorder(
/// ///
borderRadius: BorderRadius.all(Radius.circular(10)), borderRadius: BorderRadius.all(Radius.circular(10)),
/// ///
borderSide: BorderSide( borderSide: BorderSide(
/// ///
color: Color(0xffD3D3D3), color: Color(0xffD3D3D3),
/// ///
width: 1, width: 1,
), ),
@ -82,36 +92,42 @@ class _MinePersonInfoEditAccountPageState extends State<MinePersonInfoEditAccoun
disabledBorder: const OutlineInputBorder( disabledBorder: const OutlineInputBorder(
/// ///
borderRadius: BorderRadius.all(Radius.circular(10)), borderRadius: BorderRadius.all(Radius.circular(10)),
/// ///
borderSide: BorderSide( borderSide: BorderSide(
/// ///
color: Color(0xffD3D3D3), color: Color(0xffD3D3D3),
/// ///
width: 1, width: 1,
), ),
), ),
/// ///
focusedBorder: const OutlineInputBorder( focusedBorder: const OutlineInputBorder(
/// ///
borderRadius: BorderRadius.all(Radius.circular(10)), borderRadius: BorderRadius.all(Radius.circular(10)),
/// ///
borderSide: BorderSide( borderSide: BorderSide(
/// ///
color: Color(0xffD3D3D3), color: Color(0xffD3D3D3),
/// ///
width: 1, width: 1,
), ),
), ),
), ),
obscureText: false, obscureText: false,
onChanged: (String value){ onChanged: (String value) {},
},
), ),
), ),
SizedBox(height: 50.w), SizedBox(height: 50.w),
SubmitBtn(btnName: TranslationLoader.lanKeys!.next!.tr, fontSize: 28.sp, borderRadius: 20.w, padding: EdgeInsets.only(top: 25.w, bottom: 25.w), onClick: (){ SubmitBtn(
Navigator.pushNamed(context, Routers.minePersonInfoEditAccountNextPage); btnName: TranslationLoader.lanKeys!.next!.tr,
onClick: () {
Navigator.pushNamed(
context, Routers.minePersonInfoEditAccountNextPage);
}), }),
SizedBox(height: 50.w), SizedBox(height: 50.w),
Row( Row(
@ -123,18 +139,21 @@ class _MinePersonInfoEditAccountPageState extends State<MinePersonInfoEditAccoun
height: 50.h, height: 50.h,
// color: Colors.red, // color: Colors.red,
child: Center( child: Center(
child: Text('${TranslationLoader.lanKeys!.forgetPassword!.tr}',style: TextStyle(fontSize: 24.sp)), child: Text(
'${TranslationLoader.lanKeys!.forgetPassword!.tr}',
style: TextStyle(
fontSize: 18.sp, color: AppColors.mainColor)),
), ),
), ),
onTap: () { onTap: () {
Navigator.pushNamed(context, Routers.starLockForgetPasswordPage); Navigator.pushNamed(
context, Routers.starLockForgetPasswordPage);
}, },
), ),
SizedBox(width: 30.w), SizedBox(width: 30.w),
], ],
), ),
], ],
) ));
);
} }
} }

View File

@ -1,4 +1,3 @@
import 'dart:async'; import 'dart:async';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
@ -16,10 +15,12 @@ class MinePersonInfoEditAccountNextPage extends StatefulWidget {
const MinePersonInfoEditAccountNextPage({Key? key}) : super(key: key); const MinePersonInfoEditAccountNextPage({Key? key}) : super(key: key);
@override @override
State<MinePersonInfoEditAccountNextPage> createState() => _MinePersonInfoEditAccountNextPageState(); State<MinePersonInfoEditAccountNextPage> createState() =>
_MinePersonInfoEditAccountNextPageState();
} }
class _MinePersonInfoEditAccountNextPageState extends State<MinePersonInfoEditAccountNextPage> { class _MinePersonInfoEditAccountNextPageState
extends State<MinePersonInfoEditAccountNextPage> {
final TextEditingController _editAccountController = TextEditingController(); final TextEditingController _editAccountController = TextEditingController();
late Timer _timer; late Timer _timer;
int _seconds = 60; int _seconds = 60;
@ -28,22 +29,37 @@ class _MinePersonInfoEditAccountNextPageState extends State<MinePersonInfoEditAc
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Scaffold( return Scaffold(
backgroundColor: AppColors.mainBackgroundColor, backgroundColor: AppColors.mainBackgroundColor,
appBar: TitleAppBar(barTitle: TranslationLoader.lanKeys!.modifyAccount!.tr, haveBack:true, backgroundColor: AppColors.mainColor), appBar: TitleAppBar(
barTitle: TranslationLoader.lanKeys!.modifyAccount!.tr,
haveBack: true,
backgroundColor: AppColors.mainColor),
body: Column( body: Column(
children: [ children: [
Container( Container(
width: 1.sw, width: 1.sw,
// color: Colors.grey, // color: Colors.grey,
padding: EdgeInsets.only(left: 30.w, top: 15.h, bottom: 15.h), padding: EdgeInsets.only(left: 30.w, top: 15.h, bottom: 15.h),
child: Text(TranslationLoader.lanKeys!.pleaseEnterAccountNumber!.tr, style: TextStyle(fontWeight: FontWeight.w600),) child: Text(
TranslationLoader.lanKeys!.pleaseEnterNewAccountNumber!.tr,
style:
TextStyle(fontWeight: FontWeight.w600, fontSize: 24.sp),
)),
Container(
padding: EdgeInsets.only(
left: 30.w, right: 30.w, top: 10.h, bottom: 10.h),
child: TFInputHaveBorder(
controller: _editAccountController,
label: TranslationLoader.lanKeys!.pleaseEnterNumberOrEmail!.tr,
),
), ),
Container( Container(
padding: EdgeInsets.only(left:30.w, right:30.w, top: 10.h, bottom: 10.h), padding: EdgeInsets.only(
child: TFInputHaveBorder(controller: _editAccountController, label: TranslationLoader.lanKeys!.pleaseEnterNumberOrEmail!.tr,), left: 30.w, right: 30.w, top: 20.h, bottom: 10.h),
), child: TFInputHaveBorder(
Container( controller: _editAccountController,
padding: EdgeInsets.only(left:30.w, right:30.w, top: 20.h, bottom: 10.h), label:
child: TFInputHaveBorder(controller: _editAccountController, label: "${TranslationLoader.lanKeys!.pleaseEnter!.tr} ${TranslationLoader.lanKeys!.verificationCode!.tr}", rightSlot:GestureDetector( "${TranslationLoader.lanKeys!.pleaseEnter!.tr} ${TranslationLoader.lanKeys!.verificationCode!.tr}",
rightSlot: GestureDetector(
child: Container( child: Container(
width: 180.w, width: 180.w,
height: 90.h, height: 90.h,
@ -54,7 +70,14 @@ class _MinePersonInfoEditAccountNextPageState extends State<MinePersonInfoEditAc
// borderRadius: BorderRadius.circular(5) // borderRadius: BorderRadius.circular(5)
// ), // ),
child: Center( child: Center(
child: Text(_seconds==60?'${TranslationLoader.lanKeys!.getTip!.tr} ${TranslationLoader.lanKeys!.verificationCode!.tr}': (_seconds<10)?'0$_seconds s':'$_seconds s', textAlign:TextAlign.center, style: TextStyle( child: Text(
_seconds == 60
? '${TranslationLoader.lanKeys!.getTip!.tr}${TranslationLoader.lanKeys!.verificationCode!.tr}'
: (_seconds < 10)
? '0$_seconds s'
: '$_seconds s',
textAlign: TextAlign.center,
style: TextStyle(
color: Colors.grey, color: Colors.grey,
fontSize: 26.sp, fontSize: 26.sp,
)), )),
@ -70,11 +93,13 @@ class _MinePersonInfoEditAccountNextPageState extends State<MinePersonInfoEditAc
)), )),
), ),
SizedBox(height: 50.w), SizedBox(height: 50.w),
SubmitBtn(btnName: TranslationLoader.lanKeys!.sure!.tr, fontSize: 28.sp, borderRadius: 20.w, padding: EdgeInsets.only(top: 25.w, bottom: 25.w), onClick: (){ SubmitBtn(
btnName: TranslationLoader.lanKeys!.sure!.tr,
}), fontSize: 28.sp,
borderRadius: 20.w,
padding: EdgeInsets.only(top: 25.w, bottom: 25.w),
onClick: () {}),
], ],
) ));
);
} }
} }

View File

@ -1,4 +1,3 @@
import 'dart:async'; import 'dart:async';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
@ -16,10 +15,12 @@ class MinePersonInfoEditIphonePage extends StatefulWidget {
const MinePersonInfoEditIphonePage({Key? key}) : super(key: key); const MinePersonInfoEditIphonePage({Key? key}) : super(key: key);
@override @override
State<MinePersonInfoEditIphonePage> createState() => _MinePersonInfoEditIphonePageState(); State<MinePersonInfoEditIphonePage> createState() =>
_MinePersonInfoEditIphonePageState();
} }
class _MinePersonInfoEditIphonePageState extends State<MinePersonInfoEditIphonePage> { class _MinePersonInfoEditIphonePageState
extends State<MinePersonInfoEditIphonePage> {
final TextEditingController _phoneController = TextEditingController(); final TextEditingController _phoneController = TextEditingController();
final TextEditingController _codeController = TextEditingController(); final TextEditingController _codeController = TextEditingController();
late Timer _timer; late Timer _timer;
@ -29,16 +30,21 @@ class _MinePersonInfoEditIphonePageState extends State<MinePersonInfoEditIphoneP
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Scaffold( return Scaffold(
backgroundColor: AppColors.mainBackgroundColor, backgroundColor: AppColors.mainBackgroundColor,
appBar: TitleAppBar(barTitle: TranslationLoader.lanKeys!.iphone!.tr, haveBack:true, backgroundColor: AppColors.mainColor), appBar: TitleAppBar(
barTitle: TranslationLoader.lanKeys!.iphone!.tr,
haveBack: true,
backgroundColor: AppColors.mainColor),
body: Container( body: Container(
padding: EdgeInsets.all(30.w), padding: EdgeInsets.only(top: 10.h, left: 30.w, right: 30.w),
child: Column( child: Column(
children: [ children: [
Container( Container(
width: 1.sw, width: 1.sw,
padding: EdgeInsets.only(top: 5.h, bottom: 5.h), padding: EdgeInsets.only(top: 5.h, bottom: 5.h),
child: Text(TranslationLoader.lanKeys!.changeIphoneTip!.tr) child: Text(
), TranslationLoader.lanKeys!.changeIphoneTip!.tr,
style: TextStyle(fontSize: 20.sp),
)),
GestureDetector( GestureDetector(
onTap: () { onTap: () {
Navigator.pushNamed(context, Routers.seletCountryRegionPage); Navigator.pushNamed(context, Routers.seletCountryRegionPage);
@ -50,34 +56,65 @@ class _MinePersonInfoEditIphonePageState extends State<MinePersonInfoEditIphoneP
child: Row( child: Row(
children: [ children: [
SizedBox(width: 5.w), SizedBox(width: 5.w),
Expanded(child: Text(TranslationLoader.lanKeys!.countryAndRegion!.tr, style: TextStyle(fontSize: 30.sp, fontWeight: FontWeight.w500))), Expanded(
child: Text(
TranslationLoader.lanKeys!.countryAndRegion!.tr,
style: TextStyle(
fontSize: 22.sp,
fontWeight: FontWeight.w500))),
SizedBox(width: 20.w), SizedBox(width: 20.w),
Row( Row(
mainAxisAlignment: MainAxisAlignment.end, mainAxisAlignment: MainAxisAlignment.end,
children: [ children: [
Text("中国+86", textAlign: TextAlign.end, style: TextStyle(fontSize: 30.sp, fontWeight: FontWeight.w500),) Text(
"中国+86",
textAlign: TextAlign.end,
style: TextStyle(
fontSize: 22.sp, fontWeight: FontWeight.w500),
)
], ],
), ),
SizedBox(width: 5.w), SizedBox(width: 5.w),
Image.asset('images/icon_right.png', width: 50.w, height: 50.w,), Image.asset(
'images/icon_right.png',
width: 50.w,
height: 50.w,
),
], ],
), ),
), ),
), ),
Container(height: 0.5.h, color: Colors.grey,), Container(
height: 0.5.h,
color: Colors.grey,
),
SizedBox(height: 10.w), SizedBox(height: 10.w),
LoginInput(controller: _phoneController, isPwd: true, leftWidget:const SizedBox(), hintText: "${TranslationLoader.lanKeys!.sure!.tr} ${TranslationLoader.lanKeys!.password!.tr}",inputFormatters: [ LoginInput(
controller: _phoneController,
isPwd: true,
leftWidget: const SizedBox(),
hintText:
"${TranslationLoader.lanKeys!.sure!.tr}${TranslationLoader.lanKeys!.password!.tr}",
inputFormatters: [
// LengthLimitingTextInputFormatter(20), // LengthLimitingTextInputFormatter(20),
]), ]),
SizedBox(height: 10.w), SizedBox(height: 10.w),
Row( Row(
children: [ children: [
Expanded( Expanded(
child: LoginInput(controller: _codeController, isPwd: true, leftWidget:const SizedBox(), hintText: "${TranslationLoader.lanKeys!.pleaseEnter!.tr} ${TranslationLoader.lanKeys!.verificationCode!.tr}",inputFormatters: [ child: LoginInput(
controller: _codeController,
isPwd: true,
leftWidget: const SizedBox(),
hintText:
"${TranslationLoader.lanKeys!.pleaseEnter!.tr}${TranslationLoader.lanKeys!.verificationCode!.tr}",
inputFormatters: [
// LengthLimitingTextInputFormatter(20), // LengthLimitingTextInputFormatter(20),
]), ]),
), ),
SizedBox(width: 20.w,), SizedBox(
width: 20.w,
),
GestureDetector( GestureDetector(
child: Container( child: Container(
width: 180.w, width: 180.w,
@ -85,10 +122,16 @@ class _MinePersonInfoEditIphonePageState extends State<MinePersonInfoEditIphoneP
padding: EdgeInsets.all(8.h), padding: EdgeInsets.all(8.h),
decoration: BoxDecoration( decoration: BoxDecoration(
color: AppColors.mainColor, color: AppColors.mainColor,
borderRadius: BorderRadius.circular(5) borderRadius: BorderRadius.circular(5)),
),
child: Center( child: Center(
child: Text(_seconds==60?'${TranslationLoader.lanKeys!.getTip!.tr} ${TranslationLoader.lanKeys!.verificationCode!.tr}': (_seconds<10)?'0$_seconds s':'$_seconds s', textAlign:TextAlign.center, style: TextStyle( child: Text(
_seconds == 60
? '${TranslationLoader.lanKeys!.getTip!.tr} ${TranslationLoader.lanKeys!.verificationCode!.tr}'
: (_seconds < 10)
? '0$_seconds s'
: '$_seconds s',
textAlign: TextAlign.center,
style: TextStyle(
color: Colors.white, color: Colors.white,
fontSize: 26.sp, fontSize: 26.sp,
)), )),
@ -105,12 +148,14 @@ class _MinePersonInfoEditIphonePageState extends State<MinePersonInfoEditIphoneP
], ],
), ),
SizedBox(height: 50.w), SizedBox(height: 50.w),
SubmitBtn(btnName: TranslationLoader.lanKeys!.sure!.tr, fontSize: 28.sp, borderRadius: 20.w, padding: EdgeInsets.only(top: 25.w, bottom: 25.w), onClick: (){ SubmitBtn(
btnName: TranslationLoader.lanKeys!.sure!.tr,
}), fontSize: 28.sp,
borderRadius: 20.w,
padding: EdgeInsets.only(top: 25.w, bottom: 25.w),
onClick: () {}),
], ],
), ),
) ));
);
} }
} }

View File

@ -1,4 +1,3 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:get/get.dart'; import 'package:get/get.dart';
@ -12,33 +11,48 @@ class MinePersonInfoEditNamePage extends StatefulWidget {
const MinePersonInfoEditNamePage({Key? key}) : super(key: key); const MinePersonInfoEditNamePage({Key? key}) : super(key: key);
@override @override
State<MinePersonInfoEditNamePage> createState() => _MinePersonInfoEditNamePageState(); State<MinePersonInfoEditNamePage> createState() =>
_MinePersonInfoEditNamePageState();
} }
class _MinePersonInfoEditNamePageState extends State<MinePersonInfoEditNamePage> { class _MinePersonInfoEditNamePageState
final TextEditingController _changeNickNameController = TextEditingController(); extends State<MinePersonInfoEditNamePage> {
final TextEditingController _changeNickNameController =
TextEditingController();
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Scaffold( return Scaffold(
backgroundColor: AppColors.mainBackgroundColor, backgroundColor: Colors.white,
appBar: TitleAppBar(barTitle: TranslationLoader.lanKeys!.changeNickName!.tr, haveBack:true, backgroundColor: AppColors.mainColor, actionsList: [ appBar: TitleAppBar(
barTitle: TranslationLoader.lanKeys!.changeNickName!.tr,
haveBack: true,
backgroundColor: AppColors.mainColor,
actionsList: [
TextButton( TextButton(
child: Text(TranslationLoader.lanKeys!.save!.tr, style: const TextStyle(color: Colors.white),), child: Text(
onPressed: (){ TranslationLoader.lanKeys!.save!.tr,
style: TextStyle(color: Colors.white, fontSize: 24.sp),
},),], ),
onPressed: () {},
),
],
), ),
body: Container( body: Container(
padding: EdgeInsets.all(15.w), padding: EdgeInsets.all(15.w),
child: Column( child: Column(
children: [ children: [
LoginInput(controller: _changeNickNameController, isPwd: true, leftWidget:SizedBox(width: 15.w), hintText: "${TranslationLoader.lanKeys!.pleaseEnter!.tr} ${TranslationLoader.lanKeys!.password!.tr}",inputFormatters: [ LoginInput(
controller: _changeNickNameController,
isPwd: true,
leftWidget: SizedBox(width: 15.w),
hintText:
"${TranslationLoader.lanKeys!.pleaseEnter!.tr}${TranslationLoader.lanKeys!.accountNumber!.tr}",
inputFormatters: [
// LengthLimitingTextInputFormatter(20), // LengthLimitingTextInputFormatter(20),
]), ]),
], ],
), ),
) ));
);
} }
} }

View File

@ -0,0 +1,117 @@
import 'dart:async';
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/submitBtn.dart';
import '../../../tools/tf_loginInput.dart';
import '../../../tools/titleAppBar.dart';
import '../../../translations/trans_lib.dart';
class MinePersonInfoEditEmailPage extends StatefulWidget {
const MinePersonInfoEditEmailPage({Key? key}) : super(key: key);
@override
State<MinePersonInfoEditEmailPage> createState() =>
_MinePersonInfoEditEmailPageState();
}
class _MinePersonInfoEditEmailPageState
extends State<MinePersonInfoEditEmailPage> {
final TextEditingController _phoneController = TextEditingController();
final TextEditingController _codeController = TextEditingController();
late Timer _timer;
int _seconds = 60;
@override
Widget build(BuildContext context) {
return Scaffold(
backgroundColor: AppColors.mainBackgroundColor,
appBar: TitleAppBar(
barTitle: TranslationLoader.lanKeys!.email!.tr,
haveBack: true,
backgroundColor: AppColors.mainColor),
body: Container(
padding: EdgeInsets.only(top: 10.h, left: 30.w, right: 30.w),
child: Column(
children: [
Container(
width: 1.sw,
padding: EdgeInsets.only(top: 5.h, bottom: 5.h),
child: Text(
TranslationLoader.lanKeys!.changeEmailTip!.tr,
style: TextStyle(fontSize: 20.sp),
)),
LoginInput(
controller: _phoneController,
isPwd: true,
leftWidget: const SizedBox(),
hintText:
"${TranslationLoader.lanKeys!.pleaseEnter!.tr}${TranslationLoader.lanKeys!.email!.tr}",
inputFormatters: [
// LengthLimitingTextInputFormatter(20),
]),
SizedBox(height: 10.w),
Row(
children: [
Expanded(
child: LoginInput(
controller: _codeController,
isPwd: true,
leftWidget: const SizedBox(),
hintText:
"${TranslationLoader.lanKeys!.pleaseEnter!.tr}${TranslationLoader.lanKeys!.verificationCode!.tr}",
inputFormatters: [
// LengthLimitingTextInputFormatter(20),
]),
),
SizedBox(
width: 20.w,
),
GestureDetector(
child: Container(
width: 140.w,
// height: 60.h,
padding: EdgeInsets.all(8.h),
decoration: BoxDecoration(
color: AppColors.mainColor,
borderRadius: BorderRadius.circular(5)),
child: Center(
child: Text(
_seconds == 60
? '${TranslationLoader.lanKeys!.getTip!.tr}${TranslationLoader.lanKeys!.verificationCode!.tr}'
: (_seconds < 10)
? '0$_seconds s'
: '$_seconds s',
textAlign: TextAlign.center,
style: TextStyle(
color: Colors.white,
fontSize: 22.sp,
)),
),
),
onTap: () {
if (_seconds == 60) {
// _setVerify();
} else {
// Toast.show(msg: '正在获取验证码');
}
},
)
],
),
SizedBox(height: 50.w),
SubmitBtn(
btnName: TranslationLoader.lanKeys!.sure!.tr,
fontSize: 28.sp,
borderRadius: 20.w,
padding: EdgeInsets.only(top: 25.w, bottom: 25.w),
onClick: () {}),
],
),
));
}
}

View File

@ -13,10 +13,12 @@ class MinePersonInfoResetPasswordPage extends StatefulWidget {
const MinePersonInfoResetPasswordPage({Key? key}) : super(key: key); const MinePersonInfoResetPasswordPage({Key? key}) : super(key: key);
@override @override
State<MinePersonInfoResetPasswordPage> createState() => _MinePersonInfoResetPasswordPageState(); State<MinePersonInfoResetPasswordPage> createState() =>
_MinePersonInfoResetPasswordPageState();
} }
class _MinePersonInfoResetPasswordPageState extends State<MinePersonInfoResetPasswordPage> { class _MinePersonInfoResetPasswordPageState
extends State<MinePersonInfoResetPasswordPage> {
final TextEditingController _oldPwdController = TextEditingController(); final TextEditingController _oldPwdController = TextEditingController();
final TextEditingController _newPwdController = TextEditingController(); final TextEditingController _newPwdController = TextEditingController();
final TextEditingController _surePwdController = TextEditingController(); final TextEditingController _surePwdController = TextEditingController();
@ -25,7 +27,10 @@ class _MinePersonInfoResetPasswordPageState extends State<MinePersonInfoResetPas
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Scaffold( return Scaffold(
backgroundColor: AppColors.mainBackgroundColor, backgroundColor: AppColors.mainBackgroundColor,
appBar: TitleAppBar(barTitle: TranslationLoader.lanKeys!.resetPasswords!.tr, haveBack:true, backgroundColor: AppColors.mainColor), appBar: TitleAppBar(
barTitle: TranslationLoader.lanKeys!.resetPasswords!.tr,
haveBack: true,
backgroundColor: AppColors.mainColor),
body: Container( body: Container(
margin: EdgeInsets.only(left: 30.w, right: 30.w), margin: EdgeInsets.only(left: 30.w, right: 30.w),
child: Column( child: Column(
@ -33,41 +38,52 @@ class _MinePersonInfoResetPasswordPageState extends State<MinePersonInfoResetPas
LoginInput( LoginInput(
controller: _oldPwdController, controller: _oldPwdController,
isPwd: true, isPwd: true,
leftWidget:Text("${TranslationLoader.lanKeys!.originalPassword!.tr} "), leftWidget: Text(
"${TranslationLoader.lanKeys!.originalPassword!.tr} ",
style: TextStyle(fontSize: 22.sp),
),
hintText: "", hintText: "",
inputFormatters: [ inputFormatters: [
// LengthLimitingTextInputFormatter(20), // LengthLimitingTextInputFormatter(20),
] ]),
),
LoginInput( LoginInput(
controller: _newPwdController, controller: _newPwdController,
isPwd: true, isPwd: true,
leftWidget:Text("${TranslationLoader.lanKeys!.newPassword!.tr} "), leftWidget: Text(
"${TranslationLoader.lanKeys!.newPassword!.tr} ",
style: TextStyle(fontSize: 22.sp),
),
hintText: "", hintText: "",
inputFormatters: [ inputFormatters: [
// LengthLimitingTextInputFormatter(20), // LengthLimitingTextInputFormatter(20),
] ]),
),
LoginInput( LoginInput(
controller: _surePwdController, controller: _surePwdController,
isPwd: true, isPwd: true,
// isHaveLeftWidget: false, // isHaveLeftWidget: false,
leftWidget:Text("${TranslationLoader.lanKeys!.surePassword!.tr} "), leftWidget: Text(
"${TranslationLoader.lanKeys!.surePassword!.tr} ",
style: TextStyle(fontSize: 22.sp),
),
hintText: "", hintText: "",
inputFormatters: [ inputFormatters: [
// LengthLimitingTextInputFormatter(20), // LengthLimitingTextInputFormatter(20),
] ]),
),
Container( Container(
width: 1.sw, width: 1.sw,
padding: EdgeInsets.only(top: 15.h, bottom: 10.h), padding: EdgeInsets.only(top: 15.h, bottom: 10.h),
child: Text(TranslationLoader.lanKeys!.registerPasswordTip!.tr, style: TextStyle(fontSize: 26.w)) child: Text(
), TranslationLoader.lanKeys!.registerPasswordTip!.tr,
SizedBox(height: 50.w), style: TextStyle(
SubmitBtn(btnName: TranslationLoader.lanKeys!.save!.tr, fontSize: 30.sp, borderRadius: 20.w, padding: EdgeInsets.only(top: 25.w, bottom: 25.w), onClick: (){ fontSize: 18.w, color: AppColors.darkGrayTextColor))),
}),
SizedBox(height: 50.w), SizedBox(height: 50.w),
SubmitBtn(
btnName: TranslationLoader.lanKeys!.save!.tr,
fontSize: 30.sp,
borderRadius: 20.w,
padding: EdgeInsets.only(top: 25.w, bottom: 25.w),
onClick: () {}),
SizedBox(height: 40.w),
Row( Row(
mainAxisAlignment: MainAxisAlignment.center, mainAxisAlignment: MainAxisAlignment.center,
children: [ children: [
@ -77,18 +93,21 @@ class _MinePersonInfoResetPasswordPageState extends State<MinePersonInfoResetPas
height: 50.h, height: 50.h,
// color: Colors.red, // color: Colors.red,
child: Center( child: Center(
child: Text('${TranslationLoader.lanKeys!.forgetPassword!.tr}',style: TextStyle(color:AppColors.mainColor, fontSize: 24.sp)), child: Text(
'${TranslationLoader.lanKeys!.forgetPassword!.tr}',
style: TextStyle(
color: AppColors.mainColor, fontSize: 18.sp)),
), ),
), ),
onTap: () { onTap: () {
Navigator.pushNamed(context, Routers.starLockForgetPasswordPage); Navigator.pushNamed(
context, Routers.starLockForgetPasswordPage);
}, },
) )
], ],
), ),
], ],
), ),
) ));
);
} }
} }

View File

@ -13,10 +13,12 @@ class MinePersonInfoSetSafetyProblemPage extends StatefulWidget {
const MinePersonInfoSetSafetyProblemPage({Key? key}) : super(key: key); const MinePersonInfoSetSafetyProblemPage({Key? key}) : super(key: key);
@override @override
State<MinePersonInfoSetSafetyProblemPage> createState() => _MinePersonInfoSetSafetyProblemPageState(); State<MinePersonInfoSetSafetyProblemPage> createState() =>
_MinePersonInfoSetSafetyProblemPageState();
} }
class _MinePersonInfoSetSafetyProblemPageState extends State<MinePersonInfoSetSafetyProblemPage> { class _MinePersonInfoSetSafetyProblemPageState
extends State<MinePersonInfoSetSafetyProblemPage> {
final _fristEditingController = TextEditingController(); final _fristEditingController = TextEditingController();
final _secondEditingController = TextEditingController(); final _secondEditingController = TextEditingController();
final _thirdEditingController = TextEditingController(); final _thirdEditingController = TextEditingController();
@ -25,45 +27,61 @@ class _MinePersonInfoSetSafetyProblemPageState extends State<MinePersonInfoSetSa
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Scaffold( return Scaffold(
backgroundColor: AppColors.mainBackgroundColor, backgroundColor: AppColors.mainBackgroundColor,
appBar: TitleAppBar(barTitle: TranslationLoader.lanKeys!.safetyProblem!.tr, haveBack:true, backgroundColor: AppColors.mainColor), appBar: TitleAppBar(
barTitle: TranslationLoader.lanKeys!.safetyProblem!.tr,
haveBack: true,
backgroundColor: AppColors.mainColor),
body: ListView( body: ListView(
children: [ children: [
Container( Container(
width: 1.sw, width: 1.sw,
color: Colors.grey.shade300, color: AppColors.greyBackgroundColor,
padding: EdgeInsets.all(20.h), padding: EdgeInsets.all(20.h),
child: Text(TranslationLoader.lanKeys!.safetyProblemTip!.tr) child: Text(
TranslationLoader.lanKeys!.safetyProblemTip!.tr,
style: TextStyle(fontSize: 18.sp),
)),
_safityProblemItem(TranslationLoader.lanKeys!.problemOne!.tr, "",
_fristEditingController, () {
_seletProblemBottomSheet();
}),
SizedBox(height: 10.h),
_safityProblemItem(TranslationLoader.lanKeys!.problemTwo!.tr, "",
_secondEditingController, () {
_seletProblemBottomSheet();
}),
SizedBox(height: 10.h),
_safityProblemItem(TranslationLoader.lanKeys!.problemThree!.tr, "",
_thirdEditingController, () {
_seletProblemBottomSheet();
}),
SizedBox(
height: 50.h,
), ),
_safityProblemItem(TranslationLoader.lanKeys!.problemOne!.tr, "", _fristEditingController, (){ Container(
_seletProblemBottomSheet(); padding: EdgeInsets.only(left: 20.w, right: 20.w),
}), child: SubmitBtn(
SizedBox(height: 10.h), btnName: TranslationLoader.lanKeys!.sure!.tr,
_safityProblemItem(TranslationLoader.lanKeys!.problemTwo!.tr, "", _secondEditingController, (){ // borderRadius: 20.w,
_seletProblemBottomSheet(); // fontSize: 32.sp,
}), // margin: EdgeInsets.only(left: 30.w, right: 30.w, top: 20.w),
SizedBox(height: 10.h), // padding: EdgeInsets.only(top: 20.w, bottom: 20.w),
_safityProblemItem(TranslationLoader.lanKeys!.problemThree!.tr, "", _thirdEditingController, (){ onClick: () {}),
_seletProblemBottomSheet();
}),
SizedBox(height: 50.h,),
SubmitBtn(btnName:TranslationLoader.lanKeys!.sure!.tr,
borderRadius: 20.w,
fontSize: 32.sp,
margin: EdgeInsets.only(left: 30.w, right: 30.w, top: 20.w),
padding: EdgeInsets.only(top: 20.w, bottom: 20.w),
onClick: () {
}
), ),
], ],
) ));
);
} }
Widget _safityProblemItem(String problemTitle, String answerTitle,TextEditingController controller, Function() action){ Widget _safityProblemItem(String problemTitle, String answerTitle,
TextEditingController controller, Function() action) {
return Column( return Column(
children: [ children: [
CommonItem(leftTitel:problemTitle, rightTitle:"", isHaveLine: true, isHaveDirection: true, action:action), CommonItem(
leftTitel: problemTitle,
rightTitle: "",
isHaveLine: true,
isHaveDirection: true,
action: action),
Container( Container(
color: Colors.white, color: Colors.white,
padding: EdgeInsets.only(left: 35.w), padding: EdgeInsets.only(left: 35.w),
@ -79,7 +97,7 @@ class _MinePersonInfoSetSafetyProblemPageState extends State<MinePersonInfoSetSa
hintText: TranslationLoader.lanKeys!.pleaseEnterYourAnswer!.tr, hintText: TranslationLoader.lanKeys!.pleaseEnterYourAnswer!.tr,
//线 //线
border: InputBorder.none, border: InputBorder.none,
), hintStyle: TextStyle(fontSize: 22.sp)),
obscureText: false, obscureText: false,
), ),
) )
@ -95,27 +113,27 @@ class _MinePersonInfoSetSafetyProblemPageState extends State<MinePersonInfoSetSa
height: 400.0.h, height: 400.0.h,
child: ListView( child: ListView(
children: <Widget>[ children: <Widget>[
ListTile(title: Text('你第一次乘坐飞机取得是哪个城市?', textAlign: TextAlign.center), ListTile(
title: Text('你第一次乘坐飞机取得是哪个城市?', textAlign: TextAlign.center),
onTap: () { onTap: () {
Navigator.of(context).pop(true); Navigator.of(context).pop(true);
}, },
), ),
ListTile(title: Text('你的QQ号码是多少', textAlign: TextAlign.center), ListTile(
title: Text('你的QQ号码是多少', textAlign: TextAlign.center),
onTap: () { onTap: () {
Navigator.of(context).pop(true); Navigator.of(context).pop(true);
}, },
), ),
ListTile(title: Text('你的第一个宠物叫什么名字', textAlign: TextAlign.center), ListTile(
title: Text('你的第一个宠物叫什么名字', textAlign: TextAlign.center),
onTap: () { onTap: () {
Navigator.of(context).pop(true); Navigator.of(context).pop(true);
}, },
), ),
], ],
), ),
); );
});
} }
);
}
} }

View File

@ -1,4 +1,3 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:get/get.dart'; import 'package:get/get.dart';
@ -13,15 +12,30 @@ class APPUnlockNeedMobileNetworkingLockPage extends StatefulWidget {
const APPUnlockNeedMobileNetworkingLockPage({Key? key}) : super(key: key); const APPUnlockNeedMobileNetworkingLockPage({Key? key}) : super(key: key);
@override @override
State<APPUnlockNeedMobileNetworkingLockPage> createState() => _APPUnlockNeedMobileNetworkingLockPageState(); State<APPUnlockNeedMobileNetworkingLockPage> createState() =>
_APPUnlockNeedMobileNetworkingLockPageState();
} }
class _APPUnlockNeedMobileNetworkingLockPageState extends State<APPUnlockNeedMobileNetworkingLockPage> { class _APPUnlockNeedMobileNetworkingLockPageState
extends State<APPUnlockNeedMobileNetworkingLockPage> {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Scaffold( return Scaffold(
backgroundColor: AppColors.mainBackgroundColor, backgroundColor: AppColors.mainBackgroundColor,
appBar: TitleAppBar(barTitle: TranslationLoader.lanKeys!.appUnlockRequiresMobilePhoneAccessToTheLock!.tr, haveBack:true, backgroundColor: AppColors.mainColor), appBar: TitleAppBar(
barTitle: TranslationLoader
.lanKeys!.appUnlockRequiresMobilePhoneAccessToTheLock!.tr,
haveBack: true,
actionsList: [
IconButton(
onPressed: () {},
icon: Image.asset(
"images/icon_bar_search.png",
width: 30.w,
height: 30.w,
))
],
backgroundColor: AppColors.mainColor),
body: Column( body: Column(
children: [ children: [
Container( Container(
@ -29,63 +43,89 @@ class _APPUnlockNeedMobileNetworkingLockPageState extends State<APPUnlockNeedMob
child: Row( child: Row(
mainAxisAlignment: MainAxisAlignment.start, mainAxisAlignment: MainAxisAlignment.start,
children: [ children: [
Expanded(child: Text(TranslationLoader.lanKeys!.appUnlockRequiresMobilePhoneAccessToTheLockTip!.tr)), Expanded(
child: Text(
TranslationLoader.lanKeys!
.appUnlockRequiresMobilePhoneAccessToTheLockTip!.tr,
style: TextStyle(fontSize: 22.sp),
)),
], ],
), ),
), ),
CommonItem(leftTitel:TranslationLoader.lanKeys!.checkAll!.tr, rightTitle:"", allHeight:100.h, isHaveLine: false, isHaveRightWidget: true, CommonItem(
leftTitel: TranslationLoader.lanKeys!.checkAll!.tr,
rightTitle: "",
allHeight: 70.h,
isHaveLine: false,
isHaveRightWidget: true,
rightWidget: GestureDetector( rightWidget: GestureDetector(
onTap: (){ onTap: () {},
child: Row(
}, children: [
child: Row(children: [Image.asset('images/icon_round_unSelet.png', width: 40.w, height: 40.w,),],),) Image.asset(
'images/icon_round_unSelet.png',
width: 26.w,
height: 26.w,
), ),
],
),
)),
SizedBox(height: 15.h), SizedBox(height: 15.h),
Expanded( Expanded(
child: ListView.builder( child: ListView.builder(
itemCount: 10, itemCount: 10,
itemBuilder: (c, index) { itemBuilder: (c, index) {
return _gatewatListItem('images/mine/icon_mine_gatewayListMainIcon.png', "星锁网关", "在线", "2", (){ return _gatewatListItem(
'images/mine/icon_mine_gatewayListMainIcon.png',
"星锁网关",
"在线",
"2", () {
// Navigator.pushNamed(context, Routers.gatewayDetailPage); // Navigator.pushNamed(context, Routers.gatewayDetailPage);
}); });
} }),
), ),
), SubmitBtn(
SubmitBtn(btnName: TranslationLoader.lanKeys!.sure!.tr, btnName: TranslationLoader.lanKeys!.sure!.tr, onClick: () {}),
borderRadius: 20.w, SizedBox(
fontSize: 32.sp, height: 40.h,
margin: EdgeInsets.only(left: 30.w, right: 30.w, top: 30.h, bottom: 30.h),
padding: EdgeInsets.only(top: 20.w, bottom: 20.w),
onClick: () {
}
),
],
) )
); ],
));
} }
Widget _gatewatListItem(String lockTypeIcon, String gateWayName, String isOnline, String lockNumber, Function() action){ Widget _gatewatListItem(String lockTypeIcon, String gateWayName,
String isOnline, String lockNumber, Function() action) {
return GestureDetector( return GestureDetector(
onTap: action, onTap: action,
child: Container( child: Container(
height: 80.h, height: 80.h,
margin: const EdgeInsets.only(bottom: 2), margin: const EdgeInsets.only(bottom: 2),
padding: EdgeInsets.only(left: 10.w, right: 20.w, top: 20.h, bottom: 20.h), padding:
EdgeInsets.only(left: 10.w, right: 20.w, top: 20.h, bottom: 20.h),
decoration: BoxDecoration( decoration: BoxDecoration(
color: Colors.white, color: Colors.white,
borderRadius: BorderRadius.circular(10.w), borderRadius: BorderRadius.circular(10.w),
), ),
child: Row( child: Row(
children: [ children: [
SizedBox(width: 15.w,), SizedBox(
Image.asset('images/icon_round_unSelet.png', width: 40.w, height: 40.w,), width: 15.w,
SizedBox(width: 10.w,), ),
Text("MCBN01_8f3106", style: TextStyle(fontSize: 30.sp, fontWeight: FontWeight.w600),) Image.asset(
'images/icon_round_unSelet.png',
width: 30.w,
height: 30.w,
),
SizedBox(
width: 10.w,
),
Text(
"MCBN01_8f3106",
style: TextStyle(fontSize: 22.sp, fontWeight: FontWeight.w600),
)
], ],
), ),
), ),
); );
} }
} }

View File

@ -0,0 +1,366 @@
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:flutter_native_contact_picker/flutter_native_contact_picker.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:get/get_utils/get_utils.dart';
import 'package:star_lock/appRouters.dart';
import 'package:star_lock/app_settings/app_colors.dart';
import 'package:star_lock/tools/commonItem.dart';
import 'package:star_lock/tools/submitBtn.dart';
import 'package:star_lock/translations/trans_lib.dart';
class AddAuthorizedAdministratorPage extends StatefulWidget {
const AddAuthorizedAdministratorPage({Key? key}) : super(key: key);
@override
State<StatefulWidget> createState() {
return _AddAuthorizedAdministratorPageState();
}
}
class _AddAuthorizedAdministratorPageState
extends State<AddAuthorizedAdministratorPage>
with SingleTickerProviderStateMixin {
TabController? _tabController;
final FlutterContactPicker _contactPicker = FlutterContactPicker();
late Contact _contact;
final _templateNameTf = TextEditingController();
List tabs = [
TranslationLoader.lanKeys!.permanent!.tr,
TranslationLoader.lanKeys!.timeLimit!.tr
];
@override
void initState() {
super.initState();
_tabController = TabController(length: 2, vsync: this);
}
@override
Widget build(BuildContext context) {
return DefaultTabController(
length: 2,
child: Scaffold(
appBar: AppBar(
backgroundColor: AppColors.mainColor,
title: Text(
TranslationLoader.lanKeys!.addAuthorizedAdmin!.tr,
style: TextStyle(
color: Colors.white,
fontSize: 28.sp,
fontWeight: FontWeight.w600),
),
elevation: 0,
leading: IconButton(
icon: const Icon(Icons.arrow_back_ios, color: Colors.white),
onPressed: () => Navigator.of(context).pop(),
),
bottom: PreferredSize(
preferredSize: const Size.fromHeight(45),
child: Material(
color: Colors.white,
child: Theme(
data: ThemeData(
///,
highlightColor: Colors.transparent,
///
splashColor: Colors.transparent,
),
child: TabBar(
controller: _tabController,
indicatorSize: TabBarIndicatorSize.label,
indicatorColor: AppColors.mainColor,
unselectedLabelColor: AppColors.blackColor,
labelColor: AppColors.mainColor,
// isScrollable: true,
tabs: tabs.map((e) => Tab(text: e)).toList()),
)),
),
),
body: TabBarView(controller: _tabController, children: [
_permanentAdministrator(),
_timeLimitAdministrator()
])));
}
//
Widget _permanentAdministrator() {
return Column(
children: [
SizedBox(
height: 10.h,
),
_buildAccoutRow(),
SizedBox(
height: 10.h,
),
CommonItem(
leftTitel: TranslationLoader.lanKeys!.lock!.tr,
rightTitle: TranslationLoader.lanKeys!.pleaseSelet!.tr,
isHaveDirection: true,
action: () {}),
SizedBox(
height: 10.h,
),
remoteUnlockingWidget(),
SizedBox(
height: 20.h,
),
_buildSureBtn()
],
);
}
//
Widget _timeLimitAdministrator() {
return Column(
children: [
SizedBox(
height: 10.h,
),
_buildAccoutRow(),
SizedBox(
height: 10.h,
),
keyTimeWidget(),
SizedBox(
height: 10.h,
),
CommonItem(
leftTitel: TranslationLoader.lanKeys!.lock!.tr,
rightTitle: TranslationLoader.lanKeys!.pleaseSelet!.tr,
isHaveDirection: true,
action: () {}),
SizedBox(
height: 10.h,
),
remoteUnlockingWidget(),
SizedBox(
height: 20.h,
),
_buildSureBtn()
],
);
}
Widget _buildAccoutRow() {
return Column(
children: [
Container(
color: Colors.white,
height: 60.h,
child: Row(
children: [
SizedBox(
width: 40.w,
),
Text(
TranslationLoader.lanKeys!.accountNumber!.tr,
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:
TranslationLoader.lanKeys!.pleaseEnterAccountNumber!.tr,
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,
)
],
),
),
const SizedBox(
height: 1,
),
Container(
color: Colors.white,
child: Row(
children: [
SizedBox(
width: 40.w,
),
Text(
TranslationLoader.lanKeys!.name!.tr,
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: TranslationLoader.lanKeys!.pleaseEnter!.tr,
hintStyle: TextStyle(
color: AppColors.placeholderTextColor,
fontSize: ScreenUtil().setSp(24),
textBaseline: TextBaseline.alphabetic),
),
)),
SizedBox(
width: 40.w,
)
],
),
),
],
);
}
Widget getTFWidget(TextEditingController tfController, String tfStr) {
return Container(
height: 50.h,
width: 500.w,
child: Row(
children: [
Expanded(
child: TextField(
//
maxLines: 1,
controller: tfController,
autofocus: false,
textAlign: TextAlign.end,
decoration: InputDecoration(
//
contentPadding: const EdgeInsets.only(top: 12.0, bottom: 8.0),
hintText: tfStr,
//线
border: InputBorder.none,
),
),
),
],
),
);
}
//
Widget remoteUnlockingWidget() {
return Column(
children: [
CommonItem(
leftTitel: TranslationLoader.lanKeys!.remoteUnlockingAllowed!.tr,
rightTitle: "",
isHaveRightWidget: true,
rightWidget: Container(width: 80.w, height: 50.h, child: _switch()),
action: () {}),
Container(height: 40.h),
],
);
}
//
Widget keyTimeWidget() {
return Column(
children: [
CommonItem(
leftTitel: TranslationLoader.lanKeys!.effectiveTime!.tr,
rightTitle: "2020.06.20 11:49",
isHaveLine: true,
isHaveDirection: true,
action: () {
// _showDatePicker();
}),
CommonItem(
leftTitel: TranslationLoader.lanKeys!.failureTime!.tr,
rightTitle: "2020.06.20 11:49",
isHaveDirection: true,
action: () {
// _showDatePicker();
}),
Container(height: 10.h),
],
);
}
Widget keyBottomWidget(String tipStr) {
return Column(
children: [
Container(
padding: EdgeInsets.all(20.w),
child: Row(
// crossAxisAlignment: CrossAxisAlignment.start,
children: [
Expanded(
child: Text(
tipStr,
textAlign: TextAlign.start,
)),
],
),
),
SubmitBtn(
btnName: TranslationLoader.lanKeys!.sender!.tr,
borderRadius: 20.w,
margin: EdgeInsets.only(left: 30.w, right: 30.w, top: 30.w),
padding: EdgeInsets.only(top: 25.w, bottom: 25.w),
onClick: () {}),
Container(
padding: EdgeInsets.only(right: 30.w),
// color: Colors.red,
child: Row(
mainAxisAlignment: MainAxisAlignment.end,
children: [
TextButton(
onPressed: () {
Navigator.pushNamed(
context, Routers.volumeAuthorizationLockManagePage);
},
child: Text(
TranslationLoader.lanKeys!.volumeAuthorizationLock!.tr,
style: TextStyle(
color: AppColors.mainColor,
fontWeight: FontWeight.w500),
)),
],
),
),
],
);
}
CupertinoSwitch _switch() {
bool _isOn = false;
return CupertinoSwitch(
activeColor: CupertinoColors.activeBlue,
trackColor: CupertinoColors.systemGrey5,
thumbColor: CupertinoColors.white,
value: _isOn,
onChanged: (value) {
setState(() {
_isOn = value;
});
},
);
}
Widget _buildSureBtn() {
return SubmitBtn(
btnName: TranslationLoader.lanKeys!.sure!.tr,
onClick: () {},
);
}
}

View File

@ -30,7 +30,8 @@ class _AuthorizedAdministratorListPageState
icon: Image.asset('images/icon_add_white.png'), icon: Image.asset('images/icon_add_white.png'),
onPressed: () { onPressed: () {
// //
Navigator.pushNamed(context, Routers.authorizedAdminManagePage); Navigator.pushNamed(
context, Routers.addAuthorizedAdministratorPage);
}, },
), ),
], ],
@ -47,7 +48,7 @@ class _AuthorizedAdministratorListPageState
Widget _searchWidget() { Widget _searchWidget() {
return Container( return Container(
height: 60.h, height: 60.h,
margin: EdgeInsets.only(top: 20.w, left: 20.w, right: 20.w), margin: EdgeInsets.only(top: 20.w, left: 20.w, right: 10.w),
decoration: BoxDecoration( decoration: BoxDecoration(
color: Colors.white, borderRadius: BorderRadius.circular(5)), color: Colors.white, borderRadius: BorderRadius.circular(5)),
child: TextField( child: TextField(
@ -55,17 +56,19 @@ class _AuthorizedAdministratorListPageState
maxLines: 1, maxLines: 1,
// controller: _controller, // controller: _controller,
autofocus: false, autofocus: false,
decoration: InputDecoration( decoration: InputDecoration(
// //
contentPadding: const EdgeInsets.only( contentPadding: const EdgeInsets.only(
top: 12.0, left: -19.0, right: -15.0, bottom: 8.0), top: 12.0, left: -19.0, right: -15.0, bottom: 8.0),
hintText: TranslationLoader.lanKeys!.pleaseEnter!.tr, hintText: TranslationLoader.lanKeys!.pleaseEnter!.tr,
hintStyle: TextStyle(fontSize: 22.sp, height: 3.0),
//线 //线
border: InputBorder.none, border: InputBorder.none,
// //
icon: Padding( icon: Padding(
padding: EdgeInsets.only( padding: EdgeInsets.only(
top: 30.w, bottom: 20.w, right: 20.w, left: 20.w), top: 20.h, bottom: 20.h, right: 20.w, left: 10.w),
child: Image.asset( child: Image.asset(
'images/main/icon_main_search.png', 'images/main/icon_main_search.png',
width: 40.w, width: 40.w,
@ -81,7 +84,7 @@ class _AuthorizedAdministratorListPageState
return ListView.builder( return ListView.builder(
itemCount: 10, itemCount: 10,
itemBuilder: (c, index) { itemBuilder: (c, index) {
return _electronicKeyItem('images/icon_lock.png', "张三", return _electronicKeyItem('images/controls_user.png', "张三",
"2023.6.21 11.15", "2023.6.21 11.15", () { "2023.6.21 11.15", "2023.6.21 11.15", () {
Navigator.pushNamed(context, Routers.authorizedAdminDetailPage); Navigator.pushNamed(context, Routers.authorizedAdminDetailPage);
}); });
@ -93,7 +96,7 @@ class _AuthorizedAdministratorListPageState
return GestureDetector( return GestureDetector(
onTap: action, onTap: action,
child: Container( child: Container(
height: 100.h, height: 90.h,
margin: EdgeInsets.only(left: 20.w, right: 20.w, top: 20.w), margin: EdgeInsets.only(left: 20.w, right: 20.w, top: 20.w),
decoration: BoxDecoration( decoration: BoxDecoration(
color: Colors.white, color: Colors.white,
@ -106,8 +109,8 @@ class _AuthorizedAdministratorListPageState
), ),
Image.asset( Image.asset(
lockTypeIcon, lockTypeIcon,
width: 50.w, width: 44.w,
height: 50.w, height: 44.w,
), ),
SizedBox( SizedBox(
width: 30.w, width: 30.w,
@ -122,7 +125,7 @@ class _AuthorizedAdministratorListPageState
Text( Text(
lockTypeTitle, lockTypeTitle,
style: TextStyle( style: TextStyle(
fontSize: 32.sp, fontWeight: FontWeight.w500), fontSize: 24.sp, fontWeight: FontWeight.w500),
), ),
], ],
), ),
@ -134,7 +137,8 @@ class _AuthorizedAdministratorListPageState
Text( Text(
"2023.6.21 11.15 永久", "2023.6.21 11.15 永久",
style: TextStyle( style: TextStyle(
fontSize: 28.sp, fontWeight: FontWeight.w500), fontSize: 20.sp,
color: AppColors.darkGrayTextColor),
), ),
], ],
), ),

View File

@ -1,4 +1,3 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:get/get.dart'; import 'package:get/get.dart';
@ -12,15 +11,21 @@ class HideInvalidUnlockPermissionsPage extends StatefulWidget {
const HideInvalidUnlockPermissionsPage({Key? key}) : super(key: key); const HideInvalidUnlockPermissionsPage({Key? key}) : super(key: key);
@override @override
State<HideInvalidUnlockPermissionsPage> createState() => _HideInvalidUnlockPermissionsPageState(); State<HideInvalidUnlockPermissionsPage> createState() =>
_HideInvalidUnlockPermissionsPageState();
} }
class _HideInvalidUnlockPermissionsPageState extends State<HideInvalidUnlockPermissionsPage> { class _HideInvalidUnlockPermissionsPageState
extends State<HideInvalidUnlockPermissionsPage> {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Scaffold( return Scaffold(
backgroundColor: AppColors.mainBackgroundColor, backgroundColor: AppColors.mainBackgroundColor,
appBar: TitleAppBar(barTitle: TranslationLoader.lanKeys!.hideInvalidUnlockPermissions!.tr, haveBack:true, backgroundColor: AppColors.mainColor), appBar: TitleAppBar(
barTitle:
TranslationLoader.lanKeys!.hideInvalidUnlockPermissions!.tr,
haveBack: true,
backgroundColor: AppColors.mainColor),
body: Container( body: Container(
padding: EdgeInsets.all(30.w), padding: EdgeInsets.all(30.w),
child: Column( child: Column(
@ -28,29 +33,41 @@ class _HideInvalidUnlockPermissionsPageState extends State<HideInvalidUnlockPerm
Row( Row(
mainAxisAlignment: MainAxisAlignment.start, mainAxisAlignment: MainAxisAlignment.start,
children: [ children: [
Expanded(child: Text(TranslationLoader.lanKeys!.hideInvalidUnlockPermissionsTip!.tr)), Expanded(
child: Text(
TranslationLoader
.lanKeys!.hideInvalidUnlockPermissionsTip!.tr,
style: TextStyle(
color: AppColors.darkGrayTextColor, fontSize: 22.sp),
)),
], ],
), ),
SizedBox(height: 20.h,), SizedBox(
height: 20.h,
),
Row( Row(
mainAxisAlignment: MainAxisAlignment.start, mainAxisAlignment: MainAxisAlignment.start,
children: [ children: [
Expanded(child: Text("${TranslationLoader.lanKeys!.currentMode!.tr} : ${TranslationLoader.lanKeys!.opened!.tr}", style: TextStyle(fontWeight: FontWeight.w600),)), Expanded(
child: Text(
"${TranslationLoader.lanKeys!.currentMode!.tr} : ${TranslationLoader.lanKeys!.opened!.tr}",
style:
TextStyle(fontWeight: FontWeight.w600, fontSize: 22.sp),
)),
], ],
), ),
SizedBox(height: 30.h,), SizedBox(
SubmitBtn(btnName: TranslationLoader.lanKeys!.closed!.tr, height: 40.h,
),
SubmitBtn(
btnName: TranslationLoader.lanKeys!.closed!.tr,
borderRadius: 20.w, borderRadius: 20.w,
fontSize: 32.sp, fontSize: 32.sp,
// margin: EdgeInsets.only(left: 03.w, right: 30.w, top: 20.w), // margin: EdgeInsets.only(left: 03.w, right: 30.w, top: 20.w),
padding: EdgeInsets.only(top: 20.w, bottom: 20.w), padding: EdgeInsets.only(top: 20.w, bottom: 20.w),
onClick: () { onClick: () {}),
}
),
], ],
), ),
) ));
);
} }
} }

View File

@ -22,7 +22,7 @@ class _LockGroupListPageState extends State<LockGroupListPage> {
return Scaffold( return Scaffold(
backgroundColor: AppColors.mainBackgroundColor, backgroundColor: AppColors.mainBackgroundColor,
appBar: TitleAppBar( appBar: TitleAppBar(
barTitle: TranslationLoader.lanKeys!.basicInformation!.tr, barTitle: TranslationLoader.lanKeys!.lockGroup!.tr,
haveBack: true, haveBack: true,
actionsList: [ actionsList: [
IconButton( IconButton(
@ -47,13 +47,20 @@ class _LockGroupListPageState extends State<LockGroupListPage> {
itemBuilder: (c, index) { itemBuilder: (c, index) {
if (index == 1) { if (index == 1) {
return Center( return Center(
child: SizedBox( child: Column(
children: [
SizedBox(
height: 10.h,
),
SizedBox(
height: 40.h, height: 40.h,
child: const Text( child: const Text(
'锁数量1', '锁数量1',
style: TextStyle( style: TextStyle(
color: AppColors.darkGrayTextColor, fontSize: 14), color: AppColors.darkGrayTextColor, fontSize: 14),
), ),
)
],
), ),
); );
} else { } else {

View File

@ -20,14 +20,32 @@ class _LockItemListPageState extends State<LockItemListPage> {
return Scaffold( return Scaffold(
backgroundColor: AppColors.mainBackgroundColor, backgroundColor: AppColors.mainBackgroundColor,
appBar: TitleAppBar( appBar: TitleAppBar(
barTitle: TranslationLoader.lanKeys!.basicInformation!.tr, barTitle: TranslationLoader.lanKeys!.lock!.tr,
haveBack: true, haveBack: true,
actionsList: [
IconButton(
icon: Image.asset(
'images/icon_bar_more.png',
height: 30.h,
width: 10.w,
),
onPressed: () {
// -
},
),
],
backgroundColor: AppColors.mainColor), backgroundColor: AppColors.mainColor),
body: ListView.builder( body: ListView.separated(
itemBuilder: (context, index) { itemBuilder: (context, index) {
return _listItemView(); return _listItemView();
}, },
itemCount: 2, itemCount: 2,
separatorBuilder: (BuildContext context, int index) {
return Divider(
height: 1.h,
color: AppColors.greyLineColor,
);
},
), ),
); );
} }
@ -51,7 +69,7 @@ class _LockItemListPageState extends State<LockItemListPage> {
fit: BoxFit.fill, fit: BoxFit.fill,
), ),
SizedBox( SizedBox(
width: 8.w, width: 10.w,
), ),
const Text( const Text(
'Daisy', 'Daisy',

View File

@ -1,4 +1,3 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:get/get.dart'; import 'package:get/get.dart';
@ -20,7 +19,10 @@ class _LockScreenPageState extends State<LockScreenPage> {
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Scaffold( return Scaffold(
backgroundColor: AppColors.mainBackgroundColor, backgroundColor: AppColors.mainBackgroundColor,
appBar: TitleAppBar(barTitle: TranslationLoader.lanKeys!.lockScreen!.tr, haveBack:true, backgroundColor: AppColors.mainColor), appBar: TitleAppBar(
barTitle: TranslationLoader.lanKeys!.lockScreen!.tr,
haveBack: true,
backgroundColor: AppColors.mainColor),
body: Container( body: Container(
padding: EdgeInsets.all(30.w), padding: EdgeInsets.all(30.w),
child: Column( child: Column(
@ -28,29 +30,36 @@ class _LockScreenPageState extends State<LockScreenPage> {
Row( Row(
mainAxisAlignment: MainAxisAlignment.start, mainAxisAlignment: MainAxisAlignment.start,
children: [ children: [
Expanded(child: Text(TranslationLoader.lanKeys!.lockSoundTip!.tr)), Expanded(
child: Text(
TranslationLoader.lanKeys!.lockSoundTip!.tr,
style: TextStyle(
fontSize: 22.sp, color: AppColors.darkGrayTextColor),
)),
], ],
), ),
SizedBox(height: 20.h,), SizedBox(
height: 20.h,
),
Row( Row(
mainAxisAlignment: MainAxisAlignment.start, mainAxisAlignment: MainAxisAlignment.start,
children: [ children: [
Expanded(child: Text("${TranslationLoader.lanKeys!.currentMode!.tr} : ${TranslationLoader.lanKeys!.opened!.tr}", style: TextStyle(fontWeight: FontWeight.w600),)), Expanded(
child: Text(
"${TranslationLoader.lanKeys!.currentMode!.tr} : ${TranslationLoader.lanKeys!.opened!.tr}",
style:
TextStyle(fontWeight: FontWeight.w600, fontSize: 22.sp),
)),
], ],
), ),
SizedBox(height: 30.h,), SizedBox(
SubmitBtn(btnName: TranslationLoader.lanKeys!.closed!.tr, height: 40.h,
borderRadius: 20.w,
fontSize: 32.sp,
// margin: EdgeInsets.only(left: 03.w, right: 30.w, top: 20.w),
padding: EdgeInsets.only(top: 20.w, bottom: 20.w),
onClick: () {
}
), ),
SubmitBtn(
btnName: TranslationLoader.lanKeys!.closed!.tr,
onClick: () {}),
], ],
), ),
) ));
);
} }
} }

View File

@ -29,7 +29,7 @@ class _LockUserManageListListPageState
TextButton( TextButton(
child: Text( child: Text(
TranslationLoader.lanKeys!.aboutToExpire!.tr, TranslationLoader.lanKeys!.aboutToExpire!.tr,
style: const TextStyle(color: Colors.white), style: TextStyle(color: Colors.white, fontSize: 24.sp),
), ),
onPressed: () {}, onPressed: () {},
), ),
@ -38,6 +38,9 @@ class _LockUserManageListListPageState
body: Column( body: Column(
children: [ children: [
_searchWidget(), _searchWidget(),
SizedBox(
height: 20.h,
),
Expanded(child: _buildMainUI()), Expanded(child: _buildMainUI()),
SizedBox( SizedBox(
width: ScreenUtil().screenWidth - 40.w, width: ScreenUtil().screenWidth - 40.w,
@ -46,12 +49,15 @@ class _LockUserManageListListPageState
style: ElevatedButton.styleFrom( style: ElevatedButton.styleFrom(
backgroundColor: Colors.white, backgroundColor: Colors.white,
), ),
onPressed: () {}, onPressed: () {
Navigator.pushNamed(
context, Routers.massSendElectronicKeyManagePage);
},
child: Text( child: Text(
'群发钥匙', '群发钥匙',
style: TextStyle( style: TextStyle(
color: AppColors.mainColor, color: AppColors.mainColor,
fontSize: 28.sp, fontSize: 24.sp,
fontWeight: FontWeight.w600), fontWeight: FontWeight.w600),
)), )),
), ),
@ -79,12 +85,13 @@ class _LockUserManageListListPageState
contentPadding: const EdgeInsets.only( contentPadding: const EdgeInsets.only(
top: 12.0, left: -19.0, right: -15.0, bottom: 8.0), top: 12.0, left: -19.0, right: -15.0, bottom: 8.0),
hintText: TranslationLoader.lanKeys!.pleaseEnter!.tr, hintText: TranslationLoader.lanKeys!.pleaseEnter!.tr,
hintStyle: TextStyle(fontSize: 22.sp, height: 3.0),
//线 //线
border: InputBorder.none, border: InputBorder.none,
// //
icon: Padding( icon: Padding(
padding: EdgeInsets.only( padding: EdgeInsets.only(
top: 30.w, bottom: 20.w, right: 20.w, left: 20.w), top: 20.h, bottom: 20.h, right: 20.w, left: 10.w),
child: Image.asset( child: Image.asset(
'images/main/icon_main_search.png', 'images/main/icon_main_search.png',
width: 40.w, width: 40.w,
@ -100,7 +107,7 @@ class _LockUserManageListListPageState
return ListView.builder( return ListView.builder(
itemCount: 10, itemCount: 10,
itemBuilder: (c, index) { itemBuilder: (c, index) {
return _electronicKeyItem('images/icon_lock.png', "张三", return _electronicKeyItem('images/controls_user.png', "张三",
"2023.6.21 11.15", "2023.6.21 11.15", () { "2023.6.21 11.15", "2023.6.21 11.15", () {
Navigator.pushNamed(context, Routers.authorizedAdminDetailPage); Navigator.pushNamed(context, Routers.authorizedAdminDetailPage);
}); });
@ -112,12 +119,13 @@ class _LockUserManageListListPageState
return GestureDetector( return GestureDetector(
onTap: action, onTap: action,
child: Container( child: Container(
height: 100.h, height: 90.h,
margin: EdgeInsets.only(left: 20.w, right: 20.w, top: 20.w), margin: EdgeInsets.only(top: 1.h),
decoration: BoxDecoration(
color: Colors.white, color: Colors.white,
borderRadius: BorderRadius.circular(10.w), // decoration: BoxDecoration(
), // color: Colors.white,
// borderRadius: BorderRadius.circular(10.w),
// ),
child: Row( child: Row(
children: [ children: [
SizedBox( SizedBox(
@ -125,8 +133,8 @@ class _LockUserManageListListPageState
), ),
Image.asset( Image.asset(
lockTypeIcon, lockTypeIcon,
width: 50.w, width: 44.w,
height: 50.w, height: 44.w,
), ),
SizedBox( SizedBox(
width: 30.w, width: 30.w,
@ -140,29 +148,32 @@ class _LockUserManageListListPageState
children: [ children: [
Text( Text(
lockTypeTitle, lockTypeTitle,
style: TextStyle( style: TextStyle(fontSize: 24.sp),
fontSize: 32.sp, fontWeight: FontWeight.w500),
), ),
], ],
), ),
SizedBox(height: 5.h), SizedBox(height: 5.h),
Container( Row(
child: Row(
mainAxisAlignment: MainAxisAlignment.start, mainAxisAlignment: MainAxisAlignment.start,
children: [ children: [
Text( Text(
"2023.6.21 11.15 永久", "2023.6.21 11.15 永久",
style: TextStyle( style: TextStyle(
fontSize: 28.sp, fontWeight: FontWeight.w500), fontSize: 20.sp,
color: AppColors.darkGrayTextColor),
), ),
], ],
), ),
),
SizedBox(width: 20.h), SizedBox(width: 20.h),
], ],
), ),
), ),
SizedBox(width: 20.h), Image.asset(
'images/icon_right_grey.png',
width: 12.w,
height: 21.w,
),
SizedBox(width: 20.w),
], ],
), ),
), ),

View File

@ -39,21 +39,21 @@ class _MineSetPageState extends State<MineSetPage> {
isHaveLine: true, isHaveLine: true,
isHaveRightWidget: true, isHaveRightWidget: true,
rightWidget: SizedBox( rightWidget: SizedBox(
width: 80.w, height: 50.h, child: _switch())), width: 10.w, height: 50.h, child: _switch())),
CommonItem( CommonItem(
leftTitel: TranslationLoader.lanKeys!.touchUnlock!.tr, leftTitel: TranslationLoader.lanKeys!.touchUnlock!.tr,
rightTitle: "", rightTitle: "",
isHaveLine: true, isHaveLine: true,
isHaveRightWidget: true, isHaveRightWidget: true,
rightWidget: SizedBox( rightWidget: SizedBox(
width: 80.w, height: 50.h, child: _switch())), width: 10.w, height: 50.h, child: _switch())),
CommonItem( CommonItem(
leftTitel: leftTitel:
TranslationLoader.lanKeys!.pushNotification!.tr, TranslationLoader.lanKeys!.pushNotification!.tr,
rightTitle: "", rightTitle: "",
isHaveRightWidget: true, isHaveRightWidget: true,
rightWidget: SizedBox( rightWidget: SizedBox(
width: 80.w, height: 50.h, child: _switch())), width: 10.w, height: 50.h, child: _switch())),
SizedBox( SizedBox(
height: 10.h, height: 10.h,
), ),
@ -146,7 +146,7 @@ class _MineSetPageState extends State<MineSetPage> {
// //
// }), // }),
SizedBox( SizedBox(
height: 10.h, height: 50.h,
), ),
// CommonItem(leftTitel:TranslationLoader.lanKeys!.about!.tr, rightTitle:"", isHaveLine: true, isHaveDirection: true, action: (){ // CommonItem(leftTitel:TranslationLoader.lanKeys!.about!.tr, rightTitle:"", isHaveLine: true, isHaveDirection: true, action: (){
// //
@ -167,45 +167,44 @@ class _MineSetPageState extends State<MineSetPage> {
// CommonItem(leftTitel:TranslationLoader.lanKeys!.thirdPartyInformationSharingList!.tr, rightTitle:"", isHaveLine: true, isHaveDirection: true, action: (){ // CommonItem(leftTitel:TranslationLoader.lanKeys!.thirdPartyInformationSharingList!.tr, rightTitle:"", isHaveLine: true, isHaveDirection: true, action: (){
// //
// }), // }),
keyBottomWidget()
], ],
), ),
), ),
// keyBottomWidget()
], ],
)); ));
} }
// Widget keyBottomWidget() { Widget keyBottomWidget() {
// return Column( return Column(
// children: [ children: [
// SubmitBtn(btnName: TranslationLoader.lanKeys!.logout!.tr, SubmitBtn(
// borderRadius: 20.w, btnName: TranslationLoader.lanKeys!.logout!.tr,
// fontSize: 32.sp, isDelete: true,
// margin: EdgeInsets.only(left: 30.w, right: 30.w, top: 20.w), onClick: () {}),
// padding: EdgeInsets.only(top: 20.w, bottom: 20.w), Container(
// onClick: () { padding: EdgeInsets.only(right: 30.w),
// // color: Colors.red,
// } child: Row(
// ), mainAxisAlignment: MainAxisAlignment.end,
// Container( children: [
// padding: EdgeInsets.only(right: 30.w), TextButton(
// // color: Colors.red, child: Text(
// child: Row( TranslationLoader.lanKeys!.deleteAccount!.tr,
// mainAxisAlignment: MainAxisAlignment.end, style: TextStyle(
// children: [ color: AppColors.darkGrayTextColor, fontSize: 18.sp),
// TextButton( ),
// child: Text( TranslationLoader.lanKeys!.deleteAccount!.tr, style: TextStyle(color: AppColors.mainColor, fontWeight: FontWeight.w500),), onPressed: () {},
// onPressed: () { ),
// ],
// }, ),
// ), ),
// ], SizedBox(
// ), height: 30.h,
// ), )
// SizedBox(height: 30.h,) ],
// ], );
// ); }
// }
CupertinoSwitch _switch() { CupertinoSwitch _switch() {
return CupertinoSwitch( return CupertinoSwitch(

View File

@ -28,15 +28,12 @@ class _SelectGetewayListPageState extends State<SelectGetewayListPage> {
onPressed: () {}, onPressed: () {},
child: Text( child: Text(
'全选', '全选',
style: TextStyle(color: Colors.white, fontSize: 28.sp), style: TextStyle(color: Colors.white, fontSize: 24.sp),
)) ))
], ],
), ),
body: Column( body: Column(
children: [ children: [
SizedBox(
height: 10.h,
),
Expanded(child: _buildMainUI()), Expanded(child: _buildMainUI()),
SizedBox( SizedBox(
height: 20.h, height: 20.h,
@ -74,7 +71,7 @@ class _SelectGetewayListPageState extends State<SelectGetewayListPage> {
return GestureDetector( return GestureDetector(
child: Container( child: Container(
color: Colors.white, color: Colors.white,
height: 70.h, height: 80.h,
child: Row( child: Row(
mainAxisAlignment: MainAxisAlignment.start, mainAxisAlignment: MainAxisAlignment.start,
crossAxisAlignment: CrossAxisAlignment.center, crossAxisAlignment: CrossAxisAlignment.center,
@ -94,8 +91,8 @@ class _SelectGetewayListPageState extends State<SelectGetewayListPage> {
), ),
Image.asset( Image.asset(
'images/getewayType_G2.png', 'images/getewayType_G2.png',
width: 60.w, width: 50.w,
height: 60.w, height: 50.w,
fit: BoxFit.fill, fit: BoxFit.fill,
), ),
SizedBox( SizedBox(
@ -103,7 +100,7 @@ class _SelectGetewayListPageState extends State<SelectGetewayListPage> {
), ),
Text( Text(
'星锁网关', '星锁网关',
style: TextStyle(fontSize: 28.sp), style: TextStyle(fontSize: 24.sp),
) )
], ],
), ),
@ -115,7 +112,7 @@ class _SelectGetewayListPageState extends State<SelectGetewayListPage> {
Widget _buildNextBtn() { Widget _buildNextBtn() {
return GestureDetector( return GestureDetector(
child: Container( child: Container(
color: Colors.grey, color: AppColors.btnDisableColor,
width: ScreenUtil().screenWidth, width: ScreenUtil().screenWidth,
height: 64.h, height: 64.h,
child: TextButton( child: TextButton(
@ -124,7 +121,7 @@ class _SelectGetewayListPageState extends State<SelectGetewayListPage> {
}, },
child: Text( child: Text(
'下一步', '下一步',
style: TextStyle(fontSize: 28.sp, color: Colors.white), style: TextStyle(fontSize: 24.sp, color: Colors.white),
)), )),
), ),
); );

View File

@ -1,6 +1,7 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:get/get.dart'; import 'package:get/get.dart';
import 'package:star_lock/tools/submitBtn.dart';
import '../../../../appRouters.dart'; import '../../../../appRouters.dart';
import '../../../../app_settings/app_colors.dart'; import '../../../../app_settings/app_colors.dart';
@ -85,8 +86,8 @@ class _RecipientInformationPageState extends State<RecipientInformationPage> {
GestureDetector( GestureDetector(
child: Image.asset( child: Image.asset(
leftIcon, leftIcon,
width: 16, width: 20.w,
height: 16, height: 20.w,
), ),
), ),
SizedBox( SizedBox(
@ -94,7 +95,7 @@ class _RecipientInformationPageState extends State<RecipientInformationPage> {
), ),
Text( Text(
leftTitle, leftTitle,
style: TextStyle(fontSize: 28.sp), style: TextStyle(fontSize: 24.sp),
) )
], ],
), ),
@ -115,7 +116,7 @@ class _RecipientInformationPageState extends State<RecipientInformationPage> {
Text( Text(
'账号', '账号',
style: style:
TextStyle(color: AppColors.darkGrayTextColor, fontSize: 24.sp), TextStyle(color: AppColors.darkGrayTextColor, fontSize: 22.sp),
), ),
Expanded( Expanded(
child: TextField( child: TextField(
@ -127,7 +128,7 @@ class _RecipientInformationPageState extends State<RecipientInformationPage> {
hintText: '请输入手机号或email', hintText: '请输入手机号或email',
hintStyle: TextStyle( hintStyle: TextStyle(
color: AppColors.placeholderTextColor, color: AppColors.placeholderTextColor,
fontSize: ScreenUtil().setSp(24), fontSize: ScreenUtil().setSp(22),
textBaseline: TextBaseline.alphabetic), textBaseline: TextBaseline.alphabetic),
), ),
)), )),
@ -153,28 +154,14 @@ class _RecipientInformationPageState extends State<RecipientInformationPage> {
child: Text( child: Text(
'选中的智能锁将会转移到您输入的账号中,您将失去锁的管理权', '选中的智能锁将会转移到您输入的账号中,您将失去锁的管理权',
style: style:
TextStyle(fontSize: 20.sp, color: AppColors.placeholderTextColor), TextStyle(fontSize: 18.sp, color: AppColors.placeholderTextColor),
textAlign: TextAlign.left, textAlign: TextAlign.left,
), ),
); );
} }
Widget _buildNextBtn() { Widget _buildNextBtn() {
return GestureDetector( return SubmitBtn(btnName: '下一步', onClick: () {});
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() { Widget _buildRemoveBadLockBtn() {
@ -186,7 +173,7 @@ class _RecipientInformationPageState extends State<RecipientInformationPage> {
child: Text( child: Text(
'移除坏锁', '移除坏锁',
style: TextStyle( style: TextStyle(
fontSize: 28.sp, color: AppColors.darkGrayTextColor), fontSize: 18.sp, color: AppColors.darkGrayTextColor),
textAlign: TextAlign.end, textAlign: TextAlign.end,
)), )),
SizedBox( SizedBox(

View File

@ -2,7 +2,6 @@ import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:get/get.dart'; import 'package:get/get.dart';
import '../../../../appRouters.dart';
import '../../../../app_settings/app_colors.dart'; import '../../../../app_settings/app_colors.dart';
import '../../../../tools/titleAppBar.dart'; import '../../../../tools/titleAppBar.dart';
import '../../../../translations/trans_lib.dart'; import '../../../../translations/trans_lib.dart';

View File

@ -28,7 +28,7 @@ class _TransferSmartLockPageState extends State<TransferSmartLockPage> {
onPressed: () {}, onPressed: () {},
child: Text( child: Text(
'全选', '全选',
style: TextStyle(color: Colors.white, fontSize: 28.sp), style: TextStyle(color: Colors.white, fontSize: 24.sp),
)) ))
], ],
), ),
@ -54,7 +54,7 @@ class _TransferSmartLockPageState extends State<TransferSmartLockPage> {
Widget _searchWidget() { Widget _searchWidget() {
return Container( return Container(
height: 60.h, height: 60.h,
margin: EdgeInsets.only(top: 20.w, left: 20.w, right: 20.w), margin: EdgeInsets.only(top: 20.w, left: 20.w, right: 10.w),
decoration: BoxDecoration( decoration: BoxDecoration(
color: Colors.white, borderRadius: BorderRadius.circular(5)), color: Colors.white, borderRadius: BorderRadius.circular(5)),
child: TextField( child: TextField(
@ -62,17 +62,19 @@ class _TransferSmartLockPageState extends State<TransferSmartLockPage> {
maxLines: 1, maxLines: 1,
// controller: _controller, // controller: _controller,
autofocus: false, autofocus: false,
decoration: InputDecoration( decoration: InputDecoration(
// //
contentPadding: const EdgeInsets.only( contentPadding: const EdgeInsets.only(
top: 12.0, left: -19.0, right: -15.0, bottom: 8.0), top: 12.0, left: -19.0, right: -15.0, bottom: 8.0),
hintText: TranslationLoader.lanKeys!.pleaseEnter!.tr, hintText: TranslationLoader.lanKeys!.pleaseEnter!.tr,
hintStyle: TextStyle(fontSize: 22.sp, height: 3.0),
//线 //线
border: InputBorder.none, border: InputBorder.none,
// //
icon: Padding( icon: Padding(
padding: EdgeInsets.only( padding: EdgeInsets.only(
top: 30.w, bottom: 20.w, right: 20.w, left: 20.w), top: 20.h, bottom: 20.h, right: 20.w, left: 10.w),
child: Image.asset( child: Image.asset(
'images/main/icon_main_search.png', 'images/main/icon_main_search.png',
width: 40.w, width: 40.w,
@ -108,7 +110,7 @@ class _TransferSmartLockPageState extends State<TransferSmartLockPage> {
return GestureDetector( return GestureDetector(
child: Container( child: Container(
color: Colors.white, color: Colors.white,
height: 70.h, height: 90.h,
child: Row( child: Row(
mainAxisAlignment: MainAxisAlignment.start, mainAxisAlignment: MainAxisAlignment.start,
crossAxisAlignment: CrossAxisAlignment.center, crossAxisAlignment: CrossAxisAlignment.center,
@ -133,11 +135,11 @@ class _TransferSmartLockPageState extends State<TransferSmartLockPage> {
fit: BoxFit.fill, fit: BoxFit.fill,
), ),
SizedBox( SizedBox(
width: 8.w, width: 10.w,
), ),
const Text( Text(
'Daisy', 'Daisy',
style: TextStyle(fontSize: 14), style: TextStyle(fontSize: 22.sp),
) )
], ],
), ),

View File

@ -1,4 +1,3 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:get/get.dart'; import 'package:get/get.dart';
@ -18,6 +17,7 @@ class StarLockMinePage extends StatefulWidget {
} }
GlobalKey<_StarLockMinePageState> starLockMineKey = GlobalKey(); GlobalKey<_StarLockMinePageState> starLockMineKey = GlobalKey();
class _StarLockMinePageState extends State<StarLockMinePage> with BaseWidget { class _StarLockMinePageState extends State<StarLockMinePage> with BaseWidget {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
@ -28,8 +28,10 @@ class _StarLockMinePageState extends State<StarLockMinePage> with BaseWidget{
children: [ children: [
topWidget(), topWidget(),
bottomListWidget(), bottomListWidget(),
SizedBox(height: 40.h,), SizedBox(
keyBottomWidget() height: 40.h,
),
// keyBottomWidget()
], ],
), ),
); );
@ -37,32 +39,58 @@ class _StarLockMinePageState extends State<StarLockMinePage> with BaseWidget{
Widget topWidget() { Widget topWidget() {
return Container( return Container(
height: 450.h, height: 380.h,
width: 1.sw, width: 1.sw,
color: AppColors.mainColor, color: AppColors.mainColor,
// color: Colors.red, // color: Colors.red,
child: Stack(
children: [
Image.asset(
'images/mine/icon_mine_topBg.png',
width: 400.w,
height: 380.h,
fit: BoxFit.fill,
),
Center(
child: Column( child: Column(
// crossAxisAlignment: CrossAxisAlignment.center, // crossAxisAlignment: CrossAxisAlignment.center,
children: [ children: [
SizedBox(height: 120.h,), SizedBox(
height: 120.h,
),
GestureDetector( GestureDetector(
onTap: () { onTap: () {
Navigator.pushNamed(context, Routers.starLockLoginPage); // Navigator.pushNamed(context, Routers.starLockLoginPage);
Navigator.pushNamed(context, Routers.minePersonInfoPage);
}, },
child: Container( child: SizedBox(
width: 150.w, height: 150.w, width: 108.w,
decoration: BoxDecoration( height: 105.w,
border: Border.all(width: 2, color: Colors.white), child: Image.asset(
borderRadius: BorderRadius.circular(75.h), 'images/mine/icon_mine_main_defaultAvatar.png',
width: 60.w,
height: 60.w)),
), ),
padding: EdgeInsets.all(20.w), SizedBox(
child: Image.asset('images/mine/icon_mine_main_defaultAvatar.png', width: 100.w, height: 100.w) height: 20.h,
),
Text("15080825640",
style: TextStyle(
fontSize: 22.sp,
color: Colors.white,
)),
SizedBox(
height: 10.h,
),
Text(
"${TranslationLoader.lanKeys!.accountNumber!.tr}:15080825640",
style: TextStyle(
fontSize: 18.sp,
color: Colors.white,
fontWeight: FontWeight.w500)),
],
), ),
), ),
SizedBox(height: 20.h,),
Text("15080825640", style: TextStyle(fontSize: 30.sp, color: Colors.white, fontWeight: FontWeight.w500)),
SizedBox(height: 10.h,),
Text("${TranslationLoader.lanKeys!.accountNumber!.tr}:15080825640", style: TextStyle(fontSize: 22.sp, color: Colors.white, fontWeight: FontWeight.w500)),
], ],
), ),
); );
@ -71,30 +99,41 @@ class _StarLockMinePageState extends State<StarLockMinePage> with BaseWidget{
Widget bottomListWidget() { Widget bottomListWidget() {
return Expanded( return Expanded(
child: ListView( child: ListView(
padding: EdgeInsets.only(left: 70.w, top: 50.h, right: 10.w), padding: EdgeInsets.only(
left: 60.w,
top: 50.h,
),
children: <Widget>[ children: <Widget>[
mineItem('images/mine/icon_mine_main_personInfo.png', TranslationLoader.lanKeys!.personalInformation!.tr, (){ // mineItem('images/mine/icon_mine_main_personInfo.png',
Navigator.pushNamed(context, Routers.minePersonInfoPage); // TranslationLoader.lanKeys!.personalInformation!.tr, () {
}), // Navigator.pushNamed(context, Routers.minePersonInfoPage);
mineItem('images/mine/icon_mine_main_addLock.png', TranslationLoader.lanKeys!.addLock!.tr, (){ // }),
mineItem('images/mine/icon_mine_main_addLock.png',
TranslationLoader.lanKeys!.addDevice!.tr, () {
Navigator.pushNamed(context, Routers.seletLockTypePage); Navigator.pushNamed(context, Routers.seletLockTypePage);
}), }),
mineItem('images/mine/icon_mine_main_gateway.png', TranslationLoader.lanKeys!.gateway!.tr, (){ // mineItem('images/mine/icon_mine_main_gateway.png',
Navigator.pushNamed(context, Routers.gatewayListPage); // TranslationLoader.lanKeys!.gateway!.tr, () {
}), // Navigator.pushNamed(context, Routers.gatewayListPage);
mineItem('images/mine/icon_mine_main_message.png', TranslationLoader.lanKeys!.message!.tr, (){ // }),
mineItem('images/mine/icon_mine_main_message.png',
TranslationLoader.lanKeys!.message!.tr, () {
Navigator.pushNamed(context, Routers.messageListPage); Navigator.pushNamed(context, Routers.messageListPage);
}), }),
mineItem('images/mine/icon_mine_main_supportStaff.png', TranslationLoader.lanKeys!.supportStaff!.tr, (){ mineItem('images/mine/icon_mine_main_supportStaff.png',
TranslationLoader.lanKeys!.supportStaff!.tr, () {
Navigator.pushNamed(context, Routers.supportStaffPage); Navigator.pushNamed(context, Routers.supportStaffPage);
}), }),
mineItem('images/mine/icon_mine_main_set.png', TranslationLoader.lanKeys!.set!.tr, (){ mineItem('images/mine/icon_mine_main_set.png',
TranslationLoader.lanKeys!.set!.tr, () {
Navigator.pushNamed(context, Routers.mineSetPage); Navigator.pushNamed(context, Routers.mineSetPage);
}), }),
mineItem('images/mine/icon_mine_main_vip.png', TranslationLoader.lanKeys!.valueAddedServices!.tr, (){ mineItem('images/mine/icon_mine_main_vip.png',
TranslationLoader.lanKeys!.valueAddedServices!.tr, () {
Navigator.pushNamed(context, Routers.valueAddedServicesPage); Navigator.pushNamed(context, Routers.valueAddedServicesPage);
}), }),
mineItem('images/mine/icon_mine_main_about.png', TranslationLoader.lanKeys!.about!.tr, (){ mineItem('images/mine/icon_mine_main_about.png',
TranslationLoader.lanKeys!.about!.tr, () {
Navigator.pushNamed(context, Routers.abountPage); Navigator.pushNamed(context, Routers.abountPage);
}), }),
], ],
@ -105,15 +144,13 @@ class _StarLockMinePageState extends State<StarLockMinePage> with BaseWidget{
Widget keyBottomWidget() { Widget keyBottomWidget() {
return Column( return Column(
children: [ children: [
SubmitBtn(btnName: TranslationLoader.lanKeys!.logout!.tr, SubmitBtn(
btnName: TranslationLoader.lanKeys!.logout!.tr,
borderRadius: 20.w, borderRadius: 20.w,
fontSize: 32.sp, fontSize: 32.sp,
margin: EdgeInsets.only(left: 60.w, right: 60.w), margin: EdgeInsets.only(left: 60.w, right: 60.w),
padding: EdgeInsets.only(top: 15.w, bottom: 15.w), padding: EdgeInsets.only(top: 15.w, bottom: 15.w),
onClick: () { onClick: () {}),
}
),
Container( Container(
padding: EdgeInsets.only(right: 30.w), padding: EdgeInsets.only(right: 30.w),
// color: Colors.red, // color: Colors.red,
@ -121,20 +158,25 @@ class _StarLockMinePageState extends State<StarLockMinePage> with BaseWidget{
mainAxisAlignment: MainAxisAlignment.end, mainAxisAlignment: MainAxisAlignment.end,
children: [ children: [
TextButton( TextButton(
child: Text(TranslationLoader.lanKeys!.deleteAccount!.tr, style: TextStyle(color: AppColors.mainColor, fontWeight: FontWeight.w500),), child: Text(
onPressed: () { TranslationLoader.lanKeys!.deleteAccount!.tr,
style: TextStyle(
}, color: AppColors.mainColor, fontWeight: FontWeight.w500),
),
onPressed: () {},
), ),
], ],
), ),
), ),
SizedBox(height: 30.h,) SizedBox(
height: 30.h,
)
], ],
); );
} }
Widget mineItem(String lockTypeIcon, String lockTypeTitle, Function() action){ Widget mineItem(
String lockTypeIcon, String lockTypeTitle, Function() action) {
return GestureDetector( return GestureDetector(
onTap: action, onTap: action,
child: Row( child: Row(
@ -142,31 +184,35 @@ class _StarLockMinePageState extends State<StarLockMinePage> with BaseWidget{
Center( Center(
child: Container( child: Container(
// height: 80.h, // height: 80.h,
width: 400.w, width: 330.w,
padding: EdgeInsets.all(20.h), padding: EdgeInsets.all(20.h),
color: Colors.white, color: Colors.white,
child: Row( child: Row(
children: [ children: [
SizedBox(width:20.w), Image.asset(
Image.asset(lockTypeIcon, width: 40.w, height: 40.w,), lockTypeIcon,
width: 28.w,
height: 28.w,
),
SizedBox(width: 15.w), SizedBox(width: 15.w),
Expanded(child: Text(lockTypeTitle, style: TextStyle(fontSize: 28.sp, fontWeight: FontWeight.w500), )), Text(
lockTypeTitle,
style: TextStyle(fontSize: 22.sp),
),
], ],
), ),
), ),
), ),
Container(height: 0.5.h, color: Colors.grey,) Container(
height: 0.5.h,
color: Colors.grey,
)
], ],
), ),
); );
} }
void onShow(){ void onShow() {}
void onHide() {}
} }
void onHide(){
}
}

View File

@ -40,9 +40,7 @@ class CommonItem extends StatelessWidget {
children: [ children: [
SizedBox(width: 20.w), SizedBox(width: 20.w),
Expanded( Expanded(
child: Text(leftTitel!, child: Text(leftTitel!, style: TextStyle(fontSize: 22.sp))),
style: TextStyle(
fontSize: 28.sp, fontWeight: FontWeight.w500))),
SizedBox(width: 20.w), SizedBox(width: 20.w),
Row( Row(
mainAxisAlignment: MainAxisAlignment.end, mainAxisAlignment: MainAxisAlignment.end,
@ -53,19 +51,20 @@ class CommonItem extends StatelessWidget {
rightTitle!, rightTitle!,
textAlign: TextAlign.end, textAlign: TextAlign.end,
style: TextStyle( style: TextStyle(
fontSize: 28.sp, fontWeight: FontWeight.w500), fontSize: 22.sp,
color: AppColors.darkGrayTextColor),
) )
], ],
), ),
SizedBox(width: 5.w), SizedBox(width: 8.w),
isHaveDirection! isHaveDirection!
? Image.asset( ? Image.asset(
'images/icon_right.png', 'images/icon_right_grey.png',
width: 50.w, width: 12.w,
height: 50.w, height: 21.w,
) )
: SizedBox(width: 10.w), : SizedBox(width: 20.w),
// SizedBox(width:10.w), SizedBox(width: 20.w),
], ],
), ),
), ),

View File

@ -1,6 +1,7 @@
import 'package:flutter/cupertino.dart'; import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:get/get.dart';
import '../app_settings/app_colors.dart'; import '../app_settings/app_colors.dart';
@ -27,6 +28,8 @@ class SubmitBtn extends StatelessWidget {
double? borderRadius; double? borderRadius;
bool? isDelete;
SubmitBtn( SubmitBtn(
{Key? key, {Key? key,
required this.btnName, required this.btnName,
@ -37,6 +40,7 @@ class SubmitBtn extends StatelessWidget {
this.margin, this.margin,
this.width, this.width,
this.backgroundColorList, this.backgroundColorList,
this.isDelete,
this.fontSize}) this.fontSize})
: super(key: key); : super(key: key);
@ -44,10 +48,11 @@ class SubmitBtn extends StatelessWidget {
Widget build(BuildContext context) { Widget build(BuildContext context) {
return SizedBox( return SizedBox(
width: ScreenUtil().screenWidth - 40.w, width: ScreenUtil().screenWidth - 40.w,
height: 44, height: 60.h,
child: ElevatedButton( child: ElevatedButton(
style: ElevatedButton.styleFrom( style: ElevatedButton.styleFrom(
backgroundColor: AppColors.mainColor, backgroundColor:
isDelete == true ? Colors.red : AppColors.mainColor,
), ),
onPressed: () { onPressed: () {
if (onClick != null) { if (onClick != null) {
@ -56,7 +61,7 @@ class SubmitBtn extends StatelessWidget {
}, },
child: Text( child: Text(
btnName!, btnName!,
style: TextStyle(color: Colors.white, fontSize: 30.sp), style: TextStyle(color: Colors.white, fontSize: 24.sp),
)), )),
); );
/* /*

View File

@ -8,7 +8,6 @@ import 'package:flutter_screenutil/flutter_screenutil.dart';
* */ * */
class LoginInput extends StatelessWidget { class LoginInput extends StatelessWidget {
TextEditingController? controller; TextEditingController? controller;
List<TextInputFormatter>? inputFormatters; List<TextInputFormatter>? inputFormatters;
TextInputType? keyboardType; TextInputType? keyboardType;
@ -19,7 +18,19 @@ class LoginInput extends StatelessWidget {
String? label; String? label;
bool? isPwd; bool? isPwd;
Widget? rightSlot; Widget? rightSlot;
LoginInput({Key? key, required this.controller,this.rightSlot,this.label,this.isPwd,this.inputFormatters,this.keyboardType,this.background,this.hintText, this.isHaveLeftWidget = true, this.leftWidget}) : super(key: key); LoginInput(
{Key? key,
required this.controller,
this.rightSlot,
this.label,
this.isPwd,
this.inputFormatters,
this.keyboardType,
this.background,
this.hintText,
this.isHaveLeftWidget = true,
this.leftWidget})
: super(key: key);
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
@ -36,17 +47,28 @@ class LoginInput extends StatelessWidget {
autofocus: false, autofocus: false,
decoration: InputDecoration( decoration: InputDecoration(
// //
contentPadding: const EdgeInsets.only(top: 8.0, left: -19.0, right: -15.0, bottom: 8.0), contentPadding: const EdgeInsets.only(
top: 8.0, left: -19.0, right: -15.0, bottom: 8.0),
labelText: label, labelText: label,
labelStyle: TextStyle(fontSize: 22.sp),
hintStyle: TextStyle(fontSize: 22.sp),
hintText: hintText, hintText: hintText,
//线 //线
border: InputBorder.none, border: InputBorder.none,
// //
icon: isHaveLeftWidget == true?leftWidget:SizedBox(width: 20.w, height: 40.w,), icon: isHaveLeftWidget == true
? leftWidget
: SizedBox(
width: 20.w,
height: 40.w,
),
), ),
obscureText: isPwd ?? false, obscureText: isPwd ?? false,
), ),
Container(height: 0.5.h, color: Colors.grey,), Container(
height: 0.5.h,
color: Colors.grey,
),
], ],
), ),
); );

View File

@ -2,7 +2,6 @@ import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart';
class TitleAppBar extends AppBar { class TitleAppBar extends AppBar {
@override @override
final Color? backgroundColor; final Color? backgroundColor;
final String? barTitle; final String? barTitle;
@ -15,11 +14,22 @@ class TitleAppBar extends AppBar {
final Widget? leftWidget; final Widget? leftWidget;
List<Widget>? actionsList; List<Widget>? actionsList;
TitleAppBar({Key? key,this.barTitle,this.titleColor, this.haveTitleWidget = false, this.titleWidget, this.iconColor,this.backgroundColor,this.actionsList, this.haveBack, this.haveOtherLeftWidget = false , this.leftWidget}) : super(key: key); TitleAppBar(
{Key? key,
this.barTitle,
this.titleColor,
this.haveTitleWidget = false,
this.titleWidget,
this.iconColor,
this.backgroundColor,
this.actionsList,
this.haveBack,
this.haveOtherLeftWidget = false,
this.leftWidget})
: super(key: key);
@override @override
_TitleAppBarState createState() => _TitleAppBarState(); _TitleAppBarState createState() => _TitleAppBarState();
} }
class _TitleAppBarState extends State<TitleAppBar> { class _TitleAppBarState extends State<TitleAppBar> {
@ -27,14 +37,24 @@ class _TitleAppBarState extends State<TitleAppBar> {
Widget build(BuildContext context) { Widget build(BuildContext context) {
return AppBar( return AppBar(
elevation: 0, elevation: 0,
leading:widget.haveOtherLeftWidget!?widget.leftWidget:(widget.haveBack!?IconButton( leading: widget.haveOtherLeftWidget!
icon: Icon(Icons.arrow_back_ios,color: widget.iconColor??Colors.white), ? widget.leftWidget
: (widget.haveBack!
? IconButton(
icon: Icon(Icons.arrow_back_ios,
color: widget.iconColor ?? Colors.white),
onPressed: () => Navigator.of(context).pop(), onPressed: () => Navigator.of(context).pop(),
):Container()), )
: Container()),
backgroundColor: widget.backgroundColor ?? Colors.white, backgroundColor: widget.backgroundColor ?? Colors.white,
title: widget.haveTitleWidget!?widget.titleWidget:Text(widget.barTitle??'', style: TextStyle(color: widget.titleColor??Colors.white,fontSize: 36.sp, fontWeight:FontWeight.w500)), title: widget.haveTitleWidget!
? widget.titleWidget
: Text(widget.barTitle ?? '',
style: TextStyle(
color: widget.titleColor ?? Colors.white,
fontSize: 28.sp,
fontWeight: FontWeight.w600)),
centerTitle: true, centerTitle: true,
actions: widget.actionsList??[] actions: widget.actionsList ?? []);
);
} }
} }

View File

@ -185,6 +185,7 @@ class LanKeyEntity {
this.lanChinese, this.lanChinese,
this.multilingual, this.multilingual,
this.addLock, this.addLock,
this.addDevice,
this.gateway, this.gateway,
this.message, this.message,
this.supportStaff, this.supportStaff,
@ -196,6 +197,7 @@ class LanKeyEntity {
this.pushNotification, this.pushNotification,
this.lockUserManagement, this.lockUserManagement,
this.authorizedAdmin, this.authorizedAdmin,
this.addAuthorizedAdmin,
this.lockGroup, this.lockGroup,
this.transferSmartLock, this.transferSmartLock,
this.selectiveLock, this.selectiveLock,
@ -225,7 +227,9 @@ class LanKeyEntity {
this.safetyProblem, this.safetyProblem,
this.modifyAccountTip, this.modifyAccountTip,
this.pleaseEnterAccountNumber, this.pleaseEnterAccountNumber,
this.pleaseEnterNewAccountNumber,
this.changeIphoneTip, this.changeIphoneTip,
this.changeEmailTip,
this.originalPassword, this.originalPassword,
this.newPassword, this.newPassword,
this.surePassword, this.surePassword,
@ -270,6 +274,7 @@ class LanKeyEntity {
this.padlock, this.padlock,
this.safeLock, this.safeLock,
this.intelligentLockCore, this.intelligentLockCore,
this.itelligentAccessControl,
this.parkingLock, this.parkingLock,
this.bicycleLock, this.bicycleLock,
this.longRangeControl, this.longRangeControl,
@ -552,6 +557,7 @@ class LanKeyEntity {
lanChinese = json['lanChinese']; lanChinese = json['lanChinese'];
multilingual = json['multilingual']; multilingual = json['multilingual'];
addLock = json['addLock']; addLock = json['addLock'];
addDevice = json['addDevice'];
gateway = json['gateway']; gateway = json['gateway'];
message = json['message']; message = json['message'];
supportStaff = json['supportStaff']; supportStaff = json['supportStaff'];
@ -564,6 +570,7 @@ class LanKeyEntity {
pushNotification = json['pushNotification']; pushNotification = json['pushNotification'];
lockUserManagement = json['lockUserManagement']; lockUserManagement = json['lockUserManagement'];
authorizedAdmin = json['authorizedAdmin']; authorizedAdmin = json['authorizedAdmin'];
addAuthorizedAdmin = json['addAuthorizedAdmin'];
lockGroup = json['lockGroup']; lockGroup = json['lockGroup'];
transferSmartLock = json['transferSmartLock']; transferSmartLock = json['transferSmartLock'];
selectiveLock = json['selectiveLock']; selectiveLock = json['selectiveLock'];
@ -596,7 +603,9 @@ class LanKeyEntity {
safetyProblem = json['safetyProblem']; safetyProblem = json['safetyProblem'];
modifyAccountTip = json['modifyAccountTip']; modifyAccountTip = json['modifyAccountTip'];
pleaseEnterAccountNumber = json['pleaseEnterAccountNumber']; pleaseEnterAccountNumber = json['pleaseEnterAccountNumber'];
pleaseEnterNewAccountNumber = json['pleaseEnterNewAccountNumber'];
changeIphoneTip = json['changeIphoneTip']; changeIphoneTip = json['changeIphoneTip'];
changeEmailTip = json['changeEmailTip'];
originalPassword = json['originalPassword']; originalPassword = json['originalPassword'];
newPassword = json['newPassword']; newPassword = json['newPassword'];
surePassword = json['surePassword']; surePassword = json['surePassword'];
@ -646,6 +655,7 @@ class LanKeyEntity {
padlock = json['padlock']; padlock = json['padlock'];
safeLock = json['safeLock']; safeLock = json['safeLock'];
intelligentLockCore = json['intelligentLockCore']; intelligentLockCore = json['intelligentLockCore'];
itelligentAccessControl = json['itelligentAccessControl'];
parkingLock = json['parkingLock']; parkingLock = json['parkingLock'];
bicycleLock = json['bicycleLock']; bicycleLock = json['bicycleLock'];
longRangeControl = json['longRangeControl']; longRangeControl = json['longRangeControl'];
@ -936,6 +946,7 @@ class LanKeyEntity {
String? lanChinese; String? lanChinese;
String? multilingual; String? multilingual;
String? addLock; String? addLock;
String? addDevice;
String? gateway; String? gateway;
String? message; String? message;
String? supportStaff; String? supportStaff;
@ -948,6 +959,7 @@ class LanKeyEntity {
String? pushNotification; String? pushNotification;
String? lockUserManagement; String? lockUserManagement;
String? authorizedAdmin; String? authorizedAdmin;
String? addAuthorizedAdmin;
String? lockGroup; String? lockGroup;
String? transferSmartLock; String? transferSmartLock;
String? selectiveLock; String? selectiveLock;
@ -978,7 +990,9 @@ class LanKeyEntity {
String? safetyProblem; String? safetyProblem;
String? modifyAccountTip; String? modifyAccountTip;
String? pleaseEnterAccountNumber; String? pleaseEnterAccountNumber;
String? pleaseEnterNewAccountNumber;
String? changeIphoneTip; String? changeIphoneTip;
String? changeEmailTip;
String? originalPassword; String? originalPassword;
String? newPassword; String? newPassword;
String? surePassword; String? surePassword;
@ -1025,6 +1039,7 @@ class LanKeyEntity {
String? padlock; String? padlock;
String? safeLock; String? safeLock;
String? intelligentLockCore; String? intelligentLockCore;
String? itelligentAccessControl;
String? parkingLock; String? parkingLock;
String? bicycleLock; String? bicycleLock;
String? longRangeControl; String? longRangeControl;
@ -1316,6 +1331,7 @@ class LanKeyEntity {
map['lanChinese'] = lanChinese; map['lanChinese'] = lanChinese;
map['multilingual'] = multilingual; map['multilingual'] = multilingual;
map['addLock'] = addLock; map['addLock'] = addLock;
map['addDevice'] = addDevice;
map['gateway'] = gateway; map['gateway'] = gateway;
map['message'] = message; map['message'] = message;
map['supportStaff'] = supportStaff; map['supportStaff'] = supportStaff;
@ -1328,6 +1344,7 @@ class LanKeyEntity {
map['pushNotification'] = pushNotification; map['pushNotification'] = pushNotification;
map['lockUserManagement'] = lockUserManagement; map['lockUserManagement'] = lockUserManagement;
map['authorizedAdmin'] = authorizedAdmin; map['authorizedAdmin'] = authorizedAdmin;
map['addAuthorizedAdmin'] = addAuthorizedAdmin;
map['lockGroup'] = lockGroup; map['lockGroup'] = lockGroup;
map['transferSmartLock'] = transferSmartLock; map['transferSmartLock'] = transferSmartLock;
map['selectiveLock'] = selectiveLock; map['selectiveLock'] = selectiveLock;
@ -1361,7 +1378,9 @@ class LanKeyEntity {
map['safetyProblem'] = safetyProblem; map['safetyProblem'] = safetyProblem;
map['modifyAccountTip'] = modifyAccountTip; map['modifyAccountTip'] = modifyAccountTip;
map['pleaseEnterAccountNumber'] = pleaseEnterAccountNumber; map['pleaseEnterAccountNumber'] = pleaseEnterAccountNumber;
map['pleaseEnterNewAccountNumber'] = pleaseEnterNewAccountNumber;
map['changeIphoneTip'] = changeIphoneTip; map['changeIphoneTip'] = changeIphoneTip;
map['changeEmailTip'] = changeEmailTip;
map['originalPassword'] = originalPassword; map['originalPassword'] = originalPassword;
map['newPassword'] = newPassword; map['newPassword'] = newPassword;
map['surePassword'] = surePassword; map['surePassword'] = surePassword;
@ -1409,6 +1428,7 @@ class LanKeyEntity {
map['padlock'] = padlock; map['padlock'] = padlock;
map['safeLock'] = safeLock; map['safeLock'] = safeLock;
map['intelligentLockCore'] = intelligentLockCore; map['intelligentLockCore'] = intelligentLockCore;
map['itelligentAccessControl'] = itelligentAccessControl;
map['parkingLock'] = parkingLock; map['parkingLock'] = parkingLock;
map['bicycleLock'] = bicycleLock; map['bicycleLock'] = bicycleLock;
map['longRangeControl'] = longRangeControl; map['longRangeControl'] = longRangeControl;