人脸模块新增管理员标志

This commit is contained in:
Daisy 2024-03-14 15:22:19 +08:00
parent f2e7478010
commit 5ff2988cb5
8 changed files with 74 additions and 45 deletions

View File

@ -242,6 +242,7 @@ class AddFaceLogic extends BaseGetXController {
featureData: state.featureData.value,
addType: state.addType.value,
cyclicConfig: state.cyclicConfig.value,
faceRight: state.isAdministrator.value == true ? 1 : 0,
);
if (entity.errorCode!.codeIsSuccessful) {
@ -263,7 +264,8 @@ class AddFaceLogic extends BaseGetXController {
showToast("添加成功");
if (state.fromType.value == 2) {
//
eventBus.fire(ChickInAddStaffCardAndFingerprintBlockNumberEvent(state.faceNumber.value));
eventBus.fire(ChickInAddStaffCardAndFingerprintBlockNumberEvent(
state.faceNumber.value));
} else if (state.fromType.value == 1) {
eventBus.fire(OtherTypeRefreshListEvent());
}

View File

@ -19,6 +19,7 @@ class AddFaceState {
final fromType = 1.obs;
final featureData = ''.obs;
final isClickAddFace = false.obs;
final isAdministrator = false.obs;
AddFaceState() {
Map map = Get.arguments;
@ -31,5 +32,6 @@ class AddFaceState {
lockId.value = map["lockId"];
cyclicConfig.value = map["cyclicConfig"];
fromType.value = map["fromType"];
isAdministrator.value = map["isAdministrator"];
}
}

View File

@ -82,6 +82,7 @@ class AddFaceTypeLogic extends BaseGetXController {
"startDate": int.parse(startDate),
"cyclicConfig": state.weekdaysList.value,
"fromType": state.fromType.value,
"isAdministrator": state.isAdministrator.value,
});
}

View File

@ -1,3 +1,4 @@
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:get/get.dart';
@ -20,10 +21,10 @@ class AddFaceTypePage extends StatefulWidget {
const AddFaceTypePage(
{Key? key,
required this.selectType,
required this.lockId,
required this.fromType,
required this.fromTypeTwoStaffName})
required this.selectType,
required this.lockId,
required this.fromType,
required this.fromTypeTwoStaffName})
: super(key: key);
@override
@ -70,7 +71,6 @@ class _AddFaceTypePageState extends State<AddFaceTypePage> {
TranslationLoader.lanKeys!.pleaseEnter!.tr,
state.nameController),
keyTimeLimitWidget(),
SizedBox(height: 10.h),
keyBottomWidget()
],
);
@ -137,16 +137,12 @@ class _AddFaceTypePageState extends State<AddFaceTypePage> {
action: () async {
Pickers.showDatePicker(context, mode: DateMode.YMDHM,
onConfirm: (p) {
setState(() {
setState(() {
state.beginTime.value =
'${p.year}-${p.month!.toString().padLeft(2, '0')}-${p.day!.toString().padLeft(2, '0')} ${p.hour!.toString().padLeft(2, '0')}:${p.minute!.toString().padLeft(2, '0')}';
state.beginTimeTimestamp.value =
DateTime.parse(state.beginTime.value)
.millisecondsSinceEpoch
.toString();
});
});
state.beginTime.value =
'${p.year}-${p.month!.toString().padLeft(2, '0')}-${p.day!.toString().padLeft(2, '0')} ${p.hour!.toString().padLeft(2, '0')}:${p.minute!.toString().padLeft(2, '0')}';
state.beginTimeTimestamp.value =
DateTime.parse(state.beginTime.value)
.millisecondsSinceEpoch
.toString();
});
})),
Obx(() => CommonItem(
@ -156,16 +152,12 @@ class _AddFaceTypePageState extends State<AddFaceTypePage> {
action: () {
Pickers.showDatePicker(context, mode: DateMode.YMDHM,
onConfirm: (p) {
setState(() {
setState(() {
state.endTime.value =
'${p.year}-${p.month!.toString().padLeft(2, '0')}-${p.day!.toString().padLeft(2, '0')} ${p.hour!.toString().padLeft(2, '0')}:${p.minute!.toString().padLeft(2, '0')}';
state.endTimeTimestamp.value =
DateTime.parse(state.endTime.value)
.millisecondsSinceEpoch
.toString();
});
});
state.endTime.value =
'${p.year}-${p.month!.toString().padLeft(2, '0')}-${p.day!.toString().padLeft(2, '0')} ${p.hour!.toString().padLeft(2, '0')}:${p.minute!.toString().padLeft(2, '0')}';
state.endTimeTimestamp.value =
DateTime.parse(state.endTime.value)
.millisecondsSinceEpoch
.toString();
});
})),
Container(height: 10.h),
@ -183,6 +175,13 @@ class _AddFaceTypePageState extends State<AddFaceTypePage> {
// isHaveRightWidget: true,
// rightWidget: SizedBox(
// width: 60.w, height: 50.h, child: _isStressFingerprint())),
CommonItem(
leftTitel: "是否是管理员",
rightTitle: "",
isTipsImg: false,
isHaveRightWidget: true,
rightWidget: SizedBox(
width: 60.w, height: 50.h, child: Obx(() => _isAdmin()))),
SizedBox(height: 30.h),
SubmitBtn(
btnName: TranslationLoader.lanKeys!.next!.tr,
@ -305,4 +304,17 @@ class _AddFaceTypePageState extends State<AddFaceTypePage> {
),
);
}
//
CupertinoSwitch _isAdmin() {
return CupertinoSwitch(
activeColor: CupertinoColors.activeBlue,
trackColor: CupertinoColors.systemGrey5,
thumbColor: CupertinoColors.white,
value: state.isAdministrator.value,
onChanged: (value) {
state.isAdministrator.value = value;
},
);
}
}

