Merge remote-tracking branch 'origin/master'

# Conflicts:
#	star_lock/lib/appRouters.dart
This commit is contained in:
魏少阳 2023-07-29 18:34:10 +08:00
commit b8f44e330c
36 changed files with 489 additions and 353 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

View File

@ -10,8 +10,7 @@ import 'package:star_lock/mine/mineSet/transferSmartLock/recipientInformation_pa
import 'package:star_lock/mine/mineSet/transferSmartLock/selectBranch_page.dart';
import 'package:star_lock/mine/mineSet/transferSmartLock/transferSmartLock_page.dart';
import 'common/safetyVerification/safetyVerification_binding.dart';
import 'common/safetyVerification/safetyVerification_page.dart';
import 'common/safetyVerification_page.dart';
import 'login/forgetPassword/starLock_forgetPassword_page.dart';
import 'login/login/starLock_login_page.dart';
import 'login/register/starLock_register_page.dart';
@ -386,8 +385,7 @@ abstract class AppRouters {
),
GetPage(
name: Routers.starLockRegisterPage,
page: () => const StarLockRegisterPage(),
binding:StarLockRegisterBinding()
page: () => const StarLockRegisterPage(), binding:StarLockRegisterBinding()
),
GetPage(
name: Routers.starLockForgetPasswordPage,
@ -670,12 +668,10 @@ abstract class AppRouters {
page: () => const LockUserManageListListPage()
),
GetPage(
name: Routers.lockGroupListPage,
page: () => const LockGroupListPage()
name: Routers.lockGroupListPage, page: () => const LockGroupListPage()
),
GetPage(
name: Routers.lockItemListPage,
page: () => const LockItemListPage()
name: Routers.lockItemListPage, page: () => const LockItemListPage()
),
GetPage(
name: Routers.transferSmartLockPage,
@ -686,8 +682,7 @@ abstract class AppRouters {
page: () => const RecipientInformationPage()
),
GetPage(
name: Routers.selectBranchPage,
page: () => const SelectBranchPage()
name: Routers.selectBranchPage, page: () => const SelectBranchPage()
),
GetPage(
name: Routers.selectGetewayListPage,
@ -703,12 +698,10 @@ abstract class AppRouters {
),
GetPage(
name: Routers.safetyVerificationPage,
page: () => const SafetyVerificationPage(),
binding: SafetyVerificationBinding()
page: () => const SafetyVerificationPage()
),
GetPage(
name: Routers.ownedKeyListPage,
page: () => const OwnedKeyListPage()
name: Routers.ownedKeyListPage, page: () => const OwnedKeyListPage()
)
];
}

View File

@ -115,7 +115,7 @@ class AppColors {
static Color progressBgColor = const Color(0xFF022345);
static Color progressValueColor = const Color(0xFF0093E5);
static const greyLineColor = Color.fromRGBO(220, 220, 220, 1); //线
static const greyLineColor = Color.fromRGBO(240, 240, 240, 1); //线220
static const darkGrayTextColor = Color.fromRGBO(65, 65, 65, 1); //
static const placeholderTextColor = Color.fromRGBO(128, 128, 128, 1); //
static const greyBackgroundColor = Color.fromRGBO(240, 240, 240, 1); //

View File

@ -115,7 +115,7 @@ class _AuthorizedAdminPageState extends State<AuthorizedAdminPage> {
leftTitel: TranslationLoader.lanKeys!.realNameAuthentication!.tr,
rightTitle: "",
isHaveRightWidget: true,
rightWidget: Container(width: 80.w, height: 50.h, child: _switch()),
rightWidget: SizedBox(width: 60.w, height: 50.h, child: _switch()),
action: () {}),
Container(height: 10.h),
],

View File

@ -41,40 +41,12 @@ class _AuthorizedAdminListPageState extends State<AuthorizedAdminListPage> {
SizedBox(
height: 20.h,
),
GestureDetector(
child: Container(
height: 80.h,
margin: EdgeInsets.only(left: 20.w, right: 20.w),
decoration: BoxDecoration(
color: Colors.white,
borderRadius: BorderRadius.circular(8.w)),
child: Row(
crossAxisAlignment: CrossAxisAlignment.center,
mainAxisAlignment: MainAxisAlignment.center,
children: [
Image.asset(
'images/icon_btn_add.png',
width: 28.w,
height: 28.w,
),
SizedBox(
width: 6.w,
),
Text(
TranslationLoader.lanKeys!.addAuthorizedAdmin!.tr,
style: TextStyle(
color: AppColors.mainColor,
fontSize: 24.sp,
fontWeight: FontWeight.bold),
)
],
),
),
onTap: () {
AddBottomWhiteBtn(
btnName: TranslationLoader.lanKeys!.addAuthorizedAdmin!.tr,
onClick: () {
Navigator.pushNamed(context, Routers.authorizedAdminManagePage);
},
),
// SubmitBtn(
// btnName: TranslationLoader.lanKeys!.authorizedAdmin!.tr,
// onClick: () {
@ -140,7 +112,7 @@ class _AuthorizedAdminListPageState extends State<AuthorizedAdminListPage> {
),
Container(
padding: EdgeInsets.only(
left: 4.w, right: 4.w, top: 2.w, bottom: 2.w),
left: 4.w, right: 4.w, top: 1.w, bottom: 1.w),
decoration: BoxDecoration(
color: AppColors.toBeReceiveBgColor,
borderRadius: BorderRadius.circular(5.0),

View File

@ -122,7 +122,7 @@ class _VolumeAuthorizationLockPageState
leftTitel: TranslationLoader.lanKeys!.remoteUnlockingAllowed!.tr,
rightTitle: "",
isHaveRightWidget: true,
rightWidget: SizedBox(width: 80.w, height: 50.h, child: _switch()),
rightWidget: SizedBox(width: 60.w, height: 50.h, child: _switch()),
action: () {}),
Container(height: 10.h),
],

View File

@ -27,7 +27,7 @@ class _CheckingInDetailPageState extends State<CheckingInDetailPage> {
_setDatas(year: _year, month: _month);
//
_loadAttendanceMonthRecord( "$_year-$_month");
_loadAttendanceMonthRecord("$_year-$_month");
//
_loadAttendanceDayRecord("$_year-$_month-$_day");
@ -36,12 +36,18 @@ class _CheckingInDetailPageState extends State<CheckingInDetailPage> {
//
_loadAttendanceMonthRecord(String dateTime) async {
CalendarModel bean1 = CalendarModel(year: _year,month: _month,day: 1,workType: "2");
CalendarModel bean2 = CalendarModel(year: _year,month: _month,day: 2,workType: "1");
CalendarModel bean3 = CalendarModel(year: _year,month: _month,day: 3,workType: "2");
CalendarModel bean4 = CalendarModel(year: _year,month: _month,day: 4,workType: "0");
CalendarModel bean5 = CalendarModel(year: _year,month: _month,day: 5,workType: "0");
CalendarModel bean6 = CalendarModel(year: _year,month: _month,day: 6,workType: "1");
CalendarModel bean1 =
CalendarModel(year: _year, month: _month, day: 1, workType: "2");
CalendarModel bean2 =
CalendarModel(year: _year, month: _month, day: 2, workType: "1");
CalendarModel bean3 =
CalendarModel(year: _year, month: _month, day: 3, workType: "2");
CalendarModel bean4 =
CalendarModel(year: _year, month: _month, day: 4, workType: "0");
CalendarModel bean5 =
CalendarModel(year: _year, month: _month, day: 5, workType: "0");
CalendarModel bean6 =
CalendarModel(year: _year, month: _month, day: 6, workType: "1");
_listDatas.add(bean1);
_listDatas.add(bean2);
_listDatas.add(bean3);
@ -52,7 +58,7 @@ class _CheckingInDetailPageState extends State<CheckingInDetailPage> {
setState(() {
for (int i = 0; i < _datas.length; i++) {
for (int j = 0; j < _listDatas.length; j++) {
if (_datas[i].year== _listDatas[j].year &&
if (_datas[i].year == _listDatas[j].year &&
_datas[i].month == _listDatas[j].month &&
_datas[i].day == _listDatas[j].day) {
_datas[i].workType = _listDatas[j].workType;
@ -63,40 +69,44 @@ class _CheckingInDetailPageState extends State<CheckingInDetailPage> {
}
//
_loadAttendanceDayRecord(String dateTime) async{
_loadAttendanceDayRecord(String dateTime) async {
//
print("点击的是$dateTime");
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: TitleAppBar(barTitle:"张三", haveBack:true, backgroundColor: AppColors.mainColor),
appBar: TitleAppBar(
barTitle: "张三",
haveBack: true,
backgroundColor: AppColors.mainColor),
body: SingleChildScrollView(
child: Column(
children: [
Container(
// margin: EdgeInsets.all(20.sp),
decoration: BoxDecoration(
//
color: Colors.white,
borderRadius: BorderRadius.all(Radius.circular(12.r)),
//
),
child: Column(
children: [
_yearHeader(),
SizedBox(height: 10.h),
_weekHeader(),
_everyDay(),
_bottomStatisticsWidget()
],
),
),
children: [
Container(
// margin: EdgeInsets.all(20.sp),
decoration: BoxDecoration(
//
color: Colors.white,
borderRadius: BorderRadius.all(Radius.circular(12.r)),
//
),
child: Column(
children: [
_yearHeader(),
SizedBox(height: 10.h),
_weekHeader(),
_everyDay(),
_bottomStatisticsWidget()
],
),
),
//
Container(),
],
)));
//
Container(),
],
)));
}
//
@ -120,9 +130,17 @@ class _CheckingInDetailPageState extends State<CheckingInDetailPage> {
),
),
),
SizedBox(width: 60.w,),
Text("$_year-$_month", style: TextStyle(fontSize: 34.sp, color: Colors.black, fontWeight: FontWeight.w500)),
SizedBox(width: 60.w,),
SizedBox(
width: 60.w,
),
Text("$_year-$_month",
style: TextStyle(
fontSize: 34.sp,
color: Colors.black,
fontWeight: FontWeight.w500)),
SizedBox(
width: 60.w,
),
GestureDetector(
onTap: () {
_nextMonth();
@ -150,7 +168,8 @@ class _CheckingInDetailPageState extends State<CheckingInDetailPage> {
TranslationLoader.lanKeys!.thursdayShort!.tr,
TranslationLoader.lanKeys!.fridayShort!.tr,
TranslationLoader.lanKeys!.saturdayShort!.tr,
TranslationLoader.lanKeys!.sundayShort!.tr];
TranslationLoader.lanKeys!.sundayShort!.tr
];
return Container(
height: 50.h,
child: GridView.builder(
@ -159,7 +178,7 @@ class _CheckingInDetailPageState extends State<CheckingInDetailPage> {
shrinkWrap: true,
physics: const NeverScrollableScrollPhysics(),
gridDelegate: const SliverGridDelegateWithFixedCrossAxisCount(
//
//
crossAxisCount: 7,
//
// mainAxisSpacing: ScreenUtil().setHeight(10),
@ -192,7 +211,7 @@ class _CheckingInDetailPageState extends State<CheckingInDetailPage> {
shrinkWrap: true,
physics: const NeverScrollableScrollPhysics(),
gridDelegate: const SliverGridDelegateWithFixedCrossAxisCount(
//
//
crossAxisCount: 7,
// //
// mainAxisSpacing: ScreenUtil().setHeight(10),
@ -213,7 +232,8 @@ class _CheckingInDetailPageState extends State<CheckingInDetailPage> {
_datas[i].isSelect = true;
//
_loadAttendanceDayRecord( "${_datas[i].year}-${_datas[i].month}-${_datas[i].day}");
_loadAttendanceDayRecord(
"${_datas[i].year}-${_datas[i].month}-${_datas[i].day}");
} else {
_datas[i].isSelect = false;
}
@ -233,9 +253,9 @@ class _CheckingInDetailPageState extends State<CheckingInDetailPage> {
//
decoration: _datas[index].isSelect!
? const BoxDecoration(
color: Color(0xFF2C91F6),
shape: BoxShape.circle,
)
color: Color(0xFF2C91F6),
shape: BoxShape.circle,
)
: const BoxDecoration(),
child: Center(
child: Text(
@ -247,29 +267,31 @@ class _CheckingInDetailPageState extends State<CheckingInDetailPage> {
//
style: _datas[index].isSelect!
? TextStyle(
fontSize: 32.sp, color: const Color(0xFFFFFFFF))
fontSize: 32.sp, color: const Color(0xFFFFFFFF))
: (index % 7 == 5 || index % 7 == 6
? TextStyle(
fontSize: 32.sp, color: const Color(0xFFC4C8D0))
: TextStyle(
fontSize: 32.sp, color: const Color(0xFF3C3E43))),
? TextStyle(
fontSize: 32.sp,
color: const Color(0xFFC4C8D0))
: TextStyle(
fontSize: 32.sp,
color: const Color(0xFF3C3E43))),
),
),
),
const SizedBox(height: 5),
//
_datas[index].month == _month &&
_datas[index].workType != "" &&
_datas[index].workType != "0"
_datas[index].workType != "" &&
_datas[index].workType != "0"
? Container(
height: 6.0,
width: 6.0,
decoration: BoxDecoration(
shape: BoxShape.circle,
color: _datas[index].workType == "1"
? const Color(0xFFF48835)
: const Color(0xFF2C91F6)),
)
height: 6.0,
width: 6.0,
decoration: BoxDecoration(
shape: BoxShape.circle,
color: _datas[index].workType == "1"
? const Color(0xFFF48835)
: const Color(0xFF2C91F6)),
)
: Container(),
],
),
@ -280,7 +302,7 @@ class _CheckingInDetailPageState extends State<CheckingInDetailPage> {
);
}
Widget _bottomStatisticsWidget(){
Widget _bottomStatisticsWidget() {
return Column(
children: [
Row(
@ -288,45 +310,64 @@ class _CheckingInDetailPageState extends State<CheckingInDetailPage> {
Container(
width: 1.sw,
// height: 40.h,
padding: EdgeInsets.only(left: 50.w,top: 5.h, bottom: 5.h),
padding: EdgeInsets.only(left: 50.w, top: 5.h, bottom: 5.h),
color: Colors.grey,
child: Text("月统计", style: TextStyle(color: Colors.white, fontSize: 32.sp, fontWeight: FontWeight.w500),),
child: Text(
"月统计",
style: TextStyle(
color: Colors.white,
fontSize: 32.sp,
fontWeight: FontWeight.w500),
),
),
],
),
_bottomStatisticsItemWidget(Colors.red ,"迟到", "0"),
_bottomStatisticsItemWidget(Colors.orange ,"早退", "0"),
_bottomStatisticsItemWidget(Colors.grey ,"未打卡", "0"),
_bottomStatisticsItemWidget(Colors.red, "迟到", "0"),
_bottomStatisticsItemWidget(Colors.orange, "早退", "0"),
_bottomStatisticsItemWidget(Colors.grey, "未打卡", "0"),
],
);
}
Widget _bottomStatisticsItemWidget(Color color,String leftTitel, String rightTitle,){
Widget _bottomStatisticsItemWidget(
Color color,
String leftTitel,
String rightTitle,
) {
return Column(
children: [
Container(
height: 70.h,
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(
children: [
SizedBox(width:20.w),
SizedBox(width: 20.w),
Container(
width: 35.w,
height: 35.w,
decoration: BoxDecoration(
color: color,
borderRadius:BorderRadius.all(Radius.circular(35.h))
),
borderRadius: BorderRadius.all(Radius.circular(35.h))),
),
SizedBox(width:20.w),
Expanded(child: Text(leftTitel, style: TextStyle(fontSize: 28.sp, fontWeight: FontWeight.w500))),
SizedBox(width:20.w),
Text(rightTitle, textAlign: TextAlign.end, style: TextStyle(fontSize: 28.sp, fontWeight: FontWeight.w500)),
SizedBox(width:10.w),
SizedBox(width: 20.w),
Expanded(
child: Text(leftTitel,
style: TextStyle(
fontSize: 28.sp, fontWeight: FontWeight.w500))),
SizedBox(width: 20.w),
Text(rightTitle,
textAlign: TextAlign.end,
style:
TextStyle(fontSize: 28.sp, fontWeight: FontWeight.w500)),
SizedBox(width: 10.w),
],
),
),
Container(height: 0.5.h, color: Colors.grey,)
Container(
height: 0.5.h,
color: Colors.grey,
)
],
);
}
@ -424,7 +465,7 @@ class _CheckingInDetailPageState extends State<CheckingInDetailPage> {
nextMonth = 1;
}
var nextPlaceholderDays =
_getPlaceholderDays(year: nextYear, month: nextMonth);
_getPlaceholderDays(year: nextYear, month: nextMonth);
for (var i = 0; i < 7 - nextPlaceholderDays; i++) {
_datas.add(CalendarModel(
year: nextYear,
@ -448,7 +489,7 @@ class _CheckingInDetailPageState extends State<CheckingInDetailPage> {
_datas.clear();
_setDatas(year: _year, month: _month);
//
_loadAttendanceMonthRecord( "$_year-$_month");
_loadAttendanceMonthRecord("$_year-$_month");
//
_loadAttendanceDayRecord("$_year-$_month-$_day");
});
@ -456,12 +497,15 @@ class _CheckingInDetailPageState extends State<CheckingInDetailPage> {
//
_nextMonth() {
if(_month==12){//12
if(DateTime.now().year>=_year+1){//
if (_month == 12) {
//12
if (DateTime.now().year >= _year + 1) {
//
_setNextMonthData();
}
}else{//12
if(DateTime.now().month>=_month+1){
} else {
//12
if (DateTime.now().month >= _month + 1) {
//
_setNextMonthData();
}
@ -469,7 +513,7 @@ class _CheckingInDetailPageState extends State<CheckingInDetailPage> {
}
//
_setNextMonthData(){
_setNextMonthData() {
setState(() {
if (_month == 12) {
_year = _year + 1;
@ -487,7 +531,7 @@ class _CheckingInDetailPageState extends State<CheckingInDetailPage> {
_datas.clear();
_setDatas(year: _year, month: _month);
//
_loadAttendanceMonthRecord( "$_year-$_month");
_loadAttendanceMonthRecord("$_year-$_month");
//
_loadAttendanceDayRecord("$_year-$_month-$_day");
});
@ -499,9 +543,9 @@ class CalendarModel {
int? year;
int? month;
int? day;
String? workType = "";//012
String? workType = ""; //012
bool? isSelect = false;
CalendarModel(
{this.year, this.month, this.day, this.isSelect, this.workType});
}
}

View File

@ -55,10 +55,12 @@ class _ElectronicKeyDetailPageState extends State<ElectronicKeyDetailPage> {
leftTitel: TranslationLoader.lanKeys!.receiver!.tr,
rightTitle: "786612630@qq.com",
action: () {}),
const SizedBox(height: 1),
CommonItem(
leftTitel: TranslationLoader.lanKeys!.sender!.tr,
rightTitle: "15080825640",
action: () {}),
const SizedBox(height: 1),
CommonItem(
leftTitel: TranslationLoader.lanKeys!.senderTime!.tr,
rightTitle: "2020.06.21 11:49",
@ -68,14 +70,16 @@ class _ElectronicKeyDetailPageState extends State<ElectronicKeyDetailPage> {
leftTitel: TranslationLoader.lanKeys!.realNameAuthentication!.tr,
rightTitle: "",
isHaveRightWidget: true,
rightWidget: Container(width: 80.w, child: _switch()),
rightWidget: SizedBox(width: 60.w, child: _switch()),
action: () {}),
Container(height: 10.h),
CommonItem(
leftTitel: TranslationLoader.lanKeys!.operatingRecord!.tr,
rightTitle: "",
isHaveDirection: true,
action: () {}),
action: () {
Navigator.pushNamed(context, Routers.keyOperationRecordPage);
}),
Container(height: 40.h),
SubmitBtn(
btnName: TranslationLoader.lanKeys!.delete!.tr,

View File

@ -0,0 +1,83 @@
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/titleAppBar.dart';
import '../../../../translations/trans_lib.dart';
class KeyOperationRecordPage extends StatefulWidget {
const KeyOperationRecordPage({Key? key}) : super(key: key);
@override
State<KeyOperationRecordPage> createState() => _KeyOperationRecordPageState();
}
class _KeyOperationRecordPageState extends State<KeyOperationRecordPage> {
@override
Widget build(BuildContext context) {
return Scaffold(
backgroundColor: AppColors.mainBackgroundColor,
appBar: TitleAppBar(
barTitle: TranslationLoader.lanKeys!.operatingRecord!.tr,
haveBack: true,
backgroundColor: AppColors.mainColor,
),
body: Column(
children: [
Expanded(child: _buildMainUI()),
],
),
);
}
Widget _buildMainUI() {
return ListView.separated(
itemCount: 5,
itemBuilder: (c, index) {
return _electronicKeyItem('images/icon_recordDate.png', "张三",
"2023.6.21 11.15", "2023.6.21 11.15", () {});
},
separatorBuilder: (BuildContext context, int index) {
return const Divider(
height: 1,
color: AppColors.greyLineColor,
);
},
);
}
Widget _electronicKeyItem(String lockTypeIcon, String lockTypeTitle,
String beginTime, String endTime, Function() action) {
return GestureDetector(
onTap: action,
child: Container(
color: Colors.white,
height: 68.h,
child: Row(
children: [
SizedBox(
width: 30.w,
),
Image.asset(
lockTypeIcon,
width: 24.w,
height: 24.w,
color: AppColors.darkGrayTextColor,
),
SizedBox(
width: 20.w,
),
Text(
'2023-07-29 14:50:33 开锁',
style: TextStyle(color: AppColors.blackColor, fontSize: 20.sp),
),
SizedBox(width: 20.h),
],
),
),
);
}
}

View File

@ -41,36 +41,9 @@ class _ElectronicKeyListPageState extends State<ElectronicKeyListPage> {
height: 20.h,
),
Expanded(child: _buildMainUI()),
GestureDetector(
child: Container(
height: 80.h,
margin: EdgeInsets.only(left: 20.w, right: 20.w),
decoration: BoxDecoration(
color: Colors.white,
borderRadius: BorderRadius.circular(8.w)),
child: Row(
crossAxisAlignment: CrossAxisAlignment.center,
mainAxisAlignment: MainAxisAlignment.center,
children: [
Image.asset(
'images/icon_btn_add.png',
width: 28.w,
height: 28.w,
),
SizedBox(
width: 6.w,
),
Text(
TranslationLoader.lanKeys!.sendKey!.tr,
style: TextStyle(
color: AppColors.mainColor,
fontSize: 24.sp,
fontWeight: FontWeight.bold),
)
],
),
),
onTap: () {
AddBottomWhiteBtn(
btnName: TranslationLoader.lanKeys!.sendKey!.tr,
onClick: () {
Navigator.pushNamed(context, Routers.sendElectronicKeyManagePage);
},
),

View File

@ -29,8 +29,16 @@ class _ElectronicKeyPeriodValidityPageState
body: Column(
children: [
topWidget(),
SizedBox(
height: 1.h,
// SizedBox(
// height: 1.h,
// ),
Container(
color: Colors.white,
height: 10.h,
),
const Divider(
height: 1,
color: AppColors.greyLineColor,
),
bottomWidget()
],
@ -53,7 +61,7 @@ class _ElectronicKeyPeriodValidityPageState
style:
TextStyle(fontSize: 24.sp, fontWeight: FontWeight.w600))),
SizedBox(
height: 80.h,
height: 90.h,
child: GridView.builder(
gridDelegate: const SliverGridDelegateWithFixedCrossAxisCount(
crossAxisCount: 7, childAspectRatio: 1.0),

View File

@ -50,7 +50,6 @@ class _MassSendElectronicKeyPageState extends State<MassSendElectronicKeyPage> {
],
);
}
break;
case 1:
{
//
@ -62,7 +61,6 @@ class _MassSendElectronicKeyPageState extends State<MassSendElectronicKeyPage> {
],
);
}
break;
case 2:
{
//
@ -75,10 +73,8 @@ class _MassSendElectronicKeyPageState extends State<MassSendElectronicKeyPage> {
],
);
}
break;
default:
return Container();
break;
}
}
@ -128,7 +124,7 @@ class _MassSendElectronicKeyPageState extends State<MassSendElectronicKeyPage> {
leftTitel: TranslationLoader.lanKeys!.remoteUnlockingAllowed!.tr,
rightTitle: "",
isHaveRightWidget: true,
rightWidget: Container(width: 80.w, height: 50.h, child: _switch()),
rightWidget: SizedBox(width: 60.w, height: 50.h, child: _switch()),
action: () {}),
Container(height: 40.h),
],

View File

@ -148,7 +148,7 @@ class _SendElectronicKeyPageState extends State<SendElectronicKeyPage> {
rightTitle: "",
isTipsImg: true,
isHaveRightWidget: true,
rightWidget: SizedBox(width: 80.w, height: 50.h, child: _switch()),
rightWidget: SizedBox(width: 60.w, height: 50.h, child: _switch()),
action: () {}),
],
);
@ -337,7 +337,7 @@ class _SendElectronicKeyPageState extends State<SendElectronicKeyPage> {
leftTitel: TranslationLoader.lanKeys!.remoteUnlockingAllowed!.tr,
rightTitle: "",
isHaveRightWidget: true,
rightWidget: SizedBox(width: 80.w, height: 50.h, child: _switch()),
rightWidget: SizedBox(width: 60.w, height: 50.h, child: _switch()),
action: () {}),
Container(height: 10.h),
],

View File

@ -20,7 +20,7 @@ class _SendEmailNotificationPageState extends State<SendEmailNotificationPage> {
@override
Widget build(BuildContext context) {
_emailController.text =
"爱的用户 \n\n你收到电子钥匙请试用APP(www.baidu.com)或小程序开锁 \n\n星锁";
"爱的用户 \n\n你收到电子钥匙请试用APP(www.baidu.com)或小程序开锁 \n\n星锁";
return Scaffold(
backgroundColor: AppColors.mainBackgroundColor,
appBar: TitleAppBar(
@ -57,7 +57,7 @@ class _SendEmailNotificationPageState extends State<SendEmailNotificationPage> {
controller: _emailController,
style: TextStyle(
color: Colors.black,
fontSize: 28.sp,
fontSize: 22.sp,
),
decoration: InputDecoration(
border: OutlineInputBorder(

View File

@ -37,7 +37,7 @@ class _AutomaticBlockingPageState extends State<AutomaticBlockingPage> {
isHaveLine: false,
isHaveRightWidget: true,
rightWidget:
Container(width: 80.w, height: 50.h, child: _switch())),
SizedBox(width: 60.w, height: 50.h, child: _switch())),
Container(
height: 10.h,
),

View File

@ -205,15 +205,13 @@ class _LockSetPageState extends State<LockSetPage> {
rightTitle: "",
isHaveLine: true,
isHaveRightWidget: true,
rightWidget: Container(
width: 80.w, height: 50.h, child: _switch())),
rightWidget: SizedBox(width: 60.w, child: _switch())),
CommonItem(
leftTitel: TranslationLoader.lanKeys!.unlockReminder!.tr,
rightTitle: "",
isHaveLine: false,
isHaveRightWidget: true,
rightWidget: Container(
width: 80.w, height: 50.h, child: _switch())),
rightWidget: SizedBox(width: 60.w, child: _switch())),
SizedBox(
height: 30.h,
),

View File

@ -33,7 +33,7 @@ class _LockSoundSetPageState extends State<LockSoundSetPage> {
isHaveLine: false,
isHaveRightWidget: true,
rightWidget:
Container(width: 80.w, height: 50.h, child: _switch())),
SizedBox(width: 60.w, height: 50.h, child: _switch())),
Container(
height: 10.h,
),

View File

@ -33,7 +33,7 @@ class _NormallyOpenModePageState extends State<NormallyOpenModePage> {
isHaveLine: false,
isHaveRightWidget: true,
rightWidget:
Container(width: 80.w, height: 50.h, child: _switch())),
SizedBox(width: 60.w, height: 50.h, child: _switch())),
Container(
height: 10.h,
),
@ -83,7 +83,7 @@ class _NormallyOpenModePageState extends State<NormallyOpenModePage> {
Widget topWidget() {
return Container(
height: 150.h,
height: 160.h,
width: 1.sw,
color: Colors.white,
child: Column(
@ -98,8 +98,8 @@ class _NormallyOpenModePageState extends State<NormallyOpenModePage> {
style:
TextStyle(fontSize: 24.sp, fontWeight: FontWeight.w600))),
Container(
height: 90.h,
padding: EdgeInsets.only(left: 10.w, right: 10.w),
height: 100.h,
padding: EdgeInsets.only(left: 10.w, right: 10.w, bottom: 10.h),
child: GridView.builder(
gridDelegate: const SliverGridDelegateWithFixedCrossAxisCount(
crossAxisCount: 7, childAspectRatio: 1.0),

View File

@ -168,8 +168,8 @@ class _LockDetailPageState extends State<LockDetailPage> {
}
Widget bottomItem(String iconUrl, String name, Function() onClick) {
var width = 40.w;
var height = 36.h;
var width = 42.w;
var height = 42.h;
return GestureDetector(
onTap: onClick,
child: Container(

View File

@ -42,47 +42,14 @@ class _OtherTypeKeyListPageState extends State<OtherTypeKeyListPage> {
height: 20.h,
),
Expanded(child: _buildMainUI(type)),
GestureDetector(
child: Container(
height: 80.h,
margin: EdgeInsets.only(left: 20.w, right: 20.w),
decoration: BoxDecoration(
color: Colors.white,
borderRadius: BorderRadius.circular(8.w)),
child: Row(
crossAxisAlignment: CrossAxisAlignment.center,
mainAxisAlignment: MainAxisAlignment.center,
children: [
Image.asset(
'images/icon_btn_add.png',
width: 28.w,
height: 28.w,
),
SizedBox(
width: 6.w,
),
Text(
'${TranslationLoader.lanKeys!.add!.tr}${getAppBarTitle(type)}',
style: TextStyle(
color: AppColors.mainColor,
fontSize: 24.sp,
fontWeight: FontWeight.bold),
)
],
),
),
onTap: () {
AddBottomWhiteBtn(
btnName:
'${TranslationLoader.lanKeys!.add!.tr}${getAppBarTitle(type)}',
onClick: () {
Navigator.pushNamed(context, Routers.otherTypeKeyManagePage,
arguments: type);
},
),
// SubmitBtn(
// btnName:
// '${TranslationLoader.lanKeys!.add!.tr}${getAppBarTitle(type)}',
// onClick: () {
// Navigator.pushNamed(context, Routers.otherTypeKeyManagePage,
// arguments: type);
// }),
SizedBox(
height: 64.h,
)

View File

@ -44,49 +44,12 @@ class _PasswordKeyListPageState extends State<PasswordKeyListPage> {
SizedBox(
height: 20.h,
),
GestureDetector(
child: Container(
height: 80.h,
margin: EdgeInsets.only(left: 20.w, right: 20.w),
decoration: BoxDecoration(
color: Colors.white,
borderRadius: BorderRadius.circular(8.w)),
child: Row(
crossAxisAlignment: CrossAxisAlignment.center,
mainAxisAlignment: MainAxisAlignment.center,
children: [
Image.asset(
'images/icon_btn_add.png',
width: 28.w,
height: 28.w,
),
SizedBox(
width: 6.w,
),
Text(
TranslationLoader.lanKeys!.getPassword!.tr,
style: TextStyle(
color: AppColors.mainColor,
fontSize: 24.sp,
fontWeight: FontWeight.bold),
)
],
),
),
onTap: () {
AddBottomWhiteBtn(
btnName: TranslationLoader.lanKeys!.getPassword!.tr,
onClick: () {
Navigator.pushNamed(context, Routers.passwordKeyManagePage);
},
),
// SubmitBtn(
// btnName: TranslationLoader.lanKeys!.getPassword!.tr,
// borderRadius: 20.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),
// onClick: () {
// Navigator.pushNamed(context, Routers.passwordKeyManagePage);
// }),
SizedBox(
height: 42.h,
)

View File

@ -181,7 +181,7 @@ class _PasswordKeyPerpetualPageState extends State<PasswordKeyPerpetualPage> {
rightTitle: "",
isHaveRightWidget: true,
rightWidget:
Container(width: 80.w, height: 50.h, child: _switch()),
SizedBox(width: 60.w, height: 50.h, child: _switch()),
action: () {}),
Container(height: 10.h),
],

View File

@ -31,7 +31,6 @@ class _StarLockMainState extends State<StarLockMain> with BaseWidget {
@override
Widget build(BuildContext context) {
final logic = Get.put(GetxBle());
// Get.lazyPut(()=>GetxBle());
logic.scanner.startScan([]);
@ -44,20 +43,20 @@ class _StarLockMainState extends State<StarLockMain> with BaseWidget {
haveOtherLeftWidget: true,
leftWidget: Builder(
builder: (context) => IconButton(
icon: Image.asset(
"images/main/mainLeft_menu_icon.png",
color: Colors.white,
width: 44.w,
height: 44.w,
),
onPressed: () {
Scaffold.of(context).openDrawer();
},
)),
icon: Image.asset(
"images/main/mainLeft_menu_icon.png",
color: Colors.white,
width: 44.w,
height: 44.w,
),
onPressed: () {
Scaffold.of(context).openDrawer();
},
)),
backgroundColor: AppColors.mainColor,
actionsList: [
TextButton(
child: Text("", style: const TextStyle(color: Colors.white)),
child: const Text("", style: TextStyle(color: Colors.white)),
onPressed: () {
Navigator.pushNamed(context, Routers.starLockLoginPage);
},
@ -132,7 +131,7 @@ class _StarLockMainState extends State<StarLockMain> with BaseWidget {
],
),
SizedBox(
height: 30.h,
height: 20.h,
),
Row(
children: [

View File

@ -55,18 +55,36 @@ class _AbountPageState extends State<AbountPage> {
isHaveLine: false,
isHaveDirection: true,
action: () {}),
Divider(
height: 1,
color: AppColors.greyLineColor,
indent: 20.w,
endIndent: 20.w,
),
CommonItem(
leftTitel: TranslationLoader.lanKeys!.userAgreement!.tr,
rightTitle: "",
isHaveLine: false,
isHaveDirection: true,
action: () {}),
Divider(
height: 1,
color: AppColors.greyLineColor,
indent: 20.w,
endIndent: 20.w,
),
CommonItem(
leftTitel: TranslationLoader.lanKeys!.privacyPolicy!.tr,
rightTitle: "",
isHaveLine: false,
isHaveDirection: true,
action: () {}),
Divider(
height: 1,
color: AppColors.greyLineColor,
indent: 20.w,
endIndent: 20.w,
),
CommonItem(
leftTitel: TranslationLoader
.lanKeys!.personalInformationCollectionList!.tr,
@ -74,6 +92,12 @@ class _AbountPageState extends State<AbountPage> {
isHaveLine: false,
isHaveDirection: true,
action: () {}),
Divider(
height: 1,
color: AppColors.greyLineColor,
indent: 20.w,
endIndent: 20.w,
),
CommonItem(
leftTitel: TranslationLoader
.lanKeys!.applicationPermissionDescription!.tr,
@ -81,6 +105,12 @@ class _AbountPageState extends State<AbountPage> {
isHaveLine: false,
isHaveDirection: true,
action: () {}),
Divider(
height: 1,
color: AppColors.greyLineColor,
indent: 20.w,
endIndent: 20.w,
),
CommonItem(
leftTitel: TranslationLoader
.lanKeys!.thirdPartyInformationSharingList!.tr,

View File

@ -22,14 +22,23 @@ class _NearbyLockPageState extends State<NearbyLockPage> {
barTitle: TranslationLoader.lanKeys!.nearbyLock!.tr,
haveBack: true,
backgroundColor: AppColors.mainColor),
body: ListView.builder(
itemCount: 20,
itemBuilder: (c, index) {
return nearbyLockItem(
'images/icon_lockGroup_item.png', "MCBN01-ea9240", () {
Navigator.pushNamed(context, Routers.lockAddressPage);
});
}),
body: ListView.separated(
itemCount: 5,
itemBuilder: (c, index) {
return nearbyLockItem(
'images/icon_lockGroup_item.png', "MCBN01-ea9240", () {
Navigator.pushNamed(context, Routers.lockAddressPage);
});
},
separatorBuilder: (BuildContext context, int index) {
return Divider(
height: 1,
color: AppColors.greyLineColor,
indent: 20.w,
endIndent: 0,
);
},
),
);
}
@ -41,15 +50,15 @@ class _NearbyLockPageState extends State<NearbyLockPage> {
// mainAxisAlignment: MainAxisAlignment.center,
children: [
Container(
height: 80.h,
height: 89.h,
color: Colors.white,
child: Row(
children: [
SizedBox(width: 20.w),
Image.asset(
lockTypeIcon,
width: 50.w,
height: 50.w,
width: 56.w,
height: 56.w,
),
SizedBox(width: 20.w),
Column(
@ -59,7 +68,7 @@ class _NearbyLockPageState extends State<NearbyLockPage> {
Text(
lockTypeTitle,
style: TextStyle(
fontSize: 20.sp, color: AppColors.darkGrayTextColor),
fontSize: 20.sp, color: AppColors.blackColor),
),
],
),
@ -74,17 +83,13 @@ class _NearbyLockPageState extends State<NearbyLockPage> {
Expanded(child: SizedBox(width: 20.w)),
Image.asset(
'images/main/icon_main_addLock.png',
width: 28.w,
height: 28.w,
width: 36.w,
height: 36.w,
),
SizedBox(width: 30.w),
],
),
),
Container(
height: 0.5.h,
color: Colors.grey,
)
],
),
);

View File

@ -37,7 +37,10 @@ class _GatewayConfigurationWifiPageState
color: const Color(0xFFF2F6F9),
padding: EdgeInsets.all(15.h),
child: Text(
TranslationLoader.lanKeys!.gatewayConfigurationWifiTip!.tr)),
TranslationLoader.lanKeys!.gatewayConfigurationWifiTip!.tr,
style: TextStyle(
color: AppColors.darkGrayTextColor, fontSize: 20.sp),
)),
Expanded(
child: ListView(
children: [
@ -108,8 +111,8 @@ class _GatewayConfigurationWifiPageState
rightTitle: "",
isHaveLine: true,
isHaveRightWidget: true,
rightWidget: Container(
width: 80.w, height: 50.h, child: _switch())),
rightWidget: SizedBox(
width: 60.w, height: 50.h, child: _switch())),
Visibility(
visible: true,
child: Column(
@ -141,15 +144,18 @@ class _GatewayConfigurationWifiPageState
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);
}),
Container(
margin: EdgeInsets.only(left: 20.w, right: 20.w),
child: 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,
),
@ -165,7 +171,7 @@ class _GatewayConfigurationWifiPageState
child: Text(
TranslationLoader.lanKeys!.noStaticIPIsUsed!.tr,
style: TextStyle(
fontSize: 28.sp, color: AppColors.mainColor)),
fontSize: 22.sp, color: AppColors.mainColor)),
),
),
onTap: () {
@ -190,7 +196,7 @@ class _GatewayConfigurationWifiPageState
Widget getTFWidget(TextEditingController controller, String tfStr) {
return SizedBox(
height: 50.h,
width: 400.w,
width: 300.w,
child: Row(
children: [
Expanded(
@ -204,6 +210,7 @@ class _GatewayConfigurationWifiPageState
//
contentPadding: const EdgeInsets.only(top: 12.0, bottom: 8.0),
hintText: tfStr,
hintStyle: TextStyle(fontSize: 22.sp),
//线
border: InputBorder.none,
),

View File

@ -38,17 +38,26 @@ class _GatewayListPageState extends State<GatewayListPage> {
),
],
),
body: ListView.builder(
itemCount: 10,
itemBuilder: (c, index) {
return _gatewatListItem(
'images/mine/icon_mine_gatewayListMainIcon.png',
"星锁网关",
"在线",
"2", () {
Navigator.pushNamed(context, Routers.gatewayDetailPage);
});
}),
body: ListView.separated(
itemCount: 5,
itemBuilder: (c, index) {
return _gatewatListItem(
'images/mine/icon_mine_gatewayListMainIcon.png',
"星锁网关",
"在线",
"2", () {
Navigator.pushNamed(context, Routers.gatewayDetailPage);
});
},
separatorBuilder: (BuildContext context, int index) {
return Divider(
height: 1,
color: AppColors.greyLineColor,
indent: 20.w,
endIndent: 0,
);
},
),
);
}
@ -58,7 +67,7 @@ class _GatewayListPageState extends State<GatewayListPage> {
onTap: action,
child: Container(
// 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: 18.h, bottom: 18.h),
decoration: BoxDecoration(

View File

@ -114,23 +114,47 @@ class _MinePersonInfoSetSafetyProblemPageState
child: ListView(
children: <Widget>[
ListTile(
title: Text('你第一次乘坐飞机取得是哪个城市?', textAlign: TextAlign.center),
title: Text(
'你第一次乘坐飞机取得是哪个城市?',
textAlign: TextAlign.center,
style: TextStyle(fontSize: 22.sp),
),
onTap: () {
Navigator.of(context).pop(true);
},
),
const Divider(
color: AppColors.greyLineColor,
height: 1,
),
ListTile(
title: Text('你的QQ号码是多少', textAlign: TextAlign.center),
title: Text(
'你的QQ号码是多少',
textAlign: TextAlign.center,
style: TextStyle(fontSize: 22.sp),
),
onTap: () {
Navigator.of(context).pop(true);
},
),
const Divider(
color: AppColors.greyLineColor,
height: 1,
),
ListTile(
title: Text('你的第一个宠物叫什么名字', textAlign: TextAlign.center),
title: Text(
'你的第一个宠物叫什么名字',
textAlign: TextAlign.center,
style: TextStyle(fontSize: 22.sp),
),
onTap: () {
Navigator.of(context).pop(true);
},
),
const Divider(
color: AppColors.greyLineColor,
height: 1,
),
],
),
);

View File

@ -265,7 +265,7 @@ class _AddAuthorizedAdministratorPageState
leftTitel: TranslationLoader.lanKeys!.remoteUnlockingAllowed!.tr,
rightTitle: "",
isHaveRightWidget: true,
rightWidget: SizedBox(width: 80.w, height: 50.h, child: _switch()),
rightWidget: SizedBox(width: 60.w, height: 50.h, child: _switch()),
action: () {}),
Container(height: 40.h),
],

View File

@ -100,7 +100,7 @@ class _AuthorizedAdministratorListPageState
return GestureDetector(
onTap: action,
child: Container(
height: 90.h,
height: 100.h,
margin: EdgeInsets.only(left: 20.w, right: 20.w, top: 20.w),
decoration: BoxDecoration(
color: Colors.white,

View File

@ -44,7 +44,7 @@ class _LockUserManageListListPageState
Expanded(child: _buildMainUI()),
SizedBox(
width: ScreenUtil().screenWidth - 40.w,
height: 80.h,
height: 90.h,
child: ElevatedButton(
style: ElevatedButton.styleFrom(
backgroundColor: Colors.white,

View File

@ -39,21 +39,21 @@ class _MineSetPageState extends State<MineSetPage> {
isHaveLine: true,
isHaveRightWidget: true,
rightWidget: SizedBox(
width: 10.w, height: 50.h, child: _switch())),
width: 60.w, height: 50.h, child: _switch())),
CommonItem(
leftTitel: TranslationLoader.lanKeys!.touchUnlock!.tr,
rightTitle: "",
isHaveLine: true,
isHaveRightWidget: true,
rightWidget: SizedBox(
width: 10.w, height: 50.h, child: _switch())),
width: 60.w, height: 50.h, child: _switch())),
CommonItem(
leftTitel:
TranslationLoader.lanKeys!.pushNotification!.tr,
rightTitle: "",
isHaveRightWidget: true,
rightWidget: SizedBox(
width: 10.w, height: 50.h, child: _switch())),
width: 60.w, height: 50.h, child: _switch())),
SizedBox(
height: 10.h,
),

View File

@ -125,7 +125,7 @@ class _SupportStaffPageState extends State<SupportStaffPage> {
isHaveLine!
? Container(
height: 0.5.h,
color: Colors.grey,
color: AppColors.greyLineColor,
)
: Container()
],

View File

@ -102,6 +102,9 @@ class _ValueAddedServicesAddSMSTemplatePageState
// Navigator.pushNamed(context, Routers.sendElectronicKeyManagePage);
}),
),
SizedBox(
height: 40.h,
)
],
));
}
@ -248,8 +251,8 @@ class _ValueAddedServicesAddSMSTemplatePageState
children: [
Image.asset(
'images/icon_round_unSelet.png',
width: 30.w,
height: 30.w,
width: 26.w,
height: 26.w,
),
],
),

View File

@ -41,6 +41,9 @@ class _ValueAddedServicesListSMSTemplatePageState
Navigator.pushNamed(
context, Routers.valueAddedServicesAddSMSTemplatePage);
}),
SizedBox(
height: 40.h,
)
],
),
);

View File

@ -31,21 +31,20 @@ class SubmitBtn extends StatelessWidget {
bool? isDelete;
bool? isDisabled;
SubmitBtn(
{Key? key,
required this.btnName,
this.borderRadius,
this.color,
this.padding,
this.onClick,
this.margin,
this.width,
this.backgroundColorList,
this.isDelete,
this.fontSize,
this.isDisabled,
})
: super(key: key);
SubmitBtn({
Key? key,
required this.btnName,
this.borderRadius,
this.color,
this.padding,
this.onClick,
this.margin,
this.width,
this.backgroundColorList,
this.isDelete,
this.fontSize,
this.isDisabled,
}) : super(key: key);
@override
Widget build(BuildContext context) {
@ -54,7 +53,9 @@ class SubmitBtn extends StatelessWidget {
height: 60.h,
child: ElevatedButton(
style: ElevatedButton.styleFrom(
backgroundColor: isDisabled == false ? Colors.grey : (isDelete == true ? Colors.red : AppColors.mainColor),
backgroundColor: isDisabled == false
? Colors.grey
: (isDelete == true ? Colors.red : AppColors.mainColor),
),
onPressed: () {
if (onClick != null) {
@ -105,3 +106,57 @@ class SubmitBtn extends StatelessWidget {
*/
}
}
/*
*
* */
class AddBottomWhiteBtn extends StatelessWidget {
String? btnName;
Function()? onClick;
AddBottomWhiteBtn({
Key? key,
required this.btnName,
this.onClick,
}) : super(key: key);
@override
Widget build(BuildContext context) {
return GestureDetector(
child: Container(
height: 90.h,
margin: EdgeInsets.only(left: 20.w, right: 20.w),
decoration: BoxDecoration(
color: Colors.white, borderRadius: BorderRadius.circular(8.w)),
child: Row(
crossAxisAlignment: CrossAxisAlignment.center,
mainAxisAlignment: MainAxisAlignment.center,
children: [
Image.asset(
'images/icon_btn_add.png',
width: 28.w,
height: 28.w,
),
SizedBox(
width: 6.w,
),
Text(
btnName!,
style: TextStyle(
color: AppColors.mainColor,
fontSize: 24.sp,
fontWeight: FontWeight.bold),
)
],
),
),
onTap: () {
if (onClick != null) {
onClick!();
}
},
);
}
}