piao_list.dart 7.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230
  1. import 'package:flutter/material.dart';
  2. import 'package:liftmanager/res/gaps.dart';
  3. import 'package:liftmanager/net/api_service.dart';
  4. import 'package:liftmanager/utils/toast.dart';
  5. import 'package:liftmanager/widgets/app_bar.dart';
  6. import 'package:liftmanager/internal/search/search_router.dart';
  7. import 'package:liftmanager/widgets/app_search_bar.dart';
  8. import 'package:liftmanager/res/resources.dart';
  9. import 'package:liftmanager/routers/fluro_navigator.dart';
  10. import 'package:liftmanager/widgets/load_image.dart';
  11. import 'package:liftmanager/internal/bbs/bbs_router.dart';
  12. import 'package:liftmanager/widgets/my_card.dart';
  13. import 'package:liftmanager/internal/wode/wode_router.dart';
  14. import 'package:flutter_screenutil/flutter_screenutil.dart';
  15. import 'package:liftmanager/mvp/base_page_state.dart';
  16. import 'package:liftmanager/internal/wode/presenter/piao_list_presenter.dart';
  17. import 'package:liftmanager/internal/search/presenter/base_list_provider.dart';
  18. import 'package:liftmanager/internal/wode/model/piao_model.dart';
  19. import 'package:liftmanager/widgets/state_layout.dart';
  20. import 'package:provider/provider.dart';
  21. import 'package:liftmanager/utils/time_format.dart';
  22. import 'package:liftmanager/utils/log_util.dart';
  23. import 'package:liftmanager/widgets/my_refresh_list.dart';
  24. class PiaoList extends StatefulWidget {
  25. // QuestionList(this.index);
  26. // final String index;
  27. @override
  28. PiaoListState createState() => PiaoListState();
  29. }
  30. class PiaoListState extends BasePageState<PiaoList,PiaoListPresenter> {
  31. BaseListProvider<Records> provider =
  32. BaseListProvider<Records>();
  33. int _page = 1;
  34. @override
  35. void initState() {
  36. provider.setStateTypeNotNotify(StateType.loading);
  37. super.initState();
  38. _onRefresh();
  39. print(66666);
  40. }
  41. getCheckFlag(int type) {
  42. String str;
  43. if (type == 1) {
  44. str = "已开发票";
  45. } else if (type == 2) {
  46. str = "已提交申请";
  47. } else if (type == 0) {
  48. str = "驳回";
  49. }
  50. return str;
  51. }
  52. @override
  53. void dispose() {
  54. super.dispose();
  55. }
  56. @override
  57. Widget build(BuildContext context) {
  58. double width = MediaQuery.of(context).size.width;
  59. return
  60. ChangeNotifierProvider<BaseListProvider<Records>>(
  61. create: (_) => provider,
  62. child:
  63. Scaffold(
  64. // resizeToAvoidBottomPadding: true,
  65. appBar: MyAppBar(
  66. centerTitle: "我的发票",
  67. // actions:<Widget>[
  68. // FlatButton(
  69. // child: Text("发票抬头"),
  70. // textColor: Colours.dark_text,
  71. // highlightColor: Colors.transparent,
  72. // onPressed: () {
  73. // NavigatorUtils.push(context, WodeRouter.piaotou);
  74. // },
  75. // )
  76. // ],
  77. ),
  78. body: Container(
  79. // color: Color(0xFFF1F4FC),
  80. child: Column(
  81. crossAxisAlignment: CrossAxisAlignment.start,
  82. children: <Widget>[
  83. Expanded(
  84. flex: 1,
  85. child: Consumer<BaseListProvider<Records>>(
  86. builder: (_, provider, __) {
  87. return MyListView(
  88. key: Key('piao_list'),
  89. itemCount: provider.list.length,
  90. stateType: provider.stateType,
  91. onRefresh: _onRefresh,
  92. loadMore: _loadMore,
  93. pageSize: 6,
  94. hasMore: provider.hasMore,
  95. itemBuilder: (_, index) {
  96. return
  97. Container(
  98. padding: index==provider.list.length-1?EdgeInsets.only(bottom:ScreenUtil().setWidth(15),left:ScreenUtil().setWidth(10),right:ScreenUtil().setWidth(10),top:ScreenUtil().setWidth(15)):EdgeInsets.only(left:ScreenUtil().setWidth(10),right:ScreenUtil().setWidth(10),top:ScreenUtil().setWidth(15)),
  99. child: MyCard(
  100. child:InkWell(
  101. child:Container(
  102. padding: EdgeInsets.only(left:ScreenUtil().setWidth(15),right:ScreenUtil().setWidth(15),top:ScreenUtil().setWidth(10),bottom:ScreenUtil().setWidth(10)),
  103. child: Column(
  104. crossAxisAlignment: CrossAxisAlignment.start,
  105. children:<Widget>[
  106. Row(
  107. mainAxisAlignment: MainAxisAlignment.spaceBetween,
  108. children: <Widget>[
  109. Text(
  110. "服务",
  111. textAlign: TextAlign.left,
  112. style: TextStyle(
  113. fontSize:ScreenUtil().setSp(16),
  114. color:Color(0xff000000),
  115. ),
  116. ),
  117. Text(
  118. getCheckFlag(provider.list[index].checkFlag),
  119. textAlign: TextAlign.left,
  120. style: TextStyle(
  121. fontSize:ScreenUtil().setSp(14),
  122. color:Color(0xff999999),
  123. ),
  124. ),
  125. ],
  126. ),
  127. SizedBox(
  128. height:10
  129. ),
  130. Container(
  131. child: Text(
  132. provider.list[index].createTime!=null?DateUtils.instance
  133. .getFormartData(
  134. timeSamp: provider
  135. .list[index]
  136. .createTime,
  137. format: "yyyy-MM-dd"):"",
  138. textAlign: TextAlign.left,
  139. style: TextStyle(
  140. fontSize:ScreenUtil().setSp(14),
  141. color:Color(0xff999999),
  142. ),
  143. ),
  144. ),
  145. Row(
  146. mainAxisAlignment: MainAxisAlignment.spaceBetween,
  147. children: <Widget>[
  148. Text(
  149. provider.list[index].invoiceType == "1"?'电子发票':"专用发票",
  150. textAlign: TextAlign.left,
  151. style: TextStyle(
  152. fontSize:ScreenUtil().setSp(14),
  153. color:Color(0xff999999),
  154. ),
  155. ),
  156. Text(
  157. '¥${provider.list[index].hjje??"0"}',
  158. textAlign: TextAlign.left,
  159. style: TextStyle(
  160. fontSize:ScreenUtil().setSp(16),
  161. color:Color(0xff333333),
  162. ),
  163. ),
  164. ],
  165. ),
  166. // Container(
  167. // child: Text(
  168. // '开票序号:${provider.list[index].hm??"0"}',
  169. // textAlign: TextAlign.left,
  170. // style: TextStyle(
  171. // fontSize:ScreenUtil().setSp(14),
  172. // color:Color(0xff999999),
  173. // ),
  174. // ),
  175. // ),
  176. ]
  177. ),
  178. ),
  179. onTap: (){
  180. NavigatorUtils.push(context, "${WodeRouter.piaoDetail}?id=${provider.list[index].id}");
  181. },
  182. )
  183. ),
  184. );
  185. },
  186. );
  187. })
  188. )
  189. ],
  190. ),
  191. ),
  192. ));
  193. }
  194. Future _onRefresh() async {
  195. _page = 1;
  196. await presenter.getWalletList( _page);
  197. }
  198. Future _loadMore() async {
  199. _page++;
  200. await presenter.getWalletList(_page);
  201. }
  202. @override
  203. PiaoListPresenter createPresenter() {
  204. return PiaoListPresenter();
  205. }
  206. }