# 采购管理模块 PRD(复刻:升阳云ERP) > 目标系统演示环境:`https://demo.rsun.vip`(租户:1001) > > 账号:`admin` / 密码:`admin4321` ## 相关文档 | 文档 | 说明 | |------|------| | [采购管理-前端开发规范.md](./采购管理-前端开发规范.md) | UI组件规范、字段验证、API接口、技术栈 | | [采购管理-数据模型.md](./采购管理-数据模型.md) | 数据库表结构、实体关系、视图设计 | ## 模块概述 ### 业务定位 采购管理模块是 ERP 系统的核心业务模块之一,负责从供应商建档、采购订单、到货验收、采购入库、采购发票到退货的完整采购业务闭环管理。 ### 核心业务流程 ``` ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ │ 供应商档案 │───>│ 采购计划 │───>│ 采购订单 │───>│ 采购到货 │───>│ 采购入库 │ └──────────┘ └──────────┘ └──────────┘ └──────────┘ └──────────┘ │ │ ▼ ▼ ┌──────────┐ ┌──────────┐ │ 采购发票 │ │ 采购退货 │ └──────────┘ └──────────┘ │ ▼ ┌──────────┐ │ 应付结算 │ └──────────┘ ``` ### 单据流转关系 | 上游单据 | 当前单据 | 下游单据 | |----------|----------|----------| | - | 原料供应商 | 采购订单 | | 生产计划/销售订单 | 采购计划 | 采购订单 | | 采购计划 | 采购订单 | 采购到货单 | | 采购订单 | 采购到货单 | 采购入库单 | | 采购到货单 | 采购入库单 | 库存 | | 采购到货单 | 采购发票 | 应付账款 | | 采购到货单 | 采购退货单 | 退货出库单 | --- ## 1. 模块入口与页面清单 ### 1.1 菜单结构 **一级菜单**:采购管理 **二级菜单列表**: | 序号 | 菜单名称 | 页面路径 | 功能说明 | |------|----------|----------|----------| | 1 | 原料供应商 | `/po/purchase/supplier` | 供应商档案管理 | | 2 | 市场价格表 | `/po/purchase/price` | 物料市场价格维护 | | 3 | 采购订单 | `/po/purchase/order/plan` | 采购订单管理 | | 4 | 备库订单 | `/po/purchase/order/append` | 备库采购订单 | | 5 | 采购到货单 | `/po/purchase/checkin` | 采购到货登记 | | 6 | 采购发票 | `/po/purchase/pofapiao` | 采购发票管理 | | 7 | 采购退货单 | `/po/purchase/reject` | 采购退货管理 | | 8 | 采购执行明细表 | `/po/purchase/detail` | 采购执行明细报表 | | 9 | 采购执行汇总表 | `/po/purchase/total` | 采购执行汇总报表 | | 10 | 采购到货明细表 | `/po/purchase/line` | 到货明细报表 | | 11 | 采购发票明细表 | `/po/purchase/fapiaoreport` | 发票明细报表 | --- ## 2. 页面功能详述 ### 2.1 原料供应商 **页面路径**:`/po/purchase/supplier` **页面用途**:管理原料供应商的基础信息,包括供应商名称、联系方式、开票信息等。 #### 页面布局 ``` ┌─────────────────────────────────────────────────────────────────┐ │ 查询区域 │ │ [供应商名称] [业务联系人] [供应料品▼] [搜索] │ ├─────────────────────────────────────────────────────────────────┤ │ 操作按钮 │ │ [查询所有] [新增] [导入] [导出] [打印] [清空] │ ├─────────────────────────────────────────────────────────────────┤ │ 数据表格 │ │ 序号│供应商名称│简称│公司地址│电话│业务联系人│手机号│供应料品│状态│操作 │ │ ─────────────────────────────────────────────────────────────── │ │ 1 │ xxx │xx │xxx │xxx │ xxx │xxx │xxx │正常│查看 修改 删除│ │ ... │ ├─────────────────────────────────────────────────────────────────┤ │ 分页区域:共 XX 条 [100条/页▼] [<] [1] [>] 前往 [1] 页 │ └─────────────────────────────────────────────────────────────────┘ ``` #### 查询条件 | 字段名 | 类型 | 说明 | |--------|------|------| | 供应商名称 | 文本框 | 模糊查询 | | 业务联系人 | 文本框 | 模糊查询 | | 供应料品 | 下拉选择 | 物料类型筛选 | #### 列表字段 | 字段名 | 数据类型 | 说明 | |--------|----------|------| | 序号 | Integer | 行号 | | 供应商名称 | String | 供应商全称 | | 简称 | String | 供应商简称 | | 公司地址 | String | 公司地址 | | 电话 | String | 联系电话 | | 业务联系人 | String | 业务联系人姓名 | | 手机号 | String | 业务联系人手机 | | 供应料品 | String | 供应物料类型 | | 状态 | String | 正常/停用 | #### 操作按钮 | 按钮 | 功能说明 | |------|----------| | 查询所有 | 清空查询条件,查询所有数据 | | 新增 | 打开新增供应商弹窗 | | 导入 | 批量导入供应商数据(Excel) | | 导出 | 导出当前列表数据(Excel) | | 打印 | 打印当前列表 | | 清空 | 清空所有数据(危险操作) | | 查看 | 查看供应商详情(只读) | | 修改 | 编辑供应商信息 | | 删除 | 删除供应商(需确认) | #### 新增/修改弹窗 **弹窗结构**: ``` ┌────────────────────────────────────────────────────────┐ │ 供应商 [×] │ ├────────────────────────────────────────────────────────┤ │ *供应商名称: [____________] 供应商别名: [____________] │ │ 简称: [____________] 所属省/市: [请选择▼] │ │ 供应料品: [请选择▼] 供应商分类: [请选择▼] │ │ 供应商等级: [请选择▼] 公司地址: [____________] │ │ 邮编: [____________] 电话: [____________] │ │ 备注: [____________] 状态: ○正常 ○停用 │ │ │ │ ┌──────────────────────────────────────────────────┐ │ │ │ [开票信息] [业务联系人] [财务联系人] │ │ │ ├──────────────────────────────────────────────────┤ │ │ │ 开户行: [____________] │ │ │ │ 地址电话: [____________] │ │ │ │ 账号: [____________] │ │ │ │ 税号: [____________] │ │ │ └──────────────────────────────────────────────────┘ │ ├────────────────────────────────────────────────────────┤ │ [确定] [取消] │ └────────────────────────────────────────────────────────┘ ``` **字段说明**: | 字段名 | 类型 | 必填 | 说明 | |--------|------|------|------| | 供应商名称 | 文本 | 是 | 供应商全称 | | 供应商别名 | 文本 | 否 | 别名 | | 简称 | 文本 | 否 | 供应商简称 | | 所属省/市 | 级联选择 | 否 | 省市二级选择 | | 供应料品 | 下拉多选 | 否 | 可供应的物料类型 | | 供应商分类 | 下拉 | 否 | 核心供应商/普通供应商等 | | 供应商等级 | 下拉 | 否 | A/B/C/D级 | | 公司地址 | 文本 | 否 | 详细地址 | | 邮编 | 文本 | 否 | 邮政编码 | | 电话 | 文本 | 否 | 固定电话 | | 备注 | 文本域 | 否 | 备注信息 | | 状态 | 单选 | 否 | 默认"正常" | **Tab页-开票信息**: | 字段名 | 类型 | 说明 | |--------|------|------| | 开户行 | 文本 | 银行名称 | | 地址电话 | 文本 | 开票地址电话 | | 账号 | 文本 | 银行账号 | | 税号 | 文本 | 税务登记号 | **Tab页-业务联系人**: | 字段名 | 类型 | 说明 | |--------|------|------| | 联系人 | 文本 | 联系人姓名 | | 手机号 | 文本 | 手机号码 | **Tab页-财务联系人**: | 字段名 | 类型 | 说明 | |--------|------|------| | 联系人 | 文本 | 联系人姓名 | | 手机号 | 文本 | 手机号码 | --- ### 2.2 采购订单 **页面路径**:`/po/purchase/order/plan?needType=0` **页面用途**:管理采购订单,支持从采购计划引入物料需求或手工新增采购订单。 #### 页面布局 ``` ┌─────────────────────────────────────────────────────────────────┐ │ 查询区域 │ │ [跟单编号] [单据编码] [供应商] [物料编码] [物料名称] │ │ [开始日期] - [结束日期] [搜索] │ ├─────────────────────────────────────────────────────────────────┤ │ 操作按钮 │ │ [单据] [查询所有] [新增] [导出] │ │ 料品分类快捷筛选: [成品] [装配件] [零部件] [原材料] [五金件] ... │ ├─────────────────────────────────────────────────────────────────┤ │ 数据表格 │ │ 序号│跟单编号│计划编号│单据编码│单据状态│供应商│物料名称│物料编码│需求日期│采购数量│到货数量│单据日期│ │ ─────────────────────────────────────────────────────────────── │ │ 1 │XSDD000062│CGJH000027│CGDD000041│审核│xxx│xxx│xxx│2026-1-31│100│100│2026-1-25│ │ ... │ ├─────────────────────────────────────────────────────────────────┤ │ 底部统计:订单数量: X,XXX,XXX 到货数量: X,XXX,XXX │ │ 分页区域:共 XX 条 [100条/页▼] [<] [1] [>] 前往 [1] 页 │ └─────────────────────────────────────────────────────────────────┘ ``` #### 查询条件 | 字段名 | 类型 | 说明 | |--------|------|------| | 跟单编号 | 文本框 | 关联销售订单编号 | | 单据编码 | 文本框 | 采购订单编码 | | 供应商 | 文本框 | 供应商名称 | | 物料编码 | 文本框 | 物料编码 | | 物料名称 | 文本框 | 物料名称 | | 日期范围 | 日期范围 | 单据日期范围 | #### 列表字段 | 字段名 | 数据类型 | 说明 | |--------|----------|------| | 序号 | Integer | 行号 | | 跟单编号 | String | 关联的销售订单号 | | 计划编号 | String | 关联的采购计划号 | | 单据编码 | String | 采购订单编码 | | 单据状态 | String | 开立/审核/关闭 | | 供应商 | String | 供应商名称 | | 物料名称 | String | 物料名称 | | 物料编码 | String | 物料编码 | | 需求日期 | Date | 需求到货日期 | | 采购数量 | Decimal | 采购数量 | | 到货数量 | Decimal | 已到货数量 | | 单据日期 | Date | 订单创建日期 | #### 新增采购订单页面 **页面路径**:`/po/purchase/orderadd0?open=addStatus` **页面布局**: ``` ┌─────────────────────────────────────────────────────────────────┐ │ 采购订单 │ │ [保存] [取消] [审核] [反审核] [收起]│ ├─────────────────────────────────────────────────────────────────┤ │ 基础信息区域 │ │ 单据编码: [自动生成] 业务类型: [原材料▼] 操作员: admin │ │ 单据日期: [2026-01-25] 单据类型: [采购订单] 供方: [____] [选择] │ │ 单据状态: 开立 采购部门: [请选择▼] 到货日期: [选择日期]│ │ 业务状态: [正常▼] 采购人员: [请选择▼] 采购合同: [上传] │ │ 审核员: 合同号: [____] │ │ 审核日期: 备注信息: [____] │ │ 用料需求: [订单用料] │ ├─────────────────────────────────────────────────────────────────┤ │ 物料信息 [引入] [新增物料] │ │ ───────────────────────────────────────────────────────────────── │ │ 序号│跟单编号│计划单号│物料编码│物料名称│型号规格│主计量│需求日期│数量│单价│金额│到货数量│采购说明│操作│ │ ... │ └─────────────────────────────────────────────────────────────────┘ ``` **基础信息字段**: | 字段名 | 类型 | 必填 | 说明 | |--------|------|------|------| | 单据编码 | 文本 | 自动 | 系统自动生成 | | 单据日期 | 日期 | 是 | 默认当天 | | 单据状态 | 显示 | - | 开立/审核/关闭 | | 业务状态 | 下拉 | 否 | 正常/暂停/取消 | | 业务类型 | 下拉 | 是 | 原材料/零部件/成品等 | | 单据类型 | 下拉 | 是 | 采购订单(固定) | | 采购部门 | 下拉 | 否 | 部门选择 | | 采购人员 | 下拉 | 否 | 需先选择部门 | | 操作员 | 显示 | - | 当前登录用户 | | 审核员 | 显示 | - | 审核人员 | | 审核日期 | 显示 | - | 审核时间 | | 用料需求 | 下拉 | 是 | 订单用料/备库用料 | | 供方 | 弹窗选择 | 否 | 选择供应商 | | 到货日期 | 日期 | 否 | 预计到货日期 | | 采购合同 | 文件 | 否 | 上传合同附件 | | 合同号 | 文本 | 否 | 合同编号 | | 备注信息 | 文本 | 否 | 备注 | **物料明细字段**: | 字段名 | 类型 | 必填 | 说明 | |--------|------|------|------| | 序号 | Integer | - | 行号 | | 跟单编号 | String | - | 关联销售订单 | | 计划单号 | String | - | 关联采购计划 | | 物料编码 | String | 是 | 物料编码 | | 物料名称 | String | - | 物料名称 | | 型号规格 | String | - | 规格型号 | | 主计量 | String | - | 计量单位 | | 需求日期 | Date | 否 | 需求日期 | | 数量 | Decimal | 是 | 采购数量 | | 单价 | Decimal | 否 | 采购单价 | | 金额 | Decimal | - | 数量×单价(自动计算) | | 到货数量 | Decimal | - | 已到货数量 | | 采购说明 | String | 否 | 采购备注 | **选择供应商弹窗**: | 字段名 | 说明 | |--------|------| | 供应商名称 | 筛选条件 | | 业务联系人 | 筛选条件 | | 电话 | 显示字段 | | 手机号 | 显示字段 | | 状态 | 显示字段 | **引入弹窗(采购计划单明细)**: | 字段名 | 说明 | |--------|------| | 跟单编号 | 筛选条件 | | 料品大类 | 筛选条件 | | 物料编码 | 筛选条件 | | 物料名称 | 筛选条件 | | 计划单号 | 列表字段 | | 销售员 | 列表字段 | | 订单交期 | 列表字段 | | 需求日期 | 列表字段 | | 需求数量 | 列表字段 | | 已采数量 | 列表字段 | | 未采数量 | 列表字段 | --- ### 2.3 采购到货单 **页面路径**:`/po/purchase/checkin` **页面用途**:记录采购物料的到货情况,支持从采购订单引入生成到货单。 #### 页面布局 ``` ┌─────────────────────────────────────────────────────────────────┐ │ 查询区域 │ │ [跟单编号] [单据编码] [供应商] [物料编码] [物料名称] │ │ [开始日期] - [结束日期] [搜索] │ ├─────────────────────────────────────────────────────────────────┤ │ 操作按钮 │ │ [单据] [查询所有] [新增] [导出] │ │ 料品分类快捷筛选: [成品] [装配件] [零部件] [原材料] [五金件] ... │ ├─────────────────────────────────────────────────────────────────┤ │ 数据表格 │ │ 序号│跟单编号│单据编码│单据状态│供应商│物料名称│物料编码│到货数量│入库数量│单据日期│ │ ─────────────────────────────────────────────────────────────── │ │ 1 │XSDD000049│CGDH000046│审核│湖南飞沃新能源...│风机旋涡气泵│0302000002│10.00│0.00│...│ │ ... │ ├─────────────────────────────────────────────────────────────────┤ │ 底部统计:到货数量: X,XXX,XXX 入库数量: X,XXX,XXX │ │ 分页区域 │ └─────────────────────────────────────────────────────────────────┘ ``` #### 列表字段 | 字段名 | 数据类型 | 说明 | |--------|----------|------| | 序号 | Integer | 行号 | | 跟单编号 | String | 关联销售订单号 | | 单据编码 | String | 到货单编码 | | 单据状态 | String | 开立/审核/关闭 | | 供应商 | String | 供应商名称 | | 物料名称 | String | 物料名称 | | 物料编码 | String | 物料编码 | | 到货数量 | Decimal | 到货数量 | | 入库数量 | Decimal | 已入库数量 | | 单据日期 | Date | 到货日期 | --- ### 2.4 采购发票 **页面路径**:`/po/purchase/pofapiao` **页面用途**:管理采购发票信息,记录供应商开具的发票,用于财务核算和应付账款管理。 #### 页面布局 ``` ┌─────────────────────────────────────────────────────────────────┐ │ 查询区域 │ │ [单据编码] [供应商名称] [发票号码] [开始日期] - [结束日期] [搜索] │ ├─────────────────────────────────────────────────────────────────┤ │ 操作按钮 │ │ [单据] [查询所有] [新增] [导出] │ ├─────────────────────────────────────────────────────────────────┤ │ 数据表格 │ │ 序号│单据编码│单据日期│单据状态│业务类型│厂家名称│发票号码│发票金额│税率│税额│财务状态│ │ ─────────────────────────────────────────────────────────────── │ │ 1 │CGFP000010│2026-1-11│开立│原材料发票│湖南飞沃...│33333│55.00│9%│13.00│录入│ │ ... │ ├─────────────────────────────────────────────────────────────────┤ │ 底部统计:金额: X,XXX,XXX.XX 税额: XXX,XXX.XX │ │ 分页区域 │ └─────────────────────────────────────────────────────────────────┘ ``` #### 列表字段 | 字段名 | 数据类型 | 说明 | |--------|----------|------| | 序号 | Integer | 行号 | | 单据编码 | String | 发票单据编码 | | 单据日期 | Date | 单据日期 | | 单据状态 | String | 开立/审核/退回 | | 业务类型 | String | 原材料发票/零部件发票等 | | 厂家名称 | String | 供应商名称 | | 发票号码 | String | 发票号 | | 发票金额 | Decimal | 发票金额(不含税) | | 税率 | String | 税率百分比 | | 税额 | Decimal | 税额 | | 财务状态 | String | 录入/入账 | --- ### 2.5 采购退货单 **页面路径**:`/po/purchase/reject` **页面用途**:管理采购退货,记录因质量问题或其他原因需要退回给供应商的物料。 #### 页面布局 ``` ┌─────────────────────────────────────────────────────────────────┐ │ 查询区域 │ │ [跟单编号] [单据编码] [物料编码] [物料名称] │ │ [开始日期] - [结束日期] [搜索] │ ├─────────────────────────────────────────────────────────────────┤ │ 操作按钮 │ │ [单据] [查询所有] [新增] [导出] │ ├─────────────────────────────────────────────────────────────────┤ │ 数据表格 │ │ 序号│跟单编号│单据编码│单据状态│供应商│物料名称│物料编码│退货数量│出库数量│补收数量│单据日期│ │ ─────────────────────────────────────────────────────────────── │ │ 1 │XSDD000022│CGTH000004│审核│湖南飞沃...│角铁│0404000001│10.00│0.00│0.00│2026-1-2│ │ ... │ ├─────────────────────────────────────────────────────────────────┤ │ 底部统计:退货数量: XXX 出库数量: X │ │ 分页区域 │ └─────────────────────────────────────────────────────────────────┘ ``` #### 列表字段 | 字段名 | 数据类型 | 说明 | |--------|----------|------| | 序号 | Integer | 行号 | | 跟单编号 | String | 关联销售订单号 | | 单据编码 | String | 退货单编码 | | 单据状态 | String | 开立/审核 | | 供应商 | String | 供应商名称 | | 物料名称 | String | 物料名称 | | 物料编码 | String | 物料编码 | | 退货数量 | Decimal | 退货数量 | | 出库数量 | Decimal | 已出库数量 | | 补收数量 | Decimal | 补收数量 | | 单据日期 | Date | 退货日期 | --- ### 2.6 采购执行明细表 **页面路径**:`/po/purchase/detail` **页面用途**:按物料明细维度展示采购执行情况,包括订单数量、到货数量、未到数量等。 #### 查询条件 | 字段名 | 类型 | 说明 | |--------|------|------| | 跟单编号 | 文本框 | 关联销售订单 | | 业务类型 | 下拉 | 原材料/零部件等 | | 用料方式 | 下拉 | 订单用料/备库用料 | | 数据范围 | 下拉 | 筛选范围 | | 日期范围 | 日期 | 单据日期范围 | #### 列表字段 | 字段名 | 说明 | |--------|------| | 序号 | 行号 | | 跟单编号 | 关联销售订单 | | 采购单号 | 采购订单号 | | 用料需求 | 订单用料/备库用料 | | 物料编码 | 物料编码 | | 物料名称 | 物料名称 | | 需求日期 | 需求日期 | | 订购数量 | 采购数量 | | 已到数量 | 已到货数量 | | 未到数量 | 未到货数量 | --- ### 2.7 采购执行汇总表 **页面路径**:`/po/purchase/total` **页面用途**:按物料维度汇总展示采购执行情况。 #### 查询条件 | 字段名 | 类型 | 说明 | |--------|------|------| | 业务类型 | 下拉 | 原材料/零部件等 | | 用料方式 | 下拉 | 订单用料/备库用料 | | 数据范围 | 下拉 | 筛选范围 | | 日期范围 | 日期 | 单据日期范围 | #### 列表字段 | 字段名 | 说明 | |--------|------| | 序号 | 行号 | | 料品大类 | 物料大类 | | 料品分类 | 物料分类 | | 物料编码 | 物料编码 | | 物料名称 | 物料名称 | | 采购数量 | 总采购数量 | | 已订数量 | 已下单数量 | | 未订数量 | 未下单数量 | | 到货数量 | 已到货数量 | | 入库数量 | 已入库数量 | --- ### 2.8 采购到货明细表 **页面路径**:`/po/purchase/line` **页面用途**:展示采购到货的明细记录。 #### 查询条件 | 字段名 | 类型 | 说明 | |--------|------|------| | 跟单编号 | 文本框 | 关联销售订单 | | 供应商 | 文本框 | 供应商名称 | | 物料编码 | 文本框 | 物料编码 | | 物料名称 | 文本框 | 物料名称 | | 日期范围 | 日期 | 到货日期范围 | #### 列表字段 | 字段名 | 说明 | |--------|------| | 序号 | 行号 | | 跟单编号 | 关联销售订单 | | 用料需求 | 订单用料/备库用料 | | 采购单号 | 采购订单号 | | 供应商 | 供应商名称 | | 物料编码 | 物料编码 | | 物料名称 | 物料名称 | | 采购数量 | 采购数量 | | 到货数量 | 到货数量 | | 单据日期 | 采购单日期 | | 到货日期 | 到货日期 | --- ### 2.9 采购发票明细表 **页面路径**:`/po/purchase/fapiaoreport` **页面用途**:展示采购发票的明细记录。 #### 查询条件 | 字段名 | 类型 | 说明 | |--------|------|------| | 跟单编号 | 文本框 | 关联销售订单 | | 单据编号 | 文本框 | 发票单据编号 | | 供应商名称 | 文本框 | 供应商名称 | | 日期范围 | 日期 | 单据日期范围 | #### 列表字段 | 字段名 | 说明 | |--------|------| | 序号 | 行号 | | 单据编号 | 发票单据编号 | | 单据日期 | 单据日期 | | 业务类型 | 发票业务类型 | | 供应商名称 | 供应商名称 | | 发票号码 | 发票号 | | 税率 | 税率 | | 开票数量 | 开票数量 | | 发票金额 | 发票金额 | | 税额 | 税额 | | 价税合计 | 含税总额 | --- ## 3. 单据状态流转 ### 3.1 采购订单状态 ``` ┌────────┐ 保存 ┌────────┐ 审核 ┌────────┐ │ 新建 │ ──────────> │ 开立 │ ──────────> │ 审核 │ └────────┘ └────────┘ └────────┘ │ │ │ 反审核 │ 关闭 ▼ ▼ ┌────────┐ ┌────────┐ │ 开立 │ │ 关闭 │ └────────┘ └────────┘ ``` ### 3.2 采购到货单状态 ``` ┌────────┐ 保存 ┌────────┐ 审核 ┌────────┐ │ 新建 │ ──────────> │ 开立 │ ──────────> │ 审核 │ └────────┘ └────────┘ └────────┘ ``` ### 3.3 采购发票状态 ``` ┌────────┐ 保存 ┌────────┐ 审核 ┌────────┐ 入账 ┌────────┐ │ 新建 │ ──────────> │ 开立 │ ──────────> │ 审核 │ ──────────> │ 入账 │ └────────┘ └────────┘ └────────┘ └────────┘ │ │ 退回 ▼ ┌────────┐ │ 退回 │ └────────┘ ``` --- ## 4. 业务规则 ### 4.1 供应商管理 1. 供应商名称不允许重复 2. 停用状态的供应商不能被选择用于新建采购订单 3. 存在关联采购订单的供应商不能删除 ### 4.2 采购订单 1. 采购订单可以从采购计划引入,也可以手工新增 2. 已审核的采购订单不能修改,需先反审核 3. 存在到货记录的采购订单不能删除 4. 采购订单审核后才能生成到货单 ### 4.3 采购到货 1. 到货数量不能超过采购订单的未到货数量 2. 到货单审核后才能进行入库操作 3. 到货单可以分批到货 ### 4.4 采购发票 1. 发票金额应与到货金额匹配 2. 已入账的发票不能修改 3. 发票可以退回重新开具 ### 4.5 采购退货 1. 退货数量不能超过到货数量减去已入库数量 2. 退货单审核后才能出库 --- ## 5. 任务完成说明 ### 5.1 已完成的页面采集 | 序号 | 页面名称 | 采集状态 | 说明 | |------|----------|----------|------| | 1 | 原料供应商-列表 | ✅ 完成 | 列表、新增弹窗、查看弹窗 | | 2 | 采购订单-列表 | ✅ 完成 | 列表页面 | | 3 | 采购订单-新增 | ✅ 完成 | 新增页面、选择供应商弹窗、引入弹窗 | | 4 | 采购到货单-列表 | ✅ 完成 | 列表页面 | | 5 | 采购发票-列表 | ✅ 完成 | 列表页面 | | 6 | 采购退货单-列表 | ✅ 完成 | 列表页面 | | 7 | 采购执行明细表 | ✅ 完成 | 报表页面 | | 8 | 采购执行汇总表 | ✅ 完成 | 报表页面 | | 9 | 采购到货明细表 | ✅ 完成 | 报表页面 | | 10 | 采购发票明细表 | ✅ 完成 | 报表页面 | ### 5.2 文档交付清单 | 文档 | 状态 | 说明 | |------|------|------| | 采购管理.md | ✅ 完成 | PRD功能文档(本文档) | | 采购管理-前端开发规范.md | 待完成 | UI组件规范、API接口规范 | | 采购管理-数据模型.md | 待完成 | 数据库表结构、ER图 | ### 5.3 前端开发关键点 1. **统一布局模式**:查询区 + 操作按钮区 + 数据表格 + 分页 2. **弹窗交互**:新增/编辑/查看使用弹窗形式,详情页使用单独页面 3. **表单验证**:必填项验证、数据格式验证 4. **状态展示**:不同状态使用不同颜色标签展示 5. **金额计算**:数量、单价、金额三者联动计算 6. **引入功能**:支持从上游单据引入明细数据 ### 5.4 开发优先级建议 | 优先级 | 页面 | 原因 | |--------|------|------| | P0 | 原料供应商 | 基础档案,其他页面依赖 | | P0 | 采购订单 | 核心业务单据 | | P1 | 采购到货单 | 入库前置流程 | | P1 | 采购发票 | 财务核算需要 | | P2 | 采购退货单 | 异常流程处理 | | P3 | 各类报表 | 统计分析,可后期完善 |