Files
zkxw/docs/superpowers/plans/2026-07-02-donation-import-multi-sample.md
T
2026-07-02 12:25:00 +08:00

43 lines
1.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 科研捐赠一键导入多样本增强 Implementation Plan
> **For agentic workers:** REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (`- [ ]`) syntax for tracking.
**Goal:** 扩展捐赠协议单一键导入,支持单/多样本、运输方式映射、中文胎次与「点」时间格式。
**Architecture:** 解析逻辑集中在 `donation-standard-import-parse.ts`(输出 `sampleHints` + `transportType`);`DonationFormDialog.handleStandardImport` 按 hints 创建多样本行并应用运输;协议级采集时间取 hints 最早值。不改后端。
**Tech Stack:** Vue 3、TypeScript、现有 `chinese-datetime-parse` / `sample-production-reception-fields` 常量
**Spec:** `docs/superpowers/specs/2026-07-02-donation-import-multi-sample-design.md`
---
### Task 1: 中文数字与 datetime「点」
**Files:**
- Create: `web-admin/src/utils/chinese-numeral-parse.ts`
- Modify: `web-admin/src/utils/chinese-datetime-parse.ts`
- [ ] 新增 `parseChineseNumeral` / `parseBirthOrder`
- [ ] datetime 正则支持 `[时点::]`
### Task 2: 解析器多样本 + 运输 + 胎次
**Files:**
- Modify: `web-admin/src/utils/donation-standard-import-parse.ts`
- [ ] 扩展 `DonationStandardImportParsed`(`sampleHints`, `transportType`, `transportModeText`)
- [ ] 采集时间字段 pattern → hints;`resolveTransportType`;`matchSampleTypeByExactName`
### Task 3: 填充逻辑
**Files:**
- Modify: `web-admin/src/views/research-donation/list/DonationFormDialog.vue`
- [ ] 重构 `handleStandardImport`:多样本行、运输 kdys/ryxd、最早采集时间
### Task 4: 验证
- [ ] 用 Node 脚本或手工验证 §2.1 / §2.2 样例解析结果
- [ ] `./scripts/update-graph.sh frontend`