巡检详情页完成

hmxc
张萌 4 years ago
parent 1d99040eab
commit 562e9a6db5

Binary file not shown.

After

Width:  |  Height:  |  Size: 256 KiB

@ -47,7 +47,7 @@ class InspectionManageCardModel{
static List<InspectionManageCardModel> initList(){ static List<InspectionManageCardModel> initList(){
return [ return [
InspectionManageCardModel('1号巡检任务', '2020.1-2020.12', '每周一、三、五', '8:00-12:00', ['王珂','陈晖洁','凯尔希','王铁锤','李狗蛋','尼古拉斯'], [ InspectionManageCardModel('1号巡检任务', '2020.1-2020.12', '每周一、三、五', '8:00-12:00', ['王珂','陈晖洁','凯尔希','王铁锤','李狗蛋','尼古拉斯'], [
'小区东门入口','1号南门','3号门站','3号闸门','3号门站' '小区东门入口','1号南门','3号门站','3号闸门','4号门站'
]), ]),
InspectionManageCardModel('2号巡检任务', '2020.1-2020.12', '每周二', '8:00-12:00',['史尔特尔'] , []), InspectionManageCardModel('2号巡检任务', '2020.1-2020.12', '每周二', '8:00-12:00',['史尔特尔'] , []),
InspectionManageCardModel('3号巡检任务', '2020.1-2020.12', '每周二、四、六', '8:00-12:00', ['叶莲娜'], []), InspectionManageCardModel('3号巡检任务', '2020.1-2020.12', '每周二、四、六', '8:00-12:00', ['叶莲娜'], []),

@ -0,0 +1,138 @@
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_details_page.dart';
import 'package:aku_ui/common_widgets/aku_common_widgets.dart';
import 'package:flutter/material.dart';
import 'package:aku_community_manager/const/resource.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:get/instance_manager.dart';
import 'package:get/get.dart';
class InspectionManageCard {
final InspectionManageCardModel cardModel;
final bool extra;
InspectionManageCard(this.cardModel, {this.extra = true});
Widget inspectionManageCard() {
TextStyle _textstyle =
TextStyle(color: AppStyle.minorTextColor, fontSize: 28.sp);
return Column(
mainAxisSize: MainAxisSize.min,
children: [
AkuBox.h(16),
AkuButton(
onPressed: extra? () {
Get.to(InspectionManageDetailsPage(cardModel: cardModel,));
}:(){},
child: Container(
alignment: Alignment.centerLeft,
padding: EdgeInsets.only(left: 24.w, right: 24.w, bottom: extra? 48.w:40.w),
width: double.infinity,
height: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
? Divider(
height: 1.w,
)
: SizedBox(),
extra? AkuBox.h(24):SizedBox(),
Row(
children: [
Image.asset(
R.ASSETS_MANAGE_IC_RENWU_PNG,
width: 40.w,
height: 40.w,
),
AkuBox.w(4),
Text(
'巡检日期',
style: _textstyle,
),
Spacer(),
Text(
cardModel.date,
style: AppStyle().primaryStyle,
)
],
),
Spacer(),
Row(
children: [
Image.asset(
R.ASSETS_HOME_IC_NEWS_PNG,
width: 40.w,
height: 40.w,
),
AkuBox.w(4),
Text('巡检周期', style: _textstyle),
Spacer(),
Text(
cardModel.cycle,
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
? Row(
children: [
Image.asset(
R.ASSETS_MESSAGE_IC_PEOPLE_PNG,
width: 40.w,
height: 40.w,
),
AkuBox.w(4),
Text(
'巡检人员',
style: _textstyle,
),
Spacer(),
Text(
cardModel.persons.length > 2
? '${cardModel.persons[0]}${cardModel.persons[1]}'
: cardModel.persons[0],
style: AppStyle().primaryStyle,
),
],
)
: SizedBox(),
]),
),
),
],
);
}
}

@ -1,13 +1,138 @@
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'; import 'package:aku_community_manager/ui/widgets/common/aku_scaffold.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:aku_community_manager/const/resource.dart';
class InspectionManageDetailsPage extends StatelessWidget { class InspectionManageDetailsPage extends StatelessWidget {
const InspectionManageDetailsPage({Key key}) : super(key: key); final InspectionManageCardModel cardModel;
InspectionManageDetailsPage({Key key, this.cardModel}) : super(key: key);
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return AkuScaffold( return AkuScaffold(
title: '巡检详情',
body: Column(
children: [
InspectionManageCard(cardModel, extra: false).inspectionManageCard(),
Container(
width: double.infinity,
color: Color(0xFFFFFFFF),
margin: EdgeInsets.only(top: 16.w),
padding: EdgeInsets.only(
top: 24.w, left: 32.w, right: 86.w, bottom: 40.w),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(
'巡检人员',
style: TextStyle(
color: AppStyle.primaryTextColor,
fontSize: 32.sp,
fontWeight: FontWeight.bold),
),
AkuBox.h(16),
GridView(
shrinkWrap: true,
physics: NeverScrollableScrollPhysics(),
gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(
crossAxisCount: 3,
childAspectRatio: 250 / 40,
mainAxisSpacing: 16.w),
children: cardModel.persons
.map((e) => _person(cardModel.persons.indexOf(e)))
.toList(),
),
],
),
),
AkuBox.h(16),
Container(
color: Color(0xFFFFFFFF),
padding: EdgeInsets.only(top: 24.w, left: 32.w, right: 32.w),
width: double.infinity,
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text('巡检站点',
style: TextStyle(
color: AppStyle.primaryTextColor,
fontSize: 32.sp,
fontWeight: FontWeight.bold)),
AkuBox.h(16),
Wrap(
runSpacing: 16.w,
children: cardModel.stations
.map((e) => _station(cardModel.stations.indexOf(e)))
.toList(),
),
AkuBox.h(24),
Image.asset(
R.ASSETS_INSPECTION_INSPECTION_STATION_PNG,
width: 686.w,
height: 343.w,
),
]),
),
],
),
);
}
Widget _station(index) {
return Row(
mainAxisSize: MainAxisSize.min,
children: [
Container(
padding:
EdgeInsets.only(top: 16.w, left: 24.w, bottom: 15.w, right: 24.w),
color: Color(0xFFF9F9F9),
height: 64.w,
alignment: Alignment.center,
child: Row(
mainAxisSize: MainAxisSize.min,
children: [
Text(
cardModel.stations[index],
style: TextStyle(
color: AppStyle.primaryTextColor, fontSize: 24.sp),
),
],
),
),
AkuBox.w(8),
(cardModel.stations.length - 1) != index
? Container(
width: 56.w,
height: 3.w,
color: Color(0xFFE8E8E8),
)
: SizedBox(),
],
);
}
Widget _person(index) {
return Container(
height: 40.w,
child: Row(mainAxisSize: MainAxisSize.min, children: [
Image.asset(
R.ASSETS_MESSAGE_IC_PEOPLE_PNG,
width: 40.w,
height: 40.w,
),
AkuBox.w(8),
Text(
cardModel.persons[index],
style: TextStyle(
color: AppStyle.primaryTextColor,
fontSize: 28.sp,
),
),
]),
); );
} }
} }

