|
@@ -11,11 +11,15 @@ import 'input.dart';
|
|
|
// ignore: must_be_immutable
|
|
|
class FilterView extends StatefulWidget {
|
|
|
final void Function(DateTime, DateTime) onConfirm;
|
|
|
+ final DateTime? startTime;
|
|
|
+ final DateTime? endTime;
|
|
|
|
|
|
- FilterView({
|
|
|
+ const FilterView({
|
|
|
required this.onConfirm,
|
|
|
+ this.startTime,
|
|
|
+ this.endTime,
|
|
|
super.key,
|
|
|
- }) {}
|
|
|
+ });
|
|
|
|
|
|
@override
|
|
|
State<StatefulWidget> createState() {
|
|
@@ -40,8 +44,9 @@ class FilterViewState extends State<FilterView> {
|
|
|
Widget build(BuildContext context) {
|
|
|
// 设置日期格式为 年-月-日 时:分
|
|
|
String startFormattedDate =
|
|
|
- DateFormat('yyyy-MM-dd HH:mm').format(_startTime);
|
|
|
- String endFormattedDate = DateFormat('yyyy-MM-dd HH:mm').format(_endTime);
|
|
|
+ DateFormat('yyyy-MM-dd HH:mm').format(widget.startTime ?? _startTime);
|
|
|
+ String endFormattedDate =
|
|
|
+ DateFormat('yyyy-MM-dd HH:mm').format(widget.endTime ?? _endTime);
|
|
|
_startController.text = startFormattedDate;
|
|
|
_endController.text = endFormattedDate;
|
|
|
return Alert(
|
|
@@ -156,7 +161,7 @@ class FilterViewState extends State<FilterView> {
|
|
|
void _onChangeStartTime() async {
|
|
|
DateTime now = DateTime.now();
|
|
|
DateTime? result;
|
|
|
- var initialValue = _startTime;
|
|
|
+ var initialValue = widget.startTime ?? _startTime;
|
|
|
if (kIsWeb) {
|
|
|
result = await showDatePicker(
|
|
|
context: Get.context!,
|
|
@@ -201,7 +206,7 @@ class FilterViewState extends State<FilterView> {
|
|
|
Future<void> _onChangeEndTime() async {
|
|
|
DateTime now = DateTime.now();
|
|
|
DateTime? result;
|
|
|
- var initialValue = _endTime;
|
|
|
+ var initialValue = widget.endTime ?? _endTime;
|
|
|
if (kIsWeb) {
|
|
|
result = await showDatePicker(
|
|
|
context: Get.context!,
|
|
@@ -214,7 +219,7 @@ class FilterViewState extends State<FilterView> {
|
|
|
}
|
|
|
var time = await showTimePicker(
|
|
|
context: Get.context!,
|
|
|
- initialTime: TimeOfDay(hour: 9, minute: 0),
|
|
|
+ initialTime: const TimeOfDay(hour: 9, minute: 0),
|
|
|
);
|
|
|
if (time != null) {
|
|
|
result = result.add(Duration(hours: time.hour, minutes: time.minute));
|