Browse Source

規格更改

master
w-R 3 years ago
parent
commit
d4403a770a
  1. 472
      lib/retrofit/data/miNiDetail.dart
  2. 9
      lib/retrofit/min_api.dart
  3. 95
      lib/store/store_order.dart
  4. 206
      lib/store/store_view/store_order_list.dart
  5. 338
      lib/union/union_view/store_info.dart
  6. 2
      pubspec.lock

472
lib/retrofit/data/miNiDetail.dart

File diff suppressed because one or more lines are too long

9
lib/retrofit/min_api.dart

@ -1,6 +1,7 @@
import 'dart:convert';
import 'package:dio/dio.dart';
import 'package:flare_flutter/flare_testing.dart';
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:flutter_easyloading/flutter_easyloading.dart';
@ -11,8 +12,7 @@ import 'package:huixiang/view_widget/login_tips_dialog.dart';
import 'package:retrofit/retrofit.dart';
import 'data/findMiNiGroupList.dart';
import 'data/page.dart';
import 'data/miNiDetail.dart';
part 'min_api.g.dart';
// const base_url = "https://pos.platform.lotus-wallet.com/app/"; ///
@ -114,5 +114,10 @@ abstract class MinApiService {
@Body() Map<String, dynamic> param,Map<String, dynamic> header);
////
@GET("/product/queryMiNiProductDetail?id={id}")
Future<BaseData<MiNiDetail>> miNiDetail(@Path("id") String id);
}

95
lib/store/store_order.dart

