feat:增加hive数据库
This commit is contained in:
@@ -12,29 +12,23 @@ Widget buildFormItem({
|
||||
children: [
|
||||
SizedBox(
|
||||
width: 80,
|
||||
child: Padding(
|
||||
padding: const EdgeInsets.only(top: 8),
|
||||
child: Row(
|
||||
mainAxisSize: MainAxisSize.min,
|
||||
children: [
|
||||
if (required)
|
||||
Padding(
|
||||
padding: EdgeInsets.only(right: 4),
|
||||
child: Text(
|
||||
'*',
|
||||
style: TextStyle(color: Colors.red, fontSize: 16),
|
||||
),
|
||||
),
|
||||
Text(
|
||||
label,
|
||||
style: const TextStyle(
|
||||
fontSize: 14,
|
||||
fontWeight: FontWeight.w500,
|
||||
child: Row(
|
||||
mainAxisSize: MainAxisSize.min,
|
||||
children: [
|
||||
if (required)
|
||||
Padding(
|
||||
padding: EdgeInsets.only(right: 4),
|
||||
child: Text(
|
||||
'*',
|
||||
style: TextStyle(color: Colors.red, fontSize: 16),
|
||||
),
|
||||
),
|
||||
const Text(':', style: TextStyle(fontSize: 14)),
|
||||
],
|
||||
),
|
||||
Text(
|
||||
label,
|
||||
style: const TextStyle(fontSize: 14, fontWeight: FontWeight.w500),
|
||||
),
|
||||
const Text(':', style: TextStyle(fontSize: 14)),
|
||||
],
|
||||
),
|
||||
),
|
||||
const SizedBox(width: 12),
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import 'package:fluent_ui/fluent_ui.dart';
|
||||
import 'package:omni_datetime_picker/omni_datetime_picker.dart';
|
||||
import 'package:task_hub/models/Schedule.dart';
|
||||
import 'package:task_hub/models/schedule.dart';
|
||||
import 'package:task_hub/widgets/common.dart';
|
||||
|
||||
class ScheduleDialog extends StatefulWidget {
|
||||
@@ -17,7 +17,7 @@ class _ScheduleDialogState extends State<ScheduleDialog> {
|
||||
late TextEditingController _titleController;
|
||||
DateTime? _selectedStartTime;
|
||||
DateTime? _selectedEndTime;
|
||||
DateTime? _selectedScheduleDate;
|
||||
DateTime? _selectedScheduleTime;
|
||||
final _formKey = GlobalKey<FormState>();
|
||||
|
||||
@override
|
||||
@@ -28,7 +28,7 @@ class _ScheduleDialogState extends State<ScheduleDialog> {
|
||||
);
|
||||
_selectedStartTime = widget.schedule?.startTime;
|
||||
_selectedEndTime = widget.schedule?.endTime;
|
||||
_selectedScheduleDate = widget.schedule?.scheduleDate;
|
||||
_selectedScheduleTime = widget.schedule?.scheduleTime;
|
||||
}
|
||||
|
||||
@override
|
||||
@@ -83,7 +83,7 @@ class _ScheduleDialogState extends State<ScheduleDialog> {
|
||||
title: _titleController.text,
|
||||
startTime: _selectedStartTime!,
|
||||
endTime: _selectedEndTime!,
|
||||
scheduleDate: _selectedScheduleDate,
|
||||
scheduleTime: _selectedScheduleTime,
|
||||
);
|
||||
widget.onSave(schedule);
|
||||
Navigator.pop(context);
|
||||
@@ -169,12 +169,12 @@ class _ScheduleDialogState extends State<ScheduleDialog> {
|
||||
label: '提醒日期',
|
||||
child: buildOmniDateButton(
|
||||
context: context,
|
||||
selectedDate: _selectedScheduleDate,
|
||||
selectedDate: _selectedScheduleTime,
|
||||
placeholder: '请选择提醒日期',
|
||||
type: OmniDateTimePickerType.dateAndTime,
|
||||
onChanged: (date) {
|
||||
setState(() {
|
||||
_selectedScheduleDate = date;
|
||||
_selectedScheduleTime = date;
|
||||
});
|
||||
},
|
||||
),
|
||||
|
||||
@@ -18,7 +18,7 @@ class _TaskDialogState extends State<TaskDialog> {
|
||||
late TextEditingController _descController;
|
||||
late Priority _selectedPriority;
|
||||
DateTime? _selectedDueDate;
|
||||
DateTime? _selectedScheduleDate;
|
||||
DateTime? _selectedScheduleTime;
|
||||
final _formKey = GlobalKey<FormState>();
|
||||
|
||||
@override
|
||||
@@ -28,7 +28,7 @@ class _TaskDialogState extends State<TaskDialog> {
|
||||
_descController = TextEditingController(text: widget.task?.desc ?? '');
|
||||
_selectedPriority = widget.task?.priority ?? Priority.medium;
|
||||
_selectedDueDate = widget.task?.dueDate;
|
||||
_selectedScheduleDate = widget.task?.scheduleDate;
|
||||
_selectedScheduleTime = widget.task?.scheduleTime;
|
||||
}
|
||||
|
||||
@override
|
||||
@@ -45,7 +45,7 @@ class _TaskDialogState extends State<TaskDialog> {
|
||||
title: _titleController.text,
|
||||
desc: _descController.text.isEmpty ? null : _descController.text,
|
||||
dueDate: _selectedDueDate,
|
||||
scheduleDate: _selectedScheduleDate,
|
||||
scheduleTime: _selectedScheduleTime,
|
||||
priority: _selectedPriority,
|
||||
isCompleted: widget.task?.isCompleted ?? false,
|
||||
);
|
||||
@@ -159,12 +159,12 @@ class _TaskDialogState extends State<TaskDialog> {
|
||||
label: '提醒日期',
|
||||
child: buildOmniDateButton(
|
||||
context: context,
|
||||
selectedDate: _selectedScheduleDate,
|
||||
selectedDate: _selectedScheduleTime,
|
||||
placeholder: '请选择提醒日期',
|
||||
type: OmniDateTimePickerType.dateAndTime,
|
||||
onChanged: (date) {
|
||||
setState(() {
|
||||
_selectedScheduleDate = date;
|
||||
_selectedScheduleTime = date;
|
||||
});
|
||||
},
|
||||
),
|
||||
|
||||
@@ -42,7 +42,7 @@ class TaskItem extends StatelessWidget {
|
||||
const SizedBox(height: 4),
|
||||
if (task.desc != null && task.desc!.isNotEmpty) _buildDesc(),
|
||||
const SizedBox(height: 4),
|
||||
if (task.dueDate != null || task.scheduleDate != null)
|
||||
if (task.dueDate != null || task.scheduleTime != null)
|
||||
_buildDate(),
|
||||
],
|
||||
),
|
||||
@@ -97,11 +97,11 @@ class TaskItem extends StatelessWidget {
|
||||
),
|
||||
const SizedBox(width: 4),
|
||||
],
|
||||
if (task.scheduleDate != null) ...[
|
||||
if (task.scheduleTime != null) ...[
|
||||
Icon(FluentIcons.clock, size: 12, color: Colors.grey),
|
||||
const SizedBox(width: 4),
|
||||
Text(
|
||||
'提醒日期: ${_formatDate(task.scheduleDate!)}',
|
||||
'提醒日期: ${_formatDate(task.scheduleTime!)}',
|
||||
style: TextStyle(color: Colors.grey, fontSize: 12),
|
||||
),
|
||||
],
|
||||
|
||||
Reference in New Issue
Block a user