# 审批流程多选部门 ## 涉及页面 - 审批流程新增页面 - 审批流程详情页面 - 审批流程编辑页面 - 审批流程列表页面 ## API | 方法 | 路径 | 说明 | |------|------|------| | POST | `/approveProcess/add` | 新增审批流程,支持多个审批部门 | | GET | `/approveProcess/get` | 查询审批详情,返回部门数组 | | GET | `/approveProcess/list` | 查询审批列表,返回部门数组 | | POST | `/approveProcess/update` | 编辑审批流程部门和审批人 | **请求参数:** | 参数 | 类型 | 必填 | 说明 | |------|------|------|------| | `approveDeptIdArray` | `Array` | 是 | 审批部门 ID 数组,按数组顺序保存;数组优先于旧的 `approveDeptId` | | `approveDeptId` | `Long` | 否 | 旧版单部门参数,未传数组时兼容使用 | | `approveDeptName` | `String` | 否 | 部门名称由后端根据部门 ID 查询,前端不应作为部门数据源 | | `approveUser` | `Long` | 是 | 申请人 ID | | `approveUserIds` | `String` | 是 | 审批人 ID,多个 ID 使用逗号分隔 | | `approveReason` | `String` | 是 | 审批理由 | | `approveType` | `Integer` | 是 | 审批类型 | **响应:** 详情和列表中的审批流程对象新增: ```json { "approveDeptId": 208, "approveDeptName": "湟水峡农业,其他部门", "approveDeptIdArray": [208, 209], "approveDeptNameArray": ["湟水峡农业", "其他部门"] } ``` ## 前端修改点 ### 1. 部门选择控件 将审批部门选择控件改为多选,并提交 ID 数组: ```html ``` ### 2. data 数据 ```js data() { return { form: { approveDeptIdArray: [], }, } } ``` ### 3. 提交与回显 ```js submitForm() { if (!this.form.approveDeptIdArray.length) { this.$message.error('请选择审批部门') return } addApprove(this.form) } loadDetail(id) { getApprove(id).then(({ data }) => { this.form.approveDeptIdArray = data.approveDeptIdArray || [] }) } ``` 列表展示可优先使用 `approveDeptNameArray`,兼容旧数据时使用 `approveDeptName`。 ## 注意事项 - 多部门数据由后端关联表保存,前端不要拼接部门 ID 或名称。 - `approveDeptIdArray` 为空时后端会拒绝新增;旧版单部门请求仍可兼容。 - 审核中的审批流程不允许修改审批部门。 - 审批节点仍按审批人创建,多个部门不会重复创建审批节点。