import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import '../../widget/JdText.dart'; import '../../widget/JdButton.dart'; import 'package:city_pickers/city_pickers.dart'; import '../../services/UserServices.dart'; import '../../services/SignServices.dart'; import '../../config/Config.dart'; import 'package:dio/dio.dart'; import '../../services/EventBus.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; class AddressAddPage extends StatefulWidget { AddressAddPage({Key key}) : super(key: key); _AddressAddPageState createState() => _AddressAddPageState(); } class _AddressAddPageState extends State { String area=''; String name=''; String phone=''; String address=''; //监听页面销毁的事件 dispose(){ super.dispose(); eventBus.fire(new AddressEvent('增加成功...')); eventBus.fire(new CheckOutEvent('改收货地址成功...')); } @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( title: Text("增加收货地址"), ), body: Container( padding: EdgeInsets.all(10), child: ListView( children: [ SizedBox(height: 20), JdText( text: "收货人姓名", onChanged: (value){ this.name=value; }, ), SizedBox(height: 10), JdText( text: "收货人电话", onChanged: (value){ this.phone=value; }, ), SizedBox(height: 10), Container( padding: EdgeInsets.only(left: 5), height: ScreenUtil().setHeight(68), decoration: BoxDecoration( border: Border( bottom: BorderSide(width: 1, color: Colors.black12))), child: InkWell( child: Row( children: [ Icon(Icons.add_location), this.area.length>0?Text('${this.area}', style: TextStyle(color: Colors.black54)):Text('省/市/区', style: TextStyle(color: Colors.black54)) ], ), onTap: () async{ Result result = await CityPickers.showCityPicker( context: context, cancelWidget: Text("取消", style: TextStyle(color: Colors.blue)), confirmWidget: Text("确定", style: TextStyle(color: Colors.blue)) ); print(result); setState(() { this.area= "${result.provinceName}/${result.cityName}/${result.areaName}"; }); }, ), ), SizedBox(height: 10), JdText( text: "详细地址", maxLines: 4, height: 200, onChanged: (value){ this.address="${this.area} ${value}"; }, ), SizedBox(height: 10), SizedBox(height: 40), JdButton(text: "增加", color: Colors.red,onTop: () async{ List userinfo=await UserServices.getUserInfo(); print(userinfo); // print('1234'); var tempJson={ "uid":userinfo[0]["_id"], "name":this.name, "phone":this.phone, "address":this.address, "salt":userinfo[0]["salt"] }; var sign=SignServices.getSign(tempJson); // print(sign); var api = '${Config.domain}api/addAddress'; var result = await Dio().post(api,data:{ "uid":userinfo[0]["_id"], "name":this.name, "phone":this.phone, "address":this.address, "sign":sign }); // if(result.data["success"]){ // } Navigator.pop(context); }) ], ), )); } }