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.
131 lines
4.9 KiB
131 lines
4.9 KiB
import 'package:flutter/cupertino.dart'; |
|
import 'package:flutter/material.dart'; |
|
import 'package:pull_to_refresh/pull_to_refresh.dart'; |
|
import 'package:flutter_screenutil/flutter_screenutil.dart'; |
|
|
|
import '../../utils/font_weight.dart'; |
|
import '../../view_widget/my_appbar.dart'; |
|
import '../../view_widget/my_tab.dart'; |
|
import '../order/ticket/ticket_tab.dart'; |
|
import 'off_shelf/off_shelf_page.dart'; |
|
import 'on_sale/on_sale_page.dart'; |
|
|
|
class BusinessGoodsPage extends StatefulWidget { |
|
final String storeId; |
|
|
|
BusinessGoodsPage(Key key,this.storeId): super(key: key); |
|
|
|
@override |
|
State<StatefulWidget> createState() { |
|
return _BusinessGoodsPage(); |
|
} |
|
} |
|
|
|
class _BusinessGoodsPage extends State<BusinessGoodsPage> { |
|
final RefreshController refreshController = RefreshController(); |
|
String offShelfTotal; |
|
String onSaleTotal; |
|
int goodsIndex = 0; |
|
|
|
@override |
|
void initState() { |
|
super.initState(); |
|
} |
|
|
|
@override |
|
Widget build(BuildContext context) { |
|
return Column( |
|
children: [ |
|
Expanded( |
|
child: |
|
DefaultTabController( |
|
length: 3, |
|
child: Scaffold( |
|
appBar: MyAppBar( |
|
title:"", |
|
leading: false, |
|
background: Colors.white, |
|
toolbarHeight: MediaQuery.of(context).size.height >= 750 ? (kToolbarHeight + 15.h) : kToolbarHeight, |
|
bottom: TabBar( |
|
// isScrollable: true, //可滚动 |
|
//去掉按钮阴影 |
|
overlayColor: MaterialStateProperty.all(Colors.white), |
|
indicatorColor: Color(0xFF30415B), |
|
labelColor: Colors.black, |
|
labelStyle: TextStyle( |
|
fontSize: 15.sp, |
|
fontWeight: FontWeight.bold, |
|
), |
|
unselectedLabelStyle: TextStyle( |
|
fontSize: 15.sp, |
|
fontWeight: FontWeight.normal, |
|
color: Color(0xFF666666) |
|
), |
|
indicator: const TicketTab( |
|
width: 33, |
|
borderSide: BorderSide( |
|
width: 2.0, color: Color(0xFF30415B))), |
|
// controller: tabController, |
|
//未选中文字颜色 |
|
unselectedLabelColor: Color(0xffA29E9E), |
|
indicatorSize: TabBarIndicatorSize.label, |
|
//指示器与文字等宽 |
|
tabs: <Widget>[ |
|
MyTab(text:"在售中(${onSaleTotal ?? "0"})"), |
|
MyTab(text: "已下架(${offShelfTotal ?? "0"})"), |
|
GestureDetector( |
|
onTap: (){ |
|
Navigator.of(context).pushNamed( |
|
'/router/add_goods_page', |
|
arguments: { |
|
"storeId":widget.storeId ?? "", |
|
}); |
|
}, |
|
child:Row(children: [Padding( |
|
padding: EdgeInsets.only(right: 5.w), |
|
child: Text( |
|
"新增商品", |
|
textAlign: TextAlign.center, |
|
style: TextStyle( |
|
height: 1.5, |
|
color: Color(0xFF2E3552), |
|
fontSize: 16.sp, |
|
fontWeight: MyFontWeight.bold, |
|
), |
|
)), Image.asset( |
|
"assets/image/bus_goods_add.webp", |
|
width: 14.w, |
|
height: 15.h, |
|
), |
|
]), |
|
), |
|
], |
|
), |
|
), |
|
body: TabBarView( |
|
physics: NeverScrollableScrollPhysics(), |
|
children: [ |
|
OnSalePage(widget.storeId,(value){ |
|
setState((){ |
|
onSaleTotal = value; |
|
}); |
|
}), |
|
OffShelfPage(widget.storeId,(value){ |
|
setState((){ |
|
offShelfTotal = value; |
|
}); |
|
}), |
|
Container() |
|
], |
|
), |
|
), |
|
), |
|
), |
|
SizedBox( |
|
height: 76.h, |
|
), |
|
], |
|
); |
|
} |
|
|
|
}
|
|
|