瀏覽代碼

'解绑银行卡'

李志伟 2 年之前
父節點
當前提交
0a0f9f603b
共有 5 個檔案被更改,包括 86 行新增54 行删除
  1. 39
    37
      lib/pages/addBankCard/index.dart
  2. 35
    5
      lib/pages/bankList/index.dart
  3. 2
    2
      lib/services/bank.dart
  4. 1
    1
      lib/utils/Request.dart
  5. 9
    9
      pubspec.lock

+ 39
- 37
lib/pages/addBankCard/index.dart 查看文件

@@ -94,6 +94,44 @@ class AddBankPage extends BasicPage {
94 94
     });
95 95
   }
96 96
 
97
+  bindCard(){
98
+    if (handleRule()) {
99
+      addBankCard(bankCard.value).then(
100
+            (e) {
101
+          for (var item in bankList.value) {
102
+            if (item.name == e['ownerBank']) {
103
+              e['color1'] = item.color1;
104
+              e['color2'] = item.color2;
105
+              e['bankCode'] = item.bankCode;
106
+            }
107
+          }
108
+          List<BankCardModel> list = [];
109
+          List pickerList = [];
110
+          for (var e in bankCardListStore.bankCardList()) {
111
+            list.add(e);
112
+            pickerList.add(e.ownerBank.toString() +
113
+                '(' +
114
+                e.cardNo.toString().substring(
115
+                    e.cardNo.toString().length - 4,
116
+                    e.cardNo.toString().length) +
117
+                ')');
118
+          }
119
+          list.add(BankCardModel.fromJson(e));
120
+          String cardNo = BankCardModel.fromJson(e).cardNo.toString();
121
+          pickerList.add(
122
+              BankCardModel.fromJson(e).ownerBank.toString() +
123
+                  '(' +
124
+                  cardNo.substring(cardNo.length - 4, cardNo.length) +
125
+                  ')');
126
+          bankCardListStore.bankCardList(list);
127
+          bankPickerListStore.bankPickerList(pickerList);
128
+          Get.back();
129
+          Fluttertoast.showToast(msg: '添加成功');
130
+        },
131
+      );
132
+    }
133
+  }
134
+
97 135
   @override
98 136
   Widget builder(BuildContext context) {
99 137
     return Column(
@@ -254,43 +292,7 @@ class AddBankPage extends BasicPage {
254 292
             text: '绑定',
255 293
             type: 0,
256 294
             disable: false,
257
-            onClick: () {
258
-              if (handleRule()) {
259
-                addBankCard(bankCard.value).then(
260
-                  (e) {
261
-                    for (var item in bankList.value) {
262
-                      if (item.name == e['ownerBank']) {
263
-                        e['color1'] = item.color1;
264
-                        e['color2'] = item.color2;
265
-                        e['bankCode'] = item.bankCode;
266
-                      }
267
-                    }
268
-                    List<BankCardModel> list = [];
269
-                    List pickerList = [];
270
-                    for (var e in bankCardListStore.bankCardList()) {
271
-                      list.add(e);
272
-                      pickerList.add(e.ownerBank.toString() +
273
-                          '(' +
274
-                          e.cardNo.toString().substring(
275
-                              e.cardNo.toString().length - 4,
276
-                              e.cardNo.toString().length) +
277
-                          ')');
278
-                    }
279
-                    list.add(BankCardModel.fromJson(e));
280
-                    String cardNo = BankCardModel.fromJson(e).cardNo.toString();
281
-                    pickerList.add(
282
-                        BankCardModel.fromJson(e).ownerBank.toString() +
283
-                            '(' +
284
-                            cardNo.substring(cardNo.length - 4, cardNo.length) +
285
-                            ')');
286
-                    bankCardListStore.bankCardList(list);
287
-                    bankPickerListStore.bankPickerList(pickerList);
288
-                    Get.back();
289
-                    Fluttertoast.showToast(msg: '添加成功');
290
-                  },
291
-                );
292
-              }
293
-            },
295
+            onClick:bindCard,
294 296
           ),
295 297
         ),
296 298
       ],

+ 35
- 5
lib/pages/bankList/index.dart 查看文件

@@ -5,18 +5,22 @@ import 'package:flutter_screenutil/flutter_screenutil.dart';
5 5
 import 'package:fluttertoast/fluttertoast.dart';
6 6
 import 'package:dotted_border/dotted_border.dart';
7 7
 import 'package:worker_client/models/bankCardList.dart';
8
+import 'package:worker_client/models/bankPickerList.dart';
8 9
 import 'package:worker_client/models/entities/Bank.dart';
9 10
 import 'package:worker_client/models/entities/BankCard.dart';
10 11
 import 'package:worker_client/pages/bankList/widget/BankCard.dart';
11 12
 import 'package:worker_client/services/bank.dart';
12 13
 import 'package:worker_client/widgets/NullCard.dart';
13 14
 import 'package:worker_client/widgets/layout/BasicPage.dart';
15
+import '/widgets/MyDialog.dart' as modal;
14 16
 
