feat(client): 出入库列表按原型重建(KPI/详情抽屉/详细搜索/工具栏/选中复制/窗口尺寸)

- 列表重建:KPI 卡、状态+时间列、操作改眼睛开右侧详情抽屉、重置右置
- 详情抽屉(order_detail_drawer) 100% 还原原型 + SelectionArea 可选中复制
- 详细搜索弹窗:ComboSearchField/滚轮日期、字段重构、白底盒子按钮
- 工具栏:搜索框×清除+占位精简、供应商/客户下拉取全部、状态菜单收窄
- 加载不白屏(半透明遮罩)、输入框与下拉等高、windows/macOS 默认窗口尺寸调大

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
wangjia
2026-07-02 08:48:01 +08:00
parent 998bbab546
commit a3a722689e
42 changed files with 3689 additions and 1961 deletions
+11 -2
View File
@@ -23,14 +23,23 @@ final customerListProvider =
() => PartnerListNotifier(type: 'customer'),
);
/// 工具栏/详细搜索的往来单位下拉专用:不分 supplier/customer、一次取全部。
/// 说明:历史 partner 的 type 多为默认 'supplier'customer 常为空),
/// 按 type 过滤会漏项甚至空列表;下拉按「全部往来单位」呈现最稳。
final allPartnersProvider =
AsyncNotifierProvider<PartnerListNotifier, PageResult<Partner>>(
() => PartnerListNotifier(type: null, pageSize: 1000),
);
class PartnerListNotifier extends AsyncNotifier<PageResult<Partner>> {
final String? type;
int _page = 1;
int _pageSize = AppConstants.defaultPageSize;
int _pageSize;
String _keyword = '';
PageResult<Partner>? _cache;
PartnerListNotifier({this.type});
PartnerListNotifier({this.type, int pageSize = AppConstants.defaultPageSize})
: _pageSize = pageSize;
@override
Future<PageResult<Partner>> build() async {