|
@@ -1,22 +1,29 @@
|
|
|
+import 'package:fis_common/logger/logger.dart';
|
|
|
import 'package:fis_i18n/i18n.dart';
|
|
|
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/view/measure/measure_tool.dart';
|
|
|
+import 'package:fis_measure/interfaces/process/workspace/application.dart';
|
|
|
import 'package:fis_ui/index.dart';
|
|
|
import 'package:flutter/material.dart';
|
|
|
import 'package:flutter/services.dart';
|
|
|
+import 'package:get/get.dart';
|
|
|
import 'package:vid/us/vid_us_unit.dart';
|
|
|
|
|
|
/// 移动端测量项选择器(继承自 测量项页面)
|
|
|
-class MobileMeasureSelector extends LeftSiderSelectMeasure {
|
|
|
+class MobileMeasureSelector extends FStatefulWidget {
|
|
|
const MobileMeasureSelector({Key? key}) : super(key: key);
|
|
|
|
|
|
@override
|
|
|
- FState<LeftSiderSelectMeasure> createState() => _MobileMeasureSelector();
|
|
|
+ FState<MobileMeasureSelector> createState() => _MobileMeasureSelector();
|
|
|
}
|
|
|
|
|
|
-class _MobileMeasureSelector extends LeftSiderSelectMeasureState {
|
|
|
+class _MobileMeasureSelector extends FState<MobileMeasureSelector> {
|
|
|
+ late final application = Get.find<IApplication>();
|
|
|
+
|
|
|
+ /// 当前选中的测量项目
|
|
|
+ String activeName = "";
|
|
|
+
|
|
|
/// 写死的移动端测量项
|
|
|
List<MobileMeasureBtn> mobileMeasureBtnList = [
|
|
|
MobileMeasureBtn(
|
|
@@ -60,6 +67,20 @@ class _MobileMeasureSelector extends LeftSiderSelectMeasureState {
|
|
|
),
|
|
|
];
|
|
|
|
|
|
+ /// 切换测量项
|
|
|
+ void changeItem(ItemMeta itemMeta) {
|
|
|
+ activeName = itemMeta.name;
|
|
|
+ try {
|
|
|
+ application.switchItem(itemMeta);
|
|
|
+ // application.switchItemByName(itemMeta.name);
|
|
|
+ } catch (e) {
|
|
|
+ logger.e("changeItem failed", e);
|
|
|
+ }
|
|
|
+ if (mounted) {
|
|
|
+ setState(() {});
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
@override
|
|
|
FWidget build(BuildContext context) {
|
|
|
return FSizedBox(
|