feat: 七月迭代公共状态与异步任务交互
All checks were successful
构建并部署前端到测试环境 / build-and-deploy (push) Successful in 5m59s

This commit is contained in:
luo
2026-07-24 11:48:02 +08:00
parent 15122e225a
commit a0c44ff538
14 changed files with 677 additions and 63 deletions

View File

@@ -0,0 +1,28 @@
export enum AsyncTaskStatus {
PENDING = 1,
PROCESSING = 2,
COMPLETED = 3,
FAILED = 4,
CANCELED = 5
}
export interface AsyncTaskProgress {
task_id?: number
status: number
status_name?: string
total_count?: number
success_count?: number
failed_count?: number
failure_details?: unknown[] | null
error_code?: string
error_summary?: string
updated_at?: string
}
export const isAsyncTaskActive = (status?: AsyncTaskStatus) =>
status === AsyncTaskStatus.PENDING || status === AsyncTaskStatus.PROCESSING
export const isAsyncTaskTerminal = (status?: AsyncTaskStatus) =>
status === AsyncTaskStatus.COMPLETED ||
status === AsyncTaskStatus.FAILED ||
status === AsyncTaskStatus.CANCELED

View File

@@ -21,23 +21,30 @@ export interface ExportTaskQueryParams extends PaginationParams {
export interface ExportTaskItem {
id: number
task_id?: number
task_no: string
scene: ExportTaskScene
status: ExportTaskStatus
status_name: string
progress: number
status_name?: string
progress?: number
format: ExportTaskFormat
total_rows: number
processed_rows: number
total_shards: number
success_shards: number
failed_shards: number
file_key: string
error_message: string
cancel_requested: boolean
total_rows?: number
processed_rows?: number
total_shards?: number
success_shards?: number
failed_shards?: number
file_key?: string
error_message?: string
cancel_requested?: boolean
total_count?: number
success_count?: number
failed_count?: number
error_code?: string
error_summary?: string
updated_at?: string
created_at: string
started_at: string
completed_at: string
started_at?: string
completed_at?: string
}
export interface ExportTaskListResponse {

View File

@@ -111,5 +111,8 @@ export * from './pollingMonitor'
// 导出任务相关
export * from './exportTask'
// 通用异步任务相关
export * from './asyncTask'
// 订单套餐批量作废任务相关
export * from './orderPackageInvalidateTask'

View File

@@ -87,8 +87,10 @@ declare module 'vue' {
ElAlert: typeof import('element-plus/es')['ElAlert']
ElAvatar: typeof import('element-plus/es')['ElAvatar']
ElButton: typeof import('element-plus/es')['ElButton']
ElCalendar: typeof import('element-plus/es')['ElCalendar']
ElCard: typeof import('element-plus/es')['ElCard']
ElCascader: typeof import('element-plus/es')['ElCascader']
ElCheckbox: typeof import('element-plus/es')['ElCheckbox']
ElCol: typeof import('element-plus/es')['ElCol']
ElConfigProvider: typeof import('element-plus/es')['ElConfigProvider']
ElDatePicker: typeof import('element-plus/es')['ElDatePicker']
@@ -111,7 +113,9 @@ declare module 'vue' {
ElOption: typeof import('element-plus/es')['ElOption']
ElPagination: typeof import('element-plus/es')['ElPagination']
ElPopover: typeof import('element-plus/es')['ElPopover']
ElProgress: typeof import('element-plus/es')['ElProgress']
ElRadio: typeof import('element-plus/es')['ElRadio']
ElRadioButton: typeof import('element-plus/es')['ElRadioButton']
ElRadioGroup: typeof import('element-plus/es')['ElRadioGroup']
ElRow: typeof import('element-plus/es')['ElRow']
ElScrollbar: typeof import('element-plus/es')['ElScrollbar']
@@ -123,6 +127,8 @@ declare module 'vue' {
ElTabPane: typeof import('element-plus/es')['ElTabPane']
ElTabs: typeof import('element-plus/es')['ElTabs']
ElTag: typeof import('element-plus/es')['ElTag']
ElTimeline: typeof import('element-plus/es')['ElTimeline']
ElTimelineItem: typeof import('element-plus/es')['ElTimelineItem']
ElTooltip: typeof import('element-plus/es')['ElTooltip']
ElTreeSelect: typeof import('element-plus/es')['ElTreeSelect']
ElUpload: typeof import('element-plus/es')['ElUpload']