import 'package:flutter/material.dart'; import 'package:zhiying_base_widget/pages/team_page/model/team_data_model.dart'; import 'package:zhiying_base_widget/pages/team_page/model/team_style_model.dart'; import 'package:zhiying_base_widget/widgets/home/home_quick_entry/cached_network_image_util.dart'; import 'package:zhiying_comm/zhiying_comm.dart'; import 'dart:ui' as ui show PlaceholderAlignment; import 'package:cached_network_image/cached_network_image.dart'; /// /// 我的团队 - 数据widget /// class TeamDataWidget extends StatelessWidget { TeamStyleModel styleModel; TeamDataModel dataModel; TeamDataWidget(this.styleModel, this.dataModel); @override Widget build(BuildContext context) { return Material( child: _getMainWidget(), ); } /// 主视图 Widget _getMainWidget() { return Container( width: double.infinity, margin: const EdgeInsets.only(left: 12.5, right: 12.5, top: 8), padding: const EdgeInsets.only(left: 10.5, right: 9.5, top: 8, bottom: 8), decoration: BoxDecoration(borderRadius: BorderRadius.circular(10), color: HexColor.fromHex('#FFFFFF')), child: Column( mainAxisAlignment: MainAxisAlignment.center, crossAxisAlignment: CrossAxisAlignment.center, children: [ /// 直推人数 & 间推人数 Row( mainAxisAlignment: MainAxisAlignment.spaceEvenly, crossAxisAlignment: CrossAxisAlignment.end, children: [ /// 直推人数 _getCustomWidget( text: styleModel?.dashbordRowFirst[0]?.name ?? '直推人数', textColor: styleModel?.dashbordRowFirst[0]?.nameColor ?? '#999999', textSize: 12, number: dataModel?.direct_fans_count ?? '0', numberColor: styleModel?.dashbordRowFirst[0]?.valueColor ?? '#333333', numberSize: 30, icon: styleModel?.dashbordRowFirst[0]?.upIcon ?? '', ), /// 分割线 // VerticalDivider(width: 0.5, thickness: 40, color: HexColor.fromHex('#F0F0F0')), SizedBox( height: 40, child: VerticalDivider( thickness: 0.5, color: HexColor.fromHex(styleModel?.dashbordLineColor ?? '#F0F0F0'), width: 0.5, )), /// 间推人数 _getCustomWidget( text: styleModel?.dashbordRowFirst[1]?.name ?? '间推人数', textColor: styleModel?.dashbordRowFirst[1]?.nameColor ?? '#999999', textSize: 12, number: dataModel?.indirect_fans_count ?? '0', numberColor: styleModel?.dashbordRowFirst[1]?.valueColor ?? '#333333', numberSize: 30, icon: styleModel?.dashbordRowFirst[1].upIcon, ), ], ), /// 分割线 Divider(thickness: 0.5, height: 20, color: HexColor.fromHex(styleModel?.dashbordLineColor ?? '#F0F0F0')), /// 全部粉丝 & 今日新增 & 昨日新增 Row( mainAxisAlignment: MainAxisAlignment.spaceEvenly, children: [ /// 全部粉丝 _getCustomWidget( text: styleModel?.dashbordRowSecond[0]?.name ?? '全部粉丝', textColor: styleModel?.dashbordRowSecond[0].name_color ?? '#999999', textSize: 11, number: dataModel?.all_fans ?? '0', numberColor: styleModel?.dashbordRowSecond[0]?.value_color ?? '#333333', numberSize: 15, ), /// 分割线 // VerticalDivider(thickness: 0.5, width: 1, color: HexColor.fromHex('#F0F0F0')), SizedBox( height: 35, child: VerticalDivider( thickness: 0.5, color: HexColor.fromHex(styleModel?.dashbordLineColor ?? '#F0F0F0'), width: 0.5, )), /// 今日新增 _getCustomWidget( text: styleModel?.dashbordRowSecond[1]?.name ?? '今日新增', textColor: styleModel?.dashbordRowSecond[1].name_color ?? '#999999', textSize: 11, number: dataModel?.today_add ?? '0', numberColor: styleModel?.dashbordRowSecond[1]?.value_color ?? '#333333', numberSize: 15, ), /// 分割线 // VerticalDivider(thickness: 0.5, width: 1, color: HexColor.fromHex('#F0F0F0')), SizedBox( height: 35, child: VerticalDivider( thickness: 0.5, color: HexColor.fromHex(styleModel?.dashbordLineColor ?? '#F0F0F0'), width: 0.5, )), /// 昨日新增 _getCustomWidget( text: styleModel?.dashbordRowSecond[2]?.name ?? '昨日新增', textColor: styleModel?.dashbordRowSecond[2].name_color ?? '#999999', textSize: 11, number: dataModel?.yesterday_add ?? '0', numberColor: styleModel?.dashbordRowSecond[2]?.value_color ?? '#333333', numberSize: 15, ), ], ) ], ), ); } /// 自定义Widget Widget _getCustomWidget({String text, String textColor, double textSize, String number, String numberColor, double numberSize, String icon}) { return Column( mainAxisAlignment: MainAxisAlignment.center, crossAxisAlignment: CrossAxisAlignment.center, children: [ /// Number Row( crossAxisAlignment: CrossAxisAlignment.center, mainAxisAlignment: MainAxisAlignment.center, children: [ /// nummber\ Text(number, style: TextStyle(color: HexColor.fromHex(numberColor), fontSize: numberSize, fontWeight: FontWeight.bold, fontFamily: 'Din', package: 'zhiying_comm')), /// icon Visibility( visible: !EmptyUtil.isEmpty(icon), child: Align(alignment: Alignment.topLeft, child: Container(width: 5, child: CachedNetworkImage(imageUrl: icon ?? ''), margin: const EdgeInsets.only(left: 3)))) ], ), // RichText( // textAlign: TextAlign.center, // text: TextSpan( // children: [ // TextSpan( // text: number, // style: TextStyle(color: HexColor.fromHex(numberColor), fontSize: numberSize, fontWeight: FontWeight.bold, fontFamily: 'Din', package: 'zhiying_comm'), // ), // WidgetSpan( // alignment: ui.PlaceholderAlignment.top, // child: Visibility( // visible: !EmptyUtil.isEmpty(icon), child: Align(alignment: Alignment.topLeft, child: Container(height: 7, width: 5, color: Colors.red, margin: const EdgeInsets.only(left: 3))) // ) // ) // ] // ), // ), /// Text Text(text, style: TextStyle(color: HexColor.fromHex(textColor), fontSize: textSize)) ], ); } }