diff --git a/star_lock/images/icon_about.png b/star_lock/images/icon_about.png
new file mode 100644
index 00000000..fa5d299e
Binary files /dev/null and b/star_lock/images/icon_about.png differ
diff --git a/star_lock/images/icon_main_1024.png b/star_lock/images/icon_main_1024.png
index aa0093ef..e8cdae88 100644
Binary files a/star_lock/images/icon_main_1024.png and b/star_lock/images/icon_main_1024.png differ
diff --git a/star_lock/images/icon_noData.png b/star_lock/images/icon_noData.png
new file mode 100644
index 00000000..2283ab1b
Binary files /dev/null and b/star_lock/images/icon_noData.png differ
diff --git a/star_lock/images/lan/lan_zh.json b/star_lock/images/lan/lan_zh.json
index b25cd712..567fc529 100644
--- a/star_lock/images/lan/lan_zh.json
+++ b/star_lock/images/lan/lan_zh.json
@@ -212,7 +212,7 @@
"pushNotification":"消息推送",
"lockUserManagement":"锁用户管理",
"ownedKey":"拥有的钥匙",
- "authorityManagement":"权限管理",
+ "authorityManagement":"批量授权",
"associatedDevice":"关联设备",
"associatedName":"关联姓名",
"device":"设备",
diff --git a/star_lock/images/lockType/addLock_entranceGuardBg.png b/star_lock/images/lockType/addLock_entranceGuardBg.png
new file mode 100644
index 00000000..ccc23b1b
Binary files /dev/null and b/star_lock/images/lockType/addLock_entranceGuardBg.png differ
diff --git a/star_lock/images/lockType/addLock_parkingBg.png b/star_lock/images/lockType/addLock_parkingBg.png
new file mode 100644
index 00000000..ad13578c
Binary files /dev/null and b/star_lock/images/lockType/addLock_parkingBg.png differ
diff --git a/star_lock/images/lockType/addLock_safeBg.png b/star_lock/images/lockType/addLock_safeBg.png
new file mode 100644
index 00000000..546c1d91
Binary files /dev/null and b/star_lock/images/lockType/addLock_safeBg.png differ
diff --git a/star_lock/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json b/star_lock/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json
index d36b1fab..77cf5ba4 100644
--- a/star_lock/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json
+++ b/star_lock/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json
@@ -1,122 +1,121 @@
{
"images" : [
{
- "size" : "20x20",
+ "filename" : "icon-20@2x.png",
"idiom" : "iphone",
- "filename" : "Icon-App-20x20@2x.png",
- "scale" : "2x"
+ "scale" : "2x",
+ "size" : "20x20"
},
{
- "size" : "20x20",
+ "filename" : "icon-20@3x.png",
"idiom" : "iphone",
- "filename" : "Icon-App-20x20@3x.png",
- "scale" : "3x"
+ "scale" : "3x",
+ "size" : "20x20"
},
{
- "size" : "29x29",
"idiom" : "iphone",
- "filename" : "Icon-App-29x29@1x.png",
- "scale" : "1x"
+ "scale" : "1x",
+ "size" : "29x29"
},
{
- "size" : "29x29",
+ "filename" : "icon-29@2x.png",
"idiom" : "iphone",
- "filename" : "Icon-App-29x29@2x.png",
- "scale" : "2x"
+ "scale" : "2x",
+ "size" : "29x29"
},
{
- "size" : "29x29",
+ "filename" : "icon-29@3x.png",
"idiom" : "iphone",
- "filename" : "Icon-App-29x29@3x.png",
- "scale" : "3x"
+ "scale" : "3x",
+ "size" : "29x29"
},
{
- "size" : "40x40",
+ "filename" : "icon-40@2x.png",
"idiom" : "iphone",
- "filename" : "Icon-App-40x40@2x.png",
- "scale" : "2x"
+ "scale" : "2x",
+ "size" : "40x40"
},
{
- "size" : "40x40",
+ "filename" : "icon-40@3x.png",
"idiom" : "iphone",
- "filename" : "Icon-App-40x40@3x.png",
- "scale" : "3x"
+ "scale" : "3x",
+ "size" : "40x40"
},
{
- "size" : "60x60",
+ "filename" : "icon-60@2x.png",
"idiom" : "iphone",
- "filename" : "Icon-App-60x60@2x.png",
- "scale" : "2x"
+ "scale" : "2x",
+ "size" : "60x60"
},
{
- "size" : "60x60",
+ "filename" : "icon-60@3x.png",
"idiom" : "iphone",
- "filename" : "Icon-App-60x60@3x.png",
- "scale" : "3x"
+ "scale" : "3x",
+ "size" : "60x60"
},
{
- "size" : "20x20",
- "idiom" : "ipad",
"filename" : "Icon-App-20x20@1x.png",
- "scale" : "1x"
+ "idiom" : "ipad",
+ "scale" : "1x",
+ "size" : "20x20"
},
{
- "size" : "20x20",
- "idiom" : "ipad",
"filename" : "Icon-App-20x20@2x.png",
- "scale" : "2x"
+ "idiom" : "ipad",
+ "scale" : "2x",
+ "size" : "20x20"
},
{
- "size" : "29x29",
- "idiom" : "ipad",
"filename" : "Icon-App-29x29@1x.png",
- "scale" : "1x"
+ "idiom" : "ipad",
+ "scale" : "1x",
+ "size" : "29x29"
},
{
- "size" : "29x29",
- "idiom" : "ipad",
"filename" : "Icon-App-29x29@2x.png",
- "scale" : "2x"
+ "idiom" : "ipad",
+ "scale" : "2x",
+ "size" : "29x29"
},
{
- "size" : "40x40",
- "idiom" : "ipad",
"filename" : "Icon-App-40x40@1x.png",
- "scale" : "1x"
+ "idiom" : "ipad",
+ "scale" : "1x",
+ "size" : "40x40"
},
{
- "size" : "40x40",
- "idiom" : "ipad",
"filename" : "Icon-App-40x40@2x.png",
- "scale" : "2x"
+ "idiom" : "ipad",
+ "scale" : "2x",
+ "size" : "40x40"
},
{
- "size" : "76x76",
- "idiom" : "ipad",
"filename" : "Icon-App-76x76@1x.png",
- "scale" : "1x"
+ "idiom" : "ipad",
+ "scale" : "1x",
+ "size" : "76x76"
},
{
- "size" : "76x76",
- "idiom" : "ipad",
"filename" : "Icon-App-76x76@2x.png",
- "scale" : "2x"
- },
- {
- "size" : "83.5x83.5",
"idiom" : "ipad",
- "filename" : "Icon-App-83.5x83.5@2x.png",
- "scale" : "2x"
+ "scale" : "2x",
+ "size" : "76x76"
+ },
+ {
+ "filename" : "Icon-App-83.5x83.5@2x.png",
+ "idiom" : "ipad",
+ "scale" : "2x",
+ "size" : "83.5x83.5"
},
{
- "size" : "1024x1024",
- "idiom" : "ios-marketing",
"filename" : "Icon-App-1024x1024@1x.png",
- "scale" : "1x"
+ "idiom" : "ios-marketing",
+ "scale" : "1x",
+ "size" : "1024x1024"
}
],
"info" : {
- "version" : 1,
- "author" : "xcode"
+ "author" : "xcode",
+ "version" : 1
}
}
diff --git a/star_lock/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png b/star_lock/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png
deleted file mode 100644
index f091b6b0..00000000
Binary files a/star_lock/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png and /dev/null differ
diff --git a/star_lock/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png b/star_lock/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png
deleted file mode 100644
index dcdc2306..00000000
Binary files a/star_lock/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png and /dev/null differ
diff --git a/star_lock/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png b/star_lock/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png
deleted file mode 100644
index a6d6b860..00000000
Binary files a/star_lock/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png and /dev/null differ
diff --git a/star_lock/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png b/star_lock/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png
deleted file mode 100644
index a6d6b860..00000000
Binary files a/star_lock/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png and /dev/null differ
diff --git a/star_lock/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png b/star_lock/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png
deleted file mode 100644
index 75b2d164..00000000
Binary files a/star_lock/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png and /dev/null differ
diff --git a/star_lock/ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-20@2x.png b/star_lock/ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-20@2x.png
new file mode 100644
index 00000000..acce7ba6
Binary files /dev/null and b/star_lock/ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-20@2x.png differ
diff --git a/star_lock/ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-20@3x.png b/star_lock/ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-20@3x.png
new file mode 100644
index 00000000..820fb5e9
Binary files /dev/null and b/star_lock/ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-20@3x.png differ
diff --git a/star_lock/ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-29@2x.png b/star_lock/ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-29@2x.png
new file mode 100644
index 00000000..58d0d204
Binary files /dev/null and b/star_lock/ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-29@2x.png differ
diff --git a/star_lock/ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-29@3x.png b/star_lock/ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-29@3x.png
new file mode 100644
index 00000000..3e64f3be
Binary files /dev/null and b/star_lock/ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-29@3x.png differ
diff --git a/star_lock/ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-40@2x.png b/star_lock/ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-40@2x.png
new file mode 100644
index 00000000..267db673
Binary files /dev/null and b/star_lock/ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-40@2x.png differ
diff --git a/star_lock/ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-40@3x.png b/star_lock/ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-40@3x.png
new file mode 100644
index 00000000..cc9a1c77
Binary files /dev/null and b/star_lock/ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-40@3x.png differ
diff --git a/star_lock/ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-60@2x.png b/star_lock/ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-60@2x.png
new file mode 100644
index 00000000..cc9a1c77
Binary files /dev/null and b/star_lock/ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-60@2x.png differ
diff --git a/star_lock/ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-60@3x.png b/star_lock/ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-60@3x.png
new file mode 100644
index 00000000..3c4fdd30
Binary files /dev/null and b/star_lock/ios/Runner/Assets.xcassets/AppIcon.appiconset/icon-60@3x.png differ
diff --git a/star_lock/ios/Runner/Info.plist b/star_lock/ios/Runner/Info.plist
index ec207f04..dda1720c 100644
--- a/star_lock/ios/Runner/Info.plist
+++ b/star_lock/ios/Runner/Info.plist
@@ -7,7 +7,7 @@
CFBundleDevelopmentRegion
$(DEVELOPMENT_LANGUAGE)
CFBundleDisplayName
- Star Lock
+ 星锁
CFBundleExecutable
$(EXECUTABLE_NAME)
CFBundleIdentifier
@@ -15,7 +15,7 @@
CFBundleInfoDictionaryVersion
6.0
CFBundleName
- star_lock
+ 星锁
CFBundlePackageType
APPL
CFBundleShortVersionString
@@ -57,11 +57,11 @@
UILaunchStoryboardName
LaunchScreen
- UIApplicationSceneManifest
-
- UISceneConfigurations
-
-
+ UIApplicationSceneManifest
+
+ UISceneConfigurations
+
+
UIMainStoryboardFile
Main
UISupportedInterfaceOrientations
diff --git a/star_lock/lib/appRouters.dart b/star_lock/lib/appRouters.dart
index 6b63dfe0..8b51ab48 100644
--- a/star_lock/lib/appRouters.dart
+++ b/star_lock/lib/appRouters.dart
@@ -12,7 +12,7 @@ import 'package:star_lock/mine/about/webviewShow_page.dart';
import 'package:star_lock/mine/mine/safeVerify/safeVerify_page.dart';
import 'package:star_lock/mine/minePersonInfo/minePersonInfoEmail/mineBindPhoneOrEmail_page.dart';
import 'package:star_lock/mine/minePersonInfo/minePersonInfoViewSafetyProblem/minePersonInfoViewSafetyProblem_page.dart';
-import 'package:star_lock/mine/mineSet/authorizedAdministrator/addAuthorizedAdministrator_page.dart';
+import 'package:star_lock/mine/mineSet/addAuthorizedAdministrator/addAuthorizedAdministrator_page.dart';
import 'package:star_lock/mine/mineSet/authorizedAdministrator/administratorDetails/adminDetailChangeDate_page.dart';
import 'package:star_lock/mine/mineSet/authorizedAdministrator/administratorDetails/administratorDetails_page.dart';
import 'package:star_lock/mine/mineSet/lockGroup/lockGroupList_page.dart';
@@ -318,7 +318,7 @@ abstract class Routers {
static const getDeviceListPage = '/getDeviceListPage'; //设备列表
static const getNameListPage = '/getNameListPage'; //姓名列表
- static const authorityManagementPage = '/authorityManagementPage'; //权限管理
+ static const authorityManagementPage = '/authorityManagementPage'; //批量授权
static const massSendLockGroupPage = '/massSendLockGroupPage'; //群发锁分组列表
static const massSendReceiverPage = '/massSendReceiverPage'; //群发接收人
static const lockUserListPage = '/lockUserListPage'; //锁用户列表
diff --git a/star_lock/lib/main/lockDetail/authorizedAdmin/authorizedAdminList/authorizedAdminList_page.dart b/star_lock/lib/main/lockDetail/authorizedAdmin/authorizedAdminList/authorizedAdminList_page.dart
index 79024fb1..19c2a8f2 100644
--- a/star_lock/lib/main/lockDetail/authorizedAdmin/authorizedAdminList/authorizedAdminList_page.dart
+++ b/star_lock/lib/main/lockDetail/authorizedAdmin/authorizedAdminList/authorizedAdminList_page.dart
@@ -5,6 +5,7 @@ import 'package:star_lock/main/lockDetail/electronicKey/electronicKeyList/entity
import 'package:star_lock/main/lockMian/entity/lockInfoEntity.dart';
import 'package:star_lock/network/api_repository.dart';
import 'package:star_lock/tools/baseGetXController.dart';
+import 'package:star_lock/tools/noData.dart';
import '../../../../appRouters.dart';
import '../../../../app_settings/app_colors.dart';
@@ -116,32 +117,34 @@ class _AuthorizedAdminListPageState extends State {
Widget _buildMainUI(itemData) {
List getItemData = itemData;
- return ListView.builder(
- itemCount: getItemData.length,
- itemBuilder: (c, index) {
- ElectronicKeyListItem indexEntity = getItemData[index];
- String useDateStr = ''; //使用期限
- String keyStatus = ''; //钥匙状态
+ return getItemData.isEmpty
+ ? const NoData()
+ : ListView.builder(
+ itemCount: getItemData.length,
+ itemBuilder: (c, index) {
+ ElectronicKeyListItem indexEntity = getItemData[index];
+ String useDateStr = ''; //使用期限
+ String keyStatus = ''; //钥匙状态
- //使用期限
- useDateStr = getUseDateStr(indexEntity);
+ //使用期限
+ useDateStr = getUseDateStr(indexEntity);
- //钥匙状态
- keyStatus = getKeyStatus(indexEntity.keyStatus);
+ //钥匙状态
+ keyStatus = getKeyStatus(indexEntity.keyStatus);
- //是否为管理钥匙
- bool isAdminKey = false;
- if (indexEntity.keyRight == 1) {
- isAdminKey = true;
- } else {
- isAdminKey = false;
- }
- return _electronicKeyItem('images/controls_user.png',
- indexEntity.keyName!, useDateStr, keyStatus, isAdminKey, () {
- Navigator.pushNamed(context, Routers.electronicKeyDetailPage,
- arguments: {'itemData': indexEntity});
- });
- });
+ //是否为管理钥匙
+ bool isAdminKey = false;
+ if (indexEntity.keyRight == 1) {
+ isAdminKey = true;
+ } else {
+ isAdminKey = false;
+ }
+ return _electronicKeyItem('images/controls_user.png',
+ indexEntity.keyName!, useDateStr, keyStatus, isAdminKey, () {
+ Navigator.pushNamed(context, Routers.electronicKeyDetailPage,
+ arguments: {'itemData': indexEntity});
+ });
+ });
}
//使用期限
diff --git a/star_lock/lib/main/lockDetail/authorizedAdmin/volumeAuthorizationLock/volumeAuthorizationLock_logic.dart b/star_lock/lib/main/lockDetail/authorizedAdmin/volumeAuthorizationLock/volumeAuthorizationLock_logic.dart
new file mode 100644
index 00000000..e69de29b
diff --git a/star_lock/lib/main/lockDetail/authorizedAdmin/volumeAuthorizationLock/volumeAuthorizationLock_page.dart b/star_lock/lib/main/lockDetail/authorizedAdmin/volumeAuthorizationLock/volumeAuthorizationLock_page.dart
index 049f00dc..b5fafa4e 100644
--- a/star_lock/lib/main/lockDetail/authorizedAdmin/volumeAuthorizationLock/volumeAuthorizationLock_page.dart
+++ b/star_lock/lib/main/lockDetail/authorizedAdmin/volumeAuthorizationLock/volumeAuthorizationLock_page.dart
@@ -26,6 +26,7 @@ class VolumeAuthorizationLockPage extends StatefulWidget {
_VolumeAuthorizationLockPageState();
}
+//批量授权锁页面
class _VolumeAuthorizationLockPageState
extends State {
final FlutterContactPicker _contactPicker = FlutterContactPicker();
diff --git a/star_lock/lib/main/lockDetail/authorizedAdmin/volumeAuthorizationLock/volumeAuthorizationLock_state.dart b/star_lock/lib/main/lockDetail/authorizedAdmin/volumeAuthorizationLock/volumeAuthorizationLock_state.dart
new file mode 100644
index 00000000..e69de29b
diff --git a/star_lock/lib/main/lockDetail/electronicKey/massSendElectronicKey/massSendLockGroupList/lockUserList/lockUserList_page.dart b/star_lock/lib/main/lockDetail/electronicKey/massSendElectronicKey/massSendLockGroupList/lockUserList/lockUserList_page.dart
index 7220a588..46738132 100644
--- a/star_lock/lib/main/lockDetail/electronicKey/massSendElectronicKey/massSendLockGroupList/lockUserList/lockUserList_page.dart
+++ b/star_lock/lib/main/lockDetail/electronicKey/massSendElectronicKey/massSendLockGroupList/lockUserList/lockUserList_page.dart
@@ -5,6 +5,7 @@ import 'package:star_lock/app_settings/app_colors.dart';
import 'package:star_lock/main/lockDetail/electronicKey/massSendElectronicKey/massSendLockGroupList/lockUserList/lockUserListEntity.dart';
import 'package:star_lock/network/api_repository.dart';
import 'package:star_lock/tools/baseGetXController.dart';
+import 'package:star_lock/tools/noData.dart';
import 'package:star_lock/tools/submitBtn.dart';
import 'package:star_lock/translations/trans_lib.dart';
@@ -56,16 +57,19 @@ class _LockUserListPageState extends State {
height: 20.h,
),
Expanded(
- child: ListView.separated(
- itemBuilder: (context, index) {
- LockUserData indexEntity = dataList[index];
- return _electronicKeyItem(indexEntity);
- },
- itemCount: dataList.length,
- separatorBuilder: (context, index) {
- return const Divider(height: 1, color: AppColors.greyLineColor);
- },
- )),
+ child: dataList.isEmpty
+ ? const NoData()
+ : ListView.separated(
+ itemBuilder: (context, index) {
+ LockUserData indexEntity = dataList[index];
+ return _electronicKeyItem(indexEntity);
+ },
+ itemCount: dataList.length,
+ separatorBuilder: (context, index) {
+ return const Divider(
+ height: 1, color: AppColors.greyLineColor);
+ },
+ )),
Container(
height: 120.h,
padding: EdgeInsets.only(left: 20.w, right: 20.w, top: 0.h),
diff --git a/star_lock/lib/main/lockDetail/electronicKey/massSendElectronicKey/massSendLockGroupList/massSendLockGroupList_page.dart b/star_lock/lib/main/lockDetail/electronicKey/massSendElectronicKey/massSendLockGroupList/massSendLockGroupList_page.dart
index b2cf104b..99a2bbda 100644
--- a/star_lock/lib/main/lockDetail/electronicKey/massSendElectronicKey/massSendLockGroupList/massSendLockGroupList_page.dart
+++ b/star_lock/lib/main/lockDetail/electronicKey/massSendElectronicKey/massSendLockGroupList/massSendLockGroupList_page.dart
@@ -122,6 +122,11 @@ class _MassSendLockGroupListPageState extends State {
onTap: () {
selectGroupIdList.add(index);
clickIndex = index;
+ //是否选中组
+ if (itemData.isChecked) {
+ // lockItemList[selectIndex] =
+ }
+ print('选中了么0');
},
typeImgList: const [],
groupItem: itemData,
diff --git a/star_lock/lib/main/lockDetail/electronicKey/sendElectronicKey/sendElectronicKey/sendElectronicKey_page.dart b/star_lock/lib/main/lockDetail/electronicKey/sendElectronicKey/sendElectronicKey/sendElectronicKey_page.dart
index 3fa0163b..41d19843 100644
--- a/star_lock/lib/main/lockDetail/electronicKey/sendElectronicKey/sendElectronicKey/sendElectronicKey_page.dart
+++ b/star_lock/lib/main/lockDetail/electronicKey/sendElectronicKey/sendElectronicKey/sendElectronicKey_page.dart
@@ -201,7 +201,9 @@ class _SendElectronicKeyPageState extends State {
isHaveRightWidget: true,
rightWidget: SizedBox(
width: 60.w, height: 50.h, child: _remoteSwitch(false)),
- action: () {}),
+ action: () {
+ // Toast.show(msg: '此功能暂未开放');
+ }),
],
);
}
diff --git a/star_lock/lib/main/lockDetail/lcokSet/doorMagnetic/nearbyDoorMagnetic/nearbyDoorMagnetic_page.dart b/star_lock/lib/main/lockDetail/lcokSet/doorMagnetic/nearbyDoorMagnetic/nearbyDoorMagnetic_page.dart
index 96931fcc..db766ed6 100644
--- a/star_lock/lib/main/lockDetail/lcokSet/doorMagnetic/nearbyDoorMagnetic/nearbyDoorMagnetic_page.dart
+++ b/star_lock/lib/main/lockDetail/lcokSet/doorMagnetic/nearbyDoorMagnetic/nearbyDoorMagnetic_page.dart
@@ -1,6 +1,7 @@
import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:get/get.dart';
+import 'package:star_lock/tools/noData.dart';
import '../../../../../app_settings/app_colors.dart';
import '../../../../../tools/titleAppBar.dart';
@@ -14,6 +15,7 @@ class NearbyDoorMagneticPage extends StatefulWidget {
}
class _NearbyDoorMagneticPageState extends State {
+ List dataList = [];
@override
Widget build(BuildContext context) {
return Scaffold(
@@ -22,13 +24,16 @@ class _NearbyDoorMagneticPageState extends State {
barTitle: TranslationLoader.lanKeys!.nearbyEquipment!.tr,
haveBack: true,
backgroundColor: AppColors.mainColor),
- body: ListView.builder(
- itemCount: 20,
- itemBuilder: (c, index) {
- return nearbyLockItem('images/icon_lock.png', "MCBN01-ea9240", () {
- // Navigator.pushNamed(context, Routers.saveLockPage);
- });
- }),
+ body: dataList.isEmpty
+ ? const NoData()
+ : ListView.builder(
+ itemCount: dataList.length,
+ itemBuilder: (c, index) {
+ return nearbyLockItem('images/icon_lock.png', "MCBN01-ea9240",
+ () {
+ // Navigator.pushNamed(context, Routers.saveLockPage);
+ });
+ }),
);
}
diff --git a/star_lock/lib/main/lockDetail/lcokSet/lockSet/lockSet_page.dart b/star_lock/lib/main/lockDetail/lcokSet/lockSet/lockSet_page.dart
index 040a9e92..eaf98944 100644
--- a/star_lock/lib/main/lockDetail/lcokSet/lockSet/lockSet_page.dart
+++ b/star_lock/lib/main/lockDetail/lcokSet/lockSet/lockSet_page.dart
@@ -65,42 +65,65 @@ class _LockSetPageState extends State with RouteAware {
'keyInfo': state.getKeyInfosData.value
});
}),
- SizedBox(height: 10.h,),
+ SizedBox(
+ height: 10.h,
+ ),
// 门磁
Visibility(
visible: true,
- child:CommonItem(
- leftTitel: TranslationLoader.lanKeys!.doorMagnetic!.tr,
+ child: CommonItem(
+ leftTitel:
+ TranslationLoader.lanKeys!.doorMagnetic!.tr,
rightTitle: "",
isHaveLine: true,
isHaveDirection: true,
action: () {
- // Get.toNamed(Routers.doorMagneticPage);
- Toast.show(msg: "功能暂未开放");
- })
- ),
+ Get.toNamed(Routers.doorMagneticPage);
+ // Toast.show(msg: "功能暂未开放");
+ })),
// 无线键盘
Visibility(
visible: true,
child: CommonItem(
leftTitel:
- TranslationLoader.lanKeys!.wirelessKeyboard!.tr,
+ TranslationLoader.lanKeys!.wirelessKeyboard!.tr,
+ rightTitle: "",
+ isHaveLine: true,
+ isHaveDirection: true,
+ action: () {
+ Get.toNamed(Routers.wirelessKeyboardPage);
+ // Toast.show(msg: "功能暂未开放");
+ })),
+ Visibility(
+ visible: true,
+ child: CommonItem(
+ leftTitel: '照明',
+ rightTitle: "",
+ isHaveLine: true,
+ isHaveDirection: true,
+ action: () {
+ Toast.show(msg: "功能暂未开放");
+ })),
+ Visibility(
+ visible: true,
+ child: CommonItem(
+ leftTitel: '开门器',
rightTitle: "",
isHaveLine: false,
isHaveDirection: true,
action: () {
- // Get.toNamed(Routers.wirelessKeyboardPage);
Toast.show(msg: "功能暂未开放");
- })
- ),
+ })),
SizedBox(height: 10.h),
// 自动闭锁
Obx(() => Visibility(
visible: true,
child: CommonItem(
leftTitel:
- TranslationLoader.lanKeys!.automaticBlocking!.tr,
- rightTitle: state.getKeyInfosData.value.autoLockTime! > -1
+ TranslationLoader.lanKeys!.automaticBlocking!.tr,
+ rightTitle: state
+ .getKeyInfosData.value.autoLockTime! >
+ -1
? "${state.getKeyInfosData.value.autoLockTime!.toString()}s"
: TranslationLoader.lanKeys!.closed!.tr,
isHaveLine: true,
@@ -108,8 +131,7 @@ class _LockSetPageState extends State with RouteAware {
action: () {
Get.toNamed(Routers.automaticBlockingPage,
arguments: state.getKeyInfosData.value);
- }))
- ),
+ }))),
// 锁声音
Obx(() {
var titleStr = "";
@@ -144,144 +166,144 @@ class _LockSetPageState extends State with RouteAware {
action: () {
Get.toNamed(Routers.lockSoundSetPage,
arguments: state.getKeyInfosData.value);
- })
- );
+ }));
}),
// 防撬报警
Obx(() => Visibility(
visible: true,
child: CommonItem(
- leftTitel: TranslationLoader.lanKeys!.burglarAlarm!.tr,
- rightTitle: state.getKeyInfosData.value.tamperAlert == 1
- ? TranslationLoader.lanKeys!.opened!.tr
- : TranslationLoader.lanKeys!.closed!.tr,
- isHaveLine: true,
- isHaveDirection: true,
- action: () {
- Get.toNamed(Routers.burglarAlarmPage,
- arguments: state.getKeyInfosData.value);
- }))),
+ leftTitel:
+ TranslationLoader.lanKeys!.burglarAlarm!.tr,
+ rightTitle:
+ state.getKeyInfosData.value.tamperAlert == 1
+ ? TranslationLoader.lanKeys!.opened!.tr
+ : TranslationLoader.lanKeys!.closed!.tr,
+ isHaveLine: true,
+ isHaveDirection: true,
+ action: () {
+ Get.toNamed(Routers.burglarAlarmPage,
+ arguments: state.getKeyInfosData.value);
+ }))),
SizedBox(height: 10.h),
// 常开模式
Obx(() => Visibility(
- visible: true,
+ visible: true,
child: CommonItem(
- leftTitel:
- TranslationLoader.lanKeys!.normallyOpenMode!.tr,
- rightTitle: state.getKeyInfosData.value.passageMode == 1
- ? TranslationLoader.lanKeys!.opened!.tr
- : TranslationLoader.lanKeys!.closed!.tr,
- isHaveLine: true,
- isHaveDirection: true,
- action: () {
- Get.toNamed(Routers.normallyOpenModePage,
- arguments: state.getKeyInfosData.value);
- }))
- ),
+ leftTitel:
+ TranslationLoader.lanKeys!.normallyOpenMode!.tr,
+ rightTitle:
+ state.getKeyInfosData.value.passageMode == 1
+ ? TranslationLoader.lanKeys!.opened!.tr
+ : TranslationLoader.lanKeys!.closed!.tr,
+ isHaveLine: true,
+ isHaveDirection: true,
+ action: () {
+ Get.toNamed(Routers.normallyOpenModePage,
+ arguments: state.getKeyInfosData.value);
+ }))),
// 远程开锁
Obx(() => Visibility(
- visible:true,
+ visible: true,
child: CommonItem(
- leftTitel: TranslationLoader.lanKeys!.remoteUnlocking!.tr,
- rightTitle: state.getKeyInfosData.value.remoteEnable == 1
- ? TranslationLoader.lanKeys!.opened!.tr
- : TranslationLoader.lanKeys!.closed!.tr,
- isHaveLine: true,
- isHaveDirection: true,
- action: () {
- Get.toNamed(Routers.remoteUnlockingPage,
- arguments: state.getKeyInfosData.value);
- }))
- ),
+ leftTitel:
+ TranslationLoader.lanKeys!.remoteUnlocking!.tr,
+ rightTitle:
+ state.getKeyInfosData.value.remoteEnable == 1
+ ? TranslationLoader.lanKeys!.opened!.tr
+ : TranslationLoader.lanKeys!.closed!.tr,
+ isHaveLine: true,
+ isHaveDirection: true,
+ action: () {
+ Get.toNamed(Routers.remoteUnlockingPage,
+ arguments: state.getKeyInfosData.value);
+ }))),
// 重置键
Obx(() => Visibility(
visible: true,
child: CommonItem(
- leftTitel: TranslationLoader.lanKeys!.resetButton!.tr,
- rightTitle: state.getKeyInfosData.value.resetButton == 1
- ? TranslationLoader.lanKeys!.opened!.tr
- : TranslationLoader.lanKeys!.closed!.tr,
- isHaveLine: true,
- isHaveDirection: true,
- action: () {
- Get.toNamed(Routers.resetButtonPage,
- arguments: state.getKeyInfosData.value);
- }))
- ),
+ leftTitel: TranslationLoader.lanKeys!.resetButton!.tr,
+ rightTitle:
+ state.getKeyInfosData.value.resetButton == 1
+ ? TranslationLoader.lanKeys!.opened!.tr
+ : TranslationLoader.lanKeys!.closed!.tr,
+ isHaveLine: true,
+ isHaveDirection: true,
+ action: () {
+ Get.toNamed(Routers.resetButtonPage,
+ arguments: state.getKeyInfosData.value);
+ }))),
SizedBox(height: 10.h),
//---田总新增展示
// Obx(() =>
- Visibility(
+ Visibility(
visible: true,
child: CommonItem(
- leftTitel: '面容开锁',
- rightTitle: "",
- isHaveLine: true,
- isHaveRightWidget: true,
- rightWidget:
- SizedBox(width: 60.w, child: _otherUnHaveDoneSwitch()))),
+ leftTitel: '面容开锁',
+ rightTitle: "",
+ isHaveLine: true,
+ isHaveRightWidget: true,
+ rightWidget: SizedBox(
+ width: 60.w, child: _otherUnHaveDoneSwitch()))),
// ),
// Obx(() =>
- Visibility(
- visible: true,
- child: CommonItem(
- leftTitel: '感应距离',
- rightTitle: "",
- isHaveLine: true,
- isHaveDirection: true,
- action: () {
- Toast.show(msg: "功能暂未开放");
- }
- )),
+ Visibility(
+ visible: true,
+ child: CommonItem(
+ leftTitel: '感应距离',
+ rightTitle: "",
+ isHaveLine: true,
+ isHaveDirection: true,
+ action: () {
+ Toast.show(msg: "功能暂未开放");
+ })),
// ),
// Obx(() =>
- Visibility(
+ Visibility(
visible: true,
child: CommonItem(
leftTitel: '自动亮屏',
rightTitle: "",
isHaveLine: true,
isHaveRightWidget: true,
- rightWidget:
- SizedBox(width: 60.w, child: _otherUnHaveDoneSwitch()))),
+ rightWidget: SizedBox(
+ width: 60.w, child: _otherUnHaveDoneSwitch()))),
// ),
// Obx(() =>
- Visibility(
+ Visibility(
visible: true,
child: CommonItem(
leftTitel: '逗留警告',
rightTitle: "",
isHaveLine: true,
isHaveRightWidget: true,
- rightWidget:
- SizedBox(width: 60.w, child: _otherUnHaveDoneSwitch()))),
+ rightWidget: SizedBox(
+ width: 60.w, child: _otherUnHaveDoneSwitch()))),
// ),
// Obx(() =>
- Visibility(
+ Visibility(
visible: true,
child: CommonItem(
leftTitel: '异常警告',
rightTitle: "",
isHaveLine: true,
isHaveRightWidget: true,
- rightWidget:
- SizedBox(width: 60.w, child: _otherUnHaveDoneSwitch()))),
+ rightWidget: SizedBox(
+ width: 60.w, child: _otherUnHaveDoneSwitch()))),
// ),
// Obx(() =>
- Visibility(
+ Visibility(
visible: true,
child: CommonItem(
- leftTitel: '开门方向设置',
- rightTitle: "",
- isHaveDirection: true,
- isHaveLine: true,
+ leftTitel: '开门方向设置',
+ rightTitle: "",
+ isHaveDirection: true,
+ isHaveLine: true,
action: () {
Toast.show(msg: "功能暂未开放");
- }
- )),
+ })),
// ),
// Obx(() =>
- Visibility(
+ Visibility(
visible: true,
child: CommonItem(
leftTitel: '电机功率设置',
@@ -290,8 +312,7 @@ class _LockSetPageState extends State with RouteAware {
isHaveDirection: true,
action: () {
Toast.show(msg: "功能暂未开放");
- }
- )),
+ })),
// ),
SizedBox(height: 10.h),
//-----新增至此
@@ -306,42 +327,41 @@ class _LockSetPageState extends State with RouteAware {
visible: true,
child: CommonItem(
leftTitel:
- TranslationLoader.lanKeys!.markedHouseState!.tr,
+ TranslationLoader.lanKeys!.markedHouseState!.tr,
rightTitle: title,
isHaveLine: true,
isHaveDirection: true,
action: () {
Get.toNamed(Routers.markedHouseStatePage,
arguments: state.getKeyInfosData.value);
- })
- );
+ }));
}),
// Obx(() =>
- Visibility(
+ Visibility(
visible: true,
child: CommonItem(
leftTitel: TranslationLoader.lanKeys!.checkingIn!.tr,
rightTitle: "",
isHaveLine: true,
isHaveRightWidget: true,
- rightWidget:
- SizedBox(width: 60.w, child: _openCheckInSwitch())
- )),
+ rightWidget: SizedBox(
+ width: 60.w, child: _openCheckInSwitch()))),
// ),
// Obx(() =>
- Visibility(
+ Visibility(
visible: true,
child: CommonItem(
- leftTitel: TranslationLoader.lanKeys!.unlockReminder!.tr,
+ leftTitel:
+ TranslationLoader.lanKeys!.unlockReminder!.tr,
rightTitle: "",
isHaveLine: false,
isHaveRightWidget: true,
- rightWidget:
- SizedBox(width: 60.w, child: _lockRemindSwitch()))),
+ rightWidget: SizedBox(
+ width: 60.w, child: _lockRemindSwitch()))),
// ),
SizedBox(height: 10.h),
// Obx(() =>
- Visibility(
+ Visibility(
visible: true,
child: CommonItem(
leftTitel: TranslationLoader
@@ -354,20 +374,20 @@ class _LockSetPageState extends State with RouteAware {
})),
// ),
// Obx(() =>
- Visibility(
+ Visibility(
visible: true,
child: CommonItem(
- leftTitel: TranslationLoader.lanKeys!.lockTime!.tr,
- rightTitle: "",
- isHaveLine: true,
- isHaveDirection: true,
- action: () {
- Get.toNamed(Routers.lockTimePage,
- arguments: state.getKeyInfosData.value);
- })),
+ leftTitel: TranslationLoader.lanKeys!.lockTime!.tr,
+ rightTitle: "",
+ isHaveLine: true,
+ isHaveDirection: true,
+ action: () {
+ Get.toNamed(Routers.lockTimePage,
+ arguments: state.getKeyInfosData.value);
+ })),
// ),
// Obx(() =>
- Visibility(
+ Visibility(
visible: true,
child: CommonItem(
leftTitel: TranslationLoader.lanKeys!.diagnose!.tr,
@@ -380,7 +400,7 @@ class _LockSetPageState extends State with RouteAware {
})),
// ),
// Obx(() =>
- Visibility(
+ Visibility(
visible: true,
child: CommonItem(
leftTitel: TranslationLoader.lanKeys!.uploadData!.tr,
@@ -392,11 +412,11 @@ class _LockSetPageState extends State with RouteAware {
})),
// ),
// Obx(() =>
- Visibility(
+ Visibility(
visible: true,
child: CommonItem(
- leftTitel:
- TranslationLoader.lanKeys!.importOtherLockData!.tr,
+ leftTitel: TranslationLoader
+ .lanKeys!.importOtherLockData!.tr,
rightTitle: "",
isHaveLine: true,
isHaveDirection: true,
@@ -405,10 +425,11 @@ class _LockSetPageState extends State with RouteAware {
})),
// ),
// Obx(() =>
- Visibility(
+ Visibility(
visible: true,
child: CommonItem(
- leftTitel: TranslationLoader.lanKeys!.lockEscalation!.tr,
+ leftTitel:
+ TranslationLoader.lanKeys!.lockEscalation!.tr,
rightTitle: "",
isHaveLine: false,
isHaveDirection: true,
@@ -418,7 +439,8 @@ class _LockSetPageState extends State with RouteAware {
// ),
SizedBox(height: 30.h),
Container(
- padding: EdgeInsets.only(left: 20.w, right: 20.w, bottom: 30.h),
+ padding:
+ EdgeInsets.only(left: 20.w, right: 20.w, bottom: 30.h),
child: SubmitBtn(
btnName: TranslationLoader.lanKeys!.delete!.tr,
isDelete: true,
diff --git a/star_lock/lib/main/lockDetail/lcokSet/wirelessKeyboard/addWirelessKeyboard/addWirelessKeyboard_page.dart b/star_lock/lib/main/lockDetail/lcokSet/wirelessKeyboard/addWirelessKeyboard/addWirelessKeyboard_page.dart
index 9c10986a..1a702446 100644
--- a/star_lock/lib/main/lockDetail/lcokSet/wirelessKeyboard/addWirelessKeyboard/addWirelessKeyboard_page.dart
+++ b/star_lock/lib/main/lockDetail/lcokSet/wirelessKeyboard/addWirelessKeyboard/addWirelessKeyboard_page.dart
@@ -78,15 +78,15 @@ class _AddWirelessKeyboardPageState extends State {
SizedBox(
height: 20.h,
),
- Container(
- margin: EdgeInsets.only(left: 20.w, right: 20.w),
- child: SubmitBtn(
- btnName: TranslationLoader.lanKeys!.theScreenNeverFlickered!.tr,
- onClick: () {
- Navigator.pushNamed(
- context, Routers.addWirelessKeyboardScreenNotLightOnPage);
- }),
- ),
+ // Container(
+ // margin: EdgeInsets.only(left: 20.w, right: 20.w),
+ // child: SubmitBtn(
+ // btnName: TranslationLoader.lanKeys!.theScreenNeverFlickered!.tr,
+ // onClick: () {
+ // Navigator.pushNamed(
+ // context, Routers.addWirelessKeyboardScreenNotLightOnPage);
+ // }),
+ // ),
],
),
);
diff --git a/star_lock/lib/main/lockDetail/lcokSet/wirelessKeyboard/seletWirelessKeyboard/seletWirelessKeyboard_page.dart b/star_lock/lib/main/lockDetail/lcokSet/wirelessKeyboard/seletWirelessKeyboard/seletWirelessKeyboard_page.dart
index cb8f7d8e..e283a5c4 100644
--- a/star_lock/lib/main/lockDetail/lcokSet/wirelessKeyboard/seletWirelessKeyboard/seletWirelessKeyboard_page.dart
+++ b/star_lock/lib/main/lockDetail/lcokSet/wirelessKeyboard/seletWirelessKeyboard/seletWirelessKeyboard_page.dart
@@ -1,6 +1,7 @@
import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:get/get.dart';
+import 'package:star_lock/tools/noData.dart';
import '../../../../../app_settings/app_colors.dart';
import '../../../../../tools/titleAppBar.dart';
@@ -15,6 +16,7 @@ class SeletWirelessKeyboardPage extends StatefulWidget {
}
class _SeletWirelessKeyboardPageState extends State {
+ List dataList = [];
@override
Widget build(BuildContext context) {
return Scaffold(
@@ -24,13 +26,16 @@ class _SeletWirelessKeyboardPageState extends State {
"${TranslationLoader.lanKeys!.selet!.tr}${TranslationLoader.lanKeys!.wirelessKeyboard!.tr}",
haveBack: true,
backgroundColor: AppColors.mainColor),
- body: ListView.builder(
- itemCount: 20,
- itemBuilder: (c, index) {
- return nearbyLockItem('images/icon_lock.png', "MCBN01-ea9240", () {
- // Navigator.pushNamed(context, Routers.saveLockPage);
- });
- }),
+ body: dataList.isEmpty
+ ? const NoData()
+ : ListView.builder(
+ itemCount: 20,
+ itemBuilder: (c, index) {
+ return nearbyLockItem('images/icon_lock.png', "MCBN01-ea9240",
+ () {
+ // Navigator.pushNamed(context, Routers.saveLockPage);
+ });
+ }),
);
}
diff --git a/star_lock/lib/main/lockDetail/lcokSet/wirelessKeyboard/wirelessKeyboardList/wirelessKeyboard_page.dart b/star_lock/lib/main/lockDetail/lcokSet/wirelessKeyboard/wirelessKeyboardList/wirelessKeyboard_page.dart
index 6c5df03b..73b58c0f 100644
--- a/star_lock/lib/main/lockDetail/lcokSet/wirelessKeyboard/wirelessKeyboardList/wirelessKeyboard_page.dart
+++ b/star_lock/lib/main/lockDetail/lcokSet/wirelessKeyboard/wirelessKeyboardList/wirelessKeyboard_page.dart
@@ -2,6 +2,7 @@ import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:get/get.dart';
+import 'package:star_lock/tools/noData.dart';
import '../../../../../appRouters.dart';
import '../../../../../app_settings/app_colors.dart';
@@ -17,6 +18,7 @@ class WirelessKeyboardPage extends StatefulWidget {
}
class _WirelessKeyboardPageState extends State {
+ List dataList = [];
@override
Widget build(BuildContext context) {
return Scaffold(
@@ -55,14 +57,16 @@ class _WirelessKeyboardPageState extends State {
}
Widget _buildMainUI() {
- return ListView.builder(
- itemCount: 10,
- itemBuilder: (c, index) {
- return _electronicKeyItem('images/icon_password.png', "张三",
- "2023.6.21 11.15", "2023.6.21 11.15", () {
- // Navigator.pushNamed(context, Routers.electronicKeyDetailPage);
- });
- });
+ return dataList.isEmpty
+ ? const NoData()
+ : ListView.builder(
+ itemCount: 10,
+ itemBuilder: (c, index) {
+ return _electronicKeyItem('images/icon_password.png', "张三",
+ "2023.6.21 11.15", "2023.6.21 11.15", () {
+ // Navigator.pushNamed(context, Routers.electronicKeyDetailPage);
+ });
+ });
}
Widget _electronicKeyItem(String lockTypeIcon, String lockTypeTitle,
diff --git a/star_lock/lib/main/lockDetail/lockDetail/lockDetail_page.dart b/star_lock/lib/main/lockDetail/lockDetail/lockDetail_page.dart
index 4343dd43..3b486de7 100644
--- a/star_lock/lib/main/lockDetail/lockDetail/lockDetail_page.dart
+++ b/star_lock/lib/main/lockDetail/lockDetail/lockDetail_page.dart
@@ -86,7 +86,7 @@ class _LockDetailPageState extends State with RouteAware {
// KeyInfos keyInfo = widget.lockMainEntity.data!.keyInfos![0];
return Column(
children: [
- SizedBox(height: 30.h),
+ SizedBox(height: 50.h),
Stack(
alignment: Alignment.centerRight,
children: [
@@ -120,7 +120,7 @@ class _LockDetailPageState extends State with RouteAware {
Container(
// width: 1.sw,
color: Colors.white,
- height: 280.w,
+ height: 330.w,
child: Stack(
children: [
Center(
@@ -131,8 +131,11 @@ class _LockDetailPageState extends State with RouteAware {
// logic.editLockUserAction();
// logic.factoryDataResetAction();
},
- child: Image.asset('images/main/icon_main_openLockBtn.png',
- width: 268.w, height: 268.w),
+ child: Image.asset(
+ 'images/main/icon_main_openLockBtn.png',
+ width: 330.w,
+ height: 330.w,
+ ),
)),
// Visibility(
// visible:
@@ -150,21 +153,21 @@ class _LockDetailPageState extends State with RouteAware {
SizedBox(
height: 30.h,
),
- Row(
- mainAxisAlignment: MainAxisAlignment.center,
- children: [
- Text(
- '门已上锁',
- style: TextStyle(
- fontSize: 26.sp,
- color: Colors.black,
- fontWeight: FontWeight.w500),
- ),
- ],
- ),
- SizedBox(
- height: 6.h,
- ),
+ // Row(
+ // mainAxisAlignment: MainAxisAlignment.center,
+ // children: [
+ // Text(
+ // '门已上锁',
+ // style: TextStyle(
+ // fontSize: 26.sp,
+ // color: Colors.black,
+ // fontWeight: FontWeight.w500),
+ // ),
+ // ],
+ // ),
+ // SizedBox(
+ // height: 6.h,
+ // ),
Row(
mainAxisAlignment: MainAxisAlignment.center,
children: [
@@ -187,14 +190,15 @@ class _LockDetailPageState extends State with RouteAware {
'images/icon_electronicKey_admin.png',
width: 24.w,
height: 20.w,
+ color: AppColors.mainColor, //应根据状态显示(当前角色为超级管理员 应显示蓝色图标)
),
SizedBox(
width: 6.w,
),
Text(
'超级管理员',
- style:
- TextStyle(fontSize: 20.sp, color: AppColors.btnDisableColor),
+ style: TextStyle(
+ fontSize: 20.sp, color: AppColors.darkGrayTextColor),
),
SizedBox(
width: 80.w,
@@ -265,10 +269,10 @@ class _LockDetailPageState extends State with RouteAware {
bottomItem('images/main/icon_main_electronicKey.png',
TranslationLoader.lanKeys!.electronicKey!.tr, () {
Get.toNamed(Routers.electronicKeyListPage, arguments: {
- "lockMainEntity": widget.lockMainEntity,
- "keyInfo": widget.keyInfo
- });
- }),
+ "lockMainEntity": widget.lockMainEntity,
+ "keyInfo": widget.keyInfo
+ });
+ }),
// 密码
bottomItem('images/main/icon_main_password.png',
@@ -280,28 +284,24 @@ class _LockDetailPageState extends State with RouteAware {
}),
// ic卡
- bottomItem('images/main/icon_main_icCard.png', TranslationLoader.lanKeys!.card!.tr, () {
- Get.toNamed(Routers.otherTypeKeyListPage, arguments: {
- "lockId": widget.keyInfo.lockId,
- "fromType": 0
- });
- }),
+ bottomItem('images/main/icon_main_icCard.png',
+ TranslationLoader.lanKeys!.card!.tr, () {
+ Get.toNamed(Routers.otherTypeKeyListPage,
+ arguments: {"lockId": widget.keyInfo.lockId, "fromType": 0});
+ }),
// 指纹
- bottomItem('images/main/icon_main_fingerprint.png', TranslationLoader.lanKeys!.fingerprint!.tr, () {
- Get.toNamed(Routers.otherTypeKeyListPage, arguments: {
- "lockId": widget.keyInfo.lockId,
- "fromType": 1
- });
+ bottomItem('images/main/icon_main_fingerprint.png',
+ TranslationLoader.lanKeys!.fingerprint!.tr, () {
+ Get.toNamed(Routers.otherTypeKeyListPage,
+ arguments: {"lockId": widget.keyInfo.lockId, "fromType": 1});
}),
// 遥控
- bottomItem('images/main/icon_main_remoteControl.png', TranslationLoader.lanKeys!.remoteControl!.tr, () {
- // Get.toNamed(Routers.otherTypeKeyListPage, arguments: {
- // "lockId": widget.keyInfo.lockId,
- // "fromType": 2
- // });
- Toast.show(msg: "功能暂未开放");
+ bottomItem('images/main/icon_main_remoteControl.png',
+ TranslationLoader.lanKeys!.remoteControl!.tr, () {
+ Get.toNamed(Routers.otherTypeKeyListPage,
+ arguments: {"lockId": widget.keyInfo.lockId, "fromType": 2});
}),
];
showWidgetArr.addAll(defaultWidgetArr);
@@ -345,7 +345,7 @@ class _LockDetailPageState extends State with RouteAware {
bottomItem(
'images/main/icon_main_set.png', TranslationLoader.lanKeys!.set!.tr,
() {
- BlueManage().stopScan();
+ BlueManage().stopScan();
Get.toNamed(Routers.lockSetPage, arguments: widget.keyInfo);
}),
];
diff --git a/star_lock/lib/main/lockDetail/otherTypeKey/otherTypeAddKey/otherTypeAddKey_logic.dart b/star_lock/lib/main/lockDetail/otherTypeKey/otherTypeAddKey/otherTypeAddKey_logic.dart
index 4d35223a..2371827b 100644
--- a/star_lock/lib/main/lockDetail/otherTypeKey/otherTypeAddKey/otherTypeAddKey_logic.dart
+++ b/star_lock/lib/main/lockDetail/otherTypeKey/otherTypeAddKey/otherTypeAddKey_logic.dart
@@ -1,4 +1,3 @@
-
import 'dart:math';
import 'package:get/get.dart';
@@ -13,19 +12,19 @@ class OtherTypeAddKeyLogic extends BaseGetXController {
OtherTypeAddKeyState state = OtherTypeAddKeyState();
// 添加指纹
- void addFingerprintsData() async{
- var fingerprintType = 0;// 永久:1;限时2,单次3,循环:4
+ void addFingerprintsData() async {
+ var fingerprintType = 0; // 永久:1;限时2,单次3,循环:4
var startDate = "";
var endDate = "";
- if(state.seletType.value == "0"){
+ if (state.seletType.value == "0") {
fingerprintType = 1;
- }else if(state.seletType.value == "1"){
+ } else if (state.seletType.value == "1") {
fingerprintType = 2;
- if(state.beginTimeTimestamp.value.isEmpty){
+ if (state.beginTimeTimestamp.value.isEmpty) {
Toast.show(msg: "请选择开始时间");
return;
}
- if(state.endTimeTimestamp.value.isEmpty){
+ if (state.endTimeTimestamp.value.isEmpty) {
Toast.show(msg: "请选择开始时间");
return;
}
@@ -35,25 +34,27 @@ class OtherTypeAddKeyLogic extends BaseGetXController {
// return;
// }
- print("fasdfasdfasdf:${int.parse(state.beginTimeTimestamp.value)} == ${int.parse(state.endTimeTimestamp.value)}");
- if(int.parse(state.beginTimeTimestamp.value) >= int.parse(state.endTimeTimestamp.value)){
+ print(
+ "fasdfasdfasdf:${int.parse(state.beginTimeTimestamp.value)} == ${int.parse(state.endTimeTimestamp.value)}");
+ if (int.parse(state.beginTimeTimestamp.value) >=
+ int.parse(state.endTimeTimestamp.value)) {
Toast.show(msg: "失效时间要大于生效时间");
return;
}
startDate = state.beginTimeTimestamp.value;
endDate = state.endTimeTimestamp.value;
- }else if(state.seletType.value == "2"){
- if(state.effectiveDateTime.value <= 0){
+ } else if (state.seletType.value == "2") {
+ if (state.effectiveDateTime.value <= 0) {
Toast.show(msg: "请选择生效时间");
return;
}
- if(state.failureDateTime.value <= 0){
+ if (state.failureDateTime.value <= 0) {
Toast.show(msg: "请选择失效时间");
return;
}
- if(state.weekdaysList.value.isEmpty){
+ if (state.weekdaysList.value.isEmpty) {
Toast.show(msg: "请选择有效日");
return;
}
@@ -63,7 +64,7 @@ class OtherTypeAddKeyLogic extends BaseGetXController {
// return;
// }
- if(state.effectiveDateTime.value >= state.failureDateTime.value){
+ if (state.effectiveDateTime.value >= state.failureDateTime.value) {
Toast.show(msg: "失效时间要大于生效时间");
return;
}
@@ -81,7 +82,8 @@ class OtherTypeAddKeyLogic extends BaseGetXController {
"endDate": endDate,
"addType": "1",
"cardName": state.nameController.text,
- "cardNumber": (Random().nextInt(100000000) + 10000000).floor().toString(),
+ "cardNumber":
+ (Random().nextInt(100000000) + 10000000).floor().toString(),
"cardType": fingerprintType.toString(),
"isCoerced": state.isStressFingerprint.value ? "1" : "2",
"startDate": startDate,
@@ -108,6 +110,20 @@ class OtherTypeAddKeyLogic extends BaseGetXController {
break;
case 1:
// 指纹
+ Get.toNamed(Routers.addFingerprintPage, arguments: {
+ "lockId": state.lockId.value,
+ "endDate": endDate,
+ "addType": "1",
+ "fingerprintName": state.nameController.text,
+ "fingerprintNumber": "123456",
+ "fingerprintType": fingerprintType.toString(),
+ "isCoerced": state.isStressFingerprint.value ? "1" : "2",
+ "startDate": startDate,
+ "weekDay": state.weekdaysList.value,
+ "fromType": state.fromType.value,
+ });
+
+ /* 根据田总需求 无需tips页面 直接跳转到添加页面
Get.toNamed(Routers.addFingerprintTipPage, arguments: {
"lockId": state.lockId.value,
"endDate": endDate,
@@ -120,6 +136,7 @@ class OtherTypeAddKeyLogic extends BaseGetXController {
"weekDay": state.weekdaysList.value,
"fromType": state.fromType.value,
});
+ */
// var entity = await ApiRepository.to.addFingerprintsData(
// lockId: state.lockId.value.toString(),
@@ -138,34 +155,28 @@ class OtherTypeAddKeyLogic extends BaseGetXController {
// }
break;
case 2:
- // 遥控
+ // 遥控
break;
default:
break;
}
-
}
@override
void onReady() {
// TODO: implement onReady
super.onReady();
-
-
}
@override
void onInit() {
// TODO: implement onInit
super.onInit();
-
}
@override
void onClose() {
// TODO: implement onClose
-
}
-
-}
\ No newline at end of file
+}
diff --git a/star_lock/lib/main/lockMian/lockMain/lockMain_page.dart b/star_lock/lib/main/lockMian/lockMain/lockMain_page.dart
index b7baff7b..67c4a8f3 100644
--- a/star_lock/lib/main/lockMian/lockMain/lockMain_page.dart
+++ b/star_lock/lib/main/lockMian/lockMain/lockMain_page.dart
@@ -5,6 +5,7 @@ import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:get/get.dart';
import 'package:pull_to_refresh/pull_to_refresh.dart';
import 'package:star_lock/app_settings/app_colors.dart';
+import 'package:star_lock/tools/submitBtn.dart';
import '../../../appRouters.dart';
import '../../../baseWidget.dart';
@@ -99,7 +100,7 @@ class _StarLockMainPageState extends State with BaseWidget {
Widget unHaveData() {
return Column(
- mainAxisAlignment: MainAxisAlignment.center,
+ // mainAxisAlignment: MainAxisAlignment.center,
children: [
Row(
mainAxisAlignment: MainAxisAlignment.center,
@@ -107,6 +108,7 @@ class _StarLockMainPageState extends State with BaseWidget {
Container(
width: 330.w,
height: 330.w,
+ margin: EdgeInsets.only(top: 180.h),
// decoration: BoxDecoration(
// border: Border.all(width: 4.w, color: AppColors.mainColor),
// borderRadius: BorderRadius.circular(110.w),
@@ -133,11 +135,8 @@ class _StarLockMainPageState extends State with BaseWidget {
)),
],
),
- SizedBox(
- height: h(50.h),
- ),
Container(
- padding: EdgeInsets.all(30.w),
+ padding: EdgeInsets.only(top: 10.h),
child: Text(
TranslationLoader
.lanKeys!.whenAddingLockThePhoneMustBeNextToTheLock!.tr,
@@ -145,7 +144,11 @@ class _StarLockMainPageState extends State with BaseWidget {
fontSize: 26.sp,
// fontWeight: FontWeight.w800,
color: Colors.black),
- ))
+ )),
+ SizedBox(
+ height: 200.h,
+ ),
+ SubmitBtn(btnName: '演示模式')
],
);
}
diff --git a/star_lock/lib/mine/about/about_page.dart b/star_lock/lib/mine/about/about_page.dart
index 63074596..db300f55 100644
--- a/star_lock/lib/mine/about/about_page.dart
+++ b/star_lock/lib/mine/about/about_page.dart
@@ -12,10 +12,14 @@ import '../../translations/trans_lib.dart';
// 网页的宏定义网址
class XSWebviewURLMacro {
static const baseWebURL = 'https://pre.lock.star-lock.cn:8093'; //baseURL
- static const userAgreementURL =
- '$baseWebURL/page/detail?pageId=1&lang=cn'; //1用户协议
- static const privacyPolicyURL =
- '$baseWebURL/page/detail?pageId=2&lang=cn'; //2隐私政策
+ static const userAgreementURL = '$baseWebURL/app/userAgreement'; //用户协议
+ static const privacyPolicyURL = '$baseWebURL/app/privacy'; //隐私政策
+ static const collectionListURL =
+ '$baseWebURL/app/personalInformationCollectionList'; //个人信息收集清单
+ static const thirdPartyInfShareListURL =
+ '$baseWebURL/app/thirdPartyInformationSharingList'; //第三方信息共享清单
+ static const appPermissionDescURL =
+ '$baseWebURL/app/applicationPermissionDescription'; //应用权限说明
}
class AbountPage extends StatefulWidget {
@@ -66,7 +70,11 @@ class _AbountPageState extends State {
isHaveLine: false,
isHaveDirection: true,
action: () {
- Toast.show(msg: "功能暂未开放");
+ Navigator.pushNamed(context, Routers.webviewShowPage,
+ arguments: {
+ "url": XSWebviewURLMacro.userAgreementURL,
+ "title": '介绍'
+ });
}),
Divider(
height: 1,
@@ -117,7 +125,11 @@ class _AbountPageState extends State {
isHaveLine: false,
isHaveDirection: true,
action: () {
- Toast.show(msg: "功能暂未开放");
+ Navigator.pushNamed(context, Routers.webviewShowPage,
+ arguments: {
+ "url": XSWebviewURLMacro.collectionListURL,
+ "title": '个人信息收集清单'
+ });
}),
Divider(
height: 1,
@@ -132,7 +144,11 @@ class _AbountPageState extends State {
isHaveLine: false,
isHaveDirection: true,
action: () {
- Toast.show(msg: "功能暂未开放");
+ Navigator.pushNamed(context, Routers.webviewShowPage,
+ arguments: {
+ "url": XSWebviewURLMacro.appPermissionDescURL,
+ "title": '应用权限说明'
+ });
}),
Divider(
height: 1,
@@ -147,7 +163,11 @@ class _AbountPageState extends State {
isHaveLine: false,
isHaveDirection: true,
action: () {
- Toast.show(msg: "功能暂未开放");
+ Navigator.pushNamed(context, Routers.webviewShowPage,
+ arguments: {
+ "url": XSWebviewURLMacro.thirdPartyInfShareListURL,
+ "title": '第三方信息共享清单'
+ });
}),
],
),
diff --git a/star_lock/lib/mine/addLock/addLock/addLock_logic.dart b/star_lock/lib/mine/addLock/addLock/addLock_logic.dart
new file mode 100644
index 00000000..081cfd3c
--- /dev/null
+++ b/star_lock/lib/mine/addLock/addLock/addLock_logic.dart
@@ -0,0 +1,23 @@
+import 'package:star_lock/mine/addLock/addLock/addLock_state.dart';
+import 'package:star_lock/tools/baseGetXController.dart';
+
+class AddLockLogic extends BaseGetXController {
+ final AddLockState state = AddLockState();
+
+ @override
+ void onReady() {
+ // TODO: implement onReady
+ super.onReady();
+ }
+
+ @override
+ void onInit() {
+ // TODO: implement onInit
+ super.onInit();
+ }
+
+ @override
+ void onClose() {
+ // TODO: implement onClose
+ }
+}
diff --git a/star_lock/lib/mine/addLock/addLock/addLock_page.dart b/star_lock/lib/mine/addLock/addLock/addLock_page.dart
index 5b434fac..bd19da74 100644
--- a/star_lock/lib/mine/addLock/addLock/addLock_page.dart
+++ b/star_lock/lib/mine/addLock/addLock/addLock_page.dart
@@ -4,6 +4,7 @@ import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:get/get.dart';
import 'package:permission_handler/permission_handler.dart';
+import 'package:star_lock/mine/addLock/addLock/addLock_logic.dart';
import '../../../appRouters.dart';
import '../../../app_settings/app_colors.dart';
@@ -20,6 +21,9 @@ class AddLockPage extends StatefulWidget {
}
class _AddLockPageState extends State with BaseWidget {
+ final logic = Get.put(AddLockLogic());
+ final state = Get.find().state;
+
@override
Widget build(BuildContext context) {
return Scaffold(
@@ -49,11 +53,11 @@ class _AddLockPageState extends State with BaseWidget {
SizedBox(
height: 120.h,
),
- Image.asset(
- 'images/lockType/addLock_touchScreen.png',
- width: 278.w,
- height: 278.w,
- ),
+ Obx(() => Image.asset(
+ state.lockTypeImg.value,
+ width: 278.w,
+ height: 278.w,
+ )),
SizedBox(
height: 120.h,
),
@@ -73,17 +77,16 @@ class _AddLockPageState extends State with BaseWidget {
btnName: TranslationLoader.lanKeys!.next!.tr,
borderRadius: 20.w,
onClick: () {
- if(Platform.isIOS){
+ if (Platform.isIOS) {
Navigator.pushNamed(context, Routers.nearbyLockPage);
- }else {
- getMicrophonePermission()
- .then((value) {
+ } else {
+ getMicrophonePermission().then((value) {
if (value) {
// 有权限
Navigator.pushNamed(context, Routers.nearbyLockPage);
- }else{
+ } else {
//没有权限
- openAppSettings();//打开app系统设置
+ openAppSettings(); //打开app系统设置
}
});
}
diff --git a/star_lock/lib/mine/addLock/addLock/addLock_state.dart b/star_lock/lib/mine/addLock/addLock/addLock_state.dart
new file mode 100644
index 00000000..04184a8b
--- /dev/null
+++ b/star_lock/lib/mine/addLock/addLock/addLock_state.dart
@@ -0,0 +1,29 @@
+import 'package:get/get.dart';
+
+class AddLockState {
+ var getLockType = 1.obs; //0-所有锁;1-门锁;2-NFC无源锁;3-挂锁;4-保险箱锁;5-车位锁;6-智能门禁;7-网关
+ var lockTypeImg = 'images/lockType/addLock_touchScreen.png'.obs; //不同类型锁图片更换
+
+ AddLockState() {
+ Map map = Get.arguments;
+ if (map.isNotEmpty) {
+ if (map["getLockType"] != null) {
+ getLockType.value = map["getLockType"];
+ //保险箱锁
+ if (getLockType.value == 4) {
+ lockTypeImg.value = "images/lockType/addLock_safeBg.png";
+ } else if (getLockType.value == 5) {
+ //车位锁
+ lockTypeImg.value = "images/lockType/addLock_parkingBg.png";
+ } else if (getLockType.value == 6) {
+ //智能门禁
+ lockTypeImg.value = "images/lockType/addLock_entranceGuardBg.png";
+ }
+ } else {
+ lockTypeImg.value = 'images/lockType/addLock_touchScreen.png';
+ }
+ } else {
+ lockTypeImg.value = 'images/lockType/addLock_touchScreen.png';
+ }
+ }
+}
diff --git a/star_lock/lib/mine/addLock/seletLockType/seletLockType_page.dart b/star_lock/lib/mine/addLock/seletLockType/seletLockType_page.dart
index 8b1d4e09..1bacdff5 100644
--- a/star_lock/lib/mine/addLock/seletLockType/seletLockType_page.dart
+++ b/star_lock/lib/mine/addLock/seletLockType/seletLockType_page.dart
@@ -1,6 +1,9 @@
+import 'dart:io';
+
import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:get/get.dart';
+import 'package:permission_handler/permission_handler.dart';
import '../../../appRouters.dart';
import '../../../app_settings/app_colors.dart';
@@ -40,33 +43,34 @@ class _SeletLockTypePageState extends State with BaseWidget {
children: [
lockTypeItem('images/lockType/lockType_doorLock.png',
TranslationLoader.lanKeys!.doorLock!.tr, () {
- Navigator.pushNamed(context, Routers.addLockPage);
+ Navigator.pushNamed(context, Routers.addLockPage,
+ arguments: {'getLockType': 1});
}),
lockTypeItem('images/lockType/lockType_NFCLock.png',
TranslationLoader.lanKeys!.NFCPassiveLock!.tr, () {
// Navigator.pushNamed(context, Routers.addLockPage);
- Toast.show(msg: "功能暂未开放");
+ getNearByLimits();
}),
lockTypeItem('images/lockType/lockType_padlock.png',
TranslationLoader.lanKeys!.padlock!.tr, () {
// Navigator.pushNamed(context, Routers.addLockPage);
- Toast.show(msg: "功能暂未开放");
+ getNearByLimits();
}),
lockTypeItem('images/lockType/lockType_safeLock.png',
TranslationLoader.lanKeys!.safeLock!.tr, () {
- // Navigator.pushNamed(context, Routers.addLockPage);
- Toast.show(msg: "功能暂未开放");
+ Navigator.pushNamed(context, Routers.addLockPage,
+ arguments: {'getLockType': 4});
}),
lockTypeItem('images/lockType/lockType_parkingLock.png',
TranslationLoader.lanKeys!.parkingLock!.tr, () {
- // Navigator.pushNamed(context, Routers.addLockPage);
- Toast.show(msg: "功能暂未开放");
+ Navigator.pushNamed(context, Routers.addLockPage,
+ arguments: {'getLockType': 5});
}),
lockTypeItem('images/lockType/lockType_entranceGuardLock.png',
TranslationLoader.lanKeys!.itelligentAccessControl!.tr,
() {
- // Navigator.pushNamed(context, Routers.addLockPage);
- Toast.show(msg: "功能暂未开放");
+ Navigator.pushNamed(context, Routers.addLockPage,
+ arguments: {'getLockType': 6});
}),
// lockTypeItem('images/lockType/lockType_bicycleLock.png',
@@ -76,7 +80,7 @@ class _SeletLockTypePageState extends State with BaseWidget {
lockTypeItem('images/lockType/lockType_gatewayLock.png',
TranslationLoader.lanKeys!.gateway!.tr, () {
// Navigator.pushNamed(context, Routers.gatewayListPage);
- Toast.show(msg: "功能暂未开放");
+ getNearByLimits();
}),
],
),
@@ -90,7 +94,8 @@ class _SeletLockTypePageState extends State with BaseWidget {
Widget allLock() {
return GestureDetector(
onTap: () {
- Navigator.pushNamed(context, Routers.addLockPage);
+ Navigator.pushNamed(context, Routers.addLockPage,
+ arguments: {'getLockType': 0});
},
child: Container(
height: 150.h,
@@ -174,6 +179,41 @@ class _SeletLockTypePageState extends State with BaseWidget {
);
}
+//跳转到附近的锁页面先判断权限
+ void getNearByLimits() {
+ if (Platform.isIOS) {
+ Navigator.pushNamed(context, Routers.nearbyLockPage);
+ } else {
+ getMicrophonePermission().then((value) {
+ if (value) {
+ // 有权限
+ Navigator.pushNamed(context, Routers.nearbyLockPage);
+ } else {
+ //没有权限
+ openAppSettings(); //打开app系统设置
+ }
+ });
+ }
+ }
+
+ ///请求权限
+ Future getMicrophonePermission() async {
+ // You can request multiple permissions at once.
+ Map statuses = await [
+ Permission.bluetoothScan,
+ Permission.bluetoothConnect,
+ Permission.location,
+ ].request();
+
+ //granted 通过,denied 被拒绝,permanentlyDenied 拒绝且不在提示
+ if (statuses[Permission.bluetoothScan]!.isGranted &&
+ statuses[Permission.bluetoothConnect]!.isGranted &&
+ statuses[Permission.location]!.isGranted) {
+ return true;
+ }
+ return false;
+ }
+
void onShow() {}
void onHide() {}
diff --git a/star_lock/lib/mine/message/messageList_page.dart b/star_lock/lib/mine/message/messageList_page.dart
index af201f3d..98135ee4 100644
--- a/star_lock/lib/mine/message/messageList_page.dart
+++ b/star_lock/lib/mine/message/messageList_page.dart
@@ -1,6 +1,7 @@
import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:get/get.dart';
+import 'package:star_lock/tools/noData.dart';
import '../../appRouters.dart';
import '../../app_settings/app_colors.dart';
@@ -15,6 +16,7 @@ class MessageListPage extends StatefulWidget {
}
class _MessageListPageState extends State {
+ List dataList = [];
@override
Widget build(BuildContext context) {
return Scaffold(
@@ -23,14 +25,17 @@ class _MessageListPageState extends State {
barTitle: TranslationLoader.lanKeys!.message!.tr,
haveBack: true,
backgroundColor: AppColors.mainColor),
- body: ListView.builder(
- itemCount: 10,
- itemBuilder: (c, index) {
- return _seletGatewayListListItem(
- 'images/controls_user.png', "您的钥匙已发送成功", "2023.6.21 11.15", () {
- // Navigator.pushNamed(context, Routers.gatewayConfigurationWifiPage);
- });
- }),
+ body: dataList.isEmpty
+ ? const NoData()
+ : ListView.builder(
+ itemCount: 10,
+ itemBuilder: (c, index) {
+ return _seletGatewayListListItem(
+ 'images/controls_user.png', "您的钥匙已发送成功", "2023.6.21 11.15",
+ () {
+ // Navigator.pushNamed(context, Routers.gatewayConfigurationWifiPage);
+ });
+ }),
);
}
diff --git a/star_lock/lib/mine/mine/starLockMine_page.dart b/star_lock/lib/mine/mine/starLockMine_page.dart
index f0064a48..8ed2988b 100644
--- a/star_lock/lib/mine/mine/starLockMine_page.dart
+++ b/star_lock/lib/mine/mine/starLockMine_page.dart
@@ -136,8 +136,8 @@ class _StarLockMinePageState extends State with BaseWidget {
// }),
mineItem('images/mine/icon_mine_main_message.png',
TranslationLoader.lanKeys!.message!.tr, () {
- // Navigator.pushNamed(context, Routers.messageListPage);
- Toast.show(msg: "功能暂未开放");
+ Navigator.pushNamed(context, Routers.messageListPage);
+ // Toast.show(msg: "功能暂未开放");
}),
//删除“客服”行
// mineItem('images/mine/icon_mine_main_supportStaff.png',
diff --git a/star_lock/lib/mine/mineSet/addAuthorizedAdministrator/addAuthorizedAdministrator_logic.dart b/star_lock/lib/mine/mineSet/addAuthorizedAdministrator/addAuthorizedAdministrator_logic.dart
new file mode 100644
index 00000000..549f7ccf
--- /dev/null
+++ b/star_lock/lib/mine/mineSet/addAuthorizedAdministrator/addAuthorizedAdministrator_logic.dart
@@ -0,0 +1,124 @@
+import 'package:flutter/cupertino.dart';
+import 'package:get/get.dart';
+import 'package:star_lock/appRouters.dart';
+import 'package:star_lock/mine/mineSet/addAuthorizedAdministrator/AddAuthorizedAdministrator_state.dart';
+import 'package:star_lock/network/api_repository.dart';
+import 'package:star_lock/tools/baseGetXController.dart';
+import 'package:star_lock/tools/toast.dart';
+import 'package:star_lock/translations/trans_lib.dart';
+
+class AddAuthorizedAdministratorLogic extends BaseGetXController {
+ final AddAuthorizedAdministratorState state =
+ AddAuthorizedAdministratorState();
+
+ //发送批量授权管理员
+ Future addAuthorizedAdminRequest() async {
+ String getFailureDateTime = '0';
+ String getEffectiveDateTime = '0';
+ if (state.tabController!.index == 1) {
+ getFailureDateTime =
+ state.failureDateTime.value.millisecondsSinceEpoch.toString();
+ getEffectiveDateTime =
+ state.effectiveDateTime.value.millisecondsSinceEpoch.toString();
+ }
+ var entity = await ApiRepository.to.addAuthorizedAdmin(
+ state.isCreateUser.value ? "1" : "0",
+ getFailureDateTime,
+ state.isRemoteUnlock.value == true ? '1' : '2',
+ [],
+ state.lockIdList,
+ state.keyNameController.text,
+ getEffectiveDateTime,
+ state.emailOrPhoneController.text,
+ state.countryCode.value,
+ '1',
+ );
+ if (entity.errorCode!.codeIsSuccessful) {
+ print('发送电子钥匙成功');
+ state.isSendSuccess.value = true;
+ } else {
+ Toast.show(msg: '${entity.errorMsg}');
+ if (entity.errorCode == 425) {
+ //用户未注册
+ state.isCreateUser.value = true;
+ addAuthorizedAdminRequest();
+ }
+ }
+ }
+
+ //发送钥匙请求
+ Future sendElectronicKeyRequest(BuildContext widgetContext) async {
+ String getFailureDateTime = '0';
+ String getEffectiveDateTime = '0';
+ String lockID = state.keyInfo.value.lockId.toString();
+ String getKeyType = (int.parse(state.type.value) + 1).toString();
+ if (state.type.value == '0') {
+ getFailureDateTime =
+ state.failureDateTime.value.millisecondsSinceEpoch.toString();
+ getEffectiveDateTime =
+ state.effectiveDateTime.value.millisecondsSinceEpoch.toString();
+ }
+
+ var entity = await ApiRepository.to.sendElectronicKey(
+ createUser: state.isCreateUser.value ? "1" : "0",
+ countryCode: state.countryCode.value,
+ usernameType: '1',
+ endDate: getFailureDateTime,
+ faceAuthentication: state.isAuthentication.value == true ? '1' : '2',
+ isCameraEnable: '2',
+ isRemoteUnlock: state.isRemoteUnlock.value == true ? '1' : '2',
+ keyNameForAdmin: state.keyNameController.text,
+ keyRight: '0',
+ keyType: getKeyType,
+ lockId: lockID,
+ operatorUid: '',
+ receiverUsername: state.emailOrPhoneController.text,
+ remarks: '',
+ startDate: getEffectiveDateTime,
+ weekDays: state.weekdaysList);
+ if (entity.errorCode!.codeIsSuccessful) {
+ print('发送电子钥匙成功');
+ state.isSendSuccess.value = true;
+ } else {
+ if (entity.errorCode == 425) {
+ //用户未注册
+ _showDialog(widgetContext, '${entity.errorMsg}');
+ }
+ }
+ }
+
+ //用户未注册确认弹窗
+ void _showDialog(widgetContext, String errMsg) {
+ showCupertinoDialog(
+ context: widgetContext,
+ builder: (context) {
+ return CupertinoAlertDialog(
+ title: const Text('接收者号码未注册,请选择号码所在的国家并重新发送'),
+ actions: [
+ CupertinoDialogAction(
+ child: Text(TranslationLoader.lanKeys!.cancel!.tr),
+ onPressed: () {
+ Navigator.of(context).pop();
+ },
+ ),
+ CupertinoDialogAction(
+ child: Text(TranslationLoader.lanKeys!.selet!.tr),
+ onPressed: () async {
+ //选择国家代码
+ state.isCreateUser.value = true;
+ Navigator.of(context).pop();
+
+ var result = await Get.toNamed(Routers.seletCountryRegionPage);
+ if (result != null) {
+ result as Map;
+ state.countryCode.value = result['code'];
+ state.countryName.value = result['countryName'];
+ }
+ },
+ ),
+ ],
+ );
+ },
+ );
+ }
+}
diff --git a/star_lock/lib/mine/mineSet/authorizedAdministrator/addAuthorizedAdministrator_page.dart b/star_lock/lib/mine/mineSet/addAuthorizedAdministrator/addAuthorizedAdministrator_page.dart
similarity index 100%
rename from star_lock/lib/mine/mineSet/authorizedAdministrator/addAuthorizedAdministrator_page.dart
rename to star_lock/lib/mine/mineSet/addAuthorizedAdministrator/addAuthorizedAdministrator_page.dart
diff --git a/star_lock/lib/mine/mineSet/addAuthorizedAdministrator/addAuthorizedAdministrator_state.dart b/star_lock/lib/mine/mineSet/addAuthorizedAdministrator/addAuthorizedAdministrator_state.dart
new file mode 100644
index 00000000..bc4c0763
--- /dev/null
+++ b/star_lock/lib/mine/mineSet/addAuthorizedAdministrator/addAuthorizedAdministrator_state.dart
@@ -0,0 +1,39 @@
+import 'package:flutter/material.dart';
+import 'package:flutter_native_contact_picker/flutter_native_contact_picker.dart';
+import 'package:get/get.dart';
+import 'package:star_lock/main/lockMian/entity/lockInfoEntity.dart';
+
+class AddAuthorizedAdministratorState {
+ late TabController? tabController;
+ TextEditingController emailOrPhoneController =
+ TextEditingController(); //邮箱/手机号输入框
+ TextEditingController keyNameController = TextEditingController(); //钥匙名输入框
+
+ final FlutterContactPicker contactPicker = FlutterContactPicker();
+ late Contact contact;
+ var type = ''.obs;
+ var lockIdList = [].obs;
+ var weekdaysList = [].obs;
+ var isCreateUser = false.obs; //用户未注册时传1 已注册传0
+ var selectEffectiveDate =
+ '${DateTime.now().year}-${DateTime.now().month}-${DateTime.now().day} ${DateTime.now().hour}:${DateTime.now().minute}'
+ .obs; //默认为当前时间
+ var selectFailureDate =
+ '${DateTime.now().year}-${DateTime.now().month}-${DateTime.now().day} ${DateTime.now().hour}:${DateTime.now().minute}'
+ .obs; //默认为当前时间
+ final effectiveDateTime = DateTime.now().obs;
+ final failureDateTime = DateTime.now().obs;
+ var countryName = '中国'.obs;
+ var countryCode = '86'.obs;
+ var isSendSuccess = false.obs;
+ final isRemoteUnlock = false.obs; //是否允许远程开锁
+ final isAuthentication = false.obs; //是否允许实名认证
+ final keyInfo = KeyInfos().obs;
+ final lockMainEntity = LockMainEntity().obs;
+
+ AddAuthorizedAdministratorState() {
+ Map map = Get.arguments;
+ lockMainEntity.value = map["lockMainEntity"];
+ keyInfo.value = map["keyInfo"];
+ }
+}
diff --git a/star_lock/lib/mine/mineSet/authorityManagement/authorityManagement_page.dart b/star_lock/lib/mine/mineSet/authorityManagement/authorityManagement_page.dart
index bd4896dd..92ce0192 100644
--- a/star_lock/lib/mine/mineSet/authorityManagement/authorityManagement_page.dart
+++ b/star_lock/lib/mine/mineSet/authorityManagement/authorityManagement_page.dart
@@ -6,6 +6,7 @@ import 'package:star_lock/appRouters.dart';
import 'package:star_lock/app_settings/app_colors.dart';
import 'package:star_lock/main/lockDetail/electronicKey/massSendElectronicKey/massSendLockGroupList/massSendLockGroupListEntity.dart';
import 'package:star_lock/tools/ExpandedListView.dart';
+import 'package:star_lock/tools/noData.dart';
import 'package:star_lock/tools/submitBtn.dart';
import 'package:star_lock/translations/trans_lib.dart';
@@ -28,6 +29,7 @@ class _AuthorityManagementPageState extends State
bool isDeviceSelect = false;
int selectDeviceIndex = 0;
int selectNameIndex = 0;
+ List dataList = [];
List tabs = [
TranslationLoader.lanKeys!.name!.tr,
@@ -83,9 +85,10 @@ class _AuthorityManagementPageState extends State
)),
),
),
- body: TabBarView(
- controller: _tabController,
- children: [_permissionNameList(), _permissionDeviceList()])));
+ body: TabBarView(controller: _tabController, children: [
+ dataList.isEmpty ? const NoData() : _permissionNameList(),
+ dataList.isEmpty ? const NoData() : _permissionDeviceList()
+ ])));
}
//姓名列表
diff --git a/star_lock/lib/mine/mineSet/authorizedAdministrator/authorizedAdministratorList_page.dart b/star_lock/lib/mine/mineSet/authorizedAdministrator/authorizedAdministratorList_page.dart
index 9da69699..379bba0b 100644
--- a/star_lock/lib/mine/mineSet/authorizedAdministrator/authorizedAdministratorList_page.dart
+++ b/star_lock/lib/mine/mineSet/authorizedAdministrator/authorizedAdministratorList_page.dart
@@ -4,6 +4,7 @@ import 'package:get/get.dart';
import 'package:star_lock/mine/mineSet/authorizedAdministrator/authorizedAdminListEntity.dart';
import 'package:star_lock/network/api_repository.dart';
import 'package:star_lock/tools/baseGetXController.dart';
+import 'package:star_lock/tools/noData.dart';
import '../../../../appRouters.dart';
import '../../../../app_settings/app_colors.dart';
@@ -131,12 +132,14 @@ class _AuthorizedAdministratorListPageState
}
Widget _buildMainUI(List itemList) {
- return ListView.builder(
- itemCount: itemList.length,
- itemBuilder: (c, index) {
- AuthorizedAdminListItem itemData = itemList[index];
- return _electronicKeyItem(itemData);
- });
+ return itemList.isEmpty
+ ? const NoData()
+ : ListView.builder(
+ itemCount: itemList.length,
+ itemBuilder: (c, index) {
+ AuthorizedAdminListItem itemData = itemList[index];
+ return _electronicKeyItem(itemData);
+ });
}
Widget _electronicKeyItem(AuthorizedAdminListItem itemData) {
diff --git a/star_lock/lib/mine/mineSet/lockGroup/lockItemList_page.dart b/star_lock/lib/mine/mineSet/lockGroup/lockItemList_page.dart
index ac7e2f66..0389e961 100644
--- a/star_lock/lib/mine/mineSet/lockGroup/lockItemList_page.dart
+++ b/star_lock/lib/mine/mineSet/lockGroup/lockItemList_page.dart
@@ -2,6 +2,7 @@ import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:get/get.dart';
import 'package:star_lock/main/lockDetail/electronicKey/massSendElectronicKey/massSendLockGroupList/massSendLockGroupListEntity.dart';
+import 'package:star_lock/tools/noData.dart';
import '../../../../../app_settings/app_colors.dart';
import '../../../../../tools/titleAppBar.dart';
@@ -55,7 +56,7 @@ class _LockItemListPageState extends State {
);
},
)
- : Container(),
+ : const NoData(),
);
}
diff --git a/star_lock/lib/mine/mineSet/lockUserManage/lockUserManageList_page.dart b/star_lock/lib/mine/mineSet/lockUserManage/lockUserManageList_page.dart
index dfd5e047..2c313057 100644
--- a/star_lock/lib/mine/mineSet/lockUserManage/lockUserManageList_page.dart
+++ b/star_lock/lib/mine/mineSet/lockUserManage/lockUserManageList_page.dart
@@ -4,6 +4,7 @@ import 'package:get/get.dart';
import 'package:star_lock/main/lockDetail/electronicKey/massSendElectronicKey/massSendLockGroupList/lockUserList/lockUserListEntity.dart';
import 'package:star_lock/network/api_repository.dart';
import 'package:star_lock/tools/baseGetXController.dart';
+import 'package:star_lock/tools/noData.dart';
import '../../../../appRouters.dart';
import '../../../../app_settings/app_colors.dart';
@@ -119,19 +120,21 @@ class _LockUserManageListPageState extends State {
}
Widget _buildMainUI() {
- return ListView.separated(
- itemCount: dataList.length,
- itemBuilder: (c, index) {
- LockUserData indexEntity = dataList[index];
- return _electronicKeyItem(indexEntity);
- },
- separatorBuilder: (BuildContext context, int index) {
- return const Divider(
- height: 1,
- color: AppColors.greyLineColor,
- );
- },
- );
+ return dataList.isEmpty
+ ? const NoData()
+ : ListView.separated(
+ itemCount: dataList.length,
+ itemBuilder: (c, index) {
+ LockUserData indexEntity = dataList[index];
+ return _electronicKeyItem(indexEntity);
+ },
+ separatorBuilder: (BuildContext context, int index) {
+ return const Divider(
+ height: 1,
+ color: AppColors.greyLineColor,
+ );
+ },
+ );
}
//请求锁用户列表
diff --git a/star_lock/lib/mine/mineSet/mineSet/mineSet_page.dart b/star_lock/lib/mine/mineSet/mineSet/mineSet_page.dart
index ca1d4ba4..644d3471 100644
--- a/star_lock/lib/mine/mineSet/mineSet/mineSet_page.dart
+++ b/star_lock/lib/mine/mineSet/mineSet/mineSet_page.dart
@@ -93,15 +93,15 @@ class _MineSetPageState extends State {
Navigator.pushNamed(
context, Routers.authorizedAdministratorListPage);
}),
- //by DaisyWu 新增--权限管理
+ //by DaisyWu 新增--批量授权
CommonItem(
leftTitel: TranslationLoader.lanKeys!.authorityManagement!.tr,
rightTitle: "",
isHaveLine: true,
isHaveDirection: true,
action: () {
- // Navigator.pushNamed(context, Routers.authorityManagementPage);
- Toast.show(msg: "功能暂未开放");
+ Navigator.pushNamed(context, Routers.authorityManagementPage);
+ // Toast.show(msg: "功能暂未开放");
}),
CommonItem(
leftTitel: TranslationLoader.lanKeys!.lockGroup!.tr,
diff --git a/star_lock/lib/mine/valueAddedServices/valueAddedServicesList/valueAddedServicesList_page.dart b/star_lock/lib/mine/valueAddedServices/valueAddedServicesList/valueAddedServicesList_page.dart
index 108a78f0..845d4fa0 100644
--- a/star_lock/lib/mine/valueAddedServices/valueAddedServicesList/valueAddedServicesList_page.dart
+++ b/star_lock/lib/mine/valueAddedServices/valueAddedServicesList/valueAddedServicesList_page.dart
@@ -31,59 +31,51 @@ class _ValueAddedServicesPageListState
_valueAddedServicesItem(
Image.asset('images/mine/icon_mine_valueAddedServices_note.png'),
TranslationLoader.lanKeys!.note!.tr, () {
- Toast.show(msg: "功能暂未开放");
- // Navigator.pushNamed(
- // context, Routers.valueAddedServicesNoteAndEmailDetailPage,
- // arguments: 1);
+ Navigator.pushNamed(
+ context, Routers.valueAddedServicesNoteAndEmailDetailPage,
+ arguments: 1);
}),
_valueAddedServicesItem(
Image.asset('images/mine/icon_mine_valueAddedServices_email.png'),
TranslationLoader.lanKeys!.mail!.tr, () {
- Toast.show(msg: "功能暂未开放");
- // Navigator.pushNamed(
- // context, Routers.valueAddedServicesNoteAndEmailDetailPage,
- // arguments: 2);
+ Navigator.pushNamed(
+ context, Routers.valueAddedServicesNoteAndEmailDetailPage,
+ arguments: 2);
}),
_valueAddedServicesItem(
Image.asset(
'images/mine/icon_mine_valueAddedServices_realName.png'),
TranslationLoader.lanKeys!.realNameAuthentication!.tr, () {
- Toast.show(msg: "功能暂未开放");
- // Navigator.pushNamed(
- // context, Routers.valueAddedServicesRealNamePage);
+ Navigator.pushNamed(
+ context, Routers.valueAddedServicesRealNamePage);
}),
_valueAddedServicesItem(
Image.asset('images/mine/icon_mine_valueAddedServices_vip.png'),
TranslationLoader.lanKeys!.advancedFunction!.tr, () {
- Toast.show(msg: "功能暂未开放");
- // Navigator.pushNamed(
- // context, Routers.valueAddedServicesHighFunctionPage);
+ Navigator.pushNamed(
+ context, Routers.valueAddedServicesHighFunctionPage);
}),
_valueAddedServicesItem(
Image.asset('images/mine/icon_mine_valueAddedServices_push.png'),
TranslationLoader.lanKeys!.pushMessage!.tr, () {
- Toast.show(msg: "功能暂未开放");
- // Navigator.pushNamed(context, Routers.gatewayDetailPage);
+ Navigator.pushNamed(context, Routers.gatewayDetailPage);
}),
_valueAddedServicesItem(
Image.asset(
'images/mine/icon_mine_valueAddedServices_checkIn.png'),
TranslationLoader.lanKeys!.checkingIn!.tr, () {
- Toast.show(msg: "功能暂未开放");
- // Navigator.pushNamed(context, Routers.gatewayDetailPage);
+ Navigator.pushNamed(context, Routers.gatewayDetailPage);
}),
_valueAddedServicesItem(
Image.asset(
'images/mine/icon_mine_valueAddedServices_storage.png'),
TranslationLoader.lanKeys!.recordsRetention!.tr, () {
- Toast.show(msg: "功能暂未开放");
- // Navigator.pushNamed(context, Routers.gatewayDetailPage);
+ Navigator.pushNamed(context, Routers.gatewayDetailPage);
}),
_valueAddedServicesItem(
Image.asset('images/mine/icon_mine_valueAddedServices_vip.png'),
'可视对讲', () {
- Toast.show(msg: "功能暂未开放");
- // Navigator.pushNamed(context, Routers.gatewayDetailPage);
+ Navigator.pushNamed(context, Routers.gatewayDetailPage);
}),
_valueAddedServicesItem(
Text(
@@ -94,8 +86,7 @@ class _ValueAddedServicesPageListState
fontWeight: FontWeight.w600),
),
"Amazon Alexa", () {
- Toast.show(msg: "功能暂未开放");
- // Navigator.pushNamed(context, Routers.gatewayDetailPage);
+ Navigator.pushNamed(context, Routers.gatewayDetailPage);
}),
_valueAddedServicesItem(
Text(
@@ -106,8 +97,7 @@ class _ValueAddedServicesPageListState
fontWeight: FontWeight.w600),
),
"Google Home", () {
- Toast.show(msg: "功能暂未开放");
- // Navigator.pushNamed(context, Routers.gatewayDetailPage);
+ Navigator.pushNamed(context, Routers.gatewayDetailPage);
}),
],
),
diff --git a/star_lock/lib/tools/ExpandedListView.dart b/star_lock/lib/tools/ExpandedListView.dart
index cee2311a..0c4247e4 100644
--- a/star_lock/lib/tools/ExpandedListView.dart
+++ b/star_lock/lib/tools/ExpandedListView.dart
@@ -107,7 +107,7 @@ class _ExpandedListTileState extends State {
width: 10.w,
)),
AnimatedRotation(
- turns: _isExpanded ? 0 : -0.5,
+ turns: _isExpanded ? -0.5 : 0,
duration: _animationDuration,
child: const Icon(Icons.keyboard_arrow_down),
),
diff --git a/star_lock/lib/tools/noData.dart b/star_lock/lib/tools/noData.dart
index 11829f91..062dc3e9 100644
--- a/star_lock/lib/tools/noData.dart
+++ b/star_lock/lib/tools/noData.dart
@@ -1,5 +1,6 @@
import 'package:flutter/cupertino.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
+import 'package:star_lock/app_settings/app_colors.dart';
class NoData extends StatelessWidget {
const NoData({Key? key}) : super(key: key);
@@ -10,8 +11,22 @@ class NoData extends StatelessWidget {
width: 1.sw,
height: 1.sh - ScreenUtil().statusBarHeight,
child: Center(
- child: Image.asset('images/icon_unHaveData.png',width: 300.w,height: 240.w),
- ),
+ child: Column(
+ mainAxisAlignment: MainAxisAlignment.center,
+ crossAxisAlignment: CrossAxisAlignment.center,
+ children: [
+ Image.asset(
+ 'images/icon_noData.png',
+ width: 160.w,
+ height: 180.h,
+ ),
+ Text(
+ '暂无数据',
+ style:
+ TextStyle(color: AppColors.darkGrayTextColor, fontSize: 22.sp),
+ )
+ ],
+ )),
);
}
}