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,20 +10,26 @@ 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> {
var index=0; var index = 0;
@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!.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(
TextButton( barTitle:
child: Text(TranslationLoader.lanKeys!.share!.tr, style: TextStyle(color: Colors.white),), "${TranslationLoader.lanKeys!.authorizedAdmin!.tr}${TranslationLoader.lanKeys!.detail!.tr}",
onPressed: (){ haveBack: true,
backgroundColor: AppColors.mainColor,
},), actionsList: [
],), TextButton(
child: Text(
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(
showCupertinoAlertDialog(context); leftTitel: TranslationLoader.lanKeys!.password!.tr,
}), rightTitle: "98765432",
CommonItem(leftTitel:TranslationLoader.lanKeys!.name!.tr, rightTitle:"你好", isHaveDirection: true, isHaveLine: true, action:(){ isHaveDirection: true,
showCupertinoAlertDialog(context); isHaveLine: true,
}), action: () {
CommonItem(leftTitel:TranslationLoader.lanKeys!.effectiveTime!.tr, rightTitle:"永久", isHaveDirection: true, action:(){ showCupertinoAlertDialog(context);
Navigator.pushNamed(context, Routers.electronicKeyDetailChangeDate); }),
}), CommonItem(
leftTitel: TranslationLoader.lanKeys!.name!.tr,
rightTitle: "你好",
isHaveDirection: true,
isHaveLine: true,
action: () {
showCupertinoAlertDialog(context);
}),
CommonItem(
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(
SizedBox(width:20.w), leftTitle,
style:
TextStyle(fontSize: 28.sp, fontWeight: FontWeight.w500),
),
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,10 +34,9 @@ class _VolumeAuthorizationLockPageState extends State<VolumeAuthorizationLockPag
void initState() { void initState() {
// TODO: implement initState // TODO: implement initState
super.initState(); super.initState();
} }
Widget indexChangeWidget(){ Widget indexChangeWidget() {
switch (int.parse(widget.type)) { switch (int.parse(widget.type)) {
case 0: case 0:
{ {
@ -48,7 +50,7 @@ class _VolumeAuthorizationLockPageState extends State<VolumeAuthorizationLockPag
); );
} }
default: default:
// //
return Column( return Column(
children: [ children: [
keyInfoWidget(), keyInfoWidget(),
@ -62,45 +64,67 @@ class _VolumeAuthorizationLockPageState extends State<VolumeAuthorizationLockPag
} }
// widget // widget
Widget keyInfoWidget(){ Widget keyInfoWidget() {
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),
], ],
); );
} }
// //
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),
], ],
); );
} }
// //
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),
], ],
); );
} }
Widget keyBottomWidget(){ Widget keyBottomWidget() {
return Column( return Column(
children: [ children: [
SubmitBtn( SubmitBtn(
@ -108,16 +132,15 @@ class _VolumeAuthorizationLockPageState extends State<VolumeAuthorizationLockPag
borderRadius: 20.w, borderRadius: 20.w,
margin: EdgeInsets.only(left: 30.w, right: 30.w, top: 30.w), margin: EdgeInsets.only(left: 30.w, right: 30.w, top: 30.w),
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 getTFWidget(bool isHaveBtn, String tfStr){ Widget getTFWidget(bool isHaveBtn, String tfStr) {
return Container( return Container(
height: 50.h, height: 50.h,
width: 500.w, width: 500.w,
@ -129,7 +152,7 @@ class _VolumeAuthorizationLockPageState extends State<VolumeAuthorizationLockPag
maxLines: 1, maxLines: 1,
// controller: _controller, // controller: _controller,
autofocus: false, autofocus: false,
textAlign:TextAlign.end, textAlign: TextAlign.end,
decoration: InputDecoration( decoration: InputDecoration(
// //
contentPadding: const EdgeInsets.only(top: 12.0, bottom: 8.0), contentPadding: const EdgeInsets.only(top: 12.0, bottom: 8.0),
@ -139,43 +162,48 @@ class _VolumeAuthorizationLockPageState extends State<VolumeAuthorizationLockPag
), ),
), ),
), ),
SizedBox(width: 10.w,), SizedBox(
isHaveBtn?Container( width: 10.w,
width: 50.w, ),
height: 50.w, isHaveBtn
decoration: const BoxDecoration( ? Container(
color: Colors.white, width: 50.w,
image: DecorationImage( height: 50.w,
image: AssetImage('images/icon_lock.png'), decoration: const BoxDecoration(
fit: BoxFit.fill color: Colors.white,
), image: DecorationImage(
), image: AssetImage('images/icon_lock.png'),
alignment: Alignment.center, fit: BoxFit.fill),
child: InkWell( ),
onTap: () async { alignment: Alignment.center,
Contact? contact = await _contactPicker.selectContact(); child: InkWell(
setState(() { onTap: () async {
_contact = contact!; Contact? contact = await _contactPicker.selectContact();
// print("object111111111111 ${_contact.fullName} ${_contact.phoneNumbers}"); setState(() {
}); _contact = contact!;
}, // print("object111111111111 ${_contact.fullName} ${_contact.phoneNumbers}");
), });
):Container() },
),
)
: Container()
], ],
), ),
); );
} }
Switch _switch(){ CupertinoSwitch _switch() {
return Switch( bool _isOn = false;
value: false, return CupertinoSwitch(
onChanged: (value){ activeColor: CupertinoColors.activeBlue,
// switchValue = !switchValue; trackColor: CupertinoColors.systemGrey5,
setState(() { thumbColor: CupertinoColors.white,
value: _isOn,
}); onChanged: (value) {
} 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(
showCupertinoAlertDialog(context); leftTitel:
}), "${TranslationLoader.lanKeys!.company!.tr} ${TranslationLoader.lanKeys!.name!.tr}",
CommonItem(leftTitel:TranslationLoader.lanKeys!.staff!.tr, rightTitle:"0", isHaveLine: true, isHaveDirection: true, action: (){ rightTitle: "深圳市志超科技",
Navigator.pushNamed(context, Routers.checkingInStaffManagePage); isHaveLine: true,
}), isHaveDirection: true,
CommonItem(leftTitel:"${TranslationLoader.lanKeys!.work!.tr} ${TranslationLoader.lanKeys!.time!.tr}", rightTitle:"9:00 - 18:00", isHaveLine: true, isHaveDirection: true, action: (){ action: () {
Navigator.pushNamed(context, Routers.checkingInSetWorkTimePage); showCupertinoAlertDialog(context);
}), }),
CommonItem(leftTitel:"${TranslationLoader.lanKeys!.workday!.tr} ${TranslationLoader.lanKeys!.set!.tr}", rightTitle:"1,2,3,4,5", isHaveLine: true, isHaveDirection: true, action: (){ CommonItem(
Navigator.pushNamed(context, Routers.checkingInSetWorkdaySet); leftTitel: TranslationLoader.lanKeys!.staff!.tr,
}), rightTitle: "0",
CommonItem(leftTitel:TranslationLoader.lanKeys!.holidays!.tr, rightTitle:"", isHaveLine: false, isHaveDirection: true, action: (){ isHaveLine: true,
Navigator.pushNamed(context, Routers.checkingInSetHolidaysPage); isHaveDirection: true,
}), action: () {
SizedBox(height: 30.h,), Navigator.pushNamed(context, Routers.checkingInStaffManagePage);
SubmitBtn(btnName: "${TranslationLoader.lanKeys!.delete!.tr} ${TranslationLoader.lanKeys!.company!.tr}", }),
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);
}),
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);
}),
CommonItem(
leftTitel: TranslationLoader.lanKeys!.holidays!.tr,
rightTitle: "",
isHaveLine: false,
isHaveDirection: true,
action: () {
Navigator.pushNamed(context, Routers.checkingInSetHolidaysPage);
}),
SizedBox(
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(
showCupertinoAlertDialog(context); leftTitel: TranslationLoader.lanKeys!.name!.tr,
}), rightTitle: "",
CommonItem(leftTitel:TranslationLoader.lanKeys!.effectiveTime!.tr, allHeight: 90.h,rightTitle:"2020.06.20 11:49\n2020.06.21 11:49", isHaveDirection: true, action:(){ isHaveDirection: true,
Navigator.pushNamed(context, Routers.electronicKeyDetailChangeDate); isHaveLine: true,
}), action: () {
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: () {
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(
SizedBox(width:20.w), leftTitle,
style:
TextStyle(fontSize: 28.sp, fontWeight: FontWeight.w500),
),
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(
onChanged: (value){ activeColor: CupertinoColors.activeBlue,
// switchValue = !switchValue; trackColor: CupertinoColors.systemGrey5,
setState(() { thumbColor: CupertinoColors.white,
value: _isOn,
}); onChanged: (value) {
} 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,45 +13,69 @@ 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,
body: buildMainUI(), actionsList: [
TextButton(
child: Text(
TranslationLoader.lanKeys!.sure!.tr,
style: TextStyle(color: Colors.white, fontSize: 24.sp),
),
onPressed: () {},
),
],
),
body: buildMainUI(),
); );
} }
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,
CommonItem(leftTitel:TranslationLoader.lanKeys!.failureTime!.tr, rightTitle:"2020.06.20 11:49", isHaveDirection: true, action:(){ action: () {
ShowSeletDateTime().showDatePicker(context, '00:00', '00:00', getNowDate(),'HH:mm', (dateTime, List<int> index) { 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: () {
ShowSeletDateTime().showDatePicker(context, '00:00', '00:00',
getNowDate(), 'HH:mm', (dateTime, List<int> index) {});
}),
], ],
); );
} }
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,26 +12,32 @@ 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() {
return Container( return Container(
height: 150.h, height: 150.h,
width: 1.sw, width: 1.sw,
@ -42,28 +48,26 @@ class _ElectronicKeyPeriodValidityPageState extends State<ElectronicKeyPeriodVal
Container( Container(
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(
child: GridView.builder( height: 80.h,
gridDelegate: const SliverGridDelegateWithFixedCrossAxisCount( child: GridView.builder(
crossAxisCount: 7, gridDelegate: const SliverGridDelegateWithFixedCrossAxisCount(
childAspectRatio: 1.0 crossAxisCount: 7, 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); }))
})
)
], ],
), ),
); );
} }
Widget btnItem(int index){ Widget btnItem(int index) {
String dateStr; String dateStr;
switch (index) { switch (index) {
case 0: case 0:
@ -92,49 +96,60 @@ 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),
)),
), ),
); );
} }
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,
borderRadius: 20.w, borderRadius: 20.w,
margin: EdgeInsets.only(left: 30.w, right: 30.w, top: 30.w), margin: EdgeInsets.only(left: 30.w, right: 30.w, top: 30.w),
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,10 +34,9 @@ class _MassSendElectronicKeyPageState extends State<MassSendElectronicKeyPage> {
void initState() { void initState() {
// TODO: implement initState // TODO: implement initState
super.initState(); super.initState();
} }
Widget indexChangeWidget(){ Widget indexChangeWidget() {
switch (int.parse(widget.type)) { switch (int.parse(widget.type)) {
case 0: case 0:
{ {
@ -82,82 +83,99 @@ class _MassSendElectronicKeyPageState extends State<MassSendElectronicKeyPage> {
} }
// widget // widget
Widget keyInfoWidget(){ Widget keyInfoWidget() {
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),
], ],
); );
} }
// //
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),
], ],
); );
} }
// //
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),
], ],
); );
} }
// //
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),
], ],
); );
} }
Widget keyBottomWidget(){ Widget keyBottomWidget() {
return Column( return Column(
children: [ children: [
SubmitBtn( SubmitBtn(
btnName: TranslationLoader.lanKeys!.send!.tr, btnName: TranslationLoader.lanKeys!.send!.tr,
borderRadius: 20.w, onClick: () {
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.nearbyLockPage); // Navigator.pushNamed(context, Routers.nearbyLockPage);
} }),
),
], ],
); );
} }
Switch _switch(){ CupertinoSwitch _switch() {
return Switch( bool _isOn = false;
value: false, return CupertinoSwitch(
onChanged: (value){ activeColor: CupertinoColors.activeBlue,
// switchValue = !switchValue; trackColor: CupertinoColors.systemGrey5,
setState(() { thumbColor: CupertinoColors.white,
value: _isOn,
}); onChanged: (value) {
} setState(() {
_isOn = value;
});
},
); );
} }
} }

