Эх сурвалжийг харах

Merge branch 'master' of http://git.ius.plus/bakamaka.guan/fis_lib_business_components

# Conflicts:
#	pubspec.yaml
bakamaka.guan 2 жил өмнө
parent
commit
6637c3983b

+ 85 - 44
lib/components/picture_components.dart

@@ -73,13 +73,23 @@ class FContentImage extends StatelessWidget implements FWidget {
       ].contains(diagnosisConclusion);
 
   /// 是否是选择状态
-  final bool isSelectStutas;
+  final bool isPureImage;
 
   ///是否显示左上角序号
   final bool? ifShowIndex;
 
+  ///图像宽度
+  final double contentWidth;
+
+  ///图像高度
+  final double contentHeight;
+
   ///序号
   final int serialNo;
+
+  ///图片文字描述
+  final String? description;
+
   FContentImage({
     Key? key,
     this.terminalImage,
@@ -88,9 +98,12 @@ class FContentImage extends StatelessWidget implements FWidget {
     this.isMeasure = false,
     this.onDoubleTap,
     this.onTap,
-    this.isSelectStutas = false,
+    this.isPureImage = false,
     this.ifShowIndex = true,
     this.serialNo = 0,
+    this.description = '',
+    this.contentHeight = 200,
+    this.contentWidth = 300,
   }) : super(key: key);
 
   @override
@@ -105,24 +118,18 @@ class FContentImage extends StatelessWidget implements FWidget {
       fileDataType = remedicalInfo?.fileDataType;
     }
 
-    if (isSelectStutas) {
+    if (isPureImage) {
       return FContainer(
-        width: 190,
-        height: 160,
         color: Colors.black,
-        child: FStack(
-          children: [
-            FCenter(
-              child: FImage.network(
-                terminalImage!.previewUrl!,
-                errorBuilder: ((context, error, stackTrace) {
-                  return Container(
-                    child: Text(i18nBook.common.error.t),
-                  );
-                }),
-              ),
-            ),
-          ],
+        child: FImage.network(
+          terminalImage!.coverImageUrl!,
+          width: contentWidth,
+          height: contentHeight,
+          errorBuilder: ((context, error, stackTrace) {
+            return Container(
+              child: Text(i18nBook.common.error.t),
+            );
+          }),
         ),
       );
     } else
@@ -167,6 +174,18 @@ class FContentImage extends StatelessWidget implements FWidget {
     }
   }
 
+  ///判断是否是肝脏、胆囊、肾脏、脾脏、腹部器官
+  bool _ifAbdominalOrgans(DiagnosisOrganEnum diagnosisOrgan) {
+    final abdominalOrgansList = [
+      DiagnosisOrganEnum.Liver,
+      DiagnosisOrganEnum.Cholecyst,
+      DiagnosisOrganEnum.Kidney,
+      DiagnosisOrganEnum.Spleen,
+      DiagnosisOrganEnum.Abdomen
+    ];
+    return abdominalOrgansList.contains(diagnosisOrgan);
+  }
+
   FWidget _buildLeftAIOrCarotidLogo() {
     if (isCarotidResult) {
       return FPositioned(
@@ -179,13 +198,25 @@ class FContentImage extends StatelessWidget implements FWidget {
       );
     }
     if (hasDiagnosisOrgans) {
+      int count = 0;
       final List<FWidget> aIDiagnosticOrgansIconList = [];
+
       for (var i = 0; i < diagnosisOrgans!.length; i++) {
-        aIDiagnosticOrgansIconList.add(
-          _buildAIDiagnosticOrgans(
-            diagnosisOrgans?[i],
-          ),
-        );
+        if (_ifAbdominalOrgans(diagnosisOrgans![i])) {
+          //当diagnosisOrgans返回值为肝脏、胆囊、肾脏、脾脏,都只显示一个“腹部”图标
+          if (count <= 0) {
+            aIDiagnosticOrgansIconList.add(
+              _buildAIDiagnosticOrgans(DiagnosisOrganEnum.Abdomen),
+            );
+          }
+          count++;
+        } else {
+          aIDiagnosticOrgansIconList.add(
+            _buildAIDiagnosticOrgans(
+              diagnosisOrgans?[i],
+            ),
+          );
+        }
       }
 
       return FPositioned(
@@ -206,7 +237,7 @@ class FContentImage extends StatelessWidget implements FWidget {
   ///构建描述字段
   FWidget _buildApplication() {
     return FText(
-      remedicalInfo?.application ?? "",
+      description ?? "",
       style: TextStyle(
         color: Colors.white,
         fontSize: 10,
@@ -220,7 +251,7 @@ class FContentImage extends StatelessWidget implements FWidget {
       return FPositioned(
         bottom: 5,
         right: 5,
-        child: FTooltip(
+        child: FMaterialTooltip(
           textStyle: TextStyle(
             fontSize: 16,
             color: Colors.white,
@@ -235,7 +266,6 @@ class FContentImage extends StatelessWidget implements FWidget {
               fontSize: 20,
             ),
           ),
-          textLines: new List.empty(),
         ),
       );
     }
@@ -270,9 +300,6 @@ class FContentImage extends StatelessWidget implements FWidget {
               }),
             ),
           ),
-          _buildLeftAIOrCarotidLogo(),
-          _buildRigthAIText(),
-          if (ifShowIndex!) _buildIndex(),
           FInkWell(
             onDoubleTap: () {
               onDoubleTap?.call();
@@ -290,6 +317,9 @@ class FContentImage extends StatelessWidget implements FWidget {
               ),
             ),
           ),
+          _buildLeftAIOrCarotidLogo(),
+          _buildRigthAIText(),
+          if (ifShowIndex!) _buildIndex(),
         ],
       ),
     );
@@ -343,7 +373,7 @@ class FContentImage extends StatelessWidget implements FWidget {
       case DiagnosisConclusionEnum.Benign:
         return i18nBook.remedical.benign.t;
       case DiagnosisConclusionEnum.Malignant:
-        return i18nBook.remedical.malignant.t;
+        return i18nBook.remedical.benignWithMalignant.t;
       case DiagnosisConclusionEnum.BenignAndMalignant:
         return i18nBook.remedical.benignWithMalignant.t;
       default:
@@ -358,7 +388,7 @@ class FContentImage extends StatelessWidget implements FWidget {
       case DiagnosisConclusionEnum.Benign:
         return Colors.greenAccent;
       case DiagnosisConclusionEnum.Malignant:
-        return Colors.redAccent;
+        return Colors.orangeAccent;
       case DiagnosisConclusionEnum.BenignAndMalignant:
         return Colors.orangeAccent;
       default:
@@ -412,25 +442,36 @@ class FContentImage extends StatelessWidget implements FWidget {
           ),
         );
       case DiagnosisOrganEnum.CarotidArtery:
-        return FText(
-          " 图标待定 ",
-          style: TextStyle(color: Colors.white),
+        return FIcon(
+          FIcons.arteria_carotis,
+          color: _buildAITextColor(
+            diagnosisConclusion,
+          ),
         );
+
       case DiagnosisOrganEnum.Thyroid:
-        return FText(
-          " 图标待定 ",
-          style: TextStyle(color: Colors.white),
+        return FIcon(
+          FIcons.fis_thyroid,
+          color: _buildAITextColor(
+            diagnosisConclusion,
+          ),
         );
       case DiagnosisOrganEnum.Neck:
-        return FText(
-          " 图标待定 ",
-          style: TextStyle(color: Colors.white),
+        return FIcon(
+          //图标待定
+          FIcons.fis_thyroid,
+          color: _buildAITextColor(
+            diagnosisConclusion,
+          ),
         );
       case DiagnosisOrganEnum.Null:
-        return FText(
-          i18nBook.remedical.didNotIdentify.t,
-          style: TextStyle(color: Colors.white),
-        );
+        if (diagnosisOrgans?.length == 1) {
+          //如果diagnosisOrgans只有一个值且该值为null值,就返回文字,否则返回空
+          return _buildApplication();
+        } else {
+          return FText('');
+        }
+
       default:
         return _buildApplication();
     }

+ 6 - 6
pubspec.yaml

@@ -46,16 +46,16 @@ dependency_overrides:
   fis_jsonrpc:
     git:
       url: http://git.ius.plus:88/Project-Wing/fis_lib_jsonrpc.git
-      ref: 788d315
+      ref: c241544354
   fis_i18n:
     git:
       url: http://git.ius.plus:88/Project-Wing/fis_lib_i18n.git
-      ref: c23db09
+      ref: e2016d4
   fis_ui:
-    # git:
-    #   url: http://git.ius.plus:88/Project-Wing/fis_lib_ui.git
-    #   ref: 896ffe4  
-    path: ../fis_lib_ui  
+    git:
+      url: http://git.ius.plus:88/Project-Wing/fis_lib_ui.git
+      ref:  168a553  
+      # path: ../fis_lib_ui  
 # For information on the generic Dart part of this file, see the
 # following page: https://dart.dev/tools/pub/pubspec