|
...
|
...
|
@@ -78,13 +78,13 @@ class _CustomerListPageState extends State<CustomerListPage> |
|
|
|
}
|
|
|
|
}
|
|
|
|
} else if (customerProvider.index == 0) {
|
|
|
|
customerProvider.hydSelAll = true;
|
|
|
|
for (FilterBtnModel item in customerProvider.filterHydList) {
|
|
|
|
// item.select = true;
|
|
|
|
item.select = false;
|
|
|
|
}
|
|
|
|
// customerProvider.hydSelAll = true;
|
|
|
|
// for (FilterBtnModel item in customerProvider.filterHydList) {
|
|
|
|
// item.select = true;
|
|
|
|
// // item.select = false;
|
|
|
|
// }
|
|
|
|
}
|
|
|
|
_getContantData();
|
|
|
|
_getContantData(first: true);
|
|
|
|
}
|
|
|
|
});
|
|
|
|
WidgetsBinding.instance.addPostFrameCallback((_) async {
|
|
...
|
...
|
@@ -99,13 +99,13 @@ class _CustomerListPageState extends State<CustomerListPage> |
|
|
|
}
|
|
|
|
|
|
|
|
customerProvider.initData();
|
|
|
|
if (tabController.index == 0) {
|
|
|
|
customerProvider.hydSelAll = true;
|
|
|
|
for (FilterBtnModel item in customerProvider.filterHydList) {
|
|
|
|
// item.select = true;
|
|
|
|
item.select = false;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
// if (tabController.index == 0) {
|
|
|
|
// customerProvider.hydSelAll = true;
|
|
|
|
// for (FilterBtnModel item in customerProvider.filterHydList) {
|
|
|
|
// item.select = true;
|
|
|
|
// // item.select = false;
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
_getContantData(first: first);
|
|
|
|
_filterLabelList();
|
|
|
|
_getSellerGuestManage();
|
|
...
|
...
|
@@ -233,15 +233,53 @@ class _CustomerListPageState extends State<CustomerListPage> |
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
if (customerProvider.controllerstime.text.trim().length > 0) {
|
|
|
|
params['stime'] = customerProvider.controllerstime.text;
|
|
|
|
}
|
|
|
|
if (customerProvider.controlleretime.text.trim().length > 0) {
|
|
|
|
params['etime'] = customerProvider.controlleretime.text;
|
|
|
|
}
|
|
|
|
if (customerProvider.controllernum.text.trim().length > 0) {
|
|
|
|
params['reserve_num'] = customerProvider.controlleretime.text;
|
|
|
|
params['reserve_sort'] = '${dropValue + 1}';
|
|
|
|
// if (customerProvider.controllerstime.text.trim().length > 0) {
|
|
|
|
// params['stime'] = customerProvider.controllerstime.text;
|
|
|
|
// }
|
|
|
|
// if (customerProvider.controlleretime.text.trim().length > 0) {
|
|
|
|
// params['etime'] = customerProvider.controlleretime.text;
|
|
|
|
// }
|
|
|
|
|
|
|
|
bool temp = customerProvider.filterDayList.any((value) {
|
|
|
|
return value.select == true;
|
|
|
|
});
|
|
|
|
if (temp == true) {
|
|
|
|
if (customerProvider.controllernum.text.trim().length == 0) {
|
|
|
|
Utils.showToast('请输入多少次预订');
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
String dayid = '';
|
|
|
|
for (FilterBtnModel item in customerProvider.filterDayList) {
|
|
|
|
if (item.select) {
|
|
|
|
dayid = item.id;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
params['reserve_date'] = dayid;
|
|
|
|
if (customerProvider.controllernum.text.trim().length > 0) {
|
|
|
|
params['reserve_num'] = customerProvider.controlleretime.text;
|
|
|
|
params['reserve_sort'] = '${dropValue + 1}';
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
if (customerProvider.controllernum.text.trim().length > 0) {
|
|
|
|
Utils.showToast('请选择7天、30天、60天或者120天');
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
if (customerProvider.controllerstime.text.trim().length > 0 &&
|
|
|
|
customerProvider.controlleretime.text.trim().length == 0) {
|
|
|
|
Utils.showToast('请输入结束天数');
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
if (customerProvider.controllerstime.text.trim().length == 0 &&
|
|
|
|
customerProvider.controlleretime.text.trim().length > 0) {
|
|
|
|
Utils.showToast('请输入开始天数');
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
if (customerProvider.controllerstime.text.trim().length > 0 &&
|
|
|
|
customerProvider.controlleretime.text.trim().length > 0) {
|
|
|
|
params['stime'] = customerProvider.controllerstime.text;
|
|
|
|
params['etime'] = customerProvider.controlleretime.text;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
await customerProvider.getCustomerBySeller(context, params);
|
|
...
|
...
|
@@ -564,26 +602,84 @@ class _CustomerListPageState extends State<CustomerListPage> |
|
|
|
in customerProvider.filterManageList) {
|
|
|
|
item.select = false;
|
|
|
|
}
|
|
|
|
for (FilterBtnModel item
|
|
|
|
in customerProvider.filterDayList) {
|
|
|
|
item.select = false;
|
|
|
|
}
|
|
|
|
customerProvider.controllerstime.text = '';
|
|
|
|
customerProvider.controlleretime.text = '';
|
|
|
|
customerProvider.controllernum.text = '';
|
|
|
|
dropValue = 0;
|
|
|
|
});
|
|
|
|
}, onPressedComplete: () {
|
|
|
|
bool temp = customerProvider.filterDayList.any((value) {
|
|
|
|
return value.select == true;
|
|
|
|
});
|
|
|
|
if (temp == true) {
|
|
|
|
if (customerProvider.controllernum.text.trim().length ==
|
|
|
|
0) {
|
|
|
|
Utils.showToast('请输入多少次预订');
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
if (customerProvider.controllernum.text.trim().length >
|
|
|
|
0) {
|
|
|
|
Utils.showToast('请选择7天、30天、60天或者120天');
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
if (customerProvider.controllerstime.text.trim().length >
|
|
|
|
0 &&
|
|
|
|
customerProvider.controlleretime.text.trim().length ==
|
|
|
|
0) {
|
|
|
|
Utils.showToast('请输入结束天数');
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
if (customerProvider.controllerstime.text.trim().length ==
|
|
|
|
0 &&
|
|
|
|
customerProvider.controlleretime.text.trim().length >
|
|
|
|
0) {
|
|
|
|
Utils.showToast('请输入开始天数');
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
Navigator.of(context).pop();
|
|
|
|
for (FilterBtnModel value
|
|
|
|
in customerProvider.filterHydList) {
|
|
|
|
if (value.select) {
|
|
|
|
if (value.title == '活跃') {
|
|
|
|
tabController.index = 1;
|
|
|
|
customerProvider.index = 1;
|
|
|
|
} else if (value.title == '沉睡') {
|
|
|
|
tabController.index = 2;
|
|
|
|
customerProvider.index = 2;
|
|
|
|
} else if (value.title == '流失') {
|
|
|
|
tabController.index = 3;
|
|
|
|
customerProvider.index = 3;
|
|
|
|
if (customerProvider.hydSelAll) {
|
|
|
|
//全选,默认全部
|
|
|
|
tabController.index = 0;
|
|
|
|
customerProvider.index = 0;
|
|
|
|
} else {
|
|
|
|
int tag = 0; //有几个选中的项目
|
|
|
|
for (FilterBtnModel value
|
|
|
|
in customerProvider.filterHydList) {
|
|
|
|
if (value.select) {
|
|
|
|
tag++;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if (tag == 0) {
|
|
|
|
//全不选,默认全部
|
|
|
|
tabController.index = 0;
|
|
|
|
customerProvider.index = 0;
|
|
|
|
} else if (tag == 1) {
|
|
|
|
for (FilterBtnModel value
|
|
|
|
in customerProvider.filterHydList) {
|
|
|
|
if (value.select) {
|
|
|
|
if (value.title == '活跃') {
|
|
|
|
tabController.index = 1;
|
|
|
|
customerProvider.index = 1;
|
|
|
|
} else if (value.title == '沉睡') {
|
|
|
|
tabController.index = 2;
|
|
|
|
customerProvider.index = 2;
|
|
|
|
} else if (value.title == '流失') {
|
|
|
|
tabController.index = 3;
|
|
|
|
customerProvider.index = 3;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
} else if (tag == 2) {
|
|
|
|
//选中2个的,默认全部
|
|
|
|
tabController.index = 0;
|
|
|
|
customerProvider.index = 0;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
setState(() {
|
|
...
|
...
|
@@ -591,10 +687,28 @@ class _CustomerListPageState extends State<CustomerListPage> |
|
|
|
});
|
|
|
|
_getContantData();
|
|
|
|
}, tapWhiteBack: () {
|
|
|
|
// Navigator.of(context).pop();
|
|
|
|
// setState(() {
|
|
|
|
// showFilter = false;
|
|
|
|
// });
|
|
|
|
Navigator.of(context).pop();
|
|
|
|
setState(() {
|
|
|
|
showFilter = false;
|
|
|
|
});
|
|
|
|
customerProvider.hydSelAll = false;
|
|
|
|
for (FilterBtnModel item
|
|
|
|
in customerProvider.filterHydList) {
|
|
|
|
item.select = false;
|
|
|
|
}
|
|
|
|
customerProvider.labelSelAll = false;
|
|
|
|
for (FilterBtnModel item
|
|
|
|
in customerProvider.filterLabelList) {
|
|
|
|
item.select = false;
|
|
|
|
}
|
|
|
|
for (FilterBtnModel item
|
|
|
|
in customerProvider.filterDayList) {
|
|
|
|
item.select = false;
|
|
|
|
}
|
|
|
|
customerProvider.controllerstime.text = '';
|
|
|
|
customerProvider.controlleretime.text = '';
|
|
|
|
customerProvider.controllernum.text = '';
|
|
|
|
dropValue = 0;
|
|
|
|
});
|
|
|
|
}
|
|
|
|
},
|
|
...
|
...
|
@@ -643,14 +757,27 @@ class _CustomerListPageState extends State<CustomerListPage> |
|
|
|
backgroundColor: Colors.transparent,
|
|
|
|
// resizeToAvoidBottomInset: false,
|
|
|
|
body: StatefulBuilder(builder: (context, state) {
|
|
|
|
return GestureDetector(
|
|
|
|
// behavior: HitTestBehavior.opaque,
|
|
|
|
onTap: tapWhiteBack,
|
|
|
|
child: _filterWidget(
|
|
|
|
state,
|
|
|
|
onPressedReset,
|
|
|
|
onPressedComplete,
|
|
|
|
));
|
|
|
|
return Column(children: [
|
|
|
|
GestureDetector(
|
|
|
|
behavior: HitTestBehavior.opaque,
|
|
|
|
onTap: tapWhiteBack,
|
|
|
|
// onTap: () {
|
|
|
|
// print('object');
|
|
|
|
// },
|
|
|
|
child: Container(
|
|
|
|
height: ScreenUtil().setWidth(92 + 52 + 30 * 3 + 90) +
|
|
|
|
ScreenUtil.statusBarHeight,
|
|
|
|
// width: s,
|
|
|
|
width: ScreenUtil.screenWidthDp,
|
|
|
|
// color: Colors.red,
|
|
|
|
)),
|
|
|
|
Expanded(
|
|
|
|
child: _filterWidget(
|
|
|
|
state,
|
|
|
|
onPressedReset,
|
|
|
|
onPressedComplete,
|
|
|
|
))
|
|
|
|
]);
|
|
|
|
}));
|
|
|
|
});
|
|
|
|
}
|
|
...
|
...
|
@@ -714,6 +841,7 @@ class _CustomerListPageState extends State<CustomerListPage> |
|
|
|
state(() {
|
|
|
|
item.select = !item.select;
|
|
|
|
});
|
|
|
|
customerProvider.getCheckmanageSelAll();
|
|
|
|
})),
|
|
|
|
],
|
|
|
|
);
|
|
...
|
...
|
@@ -728,31 +856,31 @@ class _CustomerListPageState extends State<CustomerListPage> |
|
|
|
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
|
|
|
children: [
|
|
|
|
_textWidget('活跃度', MyColours.color_333333, FontWeight.bold, 28),
|
|
|
|
// GestureDetector(
|
|
|
|
// onTap: () {
|
|
|
|
// state(() {
|
|
|
|
// customerProvider.hydSelAll = !customerProvider.hydSelAll;
|
|
|
|
// if (customerProvider.hydSelAll) {
|
|
|
|
// for (FilterBtnModel item
|
|
|
|
// in customerProvider.filterHydList) {
|
|
|
|
// item.select = true;
|
|
|
|
// }
|
|
|
|
// } else {
|
|
|
|
// for (FilterBtnModel item
|
|
|
|
// in customerProvider.filterHydList) {
|
|
|
|
// item.select = false;
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
// });
|
|
|
|
// },
|
|
|
|
// child: Container(
|
|
|
|
// color: Colors.white,
|
|
|
|
// height: ScreenUtil().setWidth(40),
|
|
|
|
// alignment: Alignment.center,
|
|
|
|
// padding: EdgeInsets.only(left: ScreenUtil().setWidth(130)),
|
|
|
|
// child: _textWidget(customerProvider.hydSelAll ? '全不选' : '全选',
|
|
|
|
// MyColours.color_199095, FontWeight.normal, 24)),
|
|
|
|
// )
|
|
|
|
GestureDetector(
|
|
|
|
onTap: () {
|
|
|
|
state(() {
|
|
|
|
customerProvider.hydSelAll = !customerProvider.hydSelAll;
|
|
|
|
if (customerProvider.hydSelAll) {
|
|
|
|
for (FilterBtnModel item
|
|
|
|
in customerProvider.filterHydList) {
|
|
|
|
item.select = true;
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
for (FilterBtnModel item
|
|
|
|
in customerProvider.filterHydList) {
|
|
|
|
item.select = false;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
});
|
|
|
|
},
|
|
|
|
child: Container(
|
|
|
|
color: Colors.white,
|
|
|
|
height: ScreenUtil().setWidth(40),
|
|
|
|
alignment: Alignment.center,
|
|
|
|
padding: EdgeInsets.only(left: ScreenUtil().setWidth(130)),
|
|
|
|
child: _textWidget(customerProvider.hydSelAll ? '全不选' : '全选',
|
|
|
|
MyColours.color_199095, FontWeight.normal, 24)),
|
|
|
|
)
|
|
|
|
],
|
|
|
|
),
|
|
|
|
VEmptyView(30),
|
|
...
|
...
|
@@ -761,19 +889,25 @@ class _CustomerListPageState extends State<CustomerListPage> |
|
|
|
runSpacing: ScreenUtil().setWidth(20),
|
|
|
|
children: _buildFilterItem(customerProvider.filterHydList, false,
|
|
|
|
(FilterBtnModel item) {
|
|
|
|
state(() {
|
|
|
|
item.select = !item.select;
|
|
|
|
|
|
|
|
// }
|
|
|
|
});
|
|
|
|
customerProvider.getCheckhydSelAll();
|
|
|
|
// state(() {
|
|
|
|
// item.select = !item.select;
|
|
|
|
// });
|
|
|
|
for (FilterBtnModel value in customerProvider.filterHydList) {
|
|
|
|
value.select = false;
|
|
|
|
}
|
|
|
|
for (FilterBtnModel value in customerProvider.filterHydList) {
|
|
|
|
if (item.id == value.id) {
|
|
|
|
state(() {
|
|
|
|
value.select = true;
|
|
|
|
});
|
|
|
|
}
|
|
|
|
}
|
|
|
|
// for (FilterBtnModel value in customerProvider.filterHydList) {
|
|
|
|
// value.select = false;
|
|
|
|
// }
|
|
|
|
// for (FilterBtnModel value in customerProvider.filterHydList) {
|
|
|
|
// if (item.id == value.id) {
|
|
|
|
// state(() {
|
|
|
|
// value.select = true;
|
|
|
|
// });
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
})),
|
|
|
|
],
|
|
|
|
);
|
|
...
|
...
|
@@ -827,6 +961,7 @@ class _CustomerListPageState extends State<CustomerListPage> |
|
|
|
state(() {
|
|
|
|
item.select = !item.select;
|
|
|
|
});
|
|
|
|
customerProvider.getChecklabelSelAll();
|
|
|
|
})),
|
|
|
|
],
|
|
|
|
);
|
|
...
|
...
|
@@ -918,13 +1053,13 @@ class _CustomerListPageState extends State<CustomerListPage> |
|
|
|
children: [
|
|
|
|
Expanded(
|
|
|
|
child: _textFeildWidget(customerProvider.controllerstime,
|
|
|
|
customerProvider.stimeFocus)),
|
|
|
|
customerProvider.stimeFocus, state)),
|
|
|
|
HEmptyView(10),
|
|
|
|
_textWidget('至', MyColours.color_199095, FontWeight.normal, 24),
|
|
|
|
HEmptyView(10),
|
|
|
|
Expanded(
|
|
|
|
child: _textFeildWidget(customerProvider.controlleretime,
|
|
|
|
customerProvider.etimeFocus)),
|
|
|
|
customerProvider.etimeFocus, state)),
|
|
|
|
],
|
|
|
|
),
|
|
|
|
VEmptyView(30),
|
|
...
|
...
|
@@ -933,16 +1068,28 @@ class _CustomerListPageState extends State<CustomerListPage> |
|
|
|
runSpacing: ScreenUtil().setWidth(20),
|
|
|
|
children: _buildFilterItem(customerProvider.filterDayList, true,
|
|
|
|
(FilterBtnModel item) {
|
|
|
|
if (customerProvider.stimeFocus.hasFocus) {
|
|
|
|
customerProvider.controllerstime.text = item.id;
|
|
|
|
customerProvider.controllerstime.text = '';
|
|
|
|
customerProvider.controlleretime.text = '';
|
|
|
|
for (FilterBtnModel value in customerProvider.filterDayList) {
|
|
|
|
value.select = false;
|
|
|
|
}
|
|
|
|
if (customerProvider.etimeFocus.hasFocus) {
|
|
|
|
customerProvider.controlleretime.text = item.id;
|
|
|
|
for (FilterBtnModel value in customerProvider.filterDayList) {
|
|
|
|
if (item.id == value.id) {
|
|
|
|
state(() {
|
|
|
|
value.select = true;
|
|
|
|
});
|
|
|
|
}
|
|
|
|
}
|
|
|
|
// if (customerProvider.stimeFocus.hasFocus) {
|
|
|
|
// customerProvider.controllerstime.text = item.id;
|
|
|
|
// }
|
|
|
|
// if (customerProvider.etimeFocus.hasFocus) {
|
|
|
|
// customerProvider.controlleretime.text = item.id;
|
|
|
|
// }
|
|
|
|
// state(() {
|
|
|
|
// item.select = !item.select;
|
|
|
|
// });
|
|
|
|
}, grayBack: true)),
|
|
|
|
})),
|
|
|
|
VEmptyView(30),
|
|
|
|
_textWidget('时间内预订次数', MyColours.color_333333, FontWeight.normal, 24),
|
|
|
|
VEmptyView(30),
|
|
...
|
...
|
@@ -1058,6 +1205,9 @@ class _CustomerListPageState extends State<CustomerListPage> |
|
|
|
textInputAction: TextInputAction.done,
|
|
|
|
|
|
|
|
onChanged: (value) {
|
|
|
|
customerProvider.controllerstime.text = '';
|
|
|
|
customerProvider.controlleretime.text = '';
|
|
|
|
state(() {});
|
|
|
|
// setState(() {});
|
|
|
|
// _searchSellerLocation();
|
|
|
|
// customerProvider.searchData(value);
|
|
...
|
...
|
@@ -1116,8 +1266,8 @@ class _CustomerListPageState extends State<CustomerListPage> |
|
|
|
}
|
|
|
|
|
|
|
|
/// 高级筛选输入框
|
|
|
|
Widget _textFeildWidget(
|
|
|
|
TextEditingController controller, FocusNode focusNode) {
|
|
|
|
Widget _textFeildWidget(TextEditingController controller, FocusNode focusNode,
|
|
|
|
StateSetter state) {
|
|
|
|
return Container(
|
|
|
|
padding: EdgeInsets.symmetric(
|
|
|
|
horizontal: ScreenUtil().setWidth(20),
|
|
...
|
...
|
@@ -1156,6 +1306,12 @@ class _CustomerListPageState extends State<CustomerListPage> |
|
|
|
textInputAction: TextInputAction.done,
|
|
|
|
|
|
|
|
onChanged: (value) {
|
|
|
|
for (FilterBtnModel value
|
|
|
|
in customerProvider.filterDayList) {
|
|
|
|
value.select = false;
|
|
|
|
}
|
|
|
|
customerProvider.controllernum.text = '';
|
|
|
|
state(() {});
|
|
|
|
// setState(() {});
|
|
|
|
// _searchSellerLocation();
|
|
|
|
// customerProvider.searchData(value);
|
|
...
|
...
|
@@ -1184,10 +1340,12 @@ class _CustomerListPageState extends State<CustomerListPage> |
|
|
|
padding: EdgeInsets.symmetric(
|
|
|
|
// horizontal: ScreenUtil().setWidth(30),
|
|
|
|
),
|
|
|
|
// height: ScreenUtil().setWidth(100),
|
|
|
|
margin: EdgeInsets.only(
|
|
|
|
top: ScreenUtil().setWidth(92 + 52 + 30 * 3 + 90) +
|
|
|
|
ScreenUtil.statusBarHeight),
|
|
|
|
height: ScreenUtil.screenHeightDp -
|
|
|
|
ScreenUtil().setWidth(92 + 52 + 30 * 3 + 90) -
|
|
|
|
ScreenUtil.statusBarHeight,
|
|
|
|
// margin: EdgeInsets.only(
|
|
|
|
// top: ScreenUtil().setWidth(92 + 52 + 30 * 3 + 90) +
|
|
|
|
// ScreenUtil.statusBarHeight),
|
|
|
|
color: Color.fromRGBO(00, 00, 00, 0.49),
|
|
|
|
child: Align(
|
|
|
|
alignment: Alignment.topCenter,
|
...
|
...
|
|