feat: 支持审批步骤绑定部门与多对象

- 新增审批对象关联表和存量数据迁移

- 支持用户、角色、部门多选及办理权限匹配

- 完善部门状态与批量管理交互
This commit is contained in:
2026-07-30 15:13:11 +08:00
parent 864cea6135
commit 57bd7b5d06
29 changed files with 3694 additions and 365 deletions

View File

@@ -24,7 +24,8 @@
"revoke": "Revoke",
"submit": "Submit Approval",
"addScope": "Add Scope",
"addStep": "Add Step"
"addStep": "Add Step",
"removeTarget": "Remove"
},
"scope": {
"category": "Category",
@@ -32,7 +33,8 @@
},
"assignee": {
"role": "Role",
"user": "User"
"user": "User",
"dept": "Department"
},
"status": {
"enabled": "Enabled",
@@ -53,7 +55,8 @@
},
"helper": {
"scope": "Limit the flow by resource category or applicant department. Leave empty to apply globally.",
"scopeEmpty": "No scope configured. This flow applies globally."
"scopeEmpty": "No scope configured. This flow applies globally.",
"assigneeAny": "Any selected assignee can process the same step."
},
"fields": {
"flowName": "Flow Name",
@@ -77,7 +80,9 @@
"applicantId": "Applicant ID",
"submittedAt": "Submitted At",
"finishedAt": "Finished At",
"assigneeType": "Assignee Type",
"assigneeTarget": "Assignee",
"selectedDeptCount": "Selected departments: {value}",
"actedBy": "Acted By",
"actedAt": "Acted At",
"comment": "Comment",
@@ -112,6 +117,7 @@
"message": {
"needStep": "At least one step is required",
"needStepAssignee": "Each approval step requires an assignee",
"confirmAssigneeTypeChange": "Changing the assignee type clears the current selections. Continue?",
"saveSuccess": "Flow saved",
"statusUpdated": "Flow status updated",
"deleteSuccess": "Flow deleted",

View File

@@ -13,5 +13,18 @@
"modified": "Modified",
"modifiedBy": "ModifiedBy",
"remark": "Remark",
"isDeleted": "IsDeleted"
"isDeleted": "IsDeleted",
"enable": "Enable",
"disable": "Disable",
"batchEnable": "Enable Selected",
"batchDisable": "Disable Selected",
"batchDelete": "Delete Selected",
"selectedCount": "{count} selected",
"selectRequired": "Select at least one department",
"statusConfirm": "{action} department “{name}”?",
"batchStatusConfirm": "{action} the {count} selected departments?",
"deleteConfirm": "Delete department “{name}”? This action cannot be undone.",
"batchDeleteConfirm": "Delete the {count} selected departments? This action cannot be undone.",
"operationSuccess": "Operation completed",
"operationFailed": "Operation failed. Please try again."
}

View File

@@ -24,7 +24,8 @@
"revoke": "撤回",
"submit": "提交审批",
"addScope": "新增范围",
"addStep": "新增步骤"
"addStep": "新增步骤",
"removeTarget": "移除"
},
"scope": {
"category": "分类",
@@ -32,7 +33,8 @@
},
"assignee": {
"role": "角色",
"user": "用户"
"user": "用户",
"dept": "部门"
},
"status": {
"enabled": "启用",
@@ -53,7 +55,8 @@
},
"helper": {
"scope": "按资源分类或申请人部门限定流程命中范围;留空时默认对全部资源生效。",
"scopeEmpty": "未配置范围,当前流程默认全局生效。"
"scopeEmpty": "未配置范围,当前流程默认全局生效。",
"assigneeAny": "同一步骤中,任一选中的审批对象均可处理。"
},
"fields": {
"flowName": "流程名称",
@@ -77,7 +80,9 @@
"applicantId": "申请人ID",
"submittedAt": "提交时间",
"finishedAt": "完成时间",
"assigneeType": "对象类型",
"assigneeTarget": "审批对象",
"selectedDeptCount": "已选 {value} 个部门",
"actedBy": "处理人",
"actedAt": "处理时间",
"comment": "处理意见",
@@ -112,6 +117,7 @@
"message": {
"needStep": "至少需要一个审批步骤",
"needStepAssignee": "每个审批步骤都需要配置审批对象",
"confirmAssigneeTypeChange": "切换审批方式会清空当前已选对象,确认继续吗?",
"saveSuccess": "审批流程已保存",
"statusUpdated": "流程状态已更新",
"deleteSuccess": "流程已删除",

View File

@@ -13,5 +13,18 @@
"modified": "修改时间",
"modifiedBy": "修改者",
"remark": "备注",
"isDeleted": "删除标识"
"isDeleted": "删除标识",
"enable": "启用",
"disable": "禁用",
"batchEnable": "批量启用",
"batchDisable": "批量禁用",
"batchDelete": "批量删除",
"selectedCount": "已选 {count} 项",
"selectRequired": "请先选择要操作的部门",
"statusConfirm": "确认{action}部门“{name}”吗?",
"batchStatusConfirm": "确认{action}已选中的 {count} 个部门吗?",
"deleteConfirm": "确认删除部门“{name}”吗?删除后不可恢复。",
"batchDeleteConfirm": "确认删除已选中的 {count} 个部门吗?删除后不可恢复。",
"operationSuccess": "操作成功",
"operationFailed": "操作失败,请稍后重试"
}