From b160e2a9ba9aaa93f3114a57e3354d94240eca53 Mon Sep 17 00:00:00 2001
From: zhangmeng <494089941@qq.com>
Date: Thu, 25 Mar 2021 14:51:37 +0800
Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=20=E7=BD=91=E7=BB=9C?=
=?UTF-8?q?=E8=BF=9E=E6=8E=A5=E7=9A=84=E9=97=AE=E9=A2=98=20=E6=B7=BB?=
=?UTF-8?q?=E5=8A=A0=20=E5=B7=A1=E6=A3=80=E7=AE=A1=E7=90=86=E9=A6=96?=
=?UTF-8?q?=E9=A1=B5?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
android/app/src/debug/AndroidManifest.xml | 1 +
android/app/src/main/AndroidManifest.xml | 2 +
.../main/res/xml/network_security_config.xml | 4 +
ios/Runner.xcodeproj/project.pbxproj | 4 +-
ios/Runner/Info.plist | 5 +
lib/const/api.dart | 3 +
.../inspection/inspection_list_model.dart | 44 +++++
lib/style/app_style.dart | 13 ++
.../inspection_manage_card.dart | 168 +++++++++++-------
.../inspection_manage_details_page.dart | 3 +-
.../inspection_manage_page.dart | 50 ++++--
lib/ui/splash/splash_page.dart | 2 +-
12 files changed, 213 insertions(+), 86 deletions(-)
create mode 100644 android/app/src/main/res/xml/network_security_config.xml
create mode 100644 lib/models/manager/inspection/inspection_list_model.dart
diff --git a/android/app/src/debug/AndroidManifest.xml b/android/app/src/debug/AndroidManifest.xml
index cf05c20..d492885 100644
--- a/android/app/src/debug/AndroidManifest.xml
+++ b/android/app/src/debug/AndroidManifest.xml
@@ -4,4 +4,5 @@
to allow setting breakpoints, to provide hot reload, etc.
-->
+
diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml
index 22a4b35..5d7155f 100644
--- a/android/app/src/main/AndroidManifest.xml
+++ b/android/app/src/main/AndroidManifest.xml
@@ -26,5 +26,7 @@
+
diff --git a/android/app/src/main/res/xml/network_security_config.xml b/android/app/src/main/res/xml/network_security_config.xml
new file mode 100644
index 0000000..dca93c0
--- /dev/null
+++ b/android/app/src/main/res/xml/network_security_config.xml
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/ios/Runner.xcodeproj/project.pbxproj b/ios/Runner.xcodeproj/project.pbxproj
index 65ad20e..0f4bc9c 100644
--- a/ios/Runner.xcodeproj/project.pbxproj
+++ b/ios/Runner.xcodeproj/project.pbxproj
@@ -43,7 +43,7 @@
97C146FB1CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; };
97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; };
97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; };
- 97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
+ 97C147021CF9000F007C117D /* Info-Debug.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "Info-Debug.plist"; sourceTree = ""; };
BB0EBAE2C9CD25508CE8905A /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; };
D3841BBC25E0B59A00442C11 /* 小蜜蜂智慧社区管家端.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = "小蜜蜂智慧社区管家端.entitlements"; sourceTree = ""; };
EAD6594E3E9D112D0B561296 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; };
@@ -117,7 +117,7 @@
97C146FA1CF9000F007C117D /* Main.storyboard */,
97C146FD1CF9000F007C117D /* Assets.xcassets */,
97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */,
- 97C147021CF9000F007C117D /* Info.plist */,
+ 97C147021CF9000F007C117D /* Info-Debug.plist */,
1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */,
1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */,
74858FAE1ED2DC5600515810 /* AppDelegate.swift */,
diff --git a/ios/Runner/Info.plist b/ios/Runner/Info.plist
index 8073b4a..cf2ce6e 100644
--- a/ios/Runner/Info.plist
+++ b/ios/Runner/Info.plist
@@ -65,5 +65,10 @@
UIViewControllerBasedStatusBarAppearance
+ NSAppTransportSecurity
+
+ NSAllowsArbitraryLoads
+
+
diff --git a/lib/const/api.dart b/lib/const/api.dart
index 21bd31e..8caf056 100644
--- a/lib/const/api.dart
+++ b/lib/const/api.dart
@@ -137,6 +137,9 @@ class _Manage {
///物品出户:根据房产id查询业主名称和手机号(联系业主)
String get goodsOutContactOwner => '/user/articleOut/contactOwner';
+
+ ///巡检管理:查询所有的巡检管理信息
+ String get inspectionList => '/user/inspection/list';
}
class _Upload {
diff --git a/lib/models/manager/inspection/inspection_list_model.dart b/lib/models/manager/inspection/inspection_list_model.dart
new file mode 100644
index 0000000..d2c5c85
--- /dev/null
+++ b/lib/models/manager/inspection/inspection_list_model.dart
@@ -0,0 +1,44 @@
+class InspectionListModel {
+ int id;
+ String code;
+ String name;
+ String beginDate;
+ String endDate;
+ String actualBeginDate;
+ String actualEndDate;
+ int status;
+
+ InspectionListModel(
+ {this.id,
+ this.code,
+ this.name,
+ this.beginDate,
+ this.endDate,
+ this.actualBeginDate,
+ this.actualEndDate,
+ this.status});
+
+ InspectionListModel.fromJson(Map json) {
+ id = json['id'];
+ code = json['code'];
+ name = json['name'];
+ beginDate = json['beginDate'];
+ endDate = json['endDate'];
+ actualBeginDate = json['actualBeginDate'];
+ actualEndDate = json['actualEndDate'];
+ status = json['status'];
+ }
+
+ Map toJson() {
+ final Map data = new Map();
+ data['id'] = this.id;
+ data['code'] = this.code;
+ data['name'] = this.name;
+ data['beginDate'] = this.beginDate;
+ data['endDate'] = this.endDate;
+ data['actualBeginDate'] = this.actualBeginDate;
+ data['actualEndDate'] = this.actualEndDate;
+ data['status'] = this.status;
+ return data;
+ }
+}
diff --git a/lib/style/app_style.dart b/lib/style/app_style.dart
index c1d8355..02e6412 100644
--- a/lib/style/app_style.dart
+++ b/lib/style/app_style.dart
@@ -9,6 +9,19 @@ export 'package:aku_community_manager/const/resource.dart';
//默认小区名称
const kEstateName = '深圳华茂悦峰';
+//颜色,渐变主颜色和次级颜色
+const kPrimaryColor = Color(0xFFFDCF12);
+const kMinorColor = Color(0xFFFFDF5D);
+const kSubColor = Color(0xFF3F8FFE);
+//字体
+///主字体颜色
+const primaryTextColor = Color(0xFF333333);
+
+///次字体颜色
+const minorTextColor = Color(0xFF999999);
+
+///背景色
+const backgroundColor = Color(0xFFF9F9F9);
class AppStyle {
//颜色,渐变主颜色和次级颜色
diff --git a/lib/ui/manage_pages/inspection_manage/inspection_manage_card.dart b/lib/ui/manage_pages/inspection_manage/inspection_manage_card.dart
index 99c7ba7..a418af7 100644
--- a/lib/ui/manage_pages/inspection_manage/inspection_manage_card.dart
+++ b/lib/ui/manage_pages/inspection_manage/inspection_manage_card.dart
@@ -1,66 +1,94 @@
-// Flutter imports:
-import 'package:flutter/material.dart';
-
-// Package imports:
-import 'package:aku_ui/common_widgets/aku_common_widgets.dart';
-import 'package:flutter_screenutil/flutter_screenutil.dart';
-import 'package:get/get.dart';
-import 'package:get/instance_manager.dart';
-
-// Project imports:
-import 'package:aku_community_manager/const/resource.dart';
-import 'package:aku_community_manager/mock_models/manage_models/manage_model.dart';
+import 'package:aku_community_manager/models/manager/inspection/inspection_list_model.dart';
import 'package:aku_community_manager/style/app_style.dart';
-import 'package:aku_community_manager/tools/widget_tool.dart';
-import 'package:aku_community_manager/ui/manage_pages/inspection_manage/inspection_manage_details_page.dart';
+import 'package:aku_ui/aku_ui.dart';
+import 'package:common_utils/common_utils.dart';
+import 'package:flutter/material.dart';
+import 'package:velocity_x/velocity_x.dart';
-class InspectionManageCard {
- final InspectionManageCardModel cardModel;
+class InspectionManageCard extends StatefulWidget {
+ final InspectionListModel cardModel;
final bool extra;
- InspectionManageCard(this.cardModel, {this.extra = true});
+ InspectionManageCard({Key key, this.cardModel, this.extra = true})
+ : super(key: key);
+
+ @override
+ _InspectionManageCardState createState() => _InspectionManageCardState();
+}
- Widget inspectionManageCard() {
+class _InspectionManageCardState extends State {
+ @override
+ Widget build(BuildContext context) {
TextStyle _textstyle =
TextStyle(color: AppStyle.minorTextColor, fontSize: 28.sp);
+ Map _inspectionStatus = {
+ 1: '待巡检',
+ 2: '已巡检',
+ };
+ Color _inspectionColor(int status) {
+ switch (status) {
+ case 1:
+ return Color(0xFF4501);
+ break;
+ case 2:
+ return Color(0x999999);
+ default:
+ return Colors.black;
+ }
+ }
+
return Column(
mainAxisSize: MainAxisSize.min,
children: [
- AkuBox.h(16),
+ 16.w.heightBox,
AkuButton(
- onPressed: extra
+ onPressed: widget.extra
? () {
- Get.to(InspectionManageDetailsPage(
- cardModel: cardModel,
- ));
+ // Get.to(
+ // InspectionManageDetailsPage(
+ // widget.cardModel: widget.cardModel,
+ // ),
+ // );
}
: () {},
child: Container(
alignment: Alignment.centerLeft,
padding: EdgeInsets.only(
- left: 24.w, right: 24.w, bottom: extra ? 48.w : 40.w),
+ left: 24.w, right: 24.w, bottom: widget.extra ? 48.w : 40.w),
width: double.infinity,
- height: extra ? 362.w : 270.w,
+ height: widget.extra ? 362.w : 270.w,
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(8.w),
color: Color(0xFFFFFFFF)),
child: Column(children: [
Container(
- height: extra ? 93.w : 86.w,
- width: double.infinity,
- alignment: Alignment.centerLeft,
- child: Text(
- cardModel.title,
- style: TextStyle(
- color: AppStyle.primaryTextColor,
- fontSize: extra ? 32.sp : 36.sp,
- fontWeight: FontWeight.bold),
- )),
- extra
+ height: widget.extra ? 93.w : 86.w,
+ width: double.infinity,
+ alignment: Alignment.centerLeft,
+ child: Row(
+ children: [
+ Text(
+ '1号巡检任务',
+ style: TextStyle(
+ color: AppStyle.primaryTextColor,
+ fontSize: widget.extra ? 32.sp : 36.sp,
+ fontWeight: FontWeight.bold),
+ ),
+ Spacer(),
+ _inspectionStatus[widget.cardModel.status]
+ .text
+ .color(_inspectionColor(widget.cardModel.status))
+ .bold
+ .size(28.sp)
+ .make()
+ ],
+ ),
+ ),
+ widget.extra
? Divider(
height: 1.w,
)
: SizedBox(),
- extra ? AkuBox.h(24) : SizedBox(),
+ widget.extra ? 24.w.heightBox : SizedBox(),
Row(
children: [
Image.asset(
@@ -68,14 +96,14 @@ class InspectionManageCard {
width: 40.w,
height: 40.w,
),
- AkuBox.w(4),
+ 4.w.widthBox,
Text(
- '巡检日期',
+ '巡检编号',
style: _textstyle,
),
Spacer(),
Text(
- cardModel.date,
+ widget.cardModel.code,
style: AppStyle().primaryStyle,
)
],
@@ -88,37 +116,41 @@ class InspectionManageCard {
width: 40.w,
height: 40.w,
),
- AkuBox.w(4),
- Text('巡检周期', style: _textstyle),
+ 4.w.widthBox,
+ Text('规定巡检时间', style: _textstyle),
Spacer(),
Text(
- cardModel.cycle,
+ '${DateUtil.formatDateStr(widget.cardModel.beginDate, format: "yyyy-MM-dd HH:mm")}~${DateUtil.formatDateStr(widget.cardModel.endDate, format: "HH:mm")}',
style: AppStyle().primaryStyle,
),
],
),
Spacer(),
- Row(
- children: [
- Image.asset(
- R.ASSETS_MANAGE_IC_TIME_PNG,
- width: 40.w,
- height: 40.w,
- ),
- AkuBox.w(4),
- Text(
- '巡检时间',
- style: _textstyle,
- ),
- Spacer(),
- Text(
- cardModel.time,
- style: AppStyle().primaryStyle,
- ),
- ],
- ),
- extra ? Spacer() : SizedBox(),
- extra
+ ...widget.cardModel.actualBeginDate == null
+ ? [SizedBox()]
+ : [
+ Row(
+ children: [
+ Image.asset(
+ R.ASSETS_MANAGE_IC_TIME_PNG,
+ width: 40.w,
+ height: 40.w,
+ ),
+ 4.w.widthBox,
+ Text(
+ '开始巡检时间',
+ style: _textstyle,
+ ),
+ Spacer(),
+ Text(
+ '${DateUtil.formatDateStr(widget.cardModel.actualBeginDate, format: "yyyy-MM-dd HH:mm")}',
+ style: AppStyle().primaryStyle,
+ ),
+ ],
+ ),
+ Spacer(),
+ ],
+ widget.cardModel.actualEndDate == null
? Row(
children: [
Image.asset(
@@ -126,16 +158,14 @@ class InspectionManageCard {
width: 40.w,
height: 40.w,
),
- AkuBox.w(4),
+ 4.w.widthBox,
Text(
- '巡检人员',
+ '结束巡检时间',
style: _textstyle,
),
Spacer(),
Text(
- cardModel.persons.length > 2
- ? '${cardModel.persons[0]}、${cardModel.persons[1]}等'
- : cardModel.persons[0],
+ '${DateUtil.formatDateStr(widget.cardModel.actualEndDate, format: "yyyy-MM-dd HH:mm")}',
style: AppStyle().primaryStyle,
),
],
diff --git a/lib/ui/manage_pages/inspection_manage/inspection_manage_details_page.dart b/lib/ui/manage_pages/inspection_manage/inspection_manage_details_page.dart
index d6378d3..a9fce7f 100644
--- a/lib/ui/manage_pages/inspection_manage/inspection_manage_details_page.dart
+++ b/lib/ui/manage_pages/inspection_manage/inspection_manage_details_page.dart
@@ -9,7 +9,6 @@ import 'package:aku_community_manager/const/resource.dart';
import 'package:aku_community_manager/mock_models/manage_models/manage_model.dart';
import 'package:aku_community_manager/style/app_style.dart';
import 'package:aku_community_manager/tools/widget_tool.dart';
-import 'package:aku_community_manager/ui/manage_pages/inspection_manage/inspection_manage_card.dart';
import 'package:aku_community_manager/ui/widgets/common/aku_scaffold.dart';
class InspectionManageDetailsPage extends StatelessWidget {
@@ -22,7 +21,7 @@ class InspectionManageDetailsPage extends StatelessWidget {
title: '巡检详情',
body: Column(
children: [
- InspectionManageCard(cardModel, extra: false).inspectionManageCard(),
+ // InspectionManageCard(cardModel:cardModel, extra: false),
Container(
width: double.infinity,
color: Color(0xFFFFFFFF),
diff --git a/lib/ui/manage_pages/inspection_manage/inspection_manage_page.dart b/lib/ui/manage_pages/inspection_manage/inspection_manage_page.dart
index d80a5a2..f407c1a 100644
--- a/lib/ui/manage_pages/inspection_manage/inspection_manage_page.dart
+++ b/lib/ui/manage_pages/inspection_manage/inspection_manage_page.dart
@@ -1,14 +1,16 @@
// Flutter imports:
+import 'package:aku_community_manager/const/api.dart';
+import 'package:aku_community_manager/models/manager/inspection/inspection_list_model.dart';
+import 'package:aku_community_manager/ui/manage_pages/inspection_manage/inspection_manage_card.dart';
+import 'package:aku_community_manager/ui/widgets/common/bee_list_view.dart';
import 'package:flutter/material.dart';
+import 'package:flutter_easyrefresh/easy_refresh.dart';
+import 'package:flutter_screenutil/flutter_screenutil.dart';
+import 'package:velocity_x/velocity_x.dart';
// Package imports:
-import 'package:flutter_screenutil/flutter_screenutil.dart';
-import 'package:provider/provider.dart';
// Project imports:
-import 'package:aku_community_manager/provider/manage_provider.dart';
-import 'package:aku_community_manager/style/app_style.dart';
-import 'package:aku_community_manager/ui/manage_pages/inspection_manage/inspection_manage_card.dart';
import 'package:aku_community_manager/ui/widgets/common/aku_scaffold.dart';
class InspectionManagePage extends StatefulWidget {
@@ -19,17 +21,41 @@ class InspectionManagePage extends StatefulWidget {
}
class _InspectionManagePageState extends State {
+ EasyRefreshController _easyRefreshController;
+ @override
+ void initState() {
+ _easyRefreshController = EasyRefreshController();
+ super.initState();
+ }
+
+ @override
+ void dispose() {
+ _easyRefreshController?.dispose();
+ super.dispose();
+ }
+
@override
Widget build(BuildContext context) {
- final _inspectionManageModel =
- Provider.of(context);
return AkuScaffold(
title: '巡检管理',
- body: ListView(
- padding: EdgeInsets.only(left: 32.w, right: 32.w, bottom: 40.w),
- children: _inspectionManageModel.inspectionManageModels
- .map((e) => InspectionManageCard(e).inspectionManageCard())
- .toList(),
+ body: BeeListView(
+ path: API.manage.inspectionList,
+ controller: _easyRefreshController,
+ convert: (models) {
+ return models.tableList
+ .map((e) => InspectionListModel.fromJson(e))
+ .toList();
+ },
+ builder: (items) {
+ return ListView.separated(
+ itemBuilder: (context, index) {
+ return InspectionManageCard(cardModel: items[index]);
+ },
+ separatorBuilder: (_, __) {
+ return 8.w.heightBox;
+ },
+ itemCount: items.length);
+ },
),
);
}
diff --git a/lib/ui/splash/splash_page.dart b/lib/ui/splash/splash_page.dart
index 9900ee8..03af16a 100644
--- a/lib/ui/splash/splash_page.dart
+++ b/lib/ui/splash/splash_page.dart
@@ -41,7 +41,7 @@ class _SplashPageState extends State {
void initState() {
super.initState();
Future.delayed(Duration(milliseconds: 300), () {
- if (mounted) PowerLogger.init(context, debug: DevUtil.isDev);
+ if (mounted) PowerLogger.start(context, debug: DevUtil.isDev);
});
Future.delayed(Duration(milliseconds: 2000), () async {
await _originOp();