|
|
@ -15,6 +15,7 @@ import 'package:dio/dio.dart';
|
|
|
|
import 'package:firebase_crashlytics/firebase_crashlytics.dart';
|
|
|
|
import 'package:firebase_crashlytics/firebase_crashlytics.dart';
|
|
|
|
import 'package:flutter/material.dart';
|
|
|
|
import 'package:flutter/material.dart';
|
|
|
|
import 'package:flutter/services.dart';
|
|
|
|
import 'package:flutter/services.dart';
|
|
|
|
|
|
|
|
import 'package:flutter_easyrefresh/easy_refresh.dart';
|
|
|
|
import 'package:shimmer/shimmer.dart';
|
|
|
|
import 'package:shimmer/shimmer.dart';
|
|
|
|
import 'package:velocity_x/velocity_x.dart';
|
|
|
|
import 'package:velocity_x/velocity_x.dart';
|
|
|
|
|
|
|
|
|
|
|
@ -61,6 +62,7 @@ class _HomePageState extends State<HomePage> {
|
|
|
|
List _todoModelList;
|
|
|
|
List _todoModelList;
|
|
|
|
List _anounceMentList;
|
|
|
|
List _anounceMentList;
|
|
|
|
bool _onload = true;
|
|
|
|
bool _onload = true;
|
|
|
|
|
|
|
|
EasyRefreshController _refreshController;
|
|
|
|
|
|
|
|
|
|
|
|
///自定义bar的菜单按钮
|
|
|
|
///自定义bar的菜单按钮
|
|
|
|
Widget _menuButton(String assetPath, String text, Widget page) {
|
|
|
|
Widget _menuButton(String assetPath, String text, Widget page) {
|
|
|
@ -152,17 +154,7 @@ class _HomePageState extends State<HomePage> {
|
|
|
|
SystemChrome.setSystemUIOverlayStyle(SystemUiOverlayStyle(
|
|
|
|
SystemChrome.setSystemUIOverlayStyle(SystemUiOverlayStyle(
|
|
|
|
statusBarColor: Colors.transparent,
|
|
|
|
statusBarColor: Colors.transparent,
|
|
|
|
));
|
|
|
|
));
|
|
|
|
Future.delayed(Duration(milliseconds: 300), () async {
|
|
|
|
_refreshController = EasyRefreshController();
|
|
|
|
final userProvider = Provider.of<UserProvider>(context, listen: false);
|
|
|
|
|
|
|
|
if (userProvider.isLogin) {
|
|
|
|
|
|
|
|
_itemNumModel = await _getItemNum();
|
|
|
|
|
|
|
|
var dataList = await BussinessFunc.getBussinessModelList(1);
|
|
|
|
|
|
|
|
_todoModelList = dataList.map((e) => ToDoModel.fromJson(e)).toList();
|
|
|
|
|
|
|
|
_anounceMentList = await _getAnouncement();
|
|
|
|
|
|
|
|
_onload = false;
|
|
|
|
|
|
|
|
setState(() {});
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
int _currentIndicator = 0;
|
|
|
|
int _currentIndicator = 0;
|
|
|
@ -407,227 +399,248 @@ class _HomePageState extends State<HomePage> {
|
|
|
|
),
|
|
|
|
),
|
|
|
|
),
|
|
|
|
),
|
|
|
|
//需要重构
|
|
|
|
//需要重构
|
|
|
|
body: (!UserTool.userProvider.isLogin)
|
|
|
|
body: EasyRefresh(
|
|
|
|
? SizedBox()
|
|
|
|
firstRefresh: true,
|
|
|
|
: _onload
|
|
|
|
header: MaterialHeader(),
|
|
|
|
? loadingWidget
|
|
|
|
controller: _refreshController,
|
|
|
|
: ListView(
|
|
|
|
onRefresh: () async {
|
|
|
|
padding: EdgeInsets.all(32.w),
|
|
|
|
final userProvider =
|
|
|
|
children: [
|
|
|
|
Provider.of<UserProvider>(context, listen: false);
|
|
|
|
Container(
|
|
|
|
if (userProvider.isLogin) {
|
|
|
|
//公告标题行
|
|
|
|
_itemNumModel = await _getItemNum();
|
|
|
|
width: double.infinity,
|
|
|
|
var dataList = await BussinessFunc.getBussinessModelList(1);
|
|
|
|
height: 45.w,
|
|
|
|
_todoModelList =
|
|
|
|
child: Row(
|
|
|
|
dataList.map((e) => ToDoModel.fromJson(e)).toList();
|
|
|
|
mainAxisAlignment: MainAxisAlignment.center,
|
|
|
|
_anounceMentList = await _getAnouncement();
|
|
|
|
children: [
|
|
|
|
_onload = false;
|
|
|
|
Text(
|
|
|
|
setState(() {});
|
|
|
|
'今日公告',
|
|
|
|
}
|
|
|
|
style: TextStyle(
|
|
|
|
},
|
|
|
|
color: Color(0xFF4A4B51),
|
|
|
|
child: (!UserTool.userProvider.isLogin)
|
|
|
|
fontSize: 32.sp,
|
|
|
|
? SizedBox()
|
|
|
|
fontWeight: FontWeight.bold,
|
|
|
|
: _onload
|
|
|
|
|
|
|
|
? loadingWidget
|
|
|
|
|
|
|
|
: ListView(
|
|
|
|
|
|
|
|
padding: EdgeInsets.all(32.w),
|
|
|
|
|
|
|
|
children: [
|
|
|
|
|
|
|
|
Container(
|
|
|
|
|
|
|
|
//公告标题行
|
|
|
|
|
|
|
|
width: double.infinity,
|
|
|
|
|
|
|
|
height: 45.w,
|
|
|
|
|
|
|
|
child: Row(
|
|
|
|
|
|
|
|
mainAxisAlignment: MainAxisAlignment.center,
|
|
|
|
|
|
|
|
children: [
|
|
|
|
|
|
|
|
Text(
|
|
|
|
|
|
|
|
'今日公告',
|
|
|
|
|
|
|
|
style: TextStyle(
|
|
|
|
|
|
|
|
color: Color(0xFF4A4B51),
|
|
|
|
|
|
|
|
fontSize: 32.sp,
|
|
|
|
|
|
|
|
fontWeight: FontWeight.bold,
|
|
|
|
|
|
|
|
),
|
|
|
|
|
|
|
|
),
|
|
|
|
|
|
|
|
Spacer(),
|
|
|
|
|
|
|
|
AkuButton(
|
|
|
|
|
|
|
|
//全部公告按钮
|
|
|
|
|
|
|
|
onPressed: () {
|
|
|
|
|
|
|
|
Get.to(() => AllAnouncement());
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
child: Row(
|
|
|
|
|
|
|
|
children: [
|
|
|
|
|
|
|
|
Text(
|
|
|
|
|
|
|
|
'全部公告',
|
|
|
|
|
|
|
|
style: TextStyle(
|
|
|
|
|
|
|
|
color: AppStyle.minorTextColor,
|
|
|
|
|
|
|
|
fontSize: 24.sp,
|
|
|
|
|
|
|
|
fontWeight: FontWeight.bold,
|
|
|
|
|
|
|
|
),
|
|
|
|
|
|
|
|
),
|
|
|
|
|
|
|
|
Icon(
|
|
|
|
|
|
|
|
Icons.arrow_forward_ios,
|
|
|
|
|
|
|
|
size: 22.w,
|
|
|
|
|
|
|
|
color: AppStyle.minorTextColor,
|
|
|
|
|
|
|
|
)
|
|
|
|
|
|
|
|
],
|
|
|
|
|
|
|
|
),
|
|
|
|
|
|
|
|
),
|
|
|
|
|
|
|
|
],
|
|
|
|
|
|
|
|
),
|
|
|
|
|
|
|
|
),
|
|
|
|
|
|
|
|
SizedBox(height: 16.w),
|
|
|
|
|
|
|
|
//公告栏
|
|
|
|
|
|
|
|
Container(
|
|
|
|
|
|
|
|
color: Color(0xFFFFFFFF),
|
|
|
|
|
|
|
|
width: double.infinity,
|
|
|
|
|
|
|
|
height: 172.w,
|
|
|
|
|
|
|
|
child: Stack(children: [
|
|
|
|
|
|
|
|
CarouselSlider(
|
|
|
|
|
|
|
|
items: _anounceMentList
|
|
|
|
|
|
|
|
.map(
|
|
|
|
|
|
|
|
(e) => AllAnouncementState.anounceCard(e))
|
|
|
|
|
|
|
|
.toList(),
|
|
|
|
|
|
|
|
options: CarouselOptions(
|
|
|
|
|
|
|
|
viewportFraction: 1.0,
|
|
|
|
|
|
|
|
aspectRatio: 686 / 172,
|
|
|
|
|
|
|
|
autoPlay: true,
|
|
|
|
|
|
|
|
onPageChanged: (index, _) {
|
|
|
|
|
|
|
|
setState(() {
|
|
|
|
|
|
|
|
_currentIndicator = index;
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
},
|
|
|
|
),
|
|
|
|
),
|
|
|
|
),
|
|
|
|
),
|
|
|
|
Spacer(),
|
|
|
|
Positioned(
|
|
|
|
AkuButton(
|
|
|
|
top: 144.w,
|
|
|
|
//全部公告按钮
|
|
|
|
left: 0,
|
|
|
|
onPressed: () {
|
|
|
|
bottom: 16.w,
|
|
|
|
Get.to(() => AllAnouncement());
|
|
|
|
right: 0,
|
|
|
|
},
|
|
|
|
|
|
|
|
child: Row(
|
|
|
|
child: Row(
|
|
|
|
|
|
|
|
mainAxisSize: MainAxisSize.max,
|
|
|
|
|
|
|
|
mainAxisAlignment: MainAxisAlignment.center,
|
|
|
|
|
|
|
|
children: _anounceMentList.map((e) {
|
|
|
|
|
|
|
|
int index = _anounceMentList.indexOf(e);
|
|
|
|
|
|
|
|
return Container(
|
|
|
|
|
|
|
|
width: 12.w,
|
|
|
|
|
|
|
|
height: 12.w,
|
|
|
|
|
|
|
|
margin:
|
|
|
|
|
|
|
|
EdgeInsets.symmetric(horizontal: 12.w),
|
|
|
|
|
|
|
|
decoration: BoxDecoration(
|
|
|
|
|
|
|
|
shape: BoxShape.circle,
|
|
|
|
|
|
|
|
color: _currentIndicator == index
|
|
|
|
|
|
|
|
? Color(0xFFFFC40C)
|
|
|
|
|
|
|
|
: Color(0xFFE8E8E8),
|
|
|
|
|
|
|
|
),
|
|
|
|
|
|
|
|
);
|
|
|
|
|
|
|
|
}).toList(),
|
|
|
|
|
|
|
|
),
|
|
|
|
|
|
|
|
),
|
|
|
|
|
|
|
|
]),
|
|
|
|
|
|
|
|
),
|
|
|
|
|
|
|
|
SizedBox(height: 16.w),
|
|
|
|
|
|
|
|
//待办事项标题行
|
|
|
|
|
|
|
|
!userProvider.isLogin
|
|
|
|
|
|
|
|
? SizedBox()
|
|
|
|
|
|
|
|
: Row(
|
|
|
|
children: [
|
|
|
|
children: [
|
|
|
|
Text(
|
|
|
|
Text(
|
|
|
|
'全部公告',
|
|
|
|
'待办事项',
|
|
|
|
style: TextStyle(
|
|
|
|
style: TextStyle(
|
|
|
|
color: AppStyle.minorTextColor,
|
|
|
|
color: Color(0xFF4A4B51),
|
|
|
|
fontSize: 24.sp,
|
|
|
|
fontSize: 32.sp,
|
|
|
|
fontWeight: FontWeight.bold,
|
|
|
|
fontWeight: FontWeight.bold,
|
|
|
|
),
|
|
|
|
),
|
|
|
|
),
|
|
|
|
),
|
|
|
|
Icon(
|
|
|
|
Spacer(),
|
|
|
|
Icons.arrow_forward_ios,
|
|
|
|
AkuButton(
|
|
|
|
size: 22.w,
|
|
|
|
padding:
|
|
|
|
color: AppStyle.minorTextColor,
|
|
|
|
EdgeInsets.symmetric(vertical: 16.w),
|
|
|
|
)
|
|
|
|
onPressed: () {
|
|
|
|
|
|
|
|
Get.to(BusinessPage(initIndex: 3));
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
child: Row(
|
|
|
|
|
|
|
|
children: [
|
|
|
|
|
|
|
|
Text(
|
|
|
|
|
|
|
|
'全部事项',
|
|
|
|
|
|
|
|
style: TextStyle(
|
|
|
|
|
|
|
|
color: AppStyle.minorTextColor,
|
|
|
|
|
|
|
|
fontSize: 24.sp,
|
|
|
|
|
|
|
|
fontWeight: FontWeight.bold),
|
|
|
|
|
|
|
|
),
|
|
|
|
|
|
|
|
Icon(
|
|
|
|
|
|
|
|
Icons.arrow_forward_ios,
|
|
|
|
|
|
|
|
size: 22.w,
|
|
|
|
|
|
|
|
color: AppStyle.minorTextColor,
|
|
|
|
|
|
|
|
),
|
|
|
|
|
|
|
|
],
|
|
|
|
|
|
|
|
),
|
|
|
|
|
|
|
|
),
|
|
|
|
],
|
|
|
|
],
|
|
|
|
),
|
|
|
|
),
|
|
|
|
),
|
|
|
|
SizedBox(height: 16.w),
|
|
|
|
],
|
|
|
|
//待办事项栏
|
|
|
|
),
|
|
|
|
!userProvider.isLogin
|
|
|
|
),
|
|
|
|
? SizedBox()
|
|
|
|
SizedBox(height: 16.w),
|
|
|
|
: Container(
|
|
|
|
//公告栏
|
|
|
|
height: 480.w,
|
|
|
|
Container(
|
|
|
|
child: ListView.separated(
|
|
|
|
color: Color(0xFFFFFFFF),
|
|
|
|
separatorBuilder: (context, index) {
|
|
|
|
width: double.infinity,
|
|
|
|
return AkuBox.w(16);
|
|
|
|
height: 172.w,
|
|
|
|
|
|
|
|
child: Stack(children: [
|
|
|
|
|
|
|
|
CarouselSlider(
|
|
|
|
|
|
|
|
items: _anounceMentList
|
|
|
|
|
|
|
|
.map((e) => AllAnouncementState.anounceCard(e))
|
|
|
|
|
|
|
|
.toList(),
|
|
|
|
|
|
|
|
options: CarouselOptions(
|
|
|
|
|
|
|
|
viewportFraction: 1.0,
|
|
|
|
|
|
|
|
aspectRatio: 686 / 172,
|
|
|
|
|
|
|
|
autoPlay: true,
|
|
|
|
|
|
|
|
onPageChanged: (index, _) {
|
|
|
|
|
|
|
|
setState(() {
|
|
|
|
|
|
|
|
_currentIndicator = index;
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
),
|
|
|
|
|
|
|
|
),
|
|
|
|
|
|
|
|
Positioned(
|
|
|
|
|
|
|
|
top: 144.w,
|
|
|
|
|
|
|
|
left: 0,
|
|
|
|
|
|
|
|
bottom: 16.w,
|
|
|
|
|
|
|
|
right: 0,
|
|
|
|
|
|
|
|
child: Row(
|
|
|
|
|
|
|
|
mainAxisSize: MainAxisSize.max,
|
|
|
|
|
|
|
|
mainAxisAlignment: MainAxisAlignment.center,
|
|
|
|
|
|
|
|
children: _anounceMentList.map((e) {
|
|
|
|
|
|
|
|
int index = _anounceMentList.indexOf(e);
|
|
|
|
|
|
|
|
return Container(
|
|
|
|
|
|
|
|
width: 12.w,
|
|
|
|
|
|
|
|
height: 12.w,
|
|
|
|
|
|
|
|
margin:
|
|
|
|
|
|
|
|
EdgeInsets.symmetric(horizontal: 12.w),
|
|
|
|
|
|
|
|
decoration: BoxDecoration(
|
|
|
|
|
|
|
|
shape: BoxShape.circle,
|
|
|
|
|
|
|
|
color: _currentIndicator == index
|
|
|
|
|
|
|
|
? Color(0xFFFFC40C)
|
|
|
|
|
|
|
|
: Color(0xFFE8E8E8),
|
|
|
|
|
|
|
|
),
|
|
|
|
|
|
|
|
);
|
|
|
|
|
|
|
|
}).toList(),
|
|
|
|
|
|
|
|
),
|
|
|
|
|
|
|
|
),
|
|
|
|
|
|
|
|
]),
|
|
|
|
|
|
|
|
),
|
|
|
|
|
|
|
|
SizedBox(height: 16.w),
|
|
|
|
|
|
|
|
//待办事项标题行
|
|
|
|
|
|
|
|
!userProvider.isLogin
|
|
|
|
|
|
|
|
? SizedBox()
|
|
|
|
|
|
|
|
: Row(
|
|
|
|
|
|
|
|
children: [
|
|
|
|
|
|
|
|
Text(
|
|
|
|
|
|
|
|
'待办事项',
|
|
|
|
|
|
|
|
style: TextStyle(
|
|
|
|
|
|
|
|
color: Color(0xFF4A4B51),
|
|
|
|
|
|
|
|
fontSize: 32.sp,
|
|
|
|
|
|
|
|
fontWeight: FontWeight.bold,
|
|
|
|
|
|
|
|
),
|
|
|
|
|
|
|
|
),
|
|
|
|
|
|
|
|
Spacer(),
|
|
|
|
|
|
|
|
AkuButton(
|
|
|
|
|
|
|
|
padding: EdgeInsets.symmetric(vertical: 16.w),
|
|
|
|
|
|
|
|
onPressed: () {
|
|
|
|
|
|
|
|
Get.to(BusinessPage(initIndex: 3));
|
|
|
|
|
|
|
|
},
|
|
|
|
},
|
|
|
|
child: Row(
|
|
|
|
scrollDirection: Axis.horizontal,
|
|
|
|
children: [
|
|
|
|
itemBuilder: (context, index) {
|
|
|
|
Text(
|
|
|
|
return Container(
|
|
|
|
'全部事项',
|
|
|
|
width: 526.w,
|
|
|
|
style: TextStyle(
|
|
|
|
child: Builder(
|
|
|
|
color: AppStyle.minorTextColor,
|
|
|
|
builder: (context) {
|
|
|
|
fontSize: 24.sp,
|
|
|
|
if (_todoModelList[index]
|
|
|
|
fontWeight: FontWeight.bold),
|
|
|
|
.dynamicModel
|
|
|
|
),
|
|
|
|
.runtimeType ==
|
|
|
|
Icon(
|
|
|
|
BussinessAndFixModel) {
|
|
|
|
Icons.arrow_forward_ios,
|
|
|
|
return BusinessFixCard(
|
|
|
|
size: 22.w,
|
|
|
|
model: _todoModelList[index]
|
|
|
|
color: AppStyle.minorTextColor,
|
|
|
|
.dynamicModel);
|
|
|
|
|
|
|
|
} else if (_todoModelList[index]
|
|
|
|
|
|
|
|
.dynamicModel
|
|
|
|
|
|
|
|
.runtimeType ==
|
|
|
|
|
|
|
|
ToDoOutDoorModel) {
|
|
|
|
|
|
|
|
return ToDoOutDoorCard(
|
|
|
|
|
|
|
|
model: _todoModelList[index]
|
|
|
|
|
|
|
|
.dynamicModel,
|
|
|
|
|
|
|
|
);
|
|
|
|
|
|
|
|
} else
|
|
|
|
|
|
|
|
return SizedBox();
|
|
|
|
|
|
|
|
},
|
|
|
|
),
|
|
|
|
),
|
|
|
|
],
|
|
|
|
);
|
|
|
|
),
|
|
|
|
},
|
|
|
|
|
|
|
|
itemCount: _todoModelList.length,
|
|
|
|
),
|
|
|
|
),
|
|
|
|
],
|
|
|
|
|
|
|
|
),
|
|
|
|
|
|
|
|
SizedBox(height: 16.w),
|
|
|
|
|
|
|
|
//待办事项栏
|
|
|
|
|
|
|
|
!userProvider.isLogin
|
|
|
|
|
|
|
|
? SizedBox()
|
|
|
|
|
|
|
|
: Container(
|
|
|
|
|
|
|
|
height: 480.w,
|
|
|
|
|
|
|
|
child: ListView.separated(
|
|
|
|
|
|
|
|
separatorBuilder: (context, index) {
|
|
|
|
|
|
|
|
return AkuBox.w(16);
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
scrollDirection: Axis.horizontal,
|
|
|
|
|
|
|
|
itemBuilder: (context, index) {
|
|
|
|
|
|
|
|
return Container(
|
|
|
|
|
|
|
|
width: 526.w,
|
|
|
|
|
|
|
|
child: Builder(
|
|
|
|
|
|
|
|
builder: (context) {
|
|
|
|
|
|
|
|
if (_todoModelList[index]
|
|
|
|
|
|
|
|
.dynamicModel
|
|
|
|
|
|
|
|
.runtimeType ==
|
|
|
|
|
|
|
|
BussinessAndFixModel) {
|
|
|
|
|
|
|
|
return BusinessFixCard(
|
|
|
|
|
|
|
|
model: _todoModelList[index]
|
|
|
|
|
|
|
|
.dynamicModel);
|
|
|
|
|
|
|
|
} else if (_todoModelList[index]
|
|
|
|
|
|
|
|
.dynamicModel
|
|
|
|
|
|
|
|
.runtimeType ==
|
|
|
|
|
|
|
|
ToDoOutDoorModel) {
|
|
|
|
|
|
|
|
return ToDoOutDoorCard(
|
|
|
|
|
|
|
|
model: _todoModelList[index]
|
|
|
|
|
|
|
|
.dynamicModel,
|
|
|
|
|
|
|
|
);
|
|
|
|
|
|
|
|
} else
|
|
|
|
|
|
|
|
return SizedBox();
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
),
|
|
|
|
|
|
|
|
);
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
itemCount: _todoModelList.length,
|
|
|
|
|
|
|
|
),
|
|
|
|
),
|
|
|
|
),
|
|
|
|
SizedBox(height: 24.w),
|
|
|
|
SizedBox(height: 24.w),
|
|
|
|
//底部信息栏
|
|
|
|
//底部信息栏
|
|
|
|
!userProvider.isLogin
|
|
|
|
!userProvider.isLogin
|
|
|
|
? SizedBox()
|
|
|
|
? SizedBox()
|
|
|
|
: Container(
|
|
|
|
: Container(
|
|
|
|
width: double.infinity,
|
|
|
|
width: double.infinity,
|
|
|
|
decoration: BoxDecoration(
|
|
|
|
decoration: BoxDecoration(
|
|
|
|
borderRadius: BorderRadius.circular(8.w),
|
|
|
|
borderRadius: BorderRadius.circular(8.w),
|
|
|
|
color: Colors.white,
|
|
|
|
color: Colors.white,
|
|
|
|
),
|
|
|
|
),
|
|
|
|
child: Column(
|
|
|
|
child: Column(
|
|
|
|
children: [
|
|
|
|
children: [
|
|
|
|
Row(
|
|
|
|
Row(
|
|
|
|
children: [
|
|
|
|
children: [
|
|
|
|
_card(_itemNumModel.unProcessedNum ?? 0,
|
|
|
|
_card(_itemNumModel.unProcessedNum ?? 0,
|
|
|
|
'未处理事项', Color(0xFFFF4E0D), 0),
|
|
|
|
'未处理事项', Color(0xFFFF4E0D), 0),
|
|
|
|
GridientDiveder()
|
|
|
|
|
|
|
|
.verticalDivider(166.5.w),
|
|
|
|
|
|
|
|
_card(_itemNumModel.processingNum ?? 0,
|
|
|
|
|
|
|
|
'处理中事项', Color(0xFFFFC40C), 1),
|
|
|
|
|
|
|
|
],
|
|
|
|
|
|
|
|
),
|
|
|
|
|
|
|
|
Row(children: [
|
|
|
|
GridientDiveder()
|
|
|
|
GridientDiveder()
|
|
|
|
.verticalDivider(166.5.w),
|
|
|
|
.horizontalDivider(343.w),
|
|
|
|
_card(_itemNumModel.processingNum ?? 0,
|
|
|
|
|
|
|
|
'处理中事项', Color(0xFFFFC40C), 1),
|
|
|
|
|
|
|
|
],
|
|
|
|
|
|
|
|
),
|
|
|
|
|
|
|
|
Row(children: [
|
|
|
|
|
|
|
|
GridientDiveder().horizontalDivider(343.w),
|
|
|
|
|
|
|
|
GridientDiveder(isReverse: true)
|
|
|
|
|
|
|
|
.horizontalDivider(343.w)
|
|
|
|
|
|
|
|
]),
|
|
|
|
|
|
|
|
Row(
|
|
|
|
|
|
|
|
children: [
|
|
|
|
|
|
|
|
_card(_itemNumModel.processedNum ?? 0,
|
|
|
|
|
|
|
|
'已处理事项', Color(0xFF3F8FFE), 2),
|
|
|
|
|
|
|
|
GridientDiveder(isReverse: true)
|
|
|
|
GridientDiveder(isReverse: true)
|
|
|
|
.verticalDivider(
|
|
|
|
.horizontalDivider(343.w)
|
|
|
|
166.5.w,
|
|
|
|
]),
|
|
|
|
),
|
|
|
|
Row(
|
|
|
|
_card(_itemNumModel.allNum ?? 0, '全部事项',
|
|
|
|
children: [
|
|
|
|
Color(0xFF333333), 3),
|
|
|
|
_card(_itemNumModel.processedNum ?? 0,
|
|
|
|
],
|
|
|
|
'已处理事项', Color(0xFF3F8FFE), 2),
|
|
|
|
),
|
|
|
|
GridientDiveder(isReverse: true)
|
|
|
|
],
|
|
|
|
.verticalDivider(
|
|
|
|
|
|
|
|
166.5.w,
|
|
|
|
|
|
|
|
),
|
|
|
|
|
|
|
|
_card(_itemNumModel.allNum ?? 0, '全部事项',
|
|
|
|
|
|
|
|
Color(0xFF333333), 3),
|
|
|
|
|
|
|
|
],
|
|
|
|
|
|
|
|
),
|
|
|
|
|
|
|
|
],
|
|
|
|
|
|
|
|
),
|
|
|
|
),
|
|
|
|
),
|
|
|
|
),
|
|
|
|
],
|
|
|
|
],
|
|
|
|
),
|
|
|
|
),
|
|
|
|
),
|
|
|
|
),
|
|
|
|
),
|
|
|
|
value: SystemUiOverlayStyle.dark,
|
|
|
|
value: SystemUiOverlayStyle.dark,
|
|
|
|
);
|
|
|
|
);
|
|
|
|