地址接口的视线

This commit is contained in:
czz
2025-06-21 08:55:52 +08:00
parent d94a0c8a6c
commit 41adcedad7
38 changed files with 2399 additions and 2223 deletions

View File

@@ -2,8 +2,8 @@ import 'package:ef/ef.dart';
import 'package:flutter/material.dart';
import 'package:flutterflow_ui/flutterflow_ui.dart';
import 'package:flutter_slidable/flutter_slidable.dart';
import 'package:vbvs_app/common/util/FitTool.dart';
import 'package:vbvs_app/controller/mh_controller/address_list_controller.dart';
import '../../common/color/appFontsize.dart';
class AddressModuleWidget extends GetView {
@@ -20,14 +20,14 @@ class AddressModuleWidget extends GetView {
return SingleChildScrollView(
child: SlidableAutoCloseBehavior(
child: Padding(
padding: EdgeInsetsDirectional.fromSTEB(15, 0, 15, 0),
padding: EdgeInsetsDirectional.fromSTEB(30.rpx, 0, 30.rpx, 0),
child: Container(
width: MediaQuery.sizeOf(context).width,
constraints: BoxConstraints(
minHeight: 100,
minHeight: 220.rpx,
),
decoration: BoxDecoration(
color: Colors.white,
color: Color(0xFF003058),
borderRadius: BorderRadius.circular(16),
),
child: Slidable(
@@ -38,12 +38,12 @@ class AddressModuleWidget extends GetView {
Expanded(
child: InkWell(
onTap: () async {
// await addressListController.deleteAddress(
// addressListController.model.addressList[index]
// ['id']);
// addressListController.model.addressList.removeAt(index);
await addressListController.deleteAddress(
addressListController.model.addressList[index]
['_id']);
addressListController.model.addressList.removeAt(index);
// addressListController.updateAll();
addressListController.updateAll();
},
child: Container(
margin: EdgeInsets.only(left: 30),
@@ -62,184 +62,128 @@ class AddressModuleWidget extends GetView {
],
),
child: Padding(
padding: EdgeInsetsDirectional.fromSTEB(15, 13, 15, 10),
padding: EdgeInsetsDirectional.fromSTEB(
30.rpx, 20.rpx, 30.rpx, 20.rpx),
child: Container(
width: MediaQuery.sizeOf(context).width,
height: MediaQuery.sizeOf(context).height * 0.123,
child: Column(
mainAxisSize: MainAxisSize.max,
children: [
Expanded(
child: Container(
width: MediaQuery.sizeOf(context).width,
height: MediaQuery.sizeOf(context).height * 0.08,
constraints: BoxConstraints(
minHeight: 112,
),
Container(
height: 60.rpx,
child: Row(
mainAxisSize: MainAxisSize.max,
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Container(
width: MediaQuery.sizeOf(context).width * 0.7,
height:
MediaQuery.sizeOf(context).height * 0.08,
constraints: BoxConstraints(
minHeight: 112,
),
child: Column(
mainAxisSize: MainAxisSize.max,
children: [
Flexible(
child: Align(
alignment: AlignmentDirectional(-1, 0),
child: Text(
[
addressListController.model
.addressList[index]['province'],
addressListController.model
.addressList[index]['city'],
addressListController.model
.addressList[index]['county'],
addressListController.model
.addressList[index]['street']
]
.where((element) =>
element != null &&
element.isNotEmpty)
.join(' '),
style: TextStyle(
fontFamily: 'Readex Pro',
color: Color(0xFF333333),
fontSize:
AppFontsize.normal_text_size,
letterSpacing: 0,
),
),
),
),
Flexible(
child: Align(
alignment: AlignmentDirectional(-1, 0),
child: Text(
addressListController
.model
.addressList[index]
['detail']
?.isEmpty ??
true
? '无详细地址'
: addressListController.model
.addressList[index]['detail'],
style: TextStyle(
fontFamily: 'Readex Pro',
color: Color(0xFF333333),
fontSize:
AppFontsize.normal_text_size,
letterSpacing: 0,
),
),
),
),
Flexible(
child: Align(
alignment: AlignmentDirectional(-1, 0),
child: Text(
'${addressListController.model.addressList[index]['name']} ' +
'${addressListController.model.addressList[index]['phone']} ',
style: TextStyle(
fontFamily: 'Readex Pro',
color: Color(0xFF333333),
fontSize:
AppFontsize.normal_text_size,
letterSpacing: 0,
),
),
),
),
].divide(SizedBox(height: 5)),
Expanded(
child: Text(
[
addressListController
.model.addressList[index]['province'],
addressListController
.model.addressList[index]['city'],
addressListController
.model.addressList[index]['county'],
addressListController
.model.addressList[index]['street']
]
.where((element) =>
element != null && element.isNotEmpty)
.join(' '),
style: TextStyle(
fontFamily: 'Readex Pro',
color: Colors.white,
fontSize: AppFontsize.normal_text_size,
letterSpacing: 0,
),
),
),
Align(
alignment: AlignmentDirectional(1, -1),
child: Theme(
data: ThemeData(
checkboxTheme: CheckboxThemeData(
visualDensity: VisualDensity.compact,
materialTapTargetSize:
MaterialTapTargetSize.shrinkWrap,
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(64),
Obx(() => Visibility(
visible: addressListController.model
.addressList[index]["default"] ==
1,
child: Container(
width: 71.rpx,
height: 36.rpx,
child: ElevatedButton(
onPressed: () {},
child: Text(
'默认',
style: TextStyle(
color: Color(0XFF6BFDAC),
fontSize: 20.rpx,
),
),
style: ElevatedButton.styleFrom(
backgroundColor:
const Color(0x4D6BFDAC),
padding: EdgeInsets.zero,
),
),
),
unselectedWidgetColor: Color(0xFFD3D3D3),
),
child: Obx(() {
return Checkbox(
value: addressListController
.model.addressList[index]
['isChecked'] ??
false,
onChanged: (newValue) async {
// if (newValue == true) {
// for (var i = 0;
// i <
// addressListController
// .model.addressList.length;
// i++) {
// addressListController
// .model.addressList[i]
// ['isChecked'] = false;
// }
// addressListController
// .model.addressList[index]
// ['isChecked'] = newValue;
// addressListController.updateDefault(
// addressListController
// .model.addressList[index]);
// }
// addressListController.updateAll();
},
side: BorderSide(
width: 1.5,
color: Colors.white,
),
activeColor: const Color(0xFFd3b684),
// checkColor:
// FlutterFlowTheme.of(context).info,
);
}),
),
)
))
],
)),
Container(
height: 60.rpx,
alignment: Alignment.centerLeft,
child: Text(
addressListController.model
.addressList[index]['address']?.isEmpty ??
true
? '无详细地址'
: addressListController.model.addressList[index]
['address'],
style: TextStyle(
fontFamily: 'Readex Pro',
color: Colors.white,
fontSize: AppFontsize.normal_text_size,
letterSpacing: 0,
),
),
),
Align(
alignment: AlignmentDirectional(1, 0),
child: InkWell(
onTap: () {
addressListController.model.address =
addressListController.model.addressList[index];
addressListController.model.type = 2;
Get.toNamed("/editAddressPage");
},
child: Container(
width: 100,
height: MediaQuery.sizeOf(context).height * 0.03,
child: Align(
alignment: AlignmentDirectional(1, 0),
child: Text(
'编辑',
style: TextStyle(
fontFamily: 'Readex Pro',
color: Color(0xFF9EA4B7),
fontSize: AppFontsize.small_text_size,
letterSpacing: 0,
Container(
height: 60.rpx,
child: Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Text(
'${addressListController.model.addressList[index]['name']} ' +
'${addressListController.model.addressList[index]['tel']} ',
style: TextStyle(
fontFamily: 'Readex Pro',
color: Colors.white,
fontSize: AppFontsize.normal_text_size,
letterSpacing: 0,
),
),
InkWell(
onTap: () {
addressListController.model.address =
addressListController
.model.addressList[index];
addressListController.model.type = 2;
Get.toNamed("/editAddressPage");
},
child: Container(
width: 100,
height:
MediaQuery.sizeOf(context).height * 0.03,
child: Align(
alignment: AlignmentDirectional(1, 0),
child: Text(
'编辑',
style: TextStyle(
fontFamily: 'Readex Pro',
color: Color(0xFF84F5FF),
fontSize: AppFontsize.small_text_size,
letterSpacing: 0,
),
),
),
),
),
),
],
),
),
],