index.dart 3.3KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. import 'package:farmer_client/models/entities/Address.dart';
  2. import 'package:farmer_client/services/address.dart';
  3. import 'package:farmer_client/widgets/DefaultButton.dart';
  4. import 'package:farmer_client/widgets/layout/BasicPage.dart';
  5. import 'package:flutter/material.dart';
  6. import 'package:flutter_screenutil/flutter_screenutil.dart';
  7. import 'package:fluttertoast/fluttertoast.dart';
  8. import 'package:get/get.dart';
  9. class AddAddress extends BasicPage {
  10. final address = Rx<Address>(Address());
  11. late String text = '';
  12. late String id = '';
  13. @override
  14. void beforeShow() {
  15. super.beforeShow();
  16. if (Get.arguments != null) {
  17. print(Get.arguments['item']);
  18. // address(Get.arguments['item']);
  19. text = Get.arguments['item'];
  20. id = Get.arguments['id'];
  21. }
  22. }
  23. @override
  24. Widget builder(BuildContext context) {
  25. naviTitle = '添加地址';
  26. return Container(
  27. padding: EdgeInsets.all(15.w),
  28. child: Column(
  29. crossAxisAlignment: CrossAxisAlignment.start,
  30. children: [
  31. Text(
  32. '详细地址:',
  33. style: TextStyle(
  34. fontWeight: FontWeight.bold,
  35. fontSize: 17.sp,
  36. color: const Color(0xFF333333)),
  37. ),
  38. Container(
  39. margin: EdgeInsets.fromLTRB(0, 0, 0, 50.h),
  40. padding: EdgeInsets.symmetric(vertical: 5.w, horizontal: 18.5.w),
  41. decoration: BoxDecoration(
  42. color: const Color(0xFFfefefe),
  43. borderRadius: BorderRadius.all(Radius.circular(10.w)),
  44. border: Border.all(
  45. color: const Color(0xcc000000),
  46. width: 1.h,
  47. style: BorderStyle.solid)),
  48. child: TextFormField(
  49. initialValue: text,
  50. minLines: 6,
  51. maxLines: 6,
  52. style: TextStyle(fontSize: 17.sp, height: 1.5),
  53. decoration: const InputDecoration(
  54. isCollapsed: true,
  55. hintText: '请输入地址信息',
  56. border: InputBorder.none,
  57. counterText: '', //去掉计数
  58. floatingLabelBehavior: FloatingLabelBehavior.never,
  59. ),
  60. onChanged: (e) {
  61. address().address = e;
  62. },
  63. ),
  64. ),
  65. DefaultButton(
  66. color: const Color(0xffffffff),
  67. backColor: const Color(0xFFFF703B),
  68. width: 345.w,
  69. height: 49.h,
  70. text: '保存',
  71. onPressed: () {
  72. if (address.value.address == null) {
  73. Fluttertoast.showToast(msg: '请输入地址!');
  74. } else {
  75. if (text == '') {
  76. addressSave(address().address.toString()).then((value) {
  77. Fluttertoast.showToast(msg: '添加地址成功!');
  78. Get.offNamed('/addressList');
  79. });
  80. } else {
  81. addressUpdate(id, address().address.toString()).then((value) {
  82. Fluttertoast.showToast(msg: '修改地址成功!');
  83. Get.offNamed('/addressList');
  84. });
  85. }
  86. }
  87. },
  88. margin: const EdgeInsets.all(0),
  89. fontSize: 20.sp,
  90. radius: 24.5.w,
  91. ),
  92. ],
  93. ),
  94. );
  95. }
  96. }