feat(oa): add return, resubmit, and multi-round approval progress

Align with DingTalk semantics: reject ends the instance, return keeps it for initiator edits, and revoke-and-resubmit creates a linked new instance. Progress timeline projects rounds via oa_instance_event.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
zlwuandCursor committed 2026-07-15 14:53:52 +08:00
1 parent 265d790ea6
commit 26800865cd
13 files changed
+4736 -72

No files matched your search

+20
View File
@@ -210,6 +210,7 @@ export function fetchStartOaInstance(data: {
initiatorDeptId?: string
initiatorSelectUserIds?: string[]
relatedInstanceIds?: string[]
sourceInstanceId?: string
}) {
return request.post({
url: `${BASE}/instances`,
@@ -260,6 +261,25 @@ export function fetchRejectOaTask(taskId: string, comment?: string) {
})
}
export function fetchReturnOaTask(taskId: string, comment: string) {
return request.post({
url: `${BASE}/tasks/${taskId}/return`,
data: { comment },
showSuccessMessage: true
})
}
export function fetchResubmitOaInstance(
id: string,
data: { formData?: Record<string, any>; initiatorSelectUserIds?: string[] }
) {
return request.post({
url: `${BASE}/instances/${id}/resubmit`,
data,
showSuccessMessage: true
})
}
export function fetchAddSignOaTask(
taskId: string,
data: { userIds: string[]; comment?: string }