对接 消息中心:根据报事报修主键id 同步查询报事报修消息信息(同步)

hmxc
张萌 4 years ago
parent 6cc39c5099
commit 1ee9719ee1

@ -224,5 +224,6 @@ class _Message {
///id ///id
String get getCommentByDispatchId => '/user/message/findCommentByDispatchId'; String get getCommentByDispatchId => '/user/message/findCommentByDispatchId';
///id
String get getSystemByDispatchId => '/user/message/findRepairByRepairId';
} }

@ -0,0 +1,24 @@
class SystemMessageDetailModel {
int id;
String name;
String tel;
int type;
SystemMessageDetailModel({this.id, this.name, this.tel, this.type});
SystemMessageDetailModel.fromJson(Map<String, dynamic> json) {
id = json['id'];
name = json['name'];
tel = json['tel'];
type = json['type'];
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = new Map<String, dynamic>();
data['id'] = this.id;
data['name'] = this.name;
data['tel'] = this.tel;
data['type'] = this.type;
return data;
}
}

@ -38,6 +38,7 @@ class _CommentMessageState extends State<CommentMessage> {
.toList(), .toList(),
builder: (items) { builder: (items) {
return ListView.separated( return ListView.separated(
padding: EdgeInsets.symmetric(horizontal: 32.w),
itemBuilder: (context, index) { itemBuilder: (context, index) {
return CommentMessageCard(itemModel: items[index]); return CommentMessageCard(itemModel: items[index]);
}, },

@ -201,7 +201,6 @@ class _CommentMessageCardState extends State<CommentMessageCard> {
: Column( : Column(
children: [ children: [
Container( Container(
margin: EdgeInsets.only(top: 24.w, bottom: 24.w),
alignment: Alignment.center, alignment: Alignment.center,
width: double.infinity, width: double.infinity,
child: Text( child: Text(
@ -211,11 +210,11 @@ class _CommentMessageCardState extends State<CommentMessageCard> {
), ),
), ),
Container( Container(
padding: EdgeInsets.only(top: 24.w, left: 24.w, right: 24.w),
color: Color(0xFFFFFFFF), color: Color(0xFFFFFFFF),
child: Column( child: Column(
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
children: [ children: [
24.w.heightBox,
Row(children: [ Row(children: [
Container( Container(
width: 16.w, width: 16.w,
@ -235,14 +234,14 @@ class _CommentMessageCardState extends State<CommentMessageCard> {
fontWeight: FontWeight.w600), fontWeight: FontWeight.w600),
), ),
SizedBox(height: 8.w), SizedBox(height: 8.w),
]), ]).pSymmetric(h: 24.w),
Text( Text(
'你有一条新的评论消息,请立即查看', '你有一条新的评论消息,请立即查看',
style: TextStyle( style: TextStyle(
color: AppStyle.primaryTextColor, color: AppStyle.primaryTextColor,
fontSize: 28.sp, fontSize: 28.sp,
fontWeight: FontWeight.bold), fontWeight: FontWeight.bold),
), ).pSymmetric(h: 24.w),
SizedBox(height: 24.w), SizedBox(height: 24.w),
Row( Row(
children: [ children: [
@ -267,7 +266,7 @@ class _CommentMessageCardState extends State<CommentMessageCard> {
fontSize: 28.sp), fontSize: 28.sp),
), ),
], ],
), ).pSymmetric(h: 24.w),
SizedBox(height: 16.w), SizedBox(height: 16.w),
Row( Row(
children: [ children: [
@ -289,9 +288,13 @@ class _CommentMessageCardState extends State<CommentMessageCard> {
color: AppStyle.primaryTextColor, color: AppStyle.primaryTextColor,
fontSize: 28.sp)), fontSize: 28.sp)),
], ],
), ).pSymmetric(h: 24.w),
SizedBox(height: 16.w), SizedBox(height: 16.w),
Divider(height: 1.w), Divider(
height: 1.w,
indent: 24.w,
endIndent: 24.w,
),
AkuButton( AkuButton(
onPressed: () {}, onPressed: () {},
child: Container( child: Container(
@ -308,6 +311,7 @@ class _CommentMessageCardState extends State<CommentMessageCard> {
), ),
Spacer(), Spacer(),
Icon(Icons.arrow_forward_ios, size: 22.w), Icon(Icons.arrow_forward_ios, size: 22.w),
24.w.widthBox,
], ],
), ),
), ),

@ -25,145 +25,6 @@ class SystemMessage extends StatefulWidget {
class _SystemMessageState extends State<SystemMessage> { class _SystemMessageState extends State<SystemMessage> {
EasyRefreshController _refreshController = EasyRefreshController(); EasyRefreshController _refreshController = EasyRefreshController();
Widget _messageList(String date, String name, String phone, String area) {
return Column(
children: [
Container(
margin: EdgeInsets.only(top: 24.w, bottom: 24.w),
alignment: Alignment.center,
width: double.infinity,
child: Text(
date,
style: TextStyle(color: AppStyle.minorTextColor, fontSize: 24.sp),
),
),
Container(
padding: EdgeInsets.only(top: 24.w, left: 24.w, right: 24.w),
color: Color(0xFFFFFFFF),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Row(children: [
Container(
width: 16.w,
height: 16.w,
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(8.w),
color: Color(0xFFFF4501)),
),
SizedBox(
width: 16.w,
),
Text(
'系统通知',
style: TextStyle(
color: AppStyle.primaryTextColor,
fontSize: 32.sp,
fontWeight: FontWeight.w600),
),
SizedBox(height: 8.w),
]),
Text(
'你有一条新的报事报修,请立即处理',
style: TextStyle(
color: AppStyle.primaryTextColor,
fontSize: 28.sp,
fontWeight: FontWeight.bold),
),
SizedBox(height: 24.w),
Row(
children: [
Image.asset(
R.ASSETS_MESSAGE_IC_PEOPLE_PNG,
width: 40.w,
height: 40.w,
),
SizedBox(
width: 4.w,
),
Text(
'保修人',
style: TextStyle(
color: AppStyle.minorTextColor, fontSize: 28.sp),
),
Spacer(),
Text(
name,
style: TextStyle(
color: AppStyle.primaryTextColor, fontSize: 28.sp),
),
],
),
SizedBox(height: 16.w),
Row(
children: [
Image.asset(
R.ASSETS_MESSAGE_IC_PHONE_PNG,
width: 40.w,
height: 40.w,
),
SizedBox(
width: 4.w,
),
Text('联系电话',
style: TextStyle(
color: AppStyle.minorTextColor, fontSize: 28.sp)),
Spacer(),
Text(phone,
style: TextStyle(
color: AppStyle.primaryTextColor, fontSize: 28.sp)),
],
),
SizedBox(height: 16.w),
Row(
children: [
Image.asset(
R.ASSETS_MESSAGE_IC_AREA_PNG,
width: 40.w,
height: 40.w,
),
SizedBox(
width: 4.w,
),
Text('报修区域',
style: TextStyle(
color: AppStyle.minorTextColor, fontSize: 28.sp)),
Spacer(),
Text(area,
style: TextStyle(
color: AppStyle.primaryTextColor, fontSize: 28.sp)),
],
),
SizedBox(height: 16.w),
Divider(
height: 1.w,
),
AkuButton(
onPressed: () {},
child: Container(
height: 88.w,
alignment: Alignment.center,
padding: EdgeInsets.only(left: 24.w),
child: Row(
children: [
Text(
'查看详情',
style: TextStyle(
color: AppStyle.primaryTextColor, fontSize: 28.sp),
),
Spacer(),
Icon(Icons.arrow_forward_ios, size: 22.w),
],
),
),
),
],
),
),
AkuBox.h(16),
],
);
}
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {

@ -0,0 +1,319 @@
import 'package:aku_community_manager/const/api.dart';
import 'package:aku_community_manager/models/message/system_message_detail_model.dart';
import 'package:aku_community_manager/style/app_style.dart';
import 'package:aku_community_manager/utils/network/base_model.dart';
import 'package:aku_community_manager/utils/network/net_util.dart';
import 'package:aku_ui/aku_ui.dart';
import 'package:flutter/material.dart';
import 'package:velocity_x/velocity_x.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:shimmer/shimmer.dart';
class SystemMessageCard extends StatefulWidget {
final int repairId;
SystemMessageCard({Key key, this.repairId}) : super(key: key);
@override
_SystemMessageCardState createState() => _SystemMessageCardState();
}
class _SystemMessageCardState extends State<SystemMessageCard> {
SystemMessageDetailModel _systemModel;
bool _onLoad = true;
@override
void initState() {
super.initState();
Future.delayed(Duration(milliseconds: 300), () async {
_systemModel = await getSystemMessage(widget.repairId);
_onLoad = false;
});
}
@override
Widget build(BuildContext context) {
return _messageList(_systemModel);
}
Future getSystemMessage(int repairId) async {
BaseModel baseModel =
await NetUtil().get(API.message.getSystemByDispatchId, params: {
"repairId": repairId,
});
return SystemMessageDetailModel.fromJson(baseModel.data);
}
Widget _loadingWidget() {
return Column(
children: [
Container(
margin: EdgeInsets.only(top: 24.w, bottom: 24.w),
alignment: Alignment.center,
width: double.infinity,
child: Shimmer.fromColors(
baseColor: kPrimaryColor.withOpacity(0.3),
highlightColor: kPrimaryColor.withOpacity(0.1),
child: Text(
'',
style: TextStyle(color: AppStyle.minorTextColor, fontSize: 24.sp),
),
),
),
Container(
padding: EdgeInsets.only(top: 24.w, left: 24.w, right: 24.w),
color: Color(0xFFFFFFFF),
child: Shimmer.fromColors(
baseColor: kPrimaryColor.withOpacity(0.3),
highlightColor: kPrimaryColor.withOpacity(0.1),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Row(children: [
Container(
width: 16.w,
height: 16.w,
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(8.w),
color: Color(0xFFFF4501)),
),
SizedBox(
width: 16.w,
),
Text(
'',
style: TextStyle(
color: AppStyle.primaryTextColor,
fontSize: 32.sp,
fontWeight: FontWeight.w600),
),
SizedBox(height: 8.w),
]),
Text(
'',
style: TextStyle(
color: AppStyle.primaryTextColor,
fontSize: 28.sp,
fontWeight: FontWeight.bold),
),
SizedBox(height: 24.w),
Row(
children: [
Image.asset(
R.ASSETS_MESSAGE_IC_PEOPLE_PNG,
width: 40.w,
height: 40.w,
),
SizedBox(
width: 4.w,
),
Text(
'',
style: TextStyle(
color: AppStyle.minorTextColor, fontSize: 28.sp),
),
Spacer(),
Text(
'',
style: TextStyle(
color: AppStyle.primaryTextColor, fontSize: 28.sp),
),
],
),
SizedBox(height: 16.w),
Row(
children: [
Image.asset(
R.ASSETS_MESSAGE_IC_STAR_PNG,
width: 40.w,
height: 40.w,
),
SizedBox(
width: 4.w,
),
Text('',
style: TextStyle(
color: AppStyle.minorTextColor, fontSize: 28.sp)),
Spacer(),
Text('',
style: TextStyle(
color: AppStyle.primaryTextColor, fontSize: 28.sp)),
],
),
SizedBox(height: 16.w),
Divider(height: 1.w),
AkuButton(
onPressed: () {},
child: Container(
height: 88.w,
alignment: Alignment.center,
padding: EdgeInsets.only(left: 24.w),
child: Row(
children: [
Text(
'',
style: TextStyle(
color: AppStyle.primaryTextColor,
fontSize: 28.sp),
),
Spacer(),
Icon(Icons.arrow_forward_ios, size: 22.w),
],
),
),
),
],
),
),
),
],
);
}
Widget _messageList(SystemMessageDetailModel model) {
return _onLoad
? _loadingWidget()
: Column(
children: [
Container(
margin: EdgeInsets.only(top: 24.w, bottom: 24.w),
alignment: Alignment.center,
width: double.infinity,
child: Text(
'date',
style: TextStyle(
color: AppStyle.minorTextColor, fontSize: 24.sp),
),
),
Container(
padding: EdgeInsets.only(top: 24.w, left: 24.w, right: 24.w),
color: Color(0xFFFFFFFF),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Row(children: [
Container(
width: 16.w,
height: 16.w,
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(8.w),
color: Color(0xFFFF4501)),
),
SizedBox(
width: 16.w,
),
Text(
'系统通知',
style: TextStyle(
color: AppStyle.primaryTextColor,
fontSize: 32.sp,
fontWeight: FontWeight.w600),
),
SizedBox(height: 8.w),
]),
Text(
'你有一条新的报事报修,请立即处理',
style: TextStyle(
color: AppStyle.primaryTextColor,
fontSize: 28.sp,
fontWeight: FontWeight.bold),
),
SizedBox(height: 24.w),
Row(
children: [
Image.asset(
R.ASSETS_MESSAGE_IC_PEOPLE_PNG,
width: 40.w,
height: 40.w,
),
SizedBox(
width: 4.w,
),
Text(
'保修人',
style: TextStyle(
color: AppStyle.minorTextColor, fontSize: 28.sp),
),
Spacer(),
Text(
model.name,
style: TextStyle(
color: AppStyle.primaryTextColor,
fontSize: 28.sp),
),
],
),
SizedBox(height: 16.w),
Row(
children: [
Image.asset(
R.ASSETS_MESSAGE_IC_PHONE_PNG,
width: 40.w,
height: 40.w,
),
SizedBox(
width: 4.w,
),
Text('联系电话',
style: TextStyle(
color: AppStyle.minorTextColor,
fontSize: 28.sp)),
Spacer(),
Text(model.tel,
style: TextStyle(
color: AppStyle.primaryTextColor,
fontSize: 28.sp)),
],
),
SizedBox(height: 16.w),
Row(
children: [
Image.asset(
R.ASSETS_MESSAGE_IC_AREA_PNG,
width: 40.w,
height: 40.w,
),
SizedBox(
width: 4.w,
),
Text('报修区域',
style: TextStyle(
color: AppStyle.minorTextColor,
fontSize: 28.sp)),
Spacer(),
Text('area',
style: TextStyle(
color: AppStyle.primaryTextColor,
fontSize: 28.sp)),
],
),
SizedBox(height: 16.w),
Divider(
height: 1.w,
),
AkuButton(
onPressed: () {},
child: Container(
height: 88.w,
alignment: Alignment.center,
padding: EdgeInsets.only(left: 24.w),
child: Row(
children: [
Text(
'查看详情',
style: TextStyle(
color: AppStyle.primaryTextColor,
fontSize: 28.sp),
),
Spacer(),
Icon(Icons.arrow_forward_ios, size: 22.w),
],
),
),
),
],
),
),
16.w.heightBox,
],
);
}
}
Loading…
Cancel
Save