import 'package:ef/ef.dart'; import 'package:flutter/material.dart'; import 'package:flutterflow_ui/flutterflow_ui.dart'; import 'package:vbvs_app/common/color/ServiceConstant.dart'; import 'package:vbvs_app/common/util/FitTool.dart'; import 'package:vbvs_app/common/util/MyUtils.dart'; import 'package:vbvs_app/common/util/requestWithLog.dart'; import 'package:vbvs_app/component/tool/ClickableContainer.dart'; import 'package:vbvs_app/controller/main_bottom/global_controller.dart'; import 'package:vbvs_app/controller/mh_controller/people_info_controller.dart'; class DevicePeopleInfo extends GetView { Map data; DevicePeopleInfo({required this.data}); PeopleInfoController controller = Get.put(PeopleInfoController()); getInfoRow(context, String str) { return Container( width: double.infinity, height: 60.rpx, decoration: BoxDecoration(), alignment: Alignment.centerLeft, child: Text( '$str', style: TextStyle( fontFamily: 'Readex Pro', color: Colors.white, fontSize: 26.rpx, letterSpacing: 0, ), ), ); } @override Widget build(BuildContext context) { return LayoutBuilder( builder: (context, boxConstraints) => GestureDetector( onTap: () => FocusScope.of(context).unfocus(), child: Container( decoration: const BoxDecoration( image: DecorationImage( image: AssetImage('assets/images/new_background.png'), // 本地图片 fit: BoxFit.fill, // 填满整个 Container ), ), child: Scaffold( backgroundColor: Colors.transparent, appBar: AppBar( backgroundColor: Colors.transparent, automaticallyImplyLeading: false, iconTheme: IconThemeData(color: Colors.white), titleSpacing: 0, title: AppBar( backgroundColor: Colors.transparent, iconTheme: const IconThemeData(color: Colors.white), automaticallyImplyLeading: false, titleSpacing: 0, title: SizedBox( width: double.infinity, height: 180.rpx, child: Stack( alignment: Alignment.center, children: [ // 中间居中的标题 Text( '详情', textAlign: TextAlign.center, style: TextStyle( color: Colors.white, fontSize: 30.rpx, ), ), // 左侧图标 Positioned( left: 0.rpx, child: returnIconButtomNew, ), ], ), ), centerTitle: false, ), actions: [], centerTitle: false, ), body: SafeArea( top: true, child: Obx( () => Container( padding: EdgeInsets.only( left: 30.rpx, right: 30.rpx, top: 30.rpx), width: MediaQuery.sizeOf(context).width, height: MediaQuery.sizeOf(context).height * 1.123, // decoration: BoxDecoration( // // color: AppColors.bg_color, // image: DecorationImage( // image: AssetImage("assets/images/background.png"), // fit: BoxFit.cover, // ), // ), child: SingleChildScrollView( child: Column( mainAxisSize: MainAxisSize.max, children: [ ClickableContainer( backgroundColor: Color(0xFFFF036060), highlightColor: Colors.transparent, borderRadius: 16.rpx, padding: EdgeInsets.fromLTRB( 30.rpx, 20.rpx, 0, 20.rpx), onTap: () {}, child: Container( decoration: BoxDecoration( borderRadius: BorderRadius.circular(16.rpx)), child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ Container( alignment: Alignment.centerLeft, child: Text( '设备信息', style: TextStyle( fontFamily: 'Readex Pro', color: Colors.white, fontSize: 30.rpx, ), ), ), getInfoRow( context, "名称:${data["name"] ?? "-"}"), getInfoRow(context, "房间:${data["roomName"] ?? "-"}"), getInfoRow( context, "网络:${data["status"]?["status"] == 1 ? "在线" : data["status"]?["status"] == 0 ? "不在线" : "-"}", ), getInfoRow( context, "MAC:${data["mac"] ?? "-"}"), ], ), )), if (controller.model.peopleList.isNotEmpty) ...List.generate(controller.model.peopleList.length, (index) { final person = controller.model.peopleList[index]; // String location_ = ''; // if ("${data["bindMacB"]}".length > 6 && // (person["direction"] == 1 || // person["direction"] == 2)) { // location_ = // person["direction"] == 1 ? '左侧' : '右侧'; // } return ClickableContainer( backgroundColor: Color(0xFF003058), highlightColor: Color(0xFF036060), borderRadius: 16.rpx, padding: EdgeInsets.fromLTRB( 30.rpx, 20.rpx, 30.rpx, 20.rpx), onTap: () {}, child: Column( children: [ Container( width: double.infinity, alignment: Alignment.centerLeft, child: Text( '人员资料${index == 0 ? "A" : "B"}', style: TextStyle( fontFamily: 'Readex Pro', color: Colors.white, fontSize: 32.rpx, letterSpacing: 0, ), ), ), getInfoRow( context, "姓名:${person["name"] ?? "-"}"), getInfoRow(context, "性别:${person["gender"] == null ? "-" : (person["gender"] == 1 ? "男" : "女")}"), getInfoRow(context, "身高:${person["height"] == null ? "-" : "${person["height"]}cm"}"), getInfoRow(context, "体重:${person["weight"] == null ? "-" : "${person["weight"]}kg"}"), getInfoRow(context, "生日:${person["birthday"] == null ? "-" : time_08_Formatter_pattern(person["birthday"], "yyyy年MM月dd日")}"), getInfoRow( context, "电话:${person["tel"] ?? "-"}"), getInfoRow(context, "紧急联系人:${person["contact"] ?? "-"}"), ], ), ); }) ].divide(SizedBox( height: 25.rpx, )), ), ), ), ), ), ), )), ); } }