Selaa lähdekoodia

Merge branch 'master' of http://git.ycjcjy.com/nanyang/farmer_client

李志伟 3 vuotta sitten
vanhempi
commit
e5a8e1aa9d

BIN
.gradle/6.8/fileChanges/last-build.bin Näytä tiedosto


BIN
.gradle/6.8/fileHashes/fileHashes.lock Näytä tiedosto


+ 0
- 0
.gradle/6.8/gc.properties Näytä tiedosto


BIN
.gradle/buildOutputCleanup/buildOutputCleanup.lock Näytä tiedosto


+ 0
- 2
.gradle/buildOutputCleanup/cache.properties Näytä tiedosto

@@ -1,2 +0,0 @@
1
-#Wed Apr 20 15:13:32 CST 2022
2
-gradle.version=6.8

BIN
.gradle/checksums/checksums.lock Näytä tiedosto


+ 0
- 0
.gradle/configuration-cache/gc.properties Näytä tiedosto


+ 0
- 0
.gradle/vcs-1/gc.properties Näytä tiedosto


+ 20
- 1
lib/models/entities/Address.dart Näytä tiedosto

@@ -1,14 +1,33 @@
1 1
 class Address {
2 2
   String? address;
3 3
   bool? isDefault;
4
+  String? addressId;
5
+  String? ownerType;
6
+  String? ownerId;
7
+  num? sortNo;
8
+  String? orgId;
9
+  num? status;
10
+
4 11
   Address();
5 12
 
6 13
   Address.fromJson(Map<String, dynamic> json)
7 14
       : address = json["address"],
8
-        isDefault = json["isDefault"];
15
+        isDefault = json["isDefault"],
16
+        addressId = json["addressId"],
17
+        ownerType = json["ownerType"],
18
+        ownerId = json["ownerId"],
19
+        sortNo = json["sortNo"],
20
+        orgId = json["orgId"],
21
+        status = json["status"];
9 22
 
10 23
   Map<String, dynamic> toJson() => {
11 24
         'address': address,
12 25
         'isDefault': isDefault,
26
+        'addressId': addressId,
27
+        'ownerType': ownerType,
28
+        'ownerId': ownerId,
29
+        'sortNo': sortNo,
30
+        'orgId': orgId,
31
+        'status': status,
13 32
       };
14 33
 }

+ 1
- 1
lib/models/entities/CardInfo.dart Näytä tiedosto

