feat:更新目标模块
This commit is contained in:
@@ -161,9 +161,33 @@ class _RecordDailyState extends State<RecordDaily> {
|
||||
provider.type = type;
|
||||
|
||||
if (provider.isEditing) {
|
||||
_initRecord(provider);
|
||||
switch (provider.type) {
|
||||
case RecordType.weight:
|
||||
provider.updateWeight(_record.weight);
|
||||
break;
|
||||
case RecordType.sport:
|
||||
provider.updateSportProject(_record.sportProject);
|
||||
provider.updateSportDuration(_record.sportDuration);
|
||||
break;
|
||||
case RecordType.sleep:
|
||||
provider.updateSleepStartTime(_record.sleepStartTime);
|
||||
provider.updateSleepEndTime(_record.sleepEndTime);
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
_defaultRecord(provider);
|
||||
switch (provider.type) {
|
||||
case RecordType.weight:
|
||||
provider.updateWeight(70);
|
||||
break;
|
||||
case RecordType.sport:
|
||||
provider.updateSportProject('跑步');
|
||||
provider.updateSportDuration(30);
|
||||
break;
|
||||
case RecordType.sleep:
|
||||
provider.updateSleepStartTime('');
|
||||
provider.updateSleepEndTime('');
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
showDialog(
|
||||
@@ -211,42 +235,22 @@ class _RecordDailyState extends State<RecordDaily> {
|
||||
);
|
||||
}
|
||||
|
||||
void _initRecord(HealthProvider provider) {
|
||||
switch (provider.type) {
|
||||
case RecordType.weight:
|
||||
provider.updateWeight(_record.weight);
|
||||
break;
|
||||
case RecordType.sport:
|
||||
provider.updateSportProject(_record.sportProject);
|
||||
provider.updateSportDuration(_record.sportDuration);
|
||||
break;
|
||||
case RecordType.sleep:
|
||||
provider.updateSleepStartTime(_record.sleepStartTime);
|
||||
provider.updateSleepEndTime(_record.sleepEndTime);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void _resetRecord() {
|
||||
final provider = context.read<HealthProvider>();
|
||||
if (!provider.isEditing) {
|
||||
_defaultRecord(provider);
|
||||
}
|
||||
}
|
||||
|
||||
void _defaultRecord(HealthProvider provider) {
|
||||
switch (provider.type) {
|
||||
case RecordType.weight:
|
||||
provider.updateWeight(70);
|
||||
break;
|
||||
case RecordType.sport:
|
||||
provider.updateSportProject('跑步');
|
||||
provider.updateSportDuration(30);
|
||||
break;
|
||||
case RecordType.sleep:
|
||||
provider.updateSleepStartTime('');
|
||||
provider.updateSleepEndTime('');
|
||||
break;
|
||||
switch (provider.type) {
|
||||
case RecordType.weight:
|
||||
provider.updateWeight(0);
|
||||
break;
|
||||
case RecordType.sport:
|
||||
provider.updateSportProject('跑步');
|
||||
provider.updateSportDuration(0);
|
||||
break;
|
||||
case RecordType.sleep:
|
||||
provider.updateSleepStartTime('');
|
||||
provider.updateSleepEndTime('');
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -257,6 +261,10 @@ class _RecordDailyState extends State<RecordDaily> {
|
||||
setState(() {
|
||||
_record = service.getAllRecordByDate(provider.date);
|
||||
});
|
||||
|
||||
provider.updateLatestWeight(service.getLatestWeight());
|
||||
provider.updateTotalSpot(service.getTotalSport());
|
||||
provider.updateAvgSleep(service.getAvgSleep());
|
||||
}
|
||||
|
||||
Widget _buildRecordContent(RecordType type) {
|
||||
@@ -277,7 +285,7 @@ class _RecordDailyState extends State<RecordDaily> {
|
||||
final startTime = _record.sleepStartTime;
|
||||
final endTime = _record.sleepEndTime;
|
||||
if (startTime.isNotEmpty && endTime.isNotEmpty) {
|
||||
final duration = calculateDuration(startTime, endTime);
|
||||
final duration = calSleepDuration(startTime, endTime);
|
||||
title = "入睡 $startTime · 起床 $endTime · ${duration}";
|
||||
} else if (startTime.isNotEmpty) {
|
||||
title = "入睡 $startTime";
|
||||
|
||||
Reference in New Issue
Block a user