import 'package:application/widget.dart'; import 'package:common_pub/ui/map_view/map_view.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_plug_loading.dart'; import 'field_control_controller.dart'; class FieldControlPage extends StatelessWidget{ const FieldControlPage({super.key}); @override Widget build(BuildContext context) { return GetBuilder( init: FieldControlController(), builder: (c){ return Container( height: double.infinity, width: double.infinity, color: const Color(0xffc9c0c0), alignment: Alignment.center, child: Obx((){ final mapWatch = c.mapWatch; return mapWatch != null? content(context, mapWatch, c): noData(); })); }); } Widget noData(){ return Center( child: Column( mainAxisSize: MainAxisSize.min, children: [ Image.asset(Assets.imagesIcNoData, height: 64), const SizedBox(height: 25), const Text('没有数据, 请选择地图', style: TextStyle(color: Color(0xff707070), fontSize: 18.5)), ], ), ); } Widget content(BuildContext context, MapWatchService map, FieldControlController c){ return Row( children: [ Expanded(child: Column( children: [ Expanded(child: ViewMapStack(plug: map.plugMap, children: [ ViewPlugLoading(map.plugMap), ViewMapImage(map.plugMap), ViewMapTouch(map.plugMap) ])), _MsgView(), ], )), _ActiveInfoView() ], ); } } class _ActiveInfoView extends GetView{ @override Widget build(BuildContext context) { return Obx(() => Container( width: 370, height: double.infinity, color: Colors.white, child: ListView( children: controller.activeList.map((element) => activeView(element)).toList(), ), )) ; } Widget activeView(ActiveInfo info){ return Container( decoration: BoxDecoration(color: const Color(0xffe0e0e0), borderRadius: BorderRadius.circular(5)), margin: const EdgeInsets.fromLTRB(9, 12, 9, 12), padding: const EdgeInsets.all(9), child: Column( children: [ Row(children: [ Text('${info.name} (${info.userList.length}人)'), ]), ], ), ); } } class _MsgView extends GetView{ @override Widget build(BuildContext context) { return Container(); } }