Procházet zdrojové kódy

发件页,更加银行卡号获取所属银行

daxu0403 před 7 roky
rodič
revize
753c43a385
3 změnil soubory, kde provedl 49 přidání a 1 odebrání
  1. 17 1
      lib/pages/send_express_page.dart
  2. 8 0
      lib/util/api.dart
  3. 24 0
      lib/util/models.dart

+ 17 - 1
lib/pages/send_express_page.dart

@@ -60,6 +60,7 @@ class _SendExpressPageState extends State < SendExpressPage > with AutomaticKeep
   TextEditingController openBankNameController = TextEditingController();
   TextEditingController openBankPhoneController = TextEditingController();
 
+  FocusNode bankCardFocusNode =  FocusNode();
 
 
   List < dynamic > goodsCateGoryList = [];
@@ -247,6 +248,20 @@ class _SendExpressPageState extends State < SendExpressPage > with AutomaticKeep
         receiptCompanyAddress = receiptCompanyAddressController.text;
       });
     });
+   bankCardFocusNode.addListener((){
+    if(!bankCardFocusNode.hasFocus){
+      if(bankCardController.text!=''){
+        getBankName(bankCardController.text).then((resp){
+          if(isNotError(context, resp) && this.mounted){
+            BankNameObj obj = BankNameObj.fromJson(resp.data);
+            setState(() {
+              bankNameController.text = obj.data;
+            });
+          }
+        });
+      }
+    }
+   });
   }
 
   @override
@@ -635,6 +650,7 @@ class _SendExpressPageState extends State < SendExpressPage > with AutomaticKeep
                         SizedBox(
                           width: ScreenUtil.getInstance().setWidth(500),
                           child: TextField(
+                            focusNode: key == '银行卡号'?bankCardFocusNode:null,
                             controller: key == '银行卡号'?bankCardController:key=='银行名称'?bankNameController:openBankNameController,
                             keyboardType: keyboardType ? TextInputType.text : TextInputType.number,
                             textAlign: TextAlign.end,
@@ -643,7 +659,6 @@ class _SendExpressPageState extends State < SendExpressPage > with AutomaticKeep
                             ),
                           ),
                         ),
-
                         Icon(Icons.keyboard_arrow_right, color: Color.fromRGBO(199, 199, 204, 1), )
                       ],
                     )
@@ -797,6 +812,7 @@ class _SendExpressPageState extends State < SendExpressPage > with AutomaticKeep
                       child: TextField(
                         controller: openBankPhoneController,
                         textAlign: TextAlign.end,
+                        keyboardType: TextInputType.number,
                         decoration: InputDecoration(
                           border: InputBorder.none
                         ),

+ 8 - 0
lib/util/api.dart

@@ -221,4 +221,12 @@ Future getLineOfCompanyId(String companyId){
     'companyId': companyId,
   });
     return response;
+}
+
+//银行卡校验
+Future getBankName(String bankCark){
+  var response = Http().get('/app/bank/card/get_bank_name',data:{
+    'bankNo':bankCark
+  });
+  return response;
 }

+ 24 - 0
lib/util/models.dart

@@ -895,3 +895,27 @@ class CompanyInfoChild{
     );
   }
 }
+
+//获取银行卡信息对象
+class BankNameObj{
+  bool success;
+  int code;
+  String msg;
+  String data;
+
+  BankNameObj({
+    this.success,
+    this.code,
+    this.msg,
+    this.data
+  });
+
+  factory BankNameObj.fromJson(Map<String,dynamic> json){
+    return BankNameObj(
+      success:json['success'],
+      code:json['code'],
+      msg:json['msg'],
+      data:json['data'],
+    );
+  }
+}