index.dart 2.0KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. import 'package:farmer_client/models/entities/CardInfo.dart';
  2. import 'package:farmer_client/widgets/layout/BasicPage.dart';
  3. import 'package:flutter/material.dart';
  4. import 'package:flutter_easyloading/flutter_easyloading.dart';
  5. import 'package:get/get.dart';
  6. import '../../../services/homeAPI.dart';
  7. import 'widgets/detail.dart';
  8. class MachineryDetailPage extends BasicPage {
  9. String markId = '';
  10. String marKm = '';
  11. final machineryInfoContent = Rx<CardInfo>(CardInfo()); //全部详情
  12. final machineryListBanner = Rx<List<BannerImageList>>([]); //banner轮播
  13. final machineryListContent = Rx<List<ContentImageList>>([]); //图文详情
  14. // 响应预约事件
  15. void handleClick() {
  16. Get.toNamed('/orderConfirmation',
  17. arguments: {'item': machineryInfoContent()});
  18. }
  19. @override
  20. void beforeShow() {
  21. // TODO: implement onMounted
  22. super.beforeShow();
  23. if (Get.arguments['id'] != null) {
  24. EasyLoading.show(status: '数据加载中...');
  25. markId = Get.arguments['id'];
  26. marKm = Get.arguments['km'];
  27. print(marKm);
  28. getMachineryInfo(markId, '122.08400000000002,37.421998333333335', true)
  29. .then((value) {
  30. machineryInfoContent(CardInfo.fromJson(value));
  31. machineryListBanner(machineryInfoContent().imagesList!);
  32. machineryListContent(machineryInfoContent().contentList!);
  33. EasyLoading.dismiss();
  34. });
  35. }
  36. print("----show----detail page--------------");
  37. }
  38. @override
  39. void beforeHide() {
  40. // TODO: implement beforeHide
  41. super.beforeHide();
  42. print("-----hide---detail page--------------");
  43. }
  44. @override
  45. Widget builder(BuildContext context) {
  46. naviTitle = "查看详情";
  47. return Obx(() => page(
  48. context: context,
  49. handleClick: handleClick,
  50. km: marKm,
  51. item: machineryInfoContent.value,
  52. bnnerItem: machineryListBanner.value,
  53. contentItem: machineryListContent.value));
  54. }
  55. }