编辑 | blame | 历史 | 原始文档

SRM 招投标管理 - 可配置版前端联调方案

涉及页面

  • 招投标配置(新增):srm/tender/config/index — 设置默认招投标模式
  • 招标项目列表(修改):srm/tender/index — 增加模式筛选项和列表展示
  • 招标项目表单(修改):srm/tender/modules/form — 增加模式选择(默认取配置)
  • 招标详情(修改):srm/tender/detail — 简易模式下隐藏开标/评标/定标,增加比价中和确认操作

业务流程与数据带入

完整版流程(不变)

创建项目 → 发布 → 开始投标 → 供应商投标/报价 → 开标 → 评标 → 定标 → 生成采购订单

简易版流程(新增)

创建项目 → 开始比价 → 供应商投标/报价 → 确认中标(自动生成采购订单)
  • 模式在创建项目时从招投标配置页的默认值带入,用户可以覆盖
  • 简易模式下,详情页不展示开标/评标/定标三个 Tab
  • "确认中标"操作需选择中标供应商的投标记录,确认后自动生成采购订单

API

1. 招投标配置(新增)

方法 路径 说明
GET /srm/tender-config/get 获取招投标配置
PUT /srm/tender-config/save 保存招投标配置

GET /get 响应示例:
json { "code": 0, "data": { "id": 1, "defaultBiddingMode": "FULL" } }

PUT /save 请求参数:

参数 类型 必填 说明
defaultBiddingMode String 默认模式:FULL-完整版, SIMPLE-简易版

2. 招标项目接口变更

响应/请求新增 biddingMode 字段:

字段 类型 说明
biddingMode String 招投标模式:FULL-完整版, SIMPLE-简易版

影响接口:
- POST /srm/tender-project/create — 请求体新增 biddingMode(可选,不传则使用配置默认值)
- GET /srm/tender-project/get — 响应新增 biddingMode
- GET /srm/tender-project/page — 请求新增 biddingMode 筛选项,响应列表新增 biddingMode
- PUT /srm/tender-project/update — 请求体新增 biddingMode

3. 简易模式操作(新增)

方法 路径 说明
PUT /srm/tender-project/start-price-comparing 开始比价(草稿 → 比价中)
PUT /srm/tender-project/confirm 确认中标并生成采购订单

PUT /start-price-comparing 请求参数:

参数 类型 必填 说明
id Long 招标项目ID(query 参数)

PUT /confirm 请求参数:

参数 类型 必填 说明
id Long 招标项目ID
bidId Long 中标投标记录ID

字段展示规则

字段 展示位置 说明
biddingMode 列表列、详情、表单 使用下拉选择,选项:完整版(FULL)、简易版(SIMPLE)
defaultBiddingMode 配置页 单选切换,保存后影响新建项目的默认模式
tenderStatus 列表、详情 简易模式新增两种状态:比价中(10)、已确认(20)

简易版状态枚举扩展

src/views/srm/enums.ts 中增加:

TENDER_STATUS: {
  0: '草稿',
  1: '发布中',
  2: '投标中',
  3: '评标中',
  4: '已定标',
  5: '已关闭',
  10: '比价中',   // 简易版新增
  20: '已确认',   // 简易版新增
}

新增 BIDDING_MODE 枚举:
typescript BIDDING_MODE: { FULL: '完整版', SIMPLE: '简易版', }

业务规则说明

场景 规则
创建项目时未选模式 后端自动从招投标配置中取默认值
简易模式项目操作 只能执行:开始比价 → 确认中标(关闭)
完整版项目操作 保持现有流程不变(发布→投标→评标→定标)
简易模式详情页 隐藏开标/评标/定标 Tab,比价中阶段仅显示物料清单、投标管理、报价管理
确认中标 简易模式下,用户选择一个投标记录,确认后自动生成采购订单并更新状态为已确认
关闭项目 简易模式下项目也可以被关闭(状态变为已关闭)

招投标配置页面

新建页面:src/views/srm/tender/config/index.vue

功能:
- 显示当前默认招投标模式(完整版/简易版)
- 提供切换控件(Radio 或 Select)
- 保存按钮调用 /srm/tender-config/save

招标项目列表修改

  1. 搜索栏增加"招投标模式"下拉筛选,调用列表接口时传入 biddingMode 参数
  2. 表格增加"招投标模式"列,显示完整版/简易版标签
  3. 操作按钮根据 biddingMode 区分:
  • 简易模式草稿状态:显示"开始比价"按钮
  • 简易模式比价中状态:显示"确认中标"按钮(点击后弹出投标选择对话框)

招标项目表单修改

  1. 新增/编辑表单增加"招投标模式"字段:
  • 下拉选择,选项:完整版、简易版
  • 新建时默认值取 /srm/tender-config/get 返回的 defaultBiddingMode
  1. 编辑时模式不可修改(仅草稿可编辑,模式锁定)

招标详情页修改

根据 biddingMode 判断:
- 简易模式
- 步骤条改为:草稿 → 比价中 → 已确认
- Tab 页签仅显示:物料清单、投标管理、报价管理
- 比价中状态显示"确认中标"操作按钮
- 完整版:保持现有逻辑不变

注意事项

  • 创建项目表单加载时,先调用 /srm/tender-config/get 获取默认模式,填充到 biddingMode 字段
  • 简易模式下,/srm/tender-project/start-bidding/srm/tender-project/start-evaluation 等完整版接口不要调用
  • "确认中标"操作需要用户从已投标的供应商中选择,调用 /srm/tender-project/confirm 接口
  • 确认中标后采购订单自动生成,前后端无需额外操作
  • 前端 API 文件需新增:SrmTenderConfigApi(getConfig/saveConfig),以及 SrmTenderApi 下的 startPriceComparing/confirmTenderProject 方法