View File

@ -7,6 +7,7 @@ class AddFaceTypeState {
final fromType = 1.obs; // // 1 2
var fromTypeTwoStaffName = "".obs; //
final isStressFingerprint = false.obs;
final isAdministrator = false.obs; //
var beginTime = "".obs; //
var endTime = "".obs; //

View File

@ -91,6 +91,7 @@ class FingerprintItemData {
int? faceType;
List? cyclicConfig;
String? featureData;
int? faceRight;
FingerprintItemData(
{this.fingerprintStatus,
@ -119,7 +120,8 @@ class FingerprintItemData {
this.addType,
this.faceType,
this.cyclicConfig,
this.featureData});
this.featureData,
this.faceRight});
FingerprintItemData.fromJson(Map<String, dynamic> json) {
fingerprintStatus = json['fingerprintStatus'];
@ -149,6 +151,7 @@ class FingerprintItemData {
faceType = json['faceType'];
cyclicConfig = json['cyclicConfig'];
featureData = json['featureData'];
faceRight = json['faceRight'];
}
Map<String, dynamic> toJson() {
@ -180,6 +183,7 @@ class FingerprintItemData {
data['faceType'] = faceType;
data['cyclicConfig'] = cyclicConfig;
data['featureData'] = featureData;
data['faceRight'] = faceRight;
return data;
}

View File

@ -1059,6 +1059,7 @@ class ApiProvider extends BaseProvider {
String featureData,
String addType,
List cyclicConfig,
int faceRight,
) =>
post(
addFaceURL.toUrl,
@ -1072,6 +1073,7 @@ class ApiProvider extends BaseProvider {
'featureData': featureData,
'addType': addType,
'cyclicConfig': cyclicConfig,
'faceRight': faceRight
}));
//
@ -1267,11 +1269,7 @@ class ApiProvider extends BaseProvider {
//
Future<Response> removeBrokenLockData(List lockIdList) =>
post(
removeBadLockURL.toUrl,
jsonEncode({
'lockIds': lockIdList
}));
post(removeBadLockURL.toUrl, jsonEncode({'lockIds': lockIdList}));
Future<Response> listLockByGroup(String type, String keyGroupId) => post(
listLockByGroupURL.toUrl,

View File

@ -1193,19 +1193,28 @@ class ApiRepository {
}
//
Future<AddFaceEntity> addFaceData({
required int lockId,
required String faceName,
required String faceNumber,
required int faceType,
required int startDate,
required int endDate,
required String featureData,
required String addType,
required List cyclicConfig,
}) async {
final res = await apiProvider.addFaceData(lockId, faceName, faceNumber,
faceType, startDate, endDate, featureData, addType, cyclicConfig);
Future<AddFaceEntity> addFaceData(
{required int lockId,
required String faceName,
required String faceNumber,
required int faceType,
required int startDate,
required int endDate,
required String featureData,
required String addType,
required List cyclicConfig,
required int faceRight}) async {
final res = await apiProvider.addFaceData(
lockId,
faceName,
faceNumber,
faceType,
startDate,
endDate,
featureData,
addType,
cyclicConfig,
faceRight);
return AddFaceEntity.fromJson(res.body);
}