From bbc5219fcfcf855ae609f1cb0ce9830d885bd93f Mon Sep 17 00:00:00 2001 From: colin Date: Thu, 10 Apr 2025 18:39:19 +0800 Subject: [PATCH 1/3] =?UTF-8?q?feat(vben5):=20=E5=A2=9E=E5=8A=A0=E7=B3=BB?= =?UTF-8?q?=E7=BB=9F=E6=97=A5=E5=BF=97=E6=A8=A1=E5=9D=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../app-antd/src/locales/langs/en-US/abp.json | 5 +- .../app-antd/src/locales/langs/zh-CN/abp.json | 5 +- .../app-antd/src/router/routes/modules/abp.ts | 11 +- .../src/views/auditing/loggings/index.vue | 15 + .../packages/@abp/auditing/src/api/index.ts | 1 + .../@abp/auditing/src/api/useLoggingsApi.ts | 38 ++ .../components/audit-logs/AuditLogTable.vue | 3 + .../@abp/auditing/src/components/index.ts | 1 + .../src/components/loggings/LoggingDrawer.vue | 138 +++++++ .../src/components/loggings/LoggingTable.vue | 345 ++++++++++++++++++ .../auditing/src/constants/permissions.ts | 4 + .../packages/@abp/auditing/src/types/index.ts | 1 + .../@abp/auditing/src/types/loggings.ts | 65 ++++ 13 files changed, 627 insertions(+), 5 deletions(-) create mode 100644 apps/vben5/apps/app-antd/src/views/auditing/loggings/index.vue create mode 100644 apps/vben5/packages/@abp/auditing/src/api/useLoggingsApi.ts create mode 100644 apps/vben5/packages/@abp/auditing/src/components/loggings/LoggingDrawer.vue create mode 100644 apps/vben5/packages/@abp/auditing/src/components/loggings/LoggingTable.vue create mode 100644 apps/vben5/packages/@abp/auditing/src/types/loggings.ts diff --git a/apps/vben5/apps/app-antd/src/locales/langs/en-US/abp.json b/apps/vben5/apps/app-antd/src/locales/langs/en-US/abp.json index 0844acf85..f992975e9 100644 --- a/apps/vben5/apps/app-antd/src/locales/langs/en-US/abp.json +++ b/apps/vben5/apps/app-antd/src/locales/langs/en-US/abp.json @@ -22,7 +22,6 @@ "claimTypes": "Claim Types", "securityLogs": "Security Logs", "organizationUnits": "Organization Units", - "auditLogs": "Audit Logs", "sessions": "Sessions" }, "permissions": { @@ -55,7 +54,9 @@ "dataProtection": { "title": "Data Protection", "entityTypeInfos": "Entity Type Infos" - } + }, + "auditLogs": "Audit Logs", + "loggings": "System Logs" }, "openiddict": { "title": "OpenIddict", diff --git a/apps/vben5/apps/app-antd/src/locales/langs/zh-CN/abp.json b/apps/vben5/apps/app-antd/src/locales/langs/zh-CN/abp.json index d1da0fbd7..2117b07a0 100644 --- a/apps/vben5/apps/app-antd/src/locales/langs/zh-CN/abp.json +++ b/apps/vben5/apps/app-antd/src/locales/langs/zh-CN/abp.json @@ -22,7 +22,6 @@ "claimTypes": "身份标识", "securityLogs": "安全日志", "organizationUnits": "组织机构", - "auditLogs": "审计日志", "sessions": "会话管理" }, "permissions": { @@ -55,7 +54,9 @@ "dataProtection": { "title": "数据权限", "entityTypeInfos": "实体列表" - } + }, + "auditLogs": "审计日志", + "loggings": "系统日志" }, "openiddict": { "title": "OpenIddict", diff --git a/apps/vben5/apps/app-antd/src/router/routes/modules/abp.ts b/apps/vben5/apps/app-antd/src/router/routes/modules/abp.ts index e31424022..d5c084512 100644 --- a/apps/vben5/apps/app-antd/src/router/routes/modules/abp.ts +++ b/apps/vben5/apps/app-antd/src/router/routes/modules/abp.ts @@ -237,13 +237,22 @@ const routes: RouteRecordRaw[] = [ }, { meta: { - title: $t('abp.manage.identity.auditLogs'), + title: $t('abp.manage.auditLogs'), icon: 'fluent-mdl2:compliance-audit', }, name: 'AuditingAuditLogs', path: '/manage/audit-logs', component: () => import('#/views/auditing/audit-logs/index.vue'), }, + { + meta: { + title: $t('abp.manage.loggings'), + icon: 'icon-park-outline:log', + }, + name: 'AuditingLoggings', + path: '/manage/sys-logs', + component: () => import('#/views/auditing/loggings/index.vue'), + }, { meta: { title: $t('abp.manage.notifications.title'), diff --git a/apps/vben5/apps/app-antd/src/views/auditing/loggings/index.vue b/apps/vben5/apps/app-antd/src/views/auditing/loggings/index.vue new file mode 100644 index 000000000..82604b309 --- /dev/null +++ b/apps/vben5/apps/app-antd/src/views/auditing/loggings/index.vue @@ -0,0 +1,15 @@ + + + diff --git a/apps/vben5/packages/@abp/auditing/src/api/index.ts b/apps/vben5/packages/@abp/auditing/src/api/index.ts index 8613244d7..71fdf044a 100644 --- a/apps/vben5/packages/@abp/auditing/src/api/index.ts +++ b/apps/vben5/packages/@abp/auditing/src/api/index.ts @@ -1,2 +1,3 @@ export { useAuditLogsApi } from './useAuditLogsApi'; export { useEntityChangesApi } from './useEntityChangesApi'; +export { useLoggingsApi } from './useLoggingsApi'; diff --git a/apps/vben5/packages/@abp/auditing/src/api/useLoggingsApi.ts b/apps/vben5/packages/@abp/auditing/src/api/useLoggingsApi.ts new file mode 100644 index 000000000..77e65c6b9 --- /dev/null +++ b/apps/vben5/packages/@abp/auditing/src/api/useLoggingsApi.ts @@ -0,0 +1,38 @@ +import type { PagedResultDto } from '@abp/core'; + +import type { LogDto, LogGetListInput } from '../types/loggings'; + +import { useRequest } from '@abp/request'; + +export function useLoggingsApi() { + const { cancel, request } = useRequest(); + + /** + * 获取系统日志 + * @param id 日志id + */ + function getApi(id: string): Promise { + return request(`/api/auditing/logging/${id}`, { + method: 'GET', + }); + } + + /** + * 获取系统日志分页列表 + * @param input 参数 + */ + function getPagedListApi( + input: LogGetListInput, + ): Promise> { + return request>('/api/auditing/logging', { + method: 'GET', + params: input, + }); + } + + return { + cancel, + getApi, + getPagedListApi, + }; +} diff --git a/apps/vben5/packages/@abp/auditing/src/components/audit-logs/AuditLogTable.vue b/apps/vben5/packages/@abp/auditing/src/components/audit-logs/AuditLogTable.vue index 0b4b4a27e..cc97d7b5b 100644 --- a/apps/vben5/packages/@abp/auditing/src/components/audit-logs/AuditLogTable.vue +++ b/apps/vben5/packages/@abp/auditing/src/components/audit-logs/AuditLogTable.vue @@ -41,6 +41,9 @@ const formOptions: VbenFormProps = { schema: [ { component: 'RangePicker', + componentProps: { + showTime: true, + }, fieldName: 'executionTime', formItemClass: 'col-span-2 items-baseline', label: $t('AbpAuditLogging.ExecutionTime'), diff --git a/apps/vben5/packages/@abp/auditing/src/components/index.ts b/apps/vben5/packages/@abp/auditing/src/components/index.ts index 1d99b4a46..68e953a86 100644 --- a/apps/vben5/packages/@abp/auditing/src/components/index.ts +++ b/apps/vben5/packages/@abp/auditing/src/components/index.ts @@ -1,2 +1,3 @@ export { default as AuditLogTable } from './audit-logs/AuditLogTable.vue'; export { default as EntityChangeDrawer } from './entity-changes/EntityChangeDrawer.vue'; +export { default as LoggingTable } from './loggings/LoggingTable.vue'; diff --git a/apps/vben5/packages/@abp/auditing/src/components/loggings/LoggingDrawer.vue b/apps/vben5/packages/@abp/auditing/src/components/loggings/LoggingDrawer.vue new file mode 100644 index 000000000..616b5568d --- /dev/null +++ b/apps/vben5/packages/@abp/auditing/src/components/loggings/LoggingDrawer.vue @@ -0,0 +1,138 @@ + + + + + diff --git a/apps/vben5/packages/@abp/auditing/src/components/loggings/LoggingTable.vue b/apps/vben5/packages/@abp/auditing/src/components/loggings/LoggingTable.vue new file mode 100644 index 000000000..7ac48088d --- /dev/null +++ b/apps/vben5/packages/@abp/auditing/src/components/loggings/LoggingTable.vue @@ -0,0 +1,345 @@ + + + + + diff --git a/apps/vben5/packages/@abp/auditing/src/constants/permissions.ts b/apps/vben5/packages/@abp/auditing/src/constants/permissions.ts index 00e8dc003..759747745 100644 --- a/apps/vben5/packages/@abp/auditing/src/constants/permissions.ts +++ b/apps/vben5/packages/@abp/auditing/src/constants/permissions.ts @@ -4,3 +4,7 @@ export const AuditLogPermissions = { /** 删除 */ Delete: 'AbpAuditing.AuditLog.Delete', }; +/** 系统日志权限 */ +export const SystemLogPermissions = { + Default: 'AbpAuditing.SystemLog', +}; diff --git a/apps/vben5/packages/@abp/auditing/src/types/index.ts b/apps/vben5/packages/@abp/auditing/src/types/index.ts index 900570716..125df9c4a 100644 --- a/apps/vben5/packages/@abp/auditing/src/types/index.ts +++ b/apps/vben5/packages/@abp/auditing/src/types/index.ts @@ -1,2 +1,3 @@ export * from './audit-logs'; export * from './entity-changes'; +export * from './loggings'; diff --git a/apps/vben5/packages/@abp/auditing/src/types/loggings.ts b/apps/vben5/packages/@abp/auditing/src/types/loggings.ts new file mode 100644 index 000000000..e5ce7e797 --- /dev/null +++ b/apps/vben5/packages/@abp/auditing/src/types/loggings.ts @@ -0,0 +1,65 @@ +interface LogExceptionDto { + class?: string; + depth?: number; + helpUrl?: string; + hResult?: number; + message?: string; + source?: string; + stackTrace?: string; +} + +interface LogFieldDto { + actionId?: string; + actionName?: string; + application?: string; + clientId?: string; + connectionId?: string; + context?: string; + correlationId?: string; + environment?: string; + id: string; + machineName?: string; + processId?: number; + requestId?: string; + requestPath?: string; + threadId?: number; + userId?: string; +} + +enum LogLevel { + Critical = 5, + Debug = 1, + Error = 4, + Information = 2, + None = 6, + Trace = 0, + Warning = 3, +} + +interface LogDto { + exceptions: LogExceptionDto[]; + fields: LogFieldDto; + level: LogLevel; + message: string; + timeStamp: Date; +} + +interface LogGetListInput { + application?: string; + context?: string; + correlationId?: string; + endTime?: Date; + environment?: string; + hasException?: boolean; + level?: LogLevel; + machineName?: string; + processId?: number; + requestId?: string; + requestPath?: string; + startTime?: Date; + threadId?: number; +} + +export type { LogDto, LogExceptionDto, LogFieldDto, LogGetListInput }; + +export { LogLevel }; From 1be7bf4b9ec1fede870c99985d091d512c843a7a Mon Sep 17 00:00:00 2001 From: colin Date: Fri, 11 Apr 2025 13:43:02 +0800 Subject: [PATCH 2/3] feat(vben5): add tasks package --- apps/vben5/apps/app-antd/package.json | 1 + .../app-antd/src/locales/langs/en-US/abp.json | 6 + .../app-antd/src/locales/langs/zh-CN/abp.json | 6 + .../app-antd/src/router/routes/modules/abp.ts | 19 + .../src/views/tasks/job-infos/index.vue | 15 + apps/vben5/packages/@abp/tasks/package.json | 38 + .../packages/@abp/tasks/src/api/index.ts | 2 + .../@abp/tasks/src/api/useJobInfosApi.ts | 169 ++++ .../@abp/tasks/src/api/useJobLogsApi.ts | 46 ++ .../@abp/tasks/src/components/index.ts | 1 + .../job-infos/JobInfoDetailDrawer.vue | 303 +++++++ .../components/job-infos/JobInfoDrawer.vue | 349 +++++++++ .../src/components/job-infos/JobInfoTable.vue | 736 ++++++++++++++++++ .../@abp/tasks/src/constants/index.ts | 1 + .../@abp/tasks/src/constants/permissions.ts | 24 + .../packages/@abp/tasks/src/hooks/index.ts | 1 + .../@abp/tasks/src/hooks/useJobEnumsMap.ts | 75 ++ apps/vben5/packages/@abp/tasks/src/index.ts | 3 + .../packages/@abp/tasks/src/types/index.ts | 2 + .../@abp/tasks/src/types/job-infos.ts | 139 ++++ .../packages/@abp/tasks/src/types/job-logs.ts | 23 + apps/vben5/packages/@abp/tasks/tsconfig.json | 6 + .../components/properties/PropertyModal.vue | 20 +- .../components/properties/PropertyTable.vue | 45 +- 24 files changed, 2019 insertions(+), 11 deletions(-) create mode 100644 apps/vben5/apps/app-antd/src/views/tasks/job-infos/index.vue create mode 100644 apps/vben5/packages/@abp/tasks/package.json create mode 100644 apps/vben5/packages/@abp/tasks/src/api/index.ts create mode 100644 apps/vben5/packages/@abp/tasks/src/api/useJobInfosApi.ts create mode 100644 apps/vben5/packages/@abp/tasks/src/api/useJobLogsApi.ts create mode 100644 apps/vben5/packages/@abp/tasks/src/components/index.ts create mode 100644 apps/vben5/packages/@abp/tasks/src/components/job-infos/JobInfoDetailDrawer.vue create mode 100644 apps/vben5/packages/@abp/tasks/src/components/job-infos/JobInfoDrawer.vue create mode 100644 apps/vben5/packages/@abp/tasks/src/components/job-infos/JobInfoTable.vue create mode 100644 apps/vben5/packages/@abp/tasks/src/constants/index.ts create mode 100644 apps/vben5/packages/@abp/tasks/src/constants/permissions.ts create mode 100644 apps/vben5/packages/@abp/tasks/src/hooks/index.ts create mode 100644 apps/vben5/packages/@abp/tasks/src/hooks/useJobEnumsMap.ts create mode 100644 apps/vben5/packages/@abp/tasks/src/index.ts create mode 100644 apps/vben5/packages/@abp/tasks/src/types/index.ts create mode 100644 apps/vben5/packages/@abp/tasks/src/types/job-infos.ts create mode 100644 apps/vben5/packages/@abp/tasks/src/types/job-logs.ts create mode 100644 apps/vben5/packages/@abp/tasks/tsconfig.json diff --git a/apps/vben5/apps/app-antd/package.json b/apps/vben5/apps/app-antd/package.json index 1e1a592ef..4b1e3c565 100644 --- a/apps/vben5/apps/app-antd/package.json +++ b/apps/vben5/apps/app-antd/package.json @@ -41,6 +41,7 @@ "@abp/request": "workspace:*", "@abp/saas": "workspace:*", "@abp/settings": "workspace:*", + "@abp/tasks": "workspace:*", "@abp/ui": "workspace:*", "@vben/access": "workspace:*", "@vben/common-ui": "workspace:*", diff --git a/apps/vben5/apps/app-antd/src/locales/langs/en-US/abp.json b/apps/vben5/apps/app-antd/src/locales/langs/en-US/abp.json index f992975e9..0ba5e1273 100644 --- a/apps/vben5/apps/app-antd/src/locales/langs/en-US/abp.json +++ b/apps/vben5/apps/app-antd/src/locales/langs/en-US/abp.json @@ -107,5 +107,11 @@ "demo": { "title": "Demo", "books": "Books" + }, + "tasks": { + "title": "Task Management", + "jobInfo": { + "title": "Job Manage" + } } } diff --git a/apps/vben5/apps/app-antd/src/locales/langs/zh-CN/abp.json b/apps/vben5/apps/app-antd/src/locales/langs/zh-CN/abp.json index 2117b07a0..d6eaf0e02 100644 --- a/apps/vben5/apps/app-antd/src/locales/langs/zh-CN/abp.json +++ b/apps/vben5/apps/app-antd/src/locales/langs/zh-CN/abp.json @@ -107,5 +107,11 @@ "demo": { "title": "演示", "books": "书籍列表" + }, + "tasks": { + "title": "后台作业", + "jobInfo": { + "title": "作业管理" + } } } diff --git a/apps/vben5/apps/app-antd/src/router/routes/modules/abp.ts b/apps/vben5/apps/app-antd/src/router/routes/modules/abp.ts index d5c084512..1b4e0f24d 100644 --- a/apps/vben5/apps/app-antd/src/router/routes/modules/abp.ts +++ b/apps/vben5/apps/app-antd/src/router/routes/modules/abp.ts @@ -431,6 +431,25 @@ const routes: RouteRecordRaw[] = [ }, ], }, + { + name: 'TaskManagement', + path: '/task-management', + meta: { + title: $t('abp.tasks.title'), + icon: 'eos-icons:background-tasks', + }, + children: [ + { + meta: { + title: $t('abp.tasks.jobInfo.title'), + icon: 'eos-icons:job', + }, + name: 'TaskManagementJobInfos', + path: '/task-management/background-jobs', + component: () => import('#/views/tasks/job-infos/index.vue'), + }, + ], + }, { name: 'AbpDemo', path: '/abp/demos', diff --git a/apps/vben5/apps/app-antd/src/views/tasks/job-infos/index.vue b/apps/vben5/apps/app-antd/src/views/tasks/job-infos/index.vue new file mode 100644 index 000000000..bccd813f0 --- /dev/null +++ b/apps/vben5/apps/app-antd/src/views/tasks/job-infos/index.vue @@ -0,0 +1,15 @@ + + + diff --git a/apps/vben5/packages/@abp/tasks/package.json b/apps/vben5/packages/@abp/tasks/package.json new file mode 100644 index 000000000..4c0ddb87b --- /dev/null +++ b/apps/vben5/packages/@abp/tasks/package.json @@ -0,0 +1,38 @@ +{ + "name": "@abp/tasks", + "version": "9.0.4", + "homepage": "https://github.com/colinin/abp-next-admin", + "bugs": "https://github.com/colinin/abp-next-admin/issues", + "repository": { + "type": "git", + "url": "git+https://github.com/colinin/abp-next-admin.git", + "directory": "packages/@abp/tasks" + }, + "license": "MIT", + "type": "module", + "sideEffects": [ + "**/*.css" + ], + "exports": { + ".": { + "types": "./src/index.ts", + "default": "./src/index.ts" + } + }, + "dependencies": { + "@abp/components": "workspace:*", + "@abp/core": "workspace:*", + "@abp/request": "workspace:*", + "@abp/ui": "workspace:*", + "@ant-design/icons-vue": "catalog:", + "@vben/access": "workspace:*", + "@vben/common-ui": "workspace:*", + "@vben/hooks": "workspace:*", + "@vben/icons": "workspace:*", + "@vben/layouts": "workspace:*", + "@vben/locales": "workspace:*", + "ant-design-vue": "catalog:", + "vue": "catalog:*", + "vxe-table": "catalog:" + } +} diff --git a/apps/vben5/packages/@abp/tasks/src/api/index.ts b/apps/vben5/packages/@abp/tasks/src/api/index.ts new file mode 100644 index 000000000..9161a791a --- /dev/null +++ b/apps/vben5/packages/@abp/tasks/src/api/index.ts @@ -0,0 +1,2 @@ +export * from './useJobInfosApi'; +export * from './useJobLogsApi'; diff --git a/apps/vben5/packages/@abp/tasks/src/api/useJobInfosApi.ts b/apps/vben5/packages/@abp/tasks/src/api/useJobInfosApi.ts new file mode 100644 index 000000000..8d7b106de --- /dev/null +++ b/apps/vben5/packages/@abp/tasks/src/api/useJobInfosApi.ts @@ -0,0 +1,169 @@ +import type { ListResultDto, PagedResultDto } from '@abp/core'; + +import type { + BackgroundJobDefinitionDto, + BackgroundJobInfoBatchInput, + BackgroundJobInfoCreateDto, + BackgroundJobInfoDto, + BackgroundJobInfoGetListInput, + BackgroundJobInfoUpdateDto, +} from '../types/job-infos'; + +import { useRequest } from '@abp/request'; + +export function useJobInfosApi() { + const { cancel, request } = useRequest(); + + function createApi( + input: BackgroundJobInfoCreateDto, + ): Promise { + return request( + '/api/task-management/background-jobs', + { + data: input, + method: 'POST', + }, + ); + } + + function deleteApi(id: string): Promise { + return request(`/api/task-management/background-jobs/${id}`, { + method: 'DELETE', + }); + } + + function bulkDeleteApi(input: BackgroundJobInfoBatchInput): Promise { + return request(`/api/task-management/background-jobs/bulk-delete`, { + data: input, + method: 'DELETE', + }); + } + + function getApi(id: string): Promise { + return request( + `/api/task-management/background-jobs/${id}`, + { + method: 'GET', + }, + ); + } + + function getPagedListApi( + input?: BackgroundJobInfoGetListInput, + ): Promise> { + return request>( + `/api/task-management/background-jobs`, + { + method: 'GET', + params: input, + }, + ); + } + + function pauseApi(id: string): Promise { + return request(`/api/task-management/background-jobs/${id}/pause`, { + method: 'PUT', + }); + } + + function bulkPauseApi(input: BackgroundJobInfoBatchInput): Promise { + return request(`/api/task-management/background-jobs/bulk-pause`, { + data: input, + method: 'PUT', + }); + } + + function resumeApi(id: string): Promise { + return request(`/api/task-management/background-jobs/${id}/resume`, { + method: 'PUT', + }); + } + + function bulkResumeApi(input: BackgroundJobInfoBatchInput): Promise { + return request(`/api/task-management/background-jobs/bulk-resume`, { + data: input, + method: 'PUT', + }); + } + + function triggerApi(id: string): Promise { + return request(`/api/task-management/background-jobs/${id}/trigger`, { + method: 'PUT', + }); + } + + function bulkTriggerApi(input: BackgroundJobInfoBatchInput): Promise { + return request(`/api/task-management/background-jobs/bulk-trigger`, { + data: input, + method: 'PUT', + }); + } + + function stopApi(id: string): Promise { + return request(`/api/task-management/background-jobs/${id}/stop`, { + method: 'PUT', + }); + } + + function bulkStopApi(input: BackgroundJobInfoBatchInput): Promise { + return request(`/api/task-management/background-jobs/bulk-stop`, { + data: input, + method: 'PUT', + }); + } + + function startApi(id: string): Promise { + return request(`/api/task-management/background-jobs/${id}/start`, { + method: 'PUT', + }); + } + + function bulkStartApi(input: BackgroundJobInfoBatchInput): Promise { + return request(`/api/task-management/background-jobs/bulk-start`, { + data: input, + method: 'PUT', + }); + } + + function updateApi( + id: string, + input: BackgroundJobInfoUpdateDto, + ): Promise { + return request(`/api/task-management/background-jobs/${id}`, { + data: input, + method: 'PUT', + }); + } + + function getDefinitionsApi(): Promise< + ListResultDto + > { + return request>( + `/api/task-management/background-jobs/definitions`, + { + method: 'GET', + }, + ); + } + + return { + bulkDeleteApi, + bulkPauseApi, + bulkResumeApi, + bulkStartApi, + bulkStopApi, + bulkTriggerApi, + cancel, + createApi, + deleteApi, + getApi, + getDefinitionsApi, + getPagedListApi, + pauseApi, + resumeApi, + startApi, + stopApi, + triggerApi, + updateApi, + }; +} diff --git a/apps/vben5/packages/@abp/tasks/src/api/useJobLogsApi.ts b/apps/vben5/packages/@abp/tasks/src/api/useJobLogsApi.ts new file mode 100644 index 000000000..1313d564b --- /dev/null +++ b/apps/vben5/packages/@abp/tasks/src/api/useJobLogsApi.ts @@ -0,0 +1,46 @@ +import type { PagedResultDto } from '@abp/core'; + +import type { + BackgroundJobLogDto, + BackgroundJobLogGetListInput, +} from '../types'; + +import { useRequest } from '@abp/request'; + +export function useJobLogsApi() { + const { cancel, request } = useRequest(); + + function getApi(id: string): Promise { + return request( + `/api/task-management/background-jobs/logs/${id}`, + { + method: 'GET', + }, + ); + } + + function deleteApi(id: string): Promise { + return request(`/api/task-management/background-jobs/logs/${id}`, { + method: 'DELETE', + }); + } + + function getPagedListApi( + input?: BackgroundJobLogGetListInput, + ): Promise> { + return request>( + `/api/task-management/background-jobs/logs`, + { + method: 'GET', + params: input, + }, + ); + } + + return { + cancel, + deleteApi, + getApi, + getPagedListApi, + }; +} diff --git a/apps/vben5/packages/@abp/tasks/src/components/index.ts b/apps/vben5/packages/@abp/tasks/src/components/index.ts new file mode 100644 index 000000000..d7c6b609e --- /dev/null +++ b/apps/vben5/packages/@abp/tasks/src/components/index.ts @@ -0,0 +1 @@ +export { default as JobInfoTable } from './job-infos/JobInfoTable.vue'; diff --git a/apps/vben5/packages/@abp/tasks/src/components/job-infos/JobInfoDetailDrawer.vue b/apps/vben5/packages/@abp/tasks/src/components/job-infos/JobInfoDetailDrawer.vue new file mode 100644 index 000000000..aecc0c0c5 --- /dev/null +++ b/apps/vben5/packages/@abp/tasks/src/components/job-infos/JobInfoDetailDrawer.vue @@ -0,0 +1,303 @@ + + + + + diff --git a/apps/vben5/packages/@abp/tasks/src/components/job-infos/JobInfoDrawer.vue b/apps/vben5/packages/@abp/tasks/src/components/job-infos/JobInfoDrawer.vue new file mode 100644 index 000000000..f028d3e63 --- /dev/null +++ b/apps/vben5/packages/@abp/tasks/src/components/job-infos/JobInfoDrawer.vue @@ -0,0 +1,349 @@ + + +