diff --git a/lib/pages/goods_manage_page/borrow/borrow_goods_page.dart b/lib/pages/goods_manage_page/borrow/borrow_goods_page.dart index 619a591b..04f198d2 100644 --- a/lib/pages/goods_manage_page/borrow/borrow_goods_page.dart +++ b/lib/pages/goods_manage_page/borrow/borrow_goods_page.dart @@ -1,10 +1,3 @@ -import 'package:flutter/material.dart'; - -import 'package:flutter_easyrefresh/easy_refresh.dart'; -import 'package:flutter_screenutil/flutter_screenutil.dart'; -import 'package:get/get.dart'; -import 'package:velocity_x/velocity_x.dart'; - import 'package:aku_community/base/base_style.dart'; import 'package:aku_community/const/resource.dart'; import 'package:aku_community/constants/api.dart'; @@ -12,17 +5,25 @@ import 'package:aku_community/model/common/img_model.dart'; import 'package:aku_community/model/manager/article_borrow_model.dart'; import 'package:aku_community/pages/goods_manage_page/borrow/borrow_finsh_page.dart'; import 'package:aku_community/pages/goods_manage_page/borrow/borrow_goods_detail_page.dart'; -import 'package:aku_community/pages/things_page/widget/bee_list_view.dart'; +import 'package:aku_community/utils/network/base_list_model.dart'; import 'package:aku_community/utils/network/base_model.dart'; import 'package:aku_community/utils/network/net_util.dart'; import 'package:aku_community/widget/bee_scaffold.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_easyrefresh/easy_refresh.dart'; +import 'package:flutter_screenutil/flutter_screenutil.dart'; +import 'package:get/get.dart'; +import 'package:power_logger/power_logger.dart'; +import 'package:velocity_x/velocity_x.dart'; class BorrowGoodsSubmitModel { List selectIds; + + static BorrowGoodsSubmitModel init() => BorrowGoodsSubmitModel([]); + BorrowGoodsSubmitModel( this.selectIds, ); - BorrowGoodsSubmitModel.init({List? selectIds}) : this(selectIds = []); } class BorrowGoodsPage extends StatefulWidget { @@ -35,6 +36,10 @@ class BorrowGoodsPage extends StatefulWidget { class _BorrowGoodsPageState extends State { EasyRefreshController? _easyRefreshController; List _receiveIds = []; + List _borrowModels = []; + int _page = 1; + int _size = 10; + List get _submitIds { List _list = []; _receiveIds.forEach((element) { @@ -68,29 +73,51 @@ class _BorrowGoodsPageState extends State { // padding: EdgeInsets.symmetric(horizontal: 32.w), // ), // ], - body: BeeListView( - path: API.manager.articleBorrow, - controller: _easyRefreshController, - convert: (models) { - _receiveIds = List.generate(models.tableList?.length ?? 0, - (index) => BorrowGoodsSubmitModel.init()); - print(_submitIds); - setState(() {}); - return models.tableList! - .map((e) => ArticleBorrowModel.fromJson(e)) - .toList(); - }, - builder: (items) { - return ListView.separated( + body: EasyRefresh( + firstRefresh: true, + header: MaterialHeader(), + footer: MaterialFooter(), + controller: _easyRefreshController, + onRefresh: () async { + _page = 1; + BaseListModel _listModel = await NetUtil().getList( + API.manager.articleBorrow, + params: {'pageNum': _page, 'size': _size}); + _borrowModels = _listModel.tableList + ?.map((e) => ArticleBorrowModel.fromJson(e)) + .toList() ?? + []; + _receiveIds = + _borrowModels.map((e) => BorrowGoodsSubmitModel.init()).toList(); + setState(() {}); + }, + onLoad: () async { + _page++; + BaseListModel _listModel = await NetUtil().getList( + API.manager.articleBorrow, + params: {'pageNum': _page, 'size': _size}); + _borrowModels.addAll(_listModel.tableList + ?.map((e) => ArticleBorrowModel.fromJson(e)) + .toList() ?? + []); + _receiveIds.addAll(_listModel.tableList + ?.map((e) => BorrowGoodsSubmitModel.init()) + .toList() ?? + []); + setState(() {}); + }, + child: _borrowModels.isEmpty + ? Container() + : ListView.separated( padding: EdgeInsets.symmetric(vertical: 16.w, horizontal: 32.w), itemBuilder: (context, index) { - return _goodsCard(items[index], index); + return _goodsCard(_borrowModels[index], index); }, separatorBuilder: (_, __) { return 16.w.heightBox; }, - itemCount: items.length); - }), + itemCount: _borrowModels.length), + ), bottomNavi: Row( children: [ '已选择 '.richText.color(ktextPrimary).size(24.sp).withTextSpanChildren([ @@ -133,6 +160,7 @@ class _BorrowGoodsPageState extends State { } Widget _goodsCard(ArticleBorrowModel model, int index) { + var selectCount = _receiveIds[index].selectIds.length; return Row( crossAxisAlignment: CrossAxisAlignment.start, children: [ @@ -177,7 +205,7 @@ class _BorrowGoodsPageState extends State { ), ], ), - _receiveIds[index].selectIds.length == 0 + selectCount == 0 ? SizedBox() : Column( crossAxisAlignment: CrossAxisAlignment.end, @@ -214,6 +242,7 @@ class _BorrowGoodsPageState extends State { receiveIds: _receiveIds[index].selectIds, )); setState(() {}); + LoggerData.addData(_receiveIds.last.selectIds.length); }); } }