Browse Source

Merge branch 'dev' of https://git.lotus-wallet.com/fmk/huixiang_app

 Conflicts:
	lib/store/store_view/settlement.dart
master
fmk 3 years ago
parent
commit
a82e916979
  1. 16
      lib/order/order_view/order_status.dart
  2. 6
      lib/store/store_order.dart
  3. 209
      lib/store/store_view/settlement.dart
  4. 12
      lib/view_widget/rename_dialog.dart
  5. 104
      lib/view_widget/rename_dialog_content.dart

16
lib/order/order_view/order_status.dart

@ -91,7 +91,7 @@ class _OrderStatus extends State<OrderStatus> {
),
),
Image.asset(
"assets/image/order_ok.png",
statusPicture(widget.title),
height: 66.h,
width:66.w,
),
@ -205,6 +205,18 @@ class _OrderStatus extends State<OrderStatus> {
];
}
statusPicture(String status) {
String tripStatus = "assets/image/wait_meal.png";
if (status.contains(S.of(context).dingdanyiwancheng)) {
tripStatus = "assets/image/order_ok.png";
} else if (status.contains(S.of(context).dingdanyituikuan)) {
tripStatus = "assets/image/order_refund.png";
} else if (status.contains(S.of(context).quxiaodingdan)) {
tripStatus = "assets/image/oeder_cancel.png";
} else if (status.contains(S.of(context).dengdaiyonghuqucan)) {
tripStatus = "assets/image/wait_meal.png";
}
return tripStatus;
}
}

6
lib/store/store_order.dart

