feat: ship OA drafts/badges, role dual-track, and test-env deploy tooling.
Add approval instance drafts with menu badges, dual-track user/role read model and role bound names, form-designer outline docs, and bare-metal test deploy scripts. Ignore local test-server credential file. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
1 parent
7af53fc344
commit
de22678c87
56 files changed
+11861
-6082
No files matched your search
@@ -210,6 +210,93 @@ export function fetchStartOaInstance(data: {
|
||||
})
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
// 发起审批草稿箱
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
export function fetchOaInstanceDraftList(params?: {
|
||||
keyword?: string
|
||||
groupId?: string
|
||||
updateTimeFrom?: string
|
||||
updateTimeTo?: string
|
||||
page?: number
|
||||
pageSize?: number
|
||||
}) {
|
||||
return request.get<{ list: any[]; total: number }>({
|
||||
url: `${BASE}/drafts`,
|
||||
params
|
||||
})
|
||||
}
|
||||
|
||||
export function fetchOaInstanceDraftCount() {
|
||||
return request.get<{ count: number }>({ url: `${BASE}/drafts/count` })
|
||||
}
|
||||
|
||||
export function fetchOaInstanceDraftDetail(id: string) {
|
||||
return request.get<any>({ url: `${BASE}/drafts/${id}` })
|
||||
}
|
||||
|
||||
export function fetchCreateOaInstanceDraft(data: {
|
||||
appId: string
|
||||
formData?: Record<string, any>
|
||||
title?: string
|
||||
initiatorDeptId?: string
|
||||
initiatorSelectByNode?: Record<string, string[]>
|
||||
}) {
|
||||
return request.post({
|
||||
url: `${BASE}/drafts`,
|
||||
data,
|
||||
showSuccessMessage: true
|
||||
})
|
||||
}
|
||||
|
||||
export function fetchUpdateOaInstanceDraft(
|
||||
id: string,
|
||||
data: {
|
||||
formData?: Record<string, any>
|
||||
title?: string
|
||||
initiatorDeptId?: string
|
||||
initiatorSelectByNode?: Record<string, string[]>
|
||||
}
|
||||
) {
|
||||
return request.put({
|
||||
url: `${BASE}/drafts/${id}`,
|
||||
data,
|
||||
showSuccessMessage: true
|
||||
})
|
||||
}
|
||||
|
||||
export function fetchDeleteOaInstanceDraft(id: string) {
|
||||
return request.del({
|
||||
url: `${BASE}/drafts/${id}`,
|
||||
showSuccessMessage: true
|
||||
})
|
||||
}
|
||||
|
||||
export function fetchBatchDeleteOaInstanceDrafts(ids: string[]) {
|
||||
return request.post({
|
||||
url: `${BASE}/drafts/batch-delete`,
|
||||
data: { ids },
|
||||
showSuccessMessage: true
|
||||
})
|
||||
}
|
||||
|
||||
export function fetchSubmitOaInstanceDraft(
|
||||
id: string,
|
||||
data?: {
|
||||
formData?: Record<string, any>
|
||||
title?: string
|
||||
initiatorDeptId?: string
|
||||
initiatorSelectByNode?: Record<string, string[]>
|
||||
}
|
||||
) {
|
||||
return request.post({
|
||||
url: `${BASE}/drafts/${id}/submit`,
|
||||
data: data || {},
|
||||
showSuccessMessage: true
|
||||
})
|
||||
}
|
||||
|
||||
/** 详情审批进度投影项(后端 build_progress_items) */
|
||||
export interface OaProgressPerson {
|
||||
id?: string
|
||||
@@ -254,6 +341,10 @@ export function fetchOaTasks(
|
||||
})
|
||||
}
|
||||
|
||||
export function fetchOaPendingTaskCount() {
|
||||
return request.get<{ count: number }>({ url: `${BASE}/tasks/pending/count` })
|
||||
}
|
||||
|
||||
export function fetchOaCcUnreadCount() {
|
||||
return request.get<{ count: number }>({ url: `${BASE}/tasks/cc/unread-count` })
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user