Merge remote-tracking branch 'origin/master'

# Conflicts:
#	star_lock/lib/main/lockDetail/lcokSet/unlockQRCode/unlockQRCode_page.dart
This commit is contained in:
魏少阳 2023-07-26 09:34:10 +08:00
commit 877dd8580d
50 changed files with 2542 additions and 789 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

View File

@ -199,9 +199,12 @@
"touchUnlock":"Touch Unlock",
"pushNotification":"Push Notification",
"lockUserManagement":"Lock User Management",
"aboutToExpire":"About to expire",
"authorizedAdmin":"Authorized Admin",
"lockGroup":"Lock Group",
"transferSmartLock":"Transfer Smart Lock",
"selectiveLock":"Selective lock",
"recipientInformation":"recipientInformation",
"transferGateway":"Transfer Gateway",
"multiLanguage":"Multi Language",
"lockScreen":"Lock Screen",

View File

@ -202,6 +202,8 @@
"authorizedAdmin":"authorizedAdmin",
"lockGroup":"lockGroup",
"transferSmartLock":"transferSmartLock",
"selectiveLock":"selectiveLock",
"recipientInformation":"recipientInformation",
"transferGateway":"transferGateway",
"multiLanguage":"multiLanguage",
"lockScreen":"lockScreen",
@ -236,6 +238,7 @@
"problemTwo":"problemTwo",
"problemThree":"problemThree",
"pleaseEnterYourAnswer":"pleaseEnterYourAnswer",
"aboutToExpire":"aboutToExpire",
"designation": "designation",
"state": "state",

View File

@ -1,6 +1,6 @@
{
"starLock":"星锁",
"clickUnlockAndHoldDownClose":"点击开锁,长按关闭",
"clickUnlockAndHoldDownClose":"点击开锁长按关闭",
"checkingIn":"考勤",
"electronicKey":"电子钥匙",
"password":"密码",
@ -202,6 +202,8 @@
"authorizedAdmin":"授权管理员",
"lockGroup":"锁分组",
"transferSmartLock":"转移智能锁",
"selectiveLock":"选择锁",
"recipientInformation":"接收人信息",
"transferGateway":"转移网关",
"multiLanguage":"多语言",
"lockScreen":"锁屏",
@ -236,6 +238,7 @@
"problemTwo":"问题二",
"problemThree":"问题三",
"pleaseEnterYourAnswer":"请输入你的答案",
"aboutToExpire":"即将到期",
"designation": "名称",
"state": "状态",

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

View File

@ -1,6 +1,12 @@
import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:star_lock/mine/mineSet/lockGroup/lockGroupList_page.dart';
import 'package:star_lock/mine/mineSet/lockUserManage/lockUserManageList_page.dart';
import 'package:star_lock/mine/mineSet/mineSet_page.dart';
import 'package:star_lock/mine/mineSet/transferGateway/selectGetewayList_page.dart';
import 'package:star_lock/mine/mineSet/transferSmartLock/recipientInformation_page.dart';
import 'package:star_lock/mine/mineSet/transferSmartLock/selectBranch_page.dart';
import 'package:star_lock/mine/mineSet/transferSmartLock/transferSmartLock_page.dart';
import 'login/forgetPassword/starLock_forgetPassword_page.dart';
import 'login/login/starLock_login_page.dart';
@ -85,6 +91,7 @@ import 'mine/minePersonInfo/minePersonInfoResetPassword/minePersonInfoResetPassw
import 'mine/minePersonInfo/minePersonInfoSetSafetyProblem/minePersonInfoSetSafetyProblem_page.dart';
import 'mine/mineSet/appUnlockNeedMobileNetworkingLock/appUnlockNeedMobileNetworkingLock_page.dart';
import 'mine/mineSet/hideInvalidUnlockPermissions/hideInvalidUnlockPermissions_page.dart';
import 'mine/mineSet/lockGroup/lockItemList_page.dart';
import 'mine/mineSet/lockScreen/lockScreen_page.dart';
import 'mine/mine_page.dart';
import 'mine/supportStaff/supportStaff_page.dart';
@ -98,113 +105,160 @@ import 'mine/valueAddedServices/valueAddedServicesNoteAndEmailDetail/valueAddedS
import 'mine/valueAddedServices/valueAddedServicesRealName/valueAddedServicesRealName_page.dart';
import 'mine/valueAddedServices/valueAddedServicesSMSTemplate/valueAddedServicesAddSMSTemplate/valueAddedServicesAddSMSTemplate_page.dart';
import 'mine/valueAddedServices/valueAddedServicesSMSTemplate/valueAddedServicesListSMSTemplate/valueAddedServicesListSMSTemplate_page.dart';
import 'mine/mineSet/authorizedAdministrator/authorizedAdministratorList_page.dart';
import 'starLockApplication.dart';
abstract class Routers {
static const initial = '/';//
static const starLockMain = '/StarLockMain';//
static const starLockMinePage = '/StarLockMinePage';//
static const seletLockTypePage = '/SeletLockTypePage';//
static const addLockPage = '/AddLockPage';//
static const nearbyLockPage = '/NearbyLockPage';//
static const lockAddressPage = '/LockAddressPage';//
static const saveLockPage = '/SaveLockPage';//
static const lockDetailPage = '/LockDetailPage';//
static const electronicKeyListPage = '/ElectronicKeyListPage';//
static const electronicKeyDetailPage = '/ElectronicKeyDetailPage';//
static const electronicKeyDetailChangeDate = '/ElectronicKeyDetailChangeDate';//
static const sendElectronicKeyManagePage = '/SendElectronicKeyManagePage';//
static const massSendElectronicKeyManagePage = '/MassSendElectronicKeyManagePage';//
static const electronicKeyPeriodValidityPage = '/ElectronicKeyPeriodValidityPage';//
static const sendEmailNotificationPage = '/SendEmailNotificationPage';//
static const passwordKeyListPage = '/PasswordKeyListPage';//
static const passwordKeyManagePage = '/PasswordKeyManagePage';//
static const passwordKeyDetailPage = '/PasswordKeyDetailPage';//
static const otherTypeKeyListPage = '/OtherTypeKeyListPage';//
static const otherTypeKeyDetailPage = '/OtherTypeKeyDetailPage';//
static const otherTypeKeyManagePage = '/OtherTypeKeyManagePage';//
static const authorizedAdminListPage = '/AuthorizedAdminListPage';//
static const authorizedAdminDetailPage = '/AuthorizedAdminDetailPage';//
static const authorizedAdminManagePage = '/AuthorizedAdminManagePage';//
static const volumeAuthorizationLockManagePage = '/VolumeAuthorizationLockManagePage';//
static const lockOperatingRecordPage = '/LockOperatingRecordPage';//
static const lockSetPage = '/LockSetPage';//
static const basicInformationPage = '/BasicInformationPage';//
static const uploadElectricQuantityPage = '/UploadElectricQuantityPage';//
static const editLockNamePage = '/EditLockNamePage';//
static const lockSeletGroupingPage = '/LockSeletGroupingPage';//
static const adminOpenLockPasswordPage = '/AdminOpenLockPasswordPage';//
static const wirelessKeyboardPage = '/WirelessKeyboardPage';//
static const addWirelessKeyboardPage = '/AddWirelessKeyboardPage';//
static const addWirelessKeyboardScreenNotLightOnPage = '/AddWirelessKeyboardScreenNotLightOnPage';//
static const seletWirelessKeyboardPage = '/SeletWirelessKeyboardPage';//
static const doorMagneticPage = '/DoorMagneticPage';//
static const addDoorMagneticPage = '/AddDoorMagneticPage';//
static const nearbyDoorMagneticPage = '/NearbyDoorMagneticPage';//
static const remoteUnlockingPage = '/RemoteUnlockingPage';//
static const automaticBlockingPage = '/AutomaticBlockingPage';//
static const normallyOpenModePage = '/NormallyOpenModePage';//
static const lockSoundSetPage = '/LockSoundSetPage';//
static const burglarAlarmPage = '/BurglarAlarmPage';//
static const resetButtonPage = '/ResetButtonPage';//
static const unlockQRCodePage = '/UnlockQRCodePage';//
static const lockTimePage = '/LockTimePage';//
static const diagnosePage = '/DiagnosePage';//
static const uploadDataPage = '/UploadDataPage';//
static const importOtherLockDataPage = '/ImportOtherLockDataPage';//
static const lockEscalationPage = '/LockEscalationPage';//
static const markedHouseStatePage = '/MarkedHouseStatePage';//
static const checkingInListPage = '/CheckingInListPage';//
static const checkingInSetPage = '/CheckingInSetPage';//
static const checkingInStaffManagePage = '/CheckingInStaffManagePage';//
static const checkingInAddStaffPage = '/CheckingInAddStaffPage';//
static const checkingInSetWorkTimePage = '/CheckingInSetWorkTimePage';//
static const checkingInSetWorkdaySet = '/CheckingInSetWorkdaySet';//
static const checkingInSetHolidaysPage = '/CheckingInSetHolidaysPage';//
static const checkingInAddHolidaysPage = '/CheckingInAddHolidaysPage';//
static const checkingInDetailPage = '/CheckingInDetailPage';//
static const initial = '/'; //
static const starLockMain = '/StarLockMain'; //
static const starLockMinePage = '/StarLockMinePage'; //
static const seletLockTypePage = '/SeletLockTypePage'; //
static const addLockPage = '/AddLockPage'; //
static const nearbyLockPage = '/NearbyLockPage'; //
static const lockAddressPage = '/LockAddressPage'; //
static const saveLockPage = '/SaveLockPage'; //
static const lockDetailPage = '/LockDetailPage'; //
static const electronicKeyListPage = '/ElectronicKeyListPage'; //
static const electronicKeyDetailPage = '/ElectronicKeyDetailPage'; //
static const electronicKeyDetailChangeDate =
'/ElectronicKeyDetailChangeDate'; //
static const sendElectronicKeyManagePage =
'/SendElectronicKeyManagePage'; //
static const massSendElectronicKeyManagePage =
'/MassSendElectronicKeyManagePage'; //
static const electronicKeyPeriodValidityPage =
'/ElectronicKeyPeriodValidityPage'; //
static const sendEmailNotificationPage = '/SendEmailNotificationPage'; //
static const passwordKeyListPage = '/PasswordKeyListPage'; //
static const passwordKeyManagePage = '/PasswordKeyManagePage'; //
static const passwordKeyDetailPage = '/PasswordKeyDetailPage'; //
static const otherTypeKeyListPage = '/OtherTypeKeyListPage'; //
static const otherTypeKeyDetailPage =
'/OtherTypeKeyDetailPage'; //
static const otherTypeKeyManagePage =
'/OtherTypeKeyManagePage'; //
static const authorizedAdminListPage = '/AuthorizedAdminListPage'; //
static const authorizedAdminDetailPage =
'/AuthorizedAdminDetailPage'; //
static const authorizedAdminManagePage =
'/AuthorizedAdminManagePage'; //
static const volumeAuthorizationLockManagePage =
'/VolumeAuthorizationLockManagePage'; //
static const lockOperatingRecordPage = '/LockOperatingRecordPage'; //
static const lockSetPage = '/LockSetPage'; //
static const basicInformationPage = '/BasicInformationPage'; //
static const uploadElectricQuantityPage =
'/UploadElectricQuantityPage'; //
static const editLockNamePage = '/EditLockNamePage'; //
static const lockSeletGroupingPage = '/LockSeletGroupingPage'; //
static const adminOpenLockPasswordPage =
'/AdminOpenLockPasswordPage'; //
static const wirelessKeyboardPage = '/WirelessKeyboardPage'; //
static const addWirelessKeyboardPage = '/AddWirelessKeyboardPage'; //
static const addWirelessKeyboardScreenNotLightOnPage =
'/AddWirelessKeyboardScreenNotLightOnPage'; //
static const seletWirelessKeyboardPage =
'/SeletWirelessKeyboardPage'; //
static const doorMagneticPage = '/DoorMagneticPage'; //
static const addDoorMagneticPage = '/AddDoorMagneticPage'; //
static const nearbyDoorMagneticPage = '/NearbyDoorMagneticPage'; //
static const remoteUnlockingPage = '/RemoteUnlockingPage'; //
static const automaticBlockingPage = '/AutomaticBlockingPage'; //
static const normallyOpenModePage = '/NormallyOpenModePage'; //
static const lockSoundSetPage = '/LockSoundSetPage'; //
static const burglarAlarmPage = '/BurglarAlarmPage'; //
static const resetButtonPage = '/ResetButtonPage'; //
static const unlockQRCodePage = '/UnlockQRCodePage'; //
static const lockTimePage = '/LockTimePage'; //
static const diagnosePage = '/DiagnosePage'; //
static const uploadDataPage = '/UploadDataPage'; //
static const importOtherLockDataPage = '/ImportOtherLockDataPage'; //
static const lockEscalationPage = '/LockEscalationPage'; //
static const markedHouseStatePage = '/MarkedHouseStatePage'; //
static const checkingInListPage = '/CheckingInListPage'; //
static const checkingInSetPage = '/CheckingInSetPage'; //
static const checkingInStaffManagePage = '/CheckingInStaffManagePage'; //
static const checkingInAddStaffPage = '/CheckingInAddStaffPage'; //
static const checkingInSetWorkTimePage =
'/CheckingInSetWorkTimePage'; //
static const checkingInSetWorkdaySet = '/CheckingInSetWorkdaySet'; //
static const checkingInSetHolidaysPage =
'/CheckingInSetHolidaysPage'; //
static const checkingInAddHolidaysPage = '/CheckingInAddHolidaysPage'; //
static const checkingInDetailPage = '/CheckingInDetailPage'; //
static const mineSetPage = '/MineSetPage';//
static const mineMultiLanguagePage = '/MineMultiLanguagePage';//
static const minePersonInfoPage = '/MinePersonInfoPage';//
static const minePersonInfoEditNamePage = '/MinePersonInfoEditNamePage';//
static const minePersonInfoEditAccountPage = '/MinePersonInfoEditAccountPage';//
static const minePersonInfoEditAccountNextPage = '/MinePersonInfoEditAccountNextPage';//
static const minePersonInfoEditIphonePage = '/MinePersonInfoEditIphonePage';//
static const minePersonInfoResetPasswordPage = '/MinePersonInfoResetPasswordPage';//
static const minePersonInfoSetSafetyProblemPage = '/MinePersonInfoSetSafetyProblemPage';//
static const mineSetPage = '/MineSetPage'; //
static const mineMultiLanguagePage = '/MineMultiLanguagePage'; //
static const minePersonInfoPage = '/MinePersonInfoPage'; //
static const minePersonInfoEditNamePage =
'/MinePersonInfoEditNamePage'; //
static const minePersonInfoEditAccountPage =
'/MinePersonInfoEditAccountPage'; //
static const minePersonInfoEditAccountNextPage =
'/MinePersonInfoEditAccountNextPage'; //
static const minePersonInfoEditIphonePage =
'/MinePersonInfoEditIphonePage'; //
static const minePersonInfoResetPasswordPage =
'/MinePersonInfoResetPasswordPage'; //
static const minePersonInfoSetSafetyProblemPage =
'/MinePersonInfoSetSafetyProblemPage'; //
static const gatewayListPage = '/GatewayListPage';// -
static const gatewayDetailPage = '/GatewayDetailPage';// -
static const gatewayConnectionLockPage = '/GatewayConnectionLockPage';// -
static const seletGatewayTypePage = '/SeletGatewayTypePage';// -
static const seletGatewayTypeNextTipPage = '/SeletGatewayTypeNextTipPage';// -
static const seletGatewayPage = '/SeletGatewayPage';// -
static const gatewayConfigurationWifiPage = '/GatewayConfigurationWifiPage';// -wifi
static const gatewayListPage = '/GatewayListPage'; // -
static const gatewayDetailPage = '/GatewayDetailPage'; // -
static const gatewayConnectionLockPage =
'/GatewayConnectionLockPage'; // -
static const seletGatewayTypePage = '/SeletGatewayTypePage'; // -
static const seletGatewayTypeNextTipPage =
'/SeletGatewayTypeNextTipPage'; // -
static const seletGatewayPage = '/SeletGatewayPage'; // -
static const gatewayConfigurationWifiPage =
'/GatewayConfigurationWifiPage'; // -wifi
static const messageListPage = '/MessageListPage';// -
static const supportStaffPage = '/SupportStaffPage';// -
static const valueAddedServicesPage = '/ValueAddedServicesPage';// -
static const abountPage = '/AbountPage';// -
static const messageListPage = '/MessageListPage'; // -
static const supportStaffPage = '/SupportStaffPage'; // -
static const valueAddedServicesPage = '/ValueAddedServicesPage'; // -
static const abountPage = '/AbountPage'; // -
static const valueAddedServicesNoteAndEmailDetailPage = '/ValueAddedServicesNoteAndEmailDetailPage';// -
static const valueAddedServicesRealNamePage = '/ValueAddedServicesRealNamePage';// -
static const valueAddedServicesHighFunctionPage = '/ValueAddedServicesHighFunctionPage';// -
static const valueAddedServicesBuyPage = '/ValueAddedServicesBuyPage';// -
static const valueAddedServicesListSMSTemplatePage = '/ValueAddedServicesListSMSTemplatePage';// -
static const valueAddedServicesAddSMSTemplatePage = '/valueAddedServicesAddSMSTemplatePage';// -
static const valueAddedServicesListEmailTemplatePage = '/ValueAddedServicesListEmailTemplatePage';// -
static const valueAddedServicesAddEmailTemplatePage = '/ValueAddedServicesAddEmailTemplatePage';// -
static const valueAddedServicesBuyAndUseRecordManagePage = '/ValueAddedServicesBuyAndUseRecordManagePage';// -使
static const valueAddedServicesNoteAndEmailDetailPage =
'/ValueAddedServicesNoteAndEmailDetailPage'; // -
static const valueAddedServicesRealNamePage =
'/ValueAddedServicesRealNamePage'; // -
static const valueAddedServicesHighFunctionPage =
'/ValueAddedServicesHighFunctionPage'; // -
static const valueAddedServicesBuyPage =
'/ValueAddedServicesBuyPage'; // -
static const valueAddedServicesListSMSTemplatePage =
'/ValueAddedServicesListSMSTemplatePage'; // -
static const valueAddedServicesAddSMSTemplatePage =
'/valueAddedServicesAddSMSTemplatePage'; // -
static const valueAddedServicesListEmailTemplatePage =
'/ValueAddedServicesListEmailTemplatePage'; // -
static const valueAddedServicesAddEmailTemplatePage =
'/ValueAddedServicesAddEmailTemplatePage'; // -
static const valueAddedServicesBuyAndUseRecordManagePage =
'/ValueAddedServicesBuyAndUseRecordManagePage'; // -使
static const lockScreenPage = '/LockScreenPage';// -
static const aPPUnlockNeedMobileNetworkingLockPage = '/APPUnlockNeedMobileNetworkingLockPage';// -app开锁时需手机连网的锁
static const hideInvalidUnlockPermissionsPage = '/HideInvalidUnlockPermissionsPage';// -
static const lockScreenPage = '/LockScreenPage'; // -
static const aPPUnlockNeedMobileNetworkingLockPage =
'/APPUnlockNeedMobileNetworkingLockPage'; // -app开锁时需手机连网的锁
static const hideInvalidUnlockPermissionsPage =
'/HideInvalidUnlockPermissionsPage'; // -
static const starLockLoginPage = '/StarLockLoginPage';//
static const starLockRegisterPage = '/StarLockRegisterPage';//
static const starLockForgetPasswordPage = '/StarLockForgetPasswordPage';//
static const seletCountryRegionPage = '/SeletCountryRegionPage';//
static const lockUserManageLisPage = '/LockUserManageLisPage'; //-
static const authorizedAdministratorListPage =
'/AuthorizedAdministratorListPage'; //-
static const lockGroupListPage = '/LockGroupListPage'; //-
static const lockItemListPage = '/LockItemListPage'; //-
static const transferSmartLockPage = '/transferSmartLockPage'; //
static const recipientInformationPage = '/recipientInformationPage'; //
static const selectBranchPage = '/SelectBranchPage'; //
static const selectGetewayListPage = '/selectGetewayListPage'; //
static const starLockLoginPage = '/StarLockLoginPage'; //
static const starLockRegisterPage = '/StarLockRegisterPage'; //
static const starLockForgetPasswordPage =
'/StarLockForgetPasswordPage'; //
static const seletCountryRegionPage = '/SeletCountryRegionPage'; //
}
abstract class AppRouters {
@ -424,7 +478,7 @@ abstract class AppRouters {
GetPage(
name: Routers.lockTimePage,
page: () => const LockTimePage(),
),//
), //
GetPage(
name: Routers.diagnosePage,
page: () => const DiagnosePage(),
@ -601,5 +655,26 @@ abstract class AppRouters {
name: Routers.hideInvalidUnlockPermissionsPage,
page: () => const HideInvalidUnlockPermissionsPage(),
),
GetPage(
name: Routers.authorizedAdministratorListPage,
page: () => const AuthorizedAdministratorListPage()),
GetPage(
name: Routers.lockUserManageLisPage,
page: () => const LockUserManageListListPage()),
GetPage(
name: Routers.lockGroupListPage, page: () => const LockGroupListPage()),
GetPage(
name: Routers.lockItemListPage, page: () => const LockItemListPage()),
GetPage(
name: Routers.transferSmartLockPage,
page: () => const TransferSmartLockPage()),
GetPage(
name: Routers.recipientInformationPage,
page: () => const RecipientInformationPage()),
GetPage(
name: Routers.selectBranchPage, page: () => const SelectBranchPage()),
GetPage(
name: Routers.selectGetewayListPage,
page: () => const SelectGetewayListPage())
];
}
}

