index.dart 5.9KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198
  1. import 'package:farmer_client/widgets/DefaultButton.dart';
  2. import 'package:flutter/material.dart';
  3. import 'package:flutter_screenutil/flutter_screenutil.dart';
  4. import 'package:fluttertoast/fluttertoast.dart';
  5. import 'package:get/get.dart';
  6. import 'package:farmer_client/widgets/Modal.dart' as modal;
  7. import '../../models/entities/OrderInfoModel.dart';
  8. import '../../services/orderAPI.dart';
  9. import '../../widgets/OrderInfoCard.dart';
  10. import '../../widgets/layout/BasicPage.dart';
  11. // class OrderContentInfo {
  12. // String title;
  13. // Color styleColor;
  14. // StyleObj ({ required this.title, required this.styleColor});
  15. // }
  16. class OrderPageInfo extends BasicPage {
  17. final id=Rx<String>('');
  18. final orderStateText=Rx<String>('待支付');
  19. final orderStateColor=Rx<Color>(Colors.black);
  20. final orderInfoContent = Rx<OrderInfoModel>(OrderInfoModel());
  21. // orderStates
  22. @override
  23. void beforeShow() {
  24. // TODO: implement beforeShow
  25. super.beforeShow();
  26. if (Get.arguments['id'] != null) {
  27. id(Get.arguments['id']);
  28. orderStateText(Get.arguments['title']);
  29. orderStateColor(Get.arguments['styleColor']);
  30. orderInfo(id()).then((value) {
  31. orderInfoContent(OrderInfoModel.fromJson(value));
  32. });
  33. }
  34. }
  35. @override
  36. Widget builder(BuildContext context) {
  37. naviTitle = '订单详情';
  38. return Column(
  39. children: [
  40. Obx(() =>
  41. OrderInfoCard(
  42. item: orderInfoContent(),
  43. orderStateText: orderStateText(),
  44. orderStateColor: orderStateColor()
  45. ),
  46. ),
  47. Obx(()=>_BottomWidget(id: id()))
  48. // orderStateText=='已完成'? Text('')
  49. // :orderStateText== '进行中' ?Text('')
  50. // :orderStateText=='待评价'? DefaultButton(
  51. // color: const Color(0xffffffff),
  52. // backColor: const Color(0xFFFF703B),
  53. // width: 300.w,
  54. // height: 49.h,
  55. // text: '评价',
  56. // onPressed: () {
  57. // Fluttertoast.showToast(msg: '评价成功!');
  58. // Get.offAllNamed('/');
  59. // },
  60. // margin: const EdgeInsets.all(0),
  61. // fontSize: 20.sp,
  62. // radius: 24.5.w,
  63. // )
  64. // :orderStateText=='待作业'?DefaultButton(
  65. // color: const Color(0xffffffff),
  66. // backColor: const Color(0xFFFF703B),
  67. // width: 300.w,
  68. // height: 49.h,
  69. // text: '退单',
  70. // onPressed: () {
  71. // Fluttertoast.showToast(msg: '评价成功!');
  72. // Get.offAllNamed('/');
  73. // },
  74. // margin: const EdgeInsets.all(0),
  75. // fontSize: 20.sp,
  76. // radius: 24.5.w,
  77. // )
  78. // :orderStateText=='待付款'?_BottomWidget
  79. // :orderStateText=='已退单'?Text('')
  80. // :orderStateText=='退单申请中'?DefaultButton(
  81. // color: const Color(0xffffffff),
  82. // backColor: const Color(0xFFFF703B),
  83. // width: 300.w,
  84. // height: 49.h,
  85. // text: orderStateText,
  86. // onPressed: () {
  87. // Fluttertoast.showToast(msg: '评价成功!');
  88. // Get.offAllNamed('/');
  89. // },
  90. // margin: const EdgeInsets.all(0),
  91. // fontSize: 20.sp,
  92. // radius: 24.5.w,
  93. // ):Text(''),
  94. // Spacer(),
  95. ],
  96. );
  97. }
  98. }
  99. class _BottomWidget extends StatelessWidget {
  100. final id;
  101. const _BottomWidget({Key? key, required this.id}) : super(key: key);
  102. void _orderDeletels (){
  103. modal.showDialog(title: '测试', content: SizedBox(width: 400, height: 300,), onConfirm: () => true);
  104. // orderDelete(id).then((value) {
  105. // Fluttertoast.showToast(
  106. // msg: '订单取消成功!'
  107. // );
  108. // Get.offNamed('/order');
  109. // });
  110. }
  111. @override
  112. Widget build(BuildContext context) {
  113. return Container(
  114. height: 100.w,
  115. alignment: Alignment.bottomCenter,
  116. margin: EdgeInsets.fromLTRB(15.w, 0, 15.w, 50.h),
  117. child: Row(
  118. mainAxisAlignment: MainAxisAlignment.spaceBetween,
  119. children: [
  120. Container(
  121. width: 150.w,
  122. height: 49.h,
  123. margin: EdgeInsets.fromLTRB(0, 30.w, 0, 30.w),
  124. alignment: Alignment.bottomCenter,
  125. child: SizedBox(
  126. width: 150.w,
  127. height: 49.h,
  128. child: ElevatedButton(
  129. onPressed: () {
  130. _orderDeletels();
  131. },
  132. child: const Text(
  133. "取消",
  134. style: TextStyle(
  135. fontSize: 18,
  136. color: Color(0xFFFF703B),
  137. fontWeight: FontWeight.bold),
  138. ),
  139. style: ButtonStyle(
  140. side: MaterialStateProperty.all(
  141. BorderSide(width: 1, color: Color(0xFFFF703B))), //边框
  142. elevation: MaterialStateProperty.all(0),
  143. backgroundColor: MaterialStateProperty.all(Colors.white),
  144. shape: MaterialStateProperty.all(
  145. RoundedRectangleBorder(
  146. borderRadius:
  147. BorderRadius.all(Radius.circular(24.4))),
  148. ),
  149. ),
  150. ),
  151. ),
  152. ),
  153. Container(
  154. margin: EdgeInsets.fromLTRB(0, 30.w, 0, 30.w),
  155. alignment: Alignment.bottomCenter,
  156. child: DefaultButton(
  157. color: const Color(0xffffffff),
  158. backColor: const Color(0xFFFF703B),
  159. width: 150.w,
  160. height: 49.h,
  161. text: '支付',
  162. onPressed: () {
  163. Fluttertoast.showToast(msg: '支付成功!');
  164. Get.offAllNamed('/');
  165. },
  166. margin: const EdgeInsets.all(0),
  167. fontSize: 20.sp,
  168. radius: 24.5.w,
  169. ),
  170. ),
  171. ],
  172. ),
  173. );
  174. }
  175. }