You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

265 lines
7.6 KiB

import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:huixiang/generated/l10n.dart';
import 'package:huixiang/view_widget/round_button.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
class StatusUtils {
static String statusText(
context, refundStatus, orderStatus, payStatus, sendStatus, isTakeOut) {
String statusText = "";
if (isTakeOut == 0) {
if (payStatus == 0) {
statusText = S.of(context).daizhifu;
} else {
statusText = S.of(context).yizhifu;
switch (orderStatus) {
case 2:
statusText = S.of(context).shangjiazhengzaipeican;
break;
case 3:
statusText = S.of(context).daiqucan;
break;
case 4:
statusText = S.of(context).yiwancheng;
break;
}
}
} else if (isTakeOut == 1) {
if (payStatus == 0) {
statusText = S.of(context).daizhifu;
} else {
statusText = S.of(context).yizhifu;
if (orderStatus < 4) {
switch (sendStatus) {
case 1:
statusText = S.of(context).zhengzaihujiaoqishou;
break;
case 2:
statusText = S.of(context).quhuozhong;
break;
case 3:
statusText = S.of(context).peisongzhong;
break;
case 4:
statusText = S.of(context).yisongda;
break;
}
} else {
switch (orderStatus) {
case 4:
statusText = S.of(context).yiwancheng;
break;
}
}
}
} else if (isTakeOut == 2) {
if (payStatus == 0) {
statusText = S.of(context).daizhifu;
} else {
statusText = S.of(context).yizhifu;
if (orderStatus < 4) {
switch (sendStatus) {
case 1:
statusText = S.of(context).yifahuo;
break;
case 4:
statusText = S.of(context).yisongda;
break;
}
} else {
switch (orderStatus) {
case 4:
statusText = S.of(context).yiwancheng;
break;
}
}
}
}
if (refundStatus == 1) {
statusText = S.of(context).yituikuan;
}
if (orderStatus == 5) {
statusText = S.of(context).yiquxiao;
}
return statusText;
}
///click(type): type: 0 再来一单, 1 确认收货 2取消支付 3去支付 4 查看物流
static List<Widget> statusBtn(
context,
payStatus,
orderStatus,
isTakeOut,
sendStatus,
refundStatus,
dayFlowCode,
Function(int type) click) {
if (refundStatus == 1) {
return [
RoundButton(
text: S.of(context).zailaiyidan,
textColor: Colors.white,
fontSize: 12.sp,
backgroup: Color(0xFF32A060),
radius: 2,
padding: EdgeInsets.fromLTRB(17.w, 4.h, 17.w, 4.h),
callback: () {
click(0);
},
),
];
}
if (orderStatus > 4) {
return [
RoundButton(
text: S.of(context).zailaiyidan,
textColor: Colors.white,
fontSize: 12.sp,
backgroup: Color(0xFF32A060),
radius: 2,
padding: EdgeInsets.fromLTRB(17.w, 4.h, 17.w, 4.h),
callback: () {
click(0);
},
),
];
} else {
if (payStatus == 0) {
return [
RoundButton(
text: S.of(context).quzhifu,
textColor: Colors.white,
fontSize: 12.sp,
backgroup: Color(0xFF32A060),
radius: 2,
padding: EdgeInsets.fromLTRB(17.w, 4.h, 17.w, 4.h),
callback: () {
click(3);
},
),
SizedBox(
width: 10.w,
),
Container(
width: 72.w,
height: 24.h,
child: TextButton(
onPressed: () {
click(2);
},
style: ButtonStyle(
padding: MaterialStateProperty.all(EdgeInsets.zero),
side: MaterialStateProperty.all(
BorderSide(
color: Color(0xff32A060),
width: 0.5,
),
),
),
child: Text(
S.of(context).quxiaozhifu,
style: TextStyle(
color: Color(0xff32A060),
fontSize: 12.sp,
),
),
),
),
];
} else {
if (orderStatus < 4) {
if (isTakeOut == 0) {
return [
Expanded(
flex: 1,
child: Container(
margin: EdgeInsets.only(left: 37.w),
alignment: Alignment.centerLeft,
child: Text(
S.of(context).qudanhao(dayFlowCode),
style: TextStyle(
fontSize: 16.sp,
fontWeight: FontWeight.bold,
color: Colors.black,
),
),
),
),
];
} else if (isTakeOut == 1 || isTakeOut == 2) {
// } else if (isTakeOut == 2) {
if (sendStatus < 4) {
return [
RoundButton(
text: S.of(context).querenshouhuo,
textColor: Colors.white,
fontSize: 12.sp,
backgroup: Color(0xFF32A060),
radius: 2,
padding: EdgeInsets.fromLTRB(17.w, 4.h, 17.w, 4.h),
callback: () {
click(1);
},
),
SizedBox(
width: 10.w,
),
Container(
width: 72.w,
height: 24.h,
margin: EdgeInsets.only(right: 10.w),
child: TextButton(
onPressed: () {
click(4);
},
style: ButtonStyle(
padding: MaterialStateProperty.all(EdgeInsets.zero),
side: MaterialStateProperty.all(
BorderSide(color: Color(0xff32A060), width: 0.5),
),
),
child: Text(
S.of(context).chakanwuliu,
style:
TextStyle(color: Color(0xff32A060), fontSize: 12.sp),
),
),
),
];
} else {
return [
RoundButton(
text: S.of(context).zailaiyidan,
textColor: Colors.white,
fontSize: 12.sp,
backgroup: Color(0xFF32A060),
radius: 2,
padding: EdgeInsets.fromLTRB(17.w, 4.h, 17.w, 4.h),
callback: () {
click(0);
},
),
];
}
}
} else if (orderStatus == 4) {
return [
RoundButton(
text: S.of(context).zailaiyidan,
textColor: Colors.white,
fontSize: 12.sp,
backgroup: Color(0xFF32A060),
radius: 2,
padding: EdgeInsets.fromLTRB(17.w, 4.h, 17.w, 4.h),
callback: () {
click(0);
},
),
];
}
}
}
return [Container()];
}
}