View File

@ -1,10 +1,8 @@
import 'dart:ui';
import 'package:flutter/material.dart';
class AppColors {
// static Color mainColor = const Color(0xFF385DEA);
static Color mainColor = const Color(0xFF4777EE);
static Color mainBackgroundColor = const Color(0xFFF5F5F5);
@ -22,7 +20,6 @@ class AppColors {
static Color buttonEnableTextColor = const Color(0xFFFFFFFF);
static Color buttonDisableTextColor = buttonEnableTextColor.withOpacity(0.6);
static Color deleteBtnBgColor = const Color(0xFFFF495C).withOpacity(0.7);
static Color touristColor = const Color(0xFFF58A22);
@ -37,20 +34,21 @@ class AppColors {
static Color dialogInputBgColor = pickerItemSelectedBgColor;
static Color introduceDialogBgColor = const Color(0xFF112B4C);
static Color pickerTitleTextColor = const Color(0xFF000000);
static Color pickerInfoTextColor = pickerTitleTextColor.withOpacity(0.5);
static Color pickerItemSelectedTextColor = const Color(0xFF0093E5);
static Color pickerItemSelectedBgColor = const Color(0xFFE4E4E4);
static Color pickerItemUnselectTextColor = pickerTitleTextColor.withOpacity(0.5);
static Color pickerItemUnselectTextColor =
pickerTitleTextColor.withOpacity(0.5);
static Color normalTextColor = const Color(0xFFFFFFFF);
static Color inputErrorTextColor = const Color(0xFFFF6666);
static Color errorImageColor = const Color(0xFFFF495C );
static Color errorImageColor = const Color(0xFFFF495C);
static Color inputTitleTextColor = const Color(0xFFFFFFFF).withOpacity(0.6);
static Color settingItemInfoTextColor = const Color(0xFFFFFFFF).withOpacity(0.6);
static Color dividerColor = const Color(0xFFFFFFFF).withOpacity(0.6);
static Color settingItemInfoTextColor =
const Color(0xFFFFFFFF).withOpacity(0.6);
static Color dividerColor = const Color(0xFFFFFFFF).withOpacity(0.6);
static Color textFieldEnableBorderColor = normalTextColor.withOpacity(0.2);
static Color textFieldFocusBorderColor = normalTextColor.withOpacity(0.2);
@ -59,7 +57,6 @@ class AppColors {
static Color protocolTextColor = touristColor;
static Color topTabBarSelectedBgColor = buttonEnableColor;
static Color topTabBarUnselectedBgColor = buttonEnableTextColor;
static Color tapTabBarSelectedTextColor = buttonEnableTextColor;
@ -71,26 +68,26 @@ class AppColors {
static Color wifiDisableColor = const Color(0xFFA8A8A8);
static Color get paginationColor => const Color(0xFF01295C).withOpacity(45);
static Color get paginationActiveColor => const Color(0xFFFFFFFF).withOpacity(65);
static Color get paginationActiveColor =>
const Color(0xFFFFFFFF).withOpacity(65);
static Color scanPointerLineColor = Colors.blue;
static Color scanColor0 = const Color(0xFF0093E5).withOpacity(0.05);
static Color scanColor0 = const Color(0xFF0093E5).withOpacity(0.05);
static Color scanColor1 = const Color(0xFF0093E5).withOpacity(0.1);
static Color scanColor2 = const Color(0xFF0093E5).withOpacity(0.3);
static Color scanColor3 = const Color(0xFF0093E5).withOpacity(0.5);
static Color scanColor4 = const Color(0xFF0093E5).withOpacity(0.9);
static Color scanCircleCenterColor0 = Colors.blue.withOpacity(0.9);
static Color scanCircleCenterColor1 = const Color(0xffE9F3FF).withOpacity(0.8);
static Color scanCircleCenterColor0 = Colors.blue.withOpacity(0.9);
static Color scanCircleCenterColor1 =
const Color(0xffE9F3FF).withOpacity(0.8);
static Color starCenterColor = const Color(0xFF0093E5);
static Color starMiddleColor = const Color.fromRGBO(255, 255, 255,1);
static Color starBorderColor = const Color.fromRGBO(255, 255, 255,0.2);
static Color starOutsideColor = const Color.fromRGBO(255, 255, 255,0.01);
static Color starMiddleColor = const Color.fromRGBO(255, 255, 255, 1);
static Color starBorderColor = const Color.fromRGBO(255, 255, 255, 0.2);
static Color starOutsideColor = const Color.fromRGBO(255, 255, 255, 0.01);
static Color workingStateInfoBgColor = const Color(0xFF20354E);
@ -98,9 +95,9 @@ class AppColors {
static Color color_level_1 = const Color(0xFFFFFFFF);
static Color color_level_2 = const Color(0xFFF7B500);
static Color switchTrackSelectedColor = const Color(0xFF0093E5);
static Color switchTrackUnselectedColor = const Color(0xFF5A6676).withOpacity(0.5);
static Color switchTrackUnselectedColor =
const Color(0xFF5A6676).withOpacity(0.5);
static Color switchThumbColor = const Color(0xFFFFFFFF);
static Color popMenuItemUnselectedBg = const Color(0xFF112B4C);
@ -108,15 +105,17 @@ class AppColors {
static Color blackColor = const Color(0xFF000000);
static Color dateSelectedBgColor = const Color(0xFF0093E5);
static Color dateSelectedTextColor = const Color(0xFFFFFFFF);
static Color dateUnselectedTextColor = blackColor;
static Color dateUnselectedDialogBgColor = const Color(0xFFC9C9C9).withOpacity(0.5);
static Color dateUnselectedDialogBgColor =
const Color(0xFFC9C9C9).withOpacity(0.5);
static Color dateUnselectedBgColor = const Color(0xFFFFFFFF);
static Color progressBgColor = const Color(0xFF022345);
static Color progressValueColor = const Color(0xFF0093E5);
}
static const greyLineColor = Color.fromRGBO(240, 240, 240, 1); //线
static const darkGrayTextColor = Color.fromRGBO(65, 65, 65, 1); //
static const placeholderTextColor = Color.fromRGBO(128, 128, 128, 1); //
}

View File

@ -25,19 +25,18 @@ void main() async {
}
class MyApp extends StatefulWidget {
const MyApp({GlobalKey? key}):super(key: key);
const MyApp({GlobalKey? key}) : super(key: key);
@override
State<MyApp> createState() => _MyAppState();
}
class _MyAppState extends State<MyApp> with WidgetsBindingObserver, BaseWidget {
@override
Widget build(BuildContext context) {
return ScreenUtilInit(
designSize: const Size(750, 1334),
builder: (w, a) => _initMaterialApp());
builder: (w, a) => _initMaterialApp());
}
GetMaterialApp _initMaterialApp() => GetMaterialApp(
@ -49,17 +48,19 @@ class _MyAppState extends State<MyApp> with WidgetsBindingObserver, BaseWidget {
GlobalCupertinoLocalizations.delegate,
GlobalWidgetsLocalizations.delegate,
],
localeResolutionCallback: (locale,supportedLocales){
if(!supportedLocales.contains(locale)) {
int idx = appSupportedLocales.indexWhere((element) => element.languageCode == locale!.languageCode);
if(idx != -1) {
localeResolutionCallback: (locale, supportedLocales) {
if (!supportedLocales.contains(locale)) {
int idx = appSupportedLocales.indexWhere(
(element) => element.languageCode == locale!.languageCode);
if (idx != -1) {
locale = appSupportedLocales[idx];
}else {
} else {
locale = const Locale('zh', 'CN');
}
}
// print("localelocalelocalelocalelocale locale:${locale} locale.languageCode:${locale.languageCode} locale.countryCode:${locale.countryCode} supportedLocales:${supportedLocales}");
AppManager().setLanCode(code: '${locale!.languageCode}_${locale.countryCode}');
AppManager()
.setLanCode(code: '${locale!.languageCode}_${locale.countryCode}');
return locale;
},
// locale: StoreService.to.getLanguageCode().isNotEmpty ? appDept.deptSupportedLocales.where((element) => element.languageCode == StoreService.to.getLanguageCode()).first : Get.deviceLocale,
@ -70,21 +71,19 @@ class _MyAppState extends State<MyApp> with WidgetsBindingObserver, BaseWidget {
backgroundColor: const Color(0xFFF6F6F6),
primaryColor: const Color(0xFFFFFFFF),
textTheme: TextTheme(
//Material组件上的文字显示,
bodyText1: TextStyle(
fontSize: 28.sp, color: const Color(0xff2E2B2B)),
//Material组件上的文字显示,
bodyText1:
TextStyle(fontSize: 28.sp, color: const Color(0xff2E2B2B)),
//Material组件上的文字显示
bodyText2: TextStyle(
fontSize: 28.sp, color: const Color(0xff2E2B2B)),
bodyText2:
TextStyle(fontSize: 28.sp, color: const Color(0xff2E2B2B)),
button: TextStyle(fontSize: 28.sp)),
iconTheme:
IconThemeData(size: 28.sp, color: const Color(0xff2E2B2B)),
iconTheme: IconThemeData(size: 28.sp, color: const Color(0xff2E2B2B)),
appBarTheme: AppBarTheme(
backgroundColor: const Color(0xFFFFFFFF),
elevation: 0,
centerTitle: true,
iconTheme:
IconThemeData(color: const Color(0xff333333), size: 36.sp),
iconTheme: IconThemeData(color: const Color(0xff333333), size: 36.sp),
titleTextStyle: TextStyle(
color: const Color(0xff333333),
fontWeight: FontWeight.w400,
@ -95,8 +94,7 @@ class _MyAppState extends State<MyApp> with WidgetsBindingObserver, BaseWidget {
),
debugShowCheckedModeBanner: false,
getPages: AppRouters.routePages,
initialRoute: '/'
);
initialRoute: '/');
@override
void initState() {
@ -119,15 +117,14 @@ class _MyAppState extends State<MyApp> with WidgetsBindingObserver, BaseWidget {
print("应用进入后台");
}
}
}
//
Future _initTranslation() async => TranslationLoader.loadTranslation(
zhSource: "images/lan/lan_zh.json",
enSource: "images/lan/lan_en.json",
keySource: "images/lan/lan_keys.json",
);
zhSource: "images/lan/lan_zh.json",
enSource: "images/lan/lan_en.json",
keySource: "images/lan/lan_keys.json",
);
//
Future _setCommonServices() async {

View File

@ -1,3 +1,4 @@
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';
@ -30,10 +31,9 @@ class _AuthorizedAdminPageState extends State<AuthorizedAdminPage> {
void initState() {
// TODO: implement initState
super.initState();
}
Widget indexChangeWidget(){
Widget indexChangeWidget() {
switch (int.parse(widget.type)) {
case 0:
{
@ -49,7 +49,7 @@ class _AuthorizedAdminPageState extends State<AuthorizedAdminPage> {
);
}
default:
//
//
return Column(
children: [
keyInfoWidget(),
@ -61,45 +61,68 @@ class _AuthorizedAdminPageState extends State<AuthorizedAdminPage> {
}
// widget
Widget keyInfoWidget(){
Widget keyInfoWidget() {
return Column(
children: [
Container(height: 10.h),
CommonItem(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!.pleaseEnter!.tr)),
CommonItem(
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!.pleaseEnter!.tr)),
Container(height: 10.h),
],
);
}
//
Widget keyTimeWidget(){
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();
}),
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 keyRealNameWidget(){
Widget keyRealNameWidget() {
return Column(
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),
],
);
}
Widget keyBottomWidget(String tipStr){
Widget keyBottomWidget(String tipStr) {
return Column(
children: [
Container(
@ -107,24 +130,37 @@ class _AuthorizedAdminPageState extends State<AuthorizedAdminPage> {
child: Row(
// crossAxisAlignment: CrossAxisAlignment.start,
children: [
Expanded(child: Text(tipStr, textAlign: TextAlign.start,)),
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: (){
}
),
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),
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),)),
TextButton(
onPressed: () {
Navigator.pushNamed(
context, Routers.volumeAuthorizationLockManagePage);
},
child: Text(
TranslationLoader.lanKeys!.volumeAuthorizationLock!.tr,
style: TextStyle(
color: AppColors.mainColor,
fontWeight: FontWeight.w500),
)),
],
),
),
@ -133,7 +169,7 @@ class _AuthorizedAdminPageState extends State<AuthorizedAdminPage> {
}
//
Widget sendElectronicKeySucceed(){
Widget sendElectronicKeySucceed() {
return Column(
children: [
Container(
@ -142,37 +178,72 @@ class _AuthorizedAdminPageState extends State<AuthorizedAdminPage> {
color: Colors.white,
child: Column(
children: [
SizedBox(height: 30.h,),
Image.asset('images/main/icon_main_addLock.png', width: 150.w, height: 150.w, color: AppColors.mainColor,),
SizedBox(height: 20.h,),
SizedBox(
height: 30.h,
),
Image.asset(
'images/main/icon_main_addLock.png',
width: 150.w,
height: 150.w,
color: AppColors.mainColor,
),
SizedBox(
height: 20.h,
),
Row(
mainAxisAlignment: MainAxisAlignment.center,
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,),
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: (){
}),
SizedBox(
height: 20.h,
),
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(
height: 50.h,
width: 500.w,
@ -184,7 +255,7 @@ class _AuthorizedAdminPageState extends State<AuthorizedAdminPage> {
maxLines: 1,
// controller: _controller,
autofocus: false,
textAlign:TextAlign.end,
textAlign: TextAlign.end,
decoration: InputDecoration(
//
contentPadding: const EdgeInsets.only(top: 12.0, bottom: 8.0),
@ -194,34 +265,38 @@ class _AuthorizedAdminPageState extends State<AuthorizedAdminPage> {
),
),
),
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(
value: false,
onChanged: (value){
@ -231,6 +306,18 @@ class _AuthorizedAdminPageState extends State<AuthorizedAdminPage> {
});
}
);
*/
bool _isOn = false;
return CupertinoSwitch(
activeColor: CupertinoColors.activeBlue,
trackColor: CupertinoColors.systemGrey5,
thumbColor: CupertinoColors.white,
value: _isOn,
onChanged: (value) {
setState(() {
_isOn = value;
});
},
);
}
}

View File

@ -1,4 +1,3 @@
import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:get/get.dart';
@ -13,7 +12,8 @@ class AuthorizedAdminListPage extends StatefulWidget {
const AuthorizedAdminListPage({Key? key}) : super(key: key);
@override
State<AuthorizedAdminListPage> createState() => _AuthorizedAdminListPageState();
State<AuthorizedAdminListPage> createState() =>
_AuthorizedAdminListPageState();
}
class _AuthorizedAdminListPageState extends State<AuthorizedAdminListPage> {
@ -21,13 +21,20 @@ class _AuthorizedAdminListPageState extends State<AuthorizedAdminListPage> {
Widget build(BuildContext context) {
return Scaffold(
backgroundColor: AppColors.mainBackgroundColor,
appBar: TitleAppBar(barTitle: TranslationLoader.lanKeys!.authorizedAdmin!.tr, haveBack:true, backgroundColor: AppColors.mainColor, actionsList: [
TextButton(
child: Text(TranslationLoader.lanKeys!.reset!.tr, style: const TextStyle(color: Colors.white),),
onPressed: (){
},),
],),
appBar: TitleAppBar(
barTitle: TranslationLoader.lanKeys!.authorizedAdmin!.tr,
haveBack: true,
backgroundColor: AppColors.mainColor,
actionsList: [
TextButton(
child: Text(
TranslationLoader.lanKeys!.reset!.tr,
style: const TextStyle(color: Colors.white),
),
onPressed: () {},
),
],
),
body: Column(
children: [
_searchWidget(),
@ -35,24 +42,23 @@ class _AuthorizedAdminListPageState extends State<AuthorizedAdminListPage> {
SubmitBtn(
btnName: TranslationLoader.lanKeys!.authorizedAdmin!.tr,
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),
onClick: (){
onClick: () {
Navigator.pushNamed(context, Routers.authorizedAdminManagePage);
}
),
}),
],
),
);
}
Widget _searchWidget(){
Widget _searchWidget() {
return Container(
height: 80.h,
margin: EdgeInsets.only(top:20.w, left: 20.w, right: 20.w),
height: 60.h,
margin: EdgeInsets.only(top: 20.w, left: 20.w, right: 20.w),
decoration: BoxDecoration(
color: Colors.white,
borderRadius: BorderRadius.circular(5)),
color: Colors.white, borderRadius: BorderRadius.circular(5)),
child: TextField(
//
maxLines: 1,
@ -67,40 +73,54 @@ class _AuthorizedAdminListPageState extends State<AuthorizedAdminListPage> {
border: InputBorder.none,
//
icon: Padding(
padding: EdgeInsets.only(top:30.w, bottom: 20.w, right: 20.w, left: 20.w),
child: Image.asset('images/main/icon_main_search.png', width: 40.w, height: 40.w,),
padding: EdgeInsets.only(
top: 30.w, bottom: 20.w, right: 20.w, left: 20.w),
child: Image.asset(
'images/main/icon_main_search.png',
width: 40.w,
height: 40.w,
),
),
),
),
);
}
Widget _buildMainUI(){
Widget _buildMainUI() {
return ListView.builder(
itemCount:10,
itemBuilder: (c, index){
return _electronicKeyItem('images/icon_lock.png', "张三", "2023.6.21 11.15", "2023.6.21 11.15",(){
itemCount: 10,
itemBuilder: (c, index) {
return _electronicKeyItem('images/icon_lock.png', "张三",
"2023.6.21 11.15", "2023.6.21 11.15", () {
Navigator.pushNamed(context, Routers.authorizedAdminDetailPage);
});
}
);
});
}
Widget _electronicKeyItem(String lockTypeIcon, String lockTypeTitle, String beginTime, String endTime, Function() action){
Widget _electronicKeyItem(String lockTypeIcon, String lockTypeTitle,
String beginTime, String endTime, Function() action) {
return GestureDetector(
onTap: action,
child: Container(
height: 100.h,
margin: EdgeInsets.only(left: 20.w, right: 20.w, top: 20.w),
decoration: BoxDecoration(
decoration: BoxDecoration(
color: Colors.white,
borderRadius: BorderRadius.circular(10.w),
),
child: Row(
children: [
SizedBox(width: 30.w,),
Image.asset(lockTypeIcon, width: 50.w, height: 50.w,),
SizedBox(width: 30.w,),
SizedBox(
width: 30.w,
),
Image.asset(
lockTypeIcon,
width: 50.w,
height: 50.w,
),
SizedBox(
width: 30.w,
),
Expanded(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
@ -108,23 +128,31 @@ class _AuthorizedAdminListPageState extends State<AuthorizedAdminListPage> {
Row(
mainAxisAlignment: MainAxisAlignment.start,
children: [
Text(lockTypeTitle, style: TextStyle(fontSize: 32.sp, fontWeight: FontWeight.w500), ),
Text(
lockTypeTitle,
style: TextStyle(
fontSize: 32.sp, fontWeight: FontWeight.w500),
),
],
),
SizedBox(height:5.h),
SizedBox(height: 5.h),
Container(
child: Row(
mainAxisAlignment: MainAxisAlignment.start,
children: [
Text("2023.6.21 11.15 永久", style: TextStyle(fontSize: 28.sp, fontWeight: FontWeight.w500), ),
Text(
"2023.6.21 11.15 永久",
style: TextStyle(
fontSize: 28.sp, fontWeight: FontWeight.w500),
),
],
),
),
SizedBox(width:20.h),
SizedBox(width: 20.h),
],
),
),
SizedBox(width:20.h),
SizedBox(width: 20.h),
],
),
),

View File

@ -19,87 +19,108 @@ class _ElectronicKeyListPageState extends State<ElectronicKeyListPage> {
@override
Widget build(BuildContext context) {
return Scaffold(
backgroundColor: AppColors.mainBackgroundColor,
appBar: TitleAppBar(barTitle: TranslationLoader.lanKeys!.electronicKey!.tr, haveBack:true, backgroundColor: AppColors.mainColor, actionsList: [
backgroundColor: AppColors.mainBackgroundColor,
appBar: TitleAppBar(
barTitle: TranslationLoader.lanKeys!.electronicKey!.tr,
haveBack: true,
backgroundColor: AppColors.mainColor,
actionsList: [
TextButton(
child: Text(TranslationLoader.lanKeys!.reset!.tr, style: const TextStyle(color: Colors.white),),
onPressed: (){
},),
],),
body: Column(
children: [
_searchWidget(),
Expanded(child: _buildMainUI()),
SubmitBtn(
btnName: TranslationLoader.lanKeys!.sendKey!.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.sendElectronicKeyManagePage);
}
child: Text(
TranslationLoader.lanKeys!.reset!.tr,
style: const TextStyle(color: Colors.white),
),
],
),
onPressed: () {},
),
],
),
body: Column(
children: [
_searchWidget(),
Expanded(child: _buildMainUI()),
SubmitBtn(
btnName: TranslationLoader.lanKeys!.sendKey!.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.sendElectronicKeyManagePage);
}),
],
),
);
}
Widget _searchWidget(){
Widget _searchWidget() {
return Container(
height: 80.h,
margin: EdgeInsets.only(top:20.w, left: 20.w, right: 20.w),
decoration: BoxDecoration(
color: Colors.white,
borderRadius: BorderRadius.circular(5)),
child: TextField(
//
maxLines: 1,
// controller: _controller,
autofocus: false,
decoration: InputDecoration(
//
contentPadding: const EdgeInsets.only(
top: 12.0, left: -19.0, right: -15.0, bottom: 8.0),
hintText: TranslationLoader.lanKeys!.pleaseEnter!.tr,
//线
border: InputBorder.none,
//
icon: Padding(
padding: EdgeInsets.only(top:30.w, bottom: 20.w, right: 20.w, left: 20.w),
child: Image.asset('images/main/icon_main_search.png', width: 40.w, height: 40.w,),
),
height: 60.h,
margin: EdgeInsets.only(top: 20.w, left: 20.w, right: 20.w),
decoration: BoxDecoration(
color: Colors.white, borderRadius: BorderRadius.circular(5)),
child: TextField(
//
maxLines: 1,
// controller: _controller,
autofocus: false,
decoration: InputDecoration(
//
contentPadding: const EdgeInsets.only(
top: 12.0, left: -19.0, right: -15.0, bottom: 8.0),
hintText: TranslationLoader.lanKeys!.pleaseEnter!.tr,
//线
border: InputBorder.none,
//
icon: Padding(
padding: EdgeInsets.only(
top: 30.w, bottom: 20.w, right: 20.w, left: 20.w),
child: Image.asset(
'images/main/icon_main_search.png',
width: 40.w,
height: 40.w,
),
),
);
}
Widget _buildMainUI(){
return ListView.builder(
itemCount:10,
itemBuilder: (c, index){
return _electronicKeyItem('images/icon_lock.png', "张三", "2023.6.21 11.15", "2023.6.21 11.15",(){
Navigator.pushNamed(context, Routers.electronicKeyDetailPage);
});
}
),
),
);
}
Widget _electronicKeyItem(String lockTypeIcon, String lockTypeTitle, String beginTime, String endTime, Function() action){
Widget _buildMainUI() {
return ListView.builder(
itemCount: 10,
itemBuilder: (c, index) {
return _electronicKeyItem('images/icon_lock.png', "张三",
"2023.6.21 11.15", "2023.6.21 11.15", () {
Navigator.pushNamed(context, Routers.electronicKeyDetailPage);
});
});
}
Widget _electronicKeyItem(String lockTypeIcon, String lockTypeTitle,
String beginTime, String endTime, Function() action) {
return GestureDetector(
onTap: action,
child: Container(
height: 100.h,
margin: EdgeInsets.only(left: 20.w, right: 20.w, top: 20.w),
decoration: BoxDecoration(
decoration: BoxDecoration(
color: Colors.white,
borderRadius: BorderRadius.circular(10.w),
),
child: Row(
children: [
SizedBox(width: 30.w,),
Image.asset(lockTypeIcon, width: 50.w, height: 50.w,),
SizedBox(width: 30.w,),
SizedBox(
width: 30.w,
),
Image.asset(
lockTypeIcon,
width: 50.w,
height: 50.w,
),
SizedBox(
width: 30.w,
),
Expanded(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
@ -109,26 +130,38 @@ class _ElectronicKeyListPageState extends State<ElectronicKeyListPage> {
child: Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Text(lockTypeTitle, style: TextStyle(fontSize: 32.sp, fontWeight: FontWeight.w500), ),
SizedBox(width:20.w),
Text("待接收", style: TextStyle(fontSize: 24.sp, fontWeight: FontWeight.w500), ),
Text(
lockTypeTitle,
style: TextStyle(
fontSize: 32.sp, fontWeight: FontWeight.w500),
),
SizedBox(width: 20.w),
Text(
"待接收",
style: TextStyle(
fontSize: 24.sp, fontWeight: FontWeight.w500),
),
],
),
),
SizedBox(width:20.w),
SizedBox(width: 20.w),
Container(
child: Row(
mainAxisAlignment: MainAxisAlignment.start,
children: [
Text("2023.6.21 11.15-2023.6.21 11.15", style: TextStyle(fontSize: 28.sp, fontWeight: FontWeight.w500), ),
Text(
"2023.6.21 11.15-2023.6.21 11.15",
style: TextStyle(
fontSize: 28.sp, fontWeight: FontWeight.w500),
),
],
),
),
SizedBox(width:20.h),
SizedBox(width: 20.h),
],
),
),
SizedBox(width:20.h),
SizedBox(width: 20.h),
],
),
),

View File

@ -1,4 +1,3 @@
import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:get/get.dart';
@ -12,7 +11,8 @@ class ImportOtherLockDataPage extends StatefulWidget {
const ImportOtherLockDataPage({Key? key}) : super(key: key);
@override
State<ImportOtherLockDataPage> createState() => _ImportOtherLockDataPageState();
State<ImportOtherLockDataPage> createState() =>
_ImportOtherLockDataPageState();
}
class _ImportOtherLockDataPageState extends State<ImportOtherLockDataPage> {
@ -20,43 +20,48 @@ class _ImportOtherLockDataPageState extends State<ImportOtherLockDataPage> {
Widget build(BuildContext context) {
return Scaffold(
backgroundColor: AppColors.mainBackgroundColor,
appBar: TitleAppBar(barTitle: TranslationLoader.lanKeys!.importOtherLockData!.tr, haveBack:true, backgroundColor: AppColors.mainColor),
body:Container(
appBar: TitleAppBar(
barTitle: TranslationLoader.lanKeys!.importOtherLockData!.tr,
haveBack: true,
backgroundColor: AppColors.mainColor),
body: Container(
padding: EdgeInsets.all(30.w),
child: Column(
children: [
Row(
mainAxisAlignment: MainAxisAlignment.start,
children: [
Expanded(child: Text(TranslationLoader.lanKeys!.importOtherLockDataTip!.tr)),
Expanded(
child: Text(TranslationLoader
.lanKeys!.importOtherLockDataTip!.tr)),
],
),
SizedBox(height: 20.h,),
SizedBox(
height: 20.h,
),
_searchWidget(),
SizedBox(height: 10.h,),
SizedBox(
height: 10.h,
),
Expanded(child: _buildMainUI()),
SubmitBtn(btnName: TranslationLoader.lanKeys!.sure!.tr,
SubmitBtn(
btnName: TranslationLoader.lanKeys!.sure!.tr,
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: () {
}
),
onClick: () {}),
],
),
)
);
));
}
Widget _searchWidget(){
Widget _searchWidget() {
return Container(
height: 70.h,
height: 60.h,
// margin: EdgeInsets.only(top:20.w),
decoration: BoxDecoration(
color: Colors.white,
borderRadius: BorderRadius.circular(5)),
color: Colors.white, borderRadius: BorderRadius.circular(5)),
child: TextField(
//
maxLines: 1,
@ -71,40 +76,54 @@ class _ImportOtherLockDataPageState extends State<ImportOtherLockDataPage> {
border: InputBorder.none,
//
icon: Padding(
padding: EdgeInsets.only(top:30.w, bottom: 20.w, right: 20.w, left: 20.w),
child: Image.asset('images/main/icon_main_search.png', width: 40.w, height: 40.w,),
padding: EdgeInsets.only(
top: 30.w, bottom: 20.w, right: 20.w, left: 20.w),
child: Image.asset(
'images/main/icon_main_search.png',
width: 40.w,
height: 40.w,
),
),
),
),
);
}
Widget _buildMainUI(){
Widget _buildMainUI() {
return ListView.builder(
itemCount:20,
itemBuilder: (c, index){
return _electronicKeyItem('images/icon_lock.png', "张三", "2023.6.21 11.15", "2023.6.21 11.15",(){
itemCount: 20,
itemBuilder: (c, index) {
return _electronicKeyItem('images/icon_lock.png', "张三",
"2023.6.21 11.15", "2023.6.21 11.15", () {
// Navigator.pushNamed(context, Routers.electronicKeyDetailPage);
});
}
);
});
}
Widget _electronicKeyItem(String lockTypeIcon, String lockTypeTitle, String beginTime, String endTime, Function() action){
Widget _electronicKeyItem(String lockTypeIcon, String lockTypeTitle,
String beginTime, String endTime, Function() action) {
return GestureDetector(
onTap: action,
child: Container(
height: 100.h,
margin: EdgeInsets.only(top: 15.h),
decoration: BoxDecoration(
decoration: BoxDecoration(
color: Colors.white,
borderRadius: BorderRadius.circular(10.w),
),
child: Row(
children: [
SizedBox(width: 30.w,),
Image.asset(lockTypeIcon, width: 50.w, height: 50.w,),
SizedBox(width: 30.w,),
SizedBox(
width: 30.w,
),
Image.asset(
lockTypeIcon,
width: 50.w,
height: 50.w,
),
SizedBox(
width: 30.w,
),
Expanded(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
@ -114,30 +133,41 @@ class _ImportOtherLockDataPageState extends State<ImportOtherLockDataPage> {
child: Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Text(lockTypeTitle, style: TextStyle(fontSize: 32.sp, fontWeight: FontWeight.w500), ),
SizedBox(width:20.w),
Text("待接收", style: TextStyle(fontSize: 24.sp, fontWeight: FontWeight.w500), ),
Text(
lockTypeTitle,
style: TextStyle(
fontSize: 32.sp, fontWeight: FontWeight.w500),
),
SizedBox(width: 20.w),
Text(
"待接收",
style: TextStyle(
fontSize: 24.sp, fontWeight: FontWeight.w500),
),
],
),
),
SizedBox(width:20.w),
SizedBox(width: 20.w),
Container(
child: Row(
mainAxisAlignment: MainAxisAlignment.start,
children: [
Text("2023.6.21 11.15-2023.6.21 11.15", style: TextStyle(fontSize: 28.sp, fontWeight: FontWeight.w500), ),
Text(
"2023.6.21 11.15-2023.6.21 11.15",
style: TextStyle(
fontSize: 28.sp, fontWeight: FontWeight.w500),
),
],
),
),
SizedBox(width:20.h),
SizedBox(width: 20.h),
],
),
),
SizedBox(width:20.h),
SizedBox(width: 20.h),
],
),
),
);
}
}

View File

@ -20,8 +20,11 @@ class _UnlockQRCodePageState extends State<UnlockQRCodePage> {
Widget build(BuildContext context) {
return Scaffold(
backgroundColor: AppColors.mainBackgroundColor,
appBar: TitleAppBar(barTitle: TranslationLoader.lanKeys!.burglarAlarm!.tr, haveBack:true, backgroundColor: AppColors.mainColor),
body:Column(
appBar: TitleAppBar(
barTitle: TranslationLoader.lanKeys!.burglarAlarm!.tr,
haveBack: true,
backgroundColor: AppColors.mainColor),
body: Column(
children: [
Container(
padding: EdgeInsets.all(25.w),
@ -30,11 +33,11 @@ class _UnlockQRCodePageState extends State<UnlockQRCodePage> {
color: Colors.white,
borderRadius: BorderRadius.all(Radius.circular(10.h)),
),
child: Text("拥有电子钥匙的人,通过微信扫一扫这个二维码,即可开门。每把锁的二维码都不相同,你可以将其打印出来贴在对应的锁旁边")
),
child: Text(
"拥有电子钥匙的人,通过微信扫一扫这个二维码,即可开门。每把锁的二维码都不相同,你可以将其打印出来贴在对应的锁旁边")),
Container(
width: 1.sw,
padding: EdgeInsets.only(top:50.w),
padding: EdgeInsets.only(top: 50.w),
margin: EdgeInsets.only(left: 25.w, right: 25.w),
decoration: BoxDecoration(
color: Colors.white,

View File

@ -1,4 +1,3 @@
import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:get/get.dart';
@ -19,103 +18,146 @@ class _LockDetailPageState extends State<LockDetailPage> {
@override
Widget build(BuildContext context) {
return Scaffold(
backgroundColor: Colors.white,
appBar: TitleAppBar(barTitle: TranslationLoader.lanKeys!.starLock!.tr, haveBack:true, backgroundColor: AppColors.mainColor),
body: Column(
children: [
topWidget(),
Expanded(child: bottomWidget())
],
),
backgroundColor: Colors.white,
appBar: TitleAppBar(
barTitle: TranslationLoader.lanKeys!.starLock!.tr,
haveBack: true,
backgroundColor: AppColors.mainColor),
body: Column(
children: [topWidget(), Expanded(child: bottomWidget())],
),
);
}
Widget topWidget(){
return Column(
children: [
SizedBox(height:40.h),
Stack(
alignment: Alignment.centerRight,
children: [
Align(
alignment:Alignment.center,
child: Text("MCBN01-ea9240", style: TextStyle(fontSize: 36.sp, fontWeight: FontWeight.w500),)
),
Row(
mainAxisAlignment: MainAxisAlignment.end,
children: [
Text("100%", style: TextStyle(fontSize: 24.sp, fontWeight: FontWeight.w500), ),
SizedBox(width:5.w),
Image.asset('images/main/icon_main_cell.png', width: 50.w, height: 50.w,),
SizedBox(width:30.w),
],
),
],
),
SizedBox(height: 40.h),
Container(
width: 1.sw,
height: 280.w,
child: Stack(
Widget topWidget() {
return Column(
children: [
SizedBox(height: 40.h),
Stack(
alignment: Alignment.centerRight,
children: [
Align(
alignment: Alignment.center,
child: Text(
"MCBN01-ea9240",
style:
TextStyle(fontSize: 36.sp, fontWeight: FontWeight.w500),
)),
Row(
mainAxisAlignment: MainAxisAlignment.end,
children: [
Center(child: Image.asset('images/main/icon_main_openLockBtn.png', width: 280.w, height: 280.w)),
Align(
alignment: const Alignment(0.5, 1),
child: Image.asset('images/main/icon_main_remoteUnlocking.png', width: 90.w, height: 90.w,)
Text(
"100%",
style:
TextStyle(fontSize: 24.sp, fontWeight: FontWeight.w500),
),
SizedBox(width: 5.w),
Image.asset(
'images/main/icon_main_cell.png',
width: 50.w,
height: 50.w,
),
SizedBox(width: 30.w),
],
),
),
SizedBox(height: 40.h,),
Row(
mainAxisAlignment: MainAxisAlignment.center,
],
),
SizedBox(height: 40.h),
Container(
width: 1.sw,
height: 280.w,
child: Stack(
children: [
Text(TranslationLoader.lanKeys!.clickUnlockAndHoldDownClose!.tr, style: TextStyle(fontSize: 28.sp, color: const Color(0xFFB3B3B3), fontWeight: FontWeight.w500),),
Center(
child: Image.asset('images/main/icon_main_openLockBtn.png',
width: 280.w, height: 280.w)),
Align(
alignment: const Alignment(0.5, 1),
child: Image.asset(
'images/main/icon_main_remoteUnlocking.png',
width: 90.w,
height: 90.w,
)),
],
),
SizedBox(height: 40.h,),
Container(height: 0.5.h, color: Colors.grey,)
],
);
),
SizedBox(
height: 40.h,
),
Row(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Text(
TranslationLoader.lanKeys!.clickUnlockAndHoldDownClose!.tr,
style: TextStyle(
fontSize: 24.sp,
color: const Color(0xFFB3B3B3),
fontWeight: FontWeight.w500),
),
],
),
SizedBox(
height: 40.h,
),
Divider(
height: 1,
color: const Color(0xFFB3B3B3),
indent: 20.w,
endIndent: 20.w,
)
],
);
}
Widget bottomWidget(){
Widget bottomWidget() {
return Container(
margin: EdgeInsets.only(left:10.w, right:10.w, top: 25.h),
margin: EdgeInsets.only(left: 10.w, right: 10.w, top: 25.h),
// color: Colors.blue,
child: SizedBox(
child:GridView.count(
child: GridView.count(
crossAxisCount: 4,
// childAspectRatio: 3,
crossAxisSpacing: 20.w,
mainAxisSpacing: 10.h,
physics: const NeverScrollableScrollPhysics(),
children: [
bottomItem('images/main/icon_main_clockingIn.png', TranslationLoader.lanKeys!.checkingIn!.tr, (){
bottomItem('images/main/icon_main_clockingIn.png',
TranslationLoader.lanKeys!.checkingIn!.tr, () {
Navigator.pushNamed(context, Routers.checkingInListPage);
}),
bottomItem('images/main/icon_main_electronicKey.png', TranslationLoader.lanKeys!.electronicKey!.tr, (){
bottomItem('images/main/icon_main_electronicKey.png',
TranslationLoader.lanKeys!.electronicKey!.tr, () {
Navigator.pushNamed(context, Routers.electronicKeyListPage);
}),
bottomItem('images/main/icon_main_password.png', TranslationLoader.lanKeys!.password!.tr, (){
bottomItem('images/main/icon_main_password.png',
TranslationLoader.lanKeys!.password!.tr, () {
Navigator.pushNamed(context, Routers.passwordKeyListPage);
}),
bottomItem('images/main/icon_main_icCard.png', TranslationLoader.lanKeys!.card!.tr, (){
Navigator.pushNamed(context, Routers.otherTypeKeyListPage, arguments: 0);
bottomItem('images/main/icon_main_icCard.png',
TranslationLoader.lanKeys!.card!.tr, () {
Navigator.pushNamed(context, Routers.otherTypeKeyListPage,
arguments: 0);
}),
bottomItem('images/main/icon_main_fingerprint.png', TranslationLoader.lanKeys!.fingerprint!.tr, (){
Navigator.pushNamed(context, Routers.otherTypeKeyListPage, arguments: 1);
bottomItem('images/main/icon_main_fingerprint.png',
TranslationLoader.lanKeys!.fingerprint!.tr, () {
Navigator.pushNamed(context, Routers.otherTypeKeyListPage,
arguments: 1);
}),
bottomItem('images/main/icon_main_remoteControl.png', TranslationLoader.lanKeys!.remoteControl!.tr, (){
Navigator.pushNamed(context, Routers.otherTypeKeyListPage, arguments: 2);
bottomItem('images/main/icon_main_remoteControl.png',
TranslationLoader.lanKeys!.remoteControl!.tr, () {
Navigator.pushNamed(context, Routers.otherTypeKeyListPage,
arguments: 2);
}),
bottomItem('images/main/icon_main_authorizedAdmin.png', TranslationLoader.lanKeys!.authorizedAdmin!.tr, (){
bottomItem('images/main/icon_main_authorizedAdmin.png',
TranslationLoader.lanKeys!.authorizedAdmin!.tr, () {
Navigator.pushNamed(context, Routers.authorizedAdminListPage);
}),
bottomItem('images/main/icon_main_operatingRecord.png', TranslationLoader.lanKeys!.operatingRecord!.tr, (){
bottomItem('images/main/icon_main_operatingRecord.png',
TranslationLoader.lanKeys!.operatingRecord!.tr, () {
Navigator.pushNamed(context, Routers.lockOperatingRecordPage);
}),
bottomItem('images/main/icon_main_set.png', TranslationLoader.lanKeys!.set!.tr, (){
bottomItem('images/main/icon_main_set.png',
TranslationLoader.lanKeys!.set!.tr, () {
Navigator.pushNamed(context, Routers.lockSetPage);
}),
],
@ -124,27 +166,31 @@ 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 height = 70.h;
return GestureDetector(
onTap:onClick,
onTap: onClick,
child: Container(
// height: 300.h,
color: Colors.white,
color: Colors.white,
child: Column(
crossAxisAlignment: CrossAxisAlignment.center,
children: [
SizedBox(
width: width,
height: height,
child: Image.asset(iconUrl, width: width,height: height,fit: BoxFit.fitWidth),
child: Image.asset(iconUrl,
width: width, height: height, fit: BoxFit.fitWidth),
),
SizedBox(height: 15.w),
Expanded(child: Text(name,style: TextStyle(fontSize: 25.sp, color:const Color(0xff333333)),textAlign: TextAlign.center))
Expanded(
child: Text(name,
style: TextStyle(
fontSize: 25.sp, color: const Color(0xff333333)),
textAlign: TextAlign.center))
],
)
),
)),
);
}
}

View File

@ -1,4 +1,3 @@
import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:get/get.dart';
@ -12,7 +11,8 @@ class LockOperatingRecordPage extends StatefulWidget {
const LockOperatingRecordPage({Key? key}) : super(key: key);
@override
State<LockOperatingRecordPage> createState() => _LockOperatingRecordPageState();
State<LockOperatingRecordPage> createState() =>
_LockOperatingRecordPageState();
}
class _LockOperatingRecordPageState extends State<LockOperatingRecordPage> {
@ -20,29 +20,42 @@ class _LockOperatingRecordPageState extends State<LockOperatingRecordPage> {
Widget build(BuildContext context) {
return Scaffold(
backgroundColor: AppColors.mainBackgroundColor,
appBar: TitleAppBar(barTitle:TranslationLoader.lanKeys!.operatingRecord!.tr, haveBack:true, backgroundColor: AppColors.mainColor, actionsList: [
TextButton(
child: const Text("操作", style: TextStyle(color: Colors.white),),
onPressed: (){
JhPopMenus.showLinePop(context, clickCallback: (index, selText) {
print('选中index: $index');
print('选中text: $selText');
appBar: TitleAppBar(
barTitle: TranslationLoader.lanKeys!.operatingRecord!.tr,
haveBack: true,
backgroundColor: AppColors.mainColor,
actionsList: [
TextButton(
child: const Text(
"操作",
style: TextStyle(color: Colors.white),
),
onPressed: () {
JhPopMenus.showLinePop(context, clickCallback: (index, selText) {
print('选中index: $index');
print('选中text: $selText');
if (selText == '添加朋友') {
// JhNavUtils.pushNamed(context, 'WxAddFriendPage');
}
if (selText == '扫一扫') {
// _scan();
}
});
},),
],),
if (selText == '添加朋友') {
// JhNavUtils.pushNamed(context, 'WxAddFriendPage');
}
if (selText == '扫一扫') {
// _scan();
}
});
},
),
],
),
body: Column(
children: [
Container(
// crossAxisAlignment: CrossAxisAlignment.start,
padding: EdgeInsets.all(20.h),
child: Text(TranslationLoader.lanKeys!.lockOperatingRecordTip!.tr, textAlign: TextAlign.start,),
child: Text(
TranslationLoader.lanKeys!.lockOperatingRecordTip!.tr,
textAlign: TextAlign.start,
style: TextStyle(fontSize: 24.sp),
),
),
_searchWidget(),
Expanded(child: _buildMainUI()),
@ -51,13 +64,12 @@ class _LockOperatingRecordPageState extends State<LockOperatingRecordPage> {
);
}
Widget _searchWidget(){
Widget _searchWidget() {
return Container(
height: 60.h,
margin: EdgeInsets.only(left: 20.w, right: 20.w),
decoration: BoxDecoration(
color: Colors.white,
borderRadius: BorderRadius.circular(5)),
color: Colors.white, borderRadius: BorderRadius.circular(5)),
child: TextField(
//
maxLines: 1,
@ -73,84 +85,109 @@ class _LockOperatingRecordPageState extends State<LockOperatingRecordPage> {
border: InputBorder.none,
//
icon: Padding(
padding: EdgeInsets.only(top:30.w, bottom: 20.w, right: 20.w, left: 20.w),
child: Image.asset('images/main/icon_main_search.png', width: 40.w, height: 40.w,),
padding: EdgeInsets.only(
top: 30.w, bottom: 20.w, right: 20.w, left: 20.w),
child: Image.asset(
'images/main/icon_main_search.png',
width: 40.w,
height: 40.w,
),
),
),
),
);
}
Widget _buildMainUI(){
Widget _buildMainUI() {
return ListView.builder(
itemCount:20,
itemBuilder: (c, index){
if(index%2 == 0){
itemCount: 20,
itemBuilder: (c, index) {
if (index % 2 == 0) {
return _dateItem("2023-06-29");
}else{
return _operatingRecordItem('images/icon_lock.png', "张三", "2023.6.21 11.15", "2023.6.21 11.15",(){
} else {
return _operatingRecordItem('images/controls_user.png', "张三",
"2023.6.21 11.15", "2023.6.21 11.15", () {
// Navigator.pushNamed(context, Routers.electronicKeyDetailPage);
});
}
}
);
});
}
Widget _dateItem(String lockDate){
Widget _dateItem(String lockDate) {
return Container(
height: 70.h,
// color: Colors.red,
padding: EdgeInsets.only(left:20.h, right: 20.h),
padding: EdgeInsets.only(left: 20.h, right: 20.h),
child: Row(
children: [
Text(lockDate, style: TextStyle(fontSize: 32.sp, fontWeight: FontWeight.w500), ),
Text(
lockDate,
style: TextStyle(fontSize: 28.sp),
),
],
),
);
}
Widget _operatingRecordItem(String lockTypeIcon, String lockTypeTitle, String beginTime, String endTime, Function() action){
Widget _operatingRecordItem(String lockTypeIcon, String lockTypeTitle,
String beginTime, String endTime, Function() action) {
return GestureDetector(
onTap: action,
child: Container(
height: 110.h,
height: 90.h,
padding: EdgeInsets.only(left: 20.w, right: 20.w),
decoration: BoxDecoration(
decoration: BoxDecoration(
color: Colors.white,
borderRadius: BorderRadius.circular(10.w),
),
child: Row(
children: [
SizedBox(width: 30.w,),
Image.asset(lockTypeIcon, width: 50.w, height: 50.w,),
SizedBox(width: 30.w,),
SizedBox(
width: 20.w,
),
Image.asset(
lockTypeIcon,
width: 50.w,
height: 50.w,
),
SizedBox(
width: 30.w,
),
Expanded(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Row(
children: [
Text(lockTypeTitle, style: TextStyle(fontSize: 32.sp, fontWeight: FontWeight.w500), ),
Text(
lockTypeTitle,
style: TextStyle(
fontSize: 28.sp, color: AppColors.blackColor),
),
],
),
SizedBox(height:10.h),
SizedBox(height: 10.h),
Container(
child: Row(
mainAxisAlignment: MainAxisAlignment.start,
children: [
Text("2023.6.21 11.15-2023.6.21 11.15", style: TextStyle(fontSize: 28.sp, fontWeight: FontWeight.w500), ),
Text(
"2023.6.21 11.15-2023.6.21 11.15",
style: TextStyle(
fontSize: 28.sp,
color: AppColors.darkGrayTextColor),
),
],
),
),
SizedBox(width:20.h),
SizedBox(width: 20.h),
],
),
),
SizedBox(width:20.h),
SizedBox(width: 20.h),
],
),
),
);
}
}

View File

@ -1,4 +1,3 @@
import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:get/get.dart';
@ -17,38 +16,46 @@ class OtherTypeKeyListPage extends StatefulWidget {
}
class _OtherTypeKeyListPageState extends State<OtherTypeKeyListPage> {
@override
Widget build(BuildContext context) {
var type = ModalRoute.of(context)?.settings.arguments as int;
return Scaffold(
backgroundColor: AppColors.mainBackgroundColor,
appBar: TitleAppBar(barTitle: getAppBarTitle(type), haveBack:true, backgroundColor: AppColors.mainColor, actionsList: [
TextButton(
child: Text(TranslationLoader.lanKeys!.reset!.tr, style: const TextStyle(color: Colors.white),),
onPressed: (){
},),
],),
appBar: TitleAppBar(
barTitle: getAppBarTitle(type),
haveBack: true,
backgroundColor: AppColors.mainColor,
actionsList: [
TextButton(
child: Text(
TranslationLoader.lanKeys!.reset!.tr,
style: const TextStyle(color: Colors.white),
),
onPressed: () {},
),
],
),
body: Column(
children: [
_searchWidget(),
Expanded(child: _buildMainUI(type)),
SubmitBtn(
btnName: '${TranslationLoader.lanKeys!.getTip!.tr} ${getAppBarTitle(type)}',
btnName:
'${TranslationLoader.lanKeys!.getTip!.tr} ${getAppBarTitle(type)}',
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),
onClick: (){
Navigator.pushNamed(context, Routers.otherTypeKeyManagePage, arguments: type);
}
),
onClick: () {
Navigator.pushNamed(context, Routers.otherTypeKeyManagePage,
arguments: type);
}),
],
),
);
}
String getAppBarTitle(int type){
String getAppBarTitle(int type) {
String title = "";
switch (type) {
case 0:
@ -66,13 +73,12 @@ class _OtherTypeKeyListPageState extends State<OtherTypeKeyListPage> {
return title;
}
Widget _searchWidget(){
Widget _searchWidget() {
return Container(
height: 80.h,
margin: EdgeInsets.only(top:20.w, left: 20.w, right: 20.w),
height: 60.h,
margin: EdgeInsets.only(top: 20.w, left: 20.w, right: 20.w),
decoration: BoxDecoration(
color: Colors.white,
borderRadius: BorderRadius.circular(5)),
color: Colors.white, borderRadius: BorderRadius.circular(5)),
child: TextField(
//
maxLines: 1,
@ -87,40 +93,55 @@ class _OtherTypeKeyListPageState extends State<OtherTypeKeyListPage> {
border: InputBorder.none,
//
icon: Padding(
padding: EdgeInsets.only(top:30.w, bottom: 20.w, right: 20.w, left: 20.w),
child: Image.asset('images/main/icon_main_search.png', width: 40.w, height: 40.w,),
padding: EdgeInsets.only(
top: 30.w, bottom: 20.w, right: 20.w, left: 20.w),
child: Image.asset(
'images/main/icon_main_search.png',
width: 40.w,
height: 40.w,
),
),
),
),
);
}
Widget _buildMainUI(int type){
Widget _buildMainUI(int type) {
return ListView.builder(
itemCount:10,
itemBuilder: (c, index){
return _electronicKeyItem('images/icon_lock.png', "张三", "2023.6.21 11.15", "2023.6.21 11.15",(){
Navigator.pushNamed(context, Routers.otherTypeKeyDetailPage, arguments: type);
itemCount: 10,
itemBuilder: (c, index) {
return _electronicKeyItem('images/icon_lock.png', "张三",
"2023.6.21 11.15", "2023.6.21 11.15", () {
Navigator.pushNamed(context, Routers.otherTypeKeyDetailPage,
arguments: type);
});
}
);
});
}
Widget _electronicKeyItem(String lockTypeIcon, String lockTypeTitle, String beginTime, String endTime, Function() action){
Widget _electronicKeyItem(String lockTypeIcon, String lockTypeTitle,
String beginTime, String endTime, Function() action) {
return GestureDetector(
onTap: action,
child: Container(
height: 100.h,
margin: EdgeInsets.only(left: 20.w, right: 20.w, top: 20.w),
decoration: BoxDecoration(
decoration: BoxDecoration(
color: Colors.white,
borderRadius: BorderRadius.circular(10.w),
),
child: Row(
children: [
SizedBox(width: 30.w,),
Image.asset(lockTypeIcon, width: 50.w, height: 50.w,),
SizedBox(width: 30.w,),
SizedBox(
width: 30.w,
),
Image.asset(
lockTypeIcon,
width: 50.w,
height: 50.w,
),
SizedBox(
width: 30.w,
),
Expanded(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
@ -128,23 +149,31 @@ class _OtherTypeKeyListPageState extends State<OtherTypeKeyListPage> {
Row(
mainAxisAlignment: MainAxisAlignment.start,
children: [
Text(lockTypeTitle, style: TextStyle(fontSize: 32.sp, fontWeight: FontWeight.w500), ),
Text(
lockTypeTitle,
style: TextStyle(
fontSize: 32.sp, fontWeight: FontWeight.w500),
),
],
),
SizedBox(height:5.h),
SizedBox(height: 5.h),
Container(
child: Row(
mainAxisAlignment: MainAxisAlignment.start,
children: [
Text("2023.6.21 11.15 永久", style: TextStyle(fontSize: 28.sp, fontWeight: FontWeight.w500), ),
Text(
"2023.6.21 11.15 永久",
style: TextStyle(
fontSize: 28.sp, fontWeight: FontWeight.w500),
),
],
),
),
SizedBox(width:20.h),
SizedBox(width: 20.h),
],
),
),
SizedBox(width:20.h),
SizedBox(width: 20.h),
],
),
),

View File

@ -20,13 +20,20 @@ class _PasswordKeyListPageState extends State<PasswordKeyListPage> {
Widget build(BuildContext context) {
return Scaffold(
backgroundColor: AppColors.mainBackgroundColor,
appBar: TitleAppBar(barTitle: TranslationLoader.lanKeys!.password!.tr, haveBack:true, backgroundColor: AppColors.mainColor, actionsList: [
TextButton(
child: Text(TranslationLoader.lanKeys!.reset!.tr, style: const TextStyle(color: Colors.white),),
onPressed: (){
},),
],),
appBar: TitleAppBar(
barTitle: TranslationLoader.lanKeys!.password!.tr,
haveBack: true,
backgroundColor: AppColors.mainColor,
actionsList: [
TextButton(
child: Text(
TranslationLoader.lanKeys!.reset!.tr,
style: const TextStyle(color: Colors.white),
),
onPressed: () {},
),
],
),
body: Column(
children: [
_searchWidget(),
@ -34,24 +41,23 @@ class _PasswordKeyListPageState extends State<PasswordKeyListPage> {
SubmitBtn(
btnName: TranslationLoader.lanKeys!.getPassword!.tr,
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),
onClick: (){
onClick: () {
Navigator.pushNamed(context, Routers.passwordKeyManagePage);
}
),
}),
],
),
);
}
Widget _searchWidget(){
Widget _searchWidget() {
return Container(
height: 80.h,
margin: EdgeInsets.only(top:20.w, left: 20.w, right: 20.w),
height: 60.h,
margin: EdgeInsets.only(top: 20.w, left: 20.w, right: 20.w),
decoration: BoxDecoration(
color: Colors.white,
borderRadius: BorderRadius.circular(5)),
color: Colors.white, borderRadius: BorderRadius.circular(5)),
child: TextField(
//
maxLines: 1,
@ -66,40 +72,54 @@ class _PasswordKeyListPageState extends State<PasswordKeyListPage> {
border: InputBorder.none,
//
icon: Padding(
padding: EdgeInsets.only(top:30.w, bottom: 20.w, right: 20.w, left: 20.w),
child: Image.asset('images/main/icon_main_search.png', width: 40.w, height: 40.w,),
padding: EdgeInsets.only(
top: 30.w, bottom: 20.w, right: 20.w, left: 20.w),
child: Image.asset(
'images/main/icon_main_search.png',
width: 40.w,
height: 40.w,
),
),
),
),
);
}
Widget _buildMainUI(){
Widget _buildMainUI() {
return ListView.builder(
itemCount:10,
itemBuilder: (c, index){
return _electronicKeyItem('images/icon_lock.png', "张三", "2023.6.21 11.15", "2023.6.21 11.15",(){
itemCount: 10,
itemBuilder: (c, index) {
return _electronicKeyItem('images/icon_lock.png', "张三",
"2023.6.21 11.15", "2023.6.21 11.15", () {
Navigator.pushNamed(context, Routers.passwordKeyDetailPage);
});
}
);
});
}
Widget _electronicKeyItem(String lockTypeIcon, String lockTypeTitle, String beginTime, String endTime, Function()? action){
Widget _electronicKeyItem(String lockTypeIcon, String lockTypeTitle,
String beginTime, String endTime, Function()? action) {
return GestureDetector(
onTap: action,
child: Container(
height: 100.h,
margin: EdgeInsets.only(left: 20.w, right: 20.w, top: 20.w),
decoration: BoxDecoration(
decoration: BoxDecoration(
color: Colors.white,
borderRadius: BorderRadius.circular(10.w),
),
child: Row(
children: [
SizedBox(width: 30.w,),
Image.asset(lockTypeIcon, width: 50.w, height: 50.w,),
SizedBox(width: 30.w,),
SizedBox(
width: 30.w,
),
Image.asset(
lockTypeIcon,
width: 50.w,
height: 50.w,
),
SizedBox(
width: 30.w,
),
Expanded(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
@ -107,23 +127,31 @@ class _PasswordKeyListPageState extends State<PasswordKeyListPage> {
Row(
mainAxisAlignment: MainAxisAlignment.start,
children: [
Text(lockTypeTitle, style: TextStyle(fontSize: 32.sp, fontWeight: FontWeight.w500), ),
Text(
lockTypeTitle,
style: TextStyle(
fontSize: 32.sp, fontWeight: FontWeight.w500),
),
],
),
SizedBox(height:5.h),
SizedBox(height: 5.h),
Container(
child: Row(
mainAxisAlignment: MainAxisAlignment.start,
children: [
Text("2023.6.21 11.15 永久", style: TextStyle(fontSize: 28.sp, fontWeight: FontWeight.w500), ),
Text(
"2023.6.21 11.15 永久",
style: TextStyle(
fontSize: 28.sp, fontWeight: FontWeight.w500),
),
],
),
),
SizedBox(width:20.h),
SizedBox(width: 20.h),
],
),
),
SizedBox(width:20.h),
SizedBox(width: 20.h),
],
),
),

View File

@ -16,54 +16,66 @@ class AddLockPage extends StatefulWidget {
State<AddLockPage> createState() => _AddLockPageState();
}
class _AddLockPageState extends State<AddLockPage> with BaseWidget{
class _AddLockPageState extends State<AddLockPage> with BaseWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
backgroundColor: AppColors.mainBackgroundColor,
appBar: TitleAppBar(barTitle: TranslationLoader.lanKeys!.addLock!.tr, haveBack:true, backgroundColor: AppColors.mainColor),
backgroundColor: Colors.white,
appBar: TitleAppBar(
barTitle: TranslationLoader.lanKeys!.addLock!.tr,
haveBack: true,
backgroundColor: AppColors.mainColor),
body: Column(
// mainAxisAlignment: MainAxisAlignment.center,
// crossAxisAlignment: CrossAxisAlignment.center,
children: [
SizedBox(height: 100.h,),
SizedBox(
height: 100.h,
),
Row(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Text(TranslationLoader.lanKeys!.lightTouchScreen!.tr, style: TextStyle(fontSize: 36.sp, fontWeight: FontWeight.w500),),
Text(
TranslationLoader.lanKeys!.lightTouchScreen!.tr,
style: TextStyle(fontSize: 36.sp, fontWeight: FontWeight.w500),
),
],
),
SizedBox(height: 120.h,),
Image.asset('images/main/icon_main_addLock.png', width: 150.w, height: 150.w,),
SizedBox(height: 120.h,),
SizedBox(
height: 120.h,
),
Image.asset(
'images/lockType/addLock_touchScreen.png',
width: 278.w,
height: 278.w,
),
SizedBox(
height: 120.h,
),
Row(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Text(TranslationLoader.lanKeys!.lightTouchScreenTip!.tr, style: TextStyle(fontSize: 28.sp, fontWeight: FontWeight.w500),),
Text(
TranslationLoader.lanKeys!.lightTouchScreenTip!.tr,
style: TextStyle(fontSize: 28.sp, fontWeight: FontWeight.w500),
),
],
),
SizedBox(height: 120.h,),
SizedBox(
height: 120.h,
),
SubmitBtn(
btnName: TranslationLoader.lanKeys!.next!.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: (){
onClick: () {
Navigator.pushNamed(context, Routers.nearbyLockPage);
}
),
}),
],
),
);
}
void onShow() {}
void onShow(){
}
void onHide(){
}
void onHide() {}
}

View File

@ -15,12 +15,15 @@ class SeletLockTypePage extends StatefulWidget {
State<SeletLockTypePage> createState() => _SeletLockTypePageState();
}
class _SeletLockTypePageState extends State<SeletLockTypePage> with BaseWidget{
class _SeletLockTypePageState extends State<SeletLockTypePage> with BaseWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
backgroundColor: AppColors.mainBackgroundColor,
appBar: TitleAppBar(barTitle: TranslationLoader.lanKeys!.addLock!.tr, haveBack:true, backgroundColor: AppColors.mainColor),
appBar: TitleAppBar(
barTitle: TranslationLoader.lanKeys!.addLock!.tr,
haveBack: true,
backgroundColor: AppColors.mainColor),
body: Column(
children: [
allLock(),
@ -33,25 +36,33 @@ class _SeletLockTypePageState extends State<SeletLockTypePage> with BaseWidget{
crossAxisSpacing: 10,
mainAxisSpacing: 10,
children: [
lockTypeItem('images/icon_lock.png', TranslationLoader.lanKeys!.doorLock!.tr, (){
lockTypeItem('images/lockType/lockType_doorLock.png',
TranslationLoader.lanKeys!.doorLock!.tr, () {
Navigator.pushNamed(context, Routers.addLockPage);
}),
lockTypeItem('images/icon_lock.png', TranslationLoader.lanKeys!.padlock!.tr, (){
lockTypeItem('images/lockType/lockType_padlock.png',
TranslationLoader.lanKeys!.padlock!.tr, () {
Navigator.pushNamed(context, Routers.addLockPage);
}),
lockTypeItem('images/icon_lock.png', TranslationLoader.lanKeys!.safeLock!.tr, (){
lockTypeItem('images/lockType/lockType_safeLock.png',
TranslationLoader.lanKeys!.safeLock!.tr, () {
Navigator.pushNamed(context, Routers.addLockPage);
}),
lockTypeItem('images/icon_lock.png', TranslationLoader.lanKeys!.intelligentLockCore!.tr, (){
lockTypeItem(
'images/lockType/lockType_intelligentLockCore.png',
TranslationLoader.lanKeys!.intelligentLockCore!.tr, () {
Navigator.pushNamed(context, Routers.addLockPage);
}),
lockTypeItem('images/icon_lock.png', TranslationLoader.lanKeys!.parkingLock!.tr, (){
lockTypeItem('images/lockType/lockType_parkingLock.png',
TranslationLoader.lanKeys!.parkingLock!.tr, () {
Navigator.pushNamed(context, Routers.addLockPage);
}),
lockTypeItem('images/icon_lock.png', TranslationLoader.lanKeys!.bicycleLock!.tr, (){
lockTypeItem('images/lockType/lockType_bicycleLock.png',
TranslationLoader.lanKeys!.bicycleLock!.tr, () {
Navigator.pushNamed(context, Routers.addLockPage);
}),
lockTypeItem('images/icon_lock.png', TranslationLoader.lanKeys!.longRangeControl!.tr, (){
lockTypeItem('images/lockType/lockType_remoteControl.png',
TranslationLoader.lanKeys!.longRangeControl!.tr, () {
Navigator.pushNamed(context, Routers.addLockPage);
}),
],
@ -63,41 +74,51 @@ class _SeletLockTypePageState extends State<SeletLockTypePage> with BaseWidget{
);
}
Widget allLock(){
Widget allLock() {
return GestureDetector(
onTap: (){
},
onTap: () {},
child: Container(
height: 150.h,
color: Colors.white,
margin: const EdgeInsets.all(10),
child: Row(
children: [
SizedBox(width:40.w),
Image.asset('images/icon_lock.png', width: 80.w, height: 100.w,),
SizedBox(width:40.w),
SizedBox(width: 40.w),
Image.asset(
'images/lockType/lockType_allLocks.png',
width: 88.w,
height: 80.w,
),
SizedBox(width: 40.w),
Expanded(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(TranslationLoader.lanKeys!.allLock!.tr, style: TextStyle(fontSize: 30.sp, fontWeight: FontWeight.w500)),
Text(TranslationLoader.lanKeys!.searchAllLockType!.tr, style: TextStyle(fontSize: 26.sp, fontWeight: FontWeight.w500)),
Text(TranslationLoader.lanKeys!.allLock!.tr,
style: TextStyle(
fontSize: 30.sp, fontWeight: FontWeight.w500)),
Text(TranslationLoader.lanKeys!.searchAllLockType!.tr,
style: TextStyle(
fontSize: 26.sp, fontWeight: FontWeight.w500)),
],
),
),
SizedBox(width:40.w),
Image.asset('images/icon_right.png', width: 60.w, height: 60.w,),
SizedBox(width:40.w),
SizedBox(width: 40.w),
Image.asset(
'images/icon_right.png',
width: 60.w,
height: 60.w,
),
SizedBox(width: 40.w),
],
),
),
);
}
Widget lockTypeItem(String lockTypeIcon, String lockTypeTitle, Function() action){
Widget lockTypeItem(
String lockTypeIcon, String lockTypeTitle, Function() action) {
return GestureDetector(
onTap: action,
child: Container(
@ -106,30 +127,38 @@ class _SeletLockTypePageState extends State<SeletLockTypePage> with BaseWidget{
// margin: EdgeInsets.all(10),
child: Row(
children: [
SizedBox(width:20.w),
Image.asset(lockTypeIcon, width: 40.w, height: 50.w,),
SizedBox(width:20.w),
SizedBox(width: 20.w),
Image.asset(
lockTypeIcon,
width: 40.w,
height: 57.w,
),
SizedBox(width: 20.w),
Expanded(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(lockTypeTitle, style: TextStyle(fontSize: 30.sp, fontWeight: FontWeight.w500)),
Text(lockTypeTitle,
style: TextStyle(
fontSize: 30.sp, fontWeight: FontWeight.w500)),
],
),
),
SizedBox(width:20.w),
Image.asset('images/icon_right.png', width: 60.w, height: 60.w,),
SizedBox(width:20.w),
SizedBox(width: 20.w),
Image.asset(
'images/icon_right.png',
width: 60.w,
height: 60.w,
),
SizedBox(width: 20.w),
],
),
),
);
}
void onShow(){
}
void onShow() {}
void onHide(){
}
void onHide() {}
}

View File

@ -19,42 +19,65 @@ class _GatewayListPageState extends State<GatewayListPage> {
Widget build(BuildContext context) {
return Scaffold(
backgroundColor: AppColors.mainBackgroundColor,
appBar: TitleAppBar(barTitle: TranslationLoader.lanKeys!.gateway!.tr, haveBack:true, backgroundColor: AppColors.mainColor, actionsList: [
GestureDetector(
onTap: (){
Navigator.pushNamed(context, Routers.seletGatewayTypePage);
},
child: Image.asset('images/icon_add_white.png', width: 50.w, height: 50.w,)
),
SizedBox(width: 30.w,),
],),
appBar: TitleAppBar(
barTitle: TranslationLoader.lanKeys!.gateway!.tr,
haveBack: true,
backgroundColor: AppColors.mainColor,
actionsList: [
GestureDetector(
onTap: () {
Navigator.pushNamed(context, Routers.seletGatewayTypePage);
},
child: Image.asset(
'images/icon_add_white.png',
width: 50.w,
height: 50.w,
)),
SizedBox(
width: 30.w,
),
],
),
body: ListView.builder(
itemCount:10,
itemBuilder: (c, index){
return _gatewatListItem('images/mine/icon_mine_gatewayListMainIcon.png', "星锁网关", "在线", "2", (){
itemCount: 10,
itemBuilder: (c, index) {
return _gatewatListItem(
'images/mine/icon_mine_gatewayListMainIcon.png',
"星锁网关",
"在线",
"2", () {
Navigator.pushNamed(context, Routers.gatewayDetailPage);
});
}
),
}),
);
}
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(
onTap: action,
child: Container(
// height: 100.h,
margin: const EdgeInsets.only(bottom: 2),
padding: EdgeInsets.only(left: 10.w, right: 20.w, top: 20.h, bottom: 20.h),
decoration: BoxDecoration(
padding:
EdgeInsets.only(left: 10.w, right: 20.w, top: 20.h, bottom: 20.h),
decoration: BoxDecoration(
color: Colors.white,
borderRadius: BorderRadius.circular(10.w),
),
child: Row(
children: [
SizedBox(width: 10.w,),
Image.asset(lockTypeIcon, width: 90.w, height: 90.w,),
SizedBox(width: 20.w,),
SizedBox(
width: 10.w,
),
Image.asset(
lockTypeIcon,
width: 60.w,
height: 60.w,
),
SizedBox(
width: 20.w,
),
Expanded(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
@ -64,31 +87,56 @@ class _GatewayListPageState extends State<GatewayListPage> {
child: Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Text(gateWayName, style: TextStyle(fontSize: 32.sp, fontWeight: FontWeight.w500), ),
Text(
gateWayName,
style: TextStyle(
fontSize: 28.sp, fontWeight: FontWeight.w500),
),
],
),
),
SizedBox(height:5.h),
SizedBox(height: 5.h),
Container(
child: Row(
mainAxisAlignment: MainAxisAlignment.start,
children: [
Image.asset('images/mine/icon_mine_gatewayListOnline.png', width: 40.w, height: 40.w,),
SizedBox(width: 10.w,),
Text("在线", style: TextStyle(fontSize: 28.sp, fontWeight: FontWeight.w500), ),
SizedBox(width: 80.w,),
Image.asset('images/mine/icon_mine_gatewayListNumber.png', width: 40.w, height: 40.w,),
SizedBox(width: 10.w,),
Text("2", style: TextStyle(fontSize: 28.sp, fontWeight: FontWeight.w500), ),
Image.asset(
'images/mine/icon_mine_gatewayListOnline.png',
width: 40.w,
height: 40.w,
),
SizedBox(
width: 10.w,
),
Text(
"在线",
style: TextStyle(
fontSize: 24.sp, fontWeight: FontWeight.w500),
),
SizedBox(
width: 80.w,
),
Image.asset(
'images/mine/icon_mine_gatewayListNumber.png',
width: 40.w,
height: 40.w,
),
SizedBox(
width: 10.w,
),
Text(
"2",
style: TextStyle(
fontSize: 28.sp, fontWeight: FontWeight.w500),
),
],
),
),
SizedBox(width:20.h),
SizedBox(width: 20.h),
],
),
),
SizedBox(width:20.h),
SizedBox(width: 20.h),
],
),
),

View File

@ -1,4 +1,3 @@
import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:get/get.dart';
@ -20,34 +19,47 @@ class _MessageListPageState extends State<MessageListPage> {
Widget build(BuildContext context) {
return Scaffold(
backgroundColor: AppColors.mainBackgroundColor,
appBar: TitleAppBar(barTitle: TranslationLoader.lanKeys!.message!.tr, haveBack:true, backgroundColor: AppColors.mainColor),
appBar: TitleAppBar(
barTitle: TranslationLoader.lanKeys!.message!.tr,
haveBack: true,
backgroundColor: AppColors.mainColor),
body: ListView.builder(
itemCount:10,
itemBuilder: (c, index){
return _seletGatewayListListItem('images/mine/icon_mine_gatewayListMainIcon.png', "您的钥匙已发送成功", "2023.6.21 11.15", (){
itemCount: 10,
itemBuilder: (c, index) {
return _seletGatewayListListItem('images/icon_lockGroup_item.png',
"您的钥匙已发送成功", "2023.6.21 11.15", () {
// 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(
onTap: action,
child: Container(
// height: 100.h,
margin: const EdgeInsets.only(bottom: 2),
padding: EdgeInsets.only(left: 10.w, right: 20.w, top: 20.h, bottom: 20.h),
decoration: BoxDecoration(
padding:
EdgeInsets.only(left: 10.w, right: 20.w, top: 20.h, bottom: 20.h),
decoration: BoxDecoration(
color: Colors.white,
borderRadius: BorderRadius.circular(10.w),
),
child: Row(
children: [
SizedBox(width: 10.w,),
Image.asset(lockTypeIcon, width: 80.w, height: 80.w,),
SizedBox(width: 20.w,),
SizedBox(
width: 10.w,
),
Image.asset(
lockTypeIcon,
width: 80.w,
height: 80.w,
),
SizedBox(
width: 20.w,
),
Expanded(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
@ -57,22 +69,30 @@ class _MessageListPageState extends State<MessageListPage> {
child: Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Text(gateWayName, style: TextStyle(fontSize: 32.sp, fontWeight: FontWeight.w500), ),
Text(
gateWayName,
style: TextStyle(
fontSize: 32.sp, fontWeight: FontWeight.w500),
),
],
),
),
SizedBox(height:5.h),
SizedBox(height: 5.h),
Container(
child: Row(
mainAxisAlignment: MainAxisAlignment.start,
children: [
// Image.asset('images/mine/icon_mine_gatewaySignal_strong.png', width: 40.w, height: 40.w,),
// SizedBox(width: 10.w,),
Text(networkSignal, style: TextStyle(fontSize: 28.sp, fontWeight: FontWeight.w500), ),
Text(
networkSignal,
style: TextStyle(
fontSize: 28.sp, fontWeight: FontWeight.w500),
),
],
),
),
SizedBox(width:20.h),
SizedBox(width: 20.h),
],
),
)
@ -81,5 +101,4 @@ class _MessageListPageState extends State<MessageListPage> {
),
);
}
}

View File

@ -0,0 +1,152 @@
import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:get/get.dart';
import '../../../../appRouters.dart';
import '../../../../app_settings/app_colors.dart';
import '../../../../tools/titleAppBar.dart';
import '../../../../translations/trans_lib.dart';
class AuthorizedAdministratorListPage extends StatefulWidget {
const AuthorizedAdministratorListPage({Key? key}) : super(key: key);
@override
State<AuthorizedAdministratorListPage> createState() =>
_AuthorizedAdministratorListPageState();
}
class _AuthorizedAdministratorListPageState
extends State<AuthorizedAdministratorListPage> {
@override
Widget build(BuildContext context) {
return Scaffold(
backgroundColor: AppColors.mainBackgroundColor,
appBar: TitleAppBar(
barTitle: TranslationLoader.lanKeys!.authorizedAdmin!.tr,
haveBack: true,
backgroundColor: AppColors.mainColor,
actionsList: [
IconButton(
icon: Image.asset('images/icon_add_white.png'),
onPressed: () {
//
Navigator.pushNamed(context, Routers.authorizedAdminManagePage);
},
),
],
),
body: Column(
children: [
_searchWidget(),
Expanded(child: _buildMainUI()),
],
),
);
}
Widget _searchWidget() {
return Container(
height: 60.h,
margin: EdgeInsets.only(top: 20.w, left: 20.w, right: 20.w),
decoration: BoxDecoration(
color: Colors.white, borderRadius: BorderRadius.circular(5)),
child: TextField(
//
maxLines: 1,
// controller: _controller,
autofocus: false,
decoration: InputDecoration(
//
contentPadding: const EdgeInsets.only(
top: 12.0, left: -19.0, right: -15.0, bottom: 8.0),
hintText: TranslationLoader.lanKeys!.pleaseEnter!.tr,
//线
border: InputBorder.none,
//
icon: Padding(
padding: EdgeInsets.only(
top: 30.w, bottom: 20.w, right: 20.w, left: 20.w),
child: Image.asset(
'images/main/icon_main_search.png',
width: 40.w,
height: 40.w,
),
),
),
),
);
}
Widget _buildMainUI() {
return ListView.builder(
itemCount: 10,
itemBuilder: (c, index) {
return _electronicKeyItem('images/icon_lock.png', "张三",
"2023.6.21 11.15", "2023.6.21 11.15", () {
Navigator.pushNamed(context, Routers.authorizedAdminDetailPage);
});
});
}
Widget _electronicKeyItem(String lockTypeIcon, String lockTypeTitle,
String beginTime, String endTime, Function() action) {
return GestureDetector(
onTap: action,
child: Container(
height: 100.h,
margin: EdgeInsets.only(left: 20.w, right: 20.w, top: 20.w),
decoration: BoxDecoration(
color: Colors.white,
borderRadius: BorderRadius.circular(10.w),
),
child: Row(
children: [
SizedBox(
width: 30.w,
),
Image.asset(
lockTypeIcon,
width: 50.w,
height: 50.w,
),
SizedBox(
width: 30.w,
),
Expanded(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Row(
mainAxisAlignment: MainAxisAlignment.start,
children: [
Text(
lockTypeTitle,
style: TextStyle(
fontSize: 32.sp, fontWeight: FontWeight.w500),
),
],
),
SizedBox(height: 5.h),
Container(
child: Row(
mainAxisAlignment: MainAxisAlignment.start,
children: [
Text(
"2023.6.21 11.15 永久",
style: TextStyle(
fontSize: 28.sp, fontWeight: FontWeight.w500),
),
],
),
),
SizedBox(width: 20.h),
],
),
),
SizedBox(width: 20.h),
],
),
),
);
}
}

View File

@ -0,0 +1,71 @@
import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:get/get.dart';
import '../../../../../appRouters.dart';
import '../../../../../app_settings/app_colors.dart';
import '../../../../../tools/commonItem.dart';
import '../../../../../tools/submitBtn.dart';
import '../../../../../tools/titleAppBar.dart';
import '../../../../../translations/trans_lib.dart';
class LockGroupListPage extends StatefulWidget {
const LockGroupListPage({Key? key}) : super(key: key);
@override
State<LockGroupListPage> createState() => _LockGroupListPageState();
}
class _LockGroupListPageState extends State<LockGroupListPage> {
@override
Widget build(BuildContext context) {
return Scaffold(
backgroundColor: AppColors.mainBackgroundColor,
appBar: TitleAppBar(
barTitle: TranslationLoader.lanKeys!.basicInformation!.tr,
haveBack: true,
actionsList: [
IconButton(
icon: Image.asset('images/icon_add_white.png'),
onPressed: () {
// -
},
),
],
backgroundColor: AppColors.mainColor),
body: Column(
children: [
Expanded(child: _buildMainUI()),
],
),
);
}
Widget _buildMainUI() {
return ListView.builder(
itemCount: 2,
itemBuilder: (c, index) {
if (index == 1) {
return Center(
child: SizedBox(
height: 40.h,
child: const Text(
'锁数量1',
style: TextStyle(
color: AppColors.darkGrayTextColor, fontSize: 14),
),
),
);
} else {
return CommonItem(
leftTitel: "未分组1",
rightTitle: "",
allHeight: 70.h,
isHaveLine: true,
action: () {
Navigator.pushNamed(context, Routers.lockItemListPage);
});
}
});
}
}

View File

@ -0,0 +1,66 @@
import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:get/get.dart';
import '../../../../../app_settings/app_colors.dart';
import '../../../../../tools/commonItem.dart';
import '../../../../../tools/titleAppBar.dart';
import '../../../../../translations/trans_lib.dart';
class LockItemListPage extends StatefulWidget {
const LockItemListPage({Key? key}) : super(key: key);
@override
State<LockItemListPage> createState() => _LockItemListPageState();
}
class _LockItemListPageState extends State<LockItemListPage> {
@override
Widget build(BuildContext context) {
return Scaffold(
backgroundColor: AppColors.mainBackgroundColor,
appBar: TitleAppBar(
barTitle: TranslationLoader.lanKeys!.basicInformation!.tr,
haveBack: true,
backgroundColor: AppColors.mainColor),
body: ListView.builder(
itemBuilder: (context, index) {
return _listItemView();
},
itemCount: 2,
),
);
}
Widget _listItemView() {
return GestureDetector(
child: Container(
color: Colors.white,
height: 70.h,
child: Row(
mainAxisAlignment: MainAxisAlignment.start,
crossAxisAlignment: CrossAxisAlignment.center,
children: [
SizedBox(
width: 20.w,
),
Image.asset(
'images/icon_lockGroup_item.png',
width: 30,
height: 30,
fit: BoxFit.fill,
),
SizedBox(
width: 8.w,
),
const Text(
'Daisy',
style: TextStyle(fontSize: 14),
)
],
),
),
onTap: () {},
);
}
}

View File

@ -0,0 +1,171 @@
import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:get/get.dart';
import '../../../../appRouters.dart';
import '../../../../app_settings/app_colors.dart';
import '../../../../tools/titleAppBar.dart';
import '../../../../translations/trans_lib.dart';
class LockUserManageListListPage extends StatefulWidget {
const LockUserManageListListPage({Key? key}) : super(key: key);
@override
State<LockUserManageListListPage> createState() =>
_LockUserManageListListPageState();
}
class _LockUserManageListListPageState
extends State<LockUserManageListListPage> {
@override
Widget build(BuildContext context) {
return Scaffold(
backgroundColor: AppColors.mainBackgroundColor,
appBar: TitleAppBar(
barTitle: TranslationLoader.lanKeys!.lockUserManagement!.tr,
haveBack: true,
backgroundColor: AppColors.mainColor,
actionsList: [
TextButton(
child: Text(
TranslationLoader.lanKeys!.aboutToExpire!.tr,
style: const TextStyle(color: Colors.white),
),
onPressed: () {},
),
],
),
body: Column(
children: [
_searchWidget(),
Expanded(child: _buildMainUI()),
SizedBox(
width: ScreenUtil().screenWidth - 40.w,
height: 80.h,
child: ElevatedButton(
style: ElevatedButton.styleFrom(
backgroundColor: Colors.white,
),
onPressed: () {},
child: Text(
'群发钥匙',
style: TextStyle(
color: AppColors.mainColor,
fontSize: 28.sp,
fontWeight: FontWeight.w600),
)),
),
SizedBox(
height: 64.h,
)
],
),
);
}
Widget _searchWidget() {
return Container(
height: 60.h,
margin: EdgeInsets.only(top: 20.w, left: 20.w, right: 20.w),
decoration: BoxDecoration(
color: Colors.white, borderRadius: BorderRadius.circular(5)),
child: TextField(
//
maxLines: 1,
// controller: _controller,
autofocus: false,
decoration: InputDecoration(
//
contentPadding: const EdgeInsets.only(
top: 12.0, left: -19.0, right: -15.0, bottom: 8.0),
hintText: TranslationLoader.lanKeys!.pleaseEnter!.tr,
//线
border: InputBorder.none,
//
icon: Padding(
padding: EdgeInsets.only(
top: 30.w, bottom: 20.w, right: 20.w, left: 20.w),
child: Image.asset(
'images/main/icon_main_search.png',
width: 40.w,
height: 40.w,
),
),
),
),
);
}
Widget _buildMainUI() {
return ListView.builder(
itemCount: 10,
itemBuilder: (c, index) {
return _electronicKeyItem('images/icon_lock.png', "张三",
"2023.6.21 11.15", "2023.6.21 11.15", () {
Navigator.pushNamed(context, Routers.authorizedAdminDetailPage);
});
});
}
Widget _electronicKeyItem(String lockTypeIcon, String lockTypeTitle,
String beginTime, String endTime, Function() action) {
return GestureDetector(
onTap: action,
child: Container(
height: 100.h,
margin: EdgeInsets.only(left: 20.w, right: 20.w, top: 20.w),
decoration: BoxDecoration(
color: Colors.white,
borderRadius: BorderRadius.circular(10.w),
),
child: Row(
children: [
SizedBox(
width: 30.w,
),
Image.asset(
lockTypeIcon,
width: 50.w,
height: 50.w,
),
SizedBox(
width: 30.w,
),
Expanded(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Row(
mainAxisAlignment: MainAxisAlignment.start,
children: [
Text(
lockTypeTitle,
style: TextStyle(
fontSize: 32.sp, fontWeight: FontWeight.w500),
),
],
),
SizedBox(height: 5.h),
Container(
child: Row(
mainAxisAlignment: MainAxisAlignment.start,
children: [
Text(
"2023.6.21 11.15 永久",
style: TextStyle(
fontSize: 28.sp, fontWeight: FontWeight.w500),
),
],
),
),
SizedBox(width: 20.h),
],
),
),
SizedBox(width: 20.h),
],
),
),
);
}
}

View File

@ -1,3 +1,4 @@
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:get/get.dart';
@ -17,52 +18,136 @@ class MineSetPage extends StatefulWidget {
}
class _MineSetPageState extends State<MineSetPage> {
bool _isOn = false;
@override
Widget build(BuildContext context) {
return Scaffold(
backgroundColor: AppColors.mainBackgroundColor,
appBar: TitleAppBar(barTitle: TranslationLoader.lanKeys!.moreSet!.tr, haveBack:true, backgroundColor: AppColors.mainColor),
body:Column(
appBar: TitleAppBar(
barTitle: TranslationLoader.lanKeys!.moreSet!.tr,
haveBack: true,
backgroundColor: AppColors.mainColor),
body: Column(
children: [
Expanded(
child: ListView(
children: [
CommonItem(leftTitel:TranslationLoader.lanKeys!.prompTone!.tr, rightTitle:"", isHaveLine: true, isHaveRightWidget:true, rightWidget: Container(width: 80.w, height: 50.h,child: _switch())),
CommonItem(leftTitel:TranslationLoader.lanKeys!.touchUnlock!.tr, rightTitle:"", isHaveLine: true, isHaveRightWidget:true, rightWidget: Container(width: 80.w, height: 50.h,child: _switch())),
CommonItem(leftTitel:TranslationLoader.lanKeys!.pushNotification!.tr, rightTitle:"", isHaveRightWidget:true, rightWidget: Container(width: 80.w, height: 50.h,child: _switch())),
SizedBox(height: 10.h,),
CommonItem(leftTitel:TranslationLoader.lanKeys!.lockUserManagement!.tr, rightTitle:"", isHaveLine: true, isHaveDirection: true, action: (){
}),
CommonItem(leftTitel:TranslationLoader.lanKeys!.authorizedAdmin!.tr, rightTitle:"", isHaveLine: true, isHaveDirection: true, action: (){
}),
CommonItem(leftTitel:TranslationLoader.lanKeys!.lockGroup!.tr, rightTitle:"", isHaveLine: true, isHaveDirection: true, action: (){
}),
CommonItem(leftTitel:TranslationLoader.lanKeys!.transferSmartLock!.tr, rightTitle:"", isHaveLine: true, isHaveDirection: true, action: (){
}),
CommonItem(leftTitel:TranslationLoader.lanKeys!.transferGateway!.tr, rightTitle:"", isHaveDirection: true, action: (){
}),
SizedBox(height: 10.h,),
CommonItem(leftTitel:TranslationLoader.lanKeys!.multiLanguage!.tr, rightTitle:"简体中文", isHaveLine: true, isHaveDirection: true, action: (){
Navigator.pushNamed(context, Routers.mineMultiLanguagePage);
}),
CommonItem(leftTitel:TranslationLoader.lanKeys!.lockScreen!.tr, rightTitle:TranslationLoader.lanKeys!.opened!.tr, isHaveLine: true, isHaveDirection: true, action: (){
Navigator.pushNamed(context, Routers.lockScreenPage);
}),
CommonItem(leftTitel:TranslationLoader.lanKeys!.hideInvalidUnlockPermissions!.tr, rightTitle:TranslationLoader.lanKeys!.closed!.tr, isHaveLine: true, isHaveDirection: true, action: (){
Navigator.pushNamed(context, Routers.hideInvalidUnlockPermissionsPage);
}),
CommonItem(leftTitel:TranslationLoader.lanKeys!.appUnlockRequiresMobilePhoneAccessToTheLock!.tr, rightTitle:"", isHaveLine: true, isHaveDirection: true, action: (){
Navigator.pushNamed(context, Routers.aPPUnlockNeedMobileNetworkingLockPage);
}),
CommonItem(
leftTitel: TranslationLoader.lanKeys!.prompTone!.tr,
rightTitle: "",
isHaveLine: true,
isHaveRightWidget: true,
rightWidget: SizedBox(
width: 80.w, height: 50.h, child: _switch())),
CommonItem(
leftTitel: TranslationLoader.lanKeys!.touchUnlock!.tr,
rightTitle: "",
isHaveLine: true,
isHaveRightWidget: true,
rightWidget: SizedBox(
width: 80.w, height: 50.h, child: _switch())),
CommonItem(
leftTitel:
TranslationLoader.lanKeys!.pushNotification!.tr,
rightTitle: "",
isHaveRightWidget: true,
rightWidget: SizedBox(
width: 80.w, height: 50.h, child: _switch())),
SizedBox(
height: 10.h,
),
CommonItem(
leftTitel:
TranslationLoader.lanKeys!.lockUserManagement!.tr,
rightTitle: "",
isHaveLine: true,
isHaveDirection: true,
action: () {
Navigator.pushNamed(
context, Routers.lockUserManageLisPage);
}),
CommonItem(
leftTitel: TranslationLoader.lanKeys!.authorizedAdmin!.tr,
rightTitle: "",
isHaveLine: true,
isHaveDirection: true,
action: () {
Navigator.pushNamed(
context, Routers.authorizedAdministratorListPage);
}),
CommonItem(
leftTitel: TranslationLoader.lanKeys!.lockGroup!.tr,
rightTitle: "",
isHaveLine: true,
isHaveDirection: true,
action: () {
Navigator.pushNamed(context, Routers.lockGroupListPage);
}),
CommonItem(
leftTitel:
TranslationLoader.lanKeys!.transferSmartLock!.tr,
rightTitle: "",
isHaveLine: true,
isHaveDirection: true,
action: () {
Navigator.pushNamed(
context, Routers.transferSmartLockPage);
}),
CommonItem(
leftTitel: TranslationLoader.lanKeys!.transferGateway!.tr,
rightTitle: "",
isHaveDirection: true,
action: () {
Navigator.pushNamed(
context, Routers.selectGetewayListPage);
}),
SizedBox(
height: 10.h,
),
CommonItem(
leftTitel: TranslationLoader.lanKeys!.multiLanguage!.tr,
rightTitle: "简体中文",
isHaveLine: true,
isHaveDirection: true,
action: () {
Navigator.pushNamed(
context, Routers.mineMultiLanguagePage);
}),
CommonItem(
leftTitel: TranslationLoader.lanKeys!.lockScreen!.tr,
rightTitle: TranslationLoader.lanKeys!.opened!.tr,
isHaveLine: true,
isHaveDirection: true,
action: () {
Navigator.pushNamed(context, Routers.lockScreenPage);
}),
CommonItem(
leftTitel: TranslationLoader
.lanKeys!.hideInvalidUnlockPermissions!.tr,
rightTitle: TranslationLoader.lanKeys!.closed!.tr,
isHaveLine: true,
isHaveDirection: true,
action: () {
Navigator.pushNamed(
context, Routers.hideInvalidUnlockPermissionsPage);
}),
CommonItem(
leftTitel: TranslationLoader.lanKeys!
.appUnlockRequiresMobilePhoneAccessToTheLock!.tr,
rightTitle: "",
isHaveLine: true,
isHaveDirection: true,
action: () {
Navigator.pushNamed(context,
Routers.aPPUnlockNeedMobileNetworkingLockPage);
}),
// CommonItem(leftTitel:TranslationLoader.lanKeys!.valueAddedServices!.tr, rightTitle:"", isHaveDirection: true, action: (){
//
// }),
SizedBox(height: 10.h,),
SizedBox(
height: 10.h,
),
// CommonItem(leftTitel:TranslationLoader.lanKeys!.about!.tr, rightTitle:"", isHaveLine: true, isHaveDirection: true, action: (){
//
// }),
@ -87,8 +172,7 @@ class _MineSetPageState extends State<MineSetPage> {
),
// keyBottomWidget()
],
)
);
));
}
// Widget keyBottomWidget() {
@ -123,15 +207,17 @@ class _MineSetPageState extends State<MineSetPage> {
// );
// }
Switch _switch(){
return Switch(
value: false,
onChanged: (value){
// switchValue = !switchValue;
setState(() {
});
}
CupertinoSwitch _switch() {
return CupertinoSwitch(
activeColor: CupertinoColors.activeBlue,
trackColor: CupertinoColors.systemGrey5,
thumbColor: CupertinoColors.white,
value: _isOn,
onChanged: (value) {
setState(() {
_isOn = value;
});
},
);
}
}

View File

@ -0,0 +1,132 @@
import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:get/get.dart';
import '../../../../appRouters.dart';
import '../../../../app_settings/app_colors.dart';
import '../../../../tools/titleAppBar.dart';
import '../../../../translations/trans_lib.dart';
class SelectGetewayListPage extends StatefulWidget {
const SelectGetewayListPage({Key? key}) : super(key: key);
@override
State<SelectGetewayListPage> createState() => _SelectGetewayListPageState();
}
class _SelectGetewayListPageState extends State<SelectGetewayListPage> {
@override
Widget build(BuildContext context) {
return Scaffold(
backgroundColor: AppColors.mainBackgroundColor,
appBar: TitleAppBar(
barTitle: TranslationLoader.lanKeys!.selectGateway!.tr,
haveBack: true,
backgroundColor: AppColors.mainColor,
actionsList: [
TextButton(
onPressed: () {},
child: Text(
'全选',
style: TextStyle(color: Colors.white, fontSize: 28.sp),
))
],
),
body: Column(
children: [
SizedBox(
height: 10.h,
),
Expanded(child: _buildMainUI()),
SizedBox(
height: 20.h,
),
_buildNextBtn(),
SizedBox(
height: 64.h,
)
],
),
);
}
Widget _buildMainUI() {
return ListView.separated(
itemCount: 10,
separatorBuilder: (context, index) {
return Divider(
height: 1,
indent: 20.w,
endIndent: 20.w,
color: AppColors.greyLineColor,
);
},
itemBuilder: (c, index) {
return _electronicKeyItem('images/icon_lock.png', "张三",
"2023.6.21 11.15", "2023.6.21 11.15", () {
Navigator.pushNamed(context, Routers.authorizedAdminDetailPage);
});
});
}
Widget _electronicKeyItem(String lockTypeIcon, String lockTypeTitle,
String beginTime, String endTime, Function() action) {
return GestureDetector(
child: Container(
color: Colors.white,
height: 70.h,
child: Row(
mainAxisAlignment: MainAxisAlignment.start,
crossAxisAlignment: CrossAxisAlignment.center,
children: [
SizedBox(
width: 20.w,
),
GestureDetector(
child: Image.asset(
'images/icon_round_unSelet.png',
width: 16,
height: 16,
),
),
SizedBox(
width: 16.w,
),
Image.asset(
'images/getewayType_G2.png',
width: 60.w,
height: 60.w,
fit: BoxFit.fill,
),
SizedBox(
width: 16.w,
),
Text(
'星锁网关',
style: TextStyle(fontSize: 28.sp),
)
],
),
),
onTap: () {},
);
}
Widget _buildNextBtn() {
return GestureDetector(
child: Container(
color: Colors.grey,
width: ScreenUtil().screenWidth,
height: 64.h,
child: TextButton(
onPressed: () {
Navigator.pushNamed(context, Routers.recipientInformationPage);
},
child: Text(
'下一步',
style: TextStyle(fontSize: 28.sp, color: Colors.white),
)),
),
);
}
}

View File

@ -0,0 +1,198 @@
import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:get/get.dart';
import '../../../../appRouters.dart';
import '../../../../app_settings/app_colors.dart';
import '../../../../tools/titleAppBar.dart';
import '../../../../translations/trans_lib.dart';
class RecipientInformationPage extends StatefulWidget {
const RecipientInformationPage({Key? key}) : super(key: key);
@override
State<RecipientInformationPage> createState() =>
_RecipientInformationPageState();
}
class _RecipientInformationPageState extends State<RecipientInformationPage> {
@override
Widget build(BuildContext context) {
return Scaffold(
backgroundColor: AppColors.mainBackgroundColor,
appBar: TitleAppBar(
barTitle: TranslationLoader.lanKeys!.recipientInformation!.tr,
haveBack: true,
backgroundColor: AppColors.mainColor,
),
body: Column(
children: [
SizedBox(height: 150.h, child: _buildMainUI()),
SizedBox(
height: 20.h,
),
_buildAccoutRow(),
_buildBottomText(),
_buildNextBtn(),
Expanded(
child: SizedBox(
height: 64.h,
)),
_buildRemoveBadLockBtn(),
SizedBox(
height: 64.h,
)
],
),
);
}
Widget _buildMainUI() {
return ListView.separated(
itemCount: 2,
separatorBuilder: (context, index) {
return Divider(
height: 1,
indent: 20.w,
endIndent: 20.w,
color: AppColors.greyLineColor,
);
},
itemBuilder: (c, index) {
if (index == 0) {
return _electronicKeyItem(
'images/select_circle.png', "个人用户", () {});
} else {
return _electronicKeyItem(
'images/normal_circle.png', "好房管家", () {});
}
});
}
Widget _electronicKeyItem(
String leftIcon, String leftTitle, Function() action) {
return GestureDetector(
child: Container(
color: Colors.white,
height: 70.h,
child: Row(
mainAxisAlignment: MainAxisAlignment.start,
crossAxisAlignment: CrossAxisAlignment.center,
children: [
SizedBox(
width: 40.w,
),
GestureDetector(
child: Image.asset(
leftIcon,
width: 16,
height: 16,
),
),
SizedBox(
width: 16.w,
),
Text(
leftTitle,
style: TextStyle(fontSize: 28.sp),
)
],
),
),
onTap: () {},
);
}
Widget _buildAccoutRow() {
return Container(
height: 60.h,
color: Colors.white,
child: Row(
children: [
SizedBox(
width: 40.w,
),
Text(
'账号',
style:
TextStyle(color: AppColors.darkGrayTextColor, fontSize: 24.sp),
),
Expanded(
child: TextField(
textAlign: TextAlign.right,
keyboardType: TextInputType.text,
onChanged: (value) {},
decoration: InputDecoration(
border: InputBorder.none,
hintText: '请输入手机号或email',
hintStyle: TextStyle(
color: AppColors.placeholderTextColor,
fontSize: ScreenUtil().setSp(24),
textBaseline: TextBaseline.alphabetic),
),
)),
SizedBox(
width: 20.w,
),
Image.asset(
'images/icon_addressBook.png',
width: 28.w,
height: 28.h,
),
SizedBox(
width: 40.w,
)
],
),
);
}
Widget _buildBottomText() {
return Padding(
padding: EdgeInsets.only(top: 20.h, bottom: 80.h),
child: Text(
'选中的智能锁将会转移到您输入的账号中,您将失去锁的管理权',
style:
TextStyle(fontSize: 20.sp, color: AppColors.placeholderTextColor),
textAlign: TextAlign.left,
),
);
}
Widget _buildNextBtn() {
return GestureDetector(
child: Container(
color: Colors.grey,
width: ScreenUtil().screenWidth - 80.w,
height: 64.h,
child: TextButton(
onPressed: () {
Navigator.pushNamed(context, Routers.selectBranchPage);
},
child: Text(
'下一步',
style: TextStyle(fontSize: 28.sp, color: Colors.white),
)),
),
);
}
Widget _buildRemoveBadLockBtn() {
return Row(
children: [
const Expanded(child: SizedBox()),
TextButton(
onPressed: () {},
child: Text(
'移除坏锁',
style: TextStyle(
fontSize: 28.sp, color: AppColors.darkGrayTextColor),
textAlign: TextAlign.end,
)),
SizedBox(
width: 10.h,
)
],
);
}
}

View File

@ -0,0 +1,134 @@
import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:get/get.dart';
import '../../../../appRouters.dart';
import '../../../../app_settings/app_colors.dart';
import '../../../../tools/titleAppBar.dart';
import '../../../../translations/trans_lib.dart';
class SelectBranchPage extends StatefulWidget {
const SelectBranchPage({Key? key}) : super(key: key);
@override
State<SelectBranchPage> createState() => _SelectBranchPageState();
}
class _SelectBranchPageState extends State<SelectBranchPage> {
@override
Widget build(BuildContext context) {
return Scaffold(
backgroundColor: AppColors.mainBackgroundColor,
appBar: TitleAppBar(
barTitle: TranslationLoader.lanKeys!.recipientInformation!.tr,
haveBack: true,
backgroundColor: AppColors.mainColor,
),
body: Column(
children: [
_buildTopView(),
SizedBox(
height: 20.h,
),
Expanded(child: _buildMainUI()),
_buildNextBtn(),
SizedBox(
height: 64.h,
)
],
),
);
}
Widget _buildTopView() {
return Container(
height: 120.h,
width: ScreenUtil().screenWidth,
color: Colors.white,
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Padding(
padding: EdgeInsets.only(left: 40.w, top: 20.h, bottom: 16.h),
child: Text(
'公寓',
style: TextStyle(fontSize: 28.sp),
),
),
Padding(
padding: EdgeInsets.only(left: 40.w),
child: Text('管理员18682150237',
style: TextStyle(
color: AppColors.darkGrayTextColor, fontSize: 24.sp)),
)
],
),
);
}
Widget _buildMainUI() {
return ListView.separated(
itemCount: 5,
separatorBuilder: (context, index) {
return Divider(
height: 1,
indent: 20.w,
endIndent: 20.w,
color: AppColors.greyLineColor,
);
},
itemBuilder: (c, index) {
return _electronicKeyItem('images/select_circle.png', "分组一", () {});
});
}
Widget _electronicKeyItem(
String leftIcon, String leftTitle, Function() action) {
return GestureDetector(
child: Container(
color: Colors.white,
height: 70.h,
child: Row(
mainAxisAlignment: MainAxisAlignment.start,
crossAxisAlignment: CrossAxisAlignment.center,
children: [
SizedBox(
width: 40.w,
),
GestureDetector(
child: Image.asset(
leftIcon,
width: 16,
height: 16,
),
),
SizedBox(
width: 16.w,
),
Text(
leftTitle,
style: TextStyle(fontSize: 28.sp),
)
],
),
),
onTap: () {},
);
}
Widget _buildNextBtn() {
return GestureDetector(
child: Container(
color: AppColors.mainColor,
width: ScreenUtil().screenWidth,
height: 64.h,
child: TextButton(
onPressed: () {},
child: Text(
'下一步',
style: TextStyle(fontSize: 28.sp, color: Colors.white),
)),
),
);
}
}

View File

@ -0,0 +1,166 @@
import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:get/get.dart';
import '../../../../appRouters.dart';
import '../../../../app_settings/app_colors.dart';
import '../../../../tools/titleAppBar.dart';
import '../../../../translations/trans_lib.dart';
class TransferSmartLockPage extends StatefulWidget {
const TransferSmartLockPage({Key? key}) : super(key: key);
@override
State<TransferSmartLockPage> createState() => _TransferSmartLockPageState();
}
class _TransferSmartLockPageState extends State<TransferSmartLockPage> {
@override
Widget build(BuildContext context) {
return Scaffold(
backgroundColor: AppColors.mainBackgroundColor,
appBar: TitleAppBar(
barTitle: TranslationLoader.lanKeys!.selectiveLock!.tr,
haveBack: true,
backgroundColor: AppColors.mainColor,
actionsList: [
TextButton(
onPressed: () {},
child: Text(
'全选',
style: TextStyle(color: Colors.white, fontSize: 28.sp),
))
],
),
body: Column(
children: [
_searchWidget(),
SizedBox(
height: 10.h,
),
Expanded(child: _buildMainUI()),
SizedBox(
height: 20.h,
),
_buildNextBtn(),
SizedBox(
height: 64.h,
)
],
),
);
}
Widget _searchWidget() {
return Container(
height: 60.h,
margin: EdgeInsets.only(top: 20.w, left: 20.w, right: 20.w),
decoration: BoxDecoration(
color: Colors.white, borderRadius: BorderRadius.circular(5)),
child: TextField(
//
maxLines: 1,
// controller: _controller,
autofocus: false,
decoration: InputDecoration(
//
contentPadding: const EdgeInsets.only(
top: 12.0, left: -19.0, right: -15.0, bottom: 8.0),
hintText: TranslationLoader.lanKeys!.pleaseEnter!.tr,
//线
border: InputBorder.none,
//
icon: Padding(
padding: EdgeInsets.only(
top: 30.w, bottom: 20.w, right: 20.w, left: 20.w),
child: Image.asset(
'images/main/icon_main_search.png',
width: 40.w,
height: 40.w,
),
),
),
),
);
}
Widget _buildMainUI() {
return ListView.separated(
itemCount: 10,
separatorBuilder: (context, index) {
return Divider(
height: 1,
indent: 20.w,
endIndent: 20.w,
color: AppColors.greyLineColor,
);
},
itemBuilder: (c, index) {
return _electronicKeyItem('images/icon_lock.png', "张三",
"2023.6.21 11.15", "2023.6.21 11.15", () {
Navigator.pushNamed(context, Routers.authorizedAdminDetailPage);
});
});
}
Widget _electronicKeyItem(String lockTypeIcon, String lockTypeTitle,
String beginTime, String endTime, Function() action) {
return GestureDetector(
child: Container(
color: Colors.white,
height: 70.h,
child: Row(
mainAxisAlignment: MainAxisAlignment.start,
crossAxisAlignment: CrossAxisAlignment.center,
children: [
SizedBox(
width: 20.w,
),
GestureDetector(
child: Image.asset(
'images/icon_round_unSelet.png',
width: 16,
height: 16,
),
),
SizedBox(
width: 16.w,
),
Image.asset(
'images/icon_lockGroup_item.png',
width: 30,
height: 30,
fit: BoxFit.fill,
),
SizedBox(
width: 8.w,
),
const Text(
'Daisy',
style: TextStyle(fontSize: 14),
)
],
),
),
onTap: () {},
);
}
Widget _buildNextBtn() {
return GestureDetector(
child: Container(
color: Colors.grey,
width: ScreenUtil().screenWidth,
height: 64.h,
child: TextButton(
onPressed: () {
Navigator.pushNamed(context, Routers.recipientInformationPage);
},
child: Text(
'下一步',
style: TextStyle(fontSize: 28.sp, color: Colors.white),
)),
),
);
}
}

View File

@ -1,6 +1,6 @@
import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:star_lock/app_settings/app_colors.dart';
class CommonItem extends StatelessWidget {
String? leftTitel;
@ -12,14 +12,17 @@ class CommonItem extends StatelessWidget {
Function()? action;
double? allHeight;
CommonItem({Key? key,
required this.leftTitel,
this.rightTitle,
this.allHeight = 45,
this.isHaveDirection = false,
this.isHaveLine = false,
this.isHaveRightWidget = false,
this.rightWidget, this.action}) : super(key: key);
CommonItem(
{Key? key,
required this.leftTitel,
this.rightTitle,
this.allHeight = 45,
this.isHaveDirection = false,
this.isHaveLine = false,
this.isHaveRightWidget = false,
this.rightWidget,
this.action})
: super(key: key);
@override
Widget build(BuildContext context) {
@ -29,27 +32,53 @@ class CommonItem extends StatelessWidget {
// mainAxisAlignment: MainAxisAlignment.center,
children: [
Container(
height: allHeight??70.h,
height: allHeight ?? 60.h,
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(
children: [
SizedBox(width:20.w),
Expanded(child: Text(leftTitel!, style: TextStyle(fontSize: 28.sp, fontWeight: FontWeight.w500))),
SizedBox(width:20.w),
SizedBox(width: 20.w),
Expanded(
child: Text(leftTitel!,
style: TextStyle(
fontSize: 28.sp, fontWeight: FontWeight.w500))),
SizedBox(width: 20.w),
Row(
mainAxisAlignment: MainAxisAlignment.end,
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),
isHaveDirection!?Image.asset('images/icon_right.png', width: 50.w, height: 50.w,):SizedBox(width:10.w),
SizedBox(width: 5.w),
isHaveDirection!
? Image.asset(
'images/icon_right.png',
width: 50.w,
height: 50.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()
//by DaisyWu
isHaveLine!
? Divider(
color: AppColors.greyLineColor,
indent: 20.w,
endIndent: 20.w,
height: 1,
)
: Container()
],
),
);

View File

@ -4,13 +4,11 @@ import 'package:flutter_screenutil/flutter_screenutil.dart';
import '../app_settings/app_colors.dart';
/*
*
* */
class SubmitBtn extends StatelessWidget {
String? btnName;
Function()? onClick;
@ -29,10 +27,39 @@ class SubmitBtn extends StatelessWidget {
double? borderRadius;
SubmitBtn({Key? key, required this.btnName,this.borderRadius,this.color,this.padding,this.onClick,this.margin,this.width,this.backgroundColorList,this.fontSize}) : super(key: key);
SubmitBtn(
{Key? key,
required this.btnName,
this.borderRadius,
this.color,
this.padding,
this.onClick,
this.margin,
this.width,
this.backgroundColorList,
this.fontSize})
: super(key: key);
@override
Widget build(BuildContext context) {
return SizedBox(
width: ScreenUtil().screenWidth - 40.w,
height: 44,
child: ElevatedButton(
style: ElevatedButton.styleFrom(
backgroundColor: AppColors.mainColor,
),
onPressed: () {
if (onClick != null) {
onClick!();
}
},
child: Text(
btnName!,
style: TextStyle(color: Colors.white, fontSize: 30.sp),
)),
);
/*
return GestureDetector(
child: Container(
width: width??690.w,
@ -41,31 +68,33 @@ class SubmitBtn extends StatelessWidget {
bottom: 20.w
),
margin: margin??EdgeInsets.only(top: 30.w),
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(borderRadius??30.w),
gradient: LinearGradient(
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(borderRadius ?? 10.w),
gradient: LinearGradient(
begin: Alignment.centerLeft,
end: Alignment.centerRight,
colors: backgroundColorList??[
AppColors.mainColor,AppColors.mainColor,
],
)
),
colors: backgroundColorList ??
[
AppColors.mainColor,
AppColors.mainColor,
],
)),
child: Center(
child: Text(btnName!,style: TextStyle(
fontSize: fontSize??36.sp,
height: 1.3,
decoration: TextDecoration.none,
fontWeight: FontWeight.w500,
color: color??Colors.white
)),
child: Text(btnName!,
style: TextStyle(
fontSize: fontSize ?? 30.sp,
height: 1.3,
decoration: TextDecoration.none,
fontWeight: FontWeight.w500,
color: color ?? Colors.white)),
),
),
onTap: (){
if(onClick!=null){
onTap: () {
if (onClick != null) {
onClick!();
}
},
);
*/
}
}

View File

@ -12,7 +12,6 @@ class LanKeyEntity {
this.number,
this.additive,
this.addTime,
this.reset,
this.sendKey,
this.timeLimit,
@ -41,7 +40,6 @@ class LanKeyEntity {
this.fridayShort,
this.saturdayShort,
this.sundayShort,
this.realNameAuthentication,
this.sendKeyBottomTip,
this.send,
@ -85,7 +83,6 @@ class LanKeyEntity {
this.earlyArrivalList,
this.lateList,
this.hardWorkingList,
this.basicInformation,
this.wirelessKeyboard,
this.doorMagnetic,
@ -184,7 +181,6 @@ class LanKeyEntity {
this.beLate,
this.leaveEarly,
this.noCardPunched,
this.lanEnglish,
this.lanChinese,
this.multilingual,
@ -194,7 +190,6 @@ class LanKeyEntity {
this.supportStaff,
this.set,
this.moreServices,
this.moreSet,
this.prompTone,
this.touchUnlock,
@ -203,8 +198,9 @@ class LanKeyEntity {
this.authorizedAdmin,
this.lockGroup,
this.transferSmartLock,
this.selectiveLock,
this.recipientInformation,
this.transferGateway,
this.multiLanguage,
this.lockScreen,
this.closed,
@ -238,7 +234,7 @@ class LanKeyEntity {
this.problemTwo,
this.problemThree,
this.pleaseEnterYourAnswer,
this.aboutToExpire,
this.designation,
this.state,
this.wifiName,
@ -268,7 +264,6 @@ class LanKeyEntity {
this.preferredDNS,
this.alternativeDNS,
this.noStaticIPIsUsed,
this.allLock,
this.searchAllLockType,
this.doorLock,
@ -284,7 +279,6 @@ class LanKeyEntity {
this.nearbyLock,
this.addSuccessfullyPleaseRename,
this.whenAddingLockThePhoneMustBeNextToTheLock,
this.login,
this.register,
this.forgetPassword,
@ -295,20 +289,17 @@ class LanKeyEntity {
this.email,
this.countryAndRegion,
this.selet,
this.businessCooperation,
this.officialWebsite,
this.computerWebVersion,
this.hotelSystem,
this.manualWebVersion,
this.introduce,
this.note,
this.mail,
this.advancedFunction,
this.pushMessage,
this.recordsRetention,
this.smsBuyTip,
this.emailBuyTip,
this.currentRemainingQuantity,
@ -316,14 +307,12 @@ class LanKeyEntity {
this.customSMSTemplate,
this.customMailTemplate,
this.record,
this.buyRealNameTip,
this.buyRealNameSeletYouWantBuyTip,
this.forTheFirstTime,
this.onceDay,
this.weekOnce,
this.monthOnce,
this.currentState,
this.onTrial,
this.haveNotOpened,
@ -335,7 +324,6 @@ class LanKeyEntity {
this.tipsForBuyingAdvancedFeatures,
this.freeTrial,
this.openNow,
this.buySMS,
this.buyMail,
this.buyRealNameAuthenticationTimes,
@ -344,7 +332,6 @@ class LanKeyEntity {
this.modeOfPayment,
this.alipay,
this.goToPay,
this.customTemplatesTip,
this.haveOpened,
this.unHaveOpenedTip1,
@ -367,12 +354,10 @@ class LanKeyEntity {
this.and,
this.willBeReplacedWithTheActualValue,
this.downloadLink,
this.lockScreenTip,
this.hideInvalidUnlockPermissionsTip,
this.appUnlockRequiresMobilePhoneAccessToTheLockTip,
this.checkAll,
});
LanKeyEntity.fromJson(dynamic json) {
@ -520,8 +505,10 @@ class LanKeyEntity {
whenScreenFlashesClickNext = json['whenScreenFlashesClickNext'];
theScreenNeverFlickered = json['theScreenNeverFlickered'];
enterNumberOrPressSet = json['enterNumberOrPressSet'];
theLocationOfTheSetKeyWillBeDifferent = json['theLocationOfTheSetKeyWillBeDifferent'];
pressAndHoldTheResetButtonTwoSeconds = json['pressAndHoldTheResetButtonTwoSeconds'];
theLocationOfTheSetKeyWillBeDifferent =
json['theLocationOfTheSetKeyWillBeDifferent'];
pressAndHoldTheResetButtonTwoSeconds =
json['pressAndHoldTheResetButtonTwoSeconds'];
nearbyEquipment = json['nearbyEquipment'];
noData = json['noData'];
doorMagneticListTopTip = json['doorMagneticListTopTip'];
@ -579,6 +566,8 @@ class LanKeyEntity {
authorizedAdmin = json['authorizedAdmin'];
lockGroup = json['lockGroup'];
transferSmartLock = json['transferSmartLock'];
selectiveLock = json['selectiveLock'];
recipientInformation = json['recipientInformation'];
transferGateway = json['transferGateway'];
multiLanguage = json['multiLanguage'];
@ -586,12 +575,14 @@ class LanKeyEntity {
closed = json['closed'];
opened = json['opened'];
hideInvalidUnlockPermissions = json['hideInvalidUnlockPermissions'];
appUnlockRequiresMobilePhoneAccessToTheLock = json['appUnlockRequiresMobilePhoneAccessToTheLock'];
appUnlockRequiresMobilePhoneAccessToTheLock =
json['appUnlockRequiresMobilePhoneAccessToTheLock'];
valueAddedServices = json['valueAddedServices'];
about = json['about'];
userAgreement = json['userAgreement'];
privacyPolicy = json['privacyPolicy'];
personalInformationCollectionList = json['personalInformationCollectionList'];
personalInformationCollectionList =
json['personalInformationCollectionList'];
applicationPermissionDescription = json['applicationPermissionDescription'];
thirdPartyInformationSharingList = json['thirdPartyInformationSharingList'];
logout = json['logout'];
@ -614,6 +605,7 @@ class LanKeyEntity {
problemTwo = json['problemTwo'];
problemThree = json['problemThree'];
pleaseEnterYourAnswer = json['pleaseEnterYourAnswer'];
aboutToExpire = json['aboutToExpire'];
designation = json['designation'];
state = json['state'];
@ -642,12 +634,12 @@ class LanKeyEntity {
ipAddress = json['ipAddress'];
subnetMask = json['subnetMask'];
defaultGateway = json['defaultGateway'];
automaticallyGetTheDNSServerAddress = json['automaticallyGetTheDNSServerAddress'];
automaticallyGetTheDNSServerAddress =
json['automaticallyGetTheDNSServerAddress'];
preferredDNS = json['preferredDNS'];
alternativeDNS = json['alternativeDNS'];
noStaticIPIsUsed = json['noStaticIPIsUsed'];
allLock = json['allLock'];
searchAllLockType = json['searchAllLockType'];
doorLock = json['doorLock'];
@ -662,7 +654,8 @@ class LanKeyEntity {
next = json['next'];
nearbyLock = json['nearbyLock'];
addSuccessfullyPleaseRename = json['addSuccessfullyPleaseRename'];
whenAddingLockThePhoneMustBeNextToTheLock = json['whenAddingLockThePhoneMustBeNextToTheLock'];
whenAddingLockThePhoneMustBeNextToTheLock =
json['whenAddingLockThePhoneMustBeNextToTheLock'];
login = json['login'];
register = json['register'];
@ -706,7 +699,8 @@ class LanKeyEntity {
currentState = json['currentState'];
onTrial = json['onTrial'];
haveNotOpened = json['haveNotOpened'];
advancedFeaturesAndBenefitsContent = json['advancedFeaturesAndBenefitsContent'];
advancedFeaturesAndBenefitsContent =
json['advancedFeaturesAndBenefitsContent'];
smsTemplate = json['smsTemplate'];
emailTemplate = json['emailTemplate'];
cardIssuingtool = json['cardIssuingtool'];
@ -749,7 +743,8 @@ class LanKeyEntity {
lockScreenTip = json['lockScreenTip'];
hideInvalidUnlockPermissionsTip = json['hideInvalidUnlockPermissionsTip'];
appUnlockRequiresMobilePhoneAccessToTheLockTip = json['appUnlockRequiresMobilePhoneAccessToTheLockTip'];
appUnlockRequiresMobilePhoneAccessToTheLockTip =
json['appUnlockRequiresMobilePhoneAccessToTheLockTip'];
checkAll = json['checkAll'];
}
String? starLock;
@ -955,6 +950,8 @@ class LanKeyEntity {
String? authorizedAdmin;
String? lockGroup;
String? transferSmartLock;
String? selectiveLock;
String? recipientInformation;
String? transferGateway;
String? multiLanguage;
@ -990,6 +987,7 @@ class LanKeyEntity {
String? problemTwo;
String? problemThree;
String? pleaseEnterYourAnswer;
String? aboutToExpire;
String? designation;
String? state;
@ -1275,8 +1273,10 @@ class LanKeyEntity {
map['whenScreenFlashesClickNext'] = whenScreenFlashesClickNext;
map['theScreenNeverFlickered'] = theScreenNeverFlickered;
map['enterNumberOrPressSet'] = enterNumberOrPressSet;
map['theLocationOfTheSetKeyWillBeDifferent'] = theLocationOfTheSetKeyWillBeDifferent;
map['pressAndHoldTheResetButtonTwoSeconds'] = pressAndHoldTheResetButtonTwoSeconds;
map['theLocationOfTheSetKeyWillBeDifferent'] =
theLocationOfTheSetKeyWillBeDifferent;
map['pressAndHoldTheResetButtonTwoSeconds'] =
pressAndHoldTheResetButtonTwoSeconds;
map['nearbyEquipment'] = nearbyEquipment;
map['noData'] = noData;
map['doorMagneticListTopTip'] = doorMagneticListTopTip;
@ -1330,6 +1330,8 @@ class LanKeyEntity {
map['authorizedAdmin'] = authorizedAdmin;
map['lockGroup'] = lockGroup;
map['transferSmartLock'] = transferSmartLock;
map['selectiveLock'] = selectiveLock;
map['recipientInformation'] = recipientInformation;
map['transferGateway'] = transferGateway;
map['multiLanguage'] = multiLanguage;
@ -1337,12 +1339,14 @@ class LanKeyEntity {
map['closed'] = closed;
map['opened'] = opened;
map['hideInvalidUnlockPermissions'] = hideInvalidUnlockPermissions;
map['appUnlockRequiresMobilePhoneAccessToTheLock'] = appUnlockRequiresMobilePhoneAccessToTheLock;
map['appUnlockRequiresMobilePhoneAccessToTheLock'] =
appUnlockRequiresMobilePhoneAccessToTheLock;
map['valueAddedServices'] = valueAddedServices;
map['about'] = about;
map['userAgreement'] = userAgreement;
map['privacyPolicy'] = privacyPolicy;
map['personalInformationCollectionList'] = personalInformationCollectionList;
map['personalInformationCollectionList'] =
personalInformationCollectionList;
map['applicationPermissionDescription'] = applicationPermissionDescription;
map['thirdPartyInformationSharingList'] = thirdPartyInformationSharingList;
map['logout'] = logout;
@ -1366,6 +1370,7 @@ class LanKeyEntity {
map['problemTwo'] = problemTwo;
map['problemThree'] = problemThree;
map['pleaseEnterYourAnswer'] = pleaseEnterYourAnswer;
map['aboutToExpire'] = aboutToExpire;
map['designation'] = designation;
map['state'] = state;
@ -1392,7 +1397,8 @@ class LanKeyEntity {
map['ipAddress'] = ipAddress;
map['subnetMask'] = subnetMask;
map['defaultGateway'] = defaultGateway;
map['automaticallyGetTheDNSServerAddress'] = automaticallyGetTheDNSServerAddress;
map['automaticallyGetTheDNSServerAddress'] =
automaticallyGetTheDNSServerAddress;
map['preferredDNS'] = preferredDNS;
map['alternativeDNS'] = alternativeDNS;
map['noStaticIPIsUsed'] = noStaticIPIsUsed;
@ -1411,7 +1417,8 @@ class LanKeyEntity {
map['next'] = next;
map['nearbyLock'] = nearbyLock;
map['addSuccessfullyPleaseRename'] = addSuccessfullyPleaseRename;
map['whenAddingLockThePhoneMustBeNextToTheLock'] = whenAddingLockThePhoneMustBeNextToTheLock;
map['whenAddingLockThePhoneMustBeNextToTheLock'] =
whenAddingLockThePhoneMustBeNextToTheLock;
map['login'] = login;
map['register'] = register;
@ -1455,7 +1462,8 @@ class LanKeyEntity {
map['currentState'] = currentState;
map['onTrial'] = onTrial;
map['haveNotOpened'] = haveNotOpened;
map['advancedFeaturesAndBenefitsContent'] = advancedFeaturesAndBenefitsContent;
map['advancedFeaturesAndBenefitsContent'] =
advancedFeaturesAndBenefitsContent;
map['smsTemplate'] = smsTemplate;
map['emailTemplate'] = emailTemplate;
map['cardIssuingtool'] = cardIssuingtool;
@ -1498,9 +1506,10 @@ class LanKeyEntity {
map['lockScreenTip'] = lockScreenTip;
map['hideInvalidUnlockPermissionsTip'] = hideInvalidUnlockPermissionsTip;
map['appUnlockRequiresMobilePhoneAccessToTheLockTip'] = appUnlockRequiresMobilePhoneAccessToTheLockTip;
map['appUnlockRequiresMobilePhoneAccessToTheLockTip'] =
appUnlockRequiresMobilePhoneAccessToTheLockTip;
map['checkAll'] = checkAll;
return map;
}
}
}

View File

@ -99,6 +99,7 @@ flutter:
- images/main/
- images/lan/
- images/mine/
- images/lockType/
# An image asset can refer to one or more resolution-specific "variants", see
# https://flutter.dev/assets-and-images/#resolution-aware