ソースを参照

[fix]修复当无停留数据时,饼图空缺显示的问题

zk 4 ヶ月 前
コミット
24ae517354

+ 1 - 0
assets/string/base/string.xml

@@ -374,4 +374,5 @@
         1.可能是自己/TA手机解锁权限尚未开启,请在个人中心设置中开启权限\n
         2.可能是TA手机尚未开启本软件
     </string>
+    <string name="track_no_stay_data">暂无停留数据</string>
 </resources>

+ 1 - 0
lib/module/track/track_day_detail/time_proportion/pie_chat_data.dart

@@ -13,6 +13,7 @@ class PieChatData {
     required this.address,
     required this.color,
     required this.duration,
+    this.proportion = 0.0,
   });
 }
 

+ 11 - 0
lib/module/track/track_day_detail/track_day_detail_controller.dart

@@ -1,5 +1,6 @@
 import 'dart:async';
 import 'dart:convert';
+import 'dart:math';
 
 import 'package:flutter/cupertino.dart';
 import 'package:flutter_map/flutter_map.dart';
@@ -281,6 +282,16 @@ class TrackDayDetailController extends BaseController {
           (data.duration / totalDuration * 100).toFormattedDouble(1);
     }
     pieChatData.addAll(addrMap.values.toList());
+    //如果当数据为空,填入一个默认文案数据
+    if (pieChatData.isEmpty) {
+      PieChatData noStayData = PieChatData(
+        address: StringName.trackNoStayData,
+        duration: 0,
+        proportion: 100,
+        color: pieChatColors[0],
+      );
+      pieChatData.add(noStayData);
+    }
   }
 
   void _dealTrackExpandData() {

+ 2 - 0
lib/resource/string.gen.dart

@@ -307,6 +307,7 @@ class StringName {
   static String get permissionNotificationSetting => 'permission_notification_setting'.tr; // 通知栏权限
   static String get permissionNotificationSettingSubtitle => 'permission_notification_setting_subtitle'.tr; // 开启通知栏权限,可随时查看好友“每日轨迹”
   static String get trackNoDoubtDesc => 'track_no_doubt_desc'.tr; // 未授权原因:\n 1.可能是自己/TA手机解锁权限尚未开启,请在个人中心设置中开启权限\n 2.可能是TA手机尚未开启本软件
+  static String get trackNoStayData => 'track_no_stay_data'.tr; // 暂无停留数据
 }
 class StringMultiSource {
   StringMultiSource._();
@@ -617,6 +618,7 @@ class StringMultiSource {
       'permission_notification_setting': '通知栏权限',
       'permission_notification_setting_subtitle': '开启通知栏权限,可随时查看好友“每日轨迹”',
       'track_no_doubt_desc': '未授权原因:\n 1.可能是自己/TA手机解锁权限尚未开启,请在个人中心设置中开启权限\n 2.可能是TA手机尚未开启本软件',
+      'track_no_stay_data': '暂无停留数据',
     },
   };
 }