对接 查询所有待办事项

hmxc
张萌 4 years ago
parent 84da67f033
commit 160e1405f9

@ -0,0 +1,38 @@
import 'package:aku_community_manager/models/manager/bussiness_and_fix/bussiness_and_fix_model.dart';
import 'package:aku_community_manager/models/todo_bussiness/todo_outdoor_model.dart';
class ToDoModel {
dynamic dynamicModel;
int type;
ToDoModel({this.dynamicModel, this.type});
ToDoModel.fromJson(Map<String, dynamic> json) {
type = json['type'];
switch (type) {
case 1:
dynamicModel = json['dataList'] != null
? new BussinessAndFixModel.fromJson(json['dataList'])
: null;
break;
case 2:
dynamicModel = json['dataList'] != null
? new ToDoOutDoorModel.fromJson(json['dataList'])
: null;
break;
default:
dynamicModel = json['dataList'] != null
? []
: null;
}
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = new Map<String, dynamic>();
if (this.dynamicModel != null) {
data['dataList'] = this.dynamicModel.toJson();
}
data['type'] = this.type;
return data;
}
}

@ -0,0 +1,85 @@
import 'package:flutter/material.dart';
class ToDoOutDoorModel {
int id;
int status;
String roomName;
String applicantName;
int identity;
String articleOutName;
String expectedTime;
String applicantDate;
ToDoOutDoorModel(
{this.id,
this.status,
this.roomName,
this.applicantName,
this.identity,
this.articleOutName,
this.expectedTime,
this.applicantDate});
ToDoOutDoorModel.fromJson(Map<String, dynamic> json) {
id = json['id'];
status = json['status'];
roomName = json['roomName'];
applicantName = json['applicantName'];
identity = json['identity'];
articleOutName = json['articleOutName'];
expectedTime = json['expectedTime'];
applicantDate = json['applicantDate'];
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = new Map<String, dynamic>();
data['id'] = this.id;
data['status'] = this.status;
data['roomName'] = this.roomName;
data['applicantName'] = this.applicantName;
data['identity'] = this.identity;
data['articleOutName'] = this.articleOutName;
data['expectedTime'] = this.expectedTime;
data['applicantDate'] = this.applicantDate;
return data;
}
///status (1.2.3.)
String get statusValue {
switch (status) {
case 1:
return '待出门';
case 2:
return '已出门';
case 3:
return '驳回申请';
default:
return ' 未知';
}
}
Color get statusColor {
switch (status) {
case 2:
return Color(0xFF999999);
default:
return Color(0xFFFF4501);
}
}
///identity 123
String get identityValue {
switch (identity) {
case 1:
return '业主';
case 2:
return '亲属';
case 3:
return '租客';
default:
return '未知';
}
}
}

@ -1,6 +1,7 @@
// Flutter imports: // Flutter imports:
import 'package:aku_community_manager/models/manager/bussiness_and_fix/bussiness_and_fix_model.dart'; import 'package:aku_community_manager/models/manager/bussiness_and_fix/bussiness_and_fix_model.dart';
import 'package:aku_community_manager/models/manager/decoration/decoration_list_model.dart'; import 'package:aku_community_manager/models/manager/decoration/decoration_list_model.dart';
import 'package:aku_community_manager/ui/home/business/business_view.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
// Project imports: // Project imports:
@ -66,18 +67,19 @@ class _BusinessPageState extends State<BusinessPage>
} }
Widget _buildTabPage(List list) { Widget _buildTabPage(List list) {
return ListView.builder( // return ListView.builder(
padding: EdgeInsets.symmetric(horizontal: 32.w), // padding: EdgeInsets.symmetric(horizontal: 32.w),
itemBuilder: (context, index) { // itemBuilder: (context, index) {
final item = list[index]; // final item = list[index];
if (item is DecorationListModel) { // if (item is DecorationListModel) {
return DecorationManagerCard(model: item); // return DecorationManagerCard(model: item);
} else if (item is BussinessAndFixModel) { // } else if (item is BussinessAndFixModel) {
return BusinessFixCard(model: item); // return BusinessFixCard(model: item);
} else // } else
return SizedBox(); // return SizedBox();
}, // },
itemCount: list.length, // itemCount: list.length,
); // );
return BussinessView();
} }
} }