@@ -91,7 +91,7 @@ class ContentImageList {
91 91
   String? contentType;
92 92
   String? createDate;
93 93
   String? extId;
94
-  String? sort;
94
+  num? sort;
95 95
   String? targetId;
96 96
   String? targetType;
97 97
   ContentImageList();

+ 20
- 11
lib/pages/OrderConfirmation/index.dart Näytä tiedosto

@@ -8,13 +8,15 @@ import 'package:fluttertoast/fluttertoast.dart';
8 8
 import 'package:get/get.dart';
9 9
 import 'package:intl/intl.dart';
10 10
 
11
+import '../../models/entities/CardListModel.dart';
11 12
 import '../../models/entities/OrderInfoModel.dart';
13
+import '../../services/homeAPI.dart';
12 14
 import '../../services/orderAPI.dart';
13 15
 
14 16
 class OrderConfirmation extends BasicPage {
15 17
   TextEditingController _unameController = TextEditingController();
16 18
   GlobalKey _formKey = GlobalKey<FormState>();
17
-
19
+  String markId = '';
18 20
   final selectDate = Rx<DateTime>(DateTime.now()); //选择的时间
19 21
   final workingArea = Rx<int>(0);
20 22
   AddressController addressController = AddressController.t;
@@ -26,8 +28,16 @@ class OrderConfirmation extends BasicPage {
26 28
     // TODO: implement beforeShow
27 29
     super.beforeShow();
28 30
     if(Get.arguments['item']!=null){
29
-      item.value=Get.arguments['item'];
31
+      item(Get.arguments['item']);
30 32
     }else{
33
+      markId=Get.arguments['id'];
34
+      getMachineryInfo(markId, '122.08400000000002,37.421998333333335', true).then((value) {
35
+        item(CardInfo.fromJson(value));
36
+
37
+      });
38
+
39
+      // item(CardInfo.fromJson(Get.arguments['item']));
40
+
31 41
       return;
32 42
     }
33 43
   }
@@ -53,12 +63,11 @@ class OrderConfirmation extends BasicPage {
53 63
         'appointmentDate': '${DateFormat("yyyy-MM-dd").format(selectDate.value)} 08:00:00',
54 64
       };
55 65
       generateOrder(data).then((value) {
56
-        orderInfo.value=OrderInfoModel.fromJson(value);
66
+        orderInfo(OrderInfoModel.fromJson(value));
57 67
         Fluttertoast.showToast(
58 68
             msg: '预约成功'
59 69
         );
60
-        Get.to('/OrderInfoCard',arguments: {'id':orderInfo.value.orderId});
61
-
70
+        Get.offNamed('/orderPageInfo',arguments: {'id':orderInfo().orderId});
62 71
 
63 72
       });
64 73
       //验证通过提交数据
@@ -88,7 +97,7 @@ class OrderConfirmation extends BasicPage {
88 97
               ),
89 98
             ),
90 99
             TextFormField(
91
-              // autofocus: true,
100
+              autofocus: false,
92 101
               keyboardType: TextInputType.number,
93 102
               controller: _unameController,
94 103
               decoration: const InputDecoration(
@@ -108,7 +117,7 @@ class OrderConfirmation extends BasicPage {
108 117
                 hintText: "请输入具体面积(公顷)",
109 118
               ),
110 119
               onChanged: (e) {
111
-                workingArea.value = int.parse(e);
120
+                workingArea(int.parse(e));
112 121
               },
113 122
               // 校验用户名
114 123
               validator: (v) {
@@ -152,19 +161,19 @@ class OrderConfirmation extends BasicPage {
152 161
                             helpText: '请选择作业开始时间',
153 162
                             cancelText: '取消',
154 163
                             confirmText: '确定',
155
-                            initialDate: selectDate.value == null
164
+                            initialDate: selectDate() == null
156 165
                                 ? DateTime.now()
157
-                                : selectDate.value,
166
+                                : selectDate(),
158 167
                             firstDate: DateTime.now(),
159 168
                             lastDate: DateTime(2030),
160 169
                           );
161
-                          selectDate.value = handleChnage!;
170
+                          selectDate(handleChnage!);
162 171
                           print('${selectDate}+');
163 172
                         },
164 173
                         child: Obx(()=>
165 174
                             Text(selectDate == null
166 175
                                 ? '请选择日期'
167
-                                : '${DateFormat("yyyy-MM-dd").format(selectDate.value)}'),
176
+                                : '${DateFormat("yyyy-MM-dd").format(selectDate())}'),
168 177
                         )
169 178
 
170 179
                       ),

+ 24
- 6
lib/pages/addAddress/index.dart Näytä tiedosto

@@ -1,4 +1,5 @@
1 1
 import 'package:farmer_client/models/entities/Address.dart';
2
+import 'package:farmer_client/services/address.dart';
2 3
 import 'package:farmer_client/widgets/DefaultButton.dart';
3 4
 import 'package:farmer_client/widgets/layout/BasicPage.dart';
4 5
 import 'package:flutter/material.dart';
@@ -10,13 +11,16 @@ class AddAddress extends BasicPage {
10 11
 
11 12
   final address =Rx<Address>(Address());
12 13
   late String text = '';
14
+  late String id = '';
13 15
 
14 16
   @override
15 17
   void beforeShow() {
16 18
     super.beforeShow();
17 19
     if (Get.arguments != null) {
18
-      address.value = Get.arguments['item'];
19
-      text = address.value.address.toString();
20
+      print( Get.arguments['item']);
21
+      // address(Get.arguments['item']);
22
+      text = Get.arguments['item'];
23
+      id = Get.arguments['id'];
20 24
     }
21 25
   }
22 26
 
@@ -58,7 +62,7 @@ class AddAddress extends BasicPage {
58 62
                 floatingLabelBehavior: FloatingLabelBehavior.never,
59 63
               ),
60 64
               onChanged: (e) {
61
-                  address.value.address = e;
65
+                  address().address=e;
62 66
               },
63 67
             ),
64 68
           ),
