# 订单导入功能模块 - 文件夹上传功能 - 产品需求文档 ## 概述 - **摘要**:修改订单导入功能,去掉面单文件上传和FTP上传检查模块,将面单文件选择改为选择文件夹,并上传文件夹中的所有PDF文件。 - **目的**:简化用户操作流程,减少用户输入错误,确保面单文件能够正确上传。 - **目标用户**:使用订单导入功能的操作人员,需要上传面单文件的用户。 ## 目标 - 去掉面单文件上传和FTP上传检查模块 - 修改订单导入功能中的面单文件选择为选择文件夹 - 实现上传文件夹中的所有PDF文件 ## 非目标(超出范围) - 不修改现有的订单导入核心逻辑 - 不改变现有的FTP服务器配置 - 不添加新的用户界面元素,保持界面简洁 ## 背景与上下文 - 现有系统已经实现了订单导入功能,可以通过 Excel 文件导入订单数据 - 现有系统已经实现了面单文件上传功能,但需要用户逐个选择文件 - 用户希望能够更方便地批量上传面单文件,通过选择文件夹的方式 ## 功能需求 - **FR-1**:去掉面单文件上传和FTP上传检查模块 - **FR-2**:修改订单导入功能中的面单文件选择为选择文件夹 - **FR-3**:实现上传文件夹中的所有PDF文件 ## 非功能需求 - **NFR-1**:保持现有界面的简洁性,不增加额外的用户输入字段 - **NFR-2**:上传过程应该有明确的进度反馈 - **NFR-3**:错误处理应该清晰明确,方便用户理解和解决问题 ## 约束 - **技术**:基于现有的 ASP.NET Core Web API 和文件上传服务 - **依赖**:依赖现有的文件上传服务 ## 假设 - 文件夹中只包含需要上传的PDF文件 - 用户能够正确选择包含面单文件的文件夹 ## 验收标准 ### AC-1:去掉面单文件上传和FTP上传检查模块 - **给定**:用户打开批量查询页面 - **当**:用户查看页面标签页 - **然后**:页面中不再显示面单文件上传和FTP上传检查标签页 - **验证**:`human-judgment` ### AC-2:订单导入功能支持选择文件夹 - **给定**:用户进入订单导入标签页 - **当**:用户点击面单文件选择按钮 - **然后**:系统弹出文件夹选择对话框,允许用户选择包含PDF文件的文件夹 - **验证**:`human-judgment` ### AC-3:上传文件夹中的所有PDF文件 - **给定**:用户选择了包含PDF文件的文件夹 - **当**:用户点击"导入订单"按钮 - **然后**:系统自动上传文件夹中的所有PDF文件 - **验证**:`programmatic` - **备注**:上传过程应该有进度反馈 ## 开放问题 - [ ] 如何处理文件夹中包含非PDF文件的情况? - [ ] 上传失败时的错误处理机制是什么?