人脸模块新增管理员标志

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

View File

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

View File

@ -82,6 +82,7 @@ class AddFaceTypeLogic extends BaseGetXController {
"startDate": int.parse(startDate), "startDate": int.parse(startDate),
"cyclicConfig": state.weekdaysList.value, "cyclicConfig": state.weekdaysList.value,
"fromType": state.fromType.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/material.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';
@ -70,7 +71,6 @@ class _AddFaceTypePageState extends State<AddFaceTypePage> {
TranslationLoader.lanKeys!.pleaseEnter!.tr, TranslationLoader.lanKeys!.pleaseEnter!.tr,
state.nameController), state.nameController),
keyTimeLimitWidget(), keyTimeLimitWidget(),
SizedBox(height: 10.h),
keyBottomWidget() keyBottomWidget()
], ],
); );
@ -137,8 +137,6 @@ class _AddFaceTypePageState extends State<AddFaceTypePage> {
action: () async { action: () async {
Pickers.showDatePicker(context, mode: DateMode.YMDHM, Pickers.showDatePicker(context, mode: DateMode.YMDHM,
onConfirm: (p) { onConfirm: (p) {
setState(() {
setState(() {
state.beginTime.value = 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')}'; '${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 = state.beginTimeTimestamp.value =
@ -146,8 +144,6 @@ class _AddFaceTypePageState extends State<AddFaceTypePage> {
.millisecondsSinceEpoch .millisecondsSinceEpoch
.toString(); .toString();
}); });
});
});
})), })),
Obx(() => CommonItem( Obx(() => CommonItem(
leftTitel: TranslationLoader.lanKeys!.failureTime!.tr, leftTitel: TranslationLoader.lanKeys!.failureTime!.tr,
@ -156,8 +152,6 @@ class _AddFaceTypePageState extends State<AddFaceTypePage> {
action: () { action: () {
Pickers.showDatePicker(context, mode: DateMode.YMDHM, Pickers.showDatePicker(context, mode: DateMode.YMDHM,
onConfirm: (p) { onConfirm: (p) {
setState(() {
setState(() {
state.endTime.value = 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')}'; '${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 = state.endTimeTimestamp.value =
@ -165,8 +159,6 @@ class _AddFaceTypePageState extends State<AddFaceTypePage> {
.millisecondsSinceEpoch .millisecondsSinceEpoch
.toString(); .toString();
}); });
});
});
})), })),
Container(height: 10.h), Container(height: 10.h),
], ],
@ -183,6 +175,13 @@ class _AddFaceTypePageState extends State<AddFaceTypePage> {
// isHaveRightWidget: true, // isHaveRightWidget: true,
// rightWidget: SizedBox( // rightWidget: SizedBox(
// width: 60.w, height: 50.h, child: _isStressFingerprint())), // 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), SizedBox(height: 30.h),
SubmitBtn( SubmitBtn(
btnName: TranslationLoader.lanKeys!.next!.tr, 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 final fromType = 1.obs; // // 1 2
var fromTypeTwoStaffName = "".obs; // var fromTypeTwoStaffName = "".obs; //
final isStressFingerprint = false.obs; final isStressFingerprint = false.obs;
final isAdministrator = false.obs; //
var beginTime = "".obs; // var beginTime = "".obs; //
var endTime = "".obs; // var endTime = "".obs; //

View File

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

View File

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

View File

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