feat(client): 初版 Flutter UI 框架,仿照参考截图实现

- 蓝色顶栏(#1565C0)+ 深蓝侧边栏(#0D47A1),含折叠/展开
- 底部状态栏:门店编号、登录用户、登录时间、实时时钟、版本号
- 登录页:居中卡片,支持密码显示/隐藏
- 入库单列表:筛选/搜索/日期选择/分页,三个 Tab(入库单/查询/审核)
- 新建入库单:基本信息 + 商品明细动态增删,实时计算合计金额
- 出库单列表:同入库单风格
- 库存查询:4 张统计卡片 + 颜色高亮缺货/预警行,库存预警 Tab
- 往来单位、财务、商品、系统设置(用户/仓库/编号规则/系统参数)
- 使用 Riverpod 状态管理 + go_router 路由 + Dio HTTP

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
wangjia
2026-04-04 12:51:41 +08:00
parent d6397083c0
commit 76ab19ea47
22 changed files with 6386 additions and 0 deletions
+37
View File
@@ -137,6 +137,43 @@ jiu/
- POST /api/v1/import/partners (Excel/CSV)
```
## Flutter 客户端结构
```
client/
├── pubspec.yaml # 依赖:riverpod, go_router, dio, intl
├── lib/
│ ├── main.dart # 入口,ProviderScope + MaterialApp.router
│ ├── core/
│ │ ├── theme/app_theme.dart # 颜色常量 + ThemeData
│ │ ├── auth/auth_state.dart # AuthUser, AuthState, AuthNotifier
│ │ ├── api/api_client.dart # Dio 封装
│ │ └── router/app_router.dart # go_router 路由定义(含登录重定向)
│ ├── screens/
│ │ ├── auth/login_screen.dart # 登录页(蓝色背景 + 居中卡片)
│ │ ├── shell/app_shell.dart # 主框架(顶栏 + 侧边栏 + 状态栏)
│ │ ├── stock_in/ # 入库单列表 + 新建表单
│ │ ├── stock_out/ # 出库单列表
│ │ ├── inventory/ # 库存查询 + 盘点
│ │ ├── partners/ # 往来单位
│ │ ├── finance/ # 财务管理
│ │ ├── products/ # 商品管理
│ │ └── settings/ # 系统设置(用户/仓库/编号规则)
│ └── widgets/
│ ├── page_scaffold.dart # Tab 页面封装
│ ├── data_table_card.dart # 含工具栏+分页的数据表格
│ ├── status_badge.dart # 状态标签(草稿/待审/已审/拒绝)
│ └── form_dialog.dart # 弹窗表单封装
```
**启动 Flutter 客户端**(需先安装 Flutter):
```bash
cd client
flutter pub get
flutter run -d macos # macOS 桌面
flutter run -d chrome # Web
```
## 本地开发启动
```bash