index.dart 2.5KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. import 'dart:async';
  2. import 'package:farmer_client/widgets/layout/BasicPage.dart';
  3. import 'package:flutter/material.dart';
  4. import 'package:flutter_screenutil/flutter_screenutil.dart';
  5. import 'package:get/get.dart';
  6. import 'package:get/get_rx/src/rx_types/rx_types.dart';
  7. import '../../models/app.dart';
  8. import '../../models/entities/CardListModel.dart';
  9. import '../../services/homeAPI.dart';
  10. import '../../widgets/CarsCard.dart';
  11. import '../../widgets/NullCard.dart';
  12. import 'dart:async';
  13. class SearchPage extends BasicPage {
  14. final cardSearchList = Rx<List<CardListModel>>([]);
  15. var location = AppController.t.locationStr;
  16. void _onChange(String value){
  17. print(location);
  18. searchMachinery(location.toString(),value).then((value) {
  19. final list = <CardListModel>[];
  20. value['records'].forEach((item) {
  21. list.add(CardListModel.fromJson(item));
  22. });
  23. cardSearchList(list);
  24. });
  25. }
  26. @override
  27. Widget builder(BuildContext context) {
  28. naviTitle = '搜索';
  29. return Container(
  30. child: Column(children: [
  31. Container(
  32. width: 345.w,
  33. height: 34.h,
  34. margin: EdgeInsets.symmetric(vertical: 15.h, horizontal: 15.w),
  35. padding: EdgeInsets.symmetric(vertical: 0, horizontal: 10.w),
  36. decoration: BoxDecoration(
  37. color: Color(0xFFf8f8f8),
  38. borderRadius: BorderRadius.all(Radius.circular(17.w))),
  39. child: Row(
  40. mainAxisAlignment: MainAxisAlignment.center,
  41. children: [
  42. Image.asset(
  43. 'images/icons/search.png',
  44. width: 15.w,
  45. height: 15.w,
  46. ),
  47. Container(
  48. width: 300.w,
  49. margin: EdgeInsets.fromLTRB(5.w, 0, 0, 0),
  50. child: TextField(
  51. style: TextStyle(fontSize: 14.sp),
  52. decoration: const InputDecoration(
  53. isCollapsed: true,
  54. hintText: '搜索关键字查询',
  55. border: InputBorder.none,
  56. counterText: '', //去掉计数
  57. floatingLabelBehavior: FloatingLabelBehavior.never,
  58. ),
  59. onChanged: (e) {
  60. _onChange(e);
  61. },
  62. ),
  63. ),
  64. ],
  65. ),
  66. ),
  67. Obx(()=>Column(
  68. children:
  69. cardSearchList.value.length>0?
  70. cardSearchList().map((item) => CarsCard(item: item)).toList()
  71. : [NullCard(text: '暂无农机信息!')],
  72. ))
  73. ]));
  74. }
  75. }