Merge branch 'master' of http://192.168.2.201:8099/laiiihz/akuCommunity
commit
71aded26ef
@ -1,182 +0,0 @@
|
|||||||
import 'package:akuCommunity/utils/headers.dart';
|
|
||||||
import 'package:flutter/material.dart';
|
|
||||||
import 'package:flutter/cupertino.dart';
|
|
||||||
import 'package:pull_to_refresh/pull_to_refresh.dart';
|
|
||||||
import 'package:akuCommunity/widget/cached_image_wrapper.dart';
|
|
||||||
|
|
||||||
class StaffList extends StatefulWidget {
|
|
||||||
StaffList({Key key}) : super(key: key);
|
|
||||||
|
|
||||||
@override
|
|
||||||
_StaffListState createState() => _StaffListState();
|
|
||||||
}
|
|
||||||
|
|
||||||
class _StaffListState extends State<StaffList> {
|
|
||||||
List<Map<String, dynamic>> _staffList = [
|
|
||||||
{
|
|
||||||
'name': '刘鄂',
|
|
||||||
'imagePath':
|
|
||||||
'https://ss3.bdstatic.com/70cFv8Sh_Q1YnxGkpoWK1HF6hhy/it/u=1917253203,3586495528&fm=26&gp=0.jpg',
|
|
||||||
'address': '3幢2单元703室',
|
|
||||||
'tenure': '2016年12月19日-2020年10月3日',
|
|
||||||
'post': '会计师',
|
|
||||||
'tag': '主任'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
'name': '史红',
|
|
||||||
'imagePath':
|
|
||||||
'https://ss0.bdstatic.com/70cFuHSh_Q1YnxGkpoWK1HF6hhy/it/u=1051460286,4207974038&fm=26&gp=0.jpg',
|
|
||||||
'address': '10幢1单元1903室',
|
|
||||||
'tenure': '2017年4月21日-2020年10月3日',
|
|
||||||
'post': '宠物医生',
|
|
||||||
'tag': '副主任'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
'name': '陈吉明',
|
|
||||||
'imagePath':
|
|
||||||
'https://ss1.bdstatic.com/70cFuXSh_Q1YnxGkpoWK1HF6hhy/it/u=2962135405,1279141756&fm=26&gp=0.jpg',
|
|
||||||
'address': '19幢1单元203室',
|
|
||||||
'tenure': '2018年12月12日-2020年10月3日',
|
|
||||||
'post': '个体私营五金厂老板',
|
|
||||||
'tag': '委员'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
'name': '周立宇',
|
|
||||||
'imagePath':
|
|
||||||
'https://ss1.bdstatic.com/70cFvXSh_Q1YnxGkpoWK1HF6hhy/it/u=2503876943,2429234388&fm=26&gp=0.jpg',
|
|
||||||
'address': '19幢1单元203室',
|
|
||||||
'tenure': '2018年11月23日-2020年10月3日',
|
|
||||||
'post': '技术工程师',
|
|
||||||
'tag': '委员'
|
|
||||||
},
|
|
||||||
];
|
|
||||||
RefreshController _refreshController =
|
|
||||||
RefreshController(initialRefresh: false);
|
|
||||||
|
|
||||||
void _onRefresh() async {
|
|
||||||
await Future.delayed(Duration(milliseconds: 1500));
|
|
||||||
_refreshController.refreshCompleted();
|
|
||||||
}
|
|
||||||
|
|
||||||
void _onLoading() async {
|
|
||||||
if (mounted) setState(() {});
|
|
||||||
_refreshController.loadComplete();
|
|
||||||
}
|
|
||||||
|
|
||||||
TextStyle _subStyle() {
|
|
||||||
return TextStyle(
|
|
||||||
fontSize: 24.sp,
|
|
||||||
color: Color(0xff999999),
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
Positioned _positionedTag(String tag) {
|
|
||||||
return Positioned(
|
|
||||||
top: 0,
|
|
||||||
right: 20.w,
|
|
||||||
child: Container(
|
|
||||||
padding: EdgeInsets.symmetric(
|
|
||||||
horizontal: 21.5.w,
|
|
||||||
vertical: 5.5.w),
|
|
||||||
decoration: BoxDecoration(
|
|
||||||
color: Color(0xfffff3cd),
|
|
||||||
border: Border.all(color: Color(0xffffc40c), width: 0.5),
|
|
||||||
borderRadius: BorderRadius.all(Radius.circular(22))),
|
|
||||||
child: Text(
|
|
||||||
tag,
|
|
||||||
style: TextStyle(
|
|
||||||
fontSize: 24.sp,
|
|
||||||
color: Color(0xff333333),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
Container _containerStaffCard(String name, String imagePath, String address,
|
|
||||||
String tenure, String post, String tag) {
|
|
||||||
return Container(
|
|
||||||
margin: EdgeInsets.only(
|
|
||||||
left: 32.w,
|
|
||||||
right: 32.w,
|
|
||||||
top: 20.w,
|
|
||||||
),
|
|
||||||
padding: EdgeInsets.only(
|
|
||||||
left: 20.w,
|
|
||||||
top: 20.w,
|
|
||||||
bottom: 20.w,
|
|
||||||
),
|
|
||||||
decoration: BoxDecoration(
|
|
||||||
color: Color(0xffffffff),
|
|
||||||
borderRadius: BorderRadius.all(Radius.circular(8))),
|
|
||||||
child: Stack(
|
|
||||||
children: [
|
|
||||||
Row(
|
|
||||||
mainAxisAlignment: MainAxisAlignment.start,
|
|
||||||
children: [
|
|
||||||
CachedImageWrapper(
|
|
||||||
url: imagePath,
|
|
||||||
height: 150.w,
|
|
||||||
width: 150.w,
|
|
||||||
),
|
|
||||||
SizedBox(width: 24.w),
|
|
||||||
Column(
|
|
||||||
crossAxisAlignment: CrossAxisAlignment.start,
|
|
||||||
children: [
|
|
||||||
Text(
|
|
||||||
name,
|
|
||||||
style: TextStyle(
|
|
||||||
fontWeight: FontWeight.w600,
|
|
||||||
fontSize: 28.sp,
|
|
||||||
color: Color(0xff333333),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
SizedBox(width: 10.w),
|
|
||||||
Text(
|
|
||||||
'住址:$address',
|
|
||||||
style: _subStyle(),
|
|
||||||
),
|
|
||||||
SizedBox(width: 10.w),
|
|
||||||
Text(
|
|
||||||
'任职期限:$tenure',
|
|
||||||
style: _subStyle(),
|
|
||||||
),
|
|
||||||
SizedBox(width: 10.w),
|
|
||||||
Text(
|
|
||||||
'从事岗位:$post',
|
|
||||||
style: _subStyle(),
|
|
||||||
),
|
|
||||||
],
|
|
||||||
),
|
|
||||||
],
|
|
||||||
),
|
|
||||||
_positionedTag(tag),
|
|
||||||
],
|
|
||||||
),
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
@override
|
|
||||||
Widget build(BuildContext context) {
|
|
||||||
return SmartRefresher(
|
|
||||||
controller: _refreshController,
|
|
||||||
header: WaterDropHeader(),
|
|
||||||
footer: ClassicFooter(),
|
|
||||||
onRefresh: _onRefresh,
|
|
||||||
onLoading: _onLoading,
|
|
||||||
enablePullUp: false,
|
|
||||||
enablePullDown: false,
|
|
||||||
child: ListView.builder(
|
|
||||||
itemBuilder: (context, index) => _containerStaffCard(
|
|
||||||
_staffList[index]['name'],
|
|
||||||
_staffList[index]['imagePath'],
|
|
||||||
_staffList[index]['address'],
|
|
||||||
_staffList[index]['tenure'],
|
|
||||||
_staffList[index]['post'],
|
|
||||||
_staffList[index]['tag'],
|
|
||||||
),
|
|
||||||
itemCount: _staffList.length,
|
|
||||||
),
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
Loading…
Reference in new issue