修改绿化管理页面

hmxc
张萌 4 years ago
parent 9220d61685
commit a07313e46e

@ -0,0 +1,152 @@
import 'package:aku_community_manager/style/app_style.dart';
import 'package:aku_community_manager/tools/aku_divider.dart';
import 'package:aku_community_manager/tools/widget_tool.dart';
import 'package:aku_community_manager/ui/manage_pages/green_manage/green_manage_map.dart';
import 'package:aku_ui/common_widgets/aku_button.dart';
import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:velocity_x/velocity_x.dart';
import 'package:aku_community_manager/tools/extensions/list_extension_tool.dart';
class GreenManageCard extends StatefulWidget {
final int index;
GreenManageCard({Key key, this.index}) : super(key: key);
@override
_GreenManageCardState createState() => _GreenManageCardState();
}
class _GreenManageCardState extends State<GreenManageCard> {
@override
Widget build(BuildContext context) {
return AkuButton(
onPressed: () {
// Get.to(GreenManageDetailsPage(cardModel));
},
child: Container(
width: double.infinity,
padding: EdgeInsets.symmetric(vertical: 24.w, horizontal: 24.w),
color: Color(0xFFFFFFFF),
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Container(
alignment: Alignment.centerLeft,
child: Row(
children: [
Text(
'cardModel.title',
style: TextStyle(
color: AppStyle.primaryTextColor,
fontSize: 32.w,
fontWeight: FontWeight.bold),
),
Spacer(),
GreenManageMap.statusString(widget.index + 1)
.text
.size(28.sp)
.color(GreenManageMap.statusColor(widget.index + 1))
.bold
.make(),
],
),
),
16.w.heightBox,
AkuDivider.horizontal(),
24.w.heightBox,
...[
Row(
children: [
Image.asset(
R.ASSETS_MANAGE_IC_RENWU_PNG,
width: 40.w,
height: 40.w,
),
AkuBox.w(4),
Text('工作内容',
style: TextStyle(
color: AppStyle.primaryTextColor,
fontSize: 28.sp,
)),
Spacer(),
Text(
'cardModel.task',
style: AppStyle().primaryStyle,
),
],
),
Row(
children: [
Image.asset(
R.ASSETS_MESSAGE_IC_PEOPLE_PNG,
width: 40.w,
height: 40.w,
),
AkuBox.w(4),
Text('负责人员',
style: TextStyle(
color: AppStyle.primaryTextColor,
fontSize: 28.sp,
)),
Spacer(),
Text(
'cardModel.name',
style: AppStyle().primaryStyle,
),
],
),
Row(
children: [
Image.asset(
R.ASSETS_MANAGE_IC_TIME_PNG,
width: 40.w,
height: 40.w,
),
AkuBox.w(4),
Text('时间期限',
style: TextStyle(
color: AppStyle.primaryTextColor, fontSize: 28.sp)),
Spacer(),
Text(
'${'cardModel.timestart'}${'cardModel.timeend'}',
style: AppStyle().primaryStyle,
),
],
),
].sepWidget(separate: 16.w.heightBox),
..._buttomButtons()
],
),
),
);
}
List<Widget> _buttomButtons() {
return widget.index != 0
? [SizedBox()]
: [
40.w.heightBox,
Row(
children: [
'请在期限前完成绿化任务'.text.size(24.sp).color(kTextSubColor).make(),
Spacer(),
AkuButton(
color: kPrimaryColor,
radius: 74.w,
padding:
EdgeInsets.symmetric(vertical: 8.w, horizontal: 24.w),
height: 52.w,
child: '确认完成'
.text
.size(26.sp)
.color(kTextPrimaryColor)
.bold
.make(),
onPressed: () {},
)
],
)
];
}
}

@ -0,0 +1,29 @@
import 'package:flutter/material.dart';
class GreenManageMap {
static String statusString(int status) {
switch (status) {
case 1:
return '待处理';
case 2:
return '未完成';
case 3:
return '已完成';
default:
return '未知';
}
}
static Color statusColor(int status) {
switch (status) {
case 1:
return Color(0xFFFF8200);
case 2:
return Color(0xFFE60E0E);
case 3:
return Color(0xFF999999);
default:
return Colors.black;
}
}
}

