# 实验室检测 — 前端技术方案 > 依据:`实验室检测功能需求.md`、`实验室检测技术方案.md`;布局参考 `breedingStandards/breedingManage/index.vue`(双 `el-card`);请求/响应字段 **小驼峰**。 > **后端 v1.1(检疫点)**:新增必填 `quarantineStationId`;列表筛选 `quarantineStationId`;下拉 `GET /diseaseDetection/labDetection/quarantineStationOptions`(仅正常运营检疫站);列表/详情回显 `quarantineStationName`。前端实现待补。 --- ## 1. 页面与路由 | 项 | 说明 | | --- | --- | | **Vue 路径** | `ruoyi-ui/src/views/diseaseDetection/labDetection/index.vue` | | **组件名** | `LabDetection` | | **菜单配置** | 若依「菜单管理」组件路径:`diseaseDetection/labDetection/index` | | **权限标识** | `diseaseDetection:labDetection:list\|query\|add\|edit\|remove` | --- ## 2. API 模块 | 项 | 说明 | | --- | --- | | **文件** | `ruoyi-ui/src/api/diseaseDetection/labDetection.js` | | **Base** | `/diseaseDetection/labDetection` | | 方法 | HTTP | 路径 | 说明 | | --- | --- | --- | --- | | `listLabDetection` | GET | `/list` | 分页;Query:`pageNum`、`pageSize`、`sampleSource` | | `getLabDetection` | GET | `/{id}` | 详情 | | `addLabDetection` | POST | `/` | 新增(不传 `detectionRate`) | | `updateLabDetection` | PUT | `/` | 修改(含 `id`) | | `delLabDetection` | DELETE | `/{ids}` | 批量删除,逗号分隔 | --- ## 3. 页面结构 1. **筛选区**(`el-card`):样本来源;搜索、重置、新增、批量删除。 2. **列表区**(`el-card`):表格 + 分页;列含检测日期、样本来源、检测量/阳性(带「份」)、检出率(%)、创建时间。 3. **新增/编辑弹窗**:`testDate`、`sampleSource`、`testQuantity`、`positiveCount`;检出率为 **disabled** 的 `el-input`,随数量实时计算。 4. **查看弹窗**:只读展示全部字段及审计信息。 **行内操作**:查看、编辑、删除(无状态分支,任意记录均可操作)。 --- ## 4. 枚举与检出率 | 字段 | 编码 | i18n 键 | | --- | --- | --- | | 样本来源 | 1~4 | `diseaseDetection.labDetection.sampleSource{n}` | **检出率展示**:优先使用接口 `detectionRate`(比值 0~1);否则前端按 `positiveCount / testQuantity` 计算;格式 `(ratio * 100).toFixed(2) + '%'`;`testQuantity=0` 时为 `0.00%`。 **表单校验**:非负整数;`positiveCount ≤ testQuantity`;`testQuantity=0` 时 `positiveCount` 必须为 0。 --- ## 5. 国际化 | 项 | 说明 | | --- | --- | | **语言包** | `diseaseDetection.labDetection`(`zh` / `bo` 的 `diseaseDetection.js`) | | **Mixin** | `diseaseDetectionLocaleMixin`,`data.ddNs = 'labDetection'` | --- ## 6. 样式与组件 - 检测量、阳性检出数使用 `dd-input-with-unit`(`el-input-number` + 后缀「份」),与共同富裕成果页单位输入风格一致。 - 双 `el-card` 布局与 `epidemicReport/index.vue` 对齐。 --- ## 7. 联调说明 1. 后端实现 `实验室检测技术方案.md` §3 及 `biz_lab_detection` 表。 2. 配置菜单与五项按钮权限。 3. 验证:检出率与库一致、阳性超量前端拦截、样本来源筛选、批量删除。 4. 仓库若尚无 Java 模块,需先对接或 Mock 后再联调列表。 --- ## 8. 修订记录 | 版本 | 说明 | | --- | --- | | 1.0 | 初版:列表 CRUD;检出率只读实时计算;双卡片布局 |