- 添加 monorepo 结构 (apps/property-survey, packages/types) - 配置 Expo + React Native + Android 构建链 - 实现本地数据层 (SQLite/better-sqlite3) - 添加 Blueprint 项目蓝图系统 - 配置 ESLint + Prettier - 添加共享类型定义
48 lines
2.4 KiB
Markdown
48 lines
2.4 KiB
Markdown
---
|
||
id: inventory-summary
|
||
name: 汇总列表与统计
|
||
area: rn-app
|
||
status: done
|
||
---
|
||
|
||
## 概述
|
||
|
||
汇总展示全部已登记物品,支持按楼层和物品名筛选,底部显示总件数和总金额统计。提供 CSV 导出通过系统分享面板发送备份。
|
||
|
||
## 任务卡
|
||
|
||
### 📋 汇总数据查询 Hook
|
||
- status: done
|
||
- complexity: M
|
||
- files: apps/property-survey/src/features/summary/useSummaryData.ts
|
||
- depends: local-data-layer
|
||
- acceptance: 查询所有 items JOIN markers JOIN photos,返回带楼层、坐标、物品名、数量、单价、备注、照片数的扁平列表;支持按 floor(1/2/3/全部)和 name 关键字过滤;数据写入后调用 refresh() 触发重新查询
|
||
|
||
### 📋 汇总列表与筛选栏
|
||
- status: done
|
||
- complexity: M
|
||
- files: apps/property-survey/src/features/summary/SummaryList.tsx, apps/property-survey/src/features/summary/FilterBar.tsx
|
||
- depends: inventory-summary
|
||
- acceptance: 列表每行显示楼层标签、物品名、数量、单价、备注1;FilterBar 提供楼层选择器(1F/2F/3F/全部)和物品名搜索框;滚动性能流畅(FlatList),空数据时显示引导文案
|
||
|
||
### 📋 统计汇总卡片
|
||
- status: done
|
||
- complexity: S
|
||
- files: apps/property-survey/src/features/summary/SummaryStats.tsx
|
||
- depends: inventory-summary
|
||
- acceptance: 固定在列表顶部,展示:登记点总数、物品种类数、总数量合计、总金额合计(数量×单价求和,单价为空则不计入),数值随筛选条件实时更新
|
||
|
||
### ✅ CSV 导出与系统分享
|
||
- status: done
|
||
- complexity: M
|
||
- files: apps/property-survey/src/features/summary/exportData.ts
|
||
- depends: inventory-summary
|
||
- acceptance: 点击导出按钮,将当前筛选结果生成 UTF-8 BOM 的 CSV 文件(含表头:楼层/标记点名/物品名/数量/单价/备注1/备注2/照片数),写入临时目录后调用 expo-sharing 弹出系统分享面板,可发送到微信/邮件/云盘
|
||
|
||
### ✅ 导出照片关联索引
|
||
- status: done
|
||
- complexity: M
|
||
- files: apps/property-survey/src/features/summary/exportData.ts
|
||
- depends: inventory-summary
|
||
- acceptance: ZIP 结构改为:① 主 CSV 增加"照片目录"列,值为对应子目录路径(无照片则为空);② 照片按物品分子目录存放 `photos/{floor}F_{markerLabel}_{name}({itemId})/1.jpg`;③ ZIP 根目录生成 `photos/index.csv`,每行对应一张照片(列:物品ID/楼层/标记点/物品名/照片文件路径),方便程序化处理
|