View File

@ -8,15 +8,19 @@ import '../../../../../translations/trans_lib.dart';
import '../massSendElectronicKey_page.dart'; 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,33 +33,44 @@ 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
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Expanded( return Expanded(
child: Column( child: Column(
children: [ children: [
_tabBar(), _tabBar(),
_pageWidget(), _pageWidget(),
], ],
) ));
);
} }
TabBar _tabBar(){ TabBar _tabBar() {
return TabBar( return TabBar(
controller: _tabController, controller: _tabController,
tabs: _itemTabs.map((ItemView item) => _tab(item)).toList(), tabs: _itemTabs.map((ItemView item) => _tab(item)).toList(),
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(
automaticIndicatorColorAdjustment:true, color: AppColors.mainColor,
fontSize: 28.sp,
),
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),
); );
} }
@ -63,19 +78,27 @@ class _MassSendElectronicKeyManageTabbarState extends State<MassSendElectronicKe
return Tab( return Tab(
// text: item.title, // text: item.title,
child: Container( child: Container(
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),
),
), ),
); );
} }
Widget _pageWidget(){ Widget _pageWidget() {
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,10 +32,9 @@ class _SendElectronicKeyPageState extends State<SendElectronicKeyPage> {
void initState() { void initState() {
// TODO: implement initState // TODO: implement initState
super.initState(); super.initState();
} }
Widget indexChangeWidget(){ Widget indexChangeWidget() {
switch (int.parse(widget.type)) { switch (int.parse(widget.type)) {
case 0: case 0:
{ {
@ -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:
@ -91,56 +82,84 @@ class _SendElectronicKeyPageState extends State<SendElectronicKeyPage> {
} }
// widget // widget
Widget keyInfoWidget(){ Widget keyInfoWidget() {
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),
], ],
); );
} }
// //
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(
// _showDatePicker(); leftTitel: TranslationLoader.lanKeys!.effectiveTime!.tr,
}), rightTitle: "2020.06.20 11:49",
CommonItem(leftTitel:TranslationLoader.lanKeys!.failureTime!.tr, rightTitle:"2020.06.20 11:49", isHaveDirection: true, action:(){ isHaveLine: true,
// _showDatePicker(); isHaveDirection: true,
}), action: () {
// _showDatePicker();
}),
CommonItem(
leftTitel: TranslationLoader.lanKeys!.failureTime!.tr,
rightTitle: "2020.06.20 11:49",
isHaveDirection: true,
action: () {
// _showDatePicker();
}),
Container(height: 10.h), Container(height: 10.h),
], ],
); );
} }
// //
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),
], ],
); );
} }
// //
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);
}),
], ],
); );
} }
Widget keyBottomWidget(){ Widget keyBottomWidget() {
return Column( return Column(
children: [ children: [
Container( Container(
@ -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),
)),
], ],
), ),
), ),
@ -174,7 +201,7 @@ class _SendElectronicKeyPageState extends State<SendElectronicKeyPage> {
} }
// //
Widget sendElectronicKeySucceed(){ Widget sendElectronicKeySucceed() {
return Column( return Column(
children: [ children: [
Container( Container(
@ -183,49 +210,84 @@ 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: '完成',
Navigator.pushNamed(context, Routers.sendEmailNotificationPage); fontSize: 28.sp,
}), borderRadius: 20.w,
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: (){ 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: (){ 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);
}),
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: () {}),
], ],
); );
} }
// //
Widget getTFWidget(bool isHaveBtn, String tfStr){ Widget getTFWidget(bool isHaveBtn, String tfStr) {
return Container( return Container(
height: 50.h, height: 50.h,
width: 500.w, width: 500.w,
child: Row( child: Row(
children: [ children: [
Expanded( Expanded(
child: TextField( child: TextField(
// //
maxLines: 1, maxLines: 1,
// controller: _controller, // controller: _controller,
autofocus: false, autofocus: false,
textAlign:TextAlign.end, textAlign: TextAlign.end,
decoration: InputDecoration( decoration: InputDecoration(
// //
contentPadding: const EdgeInsets.only(top: 12.0, bottom: 8.0), contentPadding: const EdgeInsets.only(top: 12.0, bottom: 8.0),
@ -233,45 +295,50 @@ class _SendElectronicKeyPageState extends State<SendElectronicKeyPage> {
//线 //线
border: InputBorder.none, border: InputBorder.none,
), ),
),
),
SizedBox(width: 10.w,),
isHaveBtn?Container(
width: 50.w,
height: 50.w,
decoration: const BoxDecoration(
color: Colors.white,
image: DecorationImage(
image: AssetImage('images/icon_lock.png'),
fit: BoxFit.fill
),
), ),
alignment: Alignment.center,
child: InkWell(
onTap: () async {
Contact? contact = await _contactPicker.selectContact();
setState(() {
_contact = contact!;
// print("object111111111111 ${_contact.fullName} ${_contact.phoneNumbers}");
});
},
), ),
):Container() SizedBox(
width: 10.w,
),
isHaveBtn
? Container(
width: 50.w,
height: 50.w,
decoration: const BoxDecoration(
color: Colors.white,
image: DecorationImage(
image: AssetImage('images/icon_lock.png'),
fit: BoxFit.fill),
),
alignment: Alignment.center,
child: InkWell(
onTap: () async {
Contact? contact = await _contactPicker.selectContact();
setState(() {
_contact = contact!;
// print("object111111111111 ${_contact.fullName} ${_contact.phoneNumbers}");
});
},
),
)
: Container()
], ],
), ),
); );
} }
Switch _switch(){ CupertinoSwitch _switch() {
return Switch( bool _isOn = false;
value: false, return CupertinoSwitch(
onChanged: (value){ activeColor: CupertinoColors.activeBlue,
// switchValue = !switchValue; trackColor: CupertinoColors.systemGrey5,
setState(() { thumbColor: CupertinoColors.white,
value: _isOn,
}); onChanged: (value) {
} 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,35 +25,56 @@ 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(
body:ListView( barTitle: TranslationLoader.lanKeys!.automaticBlocking!.tr,
haveBack: true,
backgroundColor: AppColors.mainColor),
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:
ShowBottomSheetTool().showSingleRowPicker( Container(width: 80.w, height: 50.h, child: _switch())),
// Container(
context, height: 10.h,
// ),
normalIndex: 2, Builder(builder: (context) {
title: TranslationLoader.lanKeys!.time!.tr, return CommonItem(
cancelTitle: TranslationLoader.lanKeys!.cancel!.tr, leftTitel: TranslationLoader.lanKeys!.delayTime!.tr,
sureTitle: TranslationLoader.lanKeys!.sure!.tr, rightTitle: "5s",
// isHaveLine: false,
// isHaveDirection: true,
//adapter: PickerAdapter(), action: () {
data: list, var list = [
// "5S",
clickCallBack: (int index, var str) { "10S",
"15S",
}); "30S",
}); "60S",
} TranslationLoader.lanKeys!.custom!.tr
];
ShowBottomSheetTool().showSingleRowPicker(
//
context,
//
normalIndex: 2,
title: TranslationLoader.lanKeys!.time!.tr,
cancelTitle: TranslationLoader.lanKeys!.cancel!.tr,
sureTitle: TranslationLoader.lanKeys!.sure!.tr,
//
//
//adapter: PickerAdapter(),
data: list,
//
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(
onChanged: (value){ activeColor: CupertinoColors.activeBlue,
// switchValue = !switchValue; trackColor: CupertinoColors.systemGrey5,
setState(() { thumbColor: CupertinoColors.white,
value: _isOn,
}); onChanged: (value) {
} 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(
body:Column( barTitle: TranslationLoader.lanKeys!.set!.tr,
haveBack: true,
backgroundColor: AppColors.mainColor),
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,
SizedBox(height: 10.h,), rightTitle: "",
CommonItem(leftTitel:TranslationLoader.lanKeys!.wirelessKeyboard!.tr, rightTitle:"", isHaveLine: true, isHaveDirection: true, action: (){ isHaveLine: false,
Navigator.pushNamed(context, Routers.wirelessKeyboardPage); isHaveDirection: true,
}), action: () {
CommonItem(leftTitel:TranslationLoader.lanKeys!.doorMagnetic!.tr, rightTitle:"", isHaveLine: false, isHaveDirection: true, action: (){ Navigator.pushNamed(
Navigator.pushNamed(context, Routers.doorMagneticPage); context, Routers.basicInformationPage);
}), }),
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(
CommonItem(leftTitel:TranslationLoader.lanKeys!.automaticBlocking!.tr, rightTitle:"5s", isHaveLine: true, isHaveDirection: true, action: (){ leftTitel:
Navigator.pushNamed(context, Routers.automaticBlockingPage); TranslationLoader.lanKeys!.wirelessKeyboard!.tr,
}), rightTitle: "",
CommonItem(leftTitel:TranslationLoader.lanKeys!.normallyOpenMode!.tr, rightTitle:TranslationLoader.lanKeys!.closed!.tr, isHaveLine: true, isHaveDirection: true, action: (){ isHaveLine: true,
Navigator.pushNamed(context, Routers.normallyOpenModePage); isHaveDirection: true,
}), action: () {
CommonItem(leftTitel:TranslationLoader.lanKeys!.lockSound!.tr, rightTitle:"", isHaveLine: true, isHaveDirection: true, action: (){ Navigator.pushNamed(
Navigator.pushNamed(context, Routers.lockSoundSetPage); context, Routers.wirelessKeyboardPage);
}), }),
CommonItem(leftTitel:TranslationLoader.lanKeys!.burglarAlarm!.tr, rightTitle:TranslationLoader.lanKeys!.opened!.tr, isHaveLine: true, isHaveDirection: true, action: (){ CommonItem(
Navigator.pushNamed(context, Routers.burglarAlarmPage); leftTitel: TranslationLoader.lanKeys!.doorMagnetic!.tr,
}), rightTitle: "",
CommonItem(leftTitel:TranslationLoader.lanKeys!.resetButton!.tr, rightTitle:TranslationLoader.lanKeys!.opened!.tr, isHaveLine: true, isHaveDirection: true, action: (){ isHaveLine: false,
Navigator.pushNamed(context, Routers.resetButtonPage); isHaveDirection: true,
}), action: () {
CommonItem(leftTitel:TranslationLoader.lanKeys!.unlockQRCode!.tr, rightTitle:"", isHaveLine: false, isHaveDirection: true, action: (){ Navigator.pushNamed(context, Routers.doorMagneticPage);
Navigator.pushNamed(context, Routers.unlockQRCodePage); }),
}), SizedBox(
SizedBox(height: 10.h,), height: 10.h,
CommonItem(leftTitel:TranslationLoader.lanKeys!.lockTime!.tr, rightTitle:"", isHaveLine: true, isHaveDirection: true, action: (){ ),
Navigator.pushNamed(context, Routers.lockTimePage); CommonItem(
}), leftTitel: TranslationLoader.lanKeys!.remoteUnlocking!.tr,
CommonItem(leftTitel:TranslationLoader.lanKeys!.diagnose!.tr, rightTitle:"", isHaveLine: true, isHaveDirection: true, action: (){ rightTitle: TranslationLoader.lanKeys!.closed!.tr,
Navigator.pushNamed(context, Routers.diagnosePage); isHaveLine: true,
}), isHaveDirection: true,
CommonItem(leftTitel:TranslationLoader.lanKeys!.uploadData!.tr, rightTitle:"", isHaveLine: true, isHaveDirection: true, action: (){ action: () {
Navigator.pushNamed(context, Routers.uploadDataPage); Navigator.pushNamed(
}), context, Routers.remoteUnlockingPage);
CommonItem(leftTitel:TranslationLoader.lanKeys!.importOtherLockData!.tr, rightTitle:"", isHaveLine: true, isHaveDirection: true, action: (){ }),
Navigator.pushNamed(context, Routers.importOtherLockDataPage); CommonItem(
}), leftTitel:
CommonItem(leftTitel:TranslationLoader.lanKeys!.lockEscalation!.tr, rightTitle:"", isHaveLine: false, isHaveDirection: true, action: (){ TranslationLoader.lanKeys!.automaticBlocking!.tr,
Navigator.pushNamed(context, Routers.lockEscalationPage); rightTitle: "5s",
}), isHaveLine: true,
SizedBox(height: 10.h,), isHaveDirection: true,
CommonItem(leftTitel:"Amazon Alexa", rightTitle:"", isHaveLine: true, isHaveDirection: true, action: (){ action: () {
Navigator.pushNamed(
}), context, Routers.automaticBlockingPage);
CommonItem(leftTitel:"Google Home", rightTitle:"", isHaveLine: true, isHaveDirection: true, action: (){ }),
CommonItem(
}), leftTitel:
SizedBox(height: 10.h,), TranslationLoader.lanKeys!.normallyOpenMode!.tr,
CommonItem(leftTitel:TranslationLoader.lanKeys!.markedHouseState!.tr, rightTitle:"空闲", isHaveLine: true, isHaveDirection: true, action: (){ rightTitle: TranslationLoader.lanKeys!.closed!.tr,
Navigator.pushNamed(context, Routers.markedHouseStatePage); isHaveLine: true,
}), isHaveDirection: true,
CommonItem(leftTitel:TranslationLoader.lanKeys!.checkingIn!.tr, rightTitle:"", isHaveLine: true, isHaveRightWidget:true, rightWidget: Container(width: 80.w, height: 50.h,child: _switch())), action: () {
CommonItem(leftTitel:TranslationLoader.lanKeys!.unlockReminder!.tr, rightTitle:"", isHaveLine: false, isHaveRightWidget:true, rightWidget: Container(width: 80.w, height: 50.h,child: _switch())), Navigator.pushNamed(
SizedBox(height: 30.h,), context, Routers.normallyOpenModePage);
SubmitBtn(btnName: TranslationLoader.lanKeys!.delete!.tr, }),
borderRadius: 20.w, CommonItem(
fontSize: 32.sp, leftTitel: TranslationLoader.lanKeys!.lockSound!.tr,
margin: EdgeInsets.only(left: 30.w, right: 30.w, top: 20.w), rightTitle: "",
padding: EdgeInsets.only(top: 20.w, bottom: 20.w), isHaveLine: true,
onClick: () { isHaveDirection: true,
action: () {
} Navigator.pushNamed(context, Routers.lockSoundSetPage);
}),
CommonItem(
leftTitel: TranslationLoader.lanKeys!.burglarAlarm!.tr,
rightTitle: TranslationLoader.lanKeys!.opened!.tr,
isHaveLine: true,
isHaveDirection: true,
action: () {
Navigator.pushNamed(context, Routers.burglarAlarmPage);
}),
CommonItem(
leftTitel: TranslationLoader.lanKeys!.resetButton!.tr,
rightTitle: TranslationLoader.lanKeys!.opened!.tr,
isHaveLine: true,
isHaveDirection: true,
action: () {
Navigator.pushNamed(context, Routers.resetButtonPage);
}),
CommonItem(
leftTitel: TranslationLoader.lanKeys!.unlockQRCode!.tr,
rightTitle: "",
isHaveLine: false,
isHaveDirection: true,
action: () {
Navigator.pushNamed(context, Routers.unlockQRCodePage);
}),
SizedBox(
height: 10.h,
),
CommonItem(
leftTitel: TranslationLoader.lanKeys!.lockTime!.tr,
rightTitle: "",
isHaveLine: true,
isHaveDirection: true,
action: () {
Navigator.pushNamed(context, Routers.lockTimePage);
}),
CommonItem(
leftTitel: TranslationLoader.lanKeys!.diagnose!.tr,
rightTitle: "",
isHaveLine: true,
isHaveDirection: true,
action: () {
Navigator.pushNamed(context, Routers.diagnosePage);
}),
CommonItem(
leftTitel: TranslationLoader.lanKeys!.uploadData!.tr,
rightTitle: "",
isHaveLine: true,
isHaveDirection: true,
action: () {
Navigator.pushNamed(context, Routers.uploadDataPage);
}),
CommonItem(
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: () {
Navigator.pushNamed(
context, Routers.lockEscalationPage);
}),
SizedBox(
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: TranslationLoader.lanKeys!.checkingIn!.tr,
rightTitle: "",
isHaveLine: true,
isHaveRightWidget: true,
rightWidget: Container(
width: 80.w, height: 50.h, child: _switch())),
CommonItem(
leftTitel: TranslationLoader.lanKeys!.unlockReminder!.tr,
rightTitle: "",
isHaveLine: false,
isHaveRightWidget: true,
rightWidget: Container(
width: 80.w, height: 50.h, child: _switch())),
SizedBox(
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(
onChanged: (value){ activeColor: CupertinoColors.activeBlue,
// switchValue = !switchValue; trackColor: CupertinoColors.systemGrey5,
setState(() { thumbColor: CupertinoColors.white,
value: _isOn,
}); onChanged: (value) {
} 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,97 +17,163 @@ 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(
body:ListView( barTitle: TranslationLoader.lanKeys!.lockSound!.tr,
haveBack: true,
backgroundColor: AppColors.mainColor),
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,
height: 40.w,
),
],
),
)),
CommonItem(
leftTitel: TranslationLoader.lanKeys!.lower!.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!.medium!.tr, rightTitle:"", isHaveLine: true, isHaveRightWidget: true, width: 40.w,
height: 40.w,
),
],
),
)),
CommonItem(
leftTitel: TranslationLoader.lanKeys!.medium!.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!.higher!.tr, rightTitle:"", isHaveLine: true, isHaveRightWidget: true, width: 40.w,
height: 40.w,
),
],
),
)),
CommonItem(
leftTitel: TranslationLoader.lanKeys!.higher!.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!.high!.tr, rightTitle:"", isHaveLine: true, isHaveRightWidget: true, width: 40.w,
height: 40.w,
),
],
),
)),
CommonItem(
leftTitel: TranslationLoader.lanKeys!.high!.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',
width: 40.w,
height: 40.w,
),
],
),
)),
], ],
), ),
) )),
),
SubmitBtn( SubmitBtn(
btnName: TranslationLoader.lanKeys!.save!.tr, btnName: TranslationLoader.lanKeys!.save!.tr,
borderRadius: 20.w, borderRadius: 20.w,
margin: EdgeInsets.only(left: 30.w, right: 30.w, top: 30.w), margin: EdgeInsets.only(left: 30.w, right: 30.w, top: 30.w),
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(
onChanged: (value){ activeColor: CupertinoColors.activeBlue,
// switchValue = !switchValue; trackColor: CupertinoColors.systemGrey5,
setState(() { thumbColor: CupertinoColors.white,
value: _isOn,
}); onChanged: (value) {
} 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(
body:ListView( barTitle: TranslationLoader.lanKeys!.normallyOpenMode!.tr,
haveBack: true,
backgroundColor: AppColors.mainColor),
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,27 +59,26 @@ 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,
margin: EdgeInsets.only(left: 30.w, right: 30.w, top: 30.w), margin: EdgeInsets.only(left: 30.w, right: 30.w, top: 30.w),
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() {
return Container( return Container(
height: 150.h, height: 150.h,
width: 1.sw, width: 1.sw,
@ -76,29 +89,28 @@ class _NormallyOpenModePageState extends State<NormallyOpenModePage> {
Container( Container(
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);
}) })),
),
], ],
), ),
); );
} }
Widget btnItem(int index){ Widget btnItem(int index) {
String dateStr; String dateStr;
switch (index) { switch (index) {
case 0: case 0:
@ -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,
@ -144,55 +154,74 @@ 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,
rightWidget: GestureDetector( height: 10.h,
onTap: (){ ),
CommonItem(
}, leftTitel:
child: Row( "${TranslationLoader.lanKeys!.normallyOpen!.tr} ${TranslationLoader.lanKeys!.time!.tr}",
children: [ rightTitle: "",
Text(TranslationLoader.lanKeys!.allDay!.tr), isHaveLine: true,
SizedBox(width: 5.w,), isHaveRightWidget: true,
Image.asset('images/icon_round_unSelet.png', width: 40.w, height: 40.w,), rightWidget: GestureDetector(
], onTap: () {},
), child: Row(
)), children: [
Text(TranslationLoader.lanKeys!.allDay!.tr),
SizedBox(
width: 5.w,
),
Image.asset(
'images/icon_round_unSelet.png',
width: 40.w,
height: 40.w,
),
],
),
)),
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!.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(
onChanged: (value){ activeColor: CupertinoColors.activeBlue,
// switchValue = !switchValue; trackColor: CupertinoColors.systemGrey5,
setState(() { thumbColor: CupertinoColors.white,
value: _isOn,
}); onChanged: (value) {
} 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,51 +24,78 @@ 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(
TextButton( barTitle:
child: Text(TranslationLoader.lanKeys!.share!.tr, style: const TextStyle(color: Colors.white),), "${getAppBarTitle(type)}${TranslationLoader.lanKeys!.number!.tr}",
onPressed: (){ haveBack: true,
backgroundColor: AppColors.mainColor,
},), actionsList: [
],), TextButton(
child: Text(
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(
showCupertinoAlertDialog(context); leftTitel:
}), "${getAppBarTitle(type)}${TranslationLoader.lanKeys!.number!.tr}",
CommonItem(leftTitel:TranslationLoader.lanKeys!.name!.tr, rightTitle:"你好", isHaveDirection: true, isHaveLine: true, action:(){ rightTitle: "98765432",
showCupertinoAlertDialog(context); isHaveDirection: true,
}), isHaveLine: true,
CommonItem(leftTitel:TranslationLoader.lanKeys!.periodValidity!.tr, rightTitle:"永久", isHaveDirection: true, action:(){ action: () {
Navigator.pushNamed(context, Routers.electronicKeyDetailChangeDate); showCupertinoAlertDialog(context);
}), }),
CommonItem(
leftTitel: TranslationLoader.lanKeys!.name!.tr,
rightTitle: "你好",
isHaveDirection: true,
isHaveLine: true,
action: () {
showCupertinoAlertDialog(context);
}),
CommonItem(
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: () {}),
}
),
], ],
), ),
); );
} }
String getAppBarTitle(int type){ String getAppBarTitle(int type) {
String title = ""; String title = "";
switch (type) { switch (type) {
case 0: case 0:
@ -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(
SizedBox(width:20.w), leftTitle,
style:
TextStyle(fontSize: 28.sp, fontWeight: FontWeight.w500),
),
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(
TextButton( barTitle: TranslationLoader.lanKeys!.passwordDetail!.tr,
child: const Text("分享", style: TextStyle(color: Colors.white),), haveBack: true,
onPressed: (){ backgroundColor: AppColors.mainColor,
actionsList: [
},), TextButton(
],), child: const Text(
"分享",
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(
showCupertinoAlertDialog(context); leftTitel: TranslationLoader.lanKeys!.password!.tr,
}), rightTitle: "98765432",
CommonItem(leftTitel:TranslationLoader.lanKeys!.name!.tr, rightTitle:"你好", isHaveDirection: true, isHaveLine: true, action:(){ isHaveDirection: true,
showCupertinoAlertDialog(context); isHaveLine: true,
}), action: () {
CommonItem(leftTitel:TranslationLoader.lanKeys!.effectiveTime!.tr, rightTitle:"永久", isHaveDirection: true, action:(){ showCupertinoAlertDialog(context);
Navigator.pushNamed(context, Routers.electronicKeyDetailChangeDate); }),
}), CommonItem(
leftTitel: TranslationLoader.lanKeys!.name!.tr,
rightTitle: "你好",
isHaveDirection: true,
isHaveLine: true,
action: () {
showCupertinoAlertDialog(context);
}),
CommonItem(
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(
SizedBox(width:20.w), leftTitle,
style:
TextStyle(fontSize: 28.sp, fontWeight: FontWeight.w500),
),
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,10 +31,9 @@ class _PasswordKeyPerpetualPageState extends State<PasswordKeyPerpetualPage> {
void initState() { void initState() {
// TODO: implement initState // TODO: implement initState
super.initState(); super.initState();
} }
Widget indexChangeWidget(){ Widget indexChangeWidget() {
switch (int.parse(widget.type)) { switch (int.parse(widget.type)) {
case 0: case 0:
{ {
@ -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,61 +132,86 @@ 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),
], ],
); );
} }
// //
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(
// _showDatePicker(); leftTitel: TranslationLoader.lanKeys!.effectiveTime!.tr,
}), rightTitle: "2020.06.20 11:49",
CommonItem(leftTitel:TranslationLoader.lanKeys!.failureTime!.tr, rightTitle:"2020.06.20 11:49", isHaveDirection: true, action:(){ isHaveLine: true,
// _showDatePicker(); isHaveDirection: true,
}), action: () {
// _showDatePicker();
}),
CommonItem(
leftTitel: TranslationLoader.lanKeys!.failureTime!.tr,
rightTitle: "2020.06.20 11:49",
isHaveDirection: true,
action: () {
// _showDatePicker();
}),
Container(height: 10.h), Container(height: 10.h),
], ],
); );
} }
// //
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),
], ],
); );
} }
// //
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: () {}),
], ],
); );
} }
Widget keyBottomWidget(String tipStr){ Widget keyBottomWidget(String tipStr) {
return Column( return Column(
children: [ children: [
Container( Container(
@ -174,21 +219,26 @@ 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: () {}),
], ],
); );
} }
// //
Widget sendElectronicKeySucceed(){ Widget sendElectronicKeySucceed() {
return Column( return Column(
children: [ children: [
Container( Container(
@ -197,31 +247,70 @@ 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: '完成',
Navigator.pushNamed(context, Routers.sendEmailNotificationPage); fontSize: 28.sp,
}), borderRadius: 20.w,
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: (){ 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);
}),
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: () {}),
], ],
); );
} }
// //
Widget getTFWidget(String tfStr){ Widget getTFWidget(String tfStr) {
return Container( return Container(
height: 50.h, height: 50.h,
width: 500.w, width: 500.w,
@ -233,7 +322,7 @@ class _PasswordKeyPerpetualPageState extends State<PasswordKeyPerpetualPage> {
maxLines: 1, maxLines: 1,
// controller: _controller, // controller: _controller,
autofocus: false, autofocus: false,
textAlign:TextAlign.end, textAlign: TextAlign.end,
decoration: InputDecoration( decoration: InputDecoration(
// //
contentPadding: const EdgeInsets.only(top: 12.0, bottom: 8.0), contentPadding: const EdgeInsets.only(top: 12.0, bottom: 8.0),
@ -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(
onChanged: (value){ activeColor: CupertinoColors.activeBlue,
// switchValue = !switchValue; trackColor: CupertinoColors.systemGrey5,
setState(() { thumbColor: CupertinoColors.white,
value: _isOn,
}); onChanged: (value) {
} setState(() {
_isOn = value;
});
},
); );
} }
} }

View File

@ -21,7 +21,7 @@ class StarLockMain extends StatefulWidget {
State<StarLockMain> createState() => _StarLockMainState(); State<StarLockMain> createState() => _StarLockMainState();
} }
class _StarLockMainState extends State<StarLockMain> with BaseWidget{ class _StarLockMainState extends State<StarLockMain> with BaseWidget {
// final logic = Get.put(GetxBle()); // final logic = Get.put(GetxBle());
StreamSubscription<DiscoveredDevice>? _streamSubscription; StreamSubscription<DiscoveredDevice>? _streamSubscription;
@ -38,16 +38,25 @@ 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(
builder: (context) => IconButton( barTitle: TranslationLoader.lanKeys!.starLock!.tr,
icon: Image.asset("images/main/mainLeft_menu_icon.png",color:Colors.white, width: 60.w, height: 60.w,), haveBack: false,
onPressed: () { haveOtherLeftWidget: true,
Scaffold.of(context).openDrawer(); leftWidget: Builder(
}, builder: (context) => IconButton(
) icon: Image.asset(
),backgroundColor: AppColors.mainColor), "images/main/mainLeft_menu_icon.png",
color: Colors.white,
width: 44.w,
height: 44.w,
),
onPressed: () {
Scaffold.of(context).openDrawer();
},
)),
backgroundColor: AppColors.mainColor),
drawer: Drawer( drawer: Drawer(
width:1.sw/3*2, width: 1.sw / 3 * 2,
child: StarLockMinePage(), child: StarLockMinePage(),
), ),
body: getLockList(), body: getLockList(),
@ -55,57 +64,75 @@ class _StarLockMainState extends State<StarLockMain> with BaseWidget{
); );
} }
Widget getLockList(){ Widget getLockList() {
return ListView.builder( return ListView.builder(
itemCount:10, itemCount: 10,
itemBuilder: (c, index){ itemBuilder: (c, index) {
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,
borderRadius: BorderRadius.circular(20.w), borderRadius: BorderRadius.circular(20.w),
), ),
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(
SizedBox(width:30.w), 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(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),
),
], ],
), ),
], ],
@ -114,7 +141,7 @@ class _StarLockMainState extends State<StarLockMain> with BaseWidget{
); );
} }
Widget unHaveData(){ Widget unHaveData() {
return Column( return Column(
mainAxisAlignment: MainAxisAlignment.center, mainAxisAlignment: MainAxisAlignment.center,
children: [ children: [
@ -126,38 +153,46 @@ class _StarLockMainState extends State<StarLockMain> with BaseWidget{
border: Border.all(width: 4, color: AppColors.mainColor), border: Border.all(width: 4, color: AppColors.mainColor),
borderRadius: BorderRadius.circular(75), borderRadius: BorderRadius.circular(75),
), ),
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(
// arguments: { context, Routers.seletLockTypePage,
// "url": ConstConfig.privacAgreementUrl, // arguments: {
// "title": '隐私政策' // "url": ConstConfig.privacAgreementUrl,
// } // "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

@ -17,20 +17,24 @@ class _NearbyLockPageState extends State<NearbyLockPage> {
@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!.nearbyLock!.tr, haveBack:true, backgroundColor: AppColors.mainColor), appBar: TitleAppBar(
body: ListView.builder( barTitle: TranslationLoader.lanKeys!.nearbyLock!.tr,
itemCount:20, haveBack: true,
itemBuilder: (c, index){ backgroundColor: AppColors.mainColor),
return nearbyLockItem('images/icon_lock.png', "MCBN01-ea9240", (){ body: ListView.builder(
Navigator.pushNamed(context, Routers.lockAddressPage); itemCount: 20,
}); itemBuilder: (c, index) {
} return nearbyLockItem(
), 'images/icon_lockGroup_item.png', "MCBN01-ea9240", () {
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(
@ -41,33 +45,52 @@ class _NearbyLockPageState extends State<NearbyLockPage> {
color: Colors.white, color: Colors.white,
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(
SizedBox(width:20.w), lockTypeIcon,
Expanded( width: 50.w,
child: Column( height: 50.w,
mainAxisAlignment: MainAxisAlignment.center,
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(lockTypeTitle, style: TextStyle(fontSize: 28.sp, fontWeight: FontWeight.w500), ),
],
),
), ),
SizedBox(width:20.w), SizedBox(width: 20.w),
Image.asset('images/main/icon_main_addLock.png', width: 50.w, height: 50.w,), Column(
SizedBox(width:30.w), mainAxisAlignment: MainAxisAlignment.center,
crossAxisAlignment: CrossAxisAlignment.start,
children: [
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: 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,80 +26,159 @@ 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(
// Navigator.pushNamed(context, Routers.minePersonInfoSetSafetyProblemPage); leftTitel: TranslationLoader.lanKeys!.wifiName!.tr,
}), rightTitle: "XinHongJia",
CommonItem(leftTitel:TranslationLoader.lanKeys!.wifiPassward!.tr, rightTitle:"", isHaveRightWidget: true, rightWidget: getTFWidget(_wifiPassward, TranslationLoader.lanKeys!.pleaseEnterTheWiFiPassword!.tr)), allHeight: 100.h,
SizedBox(height: 10.h,), isHaveLine: true,
CommonItem(leftTitel:TranslationLoader.lanKeys!.gatewayName!.tr, rightTitle:"", isHaveRightWidget: true, rightWidget: getTFWidget(_gatewayNamePassward, TranslationLoader.lanKeys!.pleaseEnterGatewayName!.tr)), isHaveDirection: true,
SizedBox(height: 10.h,), action: () {
CommonItem(leftTitel:TranslationLoader.lanKeys!.wifiMAC!.tr, rightTitle:"48:55:19:7d:84:7a", allHeight:100.h, isHaveLine: false), // Navigator.pushNamed(context, Routers.minePersonInfoSetSafetyProblemPage);
SizedBox(height: 10.h,), }),
Visibility( CommonItem(
visible: true , leftTitel: TranslationLoader.lanKeys!.wifiPassward!.tr,
child:Column( rightTitle: "",
children: [ isHaveRightWidget: true,
CommonItem(leftTitel:TranslationLoader.lanKeys!.ipAddress!.tr, rightTitle:"192.168.1.1", allHeight:100.h, isHaveLine: true), rightWidget: getTFWidget(
CommonItem(leftTitel:TranslationLoader.lanKeys!.subnetMask!.tr, rightTitle:"255.255.255.0", allHeight:100.h, isHaveLine: true), _wifiPassward,
CommonItem(leftTitel:TranslationLoader.lanKeys!.defaultGateway!.tr, rightTitle:"192.168.1.1", allHeight:100.h, isHaveLine: true), TranslationLoader
SizedBox(height: 10.h,), .lanKeys!.pleaseEnterTheWiFiPassword!.tr)),
CommonItem(leftTitel:TranslationLoader.lanKeys!.automaticallyGetTheDNSServerAddress!.tr, rightTitle:"", isHaveLine: true, isHaveRightWidget: true, rightWidget: Container(width: 80.w, height: 50.h,child: _switch())), SizedBox(
Visibility( height: 10.h,
visible: true, ),
child:Column( CommonItem(
children: [ leftTitel: TranslationLoader.lanKeys!.gatewayName!.tr,
CommonItem(leftTitel:TranslationLoader.lanKeys!.preferredDNS!.tr, rightTitle:"", isHaveLine: true, isHaveRightWidget: true, rightWidget: getTFWidget(_gatewayNamePassward, TranslationLoader.lanKeys!.pleaseEnter!.tr)), rightTitle: "",
CommonItem(leftTitel:TranslationLoader.lanKeys!.alternativeDNS!.tr, rightTitle:"", isHaveLine: false, isHaveRightWidget: true, rightWidget: getTFWidget(_gatewayNamePassward, TranslationLoader.lanKeys!.pleaseEnter!.tr)), isHaveRightWidget: true,
], rightWidget: getTFWidget(_gatewayNamePassward,
) TranslationLoader.lanKeys!.pleaseEnterGatewayName!.tr)),
), SizedBox(
], height: 10.h,
) ),
), CommonItem(
SizedBox(height: 50.h,), leftTitel: TranslationLoader.lanKeys!.wifiMAC!.tr,
SubmitBtn( rightTitle: "48:55:19:7d:84:7a",
btnName: TranslationLoader.lanKeys!.sure!.tr, allHeight: 100.h,
borderRadius: 20.w, isHaveLine: false),
margin: EdgeInsets.only(left: 30.w, right: 30.w, top: 20.w, bottom: 20.w), SizedBox(
padding: EdgeInsets.only(top: 15.w, bottom: 15.w), height: 10.h,
onClick: (){ ),
// Navigator.pushNamed(context, Routers.seletGatewayPage); Visibility(
} visible: true,
), child: Column(
SizedBox(height: 10.h,), children: [
Row( CommonItem(
mainAxisAlignment: MainAxisAlignment.end, leftTitel: TranslationLoader.lanKeys!.ipAddress!.tr,
children: [ rightTitle: "192.168.1.1",
GestureDetector( allHeight: 100.h,
child: SizedBox( isHaveLine: true),
// width: 150.w, CommonItem(
height: 50.h, leftTitel:
// color: Colors.red, TranslationLoader.lanKeys!.subnetMask!.tr,
child: Center( rightTitle: "255.255.255.0",
child: Text(TranslationLoader.lanKeys!.noStaticIPIsUsed!.tr,style: TextStyle(fontSize: 28.sp, color: AppColors.mainColor)), 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(
visible: true,
child: Column(
children: [
CommonItem(
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,
),
SubmitBtn(
btnName: TranslationLoader.lanKeys!.sure!.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: () {
// Navigator.pushNamed(context, Routers.seletGatewayPage);
}),
SizedBox(
height: 10.h,
),
Row(
mainAxisAlignment: MainAxisAlignment.end,
children: [
GestureDetector(
child: SizedBox(
// width: 150.w,
height: 50.h,
// color: Colors.red,
child: Center(
child: Text(
TranslationLoader.lanKeys!.noStaticIPIsUsed!.tr,
style: TextStyle(
fontSize: 28.sp, color: AppColors.mainColor)),
), ),
onTap: (){
// Navigator.pushNamed(context, Routers.starLockForgetPasswordPage);
},
), ),
SizedBox(width: 30.w), onTap: () {
], // Navigator.pushNamed(context, Routers.starLockForgetPasswordPage);
), },
SizedBox(height: 50.h,), ),
], SizedBox(width: 30.w),
],
),
SizedBox(
height: 50.h,
),
],
), ),
) )
], ],
@ -105,7 +187,7 @@ class _GatewayConfigurationWifiPageState extends State<GatewayConfigurationWifiP
} }
// //
Widget getTFWidget(TextEditingController controller, String tfStr){ Widget getTFWidget(TextEditingController controller, String tfStr) {
return SizedBox( return SizedBox(
height: 50.h, height: 50.h,
width: 400.w, width: 400.w,
@ -117,7 +199,7 @@ class _GatewayConfigurationWifiPageState extends State<GatewayConfigurationWifiP
maxLines: 1, maxLines: 1,
controller: controller, controller: controller,
autofocus: false, autofocus: false,
textAlign:TextAlign.end, textAlign: TextAlign.end,
decoration: InputDecoration( decoration: InputDecoration(
// //
contentPadding: const EdgeInsets.only(top: 12.0, bottom: 8.0), contentPadding: const EdgeInsets.only(top: 12.0, bottom: 8.0),
@ -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(
onChanged: (value){ activeColor: CupertinoColors.activeBlue,
// switchValue = !switchValue; trackColor: CupertinoColors.systemGrey5,
setState(() { thumbColor: CupertinoColors.white,
value: _isOn,
}); onChanged: (value) {
} 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';
@ -18,36 +17,52 @@ class SeletGatewayListPage extends StatefulWidget {
class _SeletGatewayListPageState extends State<SeletGatewayListPage> { class _SeletGatewayListPageState extends State<SeletGatewayListPage> {
@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!.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:
decoration: BoxDecoration( EdgeInsets.only(left: 10.w, right: 20.w, top: 16.h, bottom: 16.h),
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,32 +72,50 @@ 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),
),
], ],
), ),
), ),
SizedBox(height:5.h), SizedBox(height: 5.h),
Container( Container(
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),
),
], ],
), ),
), ),
SizedBox(width:20.h), SizedBox(width: 20.h),
], ],
), ),
), ),
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(
body:ListView( barTitle: TranslationLoader.lanKeys!.selectGatewayType!.tr,
haveBack: true,
backgroundColor: AppColors.mainColor),
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(
body:ListView( barTitle: TranslationLoader.lanKeys!.addGateway!.tr,
haveBack: true,
backgroundColor: AppColors.mainColor),
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(
btnName: TranslationLoader.lanKeys!.next!.tr, padding: EdgeInsets.only(left: 20.w, right: 20.w),
borderRadius: 20.w, child: SubmitBtn(
margin: EdgeInsets.only(left: 30.w, right: 30.w, top: 20.w, bottom: 20.w), btnName: TranslationLoader.lanKeys!.next!.tr,
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(
showCupertinoAlertDialog(context); leftTitel: TranslationLoader.lanKeys!.designation!.tr,
}), rightTitle: "星锁网关",
CommonItem(leftTitel:TranslationLoader.lanKeys!.state!.tr, rightTitle:"在线", isHaveLine: true, isHaveDirection: false), isHaveLine: true,
CommonItem(leftTitel:TranslationLoader.lanKeys!.wifiName!.tr, rightTitle:"XinHongJia", isHaveLine: true, isHaveDirection: false), isHaveDirection: true,
CommonItem(leftTitel:TranslationLoader.lanKeys!.networkMAC!.tr, rightTitle:"39:23:df:34:12", isHaveLine: false, isHaveDirection: false), action: () {
SizedBox(height: 10.h,), showCupertinoAlertDialog(context);
CommonItem(leftTitel:TranslationLoader.lanKeys!.nearbyLock!.tr, rightTitle:"2", isHaveLine: true, isHaveDirection: true, action: (){ }),
Navigator.pushNamed(context, Routers.gatewayConnectionLockPage); CommonItem(
}), leftTitel: TranslationLoader.lanKeys!.state!.tr,
CommonItem(leftTitel:TranslationLoader.lanKeys!.gatewayUpgrade!.tr, rightTitle:"", isHaveLine: false, isHaveDirection: true, action: (){ rightTitle: "在线",
isHaveLine: true,
}), isHaveDirection: false),
SizedBox(height: 80.h,), CommonItem(
SubmitBtn(btnName: TranslationLoader.lanKeys!.delete!.tr, 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);
}),
CommonItem(
leftTitel: TranslationLoader.lanKeys!.gatewayUpgrade!.tr,
rightTitle: "",
isHaveLine: false,
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(
body:Column( barTitle: TranslationLoader.lanKeys!.personalInformation!.tr,
haveBack: true,
backgroundColor: AppColors.mainColor),
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(
_openModalBottomSheet(); leftTitel: TranslationLoader.lanKeys!.avatar!.tr,
},), rightTitle: "",
CommonItem(leftTitel:TranslationLoader.lanKeys!.nickName!.tr, rightTitle:"你好", isHaveLine: true, isHaveDirection: true, action: (){ allHeight: 100.h,
Navigator.pushNamed(context, Routers.minePersonInfoEditNamePage); isHaveLine: true,
}), isHaveDirection: true,
CommonItem(leftTitel:TranslationLoader.lanKeys!.accountNumber!.tr, rightTitle:"786612630@qq.com", isHaveLine: true, isHaveDirection: true, action: (){ isHaveRightWidget: true,
Navigator.pushNamed(context, Routers.minePersonInfoEditAccountPage); rightWidget: Container(),
}), /*
CommonItem(leftTitel:TranslationLoader.lanKeys!.iphone!.tr, rightTitle:"", isHaveLine: true, isHaveDirection: true, action: (){ Container(
Navigator.pushNamed(context, Routers.minePersonInfoEditIphonePage); width: 75.w,
}), height: 75.h,
CommonItem(leftTitel:TranslationLoader.lanKeys!.resetPasswords!.tr, rightTitle:"", isHaveLine: true, isHaveDirection: true, action: (){ child: Image.asset(
Navigator.pushNamed(context, Routers.minePersonInfoResetPasswordPage); 'images/mine/icon_mine_main_defaultAvatar.png')),
}), */
CommonItem(leftTitel:TranslationLoader.lanKeys!.safetyProblem!.tr, rightTitle:"", isHaveLine: true, isHaveDirection: true, action: (){ action: () {
Navigator.pushNamed(context, Routers.minePersonInfoSetSafetyProblemPage); _openModalBottomSheet();
}), },
CommonItem(leftTitel:TranslationLoader.lanKeys!.countryAndRegion!.tr, rightTitle:"中国", isHaveLine: false, isHaveDirection: false), ),
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: () {
Navigator.pushNamed(
context, Routers.minePersonInfoEditAccountPage);
}),
CommonItem(
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: () {
Navigator.pushNamed(
context, Routers.minePersonInfoResetPasswordPage);
}),
CommonItem(
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),
], ],
) ));
);
} }
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(
body:Column( barTitle: TranslationLoader.lanKeys!.modifyAccount!.tr,
haveBack: true,
backgroundColor: AppColors.mainColor),
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,37 +92,43 @@ 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(
mainAxisAlignment: MainAxisAlignment.end, mainAxisAlignment: MainAxisAlignment.end,
@ -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,53 +29,77 @@ 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(
body:Column( barTitle: TranslationLoader.lanKeys!.modifyAccount!.tr,
haveBack: true,
backgroundColor: AppColors.mainColor),
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}",
child: Container( rightSlot: GestureDetector(
width: 180.w, child: Container(
height: 90.h, width: 180.w,
padding: EdgeInsets.all(5.h), height: 90.h,
margin: EdgeInsets.only(right: 10.w), padding: EdgeInsets.all(5.h),
// decoration: BoxDecoration( margin: EdgeInsets.only(right: 10.w),
// color: AppColors.mainColor, // decoration: BoxDecoration(
// borderRadius: BorderRadius.circular(5) // 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( child: Center(
color: Colors.grey, child: Text(
fontSize: 26.sp, _seconds == 60
)), ? '${TranslationLoader.lanKeys!.getTip!.tr}${TranslationLoader.lanKeys!.verificationCode!.tr}'
), : (_seconds < 10)
), ? '0$_seconds s'
onTap: (){ : '$_seconds s',
if(_seconds==60){ textAlign: TextAlign.center,
// _setVerify(); style: TextStyle(
}else{ color: Colors.grey,
// Toast.show(msg: '正在获取验证码'); fontSize: 26.sp,
} )),
}, ),
)), ),
onTap: () {
if (_seconds == 60) {
// _setVerify();
} else {
// Toast.show(msg: '正在获取验证码');
}
},
)),
), ),
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,18 +30,23 @@ 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(
body:Container( barTitle: TranslationLoader.lanKeys!.iphone!.tr,
padding: EdgeInsets.all(30.w), haveBack: true,
backgroundColor: AppColors.mainColor),
body: Container(
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);
}, },
child: Container( child: Container(
@ -49,35 +55,66 @@ class _MinePersonInfoEditIphonePageState extends State<MinePersonInfoEditIphoneP
// 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:5.w), SizedBox(width: 5.w),
Expanded(child: Text(TranslationLoader.lanKeys!.countryAndRegion!.tr, style: TextStyle(fontSize: 30.sp, fontWeight: FontWeight.w500))), Expanded(
SizedBox(width:20.w), child: Text(
TranslationLoader.lanKeys!.countryAndRegion!.tr,
style: TextStyle(
fontSize: 22.sp,
fontWeight: FontWeight.w500))),
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(
// LengthLimitingTextInputFormatter(20), controller: _phoneController,
]), isPwd: true,
leftWidget: const SizedBox(),
hintText:
"${TranslationLoader.lanKeys!.sure!.tr}${TranslationLoader.lanKeys!.password!.tr}",
inputFormatters: [
// 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(
// LengthLimitingTextInputFormatter(20), controller: _codeController,
]), isPwd: true,
leftWidget: const SizedBox(),
hintText:
"${TranslationLoader.lanKeys!.pleaseEnter!.tr}${TranslationLoader.lanKeys!.verificationCode!.tr}",
inputFormatters: [
// LengthLimitingTextInputFormatter(20),
]),
),
SizedBox(
width: 20.w,
), ),
SizedBox(width: 20.w,),
GestureDetector( GestureDetector(
child: Container( child: Container(
width: 180.w, width: 180.w,
@ -85,19 +122,25 @@ 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(
color: Colors.white, _seconds == 60
fontSize: 26.sp, ? '${TranslationLoader.lanKeys!.getTip!.tr} ${TranslationLoader.lanKeys!.verificationCode!.tr}'
)), : (_seconds < 10)
? '0$_seconds s'
: '$_seconds s',
textAlign: TextAlign.center,
style: TextStyle(
color: Colors.white,
fontSize: 26.sp,
)),
), ),
), ),
onTap: (){ onTap: () {
if(_seconds==60){ if (_seconds == 60) {
// _setVerify(); // _setVerify();
}else{ } else {
// Toast.show(msg: '正在获取验证码'); // Toast.show(msg: '正在获取验证码');
} }
}, },
@ -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(
TextButton( barTitle: TranslationLoader.lanKeys!.changeNickName!.tr,
child: Text(TranslationLoader.lanKeys!.save!.tr, style: const TextStyle(color: Colors.white),), haveBack: true,
onPressed: (){ backgroundColor: AppColors.mainColor,
actionsList: [
},),], TextButton(
child: Text(
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(
// LengthLimitingTextInputFormatter(20), controller: _changeNickNameController,
]), isPwd: true,
leftWidget: SizedBox(width: 15.w),
hintText:
"${TranslationLoader.lanKeys!.pleaseEnter!.tr}${TranslationLoader.lanKeys!.accountNumber!.tr}",
inputFormatters: [
// 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,49 +27,63 @@ 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(
body:Container( barTitle: TranslationLoader.lanKeys!.resetPasswords!.tr,
margin: EdgeInsets.only(left:30.w, right: 30.w), haveBack: true,
backgroundColor: AppColors.mainColor),
body: Container(
margin: EdgeInsets.only(left: 30.w, right: 30.w),
child: Column( child: Column(
children: [ children: [
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(
body:ListView( barTitle: TranslationLoader.lanKeys!.safetyProblem!.tr,
haveBack: true,
backgroundColor: AppColors.mainColor),
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),
@ -73,14 +91,14 @@ class _MinePersonInfoSetSafetyProblemPageState extends State<MinePersonInfoSetSa
controller: controller, controller: controller,
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,
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,79 +12,120 @@ 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(
body:Column( 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(
children: [ children: [
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!.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(btnName: TranslationLoader.lanKeys!.sure!.tr,
borderRadius: 20.w,
fontSize: 32.sp,
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: () {
}
), ),
SubmitBtn(
btnName: TranslationLoader.lanKeys!.sure!.tr, onClick: () {}),
SizedBox(
height: 40.h,
)
], ],
) ));
);
} }
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:
decoration: BoxDecoration( EdgeInsets.only(left: 10.w, right: 20.w, top: 20.h, bottom: 20.h),
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,45 +11,63 @@ 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(
body:Container( barTitle:
TranslationLoader.lanKeys!.hideInvalidUnlockPermissions!.tr,
haveBack: true,
backgroundColor: AppColors.mainColor),
body: Container(
padding: EdgeInsets.all(30.w), padding: EdgeInsets.all(30.w),
child: Column( child: Column(
children: [ children: [
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(
height: 40.h, children: [
child: const Text( SizedBox(
'锁数量1', height: 10.h,
style: TextStyle( ),
color: AppColors.darkGrayTextColor, fontSize: 14), SizedBox(
), height: 40.h,
child: const Text(
'锁数量1',
style: TextStyle(
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,37 +19,47 @@ 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(
body:Container( barTitle: TranslationLoader.lanKeys!.lockScreen!.tr,
haveBack: true,
backgroundColor: AppColors.mainColor),
body: Container(
padding: EdgeInsets.all(30.w), padding: EdgeInsets.all(30.w),
child: Column( child: Column(
children: [ children: [
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, // decoration: BoxDecoration(
borderRadius: BorderRadius.circular(10.w), // 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: 20.sp,
fontSize: 28.sp, fontWeight: FontWeight.w500), 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,7 +17,8 @@ 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) {
return Scaffold( return Scaffold(
@ -28,73 +28,112 @@ class _StarLockMinePageState extends State<StarLockMinePage> with BaseWidget{
children: [ children: [
topWidget(), topWidget(),
bottomListWidget(), bottomListWidget(),
SizedBox(height: 40.h,), SizedBox(
keyBottomWidget() height: 40.h,
),
// keyBottomWidget()
], ],
), ),
); );
} }
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: Column( child: Stack(
// crossAxisAlignment: CrossAxisAlignment.center,
children: [ children: [
SizedBox(height: 120.h,), Image.asset(
GestureDetector( 'images/mine/icon_mine_topBg.png',
onTap: (){ width: 400.w,
Navigator.pushNamed(context, Routers.starLockLoginPage); height: 380.h,
}, fit: BoxFit.fill,
child: Container( ),
width: 150.w, height: 150.w, Center(
decoration: BoxDecoration( child: Column(
border: Border.all(width: 2, color: Colors.white), // crossAxisAlignment: CrossAxisAlignment.center,
borderRadius: BorderRadius.circular(75.h), children: [
SizedBox(
height: 120.h,
), ),
padding: EdgeInsets.all(20.w), GestureDetector(
child: Image.asset('images/mine/icon_mine_main_defaultAvatar.png', width: 100.w, height: 100.w) onTap: () {
// Navigator.pushNamed(context, Routers.starLockLoginPage);
Navigator.pushNamed(context, Routers.minePersonInfoPage);
},
child: SizedBox(
width: 108.w,
height: 105.w,
child: Image.asset(
'images/mine/icon_mine_main_defaultAvatar.png',
width: 60.w,
height: 60.w)),
),
SizedBox(
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)),
], ],
), ),
); );
} }
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,
SizedBox(width:15.w), width: 28.w,
Expanded(child: Text(lockTypeTitle, style: TextStyle(fontSize: 28.sp, fontWeight: FontWeight.w500), )), height: 28.w,
),
SizedBox(width: 15.w),
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,26 +14,47 @@ 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> {
@override @override
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
onPressed: () => Navigator.of(context).pop(), : (widget.haveBack!
):Container()), ? IconButton(
backgroundColor: widget.backgroundColor??Colors.white, icon: Icon(Icons.arrow_back_ios,
title: widget.haveTitleWidget!?widget.titleWidget:Text(widget.barTitle??'', style: TextStyle(color: widget.titleColor??Colors.white,fontSize: 36.sp, fontWeight:FontWeight.w500)), color: widget.iconColor ?? Colors.white),
centerTitle: true, onPressed: () => Navigator.of(context).pop(),
actions: widget.actionsList??[] )
); : Container()),
backgroundColor: widget.backgroundColor ?? Colors.white,
title: widget.haveTitleWidget!
? widget.titleWidget
: Text(widget.barTitle ?? '',
style: TextStyle(
color: widget.titleColor ?? Colors.white,
fontSize: 28.sp,
fontWeight: FontWeight.w600)),
centerTitle: true,
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;