feast_personal_page.dart 6.09 KB
import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:one_key/widgets/MyDivider.dart';

import '../../../res/colors.dart';
import '../../../utils/dialog_util.dart';
import '../../../utils/screen_util.dart';
import '../../../utils/utils.dart';
import '../../../widgets/h_empty_view.dart';
import '../../../widgets/round_button.dart';
import '../../../widgets/system_app_bar.dart';

/**
 * 宴会员工
 */

class FeastPersonalPage extends StatefulWidget {
  FeastPersonalPage({Key key}) : super(key: key);

  @override
  _FeastPersonalPageState createState() => _FeastPersonalPageState();
}

class _FeastPersonalPageState extends State<FeastPersonalPage> {
  @override
  void initState() {
    super.initState();
    Utils.changeStatusColor(color: MyColours.color_438E93);
  }

  Widget buildFeastTypeHeader(bool select) {
    return RoundButton(
      onPressed: () async {},
      text: '全选',
      fontSize: 32,
      isBold: false,
      height: h(32),
      width: w(48),
      margin: EdgeInsets.only(top: w(18), bottom: w(4)),
      textColor: select ? MyColours.color_ffffff : MyColours.color_438E93,
      gradientStart: select ? MyColours.color_438E93 : MyColours.color_ffffff,
      gradientEnd: select ? MyColours.color_438E93 : MyColours.color_ffffff,
      borderColor: select ? MyColours.color_438E93 : MyColours.color_ffffff,
      radius: r(6),
    );
  }

  Widget buildFeastTypeItem() {
    return Column(
      children: [
        Container(
          height: h(48),
          margin: EdgeInsets.only(top: w(12)),
          // decoration: BoxDecoration(
          //     border: Border(
          //         bottom:
          //             BorderSide(width: w(1), color: MyColours.color_E7E7E7))),
          child: Row(
            children: [
              InkWell(
                  onTap: () {},
                  child: Image.asset(
                    Utils.getImgPath(true ? 'select' : 'unselect'),
                    width: w(24),
                    height: w(24),
                  )),
              HEmptyView(16),
              Text(
                '刘经理 15833517582',
                style: TextStyle(
                    fontSize: font(16), color: MyColours.color_E6000000),
              ),
              Spacer(),
              Text(
                '管理员 0001',
                style: TextStyle(
                    fontSize: font(14), color: MyColours.color_999999),
              ),
              HEmptyView(32),
            ],
          ),
        ),
        Padding(
            padding: EdgeInsets.only(left: w(32)),
            child: MyDivider(
              double.infinity,
              w(0.5),
              color: MyColours.color_E7E7E7,
            ))
      ],
    );
  }

  Widget _callButton(
      {GestureTapCallback onPress,
      content,
      hasLeftBorder = true,
      isSelect = false}) {
    return InkWell(
      onTap: onPress,
      child: Container(
        height: h(48),
        decoration: BoxDecoration(
            color: isSelect ? MyColours.color_438E93 : MyColours.color_ffffff,
            border: Border(
                bottom: BorderSide(
                    color: MyColours.color_438E93,
                    width: ScreenUtil().setWidth(2)),
                top: BorderSide(
                    color: MyColours.color_438E93,
                    width: ScreenUtil().setWidth(2)),
                left: hasLeftBorder
                    ? BorderSide(
                        color: MyColours.color_438E93,
                        width: ScreenUtil().setWidth(2))
                    : BorderSide.none,
                right: BorderSide(
                    color: MyColours.color_438E93,
                    width: ScreenUtil().setWidth(2)))),
        child: Align(
          alignment: Alignment.center,
          child: Text(
            content,
            style: TextStyle(
                color:
                    isSelect ? MyColours.color_F6F6F6 : MyColours.color_438E93,
                fontSize: ScreenUtil().setSp(36)),
          ),
        ),
      ),
    );
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      backgroundColor: MyColours.color_ffffff,
      appBar: SystemAppBar(
        '宴会员工',
        needWhite: true,
        bgColor: MyColours.color_438E93,
        titleColor: MyColours.color_F6F6F6,
        onTap: () {
          Navigator.pop(context);
        },
      ),
      body: Column(
        children: [
          Expanded(
              child: NestedScrollView(
            // controller: _scrollViewController,
            headerSliverBuilder:
                (BuildContext context, bool innerBoxIsScrolled) {
              return <Widget>[
                SliverAppBar(
                  pinned: true,
                  floating: false,
                  leading: null,
                  backgroundColor: MyColours.color_ffffff,
                  expandedHeight: ScreenUtil().setWidth(56 * 2),
                  automaticallyImplyLeading: false,
                  title: buildFeastTypeHeader(true),
                  // flexibleSpace: FlexibleSpaceBar(
                  //     collapseMode: CollapseMode.pin,
                  //     title: buildFeastTypeHeader())
                )
              ];
            },
            body: ListView.builder(
                itemCount: 100,
                padding: EdgeInsets.only(left: w(16)),
                itemBuilder: (BuildContext context, int index) {
                  return buildFeastTypeItem();
                }),
          )),
          Row(
            children: [
              Expanded(
                  child: _callButton(
                      onPress: () {
                        Navigator.pop(context);
                      },
                      content: '返回',
                      hasLeftBorder: true,
                      isSelect: false)),
              Expanded(
                  child: _callButton(
                      onPress: () {},
                      content: '保存',
                      hasLeftBorder: true,
                      isSelect: true))
            ],
          )
        ],
      ),
    );
  }
}