|
|
|
@ -1,7 +1,12 @@
|
|
|
|
|
import 'package:flutter/material.dart';
|
|
|
|
|
import 'package:recook/constants/api.dart';
|
|
|
|
|
import 'package:recook/constants/header.dart';
|
|
|
|
|
import 'package:recook/manager/http_manager.dart';
|
|
|
|
|
import 'package:recook/pages/live/models/live_data_list_model.dart';
|
|
|
|
|
import 'package:recook/pages/live/sub_page/data_manager/single_data_manager_live_page.dart';
|
|
|
|
|
import 'package:recook/utils/custom_route.dart';
|
|
|
|
|
import 'package:recook/utils/date/recook_date_util.dart';
|
|
|
|
|
import 'package:recook/widgets/refresh_widget.dart';
|
|
|
|
|
|
|
|
|
|
class DatamanagerLiveView extends StatefulWidget {
|
|
|
|
|
DatamanagerLiveView({Key key}) : super(key: key);
|
|
|
|
@ -11,36 +16,45 @@ class DatamanagerLiveView extends StatefulWidget {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
class _DatamanagerLiveViewState extends State<DatamanagerLiveView> {
|
|
|
|
|
int _page = 1;
|
|
|
|
|
List<LiveDataListModel> _dataModels = [];
|
|
|
|
|
GSRefreshController _controller = GSRefreshController();
|
|
|
|
|
@override
|
|
|
|
|
Widget build(BuildContext context) {
|
|
|
|
|
return ListView.builder(
|
|
|
|
|
return RefreshWidget(
|
|
|
|
|
controller: _controller,
|
|
|
|
|
onRefresh: () {
|
|
|
|
|
getLiveListDataModels().then((models) {
|
|
|
|
|
setState(() {
|
|
|
|
|
_dataModels = models;
|
|
|
|
|
});
|
|
|
|
|
_controller.refreshCompleted();
|
|
|
|
|
});
|
|
|
|
|
},
|
|
|
|
|
body: ListView.builder(
|
|
|
|
|
padding: EdgeInsets.all(rSize(15)),
|
|
|
|
|
itemBuilder: (contet, index) {
|
|
|
|
|
return _buildListColumn('今天');
|
|
|
|
|
return _buildListColumn(_dataModels[index]);
|
|
|
|
|
},
|
|
|
|
|
itemCount: 10,
|
|
|
|
|
itemCount: _dataModels.length,
|
|
|
|
|
),
|
|
|
|
|
);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
_buildListColumn(String date) {
|
|
|
|
|
_buildListColumn(LiveDataListModel model) {
|
|
|
|
|
return Column(
|
|
|
|
|
mainAxisSize: MainAxisSize.min,
|
|
|
|
|
crossAxisAlignment: CrossAxisAlignment.start,
|
|
|
|
|
children: [
|
|
|
|
|
Text(
|
|
|
|
|
date,
|
|
|
|
|
RecookDateUtil.fromMillsecond(model.startAt).prefixDay,
|
|
|
|
|
style: TextStyle(
|
|
|
|
|
color: Color(0xFF666666),
|
|
|
|
|
fontSize: rSP(14),
|
|
|
|
|
),
|
|
|
|
|
),
|
|
|
|
|
SizedBox(height: rSize(10)),
|
|
|
|
|
]..add(_buildDataColumn()),
|
|
|
|
|
);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
_buildDataColumn() {
|
|
|
|
|
return MaterialButton(
|
|
|
|
|
MaterialButton(
|
|
|
|
|
elevation: 0,
|
|
|
|
|
color: Colors.white,
|
|
|
|
|
onPressed: () {
|
|
|
|
@ -51,7 +65,7 @@ class _DatamanagerLiveViewState extends State<DatamanagerLiveView> {
|
|
|
|
|
borderRadius: BorderRadius.circular(rSize(10)),
|
|
|
|
|
),
|
|
|
|
|
child: Row(
|
|
|
|
|
crossAxisAlignment: CrossAxisAlignment.start,
|
|
|
|
|
crossAxisAlignment: CrossAxisAlignment.center,
|
|
|
|
|
children: [
|
|
|
|
|
Expanded(
|
|
|
|
|
child: Column(
|
|
|
|
@ -75,8 +89,28 @@ class _DatamanagerLiveViewState extends State<DatamanagerLiveView> {
|
|
|
|
|
],
|
|
|
|
|
),
|
|
|
|
|
),
|
|
|
|
|
Icon(
|
|
|
|
|
Icons.arrow_forward_ios,
|
|
|
|
|
size: rSize(13),
|
|
|
|
|
color: Color(0xFF999999),
|
|
|
|
|
),
|
|
|
|
|
],
|
|
|
|
|
),
|
|
|
|
|
)
|
|
|
|
|
],
|
|
|
|
|
);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
Future<List<LiveDataListModel>> getLiveListDataModels() async {
|
|
|
|
|
ResultData resultData = await HttpManager.post(LiveAPI.liveDataList, {
|
|
|
|
|
'page': _page,
|
|
|
|
|
'limit': 15,
|
|
|
|
|
});
|
|
|
|
|
if (resultData?.data['data'] == null)
|
|
|
|
|
return [];
|
|
|
|
|
else
|
|
|
|
|
return (resultData?.data['data'] as List)
|
|
|
|
|
.map((e) => LiveDataListModel.fromJson(e))
|
|
|
|
|
.toList();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|