43 lines
1.8 KiB
Markdown
43 lines
1.8 KiB
Markdown
# 科研捐赠一键导入多样本增强 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`
|