@ -1,19 +1,13 @@
// Flutter imports:
import 'package:aku_community_manager/ui/manage_pages/green_manage/green_manage_view.dart';
import 'package:aku_community_manager/ui/widgets/inner/aku_tab_bar.dart';
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:provider/provider.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/provider/manage_provider.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/green_manage/green_manage_details_page.dart';
import 'package:aku_community_manager/ui/widgets/common/aku_scaffold.dart';
class GreenManagePage extends StatefulWidget {
@ -23,125 +17,29 @@ class GreenManagePage extends StatefulWidget {
_GreenManagePageState createState() => _GreenManagePageState();
}
class _GreenManagePageState extends State<GreenManagePage> {
class _GreenManagePageState extends State<GreenManagePage> with TickerProviderStateMixin {
List<String> _tabs=['待处理','未完成','已完成'];
TabController _tabController;
@override
void initState() {
super.initState();
_tabController=TabController(length: _tabs.length, vsync: this);
}
@override
void dispose() {
_tabController.dispose();
super.dispose();
}
@override
Widget build(BuildContext context) {
final greenManageProvider = Provider.of<GreenManageProvider>(context);
return AkuScaffold(
title: '绿化管理',
body: ListView.builder(
itemBuilder: (context, index) {
return _greenManageCard(greenManageProvider.greenManageModels[index]);
},
padding: EdgeInsets.only(left: 32.w, right: 32.w, bottom: 40.w),
itemCount: greenManageProvider.greenManageModels.length,
),
);
}
///绿
Widget _greenManageCard(GreenManageCardModel cardModel) {
return Column(
children: [
AkuBox.h(16),
//
AkuButton(
onPressed: () {
Get.to(GreenManageDetailsPage(cardModel));
},
child: Container(
height: 302.w,
width: 686.w,
padding: EdgeInsets.only(
left: 24.w,
right: 24.w,
bottom: 40.w,
),
color: Color(0xFFFFFFFF),
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Container(
height: 93.w,
alignment: Alignment.centerLeft,
child: Text(
cardModel.title,
style: TextStyle(
color: AppStyle.primaryTextColor,
fontSize: 32.w,
fontWeight: FontWeight.bold),
),
),
Divider(
height: 1.w,
),
AkuBox.h(24),
Row(
children: [
Image.asset(
R.ASSETS_MANAGE_IC_RENWU_PNG,
width: 40.w,
height: 40.w,
),
AkuBox.w(4),
Text('任务概要',
style: TextStyle(
color: AppStyle.primaryTextColor,
fontSize: 28.sp,
)),
Spacer(),
Text(
cardModel.task,
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(
color: AppStyle.primaryTextColor, fontSize: 28.sp)),
Spacer(),
Text(
'${cardModel.timestart}${cardModel.timeend}',
style: AppStyle().primaryStyle,
),
],
),
Spacer(),
Row(
children: [
Image.asset(
R.ASSETS_MESSAGE_IC_PEOPLE_PNG,
width: 40.w,
height: 40.w,
),
AkuBox.w(4),
Text('负责人员',
style: TextStyle(
color: AppStyle.primaryTextColor,
fontSize: 28.sp,
)),
Spacer(),
Text(
cardModel.name,
style: AppStyle().primaryStyle,
),
],
),
],
),
),
),
],
appBarBottom: PreferredSize(preferredSize: Size.fromHeight(88.w), child: AkuTabBar(controller: _tabController, tabs: _tabs)),
body: TabBarView(controller: _tabController, children: List.generate(_tabs.length, (index) => GreenManageView(
index:index,
),),),
);
}
}

@ -0,0 +1,19 @@
import 'package:aku_community_manager/ui/manage_pages/green_manage/green_manage_card.dart';
import 'package:flutter/material.dart';
class GreenManageView extends StatefulWidget {
final int index;
GreenManageView({Key key, this.index}) : super(key: key);
@override
_GreenManageViewState createState() => _GreenManageViewState();
}
class _GreenManageViewState extends State<GreenManageView> {
@override
Widget build(BuildContext context) {
return ListView(
children: [GreenManageCard(index: widget.index,)],
);
}
}
Loading…
Cancel
Save