pull/1/head
张萌 3 years ago
commit 26562854e2

@ -323,6 +323,9 @@ class _Pay {
///
String get livingExpensesOrderCheckAlipay =>
'/app/user/alipay/livingExpensesOrderCheckAlipay';
String get settlement =>
'/app/user/shop/cart/settlement';
}
class _LifePay {

@ -52,7 +52,7 @@ class _MyAppState extends State<MyApp> {
}
},
child: MediaQuery(
data: MediaQueryData.fromWindow(WidgetsBinding.instance.window),
data: MediaQueryData.fromWindow(WidgetsBinding.instance!.window),
child: ScreenUtilInit(
designSize: Size(750, 1334),
// minTextAdapt: true,

@ -40,11 +40,11 @@ class FacilityAppointmentModel {
Color get statusColor {
switch (status) {
case 1:
return kPrimaryColor;
return kBalckSubColor;
case 2:
return Color(0xFF2576E5);
return kDarkPrimaryColor;
case 3:
return Color(0xFFFB4702);
return kDangerColor;
case 4:
return Color(0xFF999999);
case 5:
@ -57,15 +57,15 @@ class FacilityAppointmentModel {
String get statusValue {
switch (status) {
case 1:
return '预约成功';
return '待签到';
case 2:
return '签到成功';
return '使用中';
case 3:
return '预约作废';
return '超时作废';
case 4:
return '取消';
return '取消预约';
case 5:
return '结束';
return '使用结束';
default:
return '未知状态';
}

@ -0,0 +1,20 @@
import 'package:json_annotation/json_annotation.dart';
import 'package:equatable/equatable.dart';
part 'test.g.dart';
@JsonSerializable()
class Test extends Equatable {
final int id;
factory Test.fromJson(Map<String, dynamic> json) => _$TestFromJson(json);
@override
List<Object?> get props => [
id,
];
const Test({
required this.id,
});
}

@ -0,0 +1,11 @@
// GENERATED CODE - DO NOT MODIFY BY HAND
part of 'test.dart';
// **************************************************************************
// JsonSerializableGenerator
// **************************************************************************
Test _$TestFromJson(Map<String, dynamic> json) => Test(
id: json['id'] as int,
);

@ -123,7 +123,8 @@ class UserProvider extends ChangeNotifier {
'' +
_defaultHouse!.unitName +
'单元' +
_defaultHouse!.estateName;
_defaultHouse!.estateName +
'';
}
}

@ -31,7 +31,7 @@ class Member {
final int id;
final String name;
final int identity;
final List<ImgModel> avatarImgList;
final List<ImgModel> imgList;
factory Member.fromJson(Map<String, dynamic> json) => _$MemberFromJson(json);
@ -39,6 +39,6 @@ class Member {
required this.id,
required this.name,
required this.identity,
required this.avatarImgList,
required this.imgList,
});
}

@ -23,7 +23,7 @@ Member _$MemberFromJson(Map<String, dynamic> json) => Member(
id: json['id'] as int,
name: json['name'] as String,
identity: json['identity'] as int,
avatarImgList: (json['avatarImgList'] as List<dynamic>)
imgList: (json['imgList'] as List<dynamic>)
.map((e) => ImgModel.fromJson(e as Map<String, dynamic>))
.toList(),
);

@ -1,3 +1,4 @@
import 'package:aku_new_community/ui/community/facility/pick_facility_page.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
@ -36,11 +37,16 @@ class FacilityAppointmentCard extends StatelessWidget {
Text(
name,
style: TextStyle(
color: ktextSubColor,
color: ktextThirdColor,
),
),
Spacer(),
Text(subTitle),
Text(
subTitle,
style: TextStyle(
color: ktextSubColor,
),
),
],
);
}
@ -57,13 +63,17 @@ class FacilityAppointmentCard extends StatelessWidget {
bool inTime = diffTime >= 0 && diffTime <= 30;
if (inTime)
button = _FacilityButton(
bold: true,
onPressed: () async {
var result = await BeeQR.scan();
if (result != null) {
final cancel = BotToast.showLoading();
await NetUtil().get(
SAASAPI.facilities.signIn,
params: {'appointmentCode': result},
params: {
'facilitiesReserveId': model.id,
'appointmentCode': result
},
showMessage: true,
);
cancel();
@ -74,6 +84,9 @@ class FacilityAppointmentCard extends StatelessWidget {
);
else
button = _FacilityButton(
outline: true,
border: true,
bold: true,
onPressed: () async {
bool? result = await Get.dialog(
CupertinoAlertDialog(
@ -95,7 +108,7 @@ class FacilityAppointmentCard extends StatelessWidget {
final cancel = BotToast.showLoading();
await NetUtil().get(
SAASAPI.facilities.cancel,
params: {'facilitiesAppointmentId': model.id},
params: {'facilitiesReserveId': model.id},
showMessage: true,
);
cancel();
@ -107,11 +120,12 @@ class FacilityAppointmentCard extends StatelessWidget {
break;
case 2:
button = _FacilityButton(
bold: true,
onPressed: () async {
final cancel = BotToast.showLoading();
await NetUtil().get(
SAASAPI.facilities.useStop,
params: {'facilitiesAppointmentId': model.id},
params: {'facilitiesReserveId': model.id},
showMessage: true,
);
cancel();
@ -120,11 +134,38 @@ class FacilityAppointmentCard extends StatelessWidget {
text: '使用结束',
);
break;
default:
button = SizedBox();
button = _FacilityButton(
outline: true,
border: true,
bold: true,
textColor: ktextSubColor,
onPressed: () async {
await Get.to(() => PickFacilityPage());
},
text: '重新预约',
);
}
return Row(
return model.status == 3
? Column(
children: [
Container(
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(5.w),
color: Color(0xFFF9F9F9),
),
width: double.infinity,
padding: EdgeInsets.all(10.w),
child: Text(
'作废原因:${model.nullifyReason??''}',
style: TextStyle(
color: Colors.black.withOpacity(0.8),
fontSize: 24.sp,
),
),
),
20.hb,
Row(
children: [
if (showTip)
Text(
@ -137,6 +178,22 @@ class FacilityAppointmentCard extends StatelessWidget {
Spacer(),
button,
],
),
],
)
: Row(
children: [
if (showTip)
Text(
'请在预约时间前30分钟内到场扫码',
style: TextStyle(
color: ktextThirdColor,
fontSize: 24.sp,
),
),
Spacer(),
button,
],
);
}
@ -202,6 +259,8 @@ class _FacilityButton extends StatelessWidget {
final VoidCallback onPressed;
final String text;
final bool outline;
final bool border;
final bool bold;
const _FacilityButton({
Key? key,
@ -210,13 +269,21 @@ class _FacilityButton extends StatelessWidget {
required this.text,
this.outline = false,
this.textColor = ktextPrimary,
this.border = false,
this.bold = false,
}) : super(key: key);
@override
Widget build(BuildContext context) {
return MaterialButton(
color: outline ? null : color,
shape: StadiumBorder(),
shape: border
? StadiumBorder(
side: BorderSide(
width: 1,
color: Colors.grey,
))
: StadiumBorder(),
elevation: 0,
height: 60.w,
minWidth: 168.w,
@ -225,6 +292,7 @@ class _FacilityButton extends StatelessWidget {
child: Text(
text,
style: TextStyle(
fontWeight: bold?FontWeight.bold:FontWeight.normal,
color: textColor,
fontSize: 26.sp,
),

@ -14,6 +14,15 @@ import '../../../utils/network/base_model.dart';
import '../../../utils/network/net_util.dart';
import '../../../widget/buttons/bee_check_radio.dart';
class FacilityPreorderDate {
static Future<List<int>> choose(
FacilityTypeDetailModel typeModel,
) async {
return await Get.bottomSheet(
FacilityPreorderDatePicker(typeModel: typeModel));
}
}
class FacilityPreorderDatePicker extends StatefulWidget {
FacilityTypeDetailModel typeModel;
@ -32,16 +41,43 @@ class _FacilityPreorderDatePickerState
getNum(widget.typeModel.openStartDT!),
(index) => index + 1);
DateTime? start;
List<int> models = [];
List models = [];
List<int> _selectIndex = [];
List<int> _selectDates = [];
_load() async {
BaseModel model =
await NetUtil().get(SAASAPI.facilities.allAppointmentPeriod, params: {
'facilitiesManageId': widget.typeModel.id,
'todayDate': DateTime.now(),
});
if (model.success) {
models = (model.data as List);
print(models);
}
setState(() {
});
}
@override
void initState() {
Future.delayed(
Duration.zero,
() => setState(() {
_load();
}));
super.initState();
}
@override
Widget build(BuildContext context) {
return BeeChooseDatePicker(
height: 700.h,
onPressed: () {
Get.back();
Get.back(result: _selectDates);
//print(_selectDates);
},
body: Container(
height: 600.h,
@ -69,24 +105,18 @@ class _FacilityPreorderDatePickerState
Widget _datesList(int index) {
DateTime start = widget.typeModel.openStartDT!;
() async {
BaseModel model =
await NetUtil().get(SAASAPI.facilities.allAppointmentPeriod, params: {
'facilitiesManageId': widget.typeModel.id,
'todayDate': DateTime.now(),
});
if (model.success) {
models = (model.data as List<int>).toList();
}
};
return GestureDetector(
onTap: () {
print(getNum(start)+index);
if(!models.contains(getNum(start)+index)||start.add(Duration(minutes: 30 * index)).isAfter(DateTime.now())){
//print(getNum(start)+index);
if (!models.contains(getNum(start) + index) ||
isPass(start.add(Duration(minutes: 30 * index)))) {
if (_selectIndex.contains(index)) {
_selectIndex.remove(index);
_selectDates.remove(getNum(start) + index);
} else {
_selectIndex.add(index);
_selectDates.add(getNum(start) + index);
}
}
setState(() {});
@ -97,7 +127,8 @@ class _FacilityPreorderDatePickerState
BeeCheckRadio(
value: index,
groupValue: _selectIndex,
canCheck: models.contains(getNum(start)+index),
canCheck: models.contains(getNum(start) + index) ||
isPass(start.add(Duration(minutes: 30 * index))),
),
30.wb,
Text(
@ -115,7 +146,7 @@ class _FacilityPreorderDatePickerState
.color(Colors.black.withOpacity(0.45))
.make()
: models.contains(getNum(start) + index)
? '已被他人预约'
? '已被预约'
.text
.size(30.sp)
.color(Colors.black.withOpacity(0.45))
@ -128,13 +159,13 @@ class _FacilityPreorderDatePickerState
}
bool isPass(DateTime date) {
if(date.hour<DateTime.now().hour||(date.minute<DateTime.now().minute&&date.hour==DateTime.now().hour)){
if (date.hour < DateTime.now().hour ||
(date.minute < DateTime.now().minute &&
date.hour == DateTime.now().hour)) {
return true;
}
else{
} else {
return false;
}
}
int getNum(DateTime dateTime) {

@ -1,9 +1,11 @@
import 'package:aku_new_community/widget/buttons/bee_long_button.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:bot_toast/bot_toast.dart';
import 'package:common_utils/common_utils.dart';
import 'package:get/get.dart';
import 'package:intl/intl.dart';
import 'package:provider/provider.dart';
import 'package:aku_new_community/base/base_style.dart';
@ -22,6 +24,9 @@ import 'package:aku_new_community/widget/buttons/bottom_button.dart';
import 'package:aku_new_community/widget/picker/bee_date_picker.dart';
import '../../../constants/saas_api.dart';
import '../../../models/facility/facility_type_model.dart';
import '../../../widget/bee_avatar_widget.dart';
import '../../../widget/bee_image_network.dart';
import '../../../widget/others/user_tool.dart';
import '../../../widget/picker/bee_choose_date_picker.dart';
import '../../../widget/picker/bee_day_picker.dart';
import '../../manager/advice/advice_house_page.dart';
@ -30,137 +35,157 @@ class FacilityPreorderPage extends StatefulWidget {
final FacilityTypeModel facilityModel;
final FacilityTypeDetailModel typeModel;
FacilityPreorderPage({Key? key, required this.facilityModel,required this.typeModel}) : super(key: key);
FacilityPreorderPage(
{Key? key, required this.facilityModel, required this.typeModel})
: super(key: key);
@override
_FacilityPreorderPageState createState() => _FacilityPreorderPageState();
}
class _FacilityPreorderPageState extends State<FacilityPreorderPage> {
DateTime? startDate;
DateTime? endDate;
List<int> dateList = [];
DateTime? date;
bool get canTap => startDate != null && endDate != null;
bool get canTap => dateList.isNotEmpty;
@override
Widget build(BuildContext context) {
final userProvider = Provider.of<UserProvider>(context);
return BeeScaffold(
title: '添加预订',
bodyColor: Colors.white,
title: '添加预约',
systemStyle: SystemStyle.yellowBottomBar,
body: ListView(
padding: EdgeInsets.symmetric(vertical: 32.w),
padding: EdgeInsets.symmetric(vertical: 20.w),
children: [
Text('业主房屋').pSymmetric(h: 32.w),
ListTile(
leading: Image.asset(
R.ASSETS_ICONS_HOUSE_PNG,
height: 60.w,
width: 60.w,
Container(
padding: EdgeInsets.all(10.w),
color: Colors.white,
child: ListTile(
leading: BeeAvatarWidget(
width: 90.w,
height: 90.w,
imgs: UserTool.userProvider.userInfoModel!.imgList,
),
onTap: () => Get.to(() => AdviceHousePage()),
title: Text(S.of(context)!.tempPlotName),
subtitle: Text(userProvider.defaultHouse!.addressName),
trailing: Icon(CupertinoIcons.chevron_forward),
),
BeeDivider(
indent: 32.w,
endIndent: 32.w,
),
32.hb,
Text('选择设施').pSymmetric(h: 32.w),
ListTile(
leading: Image.asset(
R.ASSETS_ICONS_FACILITY_PNG,
height: 60.w,
width: 60.w,
),
onTap: () async {await Get.to(() =>
FacilityTypeDetailPage(facilityModel: widget.facilityModel));
setState(() {});
},
title: Text(S.of(context)!.tempPlotName),
subtitle: Text(widget.typeModel.name),
trailing: Icon(CupertinoIcons.chevron_forward),
title: Text(
UserTool.userProvider.userInfoModel!.name!,
style: TextStyle(
fontSize: 30.sp,
),
BeeDivider(
indent: 32.w,
endIndent: 32.w,
),
32.hb,
Text('预约时间').pSymmetric(h: 32.w),
SizedBox(
height: 120.w,
child: Row(
subtitle: Text(
'租户 ' +
userProvider.defaultHouse!.communityName +
userProvider.defaultHouseString,
style: TextStyle(
color: Colors.black.withOpacity(0.45),
fontSize: 26.sp,
),
),
trailing: Icon(
CupertinoIcons.chevron_forward,
size: 35.w,
color: Colors.black.withOpacity(0.25),
),
),
),
20.hb,
Container(
padding: EdgeInsets.all(40.w),
color: Colors.white,
child: Column(
children: [
MaterialButton(
materialTapTargetSize: MaterialTapTargetSize.shrinkWrap,
height: 120.w,
onPressed: () async {
DateTime? date = await BeeDayPicker.pick(DateTime.now());
await Get.bottomSheet(FacilityPreorderDatePicker(typeModel: widget.typeModel,));
if (date != null) {
startDate = date;
GestureDetector(
onTap: () async {
await Get.to(() => FacilityTypeDetailPage(
facilityModel: widget.facilityModel));
setState(() {});
}
},
child: Text(
startDate == null
? '请选择开始时间'
: DateUtil.formatDate(
startDate,
format: 'yyyy/MM/dd',
child: Material(
color: Colors.transparent,
child: Row(
children: [
SizedBox(
width: 170.w,
child: '选择设施'
.text
.size(28.sp)
.color(Colors.black.withOpacity(0.50))
.make(),
),
style: TextStyle(
color: ktextSubColor,
),
),
).expand(),
Icon(Icons.arrow_forward),
MaterialButton(
materialTapTargetSize: MaterialTapTargetSize.shrinkWrap,
height: 120.w,
onPressed: () async {
DateTime? date = await BeeDatePicker.pick(
startDate == null
? DateTime.now().add(Duration(minutes: 90))
: startDate!.add(Duration(minutes: 30)),
min: startDate == null
? DateTime.now().add(Duration(minutes: 60))
: startDate!.add(Duration(minutes: 30)),
max: startDate == null
? DateTime.now().add(Duration(days: 2))
: (startDate!).add(Duration(days: 2)),
mode: CupertinoDatePickerMode.dateAndTime,
);
'${widget.typeModel.name}'
.text
.size(28.sp)
.color(Colors.black.withOpacity(0.85))
.make(),
Spacer(),
Icon(
CupertinoIcons.chevron_right,
size: 35.w,
color: Colors.black.withOpacity(0.25),
),
],
),
),
),
30.hb,
BeeDivider(),
30.hb,
GestureDetector(
onTap: () async {
date = await BeeDayPicker.pick(DateTime.now());
if (date != null) {
endDate = date;
dateList =
await FacilityPreorderDate.choose(widget.typeModel);
dateList.sort();
setState(() {});
}
},
child: Text(
endDate == null
? '请选择结束时间'
: DateUtil.formatDate(
endDate,
format: 'yyyy-MM-dd HH:mm',
),
style: TextStyle(
color: ktextSubColor,
child: Material(
color: Colors.transparent,
child: Row(
children: [
SizedBox(
width: 170.w,
child: '预约时间'
.text
.size(28.sp)
.color(Colors.black.withOpacity(0.50))
.make(),
),
date != null
? '${DateUtil.formatDate(date, format: 'yyyy/MM/dd')} ${dateString(dateList)}'
.text
.size(28.sp)
.color(Colors.black.withOpacity(0.85))
.make()
: '请选择预约时段'
.text
.size(28.sp)
.color(Colors.black.withOpacity(0.85))
.make(),
Spacer(),
Icon(
CupertinoIcons.chevron_right,
size: 35.w,
color: Colors.black.withOpacity(0.25),
),
).expand(),
],
),
),
BeeDivider(
indent: 32.w,
endIndent: 32.w,
),
],
),
bottomNavi: BottomButton(
),
],
),
bottomNavi: Padding(
padding: EdgeInsets.only(
left: 32.w,
right: 32.w,
bottom: MediaQuery.of(context).padding.bottom + 32.w),
child: BeeLongButton(
onPressed: canTap
? () async {
// if (dateDifferenceIsTrue) {
@ -172,8 +197,8 @@ class _FacilityPreorderPageState extends State<FacilityPreorderPage> {
'type': widget.facilityModel.type,
'facilitiesCategoryId': widget.facilityModel.id,
'facilitiesManageId': widget.typeModel.id,
'appointmentDate':1,
'appointmentPeriodList':1,
'appointmentDate': DateUtil.formatDate(date,format: 'yyyy-MM-dd HH:mm:ss'),
'appointmentPeriodList': dateList,
},
);
cancel();
@ -190,24 +215,12 @@ class _FacilityPreorderPageState extends State<FacilityPreorderPage> {
// }
}
: null,
child: Text('确认提交'),
text: '确认提交',
),
),
);
}
bool get dateDifferenceIsTrue {
if (startDate != null && endDate != null) {
int _diff = endDate!.difference(startDate!).inMinutes;
if (_diff < 30) {
return false;
} else if (_diff % 30 != 0) {
return false;
}
return true;
}
return false;
}
Widget _hasBeenOrder() {
return CupertinoAlertDialog(
title: '此设施已被预约'
@ -232,8 +245,8 @@ class _FacilityPreorderPageState extends State<FacilityPreorderPage> {
'取消'.text.size(30.sp).color(ktextPrimary).isIntrinsic.make()),
CupertinoActionSheetAction(
onPressed: () {
Get.off(
() => FacilityOrderDateListPage(facilitiesId: widget.typeModel.id));
Get.off(() =>
FacilityOrderDateListPage(facilitiesId: widget.typeModel.id));
},
child:
'查看'.text.size(30.sp).color(kPrimaryColor).isIntrinsic.make()),
@ -241,3 +254,17 @@ class _FacilityPreorderPageState extends State<FacilityPreorderPage> {
);
}
}
DateTime getDate(int dateNum) {
DateTime startDate = DateTime(
DateTime.now().year, DateTime.now().month, DateTime.now().day, 0, 0, 0);
return startDate.add(Duration(minutes: 30 * (dateNum - 1)));
}
String dateString(List<int> dates){
if(dates.length==1)
return '${DateUtil.formatDate(getDate(dates.first), format: 'HH:mm')}-${DateUtil.formatDate(getDate(dates.first).add(Duration(minutes: 30)), format: 'HH:mm')}';
else{
return '${DateUtil.formatDate(getDate(dates.first), format: 'HH:mm')}-${DateUtil.formatDate(getDate(dates.first).add(Duration(minutes: 30)), format: 'HH:mm')}';
}
}

@ -1,3 +1,4 @@
import 'package:aku_new_community/widget/bee_image_network.dart';
import 'package:flutter/material.dart';
import 'package:get/get.dart';
@ -19,7 +20,7 @@ class FacilityTypeCard extends StatelessWidget {
return MaterialButton(
color: Colors.white,
elevation: 0,
padding: EdgeInsets.all(30.w),
padding: EdgeInsets.all(25.w),
clipBehavior: Clip.antiAlias,
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(10.w),
@ -29,13 +30,18 @@ class FacilityTypeCard extends StatelessWidget {
Material(
borderRadius: BorderRadius.circular(10.w),
clipBehavior: Clip.antiAliasWithSaveLayer,
child: FadeInImage.assetNetwork(
placeholder: R.ASSETS_IMAGES_PLACEHOLDER_WEBP,
image: SAASAPI.image(ImgModel.first(model.imgUrls)),
child: BeeImageNetwork(
imgs: model.imgUrls??[],
height: 280.w,
width: double.infinity,
fit: BoxFit.cover,
),
// FadeInImage.assetNetwork(
// placeholder: R.ASSETS_IMAGES_PLACEHOLDER_WEBP,
// image: SAASAPI.image(ImgModel.first(model.imgUrls)),
// height: 280.w,
// width: double.infinity,
// fit: BoxFit.cover,
// ),
),
24.hb,
Row(

@ -9,6 +9,7 @@ import 'package:aku_new_community/model/common/img_model.dart';
import 'package:aku_new_community/utils/headers.dart';
import '../../../models/facility/facility_type_detail_model.dart';
import '../../../models/facility/facility_type_model.dart';
import '../../../widget/bee_image_network.dart';
import 'facility_preorder_page.dart';
class FacilityTypeDetailCard extends StatelessWidget {
@ -36,13 +37,19 @@ class FacilityTypeDetailCard extends StatelessWidget {
Material(
borderRadius: BorderRadius.circular(10.w),
clipBehavior: Clip.antiAliasWithSaveLayer,
child:FadeInImage.assetNetwork(
placeholder: R.ASSETS_IMAGES_PLACEHOLDER_WEBP,
image: SAASAPI.image(ImgModel.first(model.imgList)),
child:BeeImageNetwork(
imgs: model.imgList??[],
height: 150.h,
width: 200.w,
fit: BoxFit.cover,
),
// FadeInImage.assetNetwork(
// placeholder: R.ASSETS_IMAGES_PLACEHOLDER_WEBP,
// image: SAASAPI.image(ImgModel.first(model.imgList)),
// height: 150.h,
// width: 200.w,
// fit: BoxFit.cover,
// ),
),
30.wb,
Column(

@ -106,7 +106,7 @@ class _LineCardState extends State<LineCard> {
@override
void didChangeDependencies() {
WidgetsBinding.instance.addPostFrameCallback((timeStamp) {
WidgetsBinding.instance!.addPostFrameCallback((timeStamp) {
_height = context.size?.height ?? 0;
print(context.size?.height);
setState(() {});

@ -190,8 +190,6 @@ class _SubmitOrderPageState extends State<SubmitOrderPage> {
),
_addressModel != null
? Column(
children: [
Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Padding(
@ -230,19 +228,15 @@ class _SubmitOrderPageState extends State<SubmitOrderPage> {
children: <Widget>[
Text(_addressModel!.name ?? '',
style: TextStyle(
fontSize: 24.sp,
color: ktextPrimary)),
fontSize: 24.sp, color: ktextPrimary)),
30.wb,
Text(_addressModel!.tel ?? '',
style: TextStyle(
fontSize: 24.sp,
color: ktextPrimary)),
fontSize: 24.sp, color: ktextPrimary)),
],
),
),
],
),
],
)
: Center(
child: Text(

@ -513,7 +513,6 @@ class _ShopCarPageState extends State<ShopCarPage> {
_controllers[index].text = (num - 1).toString();
}
}
setState(() {});
},
child: Padding(

@ -82,7 +82,7 @@ class _MemberViewState extends State<MemberView> {
crossAxisCount: 4,
children: [
...model.members
.map((e) => _avatar(e.avatarImgList,Identify.values[e.identity], e.name))
.map((e) => _avatar(e.imgList,Identify.values[e.identity], e.name))
.toList()
],
shrinkWrap: true,

@ -55,7 +55,7 @@ class __BeeDayPickerState extends State<_BeeDayPicker> {
Widget build(BuildContext context) {
return BeeChooseDatePicker(
onPressed: () async{
Get.back();
Get.back(result: _date);
// await FacilityPreorderDatePicker();
},
body: CupertinoDatePicker(

Loading…
Cancel
Save