添加我的房屋页面添加时间选择

hmxc
小赖 4 years ago
parent 2176cd7505
commit 0ea1f6cee5

@ -1,6 +1,5 @@
import 'package:akuCommunity/ui/profile/house/house_item.dart'; import 'package:akuCommunity/ui/profile/house/house_item.dart';
import 'package:akuCommunity/ui/profile/house/pick_building_page.dart'; import 'package:akuCommunity/ui/profile/house/pick_building_page.dart';
import 'package:akuCommunity/ui/profile/house/pick_plot_page.dart';
import 'package:akuCommunity/ui/profile/house/pick_role_page.dart'; import 'package:akuCommunity/ui/profile/house/pick_role_page.dart';
import 'package:akuCommunity/widget/bee_scaffold.dart'; import 'package:akuCommunity/widget/bee_scaffold.dart';
import 'package:flustars/flustars.dart'; import 'package:flustars/flustars.dart';
@ -23,6 +22,8 @@ class _AddHousePageState extends State<AddHousePage> {
GlobalKey<FormState> _formKey = GlobalKey<FormState>(); GlobalKey<FormState> _formKey = GlobalKey<FormState>();
HouseItem _item; HouseItem _item;
int _roleType; int _roleType;
DateTimeRange _range;
TextStyle get _hintStyle => TextStyle( TextStyle get _hintStyle => TextStyle(
fontSize: 36.sp, fontSize: 36.sp,
fontWeight: FontWeight.bold, fontWeight: FontWeight.bold,
@ -30,9 +31,16 @@ class _AddHousePageState extends State<AddHousePage> {
); );
TextStyle get _textStyle => _hintStyle.copyWith(color: Color(0xFF333333)); TextStyle get _textStyle => _hintStyle.copyWith(color: Color(0xFF333333));
//
bool get _rentCheck => _roleType != 3 ? true : _range != null;
///
bool get _buttonCanTap => bool get _buttonCanTap =>
_nameController.text.isNotEmpty && _idController.text.isNotEmpty; _nameController.text.isNotEmpty &&
_idController.text.isNotEmpty &&
_item != null &&
_roleType != null &&
_rentCheck;
_renderTile({ _renderTile({
String title, String title,
Widget item, Widget item,
@ -101,6 +109,41 @@ class _AddHousePageState extends State<AddHousePage> {
); );
} }
_renderDatePicker() {
String start = DateUtil.formatDate(_range?.start, format: 'yyyy-MM-dd');
String end = DateUtil.formatDate(_range?.end, format: 'yyyy-MM-dd');
bool emptyDate = _range == null;
String startValue = emptyDate ? '请选择开始时间' : start;
String endValue = emptyDate ? '请选择结束时间' : end;
return MaterialButton(
padding: EdgeInsets.symmetric(horizontal: 32.w, vertical: 30.w),
onPressed: () async {
DateTimeRange range = await showDateRangePicker(
context: context,
builder: (context, child) {
return Theme(
data: ThemeData(primarySwatch: Colors.yellow),
child: child,
);
},
firstDate: DateTime.now().subtract(Duration(days: 30)),
lastDate: DateTime.now().add(Duration(days: 365 * 10)),
);
if (range != null) _range = range;
setState(() {});
},
child: Row(
children: [
Text(startValue, style: emptyDate ? _hintStyle : _textStyle),
Expanded(
child: Icon(Icons.arrow_forward, color: Color(0xFF999999)),
),
Text(endValue, style: emptyDate ? _hintStyle : _textStyle),
],
),
);
}
@override @override
void dispose() { void dispose() {
_nameController?.dispose(); _nameController?.dispose();
@ -177,6 +220,12 @@ class _AddHousePageState extends State<AddHousePage> {
}, },
), ),
), ),
if (_roleType == 3)
_renderTile(
title: '租期',
item: _renderDatePicker(),
),
SizedBox(),
].sepWidget( ].sepWidget(
separate: Divider( separate: Divider(
indent: 32.w, indent: 32.w,

Loading…
Cancel
Save