@ -0,0 +1,49 @@
import 'package:aku_community_manager/const/api.dart';
import 'package:aku_community_manager/models/manager/bussiness_and_fix/bussiness_and_fix_model.dart';
import 'package:aku_community_manager/models/todo_bussiness/todo_model.dart';
import 'package:aku_community_manager/models/todo_bussiness/todo_outdoor_model.dart';
import 'package:aku_community_manager/ui/home/business/bussiness_func.dart';
import 'package:aku_community_manager/ui/home/business/todo_outdoor_card.dart';
import 'package:aku_community_manager/ui/sub_pages/business_and_fix/business_fix_card.dart';
import 'package:aku_community_manager/utils/network/net_util.dart';
import 'package:dio/dio.dart';
import 'package:flutter/material.dart';
import 'package:flutter_easyrefresh/easy_refresh.dart';
import 'package:velocity_x/velocity_x.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
class BussinessView extends StatefulWidget {
final int backlogStatus;
BussinessView({Key key, this.backlogStatus}) : super(key: key);
@override
_BussinessViewState createState() => _BussinessViewState();
}
class _BussinessViewState extends State<BussinessView> {
List _modelList;
@override
Widget build(BuildContext context) {
return EasyRefresh(
firstRefresh: true,
header: MaterialHeader(),
onRefresh: () async {
List dataList =
await BussinessFunc.getBussinessModelList(widget.backlogStatus);
_modelList = dataList.map((e) => ToDoModel.fromJson(e)).toList();
},
child: ListView(
children: [
..._modelList.map((e) {
if (e.runtimeType == BussinessAndFixModel) {
BusinessFixCard(model: e);
} else if (e.runtimeType == ToDoOutDoorModel) {
ToDoOutDoorCard(
model: e,
);
}
}).toList()
],
));
}
}

@ -0,0 +1,13 @@
import 'package:aku_community_manager/const/api.dart';
import 'package:aku_community_manager/utils/network/net_util.dart';
import 'package:dio/dio.dart';
class BussinessFunc {
static Future getBussinessModelList(int backlogStatus) async {
Response response =
await NetUtil().dio.get(API.manage.backlogList, queryParameters: {
"backlogStatus": backlogStatus,
});
return response.data as List;
}
}

