diff --git a/star_lock/lib/main/lockDetail/checkingIn/checkingInStaff/checkingInSetAddStaff/checkingInAddStaff_logic.dart b/star_lock/lib/main/lockDetail/checkingIn/checkingInStaff/checkingInSetAddStaff/checkingInAddStaff_logic.dart index ef9613a5..ab08598e 100644 --- a/star_lock/lib/main/lockDetail/checkingIn/checkingInStaff/checkingInSetAddStaff/checkingInAddStaff_logic.dart +++ b/star_lock/lib/main/lockDetail/checkingIn/checkingInStaff/checkingInSetAddStaff/checkingInAddStaff_logic.dart @@ -1,36 +1,44 @@ import 'dart:async'; +import 'dart:ffi'; import 'package:flutter/material.dart'; import 'package:get/get.dart'; +import 'package:star_lock/app_settings/app_settings.dart'; import 'package:star_lock/tools/baseGetXController.dart'; import '../../../../../network/api_repository.dart'; import '../../../../../tools/eventBusEventManage.dart'; import 'checkingInAddStaffSelectKey_entity.dart'; import 'checkingInAddStaff_state.dart'; -typedef KeyClickCallback = void Function(List selectKeyList); -class CheckingInAddStaffLogic extends BaseGetXController{ +typedef KeyClickCallback = void Function( + List selectKeyList); + +class CheckingInAddStaffLogic extends BaseGetXController { CheckingInAddStaffState state = CheckingInAddStaffState(); // 下级界面修改成功后传递数据 StreamSubscription? _getNumberEvent; + void _initLoadDataAction() { // 蓝牙协议通知传输跟蓝牙之外的数据传输类不一样 eventBus - _getNumberEvent = eventBus.on().listen((event) { - state.attendanceWayNumber.value = event.number; - isCanClickAction(); - }); + _getNumberEvent = eventBus + .on() + .listen((event) { + state.attendanceWayNumber.value = event.number; + isCanClickAction(); + }); } // 添加员工 - void addStaffLoadData() async{ + void addStaffLoadData() async { var usernameType = "1"; - if(state.appUnHaveAccount.value && state.staffAccount.contains("@")){ + if (state.appUnHaveAccount.value && state.staffAccount.contains("@")) { usernameType = "2"; } // 当是app且没有钥匙时,直接把账号赋值给attendanceWayNumber - if(state.appUnHaveAccount.value && state.selectPrintingMethodType.value == "1"){ + if (state.appUnHaveAccount.value && + state.selectPrintingMethodType.value == "1") { state.attendanceWayNumber.value = state.staffAccountController.text; } @@ -41,36 +49,38 @@ class CheckingInAddStaffLogic extends BaseGetXController{ have: state.appUnHaveAccount.value ? "2" : "1", staffName: state.staffNameController.text, countryCode: state.countryCode.value, - usernameType:usernameType, + usernameType: usernameType, ); - if(entity.errorCode!.codeIsSuccessful){ + if (entity.errorCode!.codeIsSuccessful) { eventBus.fire(RefreshCheckInSetDataEvent()); eventBus.fire(RefreshCheckInListEvent()); Get.back(result: "addScuess"); - }else if(entity.errorCode! == 425){ + } else if (entity.errorCode! == 425) { showToast(entity.errorMsg!); } } - // 考勤设置添加员工-选择钥匙 1为APP,2为密码,3为卡,4为指纹,返回数据中,attendanceWay分别为用户名、密码、卡号、指纹号 - void addStaffSelectKey(KeyClickCallback kyClickCallback) async{ + // 考勤设置添加员工-选择钥匙 1为APP,2为密码,3为卡,4为指纹,返回数据中, + // attendanceWay分别为用户名、密码、卡号、指纹号 + void addStaffSelectKey(KeyClickCallback kyClickCallback) async { var entity = await ApiRepository.to.addStaffSelectKeyData( companyId: state.companyId.value, - type:state.selectPrintingMethodType.value, + type: state.selectPrintingMethodType.value, ); - if(entity.errorCode!.codeIsSuccessful){ + if (entity.errorCode!.codeIsSuccessful) { state.keyEntity.value = entity.data!; kyClickCallback(state.keyEntity.value); } } // 编辑员工 - void editStaffLoadData() async{ + void editStaffLoadData() async { var usernameType = "1"; - if(state.appUnHaveAccount.value && state.staffAccount.contains("@")){ + if (state.appUnHaveAccount.value && state.staffAccount.contains("@")) { usernameType = "2"; } + var entity = await ApiRepository.to.editStaffData( attendanceType: state.selectPrintingMethodType.value, attendanceWay: state.attendanceWayNumber.value, @@ -126,11 +136,14 @@ class CheckingInAddStaffLogic extends BaseGetXController{ // 是否能点击 void isCanClickAction() { - if(state.selectPrintingMethodType.value == "1" && state.appUnHaveAccount.value){ + if (state.selectPrintingMethodType.value == "1" && + state.appUnHaveAccount.value) { // 没有账号的时候直接判断姓名和账号是否为空 - state.isCanClick.value = state.staffNameIsNotEmpty && state.staffAccountIsNotEmpty; - }else{ - state.isCanClick.value = state.staffNameIsNotEmpty && state.attendanceWayNumberIsNotEmpty; + state.isCanClick.value = + state.staffNameIsNotEmpty && state.staffAccountIsNotEmpty; + } else { + state.isCanClick.value = + state.staffNameIsNotEmpty && state.attendanceWayNumberIsNotEmpty; } } @@ -145,7 +158,6 @@ class CheckingInAddStaffLogic extends BaseGetXController{ @override void onInit() { - // TODO: implement onInit super.onInit(); } @@ -156,5 +168,4 @@ class CheckingInAddStaffLogic extends BaseGetXController{ _getNumberEvent!.cancel(); } - } diff --git a/star_lock/lib/main/lockDetail/checkingIn/checkingInStaff/checkingInSetAddStaff/checkingInAddStaff_state.dart b/star_lock/lib/main/lockDetail/checkingIn/checkingInStaff/checkingInSetAddStaff/checkingInAddStaff_state.dart index dd4b2bda..10f58706 100644 --- a/star_lock/lib/main/lockDetail/checkingIn/checkingInStaff/checkingInSetAddStaff/checkingInAddStaff_state.dart +++ b/star_lock/lib/main/lockDetail/checkingIn/checkingInStaff/checkingInSetAddStaff/checkingInAddStaff_state.dart @@ -1,4 +1,3 @@ - import 'package:flutter/material.dart'; import 'package:get/get.dart'; @@ -6,7 +5,7 @@ import '../../../../lockMian/entity/lockListInfo_entity.dart'; import '../checkingInSetStaffList/checkingInStaffList_entity.dart'; import 'checkingInAddStaffSelectKey_entity.dart'; -class CheckingInAddStaffState{ +class CheckingInAddStaffState { final getKeyInfosData = LockListInfoItemEntity().obs; final companyId = "".obs; final staffListItemData = CheckingInAddStaffListItemEntity().obs; @@ -14,36 +13,41 @@ class CheckingInAddStaffState{ final TextEditingController staffNameController = TextEditingController(); final TextEditingController staffAccountController = TextEditingController(); - final selectPrintingMethodType = "1".obs;// 选择打卡类型 1APP 2密码 3卡 4指纹 5人脸 - final selectPrintingMethodStr = "APP".obs;// 选择打卡类型字符串 + final selectPrintingMethodType = "1".obs; // 选择打卡类型 1APP 2密码 3卡 4指纹 5人脸 + final selectPrintingMethodStr = "APP".obs; // 选择打卡类型字符串 final countryName = "中国".tr.obs; final countryCode = "86".obs; - final appUnHaveAccount = true.obs;// 默认没有账号 - final keyEntity = [].obs;// 选择钥匙数据 + final appUnHaveAccount = true.obs; // 默认没有账号 + final keyEntity = [].obs; // 选择钥匙数据 final isAdd = "1".obs; // 1添加 2编辑 final attendanceWayNumber = "".obs; final isCanClick = false.obs; var staffName = ''.obs; var staffAccount = ''.obs; + bool get staffNameIsNotEmpty => staffName.value.isNotEmpty; + bool get staffAccountIsNotEmpty => staffAccount.value.isNotEmpty; - bool get attendanceWayNumberIsNotEmpty => attendanceWayNumber.value.isNotEmpty; + + bool get attendanceWayNumberIsNotEmpty => + attendanceWayNumber.value.isNotEmpty; CheckingInAddStaffState() { Map map = Get.arguments; - getKeyInfosData.value = map["getKeyInfosData"]; - companyId.value = map["companyId"]; + getKeyInfosData.value = map["getKeyInfosData"]; + companyId.value = map["companyId"]; isAdd.value = map["isAdd"]; - if(isAdd.value == "2"){ - staffListItemData.value = map["staffListItem"]; + if (isAdd.value == "2") { + staffListItemData.value = map["staffListItem"]; staffNameController.text = staffListItemData.value.staffName!; - selectPrintingMethodType.value = staffListItemData.value.attendanceType.toString(); - switch(staffListItemData.value.attendanceType){ + selectPrintingMethodType.value = + staffListItemData.value.attendanceType.toString(); + switch (staffListItemData.value.attendanceType) { case 1: selectPrintingMethodStr.value = "APP"; break; @@ -58,17 +62,12 @@ class CheckingInAddStaffState{ break; } - if(staffListItemData.value.attendanceWay!.isNotEmpty){ - if(staffListItemData.value.cardStatus != 0){ - appUnHaveAccount.value = false; - attendanceWayNumber.value = staffListItemData.value.attendanceWay!; - }else{ - appUnHaveAccount.value = true; - } - }else{ + if (staffListItemData.value.attendanceWay!.isNotEmpty) { + appUnHaveAccount.value = false; + attendanceWayNumber.value = staffListItemData.value.attendanceWay!; + } else { appUnHaveAccount.value = true; } } } - } diff --git a/star_lock/lib/main/lockDetail/checkingIn/checkingInStaff/checkingInSetStaffList/checkingInStaffList_entity.dart b/star_lock/lib/main/lockDetail/checkingIn/checkingInStaff/checkingInSetStaffList/checkingInStaffList_entity.dart index 46effbe5..23954119 100644 --- a/star_lock/lib/main/lockDetail/checkingIn/checkingInStaff/checkingInSetStaffList/checkingInStaffList_entity.dart +++ b/star_lock/lib/main/lockDetail/checkingIn/checkingInStaff/checkingInSetStaffList/checkingInStaffList_entity.dart @@ -37,7 +37,7 @@ class CheckingInAddStaffListItemEntity { int? staffId; int? attendanceType; int? countryCode; - int? cardStatus; + int? cardStatus;//0正常 1打卡失败 String? attendanceWay; String? reason;