@@ -73,9 +77,23 @@ class AddAddress extends BasicPage {
73 77
                 Fluttertoast.showToast(
74 78
                     msg: '请输入地址!');
75 79
               } else{
76
-                Fluttertoast.showToast(
77
-                    msg: '保存成功!');
78
-                Get.back();
80
+                if(text==''){
81
+                  addressSave(address().address.toString()).then((value){
82
+                    Fluttertoast.showToast(
83
+                        msg: '添加地址成功!');
84
+                    Get.back();
85
+                  });
86
+
87
+                }else{
88
+                  addressUpdate(id,address().address.toString()).then((value) {
89
+                    Fluttertoast.showToast(
90
+                        msg: '修改地址成功!');
91
+                    Get.back();
92
+                  });
93
+                  
94
+                }
95
+
96
+
79 97
               }
80 98
             },
81 99
             margin: const EdgeInsets.all(0),

+ 43
- 19
lib/pages/addressList/index.dart Näytä tiedosto

@@ -8,35 +8,57 @@ import 'package:flutter_screenutil/flutter_screenutil.dart';
8 8
 import 'package:fluttertoast/fluttertoast.dart';
9 9
 import 'package:get/get.dart';
10 10
 
11
+import '../../services/address.dart';
12
+
11 13
 class AddressList extends BasicPage {
12 14
   bool isBack = false;
13 15
   AddressController addressController=AddressController.t;
16
+  final addressList = Rx<List<Address>>([]);
17
+
14 18
 
15 19
   @override
16 20
   void beforeShow() {
17 21
     super.beforeShow();
22
+    getAddress().then((value) {
23
+      final list = <Address>[];
24
+      value['records'].forEach((item) {
25
+        list.add(Address.fromJson(item));
26
+      });
27
+      addressList(list);
28
+    });
18 29
     if (Get.arguments != null) {
19 30
       isBack = Get.arguments['isBack'];
20 31
     }
21 32
   }
22 33
 
23
-  final addressList = Rx<List<Address>>([
24
-    Address.fromJson({'address': '777', 'isDefault': false}),
25
-    Address.fromJson({'address': '999', 'isDefault': false}),
26
-    Address.fromJson({'address': '这是一个正经的地址', 'isDefault': false}),
27
-  ]);
28 34
 
29
-  void onChange(index) {
30
-    for (var element in addressList.value) {
31
-      if (element.isDefault == true) {
32
-        element.isDefault = false;
35
+  void onChange(id) {
36
+    print(id);
37
+    addressDefault(id.toString()).then((value){
38
+      final defaultlist = [...addressList()];
39
+      for (var element in addressList()) {
40
+        if (element.isDefault == true) {
41
+          element.isDefault = false;
42
+        }
33 43
       }
34
-    }
35
-    addressList.value[index].isDefault = true;
44
+      addressList(defaultlist);
45
+    });
46
+
36 47
   }
37 48
 
38
-  void onDelete(index) {
39
-    Fluttertoast.showToast(msg: '删除成功!');
49
+  void onDelete(id) {
50
+    print(id);
51
+
52
+    addressDelete(id).then((value) {
53
+      final newslist = [...addressList()];
54
+      for (var item in addressList()) {
55
+        if (item.addressId == id) {
56
+          newslist.remove(item);
57
+        }
58
+      }
59
+      addressList(newslist);
60
+      Fluttertoast.showToast(msg: '删除成功!');
61
+    });
40 62
   }
41 63
 
42 64
   @override
@@ -50,8 +72,8 @@ class AddressList extends BasicPage {
50 72
             //左对齐
51 73
             crossAxisAlignment: CrossAxisAlignment.start,
52 74
             children: [
53
-              Column(
54
-                  children: addressList.value
75
+              Obx(()=>Column(
76
+                  children: addressList()
55 77
                       .asMap()
56 78
                       .keys
57 79
                       .map(
@@ -60,22 +82,23 @@ class AddressList extends BasicPage {
60 82
                           item: addressList.value[e],
61 83
                           isBack: isBack,
62 84
                           onChange: () {
63
-                            onChange(e);
85
+                            onChange(addressList()[e].addressId);
64 86
                           },
65 87
                           onEdit: () {
66 88
                             Get.toNamed('/addAddress',
67
-                                arguments: {'item': addressList.value[e]});
89
+                                arguments: {'id':addressList.value[e].addressId,'item': addressList.value[e].address.toString()});
68 90
                           },
69 91
                           onDelete: () {
70
-                            onDelete(e);
92
+                            onDelete(addressList.value[e].addressId);
71 93
                           },
72 94
                           onBack: () {
95
+                            //选择地址
73 96
                             addressController.address.value=addressList.value[e];
74 97
                             Get.back();
75 98
                           },
76 99
                         ),
77 100
                       )
78
-                      .toList()),
101
+                      .toList()),),
79 102
               DefaultButton(
80 103
                 color: const Color(0xffffffff),
81 104
                 backColor: const Color(0xFFFF703B),
@@ -96,3 +119,4 @@ class AddressList extends BasicPage {
96 119
     );
97 120
   }
98 121
 }
122
+

+ 4
- 4
lib/pages/machinery/detail/index.dart Näytä tiedosto

@@ -13,7 +13,7 @@ class MachineryDetailPage extends BasicPage {
13 13
   final machineryListContent= Rx<List<ContentImageList>>([]);//图文详情
14 14
   // 响应预约事件
15 15
   void handleClick() {
16
-    Get.toNamed('/orderConfirmation',arguments: {'item':machineryInfoContent.value});
16
+    Get.toNamed('/orderConfirmation',arguments: {'item':machineryInfoContent()});
17 17
   }
18 18
 
19 19
 
@@ -26,9 +26,9 @@ class MachineryDetailPage extends BasicPage {
26 26
      marKm = Get.arguments['km'];
27 27
      print(marKm);
28 28
       getMachineryInfo(markId, '122.08400000000002,37.421998333333335', true).then((value) {
29
-        machineryInfoContent.value=CardInfo.fromJson(value);
30
-        machineryListBanner.value=machineryInfoContent.value.imagesList!;
31
-        machineryListContent.value=machineryInfoContent.value.contentList!;
29
+        machineryInfoContent(CardInfo.fromJson(value));
30
+        machineryListBanner(machineryInfoContent().imagesList!);
31
+        machineryListContent(machineryInfoContent().contentList!);
32 32
 
33 33
       });
34 34
 

+ 5
- 3
lib/pages/machinery/map/index.dart Näytä tiedosto

@@ -13,7 +13,9 @@ class MachineryMapPage extends BasicPage {
13 13
   final machineryInfoContent = Rx<CardInfo>(CardInfo());//全部详情
14 14
   // 响应预约事件
15 15
   void handleClick() {
16
-    Get.toNamed("/machineryDetail");
16
+    // Get.toNamed("/machineryDetail");
17
+    Get.toNamed('/orderConfirmation',arguments: {'item':machineryInfoContent()});
18
+
17 19
   }
18 20
 
19 21
   @override
@@ -25,7 +27,7 @@ class MachineryMapPage extends BasicPage {
25 27
       marKm = Get.arguments['km'];
26 28
       print(marKm);
27 29
       getMachineryInfo(markId, '122.08400000000002,37.421998333333335', true).then((value) {
28
-        machineryInfoContent.value=CardInfo.fromJson(value);
30
+        machineryInfoContent(CardInfo.fromJson(value));
29 31
 
30 32
       });
31 33
 
@@ -43,7 +45,7 @@ class MachineryMapPage extends BasicPage {
43 45
   @override
44 46
   Widget builder(BuildContext context) {
45 47
     naviTitle = "查看地图";
46
-    return Obx(()=>page(context: context, handleClick: handleClick,item: machineryInfoContent.value,km: marKm));
48
+    return Obx(()=>page(context: context, handleClick: handleClick,item: machineryInfoContent(),km: marKm));
47 49
   }
48 50
   
49 51
 }

+ 5
- 1
lib/pages/machinery/map/widgets/detail.dart Näytä tiedosto

@@ -25,7 +25,11 @@ Widget page({required CardInfo item,required String km, required BuildContext co
25 25
         DefLayout.card(
26 26
             top: DefLayout.headHeight - DefLayout.offset,
27 27
             height: DefLayout.headHeight,
28
-            child: Image.network(item.thumb.toString(), fit: BoxFit.cover)
28
+            child: Image.network(item.thumb.toString(), fit: BoxFit.cover,
29
+            errorBuilder:  (ctx, exception, stackTrace) {
30
+              return Container(); //THE WIDGET YOU WANT TO SHOW IF URL NOT RETURN IMAGE
31
+            },
32
+            ),
29 33
         ),
30 34
         DefLayout.card(
31 35
             top: (DefLayout.headHeight - DefLayout.offset) * 2,

+ 25
- 1
lib/pages/main/index.dart Näytä tiedosto

@@ -1,15 +1,39 @@
1 1
 import 'package:farmer_client/pages/main/widgets/main/index.dart';
2 2
 import 'package:farmer_client/widgets/layout/BasicPage.dart';
3 3
 import 'package:flutter/material.dart';
4
+import 'package:get/get.dart';
5
+import 'package:get/get_rx/src/rx_types/rx_types.dart';
6
+
7
+import '../../models/entities/Address.dart';
8
+import '../../services/address.dart';
4 9
 
5 10
 class Main extends BasicPage {
6 11
   Main({Key? key}) : super(key: key) {
7 12
     tabIndex = 3;
8 13
     naviTitle = '我的';
9 14
   }
15
+  final addressListInfo = Rx<List<Address>>([]);
16
+
17
+  @override
18
+  void beforeShow() {
19
+    // TODO: implement beforeShow
20
+    super.beforeShow();
21
+    getAddress().then((value) {
22
+       List<Address> list = [];
23
+      value['records'].forEach((item) {
24
+        list.add(Address.fromJson(item));
25
+      });
26
+       addressListInfo(list);
27
+    });
28
+  }
29
+
10 30
 
11 31
   @override
12 32
   Widget builder(BuildContext context) {
13
-    return const MainPage();
33
+    return Obx(()=> MainPage(
34
+        item:addressListInfo()[0].address.toString()
35
+     )
36
+
37
+    );
14 38
   }
15 39
 }

+ 20
- 3
lib/pages/main/widgets/main/index.dart Näytä tiedosto

@@ -1,3 +1,4 @@
1
+import 'package:farmer_client/models/entities/Address.dart';
1 2
 import 'package:get/get.dart';
2 3
 import 'package:get_storage/get_storage.dart';
3 4
 
@@ -8,16 +9,32 @@ import 'package:flutter/material.dart';
8 9
 import 'package:flutter_screenutil/flutter_screenutil.dart';
9 10
 
10 11
 class MainPage extends StatefulWidget {
11
-  const MainPage({Key? key}) : super(key: key);
12
+  final String item;
13
+
14
+
15
+
16
+   MainPage({Key? key, required this.item}) : super(key: key);
12 17
 
13 18
   @override
14
-  State<MainPage> createState() => _MainPageState();
19
+  State<MainPage> createState() => _MainPageState(item);
20
+
15 21
 }
16 22
 
17 23
 class _MainPageState extends State<MainPage> {
18 24
   GetStorage box = GetStorage();
25
+  late String item='请维护详细地址!';
26
+  _MainPageState(this.item);
27
+
28
+  @override
29
+  void initState() {
30
+    super.initState();
31
+    print('644444444444444+$item');
32
+
33
+  }
34
+
19 35
   @override
20 36
   Widget build(BuildContext context) {
37
+
21 38
     return Container(
22 39
       alignment: Alignment.center,
23 40
       child: Column(
@@ -25,7 +42,7 @@ class _MainPageState extends State<MainPage> {
25 42
           Column(
26 43
             children: [
27 44
               UserInfo(), //头部,头像手机号姓名
28
-              UserAddress(), //用户地址
45
+              UserAddress(item:item),//用户地址
29 46
               OtherColumn(), //功能菜单栏
30 47
               Container(
31 48
                 height: 70.h,

+ 6
- 2
lib/pages/main/widgets/main/widgets/UserAddress.dart Näytä tiedosto

@@ -2,8 +2,12 @@ import 'package:flutter/material.dart';
2 2
 import 'package:flutter_screenutil/flutter_screenutil.dart';
3 3
 import 'package:get/get.dart';
4 4
 
5
+import '../../../../../models/entities/Address.dart';
6
+
5 7
 class UserAddress extends StatelessWidget {
6
-  const UserAddress({Key? key}) : super(key: key);
8
+  final String item;
9
+
10
+  const UserAddress({Key? key, required this.item}) : super(key: key);
7 11
 
8 12
   @override
9 13
   Widget build(BuildContext context) {
@@ -62,7 +66,7 @@ class UserAddress extends StatelessWidget {
62 66
                         Container(
63 67
                           width: 260,
64 68
                           child: Text(
65
-                            '请填写详细地址请填写详细地址请填写详细地址',
69
+                            item != null? item: '请设置默认地址',
66 70
                             softWrap: true,
67 71
                             maxLines: 1,
68 72
                             textAlign: TextAlign.left,

+ 30
- 15
lib/pages/orderInfo/index.dart Näytä tiedosto

@@ -3,6 +3,7 @@ import 'package:flutter/material.dart';
3 3
 import 'package:flutter_screenutil/flutter_screenutil.dart';
4 4
 import 'package:fluttertoast/fluttertoast.dart';
5 5
 import 'package:get/get.dart';
6
+import 'package:farmer_client/widgets/Modal.dart' as modal;
6 7
 
7 8
 import '../../models/entities/OrderInfoModel.dart';
8 9
 import '../../services/orderAPI.dart';
@@ -18,10 +19,9 @@ import '../../widgets/layout/BasicPage.dart';
18 19
 
19 20
 
20 21
 class OrderPageInfo extends BasicPage {
21
-  String id = '';
22
-  String orderStateText = '';
23
-  late Color orderStateColor;
24
-
22
+  final id=Rx<String>('');
23
+  final orderStateText=Rx<String>('待支付');
24
+  final orderStateColor=Rx<Color>(Colors.black);
25 25
   final orderInfoContent = Rx<OrderInfoModel>(OrderInfoModel());
26 26
 
27 27
   // orderStates
@@ -31,17 +31,18 @@ class OrderPageInfo extends BasicPage {
31 31
     // TODO: implement beforeShow
32 32
     super.beforeShow();
33 33
     if (Get.arguments['id'] != null) {
34
-      id = Get.arguments['id'];
34
+      id(Get.arguments['id']);
35 35
 
36
-      orderStateText = Get.arguments['title'];
37
-      orderStateColor = Get.arguments['styleColor'];
36
+      orderStateText(Get.arguments['title']);
37
+      orderStateColor(Get.arguments['styleColor']);
38 38
 
39
-      orderInfo(id).then((value) {
40
-        orderInfoContent.value = OrderInfoModel.fromJson(value);
39
+      orderInfo(id()).then((value) {
40
+        orderInfoContent(OrderInfoModel.fromJson(value));
41 41
       });
42 42
     }
43 43
   }
44 44
 
45
+
45 46
   @override
46 47
   Widget builder(BuildContext context) {
47 48
     naviTitle = '订单详情';
@@ -50,12 +51,12 @@ class OrderPageInfo extends BasicPage {
50 51
       children: [
51 52
         Obx(() =>
52 53
             OrderInfoCard(
53
-                item: orderInfoContent.value,
54
-                orderStateText: orderStateText,
55
-                orderStateColor: orderStateColor
54
+                item: orderInfoContent(),
55
+                orderStateText: orderStateText(),
56
+                orderStateColor: orderStateColor()
56 57
             ),
57 58
         ),
58
-        _BottomWidget()
59
+        Obx(()=>_BottomWidget(id: id()))
59 60
         // orderStateText=='已完成'?  Text('')
60 61
         //     :orderStateText== '进行中' ?Text('')
61 62
         //     :orderStateText=='待评价'? DefaultButton(
@@ -110,7 +111,21 @@ class OrderPageInfo extends BasicPage {
110 111
 }
111 112
 
112 113
 class _BottomWidget extends StatelessWidget {
113
-  const _BottomWidget({Key? key}) : super(key: key);
114
+  final id;
115
+  const _BottomWidget({Key? key, required this.id}) : super(key: key);
116
+
117
+
118
+  void _orderDeletels (){
119
+    orderDelete(id).then((value) {
120
+      Fluttertoast.showToast(
121
+          msg: '订单取消成功!'
122
+      );
123
+    });
124
+
125
+
126
+  }
127
+
128
+
114 129
 
115 130
   @override
116 131
   Widget build(BuildContext context) {
@@ -132,7 +147,7 @@ class _BottomWidget extends StatelessWidget {
132 147
                   height: 49.h,
133 148
               child: ElevatedButton(
134 149
                 onPressed: () {
135
-                  Get.back();
150
+                  _orderDeletels();
136 151
                 },
137 152
                 child: const Text(
138 153
                   "取消",

+ 73
- 0
lib/services/address.dart Näytä tiedosto

@@ -0,0 +1,73 @@
1
+
2
+import 'package:dio/dio.dart';
3
+import 'package:farmer_client/utils/Request.dart';
4
+import 'package:fluttertoast/fluttertoast.dart';
5
+
6
+/**
7
+ * 地址列表
8
+ * @param {*} data
9
+ * @returns
10
+ */
11
+Future getAddress() async {
12
+  return request('/address',
13
+      options: Options(method: 'GET')).catchError((error) => {
14
+    Fluttertoast.showToast(msg: error.error['message']),
15
+  });
16
+}
17
+
18
+
19
+/**
20
+ * 地址保存
21
+ * @param {*} data
22
+ * @returns
23
+ */
24
+Future addressSave(String address) async {
25
+  return request('/address',
26
+      options: Options(method: 'POST'), data: {'address': address})
27
+      .catchError((error) => {
28
+    Fluttertoast.showToast(msg: error.error['message']),
29
+  });
30
+}
31
+
32
+
33
+
34
+/**
35
+ * 地址删除
36
+ * @param {*} data
37
+ * @returns
38
+ */
39
+Future addressDelete(String id)async{
40
+  return request('/address/$id',options: Options(method: 'DELETE')).catchError((error) =>
41
+  { Fluttertoast.showToast(
42
+      msg: error.error['message']
43
+  ),});
44
+
45
+}
46
+
47
+
48
+/**
49
+ * 地址修改更新
50
+ * @param {*} data
51
+ * @returns
52
+ */
53
+Future addressUpdate(String id,String address)async{
54
+  return request('/address/$id',options: Options(method: 'PUT'),data: {'address':address}).catchError((error) =>
55
+  { Fluttertoast.showToast(
56
+      msg: error.error['message']
57
+  ),});
58
+
59
+}
60
+
61
+
62
+/**
63
+ * 地址是否默认
64
+ * @param {*} data
65
+ * @returns
66
+ */
67
+Future addressDefault(String id)async{
68
+  return request('/address/$id/default',options: Options(method: 'PUT')).catchError((error) =>
69
+  { Fluttertoast.showToast(
70
+      msg: error.error['message']
71
+  ),});
72
+
73
+}

+ 13
- 0
lib/services/orderAPI.dart Näytä tiedosto

@@ -48,3 +48,16 @@ Future generateOrder(item)async{
48 48
 }
49 49
 
50 50
 
51
+
52
+/**
53
+ * 删除订单
54
+ * @param {*} data
55
+ * @returns
56
+ */
57
+Future orderDelete(String id)async{
58
+  return request('/order/$id',options: Options(method: 'DELETE')).catchError((error) =>
59
+  { Fluttertoast.showToast(
60
+      msg: error.error['message']
61
+  ),});
62
+
63
+}

+ 1
- 1
lib/widgets/CarsCard.dart Näytä tiedosto

@@ -129,7 +129,7 @@ class _CarsCardPage extends State<CarsCard> {
129 129
                     child: ElevatedButton(
130 130
                       onPressed: () {
131 131
                         Get.toNamed('/orderConfirmation',
132
-                            arguments: {'machineryId': item.machineryId});
132
+                            arguments: {'id':item.machineryId});
133 133
                       },
134 134
                       child: const Text(
135 135
                         "预约",

+ 1
- 1
lib/widgets/OrderInfoCard.dart Näytä tiedosto

@@ -193,7 +193,7 @@ class OrderInfoCard extends StatelessWidget {
193 193
                                     Color(0xFFFA7878),
194 194
                                     Color(0xFFB61515),
195 195
                                   ],
196
-                                  child: const Text('8880',
196
+                                  child:  Text(( (item.charges??0)/100).toString(),
197 197
                                       style: TextStyle(
198 198
                                           color: Color(0xffB61515),
199 199
                                           fontSize: 16,

+ 1
- 1
lib/widgets/OrderListCard.dart Näytä tiedosto

@@ -288,7 +288,7 @@ class _OrderListCardPages extends State<OrderListCard> {
288 288
                                 text:  TextSpan(
289 289
                                     children: <InlineSpan>[
290 290
                                       TextSpan(
291
-                                          text:( item.charges!/100).toString(),
291
+                                          text:( (item.charges??0)/100).toString(),
292 292
                                           style: TextStyle(
293 293
                                             fontSize: 16,
294 294
                                             fontWeight: FontWeight.bold,

+ 3
- 3
pubspec.lock Näytä tiedosto

@@ -335,7 +335,7 @@ packages:
335 335
       name: path_provider_android
336 336
       url: "https://pub.dartlang.org"
337 337
     source: hosted
338
-    version: "2.0.12"
338
+    version: "2.0.13"
339 339
   path_provider_ios:
340 340
     dependency: transitive
341 341
     description:
@@ -536,7 +536,7 @@ packages:
536 536
       name: win32
537 537
       url: "https://pub.dartlang.org"
538 538
     source: hosted
539
-    version: "2.5.1"
539
+    version: "2.5.2"
540 540
   xdg_directories:
541 541
     dependency: transitive
542 542
     description:
@@ -553,4 +553,4 @@ packages:
553 553
     version: "3.1.0"
554 554
 sdks:
555 555
   dart: ">=2.16.1 <3.0.0"
556
-  flutter: ">=2.8.0"
556
+  flutter: ">=2.8.1"