You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

162 lines
4.7 KiB

// Flutter imports:
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
// Project imports:
import 'package:akuCommunity/base/base_style.dart';
import 'package:akuCommunity/utils/headers.dart';
import 'package:akuCommunity/widget/bottom_button.dart';
import 'package:akuCommunity/widget/common_input.dart';
import 'common_select.dart';
import 'house_info.dart';
import 'pay_model_sheet.dart';
class OwnerManage extends StatefulWidget {
OwnerManage({Key key}) : super(key: key);
@override
_OwnerManageState createState() => _OwnerManageState();
}
class _OwnerManageState extends State<OwnerManage>
with AutomaticKeepAliveClientMixin {
@override
bool get wantKeepAlive => true;
TextEditingController _companyName = new TextEditingController();
TextEditingController _contactsName = new TextEditingController();
TextEditingController _contactsPhone = new TextEditingController();
List<Map<String, dynamic>> _listHouse = [
{'title': '宁波华茂悦峰', 'subtitle': '1幢-1单元-702室'},
];
List<Map<String, dynamic>> _listWidget = [];
@override
void initState() {
super.initState();
_listWidget = [
{
'title': '装修公司',
'widget':
CommonInput(inputController: _companyName, hintText: '请输入公司名称')
},
{
'title': '房屋紧急联系人',
'widget':
CommonInput(inputController: _contactsName, hintText: '请输入联系人姓名')
},
{
'title': '联系方式',
'widget':
CommonInput(inputController: _contactsPhone, hintText: '请输入联系方式')
},
{'title': '预计开始时间', 'widget': CommonSelect(title: '时间')},
{'title': '预计结束时间', 'widget': CommonSelect(title: '时间')},
];
}
void _showModelBotoomSheet() {
showModalBottomSheet(
// isScrollControlled: true,
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.only(
topLeft: Radius.circular(10),
topRight: Radius.circular(10),
),
),
context: context,
backgroundColor: Colors.white,
builder: (context) {
return PayModelSheet();
},
);
}
List<Widget> _listView() {
return _listWidget
.asMap()
.keys
.map((index) => Container(
padding: EdgeInsets.only(
top: 23.w,
bottom: 24.w,
),
margin: EdgeInsets.only(bottom: (index == 2 ? 117 : 0).w),
decoration: BoxDecoration(
border: Border(
bottom:
BorderSide(color: BaseStyle.coloreeeeee, width: 0.5)),
),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(
_listWidget[index]['title'],
style: TextStyle(
fontSize: BaseStyle.fontSize28,
color: ktextPrimary),
),
SizedBox(height: 25.w),
_listWidget[index]['widget'],
],
),
))
.toList();
}
@override
Widget build(BuildContext context) {
super.build(context);
return Container(
color: Colors.white,
child: Stack(
children: [
SingleChildScrollView(
child: Container(
child: GestureDetector(
behavior: HitTestBehavior.opaque,
onTap: () {
FocusScope.of(context).requestFocus(FocusNode());
},
child: Container(
margin: EdgeInsets.only(
top: 32.w,
left: 32.w,
right: 32.w,
),
child: Column(
crossAxisAlignment: CrossAxisAlignment.center,
children: [
Column(
children: _listHouse
.map((item) => HouseInfo(
title: item['title'],
subtitle: item['subtitle'],
))
.toList(),
),
Column(
children: _listView(),
),
SizedBox(height: 89.w),
],
),
),
),
),
),
Positioned(
bottom: 0,
child: BottomButton(
title: '申请付款',
fun: _showModelBotoomSheet,
),
)
],
),
);
}
}