statistics_provider.dart 2.11 KB
import 'package:flutter/material.dart';
import 'package:one_key/constant/state.dart';
import 'package:one_key/models/statics_model.dart';

class StatisticsProvider with ChangeNotifier {
  PageState pageState = PageState.Success;
  List<StaticsModel> dataStatics = [];
  StaticsModel tableHeaderModel;
  String dateS = "开始日期"; //开始时间
  String dateE = "结束日期"; //结束时间
  DateTime datetimeS; //开始时间
  DateTime datetimeE; //结束时间
  DateTime dateNow; //当前日期
  bool showWidget = true;

  int currentIndex = 0;
  TextEditingController controller = TextEditingController();
  String sortstr = '排序';

  StatisticsProvider() {
    tableHeaderModel = StaticsModel();
    tableHeaderModel.select = false;
    tableHeaderModel.numstr = '序号';
    tableHeaderModel.name = '顾客姓名';
    tableHeaderModel.phone = '电话';
    tableHeaderModel.count = '预订次数';
    datetimeS = DateTime.now();
    datetimeE = datetimeS.add(Duration(days: 1));
    dateNow = datetimeS;
    controller.text = '50';
  }

  ///全选按钮方法
  allSel() {
    if (tableHeaderModel.select) {
      for (StaticsModel item in dataStatics) {
        item.select = false;
      }
    } else {
      for (StaticsModel item in dataStatics) {
        item.select = true;
      }
    }
    needAllSel();
  }

  ///清除
  clear() {
    pageState = PageState.Statics;
    dateS = "开始日期"; //开始时间
    dateE = "结束日期"; //结束时间
    sortstr = '排序';
    currentIndex = 0;
    controller.text = '50';
    datetimeS = DateTime.now();
    datetimeE = datetimeS.add(Duration(days: 1));
    showWidget = true;
    notifyListeners();
  }

  ///改变全选按钮的状态
  needAllSel() {
    bool _needAllSel = dataStatics.every((element) => element.select == true);
    if (_needAllSel) {
      tableHeaderModel.select = true;
    } else {
      tableHeaderModel.select = false;
    }
    notifyListeners();
  }

  ///收否有选中的按钮
  selectAny() {
    bool selectAny = dataStatics.any((element) => element.select == true);
    if (selectAny) {
      return true;
    }
    return false;
  }
}