123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111 |
- import 'package:farmer_client/models/addressController.dart';
- import 'package:farmer_client/models/entities/Address.dart';
- import 'package:farmer_client/services/address.dart';
- import 'package:farmer_client/widgets/DefaultButton.dart';
- import 'package:farmer_client/widgets/layout/BasicPage.dart';
- import 'package:flutter/material.dart';
- import 'package:flutter_screenutil/flutter_screenutil.dart';
- import 'package:fluttertoast/fluttertoast.dart';
- import 'package:get/get.dart';
-
- class AddAddress extends BasicPage {
- AddressController addressController = AddressController.t;
-
- final address = Rx<Address>(Address());
- late String text = '';
- late String id = '';
- bool isBack = false;
- @override
- void beforeShow() {
- super.beforeShow();
- isBack = Get.arguments['isBack'];
- if (Get.arguments['item'] != null) {
- text = Get.arguments['item'];
- id = Get.arguments['id'];
- }
- }
-
- @override
- Widget builder(BuildContext context) {
- naviTitle = '添加地址';
- return Container(
- padding: EdgeInsets.all(15.w),
- child: Column(
- crossAxisAlignment: CrossAxisAlignment.start,
- children: [
- Text(
- '详细地址:',
- style: TextStyle(
- fontWeight: FontWeight.bold,
- fontSize: 17.sp,
- color: const Color(0xFF333333)),
- ),
- Container(
- margin: EdgeInsets.fromLTRB(0, 0, 0, 50.h),
- padding: EdgeInsets.symmetric(vertical: 5.w, horizontal: 18.5.w),
- decoration: BoxDecoration(
- color: const Color(0xFFfefefe),
- borderRadius: BorderRadius.all(Radius.circular(10.w)),
- border: Border.all(
- color: const Color(0xcc000000),
- width: 1.h,
- style: BorderStyle.solid)),
- child: TextFormField(
- initialValue: text,
- minLines: 6,
- maxLines: 6,
- style: TextStyle(fontSize: 17.sp, height: 1.5),
- decoration: const InputDecoration(
- isCollapsed: true,
- hintText: '请输入地址信息',
- border: InputBorder.none,
- counterText: '', //去掉计数
- floatingLabelBehavior: FloatingLabelBehavior.never,
- ),
- onChanged: (e) {
- address().address = e;
- },
- ),
- ),
- DefaultButton(
- color: const Color(0xffffffff),
- backColor: const Color(0xFFFF703B),
- width: 345.w,
- height: 49.h,
- text: '保存',
- onPressed: () {
- if (address.value.address == null) {
- Fluttertoast.showToast(msg: '请输入地址!');
- } else {
- List<Address> list = [...addressController.addressList()];
- if (text == '') {
- addressSave(address().address.toString()).then((value) {
- list.add(Address.fromJson(value));
- addressController.addressList(list);
- Fluttertoast.showToast(msg: '添加地址成功!');
- Get.offNamed('/addressList', arguments: {'isBack': isBack});
- });
- } else {
- addressUpdate(id, address().address.toString()).then((value) {
- Address ads = Address.fromJson(value);
- for (var element in list) {
- if (element.addressId == ads.addressId) {
- element.address = ads.address;
- }
- }
- addressController.addressList(list);
- Fluttertoast.showToast(msg: '修改地址成功!');
- Get.offNamed('/addressList', arguments: {'isBack': isBack});
- });
- }
- }
- },
- margin: const EdgeInsets.all(0),
- fontSize: 20.sp,
- radius: 24.5.w,
- ),
- ],
- ),
- );
- }
- }
|