@ -0,0 +1,218 @@
import 'package:aku_community_manager/models/todo_bussiness/todo_outdoor_model.dart';
import 'package:aku_community_manager/style/app_style.dart';
import 'package:aku_community_manager/ui/sub_pages/items_outdoor/items_outdoor_details_page.dart';
import 'package:aku_ui/aku_ui.dart';
import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:get/get.dart';
import 'package:velocity_x/velocity_x.dart';
class ToDoOutDoorCard extends StatefulWidget {
final ToDoOutDoorModel model;
ToDoOutDoorCard({Key key, this.model}) : super(key: key);
@override
_ToDoOutDoorCardState createState() => _ToDoOutDoorCardState();
}
class _ToDoOutDoorCardState extends State<ToDoOutDoorCard> {
@override
Widget build(BuildContext context) {
TextStyle _textStyle =
TextStyle(color: AppStyle.minorTextColor, fontSize: 28.sp);
return Container(
color: Color(0xFFFFFFFF),
margin: EdgeInsets.only(top: 16.w),
padding: EdgeInsets.only(left: 24.w, right: 24.w),
child: Column(
children: [
Container(
alignment: Alignment.centerLeft,
height: 88.w,
width: double.infinity,
child: Row(
children: [
Container(
alignment: Alignment.center,
width: 112.w,
height: 40.w,
decoration: BoxDecoration(
border: Border.all(color: Color(0xFF3F8FFE), width: 2.w),
),
child: Text(
'物品出户',
style: TextStyle(
color: Color(0xFF3F8FFE),
fontSize: 20.sp,
fontWeight: FontWeight.bold),
),
),
16.w.widthBox,
//TODO
// Text(
// widget.model.create,
// style: TextStyle(
// color: AppStyle.minorTextColor,
// fontSize: 22.sp,
// ),
// ),
Spacer(),
Text(
widget.model.statusValue,
style: TextStyle(
color: widget.model.statusColor,
fontSize: 24.sp,
fontWeight: FontWeight.bold,
),
),
],
),
),
Row(
children: [
Image.asset(
R.ASSETS_OUTDOOR_IC_HOME_PNG,
width: 40.w,
height: 40.w,
),
4.w.widthBox,
Text(
'小区名称',
style: _textStyle,
),
Spacer(),
Text(
'五象新区人才公寓',
style: AppStyle().primaryStyle,
),
],
),
12.w.heightBox,
Row(
children: [
Image.asset(
R.ASSETS_OUTDOOR_IC_ADDRESS_PNG,
width: 40.w,
height: 40.w,
),
4.w.widthBox,
Text('详细地址', style: _textStyle),
Spacer(),
Text(
widget.model.roomName,
style: AppStyle().primaryStyle,
),
],
),
12.w.heightBox,
Row(
children: [
Image.asset(
R.ASSETS_OUTDOOR_IC_GOOUT_PNG,
width: 40.w,
height: 40.w,
),
4.w.widthBox,
Text(
'出户人',
style: _textStyle,
),
Spacer(),
Text(
widget.model.applicantName,
style: AppStyle().primaryStyle,
),
],
),
12.w.heightBox,
Row(
children: [
Image.asset(
R.ASSETS_OUTDOOR_IC_PEOPLE_PNG,
width: 40.w,
height: 40.w,
),
4.w.widthBox,
Text(
'身份',
style: _textStyle,
),
Spacer(),
Text(
widget.model.identityValue,
style: AppStyle().primaryStyle,
),
],
),
12.w.heightBox,
Row(
children: [
Image.asset(
R.ASSETS_OUTDOOR_IC_CHUHU_PNG,
width: 40.w,
height: 40.w,
),
Text(
'出户物品',
style: _textStyle,
),
Spacer(),
Text(
widget.model.articleOutName,
style: AppStyle().primaryStyle,
),
],
),
12.w.heightBox,
Row(
children: [
Image.asset(
R.ASSETS_OUTDOOR_IC_TIME_PNG,
width: 40.w,
height: 40.w,
),
4.w.widthBox,
Text(
'出户时间',
style: _textStyle,
),
Spacer(),
Text(
widget.model.expectedTime,
style: AppStyle().primaryStyle,
),
],
),
24.w.heightBox,
Divider(
height: 1.w,
),
Container(
height: 112.w,
alignment: Alignment.centerRight,
child: AkuButton(
onPressed: () {
Get.to(ItemsOutdoorDetailsPage(id: widget.model.id));
},
child: Container(
alignment: Alignment.center,
width: 160.w,
height: 64.w,
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(8.w),
gradient: LinearGradient(
begin: Alignment.topLeft,
end: Alignment.bottomRight,
colors: [AppStyle.primaryColor, AppStyle.minorColor])),
child: Text(
'查看详情',
style: AppStyle().primaryStyle,
),
),
),
),
],
),
);
}
}

@ -1,7 +1,9 @@
// Flutter imports: // Flutter imports:
import 'package:aku_community_manager/const/api.dart'; import 'package:aku_community_manager/const/api.dart';
import 'package:aku_community_manager/models/manager/borrow/borrow_item_model.dart'; import 'package:aku_community_manager/models/manager/borrow/borrow_item_model.dart';
import 'package:aku_community_manager/ui/sub_pages/borrow_manager/add_borrow_object_page.dart';
import 'package:aku_community_manager/ui/widgets/common/bee_list_view.dart'; import 'package:aku_community_manager/ui/widgets/common/bee_list_view.dart';
import 'package:aku_ui/common_widgets/aku_material_button.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
// Package imports: // Package imports:
@ -28,22 +30,19 @@ class _AllBorrowGoodsState extends State<AllBorrowGoods> {
Widget build(BuildContext context) { Widget build(BuildContext context) {
return AkuScaffold( return AkuScaffold(
title: '全部物品', title: '全部物品',
actions: [ actions: [ AkuMaterialButton(
// userProvider.userInfoModel.role == USER_ROLE.MANAGER minWidth: 120.w,
// ? AkuMaterialButton( onPressed: () {
// minWidth: 120.w, Get.to(()=>AddBorrowObjectPage());
// onPressed: () { },
// Get.to(()=>AddBorrowObjectPage()); child: Text(
// }, '新增',
// child: Text( style: TextStyle(
// '新增', fontSize: 28.w,
// style: TextStyle( color: AppStyle.primaryTextColor,
// fontSize: 28.w, ),
// color: AppStyle.primaryTextColor, ),
// ), )
// ),
// )
// : SizedBox(),
], ],
body: BeeListView( body: BeeListView(
path: API.manage.borrowList, path: API.manage.borrowList,

Loading…
Cancel
Save