15 17
 class BankListPages extends BasicPage {
16 18
   BankListPages({Key? key}) : super(key: key) {
17 19
     naviTitle = '我的银行卡';
18 20
   }
19 21
   BankCardListController bankCardListStore = BankCardListController.t;
22
+  BankPickerListController bankPickerListStore = BankPickerListController.t;
23
+
20 24
   @override
21 25
   void beforeShow() {
22 26
     super.beforeShow();
@@ -67,11 +71,37 @@ class BankListPages extends BasicPage {
67 71
   }
68 72
 
69 73
   void unBind(id) {
70
-    // 弹窗
71
-    unbindBankCard(id).then((value) {
72
-      Fluttertoast.showToast(msg: '解绑成功');
73
-      getList();
74
-    });
74
+    var list1 = <BankCardModel>[];
75
+    var list2 = [];
76
+    var name = '';
77
+    modal.showAlert(
78
+        title: '提示',
79
+        message: '确定要解除绑定该银行卡吗?',
80
+        onConfirm: () {
81
+          unbindBankCard(id).then((value) {
82
+            Fluttertoast.showToast(msg: '解绑成功');
83
+            for (var item in bankCardListStore.bankCardList.value) {
84
+              if (item.cardId == id) {
85
+                name = item.ownerBank.toString() +
86
+                    '(' +
87
+                    item.cardNo
88
+                        .substring(item.cardNo.length - 4, item.cardNo.length) +
89
+                    ')';
90
+              } else {
91
+                list1.add(item);
92
+              }
93
+            }
94
+            bankCardListStore.bankCardList(list1);
95
+            for (var item in bankPickerListStore.bankPickerList.value) {
96
+              if (item != name) {
97
+                list2.add(item);
98
+              }
99
+            }
100
+            bankPickerListStore.bankPickerList(list2);
101
+          });
102
+          return true;
103
+        },
104
+        onCancel: () => true);
75 105
   }
76 106
 
77 107
   @override

+ 2
- 2
lib/services/bank.dart 查看文件

@@ -45,13 +45,13 @@ Future addBankCard(data) async {
45 45
 /// @param {*}
46 46
 /// @returns
47 47
 Future unbindBankCard(String id) async {
48
-  return request('/bankcard/$id/pause', options: Options(method: 'DELETE'))
48
+  return request('/bankcard/$id', options: Options(method: 'DELETE'))
49 49
       .catchError((error) => {
50 50
             Fluttertoast.showToast(msg: error.error['message']),
51 51
           });
52 52
 }
53 53
 
54
-/// 添加银行卡
54
+/// 提现申请
55 55
 /// @param {*} data
56 56
 /// @returns
57 57
 Future addWithdrawal(data) async {

+ 1
- 1
lib/utils/Request.dart 查看文件

@@ -30,7 +30,7 @@ final client = GetPlatform.isAndroid ? 'android' : 'ios';
30 30
 Dio createRequest() {
31 31
   const isProd = bool.fromEnvironment('dart.vm.product');
32 32
   const host =
33
-      isProd ? 'https://machine.njyunzhi.com' : 'http://192.168.89.147:7080';
33
+      isProd ? 'https://machine.njyunzhi.com' : 'http://192.168.89.25:7080';
34 34
   final baseUrl = '$host/api/$client/worker';
35 35
 
36 36
   var options = BaseOptions(

+ 9
- 9
pubspec.lock 查看文件

@@ -112,7 +112,7 @@ packages:
112 112
       name: collection
113 113
       url: "https://pub.flutter-io.cn"
114 114
     source: hosted
115
-    version: "1.16.0"
115
+    version: "1.15.0"
116 116
   convert:
117 117
     dependency: transitive
118 118
     description:
@@ -161,7 +161,7 @@ packages:
161 161
       name: fake_async
162 162
       url: "https://pub.flutter-io.cn"
163 163
     source: hosted
164
-    version: "1.3.0"
164
+    version: "1.2.0"
165 165
   ffi:
166 166
     dependency: transitive
167 167
     description:
@@ -281,7 +281,7 @@ packages:
281 281
       name: js
282 282
       url: "https://pub.flutter-io.cn"
283 283
     source: hosted
284
-    version: "0.6.4"
284
+    version: "0.6.3"
285 285
   json_annotation:
286 286
     dependency: transitive
287 287
     description:
@@ -323,7 +323,7 @@ packages:
323 323
       name: material_color_utilities
324 324
       url: "https://pub.flutter-io.cn"
325 325
     source: hosted
326
-    version: "0.1.4"
326
+    version: "0.1.3"
327 327
   meta:
328 328
     dependency: transitive
329 329
     description:
@@ -344,7 +344,7 @@ packages:
344 344
       name: path
345 345
       url: "https://pub.flutter-io.cn"
346 346
     source: hosted
347
-    version: "1.8.1"
347
+    version: "1.8.0"
348 348
   path_drawing:
349 349
     dependency: transitive
350 350
     description:
@@ -503,7 +503,7 @@ packages:
503 503
       name: source_span
504 504
       url: "https://pub.flutter-io.cn"
505 505
     source: hosted
506
-    version: "1.8.2"
506
+    version: "1.8.1"
507 507
   stack_trace:
508 508
     dependency: transitive
509 509
     description:
@@ -545,7 +545,7 @@ packages:
545 545
       name: test_api
546 546
       url: "https://pub.flutter-io.cn"
547 547
     source: hosted
548
-    version: "0.4.9"
548
+    version: "0.4.8"
549 549
   typed_data:
550 550
     dependency: transitive
551 551
     description:
@@ -559,7 +559,7 @@ packages:
559 559
       name: vector_math
560 560
       url: "https://pub.flutter-io.cn"
561 561
     source: hosted
562
-    version: "2.1.2"
562
+    version: "2.1.1"
563 563
   watcher:
564 564
     dependency: transitive
565 565
     description:
@@ -589,5 +589,5 @@ packages:
589 589
     source: hosted
590 590
     version: "3.1.1"
591 591
 sdks:
592
-  dart: ">=2.17.0-0 <3.0.0"
592
+  dart: ">=2.16.1 <3.0.0"
593 593
   flutter: ">=2.8.1"