Browse Source

TextOverflow.ellipsis,

[baozhangchao] 2 years ago
parent
commit
44afeec6e4

+ 1
- 0
android/app/build.gradle View File

@@ -58,6 +58,7 @@ android {
58 58
 //        implementation 'com.google.android.material:material:1.5.0'
59 59
         implementation('com.amap.api:3dmap:9.1.0')
60 60
         implementation('com.amap.api:location:6.1.0')
61
+        api 'com.alipay.sdk:alipaysdk-android:+@aar'
61 62
     }
62 63
 
63 64
     buildTypes {

+ 1
- 0
android/app/src/main/AndroidManifest.xml View File

@@ -1,6 +1,7 @@
1 1
 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
2 2
     xmlns:tools="http://schemas.android.com/tools"
3 3
     package="com.njyunzhi.farmer_client">
4
+    <uses-permission android:name="android.permission.INTERNET" />
4 5
     <uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
5 6
     <!--允许获取精确位置,精准定位必选-->
6 7
     <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />

+ 1
- 0
android/build.gradle View File

@@ -18,6 +18,7 @@ allprojects {
18 18
 //        jcenter()
19 19
         google()
20 20
         mavenCentral()
21
+
21 22
     }
22 23
 }
23 24
 

BIN
images/selected.png View File


BIN
images/unSelected.png View File


+ 4
- 1
lib/models/entities/Address.dart View File

