Quellcode durchsuchen

修复Header不显示

loki.wu vor 2 Jahren
Ursprung
Commit
602cfbc46b
6 geänderte Dateien mit 3450 neuen und 253 gelöschten Zeilen
  1. 427 248
      assets/single_image.json
  2. 3003 0
      assets/test.json
  3. 1 1
      lib/main.dart
  4. 3 3
      lib/pages/components/static_image.dart
  5. 15 1
      lib/report/report_template_document.dart
  6. 1 0
      pubspec.yaml

Datei-Diff unterdrückt, da er zu groß ist
+ 427 - 248
assets/single_image.json


Datei-Diff unterdrückt, da er zu groß ist
+ 3003 - 0
assets/test.json


+ 1 - 1
lib/main.dart

@@ -117,7 +117,7 @@ class _MyHomePageState extends State<MyHomePage> {
               child: Text('testAI'),
               onPressed: () {
                 ReportInfo.instance
-                    .reload('ai', DateTime.now(), _aiJson, onSelect);
+                    .reload('test', DateTime.now(), _aiJson, onSelect);
               }),
           MaterialButton(
               child: Text('testDefault'),

+ 3 - 3
lib/pages/components/static_image.dart

@@ -21,12 +21,12 @@ class RStaticImage extends StatefulWidget {
   RStaticImage(this.staticImage);
   @override
   State<StatefulWidget> createState() {
-    return _RInputImageState();
+    return _RStaticImageState();
   }
 }
 
-class _RInputImageState extends State<RStaticImage> {
-  _RInputImageState();
+class _RStaticImageState extends State<RStaticImage> {
+  _RStaticImageState();
 
   @override
   initState() {

+ 15 - 1
lib/report/report_template_document.dart

@@ -191,7 +191,21 @@ class ReportTemplateDocument implements IReportTemplateDocument {
     }
     List<dynamic> jsonHeads = json['Header'];
     if (jsonHeads.isNotEmpty) {
-      //TODO(Loki): init headers
+      for (var block in jsonHeads) {
+        final type = block['ElementType'];
+        final jsonType = ElementType.fromJson(type);
+        final name = jsonType.name;
+        if (name == ElementType.rtTable!.name) {
+          final jsonBlock = RTTable.fromJson(block);
+          header!.add(jsonBlock);
+        } else if (name == ElementType.paragraph!.name) {
+          final jsonBlock = Paragraph.fromJson(block);
+          header!.add(jsonBlock);
+        } else if (name == ElementType.imageList!.name) {
+          final inputImageList = InputImageList.fromJson(block);
+          header!.add(inputImageList);
+        }
+      }
     }
     List<dynamic> jsonFooter = json['Footer'];
     if (jsonFooter.isNotEmpty) {

+ 1 - 0
pubspec.yaml

@@ -79,6 +79,7 @@ flutter:
      - assets/default.json
      - assets/single_image.json
      - assets/pet.json
+     - assets/test.json
   #   - images/a_dot_ham.jpeg
 
   # An image asset can refer to one or more resolution-specific "variants", see

Einige Dateien werden nicht angezeigt, da zu viele Dateien in diesem Diff geändert wurden.