添加列表无数据显示内容

空列表显示内容间距修复
历史直播和热门直播位置替换
直播商品全选按钮显示优化
master
laiiihz 5 years ago
parent 78611a4195
commit a4125b77b0

@ -14,6 +14,7 @@ import 'package:flutter/material.dart';
import 'package:flutter_redux/flutter_redux.dart'; import 'package:flutter_redux/flutter_redux.dart';
import 'package:recook/constants/constants.dart'; import 'package:recook/constants/constants.dart';
import 'package:recook/constants/header.dart';
import 'package:recook/constants/styles.dart'; import 'package:recook/constants/styles.dart';
import 'package:recook/redux/recook_state.dart'; import 'package:recook/redux/recook_state.dart';
@ -126,7 +127,7 @@ abstract class BaseStoreState<T extends StatefulWidget> extends State<T>
children: <Widget>[ children: <Widget>[
icon ?? icon ??
Image.asset( Image.asset(
"assets/nodata.png", R.ASSETS_NODATA_PNG,
width: rSize(80), width: rSize(80),
height: rSize(80), height: rSize(80),
), ),

@ -135,10 +135,10 @@ class _GoodPriceViewState extends State<GoodPriceView> {
children: <Widget>[ children: <Widget>[
(coupon != null && coupon != 0) (coupon != null && coupon != 0)
? Container( ? Container(
width: rSize(97),
height: rSize(23), height: rSize(23),
decoration: BoxDecoration( decoration: BoxDecoration(
image: DecorationImage( image: DecorationImage(
fit: BoxFit.fill,
image: AssetImage( image: AssetImage(
R.ASSETS_GOODS_DETAILS_BOTTOM_GOLD_PNG), R.ASSETS_GOODS_DETAILS_BOTTOM_GOLD_PNG),
), ),

@ -47,6 +47,7 @@ class _LivePickGoodsPageState extends State<LivePickGoodsPage>
return Scaffold( return Scaffold(
backgroundColor: Colors.white, backgroundColor: Colors.white,
appBar: AppBar( appBar: AppBar(
brightness: Brightness.light,
elevation: 0, elevation: 0,
backgroundColor: Colors.white, backgroundColor: Colors.white,
leading: RecookBackButton.text(), leading: RecookBackButton.text(),
@ -116,8 +117,8 @@ class _LivePickGoodsPageState extends State<LivePickGoodsPage>
controller: _tabController, controller: _tabController,
isScrollable: true, isScrollable: true,
tabs: [ tabs: [
Tab(text: '历史直播'),
Tab(text: '热门商品'), Tab(text: '热门商品'),
Tab(text: '历史直播'),
Tab(text: '全部商品'), Tab(text: '全部商品'),
], ],
labelStyle: TextStyle( labelStyle: TextStyle(
@ -138,12 +139,12 @@ class _LivePickGoodsPageState extends State<LivePickGoodsPage>
child: TabBarView( child: TabBarView(
controller: _tabController, controller: _tabController,
children: [ children: [
GoodsWindowView( HotGoodsView(
onPick: () { onPick: () {
setState(() {}); setState(() {});
}, },
), ),
HotGoodsView( GoodsWindowView(
onPick: () { onPick: () {
setState(() {}); setState(() {});
}, },

@ -3,6 +3,7 @@ import 'package:flutter/material.dart';
import 'package:recook/constants/api.dart'; import 'package:recook/constants/api.dart';
import 'package:recook/constants/header.dart'; import 'package:recook/constants/header.dart';
import 'package:recook/manager/http_manager.dart'; import 'package:recook/manager/http_manager.dart';
import 'package:recook/pages/live/live_stream/pick_view/hot_goods_view.dart';
import 'package:recook/pages/live/live_stream/pick_view/live_goods_card.dart'; import 'package:recook/pages/live/live_stream/pick_view/live_goods_card.dart';
import 'package:recook/pages/live/live_stream/pick_view/pick_cart.dart'; import 'package:recook/pages/live/live_stream/pick_view/pick_cart.dart';
import 'package:recook/pages/live/models/goods_window_model.dart'; import 'package:recook/pages/live/models/goods_window_model.dart';
@ -193,16 +194,10 @@ class _PickSearchGoodsPageState extends State<PickSearchGoodsPage> {
), ),
), ),
Expanded( Expanded(
child: ListView.builder( child: HotGoodsView(
itemBuilder: (context, index) { onPick: () {
return LiveGoodsCard( setState(() {});
onPick: () {
setState(() {});
},
model: _hotList[index],
);
}, },
itemCount: _hotList.length,
), ),
), ),
], ],

@ -5,7 +5,6 @@ import 'package:recook/constants/header.dart';
import 'package:recook/manager/http_manager.dart'; import 'package:recook/manager/http_manager.dart';
import 'package:recook/models/category_model.dart'; import 'package:recook/models/category_model.dart';
import 'package:recook/pages/live/live_stream/pick_view/brand_goods_list_view.dart'; import 'package:recook/pages/live/live_stream/pick_view/brand_goods_list_view.dart';
import 'package:recook/pages/live/live_stream/pick_view/brand_goods_view.dart';
import 'package:recook/utils/custom_route.dart'; import 'package:recook/utils/custom_route.dart';
import 'package:recook/widgets/custom_image_button.dart'; import 'package:recook/widgets/custom_image_button.dart';
@ -154,8 +153,10 @@ class _AllGoodsViewState extends State<AllGoodsView>
), ),
Text( Text(
e.sub[index].name, e.sub[index].name,
textAlign: TextAlign.center,
style: TextStyle( style: TextStyle(
color: Color(0xFF333333), color: Color(0xFF333333),
height: 1,
), ),
), ),
], ],

@ -130,11 +130,19 @@ class _BrandGoodsListViewState extends State<BrandGoodsListView> {
padding: EdgeInsets.all(rSize(15)), padding: EdgeInsets.all(rSize(15)),
child: Row( child: Row(
children: [ children: [
FadeInImage.assetNetwork( Container(
placeholder: R.ASSETS_PLACEHOLDER_NEW_1X1_A_PNG, decoration: BoxDecoration(
image: Api.getImgUrl(widget.logo), border: Border.all(
height: rSize(64), color: Colors.black.withOpacity(0.2),
width: rSize(64), width: rSize(1),
),
),
child: FadeInImage.assetNetwork(
placeholder: R.ASSETS_PLACEHOLDER_NEW_1X1_A_PNG,
image: Api.getImgUrl(widget.logo),
height: rSize(64),
width: rSize(64),
),
), ),
rWBox(12), rWBox(12),
Column( Column(
@ -193,18 +201,35 @@ class _BrandGoodsListViewState extends State<BrandGoodsListView> {
_controller.loadComplete(); _controller.loadComplete();
}); });
}, },
body: ListView.builder( body: _goodsList.isEmpty
itemBuilder: (context, index) { ? Center(
return LiveGoodsCard( child: Column(
onPick: () { mainAxisSize: MainAxisSize.min,
setState(() {}); children: [
widget.onPick(); Image.asset(R.ASSETS_IMG_NO_DATA_PNG),
}, rHBox(10),
model: _goodsList[index], Text(
); '该类别没有商品',
}, style: TextStyle(
itemCount: _goodsList.length, color: Color(0xFF333333),
), fontSize: rSP(16),
),
),
],
),
)
: ListView.builder(
itemBuilder: (context, index) {
return LiveGoodsCard(
onPick: () {
setState(() {});
widget.onPick();
},
model: _goodsList[index],
);
},
itemCount: _goodsList.length,
),
), ),
), ),
); );

@ -1,6 +1,7 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:recook/constants/api.dart'; import 'package:recook/constants/api.dart';
import 'package:recook/constants/constants.dart'; import 'package:recook/constants/constants.dart';
import 'package:recook/constants/header.dart';
import 'package:recook/manager/http_manager.dart'; import 'package:recook/manager/http_manager.dart';
import 'package:recook/pages/live/live_stream/pick_view/live_goods_card.dart'; import 'package:recook/pages/live/live_stream/pick_view/live_goods_card.dart';
import 'package:recook/pages/live/live_stream/pick_view/pick_cart.dart'; import 'package:recook/pages/live/live_stream/pick_view/pick_cart.dart';
@ -44,36 +45,38 @@ class _GoodsWindowViewState extends State<GoodsWindowView>
super.build(context); super.build(context);
return Column( return Column(
children: [ children: [
MaterialButton( _goodsModels.isEmpty
onPressed: () { ? SizedBox()
if (_selectAll) { : MaterialButton(
PickCart.picked.removeWhere((picked) { onPressed: () {
return _goodsModels if (_selectAll) {
.indexWhere((element) => element.id == picked.id) != PickCart.picked.removeWhere((picked) {
-1; return _goodsModels.indexWhere(
}); (element) => element.id == picked.id) !=
} else -1;
_goodsModels.forEach((element) { });
if (PickCart.picked.length < 50) { } else
PickCart.picked.add(element); _goodsModels.forEach((element) {
} if (PickCart.picked.length < 50) {
}); PickCart.picked.add(element);
widget.onPick(); }
}, });
child: Row( widget.onPick();
children: [ },
RecookCheckBox(state: _selectAll), child: Row(
rWBox(10), children: [
Text( RecookCheckBox(state: _selectAll),
'全选', rWBox(10),
style: TextStyle( Text(
color: Color(0xFF333333), '全选',
fontSize: rSP(14), style: TextStyle(
color: Color(0xFF333333),
fontSize: rSP(14),
),
),
],
), ),
), ),
],
),
),
Expanded( Expanded(
child: RefreshWidget( child: RefreshWidget(
controller: _controller, controller: _controller,
@ -98,20 +101,37 @@ class _GoodsWindowViewState extends State<GoodsWindowView>
_controller.loadComplete(); _controller.loadComplete();
}); });
}, },
body: ListView.builder( body: _goodsModels.isEmpty
itemBuilder: (context, index) { ? Center(
final model = _goodsModels[index]; child: Column(
return LiveGoodsCard( mainAxisSize: MainAxisSize.min,
onPick: () { children: [
setState(() { Image.asset(R.ASSETS_IMG_NO_DATA_PNG),
widget.onPick(); rHBox(10),
}); Text(
}, '您没有历史记录',
model: model, style: TextStyle(
); color: Color(0xFF333333),
}, fontSize: rSP(16),
itemCount: _goodsModels.length, ),
), ),
],
),
)
: ListView.builder(
itemBuilder: (context, index) {
final model = _goodsModels[index];
return LiveGoodsCard(
onPick: () {
setState(() {
widget.onPick();
});
},
model: model,
);
},
itemCount: _goodsModels.length,
),
), ),
), ),
], ],

@ -44,36 +44,38 @@ class _HotGoodsViewState extends State<HotGoodsView>
super.build(context); super.build(context);
return Column( return Column(
children: [ children: [
MaterialButton( _goodsModels.isEmpty
onPressed: () { ? SizedBox()
if (_selectAll) { : MaterialButton(
PickCart.picked.removeWhere((picked) { onPressed: () {
return _goodsModels if (_selectAll) {
.indexWhere((element) => element.id == picked.id) != PickCart.picked.removeWhere((picked) {
-1; return _goodsModels.indexWhere(
}); (element) => element.id == picked.id) !=
} else -1;
_goodsModels.forEach((element) { });
if (PickCart.picked.length < 50) { } else
PickCart.picked.add(element); _goodsModels.forEach((element) {
} if (PickCart.picked.length < 50) {
}); PickCart.picked.add(element);
widget.onPick(); }
}, });
child: Row( widget.onPick();
children: [ },
RecookCheckBox(state: _selectAll), child: Row(
rWBox(10), children: [
Text( RecookCheckBox(state: _selectAll),
'全选', rWBox(10),
style: TextStyle( Text(
color: Color(0xFF333333), '全选',
fontSize: rSP(14), style: TextStyle(
color: Color(0xFF333333),
fontSize: rSP(14),
),
),
],
), ),
), ),
],
),
),
Expanded( Expanded(
child: RefreshWidget( child: RefreshWidget(
controller: _controller, controller: _controller,

@ -76,6 +76,7 @@ class _UserActivityViewState extends State<UserActivityView>
mainAxisSize: MainAxisSize.min, mainAxisSize: MainAxisSize.min,
children: [ children: [
Image.asset(R.ASSETS_IMG_NO_DATA_PNG), Image.asset(R.ASSETS_IMG_NO_DATA_PNG),
rHBox(10),
Text( Text(
selfFlag ? '您还未发布过动态' : 'TA还未发布过动态', selfFlag ? '您还未发布过动态' : 'TA还未发布过动态',
style: TextStyle( style: TextStyle(

@ -68,6 +68,7 @@ class _UserPlaybackViewState extends State<UserPlaybackView>
mainAxisSize: MainAxisSize.min, mainAxisSize: MainAxisSize.min,
children: [ children: [
Image.asset(R.ASSETS_IMG_NO_DATA_PNG), Image.asset(R.ASSETS_IMG_NO_DATA_PNG),
rHBox(10),
Text( Text(
selfFlag ? '您没有直播记录' : 'TA没有直播记录', selfFlag ? '您没有直播记录' : 'TA没有直播记录',
style: TextStyle( style: TextStyle(

Loading…
Cancel
Save