From 6d186ec0a4919bdb9a488041975139433279780f Mon Sep 17 00:00:00 2001 From: Daisy <> Date: Fri, 3 May 2024 17:53:15 +0800 Subject: [PATCH] =?UTF-8?q?1=EF=BC=8C=E7=99=BB=E5=BD=95=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=E6=96=B0=E5=A2=9E=E6=98=AF=E5=90=A6VIP=E6=A0=87=E8=AF=86=202?= =?UTF-8?q?=EF=BC=8C=E7=BE=A4=E5=8F=91=E7=94=B5=E5=AD=90=E9=92=A5=E5=8C=99?= =?UTF-8?q?=E4=BB=A3=E7=A0=81=E7=BB=93=E6=9E=84=E9=87=8D=E6=9E=84=E5=8F=8A?= =?UTF-8?q?=E9=AB=98=E7=BA=A7=E5=8A=9F=E8=83=BD=E7=9B=B8=E5=85=B3=E9=80=BB?= =?UTF-8?q?=E8=BE=91=E5=A4=84=E7=90=86=203=EF=BC=8C=E9=80=89=E6=8B=A9?= =?UTF-8?q?=E9=94=81=E5=88=86=E7=BB=84=E3=80=81=E7=94=A8=E6=88=B7=E7=AE=A1?= =?UTF-8?q?=E7=90=86=E9=AB=98=E7=BA=A7=E5=8A=9F=E8=83=BD=E7=9B=B8=E5=85=B3?= =?UTF-8?q?=E9=80=BB=E8=BE=91=E5=A2=9E=E5=8A=A0=204=EF=BC=8C=E6=96=B0?= =?UTF-8?q?=E5=A2=9E=E5=85=AC=E7=94=A8=E9=AB=98=E7=BA=A7=E5=8A=9F=E8=83=BD?= =?UTF-8?q?=E9=A1=B6=E9=83=A8=E6=8F=90=E7=A4=BA=E6=A1=86=E7=BB=84=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- star_lock/images/icon_btn_disableAdd.png | Bin 0 -> 1480 bytes star_lock/images/lan/lan_en.json | 3 +- star_lock/images/lan/lan_keys.json | 3 +- star_lock/images/lan/lan_zh.json | 3 +- .../lib/login/login/entity/LoginData.dart | 29 ++-- .../lib/login/login/starLock_login_logic.dart | 1 + .../massSendElectronicKey_logic.dart | 57 ++++---- ...stEntity.dart => lockUserList_entity.dart} | 12 +- .../lockUserList/lockUserList_logic.dart | 18 +++ .../lockUserList/lockUserList_page.dart | 114 +++++---------- .../lockUserList/lockUserList_state.dart | 12 ++ .../massSendLockGroupList_logic.dart | 2 - .../massSendLockGroupList_page.dart | 36 +---- .../massSendReceiverCell.dart | 44 +++--- .../massSendReceiver_logic.dart | 20 +++ .../massSendReceiver_page.dart | 138 +++++++++--------- .../massSendReceiver_state.dart | 13 ++ .../messageWarn/addFamily/addFamily_page.dart | 2 +- .../coerceFingerprint_page.dart | 2 +- .../lowBatteryReminder_page.dart | 2 +- .../nDaysUnopened/nDaysUnopened_page.dart | 2 +- .../passwordKey_perpetual_state.dart | 15 +- .../lockUserManageList_logic.dart | 2 +- .../lockUserManageList_page.dart | 36 +++-- .../lockUserManageList_state.dart | 8 +- star_lock/lib/network/api_repository.dart | 2 +- ...Alert.dart => advancedFunctionHandle.dart} | 39 +++++ 27 files changed, 330 insertions(+), 285 deletions(-) create mode 100644 star_lock/images/icon_btn_disableAdd.png rename star_lock/lib/main/lockDetail/electronicKey/massSendElectronicKey/massSendLockGroupList/lockUserList/{lockUserListEntity.dart => lockUserList_entity.dart} (85%) create mode 100644 star_lock/lib/main/lockDetail/electronicKey/massSendElectronicKey/massSendLockGroupList/lockUserList/lockUserList_logic.dart create mode 100644 star_lock/lib/main/lockDetail/electronicKey/massSendElectronicKey/massSendLockGroupList/lockUserList/lockUserList_state.dart create mode 100644 star_lock/lib/main/lockDetail/electronicKey/massSendElectronicKey/massSendLockGroupList/massSendReceiver/massSendReceiver_logic.dart create mode 100644 star_lock/lib/main/lockDetail/electronicKey/massSendElectronicKey/massSendLockGroupList/massSendReceiver/massSendReceiver_state.dart rename star_lock/lib/tools/{advancedFunctionAlert.dart => advancedFunctionHandle.dart} (56%) diff --git a/star_lock/images/icon_btn_disableAdd.png b/star_lock/images/icon_btn_disableAdd.png new file mode 100644 index 0000000000000000000000000000000000000000..17098cf600999b48e0f2df18bfc488252bf7ad39 GIT binary patch literal 1480 zcmV;(1vmPMP)^x*$w*FxN0zeG8*O=9*%ygzrK*T3Qahleec_scV9&}zNDDh{lHS?i3O(H&-HeV{k zp;T^(*fS1=GiilH;ZQguV$Xz9xs@i*M1~Ej*8zw_ohQ>2pM+jb>1jybK4}9h>?;bY zlN8Gmh2VKB>@!(6NxRrR+#5KA$(C-mPfv?5JFy3~c!rgG&RR1+sj$4UHk^lY&&7$2 zG%W01g7J^1m(|NBgqF;pg*uF6_NxdO|G04NQdHR3bC^~2OKbe2nQ3x89GY#w^E?26 z)*1`T8q`WP@D3o`KHAkByuV${*ss`{;Jr+g0PuOwkXZomJP&g(c<|NUtja`c9%ooG zQvqOZ_L(8GeLT;@-0ag?mIB6TA8FW#)6BLyp<3DgyRAA5$@T&b;Wi!~QbEc+t1`ZF zGQuN!w~yy}*$!anUYU_{&u%^bP!%!$JDFB4kx^cT3=6v#i<46f!nGk!Lx#!vZx$;j zf5^6nJPiz6a(^mbPBB=j4ZIBuv-q!+BPV}Y+5>M407U#jd2))O?~wt(pz>C^a`LC| zvD?EEyi}^10_c0}8iwSydbv~Rdt|VCp=>dQp=uY{2pVPUC<Z7GTp#y2fVS9fHWL^^}s~! zwANU>u7Ue;77^?WGt922uomh#n4{S=c%FxY2RyX!Xk@H{*~LWBBXq;twTh>YleNfLBWlAD;wFH|HLRfdCoW&PgWB{8 zrl*sg({9zlk-6u_##~E8!{q zk0=1+4X^4y;6$HYLok3^g0(*)T4P06NmS)Oj3QcLSpQhrLJGsSk1^04y~@^-H+_#? z!&JRmuAKa_J&z0k3Z3uDm6JbC&ttcT#eQ6_oc!r~+`KM*r93(LV#)ov|9bPf^r3R( ziwI z6eoJ>kpM+@>`Y5*4Mld_&nF=iXI+ecV(amdm);JAdj#1jAP9nR`*cBQLD_C8fkR<^ z)bVZS8U#^U3RqaWIkK0v)>v4&nPn+p%#Pl%lPgx0FS1hLnpG?=>mk!xYb-8nxMnr0 zGGJBxYTV}(^$38ldojzM0Y(%8>aI6bWgRNRd5duEN3!kL$HhcWpUL{iMvZopqR3zh zcQJ*#nVN-izl|~r#9Xx$Mu#n0uw$0py0m5P$$*>?9>|^MeHXIg>`0i+K{`1Y toJson() { final map = {}; @@ -46,7 +49,7 @@ class LoginData { map['nickname'] = nickname; map['haveSafeAnswer'] = haveSafeAnswer; map['uid'] = uid; + map['isVip'] = isVip; return map; } - -} \ No newline at end of file +} diff --git a/star_lock/lib/login/login/starLock_login_logic.dart b/star_lock/lib/login/login/starLock_login_logic.dart index 2b932cb5..63db6d1a 100644 --- a/star_lock/lib/login/login/starLock_login_logic.dart +++ b/star_lock/lib/login/login/starLock_login_logic.dart @@ -24,6 +24,7 @@ class StarLockLoginLogic extends BaseGetXController { username: state.emailOrPhone.value); if (entity.errorCode!.codeIsSuccessful) { Storage.saveLoginData(entity.data); + Storage.setBool(saveIsVip, entity.data!.isVip! == 0 ? false : true); eventBus.fire(MineInfoChangeRefreshUI()); // Get.back(); // Get.toNamed(Routers.starLockMain); diff --git a/star_lock/lib/main/lockDetail/electronicKey/massSendElectronicKey/massSendElectronicKey/massSendElectronicKey_logic.dart b/star_lock/lib/main/lockDetail/electronicKey/massSendElectronicKey/massSendElectronicKey/massSendElectronicKey_logic.dart index 36f15fbe..ebf47281 100644 --- a/star_lock/lib/main/lockDetail/electronicKey/massSendElectronicKey/massSendElectronicKey/massSendElectronicKey_logic.dart +++ b/star_lock/lib/main/lockDetail/electronicKey/massSendElectronicKey/massSendElectronicKey/massSendElectronicKey_logic.dart @@ -1,37 +1,35 @@ - import 'package:get/get.dart'; import 'package:star_lock/tools/baseGetXController.dart'; import '../../../../../common/XSConstantMacro/XSConstantMacro.dart'; import '../../../../../network/api_repository.dart'; import '../../../../../tools/dateTool.dart'; -import '../massSendLockGroupList/lockUserList/lockUserListEntity.dart'; +import '../massSendLockGroupList/lockUserList/lockUserList_entity.dart'; import 'massSendElectronicKey_state.dart'; -class MassSendElectronicKeyLogic extends BaseGetXController{ +class MassSendElectronicKeyLogic extends BaseGetXController { MassSendElectronicKeyState state = MassSendElectronicKeyState(); //群发钥匙检查 Future massKeyChecksRequest() async { String getFailureDateTime = '0'; if (int.parse(state.type.value) != 1) { - getFailureDateTime = DateTool().dateToTimestamp(state.endTime.value, 1).toString(); + getFailureDateTime = + DateTool().dateToTimestamp(state.endTime.value, 1).toString(); } - if(state.lockIdList.isEmpty){ + if (state.lockIdList.isEmpty) { showToast("请选择锁".tr); return; } - if(state.receiverList.isEmpty){ + if (state.receiverList.isEmpty) { showToast("请选择接收者".tr); return; } - var entity = await ApiRepository.to.canSendKey( - getFailureDateTime, - state.lockIdList - ); + var entity = + await ApiRepository.to.canSendKey(getFailureDateTime, state.lockIdList); if (entity.errorCode!.codeIsSuccessful) { for (int i = 0; i < state.receiverList.length; i++) { - LockUserData data = state.receiverList[i]; + LockUserItemData data = state.receiverList[i]; batchSendElectronicKeyRequest(data.userid ?? '', data.nickname ?? ''); } } else { @@ -40,7 +38,8 @@ class MassSendElectronicKeyLogic extends BaseGetXController{ } //批处理群发钥匙 - Future batchSendElectronicKeyRequest(String receiverUserID, String receiverUserName) async { + Future batchSendElectronicKeyRequest( + String receiverUserID, String receiverUserName) async { //发送钥匙请求 var startDate = "0"; var endDate = "0"; @@ -51,8 +50,10 @@ class MassSendElectronicKeyLogic extends BaseGetXController{ case 0: { typeValue = XSConstantMacro.keyTypeTime; - startDate = DateTool().dateToTimestamp(state.beginTime.value, 1).toString(); - endDate = DateTool().dateToTimestamp(state.endTime.value, 1).toString(); + startDate = + DateTool().dateToTimestamp(state.beginTime.value, 1).toString(); + endDate = + DateTool().dateToTimestamp(state.endTime.value, 1).toString(); startTime = "0"; endTime = "0"; @@ -88,10 +89,15 @@ class MassSendElectronicKeyLogic extends BaseGetXController{ showToast("请选择有效期".tr); return; } - startDate = DateTool().dateToTimestamp(state.beginTime.value, 1).toString(); + startDate = + DateTool().dateToTimestamp(state.beginTime.value, 1).toString(); endDate = DateTool().dateToTimestamp(state.endTime.value, 1).toString(); - startTime = DateTool().dateToTimestamp(state.effectiveDateTime.value, 0).toString(); - endTime = DateTool().dateToTimestamp(state.failureDateTime.value, 0).toString(); + startTime = DateTool() + .dateToTimestamp(state.effectiveDateTime.value, 0) + .toString(); + endTime = DateTool() + .dateToTimestamp(state.failureDateTime.value, 0) + .toString(); break; default: typeValue = XSConstantMacro.keyTypeTime; @@ -112,8 +118,7 @@ class MassSendElectronicKeyLogic extends BaseGetXController{ startTime: int.parse(startTime), endTime: int.parse(endTime), remoteUnlockSwitch: state.isRemoteUnlock.value ? 1 : 2, - keyRight: 0 - ); + keyRight: 0); if (entity.errorCode!.codeIsSuccessful) { state.isSendSuccess.value = true; resetData(); @@ -128,12 +133,14 @@ class MassSendElectronicKeyLogic extends BaseGetXController{ } void resetData() { - if(state.type.value == "0"){ - state.beginTime.value = DateTool().dateToYMDHNString(DateTime.now().millisecondsSinceEpoch.toString()); //默认为当前时间 - state.endTime.value = DateTool().dateToYMDHNString(DateTime.now().millisecondsSinceEpoch.toString());//默认为当前时间 - }else{ + if (state.type.value == "0") { + state.beginTime.value = DateTool().dateToYMDHNString( + DateTime.now().millisecondsSinceEpoch.toString()); //默认为当前时间 + state.endTime.value = DateTool().dateToYMDHNString( + DateTime.now().millisecondsSinceEpoch.toString()); //默认为当前时间 + } else { state.beginTime.value = ""; //默认为当前时间 - state.endTime.value = "";//默认为当前时间 + state.endTime.value = ""; //默认为当前时间 } } -} \ No newline at end of file +} diff --git a/star_lock/lib/main/lockDetail/electronicKey/massSendElectronicKey/massSendLockGroupList/lockUserList/lockUserListEntity.dart b/star_lock/lib/main/lockDetail/electronicKey/massSendElectronicKey/massSendLockGroupList/lockUserList/lockUserList_entity.dart similarity index 85% rename from star_lock/lib/main/lockDetail/electronicKey/massSendElectronicKey/massSendLockGroupList/lockUserList/lockUserListEntity.dart rename to star_lock/lib/main/lockDetail/electronicKey/massSendElectronicKey/massSendLockGroupList/lockUserList/lockUserList_entity.dart index fa7e6959..218d6d55 100644 --- a/star_lock/lib/main/lockDetail/electronicKey/massSendElectronicKey/massSendLockGroupList/lockUserList/lockUserListEntity.dart +++ b/star_lock/lib/main/lockDetail/electronicKey/massSendElectronicKey/massSendLockGroupList/lockUserList/lockUserList_entity.dart @@ -2,7 +2,7 @@ class LockUserListEntity { int? errorCode; String? description; String? errorMsg; - List? data; + List? data; LockUserListEntity( {this.errorCode, this.description, this.errorMsg, this.data}); @@ -12,9 +12,9 @@ class LockUserListEntity { description = json['description']; errorMsg = json['errorMsg']; if (json['data'] != null) { - data = []; + data = []; json['data'].forEach((v) { - data!.add(LockUserData.fromJson(v)); + data!.add(LockUserItemData.fromJson(v)); }); } } @@ -31,17 +31,17 @@ class LockUserListEntity { } } -class LockUserData { +class LockUserItemData { int? uid; String? nickname; String? headUrl; String? userid; bool? isCheck = false; - LockUserData( + LockUserItemData( {this.uid, this.nickname, this.headUrl, this.userid, this.isCheck}); - LockUserData.fromJson(Map json) { + LockUserItemData.fromJson(Map json) { uid = json['uid']; nickname = json['nickname']; headUrl = json['headUrl']; diff --git a/star_lock/lib/main/lockDetail/electronicKey/massSendElectronicKey/massSendLockGroupList/lockUserList/lockUserList_logic.dart b/star_lock/lib/main/lockDetail/electronicKey/massSendElectronicKey/massSendLockGroupList/lockUserList/lockUserList_logic.dart new file mode 100644 index 00000000..5289e0fd --- /dev/null +++ b/star_lock/lib/main/lockDetail/electronicKey/massSendElectronicKey/massSendLockGroupList/lockUserList/lockUserList_logic.dart @@ -0,0 +1,18 @@ +import 'package:star_lock/main/lockDetail/electronicKey/massSendElectronicKey/massSendLockGroupList/lockUserList/lockUserList_entity.dart'; +import 'package:star_lock/main/lockDetail/electronicKey/massSendElectronicKey/massSendLockGroupList/lockUserList/lockUserList_state.dart'; +import 'package:star_lock/network/api_repository.dart'; +import 'package:star_lock/tools/baseGetXController.dart'; + +class LockUserListLogic extends BaseGetXController { + LockUserListState state = LockUserListState(); + + //请求锁用户列表 + Future lockUserListRequest() async { + LockUserListEntity entity = await ApiRepository.to.lockUserList( + state.pageNo.value.toString(), state.pageSize.value.toString(), ''); + if (entity.errorCode!.codeIsSuccessful) { + state.dataList.value = entity.data!; + state.dataList.refresh(); + } + } +} diff --git a/star_lock/lib/main/lockDetail/electronicKey/massSendElectronicKey/massSendLockGroupList/lockUserList/lockUserList_page.dart b/star_lock/lib/main/lockDetail/electronicKey/massSendElectronicKey/massSendLockGroupList/lockUserList/lockUserList_page.dart index 39297a7f..f58abdf6 100644 --- a/star_lock/lib/main/lockDetail/electronicKey/massSendElectronicKey/massSendLockGroupList/lockUserList/lockUserList_page.dart +++ b/star_lock/lib/main/lockDetail/electronicKey/massSendElectronicKey/massSendLockGroupList/lockUserList/lockUserList_page.dart @@ -1,13 +1,12 @@ import 'package:flutter/material.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; -import 'package:get/utils.dart'; +import 'package:get/get.dart'; import 'package:star_lock/app_settings/app_colors.dart'; -import 'package:star_lock/main/lockDetail/electronicKey/massSendElectronicKey/massSendLockGroupList/lockUserList/lockUserListEntity.dart'; -import 'package:star_lock/network/api_repository.dart'; -import 'package:star_lock/tools/baseGetXController.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_logic.dart'; +import 'package:star_lock/tools/keySearchWidget.dart'; import 'package:star_lock/tools/noData.dart'; import 'package:star_lock/tools/submitBtn.dart'; -import 'package:star_lock/translations/trans_lib.dart'; class LockUserListPage extends StatefulWidget { const LockUserListPage({Key? key}) : super(key: key); @@ -19,14 +18,14 @@ class LockUserListPage extends StatefulWidget { } class _LockUserListPageState extends State { - List dataList = []; - List selectUserIdList = []; - List selectDataList = []; + final logic = Get.put(LockUserListLogic()); + final state = Get.find().state; + @override void initState() { super.initState(); - lockUserListRequest(); + logic.lockUserListRequest(); } @override @@ -52,24 +51,29 @@ class _LockUserListPageState extends State { SizedBox( height: 20.h, ), - _searchWidget(), + KeySearchWidget( + editingController: state.searchController, + onSubmittedAction: () { + logic.lockUserListRequest(); + }, + ), SizedBox( height: 20.h, ), - Expanded( - child: dataList.isEmpty + Obx(() => Expanded( + child: state.dataList.isEmpty ? NoData() : ListView.separated( itemBuilder: (context, index) { - LockUserData indexEntity = dataList[index]; + LockUserItemData indexEntity = state.dataList[index]; return _electronicKeyItem(indexEntity); }, - itemCount: dataList.length, + itemCount: state.dataList.length, separatorBuilder: (context, index) { return const Divider( height: 1, color: AppColors.greyLineColor); }, - )), + ))), Container( height: 120.h, padding: EdgeInsets.only(left: 20.w, right: 20.w, top: 0.h), @@ -77,22 +81,22 @@ class _LockUserListPageState extends State { color: Colors.white, child: Row( children: [ - Text( - '${"已选中".tr}:${selectUserIdList.length}', - style: TextStyle(color: Colors.black, fontSize: 24.sp), - ), + Obx(() => Text( + '${"已选中".tr}:${state.selectUserIdList.length}', + style: TextStyle(color: Colors.black, fontSize: 24.sp), + )), Expanded( child: SizedBox( width: 20.w, )), SizedBox( - width: 120.w, + width: 160.w, height: 60.h, child: SubmitBtn( btnName: '确定'.tr, onClick: () { Map resultMap = {}; - resultMap['lockUserList'] = selectDataList; + resultMap['lockUserList'] = state.selectDataList.value; Navigator.pop(context, resultMap); }, ), @@ -104,42 +108,7 @@ class _LockUserListPageState extends State { )); } - Widget _searchWidget() { - return Container( - height: 60.h, - margin: EdgeInsets.only(left: 20.w, right: 10.w), - decoration: BoxDecoration( - color: Colors.white, borderRadius: BorderRadius.circular(5)), - child: TextField( - //输入框一行 - maxLines: 1, - // controller: _controller, - autofocus: false, - - decoration: InputDecoration( - //输入里面输入文字内边距设置 - contentPadding: const EdgeInsets.only( - top: 12.0, left: -19.0, right: -15.0, bottom: 8.0), - hintText: TranslationLoader.lanKeys!.pleaseEnter!.tr, - hintStyle: TextStyle(fontSize: 22.sp, height: 3.0), - //不需要输入框下划线 - border: InputBorder.none, - //左边图标设置 - icon: Padding( - padding: EdgeInsets.only( - top: 20.h, bottom: 20.h, right: 20.w, left: 10.w), - child: Image.asset( - 'images/main/icon_main_search.png', - width: 40.w, - height: 40.w, - ), - ), - ), - ), - ); - } - - Widget _electronicKeyItem(LockUserData itemData) { + Widget _electronicKeyItem(LockUserItemData itemData) { return Container( color: Colors.white, height: 90.h, @@ -188,16 +157,15 @@ class _LockUserListPageState extends State { ), GestureDetector( onTap: () { - setState(() { - itemData.isCheck = !itemData.isCheck!; - if (itemData.isCheck == true) { - selectUserIdList.add(itemData.userid); - selectDataList.add(itemData); - } else { - selectUserIdList.remove(itemData.userid); - selectDataList.remove(itemData); - } - }); + itemData.isCheck = !itemData.isCheck!; + if (itemData.isCheck == true) { + state.selectUserIdList.add(itemData.userid); + state.selectDataList.add(itemData); + } else { + state.selectUserIdList.remove(itemData.userid); + state.selectDataList.remove(itemData); + } + setState(() {}); }, child: Image.asset( itemData.isCheck! @@ -211,16 +179,4 @@ class _LockUserListPageState extends State { ), ); } - - //请求锁用户列表 - Future> lockUserListRequest() async { - LockUserListEntity entity = - await ApiRepository.to.lockUserList('1', '20', ''); - if (entity.errorCode!.codeIsSuccessful) { - setState(() { - dataList = entity.data!; - }); - } - return dataList; - } } diff --git a/star_lock/lib/main/lockDetail/electronicKey/massSendElectronicKey/massSendLockGroupList/lockUserList/lockUserList_state.dart b/star_lock/lib/main/lockDetail/electronicKey/massSendElectronicKey/massSendLockGroupList/lockUserList/lockUserList_state.dart new file mode 100644 index 00000000..4bbbbdb7 --- /dev/null +++ b/star_lock/lib/main/lockDetail/electronicKey/massSendElectronicKey/massSendLockGroupList/lockUserList/lockUserList_state.dart @@ -0,0 +1,12 @@ +import 'package:flutter/material.dart'; +import 'package:get/get.dart'; +import 'package:star_lock/main/lockDetail/electronicKey/massSendElectronicKey/massSendLockGroupList/lockUserList/lockUserList_entity.dart'; + +class LockUserListState { + final TextEditingController searchController = TextEditingController(); + var dataList = [].obs; + var selectUserIdList = [].obs; + var selectDataList = [].obs; + var pageNo = 1.obs; + var pageSize = 20.obs; +} diff --git a/star_lock/lib/main/lockDetail/electronicKey/massSendElectronicKey/massSendLockGroupList/massSendLockGroupList_logic.dart b/star_lock/lib/main/lockDetail/electronicKey/massSendElectronicKey/massSendLockGroupList/massSendLockGroupList_logic.dart index a30bf8ff..238bfa6d 100644 --- a/star_lock/lib/main/lockDetail/electronicKey/massSendElectronicKey/massSendLockGroupList/massSendLockGroupList_logic.dart +++ b/star_lock/lib/main/lockDetail/electronicKey/massSendElectronicKey/massSendLockGroupList/massSendLockGroupList_logic.dart @@ -1,4 +1,3 @@ -import 'package:star_lock/app_settings/app_settings.dart'; import 'package:star_lock/main/lockDetail/electronicKey/massSendElectronicKey/massSendLockGroupList/massSendLockGroupListEntity.dart'; import 'package:star_lock/main/lockDetail/electronicKey/massSendElectronicKey/massSendLockGroupList/massSendLockGroupList_state.dart'; import 'package:star_lock/network/api_repository.dart'; @@ -26,6 +25,5 @@ class MassSendLockGroupListLogic extends BaseGetXController { var isVip = await Storage.getBool(saveIsVip); state.isVip.value = isVip ?? false; - AppLog.log('isVip: ${state.isVip.value}'); } } diff --git a/star_lock/lib/main/lockDetail/electronicKey/massSendElectronicKey/massSendLockGroupList/massSendLockGroupList_page.dart b/star_lock/lib/main/lockDetail/electronicKey/massSendElectronicKey/massSendLockGroupList/massSendLockGroupList_page.dart index 3939b96c..a532a258 100644 --- a/star_lock/lib/main/lockDetail/electronicKey/massSendElectronicKey/massSendLockGroupList/massSendLockGroupList_page.dart +++ b/star_lock/lib/main/lockDetail/electronicKey/massSendElectronicKey/massSendLockGroupList/massSendLockGroupList_page.dart @@ -7,6 +7,7 @@ import 'package:star_lock/main/lockDetail/electronicKey/massSendElectronicKey/ma import 'package:star_lock/main/lockDetail/electronicKey/massSendElectronicKey/massSendLockGroupList/massSendLockGroupListEntity.dart'; import 'package:star_lock/main/lockDetail/electronicKey/massSendElectronicKey/massSendLockGroupList/massSendLockGroupList_logic.dart'; import 'package:star_lock/tools/ExpandedListView.dart'; +import 'package:star_lock/tools/advancedFunctionHandle.dart'; import 'package:star_lock/tools/submitBtn.dart'; import 'package:star_lock/translations/trans_lib.dart'; @@ -53,39 +54,8 @@ class _MassSendLockGroupListPageState extends State { children: [ Obx(() => Visibility( visible: state.isVip.value ? false : true, - child: Container( - color: AppColors.vipFeatureBgColor, - padding: EdgeInsets.only(left: 20.w, right: 20.w), - height: 80.h, - child: Row( - children: [ - Text('开通高级功能后才可以对锁进行管理'.tr, - style: TextStyle( - color: AppColors.vipFeatureBtnTextColor, - fontSize: 22.sp)), - Expanded( - child: SizedBox( - width: 10.w, - )), - SizedBox( - width: 150.w, - height: 46.h, - child: ElevatedButton( - style: ElevatedButton.styleFrom( - backgroundColor: AppColors.vipFeatureBtnBgColor, - ), - onPressed: () { - Get.toNamed(Routers.advancedFeaturesWebPage); - }, - child: Text( - '去开通', - style: TextStyle( - color: Colors.white, fontSize: 22.sp), - )), - ) - ], - ), - ))), + child: AdvancedFunctionHandle() + .topTipsAdvancedFeatures('开通高级功能后才可以对锁进行管理'.tr))), SizedBox( height: 10.h, ), diff --git a/star_lock/lib/main/lockDetail/electronicKey/massSendElectronicKey/massSendLockGroupList/massSendReceiver/massSendReceiverCell.dart b/star_lock/lib/main/lockDetail/electronicKey/massSendElectronicKey/massSendLockGroupList/massSendReceiver/massSendReceiverCell.dart index 856fad32..8b91b4ce 100644 --- a/star_lock/lib/main/lockDetail/electronicKey/massSendElectronicKey/massSendLockGroupList/massSendReceiver/massSendReceiverCell.dart +++ b/star_lock/lib/main/lockDetail/electronicKey/massSendElectronicKey/massSendLockGroupList/massSendReceiver/massSendReceiverCell.dart @@ -2,15 +2,14 @@ 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/main/lockDetail/electronicKey/massSendElectronicKey/massSendLockGroupList/lockUserList/lockUserListEntity.dart'; -import 'package:star_lock/tools/commonItem.dart'; +import 'package:star_lock/main/lockDetail/electronicKey/massSendElectronicKey/massSendLockGroupList/lockUserList/lockUserList_entity.dart'; import 'package:star_lock/translations/trans_lib.dart'; import '../../../../../../app_settings/app_colors.dart'; class MassSendReceiverCell extends StatelessWidget { final int currentIndex; - LockUserData userData; + LockUserItemData userData; final VoidCallback clickDeleteUser; final FlutterContactPicker contactPicker = FlutterContactPicker(); late Contact contact; @@ -103,17 +102,16 @@ class MassSendReceiverCell extends StatelessWidget { return controller; } - Widget massSendReceiverCellWidget( - { - String? leftTitel, - String? rightTitle, - bool? isHaveDirection, - bool? isHaveLine, - bool? isHaveRightWidget, - Widget? rightWidget, - Function()? action, - double? allHeight, - }){ + Widget massSendReceiverCellWidget({ + String? leftTitel, + String? rightTitle, + bool? isHaveDirection, + bool? isHaveLine, + bool? isHaveRightWidget, + Widget? rightWidget, + Function()? action, + double? allHeight, + }) { return Column( // mainAxisAlignment: MainAxisAlignment.center, children: [ @@ -132,14 +130,14 @@ class MassSendReceiverCell extends StatelessWidget { isHaveRightWidget! ? rightWidget! : Text( - rightTitle ?? "", - textAlign: TextAlign.end, - // overflow: TextOverflow.ellipsis, - // maxLines: 1, - style: TextStyle( - fontSize: 22.sp, - color: AppColors.darkGrayTextColor), - ) + rightTitle ?? "", + textAlign: TextAlign.end, + // overflow: TextOverflow.ellipsis, + // maxLines: 1, + style: TextStyle( + fontSize: 22.sp, + color: AppColors.darkGrayTextColor), + ) ], ) ], @@ -151,7 +149,7 @@ class MassSendReceiverCell extends StatelessWidget { // 接受者信息输入框 Widget getTFWidget( - bool isHaveBtn, String tfStr, int lineIndex, LockUserData userData) { + bool isHaveBtn, String tfStr, int lineIndex, LockUserItemData userData) { return SizedBox( height: 50.h, width: 380.w, diff --git a/star_lock/lib/main/lockDetail/electronicKey/massSendElectronicKey/massSendLockGroupList/massSendReceiver/massSendReceiver_logic.dart b/star_lock/lib/main/lockDetail/electronicKey/massSendElectronicKey/massSendLockGroupList/massSendReceiver/massSendReceiver_logic.dart new file mode 100644 index 00000000..3de713fa --- /dev/null +++ b/star_lock/lib/main/lockDetail/electronicKey/massSendElectronicKey/massSendLockGroupList/massSendReceiver/massSendReceiver_logic.dart @@ -0,0 +1,20 @@ +import 'package:star_lock/main/lockDetail/electronicKey/massSendElectronicKey/massSendLockGroupList/lockUserList/lockUserList_entity.dart'; +import 'package:star_lock/main/lockDetail/electronicKey/massSendElectronicKey/massSendLockGroupList/massSendReceiver/massSendReceiver_state.dart'; +import 'package:star_lock/tools/baseGetXController.dart'; +import 'package:star_lock/tools/storage.dart'; + +class MassSendReceiverLogic extends BaseGetXController { + MassSendReceiverState state = MassSendReceiverState(); + + @override + Future onReady() async { + super.onReady(); + + LockUserItemData data = LockUserItemData(); + state.lockUserList.add(data); + + var isVip = await Storage.getBool(saveIsVip); + state.isVip.value = isVip ?? false; + state.isVip.refresh(); + } +} diff --git a/star_lock/lib/main/lockDetail/electronicKey/massSendElectronicKey/massSendLockGroupList/massSendReceiver/massSendReceiver_page.dart b/star_lock/lib/main/lockDetail/electronicKey/massSendElectronicKey/massSendLockGroupList/massSendReceiver/massSendReceiver_page.dart index 97a9de03..e3b80cb9 100644 --- a/star_lock/lib/main/lockDetail/electronicKey/massSendElectronicKey/massSendLockGroupList/massSendReceiver/massSendReceiver_page.dart +++ b/star_lock/lib/main/lockDetail/electronicKey/massSendElectronicKey/massSendLockGroupList/massSendReceiver/massSendReceiver_page.dart @@ -1,10 +1,12 @@ import 'package:flutter/material.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; -import 'package:get/utils.dart'; +import 'package:get/get.dart'; import 'package:star_lock/appRouters.dart'; import 'package:star_lock/app_settings/app_colors.dart'; -import 'package:star_lock/main/lockDetail/electronicKey/massSendElectronicKey/massSendLockGroupList/lockUserList/lockUserListEntity.dart'; +import 'package:star_lock/main/lockDetail/electronicKey/massSendElectronicKey/massSendLockGroupList/lockUserList/lockUserList_entity.dart'; import 'package:star_lock/main/lockDetail/electronicKey/massSendElectronicKey/massSendLockGroupList/massSendReceiver/massSendReceiverCell.dart'; +import 'package:star_lock/main/lockDetail/electronicKey/massSendElectronicKey/massSendLockGroupList/massSendReceiver/massSendReceiver_logic.dart'; +import 'package:star_lock/tools/advancedFunctionHandle.dart'; import 'package:star_lock/tools/commonItem.dart'; import 'package:star_lock/translations/trans_lib.dart'; @@ -18,20 +20,8 @@ class MassSendReceiverPage extends StatefulWidget { } class _MassSendReceiverPageState extends State { - late List _lockUserList = []; - TextEditingController emailOrPhoneController = TextEditingController(); - TextEditingController keyNameController = TextEditingController(); - - String countryCode = '86'; - String countryName = '中国'; - - @override - void initState() { - super.initState(); - - LockUserData data = LockUserData(); - _lockUserList.add(data); - } + final logic = Get.put(MassSendReceiverLogic()); + final state = Get.find().state; @override Widget build(BuildContext context) { @@ -57,8 +47,11 @@ class _MassSendReceiverPageState extends State { style: TextStyle(color: Colors.white, fontSize: 24.sp), ), onPressed: () { + if (!state.isVip.value) { + return; + } Map resultMap = {}; - resultMap['lockUserList'] = _lockUserList; + resultMap['lockUserList'] = state.lockUserList.value; Navigator.pop(context, resultMap); }, ), @@ -66,52 +59,60 @@ class _MassSendReceiverPageState extends State { ), body: Column( children: [ - CommonItem( - leftTitel: TranslationLoader.lanKeys!.countryAndRegion!.tr, - rightTitle: "", - isHaveLine: true, - isHaveRightWidget: true, - isHaveDirection: true, - rightWidget: Text( - '$countryName +$countryCode', - textAlign: TextAlign.end, - style: TextStyle( - fontSize: 22.sp, color: AppColors.darkGrayTextColor), - ), - action: () async { - var result = await Navigator.pushNamed( - context, Routers.selectCountryRegionPage); - if (result != null) { - result as Map; - countryCode = result['code']; - countryName = result['countryName']; - setState(() {}); - } - }, - ), - Row( - children: [controlViewTitle(0), controlViewTitle(1)], - ), + Obx(() => Visibility( + visible: state.isVip.value ? false : true, + child: AdvancedFunctionHandle() + .topTipsAdvancedFeatures('开通高级功能后才可以选择和添加接收者'.tr))), + Obx(() => Visibility( + visible: state.isVip.value ? true : false, + child: CommonItem( + leftTitel: TranslationLoader.lanKeys!.countryAndRegion!.tr, + rightTitle: "", + isHaveLine: true, + isHaveRightWidget: true, + isHaveDirection: true, + rightWidget: Text( + '${state.countryName.value} +${state.countryCode.value}', + textAlign: TextAlign.end, + style: TextStyle( + fontSize: 22.sp, color: AppColors.darkGrayTextColor), + ), + action: () async { + var result = await Navigator.pushNamed( + context, Routers.selectCountryRegionPage); + if (result != null) { + result as Map; + state.countryCode.value = result['code']; + state.countryName.value = result['countryName']; + setState(() {}); + } + }, + ))), + Obx(() => Row( + children: [controlViewTitle(0), controlViewTitle(1)], + )), SizedBox( height: 2.h, ), - Expanded( - child: ListView.separated( - itemBuilder: (BuildContext context, int index) { - LockUserData data = _lockUserList[index]; - emailOrPhoneController.text = data.userid ?? ''; - keyNameController.text = data.nickname ?? ''; + Obx(() => Visibility( + visible: state.isVip.value ? true : false, + child: Expanded( + child: ListView.separated( + itemBuilder: (BuildContext context, int index) { + LockUserItemData data = state.lockUserList.value[index]; + state.emailOrPhoneController.text = data.userid ?? ''; + state.keyNameController.text = data.nickname ?? ''; - return _itemBuilder(index, data); - }, - itemCount: _lockUserList.length, - separatorBuilder: (BuildContext context, int index) { - return Divider( - height: 20.h, - color: AppColors.greyBackgroundColor, - ); - }, - )), + return _itemBuilder(index, data); + }, + itemCount: state.lockUserList.value.length, + separatorBuilder: (BuildContext context, int index) { + return Divider( + height: 20.h, + color: AppColors.greyBackgroundColor, + ); + }, + )))), ], ), ); @@ -130,7 +131,9 @@ class _MassSendReceiverPageState extends State { mainAxisAlignment: MainAxisAlignment.center, children: [ Image.asset( - 'images/icon_btn_add.png', + state.isVip.value + ? 'images/icon_btn_add.png' + : 'images/icon_btn_disableAdd.png', width: 28.w, height: 28.w, ), @@ -140,7 +143,9 @@ class _MassSendReceiverPageState extends State { Text( btnIndex == 0 ? '已有' : '新增', style: TextStyle( - color: AppColors.mainColor, + color: state.isVip.value + ? AppColors.mainColor + : AppColors.placeholderTextColor, fontSize: 24.sp, fontWeight: FontWeight.bold), ) @@ -148,32 +153,35 @@ class _MassSendReceiverPageState extends State { ), ), onTap: () async { + if (!state.isVip.value) { + return; + } if (btnIndex == 0) { //已有 Navigator.pushNamed(context, Routers.lockUserListPage).then((val) { if (val != null) { val as Map; - _lockUserList = val['lockUserList']; + state.lockUserList.value = val['lockUserList']; setState(() {}); } }); } else if (btnIndex == 1) { //新增 - _lockUserList.add(LockUserData()); + state.lockUserList.value.add(LockUserItemData()); setState(() {}); } }, ); } - Widget _itemBuilder(int index, LockUserData userData) { + Widget _itemBuilder(int index, LockUserItemData userData) { return MassSendReceiverCell( index, currentIndex: index, userData: userData, clickDeleteUser: () { - _lockUserList.removeAt(index - 1); + state.lockUserList.value.removeAt(index - 1); setState(() {}); }, ); diff --git a/star_lock/lib/main/lockDetail/electronicKey/massSendElectronicKey/massSendLockGroupList/massSendReceiver/massSendReceiver_state.dart b/star_lock/lib/main/lockDetail/electronicKey/massSendElectronicKey/massSendLockGroupList/massSendReceiver/massSendReceiver_state.dart new file mode 100644 index 00000000..80b8288b --- /dev/null +++ b/star_lock/lib/main/lockDetail/electronicKey/massSendElectronicKey/massSendLockGroupList/massSendReceiver/massSendReceiver_state.dart @@ -0,0 +1,13 @@ +import 'package:flutter/widgets.dart'; +import 'package:get/get.dart'; +import 'package:star_lock/main/lockDetail/electronicKey/massSendElectronicKey/massSendLockGroupList/lockUserList/lockUserList_entity.dart'; + +class MassSendReceiverState { + var isVip = false.obs; + var lockUserList = [].obs; + TextEditingController emailOrPhoneController = TextEditingController(); + TextEditingController keyNameController = TextEditingController(); + + var countryCode = '86'.obs; + var countryName = '中国'.obs; +} diff --git a/star_lock/lib/main/lockDetail/messageWarn/addFamily/addFamily_page.dart b/star_lock/lib/main/lockDetail/messageWarn/addFamily/addFamily_page.dart index 1680e90e..1776822a 100644 --- a/star_lock/lib/main/lockDetail/messageWarn/addFamily/addFamily_page.dart +++ b/star_lock/lib/main/lockDetail/messageWarn/addFamily/addFamily_page.dart @@ -4,7 +4,7 @@ import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:get/get.dart'; import 'package:star_lock/appRouters.dart'; import 'package:star_lock/main/lockDetail/messageWarn/addFamily/addFamily_logic.dart'; -import 'package:star_lock/tools/advancedFunctionAlert.dart'; +import 'package:star_lock/tools/advancedFunctionHandle.dart'; import 'package:star_lock/tools/commonItem.dart'; import 'package:star_lock/tools/showTFView.dart'; import 'package:star_lock/tools/storage.dart'; diff --git a/star_lock/lib/main/lockDetail/messageWarn/msgNotification/coerceOpenDoor/coerceFingerprint/coerceFingerprint_page.dart b/star_lock/lib/main/lockDetail/messageWarn/msgNotification/coerceOpenDoor/coerceFingerprint/coerceFingerprint_page.dart index 974e6de5..0fac4e9c 100644 --- a/star_lock/lib/main/lockDetail/messageWarn/msgNotification/coerceOpenDoor/coerceFingerprint/coerceFingerprint_page.dart +++ b/star_lock/lib/main/lockDetail/messageWarn/msgNotification/coerceOpenDoor/coerceFingerprint/coerceFingerprint_page.dart @@ -3,7 +3,7 @@ import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:get/get.dart'; import 'package:star_lock/appRouters.dart'; import 'package:star_lock/main/lockDetail/messageWarn/msgNotification/coerceOpenDoor/coerceFingerprint/coerceFingerprint_logic.dart'; -import 'package:star_lock/tools/advancedFunctionAlert.dart'; +import 'package:star_lock/tools/advancedFunctionHandle.dart'; import 'package:star_lock/tools/commonItem.dart'; import 'package:star_lock/tools/storage.dart'; import 'package:star_lock/tools/submitBtn.dart'; diff --git a/star_lock/lib/main/lockDetail/messageWarn/msgNotification/lowBatteryReminder/lowBatteryReminder_page.dart b/star_lock/lib/main/lockDetail/messageWarn/msgNotification/lowBatteryReminder/lowBatteryReminder_page.dart index bad0782b..a92037e0 100644 --- a/star_lock/lib/main/lockDetail/messageWarn/msgNotification/lowBatteryReminder/lowBatteryReminder_page.dart +++ b/star_lock/lib/main/lockDetail/messageWarn/msgNotification/lowBatteryReminder/lowBatteryReminder_page.dart @@ -3,7 +3,7 @@ import 'package:flutter/material.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:get/get.dart'; import 'package:star_lock/appRouters.dart'; -import 'package:star_lock/tools/advancedFunctionAlert.dart'; +import 'package:star_lock/tools/advancedFunctionHandle.dart'; import 'package:star_lock/tools/commonItem.dart'; import 'package:star_lock/tools/storage.dart'; import 'package:star_lock/tools/submitBtn.dart'; diff --git a/star_lock/lib/main/lockDetail/messageWarn/msgNotification/nDaysUnopened/nDaysUnopened_page.dart b/star_lock/lib/main/lockDetail/messageWarn/msgNotification/nDaysUnopened/nDaysUnopened_page.dart index 653a6b40..9211b19a 100644 --- a/star_lock/lib/main/lockDetail/messageWarn/msgNotification/nDaysUnopened/nDaysUnopened_page.dart +++ b/star_lock/lib/main/lockDetail/messageWarn/msgNotification/nDaysUnopened/nDaysUnopened_page.dart @@ -4,7 +4,7 @@ import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:get/get.dart'; import 'package:star_lock/appRouters.dart'; import 'package:star_lock/main/lockDetail/messageWarn/msgNotification/msgNotification/msgNotification_entity.dart'; -import 'package:star_lock/tools/advancedFunctionAlert.dart'; +import 'package:star_lock/tools/advancedFunctionHandle.dart'; import 'package:star_lock/tools/commonItem.dart'; import 'package:star_lock/tools/pickers/pickers.dart'; import 'package:star_lock/tools/pickers/style/default_style.dart'; diff --git a/star_lock/lib/main/lockDetail/passwordKey/passwordKey_perpetual/passwordKey_perpetual_state.dart b/star_lock/lib/main/lockDetail/passwordKey/passwordKey_perpetual/passwordKey_perpetual_state.dart index e9867c2e..bee68904 100644 --- a/star_lock/lib/main/lockDetail/passwordKey/passwordKey_perpetual/passwordKey_perpetual_state.dart +++ b/star_lock/lib/main/lockDetail/passwordKey/passwordKey_perpetual/passwordKey_perpetual_state.dart @@ -1,6 +1,4 @@ - import 'package:flutter/material.dart'; -import 'package:flutter/widgets.dart'; import 'package:get/get.dart'; import 'package:star_lock/main/lockMian/entity/lockListInfo_entity.dart'; import 'package:star_lock/tools/dateTool.dart'; @@ -14,10 +12,10 @@ class PasswordKeyPerpetualState { final isPermanent = true.obs; //是否永久 var getPwdStr = ''.obs; var pwdNameStr = ''; - final isAdministrator = false.obs;// 是否是管理员 + final isAdministrator = false.obs; // 是否是管理员 var beginTime = DateTool().getNowDateWithType(3).obs; //默认为当前时间 开始时间 - var endTime = DateTool().getNowDateWithType(3).obs;//默认为当前时间 结束时间 + var endTime = DateTool().getNowDateWithType(3).obs; //默认为当前时间 结束时间 var loopEffectiveDate = DateTool().getNowDateWithType(7).obs; //生效时间 var loopFailureDate = DateTool().getNowDateWithType(7).obs; //失效时间 @@ -26,23 +24,22 @@ class PasswordKeyPerpetualState { var loopModeStr = '周末'.obs; //循环模式 var customBeginTime = DateTool().getNowDateWithType(2).obs; //默认为当前时间 开始时间 - var customEndTime = DateTool().getNowDateWithType(2).obs;//默认为当前时间 结束时间 + var customEndTime = DateTool().getNowDateWithType(2).obs; //默认为当前时间 结束时间 final widgetType = 0.obs; final sendSucceedType = 0.obs; final keyInfo = LockListInfoItemEntity().obs; var ifCurrentScreen = true.obs; // 是否是当前界面,用于判断是否需要针对当前界面进行展示 - var sureBtnState = 0.obs;// 0普通状态(可用) 1连接中(不可用) + var sureBtnState = 0.obs; // 0普通状态(可用) 1连接中(不可用) - var pwdNumber = 0.obs;// 密码编号 + var pwdNumber = 0.obs; // 密码编号 late TabController tabController; PasswordKeyPerpetualState() { Map map = Get.arguments; - if(map["keyInfo"] != null){ + if (map["keyInfo"] != null) { keyInfo.value = map["keyInfo"]; - } } } diff --git a/star_lock/lib/mine/mineSet/lockUserManage/lockUserManageList/lockUserManageList_logic.dart b/star_lock/lib/mine/mineSet/lockUserManage/lockUserManageList/lockUserManageList_logic.dart index cd7057ee..ba999e85 100644 --- a/star_lock/lib/mine/mineSet/lockUserManage/lockUserManageList/lockUserManageList_logic.dart +++ b/star_lock/lib/mine/mineSet/lockUserManage/lockUserManageList/lockUserManageList_logic.dart @@ -4,7 +4,7 @@ import 'dart:async'; import 'package:flutter_easyloading/flutter_easyloading.dart'; import 'package:get/get.dart'; -import '../../../../main/lockDetail/electronicKey/massSendElectronicKey/massSendLockGroupList/lockUserList/lockUserListEntity.dart'; +import '../../../../main/lockDetail/electronicKey/massSendElectronicKey/massSendLockGroupList/lockUserList/lockUserList_entity.dart'; import '../../../../network/api_repository.dart'; import '../../../../tools/baseGetXController.dart'; import '../../../../tools/eventBusEventManage.dart'; diff --git a/star_lock/lib/mine/mineSet/lockUserManage/lockUserManageList/lockUserManageList_page.dart b/star_lock/lib/mine/mineSet/lockUserManage/lockUserManageList/lockUserManageList_page.dart index 0cc01d0c..9b0754e0 100644 --- a/star_lock/lib/mine/mineSet/lockUserManage/lockUserManageList/lockUserManageList_page.dart +++ b/star_lock/lib/mine/mineSet/lockUserManage/lockUserManageList/lockUserManageList_page.dart @@ -2,7 +2,7 @@ import 'package:flutter/material.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:flutter_slidable/flutter_slidable.dart'; import 'package:get/get.dart'; -import 'package:star_lock/main/lockDetail/electronicKey/massSendElectronicKey/massSendLockGroupList/lockUserList/lockUserListEntity.dart'; +import 'package:star_lock/main/lockDetail/electronicKey/massSendElectronicKey/massSendLockGroupList/lockUserList/lockUserList_entity.dart'; import 'package:star_lock/tools/noData.dart'; import '../../../../../appRouters.dart'; @@ -26,8 +26,8 @@ class _LockUserManageListPageState extends State { final state = Get.find().state; Future getHttpData() async { - logic.lockUserListRequest().then((LockUserListEntity value){ - if(mounted) setState(() {}); + logic.lockUserListRequest().then((LockUserListEntity value) { + if (mounted) setState(() {}); }); } @@ -59,11 +59,11 @@ class _LockUserManageListPageState extends State { ], ), body: EasyRefreshTool( - onRefresh: (){ + onRefresh: () { logic.pageNo = 1; getHttpData(); }, - onLoad: (){ + onLoad: () { getHttpData(); }, child: Column( @@ -112,21 +112,26 @@ class _LockUserManageListPageState extends State { Widget _buildMainUI() { return state.dataList.isEmpty - ? NoData(noDataHeight: 1.sh - ScreenUtil().statusBarHeight - ScreenUtil().bottomBarHeight - 190.h - 64.h) + ? NoData( + noDataHeight: 1.sh - + ScreenUtil().statusBarHeight - + ScreenUtil().bottomBarHeight - + 190.h - + 64.h) : SlidableAutoCloseBehavior( - child: ListView.separated( + child: ListView.separated( itemCount: state.dataList.length, itemBuilder: (c, index) { - LockUserData indexEntity = state.dataList[index]; + LockUserItemData indexEntity = state.dataList[index]; if (index < state.dataList.length) { return Slidable( - key:ValueKey(indexEntity.uid), + key: ValueKey(indexEntity.uid), endActionPane: ActionPane( extentRatio: 0.2, motion: const ScrollMotion(), children: [ SlidableAction( - onPressed: (BuildContext context){ + onPressed: (BuildContext context) { showIosTipViewDialog(context, indexEntity); }, backgroundColor: Colors.red, @@ -149,10 +154,10 @@ class _LockUserManageListPageState extends State { ); }, ), - ); + ); } - Widget _electronicKeyItem(LockUserData itemData) { + Widget _electronicKeyItem(LockUserItemData itemData) { return GestureDetector( onTap: () { Navigator.pushNamed(context, Routers.ownedKeyListPage, @@ -220,7 +225,8 @@ class _LockUserManageListPageState extends State { ); } - void showIosTipViewDialog(BuildContext context, LockUserData lockUserData) { + void showIosTipViewDialog( + BuildContext context, LockUserItemData lockUserData) { showDialog( context: context, builder: (BuildContext context) { @@ -235,8 +241,6 @@ class _LockUserManageListPageState extends State { Get.back(); }, ); - } - ); + }); } - } diff --git a/star_lock/lib/mine/mineSet/lockUserManage/lockUserManageList/lockUserManageList_state.dart b/star_lock/lib/mine/mineSet/lockUserManage/lockUserManageList/lockUserManageList_state.dart index e3f06885..296f79ee 100644 --- a/star_lock/lib/mine/mineSet/lockUserManage/lockUserManageList/lockUserManageList_state.dart +++ b/star_lock/lib/mine/mineSet/lockUserManage/lockUserManageList/lockUserManageList_state.dart @@ -1,11 +1,9 @@ - import 'package:flutter/material.dart'; import 'package:get/get.dart'; -import '../../../../main/lockDetail/electronicKey/massSendElectronicKey/massSendLockGroupList/lockUserList/lockUserListEntity.dart'; +import '../../../../main/lockDetail/electronicKey/massSendElectronicKey/massSendLockGroupList/lockUserList/lockUserList_entity.dart'; class LockUserManageListState { - final dataList = [].obs; + final dataList = [].obs; final TextEditingController searchController = TextEditingController(); - -} \ No newline at end of file +} diff --git a/star_lock/lib/network/api_repository.dart b/star_lock/lib/network/api_repository.dart index 79fe0661..59175b4d 100644 --- a/star_lock/lib/network/api_repository.dart +++ b/star_lock/lib/network/api_repository.dart @@ -3,7 +3,7 @@ import 'package:star_lock/login/selectCountryRegion/common/countryRegionEntity.d import 'package:star_lock/main/lockDetail/doorLockLog/doorLockLog_entity.dart'; import 'package:star_lock/main/lockDetail/electronicKey/electronicKeyDetail/keyOperationRecord/keyOperationRecord_entity.dart'; import 'package:star_lock/main/lockDetail/electronicKey/electronicKeyList/entity/ElectronicKeyListEntity.dart'; -import 'package:star_lock/main/lockDetail/electronicKey/massSendElectronicKey/massSendLockGroupList/lockUserList/lockUserListEntity.dart'; +import 'package:star_lock/main/lockDetail/electronicKey/massSendElectronicKey/massSendLockGroupList/lockUserList/lockUserList_entity.dart'; import 'package:star_lock/main/lockDetail/electronicKey/massSendElectronicKey/massSendLockGroupList/massSendLockGroupListEntity.dart'; import 'package:star_lock/main/lockDetail/face/addFace/addFace_entity.dart'; import 'package:star_lock/main/lockDetail/lockSet/basicInformation/basicInformation/KeyDetailEntity.dart'; diff --git a/star_lock/lib/tools/advancedFunctionAlert.dart b/star_lock/lib/tools/advancedFunctionHandle.dart similarity index 56% rename from star_lock/lib/tools/advancedFunctionAlert.dart rename to star_lock/lib/tools/advancedFunctionHandle.dart index cdcd803a..c41a0fcf 100644 --- a/star_lock/lib/tools/advancedFunctionAlert.dart +++ b/star_lock/lib/tools/advancedFunctionHandle.dart @@ -1,4 +1,5 @@ import 'package:flutter/cupertino.dart'; +import 'package:flutter/material.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:get/get.dart'; import 'package:star_lock/appRouters.dart'; @@ -43,4 +44,42 @@ class AdvancedFunctionHandle { ); }); } + + //高级功能顶部提示框 + Widget topTipsAdvancedFeatures(String tipsText) { + return Container( + color: AppColors.vipFeatureBgColor, + padding: EdgeInsets.only(left: 20.w), + height: 80.h, + child: Row( + children: [ + Text(tipsText, + style: TextStyle( + color: AppColors.vipFeatureBtnTextColor, fontSize: 22.sp)), + SizedBox( + width: 10.w, + ), + SizedBox( + width: 146.w, + height: 46.h, + child: ElevatedButton( + style: ElevatedButton.styleFrom( + backgroundColor: AppColors.vipFeatureBtnBgColor, + ), + onPressed: () { + Get.toNamed(Routers.advancedFeaturesWebPage); + }, + child: Text( + '去开通'.tr, + style: TextStyle(color: Colors.white, fontSize: 22.sp), + )), + ), + Expanded( + child: SizedBox( + width: 2.w, + )) + ], + ), + ); + } }