Merge branch 'master' of gitee.com:starlock-cn/app-starlock
# Conflicts: # star_lock/lib/appRouters.dart # star_lock/lib/network/api_repository.dart
|
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 1.6 KiB |
|
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 1.5 KiB |
|
Before Width: | Height: | Size: 3.1 KiB After Width: | Height: | Size: 3.1 KiB |
@ -50,7 +50,7 @@
|
||||
"sendGroupKey":"Send Group Key",
|
||||
"lock":"Lock",
|
||||
"pleaseAdd":"Please Add",
|
||||
"pleaseSelet":"Please Selet",
|
||||
"pleaseSelect":"Please Select",
|
||||
"remoteUnlockingAllowed":"Remote Unlocking Allowed",
|
||||
"pleaseEnter":"Please Enter",
|
||||
"getPassword":"Get Password",
|
||||
@ -170,7 +170,7 @@
|
||||
"allDay":"All Day",
|
||||
"save":"Save",
|
||||
"normallyOpenModeTip":"During the set normal opening time, the lock will remain open after opening until it is manually closed During the set normal opening time, the lock will remain open after opening until it is manually closed",
|
||||
"pleaseSeletLockVolume":"Please Selet Lock Volume",
|
||||
"pleaseSelectLockVolume":"Please Select Lock Volume",
|
||||
"lockSoundTip":"When the function is enabled, you can hear the prompt tone of the smart lock. Including low battery, incorrect password and so on.",
|
||||
"low":"Low",
|
||||
"lower":"Lower",
|
||||
@ -282,7 +282,7 @@
|
||||
"addGateway": "Add Gateway",
|
||||
"turnThePowerBackOn": "Turn The Power Back On",
|
||||
"indicatorLight": "Indicator Light",
|
||||
"seletGatewayTypeNextTip": "Repower the gateway and click Next when the indicator light flashes alternately",
|
||||
"selectGatewayTypeNextTip": "Repower the gateway and click Next when the indicator light flashes alternately",
|
||||
"selectGateway": "Select Gateway",
|
||||
"gatewayConfigurationWifiTip": "5G WiFi network is not supported, please choose 2.4G WiFi network for configuration",
|
||||
"wifiPassward": "WiFi Passward",
|
||||
@ -325,7 +325,7 @@
|
||||
"email":"Email",
|
||||
"mobileNumber":"Mobile phone number",
|
||||
"countryAndRegion":"Country And Region",
|
||||
"selet":"Selet",
|
||||
"select":"Select",
|
||||
"getVerificationCode":"Get Verification Code",
|
||||
|
||||
"businessCooperation":"Business Cooperation",
|
||||
@ -349,7 +349,7 @@
|
||||
"customMailTemplate":"Custom Mail Template",
|
||||
"record":"Record",
|
||||
"buyRealNameTip":"When an electronic key is sent to the user, the user can be required to authenticate with his real name before unlocking to ensure that he is operating. The real-name authentication calls the interface of the national Public security system. For the payment function, please purchase the number of times before using it.",
|
||||
"buyRealNameSeletYouWantBuyTip":"Please select the frequency of real name authentication you want",
|
||||
"buyRealNameSelectYouWantBuyTip":"Please select the frequency of real name authentication you want",
|
||||
"forTheFirstTime":"For the first time",
|
||||
"onceDay":"once a day",
|
||||
"weekOnce":"once a week",
|
||||
@ -417,9 +417,9 @@
|
||||
"whetherTheEmployeeHasPassword":"If The Employee Has A Password",
|
||||
"whetherTheEmployeeHasCard":"If The Employee Has A Card",
|
||||
"whetherTheEmployeeHasFingerprint":"If The Employee Has A Fingerprint",
|
||||
"seletPassword":"Selet Password",
|
||||
"seletCard":"Selet Card",
|
||||
"seletFingerprint":"Selet Fingerprint",
|
||||
"selectPassword":"Select Password",
|
||||
"selectCard":"Select Card",
|
||||
"selectFingerprint":"Select Fingerprint",
|
||||
"getKey":"Get Key",
|
||||
"getCard":"Get Card",
|
||||
"getFingerprint":"Get Fingerprint",
|
||||
|
||||
@ -50,7 +50,7 @@
|
||||
"sendGroupKey":"sendGroupKey",
|
||||
"lock":"lock",
|
||||
"pleaseAdd":"pleaseAdd",
|
||||
"pleaseSelet":"pleaseSelet",
|
||||
"pleaseSelect":"pleaseSelect",
|
||||
"remoteUnlockingAllowed":"remoteUnlockingAllowed",
|
||||
"pleaseEnter":"pleaseEnter",
|
||||
"getPassword":"getPassword",
|
||||
@ -170,7 +170,7 @@
|
||||
"allDay":"allDay",
|
||||
"save":"save",
|
||||
"normallyOpenModeTip":"normallyOpenModeTip",
|
||||
"pleaseSeletLockVolume":"pleaseSeletLockVolume",
|
||||
"pleaseSelectLockVolume":"pleaseSelectLockVolume",
|
||||
"lockSoundTip":"lockSoundTip",
|
||||
"low":"low",
|
||||
"lower":"lower",
|
||||
@ -282,7 +282,7 @@
|
||||
"addGateway": "addGateway",
|
||||
"turnThePowerBackOn": "turnThePowerBackOn",
|
||||
"indicatorLight": "indicatorLight",
|
||||
"seletGatewayTypeNextTip": "seletGatewayTypeNextTip",
|
||||
"selectGatewayTypeNextTip": "selectGatewayTypeNextTip",
|
||||
"selectGateway": "selectGateway",
|
||||
"gatewayConfigurationWifiTip": "gatewayConfigurationWifiTip",
|
||||
"wifiPassward": "wifiPassward",
|
||||
@ -325,7 +325,7 @@
|
||||
"email":"email",
|
||||
"mobileNumber":"mobileNumber",
|
||||
"countryAndRegion":"countryAndRegion",
|
||||
"selet":"selet",
|
||||
"select":"select",
|
||||
"getVerificationCode":"getVerificationCode",
|
||||
|
||||
"businessCooperation":"businessCooperation",
|
||||
@ -349,7 +349,7 @@
|
||||
"customMailTemplate":"customMailTemplate",
|
||||
"record":"record",
|
||||
"buyRealNameTip":"buyRealNameTip",
|
||||
"buyRealNameSeletYouWantBuyTip":"buyRealNameSeletYouWantBuyTip",
|
||||
"buyRealNameSelectYouWantBuyTip":"buyRealNameSelectYouWantBuyTip",
|
||||
"forTheFirstTime":"forTheFirstTime",
|
||||
"onceDay":"onceDay",
|
||||
"weekOnce":"weekOnce",
|
||||
@ -417,9 +417,9 @@
|
||||
"whetherTheEmployeeHasPassword":"whetherTheEmployeeHasPassword",
|
||||
"whetherTheEmployeeHasCard":"whetherTheEmployeeHasCard",
|
||||
"whetherTheEmployeeHasFingerprint":"whetherTheEmployeeHasFingerprint",
|
||||
"seletPassword":"seletPassword",
|
||||
"seletCard":"seletCard",
|
||||
"seletFingerprint":"seletFingerprint",
|
||||
"selectPassword":"selectPassword",
|
||||
"selectCard":"selectCard",
|
||||
"selectFingerprint":"selectFingerprint",
|
||||
"getKey":"getKey",
|
||||
"getCard":"getCard",
|
||||
"getFingerprint":"getFingerprint",
|
||||
|
||||
@ -50,7 +50,7 @@
|
||||
"sendGroupKey":"群发钥匙",
|
||||
"lock":"锁",
|
||||
"pleaseAdd":"请添加",
|
||||
"pleaseSelet":"请选择",
|
||||
"pleaseSelect":"请选择",
|
||||
"remoteUnlockingAllowed":"允许远程开锁",
|
||||
"pleaseEnter":"请输入",
|
||||
"getPassword":"获取密码",
|
||||
@ -170,7 +170,7 @@
|
||||
"allDay":"全天",
|
||||
"save":"保存",
|
||||
"normallyOpenModeTip":"在设置的常开时间内,锁被打开后将一直处于打开的状态,直到被手动关闭",
|
||||
"pleaseSeletLockVolume":"请选择锁音量",
|
||||
"pleaseSelectLockVolume":"请选择锁音量",
|
||||
"lockSoundTip":"功能开启后,你将可以听到智能锁的提示音。包括电量过低,密码错误等提示。",
|
||||
"low":"低",
|
||||
"lower":"较低",
|
||||
@ -282,7 +282,7 @@
|
||||
"addGateway": "添加网关",
|
||||
"turnThePowerBackOn": "重新通电",
|
||||
"indicatorLight": "指示灯",
|
||||
"seletGatewayTypeNextTip": "将网关重新通电,指示灯交替闪烁时点击下一步",
|
||||
"selectGatewayTypeNextTip": "将网关重新通电,指示灯交替闪烁时点击下一步",
|
||||
"selectGateway": "选择网关",
|
||||
"gatewayConfigurationWifiTip": "不支持5G WiFi网络,请选择2.4G WiFi网络进行配置",
|
||||
"wifiPassward": "WiFi密码",
|
||||
@ -325,7 +325,7 @@
|
||||
"email":"邮箱",
|
||||
"mobileNumber":"手机号",
|
||||
"countryAndRegion":"国家/地区",
|
||||
"selet":"选择",
|
||||
"select":"选择",
|
||||
"getVerificationCode":"获取验证码",
|
||||
|
||||
"businessCooperation":"商务合作",
|
||||
@ -350,7 +350,7 @@
|
||||
"record":"记录",
|
||||
|
||||
"buyRealNameTip":"给用户发送电子钥匙时,可以要求其开锁前先进行实名认证,以保证是他本人在操作。实名认证调用国家公安系统接口,为付费功能,请购买次数后再使用。",
|
||||
"buyRealNameSeletYouWantBuyTip":"请选择你希望的实名认证频数",
|
||||
"buyRealNameSelectYouWantBuyTip":"请选择你希望的实名认证频数",
|
||||
"forTheFirstTime":"仅首次",
|
||||
"onceDay":"每日一次",
|
||||
"weekOnce":"每周一次",
|
||||
@ -420,9 +420,9 @@
|
||||
"whetherTheEmployeeHasPassword":"员工是否有密码",
|
||||
"whetherTheEmployeeHasCard":"员工是否有卡",
|
||||
"whetherTheEmployeeHasFingerprint":"员工是否有指纹",
|
||||
"seletPassword":"选择密码",
|
||||
"seletCard":"选择卡",
|
||||
"seletFingerprint":"选择指纹",
|
||||
"selectPassword":"选择密码",
|
||||
"selectCard":"选择卡",
|
||||
"selectFingerprint":"选择指纹",
|
||||
"getKey":"获取钥匙",
|
||||
"getCard":"获取卡",
|
||||
"getFingerprint":"获取指纹",
|
||||
|
||||
|
Before Width: | Height: | Size: 9.5 KiB |
BIN
star_lock/images/main/icon_lockDetail_checkInRanking_cd.png
Normal file
|
After Width: | Height: | Size: 5.1 KiB |
BIN
star_lock/images/main/icon_lockDetail_checkInRanking_qf.png
Normal file
|
After Width: | Height: | Size: 11 KiB |
BIN
star_lock/images/main/icon_lockDetail_checkInRanking_zd.png
Normal file
|
After Width: | Height: | Size: 11 KiB |
|
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 18 KiB |
|
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 22 KiB |
|
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 15 KiB |
|
Before Width: | Height: | Size: 471 KiB After Width: | Height: | Size: 471 KiB |
|
Before Width: | Height: | Size: 350 KiB After Width: | Height: | Size: 350 KiB |
|
Before Width: | Height: | Size: 7.4 KiB After Width: | Height: | Size: 7.4 KiB |
|
Before Width: | Height: | Size: 6.7 KiB After Width: | Height: | Size: 6.7 KiB |
@ -63,7 +63,7 @@ PODS:
|
||||
- Flutter
|
||||
- google_maps_flutter_ios (0.0.1):
|
||||
- Flutter
|
||||
- GoogleMaps (< 9.0)
|
||||
- GoogleMaps (< 8.0)
|
||||
- GoogleMaps (6.2.1):
|
||||
- GoogleMaps/Maps (= 6.2.1)
|
||||
- GoogleMaps/Base (6.2.1)
|
||||
@ -85,7 +85,7 @@ PODS:
|
||||
- FlutterMacOS
|
||||
- permission_handler_apple (9.1.1):
|
||||
- Flutter
|
||||
- Protobuf (3.25.1)
|
||||
- Protobuf (3.25.0)
|
||||
- ReachabilitySwift (5.0.0)
|
||||
- reactive_ble_mobile (0.0.1):
|
||||
- Flutter
|
||||
@ -97,7 +97,7 @@ PODS:
|
||||
- sqflite (0.0.3):
|
||||
- Flutter
|
||||
- FMDB (>= 2.7.5)
|
||||
- SwiftProtobuf (1.25.2)
|
||||
- SwiftProtobuf (1.25.1)
|
||||
- Toast (4.0.0)
|
||||
- url_launcher_ios (0.0.1):
|
||||
- Flutter
|
||||
@ -241,7 +241,7 @@ SPEC CHECKSUMS:
|
||||
audio_session: 4f3e461722055d21515cf3261b64c973c062f345
|
||||
audioplayers_darwin: 877d9a4d06331c5c374595e46e16453ac7eafa40
|
||||
auto_orientation: 102ed811a5938d52c86520ddd7ecd3a126b5d39d
|
||||
camera_avfoundation: 8b8d780bcfb6a4a02b0fbe2b4bd17b5b71946e68
|
||||
camera_avfoundation: 3125e8cd1a4387f6f31c6c63abb8a55892a9eeeb
|
||||
connectivity_plus: bf0076dd84a130856aa636df1c71ccaff908fa1d
|
||||
device_info_plus: e5c5da33f982a436e103237c0c85f9031142abed
|
||||
EMASRest: 8df6f87836767a9415ad5cc4af739bc9d215b475
|
||||
@ -251,30 +251,30 @@ SPEC CHECKSUMS:
|
||||
flutter_sound: c60effa2a350fb977885f0db2fbc4c1ad5160900
|
||||
flutter_sound_core: 26c10e5832e76aaacfae252d8925232281c486ae
|
||||
flutter_voice_processor: 53afbf59ad3feb82f4a379fea9ed8dc98495210f
|
||||
fluttertoast: 31b00dabfa7fb7bacd9e7dbee580d7a2ff4bf265
|
||||
fluttertoast: fafc4fa4d01a6a9e4f772ecd190ffa525e9e2d9c
|
||||
FMDB: 2ce00b547f966261cd18927a3ddb07cb6f3db82a
|
||||
g711_flutter: 8f2769052d2cf3549f83d11e1c42d81d94441123
|
||||
google_maps_flutter_ios: d1318b4ff711612cab16862d7a87e31a7403d458
|
||||
google_maps_flutter_ios: abdac20d6ce8931f6ebc5f46616df241bfaa2cfd
|
||||
GoogleMaps: 20d7b12be49a14287f797e88e0e31bc4156aaeb4
|
||||
image_gallery_saver: cb43cc43141711190510e92c460eb1655cd343cb
|
||||
image_picker_ios: 99dfe1854b4fa34d0364e74a78448a0151025425
|
||||
image_picker_ios: 4a8aadfbb6dc30ad5141a2ce3832af9214a705b5
|
||||
ios-voice-processor: 8e32d7f980a06d392d128ef1cd19cf6ddcaca3c1
|
||||
just_audio: baa7252489dbcf47a4c7cc9ca663e9661c99aafa
|
||||
network_info_plus: 6d0c3eb8367b8164fa3fb0c19875e3f59d49697f
|
||||
package_info_plus: 6c92f08e1f853dc01228d6f553146438dafcd14e
|
||||
path_provider_foundation: 3784922295ac71e43754bd15e0653ccfd36a147c
|
||||
path_provider_foundation: 29f094ae23ebbca9d3d0cec13889cd9060c0e943
|
||||
permission_handler_apple: e76247795d700c14ea09e3a2d8855d41ee80a2e6
|
||||
Protobuf: d94761c33f1239c0a43a0817ca1a5f7f7c900241
|
||||
Protobuf: 6a4183ec1d51649eb2be7b86ccc286e5c539219c
|
||||
ReachabilitySwift: 985039c6f7b23a1da463388634119492ff86c825
|
||||
reactive_ble_mobile: 9ce6723d37ccf701dbffd202d487f23f5de03b4c
|
||||
shared_preferences_foundation: b4c3b4cddf1c21f02770737f147a3f5da9d39695
|
||||
shared_preferences_foundation: 5b919d13b803cadd15ed2dc053125c68730e5126
|
||||
sqflite: 31f7eba61e3074736dff8807a9b41581e4f7f15a
|
||||
SwiftProtobuf: 407a385e97fd206c4fbe880cc84123989167e0d1
|
||||
SwiftProtobuf: 69f02cd54fb03201c5e6bf8b76f687c5ef7541a3
|
||||
Toast: 91b396c56ee72a5790816f40d3a94dd357abc196
|
||||
url_launcher_ios: bbd758c6e7f9fd7b5b1d4cde34d2b95fcce5e812
|
||||
url_launcher_ios: bf5ce03e0e2088bad9cc378ea97fa0ed5b49673b
|
||||
video_player_avfoundation: 81e49bb3d9fb63dccf9fa0f6d877dc3ddbeac126
|
||||
webview_flutter_wkwebview: 4f3e50f7273d31e5500066ed267e3ae4309c5ae4
|
||||
webview_flutter_wkwebview: 2e2d318f21a5e036e2c3f26171342e95908bd60a
|
||||
|
||||
PODFILE CHECKSUM: 42aa7ffc6134b996f93caa6a9b6a2b5b580ff28a
|
||||
|
||||
COCOAPODS: 1.14.3
|
||||
COCOAPODS: 1.12.1
|
||||
|
||||
@ -7,18 +7,18 @@ import 'package:star_lock/main/lockDetail/electronicKey/massSendElectronicKey/ma
|
||||
import 'package:star_lock/main/lockDetail/electronicKey/massSendElectronicKey/massSendLockGroupList/massSendLockGroupList_page.dart';
|
||||
import 'package:star_lock/main/lockDetail/electronicKey/massSendElectronicKey/massSendLockGroupList/massSendReceiver/massSendReceiver_page.dart';
|
||||
import 'package:star_lock/main/lockDetail/face/faceDetail/faceDetail_page.dart';
|
||||
import 'package:star_lock/main/lockDetail/lcokSet/addFamily/addFamily_page.dart';
|
||||
import 'package:star_lock/main/lockDetail/lcokSet/catEyeSet/catEyeCustomMode/catEyeCustomMode_page.dart';
|
||||
import 'package:star_lock/main/lockDetail/lcokSet/catEyeSet/catEyeSet/catEyeSet_page.dart';
|
||||
import 'package:star_lock/main/lockDetail/lcokSet/catEyeSet/videoSlot/videoSlot_page.dart';
|
||||
import 'package:star_lock/main/lockDetail/lcokSet/faceUnlock/faceUnlock_page.dart';
|
||||
import 'package:star_lock/main/lockDetail/lcokSet/familyDetails/familyDetails_page.dart';
|
||||
import 'package:star_lock/main/lockDetail/lcokSet/liveVideo/liveVideo_page.dart';
|
||||
import 'package:star_lock/main/lockDetail/lcokSet/lockUser/lockUser_page.dart';
|
||||
import 'package:star_lock/main/lockDetail/lcokSet/motorPower/motorPower_page.dart';
|
||||
import 'package:star_lock/main/lockDetail/lcokSet/msgNotification/msgNotification/msgNotification_page.dart';
|
||||
import 'package:star_lock/main/lockDetail/lcokSet/notificationMode/notificationMode_page.dart';
|
||||
import 'package:star_lock/main/lockDetail/lcokSet/openDoorDirection/openDoorDirection_page.dart';
|
||||
import 'package:star_lock/main/lockDetail/lockSet/addFamily/addFamily_page.dart';
|
||||
import 'package:star_lock/main/lockDetail/lockSet/catEyeSet/catEyeCustomMode/catEyeCustomMode_page.dart';
|
||||
import 'package:star_lock/main/lockDetail/lockSet/catEyeSet/catEyeSet/catEyeSet_page.dart';
|
||||
import 'package:star_lock/main/lockDetail/lockSet/catEyeSet/videoSlot/videoSlot_page.dart';
|
||||
import 'package:star_lock/main/lockDetail/lockSet/faceUnlock/faceUnlock_page.dart';
|
||||
import 'package:star_lock/main/lockDetail/lockSet/familyDetails/familyDetails_page.dart';
|
||||
import 'package:star_lock/main/lockDetail/lockSet/liveVideo/liveVideo_page.dart';
|
||||
import 'package:star_lock/main/lockDetail/lockSet/lockUser/lockUser_page.dart';
|
||||
import 'package:star_lock/main/lockDetail/lockSet/motorPower/motorPower_page.dart';
|
||||
import 'package:star_lock/main/lockDetail/lockSet/msgNotification/msgNotification/msgNotification_page.dart';
|
||||
import 'package:star_lock/main/lockDetail/lockSet/notificationMode/notificationMode_page.dart';
|
||||
import 'package:star_lock/main/lockDetail/lockSet/openDoorDirection/openDoorDirection_page.dart';
|
||||
import 'package:star_lock/main/lockDetail/lockDetail/lockDetail_main_page.dart';
|
||||
import 'package:star_lock/main/lockDetail/passwordKey/passwordKeyDetailChangeDate/passwordKeyDetailChangeDate_page.dart';
|
||||
import 'package:star_lock/mine/about/webviewShow_page.dart';
|
||||
@ -41,7 +41,7 @@ import 'common/safetyVerification/safetyVerification_page.dart';
|
||||
import 'login/forgetPassword/starLock_forgetPassword_page.dart';
|
||||
import 'login/login/starLock_login_page.dart';
|
||||
import 'login/register/starLock_register_page.dart';
|
||||
import 'login/seletCountryRegion/seletCountryRegion_page.dart';
|
||||
import 'login/selectCountryRegion/selectCountryRegion_page.dart';
|
||||
import 'main/lockDetail/card/addCardType/addCardManage/addCardTypeManage_page.dart';
|
||||
import 'main/lockDetail/card/addICCard/addICCard_page.dart';
|
||||
import 'main/lockDetail/card/cardDetail/cardDetail_page.dart';
|
||||
@ -64,45 +64,45 @@ import 'main/lockDetail/face/addFace/addFace_page.dart';
|
||||
import 'main/lockDetail/face/addFaceType/addFaceTypeManage/addFaceTypeManage_page.dart';
|
||||
import 'main/lockDetail/face/faceList/faceList_page.dart';
|
||||
import 'main/lockDetail/fingerprint/addFingerprint/addFingerprint_page.dart';
|
||||
import 'main/lockDetail/fingerprint/addFingerprintSeletType/addFingerprintManage/addFingerprintTypeManage_page.dart';
|
||||
import 'main/lockDetail/fingerprint/addFingerprintSelectType/addFingerprintManage/addFingerprintTypeManage_page.dart';
|
||||
import 'main/lockDetail/fingerprint/addFingerprintTip/addFingerprintTip_page.dart';
|
||||
import 'main/lockDetail/fingerprint/fingerprintDetail/fingerprintDetail_page.dart';
|
||||
import 'main/lockDetail/fingerprint/fingerprintList/fingerprintList_page.dart';
|
||||
import 'main/lockDetail/lcokSet/automaticBlocking/automaticBlocking_page.dart';
|
||||
import 'main/lockDetail/lcokSet/basicInformation/adminOpenLockPassword/adminOpenLockPassword_page.dart';
|
||||
import 'main/lockDetail/lcokSet/basicInformation/basicInformation/basicInformation_page.dart';
|
||||
import 'main/lockDetail/lcokSet/basicInformation/editLockName/editLockName_page.dart';
|
||||
import 'main/lockDetail/lcokSet/basicInformation/lockSeletGrouping/lockSeletGrouping_page.dart';
|
||||
import 'main/lockDetail/lcokSet/basicInformation/uploadElectricQuantity/uploadElectricQuantity_page.dart';
|
||||
import 'main/lockDetail/lcokSet/burglarAlarm/burglarAlarm_page.dart';
|
||||
import 'main/lockDetail/lcokSet/catEyeSet/catEyeWorkMode/catEyeWorkMode_page.dart';
|
||||
import 'main/lockDetail/lcokSet/checkInCreatCompany/checkInCreatCompany_page.dart';
|
||||
import 'main/lockDetail/lcokSet/configuringWifi/configuringWifi_page.dart';
|
||||
import 'main/lockDetail/lcokSet/diagnose/diagnose_page.dart';
|
||||
import 'main/lockDetail/lcokSet/doorMagnetic/addDoorMagnetic/addDoorMagnetic_page.dart';
|
||||
import 'main/lockDetail/lcokSet/doorMagnetic/doorMagneticList/doorMagnetic_page.dart';
|
||||
import 'main/lockDetail/lcokSet/doorMagnetic/nearbyDoorMagnetic/nearbyDoorMagnetic_page.dart';
|
||||
import 'main/lockDetail/lcokSet/importOtherLockData/ImportOtherLockData_page.dart';
|
||||
import 'main/lockDetail/lcokSet/lockEscalation/lockEscalation_page.dart';
|
||||
import 'main/lockDetail/lcokSet/lockSet/lockSet_page.dart';
|
||||
import 'main/lockDetail/lcokSet/lockSoundSet/lockSoundSet_page.dart';
|
||||
import 'main/lockDetail/lcokSet/lockTime/lockTime_page.dart';
|
||||
import 'main/lockDetail/lcokSet/markedHouseState/markedHouseState_page.dart';
|
||||
import 'main/lockDetail/lcokSet/msgNotification/coerceOpenDoor/coerceFingerprint/coerceFingerprint_page.dart';
|
||||
import 'main/lockDetail/lcokSet/msgNotification/coerceOpenDoor/coerceFingerprintList/coerceFingerprintList_page.dart';
|
||||
import 'main/lockDetail/lcokSet/msgNotification/coerceOpenDoor/coerceOpenDoor/coerceOpenDoor_page.dart';
|
||||
import 'main/lockDetail/lcokSet/msgNotification/lowBatteryReminder/lowBatteryReminder_page.dart';
|
||||
import 'main/lockDetail/lcokSet/msgNotification/nDaysUnopened/nDaysUnopened_page.dart';
|
||||
import 'main/lockDetail/lcokSet/msgNotification/openDoorNotify/openDoorNotify_page.dart';
|
||||
import 'main/lockDetail/lcokSet/normallyOpenMode/normallyOpenMode_page.dart';
|
||||
import 'main/lockDetail/lcokSet/remoteUnlocking/remoteUnlocking_page.dart';
|
||||
import 'main/lockDetail/lcokSet/resetButton/resetButton_page.dart';
|
||||
import 'main/lockDetail/lcokSet/unlockQRCode/unlockQRCode_page.dart';
|
||||
import 'main/lockDetail/lcokSet/uploadData/uploadData_page.dart';
|
||||
import 'main/lockDetail/lcokSet/wirelessKeyboard/addWirelessKeyboard/addWirelessKeyboard_page.dart';
|
||||
import 'main/lockDetail/lcokSet/wirelessKeyboard/addWirelessKeyboardScreenNotLightOn/addWirelessKeyboardScreenNotLightOn_page.dart';
|
||||
import 'main/lockDetail/lcokSet/wirelessKeyboard/seletWirelessKeyboard/seletWirelessKeyboard_page.dart';
|
||||
import 'main/lockDetail/lcokSet/wirelessKeyboard/wirelessKeyboardList/wirelessKeyboard_page.dart';
|
||||
import 'main/lockDetail/lockSet/automaticBlocking/automaticBlocking_page.dart';
|
||||
import 'main/lockDetail/lockSet/basicInformation/adminOpenLockPassword/adminOpenLockPassword_page.dart';
|
||||
import 'main/lockDetail/lockSet/basicInformation/basicInformation/basicInformation_page.dart';
|
||||
import 'main/lockDetail/lockSet/basicInformation/editLockName/editLockName_page.dart';
|
||||
import 'main/lockDetail/lockSet/basicInformation/lockSelectGrouping/lockSelectGrouping_page.dart';
|
||||
import 'main/lockDetail/lockSet/basicInformation/uploadElectricQuantity/uploadElectricQuantity_page.dart';
|
||||
import 'main/lockDetail/lockSet/burglarAlarm/burglarAlarm_page.dart';
|
||||
import 'main/lockDetail/lockSet/catEyeSet/catEyeWorkMode/catEyeWorkMode_page.dart';
|
||||
import 'main/lockDetail/lockSet/checkInCreatCompany/checkInCreatCompany_page.dart';
|
||||
import 'main/lockDetail/lockSet/configuringWifi/configuringWifi_page.dart';
|
||||
import 'main/lockDetail/lockSet/diagnose/diagnose_page.dart';
|
||||
import 'main/lockDetail/lockSet/doorMagnetic/addDoorMagnetic/addDoorMagnetic_page.dart';
|
||||
import 'main/lockDetail/lockSet/doorMagnetic/doorMagneticList/doorMagnetic_page.dart';
|
||||
import 'main/lockDetail/lockSet/doorMagnetic/nearbyDoorMagnetic/nearbyDoorMagnetic_page.dart';
|
||||
import 'main/lockDetail/lockSet/importOtherLockData/ImportOtherLockData_page.dart';
|
||||
import 'main/lockDetail/lockSet/lockEscalation/lockEscalation_page.dart';
|
||||
import 'main/lockDetail/lockSet/lockSet/lockSet_page.dart';
|
||||
import 'main/lockDetail/lockSet/lockSoundSet/lockSoundSet_page.dart';
|
||||
import 'main/lockDetail/lockSet/lockTime/lockTime_page.dart';
|
||||
import 'main/lockDetail/lockSet/markedHouseState/markedHouseState_page.dart';
|
||||
import 'main/lockDetail/lockSet/msgNotification/coerceOpenDoor/coerceFingerprint/coerceFingerprint_page.dart';
|
||||
import 'main/lockDetail/lockSet/msgNotification/coerceOpenDoor/coerceFingerprintList/coerceFingerprintList_page.dart';
|
||||
import 'main/lockDetail/lockSet/msgNotification/coerceOpenDoor/coerceOpenDoor/coerceOpenDoor_page.dart';
|
||||
import 'main/lockDetail/lockSet/msgNotification/lowBatteryReminder/lowBatteryReminder_page.dart';
|
||||
import 'main/lockDetail/lockSet/msgNotification/nDaysUnopened/nDaysUnopened_page.dart';
|
||||
import 'main/lockDetail/lockSet/msgNotification/openDoorNotify/openDoorNotify_page.dart';
|
||||
import 'main/lockDetail/lockSet/normallyOpenMode/normallyOpenMode_page.dart';
|
||||
import 'main/lockDetail/lockSet/remoteUnlocking/remoteUnlocking_page.dart';
|
||||
import 'main/lockDetail/lockSet/resetButton/resetButton_page.dart';
|
||||
import 'main/lockDetail/lockSet/unlockQRCode/unlockQRCode_page.dart';
|
||||
import 'main/lockDetail/lockSet/uploadData/uploadData_page.dart';
|
||||
import 'main/lockDetail/lockSet/wirelessKeyboard/addWirelessKeyboard/addWirelessKeyboard_page.dart';
|
||||
import 'main/lockDetail/lockSet/wirelessKeyboard/addWirelessKeyboardScreenNotLightOn/addWirelessKeyboardScreenNotLightOn_page.dart';
|
||||
import 'main/lockDetail/lockSet/wirelessKeyboard/selectWirelessKeyboard/selectWirelessKeyboard_page.dart';
|
||||
import 'main/lockDetail/lockSet/wirelessKeyboard/wirelessKeyboardList/wirelessKeyboard_page.dart';
|
||||
import 'main/lockDetail/monitoring/monitoring/lockMonitoring_page.dart';
|
||||
import 'main/lockDetail/monitoring/monitoringRealTimeScreen/monitoringRealTimeScreen_page.dart';
|
||||
import 'main/lockDetail/realTimePicture/realTimePicture_page.dart';
|
||||
@ -132,16 +132,16 @@ import 'main/lockDetail/passwordKey/passwordKeyDetail/passwordKeyDetail_page.dar
|
||||
import 'main/lockDetail/passwordKey/passwordKeyList/passwordKeyList_page.dart';
|
||||
import 'main/lockDetail/passwordKey/passwordKeyManage/passwordKeyManage_page.dart';
|
||||
import 'main/lockMian/lockMain/lockMain_page.dart';
|
||||
import 'mine/addLock/addLockSeletCountry/addLockSeletCountry_page.dart';
|
||||
import 'mine/addLock/addLockSelectCountry/addLockSelectCountry_page.dart';
|
||||
import 'mine/addLock/lockAddress/gaode/lockAddressGaoDe_page.dart';
|
||||
import 'mine/addLock/lockAddress/lockAddress/lockAddress_page.dart';
|
||||
import 'mine/addLock/nearbyLock/nearbyLock_page.dart';
|
||||
import 'mine/addLock/saveLock/saveLock_page.dart';
|
||||
import 'mine/addLock/seletLockType/seletLockType_page.dart';
|
||||
import 'mine/addLock/selectLockType/selectLockType_page.dart';
|
||||
import 'mine/gateway/addGateway/gatewayConfigurationWifi/gatewayConfigurationWifi_page.dart';
|
||||
import 'mine/gateway/addGateway/seletGateway/seletGatewayList_page.dart';
|
||||
import 'mine/gateway/addGateway/seletGatewayType/seletGatewayType_page.dart';
|
||||
import 'mine/gateway/addGateway/seletGatewayTypeNextTip/seletGatewayTypeNextTip_page.dart';
|
||||
import 'mine/gateway/addGateway/selectGateway/selectGatewayList_page.dart';
|
||||
import 'mine/gateway/addGateway/selectGatewayType/selectGatewayType_page.dart';
|
||||
import 'mine/gateway/addGateway/selectGatewayTypeNextTip/selectGatewayTypeNextTip_page.dart';
|
||||
import 'mine/gateway/gatewayConnectionLock/gatewayConnectionLockList_page.dart';
|
||||
import 'mine/gateway/gatewayDetail/gatewayDetail_page.dart';
|
||||
import 'mine/gateway/gatewayList/gatewayList_page.dart';
|
||||
@ -184,7 +184,7 @@ abstract class Routers {
|
||||
static const initial = '/'; // 加载页
|
||||
static const starLockMain = '/StarLockMain'; // 首页
|
||||
static const starLockMinePage = '/StarLockMinePage'; // 我的
|
||||
static const seletLockTypePage = '/SeletLockTypePage'; // 选择锁类型
|
||||
static const selectLockTypePage = '/SelectLockTypePage'; // 选择锁类型
|
||||
static const LockMallPage = '/LockMallPage'; // 商城页面
|
||||
static const addLockPage = '/AddLockPage'; // 选择锁类型
|
||||
static const nearbyLockPage = '/NearbyLockPage'; // 附近的锁
|
||||
@ -231,7 +231,7 @@ abstract class Routers {
|
||||
static const uploadElectricQuantityPage =
|
||||
'/UploadElectricQuantityPage'; // 更新锁电量
|
||||
static const editLockNamePage = '/EditLockNamePage'; // 修改锁名字
|
||||
static const lockSeletGroupingPage = '/LockSeletGroupingPage'; // 锁选择分组
|
||||
static const lockSelectGroupingPage = '/LockSelectGroupingPage'; // 锁选择分组
|
||||
static const groupEditLockPage = '/GroupEditLockPage'; // 编辑锁分组里面的锁
|
||||
static const adminOpenLockPasswordPage =
|
||||
'/AdminOpenLockPasswordPage'; // 管理员开锁密码
|
||||
@ -239,8 +239,8 @@ abstract class Routers {
|
||||
static const addWirelessKeyboardPage = '/AddWirelessKeyboardPage'; // 添加蓝牙键盘
|
||||
static const addWirelessKeyboardScreenNotLightOnPage =
|
||||
'/AddWirelessKeyboardScreenNotLightOnPage'; // 添加蓝牙键盘屏幕不亮时提示
|
||||
static const seletWirelessKeyboardPage =
|
||||
'/SeletWirelessKeyboardPage'; // 选择蓝牙键盘
|
||||
static const selectWirelessKeyboardPage =
|
||||
'/SelectWirelessKeyboardPage'; // 选择蓝牙键盘
|
||||
static const doorMagneticPage = '/DoorMagneticPage'; // 门磁列表
|
||||
static const addDoorMagneticPage = '/AddDoorMagneticPage'; // 添加门磁
|
||||
static const nearbyDoorMagneticPage = '/NearbyDoorMagneticPage'; // 附近的门磁
|
||||
@ -297,17 +297,17 @@ abstract class Routers {
|
||||
static const gatewayDetailPage = '/GatewayDetailPage'; // 我的-网关详情
|
||||
static const gatewayConnectionLockPage =
|
||||
'/GatewayConnectionLockPage'; // 我的-网关网关链接的锁
|
||||
static const seletGatewayTypePage = '/SeletGatewayTypePage'; // 我的-选择网关类型
|
||||
static const seletGatewayTypeNextTipPage =
|
||||
'/SeletGatewayTypeNextTipPage'; // 我的-选择网关类型下一步
|
||||
static const seletGatewayPage = '/SeletGatewayPage'; // 我的-选择网关
|
||||
static const selectGatewayTypePage = '/SelectGatewayTypePage'; // 我的-选择网关类型
|
||||
static const selectGatewayTypeNextTipPage =
|
||||
'/SelectGatewayTypeNextTipPage'; // 我的-选择网关类型下一步
|
||||
static const selectGatewayPage = '/SelectGatewayPage'; // 我的-选择网关
|
||||
static const gatewayConfigurationWifiPage =
|
||||
'/GatewayConfigurationWifiPage'; // 我的-网关配置wifi
|
||||
|
||||
static const messageListPage = '/MessageListPage'; // 我的-消息
|
||||
static const supportStaffPage = '/SupportStaffPage'; // 我的-客服
|
||||
static const valueAddedServicesPage = '/ValueAddedServicesPage'; // 我的-增值服务
|
||||
static const abountPage = '/AbountPage'; // 我的-关于
|
||||
static const aboutPage = '/AboutPage'; // 我的-关于
|
||||
|
||||
static const valueAddedServicesNoteAndEmailDetailPage =
|
||||
'/ValueAddedServicesNoteAndEmailDetailPage'; // 增值服务-短信邮件详情
|
||||
@ -351,7 +351,7 @@ abstract class Routers {
|
||||
static const starLockRegisterPage = '/StarLockRegisterPage'; // 注册
|
||||
static const starLockForgetPasswordPage =
|
||||
'/StarLockForgetPasswordPage'; // 忘记密码
|
||||
static const seletCountryRegionPage = '/SeletCountryRegionPage'; // 选择国家和地区
|
||||
static const selectCountryRegionPage = '/SelectCountryRegionPage'; // 选择国家和地区
|
||||
static const safetyVerificationPage = '/SafetyVerificationPage'; // 安全验证
|
||||
|
||||
static const keyOperationRecordPage = '/keyOperationRecordPage'; //钥匙详情-操作记录
|
||||
@ -373,7 +373,8 @@ abstract class Routers {
|
||||
static const webviewShowPage = '/webviewShowPage'; //网页
|
||||
static const demoModeLockDetailPage = '/DemoModeLockDetailPage'; // 演示模式锁详情页
|
||||
static const demoModeLockSetPage = '/DemoModeLockSetPage'; // 演示模式锁设置页
|
||||
static const addLockSeletCountryPage = '/AddLockSeletCountryPage'; // 演示模式锁设置页
|
||||
static const addLockSelectCountryPage =
|
||||
'/AddLockSelectCountryPage'; // 演示模式锁设置页
|
||||
static const faceUnlockPage = '/faceUnlockPage'; //面容开锁设置
|
||||
static const motorPowerPage = '/motorPowerPage'; //电机功率设置
|
||||
static const openDoorDirectionPage = '/openDoorDirectionPage'; //开门方向设置
|
||||
@ -438,8 +439,8 @@ abstract class AppRouters {
|
||||
page: () => const StarLockMinePage(),
|
||||
),
|
||||
GetPage(
|
||||
name: Routers.seletLockTypePage,
|
||||
page: () => const SeletLockTypePage(),
|
||||
name: Routers.selectLockTypePage,
|
||||
page: () => const SelectLockTypePage(),
|
||||
),
|
||||
GetPage(
|
||||
name: Routers.LockMallPage,
|
||||
@ -554,8 +555,8 @@ abstract class AppRouters {
|
||||
page: () => const StarLockForgetPasswordPage(),
|
||||
),
|
||||
GetPage(
|
||||
name: Routers.seletCountryRegionPage,
|
||||
page: () => const SeletCountryRegionPage(),
|
||||
name: Routers.selectCountryRegionPage,
|
||||
page: () => const SelectCountryRegionPage(),
|
||||
),
|
||||
GetPage(
|
||||
name: Routers.lockSetPage,
|
||||
@ -574,8 +575,8 @@ abstract class AppRouters {
|
||||
page: () => const EditLockNamePage(),
|
||||
),
|
||||
GetPage(
|
||||
name: Routers.lockSeletGroupingPage,
|
||||
page: () => const LockSeletGroupingPage(),
|
||||
name: Routers.lockSelectGroupingPage,
|
||||
page: () => const LockSelectGroupingPage(),
|
||||
),
|
||||
GetPage(
|
||||
name: Routers.adminOpenLockPasswordPage,
|
||||
@ -594,8 +595,8 @@ abstract class AppRouters {
|
||||
page: () => const AddWirelessKeyboardScreenNotLightOnPage(),
|
||||
),
|
||||
GetPage(
|
||||
name: Routers.seletWirelessKeyboardPage,
|
||||
page: () => const SeletWirelessKeyboardPage(),
|
||||
name: Routers.selectWirelessKeyboardPage,
|
||||
page: () => const SelectWirelessKeyboardPage(),
|
||||
),
|
||||
GetPage(
|
||||
name: Routers.doorMagneticPage,
|
||||
@ -750,8 +751,8 @@ abstract class AppRouters {
|
||||
page: () => const ValueAddedServicesListPage(),
|
||||
),
|
||||
GetPage(
|
||||
name: Routers.abountPage,
|
||||
page: () => const AbountPage(),
|
||||
name: Routers.aboutPage,
|
||||
page: () => const AboutPage(),
|
||||
),
|
||||
GetPage(
|
||||
name: Routers.gatewayDetailPage,
|
||||
@ -762,16 +763,16 @@ abstract class AppRouters {
|
||||
page: () => const GatewayConnectionLockListPage(),
|
||||
),
|
||||
GetPage(
|
||||
name: Routers.seletGatewayTypePage,
|
||||
page: () => const SeletGatewayTypePage(),
|
||||
name: Routers.selectGatewayTypePage,
|
||||
page: () => const SelectGatewayTypePage(),
|
||||
),
|
||||
GetPage(
|
||||
name: Routers.seletGatewayTypeNextTipPage,
|
||||
page: () => const SeletGatewayTypeNextTipPage(),
|
||||
name: Routers.selectGatewayTypeNextTipPage,
|
||||
page: () => const SelectGatewayTypeNextTipPage(),
|
||||
),
|
||||
GetPage(
|
||||
name: Routers.seletGatewayPage,
|
||||
page: () => const SeletGatewayListPage(),
|
||||
name: Routers.selectGatewayPage,
|
||||
page: () => const SelectGatewayListPage(),
|
||||
),
|
||||
GetPage(
|
||||
name: Routers.gatewayConfigurationWifiPage,
|
||||
@ -927,8 +928,8 @@ abstract class AppRouters {
|
||||
name: Routers.demoModeLockDetailPage,
|
||||
page: () => const DemoModeLockDetailPage()),
|
||||
GetPage(
|
||||
name: Routers.addLockSeletCountryPage,
|
||||
page: () => const AddLockSeletCountryPage()),
|
||||
name: Routers.addLockSelectCountryPage,
|
||||
page: () => const AddLockSelectCountryPage()),
|
||||
GetPage(name: Routers.faceUnlockPage, page: () => const FaceUnlockPage()),
|
||||
GetPage(name: Routers.motorPowerPage, page: () => const MotorPowerPage()),
|
||||
GetPage(
|
||||
|
||||
@ -90,7 +90,7 @@ class _StarLockLoginPageState extends State<StarLockLoginPage> {
|
||||
state.agree.value = !state.agree.value;
|
||||
logic.changeAgreeState();
|
||||
},
|
||||
child: Image.asset(state.agree.value ? 'images/icon_round_selet.png' : 'images/icon_round_unSelet.png', width: 30.w, height: 30.w,)
|
||||
child: Image.asset(state.agree.value ? 'images/icon_round_select.png' : 'images/icon_round_unSelect.png', width: 30.w, height: 30.w,)
|
||||
)),
|
||||
SizedBox(width: 15.w,),
|
||||
Flexible(
|
||||
|
||||
@ -41,7 +41,7 @@ class _StarLockRegisterPageState extends State<StarLockRegisterPage> {
|
||||
body: ListView(
|
||||
padding: EdgeInsets.only(top: 40.h, left: 40.w, right: 40.w),
|
||||
children: [
|
||||
topSeletCountryAndRegionWidget(),
|
||||
topSelectCountryAndRegionWidget(),
|
||||
middleTFWidget(),
|
||||
Obx(() {
|
||||
return SubmitBtn(
|
||||
@ -65,7 +65,7 @@ class _StarLockRegisterPageState extends State<StarLockRegisterPage> {
|
||||
));
|
||||
}
|
||||
|
||||
Widget topSeletCountryAndRegionWidget() {
|
||||
Widget topSelectCountryAndRegionWidget() {
|
||||
return Column(
|
||||
children: [
|
||||
SizedBox(height: 50.h),
|
||||
@ -142,7 +142,7 @@ class _StarLockRegisterPageState extends State<StarLockRegisterPage> {
|
||||
GestureDetector(
|
||||
onTap: () async {
|
||||
var result = await Navigator.pushNamed(
|
||||
context, Routers.seletCountryRegionPage);
|
||||
context, Routers.selectCountryRegionPage);
|
||||
if (result != null) {
|
||||
result as Map<String, dynamic>;
|
||||
logic.state.countryCode.value = result['code'];
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
||||
import 'package:star_lock/app_settings/app_colors.dart';
|
||||
import 'package:star_lock/login/seletCountryRegion/common/countryRegionEntity.dart';
|
||||
import 'package:star_lock/login/selectCountryRegion/common/countryRegionEntity.dart';
|
||||
|
||||
class Utils {
|
||||
static String getImgPath(String name, {String format = 'png'}) {
|
||||
@ -2,7 +2,7 @@ import 'package:azlistview/azlistview.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter/services.dart';
|
||||
import 'package:get/get.dart';
|
||||
import 'package:star_lock/login/seletCountryRegion/common/countryRegionEntity.dart';
|
||||
import 'package:star_lock/login/selectCountryRegion/common/countryRegionEntity.dart';
|
||||
import 'package:star_lock/network/api_repository.dart';
|
||||
import 'package:star_lock/tools/baseGetXController.dart';
|
||||
|
||||
@ -11,14 +11,14 @@ import '../../tools/titleAppBar.dart';
|
||||
import '../../translations/trans_lib.dart';
|
||||
import 'common/index.dart';
|
||||
|
||||
class SeletCountryRegionPage extends StatefulWidget {
|
||||
const SeletCountryRegionPage({Key? key}) : super(key: key);
|
||||
class SelectCountryRegionPage extends StatefulWidget {
|
||||
const SelectCountryRegionPage({Key? key}) : super(key: key);
|
||||
|
||||
@override
|
||||
State<SeletCountryRegionPage> createState() => _SeletCountryRegionPageState();
|
||||
State<SelectCountryRegionPage> createState() => _SelectCountryRegionPageState();
|
||||
}
|
||||
|
||||
class _SeletCountryRegionPageState extends State<SeletCountryRegionPage> {
|
||||
class _SelectCountryRegionPageState extends State<SelectCountryRegionPage> {
|
||||
List<CountryRegionModel> countriesList = [];
|
||||
|
||||
@override
|
||||
@ -72,7 +72,7 @@ class _SeletCountryRegionPageState extends State<SeletCountryRegionPage> {
|
||||
backgroundColor: const Color(0xFFFFFFFF),
|
||||
appBar: TitleAppBar(
|
||||
barTitle:
|
||||
"${TranslationLoader.lanKeys!.selet!.tr} ${TranslationLoader.lanKeys!.countryAndRegion!.tr}",
|
||||
"${TranslationLoader.lanKeys!.select!.tr} ${TranslationLoader.lanKeys!.countryAndRegion!.tr}",
|
||||
haveBack: true,
|
||||
backgroundColor: AppColors.mainColor,
|
||||
),
|
||||
@ -284,13 +284,13 @@ class AuthorizedAdminLogic extends BaseGetXController {
|
||||
},
|
||||
),
|
||||
CupertinoDialogAction(
|
||||
child: Text(TranslationLoader.lanKeys!.selet!.tr),
|
||||
child: Text(TranslationLoader.lanKeys!.select!.tr),
|
||||
onPressed: () async {
|
||||
//选择国家代码
|
||||
state.isCreateUser.value = true;
|
||||
Navigator.of(context).pop();
|
||||
|
||||
var result = await Get.toNamed(Routers.seletCountryRegionPage);
|
||||
var result = await Get.toNamed(Routers.selectCountryRegionPage);
|
||||
if (result != null) {
|
||||
result as Map<String, dynamic>;
|
||||
state.countryCode.value = result['code'];
|
||||
|
||||
@ -101,7 +101,7 @@ class _AuthorizedAdminPageState extends State<AuthorizedAdminPage> {
|
||||
),
|
||||
action: () async {
|
||||
var result = await Navigator.pushNamed(
|
||||
context, Routers.seletCountryRegionPage);
|
||||
context, Routers.selectCountryRegionPage);
|
||||
if (result != null) {
|
||||
result as Map<String, dynamic>;
|
||||
state.countryCode.value = result['code'];
|
||||
|
||||
@ -136,7 +136,7 @@ class _VolumeAuthorizationLockPageState
|
||||
),
|
||||
action: () async {
|
||||
var result = await Navigator.pushNamed(
|
||||
context, Routers.seletCountryRegionPage);
|
||||
context, Routers.selectCountryRegionPage);
|
||||
if (result != null) {
|
||||
result as Map<String, dynamic>;
|
||||
countryCode = result['code'];
|
||||
@ -203,7 +203,7 @@ class _VolumeAuthorizationLockPageState
|
||||
CommonItem(
|
||||
leftTitel: TranslationLoader.lanKeys!.lock!.tr,
|
||||
rightTitle: _lockIdList.isEmpty
|
||||
? TranslationLoader.lanKeys!.pleaseSelet!.tr
|
||||
? TranslationLoader.lanKeys!.pleaseSelect!.tr
|
||||
: _lockIdList.length.toString(),
|
||||
isHaveDirection: true,
|
||||
action: () {
|
||||
|
||||
@ -26,9 +26,9 @@ class _AddCardManageTabbarState extends State<AddCardManageTabbar> with SingleTi
|
||||
late TabController _tabController;
|
||||
|
||||
final List<ItemView> _itemTabs = <ItemView>[
|
||||
ItemView(title: TranslationLoader.lanKeys!.permanent!.tr, seletType: "0"),
|
||||
ItemView(title: TranslationLoader.lanKeys!.timeLimit!.tr, seletType: "1"),
|
||||
ItemView(title: TranslationLoader.lanKeys!.circulation!.tr, seletType: "2"),
|
||||
ItemView(title: TranslationLoader.lanKeys!.permanent!.tr, selectType: "0"),
|
||||
ItemView(title: TranslationLoader.lanKeys!.timeLimit!.tr, selectType: "1"),
|
||||
ItemView(title: TranslationLoader.lanKeys!.circulation!.tr, selectType: "2"),
|
||||
];
|
||||
|
||||
@override
|
||||
@ -98,7 +98,7 @@ class _AddCardManageTabbarState extends State<AddCardManageTabbar> with SingleTi
|
||||
controller: _tabController,
|
||||
children: _itemTabs
|
||||
.map((ItemView item) => AddCardPage(
|
||||
seletType: item.seletType,
|
||||
selectType: item.selectType,
|
||||
lockId: widget.lockId,
|
||||
fromType: widget.fromType,
|
||||
fromTypeTwoStaffName:widget.fromTypeTwoStaffName
|
||||
@ -109,8 +109,8 @@ class _AddCardManageTabbarState extends State<AddCardManageTabbar> with SingleTi
|
||||
}
|
||||
|
||||
class ItemView {
|
||||
const ItemView({required this.title, required this.seletType});
|
||||
const ItemView({required this.title, required this.selectType});
|
||||
|
||||
final String title;
|
||||
final String seletType;
|
||||
final String selectType;
|
||||
}
|
||||
|
||||
@ -14,11 +14,11 @@ class AddCardTypeLogic extends BaseGetXController{
|
||||
var fingerprintType = 0; // 永久:1;限时2,单次3,循环:4
|
||||
var startDate = "";
|
||||
var endDate = "";
|
||||
if (state.seletType.value == "0") {
|
||||
if (state.selectType.value == "0") {
|
||||
fingerprintType = 1;
|
||||
startDate = "0";
|
||||
endDate = "0";
|
||||
} else if (state.seletType.value == "1") {
|
||||
} else if (state.selectType.value == "1") {
|
||||
fingerprintType = 2;
|
||||
if (state.beginTimeTimestamp.value.isEmpty) {
|
||||
showToast("请选择开始时间");
|
||||
@ -42,7 +42,7 @@ class AddCardTypeLogic extends BaseGetXController{
|
||||
|
||||
startDate = state.beginTimeTimestamp.value;
|
||||
endDate = state.endTimeTimestamp.value;
|
||||
} else if (state.seletType.value == "2") {
|
||||
} else if (state.selectType.value == "2") {
|
||||
if (state.effectiveDateTime.value <= 0) {
|
||||
showToast("请选择生效时间");
|
||||
return;
|
||||
@ -104,4 +104,4 @@ class AddCardTypeLogic extends BaseGetXController{
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@ -15,14 +15,14 @@ import '../../../../translations/trans_lib.dart';
|
||||
import 'addCardType_logic.dart';
|
||||
|
||||
class AddCardPage extends StatefulWidget {
|
||||
final String seletType; // 永久限时循环下标
|
||||
final String selectType; // 永久限时循环下标
|
||||
final int lockId;
|
||||
final int fromType; // // 1从添加钥匙列表进入 2从考勤添加员工入口进入
|
||||
final String fromTypeTwoStaffName; // 从添加员工进入 传入员工名字
|
||||
|
||||
const AddCardPage(
|
||||
{Key? key,
|
||||
required this.seletType,
|
||||
required this.selectType,
|
||||
required this.lockId,
|
||||
required this.fromType,
|
||||
required this.fromTypeTwoStaffName})
|
||||
@ -38,7 +38,7 @@ class _AddCardPageState extends State<AddCardPage> {
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
state.seletType.value = widget.seletType;
|
||||
state.selectType.value = widget.selectType;
|
||||
state.lockId.value = widget.lockId;
|
||||
// state.nameController.text = widget.fromTypeTwoStaffName;
|
||||
|
||||
@ -49,7 +49,7 @@ class _AddCardPageState extends State<AddCardPage> {
|
||||
}
|
||||
|
||||
Widget indexChangeWidget() {
|
||||
switch (int.parse(widget.seletType)) {
|
||||
switch (int.parse(widget.selectType)) {
|
||||
case 0:
|
||||
{
|
||||
// 永久
|
||||
@ -193,7 +193,7 @@ class _AddCardPageState extends State<AddCardPage> {
|
||||
onClick: () async {
|
||||
var isDemoMode = await Storage.getBool(ifIsDemoModeOrNot);
|
||||
if (isDemoMode == false) {
|
||||
// print("state.seletType:${state.seletType.value}");
|
||||
// print("state.selectType:${state.selectType.value}");
|
||||
if (state.nameController.text.isEmpty) {
|
||||
logic.showToast("请输入姓名");
|
||||
return;
|
||||
@ -201,7 +201,7 @@ class _AddCardPageState extends State<AddCardPage> {
|
||||
|
||||
logic.checkCardNameDuplicated(state.nameController.text);
|
||||
} else {
|
||||
// Get.toNamed(Routers.seletLockTypePage);
|
||||
// Get.toNamed(Routers.selectLockTypePage);
|
||||
logic.showToast("演示模式");
|
||||
}
|
||||
}),
|
||||
|
||||
@ -5,7 +5,7 @@ import 'package:get/get.dart';
|
||||
class AddCardTypeState{
|
||||
|
||||
final lockId = 0.obs;
|
||||
final seletType = "0".obs;// 0永久 1显示 2循环
|
||||
final selectType = "0".obs;// 0永久 1显示 2循环
|
||||
final fromType = 1.obs; // // 1从添加钥匙列表进入 2从考勤添加员工入口进入
|
||||
final isStressFingerprint = false.obs;
|
||||
|
||||
@ -24,4 +24,4 @@ class AddCardTypeState{
|
||||
// lockId.value = map["lockId"];
|
||||
// fromType.value = map["fromType"];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -50,7 +50,7 @@ class _CardListPageState extends State<CardListPage> with RouteAware {
|
||||
if (isDemoMode == false) {
|
||||
showDeletAlertDialog(context);
|
||||
} else {
|
||||
// Get.toNamed(Routers.seletLockTypePage);
|
||||
// Get.toNamed(Routers.selectLockTypePage);
|
||||
logic.showToast("演示模式");
|
||||
}
|
||||
},
|
||||
|
||||
@ -51,7 +51,7 @@ class _CheckingInAddHolidaysPageState extends State<CheckingInAddHolidaysPage> {
|
||||
builder: (context) {
|
||||
return ShowCalendar(
|
||||
datePickerMode: DatePickerMode.day,
|
||||
seletAction: (dateTime) {
|
||||
selectAction: (dateTime) {
|
||||
String beginDate = formatDate(dateTime, [yyyy,'-',mm,'-',dd]);
|
||||
state.beginDate.value = beginDate;
|
||||
Get.back();
|
||||
@ -70,7 +70,7 @@ class _CheckingInAddHolidaysPageState extends State<CheckingInAddHolidaysPage> {
|
||||
builder: (context) {
|
||||
return ShowCalendar(
|
||||
datePickerMode: DatePickerMode.day,
|
||||
seletAction: (dateTime) {
|
||||
selectAction: (dateTime) {
|
||||
String endDate = formatDate(dateTime, [yyyy,'-',mm,'-',dd]);
|
||||
state.endDate.value = endDate;
|
||||
Get.back();
|
||||
@ -88,7 +88,7 @@ class _CheckingInAddHolidaysPageState extends State<CheckingInAddHolidaysPage> {
|
||||
builder: (context) {
|
||||
return ShowCalendar(
|
||||
datePickerMode: DatePickerMode.day,
|
||||
seletAction: (dateTime) {
|
||||
selectAction: (dateTime) {
|
||||
String makeUpWorkDate = formatDate(dateTime, [yyyy,'-',mm,'-',dd]);
|
||||
state.makeUpWorkDate.value = makeUpWorkDate;
|
||||
Get.back();
|
||||
@ -147,7 +147,7 @@ class _CheckingInAddHolidaysPageState extends State<CheckingInAddHolidaysPage> {
|
||||
child: Row(
|
||||
children: [
|
||||
Image.asset(
|
||||
'images/icon_round_unSelet.png',
|
||||
'images/icon_round_unSelect.png',
|
||||
width: 40.w,
|
||||
height: 40.w,
|
||||
),
|
||||
|
||||
@ -12,7 +12,7 @@ class CheckingInSetHolidaysLogic extends BaseGetXController{
|
||||
void editStaffLoadData() async{
|
||||
var entity = await ApiRepository.to.holidaysListData(
|
||||
companyId: state.companyId.value,
|
||||
vacationYear: state.seletYear.value.toString(),
|
||||
vacationYear: state.selectYear.value.toString(),
|
||||
);
|
||||
if(entity.errorCode!.codeIsSuccessful){
|
||||
state.holidaysListData.value = entity.data!.holidayList!;
|
||||
@ -42,4 +42,4 @@ class CheckingInSetHolidaysLogic extends BaseGetXController{
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@ -205,7 +205,7 @@ class _CheckingInSetHolidaysPageState extends State<CheckingInSetHolidaysPage> {
|
||||
mainAxisAlignment: MainAxisAlignment.center,
|
||||
children: [
|
||||
Text(
|
||||
"${state.seletYear.value}${TranslationLoader.lanKeys!.year!.tr}",
|
||||
"${state.selectYear.value}${TranslationLoader.lanKeys!.year!.tr}",
|
||||
style: TextStyle(color: Colors.white, fontSize: 26.sp),
|
||||
),
|
||||
SizedBox(
|
||||
@ -259,7 +259,7 @@ class _CheckingInSetHolidaysPageState extends State<CheckingInSetHolidaysPage> {
|
||||
minDate: PDuration(year: 1900),
|
||||
maxDate: PDuration(year: 2100),
|
||||
onConfirm: (p) {
|
||||
state.seletYear.value = p.year!;
|
||||
state.selectYear.value = p.year!;
|
||||
logic.editStaffLoadData();
|
||||
print("longer >>> 返回数据:${p.year}");
|
||||
},
|
||||
|
||||
@ -7,7 +7,7 @@ import 'checkingInSetHolidays_entity.dart';
|
||||
class CheckingInSetHolidaysState{
|
||||
final companyId = "".obs;
|
||||
final mouth = "".obs;
|
||||
final seletYear = DateTime.now().year.obs;
|
||||
final selectYear = DateTime.now().year.obs;
|
||||
final holidaysListData = <HolidaysMonthListData>[].obs;
|
||||
|
||||
CheckingInSetHolidaysState() {
|
||||
@ -15,4 +15,4 @@ class CheckingInSetHolidaysState{
|
||||
companyId.value = map["companyId"];
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@ -37,7 +37,7 @@ class AttendanceRecordMonthList {
|
||||
String? staffName;
|
||||
int? staffId;
|
||||
int? attendanceType;
|
||||
String? countryCode;
|
||||
int? countryCode;
|
||||
int? openingTimeStart;
|
||||
String? attendanceWay;
|
||||
int? avgTime;
|
||||
|
||||
@ -44,7 +44,7 @@ class _CheckingInListPageState extends State<CheckingInListPage> {
|
||||
"getKeyInfosData": state.getKeyInfosData.value,
|
||||
});
|
||||
}else{
|
||||
// Get.toNamed(Routers.seletLockTypePage);
|
||||
// Get.toNamed(Routers.selectLockTypePage);
|
||||
logic.showToast("演示模式");
|
||||
}
|
||||
},
|
||||
@ -71,9 +71,19 @@ class _CheckingInListPageState extends State<CheckingInListPage> {
|
||||
child: Column(
|
||||
children: [
|
||||
SizedBox(height: 30.h),
|
||||
Image.asset('images/main/icon_checkInRankingListTop.png', width: 120.w, height: 120.w),
|
||||
Obx(() => Container(
|
||||
width: 110.w,
|
||||
height: 110.w,
|
||||
padding: EdgeInsets.all(10.w),
|
||||
decoration: BoxDecoration(
|
||||
color: AppColors.mainColor,
|
||||
borderRadius: BorderRadius.circular(60.w),
|
||||
),
|
||||
child: Image.asset(getTopImg(), width: 120.w, height: 120.w)
|
||||
)
|
||||
),
|
||||
SizedBox(height: 10.h),
|
||||
Text(TranslationLoader.lanKeys!.noAttendanceRecord!.tr, style: TextStyle(fontSize: 24.sp)),
|
||||
Obx(() => Text(getTopTitle(), style: TextStyle(color: Colors.black, fontSize: 24.sp))),
|
||||
SizedBox(height: 30.h),
|
||||
Row(
|
||||
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||
@ -94,7 +104,7 @@ class _CheckingInListPageState extends State<CheckingInListPage> {
|
||||
logic.loadDataByType();
|
||||
});
|
||||
}else{
|
||||
// Get.toNamed(Routers.seletLockTypePage);
|
||||
// Get.toNamed(Routers.selectLockTypePage);
|
||||
logic.showToast("演示模式");
|
||||
}
|
||||
},
|
||||
@ -131,7 +141,7 @@ class _CheckingInListPageState extends State<CheckingInListPage> {
|
||||
logic.loadDataByType();
|
||||
});
|
||||
}else{
|
||||
// Get.toNamed(Routers.seletLockTypePage);
|
||||
// Get.toNamed(Routers.selectLockTypePage);
|
||||
logic.showToast("演示模式");
|
||||
}
|
||||
},
|
||||
@ -161,7 +171,7 @@ class _CheckingInListPageState extends State<CheckingInListPage> {
|
||||
builder: (context) {
|
||||
return ShowCalendar(
|
||||
datePickerMode: DatePickerMode.day,
|
||||
seletAction: (dateTime) {
|
||||
selectAction: (dateTime) {
|
||||
setState(() {
|
||||
state.checkListDateTimestamp.value = dateTime.millisecondsSinceEpoch;
|
||||
String beginDate = formatDate(dateTime, state.isDay.value ? [mm,'-',dd] : [mm]);
|
||||
@ -172,7 +182,7 @@ class _CheckingInListPageState extends State<CheckingInListPage> {
|
||||
});
|
||||
});
|
||||
}else{
|
||||
// Get.toNamed(Routers.seletLockTypePage);
|
||||
// Get.toNamed(Routers.selectLockTypePage);
|
||||
logic.showToast("演示模式");
|
||||
}
|
||||
},
|
||||
@ -295,7 +305,7 @@ class _CheckingInListPageState extends State<CheckingInListPage> {
|
||||
child: Row(
|
||||
children: [
|
||||
SizedBox(width: 30.w,),
|
||||
Text("1", style: TextStyle(fontSize: 20.sp),),
|
||||
Text("${index+1}", style: TextStyle(fontSize: 20.sp),),
|
||||
SizedBox(width: 20.w,),
|
||||
Image.asset('images/controls_user.png', width: 40.w, height: 40.w,),
|
||||
// Container(
|
||||
@ -333,7 +343,7 @@ class _CheckingInListPageState extends State<CheckingInListPage> {
|
||||
if(isDemoMode == false){
|
||||
showListType();
|
||||
}else{
|
||||
// Get.toNamed(Routers.seletLockTypePage);
|
||||
// Get.toNamed(Routers.selectLockTypePage);
|
||||
logic.showToast("演示模式");
|
||||
}
|
||||
},
|
||||
@ -387,4 +397,24 @@ class _CheckingInListPageState extends State<CheckingInListPage> {
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
String getTopImg(){
|
||||
if(state.listType.value == "1"){
|
||||
return "images/main/icon_lockDetail_checkInRanking_zd.png";
|
||||
}else if(state.listType.value == "2"){
|
||||
return "images/main/icon_lockDetail_checkInRanking_cd.png";
|
||||
}else{
|
||||
return "images/main/icon_lockDetail_checkInRanking_qf.png";
|
||||
}
|
||||
}
|
||||
|
||||
String getTopTitle(){
|
||||
if(state.listType.value == "1"){
|
||||
return "无考勤记录";
|
||||
}else if(state.listType.value == "2"){
|
||||
return "大家干劲十足";
|
||||
}else{
|
||||
return "工作时长未出炉";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,7 +1,10 @@
|
||||
|
||||
import 'package:get/get.dart';
|
||||
|
||||
import '../../../../network/api_repository.dart';
|
||||
import '../../../../tools/baseGetXController.dart';
|
||||
import '../../../../tools/dateTool.dart';
|
||||
import '../../../../tools/eventBusEventManage.dart';
|
||||
import 'checkingInSet_state.dart';
|
||||
|
||||
class CheckingInSetLogic extends BaseGetXController{
|
||||
@ -57,6 +60,17 @@ class CheckingInSetLogic extends BaseGetXController{
|
||||
}
|
||||
}
|
||||
|
||||
// 删除公司
|
||||
void deletCompanyData() async{
|
||||
var entity = await ApiRepository.to.deletCompanyData(
|
||||
companyId:state.checkingInSetInfo.value.companyId!,
|
||||
);
|
||||
if(entity.errorCode!.codeIsSuccessful){
|
||||
eventBus.fire(LockSetChangeSetRefreshLockDetailWithType(0, "0"));
|
||||
Get.close(2);
|
||||
}
|
||||
}
|
||||
|
||||
// late StreamSubscription _teamEvent;
|
||||
// void _initLoadDataAction() {
|
||||
// _teamEvent = eventBus.on<RefreshCheckInStaffListDataEvent>().listen((event) {
|
||||
|
||||
@ -1,3 +1,4 @@
|
||||
import 'package:flutter/cupertino.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter/services.dart';
|
||||
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
||||
@ -122,7 +123,9 @@ class _CheckingInSetPageState extends State<CheckingInSetPage> {
|
||||
isDelete: true,
|
||||
margin: EdgeInsets.only(left: 30.w, right: 30.w, top: 20.w),
|
||||
padding: EdgeInsets.only(top: 20.w, bottom: 20.w),
|
||||
onClick: () {}),
|
||||
onClick: () {
|
||||
showDeletCompanyAlertDialog(context);
|
||||
}),
|
||||
],
|
||||
),
|
||||
);
|
||||
@ -196,4 +199,30 @@ class _CheckingInSetPageState extends State<CheckingInSetPage> {
|
||||
);
|
||||
}
|
||||
|
||||
void showDeletCompanyAlertDialog(context) {
|
||||
showCupertinoDialog(
|
||||
context: context,
|
||||
builder: (context) {
|
||||
return CupertinoAlertDialog(
|
||||
title: const Text("提示"),
|
||||
content: const Text('是否删除?'),
|
||||
actions: [
|
||||
CupertinoDialogAction(
|
||||
child: Text(TranslationLoader.lanKeys!.cancel!.tr),
|
||||
onPressed: () {
|
||||
Get.back();
|
||||
},
|
||||
),
|
||||
CupertinoDialogAction(
|
||||
child: Text(TranslationLoader.lanKeys!.sure!.tr),
|
||||
onPressed: () {
|
||||
Get.back();
|
||||
logic.deletCompanyData();
|
||||
},
|
||||
),
|
||||
],
|
||||
);
|
||||
},
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@ -33,8 +33,8 @@ class _CheckingInSetWorkdaySetState extends State<CheckingInSetWorkdaySet> {
|
||||
body: ListView(
|
||||
children: [
|
||||
topBtnWidget(),
|
||||
Obx(() => Visibility(visible: state.isCustom.value, child: bottomCustomSeletBtn())),
|
||||
Obx(() => Visibility(visible: !state.isCustom.value, child: bottomOddOrEvenDaysOffSeletBtn())),
|
||||
Obx(() => Visibility(visible: state.isCustom.value, child: bottomCustomSelectBtn())),
|
||||
Obx(() => Visibility(visible: !state.isCustom.value, child: bottomOddOrEvenDaysOffSelectBtn())),
|
||||
SizedBox(height: 50.h,),
|
||||
Container(
|
||||
margin: EdgeInsets.only(left: 20.w, right: 20.w),
|
||||
@ -113,7 +113,7 @@ class _CheckingInSetWorkdaySetState extends State<CheckingInSetWorkdaySet> {
|
||||
);
|
||||
}
|
||||
|
||||
Widget bottomOddOrEvenDaysOffSeletBtn() {
|
||||
Widget bottomOddOrEvenDaysOffSelectBtn() {
|
||||
return Container(
|
||||
padding: EdgeInsets.only(left: 10.w, right: 10.w),
|
||||
child: Column(
|
||||
@ -138,7 +138,7 @@ class _CheckingInSetWorkdaySetState extends State<CheckingInSetWorkdaySet> {
|
||||
},
|
||||
child: Row(
|
||||
children: [
|
||||
Image.asset(state.isSingledayWeekend.value == 0 ? 'images/icon_round_selet.png' : 'images/icon_round_unSelet.png', width: 30.w, height: 30.w,),
|
||||
Image.asset(state.isSingledayWeekend.value == 0 ? 'images/icon_round_select.png' : 'images/icon_round_unSelect.png', width: 30.w, height: 30.w,),
|
||||
],
|
||||
),
|
||||
)
|
||||
@ -158,7 +158,7 @@ class _CheckingInSetWorkdaySetState extends State<CheckingInSetWorkdaySet> {
|
||||
},
|
||||
child: Row(
|
||||
children: [
|
||||
Image.asset(state.isSingledayWeekend.value == 1 ? 'images/icon_round_selet.png' : 'images/icon_round_unSelet.png', width: 30.w, height: 30.w,),
|
||||
Image.asset(state.isSingledayWeekend.value == 1 ? 'images/icon_round_select.png' : 'images/icon_round_unSelect.png', width: 30.w, height: 30.w,),
|
||||
],
|
||||
),
|
||||
)
|
||||
@ -168,7 +168,7 @@ class _CheckingInSetWorkdaySetState extends State<CheckingInSetWorkdaySet> {
|
||||
);
|
||||
}
|
||||
|
||||
Widget bottomCustomSeletBtn() {
|
||||
Widget bottomCustomSelectBtn() {
|
||||
return Container(
|
||||
padding: EdgeInsets.only(left: 10.w, right: 10.w),
|
||||
height: 420.h,
|
||||
@ -224,7 +224,7 @@ class _CheckingInSetWorkdaySetState extends State<CheckingInSetWorkdaySet> {
|
||||
},
|
||||
child: Obx(() => Row(
|
||||
children: [
|
||||
Image.asset(state.weekDays.value.contains(index) ? 'images/icon_round_selet.png' : 'images/icon_round_unSelet.png', width: 30.w, height: 30.w,),
|
||||
Image.asset(state.weekDays.value.contains(index) ? 'images/icon_round_select.png' : 'images/icon_round_unSelect.png', width: 30.w, height: 30.w,),
|
||||
],
|
||||
)))
|
||||
);
|
||||
|
||||
@ -1,14 +1,14 @@
|
||||
|
||||
class CheckingInAddStaffSeletKeyEntity {
|
||||
class CheckingInAddStaffSelectKeyEntity {
|
||||
int? errorCode;
|
||||
String? description;
|
||||
String? errorMsg;
|
||||
List<CheckingInAddStaffKeyEntity>? data;
|
||||
|
||||
CheckingInAddStaffSeletKeyEntity(
|
||||
CheckingInAddStaffSelectKeyEntity(
|
||||
{this.errorCode, this.description, this.errorMsg, this.data});
|
||||
|
||||
CheckingInAddStaffSeletKeyEntity.fromJson(Map<String, dynamic> json) {
|
||||
CheckingInAddStaffSelectKeyEntity.fromJson(Map<String, dynamic> json) {
|
||||
errorCode = json['errorCode'];
|
||||
description = json['description'];
|
||||
errorMsg = json['errorMsg'];
|
||||
@ -49,4 +49,4 @@ class CheckingInAddStaffKeyEntity {
|
||||
data['staffName'] = staffName;
|
||||
return data;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -4,10 +4,10 @@ import 'package:get/get.dart';
|
||||
import 'package:star_lock/tools/baseGetXController.dart';
|
||||
import '../../../../../network/api_repository.dart';
|
||||
import '../../../../../tools/eventBusEventManage.dart';
|
||||
import 'checkingInAddStaffSeletKey_entity.dart';
|
||||
import 'checkingInAddStaffSelectKey_entity.dart';
|
||||
import 'checkingInAddStaff_state.dart';
|
||||
|
||||
typedef KeyClickCallback = void Function(List<CheckingInAddStaffKeyEntity> seletKeyList);
|
||||
typedef KeyClickCallback = void Function(List<CheckingInAddStaffKeyEntity> selectKeyList);
|
||||
class CheckingInAddStaffLogic extends BaseGetXController{
|
||||
CheckingInAddStaffState state = CheckingInAddStaffState();
|
||||
|
||||
@ -25,7 +25,7 @@ class CheckingInAddStaffLogic extends BaseGetXController{
|
||||
void addStaffLoadData() async{
|
||||
var attendanceWay = "";
|
||||
var usernameType = "1";
|
||||
switch(int.parse(state.seletPrintingMethodType.value)){
|
||||
switch(int.parse(state.selectPrintingMethodType.value)){
|
||||
case 1:
|
||||
// 打卡方式APP
|
||||
if(state.appUnHaveAccount.value){
|
||||
@ -41,7 +41,7 @@ class CheckingInAddStaffLogic extends BaseGetXController{
|
||||
return;
|
||||
}
|
||||
}else {
|
||||
attendanceWay = state.seletKey.value;
|
||||
attendanceWay = state.selectKey.value;
|
||||
|
||||
if(attendanceWay.isEmpty){
|
||||
showToast("请选择员工钥匙");
|
||||
@ -62,7 +62,7 @@ class CheckingInAddStaffLogic extends BaseGetXController{
|
||||
}
|
||||
|
||||
var entity = await ApiRepository.to.addStaffData(
|
||||
attendanceType: state.seletPrintingMethodType.value,
|
||||
attendanceType: state.selectPrintingMethodType.value,
|
||||
attendanceWay: attendanceWay,
|
||||
companyId: state.companyId.value,
|
||||
have: state.appUnHaveAccount.value ? "2" : "1",
|
||||
@ -78,10 +78,10 @@ class CheckingInAddStaffLogic extends BaseGetXController{
|
||||
}
|
||||
|
||||
// 考勤设置添加员工-选择钥匙 1为APP,2为密码,3为卡,4为指纹,返回数据中,attendanceWay分别为用户名、密码、卡号、指纹号
|
||||
void addStaffSeletKey(KeyClickCallback kyClickCallback) async{
|
||||
var entity = await ApiRepository.to.addStaffSeletKeyData(
|
||||
void addStaffSelectKey(KeyClickCallback kyClickCallback) async{
|
||||
var entity = await ApiRepository.to.addStaffSelectKeyData(
|
||||
companyId: state.companyId.value,
|
||||
type:state.seletPrintingMethodType.value,
|
||||
type:state.selectPrintingMethodType.value,
|
||||
);
|
||||
if(entity.errorCode!.codeIsSuccessful){
|
||||
state.keyEntity.value = entity.data!;
|
||||
@ -93,7 +93,7 @@ class CheckingInAddStaffLogic extends BaseGetXController{
|
||||
void editStaffLoadData() async{
|
||||
var attendanceWay = "";
|
||||
var usernameType = "1";
|
||||
switch(int.parse(state.seletPrintingMethodType.value)){
|
||||
switch(int.parse(state.selectPrintingMethodType.value)){
|
||||
case 1:
|
||||
// 打卡方式APP
|
||||
if(state.appUnHaveAccount.value){
|
||||
@ -109,7 +109,7 @@ class CheckingInAddStaffLogic extends BaseGetXController{
|
||||
return;
|
||||
}
|
||||
}else {
|
||||
attendanceWay = state.seletKey.value;
|
||||
attendanceWay = state.selectKey.value;
|
||||
|
||||
if(attendanceWay.isEmpty){
|
||||
showToast("请选择员工钥匙");
|
||||
@ -130,7 +130,7 @@ class CheckingInAddStaffLogic extends BaseGetXController{
|
||||
}
|
||||
|
||||
var entity = await ApiRepository.to.editStaffData(
|
||||
attendanceType: state.seletPrintingMethodType.value,
|
||||
attendanceType: state.selectPrintingMethodType.value,
|
||||
attendanceWay: attendanceWay,
|
||||
staffId: state.staffListItemData.value.staffId.toString(),
|
||||
have: state.appUnHaveAccount.value ? "2" : "1",
|
||||
@ -212,4 +212,4 @@ class CheckingInAddStaffLogic extends BaseGetXController{
|
||||
_getNumberEvent!.cancel();
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@ -44,12 +44,12 @@ class _CheckingInAddStaffPageState extends State<CheckingInAddStaffPage> {
|
||||
state.staffNameController)),
|
||||
Obx(() => CommonItem(
|
||||
leftTitel: TranslationLoader.lanKeys!.punchingMode!.tr,
|
||||
rightTitle: state.seletPrintingMethodStr.value,
|
||||
rightTitle: state.selectPrintingMethodStr.value,
|
||||
isHaveLine: false,
|
||||
isHaveDirection: true,
|
||||
action: () {
|
||||
var list = ["APP", "密码", "卡", "指纹"];
|
||||
_showSeletClockInType(list, "1");
|
||||
_showSelectClockInType(list, "1");
|
||||
})),
|
||||
SizedBox(
|
||||
height: 10.h,
|
||||
@ -82,7 +82,7 @@ class _CheckingInAddStaffPageState extends State<CheckingInAddStaffPage> {
|
||||
// 当选择App时显示 其他隐藏
|
||||
Obx(() => Visibility(
|
||||
visible: (state.appUnHaveAccount.value &&
|
||||
state.seletPrintingMethodType.value == "1")
|
||||
state.selectPrintingMethodType.value == "1")
|
||||
? true
|
||||
: false,
|
||||
child: Column(
|
||||
@ -111,7 +111,7 @@ class _CheckingInAddStaffPageState extends State<CheckingInAddStaffPage> {
|
||||
),
|
||||
action: () async {
|
||||
var result = await Navigator.pushNamed(
|
||||
context, Routers.seletCountryRegionPage);
|
||||
context, Routers.selectCountryRegionPage);
|
||||
if (result != null) {
|
||||
result as Map<String, dynamic>;
|
||||
state.countryCode.value = result['code'];
|
||||
@ -125,8 +125,7 @@ class _CheckingInAddStaffPageState extends State<CheckingInAddStaffPage> {
|
||||
)),
|
||||
// 当选择密码、卡、指纹时显示
|
||||
Obx(() => Visibility(
|
||||
visible: (state.seletPrintingMethodType.value != "1" &&
|
||||
state.appUnHaveAccount.value)
|
||||
visible: (state.selectPrintingMethodType.value != "1" && state.appUnHaveAccount.value)
|
||||
? true
|
||||
: false,
|
||||
child: CommonItem(
|
||||
@ -135,24 +134,21 @@ class _CheckingInAddStaffPageState extends State<CheckingInAddStaffPage> {
|
||||
isHaveRightWidget: true,
|
||||
rightWidget: Row(
|
||||
children: [
|
||||
Obx(() => Text(state.getDataPassword.value,
|
||||
style: TextStyle(fontSize: 24.sp))),
|
||||
Obx(() => Text(state.getDataPassword.value, style: TextStyle(fontSize: 24.sp))),
|
||||
SizedBox(width: 30.w),
|
||||
SizedBox(
|
||||
width: 30.w,
|
||||
),
|
||||
SizedBox(
|
||||
width: 130.w,
|
||||
width: 150.w,
|
||||
height: 40.h,
|
||||
child: ElevatedButton(
|
||||
style: ElevatedButton.styleFrom(
|
||||
backgroundColor: AppColors.mainColor,
|
||||
),
|
||||
child: Text(addStaffSeletKeyType(),
|
||||
child: Text(addStaffSelectKeyType(),
|
||||
style: TextStyle(
|
||||
color: Colors.white, fontSize: 22.sp)),
|
||||
onPressed: () async {
|
||||
switch (int.parse(
|
||||
state.seletPrintingMethodType.value)) {
|
||||
state.selectPrintingMethodType.value)) {
|
||||
case 2:
|
||||
// 获取密码
|
||||
logic.getKeyboardPwdRequest();
|
||||
@ -210,16 +206,16 @@ class _CheckingInAddStaffPageState extends State<CheckingInAddStaffPage> {
|
||||
visible: !state.appUnHaveAccount.value,
|
||||
child: CommonItem(
|
||||
leftTitel: addStaffGetKeyType(),
|
||||
rightTitle: state.seletKey.value,
|
||||
rightTitle: state.selectKey.value,
|
||||
isHaveLine: false,
|
||||
isHaveDirection: true,
|
||||
action: () {
|
||||
logic.addStaffSeletKey((v) {
|
||||
logic.addStaffSelectKey((v) {
|
||||
var list = [];
|
||||
for (var element in v) {
|
||||
list.add(element.attendanceWay);
|
||||
}
|
||||
_showSeletClockInType(list, "2");
|
||||
_showSelectClockInType(list, "2");
|
||||
});
|
||||
}),
|
||||
)),
|
||||
@ -283,7 +279,7 @@ class _CheckingInAddStaffPageState extends State<CheckingInAddStaffPage> {
|
||||
}
|
||||
|
||||
// type 1 打卡方式 2选择钥匙
|
||||
void _showSeletClockInType(List list, String type) {
|
||||
void _showSelectClockInType(List list, String type) {
|
||||
ShowBottomSheetTool().showSingleRowPicker(
|
||||
//上下文
|
||||
context,
|
||||
@ -300,14 +296,14 @@ class _CheckingInAddStaffPageState extends State<CheckingInAddStaffPage> {
|
||||
clickCallBack: (int index, var str) {
|
||||
setState(() {
|
||||
if (type == "1") {
|
||||
state.seletPrintingMethodType.value = (index + 1).toString();
|
||||
state.seletPrintingMethodStr.value = str.toString();
|
||||
state.selectPrintingMethodType.value = (index + 1).toString();
|
||||
state.selectPrintingMethodStr.value = str.toString();
|
||||
state.getDataPassword.value = "";
|
||||
} else {
|
||||
state.seletKey.value = str.toString();
|
||||
state.selectKey.value = str.toString();
|
||||
}
|
||||
print(
|
||||
"object:$index str:$str type:$type state.seletPrintingMethodType.value:${state.seletPrintingMethodType.value}");
|
||||
"object:$index str:$str type:$type state.selectPrintingMethodType.value:${state.selectPrintingMethodType.value}");
|
||||
});
|
||||
});
|
||||
}
|
||||
@ -320,8 +316,8 @@ class _CheckingInAddStaffPageState extends State<CheckingInAddStaffPage> {
|
||||
children: [
|
||||
Image.asset(
|
||||
appUnHaveAccount
|
||||
? 'images/icon_round_selet.png'
|
||||
: 'images/icon_round_unSelet.png',
|
||||
? 'images/icon_round_select.png'
|
||||
: 'images/icon_round_unSelect.png',
|
||||
width: 26.w,
|
||||
height: 26.w,
|
||||
),
|
||||
@ -341,7 +337,7 @@ class _CheckingInAddStaffPageState extends State<CheckingInAddStaffPage> {
|
||||
|
||||
String addStaffGetIfHaveKey() {
|
||||
String title = "";
|
||||
switch (int.parse(state.seletPrintingMethodType.value)) {
|
||||
switch (int.parse(state.selectPrintingMethodType.value)) {
|
||||
case 1:
|
||||
title = TranslationLoader.lanKeys!.whetherTheEmployeeHasAKey!.tr;
|
||||
break;
|
||||
@ -360,7 +356,7 @@ class _CheckingInAddStaffPageState extends State<CheckingInAddStaffPage> {
|
||||
|
||||
String addStaffGetKeyType() {
|
||||
String title = "";
|
||||
switch (int.parse(state.seletPrintingMethodType.value)) {
|
||||
switch (int.parse(state.selectPrintingMethodType.value)) {
|
||||
case 1:
|
||||
title = TranslationLoader.lanKeys!.accountNumber!.tr;
|
||||
break;
|
||||
@ -377,9 +373,9 @@ class _CheckingInAddStaffPageState extends State<CheckingInAddStaffPage> {
|
||||
return title;
|
||||
}
|
||||
|
||||
String addStaffSeletKeyType() {
|
||||
String addStaffSelectKeyType() {
|
||||
String title = "";
|
||||
switch (int.parse(state.seletPrintingMethodType.value)) {
|
||||
switch (int.parse(state.selectPrintingMethodType.value)) {
|
||||
case 1:
|
||||
title = TranslationLoader.lanKeys!.getKey!.tr;
|
||||
break;
|
||||
|
||||
@ -4,7 +4,7 @@ import 'package:get/get.dart';
|
||||
|
||||
import '../../../../lockMian/entity/lockListInfo_entity.dart';
|
||||
import '../checkingInSetStaffList/checkingInStaffList_entity.dart';
|
||||
import 'checkingInAddStaffSeletKey_entity.dart';
|
||||
import 'checkingInAddStaffSelectKey_entity.dart';
|
||||
|
||||
class CheckingInAddStaffState{
|
||||
final getKeyInfosData = LockListInfoItemEntity().obs;
|
||||
@ -14,15 +14,15 @@ class CheckingInAddStaffState{
|
||||
final TextEditingController staffNameController = TextEditingController();
|
||||
final TextEditingController staffAccountController = TextEditingController();
|
||||
|
||||
final seletPrintingMethodType = "1".obs;// 选择打卡类型
|
||||
final seletPrintingMethodStr = "APP".obs;// 选择打卡类型字符串
|
||||
final selectPrintingMethodType = "1".obs;// 选择打卡类型
|
||||
final selectPrintingMethodStr = "APP".obs;// 选择打卡类型字符串
|
||||
|
||||
final countryName = "中国".obs;
|
||||
final countryCode = "86".obs;
|
||||
|
||||
final appUnHaveAccount = true.obs;// 默认没有账号
|
||||
final keyEntity = <CheckingInAddStaffKeyEntity>[].obs;// 选择钥匙数据
|
||||
final seletKey = "".obs;
|
||||
final selectKey = "".obs;
|
||||
|
||||
final isAdd = "1".obs; // 1添加 2编辑
|
||||
final getDataPassword = "".obs;
|
||||
@ -37,29 +37,29 @@ class CheckingInAddStaffState{
|
||||
staffListItemData.value = map["staffListItem"];
|
||||
staffNameController.text = staffListItemData.value.staffName!;
|
||||
|
||||
seletPrintingMethodType.value = staffListItemData.value.attendanceType.toString();
|
||||
selectPrintingMethodType.value = staffListItemData.value.attendanceType.toString();
|
||||
switch(staffListItemData.value.attendanceType){
|
||||
case 1:
|
||||
seletPrintingMethodStr.value = "APP";
|
||||
selectPrintingMethodStr.value = "APP";
|
||||
break;
|
||||
case 2:
|
||||
seletPrintingMethodStr.value = "密码";
|
||||
selectPrintingMethodStr.value = "密码";
|
||||
break;
|
||||
case 3:
|
||||
seletPrintingMethodStr.value = "卡";
|
||||
selectPrintingMethodStr.value = "卡";
|
||||
break;
|
||||
case 4:
|
||||
seletPrintingMethodStr.value = "指纹";
|
||||
selectPrintingMethodStr.value = "指纹";
|
||||
break;
|
||||
}
|
||||
|
||||
if(staffListItemData.value.attendanceWay!.isNotEmpty){
|
||||
appUnHaveAccount.value = false;
|
||||
seletKey.value = staffListItemData.value.attendanceWay!;
|
||||
selectKey.value = staffListItemData.value.attendanceWay!;
|
||||
}else{
|
||||
appUnHaveAccount.value = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@ -36,7 +36,7 @@ class CheckingInAddStaffListItemEntity {
|
||||
String? staffName;
|
||||
int? staffId;
|
||||
int? attendanceType;
|
||||
String? countryCode;
|
||||
int? countryCode;
|
||||
String? attendanceWay;
|
||||
|
||||
CheckingInAddStaffListItemEntity(
|
||||
|
||||
@ -47,7 +47,7 @@ class _DoorLockLogPageState extends State<DoorLockLogPage> {
|
||||
var isDemoMode = await Storage.getBool(ifIsDemoModeOrNot);
|
||||
if (isDemoMode == false) {
|
||||
} else {
|
||||
// Get.toNamed(Routers.seletLockTypePage);
|
||||
// Get.toNamed(Routers.selectLockTypePage);
|
||||
logic.showToast("演示模式");
|
||||
}
|
||||
},
|
||||
|
||||
@ -248,7 +248,7 @@ class _MassSendElectronicKeyPageState extends State<MassSendElectronicKeyPage> {
|
||||
),
|
||||
action: () async {
|
||||
var result = await Navigator.pushNamed(
|
||||
context, Routers.seletCountryRegionPage);
|
||||
context, Routers.selectCountryRegionPage);
|
||||
if (result != null) {
|
||||
result as Map<String, dynamic>;
|
||||
countryCode = result['code'];
|
||||
@ -260,7 +260,7 @@ class _MassSendElectronicKeyPageState extends State<MassSendElectronicKeyPage> {
|
||||
CommonItem(
|
||||
leftTitel: TranslationLoader.lanKeys!.lock!.tr,
|
||||
rightTitle: _lockIdList.isEmpty
|
||||
? TranslationLoader.lanKeys!.pleaseSelet!.tr
|
||||
? TranslationLoader.lanKeys!.pleaseSelect!.tr
|
||||
: _lockIdList.length.toString(),
|
||||
isHaveDirection: true,
|
||||
action: () {
|
||||
|
||||
@ -201,8 +201,8 @@ class _LockUserListPageState extends State<LockUserListPage> {
|
||||
},
|
||||
child: Image.asset(
|
||||
itemData.isCheck!
|
||||
? 'images/icon_round_selet.png'
|
||||
: 'images/icon_round_unSelet.png',
|
||||
? 'images/icon_round_select.png'
|
||||
: 'images/icon_round_unSelect.png',
|
||||
width: 30.w,
|
||||
height: 30.w,
|
||||
)),
|
||||
|
||||
@ -66,8 +66,8 @@ class massSendLockGroupCell extends StatelessWidget {
|
||||
)),
|
||||
Image.asset(
|
||||
itemData.isChecked
|
||||
? "images/icon_round_selet.png"
|
||||
: "images/icon_round_unSelet.png",
|
||||
? "images/icon_round_select.png"
|
||||
: "images/icon_round_unSelect.png",
|
||||
width: 30.w,
|
||||
height: 30.w,
|
||||
),
|
||||
|
||||
@ -123,15 +123,15 @@ class _MassSendLockGroupListPageState extends State<MassSendLockGroupListPage> {
|
||||
// clickIndex = index;
|
||||
//是否选中组
|
||||
if (itemData.isChecked) {
|
||||
var seletList = itemData.lockList;
|
||||
for(LockListItem lockListItem in seletList!){
|
||||
var selectList = itemData.lockList;
|
||||
for(LockListItem lockListItem in selectList!){
|
||||
lockListItem.isChecked = true;
|
||||
selectLockIdList.add(lockListItem.lockId);
|
||||
}
|
||||
// lockItemList[selectIndex] =
|
||||
}else{
|
||||
var seletList = itemData.lockList;
|
||||
for(LockListItem lockListItem in seletList!){
|
||||
var selectList = itemData.lockList;
|
||||
for(LockListItem lockListItem in selectList!){
|
||||
lockListItem.isChecked = false;
|
||||
selectLockIdList.remove(lockListItem.lockId);
|
||||
}
|
||||
|
||||
@ -80,7 +80,7 @@ class _MassSendReceiverPageState extends State<MassSendReceiverPage> {
|
||||
),
|
||||
action: () async {
|
||||
var result = await Navigator.pushNamed(
|
||||
context, Routers.seletCountryRegionPage);
|
||||
context, Routers.selectCountryRegionPage);
|
||||
if (result != null) {
|
||||
result as Map<String, dynamic>;
|
||||
countryCode = result['code'];
|
||||
|
||||
@ -106,7 +106,7 @@ class SendElectronicKeyLogic extends BaseGetXController {
|
||||
),
|
||||
CupertinoDialogAction(
|
||||
child: Text(
|
||||
TranslationLoader.lanKeys!.selet!.tr,
|
||||
TranslationLoader.lanKeys!.select!.tr,
|
||||
style: TextStyle(color: AppColors.mainColor),
|
||||
),
|
||||
onPressed: () async {
|
||||
@ -114,7 +114,7 @@ class SendElectronicKeyLogic extends BaseGetXController {
|
||||
state.isCreateUser.value = true;
|
||||
Navigator.of(context).pop();
|
||||
|
||||
var result = await Get.toNamed(Routers.seletCountryRegionPage);
|
||||
var result = await Get.toNamed(Routers.selectCountryRegionPage);
|
||||
if (result != null) {
|
||||
result as Map<String, dynamic>;
|
||||
state.countryCode.value = result['code'];
|
||||
|
||||
@ -139,7 +139,7 @@ class _SendElectronicKeyPageState extends State<SendElectronicKeyPage> {
|
||||
),
|
||||
action: () async {
|
||||
var result = await Navigator.pushNamed(
|
||||
context, Routers.seletCountryRegionPage);
|
||||
context, Routers.selectCountryRegionPage);
|
||||
if (result != null) {
|
||||
result as Map<String, dynamic>;
|
||||
state.countryCode.value = result['code'];
|
||||
|
||||
@ -21,9 +21,9 @@ class _AddFaceTypeManageTabbarState extends State<AddFaceTypeManageTabbar> with
|
||||
late TabController _tabController;
|
||||
|
||||
final List<ItemView> _itemTabs = <ItemView>[
|
||||
ItemView(title: TranslationLoader.lanKeys!.permanent!.tr, seletType: "0"),
|
||||
ItemView(title: TranslationLoader.lanKeys!.timeLimit!.tr, seletType: "1"),
|
||||
ItemView(title: TranslationLoader.lanKeys!.circulation!.tr, seletType: "2"),
|
||||
ItemView(title: TranslationLoader.lanKeys!.permanent!.tr, selectType: "0"),
|
||||
ItemView(title: TranslationLoader.lanKeys!.timeLimit!.tr, selectType: "1"),
|
||||
ItemView(title: TranslationLoader.lanKeys!.circulation!.tr, selectType: "2"),
|
||||
];
|
||||
|
||||
@override
|
||||
@ -83,7 +83,7 @@ class _AddFaceTypeManageTabbarState extends State<AddFaceTypeManageTabbar> with
|
||||
child: TabBarView(
|
||||
controller: _tabController,
|
||||
children: _itemTabs
|
||||
.map((ItemView item) => AddFaceTypePage(seletType: item.seletType,))
|
||||
.map((ItemView item) => AddFaceTypePage(selectType: item.selectType,))
|
||||
.toList(),
|
||||
),
|
||||
);
|
||||
@ -91,8 +91,8 @@ class _AddFaceTypeManageTabbarState extends State<AddFaceTypeManageTabbar> with
|
||||
}
|
||||
|
||||
class ItemView {
|
||||
const ItemView({required this.title, required this.seletType});
|
||||
const ItemView({required this.title, required this.selectType});
|
||||
|
||||
final String title;
|
||||
final String seletType;
|
||||
final String selectType;
|
||||
}
|
||||
|
||||
@ -14,9 +14,9 @@ import '../../../../translations/trans_lib.dart';
|
||||
import 'addFaceType_logic.dart';
|
||||
|
||||
class AddFaceTypePage extends StatefulWidget {
|
||||
final String seletType;
|
||||
final String selectType;
|
||||
|
||||
const AddFaceTypePage({Key? key, required this.seletType}) : super(key: key);
|
||||
const AddFaceTypePage({Key? key, required this.selectType}) : super(key: key);
|
||||
|
||||
@override
|
||||
State<AddFaceTypePage> createState() => _AddFaceTypePageState();
|
||||
@ -32,7 +32,7 @@ class _AddFaceTypePageState extends State<AddFaceTypePage> {
|
||||
}
|
||||
|
||||
Widget indexChangeWidget() {
|
||||
switch (int.parse(widget.seletType)) {
|
||||
switch (int.parse(widget.selectType)) {
|
||||
case 0:
|
||||
{
|
||||
// 永久
|
||||
@ -176,14 +176,14 @@ class _AddFaceTypePageState extends State<AddFaceTypePage> {
|
||||
onClick: () async {
|
||||
var isDemoMode = await Storage.getBool(ifIsDemoModeOrNot);
|
||||
if (isDemoMode == false) {
|
||||
// print("state.seletType:${state.seletType.value}");
|
||||
// print("state.selectType:${state.selectType.value}");
|
||||
if (state.nameController.text.isEmpty) {
|
||||
logic.showToast("请输入姓名");
|
||||
return;
|
||||
}
|
||||
logic.checkFaceNameDuplicated(state.nameController.text);
|
||||
} else {
|
||||
// Get.toNamed(Routers.seletLockTypePage);
|
||||
// Get.toNamed(Routers.selectLockTypePage);
|
||||
logic.showToast("演示模式");
|
||||
}
|
||||
}),
|
||||
|
||||
@ -46,7 +46,7 @@ class _FaceListState extends State<FaceList> {
|
||||
if (isDemoMode == false) {
|
||||
showDeletAlertDialog(context);
|
||||
} else {
|
||||
// Get.toNamed(Routers.seletLockTypePage);
|
||||
// Get.toNamed(Routers.selectLockTypePage);
|
||||
logic.showToast("演示模式");
|
||||
}
|
||||
},
|
||||
|
||||
@ -25,9 +25,9 @@ class _AddFingerprintTypeManageTabbarState extends State<AddFingerprintTypeManag
|
||||
late TabController _tabController;
|
||||
|
||||
final List<ItemView> _itemTabs = <ItemView>[
|
||||
ItemView(title: TranslationLoader.lanKeys!.permanent!.tr, seletType: "0"),
|
||||
ItemView(title: TranslationLoader.lanKeys!.timeLimit!.tr, seletType: "1"),
|
||||
ItemView(title: TranslationLoader.lanKeys!.circulation!.tr, seletType: "2"),
|
||||
ItemView(title: TranslationLoader.lanKeys!.permanent!.tr, selectType: "0"),
|
||||
ItemView(title: TranslationLoader.lanKeys!.timeLimit!.tr, selectType: "1"),
|
||||
ItemView(title: TranslationLoader.lanKeys!.circulation!.tr, selectType: "2"),
|
||||
];
|
||||
|
||||
@override
|
||||
@ -97,7 +97,7 @@ class _AddFingerprintTypeManageTabbarState extends State<AddFingerprintTypeManag
|
||||
controller: _tabController,
|
||||
children: _itemTabs
|
||||
.map((ItemView item) => AddFingerprintTypePage(
|
||||
seletType: item.seletType,
|
||||
selectType: item.selectType,
|
||||
lockId: widget.lockId,
|
||||
fromType: widget.fromType,
|
||||
fromTypeTwoStaffName:widget.fromTypeTwoStaffName
|
||||
@ -109,8 +109,8 @@ class _AddFingerprintTypeManageTabbarState extends State<AddFingerprintTypeManag
|
||||
}
|
||||
|
||||
class ItemView {
|
||||
const ItemView({required this.title, required this.seletType});
|
||||
const ItemView({required this.title, required this.selectType});
|
||||
|
||||
final String title;
|
||||
final String seletType;
|
||||
}
|
||||
final String selectType;
|
||||
}
|
||||
@ -13,11 +13,11 @@ class AddFingerprintTypeLogic extends BaseGetXController{
|
||||
var fingerprintType = 0; // 永久:1;限时2,单次3,循环:4
|
||||
var startDate = "";
|
||||
var endDate = "";
|
||||
if (state.seletType.value == "0") {
|
||||
if (state.selectType.value == "0") {
|
||||
fingerprintType = 1;
|
||||
startDate = "0";
|
||||
endDate = "0";
|
||||
} else if (state.seletType.value == "1") {
|
||||
} else if (state.selectType.value == "1") {
|
||||
fingerprintType = 2;
|
||||
if (state.beginTimeTimestamp.value.isEmpty) {
|
||||
showToast("请选择开始时间");
|
||||
@ -41,7 +41,7 @@ class AddFingerprintTypeLogic extends BaseGetXController{
|
||||
|
||||
startDate = state.beginTimeTimestamp.value;
|
||||
endDate = state.endTimeTimestamp.value;
|
||||
} else if (state.seletType.value == "2") {
|
||||
} else if (state.selectType.value == "2") {
|
||||
if (state.effectiveDateTime.value <= 0) {
|
||||
showToast("请选择生效时间");
|
||||
return;
|
||||
@ -98,4 +98,4 @@ class AddFingerprintTypeLogic extends BaseGetXController{
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
@ -15,14 +15,14 @@ import '../../../../translations/trans_lib.dart';
|
||||
import 'addFingerprintType_logic.dart';
|
||||
|
||||
class AddFingerprintTypePage extends StatefulWidget {
|
||||
final String seletType; // 永久限时循环下标
|
||||
final String selectType; // 永久限时循环下标
|
||||
final int lockId;
|
||||
final int fromType; // // 1从添加钥匙列表进入 2从考勤添加员工入口进入
|
||||
final String fromTypeTwoStaffName; // 从添加员工进入 传入员工名字
|
||||
|
||||
const AddFingerprintTypePage(
|
||||
{Key? key,
|
||||
required this.seletType,
|
||||
required this.selectType,
|
||||
required this.lockId,
|
||||
required this.fromType,
|
||||
required this.fromTypeTwoStaffName})
|
||||
@ -38,7 +38,7 @@ class _AddFingerprintTypePageState extends State<AddFingerprintTypePage> {
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
state.seletType.value = widget.seletType;
|
||||
state.selectType.value = widget.selectType;
|
||||
state.lockId.value = widget.lockId;
|
||||
// state.nameController.text = widget.fromTypeTwoStaffName;
|
||||
|
||||
@ -49,7 +49,7 @@ class _AddFingerprintTypePageState extends State<AddFingerprintTypePage> {
|
||||
}
|
||||
|
||||
Widget indexChangeWidget() {
|
||||
switch (int.parse(widget.seletType)) {
|
||||
switch (int.parse(widget.selectType)) {
|
||||
case 0:
|
||||
{
|
||||
// 永久
|
||||
@ -193,14 +193,14 @@ class _AddFingerprintTypePageState extends State<AddFingerprintTypePage> {
|
||||
onClick: () async {
|
||||
var isDemoMode = await Storage.getBool(ifIsDemoModeOrNot);
|
||||
if (isDemoMode == false) {
|
||||
// print("state.seletType:${state.seletType.value}");
|
||||
// print("state.selectType:${state.selectType.value}");
|
||||
if (state.nameController.text.isEmpty) {
|
||||
logic.showToast("请输入姓名");
|
||||
return;
|
||||
}
|
||||
logic.checkFingerprintNameDuplicated(state.nameController.text);
|
||||
} else {
|
||||
// Get.toNamed(Routers.seletLockTypePage);
|
||||
// Get.toNamed(Routers.selectLockTypePage);
|
||||
logic.showToast("演示模式");
|
||||
}
|
||||
}),
|
||||
@ -4,7 +4,7 @@ import 'package:get/get.dart';
|
||||
|
||||
class AddFingerprintState{
|
||||
final lockId = 0.obs;
|
||||
final seletType = "0".obs;// 0永久 1显示 2循环
|
||||
final selectType = "0".obs;// 0永久 1显示 2循环
|
||||
final fromType = 1.obs; // // 1从添加钥匙列表进入 2从考勤添加员工入口进入
|
||||
final isStressFingerprint = false.obs;
|
||||
|
||||
@ -23,4 +23,4 @@ class AddFingerprintState{
|
||||
// lockId.value = map["lockId"];
|
||||
// fromType.value = map["fromType"];
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -50,7 +50,7 @@ class _FingerprintListPageState extends State<FingerprintListPage> with RouteAwa
|
||||
if (isDemoMode == false) {
|
||||
showDeletAlertDialog(context);
|
||||
} else {
|
||||
// Get.toNamed(Routers.seletLockTypePage);
|
||||
// Get.toNamed(Routers.selectLockTypePage);
|
||||
logic.showToast("演示模式");
|
||||
}
|
||||
},
|
||||
|
||||
@ -1,6 +0,0 @@
|
||||
|
||||
import 'package:get/get.dart';
|
||||
|
||||
class LockEscalationState{
|
||||
|
||||
}
|
||||
@ -594,8 +594,7 @@ class LockDetailLogic extends BaseGetXController {
|
||||
|
||||
// 获取手机联网token,根据锁设置里面获取的开锁时是否联网来判断是否调用这个接口
|
||||
void getLockNetToken() async {
|
||||
LockNetTokenEntity entity = await ApiRepository.to
|
||||
.getLockNetToken(lockId: state.keyInfos.value.lockId.toString());
|
||||
LockNetTokenEntity entity = await ApiRepository.to.getLockNetToken(lockId: state.keyInfos.value.lockId.toString());
|
||||
if (entity.errorCode!.codeIsSuccessful) {
|
||||
state.lockNetToken = entity.data!.token!;
|
||||
print("state.lockNetToken:${state.lockNetToken}");
|
||||
|
||||
@ -59,7 +59,7 @@ class _LockOperatingRecordPageState extends State<LockOperatingRecordPage> {
|
||||
|
||||
_openModalBottomSheet();
|
||||
}else{
|
||||
// Get.toNamed(Routers.seletLockTypePage);
|
||||
// Get.toNamed(Routers.selectLockTypePage);
|
||||
logic.showToast("演示模式");
|
||||
}
|
||||
},
|
||||
|
||||
@ -5,7 +5,6 @@ import 'package:flutter_reactive_ble/flutter_reactive_ble.dart';
|
||||
import 'package:star_lock/blue/io_protocol/io_setSupportFunctionsWithParameters.dart';
|
||||
import 'package:star_lock/tools/baseGetXController.dart';
|
||||
import '../../../../blue/blue_manage.dart';
|
||||
import '../../../../blue/io_protocol/io_readSupportFunctionsWithParameters.dart';
|
||||
import '../../../../blue/io_reply.dart';
|
||||
import '../../../../blue/io_tool/io_tool.dart';
|
||||
import '../../../../blue/io_tool/manager_event_bus.dart';
|
||||
@ -59,43 +58,43 @@ class AutomaticBlockingLogic extends BaseGetXController{
|
||||
}
|
||||
|
||||
// 读取支持功能(带参数)
|
||||
if(reply is ReadSupportFunctionsWithParametersReply) {
|
||||
_readSupportFunctionsWithParametersReply(reply);
|
||||
}
|
||||
// if(reply is ReadSupportFunctionsWithParametersReply) {
|
||||
// _readSupportFunctionsWithParametersReply(reply);
|
||||
// }
|
||||
});
|
||||
}
|
||||
|
||||
// 读取支持功能带参数数据解析
|
||||
Future<void> _readSupportFunctionsWithParametersReply(Reply reply) async {
|
||||
int status = reply.data[2];
|
||||
switch(status){
|
||||
case 0x00:
|
||||
//成功
|
||||
print("${reply.commandType}数据解析成功");
|
||||
state.autoLockTime.value = reply.data[7].toString();
|
||||
break;
|
||||
case 0x06:
|
||||
//无权限
|
||||
print("${reply.commandType}需要鉴权");
|
||||
|
||||
break;
|
||||
case 0x07:
|
||||
//无权限
|
||||
print("${reply.commandType}用户无权限");
|
||||
|
||||
break;
|
||||
case 0x09:
|
||||
// 权限校验错误
|
||||
print("${reply.commandType}权限校验错误");
|
||||
|
||||
break;
|
||||
default:
|
||||
//失败
|
||||
print("${reply.commandType}失败");
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
// Future<void> _readSupportFunctionsWithParametersReply(Reply reply) async {
|
||||
// int status = reply.data[2];
|
||||
// switch(status){
|
||||
// case 0x00:
|
||||
// //成功
|
||||
// print("${reply.commandType}数据解析成功");
|
||||
// state.autoLockTime.value = reply.data[7].toString();
|
||||
// break;
|
||||
// case 0x06:
|
||||
// //无权限
|
||||
// print("${reply.commandType}需要鉴权");
|
||||
//
|
||||
// break;
|
||||
// case 0x07:
|
||||
// //无权限
|
||||
// print("${reply.commandType}用户无权限");
|
||||
//
|
||||
// break;
|
||||
// case 0x09:
|
||||
// // 权限校验错误
|
||||
// print("${reply.commandType}权限校验错误");
|
||||
//
|
||||
// break;
|
||||
// default:
|
||||
// //失败
|
||||
// print("${reply.commandType}失败");
|
||||
//
|
||||
// break;
|
||||
// }
|
||||
// }
|
||||
|
||||
// 设置自动落锁数据解析
|
||||
Future<void> _replySetSupportFunctionsWithParameters(Reply reply) async {
|
||||
@ -133,30 +132,30 @@ class AutomaticBlockingLogic extends BaseGetXController{
|
||||
}
|
||||
|
||||
// 读取支持功能-带参数
|
||||
Future<void> _readSupportFunctionsWithParameters() async {
|
||||
BlueManage().bludSendData(BlueManage().connectDeviceName, (DeviceConnectionState connectionState) async {
|
||||
if (connectionState == DeviceConnectionState.connected) {
|
||||
var privateKey = await Storage.getStringList(saveBluePrivateKey);
|
||||
List<int> getPrivateKeyList = changeStringListToIntList(privateKey!);
|
||||
|
||||
var token = await Storage.getStringList(saveBlueToken);
|
||||
List<int> getTokenList = changeStringListToIntList(token!);
|
||||
|
||||
var publicKey = await Storage.getStringList(saveBluePublicKey);
|
||||
List<int> getPublicKeyList = changeStringListToIntList(publicKey!);
|
||||
|
||||
IoSenderManage.readSupportFunctionsWithParametersCommand(
|
||||
keyID: state.lockSetInfoData.value.lockBasicInfo!.keyId.toString(),
|
||||
userID: await Storage.getUid(),
|
||||
featureBit: 29,
|
||||
token: getTokenList,
|
||||
needAuthor: 1,
|
||||
publicKey: getPublicKeyList,
|
||||
privateKey: getPrivateKeyList
|
||||
);
|
||||
}
|
||||
});
|
||||
}
|
||||
// Future<void> _readSupportFunctionsWithParameters() async {
|
||||
// BlueManage().bludSendData(BlueManage().connectDeviceName, (DeviceConnectionState connectionState) async {
|
||||
// if (connectionState == DeviceConnectionState.connected) {
|
||||
// var privateKey = await Storage.getStringList(saveBluePrivateKey);
|
||||
// List<int> getPrivateKeyList = changeStringListToIntList(privateKey!);
|
||||
//
|
||||
// var token = await Storage.getStringList(saveBlueToken);
|
||||
// List<int> getTokenList = changeStringListToIntList(token!);
|
||||
//
|
||||
// var publicKey = await Storage.getStringList(saveBluePublicKey);
|
||||
// List<int> getPublicKeyList = changeStringListToIntList(publicKey!);
|
||||
//
|
||||
// IoSenderManage.readSupportFunctionsWithParametersCommand(
|
||||
// keyID: state.lockSetInfoData.value.lockBasicInfo!.keyId.toString(),
|
||||
// userID: await Storage.getUid(),
|
||||
// featureBit: 29,
|
||||
// token: getTokenList,
|
||||
// needAuthor: 1,
|
||||
// publicKey: getPublicKeyList,
|
||||
// privateKey: getPrivateKeyList
|
||||
// );
|
||||
// }
|
||||
// });
|
||||
// }
|
||||
|
||||
// 设置支持功能(带参数)
|
||||
Future<void> sendAutoLock() async {
|
||||
@ -180,7 +179,7 @@ class AutomaticBlockingLogic extends BaseGetXController{
|
||||
|
||||
var publicKey = await Storage.getStringList(saveBluePublicKey);
|
||||
List<int> getPublicKeyList = changeStringListToIntList(publicKey!);
|
||||
|
||||
|
||||
String autoTime;
|
||||
if(state.isOpen.value == false){
|
||||
autoTime = "0";
|
||||
@ -228,7 +227,7 @@ class AutomaticBlockingLogic extends BaseGetXController{
|
||||
super.onInit();
|
||||
print("onInit()");
|
||||
|
||||
_readSupportFunctionsWithParameters();
|
||||
// _readSupportFunctionsWithParameters();
|
||||
}
|
||||
|
||||
@override
|
||||
@ -2,7 +2,6 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:get/get.dart';
|
||||
|
||||
import '../../../lockMian/entity/lockListInfo_entity.dart';
|
||||
import '../lockSet/lockSetInfo_entity.dart';
|
||||
|
||||
class AutomaticBlockingState {
|
||||
@ -43,4 +42,4 @@ class AutomaticBlockingState {
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
@ -1,14 +1,12 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
||||
import 'package:get/get.dart';
|
||||
import 'package:star_lock/common/XSConstantMacro/XSConstantMacro.dart';
|
||||
|
||||
import '../../../../../appRouters.dart';
|
||||
import '../../../../../app_settings/app_colors.dart';
|
||||
import '../../../../../tools/commonItem.dart';
|
||||
import '../../../../../tools/titleAppBar.dart';
|
||||
import '../../../../../translations/trans_lib.dart';
|
||||
import '../../lockSet/lockSetInfo_entity.dart';
|
||||
import 'basicInformation_logic.dart';
|
||||
|
||||
class BasicInformationPage extends StatefulWidget {
|
||||
@ -97,7 +95,7 @@ class _BasicInformationPageState extends State<BasicInformationPage> {
|
||||
isHaveLine: true,
|
||||
isHaveDirection: true,
|
||||
action: () async {
|
||||
Get.toNamed(Routers.lockSeletGroupingPage, arguments: {
|
||||
Get.toNamed(Routers.lockSelectGroupingPage, arguments: {
|
||||
'lockSetInfoData': state.lockSetInfoData.value
|
||||
})!
|
||||
.then((val) {
|
||||
@ -1,7 +1,6 @@
|
||||
|
||||
import 'package:get/get.dart';
|
||||
|
||||
import '../../../../lockMian/entity/lockListInfo_entity.dart';
|
||||
import '../../lockSet/lockSetInfo_entity.dart';
|
||||
|
||||
class BasicInformationState {
|
||||
@ -15,4 +14,4 @@ class BasicInformationState {
|
||||
lockSetInfoData.value = map["lockSetInfoData"];
|
||||
lockBasicInfo.value = lockSetInfoData.value.lockBasicInfo!;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -3,10 +3,10 @@ import '../../../../../network/api_repository.dart';
|
||||
import '../../../../../tools/baseGetXController.dart';
|
||||
import '../../../../../tools/eventBusEventManage.dart';
|
||||
import '../../../electronicKey/massSendElectronicKey/massSendLockGroupList/massSendLockGroupListEntity.dart';
|
||||
import 'lockSeletGrouping_state.dart';
|
||||
import 'lockSelectGrouping_state.dart';
|
||||
|
||||
class LockSeletGroupingLogic extends BaseGetXController {
|
||||
final LockSeletGroupingState state = LockSeletGroupingState();
|
||||
class LockSelectGroupingLogic extends BaseGetXController {
|
||||
final LockSelectGroupingState state = LockSelectGroupingState();
|
||||
|
||||
//创建锁分组请求
|
||||
Future<void> addLockGroupRequest() async {
|
||||
@ -64,4 +64,4 @@ class LockSeletGroupingLogic extends BaseGetXController {
|
||||
// TODO: implement onClose
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -10,18 +10,18 @@ import '../../../../../tools/noData.dart';
|
||||
import '../../../../../tools/submitBtn.dart';
|
||||
import '../../../../../tools/titleAppBar.dart';
|
||||
import '../../../../../translations/trans_lib.dart';
|
||||
import 'lockSeletGrouping_logic.dart';
|
||||
import 'lockSelectGrouping_logic.dart';
|
||||
|
||||
class LockSeletGroupingPage extends StatefulWidget {
|
||||
const LockSeletGroupingPage({Key? key}) : super(key: key);
|
||||
class LockSelectGroupingPage extends StatefulWidget {
|
||||
const LockSelectGroupingPage({Key? key}) : super(key: key);
|
||||
|
||||
@override
|
||||
State<LockSeletGroupingPage> createState() => _LockSeletGroupingPageState();
|
||||
State<LockSelectGroupingPage> createState() => _LockSelectGroupingPageState();
|
||||
}
|
||||
|
||||
class _LockSeletGroupingPageState extends State<LockSeletGroupingPage> {
|
||||
final logic = Get.put(LockSeletGroupingLogic());
|
||||
final state = Get.find<LockSeletGroupingLogic>().state;
|
||||
class _LockSelectGroupingPageState extends State<LockSelectGroupingPage> {
|
||||
final logic = Get.put(LockSelectGroupingLogic());
|
||||
final state = Get.find<LockSelectGroupingLogic>().state;
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
@ -6,16 +6,16 @@ import 'package:get/get.dart';
|
||||
import '../../../electronicKey/massSendElectronicKey/massSendLockGroupList/massSendLockGroupListEntity.dart';
|
||||
import '../../lockSet/lockSetInfo_entity.dart';
|
||||
|
||||
class LockSeletGroupingState {
|
||||
class LockSelectGroupingState {
|
||||
var lockSetInfoData = LockSetInfoData().obs;
|
||||
var lockBasicInfo = LockBasicInfo().obs;
|
||||
|
||||
var groupList = <GroupListItem>[].obs;
|
||||
final TextEditingController changeNameController = TextEditingController();
|
||||
|
||||
LockSeletGroupingState() {
|
||||
LockSelectGroupingState() {
|
||||
var map = Get.arguments;
|
||||
lockSetInfoData.value = map["lockSetInfoData"];
|
||||
lockBasicInfo.value = lockSetInfoData.value.lockBasicInfo!;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -2,7 +2,6 @@
|
||||
import 'dart:async';
|
||||
|
||||
import 'package:flutter_reactive_ble/flutter_reactive_ble.dart';
|
||||
import 'package:star_lock/blue/io_protocol/io_readSupportFunctionsNoParameters.dart';
|
||||
import 'package:star_lock/blue/io_protocol/io_setSupportFunctionsNoParameters.dart';
|
||||
import 'package:star_lock/tools/baseGetXController.dart';
|
||||
import '../../../../blue/blue_manage.dart';
|
||||
@ -44,39 +43,39 @@ class BurglarAlarmLogic extends BaseGetXController{
|
||||
}
|
||||
|
||||
// 读取支持功能(带参数)
|
||||
if(reply is ReadSupportFunctionsNoParametersReply) {
|
||||
_readSupportFunctionsWithParametersReply(reply);
|
||||
}
|
||||
// if(reply is ReadSupportFunctionsNoParametersReply) {
|
||||
// _readSupportFunctionsWithParametersReply(reply);
|
||||
// }
|
||||
});
|
||||
}
|
||||
|
||||
// 读取支持功能带参数数据解析
|
||||
Future<void> _readSupportFunctionsWithParametersReply(Reply reply) async {
|
||||
int status = reply.data[2];
|
||||
switch(status){
|
||||
case 0x00:
|
||||
//成功
|
||||
print("${reply.commandType}数据解析成功");
|
||||
state.burglarAlarmEnable.value = reply.data[6];
|
||||
break;
|
||||
case 0x06:
|
||||
//无权限
|
||||
print("${reply.commandType}需要鉴权");
|
||||
break;
|
||||
case 0x07:
|
||||
//无权限
|
||||
print("${reply.commandType}用户无权限");
|
||||
break;
|
||||
case 0x09:
|
||||
// 权限校验错误
|
||||
print("${reply.commandType}权限校验错误");
|
||||
break;
|
||||
default:
|
||||
//失败
|
||||
print("${reply.commandType}失败");
|
||||
break;
|
||||
}
|
||||
}
|
||||
// Future<void> _readSupportFunctionsWithParametersReply(Reply reply) async {
|
||||
// int status = reply.data[2];
|
||||
// switch(status){
|
||||
// case 0x00:
|
||||
// //成功
|
||||
// print("${reply.commandType}数据解析成功");
|
||||
// state.burglarAlarmEnable.value = reply.data[6];
|
||||
// break;
|
||||
// case 0x06:
|
||||
// //无权限
|
||||
// print("${reply.commandType}需要鉴权");
|
||||
// break;
|
||||
// case 0x07:
|
||||
// //无权限
|
||||
// print("${reply.commandType}用户无权限");
|
||||
// break;
|
||||
// case 0x09:
|
||||
// // 权限校验错误
|
||||
// print("${reply.commandType}权限校验错误");
|
||||
// break;
|
||||
// default:
|
||||
// //失败
|
||||
// print("${reply.commandType}失败");
|
||||
// break;
|
||||
// }
|
||||
// }
|
||||
|
||||
// 设置自动落锁数据解析
|
||||
Future<void> _replySetSupportFunctionsWithParameters(Reply reply) async {
|
||||
@ -114,30 +113,30 @@ class BurglarAlarmLogic extends BaseGetXController{
|
||||
}
|
||||
|
||||
// 读取支持功能-带参数
|
||||
Future<void> _readSupportFunctionsNoParameters() async {
|
||||
BlueManage().bludSendData(BlueManage().connectDeviceName, (DeviceConnectionState connectionState) async {
|
||||
if (connectionState == DeviceConnectionState.connected) {
|
||||
var privateKey = await Storage.getStringList(saveBluePrivateKey);
|
||||
List<int> getPrivateKeyList = changeStringListToIntList(privateKey!);
|
||||
|
||||
var token = await Storage.getStringList(saveBlueToken);
|
||||
List<int> getTokenList = changeStringListToIntList(token!);
|
||||
|
||||
var publicKey = await Storage.getStringList(saveBluePublicKey);
|
||||
List<int> getPublicKeyList = changeStringListToIntList(publicKey!);
|
||||
|
||||
IoSenderManage.readSupportFunctionsNoParametersCommand(
|
||||
keyID: state.lockSetInfoData.value.lockBasicInfo!.keyId.toString(),
|
||||
userID: await Storage.getUid(),
|
||||
featureBit: 30,
|
||||
token: getTokenList,
|
||||
needAuthor: 1,
|
||||
publicKey: getPublicKeyList,
|
||||
privateKey: getPrivateKeyList
|
||||
);
|
||||
}
|
||||
});
|
||||
}
|
||||
// Future<void> _readSupportFunctionsNoParameters() async {
|
||||
// BlueManage().bludSendData(BlueManage().connectDeviceName, (DeviceConnectionState connectionState) async {
|
||||
// if (connectionState == DeviceConnectionState.connected) {
|
||||
// var privateKey = await Storage.getStringList(saveBluePrivateKey);
|
||||
// List<int> getPrivateKeyList = changeStringListToIntList(privateKey!);
|
||||
//
|
||||
// var token = await Storage.getStringList(saveBlueToken);
|
||||
// List<int> getTokenList = changeStringListToIntList(token!);
|
||||
//
|
||||
// var publicKey = await Storage.getStringList(saveBluePublicKey);
|
||||
// List<int> getPublicKeyList = changeStringListToIntList(publicKey!);
|
||||
//
|
||||
// IoSenderManage.readSupportFunctionsNoParametersCommand(
|
||||
// keyID: state.lockSetInfoData.value.lockBasicInfo!.keyId.toString(),
|
||||
// userID: await Storage.getUid(),
|
||||
// featureBit: 30,
|
||||
// token: getTokenList,
|
||||
// needAuthor: 1,
|
||||
// publicKey: getPublicKeyList,
|
||||
// privateKey: getPrivateKeyList
|
||||
// );
|
||||
// }
|
||||
// });
|
||||
// }
|
||||
|
||||
// 设置支持功能(带参数)
|
||||
Future<void> sendBurglarAlarm() async {
|
||||
@ -197,7 +196,7 @@ class BurglarAlarmLogic extends BaseGetXController{
|
||||
super.onInit();
|
||||
print("onInit()");
|
||||
|
||||
_readSupportFunctionsNoParameters();
|
||||
// _readSupportFunctionsNoParameters();
|
||||
}
|
||||
|
||||
@override
|
||||
@ -207,4 +206,4 @@ class BurglarAlarmLogic extends BaseGetXController{
|
||||
_replySubscription.cancel();
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
@ -1,4 +1,4 @@
|
||||
import 'package:star_lock/main/lockDetail/lcokSet/catEyeSet/catEyeCustomMode/catEyeCustomMode_state.dart';
|
||||
import 'package:star_lock/main/lockDetail/lockSet/catEyeSet/catEyeCustomMode/catEyeCustomMode_state.dart';
|
||||
import 'package:star_lock/tools/baseGetXController.dart';
|
||||
|
||||
class CatEyeCustomModeLogic extends BaseGetXController {
|
||||
@ -4,7 +4,7 @@ import 'package:flutter_screenutil/flutter_screenutil.dart';
|
||||
import 'package:get/get.dart';
|
||||
import 'package:star_lock/appRouters.dart';
|
||||
import 'package:star_lock/app_settings/app_colors.dart';
|
||||
import 'package:star_lock/main/lockDetail/lcokSet/catEyeSet/catEyeCustomMode/catEyeCustomMode_logic.dart';
|
||||
import 'package:star_lock/main/lockDetail/lockSet/catEyeSet/catEyeCustomMode/catEyeCustomMode_logic.dart';
|
||||
import 'package:star_lock/tools/commonItem.dart';
|
||||
import 'package:star_lock/tools/custom_bottom_sheet.dart';
|
||||
import 'package:star_lock/tools/titleAppBar.dart';
|
||||
@ -3,7 +3,7 @@ import 'package:flutter/material.dart';
|
||||
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
||||
import 'package:get/get.dart';
|
||||
import 'package:star_lock/appRouters.dart';
|
||||
import 'package:star_lock/main/lockDetail/lcokSet/catEyeSet/catEyeSet/catEyeSet_logic.dart';
|
||||
import 'package:star_lock/main/lockDetail/lockSet/catEyeSet/catEyeSet/catEyeSet_logic.dart';
|
||||
import 'package:star_lock/tools/commonItem.dart';
|
||||
import 'package:star_lock/tools/custom_bottom_sheet.dart';
|
||||
|
||||
@ -2,7 +2,6 @@ import 'package:flutter/material.dart';
|
||||
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
||||
import 'package:get/get.dart';
|
||||
import 'package:star_lock/appRouters.dart';
|
||||
import 'package:star_lock/tools/submitBtn.dart';
|
||||
|
||||
import '../../../../../app_settings/app_colors.dart';
|
||||
import '../../../../../tools/titleAppBar.dart';
|
||||