contant_left_page.dart
2.77 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
import 'package:flutter/material.dart';
import 'package:flutter_easyrefresh/easy_refresh.dart';
import 'package:one_key/constant/state.dart';
import 'package:one_key/pages/my/contant_item_page.dart';
import 'package:one_key/provider/contant_show_model.dart';
import 'package:one_key/provider/user_model.dart';
import 'package:one_key/utils/dialog_util.dart';
import 'package:one_key/widgets/page_exception.dart';
import 'package:provider/provider.dart';
class ContantLeftPage extends StatefulWidget {
ContantLeftPage({Key? key}) : super(key: key);
@override
_ContantLeftPageState createState() => _ContantLeftPageState();
}
class _ContantLeftPageState extends State<ContantLeftPage> {
EasyRefreshController? _controller;
ContantShowModel? contantShowModel;
@override
void initState() {
super.initState();
_controller = EasyRefreshController();
WidgetsBinding.instance.addPostFrameCallback((_) {
_getContantData();
});
}
_getContantData() async {
Map<String, String?> params = {
"sid": Provider.of<UserModel>(context, listen: false).user!.sellerid,
};
await contantShowModel!.getUserHistorys(context, params);
await contantShowModel!.searchData(contantShowModel!.controller.text);
}
@override
Widget build(BuildContext context) {
contantShowModel = Provider.of<ContantShowModel>(context, listen: true);
return Consumer<ContantShowModel>(
builder: (context, model, _) {
if (model.pageStateLeft != PageState.Success) {
return ExceptionPage(
pageState: model.pageStateLeft,
callback: () {
model.pageStateLeft = PageState.Loading;
model.notifyListeners();
_getContantData();
},
emptyMsg: "暂时没有联系人哦",
emptyImg: "empty_search",
showMsg: "加载中,请稍候...",
);
} else {
return ListView.builder(
itemCount: model.userHistorysShow.length,
itemBuilder: (BuildContext context, int index) {
String? phone = model.userHistorysShow[index].phone == null ||
model.userHistorysShow[index].phone == ''
? ''
: model.userHistorysShow[index].phone;
return ContantItemPage(
onTap: () {
if (model.userHistorysShow[index].phone != null &&
model.userHistorysShow[index].phone != '') {
DialogUtil.goPhone(model.userHistorysShow[index].phone);
}
},
index: index,
model: contantShowModel,
data: model.userHistorysShow,
);
});
}
},
);
}
}