@ -3,9 +3,11 @@ import 'package:flutter/cupertino.dart';
import 'package:flutter/gestures.dart';
import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:flutter_swiper/flutter_swiper.dart';
import 'package:huixiang/generated/l10n.dart';
import 'package:huixiang/retrofit/data/activity.dart';
import 'package:huixiang/retrofit/data/base_data.dart';
import 'package:huixiang/retrofit/data/findMiNiGroupList.dart';
import 'package:huixiang/retrofit/data/order_info.dart';
import 'package:huixiang/retrofit/data/store_info.dart';
import 'package:huixiang/retrofit/min_api.dart';
@ -17,6 +19,7 @@ import 'package:huixiang/union/union_view/union_coupon.dart';
import 'package:huixiang/union/union_view/vip.dart';
import 'package:huixiang/utils/font_weight.dart';
import 'package:huixiang/view_widget/classic_header.dart';
import 'package:huixiang/view_widget/custom_image.dart';
import 'package:huixiang/view_widget/my_tab.dart';
import 'package:huixiang/view_widget/round_button.dart';
import 'package:pull_to_refresh/pull_to_refresh.dart';
@ -24,12 +27,8 @@ import 'package:shared_preferences/shared_preferences.dart';
class StoreOrderPage extends StatefulWidget {
final Map arguments;
final List<Activity> activitys;
final StoreInfo storeInfo;
final List<ProductList> productList;
StoreOrderPage({this.arguments, this.activitys, this.storeInfo,this.productList});
StoreOrderPage({this.arguments});
@override
State<StatefulWidget> createState() {
@ -38,11 +37,12 @@ class StoreOrderPage extends StatefulWidget {
}
class _StoreOrderPage extends State<StoreOrderPage>
with TickerProviderStateMixin /*, AutomaticKeepAliveClientMixin */ {
with TickerProviderStateMixin, AutomaticKeepAliveClientMixin {
TabController tabcontroller;
ApiService apiService;
MinApiService minService;
StoreInfo storeInfo;
List<Activity> activitys;
RefreshController refreshController;
List<Widget> _widgetOptions;
@ -60,13 +60,17 @@ class _StoreOrderPage extends State<StoreOrderPage>
_widgetOptions = [
StoreOrderListPage(
widget.arguments, widget.activitys, storeInfo, controller),
widget.arguments,
activitys,
storeInfo,
controller,
),
///,
StoreActivity(
widget.arguments,
widget.activitys,
activitys,
),
];
@ -81,7 +85,6 @@ class _StoreOrderPage extends State<StoreOrderPage>
context: context,
token: value.getString('token'),
);
BaseData baseData = await apiService
.queryStoreInfo(widget.arguments["id"])
.catchError((error) {
@ -90,6 +93,9 @@ class _StoreOrderPage extends State<StoreOrderPage>
if (baseData != null && baseData.isSuccess) {
refreshController.refreshCompleted();
storeInfo = StoreInfo.fromJson(baseData.data);
activitys = storeInfo.informationVOPageVO.list
.map((e) => Activity.fromJson(e))
.toList();
if (mounted) {
setState(() {});
}
@ -126,7 +132,8 @@ class _StoreOrderPage extends State<StoreOrderPage>
(BuildContext context, bool innerBoxIsScrolled) {
return [
SliverOverlapAbsorber(
handle: NestedScrollView.sliverOverlapAbsorberHandleFor(context),
handle: NestedScrollView.sliverOverlapAbsorberHandleFor(
context),
sliver: SliverAppBar(
expandedHeight: (storeInfo != null &&
storeInfo.couponVOList != null)
@ -167,12 +174,13 @@ class _StoreOrderPage extends State<StoreOrderPage>
Positioned(
child: Column(
children: [
Image.asset(
"assets/image/share_image_bg.png",
fit: BoxFit.cover,
width: MediaQuery.of(context).size.width,
height: 180.h,
),
// Image.asset(
// "assets/image/share_image_bg.png",
// fit: BoxFit.cover,
// width: MediaQuery.of(context).size.width,
// height: 180.h,
// ),
buildSwiper(),
Expanded(
child: Container(
color: Colors.transparent,
@ -211,7 +219,7 @@ class _StoreOrderPage extends State<StoreOrderPage>
],
),
),
top: 110.h,
top: 90.h,
bottom: 0,
left: 0,
right: 0,
@ -359,6 +367,45 @@ class _StoreOrderPage extends State<StoreOrderPage>
);
}
Widget buildSwiper() {
return Container(
width: double.infinity,
height: 180.h,
child: Swiper(
pagination: SwiperPagination(
alignment: Alignment.bottomCenter,
builder: DotSwiperPaginationBuilder(
size: 8.w,
activeSize: 8.w,
space: 5.w,
activeColor: Colors.white,
color: Colors.white.withAlpha(76),
),
),
itemBuilder: (context, position) {
return Container(
margin: EdgeInsets.only(left: 10.w, right: 10.w),
child: MImage(
(storeInfo != null &&
storeInfo.bannerList != null &&
position < storeInfo.bannerList.length)
? storeInfo.bannerList[position].imgUrl
: "",
fit: BoxFit.cover,
radius: BorderRadius.circular(4),
errorSrc: "assets/image/default_2_1.png",
fadeSrc: "assets/image/default_2_1.png",
),
);
},
itemCount: (storeInfo != null && storeInfo.bannerList != null)
? storeInfo.bannerList.length
: 1),
);
}
List<ProductList> productLists = [];
///
showShoppingCart() {
showModalBottomSheet(
@ -419,14 +466,13 @@ class _StoreOrderPage extends State<StoreOrderPage>
right: 16,
),
child: ListView.builder(
itemCount: widget.productList == null ? 0 : widget.productList.length,
itemCount: productLists == null ? 0 : productLists.length,
physics: BouncingScrollPhysics(),
itemBuilder: (context, position) {
// return shoppGoodsItem();
return GestureDetector(
onTap: () {
},
child: shoppGoodsItem(widget.productList[position], position),
onTap: () {},
child: shoppGoodsItem(productLists[position], position),
);
},
),
@ -637,8 +683,8 @@ class _StoreOrderPage extends State<StoreOrderPage>
);
}
// @override
// bool get wantKeepAlive => true;
@override
bool get wantKeepAlive => true;
}
class Title extends StatefulWidget {
@ -668,7 +714,8 @@ class _Title extends State<Title> {
if (alphaProgress <= 1) {
alphatemp = 1;
} else if (alphaProgress <= alphaHeight) {
alphatemp = (((alphaHeight - alphaProgress) / alphaHeight) > 0.5) ? 1 : 0;
alphatemp =
(((alphaHeight - alphaProgress) / alphaHeight) > 0.5) ? 1 : 0;
} else {
alphatemp = 0;
}

206
lib/store/store_view/store_order_list.dart

@ -8,11 +8,13 @@ import 'package:huixiang/retrofit/data/findMiNiGroupList.dart';
import 'package:huixiang/retrofit/data/findMiNiGroupList.dart';
import 'package:huixiang/retrofit/data/findMiNiGroupList.dart';
import 'package:huixiang/retrofit/data/findMiNiGroupList.dart';
import 'package:huixiang/retrofit/data/miNiDetail.dart';
import 'package:huixiang/retrofit/data/store_info.dart';
import 'package:huixiang/retrofit/data/user_entity.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/utils/min.dart';
import 'package:huixiang/view_widget/custom_image.dart';
import 'package:huixiang/view_widget/round_button.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
@ -25,7 +27,11 @@ class StoreOrderListPage extends StatefulWidget {
final ScrollController controller;
StoreOrderListPage(
this.arguments, this.activitys, this.storeInfo, this.controller);
this.arguments,
this.activitys,
this.storeInfo,
this.controller,
);
@override
State<StatefulWidget> createState() {
@ -33,24 +39,7 @@ class StoreOrderListPage extends StatefulWidget {
}
}
class testModel {
String name;
bool isSelected;
testModel(String name) {
this.name = name;
this.isSelected = false;
}
}
class _StoreOrderListPage extends State<StoreOrderListPage> {
List<testModel> temperatureStoreList = [
testModel("正常冰"),
testModel("少冰"),
testModel("多冰"),
testModel("去冰")
];
List<testModel> sweetnessStoreList = [testModel("正常糖"), testModel("5分糖")];
int isSelected = 0;
int isChoice = 0;
int tempClickIndex = 0;
@ -76,16 +65,18 @@ class _StoreOrderListPage extends State<StoreOrderListPage> {
context: context,
token: value.getString('token'),
);
apiService.minLogin(widget.arguments["id"])
.catchError((onError){}).then((baseData) {
apiService
.minLogin(widget.arguments["id"])
.catchError((onError) {})
.then((baseData) {
if (baseData != null && baseData.isSuccess) {
Map<String, dynamic> minStoreInfo = baseData.data;
String minToken = minStoreInfo["token"];
String tenant = widget.arguments["tenant"];
SharedPreferences.getInstance().then((value) => {
value.setString('minToken', minToken),
value.setString('tenant', tenant),
});
value.setString('minToken', minToken),
value.setString('tenant', tenant),
});
minService = MinApiService(
Dio(),
context: context,
@ -93,33 +84,42 @@ class _StoreOrderListPage extends State<StoreOrderListPage> {
// tenant: tenant,
);
appletGoods();
// queryMiNiDetail(widget.arguments["id"]);
}
});
}
///
appletGoods() async{
BaseData<List<FindMiNiGroupList>> baseData = await minService.findMiNiGroupList({
"id":widget.arguments["id"]
},{
"store_id":widget.arguments["id"],
"tenant":"1175"
});
appletGoods() async {
BaseData<List<FindMiNiGroupList>> baseData = await minService
.findMiNiGroupList({"id": widget.arguments["id"]},
{"store_id": widget.arguments["id"], "tenant": "1175"});
if (baseData != null && baseData.isSuccess) {
setState(() {
appletProducts = baseData.data;
if(appletProducts.length > 0)
if (appletProducts.length > 0)
productListBeans = appletProducts[0].productList;
});
}
}
///
queryMiNiDetail(String id) async {
BaseData<MiNiDetail> baseData = await minService.miNiDetail(id);
if (baseData != null && baseData.isSuccess) {
setState(() {
showStoreSelector(baseData.data);
});
}
}
@override
Widget build(BuildContext context) {
return Container(
width: MediaQuery.of(context).size.width,
height: MediaQuery.of(context).size.height - (kToolbarHeight + 38 + 54.h),
margin: EdgeInsets.only(top: (MediaQuery.of(context).padding.top + 38 + kToolbarHeight)),
margin: EdgeInsets.only(
top: (MediaQuery.of(context).padding.top + 38 + kToolbarHeight)),
child: Row(
mainAxisAlignment: MainAxisAlignment.start,
mainAxisSize: MainAxisSize.max,
@ -131,7 +131,7 @@ class _StoreOrderListPage extends State<StoreOrderListPage> {
controller: controller1,
padding: EdgeInsets.zero,
itemBuilder: (context, position) {
return orderItem(appletProducts[position],position);
return orderItem(appletProducts[position], position);
},
),
),
@ -154,14 +154,14 @@ class _StoreOrderListPage extends State<StoreOrderListPage> {
ScrollController controller1 = ScrollController();
ScrollController controller2 = ScrollController();
Widget orderItem(FindMiNiGroupList findMiNiGroupList,int index) {
Widget orderItem(FindMiNiGroupList findMiNiGroupList, int index) {
return Container(
child: Column(
mainAxisAlignment: MainAxisAlignment.spaceAround,
crossAxisAlignment: CrossAxisAlignment.center,
children: [
GestureDetector(
onTap:() {
onTap: () {
setState(() {
isSelected = index;
productListBeans = findMiNiGroupList.productList;
@ -189,17 +189,19 @@ class _StoreOrderListPage extends State<StoreOrderListPage> {
);
}
Widget goodsItem(ProductListBean productListBean,position) {
Widget goodsItem(ProductListBean productListBean, position) {
return Container(
color: Colors.white,
padding: EdgeInsets.only(right: 16.w, bottom: 10.h,top:10.h),
padding: EdgeInsets.only(right: 16.w, bottom: 10.h, top: 10.h),
child: Row(
crossAxisAlignment: CrossAxisAlignment.start,
mainAxisAlignment: MainAxisAlignment.start,
children: [
SizedBox(width: 12.w),
MImage(
MImage(
productListBean != null ? productListBean.imgPath : "",
width: 70,
height:70,
height: 70,
fit: BoxFit.cover,
errorSrc: "assets/image/default_1.png",
fadeSrc: "assets/image/default_1.png",
@ -207,7 +209,7 @@ class _StoreOrderListPage extends State<StoreOrderListPage> {
SizedBox(width: 10),
Expanded(
child: Column(
// crossAxisAlignment: CrossAxisAlignment.start,
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(
productListBean.productName,
@ -220,17 +222,18 @@ class _StoreOrderListPage extends State<StoreOrderListPage> {
SizedBox(height: 2),
Row(
children: [
Expanded(child: Text(
productListBean.shortName,
overflow: TextOverflow.ellipsis,
maxLines: 2,
style: TextStyle(
color: Color(0xFF4C4C4C),
fontSize: 10.sp,
fontWeight: MyFontWeight.regular,
Expanded(
child: Text(
productListBean.shortName,
overflow: TextOverflow.ellipsis,
maxLines: 2,
style: TextStyle(
color: Color(0xFF4C4C4C),
fontSize: 10.sp,
fontWeight: MyFontWeight.regular,
),
),
), ),
),
SizedBox(width: 10),
],
),
@ -287,7 +290,8 @@ class _StoreOrderListPage extends State<StoreOrderListPage> {
true
? GestureDetector(
onTap: () {
showStoreSelector(productListBean);
// showStoreSelector(productListBean);
queryMiNiDetail(productListBean.id);
},
child: RoundButton(
width: 49.w,
@ -339,8 +343,12 @@ class _StoreOrderListPage extends State<StoreOrderListPage> {
);
}
List<ProductListBean> shopCarList() {
return productListBeans;
}
///
showStoreSelector(ProductListBean productListBean) {
showStoreSelector(MiNiDetail miNiDetail) {
showModalBottomSheet(
context: context,
backgroundColor: Colors.transparent,
@ -366,7 +374,7 @@ class _StoreOrderListPage extends State<StoreOrderListPage> {
crossAxisAlignment: CrossAxisAlignment.start,
children: [
MImage(
productListBean.imgPath,
miNiDetail.imgs[0],
width: 70,
height: 70,
fit: BoxFit.cover,
@ -378,7 +386,7 @@ class _StoreOrderListPage extends State<StoreOrderListPage> {
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(
productListBean.productName,
miNiDetail.productName,
style: TextStyle(
color: Colors.black,
fontSize: 16.sp,
@ -407,7 +415,7 @@ class _StoreOrderListPage extends State<StoreOrderListPage> {
),
),
Text(
productListBean.applyPrice,
miNiDetail.price,
style: TextStyle(
color: Color(0xFFFF7A1A),
fontSize: 14.sp,
@ -434,51 +442,23 @@ class _StoreOrderListPage extends State<StoreOrderListPage> {
SizedBox(
height: 23,
),
Text(
"温度",
style: TextStyle(
color: Colors.black,
fontSize: 14.sp,
fontWeight: MyFontWeight.regular,
),
),
SizedBox(
height: 15,
),
sweetnessStore(() {
state(() {
for (var i = 0; i < temperatureStoreList.length; i++) {
if (tempClickIndex == i)
temperatureStoreList[i].isSelected = true;
else
temperatureStoreList[i].isSelected = false;
}
});
}, temperatureStoreList),
SizedBox(
height: 24,
),
Text(
"甜度",
style: TextStyle(
color: Colors.black,
fontSize: 14.sp,
fontWeight: MyFontWeight.regular,
),
),
SizedBox(
height: 15,
),
sweetnessStore(() {
state(() {
for (var i = 0; i < sweetnessStoreList.length; i++) {
if (tempClickIndex == i)
sweetnessStoreList[i].isSelected = true;
else
sweetnessStoreList[i].isSelected = false;
}
});
}, sweetnessStoreList),
Expanded(child: ListView.builder(
itemCount: miNiDetail.attrList.length,
scrollDirection: Axis.vertical,
physics: BouncingScrollPhysics(),
itemBuilder: (context, position) {
return attrItem(() {
state(() {
for (var i = 0; i < miNiDetail.attrList[position].attrValueList.length; i++) {
if (tempClickIndex == i)
miNiDetail.attrList[position].attrValueList[i].isSelected = true;
else
miNiDetail.attrList[position].attrValueList[i].isSelected = false;
}
});
}, miNiDetail.attrList[position]);
},
)),
SizedBox(
height: 24,
),
@ -505,7 +485,7 @@ class _StoreOrderListPage extends State<StoreOrderListPage> {
Padding(
padding: EdgeInsets.only(left: 8, right: 8),
child: Text(
productListBean.buyNum.toString(),
"1",
style: TextStyle(
color: Colors.black,
fontSize: 14.sp,
@ -548,7 +528,27 @@ class _StoreOrderListPage extends State<StoreOrderListPage> {
);
}
Widget sweetnessStore(Function fc, List<testModel> arrays) {
Widget attrItem(Function fc,AttrListBean attrListBean){
return Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(
attrListBean.attrName,
style: TextStyle(
color: Colors.black,
fontSize: 14.sp,
fontWeight: MyFontWeight.regular,
),
),
SizedBox(
height: 15,
),
sweetnessStore(fc, attrListBean.attrValueList),
],
);
}
Widget sweetnessStore(Function fc, List<AttrValueListBean> arrays) {
return GridView.builder(
itemCount: arrays.length,
shrinkWrap: true,
@ -568,7 +568,7 @@ class _StoreOrderListPage extends State<StoreOrderListPage> {
tempClickIndex = index;
fc();
},
child: sweetnessItem(arrays[index].name, arrays[index].isSelected),
child: sweetnessItem(arrays[index].attrValue, arrays[index].isSelected??false),
);
},
);

338
lib/union/union_view/store_info.dart

@ -177,175 +177,175 @@ class _StoreInfos extends State<StoreInfos> {
],
),
);
return AspectRatio(
aspectRatio: 1,
child: Container(
margin: EdgeInsets.fromLTRB(16, 20, 16, 8),
padding: EdgeInsets.fromLTRB(10, 20, 10, 14),
decoration: BoxDecoration(
color: Colors.white,
borderRadius: BorderRadius.circular(8),
boxShadow: [
BoxShadow(
color: Colors.black.withAlpha(25),
offset: Offset(0, 1),
blurRadius: 12,
spreadRadius: 0,
),
],
),
child: Column(
mainAxisAlignment: MainAxisAlignment.spaceAround,
crossAxisAlignment: CrossAxisAlignment.start,
children: [
AspectRatio(
aspectRatio: 1.8,
child: buildSwiper(),
),
Expanded(
child: Container(
margin: EdgeInsets.only(
left: 10.w,
right: 10.w,
top: 16.h,
),
child: Column(
mainAxisAlignment:
MainAxisAlignment.spaceBetween,
crossAxisAlignment:
CrossAxisAlignment.start,
children: [
Row(
children: [
Expanded(
child: Container(
alignment:
Alignment.centerLeft,
child: Text(
widget.storeInfo != null
? widget.storeInfo.storeName
: "",
overflow: TextOverflow.ellipsis,
style: TextStyle(
fontSize: 16.sp,
color: Colors.black,
fontWeight: MyFontWeight.medium,
),
),
),
),
Text(
S.of(context).ren(
widget.storeInfo != null
? widget.storeInfo
.perCapitaConsumption
: "",
),
overflow: TextOverflow.ellipsis,
style: TextStyle(
fontSize: 14.sp,
fontWeight: MyFontWeight.regular,
color: Color(0xFF353535),
),
),
],
),
Text(
widget.storeInfo != null
? widget.storeInfo.address
: "",
maxLines: 2,
textAlign: TextAlign.justify,
style: TextStyle(
color: Color(0xFF353535),
fontWeight: MyFontWeight.regular,
fontSize: 12.sp,
),
),
Row(
children: itemServer(
widget.storeInfo != null
? widget.storeInfo.businessService
: "",
),
),
Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
crossAxisAlignment: CrossAxisAlignment.end,
children: [
Expanded(
child: Text(
S.of(context).yingyeshijian(widget.storeInfo ==
null
? ""
: (widget.storeInfo.openStartTime ==
null &&
widget.storeInfo
.openEndTime ==
null)
? S.of(context).quantian
: "${widget.storeInfo.openStartTime.substring(0, widget.storeInfo.openStartTime.lastIndexOf(":"))} "
"- ${widget.storeInfo.openEndTime.substring(0, widget.storeInfo.openEndTime.lastIndexOf(":"))}"),
style: TextStyle(
color: Color(0xFF353535),
fontWeight: MyFontWeight.regular,
fontSize: 12.sp,
),
),
),
SizedBox(
width: 16.w,
),
InkWell(
onTap: () {
if (widget.storeInfo == null ||
widget.storeInfo.latitude ==
null ||
widget.storeInfo.longitude ==
null ||
widget.storeInfo.latitude == "" ||
widget.storeInfo.longitude == "")
return;
Navigator.of(context).pushNamed(
'/router/location_map',
arguments: {
"lat": widget.storeInfo.latitude,
"lng":
widget.storeInfo.longitude,
"storeName":
widget.storeInfo.storeName,
});
},
child: Image.asset(
"assets/image/icon_union_location.png",
width: 24.w,
height: 24.h,
),
),
SizedBox(
width: 16.w,
),
InkWell(
onTap: () {
showCallMobile();
},
child: Image.asset(
"assets/image/icon_union_call.png",
width: 24,
height: 24,
),
),
],
),
],
),
),
flex: 1,
),
],
),
),
);
// return AspectRatio(
// aspectRatio: 1,
// child: Container(
// margin: EdgeInsets.fromLTRB(16, 20, 16, 8),
// padding: EdgeInsets.fromLTRB(10, 20, 10, 14),
// decoration: BoxDecoration(
// color: Colors.white,
// borderRadius: BorderRadius.circular(8),
// boxShadow: [
// BoxShadow(
// color: Colors.black.withAlpha(25),
// offset: Offset(0, 1),
// blurRadius: 12,
// spreadRadius: 0,
// ),
// ],
// ),
// child: Column(
// mainAxisAlignment: MainAxisAlignment.spaceAround,
// crossAxisAlignment: CrossAxisAlignment.start,
// children: [
// AspectRatio(
// aspectRatio: 1.8,
// child: buildSwiper(),
// ),
// Expanded(
// child: Container(
// margin: EdgeInsets.only(
// left: 10.w,
// right: 10.w,
// top: 16.h,
// ),
// child: Column(
// mainAxisAlignment:
// MainAxisAlignment.spaceBetween,
// crossAxisAlignment:
// CrossAxisAlignment.start,
// children: [
// Row(
// children: [
// Expanded(
// child: Container(
// alignment:
// Alignment.centerLeft,
// child: Text(
// widget.storeInfo != null
// ? widget.storeInfo.storeName
// : "",
// overflow: TextOverflow.ellipsis,
// style: TextStyle(
// fontSize: 16.sp,
// color: Colors.black,
// fontWeight: MyFontWeight.medium,
// ),
// ),
// ),
// ),
// Text(
// S.of(context).ren(
// widget.storeInfo != null
// ? widget.storeInfo
// .perCapitaConsumption
// : "",
// ),
// overflow: TextOverflow.ellipsis,
// style: TextStyle(
// fontSize: 14.sp,
// fontWeight: MyFontWeight.regular,
// color: Color(0xFF353535),
// ),
// ),
// ],
// ),
// Text(
// widget.storeInfo != null
// ? widget.storeInfo.address
// : "",
// maxLines: 2,
// textAlign: TextAlign.justify,
// style: TextStyle(
// color: Color(0xFF353535),
// fontWeight: MyFontWeight.regular,
// fontSize: 12.sp,
// ),
// ),
// Row(
// children: itemServer(
// widget.storeInfo != null
// ? widget.storeInfo.businessService
// : "",
// ),
// ),
// Row(
// mainAxisAlignment: MainAxisAlignment.spaceBetween,
// crossAxisAlignment: CrossAxisAlignment.end,
// children: [
// Expanded(
// child: Text(
// S.of(context).yingyeshijian(widget.storeInfo ==
// null
// ? ""
// : (widget.storeInfo.openStartTime ==
// null &&
// widget.storeInfo
// .openEndTime ==
// null)
// ? S.of(context).quantian
// : "${widget.storeInfo.openStartTime.substring(0, widget.storeInfo.openStartTime.lastIndexOf(":"))} "
// "- ${widget.storeInfo.openEndTime.substring(0, widget.storeInfo.openEndTime.lastIndexOf(":"))}"),
// style: TextStyle(
// color: Color(0xFF353535),
// fontWeight: MyFontWeight.regular,
// fontSize: 12.sp,
// ),
// ),
// ),
// SizedBox(
// width: 16.w,
// ),
// InkWell(
// onTap: () {
// if (widget.storeInfo == null ||
// widget.storeInfo.latitude ==
// null ||
// widget.storeInfo.longitude ==
// null ||
// widget.storeInfo.latitude == "" ||
// widget.storeInfo.longitude == "")
// return;
// Navigator.of(context).pushNamed(
// '/router/location_map',
// arguments: {
// "lat": widget.storeInfo.latitude,
// "lng":
// widget.storeInfo.longitude,
// "storeName":
// widget.storeInfo.storeName,
// });
// },
// child: Image.asset(
// "assets/image/icon_union_location.png",
// width: 24.w,
// height: 24.h,
// ),
// ),
// SizedBox(
// width: 16.w,
// ),
// InkWell(
// onTap: () {
// showCallMobile();
// },
// child: Image.asset(
// "assets/image/icon_union_call.png",
// width: 24,
// height: 24,
// ),
// ),
// ],
// ),
// ],
// ),
// ),
// flex: 1,
// ),
// ],
// ),
// ),
// );
}
Widget buildSwiper() {

2
pubspec.lock

@ -388,7 +388,7 @@ packages:
name: flutter_smart_dialog
url: "https://pub.flutter-io.cn"
source: hosted
version: "2.3.1"
version: "2.3.6"
flutter_spinkit:
dependency: "direct main"
description:

Loading…
Cancel
Save