1,新增批量导出页面布局及逻辑
2,新增导出操作记录—选择锁页面 3,新增操作记录导出成功页面及相应分享调起 4,根据角色(超级管理员/授权管理员/普通用户)展示不同操作记录操作权限
This commit is contained in:
parent
4cf9c99e5d
commit
b237d827ac
@ -918,5 +918,8 @@
|
|||||||
"智能分析":"Intelligent analytics",
|
"智能分析":"Intelligent analytics",
|
||||||
"精准识别设备事件,过滤无效信息":"Accurately identify device events and filter out invalid information",
|
"精准识别设备事件,过滤无效信息":"Accurately identify device events and filter out invalid information",
|
||||||
"系统设置":"System settings",
|
"系统设置":"System settings",
|
||||||
"系统的全局配置在此项内进行设置":"The global configuration of the system is set in this item"
|
"系统的全局配置在此项内进行设置":"The global configuration of the system is set in this item",
|
||||||
|
"导出操作记录":"Export operation record",
|
||||||
|
"立即查看":"View now",
|
||||||
|
"导出成功":"Export success"
|
||||||
}
|
}
|
||||||
|
|||||||
@ -950,5 +950,8 @@
|
|||||||
"智能分析":"智能分析",
|
"智能分析":"智能分析",
|
||||||
"精准识别设备事件,过滤无效信息":"精准识别设备事件,过滤无效信息",
|
"精准识别设备事件,过滤无效信息":"精准识别设备事件,过滤无效信息",
|
||||||
"系统设置":"系统设置",
|
"系统设置":"系统设置",
|
||||||
"系统的全局配置在此项内进行设置":"系统的全局配置在此项内进行设置"
|
"系统的全局配置在此项内进行设置":"系统的全局配置在此项内进行设置",
|
||||||
|
"导出操作记录":"导出操作记录",
|
||||||
|
"立即查看":"立即查看",
|
||||||
|
"导出成功":"导出成功"
|
||||||
}
|
}
|
||||||
|
|||||||
@ -915,5 +915,8 @@
|
|||||||
"智能分析":"智能分析",
|
"智能分析":"智能分析",
|
||||||
"精准识别设备事件,过滤无效信息":"精准识别设备事件,过滤无效信息",
|
"精准识别设备事件,过滤无效信息":"精准识别设备事件,过滤无效信息",
|
||||||
"系统设置":"系统设置",
|
"系统设置":"系统设置",
|
||||||
"系统的全局配置在此项内进行设置":"系统的全局配置在此项内进行设置"
|
"系统的全局配置在此项内进行设置":"系统的全局配置在此项内进行设置",
|
||||||
|
"导出操作记录":"导出操作记录",
|
||||||
|
"立即查看":"立即查看",
|
||||||
|
"导出成功":"导出成功"
|
||||||
}
|
}
|
||||||
|
|||||||
@ -6,8 +6,10 @@ import 'package:star_lock/login/login/starLock_login_xhj_page.dart';
|
|||||||
import 'package:star_lock/login/register/starLock_register_binding.dart';
|
import 'package:star_lock/login/register/starLock_register_binding.dart';
|
||||||
import 'package:star_lock/login/register/starLock_register_xhj_page.dart';
|
import 'package:star_lock/login/register/starLock_register_xhj_page.dart';
|
||||||
import 'package:star_lock/main/lockDetail/accessoriesList/accessoriesList_page.dart';
|
import 'package:star_lock/main/lockDetail/accessoriesList/accessoriesList_page.dart';
|
||||||
|
import 'package:star_lock/main/lockDetail/doorLockLog/batchExportLog/batchExportLog_page.dart';
|
||||||
import 'package:star_lock/main/lockDetail/doorLockLog/doorLockLog_page.dart';
|
import 'package:star_lock/main/lockDetail/doorLockLog/doorLockLog_page.dart';
|
||||||
|
import 'package:star_lock/main/lockDetail/doorLockLog/exportSuccess/exportSuccess_page.dart';
|
||||||
|
import 'package:star_lock/main/lockDetail/doorLockLog/viewExportRecord/viewExportRecord_page.dart';
|
||||||
import 'package:star_lock/main/lockDetail/electronicKey/massSendElectronicKey/massSendLockGroupList/lockUserList/lockUserList_page.dart';
|
import 'package:star_lock/main/lockDetail/electronicKey/massSendElectronicKey/massSendLockGroupList/lockUserList/lockUserList_page.dart';
|
||||||
import 'package:star_lock/main/lockDetail/electronicKey/massSendElectronicKey/massSendLockGroupList/massSendLockGroupList_page.dart';
|
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/electronicKey/massSendElectronicKey/massSendLockGroupList/massSendReceiver/massSendReceiver_page.dart';
|
||||||
@ -15,6 +17,7 @@ import 'package:star_lock/main/lockDetail/face/faceDetail/faceDetail_page.dart';
|
|||||||
import 'package:star_lock/main/lockDetail/iris/addIris/addIris_page.dart';
|
import 'package:star_lock/main/lockDetail/iris/addIris/addIris_page.dart';
|
||||||
import 'package:star_lock/main/lockDetail/iris/addIrisType/addIrisTypeManage/addIrisTypeManage_page.dart';
|
import 'package:star_lock/main/lockDetail/iris/addIrisType/addIrisTypeManage/addIrisTypeManage_page.dart';
|
||||||
import 'package:star_lock/main/lockDetail/iris/irisList/irisList_page.dart';
|
import 'package:star_lock/main/lockDetail/iris/irisList/irisList_page.dart';
|
||||||
|
import 'package:star_lock/main/lockDetail/lockDetail/lockDetail_main_page.dart';
|
||||||
import 'package:star_lock/main/lockDetail/lockSet/catEyeSet/catEyeCustomMode/catEyeCustomMode_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/catEyeSet/catEyeSet_page.dart';
|
||||||
import 'package:star_lock/main/lockDetail/lockSet/catEyeSet/videoSlot/videoSlot_page.dart';
|
import 'package:star_lock/main/lockDetail/lockSet/catEyeSet/videoSlot/videoSlot_page.dart';
|
||||||
@ -22,7 +25,6 @@ import 'package:star_lock/main/lockDetail/lockSet/faceUnlock/faceUnlock_page.dar
|
|||||||
import 'package:star_lock/main/lockDetail/lockSet/liveVideo/liveVideo_page.dart';
|
import 'package:star_lock/main/lockDetail/lockSet/liveVideo/liveVideo_page.dart';
|
||||||
import 'package:star_lock/main/lockDetail/lockSet/motorPower/motorPower_page.dart';
|
import 'package:star_lock/main/lockDetail/lockSet/motorPower/motorPower_page.dart';
|
||||||
import 'package:star_lock/main/lockDetail/lockSet/openDoorDirection/openDoorDirection_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/messageWarn/addFamily/addFamily_page.dart';
|
import 'package:star_lock/main/lockDetail/messageWarn/addFamily/addFamily_page.dart';
|
||||||
import 'package:star_lock/main/lockDetail/messageWarn/lockUser/lockUser_page.dart';
|
import 'package:star_lock/main/lockDetail/messageWarn/lockUser/lockUser_page.dart';
|
||||||
import 'package:star_lock/main/lockDetail/messageWarn/msgNotification/coerceOpenDoor/coerceFingerprint/coerceFingerprint_page.dart';
|
import 'package:star_lock/main/lockDetail/messageWarn/msgNotification/coerceOpenDoor/coerceFingerprint/coerceFingerprint_page.dart';
|
||||||
@ -62,6 +64,8 @@ import 'login/login/starLock_login_page.dart';
|
|||||||
import 'login/register/starLock_register_page.dart';
|
import 'login/register/starLock_register_page.dart';
|
||||||
import 'login/selectCountryRegion/selectCountryRegion_page.dart';
|
import 'login/selectCountryRegion/selectCountryRegion_page.dart';
|
||||||
import 'main/lockDetail/authorizedAdmin/authorizedAdmin/authorizedAdmin_page.dart';
|
import 'main/lockDetail/authorizedAdmin/authorizedAdmin/authorizedAdmin_page.dart';
|
||||||
|
import 'main/lockDetail/authorizedAdmin/authorizedAdminList/authorizedAdminList_page.dart';
|
||||||
|
import 'main/lockDetail/authorizedAdmin/volumeAuthorizationLock/volumeAuthorizationLockManage/volumeAuthorizationLockManage_page.dart';
|
||||||
import 'main/lockDetail/card/addCardType/addCardType_page.dart';
|
import 'main/lockDetail/card/addCardType/addCardType_page.dart';
|
||||||
import 'main/lockDetail/card/addICCard/addICCard_page.dart';
|
import 'main/lockDetail/card/addICCard/addICCard_page.dart';
|
||||||
import 'main/lockDetail/card/cardDetail/cardDetail_page.dart';
|
import 'main/lockDetail/card/cardDetail/cardDetail_page.dart';
|
||||||
@ -79,9 +83,13 @@ import 'main/lockDetail/checkingIn/checkingInSetWorkdaySet/checkingInSetWorkdayS
|
|||||||
import 'main/lockDetail/checkingIn/checkingInStaff/checkingInSetAddStaff/checkingInAddStaff_page.dart';
|
import 'main/lockDetail/checkingIn/checkingInStaff/checkingInSetAddStaff/checkingInAddStaff_page.dart';
|
||||||
import 'main/lockDetail/checkingIn/checkingInStaff/checkingInSetStaffList/checkingInStaffList_page.dart';
|
import 'main/lockDetail/checkingIn/checkingInStaff/checkingInSetStaffList/checkingInStaffList_page.dart';
|
||||||
import 'main/lockDetail/checkingIn/checkingInStaff/checkingInStaffDetail/checkingInStaffDetail_page.dart';
|
import 'main/lockDetail/checkingIn/checkingInStaff/checkingInStaffDetail/checkingInStaffDetail_page.dart';
|
||||||
|
import 'main/lockDetail/electronicKey/electronicKeyDetail/electronicKeyDetail/electronicKeyDetail_page.dart';
|
||||||
|
import 'main/lockDetail/electronicKey/electronicKeyDetail/electronicKeyDetailChangeDate/electronicKeyDetailChangeDate_page.dart';
|
||||||
import 'main/lockDetail/electronicKey/electronicKeyDetail/electronicKeyPeriodValidity/electronicKeyPeriodValidity_page.dart';
|
import 'main/lockDetail/electronicKey/electronicKeyDetail/electronicKeyPeriodValidity/electronicKeyPeriodValidity_page.dart';
|
||||||
|
import 'main/lockDetail/electronicKey/electronicKeyList/electronicKeyList_page.dart';
|
||||||
import 'main/lockDetail/electronicKey/massSendElectronicKey/massSendElectronicKey/massSendElectronicManageKey/massSendElectronicKeyManage_page.dart';
|
import 'main/lockDetail/electronicKey/massSendElectronicKey/massSendElectronicKey/massSendElectronicManageKey/massSendElectronicKeyManage_page.dart';
|
||||||
import 'main/lockDetail/electronicKey/sendElectronicKey/sendElectronicKey/sendElectronicKey_page.dart';
|
import 'main/lockDetail/electronicKey/sendElectronicKey/sendElectronicKey/sendElectronicKey_page.dart';
|
||||||
|
import 'main/lockDetail/electronicKey/sendEmailNotification/sendEmailNotification_page.dart';
|
||||||
import 'main/lockDetail/face/addFace/addFace_page.dart';
|
import 'main/lockDetail/face/addFace/addFace_page.dart';
|
||||||
import 'main/lockDetail/face/addFaceType/addFaceType_page.dart';
|
import 'main/lockDetail/face/addFaceType/addFaceType_page.dart';
|
||||||
import 'main/lockDetail/face/faceList/faceList_page.dart';
|
import 'main/lockDetail/face/faceList/faceList_page.dart';
|
||||||
@ -90,6 +98,7 @@ import 'main/lockDetail/fingerprint/addFingerprintSelectType/addFingerprintType_
|
|||||||
import 'main/lockDetail/fingerprint/addFingerprintTip/addFingerprintTip_page.dart';
|
import 'main/lockDetail/fingerprint/addFingerprintTip/addFingerprintTip_page.dart';
|
||||||
import 'main/lockDetail/fingerprint/fingerprintDetail/fingerprintDetail_page.dart';
|
import 'main/lockDetail/fingerprint/fingerprintDetail/fingerprintDetail_page.dart';
|
||||||
import 'main/lockDetail/fingerprint/fingerprintList/fingerprintList_page.dart';
|
import 'main/lockDetail/fingerprint/fingerprintList/fingerprintList_page.dart';
|
||||||
|
import 'main/lockDetail/lockOperatingRecord/lockOperatingRecord_page.dart';
|
||||||
import 'main/lockDetail/lockSet/automaticBlocking/automaticBlocking_page.dart';
|
import 'main/lockDetail/lockSet/automaticBlocking/automaticBlocking_page.dart';
|
||||||
import 'main/lockDetail/lockSet/basicInformation/adminOpenLockPassword/adminOpenLockPassword_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/basicInformation/basicInformation_page.dart';
|
||||||
@ -122,6 +131,8 @@ import 'main/lockDetail/lockSet/wirelessKeyboard/selectWirelessKeyboard/selectWi
|
|||||||
import 'main/lockDetail/lockSet/wirelessKeyboard/wirelessKeyboardList/wirelessKeyboard_page.dart';
|
import 'main/lockDetail/lockSet/wirelessKeyboard/wirelessKeyboardList/wirelessKeyboard_page.dart';
|
||||||
import 'main/lockDetail/monitoring/monitoring/lockMonitoring_page.dart';
|
import 'main/lockDetail/monitoring/monitoring/lockMonitoring_page.dart';
|
||||||
import 'main/lockDetail/monitoring/monitoringRealTimeScreen/monitoringRealTimeScreen_page.dart';
|
import 'main/lockDetail/monitoring/monitoringRealTimeScreen/monitoringRealTimeScreen_page.dart';
|
||||||
|
import 'main/lockDetail/passwordKey/passwordKeyDetail/passwordKeyDetail_page.dart';
|
||||||
|
import 'main/lockDetail/passwordKey/passwordKeyList/passwordKeyList_page.dart';
|
||||||
import 'main/lockDetail/passwordKey/passwordKey_perpetual/passwordKey_perpetual_page.dart';
|
import 'main/lockDetail/passwordKey/passwordKey_perpetual/passwordKey_perpetual_page.dart';
|
||||||
import 'main/lockDetail/realTimePicture/realTimePicture_page.dart';
|
import 'main/lockDetail/realTimePicture/realTimePicture_page.dart';
|
||||||
import 'main/lockDetail/remoteControl/addRemoteControl/addRemoteControl_page.dart';
|
import 'main/lockDetail/remoteControl/addRemoteControl/addRemoteControl_page.dart';
|
||||||
@ -132,18 +143,9 @@ import 'main/lockDetail/videoLog/videoLogDetail/videoLogDetail_page.dart';
|
|||||||
import 'main/lockDetail/videoLog/videoLogDownLoad/videoLogDownLoad_page.dart';
|
import 'main/lockDetail/videoLog/videoLogDownLoad/videoLogDownLoad_page.dart';
|
||||||
import 'main/lockMian/demoMode/demoModeLockDetail/demoModeLockDetail_page.dart';
|
import 'main/lockMian/demoMode/demoModeLockDetail/demoModeLockDetail_page.dart';
|
||||||
import 'main/lockMian/demoMode/demoModeLockSet/demoModeLockSet_page.dart';
|
import 'main/lockMian/demoMode/demoModeLockSet/demoModeLockSet_page.dart';
|
||||||
|
import 'main/lockMian/lockMain/lockMain_page.dart';
|
||||||
import 'mine/about/about_page.dart';
|
import 'mine/about/about_page.dart';
|
||||||
import 'mine/addLock/addLock/addLock_page.dart';
|
import 'mine/addLock/addLock/addLock_page.dart';
|
||||||
import 'main/lockDetail/authorizedAdmin/authorizedAdminList/authorizedAdminList_page.dart';
|
|
||||||
import 'main/lockDetail/authorizedAdmin/volumeAuthorizationLock/volumeAuthorizationLockManage/volumeAuthorizationLockManage_page.dart';
|
|
||||||
import 'main/lockDetail/electronicKey/electronicKeyDetail/electronicKeyDetail/electronicKeyDetail_page.dart';
|
|
||||||
import 'main/lockDetail/electronicKey/electronicKeyDetail/electronicKeyDetailChangeDate/electronicKeyDetailChangeDate_page.dart';
|
|
||||||
import 'main/lockDetail/electronicKey/electronicKeyList/electronicKeyList_page.dart';
|
|
||||||
import 'main/lockDetail/electronicKey/sendEmailNotification/sendEmailNotification_page.dart';
|
|
||||||
import 'main/lockDetail/lockOperatingRecord/lockOperatingRecord_page.dart';
|
|
||||||
import 'main/lockDetail/passwordKey/passwordKeyDetail/passwordKeyDetail_page.dart';
|
|
||||||
import 'main/lockDetail/passwordKey/passwordKeyList/passwordKeyList_page.dart';
|
|
||||||
import 'main/lockMian/lockMain/lockMain_page.dart';
|
|
||||||
import 'mine/addLock/addLockSelectCountry/addLockSelectCountry_page.dart';
|
import 'mine/addLock/addLockSelectCountry/addLockSelectCountry_page.dart';
|
||||||
import 'mine/addLock/lockAddress/gaode/lockAddressGaoDe_page.dart';
|
import 'mine/addLock/lockAddress/gaode/lockAddressGaoDe_page.dart';
|
||||||
import 'mine/addLock/lockAddress/lockAddress/lockAddress_page.dart';
|
import 'mine/addLock/lockAddress/lockAddress/lockAddress_page.dart';
|
||||||
@ -162,11 +164,11 @@ import 'mine/message/messageDetail/messageDetail_page.dart';
|
|||||||
import 'mine/message/messageList/messageList_page.dart';
|
import 'mine/message/messageList/messageList_page.dart';
|
||||||
import 'mine/mine/starLockMine_page.dart';
|
import 'mine/mine/starLockMine_page.dart';
|
||||||
import 'mine/mineMultiLanguage/mineMultiLanguage_page.dart';
|
import 'mine/mineMultiLanguage/mineMultiLanguage_page.dart';
|
||||||
import 'mine/minePersonInfo/minePersonInfoPage/minePersonInfo_page.dart';
|
|
||||||
import 'mine/minePersonInfo/minePersonInfoEditAccount/minePersonInfoEditAccount/mineUnbindPhoneOrEmail_page.dart';
|
import 'mine/minePersonInfo/minePersonInfoEditAccount/minePersonInfoEditAccount/mineUnbindPhoneOrEmail_page.dart';
|
||||||
import 'mine/minePersonInfo/minePersonInfoEditAccount/minePersonInfoEditAccountNext/minePersonInfoEditAccountNext_page.dart';
|
import 'mine/minePersonInfo/minePersonInfoEditAccount/minePersonInfoEditAccountNext/minePersonInfoEditAccountNext_page.dart';
|
||||||
import 'mine/minePersonInfo/minePersonInfoEditIphone/minePersonInfoEditIphone_page.dart';
|
import 'mine/minePersonInfo/minePersonInfoEditIphone/minePersonInfoEditIphone_page.dart';
|
||||||
import 'mine/minePersonInfo/minePersonInfoEditName/minePersonInfoEditName_page.dart';
|
import 'mine/minePersonInfo/minePersonInfoEditName/minePersonInfoEditName_page.dart';
|
||||||
|
import 'mine/minePersonInfo/minePersonInfoPage/minePersonInfo_page.dart';
|
||||||
import 'mine/minePersonInfo/minePersonInfoResetPassword/minePersonInfoResetPassword_page.dart';
|
import 'mine/minePersonInfo/minePersonInfoResetPassword/minePersonInfoResetPassword_page.dart';
|
||||||
import 'mine/minePersonInfo/minePersonInfoSetSafetyProblem/minePersonInfoSetSafetyProblem_page.dart';
|
import 'mine/minePersonInfo/minePersonInfoSetSafetyProblem/minePersonInfoSetSafetyProblem_page.dart';
|
||||||
import 'mine/mineSet/appUnlockNeedMobileNetworkingLock/appUnlockNeedMobileNetworkingLock_page.dart';
|
import 'mine/mineSet/appUnlockNeedMobileNetworkingLock/appUnlockNeedMobileNetworkingLock_page.dart';
|
||||||
@ -174,6 +176,7 @@ import 'mine/mineSet/authorityManagement/authorityManagement_page.dart';
|
|||||||
import 'mine/mineSet/authorityManagement/getDeviceList_page.dart';
|
import 'mine/mineSet/authorityManagement/getDeviceList_page.dart';
|
||||||
import 'mine/mineSet/authorityManagement/getNameList_page.dart';
|
import 'mine/mineSet/authorityManagement/getNameList_page.dart';
|
||||||
import 'mine/mineSet/authorizedAdministrator/addAuthorizedAdministrator/addAuthorizedAdministratorManage/addAuthorizedAdministratorManage_page.dart';
|
import 'mine/mineSet/authorizedAdministrator/addAuthorizedAdministrator/addAuthorizedAdministratorManage/addAuthorizedAdministratorManage_page.dart';
|
||||||
|
import 'mine/mineSet/authorizedAdministrator/authorizedAdministrator/authorizedAdministratorList_page.dart';
|
||||||
import 'mine/mineSet/hideInvalidUnlockPermissions/hideInvalidUnlockPermissions_page.dart';
|
import 'mine/mineSet/hideInvalidUnlockPermissions/hideInvalidUnlockPermissions_page.dart';
|
||||||
import 'mine/mineSet/lockGroup/groupEditLock/groupEditLock_page.dart';
|
import 'mine/mineSet/lockGroup/groupEditLock/groupEditLock_page.dart';
|
||||||
import 'mine/mineSet/lockGroup/lockGroupDetailList/lockItemList_page.dart';
|
import 'mine/mineSet/lockGroup/lockGroupDetailList/lockItemList_page.dart';
|
||||||
@ -192,7 +195,6 @@ import 'mine/valueAddedServices/valueAddedServicesNoteAndEmailDetail/valueAddedS
|
|||||||
import 'mine/valueAddedServices/valueAddedServicesRealName/value_added_services_real_name_page.dart';
|
import 'mine/valueAddedServices/valueAddedServicesRealName/value_added_services_real_name_page.dart';
|
||||||
import 'mine/valueAddedServices/valueAddedServicesSMSTemplate/valueAddedServicesAddSMSTemplate/newSMSTemplate_page.dart';
|
import 'mine/valueAddedServices/valueAddedServicesSMSTemplate/valueAddedServicesAddSMSTemplate/newSMSTemplate_page.dart';
|
||||||
import 'mine/valueAddedServices/valueAddedServicesSMSTemplate/valueAddedServicesListSMSTemplate/customSMSTemplateList_page.dart';
|
import 'mine/valueAddedServices/valueAddedServicesSMSTemplate/valueAddedServicesListSMSTemplate/customSMSTemplateList_page.dart';
|
||||||
import 'mine/mineSet/authorizedAdministrator/authorizedAdministrator/authorizedAdministratorList_page.dart';
|
|
||||||
import 'starLockApplication/starLockApplication.dart';
|
import 'starLockApplication/starLockApplication.dart';
|
||||||
import 'tools/seletKeyCyclicDate/seletKeyCyclicDate_page.dart';
|
import 'tools/seletKeyCyclicDate/seletKeyCyclicDate_page.dart';
|
||||||
|
|
||||||
@ -486,6 +488,9 @@ abstract class Routers {
|
|||||||
'/advancedFunctionRecordPage'; //高级功能购买记录
|
'/advancedFunctionRecordPage'; //高级功能购买记录
|
||||||
static const String administratorAssociationLockPage =
|
static const String administratorAssociationLockPage =
|
||||||
'/administratorAssociationLockPage'; //我的设置-授权管理员-关联锁
|
'/administratorAssociationLockPage'; //我的设置-授权管理员-关联锁
|
||||||
|
static const String batchExportLogPage = '/batchExportLogPage'; //批量导出操作记录
|
||||||
|
static const String exportSuccessPage = '/exportSuccessPage'; //导出成功
|
||||||
|
static const String viewExportRecordPage = '/viewExportRecordPage'; //查看导出记录
|
||||||
|
|
||||||
static const String login = '/login'; //登录
|
static const String login = '/login'; //登录
|
||||||
}
|
}
|
||||||
@ -498,7 +503,7 @@ abstract class AppRouters {
|
|||||||
),
|
),
|
||||||
GetPage<dynamic>(
|
GetPage<dynamic>(
|
||||||
name: Routers.login,
|
name: Routers.login,
|
||||||
page: () => F.sw(
|
page: () => F.sw(
|
||||||
skyCall: () => const StarLockLoginPage(),
|
skyCall: () => const StarLockLoginPage(),
|
||||||
xhjCall: () => const StarLockLoginXHJPage()),
|
xhjCall: () => const StarLockLoginXHJPage()),
|
||||||
),
|
),
|
||||||
@ -1143,8 +1148,16 @@ abstract class AppRouters {
|
|||||||
GetPage<dynamic>(
|
GetPage<dynamic>(
|
||||||
name: Routers.administratorAssociationLockPage,
|
name: Routers.administratorAssociationLockPage,
|
||||||
page: () => const AdministratorAssociationLockPage()),
|
page: () => const AdministratorAssociationLockPage()),
|
||||||
GetPage(
|
GetPage<dynamic>(
|
||||||
name: Routers.expireKeyChangeDatePage,
|
name: Routers.expireKeyChangeDatePage,
|
||||||
page: () => const ExpireKeyChangeDatePage()),
|
page: () => const ExpireKeyChangeDatePage()),
|
||||||
|
GetPage<dynamic>(
|
||||||
|
name: Routers.batchExportLogPage,
|
||||||
|
page: () => const BatchExportLogPage()),
|
||||||
|
GetPage<dynamic>(
|
||||||
|
name: Routers.exportSuccessPage, page: () => const ExportSuccessPage()),
|
||||||
|
GetPage<dynamic>(
|
||||||
|
name: Routers.viewExportRecordPage,
|
||||||
|
page: () => const ViewExportRecordPage()),
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|||||||
@ -0,0 +1,6 @@
|
|||||||
|
import 'package:star_lock/main/lockDetail/doorLockLog/batchExportLog/batchExportLog_state.dart';
|
||||||
|
import 'package:star_lock/tools/baseGetXController.dart';
|
||||||
|
|
||||||
|
class BatchExportLogLogic extends BaseGetXController {
|
||||||
|
BatchExportLogState state = BatchExportLogState();
|
||||||
|
}
|
||||||
@ -0,0 +1,120 @@
|
|||||||
|
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/app_settings/app_colors.dart';
|
||||||
|
import 'package:star_lock/main/lockDetail/doorLockLog/batchExportLog/batchExportLog_logic.dart';
|
||||||
|
import 'package:star_lock/main/lockDetail/doorLockLog/batchExportLog/batchExportLog_state.dart';
|
||||||
|
import 'package:star_lock/tools/commonItem.dart';
|
||||||
|
import 'package:star_lock/tools/dateTool.dart';
|
||||||
|
import 'package:star_lock/tools/pickers/pickers.dart';
|
||||||
|
import 'package:star_lock/tools/pickers/time_picker/model/date_mode.dart';
|
||||||
|
import 'package:star_lock/tools/pickers/time_picker/model/pduration.dart';
|
||||||
|
import 'package:star_lock/tools/submitBtn.dart';
|
||||||
|
import 'package:star_lock/tools/titleAppBar.dart';
|
||||||
|
import 'package:star_lock/translations/trans_lib.dart';
|
||||||
|
|
||||||
|
class BatchExportLogPage extends StatefulWidget {
|
||||||
|
const BatchExportLogPage({Key? key}) : super(key: key);
|
||||||
|
|
||||||
|
@override
|
||||||
|
State<BatchExportLogPage> createState() => _BatchExportLogPageState();
|
||||||
|
}
|
||||||
|
|
||||||
|
class _BatchExportLogPageState extends State<BatchExportLogPage>
|
||||||
|
with RouteAware {
|
||||||
|
final BatchExportLogLogic logic = Get.put(BatchExportLogLogic());
|
||||||
|
final BatchExportLogState state = Get.find<BatchExportLogLogic>().state;
|
||||||
|
|
||||||
|
@override
|
||||||
|
Widget build(BuildContext context) {
|
||||||
|
return Scaffold(
|
||||||
|
backgroundColor: AppColors.mainBackgroundColor,
|
||||||
|
appBar: TitleAppBar(
|
||||||
|
barTitle: '导出操作记录'.tr,
|
||||||
|
haveBack: true,
|
||||||
|
backgroundColor: AppColors.mainColor,
|
||||||
|
),
|
||||||
|
body: Column(
|
||||||
|
mainAxisSize: MainAxisSize.max,
|
||||||
|
crossAxisAlignment: CrossAxisAlignment.center,
|
||||||
|
children: <Widget>[
|
||||||
|
CommonItem(
|
||||||
|
leftTitel: TranslationLoader.lanKeys!.lock!.tr,
|
||||||
|
rightTitle: state.lockIdList.isEmpty
|
||||||
|
? TranslationLoader.lanKeys!.pleaseSelect!.tr
|
||||||
|
: state.lockIdList.length.toString(),
|
||||||
|
isHaveDirection: true,
|
||||||
|
action: () async {
|
||||||
|
final result = await Get.toNamed(
|
||||||
|
Routers.massSendLockGroupListPage,
|
||||||
|
arguments: <String, Object>{
|
||||||
|
'keyLimits': '1',
|
||||||
|
'lockIdList': state.lockIdList
|
||||||
|
});
|
||||||
|
if (result != null && result.isNotEmpty) {
|
||||||
|
final List selectLockIdList = result['selectLockIdList'];
|
||||||
|
state.lockIdList.clear();
|
||||||
|
selectLockIdList.forEach((element) {
|
||||||
|
state.lockIdList.add(element);
|
||||||
|
});
|
||||||
|
setState(() {});
|
||||||
|
}
|
||||||
|
}),
|
||||||
|
SizedBox(
|
||||||
|
height: 10.h,
|
||||||
|
),
|
||||||
|
keyTimeWidget(),
|
||||||
|
SizedBox(
|
||||||
|
height: 60.h,
|
||||||
|
),
|
||||||
|
SubmitBtn(
|
||||||
|
btnName: '导出'.tr,
|
||||||
|
onClick: () {
|
||||||
|
if (state.lockIdList.isEmpty) {
|
||||||
|
logic.showToast('请选择锁'.tr);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
Get.toNamed(Routers.exportSuccessPage);
|
||||||
|
}),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 生效失效时间
|
||||||
|
Widget keyTimeWidget() {
|
||||||
|
return Column(
|
||||||
|
children: <Widget>[
|
||||||
|
Obx(() => CommonItem(
|
||||||
|
leftTitel: TranslationLoader.lanKeys!.effectiveTime!.tr,
|
||||||
|
rightTitle: state.beginTime.value,
|
||||||
|
isHaveLine: true,
|
||||||
|
isHaveDirection: true,
|
||||||
|
action: () {
|
||||||
|
final PDuration selectDate =
|
||||||
|
PDuration.parse(DateTime.tryParse(state.beginTime.value));
|
||||||
|
Pickers.showDatePicker(context,
|
||||||
|
selectDate: selectDate,
|
||||||
|
mode: DateMode.YMD, onConfirm: (PDuration p) {
|
||||||
|
state.beginTime.value = DateTool().getYMDHNDateString(p, 2);
|
||||||
|
});
|
||||||
|
})),
|
||||||
|
Obx(() => CommonItem(
|
||||||
|
leftTitel: TranslationLoader.lanKeys!.failureTime!.tr,
|
||||||
|
rightTitle: state.endTime.value,
|
||||||
|
isHaveDirection: true,
|
||||||
|
action: () {
|
||||||
|
final PDuration selectDate =
|
||||||
|
PDuration.parse(DateTime.tryParse(state.endTime.value));
|
||||||
|
Pickers.showDatePicker(context,
|
||||||
|
selectDate: selectDate,
|
||||||
|
mode: DateMode.YMD, onConfirm: (PDuration p) {
|
||||||
|
state.endTime.value = DateTool().getYMDHNDateString(p, 2);
|
||||||
|
});
|
||||||
|
})),
|
||||||
|
Container(height: 10.h),
|
||||||
|
],
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,11 @@
|
|||||||
|
import 'package:get/get.dart';
|
||||||
|
import 'package:intl/intl.dart';
|
||||||
|
|
||||||
|
class BatchExportLogState {
|
||||||
|
List<int> lockIdList = <int>[]; //选中的锁ID列表
|
||||||
|
|
||||||
|
RxString beginTime =
|
||||||
|
DateFormat('yyyy-MM-dd').format(DateTime.now()).obs; //默认为当前时间 开始时间
|
||||||
|
RxString endTime =
|
||||||
|
DateFormat('yyyy-MM-dd').format(DateTime.now()).obs; //默认为当前时间 结束时间
|
||||||
|
}
|
||||||
@ -14,7 +14,6 @@ import 'package:star_lock/tools/menuItem/xsDropDownWidget.dart';
|
|||||||
import 'package:star_lock/tools/noData.dart';
|
import 'package:star_lock/tools/noData.dart';
|
||||||
import 'package:star_lock/tools/showCupertinoAlertView.dart';
|
import 'package:star_lock/tools/showCupertinoAlertView.dart';
|
||||||
import 'package:star_lock/tools/showTipView.dart';
|
import 'package:star_lock/tools/showTipView.dart';
|
||||||
import 'package:star_lock/tools/submitBtn.dart';
|
|
||||||
import 'package:timelines/timelines.dart';
|
import 'package:timelines/timelines.dart';
|
||||||
|
|
||||||
import '../../../app_settings/app_colors.dart';
|
import '../../../app_settings/app_colors.dart';
|
||||||
@ -43,7 +42,8 @@ class _DoorLockLogPageState extends State<DoorLockLogPage> with RouteAware {
|
|||||||
backgroundColor: AppColors.mainColor,
|
backgroundColor: AppColors.mainColor,
|
||||||
actionsList: <Widget>[
|
actionsList: <Widget>[
|
||||||
Visibility(
|
Visibility(
|
||||||
visible: CommonDataManage().currentKeyInfo.isLockOwner == 1,
|
visible: CommonDataManage().currentKeyInfo.isLockOwner == 1 ||
|
||||||
|
CommonDataManage().currentKeyInfo.keyRight == 1,
|
||||||
child: GestureDetector(
|
child: GestureDetector(
|
||||||
child: Image.asset(
|
child: Image.asset(
|
||||||
'images/icon_tips_Q.png',
|
'images/icon_tips_Q.png',
|
||||||
@ -59,15 +59,18 @@ class _DoorLockLogPageState extends State<DoorLockLogPage> with RouteAware {
|
|||||||
},
|
},
|
||||||
)),
|
)),
|
||||||
Visibility(
|
Visibility(
|
||||||
visible: CommonDataManage().currentKeyInfo.isLockOwner == 1,
|
visible: CommonDataManage().currentKeyInfo.isLockOwner == 1 ||
|
||||||
|
CommonDataManage().currentKeyInfo.keyRight == 1,
|
||||||
child: PopupMenuButton<String>(
|
child: PopupMenuButton<String>(
|
||||||
onSelected: _onMenuItemSelected,
|
onSelected: _onMenuItemSelected,
|
||||||
color: Colors.black,
|
color: Colors.black,
|
||||||
itemBuilder: (BuildContext context) {
|
itemBuilder: (BuildContext context) {
|
||||||
return <PopupMenuEntry<String>>[
|
return <PopupMenuEntry<String>>[
|
||||||
_buildCustomPopupMenuItem('读取记录'),
|
_buildCustomPopupMenuItem('读取记录'),
|
||||||
const PopupMenuDivider(),
|
if (CommonDataManage().currentKeyInfo.isLockOwner == 1)
|
||||||
_buildCustomPopupMenuItem('清空记录'),
|
const PopupMenuDivider(),
|
||||||
|
if (CommonDataManage().currentKeyInfo.isLockOwner == 1)
|
||||||
|
_buildCustomPopupMenuItem('清空记录'),
|
||||||
const PopupMenuDivider(),
|
const PopupMenuDivider(),
|
||||||
_buildCustomPopupMenuItem('导出记录'),
|
_buildCustomPopupMenuItem('导出记录'),
|
||||||
];
|
];
|
||||||
@ -138,7 +141,9 @@ class _DoorLockLogPageState extends State<DoorLockLogPage> with RouteAware {
|
|||||||
context: context,
|
context: context,
|
||||||
builder: (BuildContext context) {
|
builder: (BuildContext context) {
|
||||||
return ExportRecordDialog(
|
return ExportRecordDialog(
|
||||||
onExport: () {},
|
onExport: () {
|
||||||
|
Get.toNamed(Routers.exportSuccessPage);
|
||||||
|
},
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|||||||
@ -2,6 +2,7 @@ import 'package:flutter/material.dart';
|
|||||||
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
import 'package:intl/intl.dart';
|
import 'package:intl/intl.dart';
|
||||||
|
import 'package:star_lock/appRouters.dart';
|
||||||
import 'package:star_lock/app_settings/app_colors.dart';
|
import 'package:star_lock/app_settings/app_colors.dart';
|
||||||
import 'package:star_lock/tools/pickers/pickers.dart';
|
import 'package:star_lock/tools/pickers/pickers.dart';
|
||||||
import 'package:star_lock/tools/pickers/time_picker/model/date_mode.dart';
|
import 'package:star_lock/tools/pickers/time_picker/model/date_mode.dart';
|
||||||
@ -46,8 +47,8 @@ class _DerivedRecordWidget extends StatefulWidget {
|
|||||||
}
|
}
|
||||||
|
|
||||||
class __DerivedRecordWidgetState extends State<_DerivedRecordWidget> {
|
class __DerivedRecordWidgetState extends State<_DerivedRecordWidget> {
|
||||||
DateTime? startDate;
|
DateTime? startDate = DateTime.now();
|
||||||
DateTime? endDate;
|
DateTime? endDate = DateTime.now();
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
@ -76,18 +77,13 @@ class __DerivedRecordWidgetState extends State<_DerivedRecordWidget> {
|
|||||||
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||||
children: <Widget>[
|
children: <Widget>[
|
||||||
_buildDateContainer(
|
_buildDateContainer(
|
||||||
startDate != null
|
DateFormat('yyyy-MM-dd').format(startDate!),
|
||||||
? DateFormat('yyyy-MM-dd').format(startDate!)
|
|
||||||
: DateFormat('yyyy-MM-dd').format(DateTime.now()),
|
|
||||||
_showStartDatePicker),
|
_showStartDatePicker),
|
||||||
Text(
|
Text(
|
||||||
'--',
|
'--',
|
||||||
style: TextStyle(fontSize: 24.sp),
|
style: TextStyle(fontSize: 24.sp),
|
||||||
),
|
),
|
||||||
_buildDateContainer(
|
_buildDateContainer(DateFormat('yyyy-MM-dd').format(endDate!),
|
||||||
endDate != null
|
|
||||||
? DateFormat('yyyy-MM-dd').format(endDate!)
|
|
||||||
: DateFormat('yyyy-MM-dd').format(DateTime.now()),
|
|
||||||
_showEndDatePicker),
|
_showEndDatePicker),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
@ -106,7 +102,8 @@ class __DerivedRecordWidgetState extends State<_DerivedRecordWidget> {
|
|||||||
children: <Widget>[
|
children: <Widget>[
|
||||||
TextButton(
|
TextButton(
|
||||||
onPressed: () {
|
onPressed: () {
|
||||||
// 批量导出的处理逻辑
|
Navigator.of(context).pop();
|
||||||
|
Get.toNamed(Routers.batchExportLogPage);
|
||||||
},
|
},
|
||||||
child: Text(
|
child: Text(
|
||||||
'批量导出'.tr,
|
'批量导出'.tr,
|
||||||
@ -197,8 +194,5 @@ class __DerivedRecordWidgetState extends State<_DerivedRecordWidget> {
|
|||||||
|
|
||||||
// 调用导出成功后的回调
|
// 调用导出成功后的回调
|
||||||
widget.onExport();
|
widget.onExport();
|
||||||
|
|
||||||
// 关闭弹窗
|
|
||||||
Navigator.of(context).pop();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -0,0 +1,6 @@
|
|||||||
|
import 'package:star_lock/main/lockDetail/doorLockLog/exportSuccess/exportSuccess_state.dart';
|
||||||
|
import 'package:star_lock/tools/baseGetXController.dart';
|
||||||
|
|
||||||
|
class ExportSuccessLogic extends BaseGetXController {
|
||||||
|
ExportSuccessState state = ExportSuccessState();
|
||||||
|
}
|
||||||
@ -0,0 +1,196 @@
|
|||||||
|
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/app_settings/app_colors.dart';
|
||||||
|
import 'package:star_lock/main/lockDetail/doorLockLog/exportSuccess/exportSuccess_logic.dart';
|
||||||
|
import 'package:star_lock/main/lockDetail/doorLockLog/exportSuccess/exportSuccess_state.dart';
|
||||||
|
import 'package:star_lock/tools/commonDataManage.dart';
|
||||||
|
import 'package:star_lock/tools/submitBtn.dart';
|
||||||
|
import 'package:star_lock/tools/titleAppBar.dart';
|
||||||
|
|
||||||
|
class ExportSuccessPage extends StatefulWidget {
|
||||||
|
const ExportSuccessPage({Key? key}) : super(key: key);
|
||||||
|
|
||||||
|
@override
|
||||||
|
State<ExportSuccessPage> createState() => _ExportSuccessPageState();
|
||||||
|
}
|
||||||
|
|
||||||
|
class _ExportSuccessPageState extends State<ExportSuccessPage> with RouteAware {
|
||||||
|
final ExportSuccessLogic logic = Get.put(ExportSuccessLogic());
|
||||||
|
final ExportSuccessState state = Get.find<ExportSuccessLogic>().state;
|
||||||
|
|
||||||
|
@override
|
||||||
|
Widget build(BuildContext context) {
|
||||||
|
return Scaffold(
|
||||||
|
backgroundColor: AppColors.mainBackgroundColor,
|
||||||
|
appBar: TitleAppBar(
|
||||||
|
barTitle: '导出'.tr,
|
||||||
|
haveBack: true,
|
||||||
|
backgroundColor: AppColors.mainColor,
|
||||||
|
),
|
||||||
|
body: sendElectronicKeySucceed(),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 导出成功
|
||||||
|
|
||||||
|
Widget sendElectronicKeySucceed() {
|
||||||
|
return Column(
|
||||||
|
children: <Widget>[
|
||||||
|
Container(
|
||||||
|
height: 250.h,
|
||||||
|
width: 1.sw,
|
||||||
|
color: Colors.white,
|
||||||
|
child: Column(
|
||||||
|
children: <Widget>[
|
||||||
|
SizedBox(
|
||||||
|
height: 30.h,
|
||||||
|
),
|
||||||
|
Image.asset(
|
||||||
|
'images/icon_send_success.png',
|
||||||
|
width: 100.w,
|
||||||
|
height: 100.w,
|
||||||
|
),
|
||||||
|
SizedBox(
|
||||||
|
height: 20.h,
|
||||||
|
),
|
||||||
|
Row(
|
||||||
|
mainAxisAlignment: MainAxisAlignment.center,
|
||||||
|
children: <Widget>[
|
||||||
|
Text(
|
||||||
|
'导出成功'.tr,
|
||||||
|
style: TextStyle(
|
||||||
|
fontSize: 26.sp,
|
||||||
|
color: Colors.black,
|
||||||
|
fontWeight: FontWeight.w500),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
SizedBox(
|
||||||
|
height: 60.h,
|
||||||
|
),
|
||||||
|
SubmitBtn(
|
||||||
|
btnName: '立即查看'.tr,
|
||||||
|
onClick: () {
|
||||||
|
Get.toNamed(Routers.viewExportRecordPage);
|
||||||
|
}),
|
||||||
|
SizedBox(
|
||||||
|
height: 20.h,
|
||||||
|
),
|
||||||
|
OutLineBtn(
|
||||||
|
btnName: '分享'.tr,
|
||||||
|
onClick: () {
|
||||||
|
_openModalBottomSheet();
|
||||||
|
},
|
||||||
|
),
|
||||||
|
],
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
Future<void> _openModalBottomSheet() async {
|
||||||
|
showModalBottomSheet(
|
||||||
|
context: context,
|
||||||
|
shape: RoundedRectangleBorder(
|
||||||
|
borderRadius: BorderRadiusDirectional.circular(10)),
|
||||||
|
constraints: BoxConstraints(maxHeight: 270.h),
|
||||||
|
builder: (BuildContext context) {
|
||||||
|
return Column(
|
||||||
|
children: <Widget>[
|
||||||
|
SizedBox(
|
||||||
|
width: ScreenUtil().screenWidth,
|
||||||
|
height: 160.h,
|
||||||
|
child: ListView(
|
||||||
|
scrollDirection: Axis.horizontal, //横向滚动
|
||||||
|
children: initBottomSheetList()),
|
||||||
|
),
|
||||||
|
Container(
|
||||||
|
height: 8.h,
|
||||||
|
color: AppColors.greyBackgroundColor,
|
||||||
|
),
|
||||||
|
TextButton(
|
||||||
|
style: ButtonStyle(
|
||||||
|
overlayColor:
|
||||||
|
MaterialStateProperty.all<Color>(Colors.white)),
|
||||||
|
child: Text(
|
||||||
|
'取消'.tr,
|
||||||
|
style: TextStyle(
|
||||||
|
color: Colors.black, fontSize: ScreenUtil().setSp(24)),
|
||||||
|
),
|
||||||
|
onPressed: () {
|
||||||
|
Navigator.pop(context);
|
||||||
|
},
|
||||||
|
)
|
||||||
|
],
|
||||||
|
);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
List<Widget> initBottomSheetList() {
|
||||||
|
final List<Widget> widgetList = <Widget>[];
|
||||||
|
|
||||||
|
widgetList.add(buildCenter3('images/icon_wechat.png', '微信好友'.tr, 0));
|
||||||
|
widgetList.add(buildCenter3('images/icon_message.png', '短信'.tr, 1));
|
||||||
|
widgetList.add(buildCenter3('images/icon_email.png', '邮件'.tr, 2));
|
||||||
|
widgetList.add(buildCenter3('images/icon_more.png', '更多'.tr, 3));
|
||||||
|
|
||||||
|
return widgetList;
|
||||||
|
}
|
||||||
|
|
||||||
|
GestureDetector buildCenter3(
|
||||||
|
String imageName, String titleStr, int itemIndex) {
|
||||||
|
return GestureDetector(
|
||||||
|
child: Container(
|
||||||
|
width: 120.w,
|
||||||
|
// height: 64.h,
|
||||||
|
margin:
|
||||||
|
EdgeInsets.only(top: 20.w, bottom: 20.w, left: 10.w, right: 10.w),
|
||||||
|
child: Column(
|
||||||
|
mainAxisAlignment: MainAxisAlignment.center,
|
||||||
|
children: <Widget>[
|
||||||
|
Image.asset(
|
||||||
|
imageName,
|
||||||
|
width: 50.w,
|
||||||
|
height: 50.h,
|
||||||
|
),
|
||||||
|
SizedBox(
|
||||||
|
height: 16.w,
|
||||||
|
),
|
||||||
|
Text(
|
||||||
|
titleStr,
|
||||||
|
style: TextStyle(
|
||||||
|
fontSize: ScreenUtil().setSp(20), color: Colors.black),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
onTap: () => jumpSmartDeviceRoute(itemIndex),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
Future<void> jumpSmartDeviceRoute(int itemIndex) async {
|
||||||
|
Get.back();
|
||||||
|
// final String pwdShareStr = logic.getShareContentStr();
|
||||||
|
switch (itemIndex) {
|
||||||
|
case 0: //微信好友
|
||||||
|
// NativeInteractionTool().loadNativeShare(shareText: pwdShareStr);
|
||||||
|
break;
|
||||||
|
case 1: //短信
|
||||||
|
case 2: //邮件
|
||||||
|
Get.toNamed(Routers.sendEmailNotificationPage,
|
||||||
|
arguments: <String, Object?>{
|
||||||
|
'receiver': '',
|
||||||
|
'channelType': itemIndex == 1 ? 1 : 2,
|
||||||
|
'keyId': CommonDataManage().currentKeyInfo.keyId,
|
||||||
|
});
|
||||||
|
break;
|
||||||
|
case 3: //更多
|
||||||
|
// NativeInteractionTool().loadNativeShare(shareText: pwdShareStr);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1 @@
|
|||||||
|
class ExportSuccessState {}
|
||||||
Loading…
x
Reference in New Issue
Block a user