index.dart 5.7KB

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. orderDelete(id).then((value) {
  104. Fluttertoast.showToast(
  105. msg: '订单取消成功!'
  106. );
  107. });
  108. }
  109. @override
  110. Widget build(BuildContext context) {
  111. return Container(
  112. height: 100.w,
  113. alignment: Alignment.bottomCenter,
  114. margin: EdgeInsets.fromLTRB(15.w, 0, 15.w, 50.h),
  115. child: Row(
  116. mainAxisAlignment: MainAxisAlignment.spaceBetween,
  117. children: [
  118. Container(
  119. width: 150.w,
  120. height: 49.h,
  121. margin: EdgeInsets.fromLTRB(0, 30.w, 0, 30.w),
  122. alignment: Alignment.bottomCenter,
  123. child: SizedBox(
  124. width: 150.w,
  125. height: 49.h,
  126. child: ElevatedButton(
  127. onPressed: () {
  128. _orderDeletels();
  129. },
  130. child: const Text(
  131. "取消",
  132. style: TextStyle(
  133. fontSize: 18,
  134. color: Color(0xFFFF703B),
  135. fontWeight: FontWeight.bold),
  136. ),
  137. style: ButtonStyle(
  138. side: MaterialStateProperty.all(
  139. BorderSide(width: 1, color: Color(0xFFFF703B))), //边框
  140. elevation: MaterialStateProperty.all(0),
  141. backgroundColor: MaterialStateProperty.all(Colors.white),
  142. shape: MaterialStateProperty.all(
  143. RoundedRectangleBorder(
  144. borderRadius:
  145. BorderRadius.all(Radius.circular(24.4))),
  146. ),
  147. ),
  148. ),
  149. ),
  150. ),
  151. Container(
  152. margin: EdgeInsets.fromLTRB(0, 30.w, 0, 30.w),
  153. alignment: Alignment.bottomCenter,
  154. child: DefaultButton(
  155. color: const Color(0xffffffff),
  156. backColor: const Color(0xFFFF703B),
  157. width: 150.w,
  158. height: 49.h,
  159. text: '支付',
  160. onPressed: () {
  161. Fluttertoast.showToast(msg: '支付成功!');
  162. Get.offAllNamed('/');
  163. },
  164. margin: const EdgeInsets.all(0),
  165. fontSize: 20.sp,
  166. radius: 24.5.w,
  167. ),
  168. ),
  169. ],
  170. ),
  171. );
  172. }
  173. }