Merge remote-tracking branch 'origin/master'
# Conflicts: # star_lock/lib/appRouters.dart
This commit is contained in:
commit
8768a77dd9
BIN
star_lock/images/icon_bar_share.png
Normal file
BIN
star_lock/images/icon_bar_share.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.2 KiB |
@ -203,7 +203,13 @@
|
|||||||
"touchUnlock":"Touch Unlock",
|
"touchUnlock":"Touch Unlock",
|
||||||
"pushNotification":"Push Notification",
|
"pushNotification":"Push Notification",
|
||||||
"lockUserManagement":"Lock User Management",
|
"lockUserManagement":"Lock User Management",
|
||||||
|
"ownedKey":"Owned key",
|
||||||
|
"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,11 @@
|
|||||||
"touchUnlock":"touchUnlock",
|
"touchUnlock":"touchUnlock",
|
||||||
"pushNotification":"pushNotification",
|
"pushNotification":"pushNotification",
|
||||||
"lockUserManagement":"lockUserManagement",
|
"lockUserManagement":"lockUserManagement",
|
||||||
|
"ownedKey":"ownedKey",
|
||||||
|
"authorityManagement":"authorityManagement",
|
||||||
|
"associatedDevice":"associatedDevice",
|
||||||
|
"associatedName":"associatedName",
|
||||||
|
"device":"device",
|
||||||
"authorizedAdmin":"authorizedAdmin",
|
"authorizedAdmin":"authorizedAdmin",
|
||||||
"addAuthorizedAdmin":"addAuthorizedAdmin",
|
"addAuthorizedAdmin":"addAuthorizedAdmin",
|
||||||
"lockGroup":"lockGroup",
|
"lockGroup":"lockGroup",
|
||||||
@ -246,6 +251,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,11 @@
|
|||||||
"touchUnlock":"触摸开锁",
|
"touchUnlock":"触摸开锁",
|
||||||
"pushNotification":"消息推送",
|
"pushNotification":"消息推送",
|
||||||
"lockUserManagement":"锁用户管理",
|
"lockUserManagement":"锁用户管理",
|
||||||
|
"ownedKey":"拥有的钥匙",
|
||||||
|
"authorityManagement":"权限管理",
|
||||||
|
"associatedDevice":"关联设备",
|
||||||
|
"associatedName":"关联姓名",
|
||||||
|
"device":"设备",
|
||||||
"authorizedAdmin":"授权管理员",
|
"authorizedAdmin":"授权管理员",
|
||||||
"addAuthorizedAdmin":"添加授权管理员",
|
"addAuthorizedAdmin":"添加授权管理员",
|
||||||
"lockGroup":"锁分组",
|
"lockGroup":"锁分组",
|
||||||
@ -247,6 +252,7 @@
|
|||||||
"pleaseEnterYourAnswer":"请输入你的答案",
|
"pleaseEnterYourAnswer":"请输入你的答案",
|
||||||
"aboutToExpire":"即将到期",
|
"aboutToExpire":"即将到期",
|
||||||
"changeName":"修改名称",
|
"changeName":"修改名称",
|
||||||
|
"deAuthorize":"去授权",
|
||||||
|
|
||||||
"designation": "名称",
|
"designation": "名称",
|
||||||
"state": "状态",
|
"state": "状态",
|
||||||
|
|||||||
@ -1,9 +1,6 @@
|
|||||||
import 'package:get/get.dart';
|
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/login/login/starLock_login_binding.dart';
|
|
||||||
import 'package:star_lock/mine/mine/starLockMine_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/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';
|
||||||
@ -16,7 +13,6 @@ import 'package:star_lock/mine/mineSet/transferSmartLock/transferSmartLock_page.
|
|||||||
|
|
||||||
import 'common/safetyVerification/safetyVerification_page.dart';
|
import 'common/safetyVerification/safetyVerification_page.dart';
|
||||||
import 'login/forgetPassword/starLock_forgetPassword_page.dart';
|
import 'login/forgetPassword/starLock_forgetPassword_page.dart';
|
||||||
|
|
||||||
import 'login/login/starLock_login_page.dart';
|
import 'login/login/starLock_login_page.dart';
|
||||||
import 'login/register/starLock_register_page.dart';
|
import 'login/register/starLock_register_page.dart';
|
||||||
import 'login/seletCountryRegion/seletCountryRegion_page.dart';
|
import 'login/seletCountryRegion/seletCountryRegion_page.dart';
|
||||||
@ -56,7 +52,6 @@ import 'main/lockDetail/lcokSet/wirelessKeyboard/addWirelessKeyboard/addWireless
|
|||||||
import 'main/lockDetail/lcokSet/wirelessKeyboard/addWirelessKeyboardScreenNotLightOn/addWirelessKeyboardScreenNotLightOn_page.dart';
|
import 'main/lockDetail/lcokSet/wirelessKeyboard/addWirelessKeyboardScreenNotLightOn/addWirelessKeyboardScreenNotLightOn_page.dart';
|
||||||
import 'main/lockDetail/lcokSet/wirelessKeyboard/seletWirelessKeyboard/seletWirelessKeyboard_page.dart';
|
import 'main/lockDetail/lcokSet/wirelessKeyboard/seletWirelessKeyboard/seletWirelessKeyboard_page.dart';
|
||||||
import 'main/lockDetail/lcokSet/wirelessKeyboard/wirelessKeyboardList/wirelessKeyboard_page.dart';
|
import 'main/lockDetail/lcokSet/wirelessKeyboard/wirelessKeyboardList/wirelessKeyboard_page.dart';
|
||||||
import 'main/lockMian/lockMain_binding.dart';
|
|
||||||
import 'mine/about/about_page.dart';
|
import 'mine/about/about_page.dart';
|
||||||
import 'mine/addLock/addLock/addLock_page.dart';
|
import 'mine/addLock/addLock/addLock_page.dart';
|
||||||
import 'main/lockDetail/authorizedAdmin/authorizedAdmin/authorizedAdminManage/authorizedAdminManage_page.dart';
|
import 'main/lockDetail/authorizedAdmin/authorizedAdmin/authorizedAdminManage/authorizedAdminManage_page.dart';
|
||||||
@ -91,7 +86,6 @@ import 'mine/gateway/gatewayConnectionLock/gatewayConnectionLockList_page.dart';
|
|||||||
import 'mine/gateway/gatewayDetail/gatewayDetail_page.dart';
|
import 'mine/gateway/gatewayDetail/gatewayDetail_page.dart';
|
||||||
import 'mine/gateway/gatewayList/gatewayList_page.dart';
|
import 'mine/gateway/gatewayList/gatewayList_page.dart';
|
||||||
import 'mine/message/messageList_page.dart';
|
import 'mine/message/messageList_page.dart';
|
||||||
// import 'mine/mine/starLockMine_binding.dart';
|
|
||||||
import 'mine/mineMultiLanguage/mineMultiLanguage_page.dart';
|
import 'mine/mineMultiLanguage/mineMultiLanguage_page.dart';
|
||||||
import 'mine/minePersonInfo/minePersonInfo/minePersonInfo_page.dart';
|
import 'mine/minePersonInfo/minePersonInfo/minePersonInfo_page.dart';
|
||||||
import 'mine/minePersonInfo/minePersonInfoEditAccount/minePersonInfoEditAccount/minePersonInfoEditAccount_page.dart';
|
import 'mine/minePersonInfo/minePersonInfoEditAccount/minePersonInfoEditAccount/minePersonInfoEditAccount_page.dart';
|
||||||
@ -105,7 +99,7 @@ import 'mine/mineSet/hideInvalidUnlockPermissions/hideInvalidUnlockPermissions_p
|
|||||||
import 'mine/mineSet/lockGroup/lockItemList_page.dart';
|
import 'mine/mineSet/lockGroup/lockItemList_page.dart';
|
||||||
import 'mine/mineSet/lockScreen/lockScreen_page.dart';
|
import 'mine/mineSet/lockScreen/lockScreen_page.dart';
|
||||||
import 'mine/mineSet/lockUserManage/ownedKeyList_page.dart';
|
import 'mine/mineSet/lockUserManage/ownedKeyList_page.dart';
|
||||||
import 'mine/mine/starLockMine_page.dart';
|
import 'mine/mine_page.dart';
|
||||||
import 'mine/supportStaff/supportStaff_page.dart';
|
import 'mine/supportStaff/supportStaff_page.dart';
|
||||||
import 'mine/valueAddedServices/valueAddedServicesBuy/valueAddedServicesBuy_page.dart';
|
import 'mine/valueAddedServices/valueAddedServicesBuy/valueAddedServicesBuy_page.dart';
|
||||||
import 'mine/valueAddedServices/valueAddedServicesBuyAndUseRecord/valueAddedServicesBuyAndUseRecordManage/valueAddedServicesBuyAndUseRecordManage_page.dart';
|
import 'mine/valueAddedServices/valueAddedServicesBuyAndUseRecord/valueAddedServicesBuyAndUseRecordManage/valueAddedServicesBuyAndUseRecordManage_page.dart';
|
||||||
@ -118,8 +112,7 @@ import 'mine/valueAddedServices/valueAddedServicesRealName/valueAddedServicesRea
|
|||||||
import 'mine/valueAddedServices/valueAddedServicesSMSTemplate/valueAddedServicesAddSMSTemplate/valueAddedServicesAddSMSTemplate_page.dart';
|
import 'mine/valueAddedServices/valueAddedServicesSMSTemplate/valueAddedServicesAddSMSTemplate/valueAddedServicesAddSMSTemplate_page.dart';
|
||||||
import 'mine/valueAddedServices/valueAddedServicesSMSTemplate/valueAddedServicesListSMSTemplate/valueAddedServicesListSMSTemplate_page.dart';
|
import 'mine/valueAddedServices/valueAddedServicesSMSTemplate/valueAddedServicesListSMSTemplate/valueAddedServicesListSMSTemplate_page.dart';
|
||||||
import 'mine/mineSet/authorizedAdministrator/authorizedAdministratorList_page.dart';
|
import 'mine/mineSet/authorizedAdministrator/authorizedAdministratorList_page.dart';
|
||||||
import 'starLockApplication/starLockApplication.dart';
|
import 'starLockApplication.dart';
|
||||||
import 'starLockApplication/starLockApplication_binding.dart';
|
|
||||||
|
|
||||||
abstract class Routers {
|
abstract class Routers {
|
||||||
static const initial = '/'; // 加载页
|
static const initial = '/'; // 加载页
|
||||||
@ -280,15 +273,15 @@ abstract class AppRouters {
|
|||||||
static final routePages = [
|
static final routePages = [
|
||||||
GetPage(
|
GetPage(
|
||||||
name: Routers.initial,
|
name: Routers.initial,
|
||||||
page: () => const StarLockApplication(), binding: StarLockApplicationBinding()
|
page: () => const StarLockApplication(),
|
||||||
),
|
),
|
||||||
GetPage(
|
GetPage(
|
||||||
name: Routers.starLockMain,
|
name: Routers.starLockMain,
|
||||||
page: () => const StarLockMainPage(), binding: LockMainBinding()
|
page: () => const StarLockMain(),
|
||||||
),
|
),
|
||||||
GetPage(
|
GetPage(
|
||||||
name: Routers.starLockMinePage,
|
name: Routers.starLockMinePage,
|
||||||
page: () => const StarLockMinePage(), binding: StarLockMineBinding()
|
page: () => const StarLockMinePage(),
|
||||||
),
|
),
|
||||||
GetPage(
|
GetPage(
|
||||||
name: Routers.seletLockTypePage,
|
name: Routers.seletLockTypePage,
|
||||||
@ -392,7 +385,7 @@ abstract class AppRouters {
|
|||||||
),
|
),
|
||||||
GetPage(
|
GetPage(
|
||||||
name: Routers.starLockLoginPage,
|
name: Routers.starLockLoginPage,
|
||||||
page: () => const StarLockLoginPage(), binding: StarLockLoginBinding()
|
page: () => const StarLockLoginPage(),
|
||||||
),
|
),
|
||||||
GetPage(
|
GetPage(
|
||||||
name: Routers.starLockRegisterPage,
|
name: Routers.starLockRegisterPage,
|
||||||
@ -709,7 +702,8 @@ abstract class AppRouters {
|
|||||||
),
|
),
|
||||||
GetPage(
|
GetPage(
|
||||||
name: Routers.safetyVerificationPage,
|
name: Routers.safetyVerificationPage,
|
||||||
page: () => const SafetyVerificationPage(), binding: SafetyVerificationBinding()
|
page: () => const SafetyVerificationPage(),
|
||||||
|
binding: SafetyVerificationBinding(),
|
||||||
),
|
),
|
||||||
GetPage(
|
GetPage(
|
||||||
name: Routers.ownedKeyListPage, page: () => const OwnedKeyListPage()
|
name: Routers.ownedKeyListPage, page: () => const OwnedKeyListPage()
|
||||||
|
|||||||
@ -143,12 +143,7 @@ class _AuthorizedAdminPageState extends State<AuthorizedAdminPage> {
|
|||||||
SizedBox(
|
SizedBox(
|
||||||
height: 20.h,
|
height: 20.h,
|
||||||
),
|
),
|
||||||
SubmitBtn(
|
SubmitBtn(btnName: TranslationLoader.lanKeys!.send!.tr, onClick: () {}),
|
||||||
btnName: TranslationLoader.lanKeys!.send!.tr,
|
|
||||||
borderRadius: 20.w,
|
|
||||||
margin: EdgeInsets.only(left: 30.w, right: 30.w, top: 30.w),
|
|
||||||
padding: EdgeInsets.only(top: 25.w, bottom: 25.w),
|
|
||||||
onClick: () {}),
|
|
||||||
Container(
|
Container(
|
||||||
padding: EdgeInsets.only(right: 30.w),
|
padding: EdgeInsets.only(right: 30.w),
|
||||||
// color: Colors.red,
|
// color: Colors.red,
|
||||||
|
|||||||
@ -78,7 +78,9 @@ class _AuthorizedAdminDetailPageState extends State<AuthorizedAdminDetailPage> {
|
|||||||
leftTitel: TranslationLoader.lanKeys!.operatingRecord!.tr,
|
leftTitel: TranslationLoader.lanKeys!.operatingRecord!.tr,
|
||||||
rightTitle: "",
|
rightTitle: "",
|
||||||
isHaveDirection: true,
|
isHaveDirection: true,
|
||||||
action: () {}),
|
action: () {
|
||||||
|
Navigator.pushNamed(context, Routers.keyOperationRecordPage);
|
||||||
|
}),
|
||||||
Container(height: 40.h),
|
Container(height: 40.h),
|
||||||
SubmitBtn(
|
SubmitBtn(
|
||||||
btnName: TranslationLoader.lanKeys!.delete!.tr,
|
btnName: TranslationLoader.lanKeys!.delete!.tr,
|
||||||
|
|||||||
@ -47,11 +47,6 @@ class _AuthorizedAdminListPageState extends State<AuthorizedAdminListPage> {
|
|||||||
Navigator.pushNamed(context, Routers.authorizedAdminManagePage);
|
Navigator.pushNamed(context, Routers.authorizedAdminManagePage);
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
// SubmitBtn(
|
|
||||||
// btnName: TranslationLoader.lanKeys!.authorizedAdmin!.tr,
|
|
||||||
// onClick: () {
|
|
||||||
// Navigator.pushNamed(context, Routers.authorizedAdminManagePage);
|
|
||||||
// }),
|
|
||||||
SizedBox(
|
SizedBox(
|
||||||
height: 64.h,
|
height: 64.h,
|
||||||
)
|
)
|
||||||
@ -66,7 +61,8 @@ class _AuthorizedAdminListPageState extends State<AuthorizedAdminListPage> {
|
|||||||
itemBuilder: (c, index) {
|
itemBuilder: (c, index) {
|
||||||
return _electronicKeyItem('images/controls_user.png', "张三",
|
return _electronicKeyItem('images/controls_user.png', "张三",
|
||||||
"2023.6.21 11.15", "2023.6.21 11.15", () {
|
"2023.6.21 11.15", "2023.6.21 11.15", () {
|
||||||
Navigator.pushNamed(context, Routers.authorizedAdminDetailPage);
|
// Navigator.pushNamed(context, Routers.authorizedAdminDetailPage);
|
||||||
|
Navigator.pushNamed(context, Routers.electronicKeyDetailPage);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@ -125,8 +121,7 @@ class _AuthorizedAdminListPageState extends State<AuthorizedAdminListPage> {
|
|||||||
],
|
],
|
||||||
),
|
),
|
||||||
SizedBox(height: 5.h),
|
SizedBox(height: 5.h),
|
||||||
Container(
|
Row(
|
||||||
child: Row(
|
|
||||||
mainAxisAlignment: MainAxisAlignment.start,
|
mainAxisAlignment: MainAxisAlignment.start,
|
||||||
children: [
|
children: [
|
||||||
Text(
|
Text(
|
||||||
@ -137,7 +132,6 @@ class _AuthorizedAdminListPageState extends State<AuthorizedAdminListPage> {
|
|||||||
),
|
),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
),
|
|
||||||
SizedBox(width: 20.h),
|
SizedBox(width: 20.h),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
|
|||||||
@ -2,6 +2,7 @@ import 'package:flutter/cupertino.dart';
|
|||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
|
import 'package:star_lock/tools/jh_pop_menus.dart';
|
||||||
|
|
||||||
import '../../../../../appRouters.dart';
|
import '../../../../../appRouters.dart';
|
||||||
import '../../../../../app_settings/app_colors.dart';
|
import '../../../../../app_settings/app_colors.dart';
|
||||||
@ -30,6 +31,25 @@ class _ElectronicKeyDetailPageState extends State<ElectronicKeyDetailPage> {
|
|||||||
appBar: TitleAppBar(
|
appBar: TitleAppBar(
|
||||||
barTitle: TranslationLoader.lanKeys!.keyDetail!.tr,
|
barTitle: TranslationLoader.lanKeys!.keyDetail!.tr,
|
||||||
haveBack: true,
|
haveBack: true,
|
||||||
|
actionsList: [
|
||||||
|
IconButton(
|
||||||
|
icon: Image.asset(
|
||||||
|
'images/icon_bar_more.png',
|
||||||
|
height: 30.h,
|
||||||
|
width: 10.w,
|
||||||
|
),
|
||||||
|
onPressed: () {
|
||||||
|
JhPopMenus.showLinePop(context,
|
||||||
|
clickCallback: (index, selText) {
|
||||||
|
print('选中index: $index');
|
||||||
|
print('选中text: $selText');
|
||||||
|
}, listData: [
|
||||||
|
{'text': '冻结'},
|
||||||
|
{'text': '取消授权'}
|
||||||
|
]);
|
||||||
|
},
|
||||||
|
),
|
||||||
|
],
|
||||||
backgroundColor: AppColors.mainColor),
|
backgroundColor: AppColors.mainColor),
|
||||||
body: Column(
|
body: Column(
|
||||||
children: [
|
children: [
|
||||||
@ -78,7 +98,8 @@ class _ElectronicKeyDetailPageState extends State<ElectronicKeyDetailPage> {
|
|||||||
rightTitle: "",
|
rightTitle: "",
|
||||||
isHaveDirection: true,
|
isHaveDirection: true,
|
||||||
action: () {
|
action: () {
|
||||||
Navigator.pushNamed(context, Routers.keyOperationRecordPage, arguments: {});
|
Navigator.pushNamed(context, Routers.keyOperationRecordPage,
|
||||||
|
arguments: {});
|
||||||
}),
|
}),
|
||||||
Container(height: 40.h),
|
Container(height: 40.h),
|
||||||
SubmitBtn(
|
SubmitBtn(
|
||||||
|
|||||||
@ -42,10 +42,15 @@ class _LockOperatingRecordPageState extends State<LockOperatingRecordPage> {
|
|||||||
if (selText == '扫一扫') {
|
if (selText == '扫一扫') {
|
||||||
// _scan();
|
// _scan();
|
||||||
}
|
}
|
||||||
});
|
}, listData: [
|
||||||
|
{'text': '读取记录'},
|
||||||
|
{'text': '清空记录'},
|
||||||
|
{'text': '导出记录'},
|
||||||
|
]);
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
|
|
||||||
/*
|
/*
|
||||||
actionsList: [
|
actionsList: [
|
||||||
TextButton(
|
TextButton(
|
||||||
|
|||||||
@ -80,7 +80,9 @@ class _OtherTypeKeyDetailPageState extends State<OtherTypeKeyDetailPage> {
|
|||||||
leftTitel: TranslationLoader.lanKeys!.operatingRecord!.tr,
|
leftTitel: TranslationLoader.lanKeys!.operatingRecord!.tr,
|
||||||
rightTitle: "",
|
rightTitle: "",
|
||||||
isHaveDirection: true,
|
isHaveDirection: true,
|
||||||
action: () {}),
|
action: () {
|
||||||
|
Navigator.pushNamed(context, Routers.keyOperationRecordPage);
|
||||||
|
}),
|
||||||
Container(height: 40.h),
|
Container(height: 40.h),
|
||||||
SubmitBtn(
|
SubmitBtn(
|
||||||
btnName: TranslationLoader.lanKeys!.delete!.tr,
|
btnName: TranslationLoader.lanKeys!.delete!.tr,
|
||||||
|
|||||||
@ -27,14 +27,24 @@ class _PasswordKeyDetailPageState extends State<PasswordKeyDetailPage> {
|
|||||||
haveBack: true,
|
haveBack: true,
|
||||||
backgroundColor: AppColors.mainColor,
|
backgroundColor: AppColors.mainColor,
|
||||||
actionsList: [
|
actionsList: [
|
||||||
TextButton(
|
IconButton(
|
||||||
child: Text(
|
icon: Image.asset(
|
||||||
"分享",
|
'images/icon_bar_share.png',
|
||||||
style: TextStyle(color: Colors.white, fontSize: 24.sp),
|
height: 30.h,
|
||||||
|
width: 30.w,
|
||||||
),
|
),
|
||||||
onPressed: () {},
|
onPressed: () {},
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
|
// actionsList: [
|
||||||
|
// TextButton(
|
||||||
|
// child: Text(
|
||||||
|
// "分享",
|
||||||
|
// style: TextStyle(color: Colors.white, fontSize: 24.sp),
|
||||||
|
// ),
|
||||||
|
// onPressed: () {},
|
||||||
|
// ),
|
||||||
|
// ],
|
||||||
),
|
),
|
||||||
body: Column(
|
body: Column(
|
||||||
children: [
|
children: [
|
||||||
@ -76,7 +86,9 @@ class _PasswordKeyDetailPageState extends State<PasswordKeyDetailPage> {
|
|||||||
leftTitel: TranslationLoader.lanKeys!.operatingRecord!.tr,
|
leftTitel: TranslationLoader.lanKeys!.operatingRecord!.tr,
|
||||||
rightTitle: "",
|
rightTitle: "",
|
||||||
isHaveDirection: true,
|
isHaveDirection: true,
|
||||||
action: () {}),
|
action: () {
|
||||||
|
Navigator.pushNamed(context, Routers.keyOperationRecordPage);
|
||||||
|
}),
|
||||||
Container(height: 40.h),
|
Container(height: 40.h),
|
||||||
SubmitBtn(
|
SubmitBtn(
|
||||||
btnName: TranslationLoader.lanKeys!.delete!.tr,
|
btnName: TranslationLoader.lanKeys!.delete!.tr,
|
||||||
|
|||||||
@ -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;
|
||||||
|
});
|
||||||
|
},
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -90,7 +90,8 @@ class _AuthorizedAdministratorListPageState
|
|||||||
itemBuilder: (c, index) {
|
itemBuilder: (c, index) {
|
||||||
return _electronicKeyItem('images/controls_user.png', "张三",
|
return _electronicKeyItem('images/controls_user.png', "张三",
|
||||||
"2023.6.21 11.15", "2023.6.21 11.15", () {
|
"2023.6.21 11.15", "2023.6.21 11.15", () {
|
||||||
Navigator.pushNamed(context, Routers.authorizedAdminDetailPage);
|
// Navigator.pushNamed(context, Routers.authorizedAdminDetailPage);
|
||||||
|
Navigator.pushNamed(context, Routers.electronicKeyDetailPage);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,5 +1,7 @@
|
|||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
||||||
|
import 'package:get/get_utils/get_utils.dart';
|
||||||
|
import 'package:star_lock/translations/trans_lib.dart';
|
||||||
|
|
||||||
import '../../../../appRouters.dart';
|
import '../../../../appRouters.dart';
|
||||||
import '../../../../app_settings/app_colors.dart';
|
import '../../../../app_settings/app_colors.dart';
|
||||||
@ -18,7 +20,7 @@ class _OwnedKeyListPageState extends State<OwnedKeyListPage> {
|
|||||||
return Scaffold(
|
return Scaffold(
|
||||||
backgroundColor: AppColors.mainBackgroundColor,
|
backgroundColor: AppColors.mainBackgroundColor,
|
||||||
appBar: TitleAppBar(
|
appBar: TitleAppBar(
|
||||||
barTitle: "拥有的钥匙",
|
barTitle: TranslationLoader.lanKeys!.ownedKey!.tr,
|
||||||
haveBack: true,
|
haveBack: true,
|
||||||
backgroundColor: AppColors.mainColor,
|
backgroundColor: AppColors.mainColor,
|
||||||
),
|
),
|
||||||
@ -38,9 +40,9 @@ class _OwnedKeyListPageState extends State<OwnedKeyListPage> {
|
|||||||
// margin: EdgeInsets.only(left: 30.w, top: 30.w, right: 30.w, bottom: 30.w),
|
// margin: EdgeInsets.only(left: 30.w, top: 30.w, right: 30.w, bottom: 30.w),
|
||||||
child: Padding(
|
child: Padding(
|
||||||
padding:
|
padding:
|
||||||
EdgeInsets.only(left: 30.w, top: 30.w, right: 20.w, bottom: 10.w),
|
EdgeInsets.only(left: 30.w, top: 20.w, right: 20.w, bottom: 10.w),
|
||||||
child: Text(
|
child: Text(
|
||||||
"拥有的钥匙",
|
TranslationLoader.lanKeys!.ownedKey!.tr,
|
||||||
style: TextStyle(fontSize: 24.sp),
|
style: TextStyle(fontSize: 24.sp),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
|||||||
@ -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: "",
|
||||||
|
|||||||
@ -111,9 +111,6 @@ class _ValueAddedServicesNoteAndEmailDetailPageState
|
|||||||
Routers.valueAddedServicesListEmailTemplatePage);
|
Routers.valueAddedServicesListEmailTemplatePage);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
child: Container(
|
|
||||||
// width:100,
|
|
||||||
// padding: EdgeInsets.only(top:5, bottom: 5, left: 5, right: 5),
|
|
||||||
child: Row(
|
child: Row(
|
||||||
children: [
|
children: [
|
||||||
SizedBox(
|
SizedBox(
|
||||||
@ -127,14 +124,12 @@ class _ValueAddedServicesNoteAndEmailDetailPageState
|
|||||||
Text(
|
Text(
|
||||||
(type == 1)
|
(type == 1)
|
||||||
? TranslationLoader.lanKeys!.customSMSTemplate!.tr
|
? TranslationLoader.lanKeys!.customSMSTemplate!.tr
|
||||||
: TranslationLoader
|
: TranslationLoader.lanKeys!.customMailTemplate!.tr,
|
||||||
.lanKeys!.customMailTemplate!.tr,
|
|
||||||
style: TextStyle(fontSize: 24.sp),
|
style: TextStyle(fontSize: 24.sp),
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
),
|
|
||||||
GestureDetector(
|
GestureDetector(
|
||||||
onTap: () {
|
onTap: () {
|
||||||
Navigator.pushNamed(context,
|
Navigator.pushNamed(context,
|
||||||
@ -143,7 +138,7 @@ class _ValueAddedServicesNoteAndEmailDetailPageState
|
|||||||
child: Container(
|
child: Container(
|
||||||
width: 90,
|
width: 90,
|
||||||
// height: 70.h,
|
// height: 70.h,
|
||||||
margin: const EdgeInsets.only(left: 30, right: 30),
|
margin: const EdgeInsets.only(left: 10, right: 30),
|
||||||
padding: const EdgeInsets.only(
|
padding: const EdgeInsets.only(
|
||||||
top: 5, bottom: 5, left: 5, right: 5),
|
top: 5, bottom: 5, left: 5, right: 5),
|
||||||
// color: Colors.red,
|
// color: Colors.red,
|
||||||
|
|||||||
@ -2,11 +2,11 @@ import 'package:flutter/material.dart';
|
|||||||
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
||||||
import 'screen_utils.dart';
|
import 'screen_utils.dart';
|
||||||
|
|
||||||
List _listData = [
|
// List _listData = [
|
||||||
{'text': '读取记录'},
|
// {'text': '读取记录'},
|
||||||
{'text': '清空记录'},
|
// {'text': '清空记录'},
|
||||||
{'text': '导出记录'},
|
// {'text': '导出记录'},
|
||||||
];
|
// ];
|
||||||
|
|
||||||
const Color _bgColor = Color(0xFF2D2D2D);
|
const Color _bgColor = Color(0xFF2D2D2D);
|
||||||
const double _fontSize = 20.0;
|
const double _fontSize = 20.0;
|
||||||
@ -17,6 +17,7 @@ class JhPopMenus {
|
|||||||
/// 显示pop
|
/// 显示pop
|
||||||
static void show(
|
static void show(
|
||||||
BuildContext context, {
|
BuildContext context, {
|
||||||
|
required List<dynamic> listData,
|
||||||
Function(int selectIndex, String selectText)? clickCallback,
|
Function(int selectIndex, String selectText)? clickCallback,
|
||||||
}) {
|
}) {
|
||||||
// Cell
|
// Cell
|
||||||
@ -31,7 +32,7 @@ class JhPopMenus {
|
|||||||
color: _bgColor,
|
color: _bgColor,
|
||||||
child: InkWell(
|
child: InkWell(
|
||||||
onTap: () {
|
onTap: () {
|
||||||
clickCallback?.call(index, _listData[index]['text']);
|
clickCallback?.call(index, listData[index]['text']);
|
||||||
Navigator.pop(context);
|
Navigator.pop(context);
|
||||||
},
|
},
|
||||||
child: Row(
|
child: Row(
|
||||||
@ -74,13 +75,14 @@ class JhPopMenus {
|
|||||||
}
|
}
|
||||||
|
|
||||||
Navigator.of(context)
|
Navigator.of(context)
|
||||||
.push(DialogRouter(_BasePopMenus(child: menusView(_listData))));
|
.push(DialogRouter(_BasePopMenus(child: menusView(listData))));
|
||||||
}
|
}
|
||||||
|
|
||||||
/// 显示带线带背景 pop
|
/// 显示带线带背景 pop
|
||||||
static void showLinePop(
|
static void showLinePop(
|
||||||
BuildContext context, {
|
BuildContext context, {
|
||||||
bool isShowBg = false,
|
bool isShowBg = false,
|
||||||
|
required List<dynamic> listData,
|
||||||
Function(int selectIndex, String selectText)? clickCallback,
|
Function(int selectIndex, String selectText)? clickCallback,
|
||||||
}) {
|
}) {
|
||||||
// 带线
|
// 带线
|
||||||
@ -94,7 +96,7 @@ class JhPopMenus {
|
|||||||
color: _bgColor,
|
color: _bgColor,
|
||||||
child: InkWell(
|
child: InkWell(
|
||||||
onTap: () {
|
onTap: () {
|
||||||
clickCallback?.call(index, _listData[index]['text']);
|
clickCallback?.call(index, listData[index]['text']);
|
||||||
Navigator.pop(context);
|
Navigator.pop(context);
|
||||||
},
|
},
|
||||||
child: SizedBox(
|
child: SizedBox(
|
||||||
@ -158,12 +160,12 @@ class JhPopMenus {
|
|||||||
context: context,
|
context: context,
|
||||||
barrierDismissible: false,
|
barrierDismissible: false,
|
||||||
builder: (context) {
|
builder: (context) {
|
||||||
return _BasePopMenus(child: menusView(_listData));
|
return _BasePopMenus(child: menusView(listData));
|
||||||
},
|
},
|
||||||
);
|
);
|
||||||
} else {
|
} else {
|
||||||
Navigator.of(context)
|
Navigator.of(context)
|
||||||
.push(DialogRouter(_BasePopMenus(child: menusView(_listData))));
|
.push(DialogRouter(_BasePopMenus(child: menusView(listData))));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
class LanKeyEntity {
|
class LanKeyEntity {
|
||||||
LanKeyEntity({
|
LanKeyEntity(
|
||||||
this.starLock,
|
{this.starLock,
|
||||||
this.clickUnlockAndHoldDownClose,
|
this.clickUnlockAndHoldDownClose,
|
||||||
this.checkingIn,
|
this.checkingIn,
|
||||||
this.electronicKey,
|
this.electronicKey,
|
||||||
@ -199,6 +199,11 @@ class LanKeyEntity {
|
|||||||
this.touchUnlock,
|
this.touchUnlock,
|
||||||
this.pushNotification,
|
this.pushNotification,
|
||||||
this.lockUserManagement,
|
this.lockUserManagement,
|
||||||
|
this.ownedKey,
|
||||||
|
this.authorityManagement,
|
||||||
|
this.associatedDevice,
|
||||||
|
this.associatedName,
|
||||||
|
this.device,
|
||||||
this.authorizedAdmin,
|
this.authorizedAdmin,
|
||||||
this.addAuthorizedAdmin,
|
this.addAuthorizedAdmin,
|
||||||
this.lockGroup,
|
this.lockGroup,
|
||||||
@ -242,6 +247,7 @@ class LanKeyEntity {
|
|||||||
this.problemThree,
|
this.problemThree,
|
||||||
this.pleaseEnterYourAnswer,
|
this.pleaseEnterYourAnswer,
|
||||||
this.aboutToExpire,
|
this.aboutToExpire,
|
||||||
|
this.deAuthorize,
|
||||||
this.changeName,
|
this.changeName,
|
||||||
this.designation,
|
this.designation,
|
||||||
this.state,
|
this.state,
|
||||||
@ -367,8 +373,7 @@ class LanKeyEntity {
|
|||||||
this.hideInvalidUnlockPermissionsTip,
|
this.hideInvalidUnlockPermissionsTip,
|
||||||
this.appUnlockRequiresMobilePhoneAccessToTheLockTip,
|
this.appUnlockRequiresMobilePhoneAccessToTheLockTip,
|
||||||
this.checkAll,
|
this.checkAll,
|
||||||
this.getVerificationCode
|
this.getVerificationCode});
|
||||||
});
|
|
||||||
|
|
||||||
LanKeyEntity.fromJson(dynamic json) {
|
LanKeyEntity.fromJson(dynamic json) {
|
||||||
starLock = json['starLock'];
|
starLock = json['starLock'];
|
||||||
@ -577,6 +582,12 @@ class LanKeyEntity {
|
|||||||
touchUnlock = json['touchUnlock'];
|
touchUnlock = json['touchUnlock'];
|
||||||
pushNotification = json['pushNotification'];
|
pushNotification = json['pushNotification'];
|
||||||
lockUserManagement = json['lockUserManagement'];
|
lockUserManagement = json['lockUserManagement'];
|
||||||
|
ownedKey = json['ownedKey'];
|
||||||
|
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 +634,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 +981,11 @@ class LanKeyEntity {
|
|||||||
String? touchUnlock;
|
String? touchUnlock;
|
||||||
String? pushNotification;
|
String? pushNotification;
|
||||||
String? lockUserManagement;
|
String? lockUserManagement;
|
||||||
|
String? ownedKey;
|
||||||
|
String? authorityManagement;
|
||||||
|
String? associatedDevice;
|
||||||
|
String? associatedName;
|
||||||
|
String? device;
|
||||||
String? authorizedAdmin;
|
String? authorizedAdmin;
|
||||||
String? addAuthorizedAdmin;
|
String? addAuthorizedAdmin;
|
||||||
String? lockGroup;
|
String? lockGroup;
|
||||||
@ -1015,6 +1032,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 +1377,11 @@ class LanKeyEntity {
|
|||||||
map['touchUnlock'] = touchUnlock;
|
map['touchUnlock'] = touchUnlock;
|
||||||
map['pushNotification'] = pushNotification;
|
map['pushNotification'] = pushNotification;
|
||||||
map['lockUserManagement'] = lockUserManagement;
|
map['lockUserManagement'] = lockUserManagement;
|
||||||
|
map['ownedKey'] = ownedKey;
|
||||||
|
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 +1429,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