@ -2,6 +2,7 @@ import 'package:aku_community_manager/mock_models/manage_models/manage_model.dar
import 'package:aku_community_manager/provider/manage_provider.dart'; import 'package:aku_community_manager/provider/manage_provider.dart';
import 'package:aku_community_manager/style/app_style.dart'; import 'package:aku_community_manager/style/app_style.dart';
import 'package:aku_community_manager/tools/widget_tool.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'; import 'package:aku_community_manager/ui/widgets/common/aku_scaffold.dart';
import 'package:aku_ui/common_widgets/aku_common_widgets.dart'; import 'package:aku_ui/common_widgets/aku_common_widgets.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
@ -26,126 +27,124 @@ class _InspectionManagePageState extends State<InspectionManagePage> {
body: ListView( body: ListView(
padding: EdgeInsets.only(left: 32.w, right: 32.w), padding: EdgeInsets.only(left: 32.w, right: 32.w),
children: _inspectionManageModel.inspectionManageModels children: _inspectionManageModel.inspectionManageModels
.map((e) => _inspectionManageCard(e)) .map((e) => InspectionManageCard(e).inspectionManageCard())
.toList(), .toList(),
), ),
); );
} }
Widget _inspectionManageCard(InspectionManageCardModel cardModel) { // Widget _inspectionManageCard(InspectionManageCardModel cardModel) {
TextStyle _textstyle = // TextStyle _textstyle =
TextStyle(color: AppStyle.minorTextColor, fontSize: 28.sp); // TextStyle(color: AppStyle.minorTextColor, fontSize: 28.sp);
return Column( // return Column(
children: [ // children: [
AkuBox.h(16), // AkuBox.h(16),
AkuButton( // AkuButton(
onPressed: () { // onPressed: () {},
// child: Container(
}, // alignment: Alignment.centerLeft,
child: Container( // padding: EdgeInsets.only(left: 24.w, right: 24.w, bottom: 48.w),
alignment: Alignment.centerLeft, // width: 686.w,
padding: EdgeInsets.only(left: 24.w, right: 24.w, bottom: 48.w), // height: 362.w,
width: 686.w, // color: Color(0xFFFFFFFF),
height: 362.w, // child: Column(children: [
color: Color(0xFFFFFFFF), // Container(
child: Column(children: [ // height: 93.w,
Container( // width: double.infinity,
height: 93.w, // alignment: Alignment.centerLeft,
width: double.infinity, // child: Text(
alignment: Alignment.centerLeft, // cardModel.title,
child: Text( // style: TextStyle(
cardModel.title, // color: AppStyle.primaryTextColor,
style: TextStyle( // fontSize: 32.sp,
color: AppStyle.primaryTextColor, // fontWeight: FontWeight.bold),
fontSize: 32.sp, // )),
fontWeight: FontWeight.bold), // Divider(
)), // height: 1.w,
Divider( // ),
height: 1.w, // AkuBox.h(24),
), // Row(
AkuBox.h(24), // children: [
Row( // Image.asset(
children: [ // R.ASSETS_MANAGE_IC_RENWU_PNG,
Image.asset( // width: 40.w,
R.ASSETS_MANAGE_IC_RENWU_PNG, // height: 40.w,
width: 40.w, // ),
height: 40.w, // AkuBox.w(4),
), // Text(
AkuBox.w(4), // '巡检日期',
Text( // style: _textstyle,
'巡检日期', // ),
style: _textstyle, // Spacer(),
), // Text(
Spacer(), // cardModel.date,
Text( // style: AppStyle().primaryStyle,
cardModel.date, // )
style: AppStyle().primaryStyle, // ],
) // ),
], // Spacer(),
), // Row(
Spacer(), // children: [
Row( // Image.asset(
children: [ // R.ASSETS_HOME_IC_NEWS_PNG,
Image.asset( // width: 40.w,
R.ASSETS_HOME_IC_NEWS_PNG, // height: 40.w,
width: 40.w, // ),
height: 40.w, // AkuBox.w(4),
), // Text('巡检周期', style: _textstyle),
AkuBox.w(4), // Spacer(),
Text('巡检周期', style: _textstyle), // Text(
Spacer(), // cardModel.cycle,
Text( // style: AppStyle().primaryStyle,
cardModel.cycle, // ),
style: AppStyle().primaryStyle, // ],
), // ),
], // Spacer(),
), // Row(
Spacer(), // children: [
Row( // Image.asset(
children: [ // R.ASSETS_MANAGE_IC_TIME_PNG,
Image.asset( // width: 40.w,
R.ASSETS_MANAGE_IC_TIME_PNG, // height: 40.w,
width: 40.w, // ),
height: 40.w, // AkuBox.w(4),
), // Text(
AkuBox.w(4), // '巡检时间',
Text( // style: _textstyle,
'巡检时间', // ),
style: _textstyle, // Spacer(),
), // Text(
Spacer(), // cardModel.time,
Text( // style: AppStyle().primaryStyle,
cardModel.time, // ),
style: AppStyle().primaryStyle, // ],
), // ),
], // Spacer(),
), // Row(
Spacer(), // children: [
Row( // Image.asset(
children: [ // R.ASSETS_MESSAGE_IC_PEOPLE_PNG,
Image.asset( // width: 40.w,
R.ASSETS_MESSAGE_IC_PEOPLE_PNG, // height: 40.w,
width: 40.w, // ),
height: 40.w, // AkuBox.w(4),
), // Text(
AkuBox.w(4), // '巡检人员',
Text( // style: _textstyle,
'巡检人员', // ),
style: _textstyle, // Spacer(),
), // Text(
Spacer(), // cardModel.persons.length > 2
Text( // ? '${cardModel.persons[0]}${cardModel.persons[1]}'
cardModel.persons.length > 2 // : cardModel.persons[0],
? '${cardModel.persons[0]}${cardModel.persons[1]}' // style: AppStyle().primaryStyle,
: cardModel.persons[0], // ),
style: AppStyle().primaryStyle, // ],
), // ),
], // ]),
), // ),
]), // ),
), // ],
), // );
], // }
);
}
} }

@ -75,6 +75,7 @@ flutter:
- assets/user/ - assets/user/
- assets/message/ - assets/message/
- assets/manage/ - assets/manage/
- assets/inspection/
- assets/static_temp/ - assets/static_temp/
- assets/static_fix/ - assets/static_fix/

Loading…
Cancel
Save