周睿 2 år sedan
förälder
incheckning
9dad644ee1

+ 11 - 3
lib/view/home/data_detail/data_detail.dart

@@ -4,6 +4,7 @@ import 'package:common_pub/ui/map_view/map_view.dart';
 import 'package:common_pub/ui/map_view/view_map_cp.dart';
 import 'package:common_pub/ui/map_view/view_map_image.dart';
 import 'package:common_pub/ui/map_view/view_map_touch.dart';
+import 'package:common_pub/ui/map_view/view_map_trace.dart';
 import 'package:common_pub/ui/map_view/view_plug_loading.dart';
 import 'data_detail_controller.dart';
 
@@ -40,6 +41,8 @@ class DataDetailPage extends StatelessWidget {
     );
   }
 
+  static const cpColor = Color(0xffcc00ff);
+
   Widget content(
       BuildContext context, MapWatchService map, DataDetailController c) {
     return Obx(() {
@@ -54,7 +57,12 @@ class DataDetailPage extends StatelessWidget {
           cpWantAndHistoryList: data.controlPoints,
           isHideRouteBeforeStart: false,
           isShowPath: false,
+          cpTheme: ViewMapCPTheme()
+            ..cpJumpColor = cpColor
+            ..cpPunchedColor = cpColor,
         ));
+
+        // children.add(ViewMapTrace(map.plugMap, data));
       }
 
       children.add(ViewMapTouch(map.plugMap));
@@ -108,9 +116,9 @@ class _UserListView extends GetView<DataDetailController> {
   }
 
   List<Widget> _detailView() {
-    return [
-      // DataDetailCP(cpList: controller.)
-    ];
+    final detail = controller.selectedDetail.value!;
+
+    return [DataDetailCP(cpList: detail.controlPoints)];
   }
 
   Widget _userElem(UserInfo data) {

+ 5 - 1
lib/view/home/data_detail/data_detail_controller.dart

@@ -67,7 +67,11 @@ class DataDetailController extends GetxController {
     selectedUserId.value = user.data.oId;
     final detail = HistoryDetail(await ApiService.to.stub
         .toHistoryGameDetail(IdRequest(id: Int64(d.gameId))));
-    await detail.flushOnMap(mapWatch!.plugMap.gameMap);
+    await detail.init(mapWatch!.plugMap.gameMap);
+    final old = selectedDetail.value;
     selectedDetail.value = detail;
+    if (old != null) {
+      old.dispose();
+    }
   }
 }

+ 12 - 2
lib/view/home/data_detail/data_detail_cp.dart

@@ -1,4 +1,6 @@
+import 'package:application/utils.dart';
 import 'package:common_pub/model/control_point.dart';
+import 'package:common_pub/ui/control_point_history_view.dart';
 import 'package:flutter/material.dart';
 
 class DataDetailCP extends StatelessWidget {
@@ -8,7 +10,15 @@ class DataDetailCP extends StatelessWidget {
   @override
   Widget build(BuildContext context) {
     return Container(
-      width: double.infinity,
-    );
+        width: double.infinity,
+        padding: const EdgeInsets.all(2.9),
+        decoration: BoxDecoration(
+            color: const Color(0xffe0e0e0),
+            borderRadius: BorderRadius.circular(3.56)),
+        child: ControlPointHistoryView(cpList: cpList));
   }
 }
+
+void main() {
+  runPreview(const DataDetailCP(cpList: []));
+}

+ 1 - 1
third_party/common_pub

@@ -1 +1 @@
-Subproject commit f439bcbc76bfb72d473365c59e3930e267fd94b9
+Subproject commit 7ba5884f1b4ca3d48e792247d24ccc47337ba7de