@ -359,7 +359,11 @@ class _StoreOrderPage extends State<StoreOrderPage>
onTap: () {
Navigator.of(context).pushNamed(
'/router/settlement',
arguments: widget.arguments,
arguments: {
"storeName": storeInfo.storeName,
"address": storeInfo.address,
"headMobile": storeInfo.headMobile,
},
);
},
child: RoundButton(

209
lib/store/store_view/settlement.dart

@ -7,10 +7,13 @@ import 'package:huixiang/order/order_view/order_commodity.dart';
import 'package:huixiang/retrofit/data/base_data.dart';
import 'package:huixiang/retrofit/data/order_info.dart';
import 'package:huixiang/retrofit/data/settleOrderInfo.dart';
import 'package:huixiang/retrofit/data/store_info.dart';
import 'package:huixiang/retrofit/min_api.dart';
import 'package:huixiang/retrofit/retrofit_api.dart';
import 'package:huixiang/utils/font_weight.dart';
import 'package:huixiang/view_widget/my_appbar.dart';
import 'package:huixiang/view_widget/rename_dialog.dart';
import 'package:huixiang/view_widget/rename_dialog_content.dart';
import 'package:huixiang/view_widget/round_button.dart';
import 'package:shared_preferences/shared_preferences.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
@ -28,7 +31,7 @@ class Settlement extends StatefulWidget {
}
class _Settlement extends State<Settlement> {
ApiService apiService;
MinApiService minService;
int selectedBtn = 0;
@ -37,17 +40,17 @@ class _Settlement extends State<Settlement> {
super.initState();
SharedPreferences.getInstance().then((value) {
minService = MinApiService(
apiService = ApiService(
Dio(),
context: context,
token: value.getString("minToken"),
tenant: value.getString("tenant"),
token: value.getString("token"),
);
queryOrderInfo();
});
}
OrderInfo orderInfo;
StoreInfo storeInfo;
int payStatus = 0;
int orderStatus = 0;
int sendStatus = 0;
@ -55,41 +58,40 @@ class _Settlement extends State<Settlement> {
int refundStatus = 0;
// String storeType = "NORMALSTORE"; //NORMALSTORE FASTSTORE RETAILSTORE
// queryDetails() async {
// BaseData<OrderInfo> baseData =
// await apiService.orderDetail(widget.arguments["id"]);
// if (baseData != null && baseData.isSuccess) {
// orderInfo = baseData.data;
// payStatus = orderInfo.payStatus;
// orderStatus = orderInfo.orderStatus;
// sendStatus = orderInfo.sendStatus;
// isTakeOut = orderInfo.isTakeOut;
// refundStatus = orderInfo.refundStatus;
// // storeType = orderInfo.storeVO.posType.code;
// print("order refund_status: $refundStatus");
// print("order payStatus: $payStatus");
// print("order orderStatus: $orderStatus");
// print("order sendStatus: $sendStatus");
// print("order isTakeOut: $isTakeOut");
// if (mounted)
// setState(() {
// statusTitle();
// });
// }
// }
queryDetails() async {
BaseData<OrderInfo> baseData = await apiService.orderDetail(widget.arguments["id"]);
if (baseData != null && baseData.isSuccess) {
orderInfo = baseData.data;
payStatus = orderInfo.payStatus;
orderStatus = orderInfo.orderStatus;
sendStatus = orderInfo.sendStatus;
isTakeOut = orderInfo.isTakeOut;
refundStatus = orderInfo.refundStatus;
// storeType = orderInfo.storeVO.posType.code;
print("order refund_status: $refundStatus");
print("order payStatus: $payStatus");
print("order orderStatus: $orderStatus");
print("order sendStatus: $sendStatus");
print("order isTakeOut: $isTakeOut");
if (mounted)
setState(() {
statusTitle();
});
}
}
///
queryOrderInfo() async {
// BaseData<SettleOrderInfo> baseData = await minService.getOrderInfo({
// "addressId":0,
// "isTake": 0,
// "memberCouponId": 0,
// "orderId": widget.arguments["orderId"],
// "promotionId": 0
// });
// if (baseData != null && baseData.isSuccess) {
// setState(() {});
// }
BaseData<SettleOrderInfo> baseData = await minService.getOrderInfo({
"addressId":0,
"isTake": 0,
"memberCouponId": 0,
"orderId": widget.arguments["orderId"],
"promotionId": 0
});
if (baseData != null && baseData.isSuccess) {
setState(() {});
}
}
@override
@ -117,7 +119,6 @@ class _Settlement extends State<Settlement> {
leadingColor: Colors.white,
title:S.of(context).dingdanjiesuan,
titleColor: Colors.white,
brightness: Brightness.dark,
titleSize: 18.sp,
),
body: Container(
@ -127,10 +128,7 @@ class _Settlement extends State<Settlement> {
child: Column(
children: [
distributionMode(),
SizedBox(
height: 14,
),
SizedBox(height: 14,),
///
OrderCommodity(orderInfo),
@ -142,6 +140,9 @@ class _Settlement extends State<Settlement> {
///
payMethod(),
],
),
),
@ -157,7 +158,8 @@ class _Settlement extends State<Settlement> {
bottom: 0,
left: 0,
right: 0,
child: Container(
child:
Container(
height: 54.h,
color: Colors.white,
child: Row(
@ -180,11 +182,11 @@ class _Settlement extends State<Settlement> {
color: Color(0xFF32A060),
),
),
SizedBox(
width: 28,
),
SizedBox(width: 28,),
GestureDetector(
onTap: () {},
onTap: () {
},
child: RoundButton(
width: 103.w,
height: 54.h,
@ -199,13 +201,14 @@ class _Settlement extends State<Settlement> {
],
),
),
),
)
],
);
}
String title = "";
String center = "";
TextEditingController _vc = TextEditingController();
statusTitle() {
if (isTakeOut == 0) {
@ -309,11 +312,7 @@ class _Settlement extends State<Settlement> {
borderRadius: BorderRadius.circular(8),
),
height: 175.h,
margin: EdgeInsets.only(
left: 16,
right: 16,
top: 15,
),
margin: EdgeInsets.only(left: 16, right: 16, top: 15),
child: Stack(
children: [
Column(
@ -338,15 +337,13 @@ class _Settlement extends State<Settlement> {
decoration: BoxDecoration(
image: selectedBtn == 0
? DecorationImage(
image:
AssetImage("assets/image/order_btn1.png"),
image: AssetImage(
"assets/image/order_btn1.png"),
fit: BoxFit.fill,
)
: null,
borderRadius: BorderRadius.only(
topLeft: Radius.circular(8),
),
),
topLeft: Radius.circular(8))),
child: GestureDetector(
onTap: () {
setState(() {
@ -366,8 +363,7 @@ class _Settlement extends State<Settlement> {
),
],
),
),
),
)),
),
Expanded(
flex: 1,
@ -445,13 +441,12 @@ class _Settlement extends State<Settlement> {
children: [
Row(
children: [
Expanded(
child: Column(
Expanded(child:Column(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(
"前进麦味·天然烘焙(凯德1818店)",
storeInfo != null ? (storeInfo.storeName ?? "") : "",
overflow: TextOverflow.ellipsis,
style: TextStyle(
fontSize: 14.sp,
@ -463,7 +458,7 @@ class _Settlement extends State<Settlement> {
height: 4,
),
Text(
"武昌区中国铁建凯德1818蓝调步行街中北路109附33门牌号05",
storeInfo != null ? storeInfo.address : "",
overflow: TextOverflow.ellipsis,
maxLines: 2,
style: TextStyle(
@ -476,8 +471,7 @@ class _Settlement extends State<Settlement> {
height: 12,
),
],
),
),
),),
SizedBox(
width: 18,
),
@ -493,8 +487,7 @@ class _Settlement extends State<Settlement> {
),
],
),
Column(
children: [
Column(children: [
RoundButton(
width: 41.w,
height: 13,
@ -510,16 +503,14 @@ class _Settlement extends State<Settlement> {
height: 24.h,
width:24.w,
),
],
),
],),
],
)
],
),
Row(
children: [
Expanded(
child: Text(
Expanded(child: Text(
S.of(context).yuliudianhua,
overflow: TextOverflow.ellipsis,
style: TextStyle(
@ -527,21 +518,25 @@ class _Settlement extends State<Settlement> {
fontWeight: MyFontWeight.regular,
color: Color(0xFF4C4C4C),
),
),
),
)),
Text(
"12309090909",
storeInfo != null ? storeInfo.headMobile:"",
style: TextStyle(
fontSize: 14.sp,
fontWeight: MyFontWeight.medium,
color: Color(0xFF4C4C4C),
),
),
Image.asset(
GestureDetector(
onTap: (){
showAlertDialog();
},
child:Image.asset(
"assets/image/pen.png",
height:14.h,
width:14.w,
),
),
],
)
],
@ -624,40 +619,29 @@ class _Settlement extends State<Settlement> {
borderRadius: BorderRadius.circular(8),
),
height: 86.h,
margin: EdgeInsets.only(
left: 16,
right: 16,
top: 15,
),
padding: EdgeInsets.only(
left: 16,
right: 16,
top: 16,
),
margin: EdgeInsets.only(left: 16, right: 16, top: 15),
padding: EdgeInsets.only(left: 16, right: 16, top: 16),
child: Column(
children: [
Row(
mainAxisAlignment: MainAxisAlignment.center,
crossAxisAlignment: CrossAxisAlignment.center,
children: [
Expanded(
flex: 1,
child: Text(
Expanded(flex: 1,child:Text(
S.of(context).youhuiquan,
style: TextStyle(
fontWeight: MyFontWeight.regular,
fontSize: 14.sp,
color: Color(0xFF353535),
),
),
),
)),
Text(
"满30减10",
textAlign: TextAlign.end,
style: TextStyle(
fontSize: 14.sp,
color: Color(0xFF32A060),
fontWeight: MyFontWeight.semi_bold,
fontWeight: MyFontWeight.semi_bold
),
),
Icon(
@ -666,31 +650,27 @@ class _Settlement extends State<Settlement> {
),
],
),
SizedBox(
height: 13,
SizedBox(height: 13,
),
Row(
mainAxisAlignment: MainAxisAlignment.center,
crossAxisAlignment: CrossAxisAlignment.center,
children: [
Expanded(
flex: 1,
child: Text(
Expanded(flex: 1,child:Text(
S.of(context).beizhu,
style: TextStyle(
fontWeight: MyFontWeight.regular,
fontSize: 14.sp,
color: Color(0xFF353535),
),
),
),
)),
Text(
"口味、面包硬度等",
textAlign: TextAlign.end,
style: TextStyle(
fontSize: 14.sp,
color: Color(0xFF353535),
fontWeight: MyFontWeight.semi_bold,
fontWeight: MyFontWeight.semi_bold
),
),
Icon(
@ -761,15 +741,13 @@ class _Settlement extends State<Settlement> {
style: TextStyle(
fontSize: 14.sp,
color: Color(0xff353535),
fontWeight: MyFontWeight.semi_bold,
fontWeight: MyFontWeight.semi_bold
),
),
],
),
),
SizedBox(
height: 10,
),
SizedBox(height: 10,),
GestureDetector(
onTap: () {
setState(() {
@ -792,9 +770,7 @@ class _Settlement extends State<Settlement> {
],
),
),
SizedBox(
height: 10,
),
SizedBox(height: 10,),
GestureDetector(
onTap: () {
setState(() {
@ -827,6 +803,27 @@ class _Settlement extends State<Settlement> {
);
}
showAlertDialog() {
//
showDialog(
barrierDismissible: false,
context: context,
builder: (context) {
return RenameDialog(
contentWidget: RenameDialogContent(
title: "请输入新的手机号码",
okBtnTap: () {
// print(
// "输入框中的文字为:${_vc.text}",
// );
},
vc: _vc,
cancelBtnTap: () {},
),
);
});
}
var checkIndex = 1;
Widget checkView(var index) {

12
lib/view_widget/rename_dialog.dart

@ -0,0 +1,12 @@
import 'package:flutter/material.dart';
class RenameDialog extends AlertDialog {
RenameDialog({Widget contentWidget})
: super(
content: contentWidget,
contentPadding: EdgeInsets.zero,
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(20),
side: BorderSide(color: Colors.white, width: 3)),
);
}

104
lib/view_widget/rename_dialog_content.dart

@ -0,0 +1,104 @@
import 'package:flutter/material.dart';
import 'package:huixiang/generated/l10n.dart';
double btnHeight = 60;
double borderWidth = 2;
class RenameDialogContent extends StatefulWidget {
final String title;
final VoidCallback cancelBtnTap;
final VoidCallback okBtnTap;
final TextEditingController vc;
RenameDialogContent(
{@required this.title,
this.cancelBtnTap,
this.okBtnTap,
this.vc});
@override
_RenameDialogContentState createState() =>
_RenameDialogContentState();
}
class _RenameDialogContentState extends State<RenameDialogContent> {
@override
Widget build(BuildContext context) {
return Container(
margin: EdgeInsets.only(top: 20),
height: 200,
width: 10000,
alignment: Alignment.bottomCenter,
child: Column(
children: [
Container(
alignment: Alignment.center,
child: Text(
widget.title,
style: TextStyle(color: Colors.grey),
)),
Spacer(),
Padding(
padding: EdgeInsets.fromLTRB(30, 0, 30, 0),
child: TextField(
style: TextStyle(color: Colors.black87),
controller: widget.vc,
decoration: InputDecoration(
enabledBorder: UnderlineInputBorder(
borderSide: BorderSide(color: Colors.black),
),
focusedBorder: UnderlineInputBorder(
borderSide: BorderSide(color: Colors.black),
)),
),
),
Container(
// color: Colors.red,
height: btnHeight,
margin: EdgeInsets.fromLTRB(0, 30, 0, 0),
child: Column(
children: [
Container(
// 线
width: double.infinity,
color: Colors.white,
height: borderWidth,
),
Row(
mainAxisAlignment: MainAxisAlignment.spaceEvenly,
children: [
FlatButton(
onPressed: () {
widget.vc.text = "";
widget.cancelBtnTap();
Navigator.of(context).pop();
},
child: Text(
S.of(context).quxiao,
style: TextStyle(fontSize: 18, color: Colors.black),
),
),
Container(
// 线
width: borderWidth,
color: Colors.grey,
height: btnHeight - borderWidth - borderWidth,
),
FlatButton(
onPressed: () {
widget.okBtnTap();
Navigator.of(context).pop();
widget.vc.text = "";
},
child: Text(
S.of(context).queding,
style: TextStyle(fontSize:18, color: Colors.black),
)),
],
),
],
),
)
],
));
}
}
Loading…
Cancel
Save