1,根据田总最新需求-> 新增权限管理相关页面
This commit is contained in:
parent
5dec697b3d
commit
c520a825aa
@ -203,7 +203,12 @@
|
|||||||
"touchUnlock":"Touch Unlock",
|
"touchUnlock":"Touch Unlock",
|
||||||
"pushNotification":"Push Notification",
|
"pushNotification":"Push Notification",
|
||||||
"lockUserManagement":"Lock User Management",
|
"lockUserManagement":"Lock User Management",
|
||||||
|
"authorityManagement":"Authority management",
|
||||||
|
"associatedDevice":"Associated device",
|
||||||
|
"associatedName":"Associated name",
|
||||||
|
"device":"Device",
|
||||||
"aboutToExpire":"About to expire",
|
"aboutToExpire":"About to expire",
|
||||||
|
"deAuthorize":"de-authorize",
|
||||||
"changeName":"Change name",
|
"changeName":"Change name",
|
||||||
"authorizedAdmin":"Authorized Admin",
|
"authorizedAdmin":"Authorized Admin",
|
||||||
"addAuthorizedAdmin":"Adding an Authorized Administrator",
|
"addAuthorizedAdmin":"Adding an Authorized Administrator",
|
||||||
|
|||||||
@ -203,6 +203,10 @@
|
|||||||
"touchUnlock":"touchUnlock",
|
"touchUnlock":"touchUnlock",
|
||||||
"pushNotification":"pushNotification",
|
"pushNotification":"pushNotification",
|
||||||
"lockUserManagement":"lockUserManagement",
|
"lockUserManagement":"lockUserManagement",
|
||||||
|
"authorityManagement":"authorityManagement",
|
||||||
|
"associatedDevice":"associatedDevice",
|
||||||
|
"associatedName":"associatedName",
|
||||||
|
"device":"device",
|
||||||
"authorizedAdmin":"authorizedAdmin",
|
"authorizedAdmin":"authorizedAdmin",
|
||||||
"addAuthorizedAdmin":"addAuthorizedAdmin",
|
"addAuthorizedAdmin":"addAuthorizedAdmin",
|
||||||
"lockGroup":"lockGroup",
|
"lockGroup":"lockGroup",
|
||||||
@ -246,6 +250,7 @@
|
|||||||
"problemThree":"problemThree",
|
"problemThree":"problemThree",
|
||||||
"pleaseEnterYourAnswer":"pleaseEnterYourAnswer",
|
"pleaseEnterYourAnswer":"pleaseEnterYourAnswer",
|
||||||
"aboutToExpire":"aboutToExpire",
|
"aboutToExpire":"aboutToExpire",
|
||||||
|
"deAuthorize":"deAuthorize",
|
||||||
"changeName":"changeName",
|
"changeName":"changeName",
|
||||||
|
|
||||||
"designation": "designation",
|
"designation": "designation",
|
||||||
|
|||||||
@ -203,6 +203,10 @@
|
|||||||
"touchUnlock":"触摸开锁",
|
"touchUnlock":"触摸开锁",
|
||||||
"pushNotification":"消息推送",
|
"pushNotification":"消息推送",
|
||||||
"lockUserManagement":"锁用户管理",
|
"lockUserManagement":"锁用户管理",
|
||||||
|
"authorityManagement":"权限管理",
|
||||||
|
"associatedDevice":"关联设备",
|
||||||
|
"associatedName":"关联姓名",
|
||||||
|
"device":"设备",
|
||||||
"authorizedAdmin":"授权管理员",
|
"authorizedAdmin":"授权管理员",
|
||||||
"addAuthorizedAdmin":"添加授权管理员",
|
"addAuthorizedAdmin":"添加授权管理员",
|
||||||
"lockGroup":"锁分组",
|
"lockGroup":"锁分组",
|
||||||
@ -247,6 +251,7 @@
|
|||||||
"pleaseEnterYourAnswer":"请输入你的答案",
|
"pleaseEnterYourAnswer":"请输入你的答案",
|
||||||
"aboutToExpire":"即将到期",
|
"aboutToExpire":"即将到期",
|
||||||
"changeName":"修改名称",
|
"changeName":"修改名称",
|
||||||
|
"deAuthorize":"去授权",
|
||||||
|
|
||||||
"designation": "名称",
|
"designation": "名称",
|
||||||
"state": "状态",
|
"state": "状态",
|
||||||
|
|||||||
@ -2,6 +2,9 @@ import 'package:get/get.dart';
|
|||||||
import 'package:star_lock/common/safetyVerification/safetyVerification_binding.dart';
|
import 'package:star_lock/common/safetyVerification/safetyVerification_binding.dart';
|
||||||
import 'package:star_lock/login/register/starLock_register_binding.dart';
|
import 'package:star_lock/login/register/starLock_register_binding.dart';
|
||||||
import 'package:star_lock/mine/minePersonInfo/minePersonInfoEmail/minePersonInfoEmail_page.dart';
|
import 'package:star_lock/mine/minePersonInfo/minePersonInfoEmail/minePersonInfoEmail_page.dart';
|
||||||
|
import 'package:star_lock/mine/mineSet/authorityManagement/authorityManagement_page.dart';
|
||||||
|
import 'package:star_lock/mine/mineSet/authorityManagement/getDeviceList_page.dart';
|
||||||
|
import 'package:star_lock/mine/mineSet/authorityManagement/getNameList_page.dart';
|
||||||
import 'package:star_lock/mine/mineSet/authorizedAdministrator/addAuthorizedAdministrator_page.dart';
|
import 'package:star_lock/mine/mineSet/authorizedAdministrator/addAuthorizedAdministrator_page.dart';
|
||||||
import 'package:star_lock/mine/mineSet/lockGroup/lockGroupList_page.dart';
|
import 'package:star_lock/mine/mineSet/lockGroup/lockGroupList_page.dart';
|
||||||
import 'package:star_lock/mine/mineSet/lockUserManage/lockUserManageList_page.dart';
|
import 'package:star_lock/mine/mineSet/lockUserManage/lockUserManageList_page.dart';
|
||||||
@ -243,26 +246,35 @@ abstract class Routers {
|
|||||||
'/ValueAddedServicesListEmailTemplatePage'; // 增值服务-邮箱模版列表
|
'/ValueAddedServicesListEmailTemplatePage'; // 增值服务-邮箱模版列表
|
||||||
static const valueAddedServicesAddEmailTemplatePage =
|
static const valueAddedServicesAddEmailTemplatePage =
|
||||||
'/ValueAddedServicesAddEmailTemplatePage'; // 增值服务-自定义邮箱模版
|
'/ValueAddedServicesAddEmailTemplatePage'; // 增值服务-自定义邮箱模版
|
||||||
static const valueAddedServicesBuyAndUseRecordManagePage = '/ValueAddedServicesBuyAndUseRecordManagePage'; // 增值服务-购买使用记录
|
static const valueAddedServicesBuyAndUseRecordManagePage =
|
||||||
|
'/ValueAddedServicesBuyAndUseRecordManagePage'; // 增值服务-购买使用记录
|
||||||
|
|
||||||
static const lockScreenPage = '/LockScreenPage'; // 我的设置-锁屏
|
static const lockScreenPage = '/LockScreenPage'; // 我的设置-锁屏
|
||||||
static const aPPUnlockNeedMobileNetworkingLockPage = '/APPUnlockNeedMobileNetworkingLockPage'; // 我的设置-app开锁时需手机连网的锁
|
static const aPPUnlockNeedMobileNetworkingLockPage =
|
||||||
static const hideInvalidUnlockPermissionsPage = '/HideInvalidUnlockPermissionsPage'; // 我的设置-隐藏无效开锁权限
|
'/APPUnlockNeedMobileNetworkingLockPage'; // 我的设置-app开锁时需手机连网的锁
|
||||||
|
static const hideInvalidUnlockPermissionsPage =
|
||||||
|
'/HideInvalidUnlockPermissionsPage'; // 我的设置-隐藏无效开锁权限
|
||||||
|
|
||||||
static const lockUserManageLisPage = '/LockUserManageLisPage'; //我的设置-锁用户管理
|
static const lockUserManageLisPage = '/LockUserManageLisPage'; //我的设置-锁用户管理
|
||||||
static const authorizedAdministratorListPage = '/AuthorizedAdministratorListPage'; //我的设置-授权管理员
|
static const authorizedAdministratorListPage =
|
||||||
|
'/AuthorizedAdministratorListPage'; //我的设置-授权管理员
|
||||||
static const lockGroupListPage = '/LockGroupListPage'; //我的设置-锁分组
|
static const lockGroupListPage = '/LockGroupListPage'; //我的设置-锁分组
|
||||||
static const lockItemListPage = '/LockItemListPage'; //锁分组-锁列表
|
static const lockItemListPage = '/LockItemListPage'; //锁分组-锁列表
|
||||||
static const transferSmartLockPage = '/transferSmartLockPage'; //转移智能锁
|
static const transferSmartLockPage = '/transferSmartLockPage'; //转移智能锁
|
||||||
static const recipientInformationPage = '/recipientInformationPage'; //接受人信息
|
static const recipientInformationPage = '/recipientInformationPage'; //接受人信息
|
||||||
static const selectBranchPage = '/SelectBranchPage'; //选择分店
|
static const selectBranchPage = '/SelectBranchPage'; //选择分店
|
||||||
static const selectGetewayListPage = '/selectGetewayListPage'; //选择网关
|
static const selectGetewayListPage = '/selectGetewayListPage'; //选择网关
|
||||||
static const addAuthorizedAdministratorPage = '/addAuthorizedAdministratorPage'; //添加授权管理员
|
static const addAuthorizedAdministratorPage =
|
||||||
|
'/addAuthorizedAdministratorPage'; //添加授权管理员
|
||||||
static const ownedKeyListPage = '/ownedKeyListPage'; //拥有的钥匙
|
static const ownedKeyListPage = '/ownedKeyListPage'; //拥有的钥匙
|
||||||
|
static const authorityManagementPage = '/authorityManagementPage'; //权限管理
|
||||||
|
static const getDeviceListPage = '/getDeviceListPage'; //设备列表
|
||||||
|
static const getNameListPage = '/getNameListPage'; //姓名列表
|
||||||
|
|
||||||
static const starLockLoginPage = '/StarLockLoginPage'; // 登录
|
static const starLockLoginPage = '/StarLockLoginPage'; // 登录
|
||||||
static const starLockRegisterPage = '/StarLockRegisterPage'; // 注册
|
static const starLockRegisterPage = '/StarLockRegisterPage'; // 注册
|
||||||
static const starLockForgetPasswordPage = '/StarLockForgetPasswordPage'; // 忘记密码
|
static const starLockForgetPasswordPage =
|
||||||
|
'/StarLockForgetPasswordPage'; // 忘记密码
|
||||||
static const seletCountryRegionPage = '/SeletCountryRegionPage'; // 选择国家和地区
|
static const seletCountryRegionPage = '/SeletCountryRegionPage'; // 选择国家和地区
|
||||||
static const safetyVerificationPage = '/SafetyVerificationPage'; // 安全验证
|
static const safetyVerificationPage = '/SafetyVerificationPage'; // 安全验证
|
||||||
|
|
||||||
@ -388,9 +400,9 @@ abstract class AppRouters {
|
|||||||
page: () => const StarLockLoginPage(),
|
page: () => const StarLockLoginPage(),
|
||||||
),
|
),
|
||||||
GetPage(
|
GetPage(
|
||||||
name: Routers.starLockRegisterPage,
|
name: Routers.starLockRegisterPage,
|
||||||
page: () => const StarLockRegisterPage(), binding:StarLockRegisterBinding()
|
page: () => const StarLockRegisterPage(),
|
||||||
),
|
binding: StarLockRegisterBinding()),
|
||||||
GetPage(
|
GetPage(
|
||||||
name: Routers.starLockForgetPasswordPage,
|
name: Routers.starLockForgetPasswordPage,
|
||||||
page: () => const StarLockForgetPasswordPage(),
|
page: () => const StarLockForgetPasswordPage(),
|
||||||
@ -665,51 +677,46 @@ abstract class AppRouters {
|
|||||||
),
|
),
|
||||||
GetPage(
|
GetPage(
|
||||||
name: Routers.authorizedAdministratorListPage,
|
name: Routers.authorizedAdministratorListPage,
|
||||||
page: () => const AuthorizedAdministratorListPage()
|
page: () => const AuthorizedAdministratorListPage()),
|
||||||
),
|
|
||||||
GetPage(
|
GetPage(
|
||||||
name: Routers.lockUserManageLisPage,
|
name: Routers.lockUserManageLisPage,
|
||||||
page: () => const LockUserManageListListPage()
|
page: () => const LockUserManageListListPage()),
|
||||||
),
|
|
||||||
GetPage(
|
GetPage(
|
||||||
name: Routers.lockGroupListPage, page: () => const LockGroupListPage()
|
name: Routers.lockGroupListPage, page: () => const LockGroupListPage()),
|
||||||
),
|
|
||||||
GetPage(
|
GetPage(
|
||||||
name: Routers.lockItemListPage, page: () => const LockItemListPage()
|
name: Routers.lockItemListPage, page: () => const LockItemListPage()),
|
||||||
),
|
|
||||||
GetPage(
|
GetPage(
|
||||||
name: Routers.transferSmartLockPage,
|
name: Routers.transferSmartLockPage,
|
||||||
page: () => const TransferSmartLockPage()
|
page: () => const TransferSmartLockPage()),
|
||||||
),
|
|
||||||
GetPage(
|
GetPage(
|
||||||
name: Routers.recipientInformationPage,
|
name: Routers.recipientInformationPage,
|
||||||
page: () => const RecipientInformationPage()
|
page: () => const RecipientInformationPage()),
|
||||||
),
|
|
||||||
GetPage(
|
GetPage(
|
||||||
name: Routers.selectBranchPage, page: () => const SelectBranchPage()
|
name: Routers.selectBranchPage, page: () => const SelectBranchPage()),
|
||||||
),
|
|
||||||
GetPage(
|
GetPage(
|
||||||
name: Routers.selectGetewayListPage,
|
name: Routers.selectGetewayListPage,
|
||||||
page: () => const SelectGetewayListPage()
|
page: () => const SelectGetewayListPage()),
|
||||||
),
|
|
||||||
GetPage(
|
GetPage(
|
||||||
name: Routers.minePersonInfoEditEmailPage,
|
name: Routers.minePersonInfoEditEmailPage,
|
||||||
page: () => const MinePersonInfoEditEmailPage()
|
page: () => const MinePersonInfoEditEmailPage()),
|
||||||
),
|
|
||||||
GetPage(
|
GetPage(
|
||||||
name: Routers.addAuthorizedAdministratorPage,
|
name: Routers.addAuthorizedAdministratorPage,
|
||||||
page: () => const AddAuthorizedAdministratorPage()
|
page: () => const AddAuthorizedAdministratorPage()),
|
||||||
),
|
|
||||||
GetPage(
|
GetPage(
|
||||||
name: Routers.safetyVerificationPage,
|
name: Routers.safetyVerificationPage,
|
||||||
page: () => const SafetyVerificationPage(),
|
page: () => const SafetyVerificationPage(),
|
||||||
binding: SafetyVerificationBinding(),
|
binding: SafetyVerificationBinding(),
|
||||||
),
|
),
|
||||||
GetPage(
|
GetPage(
|
||||||
name: Routers.ownedKeyListPage, page: () => const OwnedKeyListPage()
|
name: Routers.ownedKeyListPage, page: () => const OwnedKeyListPage()),
|
||||||
),
|
|
||||||
GetPage(
|
GetPage(
|
||||||
name: Routers.keyOperationRecordPage,
|
name: Routers.keyOperationRecordPage,
|
||||||
page: () => const KeyOperationRecordPage())
|
page: () => const KeyOperationRecordPage()),
|
||||||
|
GetPage(
|
||||||
|
name: Routers.authorityManagementPage,
|
||||||
|
page: () => const AuthorityManagementPage()),
|
||||||
|
GetPage(
|
||||||
|
name: Routers.getDeviceListPage, page: () => const GetDeviceListPage()),
|
||||||
|
GetPage(name: Routers.getNameListPage, page: () => const GetNameListPage())
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|||||||
@ -0,0 +1,296 @@
|
|||||||
|
import 'package:flutter/material.dart';
|
||||||
|
import 'package:flutter_native_contact_picker/flutter_native_contact_picker.dart';
|
||||||
|
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
||||||
|
import 'package:get/get_utils/get_utils.dart';
|
||||||
|
import 'package:star_lock/appRouters.dart';
|
||||||
|
import 'package:star_lock/app_settings/app_colors.dart';
|
||||||
|
import 'package:star_lock/tools/submitBtn.dart';
|
||||||
|
import 'package:star_lock/translations/trans_lib.dart';
|
||||||
|
|
||||||
|
class AuthorityManagementPage extends StatefulWidget {
|
||||||
|
const AuthorityManagementPage({Key? key}) : super(key: key);
|
||||||
|
|
||||||
|
@override
|
||||||
|
State<StatefulWidget> createState() {
|
||||||
|
return _AuthorityManagementPageState();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
class _AuthorityManagementPageState extends State<AuthorityManagementPage>
|
||||||
|
with SingleTickerProviderStateMixin {
|
||||||
|
TabController? _tabController;
|
||||||
|
final FlutterContactPicker _contactPicker = FlutterContactPicker();
|
||||||
|
late Contact _contact;
|
||||||
|
final _templateNameTf = TextEditingController();
|
||||||
|
bool isNameSelect = false;
|
||||||
|
bool isDeviceSelect = false;
|
||||||
|
int selectDeviceIndex = 0;
|
||||||
|
int selectNameIndex = 0;
|
||||||
|
|
||||||
|
List tabs = [
|
||||||
|
TranslationLoader.lanKeys!.name!.tr,
|
||||||
|
TranslationLoader.lanKeys!.device!.tr
|
||||||
|
];
|
||||||
|
|
||||||
|
@override
|
||||||
|
void initState() {
|
||||||
|
super.initState();
|
||||||
|
|
||||||
|
_tabController = TabController(length: 2, vsync: this);
|
||||||
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
Widget build(BuildContext context) {
|
||||||
|
return DefaultTabController(
|
||||||
|
length: 2,
|
||||||
|
child: Scaffold(
|
||||||
|
appBar: AppBar(
|
||||||
|
backgroundColor: AppColors.mainColor,
|
||||||
|
title: Text(
|
||||||
|
TranslationLoader.lanKeys!.authorityManagement!.tr,
|
||||||
|
style: TextStyle(
|
||||||
|
color: Colors.white,
|
||||||
|
fontSize: 28.sp,
|
||||||
|
fontWeight: FontWeight.w600),
|
||||||
|
),
|
||||||
|
elevation: 0,
|
||||||
|
leading: IconButton(
|
||||||
|
icon: const Icon(Icons.arrow_back_ios, color: Colors.white),
|
||||||
|
onPressed: () => Navigator.of(context).pop(),
|
||||||
|
),
|
||||||
|
bottom: PreferredSize(
|
||||||
|
preferredSize: const Size.fromHeight(45),
|
||||||
|
child: Material(
|
||||||
|
color: Colors.white,
|
||||||
|
child: Theme(
|
||||||
|
data: ThemeData(
|
||||||
|
///点击的背景高亮颜色,处理阴影
|
||||||
|
highlightColor: Colors.transparent,
|
||||||
|
|
||||||
|
///点击水波纹颜色
|
||||||
|
splashColor: Colors.transparent,
|
||||||
|
),
|
||||||
|
child: TabBar(
|
||||||
|
controller: _tabController,
|
||||||
|
indicatorSize: TabBarIndicatorSize.label,
|
||||||
|
indicatorColor: AppColors.mainColor,
|
||||||
|
unselectedLabelColor: AppColors.blackColor,
|
||||||
|
labelColor: AppColors.mainColor,
|
||||||
|
// isScrollable: true,
|
||||||
|
tabs: tabs.map((e) => Tab(text: e)).toList()),
|
||||||
|
)),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
body: TabBarView(
|
||||||
|
controller: _tabController,
|
||||||
|
children: [_permissionNameList(), _permissionDeviceList()])));
|
||||||
|
}
|
||||||
|
|
||||||
|
//姓名列表
|
||||||
|
Widget _permissionNameList() {
|
||||||
|
return Column(
|
||||||
|
children: [
|
||||||
|
SizedBox(
|
||||||
|
height: 10.h,
|
||||||
|
),
|
||||||
|
Expanded(
|
||||||
|
child: ListView.separated(
|
||||||
|
itemBuilder: (context, index) {
|
||||||
|
if (index == 0) {
|
||||||
|
return _buildNameWidget(
|
||||||
|
context, index, 'images/icon_password.png', '密码1');
|
||||||
|
} else if (index == 1) {
|
||||||
|
return _buildNameWidget(
|
||||||
|
context, index, 'images/icon_card.png', '卡1');
|
||||||
|
} else if (index == 2) {
|
||||||
|
return _buildNameWidget(
|
||||||
|
context, index, 'images/icon_fingerprint.png', '指纹1');
|
||||||
|
} else if (index == 3) {
|
||||||
|
return _buildNameWidget(
|
||||||
|
context, index, 'images/icon_card.png', '遥控1');
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
// return _buildNameWidget(context, index);
|
||||||
|
},
|
||||||
|
separatorBuilder: (context, index) {
|
||||||
|
return const Divider(
|
||||||
|
height: 1,
|
||||||
|
color: AppColors.greyLineColor,
|
||||||
|
);
|
||||||
|
},
|
||||||
|
itemCount: 5)),
|
||||||
|
SizedBox(
|
||||||
|
height: 20.h,
|
||||||
|
),
|
||||||
|
_buildDeauthorizationBtn1(),
|
||||||
|
SizedBox(
|
||||||
|
height: 40.h,
|
||||||
|
)
|
||||||
|
],
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
//设备列表
|
||||||
|
Widget _permissionDeviceList() {
|
||||||
|
return Column(
|
||||||
|
children: [
|
||||||
|
SizedBox(
|
||||||
|
height: 10.h,
|
||||||
|
),
|
||||||
|
Expanded(
|
||||||
|
child: ListView.separated(
|
||||||
|
itemBuilder: (context, index) {
|
||||||
|
if (index == 0) {
|
||||||
|
return _buildDeviceWidget(
|
||||||
|
context, index, 'images/icon_lock.png', "大门锁");
|
||||||
|
} else if (index == 1) {
|
||||||
|
return _buildDeviceWidget(
|
||||||
|
context, index, 'images/icon_lock.png', "办公室锁");
|
||||||
|
} else if (index == 2) {
|
||||||
|
return _buildDeviceWidget(
|
||||||
|
context, index, 'images/icon_lock.png', "会议室锁");
|
||||||
|
} else {
|
||||||
|
return _buildDeviceWidget(
|
||||||
|
context, index, 'images/icon_lock.png', "宴会厅锁");
|
||||||
|
}
|
||||||
|
},
|
||||||
|
separatorBuilder: (context, index) {
|
||||||
|
return const Divider(
|
||||||
|
height: 1,
|
||||||
|
color: AppColors.greyLineColor,
|
||||||
|
);
|
||||||
|
},
|
||||||
|
itemCount: 5)),
|
||||||
|
SizedBox(
|
||||||
|
height: 20.h,
|
||||||
|
),
|
||||||
|
_buildDeauthorizationBtn2(),
|
||||||
|
SizedBox(
|
||||||
|
height: 40.h,
|
||||||
|
)
|
||||||
|
],
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
Widget _buildNameWidget(context, index, imageName, getName) {
|
||||||
|
return GestureDetector(
|
||||||
|
child: Container(
|
||||||
|
height: 90.h,
|
||||||
|
color: Colors.white,
|
||||||
|
width: ScreenUtil().screenWidth,
|
||||||
|
child: Row(
|
||||||
|
children: [
|
||||||
|
SizedBox(
|
||||||
|
width: 30.w,
|
||||||
|
),
|
||||||
|
Image.asset(
|
||||||
|
imageName,
|
||||||
|
width: 36.w,
|
||||||
|
height: 36.w,
|
||||||
|
),
|
||||||
|
SizedBox(
|
||||||
|
width: 10.w,
|
||||||
|
),
|
||||||
|
Text(
|
||||||
|
getName,
|
||||||
|
style: TextStyle(fontSize: 22.sp, color: AppColors.blackColor),
|
||||||
|
),
|
||||||
|
Expanded(
|
||||||
|
child: SizedBox(
|
||||||
|
width: 20.w,
|
||||||
|
)),
|
||||||
|
Image.asset(
|
||||||
|
isNameSelect == false
|
||||||
|
? 'images/icon_round_unSelet.png'
|
||||||
|
: 'images/icon_round_selet.png',
|
||||||
|
width: 30.sp,
|
||||||
|
height: 30.sp,
|
||||||
|
),
|
||||||
|
SizedBox(
|
||||||
|
width: 30.w,
|
||||||
|
)
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
onTap: () {
|
||||||
|
selectNameIndex = index;
|
||||||
|
setState(() {
|
||||||
|
if (selectNameIndex == index) {
|
||||||
|
isNameSelect = !isNameSelect;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
Widget _buildDeviceWidget(context, index, imageName, deviceName) {
|
||||||
|
return GestureDetector(
|
||||||
|
child: Container(
|
||||||
|
height: 90.h,
|
||||||
|
color: Colors.white,
|
||||||
|
width: ScreenUtil().screenWidth,
|
||||||
|
child: Row(
|
||||||
|
children: [
|
||||||
|
SizedBox(
|
||||||
|
width: 30.w,
|
||||||
|
),
|
||||||
|
Image.asset(
|
||||||
|
imageName,
|
||||||
|
width: 36.w,
|
||||||
|
height: 36.w,
|
||||||
|
),
|
||||||
|
SizedBox(
|
||||||
|
width: 10.w,
|
||||||
|
),
|
||||||
|
Text(
|
||||||
|
deviceName,
|
||||||
|
style: TextStyle(fontSize: 22.sp, color: AppColors.blackColor),
|
||||||
|
),
|
||||||
|
Expanded(
|
||||||
|
child: SizedBox(
|
||||||
|
width: 20.w,
|
||||||
|
)),
|
||||||
|
Image.asset(
|
||||||
|
isDeviceSelect == false
|
||||||
|
? 'images/icon_round_unSelet.png'
|
||||||
|
: 'images/icon_round_selet.png',
|
||||||
|
width: 30.sp,
|
||||||
|
height: 30.sp,
|
||||||
|
),
|
||||||
|
SizedBox(
|
||||||
|
width: 30.w,
|
||||||
|
)
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
onTap: () {
|
||||||
|
selectDeviceIndex = index;
|
||||||
|
setState(() {
|
||||||
|
if (selectDeviceIndex == index) {
|
||||||
|
isDeviceSelect = !isDeviceSelect;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
//去授权按钮-姓名
|
||||||
|
Widget _buildDeauthorizationBtn1() {
|
||||||
|
return SubmitBtn(
|
||||||
|
btnName: TranslationLoader.lanKeys!.deAuthorize!.tr,
|
||||||
|
onClick: () {
|
||||||
|
Navigator.pushNamed(context, Routers.getDeviceListPage);
|
||||||
|
},
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
//去授权按钮-关联设备
|
||||||
|
Widget _buildDeauthorizationBtn2() {
|
||||||
|
return SubmitBtn(
|
||||||
|
btnName: TranslationLoader.lanKeys!.deAuthorize!.tr,
|
||||||
|
onClick: () {
|
||||||
|
Navigator.pushNamed(context, Routers.getNameListPage);
|
||||||
|
},
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,136 @@
|
|||||||
|
import 'package:flutter/material.dart';
|
||||||
|
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
||||||
|
import 'package:get/get.dart';
|
||||||
|
import 'package:star_lock/tools/submitBtn.dart';
|
||||||
|
|
||||||
|
import '../../../../app_settings/app_colors.dart';
|
||||||
|
import '../../../../tools/titleAppBar.dart';
|
||||||
|
import '../../../../translations/trans_lib.dart';
|
||||||
|
|
||||||
|
class GetDeviceListPage extends StatefulWidget {
|
||||||
|
const GetDeviceListPage({Key? key}) : super(key: key);
|
||||||
|
|
||||||
|
@override
|
||||||
|
State<GetDeviceListPage> createState() => _GetDeviceListPageState();
|
||||||
|
}
|
||||||
|
|
||||||
|
class _GetDeviceListPageState extends State<GetDeviceListPage> {
|
||||||
|
bool isNameSelect = false;
|
||||||
|
@override
|
||||||
|
Widget build(BuildContext context) {
|
||||||
|
return Scaffold(
|
||||||
|
backgroundColor: AppColors.mainBackgroundColor,
|
||||||
|
appBar: TitleAppBar(
|
||||||
|
barTitle: TranslationLoader.lanKeys!.associatedDevice!.tr,
|
||||||
|
haveBack: true,
|
||||||
|
backgroundColor: AppColors.mainColor,
|
||||||
|
),
|
||||||
|
body: Column(
|
||||||
|
mainAxisAlignment: MainAxisAlignment.start,
|
||||||
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
|
children: [
|
||||||
|
Padding(
|
||||||
|
padding: EdgeInsets.only(
|
||||||
|
left: 30.w, top: 16.w, right: 30.w, bottom: 16.w),
|
||||||
|
child: Text(
|
||||||
|
'请选择姓名要关联哪些设备',
|
||||||
|
style: TextStyle(
|
||||||
|
color: AppColors.darkGrayTextColor, fontSize: 20.sp),
|
||||||
|
textAlign: TextAlign.start,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
Expanded(child: _permissionDeviceList()),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
//设备列表
|
||||||
|
Widget _permissionDeviceList() {
|
||||||
|
return Column(
|
||||||
|
children: [
|
||||||
|
Expanded(
|
||||||
|
child: ListView.separated(
|
||||||
|
itemBuilder: (context, index) {
|
||||||
|
if (index == 0) {
|
||||||
|
return _buildDeviceWidget(
|
||||||
|
context, index, 'images/icon_lock.png', "大门锁");
|
||||||
|
} else if (index == 1) {
|
||||||
|
return _buildDeviceWidget(
|
||||||
|
context, index, 'images/icon_lock.png', "办公室锁");
|
||||||
|
} else if (index == 2) {
|
||||||
|
return _buildDeviceWidget(
|
||||||
|
context, index, 'images/icon_lock.png', "会议室锁");
|
||||||
|
} else {
|
||||||
|
return _buildDeviceWidget(
|
||||||
|
context, index, 'images/icon_lock.png', "宴会厅锁");
|
||||||
|
}
|
||||||
|
},
|
||||||
|
separatorBuilder: (context, index) {
|
||||||
|
return const Divider(
|
||||||
|
height: 1,
|
||||||
|
color: AppColors.greyLineColor,
|
||||||
|
);
|
||||||
|
},
|
||||||
|
itemCount: 5)),
|
||||||
|
SizedBox(
|
||||||
|
height: 20.h,
|
||||||
|
),
|
||||||
|
SubmitBtn(
|
||||||
|
btnName: '确定',
|
||||||
|
onClick: () {},
|
||||||
|
),
|
||||||
|
SizedBox(
|
||||||
|
height: 40.h,
|
||||||
|
)
|
||||||
|
],
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
Widget _buildDeviceWidget(context, index, imageName, deviceName) {
|
||||||
|
return GestureDetector(
|
||||||
|
child: Container(
|
||||||
|
height: 90.h,
|
||||||
|
color: Colors.white,
|
||||||
|
width: ScreenUtil().screenWidth,
|
||||||
|
child: Row(
|
||||||
|
children: [
|
||||||
|
SizedBox(
|
||||||
|
width: 30.w,
|
||||||
|
),
|
||||||
|
Image.asset(
|
||||||
|
isNameSelect == false
|
||||||
|
? 'images/icon_round_unSelet.png'
|
||||||
|
: 'images/icon_round_selet.png',
|
||||||
|
width: 30.sp,
|
||||||
|
height: 30.sp,
|
||||||
|
),
|
||||||
|
SizedBox(
|
||||||
|
width: 20.w,
|
||||||
|
),
|
||||||
|
Image.asset(
|
||||||
|
imageName,
|
||||||
|
width: 36.w,
|
||||||
|
height: 36.w,
|
||||||
|
),
|
||||||
|
SizedBox(
|
||||||
|
width: 10.w,
|
||||||
|
),
|
||||||
|
Text(
|
||||||
|
deviceName,
|
||||||
|
style: TextStyle(fontSize: 22.sp, color: AppColors.blackColor),
|
||||||
|
),
|
||||||
|
SizedBox(
|
||||||
|
width: 30.w,
|
||||||
|
)
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
onTap: () {
|
||||||
|
setState(() {
|
||||||
|
isNameSelect = !isNameSelect;
|
||||||
|
});
|
||||||
|
},
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,138 @@
|
|||||||
|
import 'package:flutter/material.dart';
|
||||||
|
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
||||||
|
import 'package:get/get.dart';
|
||||||
|
import 'package:star_lock/tools/submitBtn.dart';
|
||||||
|
|
||||||
|
import '../../../../app_settings/app_colors.dart';
|
||||||
|
import '../../../../tools/titleAppBar.dart';
|
||||||
|
import '../../../../translations/trans_lib.dart';
|
||||||
|
|
||||||
|
class GetNameListPage extends StatefulWidget {
|
||||||
|
const GetNameListPage({Key? key}) : super(key: key);
|
||||||
|
|
||||||
|
@override
|
||||||
|
State<GetNameListPage> createState() => _GetNameListPageState();
|
||||||
|
}
|
||||||
|
|
||||||
|
class _GetNameListPageState extends State<GetNameListPage> {
|
||||||
|
bool isNameSelect = false;
|
||||||
|
@override
|
||||||
|
Widget build(BuildContext context) {
|
||||||
|
return Scaffold(
|
||||||
|
backgroundColor: AppColors.mainBackgroundColor,
|
||||||
|
appBar: TitleAppBar(
|
||||||
|
barTitle: TranslationLoader.lanKeys!.associatedName!.tr,
|
||||||
|
haveBack: true,
|
||||||
|
backgroundColor: AppColors.mainColor,
|
||||||
|
),
|
||||||
|
body: Column(
|
||||||
|
mainAxisAlignment: MainAxisAlignment.start,
|
||||||
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
|
children: [
|
||||||
|
Padding(
|
||||||
|
padding: EdgeInsets.only(
|
||||||
|
left: 30.w, top: 16.w, right: 30.w, bottom: 16.w),
|
||||||
|
child: Text(
|
||||||
|
'请选择设备要关联哪些姓名',
|
||||||
|
style: TextStyle(
|
||||||
|
color: AppColors.darkGrayTextColor, fontSize: 20.sp),
|
||||||
|
textAlign: TextAlign.start,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
Expanded(child: _permissionNameList()),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
//姓名列表
|
||||||
|
Widget _permissionNameList() {
|
||||||
|
return Column(
|
||||||
|
children: [
|
||||||
|
Expanded(
|
||||||
|
child: ListView.separated(
|
||||||
|
itemBuilder: (context, index) {
|
||||||
|
if (index == 0) {
|
||||||
|
return _buildNameWidget(
|
||||||
|
context, index, 'images/icon_password.png', '密码1');
|
||||||
|
} else if (index == 1) {
|
||||||
|
return _buildNameWidget(
|
||||||
|
context, index, 'images/icon_card.png', '卡1');
|
||||||
|
} else if (index == 2) {
|
||||||
|
return _buildNameWidget(
|
||||||
|
context, index, 'images/icon_fingerprint.png', '指纹1');
|
||||||
|
} else if (index == 3) {
|
||||||
|
return _buildNameWidget(
|
||||||
|
context, index, 'images/icon_card.png', '遥控1');
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
},
|
||||||
|
separatorBuilder: (context, index) {
|
||||||
|
return const Divider(
|
||||||
|
height: 1,
|
||||||
|
color: AppColors.greyLineColor,
|
||||||
|
);
|
||||||
|
},
|
||||||
|
itemCount: 5)),
|
||||||
|
SizedBox(
|
||||||
|
height: 20.h,
|
||||||
|
),
|
||||||
|
SubmitBtn(
|
||||||
|
btnName: '确定',
|
||||||
|
onClick: () {},
|
||||||
|
),
|
||||||
|
SizedBox(
|
||||||
|
height: 40.h,
|
||||||
|
)
|
||||||
|
],
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
Widget _buildNameWidget(context, index, imageName, getName) {
|
||||||
|
return GestureDetector(
|
||||||
|
child: Container(
|
||||||
|
height: 90.h,
|
||||||
|
color: Colors.white,
|
||||||
|
width: ScreenUtil().screenWidth,
|
||||||
|
child: Row(
|
||||||
|
children: [
|
||||||
|
SizedBox(
|
||||||
|
width: 30.w,
|
||||||
|
),
|
||||||
|
Image.asset(
|
||||||
|
imageName,
|
||||||
|
width: 36.w,
|
||||||
|
height: 36.w,
|
||||||
|
),
|
||||||
|
SizedBox(
|
||||||
|
width: 10.w,
|
||||||
|
),
|
||||||
|
Text(
|
||||||
|
getName,
|
||||||
|
style: TextStyle(fontSize: 22.sp, color: AppColors.blackColor),
|
||||||
|
),
|
||||||
|
Expanded(
|
||||||
|
child: SizedBox(
|
||||||
|
width: 20.w,
|
||||||
|
)),
|
||||||
|
Image.asset(
|
||||||
|
isNameSelect == false
|
||||||
|
? 'images/icon_round_unSelet.png'
|
||||||
|
: 'images/icon_round_selet.png',
|
||||||
|
width: 30.sp,
|
||||||
|
height: 30.sp,
|
||||||
|
),
|
||||||
|
SizedBox(
|
||||||
|
width: 30.w,
|
||||||
|
)
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
onTap: () {
|
||||||
|
setState(() {
|
||||||
|
isNameSelect = !isNameSelect;
|
||||||
|
});
|
||||||
|
},
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -76,6 +76,17 @@ class _MineSetPageState extends State<MineSetPage> {
|
|||||||
Navigator.pushNamed(
|
Navigator.pushNamed(
|
||||||
context, Routers.authorizedAdministratorListPage);
|
context, Routers.authorizedAdministratorListPage);
|
||||||
}),
|
}),
|
||||||
|
//by DaisyWu 新增--权限管理
|
||||||
|
CommonItem(
|
||||||
|
leftTitel:
|
||||||
|
TranslationLoader.lanKeys!.authorityManagement!.tr,
|
||||||
|
rightTitle: "",
|
||||||
|
isHaveLine: true,
|
||||||
|
isHaveDirection: true,
|
||||||
|
action: () {
|
||||||
|
Navigator.pushNamed(
|
||||||
|
context, Routers.authorityManagementPage);
|
||||||
|
}),
|
||||||
CommonItem(
|
CommonItem(
|
||||||
leftTitel: TranslationLoader.lanKeys!.lockGroup!.tr,
|
leftTitel: TranslationLoader.lanKeys!.lockGroup!.tr,
|
||||||
rightTitle: "",
|
rightTitle: "",
|
||||||
|
|||||||
@ -1,374 +1,378 @@
|
|||||||
class LanKeyEntity {
|
class LanKeyEntity {
|
||||||
LanKeyEntity({
|
LanKeyEntity(
|
||||||
this.starLock,
|
{this.starLock,
|
||||||
this.clickUnlockAndHoldDownClose,
|
this.clickUnlockAndHoldDownClose,
|
||||||
this.checkingIn,
|
this.checkingIn,
|
||||||
this.electronicKey,
|
this.electronicKey,
|
||||||
this.password,
|
this.password,
|
||||||
this.card,
|
this.card,
|
||||||
this.fingerprint,
|
this.fingerprint,
|
||||||
this.remoteControl,
|
this.remoteControl,
|
||||||
this.operatingRecord,
|
this.operatingRecord,
|
||||||
this.number,
|
this.number,
|
||||||
this.additive,
|
this.additive,
|
||||||
this.addTime,
|
this.addTime,
|
||||||
this.reset,
|
this.reset,
|
||||||
this.sendKey,
|
this.sendKey,
|
||||||
this.timeLimit,
|
this.timeLimit,
|
||||||
this.permanent,
|
this.permanent,
|
||||||
this.once,
|
this.once,
|
||||||
this.circulation,
|
this.circulation,
|
||||||
this.receiver,
|
this.receiver,
|
||||||
this.pleaseEnterNumberOrEmail,
|
this.pleaseEnterNumberOrEmail,
|
||||||
this.name,
|
this.name,
|
||||||
this.enterYourName,
|
this.enterYourName,
|
||||||
this.effectiveTime,
|
this.effectiveTime,
|
||||||
this.failureTime,
|
this.failureTime,
|
||||||
this.effectiveDate,
|
this.effectiveDate,
|
||||||
this.failureDate,
|
this.failureDate,
|
||||||
this.monday,
|
this.monday,
|
||||||
this.tuesday,
|
this.tuesday,
|
||||||
this.wednesday,
|
this.wednesday,
|
||||||
this.thursday,
|
this.thursday,
|
||||||
this.friday,
|
this.friday,
|
||||||
this.saturday,
|
this.saturday,
|
||||||
this.sunday,
|
this.sunday,
|
||||||
this.mondayShort,
|
this.mondayShort,
|
||||||
this.tuesdayShort,
|
this.tuesdayShort,
|
||||||
this.wednesdayShort,
|
this.wednesdayShort,
|
||||||
this.thursdayShort,
|
this.thursdayShort,
|
||||||
this.fridayShort,
|
this.fridayShort,
|
||||||
this.saturdayShort,
|
this.saturdayShort,
|
||||||
this.sundayShort,
|
this.sundayShort,
|
||||||
this.realNameAuthentication,
|
this.realNameAuthentication,
|
||||||
this.sendKeyBottomTip,
|
this.sendKeyBottomTip,
|
||||||
this.send,
|
this.send,
|
||||||
this.periodValidity,
|
this.periodValidity,
|
||||||
this.sendGroupKey,
|
this.sendGroupKey,
|
||||||
this.lock,
|
this.lock,
|
||||||
this.pleaseAdd,
|
this.pleaseAdd,
|
||||||
this.pleaseSelet,
|
this.pleaseSelet,
|
||||||
this.remoteUnlockingAllowed,
|
this.remoteUnlockingAllowed,
|
||||||
this.pleaseEnter,
|
this.pleaseEnter,
|
||||||
this.getPassword,
|
this.getPassword,
|
||||||
this.custom,
|
this.custom,
|
||||||
this.clearAll,
|
this.clearAll,
|
||||||
this.recursiveDevice,
|
this.recursiveDevice,
|
||||||
this.pleaseNameYourPassword,
|
this.pleaseNameYourPassword,
|
||||||
this.pleaseEnterDigitsNumber,
|
this.pleaseEnterDigitsNumber,
|
||||||
this.getPasswordTip1,
|
this.getPasswordTip1,
|
||||||
this.getPasswordTip2,
|
this.getPasswordTip2,
|
||||||
this.getPasswordTip3,
|
this.getPasswordTip3,
|
||||||
this.getPasswordTip4,
|
this.getPasswordTip4,
|
||||||
this.getPasswordTip5,
|
this.getPasswordTip5,
|
||||||
this.getPasswordTip6,
|
this.getPasswordTip6,
|
||||||
this.getTip,
|
this.getTip,
|
||||||
this.addTip,
|
this.addTip,
|
||||||
this.sender,
|
this.sender,
|
||||||
this.senderTime,
|
this.senderTime,
|
||||||
this.keyDetail,
|
this.keyDetail,
|
||||||
this.detail,
|
this.detail,
|
||||||
this.delete,
|
this.delete,
|
||||||
this.passwordDetail,
|
this.passwordDetail,
|
||||||
this.share,
|
this.share,
|
||||||
this.amend,
|
this.amend,
|
||||||
this.sure,
|
this.sure,
|
||||||
this.cancel,
|
this.cancel,
|
||||||
this.add,
|
this.add,
|
||||||
this.accountNumber,
|
this.accountNumber,
|
||||||
this.volumeAuthorizationLock,
|
this.volumeAuthorizationLock,
|
||||||
this.authorizedAdminTip,
|
this.authorizedAdminTip,
|
||||||
this.lockOperatingRecordTip,
|
this.lockOperatingRecordTip,
|
||||||
this.rankingList,
|
this.rankingList,
|
||||||
this.earlyArrivalList,
|
this.earlyArrivalList,
|
||||||
this.lateList,
|
this.lateList,
|
||||||
this.hardWorkingList,
|
this.hardWorkingList,
|
||||||
this.basicInformation,
|
this.basicInformation,
|
||||||
this.wirelessKeyboard,
|
this.wirelessKeyboard,
|
||||||
this.doorMagnetic,
|
this.doorMagnetic,
|
||||||
this.remoteUnlocking,
|
this.remoteUnlocking,
|
||||||
this.automaticBlocking,
|
this.automaticBlocking,
|
||||||
this.normallyOpenMode,
|
this.normallyOpenMode,
|
||||||
this.lockSound,
|
this.lockSound,
|
||||||
this.burglarAlarm,
|
this.burglarAlarm,
|
||||||
this.resetButton,
|
this.resetButton,
|
||||||
this.lockTime,
|
this.lockTime,
|
||||||
this.diagnose,
|
this.diagnose,
|
||||||
this.uploadData,
|
this.uploadData,
|
||||||
this.importOtherLockData,
|
this.importOtherLockData,
|
||||||
this.lockEscalation,
|
this.lockEscalation,
|
||||||
this.markedHouseState,
|
this.markedHouseState,
|
||||||
this.unlockReminder,
|
this.unlockReminder,
|
||||||
this.unlockQRCode,
|
this.unlockQRCode,
|
||||||
this.lockNumber,
|
this.lockNumber,
|
||||||
this.electricQuantity,
|
this.electricQuantity,
|
||||||
this.lockName,
|
this.lockName,
|
||||||
this.lockGrouping,
|
this.lockGrouping,
|
||||||
this.selectGroup,
|
this.selectGroup,
|
||||||
this.createNewGroup,
|
this.createNewGroup,
|
||||||
this.adminOpenLockPassword,
|
this.adminOpenLockPassword,
|
||||||
this.update,
|
this.update,
|
||||||
this.updateElectricQuantityTip,
|
this.updateElectricQuantityTip,
|
||||||
this.adminOpenLockPasswordTip,
|
this.adminOpenLockPasswordTip,
|
||||||
this.updateLockAdminPassword,
|
this.updateLockAdminPassword,
|
||||||
this.whenScreenFlashesClickNext,
|
this.whenScreenFlashesClickNext,
|
||||||
this.theScreenNeverFlickered,
|
this.theScreenNeverFlickered,
|
||||||
this.enterNumberOrPressSet,
|
this.enterNumberOrPressSet,
|
||||||
this.theLocationOfTheSetKeyWillBeDifferent,
|
this.theLocationOfTheSetKeyWillBeDifferent,
|
||||||
this.pressAndHoldTheResetButtonTwoSeconds,
|
this.pressAndHoldTheResetButtonTwoSeconds,
|
||||||
this.nearbyEquipment,
|
this.nearbyEquipment,
|
||||||
this.noData,
|
this.noData,
|
||||||
this.doorMagneticListTopTip,
|
this.doorMagneticListTopTip,
|
||||||
this.remoteUnlockingPageTip,
|
this.remoteUnlockingPageTip,
|
||||||
this.currentMode,
|
this.currentMode,
|
||||||
this.delayTime,
|
this.delayTime,
|
||||||
this.automaticBlockingTip,
|
this.automaticBlockingTip,
|
||||||
this.time,
|
this.time,
|
||||||
this.normallyOpen,
|
this.normallyOpen,
|
||||||
this.date,
|
this.date,
|
||||||
this.begin,
|
this.begin,
|
||||||
this.end,
|
this.end,
|
||||||
this.allDay,
|
this.allDay,
|
||||||
this.save,
|
this.save,
|
||||||
this.normallyOpenModeTip,
|
this.normallyOpenModeTip,
|
||||||
this.pleaseSeletLockVolume,
|
this.pleaseSeletLockVolume,
|
||||||
this.lockSoundTip,
|
this.lockSoundTip,
|
||||||
this.low,
|
this.low,
|
||||||
this.lower,
|
this.lower,
|
||||||
this.medium,
|
this.medium,
|
||||||
this.high,
|
this.high,
|
||||||
this.higher,
|
this.higher,
|
||||||
this.burglarAlarmTip,
|
this.burglarAlarmTip,
|
||||||
this.resetButtonTip1,
|
this.resetButtonTip1,
|
||||||
this.resetButtonTip2,
|
this.resetButtonTip2,
|
||||||
this.calibrationTime,
|
this.calibrationTime,
|
||||||
this.setTheDSTMode,
|
this.setTheDSTMode,
|
||||||
this.diagnoseTip,
|
this.diagnoseTip,
|
||||||
this.uploading,
|
this.uploading,
|
||||||
this.uploadDataTip,
|
this.uploadDataTip,
|
||||||
this.importOtherLockDataTip,
|
this.importOtherLockDataTip,
|
||||||
this.haveNewVersion,
|
this.haveNewVersion,
|
||||||
this.currentVersion,
|
this.currentVersion,
|
||||||
this.newVersion,
|
this.newVersion,
|
||||||
this.upgrade,
|
this.upgrade,
|
||||||
this.leisure,
|
this.leisure,
|
||||||
this.checkedIn,
|
this.checkedIn,
|
||||||
this.company,
|
this.company,
|
||||||
this.staff,
|
this.staff,
|
||||||
this.work,
|
this.work,
|
||||||
this.workday,
|
this.workday,
|
||||||
this.holidays,
|
this.holidays,
|
||||||
this.punchingMode,
|
this.punchingMode,
|
||||||
this.whetherTheEmployeeHasAKey,
|
this.whetherTheEmployeeHasAKey,
|
||||||
this.selectKey,
|
this.selectKey,
|
||||||
this.officeHours,
|
this.officeHours,
|
||||||
this.closingTime,
|
this.closingTime,
|
||||||
this.thisWeek,
|
this.thisWeek,
|
||||||
this.singleDayWeekend,
|
this.singleDayWeekend,
|
||||||
this.twoDaysOff,
|
this.twoDaysOff,
|
||||||
this.oddOrEvenDaysOff,
|
this.oddOrEvenDaysOff,
|
||||||
this.year,
|
this.year,
|
||||||
this.month,
|
this.month,
|
||||||
this.libertyDay,
|
this.libertyDay,
|
||||||
this.coverDate,
|
this.coverDate,
|
||||||
this.addedHoliday,
|
this.addedHoliday,
|
||||||
this.startDate,
|
this.startDate,
|
||||||
this.accessDate,
|
this.accessDate,
|
||||||
this.mustFillIn,
|
this.mustFillIn,
|
||||||
this.endDate,
|
this.endDate,
|
||||||
this.dailyCharts,
|
this.dailyCharts,
|
||||||
this.monthlyLeaderboard,
|
this.monthlyLeaderboard,
|
||||||
this.noAttendanceRecord,
|
this.noAttendanceRecord,
|
||||||
this.everyoneIsVeryMotivated,
|
this.everyoneIsVeryMotivated,
|
||||||
this.workingHoursWereNotReleased,
|
this.workingHoursWereNotReleased,
|
||||||
this.beLate,
|
this.beLate,
|
||||||
this.leaveEarly,
|
this.leaveEarly,
|
||||||
this.noCardPunched,
|
this.noCardPunched,
|
||||||
this.lanEnglish,
|
this.lanEnglish,
|
||||||
this.lanChinese,
|
this.lanChinese,
|
||||||
this.multilingual,
|
this.multilingual,
|
||||||
this.addLock,
|
this.addLock,
|
||||||
this.addDevice,
|
this.addDevice,
|
||||||
this.gateway,
|
this.gateway,
|
||||||
this.message,
|
this.message,
|
||||||
this.supportStaff,
|
this.supportStaff,
|
||||||
this.set,
|
this.set,
|
||||||
this.moreServices,
|
this.moreServices,
|
||||||
this.moreSet,
|
this.moreSet,
|
||||||
this.prompTone,
|
this.prompTone,
|
||||||
this.touchUnlock,
|
this.touchUnlock,
|
||||||
this.pushNotification,
|
this.pushNotification,
|
||||||
this.lockUserManagement,
|
this.lockUserManagement,
|
||||||
this.authorizedAdmin,
|
this.authorityManagement,
|
||||||
this.addAuthorizedAdmin,
|
this.associatedDevice,
|
||||||
this.lockGroup,
|
this.associatedName,
|
||||||
this.transferSmartLock,
|
this.device,
|
||||||
this.selectiveLock,
|
this.authorizedAdmin,
|
||||||
this.recipientInformation,
|
this.addAuthorizedAdmin,
|
||||||
this.transferGateway,
|
this.lockGroup,
|
||||||
this.multiLanguage,
|
this.transferSmartLock,
|
||||||
this.lockScreen,
|
this.selectiveLock,
|
||||||
this.closed,
|
this.recipientInformation,
|
||||||
this.opened,
|
this.transferGateway,
|
||||||
this.hideInvalidUnlockPermissions,
|
this.multiLanguage,
|
||||||
this.appUnlockRequiresMobilePhoneAccessToTheLock,
|
this.lockScreen,
|
||||||
this.valueAddedServices,
|
this.closed,
|
||||||
this.about,
|
this.opened,
|
||||||
this.userAgreement,
|
this.hideInvalidUnlockPermissions,
|
||||||
this.privacyPolicy,
|
this.appUnlockRequiresMobilePhoneAccessToTheLock,
|
||||||
this.personalInformationCollectionList,
|
this.valueAddedServices,
|
||||||
this.applicationPermissionDescription,
|
this.about,
|
||||||
this.thirdPartyInformationSharingList,
|
this.userAgreement,
|
||||||
this.logout,
|
this.privacyPolicy,
|
||||||
this.deleteAccount,
|
this.personalInformationCollectionList,
|
||||||
this.personalInformation,
|
this.applicationPermissionDescription,
|
||||||
this.avatar,
|
this.thirdPartyInformationSharingList,
|
||||||
this.nickName,
|
this.logout,
|
||||||
this.changeNickName,
|
this.deleteAccount,
|
||||||
this.modifyAccount,
|
this.personalInformation,
|
||||||
this.resetPasswords,
|
this.avatar,
|
||||||
this.safetyProblem,
|
this.nickName,
|
||||||
this.modifyAccountTip,
|
this.changeNickName,
|
||||||
this.pleaseEnterAccountNumber,
|
this.modifyAccount,
|
||||||
this.pleaseEnterNewAccountNumber,
|
this.resetPasswords,
|
||||||
this.changeIphoneTip,
|
this.safetyProblem,
|
||||||
this.changeEmailTip,
|
this.modifyAccountTip,
|
||||||
this.originalPassword,
|
this.pleaseEnterAccountNumber,
|
||||||
this.newPassword,
|
this.pleaseEnterNewAccountNumber,
|
||||||
this.surePassword,
|
this.changeIphoneTip,
|
||||||
this.safetyProblemTip,
|
this.changeEmailTip,
|
||||||
this.problemOne,
|
this.originalPassword,
|
||||||
this.problemTwo,
|
this.newPassword,
|
||||||
this.problemThree,
|
this.surePassword,
|
||||||
this.pleaseEnterYourAnswer,
|
this.safetyProblemTip,
|
||||||
this.aboutToExpire,
|
this.problemOne,
|
||||||
this.changeName,
|
this.problemTwo,
|
||||||
this.designation,
|
this.problemThree,
|
||||||
this.state,
|
this.pleaseEnterYourAnswer,
|
||||||
this.wifiName,
|
this.aboutToExpire,
|
||||||
this.networkMAC,
|
this.deAuthorize,
|
||||||
this.gatewayUpgrade,
|
this.changeName,
|
||||||
this.gatewayConnectionLock,
|
this.designation,
|
||||||
this.strongSignal,
|
this.state,
|
||||||
this.mediumSignal,
|
this.wifiName,
|
||||||
this.averageSignal,
|
this.networkMAC,
|
||||||
this.weakSignal,
|
this.gatewayUpgrade,
|
||||||
this.selectGatewayType,
|
this.gatewayConnectionLock,
|
||||||
this.addGateway,
|
this.strongSignal,
|
||||||
this.turnThePowerBackOn,
|
this.mediumSignal,
|
||||||
this.indicatorLight,
|
this.averageSignal,
|
||||||
this.seletGatewayTypeNextTip,
|
this.weakSignal,
|
||||||
this.selectGateway,
|
this.selectGatewayType,
|
||||||
this.gatewayConfigurationWifiTip,
|
this.addGateway,
|
||||||
this.wifiPassward,
|
this.turnThePowerBackOn,
|
||||||
this.pleaseEnterTheWiFiPassword,
|
this.indicatorLight,
|
||||||
this.gatewayName,
|
this.seletGatewayTypeNextTip,
|
||||||
this.pleaseEnterGatewayName,
|
this.selectGateway,
|
||||||
this.wifiMAC,
|
this.gatewayConfigurationWifiTip,
|
||||||
this.ipAddress,
|
this.wifiPassward,
|
||||||
this.subnetMask,
|
this.pleaseEnterTheWiFiPassword,
|
||||||
this.defaultGateway,
|
this.gatewayName,
|
||||||
this.automaticallyGetTheDNSServerAddress,
|
this.pleaseEnterGatewayName,
|
||||||
this.preferredDNS,
|
this.wifiMAC,
|
||||||
this.alternativeDNS,
|
this.ipAddress,
|
||||||
this.noStaticIPIsUsed,
|
this.subnetMask,
|
||||||
this.allLock,
|
this.defaultGateway,
|
||||||
this.searchAllLockType,
|
this.automaticallyGetTheDNSServerAddress,
|
||||||
this.doorLock,
|
this.preferredDNS,
|
||||||
this.padlock,
|
this.alternativeDNS,
|
||||||
this.safeLock,
|
this.noStaticIPIsUsed,
|
||||||
this.intelligentLockCore,
|
this.allLock,
|
||||||
this.itelligentAccessControl,
|
this.searchAllLockType,
|
||||||
this.parkingLock,
|
this.doorLock,
|
||||||
this.bicycleLock,
|
this.padlock,
|
||||||
this.longRangeControl,
|
this.safeLock,
|
||||||
this.lightTouchScreen,
|
this.intelligentLockCore,
|
||||||
this.lightTouchScreenTip,
|
this.itelligentAccessControl,
|
||||||
this.next,
|
this.parkingLock,
|
||||||
this.nearbyLock,
|
this.bicycleLock,
|
||||||
this.addSuccessfullyPleaseRename,
|
this.longRangeControl,
|
||||||
this.whenAddingLockThePhoneMustBeNextToTheLock,
|
this.lightTouchScreen,
|
||||||
this.login,
|
this.lightTouchScreenTip,
|
||||||
this.register,
|
this.next,
|
||||||
this.forgetPassword,
|
this.nearbyLock,
|
||||||
this.readAndAgree,
|
this.addSuccessfullyPleaseRename,
|
||||||
this.verificationCode,
|
this.whenAddingLockThePhoneMustBeNextToTheLock,
|
||||||
this.registerPasswordTip,
|
this.login,
|
||||||
this.iphone,
|
this.register,
|
||||||
this.email,
|
this.forgetPassword,
|
||||||
this.countryAndRegion,
|
this.readAndAgree,
|
||||||
this.selet,
|
this.verificationCode,
|
||||||
this.businessCooperation,
|
this.registerPasswordTip,
|
||||||
this.officialWebsite,
|
this.iphone,
|
||||||
this.computerWebVersion,
|
this.email,
|
||||||
this.hotelSystem,
|
this.countryAndRegion,
|
||||||
this.manualWebVersion,
|
this.selet,
|
||||||
this.introduce,
|
this.businessCooperation,
|
||||||
this.note,
|
this.officialWebsite,
|
||||||
this.mail,
|
this.computerWebVersion,
|
||||||
this.advancedFunction,
|
this.hotelSystem,
|
||||||
this.pushMessage,
|
this.manualWebVersion,
|
||||||
this.recordsRetention,
|
this.introduce,
|
||||||
this.smsBuyTip,
|
this.note,
|
||||||
this.emailBuyTip,
|
this.mail,
|
||||||
this.currentRemainingQuantity,
|
this.advancedFunction,
|
||||||
this.buy,
|
this.pushMessage,
|
||||||
this.customSMSTemplate,
|
this.recordsRetention,
|
||||||
this.customMailTemplate,
|
this.smsBuyTip,
|
||||||
this.record,
|
this.emailBuyTip,
|
||||||
this.buyRealNameTip,
|
this.currentRemainingQuantity,
|
||||||
this.buyRealNameSeletYouWantBuyTip,
|
this.buy,
|
||||||
this.forTheFirstTime,
|
this.customSMSTemplate,
|
||||||
this.onceDay,
|
this.customMailTemplate,
|
||||||
this.weekOnce,
|
this.record,
|
||||||
this.monthOnce,
|
this.buyRealNameTip,
|
||||||
this.currentState,
|
this.buyRealNameSeletYouWantBuyTip,
|
||||||
this.onTrial,
|
this.forTheFirstTime,
|
||||||
this.haveNotOpened,
|
this.onceDay,
|
||||||
this.advancedFeaturesAndBenefitsContent,
|
this.weekOnce,
|
||||||
this.smsTemplate,
|
this.monthOnce,
|
||||||
this.emailTemplate,
|
this.currentState,
|
||||||
this.cardIssuingtool,
|
this.onTrial,
|
||||||
this.titleForBuyingAdvancedFeatures,
|
this.haveNotOpened,
|
||||||
this.tipsForBuyingAdvancedFeatures,
|
this.advancedFeaturesAndBenefitsContent,
|
||||||
this.freeTrial,
|
this.smsTemplate,
|
||||||
this.openNow,
|
this.emailTemplate,
|
||||||
this.buySMS,
|
this.cardIssuingtool,
|
||||||
this.buyMail,
|
this.titleForBuyingAdvancedFeatures,
|
||||||
this.buyRealNameAuthenticationTimes,
|
this.tipsForBuyingAdvancedFeatures,
|
||||||
this.enablingAdvancedFeatures,
|
this.freeTrial,
|
||||||
this.chooseAPackage,
|
this.openNow,
|
||||||
this.modeOfPayment,
|
this.buySMS,
|
||||||
this.alipay,
|
this.buyMail,
|
||||||
this.goToPay,
|
this.buyRealNameAuthenticationTimes,
|
||||||
this.customTemplatesTip,
|
this.enablingAdvancedFeatures,
|
||||||
this.haveOpened,
|
this.chooseAPackage,
|
||||||
this.unHaveOpenedTip1,
|
this.modeOfPayment,
|
||||||
this.unHaveOpenedTip2,
|
this.alipay,
|
||||||
this.freeTrialKeywords,
|
this.goToPay,
|
||||||
this.goToTheOpen,
|
this.customTemplatesTip,
|
||||||
this.creatingANewTemplate,
|
this.haveOpened,
|
||||||
this.type,
|
this.unHaveOpenedTip1,
|
||||||
this.templateContent,
|
this.unHaveOpenedTip2,
|
||||||
this.preview,
|
this.freeTrialKeywords,
|
||||||
this.hello,
|
this.goToTheOpen,
|
||||||
this.yourRoomIs,
|
this.creatingANewTemplate,
|
||||||
this.roomName,
|
this.type,
|
||||||
this.theCodeToOpenTheDoorIs,
|
this.templateContent,
|
||||||
this.templateTip1,
|
this.preview,
|
||||||
this.templateTip2,
|
this.hello,
|
||||||
this.templateTip3,
|
this.yourRoomIs,
|
||||||
this.expectedNotoCount,
|
this.roomName,
|
||||||
this.templateTip4,
|
this.theCodeToOpenTheDoorIs,
|
||||||
this.and,
|
this.templateTip1,
|
||||||
this.willBeReplacedWithTheActualValue,
|
this.templateTip2,
|
||||||
this.downloadLink,
|
this.templateTip3,
|
||||||
this.lockScreenTip,
|
this.expectedNotoCount,
|
||||||
this.hideInvalidUnlockPermissionsTip,
|
this.templateTip4,
|
||||||
this.appUnlockRequiresMobilePhoneAccessToTheLockTip,
|
this.and,
|
||||||
this.checkAll,
|
this.willBeReplacedWithTheActualValue,
|
||||||
this.getVerificationCode
|
this.downloadLink,
|
||||||
});
|
this.lockScreenTip,
|
||||||
|
this.hideInvalidUnlockPermissionsTip,
|
||||||
|
this.appUnlockRequiresMobilePhoneAccessToTheLockTip,
|
||||||
|
this.checkAll,
|
||||||
|
this.getVerificationCode});
|
||||||
|
|
||||||
LanKeyEntity.fromJson(dynamic json) {
|
LanKeyEntity.fromJson(dynamic json) {
|
||||||
starLock = json['starLock'];
|
starLock = json['starLock'];
|
||||||
@ -577,6 +581,11 @@ class LanKeyEntity {
|
|||||||
touchUnlock = json['touchUnlock'];
|
touchUnlock = json['touchUnlock'];
|
||||||
pushNotification = json['pushNotification'];
|
pushNotification = json['pushNotification'];
|
||||||
lockUserManagement = json['lockUserManagement'];
|
lockUserManagement = json['lockUserManagement'];
|
||||||
|
authorityManagement = json['authorityManagement'];
|
||||||
|
associatedDevice = json['associatedDevice'];
|
||||||
|
associatedName = json['associatedName'];
|
||||||
|
device = json['device'];
|
||||||
|
|
||||||
authorizedAdmin = json['authorizedAdmin'];
|
authorizedAdmin = json['authorizedAdmin'];
|
||||||
addAuthorizedAdmin = json['addAuthorizedAdmin'];
|
addAuthorizedAdmin = json['addAuthorizedAdmin'];
|
||||||
lockGroup = json['lockGroup'];
|
lockGroup = json['lockGroup'];
|
||||||
@ -623,6 +632,7 @@ class LanKeyEntity {
|
|||||||
problemThree = json['problemThree'];
|
problemThree = json['problemThree'];
|
||||||
pleaseEnterYourAnswer = json['pleaseEnterYourAnswer'];
|
pleaseEnterYourAnswer = json['pleaseEnterYourAnswer'];
|
||||||
aboutToExpire = json['aboutToExpire'];
|
aboutToExpire = json['aboutToExpire'];
|
||||||
|
deAuthorize = json['deAuthorize'];
|
||||||
changeName = json['changeName'];
|
changeName = json['changeName'];
|
||||||
|
|
||||||
designation = json['designation'];
|
designation = json['designation'];
|
||||||
@ -969,6 +979,10 @@ class LanKeyEntity {
|
|||||||
String? touchUnlock;
|
String? touchUnlock;
|
||||||
String? pushNotification;
|
String? pushNotification;
|
||||||
String? lockUserManagement;
|
String? lockUserManagement;
|
||||||
|
String? authorityManagement;
|
||||||
|
String? associatedDevice;
|
||||||
|
String? associatedName;
|
||||||
|
String? device;
|
||||||
String? authorizedAdmin;
|
String? authorizedAdmin;
|
||||||
String? addAuthorizedAdmin;
|
String? addAuthorizedAdmin;
|
||||||
String? lockGroup;
|
String? lockGroup;
|
||||||
@ -1015,6 +1029,7 @@ class LanKeyEntity {
|
|||||||
String? problemThree;
|
String? problemThree;
|
||||||
String? pleaseEnterYourAnswer;
|
String? pleaseEnterYourAnswer;
|
||||||
String? aboutToExpire;
|
String? aboutToExpire;
|
||||||
|
String? deAuthorize;
|
||||||
String? changeName;
|
String? changeName;
|
||||||
|
|
||||||
String? designation;
|
String? designation;
|
||||||
@ -1359,6 +1374,10 @@ class LanKeyEntity {
|
|||||||
map['touchUnlock'] = touchUnlock;
|
map['touchUnlock'] = touchUnlock;
|
||||||
map['pushNotification'] = pushNotification;
|
map['pushNotification'] = pushNotification;
|
||||||
map['lockUserManagement'] = lockUserManagement;
|
map['lockUserManagement'] = lockUserManagement;
|
||||||
|
map['authorityManagement'] = authorityManagement;
|
||||||
|
map['associatedDevice'] = associatedDevice;
|
||||||
|
map['associatedName'] = associatedName;
|
||||||
|
map['device'] = device;
|
||||||
map['authorizedAdmin'] = authorizedAdmin;
|
map['authorizedAdmin'] = authorizedAdmin;
|
||||||
map['addAuthorizedAdmin'] = addAuthorizedAdmin;
|
map['addAuthorizedAdmin'] = addAuthorizedAdmin;
|
||||||
map['lockGroup'] = lockGroup;
|
map['lockGroup'] = lockGroup;
|
||||||
@ -1406,6 +1425,7 @@ class LanKeyEntity {
|
|||||||
map['problemThree'] = problemThree;
|
map['problemThree'] = problemThree;
|
||||||
map['pleaseEnterYourAnswer'] = pleaseEnterYourAnswer;
|
map['pleaseEnterYourAnswer'] = pleaseEnterYourAnswer;
|
||||||
map['aboutToExpire'] = aboutToExpire;
|
map['aboutToExpire'] = aboutToExpire;
|
||||||
|
map['deAuthorize'] = deAuthorize;
|
||||||
map['changeName'] = changeName;
|
map['changeName'] = changeName;
|
||||||
|
|
||||||
map['designation'] = designation;
|
map['designation'] = designation;
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user