@@ -7,6 +7,7 @@ class Address {
7 7
   num? sortNo;
8 8
   String? orgId;
9 9
   num? status;
10
+  late bool selected; //另外加的 选择默认地址bug用
10 11
 
11 12
   Address();
12 13
 
@@ -18,7 +19,8 @@ class Address {
18 19
         ownerId = json["ownerId"],
19 20
         sortNo = json["sortNo"],
20 21
         orgId = json["orgId"],
21
-        status = json["status"];
22
+        status = json["status"],
23
+        selected=json["isDefault"]?? false;
22 24
 
23 25
   Map<String, dynamic> toJson() => {
24 26
         'address': address,
@@ -29,5 +31,6 @@ class Address {
29 31
         'sortNo': sortNo,
30 32
         'orgId': orgId,
31 33
         'status': status,
34
+        'selected': selected,
32 35
       };
33 36
 }

+ 1
- 1
lib/models/entities/OrderInfoModel.dart View File

@@ -17,7 +17,7 @@ class OrderInfoModel {
17 17
   num? dispatchStatus;
18 18
   num? workStatus;
19 19
   num? isEvaluated;
20
-  num? payType;
20
+  String? payType;
21 21
   num? isRefund;
22 22
   String? orgId;
23 23
   String? orgName;

+ 1
- 1
lib/models/entities/OrderListAll.dart View File

@@ -17,7 +17,7 @@ class OrderListAll {
17 17
   num? dispatchStatus;
18 18
   num? workStatus;
19 19
   num? isEvaluated;
20
-  num? payType;
20
+  String? payType;
21 21
   num? isRefund;
22 22
   String? orgId;
23 23
   String? orgName;

+ 71
- 73
lib/pages/addressList/index.dart View File

@@ -17,8 +17,6 @@ class AddressList extends BasicPage {
17 17
   AddressController addressController = AddressController.t;
18 18
   final addressList = Rx<List<Address>>([]);
19 19
 
20
-
21
-
22 20
   @override
23 21
   void beforeShow() {
24 22
     super.beforeShow();
@@ -30,7 +28,6 @@ class AddressList extends BasicPage {
30 28
       });
31 29
       addressList(list);
32 30
       EasyLoading.dismiss();
33
-
34 31
     });
35 32
     if (Get.arguments != null) {
36 33
       isBack = Get.arguments['isBack'];
@@ -39,26 +36,29 @@ class AddressList extends BasicPage {
39 36
 
40 37
   void onChange(id) {
41 38
     print(id);
42
-    addressDefault(id.toString()).then((value) {
39
+    addressDefault(id).then((value) {
43 40
       getAddress().then((value) {
44
-        final list = <Address>[];
45
-        value['records'].forEach((item) {
46
-          list.add(Address.fromJson(item));
47
-        });
48
-        addressList(list);
49
-        EasyLoading.dismiss();
41
+        final defaultlist = [...addressList.value];
42
+        for (var element in defaultlist) {
43
+          if (element.isDefault == true) {
44
+            element.isDefault = false;
45
+          } else {
46
+            element.isDefault = true;
47
+          }
48
+        }
49
+        addressList(defaultlist);
50
+        print(addressList.value);
50 51
       });
51 52
       // final defaultlist = [...addressList.value];
52
-      // for (var element in addressList.value) {
53
+      // for (var element in defaultlist) {
53 54
       //   if (element.isDefault == true) {
54
-      //     element.isDefault = false;
55
+      //     defaultlist.selected = true;
55 56
       //   }
56 57
       // }
57 58
       // addressList(defaultlist);
58 59
       // print(addressList.value);
59
-
60 60
     });
61
-  }
61
+   }
62 62
 
63 63
   void onDelete(id) {
64 64
     print(id);
@@ -87,64 +87,62 @@ class AddressList extends BasicPage {
87 87
   Widget builder(BuildContext context) {
88 88
     naviTitle = '地址管理';
89 89
     return ListView(
90
-      children: [
91
-        Container(
92
-          padding: EdgeInsets.all(15.w),
93
-          child: Column(
94
-            //左对齐
95
-            crossAxisAlignment: CrossAxisAlignment.start,
96
-            children: [
97
-              Obx(
98
-                () => Column(
99
-                    children: addressList()
100
-                        .asMap()
101
-                        .keys
102
-                        .map(
103
-                          (e) => AddressCard(
104
-                            No: e + 1,
105
-                            item: addressList.value[e],
106
-                            isBack: isBack,
107
-                            onChange: () {
108
-                              onChange(addressList.value[e].addressId);
109
-                            },
110
-                            onEdit: () {
111
-                              Get.offNamed('/addAddress', arguments: {
112
-                                'id': addressList.value[e].addressId,
113
-                                'item': addressList.value[e].address.toString()
114
-                              });
115
-                            },
116
-                            onDelete: () {
117
-                              onDelete(addressList.value[e].addressId);
118
-                            },
119
-                            onBack: () {
120
-                              //选择地址
121
-                              addressController.address.value =
122
-                                  addressList.value[e];
123
-                              Get.back();
124
-                            },
125
-                          ),
126
-                        )
127
-                        .toList()),
128
-              ),
129
-              DefaultButton(
130
-                color: const Color(0xffffffff),
131
-                backColor: const Color(0xFFFF703B),
132
-                width: 345.w,
133
-                height: 49.h,
134
-                text: '+新增地址',
135
-                onPressed: () {
136
-                  Get.offNamed('/addAddress');
137
-                },
138
-                margin: const EdgeInsets.all(0),
139
-                fontSize: 20.sp,
140
-                radius: 24.5.w,
141
-              ),
142
-            ],
143
-          ),
144
-        ),
145
-      ],
146
-    );
90
+          children: [
91
+            Container(
92
+              padding: EdgeInsets.all(15.w),
93
+              child:
94
+              Obx(() =>  Column(
95
+                //左对齐
96
+                crossAxisAlignment: CrossAxisAlignment.start,
97
+                children: [
98
+                  Column(
99
+                      children: addressList()
100
+                          .asMap()
101
+                          .keys
102
+                          .map(
103
+                            (e) => AddressCard(
104
+                              No: e + 1,
105
+                              item: addressList.value[e],
106
+                              isBack: isBack,
107
+                              onChange: () {
108
+                                onChange(addressList.value[e].addressId);
109
+                              },
110
+                              onEdit: () {
111
+                                Get.offNamed('/addAddress', arguments: {
112
+                                  'id': addressList.value[e].addressId,
113
+                                  'item':
114
+                                      addressList.value[e].address.toString()
115
+                                });
116
+                              },
117
+                              onDelete: () {
118
+                                onDelete(addressList.value[e].addressId);
119
+                              },
120
+                              onBack: () {
121
+                                //选择地址
122
+                                addressController.address.value =
123
+                                    addressList.value[e];
124
+                                Get.back();
125
+                              },
126
+                            ),
127
+                          )
128
+                          .toList()),
129
+                  DefaultButton(
130
+                    color: const Color(0xffffffff),
131
+                    backColor: const Color(0xFFFF703B),
132
+                    width: 345.w,
133
+                    height: 49.h,
134
+                    text: '+新增地址',
135
+                    onPressed: () {
136
+                      Get.offNamed('/addAddress');
137
+                    },
138
+                    margin: const EdgeInsets.all(0),
139
+                    fontSize: 20.sp,
140
+                    radius: 24.5.w,
141
+                  ),
142
+                ],
143
+              )),
144
+            ),
145
+          ],
146
+        );
147 147
   }
148 148
 }
149
-
150
-

+ 59
- 37
lib/pages/addressList/widget/AddressCard.dart View File

@@ -37,6 +37,7 @@ class _AddressCard extends State<AddressCard> {
37 37
   final GestureTapCallback onBack;
38 38
   _AddressCard(this.item, this.No, this.onChange, this.onDelete, this.onEdit,
39 39
       this.isBack, this.onBack);
40
+
40 41
   @override
41 42
   Widget build(BuildContext context) {
42 43
     return Container(
@@ -56,43 +57,48 @@ class _AddressCard extends State<AddressCard> {
56 57
       child: Column(
57 58
         crossAxisAlignment: CrossAxisAlignment.start,
58 59
         children: [
59
-          Row(
60
-            children: [
61
-              if (item.isDefault == true)
62
-                Container(
63
-                  margin: EdgeInsets.fromLTRB(0, 0, 5.w, 0),
64
-                  padding: EdgeInsets.symmetric(vertical: 1.w, horizontal: 5.w),
65
-                  decoration: BoxDecoration(
66
-                    color: const Color(0xffff0000),
67
-                    borderRadius: BorderRadius.all(Radius.circular(5.w)),
68
-                  ),
69
-                  child: Text(
70
-                    '默认地址',
71
-                    style: TextStyle(
72
-                      fontSize: 15.sp,
73
-                      fontWeight: FontWeight.bold,
74
-                      color: const Color(0xffffffff),
60
+          GestureDetector(
61
+            onTap: isBack ? onBack : () {},
62
+            child: Row(
63
+              children: [
64
+                if (item.isDefault == true)
65
+                  Container(
66
+                    margin: EdgeInsets.fromLTRB(0, 0, 5.w, 0),
67
+                    padding:
68
+                        EdgeInsets.symmetric(vertical: 1.w, horizontal: 5.w),
69
+                    decoration: BoxDecoration(
70
+                      color: const Color(0xffff0000),
71
+                      borderRadius: BorderRadius.all(Radius.circular(5.w)),
72
+                    ),
73
+                    child: Text(
74
+                      '默认地址',
75
+                      style: TextStyle(
76
+                        fontSize: 15.sp,
77
+                        fontWeight: FontWeight.bold,
78
+                        color: const Color(0xffffffff),
79
+                      ),
75 80
                     ),
76 81
                   ),
82
+                Text(
83
+                  '我的地址' + No.toString(),
84
+                  style:
85
+                      TextStyle(fontSize: 15.sp, fontWeight: FontWeight.w700),
77 86
                 ),
78
-              Text(
79
-                '我的地址' + No.toString(),
80
-                style: TextStyle(fontSize: 15.sp, fontWeight: FontWeight.w700),
81
-              ),
82
-            ],
87
+              ],
88
+            ),
83 89
           ),
84
-          GestureDetector(
85
-            onTap: onEdit,
86
-            child: Container(
87
-              padding: EdgeInsets.symmetric(vertical: 5.h, horizontal: 0),
88
-              decoration: BoxDecoration(
89
-                border: Border(
90
-                  bottom: BorderSide(
91
-                      width: 1.h,
92
-                      color: const Color(0xcc000000),
93
-                      style: BorderStyle.solid),
94
-                ),
90
+          Container(
91
+            padding: EdgeInsets.symmetric(vertical: 5.h, horizontal: 0),
92
+            decoration: BoxDecoration(
93
+              border: Border(
94
+                bottom: BorderSide(
95
+                    width: 1.h,
96
+                    color: const Color(0xcc000000),
97
+                    style: BorderStyle.solid),
95 98
               ),
99
+            ),
100
+            child: GestureDetector(
101
+              onTap: isBack ? onBack : () {},
96 102
               child: Row(
97 103
                 mainAxisAlignment: MainAxisAlignment.spaceBetween,
98 104
                 children: [
@@ -111,10 +117,13 @@ class _AddressCard extends State<AddressCard> {
111 117
                       ),
112 118
                     ),
113 119
                   ),
114
-                  Image.asset(
115
-                    'images/icons/edit.png',
116
-                    width: 33.w,
117
-                    height: 33.w,
120
+                  GestureDetector(
121
+                    onTap: onEdit,
122
+                    child: Image.asset(
123
+                      'images/icons/edit.png',
124
+                      width: 33.w,
125
+                      height: 33.w,
126
+                    ),
118 127
                   ),
119 128
                 ],
120 129
               ),
@@ -138,7 +147,7 @@ class _AddressCard extends State<AddressCard> {
138 147
               mainAxisAlignment: MainAxisAlignment.spaceBetween,
139 148
               children: [
140 149
                 GestureDetector(
141
-                  onTap: onChange,
150
+                  // onTap: onChange,
142 151
                   child: Row(
143 152
                     children: [
144 153
                       const Text('设为默认地址'),
@@ -172,3 +181,16 @@ class _AddressCard extends State<AddressCard> {
172 181
     );
173 182
   }
174 183
 }
184
+
185
+//
186
+// class UseEffect extends ChangeNotifier{//这里也可以使用with来进行实现
187
+//   int _count = 0;//数值计算
188
+//
189
+//   int get count => _count;
190
+//
191
+//   addCount(){
192
+//     _count++;
193
+//     notifyListeners();
194
+//   }
195
+//
196
+// }

+ 7
- 2
lib/pages/main/index.dart View File

@@ -30,7 +30,11 @@ class Main extends BasicPage {
30 30
         list.add(Address.fromJson(item));
31 31
       });
32 32
       addressListInfo(list);
33
-      addressInfoContent(addressListInfo()[0]);
33
+      for(var i=0; i< addressListInfo.value.length;i++){
34
+        if (addressListInfo.value[i].isDefault==true ){
35
+          addressInfoContent(addressListInfo.value[i]);
36
+        }
37
+      }
34 38
 
35 39
     });
36 40
   }
@@ -38,7 +42,8 @@ class Main extends BasicPage {
38 42
   @override
39 43
   Widget builder(BuildContext context) {
40 44
     return Obx(() => MainPage(
41
-          item: addressInfoContent(),
45
+          item: addressInfoContent.value,
42 46
         ));
43 47
   }
44 48
 }
49
+

+ 0
- 1
lib/pages/main/widgets/main/index.dart View File

@@ -32,7 +32,6 @@ class MainPage extends StatelessWidget {
32 32
 
33 33
   @override
34 34
   Widget build(BuildContext context) {
35
-    print('itemitemitemitemitemitemitemitem$item');
36 35
     return Container(
37 36
       alignment: Alignment.center,
38 37
       child: ListView(

+ 22
- 3
lib/pages/orderInfo/index.dart View File

@@ -276,7 +276,7 @@ Future<void> payMoney (String payType) async {
276 276
     if(payType=='wxPay'){
277 277
       final isInstall=await fluwx.isWeChatInstalled;
278 278
       if(!isInstall){
279
-        EasyLoading.showError('安装微信');
279
+        EasyLoading.showError('请先安装微信');
280 280
         print('isInstall--------$isInstall');
281 281
         return;
282 282
       }
@@ -312,9 +312,12 @@ Future<void> payMoney (String payType) async {
312 312
         print(event.errCode);
313 313
         // 支付成功
314 314
         if (event.errCode == 0) {
315
-          EasyLoading.showSuccess('支付成功');
315
+          // EasyLoading.showSuccess('支付成功');
316
+          Get.snackbar('提示', "支付成功");
317
+
316 318
           Get.offAllNamed('/order');
317 319
         }else{
320
+
318 321
           EasyLoading.showError('支付失败');
319 322
         }
320 323
         // 关闭弹窗
@@ -326,10 +329,26 @@ Future<void> payMoney (String payType) async {
326 329
       print('--------------支付宝支付-----------------');
327 330
       final isInstall=await tobias.isAliPayInstalled();
328 331
       if(!isInstall){
329
-        EasyLoading.showError('安装支付宝');
332
+        EasyLoading.showError('请先安装支付宝');
330 333
         print('isInstall------支付宝--$isInstall');
331 334
         return;
332 335
       }
336
+      // map["paySign"]
337
+      createOrder(id, "aliPay").then((value) {
338
+        tobias.aliPay(value).then((payResult) {
339
+          print("支付宝:" + payResult.toString());
340
+
341
+          if (payResult['resultStatus'] == '9000') {
342
+            Get.snackbar('提示', "支付成功");
343
+            Get.offAllNamed('/order');
344
+          } else {
345
+            EasyLoading.showError('支付失败');
346
+
347
+          }
348
+        });
349
+
350
+        });
351
+
333 352
 
334 353
 
335 354