feat(client): 全列表下拉刷新 + 库存移动工具行移除
- DsTable 窄屏卡片流支持 onRefresh(RefreshIndicator,空态也可下拉)—— 等价桌面工具栏「刷新」;库存/入库/出库/往来/财务流水/用户/基础数据 全 tab 接线(基础数据下拉一并重拉五个 tab 数据源) - 库存移动端「盘点/表格视图/导出/列设置/刷新」工具行移除(2026-07-04 拍板:刷新改下拉手势、盘点入口在「我的」、其余桌面专属), 库存移动 golden 随更新 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -114,6 +114,16 @@ class _ProductsScreenState extends ConsumerState<ProductsScreen> {
|
||||
_ => '',
|
||||
};
|
||||
|
||||
/// 下拉刷新(全 tab 通用):档案/介绍/系列/规格/仓库 一并重拉。
|
||||
Future<void> _pullRefresh() async {
|
||||
ref.read(productListProvider.notifier).reload();
|
||||
ref.invalidate(productDescriptionDocListProvider);
|
||||
ref.read(productSeriesListProvider.notifier).reload();
|
||||
ref.read(productSpecListProvider.notifier).reload();
|
||||
ref.read(warehouseListProvider.notifier).reload();
|
||||
await Future<void>.delayed(const Duration(milliseconds: 600));
|
||||
}
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
final t = context.tokens;
|
||||
@@ -370,6 +380,7 @@ class _ProductsScreenState extends ConsumerState<ProductsScreen> {
|
||||
.toList(),
|
||||
),
|
||||
),
|
||||
onRefresh: _pullRefresh,
|
||||
mobileCards: items
|
||||
.map((p) => MobileListCard(
|
||||
onTap: () => showProductEditorDrawer(context,
|
||||
@@ -470,6 +481,7 @@ class _ProductsScreenState extends ConsumerState<ProductsScreen> {
|
||||
.toList(),
|
||||
),
|
||||
),
|
||||
onRefresh: _pullRefresh,
|
||||
mobileCards: filtered
|
||||
.map((it) => MobileListCard(
|
||||
title: Text(it.title),
|
||||
@@ -695,6 +707,7 @@ class _ProductsScreenState extends ConsumerState<ProductsScreen> {
|
||||
onExport: onExport,
|
||||
mobileAdd: true,
|
||||
),
|
||||
onRefresh: _pullRefresh,
|
||||
mobileCards: filtered
|
||||
.map((r) => MobileListCard(
|
||||
title: Text(r.name),
|
||||
@@ -775,6 +788,7 @@ class _ProductsScreenState extends ConsumerState<ProductsScreen> {
|
||||
onChanged: () => setState(() {}),
|
||||
mobileAdd: true,
|
||||
),
|
||||
onRefresh: _pullRefresh,
|
||||
mobileCards: filtered
|
||||
.map((w) => MobileListCard(
|
||||
title: Text(w.name),
|
||||
|
||||
Reference in New Issue
Block a user