diff --git a/star_lock/lib/main/lockDetail/face/addFace/addFace_logic.dart b/star_lock/lib/main/lockDetail/face/addFace/addFace_logic.dart index 92ecfc40..a74ea033 100644 --- a/star_lock/lib/main/lockDetail/face/addFace/addFace_logic.dart +++ b/star_lock/lib/main/lockDetail/face/addFace/addFace_logic.dart @@ -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()); } diff --git a/star_lock/lib/main/lockDetail/face/addFace/addFace_state.dart b/star_lock/lib/main/lockDetail/face/addFace/addFace_state.dart index 37d0b763..db600559 100644 --- a/star_lock/lib/main/lockDetail/face/addFace/addFace_state.dart +++ b/star_lock/lib/main/lockDetail/face/addFace/addFace_state.dart @@ -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"]; } } diff --git a/star_lock/lib/main/lockDetail/face/addFaceType/addFaceType_logic.dart b/star_lock/lib/main/lockDetail/face/addFaceType/addFaceType_logic.dart index 2ef47628..539e0651 100644 --- a/star_lock/lib/main/lockDetail/face/addFaceType/addFaceType_logic.dart +++ b/star_lock/lib/main/lockDetail/face/addFaceType/addFaceType_logic.dart @@ -82,6 +82,7 @@ class AddFaceTypeLogic extends BaseGetXController { "startDate": int.parse(startDate), "cyclicConfig": state.weekdaysList.value, "fromType": state.fromType.value, + "isAdministrator": state.isAdministrator.value, }); } diff --git a/star_lock/lib/main/lockDetail/face/addFaceType/addFaceType_page.dart b/star_lock/lib/main/lockDetail/face/addFaceType/addFaceType_page.dart index eaad2544..cb220a9c 100644 --- a/star_lock/lib/main/lockDetail/face/addFaceType/addFaceType_page.dart +++ b/star_lock/lib/main/lockDetail/face/addFaceType/addFaceType_page.dart @@ -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 { TranslationLoader.lanKeys!.pleaseEnter!.tr, state.nameController), keyTimeLimitWidget(), - SizedBox(height: 10.h), keyBottomWidget() ], ); @@ -137,16 +137,12 @@ class _AddFaceTypePageState extends State { 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 { 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 { // 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 { ), ); } + + // 是否是管理员 + CupertinoSwitch _isAdmin() { + return CupertinoSwitch( + activeColor: CupertinoColors.activeBlue, + trackColor: CupertinoColors.systemGrey5, + thumbColor: CupertinoColors.white, + value: state.isAdministrator.value, + onChanged: (value) { + state.isAdministrator.value = value; + }, + ); + } } diff --git a/star_lock/lib/main/lockDetail/face/addFaceType/addFaceType_state.dart b/star_lock/lib/main/lockDetail/face/addFaceType/addFaceType_state.dart index 8af55b3b..412ed2d0 100644 --- a/star_lock/lib/main/lockDetail/face/addFaceType/addFaceType_state.dart +++ b/star_lock/lib/main/lockDetail/face/addFaceType/addFaceType_state.dart @@ -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; // 结束时间 diff --git a/star_lock/lib/main/lockDetail/fingerprint/fingerprintList/fingerprintListData_entity.dart b/star_lock/lib/main/lockDetail/fingerprint/fingerprintList/fingerprintListData_entity.dart index d8b14f5d..1fe16714 100644 --- a/star_lock/lib/main/lockDetail/fingerprint/fingerprintList/fingerprintListData_entity.dart +++ b/star_lock/lib/main/lockDetail/fingerprint/fingerprintList/fingerprintListData_entity.dart @@ -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 json) { fingerprintStatus = json['fingerprintStatus']; @@ -149,6 +151,7 @@ class FingerprintItemData { faceType = json['faceType']; cyclicConfig = json['cyclicConfig']; featureData = json['featureData']; + faceRight = json['faceRight']; } Map toJson() { @@ -180,6 +183,7 @@ class FingerprintItemData { data['faceType'] = faceType; data['cyclicConfig'] = cyclicConfig; data['featureData'] = featureData; + data['faceRight'] = faceRight; return data; } diff --git a/star_lock/lib/network/api_provider.dart b/star_lock/lib/network/api_provider.dart index 3dbcbcc1..61170d8e 100644 --- a/star_lock/lib/network/api_provider.dart +++ b/star_lock/lib/network/api_provider.dart @@ -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 removeBrokenLockData(List lockIdList) => - post( - removeBadLockURL.toUrl, - jsonEncode({ - 'lockIds': lockIdList - })); + post(removeBadLockURL.toUrl, jsonEncode({'lockIds': lockIdList})); Future listLockByGroup(String type, String keyGroupId) => post( listLockByGroupURL.toUrl, diff --git a/star_lock/lib/network/api_repository.dart b/star_lock/lib/network/api_repository.dart index fc41aab0..99175bdf 100644 --- a/star_lock/lib/network/api_repository.dart +++ b/star_lock/lib/network/api_repository.dart @@ -1193,19 +1193,28 @@ class ApiRepository { } // 添加人脸 - Future 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 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); }