lift_brand_page.dart 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. import 'package:azlistview/azlistview.dart';
  2. import 'package:flutter/cupertino.dart';
  3. import 'package:flutter/material.dart';
  4. import 'package:liftmanager/internal/lift/model/lift_brand_entity.dart';
  5. import 'package:liftmanager/net/api_service.dart';
  6. import 'package:liftmanager/routers/fluro_navigator.dart';
  7. import 'package:liftmanager/utils/toast.dart';
  8. import 'package:liftmanager/widgets/app_bar.dart';
  9. class LiftBrandPage extends StatefulWidget{
  10. @override
  11. State<StatefulWidget> createState() {
  12. return LiftBrandPageState();
  13. }
  14. }
  15. class LiftBrandPageState extends State<LiftBrandPage>{
  16. List<LiftBrandEntity> _cityList = [];
  17. @override
  18. void initState() {
  19. super.initState();
  20. _loadData();
  21. }
  22. ///获取品牌数据
  23. _loadData(){
  24. ApiService(context: context).liftBrand(onSuccess: (data){
  25. _cityList = data;
  26. _cityList.sort((a, b) => (a.getSuspensionTag()).compareTo(b.getSuspensionTag()));
  27. setState(() {});
  28. },onError: (code,msg){
  29. toasts(msg);
  30. });
  31. }
  32. @override
  33. Widget build(BuildContext context) {
  34. return Scaffold(
  35. appBar: MyAppBar(
  36. centerTitle: "选择品牌",
  37. ),
  38. body:_cityList.length==0? Center(
  39. child: Text("数据加载中..."),
  40. ):
  41. SafeArea(
  42. child: AzListView(
  43. data: _cityList,
  44. itemBuilder: (context, model) => _buildListItem(model),
  45. isUseRealIndex: true,
  46. itemHeight: 40,
  47. suspensionWidget: null,
  48. suspensionHeight: 0,
  49. indexBarBuilder:(context, list, onTouch){
  50. return IndexBar(
  51. onTouch: onTouch,
  52. data: list,
  53. itemHeight: 18,
  54. touchDownColor: Colors.transparent,
  55. textStyle: Theme.of(context).textTheme.subtitle
  56. );
  57. },
  58. ),
  59. ),
  60. );
  61. }
  62. Widget _buildListItem(LiftBrandEntity model) {
  63. return InkWell(
  64. onTap: () => NavigatorUtils.goBackWithParams(context, model),
  65. child: Container(
  66. padding: const EdgeInsets.only(left: 16.0, right: 34.0),
  67. height: 40.0,
  68. child: Container(
  69. decoration: BoxDecoration(
  70. border: (model.isShowSuspension) ? Border(
  71. top: Divider.createBorderSide(context, width: 0.6),
  72. ) : null
  73. ),
  74. child: Row(
  75. children: <Widget>[
  76. Opacity(
  77. opacity: model.isShowSuspension ? 1 : 0,
  78. child: SizedBox(
  79. width: 28.0,
  80. child: Text(model.getSuspensionTag()),
  81. )
  82. ),
  83. Expanded(
  84. child: Text(model.name),
  85. )
  86. ],
  87. ),
  88. ),
  89. ),
  90. );
  91. }
  92. }