feat:增强框类型管理和搜索功能

- 引入基于 JSON 的框类型覆盖,允许动态更新标签、描述和前缀。
- 增加了一种可调节容量的定制盒型。
- 实现了应用和保存盒子类型覆盖的函数。
- 更新仪表盘,显示按箱型分组的库存低库存商品。
- 创建了一个新的搜索页面,方便快速访问具有增强搜索功能的组件。
- 用搜索页面取代扫描页面,将出站功能直接集成到搜索结果中。
- 改进的界面元素,提升导航和用户体验,包括新增按钮和样式。
- 移除过时的 scanner.js 文件并将其功能集成到搜索页面。
- 更新了各种模板,以反映新的搜索和框类型管理功能。
This commit is contained in:
2026-03-11 16:01:11 +08:00
parent 0a54bfd5aa
commit 6f4a8d82f3
12 changed files with 524 additions and 276 deletions

View File

@@ -31,13 +31,10 @@ inventory/
│ ├── index.html
│ ├── box.html
│ ├── edit.html
│ ├── scan.html
│ └── stats.html
└── static/
├── css/
│ └── style.css
└── js/
└── scanner.js
```
## 2. 本地运行
@@ -68,9 +65,9 @@ python app.py
### 3.1 首页 `/`
- 首页已改为入口跳转到 `分类总览` 页面。
- 首页已改为入口跳转到 `仓库概览` 页面。
### 3.1.1 分类总览 `/types`
### 3.1.1 仓库概览 `/types`
- 展示三类独立界面入口:`28格小盒大盒``14格中盒大盒``袋装清单`
- 每类入口显示当前容器数量,点击进入单独分类页面。
@@ -87,24 +84,19 @@ python app.py
- `袋装清单` 仅使用编号前缀(如 `BAG`),不设置编号范围。
- `28格/14格` 支持快速入库:多行粘贴后自动分配空位。
- 支持按当前盒子导出打标 CSV仅导出启用记录可用于热敏打标机导入。
- 打标 CSV 列名为中英双语格式(如 `料号(part_no)``打标文本(label_text)`),便于直接识别。
- 打标 CSV 列名为中英双语格式(如 `料号(part_no)``备注(note)`),便于直接识别。
### 3.3 编辑页 `/edit/<box_id>/<slot>`
- 编辑料号、名称、规格、数量、位置备注、备注。
- 支持勾选启用,或通过按钮启用/停用。
- 编辑料号、名称、规格、数量、备注。
- 通过按钮启用/停用。
- 可删除当前格子记录。
### 3.4 扫码/搜索 `/scan`
- 可按料号或名称搜索。
- 支持扫码枪输入后回车触发搜索。
### 3.5 统计页 `/stats`
### 3.4 统计页 `/stats`
- 独立统计页,仅展示核心指标:`库存总量 / 分类占比 / 变动趋势`
- 支持 `7天``30天` 视图切换:`/stats?days=7``/stats?days=30`
- 支持分类筛选:`/stats?days=30&box_type=small_28`(可选值:`small_28``medium_14``bag``all`)。
- 支持分类筛选:`/stats?days=30&box_type=small_28`(可选值:`small_28``medium_14``custom``bag``all`)。
- 趋势图基于库存变动日志实时计算,来源包括:新增、快速入库、启用/停用、删除。
- 说明:升级前的历史操作不会自动回溯写入日志,趋势从启用该版本后开始逐步真实化。
- 新增最近操作时间线(最新 20 条),便于追踪库存变化来源。
@@ -112,12 +104,18 @@ python app.py
- 支持趋势数据导出 CSV`/stats/export?days=7&box_type=all`(包含 `daily_delta` 日增减列)。
- 支持清除统计日志(当前筛选或全部),仅影响统计与趋势,不影响库存数据本体。
### 3.5 快速搜索与出库 `/search`
- 支持按 `料号``名称` 搜索已启用元件。
- 搜索结果可一键跳转到对应盒位编辑页。
- 支持快速出库:只填写数量即可扣减库存,并写入统计日志。
## 4. 袋装批量新增格式
在袋装清单页面的批量输入框里,每行一条,可用英文逗号或 Tab 分隔:
```text
料号, 名称, 数量, 规格, 位置备注, 备注
料号, 名称, 数量, 规格, 备注
```
示例: