# 订单导入功能模块 - 文件夹上传功能 - 产品需求文档

## 概述
- **摘要**：修改订单导入功能，去掉面单文件上传和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文件的情况？
- [ ] 上传失败时的错误处理机制是什么？