fix:修复考勤编辑员工不会自动显示密码卡之类的信息
This commit is contained in:
parent
13d5ce9c36
commit
6019e61f3d
@ -1,22 +1,29 @@
|
||||
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<CheckingInAddStaffKeyEntity> selectKeyList);
|
||||
typedef KeyClickCallback = void Function(
|
||||
List<CheckingInAddStaffKeyEntity> selectKeyList);
|
||||
|
||||
class CheckingInAddStaffLogic extends BaseGetXController {
|
||||
CheckingInAddStaffState state = CheckingInAddStaffState();
|
||||
|
||||
// 下级界面修改成功后传递数据
|
||||
StreamSubscription? _getNumberEvent;
|
||||
|
||||
void _initLoadDataAction() {
|
||||
// 蓝牙协议通知传输跟蓝牙之外的数据传输类不一样 eventBus
|
||||
_getNumberEvent = eventBus.on<ChickInAddStaffCardAndFingerprintBlockNumberEvent>().listen((event) {
|
||||
_getNumberEvent = eventBus
|
||||
.on<ChickInAddStaffCardAndFingerprintBlockNumberEvent>()
|
||||
.listen((event) {
|
||||
state.attendanceWayNumber.value = event.number;
|
||||
isCanClickAction();
|
||||
});
|
||||
@ -30,7 +37,8 @@ class CheckingInAddStaffLogic extends BaseGetXController{
|
||||
}
|
||||
|
||||
// 当是app且没有钥匙时,直接把账号赋值给attendanceWayNumber
|
||||
if(state.appUnHaveAccount.value && state.selectPrintingMethodType.value == "1"){
|
||||
if (state.appUnHaveAccount.value &&
|
||||
state.selectPrintingMethodType.value == "1") {
|
||||
state.attendanceWayNumber.value = state.staffAccountController.text;
|
||||
}
|
||||
|
||||
@ -52,7 +60,8 @@ class CheckingInAddStaffLogic extends BaseGetXController{
|
||||
}
|
||||
}
|
||||
|
||||
// 考勤设置添加员工-选择钥匙 1为APP,2为密码,3为卡,4为指纹,返回数据中,attendanceWay分别为用户名、密码、卡号、指纹号
|
||||
// 考勤设置添加员工-选择钥匙 1为APP,2为密码,3为卡,4为指纹,返回数据中,
|
||||
// attendanceWay分别为用户名、密码、卡号、指纹号
|
||||
void addStaffSelectKey(KeyClickCallback kyClickCallback) async {
|
||||
var entity = await ApiRepository.to.addStaffSelectKeyData(
|
||||
companyId: state.companyId.value,
|
||||
@ -71,6 +80,7 @@ class CheckingInAddStaffLogic extends BaseGetXController{
|
||||
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;
|
||||
state.isCanClick.value =
|
||||
state.staffNameIsNotEmpty && state.staffAccountIsNotEmpty;
|
||||
} else {
|
||||
state.isCanClick.value = state.staffNameIsNotEmpty && state.attendanceWayNumberIsNotEmpty;
|
||||
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();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -1,4 +1,3 @@
|
||||
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:get/get.dart';
|
||||
|
||||
@ -28,9 +27,13 @@ class CheckingInAddStaffState{
|
||||
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;
|
||||
@ -42,7 +45,8 @@ class CheckingInAddStaffState{
|
||||
staffListItemData.value = map["staffListItem"];
|
||||
staffNameController.text = staffListItemData.value.staffName!;
|
||||
|
||||
selectPrintingMethodType.value = staffListItemData.value.attendanceType.toString();
|
||||
selectPrintingMethodType.value =
|
||||
staffListItemData.value.attendanceType.toString();
|
||||
switch (staffListItemData.value.attendanceType) {
|
||||
case 1:
|
||||
selectPrintingMethodStr.value = "APP";
|
||||
@ -59,16 +63,11 @@ class CheckingInAddStaffState{
|
||||
}
|
||||
|
||||
if (staffListItemData.value.attendanceWay!.isNotEmpty) {
|
||||
if(staffListItemData.value.cardStatus != 0){
|
||||
appUnHaveAccount.value = false;
|
||||
attendanceWayNumber.value = staffListItemData.value.attendanceWay!;
|
||||
} else {
|
||||
appUnHaveAccount.value = true;
|
||||
}
|
||||
}else{
|
||||
appUnHaveAccount.value = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -37,7 +37,7 @@ class CheckingInAddStaffListItemEntity {
|
||||
int? staffId;
|
||||
int? attendanceType;
|
||||
int? countryCode;
|
||||
int? cardStatus;
|
||||
int? cardStatus;//0正常 1打卡失败
|
||||
String? attendanceWay;
|
||||
String? reason;
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user