parent
2749f96e04
commit
bfe9f274c2
@ -1,7 +0,0 @@
|
|||||||
import 'package:flutter/material.dart';
|
|
||||||
|
|
||||||
import 'package:get/get.dart';
|
|
||||||
|
|
||||||
extension PageExt on Widget {
|
|
||||||
Function get to => () => Get.to(() => this);
|
|
||||||
}
|
|
@ -1,182 +0,0 @@
|
|||||||
import 'package:flutter/cupertino.dart';
|
|
||||||
import 'package:flutter/material.dart';
|
|
||||||
|
|
||||||
import 'package:velocity_x/velocity_x.dart';
|
|
||||||
|
|
||||||
import 'package:akuCommunity/pages/things_page/things_evaluate_page/things_evaluate_page.dart';
|
|
||||||
import 'package:akuCommunity/routers/page_routers.dart';
|
|
||||||
import 'package:akuCommunity/utils/headers.dart';
|
|
||||||
import 'package:akuCommunity/widget/bee_scaffold.dart';
|
|
||||||
import 'package:akuCommunity/widget/expandable_text.dart';
|
|
||||||
import 'package:akuCommunity/widget/views/horizontal_image_view.dart';
|
|
||||||
import 'widget/goods_info_card.dart';
|
|
||||||
|
|
||||||
class ThingsDetailPage extends StatefulWidget {
|
|
||||||
final Bundle bundle;
|
|
||||||
ThingsDetailPage({Key key, this.bundle}) : super(key: key);
|
|
||||||
|
|
||||||
@override
|
|
||||||
_ThingsDetailPageState createState() => _ThingsDetailPageState();
|
|
||||||
}
|
|
||||||
|
|
||||||
class _ThingsDetailPageState extends State<ThingsDetailPage> {
|
|
||||||
void againRouter() {
|
|
||||||
ThingsEvaluatePage(
|
|
||||||
bundle: Bundle()..putMap('details', {'title': '继续提问', 'isShow': false}),
|
|
||||||
).to;
|
|
||||||
}
|
|
||||||
|
|
||||||
Widget _containerCard(
|
|
||||||
String tag, String content, String time, List<String> imageList) {
|
|
||||||
return Container(
|
|
||||||
padding: EdgeInsets.only(
|
|
||||||
top: 46.w,
|
|
||||||
left: 33.w,
|
|
||||||
right: 44.w,
|
|
||||||
),
|
|
||||||
child: Column(
|
|
||||||
crossAxisAlignment: CrossAxisAlignment.start,
|
|
||||||
children: [
|
|
||||||
Text(
|
|
||||||
tag,
|
|
||||||
style: TextStyle(
|
|
||||||
fontSize: 38.sp,
|
|
||||||
color: Color(0xff333333),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
SizedBox(height: 30.w),
|
|
||||||
ExpandableText(
|
|
||||||
text: content,
|
|
||||||
maxLines: 2,
|
|
||||||
style: TextStyle(
|
|
||||||
fontSize: 28.sp,
|
|
||||||
color: Color(0xff666666),
|
|
||||||
),
|
|
||||||
expand: false,
|
|
||||||
),
|
|
||||||
SizedBox(height: 29.w),
|
|
||||||
imageList.length != 0 ? HorizontalImageView(imageList) : SizedBox(),
|
|
||||||
SizedBox(height: 24.w),
|
|
||||||
Text(
|
|
||||||
time,
|
|
||||||
style: TextStyle(
|
|
||||||
fontSize: 24.sp,
|
|
||||||
color: Color(0xff999999),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
],
|
|
||||||
),
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
Widget _positionedButton() {
|
|
||||||
return Positioned(
|
|
||||||
bottom: 0,
|
|
||||||
child: InkWell(
|
|
||||||
onTap: () {
|
|
||||||
switch (widget.bundle.getMap('things')['isRepair']) {
|
|
||||||
case true:
|
|
||||||
break;
|
|
||||||
case false:
|
|
||||||
againRouter();
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
}
|
|
||||||
},
|
|
||||||
child: Container(
|
|
||||||
alignment: Alignment.center,
|
|
||||||
height: 98.w,
|
|
||||||
width: 750.w,
|
|
||||||
padding: EdgeInsets.symmetric(vertical: 26.5.w),
|
|
||||||
color: Color(0xffffc40c),
|
|
||||||
child: Text(
|
|
||||||
widget.bundle.getMap('things')['isRepair'] ? '确认完成' : '继续提问',
|
|
||||||
style: TextStyle(
|
|
||||||
fontWeight: FontWeight.w600,
|
|
||||||
fontSize: 32.sp,
|
|
||||||
color: Color(0xff333333),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
@override
|
|
||||||
Widget build(BuildContext context) {
|
|
||||||
return BeeScaffold(
|
|
||||||
title: '查看详情',
|
|
||||||
actions: [
|
|
||||||
widget.bundle.getMap('things')['isRepair']
|
|
||||||
? SizedBox()
|
|
||||||
: InkWell(
|
|
||||||
onTap: () {},
|
|
||||||
child: Container(
|
|
||||||
padding: EdgeInsets.fromLTRB(32.w, 28.w, 32.w, 20.w),
|
|
||||||
child: '评价'.text.black.size(28.sp).make(),
|
|
||||||
alignment: Alignment.center,
|
|
||||||
),
|
|
||||||
)
|
|
||||||
],
|
|
||||||
body: Container(
|
|
||||||
color: Colors.white,
|
|
||||||
child: Stack(
|
|
||||||
children: [
|
|
||||||
widget.bundle.getMap('things')['isRepair']
|
|
||||||
? ListView(
|
|
||||||
padding: EdgeInsets.only(bottom: 108.w),
|
|
||||||
children: [
|
|
||||||
GoodsInfoCard(
|
|
||||||
status: widget.bundle.getMap('things')['time'],
|
|
||||||
listImage: widget.bundle.getMap('things')['imageList'],
|
|
||||||
infodetails: widget.bundle.getMap('things')['content'],
|
|
||||||
isShow: false,
|
|
||||||
),
|
|
||||||
GoodsInfoCard(
|
|
||||||
status: widget.bundle.getMap('things')['time'],
|
|
||||||
detoInfoList: [
|
|
||||||
{'title': '订单编号', 'content': 'LC20200630064682'},
|
|
||||||
{'title': '下单时间', 'content': '2020-06-30 22:54:30'},
|
|
||||||
{'title': '派单类型', 'content': '无偿服务'},
|
|
||||||
{'title': '维修人员', 'content': '王珂'},
|
|
||||||
{'title': '分配人', 'content': '马泽鹏'},
|
|
||||||
],
|
|
||||||
isShow: false,
|
|
||||||
),
|
|
||||||
GoodsInfoCard(
|
|
||||||
status: widget.bundle.getMap('things')['time'],
|
|
||||||
detoInfoList: [
|
|
||||||
{'title': '报修时间', 'content': '2020-06-30 10:23'},
|
|
||||||
{'title': '管家分派', 'content': '2020-06-30 13:54'},
|
|
||||||
{'title': '师傅接单', 'content': '2020-06-30 14:30'},
|
|
||||||
{'title': '回访', 'content': '2020-06-31 12:30'},
|
|
||||||
],
|
|
||||||
isShow: true,
|
|
||||||
),
|
|
||||||
],
|
|
||||||
)
|
|
||||||
: ListView(
|
|
||||||
padding: EdgeInsets.only(bottom: 108.w),
|
|
||||||
children: [
|
|
||||||
_containerCard(
|
|
||||||
'您的建议',
|
|
||||||
widget.bundle.getMap('things')['content'],
|
|
||||||
widget.bundle.getMap('things')['time'],
|
|
||||||
widget.bundle.getMap('things')['imageList'],
|
|
||||||
),
|
|
||||||
SizedBox(height: 3.w),
|
|
||||||
_containerCard(
|
|
||||||
'物业回复',
|
|
||||||
widget.bundle.getMap('things')['content'],
|
|
||||||
widget.bundle.getMap('things')['time'],
|
|
||||||
<String>[],
|
|
||||||
),
|
|
||||||
],
|
|
||||||
),
|
|
||||||
_positionedButton(),
|
|
||||||
],
|
|
||||||
),
|
|
||||||
),
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,157 +0,0 @@
|
|||||||
import 'package:flutter/cupertino.dart';
|
|
||||||
import 'package:flutter/material.dart';
|
|
||||||
|
|
||||||
import 'package:akuCommunity/utils/headers.dart';
|
|
||||||
import 'goods_info_card_button.dart';
|
|
||||||
import 'image_horizontal_list.dart';
|
|
||||||
|
|
||||||
class GoodsInfoCard extends StatelessWidget {
|
|
||||||
final List<String> listImage;
|
|
||||||
final String status, infodetails;
|
|
||||||
final List<Map<String, dynamic>> detoInfoList;
|
|
||||||
final bool isShow;
|
|
||||||
GoodsInfoCard(
|
|
||||||
{Key key,
|
|
||||||
this.listImage,
|
|
||||||
this.status,
|
|
||||||
this.detoInfoList,
|
|
||||||
this.isShow,
|
|
||||||
this.infodetails})
|
|
||||||
: super(key: key);
|
|
||||||
|
|
||||||
@override
|
|
||||||
Widget build(BuildContext context) {
|
|
||||||
return Container(
|
|
||||||
margin: EdgeInsets.only(
|
|
||||||
top: 32.w,
|
|
||||||
left: 32.w,
|
|
||||||
right: 32.w,
|
|
||||||
),
|
|
||||||
decoration: BoxDecoration(
|
|
||||||
color: Colors.white,
|
|
||||||
borderRadius: BorderRadius.all(Radius.circular(6)),
|
|
||||||
),
|
|
||||||
child: Column(
|
|
||||||
children: [
|
|
||||||
Container(
|
|
||||||
decoration: BoxDecoration(
|
|
||||||
color: Colors.white,
|
|
||||||
borderRadius: BorderRadius.only(
|
|
||||||
topLeft: Radius.circular(6),
|
|
||||||
topRight: Radius.circular(6),
|
|
||||||
),
|
|
||||||
boxShadow: <BoxShadow>[
|
|
||||||
BoxShadow(
|
|
||||||
color: Colors.grey.withOpacity(0.2),
|
|
||||||
offset: Offset(1.1, 1.1),
|
|
||||||
blurRadius: 10.0),
|
|
||||||
],
|
|
||||||
),
|
|
||||||
padding: EdgeInsets.only(top: 25.w, left: 24.w, right: 24.w),
|
|
||||||
child: Column(
|
|
||||||
crossAxisAlignment: CrossAxisAlignment.start,
|
|
||||||
children: [
|
|
||||||
Container(
|
|
||||||
padding: EdgeInsets.only(bottom: 24.w),
|
|
||||||
decoration: BoxDecoration(
|
|
||||||
border: Border(
|
|
||||||
bottom:
|
|
||||||
BorderSide(color: Color(0xffeeeeee), width: 0.5)),
|
|
||||||
),
|
|
||||||
child: Row(
|
|
||||||
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
|
||||||
children: [
|
|
||||||
Text(
|
|
||||||
'出户信息',
|
|
||||||
style: TextStyle(
|
|
||||||
fontWeight: FontWeight.w600,
|
|
||||||
fontSize: 32.sp,
|
|
||||||
color: Color(0xff333333)),
|
|
||||||
),
|
|
||||||
Text(status,
|
|
||||||
style: TextStyle(
|
|
||||||
fontWeight: FontWeight.w600,
|
|
||||||
fontSize: 28.sp,
|
|
||||||
color: Color(0xff333333))),
|
|
||||||
],
|
|
||||||
),
|
|
||||||
),
|
|
||||||
Container(
|
|
||||||
padding: EdgeInsets.only(
|
|
||||||
bottom: 33.w,
|
|
||||||
top: 16.w,
|
|
||||||
),
|
|
||||||
decoration: BoxDecoration(
|
|
||||||
border: Border(
|
|
||||||
bottom:
|
|
||||||
BorderSide(color: Color(0xffeeeeee), width: 0.5)),
|
|
||||||
),
|
|
||||||
child: infodetails != null
|
|
||||||
? Container(
|
|
||||||
width: 630.w,
|
|
||||||
child: Text(
|
|
||||||
infodetails,
|
|
||||||
style: TextStyle(
|
|
||||||
fontSize: 28.sp, color: Color(0xff333333)),
|
|
||||||
),
|
|
||||||
)
|
|
||||||
: Column(
|
|
||||||
crossAxisAlignment: CrossAxisAlignment.start,
|
|
||||||
children: detoInfoList
|
|
||||||
.map(
|
|
||||||
(item) => Container(
|
|
||||||
padding: EdgeInsets.only(top: 8.w),
|
|
||||||
child: Row(
|
|
||||||
mainAxisAlignment:
|
|
||||||
MainAxisAlignment.spaceBetween,
|
|
||||||
children: [
|
|
||||||
Text(
|
|
||||||
item['title'],
|
|
||||||
style: TextStyle(
|
|
||||||
fontSize: 28.sp,
|
|
||||||
color: Color(0xff999999)),
|
|
||||||
),
|
|
||||||
Text(
|
|
||||||
item['content'],
|
|
||||||
style: TextStyle(
|
|
||||||
fontSize: 28.sp,
|
|
||||||
color: Color(0xff333333)),
|
|
||||||
),
|
|
||||||
],
|
|
||||||
),
|
|
||||||
),
|
|
||||||
)
|
|
||||||
.toList(),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
listImage != null
|
|
||||||
? Container(
|
|
||||||
margin: EdgeInsets.only(
|
|
||||||
top: 19.w,
|
|
||||||
bottom: 30.w,
|
|
||||||
),
|
|
||||||
child: Column(
|
|
||||||
crossAxisAlignment: CrossAxisAlignment.start,
|
|
||||||
children: [
|
|
||||||
Container(
|
|
||||||
margin: EdgeInsets.only(bottom: 25.w),
|
|
||||||
child: Text(
|
|
||||||
'图片信息',
|
|
||||||
style: TextStyle(
|
|
||||||
fontSize: 28.sp, color: Color(0xff333333)),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
ImageHorizontalList(imageUrl: listImage),
|
|
||||||
],
|
|
||||||
),
|
|
||||||
)
|
|
||||||
: SizedBox(),
|
|
||||||
],
|
|
||||||
),
|
|
||||||
),
|
|
||||||
isShow ? GoodsInfoCardButton() : SizedBox()
|
|
||||||
],
|
|
||||||
),
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,140 +0,0 @@
|
|||||||
import 'package:flutter/cupertino.dart';
|
|
||||||
import 'package:flutter/material.dart';
|
|
||||||
|
|
||||||
import 'package:flutter_icons/flutter_icons.dart';
|
|
||||||
import 'package:get/get.dart';
|
|
||||||
import 'package:url_launcher/url_launcher.dart';
|
|
||||||
|
|
||||||
import 'package:akuCommunity/pages/goods_deto_page/deto_code_page/deto_code_page.dart';
|
|
||||||
import 'package:akuCommunity/utils/headers.dart';
|
|
||||||
|
|
||||||
class GoodsInfoCardButton extends StatelessWidget {
|
|
||||||
GoodsInfoCardButton({Key key}) : super(key: key);
|
|
||||||
|
|
||||||
final List<Map<String, dynamic>> _listButton = [
|
|
||||||
{'title': '查看二维码', 'icon': MaterialCommunityIcons.qrcode},
|
|
||||||
{'title': '搬家公司', 'icon': SimpleLineIcons.phone}
|
|
||||||
];
|
|
||||||
Future<void> _phoneCall(String url) async {
|
|
||||||
if (await canLaunch(url)) {
|
|
||||||
await launch(url);
|
|
||||||
} else {
|
|
||||||
throw 'Could not launch $url';
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void _showDialog(BuildContext context, String url) {
|
|
||||||
showCupertinoDialog(
|
|
||||||
context: context,
|
|
||||||
builder: (context) {
|
|
||||||
return CupertinoAlertDialog(
|
|
||||||
title: Text(
|
|
||||||
url,
|
|
||||||
style: TextStyle(
|
|
||||||
fontSize: 34.sp,
|
|
||||||
color: Color(0xff030303),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
actions: <Widget>[
|
|
||||||
CupertinoDialogAction(
|
|
||||||
child: Text(
|
|
||||||
'取消',
|
|
||||||
style: TextStyle(
|
|
||||||
fontSize: 34.sp,
|
|
||||||
color: Color(0xff333333),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
onPressed: () {
|
|
||||||
Get.back();
|
|
||||||
},
|
|
||||||
),
|
|
||||||
CupertinoDialogAction(
|
|
||||||
child: Text(
|
|
||||||
'呼叫',
|
|
||||||
style: TextStyle(
|
|
||||||
fontWeight: FontWeight.w600,
|
|
||||||
fontSize: 34.sp,
|
|
||||||
color: Color(0xffff8200),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
onPressed: () {
|
|
||||||
_phoneCall('tel:$url');
|
|
||||||
Get.back();
|
|
||||||
},
|
|
||||||
),
|
|
||||||
],
|
|
||||||
);
|
|
||||||
},
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
@override
|
|
||||||
Widget build(BuildContext context) {
|
|
||||||
return Container(
|
|
||||||
decoration: BoxDecoration(
|
|
||||||
color: Colors.white.withOpacity(0.6),
|
|
||||||
borderRadius: BorderRadius.only(
|
|
||||||
bottomLeft: Radius.circular(6),
|
|
||||||
bottomRight: Radius.circular(6),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
height: 96.w,
|
|
||||||
child: Row(
|
|
||||||
children: _listButton
|
|
||||||
.asMap()
|
|
||||||
.keys
|
|
||||||
.map((index) => Expanded(
|
|
||||||
child: InkWell(
|
|
||||||
onTap: () {
|
|
||||||
switch (_listButton[index]['title']) {
|
|
||||||
case '查看二维码':
|
|
||||||
DetoCodePage().to;
|
|
||||||
break;
|
|
||||||
case '搬家公司':
|
|
||||||
_showDialog(context, '0574-88467897');
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
}
|
|
||||||
},
|
|
||||||
child: Container(
|
|
||||||
alignment: Alignment.center,
|
|
||||||
padding: EdgeInsets.symmetric(
|
|
||||||
vertical: 26.5.w,
|
|
||||||
),
|
|
||||||
decoration: BoxDecoration(
|
|
||||||
border: Border(
|
|
||||||
right: BorderSide(
|
|
||||||
color: Color(0xffeeeeee),
|
|
||||||
width: index == _listButton.length - 1 ? 0 : 0.5),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
child: Row(
|
|
||||||
mainAxisAlignment: MainAxisAlignment.center,
|
|
||||||
crossAxisAlignment: CrossAxisAlignment.center,
|
|
||||||
children: [
|
|
||||||
Icon(
|
|
||||||
_listButton[index]['icon'],
|
|
||||||
size: 36.sp,
|
|
||||||
color: Color(0xff333333),
|
|
||||||
),
|
|
||||||
Container(
|
|
||||||
margin: EdgeInsets.only(left: 14.w),
|
|
||||||
child: Text(
|
|
||||||
_listButton[index]['title'],
|
|
||||||
style: TextStyle(
|
|
||||||
fontWeight: FontWeight.w600,
|
|
||||||
fontSize: 32.sp,
|
|
||||||
color: Color(0xff333333),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
],
|
|
||||||
),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
))
|
|
||||||
.toList(),
|
|
||||||
),
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,64 +0,0 @@
|
|||||||
import 'dart:math';
|
|
||||||
|
|
||||||
import 'package:flutter/cupertino.dart';
|
|
||||||
import 'package:flutter/material.dart';
|
|
||||||
|
|
||||||
import 'package:akuCommunity/utils/fade_route.dart';
|
|
||||||
import 'package:akuCommunity/utils/headers.dart';
|
|
||||||
import 'package:akuCommunity/widget/gallery_photo_view_wrapper.dart';
|
|
||||||
|
|
||||||
class ImageHorizontalList extends StatelessWidget {
|
|
||||||
final List<String> imageUrl;
|
|
||||||
ImageHorizontalList({Key key, this.imageUrl}) : super(key: key);
|
|
||||||
|
|
||||||
final Random _random = new Random();
|
|
||||||
int next(int min, int max) => min + _random.nextInt(max - min);
|
|
||||||
List imageModel() {
|
|
||||||
List imgList = List();
|
|
||||||
for (int x = 0; x < imageUrl.length; x++) {
|
|
||||||
GalleryExampleItem item = GalleryExampleItem();
|
|
||||||
item.id = '${next(x + 100, x + 1000)}';
|
|
||||||
item.resource = imageUrl[x];
|
|
||||||
imgList.add(item);
|
|
||||||
}
|
|
||||||
|
|
||||||
return imgList;
|
|
||||||
}
|
|
||||||
|
|
||||||
@override
|
|
||||||
Widget build(BuildContext context) {
|
|
||||||
return Container(
|
|
||||||
height: 184.w,
|
|
||||||
child: ListView.builder(
|
|
||||||
shrinkWrap: true,
|
|
||||||
scrollDirection: Axis.horizontal,
|
|
||||||
itemBuilder: (BuildContext context, int index) {
|
|
||||||
return AspectRatio(
|
|
||||||
aspectRatio: 1,
|
|
||||||
child: Container(
|
|
||||||
margin: EdgeInsets.only(right: 16.w),
|
|
||||||
child: ClipRRect(
|
|
||||||
borderRadius: BorderRadius.all(Radius.circular(4)),
|
|
||||||
child: GalleryExampleItemThumbnail(
|
|
||||||
galleryExampleItem: imageModel()[index],
|
|
||||||
onTap: () {
|
|
||||||
Navigator.of(context).push(new FadeRoute(
|
|
||||||
page: GalleryPhotoViewWrapper(
|
|
||||||
galleryItems: imageModel(),
|
|
||||||
backgroundDecoration: const BoxDecoration(
|
|
||||||
color: Colors.black,
|
|
||||||
),
|
|
||||||
initialIndex: index,
|
|
||||||
),
|
|
||||||
));
|
|
||||||
},
|
|
||||||
),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
);
|
|
||||||
},
|
|
||||||
itemCount: imageUrl.length,
|
|
||||||
),
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,112 +0,0 @@
|
|||||||
import 'package:flutter/cupertino.dart';
|
|
||||||
import 'package:flutter/material.dart';
|
|
||||||
|
|
||||||
import 'package:akuCommunity/pages/things_page/things_detail_page/things_detail_page.dart';
|
|
||||||
import 'package:akuCommunity/routers/page_routers.dart';
|
|
||||||
import 'package:akuCommunity/utils/headers.dart';
|
|
||||||
import 'package:akuCommunity/widget/expandable_text.dart';
|
|
||||||
import 'package:akuCommunity/widget/views/horizontal_image_view.dart';
|
|
||||||
|
|
||||||
class ThingsCard extends StatefulWidget {
|
|
||||||
final String time, tag, content;
|
|
||||||
final List<String> imageList;
|
|
||||||
final bool isRepair;
|
|
||||||
ThingsCard(
|
|
||||||
{this.time,
|
|
||||||
this.tag,
|
|
||||||
this.content,
|
|
||||||
this.imageList,
|
|
||||||
this.isRepair,
|
|
||||||
Key key})
|
|
||||||
: super(key: key);
|
|
||||||
|
|
||||||
@override
|
|
||||||
_ThingsCardState createState() => _ThingsCardState();
|
|
||||||
}
|
|
||||||
|
|
||||||
class _ThingsCardState extends State<ThingsCard> {
|
|
||||||
void detailRouter() {
|
|
||||||
ThingsDetailPage(
|
|
||||||
bundle: Bundle()
|
|
||||||
..putMap('things', {
|
|
||||||
'isRepair': widget.isRepair,
|
|
||||||
'content': widget.content,
|
|
||||||
'time': widget.time,
|
|
||||||
'imageList': widget.imageList,
|
|
||||||
}),
|
|
||||||
).to;
|
|
||||||
}
|
|
||||||
|
|
||||||
InkWell _inkWellPropose(
|
|
||||||
String time, String tag, String content, List<String> imageList) {
|
|
||||||
return InkWell(
|
|
||||||
onTap: detailRouter,
|
|
||||||
child: Container(
|
|
||||||
child: Column(
|
|
||||||
crossAxisAlignment: CrossAxisAlignment.start,
|
|
||||||
children: [
|
|
||||||
Row(
|
|
||||||
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
|
||||||
children: [
|
|
||||||
Text(
|
|
||||||
time,
|
|
||||||
style: TextStyle(
|
|
||||||
fontSize: 32.sp,
|
|
||||||
color: Color(0xff333333),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
Text(
|
|
||||||
tag,
|
|
||||||
style: TextStyle(
|
|
||||||
fontSize: 24.sp,
|
|
||||||
color: Color(0xffff8200),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
],
|
|
||||||
),
|
|
||||||
SizedBox(height: 24.w),
|
|
||||||
Divider(height: 0.5),
|
|
||||||
SizedBox(height: 24.w),
|
|
||||||
ExpandableText(
|
|
||||||
text: content,
|
|
||||||
maxLines: 2,
|
|
||||||
style: TextStyle(
|
|
||||||
fontSize: 28.sp,
|
|
||||||
color: Color(0xff333333),
|
|
||||||
),
|
|
||||||
expand: false,
|
|
||||||
),
|
|
||||||
SizedBox(height: 29.w),
|
|
||||||
imageList.length != 0 ? HorizontalImageView(imageList) : SizedBox()
|
|
||||||
],
|
|
||||||
),
|
|
||||||
),
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
@override
|
|
||||||
Widget build(BuildContext context) {
|
|
||||||
return Container(
|
|
||||||
decoration: BoxDecoration(
|
|
||||||
color: Color(0xffffffff),
|
|
||||||
borderRadius: BorderRadius.all(Radius.circular(8))),
|
|
||||||
margin: EdgeInsets.only(
|
|
||||||
left: 32.w,
|
|
||||||
right: 32.w,
|
|
||||||
top: 20.w,
|
|
||||||
),
|
|
||||||
padding: EdgeInsets.only(
|
|
||||||
left: 28.w,
|
|
||||||
right: 28.w,
|
|
||||||
top: 21.w,
|
|
||||||
bottom: 24.w,
|
|
||||||
),
|
|
||||||
child: _inkWellPropose(
|
|
||||||
widget.time,
|
|
||||||
widget.tag,
|
|
||||||
widget.content,
|
|
||||||
widget.imageList,
|
|
||||||
),
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,36 +0,0 @@
|
|||||||
import 'package:flutter/cupertino.dart';
|
|
||||||
import 'package:flutter/material.dart';
|
|
||||||
|
|
||||||
import 'package:akuCommunity/utils/headers.dart';
|
|
||||||
import 'things_card.dart';
|
|
||||||
|
|
||||||
class ThingsList extends StatefulWidget {
|
|
||||||
final List<Map<String, dynamic>> listCard;
|
|
||||||
final bool isRepair;
|
|
||||||
ThingsList({Key key, this.listCard, this.isRepair}) : super(key: key);
|
|
||||||
|
|
||||||
@override
|
|
||||||
_ThingsListState createState() => _ThingsListState();
|
|
||||||
}
|
|
||||||
|
|
||||||
class _ThingsListState extends State<ThingsList>
|
|
||||||
with AutomaticKeepAliveClientMixin {
|
|
||||||
@override
|
|
||||||
bool get wantKeepAlive => true;
|
|
||||||
|
|
||||||
@override
|
|
||||||
Widget build(BuildContext context) {
|
|
||||||
super.build(context);
|
|
||||||
return ListView.builder(
|
|
||||||
padding: EdgeInsets.only(bottom: 98.w),
|
|
||||||
itemBuilder: (context, index) => ThingsCard(
|
|
||||||
time: widget.listCard[index]['time'],
|
|
||||||
tag: widget.listCard[index]['tag'],
|
|
||||||
content: widget.listCard[index]['content'],
|
|
||||||
imageList: widget.listCard[index]['imageList'],
|
|
||||||
isRepair: widget.isRepair,
|
|
||||||
),
|
|
||||||
itemCount: widget.listCard.length,
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,75 +0,0 @@
|
|||||||
import 'package:akuCommunity/constants/app_values.dart';
|
|
||||||
import 'package:flutter/cupertino.dart';
|
|
||||||
import 'package:flutter/material.dart';
|
|
||||||
|
|
||||||
import 'package:provider/provider.dart';
|
|
||||||
import 'package:velocity_x/velocity_x.dart';
|
|
||||||
|
|
||||||
import 'package:akuCommunity/base/base_style.dart';
|
|
||||||
import 'package:akuCommunity/pages/life_pay/widget/my_house_page.dart';
|
|
||||||
import 'package:akuCommunity/provider/user_provider.dart';
|
|
||||||
import 'package:akuCommunity/utils/headers.dart';
|
|
||||||
import 'package:akuCommunity/widget/bee_divider.dart';
|
|
||||||
|
|
||||||
class BeeHeaderHouse extends StatefulWidget {
|
|
||||||
BeeHeaderHouse({Key key}) : super(key: key);
|
|
||||||
|
|
||||||
@override
|
|
||||||
_BeeHeaderHouseState createState() => _BeeHeaderHouseState();
|
|
||||||
}
|
|
||||||
|
|
||||||
class _BeeHeaderHouseState extends State<BeeHeaderHouse> {
|
|
||||||
@override
|
|
||||||
Widget build(BuildContext context) {
|
|
||||||
UserProvider userProvider = Provider.of<UserProvider>(context);
|
|
||||||
return Material(
|
|
||||||
color: Colors.transparent,
|
|
||||||
child: Padding(
|
|
||||||
padding: EdgeInsets.all(32.w),
|
|
||||||
child: Column(
|
|
||||||
crossAxisAlignment: CrossAxisAlignment.start,
|
|
||||||
children: [
|
|
||||||
'当前房屋'.text.black.size(28.sp).make(),
|
|
||||||
32.w.heightBox,
|
|
||||||
GestureDetector(
|
|
||||||
onTap: () {
|
|
||||||
MyHousePage(
|
|
||||||
needFindPayTag: true,
|
|
||||||
).to();
|
|
||||||
},
|
|
||||||
child: Row(
|
|
||||||
children: [
|
|
||||||
Image.asset(
|
|
||||||
R.ASSETS_ICONS_HOUSE_PNG,
|
|
||||||
width: 60.w,
|
|
||||||
height: 60.w,
|
|
||||||
),
|
|
||||||
40.w.widthBox,
|
|
||||||
Expanded(
|
|
||||||
child: Column(
|
|
||||||
crossAxisAlignment: CrossAxisAlignment.start,
|
|
||||||
children: [
|
|
||||||
AppValues.plotName.text.black.size(32.sp).bold.make(),
|
|
||||||
10.w.heightBox,
|
|
||||||
userProvider.currentHouse.text.black
|
|
||||||
.size(32.sp)
|
|
||||||
.bold
|
|
||||||
.make()
|
|
||||||
],
|
|
||||||
),
|
|
||||||
),
|
|
||||||
Icon(
|
|
||||||
CupertinoIcons.chevron_forward,
|
|
||||||
size: 40.w,
|
|
||||||
),
|
|
||||||
],
|
|
||||||
).material(color: Colors.transparent),
|
|
||||||
),
|
|
||||||
24.w.heightBox,
|
|
||||||
BeeDivider.horizontal()
|
|
||||||
],
|
|
||||||
),
|
|
||||||
),
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
Loading…
Reference in new issue