123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194 |
- import 'package:fis_measure/interfaces/process/items/item_metas.dart';
- import 'package:fis_measure/interfaces/process/items/terms.dart';
- import 'package:fis_measure/interfaces/process/items/types.dart';
- import 'package:fis_measure/process/workspace/measure_3d_view_controller.dart';
- import 'package:fis_measure/view/measure/measure_tool.dart';
- import 'package:fis_ui/index.dart';
- import 'package:flutter/material.dart';
- import 'package:get/get.dart';
- import 'package:vid/us/vid_us_unit.dart';
- /// 颈动脉测量项页面(继承自 测量项页面)
- class CarotidLeftSiderSelectMeasure extends LeftSiderSelectMeasure {
- const CarotidLeftSiderSelectMeasure({Key? key}) : super(key: key);
- @override
- FState<LeftSiderSelectMeasure> createState() =>
- _CarotidLeftSiderSelectMeasure();
- }
- class _CarotidLeftSiderSelectMeasure extends LeftSiderSelectMeasureState {
- late final measure3DViewController = Get.find<Measure3DViewController>();
- ///写死的颈动脉测量项
- List<ItemMeta> carotidMeasureApplicationList = [
- ItemMeta(
- MeasureTypes.Distance,
- measureType: MeasureTypes.Distance,
- description: MeasureTypes.Distance,
- briefAnnotation: "D",
- outputs: [
- ItemOutputMeta(MeasureTypes.Distance, "Distance", VidUsUnit.cm),
- ],
- ),
- ItemMeta(
- MeasureTerms.Area,
- measureType: MeasureTypes.AreaPerimeterTrace,
- description: MeasureTerms.Area,
- briefAnnotation: MeasureTerms.Area,
- outputs: [
- ItemOutputMeta(MeasureTerms.Area, "Area", VidUsUnit.cm2),
- ],
- ),
- ItemMeta(
- MeasureTerms.Stenosis,
- measureType: MeasureTypes.StenosisTwoArea,
- description: MeasureTerms.Stenosis,
- outputs: [
- ItemOutputMeta(MeasureTerms.Stenosis, "%Stenosis", VidUsUnit.percent),
- ],
- childItems: [
- ItemMeta(
- "A1",
- description: "A1",
- measureType: MeasureTypes.AreaPerimeterTrace,
- outputs: [
- ItemOutputMeta("Area", "Area", VidUsUnit.cm2),
- ],
- ),
- ItemMeta(
- "A2",
- description: "A2",
- measureType: MeasureTypes.AreaPerimeterTrace,
- outputs: [
- ItemOutputMeta("Area", "Area", VidUsUnit.cm2),
- ],
- ),
- ],
- ),
- // '%Stenosis',
- ItemMeta(
- MeasureTerms.AntCCA_IMT,
- description: MeasureTerms.AntCCA_IMT,
- measureType: MeasureTerms.AntCCA_IMT,
- outputs: [
- ItemOutputMeta(MeasureTerms.AntCCA_IMT, "", VidUsUnit.cm),
- ],
- ),
- ItemMeta(
- MeasureTerms.PostCCA_IMT,
- description: MeasureTerms.PostCCA_IMT,
- measureType: MeasureTerms.PostCCA_IMT,
- outputs: [
- ItemOutputMeta(MeasureTerms.PostCCA_IMT, "", VidUsUnit.cm),
- ],
- ),
- ItemMeta(
- MeasureTerms.BothCCA_IMT,
- description: MeasureTerms.BothCCA_IMT,
- measureType: MeasureTerms.BothCCA_IMT,
- outputs: [
- ItemOutputMeta(MeasureTerms.BothCCA_IMT, "", VidUsUnit.cm),
- ],
- ),
- ItemMeta(
- MeasureTerms.PlaqueDetection,
- description: MeasureTerms.PlaqueDetection,
- measureType: MeasureTerms.PlaqueDetection,
- outputs: [
- ItemOutputMeta(MeasureTerms.PlaqueDetection, "", VidUsUnit.cm2),
- ],
- ),
- ItemMeta(
- MeasureTerms.IntimaDetection,
- description: MeasureTerms.IntimaDetection,
- measureType: MeasureTerms.IntimaDetection,
- outputs: [
- ItemOutputMeta(MeasureTerms.IntimaDetection, "", VidUsUnit.cm2),
- ],
- ),
- ];
- @override
- FWidget build(BuildContext context) {
- return FScrollbar(
- isAlwaysShown: true,
- child: FGridView.count(
- shrinkWrap: true,
- crossAxisCount: 2,
- childAspectRatio: 3,
- controller: ScrollController(),
- children: [
- ...carotidMeasureApplicationList.map((e) {
- if (e.name == activeName) {
- return _buildActivedMeasure(
- e,
- );
- } else {
- return _buildNoActivedMeasure(e);
- }
- }).toList(),
- ]),
- );
- }
- FWidget _buildActivedMeasure(ItemMeta itemMeta) {
- return FRow(
- children: [
- const FSizedBox(
- width: 12,
- ),
- FExpanded(
- child: FElevatedButton(
- onPressed: () => changeItem(itemMeta),
- child: FText(itemMeta.name),
- style: ElevatedButton.styleFrom(
- fixedSize: const Size.fromHeight(
- 40,
- ),
- ),
- ),
- ),
- const FSizedBox(
- width: 10,
- ),
- ],
- );
- }
- FWidget _buildNoActivedMeasure(ItemMeta itemMeta) {
- return FRow(
- children: [
- const FSizedBox(
- width: 12,
- ),
- FExpanded(
- child: FOutlinedButton(
- onPressed: () => changeItem(itemMeta),
- child: FText(
- itemMeta.name,
- style: const TextStyle(
- color: Colors.white,
- ),
- ),
- style: OutlinedButton.styleFrom(
- fixedSize: const Size.fromHeight(
- 40,
- ),
- side: const BorderSide(
- color: Color.fromRGBO(124, 124, 124, 1),
- ),
- textStyle: const TextStyle(
- color: Colors.white,
- ),
- ),
- ),
- ),
- const FSizedBox(
- width: 12,
- ),
- ],
- );
- }
- }
|