index.dart 2.0KB

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