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,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,
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
Loading…
Reference in new issue