本批次为 ERP 销售订单模块集成 BPM 流程审批功能,实现销售订单的审批流程化管理。与 Batch 2 采购订单审批集成类似。
| 方法 | 路径 | 说明 |
|---|---|---|
| POST | /erp/sale-order/submit | 提交销售订单审批 |
请求参数:
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| id | Long | 是 | 销售订单编号 |
响应:
{
"code": 0,
"data": true,
"msg": "操作成功"
}
文件路径: src/views/erp/sale/order/index.vue
在操作列新增"提交审批"按钮,仅草稿状态可见:
<el-table-column label="操作" align="center" fixed="right" width="200">
<template #default="scope">
<el-button
link
type="primary"
@click="handleUpdate(scope.row.id)"
v-hasPermi="['erp:sale-order:update']"
v-if="scope.row.status === 0"
>
编辑
</el-button>
<el-button
link
type="primary"
@click="handleSubmit(scope.row.id)"
v-hasPermi="['erp:sale-order:update']"
v-if="scope.row.status === 0"
>
提交审批
</el-button>
<el-button
link
type="primary"
@click="handleApprove(scope.row.id)"
v-hasPermi="['erp:sale-order:update-status']"
v-if="scope.row.status === 10"
>
审批通过
</el-button>
<el-button
link
type="danger"
@click="handleDelete(scope.row.id)"
v-hasPermi="['erp:sale-order:delete']"
v-if="scope.row.status === 0 || scope.row.status === 30"
>
删除
</el-button>
</template>
</el-table-column>
/** 提交审批 */
const handleSubmit = async (id: number) => {
try {
await message.confirm('确认提交该销售订单进行审批?')
await SaleOrderApi.submitSaleOrder(id)
message.success('提交成功')
await getList()
} catch {}
}
<el-table-column label="状态" align="center" prop="status" width="100">
<template #default="scope">
<dict-tag :type="DICT_TYPE.ERP_AUDIT_STATUS" :value="scope.row.status" />
</template>
</el-table-column>
文件路径: src/api/erp/sale/order/index.ts
新增提交审批接口:
// 提交销售订单审批
export const submitSaleOrder = async (id: number) => {
return await request.post({ url: '/erp/sale-order/submit?id=' + id })
}
在 BPM 管理后台创建流程模型:
| 配置项 | 值 |
|---|---|
| 流程标识(Key) | erp-sale-order-audit |
| 流程名称 | ERP 销售订单审批流程 |
| 流程分类 | 业务流程 |
开始节点 → 销售主管审批 → 财务审批 → 结束节点
yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/
├── enums/
│ └── ErrorCodeConstants.java (修改:新增错误码)
├── dal/dataobject/sale/
│ └── ErpSaleOrderDO.java (修改:新增 processInstanceId 字段)
├── service/sale/
│ ├── ErpSaleOrderService.java (修改:新增接口方法)
│ ├── ErpSaleOrderServiceImpl.java (修改:实现 BPM 集成)
│ └── listener/
│ └── ErpSaleOrderStatusListener.java (新增:审批状态监听器)
└── controller/admin/sale/
└── ErpSaleOrderController.java (修改:新增提交审批接口)
文档版本: v1.0
创建日期: 2026-06-26