|
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183 |
- 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: <Widget>[
- /// 直推人数 & 间推人数
- Row(
- mainAxisAlignment: MainAxisAlignment.spaceEvenly,
- crossAxisAlignment: CrossAxisAlignment.end,
- children: <Widget>[
- /// 直推人数
- _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: <Widget>[
- /// 全部粉丝
- _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: <Widget>[
- /// Number
- Row(
- crossAxisAlignment: CrossAxisAlignment.center,
- mainAxisAlignment: MainAxisAlignment.center,
- children: <Widget>[
- /// nummber\
- Text(number,
- style: TextStyle(color: HexColor.fromHex(numberColor), fontSize: numberSize, fontWeight: FontWeight.bold, fontFamily: 'Din', package: 'zhiying_base_widget')),
-
- /// 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_base_widget'),
- // ),
- // 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))
- ],
- );
- }
- }
|