123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135 |
- import 'package:farmer_client/models/addressController.dart';
- import 'package:farmer_client/models/entities/Address.dart';
- import 'package:farmer_client/pages/addressList/widget/AddressCard.dart';
- import 'package:farmer_client/widgets/DefaultButton.dart';
- import 'package:farmer_client/widgets/layout/BasicPage.dart';
- import 'package:flutter/material.dart';
- import 'package:flutter_easyloading/flutter_easyloading.dart';
- import 'package:flutter_screenutil/flutter_screenutil.dart';
- import 'package:fluttertoast/fluttertoast.dart';
- import 'package:get/get.dart';
- import 'package:farmer_client/widgets/Modal.dart' as modal;
-
- import '../../services/address.dart';
-
- class AddressList extends BasicPage {
- //判断是否从订单页面跳转
- bool isBack = false;
- AddressController addressController = AddressController.t;
-
- @override
- void beforeShow() {
- super.beforeShow();
- if (addressController.addressList.value.isEmpty) {
- getList();
- }
- if (Get.arguments != null) {
- isBack = Get.arguments['isBack'];
- }
- }
-
- void getList() {
- EasyLoading.show(status: '数据加载中...');
- getAddress().then((value) {
- final list = <Address>[];
- value['records'].forEach((item) {
- list.add(Address.fromJson(item));
- });
- addressController.addressList(list);
- EasyLoading.dismiss();
- }).catchError((error) {
- EasyLoading.dismiss();
- Fluttertoast.showToast(msg: error.error['message']);
- });
- }
-
- void onChange(id) {
- addressDefault(id).then((value) {
- getList();
- });
- }
-
- void onDelete(id) {
- modal.showDialog(
- title: '提示',
- content: Container(
- alignment: Alignment.center,
- child: const Text('确定要删除此地址吗?'),
- ),
- onCancel: () => true,
- onConfirm: () => {
- addressDelete(id).then((value) {
- List<Address> newslist = [];
- for (var item in addressController.addressList()) {
- if (item.addressId != id) {
- newslist.add(item);
- }
- }
- addressController.addressList(newslist);
-
- Fluttertoast.showToast(msg: '删除成功!');
- }),
- });
- }
-
- @override
- Widget builder(BuildContext context) {
- naviTitle = '地址管理';
- return ListView(
- children: [
- Container(
- padding: EdgeInsets.all(15.w),
- child: Column(
- //左对齐
- crossAxisAlignment: CrossAxisAlignment.start,
- children: [
- Obx(
- () => Column(children: [
- ...addressController.addressList().map((item) {
- int e = addressController.addressList().indexOf(item);
-
- return AddressCard(
- No: e + 1,
- item: item,
- isBack: isBack,
- onChange: () {
- onChange(item.addressId);
- },
- onEdit: () {
- Get.offNamed('/addAddress', arguments: {
- 'isBack': isBack,
- 'id': item.addressId,
- 'item': item.address.toString()
- });
- },
- onDelete: () {
- onDelete(item.addressId);
- },
- onBack: () {
- //选择地址
- addressController.address.value = item;
- Get.back();
- },
- );
- })
- ]),
- ),
- DefaultButton(
- color: const Color(0xffffffff),
- backColor: const Color(0xFFFF703B),
- width: 345.w,
- height: 49.h,
- text: '+新增地址',
- onPressed: () {
- Get.offNamed('/addAddress', arguments: {'isBack': isBack});
- },
- margin: const EdgeInsets.all(0),
- fontSize: 20.sp,
- radius: 24.5.w,
- ),
- ],
- )),
- ],
- );
- }
- }
|