feat:修改批量添加管理员完成按钮列表

This commit is contained in:
anfe 2024-05-22 14:40:07 +08:00
parent 624a43fde2
commit 25598cd270
6 changed files with 132 additions and 131 deletions

View File

@ -10,8 +10,8 @@ import 'package:star_lock/tools/dateTool.dart';
import 'package:star_lock/tools/showCupertinoAlertView.dart'; import 'package:star_lock/tools/showCupertinoAlertView.dart';
import '../../../../blue/blue_manage.dart'; import '../../../../blue/blue_manage.dart';
import '../../../../blue/io_reply.dart';
import '../../../../blue/io_protocol/io_transferPermissions.dart'; import '../../../../blue/io_protocol/io_transferPermissions.dart';
import '../../../../blue/io_reply.dart';
import '../../../../blue/io_tool/io_tool.dart'; import '../../../../blue/io_tool/io_tool.dart';
import '../../../../blue/io_tool/manager_event_bus.dart'; import '../../../../blue/io_tool/manager_event_bus.dart';
import '../../../../blue/sender_manage.dart'; import '../../../../blue/sender_manage.dart';

View File

@ -4,6 +4,7 @@ import 'package:flutter/services.dart';
import 'package:flutter_native_contact_picker/flutter_native_contact_picker.dart'; import 'package:flutter_native_contact_picker/flutter_native_contact_picker.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:get/get.dart'; import 'package:get/get.dart';
import 'package:star_lock/main/lockDetail/authorizedAdmin/authorizedAdmin/authorizedAdmin_state.dart';
import 'package:star_lock/tools/dateTool.dart'; import 'package:star_lock/tools/dateTool.dart';
import 'package:star_lock/tools/pickers/pickers.dart'; import 'package:star_lock/tools/pickers/pickers.dart';
@ -31,8 +32,8 @@ class AuthorizedAdminPage extends StatefulWidget {
class _AuthorizedAdminPageState extends State<AuthorizedAdminPage> class _AuthorizedAdminPageState extends State<AuthorizedAdminPage>
with SingleTickerProviderStateMixin { with SingleTickerProviderStateMixin {
final logic = Get.put(AuthorizedAdminLogic()); final AuthorizedAdminLogic logic = Get.put(AuthorizedAdminLogic());
final state = Get.find<AuthorizedAdminLogic>().state; final AuthorizedAdminState state = Get.find<AuthorizedAdminLogic>().state;
@override @override
void initState() { void initState() {
@ -60,7 +61,7 @@ class _AuthorizedAdminPageState extends State<AuthorizedAdminPage>
haveBack: true, haveBack: true,
backgroundColor: AppColors.mainColor), backgroundColor: AppColors.mainColor),
body: Column( body: Column(
children: [ children: <Widget>[
_tabBar(), _tabBar(),
_pageWidget(), _pageWidget(),
], ],
@ -78,7 +79,7 @@ class _AuthorizedAdminPageState extends State<AuthorizedAdminPage>
// //
return SingleChildScrollView( return SingleChildScrollView(
child: Column( child: Column(
children: [ children: <Widget>[
keyInfoWidget(), keyInfoWidget(),
keyTimeWidget(), keyTimeWidget(),
keyOnlyManageWidget(), keyOnlyManageWidget(),
@ -92,7 +93,7 @@ class _AuthorizedAdminPageState extends State<AuthorizedAdminPage>
// //
return SingleChildScrollView( return SingleChildScrollView(
child: Column( child: Column(
children: [ children: <Widget>[
keyInfoWidget(), keyInfoWidget(),
keyOnlyManageWidget(), keyOnlyManageWidget(),
keyBottomWidget( keyBottomWidget(
@ -107,17 +108,17 @@ class _AuthorizedAdminPageState extends State<AuthorizedAdminPage>
// widget // widget
Widget keyInfoWidget() { Widget keyInfoWidget() {
return Column( return Column(
children: [ children: <Widget>[
CommonItem( CommonItem(
leftTitel: TranslationLoader.lanKeys!.receiver!.tr, leftTitel: TranslationLoader.lanKeys!.receiver!.tr,
rightTitle: "", rightTitle: '',
isHaveLine: true, isHaveLine: true,
isHaveRightWidget: true, isHaveRightWidget: true,
rightWidget: getTFWidget(true, rightWidget: getTFWidget(true,
TranslationLoader.lanKeys!.pleaseEnterNumberOrEmail!.tr, 1)), TranslationLoader.lanKeys!.pleaseEnterNumberOrEmail!.tr, 1)),
CommonItem( CommonItem(
leftTitel: TranslationLoader.lanKeys!.countryAndRegion!.tr, leftTitel: TranslationLoader.lanKeys!.countryAndRegion!.tr,
rightTitle: "", rightTitle: '',
isHaveLine: true, isHaveLine: true,
isHaveRightWidget: true, isHaveRightWidget: true,
isHaveDirection: true, isHaveDirection: true,
@ -128,7 +129,7 @@ class _AuthorizedAdminPageState extends State<AuthorizedAdminPage>
TextStyle(fontSize: 22.sp, color: AppColors.darkGrayTextColor), TextStyle(fontSize: 22.sp, color: AppColors.darkGrayTextColor),
), ),
action: () async { action: () async {
var result = await Navigator.pushNamed( final Object? result = await Navigator.pushNamed(
context, Routers.selectCountryRegionPage); context, Routers.selectCountryRegionPage);
if (result != null) { if (result != null) {
result as Map<String, dynamic>; result as Map<String, dynamic>;
@ -140,7 +141,7 @@ class _AuthorizedAdminPageState extends State<AuthorizedAdminPage>
), ),
CommonItem( CommonItem(
leftTitel: TranslationLoader.lanKeys!.name!.tr, leftTitel: TranslationLoader.lanKeys!.name!.tr,
rightTitle: "", rightTitle: '',
isHaveRightWidget: true, isHaveRightWidget: true,
rightWidget: getTFWidget( rightWidget: getTFWidget(
false, TranslationLoader.lanKeys!.enterYourName!.tr, 2)), false, TranslationLoader.lanKeys!.enterYourName!.tr, 2)),
@ -152,17 +153,18 @@ class _AuthorizedAdminPageState extends State<AuthorizedAdminPage>
// //
Widget keyTimeWidget() { Widget keyTimeWidget() {
return Column( return Column(
children: [ children: <Widget>[
CommonItem( CommonItem(
leftTitel: TranslationLoader.lanKeys!.effectiveTime!.tr, leftTitel: TranslationLoader.lanKeys!.effectiveTime!.tr,
rightTitle: state.beginDate.value, rightTitle: state.beginDate.value,
isHaveLine: true, isHaveLine: true,
isHaveDirection: true, isHaveDirection: true,
action: () { action: () {
PDuration selectDate = final PDuration selectDate =
PDuration.parse(DateTime.tryParse(state.beginDate.value)); PDuration.parse(DateTime.tryParse(state.beginDate.value));
Pickers.showDatePicker(context, Pickers.showDatePicker(context,
selectDate: selectDate, mode: DateMode.YMDHM, onConfirm: (p) { selectDate: selectDate,
mode: DateMode.YMDHM, onConfirm: (PDuration p) {
setState(() { setState(() {
state.beginDate.value = DateTool().getYMDHNDateString(p, 1); state.beginDate.value = DateTool().getYMDHNDateString(p, 1);
}); });
@ -173,10 +175,11 @@ class _AuthorizedAdminPageState extends State<AuthorizedAdminPage>
rightTitle: state.endDate.value, rightTitle: state.endDate.value,
isHaveDirection: true, isHaveDirection: true,
action: () { action: () {
PDuration selectDate = final PDuration selectDate =
PDuration.parse(DateTime.tryParse(state.endDate.value)); PDuration.parse(DateTime.tryParse(state.endDate.value));
Pickers.showDatePicker(context, Pickers.showDatePicker(context,
selectDate: selectDate, mode: DateMode.YMDHM, onConfirm: (p) { selectDate: selectDate,
mode: DateMode.YMDHM, onConfirm: (PDuration p) {
setState(() { setState(() {
state.endDate.value = DateTool().getYMDHNDateString(p, 1); state.endDate.value = DateTool().getYMDHNDateString(p, 1);
}); });
@ -190,14 +193,14 @@ class _AuthorizedAdminPageState extends State<AuthorizedAdminPage>
// //
Widget keyOnlyManageWidget() { Widget keyOnlyManageWidget() {
return Column( return Column(
children: [ children: <Widget>[
CommonItem( CommonItem(
leftTitel: "仅管理自己创建的用户", leftTitel: '仅管理自己创建的用户',
rightTitle: "", rightTitle: '',
isHaveRightWidget: true, isHaveRightWidget: true,
isTipsImg: true, isTipsImg: true,
tipsImgAction: () { tipsImgAction: () {
ShowTipView().showSureAlertDialog("授权管理员只能查看和管理自己下发的钥匙、密码等权限"); ShowTipView().showSureAlertDialog('授权管理员只能查看和管理自己下发的钥匙、密码等权限');
}, },
rightWidget: SizedBox( rightWidget: SizedBox(
width: 60.w, width: 60.w,
@ -212,11 +215,11 @@ class _AuthorizedAdminPageState extends State<AuthorizedAdminPage>
Widget keyBottomWidget(String tipStr) { Widget keyBottomWidget(String tipStr) {
return Column( return Column(
children: [ children: <Widget>[
Container( Container(
padding: EdgeInsets.all(20.w), padding: EdgeInsets.all(20.w),
child: Row( child: Row(
children: [ children: <Widget>[
Expanded( Expanded(
child: Text( child: Text(
tipStr, tipStr,
@ -233,26 +236,27 @@ class _AuthorizedAdminPageState extends State<AuthorizedAdminPage>
SubmitBtn( SubmitBtn(
btnName: TranslationLoader.lanKeys!.send!.tr, btnName: TranslationLoader.lanKeys!.send!.tr,
onClick: () async { onClick: () async {
var isDemoMode = await Storage.getBool(ifIsDemoModeOrNot); final bool? isDemoMode = await Storage.getBool(ifIsDemoModeOrNot);
if (isDemoMode == false) { if (isDemoMode == false) {
// //
logic.sendElectronicKeyRequest(); logic.sendElectronicKeyRequest();
} else { } else {
logic.showToast("演示模式"); logic.showToast('演示模式');
} }
}), }),
Container( Container(
padding: EdgeInsets.only(right: 30.w), padding: EdgeInsets.only(right: 30.w),
child: Row( child: Row(
mainAxisAlignment: MainAxisAlignment.end, mainAxisAlignment: MainAxisAlignment.end,
children: [ children: <Widget>[
TextButton( TextButton(
onPressed: () async { onPressed: () async {
var isDemoMode = await Storage.getBool(ifIsDemoModeOrNot); final bool? isDemoMode =
await Storage.getBool(ifIsDemoModeOrNot);
if (isDemoMode == false) { if (isDemoMode == false) {
Get.toNamed(Routers.volumeAuthorizationLockManagePage); Get.toNamed(Routers.volumeAuthorizationLockManagePage);
} else { } else {
logic.showToast("演示模式"); logic.showToast('演示模式');
} }
}, },
child: Text( child: Text(
@ -270,16 +274,15 @@ class _AuthorizedAdminPageState extends State<AuthorizedAdminPage>
// //
Widget keyRealNameWidget() { Widget keyRealNameWidget() {
return Column( return Column(
children: [ children: <Widget>[
Obx(() => CommonItem( Obx(() => CommonItem(
leftTitel: TranslationLoader.lanKeys!.realNameAuthentication!.tr, leftTitel: TranslationLoader.lanKeys!.realNameAuthentication!.tr,
rightTitle: "", rightTitle: '',
isTipsImg: true, isTipsImg: true,
isHaveLine: isHaveLine: logic.state.isRequireAuth.value == true,
logic.state.isRequireAuth.value == true ? true : false,
tipsImgAction: () { tipsImgAction: () {
ShowTipView().showSureAlertDialog( ShowTipView().showSureAlertDialog(
"人脸实名认证指的是用户在使用手机APP开锁时需要先进行本人人脸验证验证通过才能开锁。".tr); '人脸实名认证指的是用户在使用手机APP开锁时需要先进行本人人脸验证验证通过才能开锁。'.tr);
}, },
isHaveRightWidget: true, isHaveRightWidget: true,
rightWidget: SizedBox( rightWidget: SizedBox(
@ -289,7 +292,7 @@ class _AuthorizedAdminPageState extends State<AuthorizedAdminPage>
visible: logic.state.isRequireAuth.value, visible: logic.state.isRequireAuth.value,
child: CommonItem( child: CommonItem(
leftTitel: '真实姓名'.tr, leftTitel: '真实姓名'.tr,
rightTitle: "", rightTitle: '',
isHaveRightWidget: true, isHaveRightWidget: true,
isHaveLine: true, isHaveLine: true,
rightWidget: getTFWidget(false, '请输入真实姓名'.tr, 3)))), rightWidget: getTFWidget(false, '请输入真实姓名'.tr, 3)))),
@ -297,7 +300,7 @@ class _AuthorizedAdminPageState extends State<AuthorizedAdminPage>
visible: logic.state.isRequireAuth.value, visible: logic.state.isRequireAuth.value,
child: CommonItem( child: CommonItem(
leftTitel: '身份证号'.tr, leftTitel: '身份证号'.tr,
rightTitle: "", rightTitle: '',
isHaveRightWidget: true, isHaveRightWidget: true,
rightWidget: getTFWidget(false, '请输入身份证号'.tr, 4)))), rightWidget: getTFWidget(false, '请输入身份证号'.tr, 4)))),
], ],
@ -307,13 +310,13 @@ class _AuthorizedAdminPageState extends State<AuthorizedAdminPage>
// //
Widget sendElectronicKeySucceed() { Widget sendElectronicKeySucceed() {
return Column( return Column(
children: [ children: <Widget>[
Container( Container(
height: 250.h, height: 250.h,
width: 1.sw, width: 1.sw,
color: Colors.white, color: Colors.white,
child: Column( child: Column(
children: [ children: <Widget>[
SizedBox( SizedBox(
height: 30.h, height: 30.h,
), ),
@ -327,9 +330,9 @@ class _AuthorizedAdminPageState extends State<AuthorizedAdminPage>
), ),
Row( Row(
mainAxisAlignment: MainAxisAlignment.center, mainAxisAlignment: MainAxisAlignment.center,
children: [ children: <Widget>[
Text( Text(
"发送成功", '发送成功',
style: TextStyle( style: TextStyle(
fontSize: 26.sp, fontSize: 26.sp,
color: Colors.black, color: Colors.black,
@ -354,9 +357,9 @@ class _AuthorizedAdminPageState extends State<AuthorizedAdminPage>
), ),
OutLineBtn( OutLineBtn(
btnName: btnName:
state.emailOrPhoneController.text.contains("@") ? '邮件通知' : "短信通知", state.emailOrPhoneController.text.contains('@') ? '邮件通知' : '短信通知',
onClick: () { onClick: () {
if (state.emailOrPhoneController.text.contains("@")) { if (state.emailOrPhoneController.text.contains('@')) {
Get.toNamed(Routers.sendEmailNotificationPage); Get.toNamed(Routers.sendEmailNotificationPage);
} else { } else {
NativeInteractionTool() NativeInteractionTool()
@ -387,7 +390,7 @@ class _AuthorizedAdminPageState extends State<AuthorizedAdminPage>
height: 65.h, height: 65.h,
width: 300.w, width: 300.w,
child: Row( child: Row(
children: [ children: <Widget>[
Expanded( Expanded(
child: TextField( child: TextField(
// //
@ -425,38 +428,37 @@ class _AuthorizedAdminPageState extends State<AuthorizedAdminPage>
SizedBox( SizedBox(
width: 10.w, width: 10.w,
), ),
isHaveBtn if (isHaveBtn)
? Container( Container(
width: 30.w, width: 30.w,
height: 30.w, height: 30.w,
decoration: const BoxDecoration( decoration: const BoxDecoration(
color: Colors.white, color: Colors.white,
image: DecorationImage( image: DecorationImage(
image: AssetImage('images/icon_addressBook.png'), image: AssetImage('images/icon_addressBook.png'),
fit: BoxFit.fill), fit: BoxFit.fill),
), ),
alignment: Alignment.center, alignment: Alignment.center,
child: InkWell( child: InkWell(
onTap: () async { onTap: () async {
Contact? currentContact = final Contact? currentContact =
await state.contactPicker.selectContact(); await state.contactPicker.selectContact();
setState(() { setState(() {
state.contact = currentContact!; state.contact = currentContact!;
if (currentContact.phoneNumbers!.isNotEmpty) { if (currentContact.phoneNumbers!.isNotEmpty) {
state.emailOrPhoneController.text = currentContact state.emailOrPhoneController.text = currentContact
.phoneNumbers![0] .phoneNumbers![0]
.replaceAll(RegExp(r"\s+\b|\b\s"), ""); .replaceAll(RegExp(r'\s+\b|\b\s'), '');
} }
if (currentContact.fullName!.isNotEmpty) {
if (currentContact.fullName!.isNotEmpty) { state.keyNameController.text = currentContact.fullName!;
state.keyNameController.text = }
currentContact.fullName!; });
} },
}); ),
}, )
), else
) Container()
: Container()
], ],
), ),
); );
@ -469,7 +471,7 @@ class _AuthorizedAdminPageState extends State<AuthorizedAdminPage>
trackColor: CupertinoColors.systemGrey5, trackColor: CupertinoColors.systemGrey5,
thumbColor: CupertinoColors.white, thumbColor: CupertinoColors.white,
value: state.isAuthentication.value, value: state.isAuthentication.value,
onChanged: (value) { onChanged: (bool value) {
setState(() { setState(() {
if (logic.state.isAuthentication.value == false) { if (logic.state.isAuthentication.value == false) {
logic.keyCheckFace(); logic.keyCheckFace();
@ -489,7 +491,7 @@ class _AuthorizedAdminPageState extends State<AuthorizedAdminPage>
trackColor: CupertinoColors.systemGrey5, trackColor: CupertinoColors.systemGrey5,
thumbColor: CupertinoColors.white, thumbColor: CupertinoColors.white,
value: state.onlyManageYouCreatesUser.value, value: state.onlyManageYouCreatesUser.value,
onChanged: (value) { onChanged: (bool value) {
setState(() { setState(() {
state.onlyManageYouCreatesUser.value = state.onlyManageYouCreatesUser.value =
!state.onlyManageYouCreatesUser.value; !state.onlyManageYouCreatesUser.value;
@ -498,7 +500,7 @@ class _AuthorizedAdminPageState extends State<AuthorizedAdminPage>
); );
} }
Future _openModalBottomSheet() async { void _openModalBottomSheet() {
showModalBottomSheet( showModalBottomSheet(
context: context, context: context,
shape: RoundedRectangleBorder( shape: RoundedRectangleBorder(
@ -506,7 +508,7 @@ class _AuthorizedAdminPageState extends State<AuthorizedAdminPage>
constraints: BoxConstraints(maxHeight: 270.h), constraints: BoxConstraints(maxHeight: 270.h),
builder: (BuildContext context) { builder: (BuildContext context) {
return Column( return Column(
children: [ children: <Widget>[
SizedBox( SizedBox(
width: ScreenUtil().screenWidth, width: ScreenUtil().screenWidth,
height: 180.h, height: 180.h,
@ -537,7 +539,7 @@ class _AuthorizedAdminPageState extends State<AuthorizedAdminPage>
} }
List<Widget> initBottomSheetList() { List<Widget> initBottomSheetList() {
List<Widget> widgetList = []; final List<Widget> widgetList = <Widget>[];
widgetList.add(buildCenter3('images/icon_wechat.png', '微信好友', 0)); widgetList.add(buildCenter3('images/icon_wechat.png', '微信好友', 0));
widgetList.add(buildCenter3('images/icon_message.png', '短信', 1)); widgetList.add(buildCenter3('images/icon_message.png', '短信', 1));
@ -557,7 +559,7 @@ class _AuthorizedAdminPageState extends State<AuthorizedAdminPage>
EdgeInsets.only(top: 20.w, bottom: 20.w, left: 10.w, right: 10.w), EdgeInsets.only(top: 20.w, bottom: 20.w, left: 10.w, right: 10.w),
child: Column( child: Column(
mainAxisAlignment: MainAxisAlignment.center, mainAxisAlignment: MainAxisAlignment.center,
children: [ children: <Widget>[
Image.asset( Image.asset(
imageName, imageName,
width: 50.w, width: 50.w,
@ -579,7 +581,7 @@ class _AuthorizedAdminPageState extends State<AuthorizedAdminPage>
} }
//\n生效时间${itemData.startDate}\n类型\n锁名${itemData.keyboardPwdName} //\n生效时间${itemData.startDate}\n类型\n锁名${itemData.keyboardPwdName}
_jumpSmartDeviceRoute(int itemIndex) { dynamic _jumpSmartDeviceRoute(int itemIndex) {
Get.back(); Get.back();
switch (itemIndex) { switch (itemIndex) {
case 0: case 0:
@ -613,8 +615,8 @@ class _AuthorizedAdminPageState extends State<AuthorizedAdminPage>
TabBar _tabBar() { TabBar _tabBar() {
return TabBar( return TabBar(
controller: state.tabController, controller: state.tabController,
tabs: _itemTabs.map((ItemView item) => _tab(item)).toList(), tabs: _itemTabs.map(_tab).toList(),
onTap: (index) { onTap: (int index) {
FocusScope.of(context).requestFocus(FocusNode()); FocusScope.of(context).requestFocus(FocusNode());
}, },
isScrollable: true, isScrollable: true,
@ -655,14 +657,14 @@ class _AuthorizedAdminPageState extends State<AuthorizedAdminPage>
child: TabBarView( child: TabBarView(
controller: state.tabController, controller: state.tabController,
children: _itemTabs children: _itemTabs
.map((ItemView item) => Obx(() => indexChangeWidget())) .map((ItemView item) => Obx(indexChangeWidget))
.toList()), .toList()),
); );
} }
final List<ItemView> _itemTabs = <ItemView>[ final List<ItemView> _itemTabs = <ItemView>[
ItemView(title: TranslationLoader.lanKeys!.timeLimit!.tr, type: "0"), ItemView(title: TranslationLoader.lanKeys!.timeLimit!.tr, type: '0'),
ItemView(title: TranslationLoader.lanKeys!.permanent!.tr, type: "1"), ItemView(title: TranslationLoader.lanKeys!.permanent!.tr, type: '1'),
]; ];
} }

View File

@ -1,10 +1,4 @@
class NoticeTemplateEntity { class NoticeTemplateEntity {
int? errorCode;
String? description;
String? errorMsg;
Data? data;
NoticeTemplateEntity( NoticeTemplateEntity(
{this.errorCode, this.description, this.errorMsg, this.data}); {this.errorCode, this.description, this.errorMsg, this.data});
@ -17,6 +11,11 @@ class NoticeTemplateEntity {
} }
} }
int? errorCode;
String? description;
String? errorMsg;
Data? data;
Map<String, dynamic> toJson() { Map<String, dynamic> toJson() {
final Map<String, dynamic> data = <String, dynamic>{}; final Map<String, dynamic> data = <String, dynamic>{};
data['errorCode'] = errorCode; data['errorCode'] = errorCode;
@ -28,23 +27,45 @@ class NoticeTemplateEntity {
} }
class Data { class Data {
List<int>? userNos = [];
Data({
this.userNos,
});
Data.fromJson(Map<String, dynamic> json) { Data.fromJson(Map<String, dynamic> json) {
if (json['userNos'] is List) { if (json['list'] is List) {
json['userNos'].forEach((element) { json['list'].forEach((dynamic element) {
userNos?.add(element); list?.add(Item.fromJson(element));
}); });
} }
} }
List<Item>? list = [];
Map<String, dynamic> toJson() { Map<String, dynamic> toJson() {
final Map<String, dynamic> data = <String, dynamic>{}; final Map<String, dynamic> data = <String, dynamic>{};
data['userNos'] = userNos; data['list'] = list;
return data; return data;
} }
} }
class Item {
Item.fromJson(Map<String, dynamic> json) {
type = json['type'];
name = json['name'];
template = json['template'];
isUse = json['isUse'];
fee = json['fee'];
}
String? type;
String? name;
String? template;
int? isUse;
int? fee;
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = <String, dynamic>{};
data['type'] = type;
data['name'] = name;
data['template'] = template;
data['isUse'] = isUse;
data['fee'] = fee;
return data;
}
}

View File

@ -2,6 +2,7 @@ import 'dart:ffi';
import 'package:flutter_easyloading/flutter_easyloading.dart'; import 'package:flutter_easyloading/flutter_easyloading.dart';
import 'package:get/get.dart'; import 'package:get/get.dart';
import 'package:star_lock/main/lockDetail/authorizedAdmin/volumeAuthorizationLock/notice_template_entity.dart';
import 'package:star_lock/main/lockDetail/lockSet/basicInformation/basicInformation/KeyDetailEntity.dart'; import 'package:star_lock/main/lockDetail/lockSet/basicInformation/basicInformation/KeyDetailEntity.dart';
import 'package:star_lock/network/api_repository.dart'; import 'package:star_lock/network/api_repository.dart';
import 'package:star_lock/tools/baseGetXController.dart'; import 'package:star_lock/tools/baseGetXController.dart';
@ -52,13 +53,4 @@ class VolumeAuthorizationLockLogic extends BaseGetXController {
} }
} }
//
Future<void> sendMsg({required bool isPhone}) async {
if (isPhone) {
} else {}
var entity = await ApiRepository.to.getNoticeTemplate(
lockId: CommonDataManage().currentKeyInfo.lockId!,
keyId: CommonDataManage().currentKeyInfo.keyId!,
channelType: 1);
}
} }

View File

@ -190,7 +190,8 @@ class _VolumeAuthorizationLockPageState
arguments: <String, String>{'keyLimits': '1'}) arguments: <String, String>{'keyLimits': '1'})
.then((Object? value) { .then((Object? value) {
//ID列表 //ID列表
if (value is Map<String, dynamic> && value['selectLockIdList'] is List) { if (value is Map<String, dynamic> &&
value['selectLockIdList'] is List) {
state.lockIdList.clear(); state.lockIdList.clear();
value['selectLockIdList'].forEach((element) { value['selectLockIdList'].forEach((element) {
state.lockIdList.add(element); state.lockIdList.add(element);
@ -353,22 +354,6 @@ class _VolumeAuthorizationLockPageState
state.isSendSuccess.value = false; state.isSendSuccess.value = false;
Navigator.pop(context, true); Navigator.pop(context, true);
}), }),
SizedBox(
height: 10.h,
),
OutLineBtn(
btnName: '邮件通知',
onClick: () {
Navigator.pushNamed(context, Routers.sendEmailNotificationPage);
},
),
SizedBox(
height: 10.h,
),
OutLineBtn(
btnName: '微信通知',
onClick: () {},
),
], ],
); );
} }

View File

@ -1,6 +1,7 @@
import 'package:get/get.dart'; import 'package:get/get.dart';
import 'package:star_lock/blue/entity/lock_user_no_list_entity.dart'; import 'package:star_lock/blue/entity/lock_user_no_list_entity.dart';
import 'package:star_lock/login/selectCountryRegion/common/countryRegionEntity.dart'; import 'package:star_lock/login/selectCountryRegion/common/countryRegionEntity.dart';
import 'package:star_lock/main/lockDetail/authorizedAdmin/volumeAuthorizationLock/notice_template_entity.dart';
import 'package:star_lock/main/lockDetail/doorLockLog/doorLockLog_entity.dart'; import 'package:star_lock/main/lockDetail/doorLockLog/doorLockLog_entity.dart';
import 'package:star_lock/main/lockDetail/electronicKey/electronicKeyList/entity/ElectronicKeyListEntity.dart'; import 'package:star_lock/main/lockDetail/electronicKey/electronicKeyList/entity/ElectronicKeyListEntity.dart';
import 'package:star_lock/main/lockDetail/electronicKey/massSendElectronicKey/massSendLockGroupList/lockUserList/lockUserList_entity.dart'; import 'package:star_lock/main/lockDetail/electronicKey/massSendElectronicKey/massSendLockGroupList/lockUserList/lockUserList_entity.dart';
@ -2113,14 +2114,14 @@ class ApiRepository {
return LockUserNoListEntity.fromJson(res.body); return LockUserNoListEntity.fromJson(res.body);
} }
// certifyId是否完成认证 //
Future<LockUserNoListEntity> getNoticeTemplate({ Future<NoticeTemplateEntity> getNoticeTemplate({
required int lockId, required int lockId,
required int keyId, required int keyId,
required int channelType, required int channelType,
}) async { }) async {
final Response<dynamic> res = final Response<dynamic> res =
await apiProvider.getNoticeTemplate(lockId, keyId, channelType); await apiProvider.getNoticeTemplate(lockId, keyId, channelType);
return LockUserNoListEntity.fromJson(res.body); return NoticeTemplateEntity.fromJson(res.body);
} }
} }