# 质检导出功能增强 - 前端联调方案 ## 涉及页面 - 来料检验单(IQC)列表页 - 过程检验单(IPQC)列表页 - 出货检验单(OQC)列表页 - 退货检验单(RQC)列表页 以上四个页面的「导出」功能均需调整。 ## 变更概览 1. **导出 Excel 新增「检验项指标」列**:展示该检验单所有检验项的结果汇总。 2. **导出支持按检测时间范围筛选**:用户选择时间范围后,只导出检测日期落在范围内的检验单。 ## 业务流程与数据带入 1. 用户在列表页设置筛选条件(含新增的「检测时间范围」)→ 点击「导出」。 2. 导出接口以当前筛选条件(与分页查询相同的筛选参数)拉取全部数据,生成 Excel 下载。 3. 不选择时间范围时,导出行为与改动前一致(导出全部符合其它筛选条件的数据)。 ## API | 方法 | 路径 | 说明 | |------|------|------| | GET | /mes/qc/iqc/export-excel | 导出来料检验单 | | GET | /mes/qc/ipqc/export-excel | 导出过程检验单 | | GET | /mes/qc/oqc/export-excel | 导出出货检验单 | | GET | /mes/qc/rqc/export-excel | 导出退货检验单 | **新增请求参数(四个接口一致):** | 参数 | 类型 | 必填 | 说明 | |------|------|------|------| | inspectDate[0] | String | 否 | 检测开始时间,格式 yyyy-MM-dd HH:mm:ss | | inspectDate[1] | String | 否 | 检测结束时间,格式 yyyy-MM-dd HH:mm:ss | 说明:此参数为筛选条件,与分页查询 `GET /mes/qc/xxx/page` 的传参方式完全一致,前端分页与导出可复用同一套查询参数对象。 **导出 Excel 新增列:** | 列名 | 类型 | 说明 | |------|------|------| | 检验项指标 | String | 格式:指标名称:检测值 或 指标名称:检测值(备注),多个指标用逗号分隔,例如 `外观:良好(OK), 尺寸:100.00mm(OK)`;无检验结果时为空 | ## 字段展示规则 | 字段 | 展示位置 | 说明 | |------|----------|------| | 检验项指标 | Excel「检验项指标」列 | 由系统自动拼接,前端无需处理格式 | | 检测时间范围 | 列表页筛选区 | 新增时间范围选择控件,建议与现有「检测日期」列对应 | ## 业务规则说明 | 场景 | 规则 | |------|------| | 未选择时间范围 | 导出全部数据(与改动前一致) | | 仅选择开始时间 | 导出检测日期大于等于开始时间的记录 | | 仅选择结束时间 | 导出检测日期小于等于结束时间的记录 | | 选择完整范围 | 导出检测日期在闭区间 [开始, 结束] 内的记录 | | 无检验结果 | 「检验项指标」列导出为空 | | 过滤字段 | 时间范围针对各检验单的「检测日期」字段过滤 | | 导出权限 | 仍受各页面原有 `export` 权限控制,OQC 导出保留客户数据权限过滤 | ## 注意事项 - 分页和导出共用同一套筛选参数,前端导出时应把当前筛选条件(含时间范围)一并作为请求参数传递。 - 时间控件格式必须为 `yyyy-MM-dd HH:mm:ss`,否则后端无法解析。 - 四个页面各自调用对应的导出接口,参数名完全相同,可复用同一导出函数。 - 若后续需要按「创建时间」等其它时间维度筛选,可另行扩展,本次仅支持检测时间。