Skip to content

Commit 8810cb9

Browse files
committed
REVIEW 定时日志
1 parent 65663df commit 8810cb9

File tree

9 files changed

+129
-160
lines changed

9 files changed

+129
-160
lines changed

src/api/infra/job/index.ts

Lines changed: 8 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -13,50 +13,38 @@ export interface JobVO {
1313
createTime: Date
1414
}
1515

16-
export interface JobPageReqVO extends PageParam {
17-
name?: string
18-
status?: number
19-
handlerName?: string
20-
}
21-
22-
export interface JobExportReqVO {
23-
name?: string
24-
status?: number
25-
handlerName?: string
26-
}
27-
2816
// 任务列表
29-
export const getJobPageApi = (params: JobPageReqVO) => {
17+
export const getJobPage = (params: PageParam) => {
3018
return request.get({ url: '/infra/job/page', params })
3119
}
3220

3321
// 任务详情
34-
export const getJobApi = (id: number) => {
22+
export const getJob = (id: number) => {
3523
return request.get({ url: '/infra/job/get?id=' + id })
3624
}
3725

3826
// 新增任务
39-
export const createJobApi = (data: JobVO) => {
27+
export const createJob = (data: JobVO) => {
4028
return request.post({ url: '/infra/job/create', data })
4129
}
4230

4331
// 修改定时任务调度
44-
export const updateJobApi = (data: JobVO) => {
32+
export const updateJob = (data: JobVO) => {
4533
return request.put({ url: '/infra/job/update', data })
4634
}
4735

4836
// 删除定时任务调度
49-
export const deleteJobApi = (id: number) => {
37+
export const deleteJob = (id: number) => {
5038
return request.delete({ url: '/infra/job/delete?id=' + id })
5139
}
5240

5341
// 导出定时任务调度
54-
export const exportJobApi = (params: JobExportReqVO) => {
42+
export const exportJob = (params) => {
5543
return request.download({ url: '/infra/job/export-excel', params })
5644
}
5745

5846
// 任务状态修改
59-
export const updateJobStatusApi = (id: number, status: number) => {
47+
export const updateJobStatus = (id: number, status: number) => {
6048
const params = {
6149
id,
6250
status
@@ -70,6 +58,6 @@ export const runJobApi = (id: number) => {
7058
}
7159

7260
// 获得定时任务的下 n 次执行时间
73-
export const getJobNextTimesApi = (id: number) => {
61+
export const getJobNextTimes = (id: number) => {
7462
return request.get({ url: '/infra/job/get_next_times?id=' + id })
7563
}

src/api/infra/jobLog/index.ts

Lines changed: 3 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -14,34 +14,18 @@ export interface JobLogVO {
1414
createTime: string
1515
}
1616

17-
export interface JobLogPageReqVO extends PageParam {
18-
jobId?: number
19-
handlerName?: string
20-
beginTime?: string
21-
endTime?: string
22-
status?: number
23-
}
24-
25-
export interface JobLogExportReqVO {
26-
jobId?: number
27-
handlerName?: string
28-
beginTime?: string
29-
endTime?: string
30-
status?: number
31-
}
32-
3317
// 任务日志列表
34-
export const getJobLogPageApi = (params: JobLogPageReqVO) => {
18+
export const getJobLogPage = (params: PageParam) => {
3519
return request.get({ url: '/infra/job-log/page', params })
3620
}
3721

3822
// 任务日志详情
39-
export const getJobLogApi = (id: number) => {
23+
export const getJobLog = (id: number) => {
4024
return request.get({ url: '/infra/job-log/get?id=' + id })
4125
}
4226

4327
// 导出定时任务日志
44-
export const exportJobLogApi = (params: JobLogExportReqVO) => {
28+
export const exportJobLog = (params) => {
4529
return request.download({
4630
url: '/infra/job-log/export-excel',
4731
params

src/router/modules/remaining.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -162,7 +162,7 @@ const remainingRouter: AppRouteRecordRaw[] = [
162162
children: [
163163
{
164164
path: 'job-log',
165-
component: () => import('@/views/infra/job/JobLog.vue'),
165+
component: () => import('@/views/infra/job/logger/index.vue'),
166166
name: 'JobLog',
167167
meta: {
168168
noCache: true,

src/views/infra/job/JobDetail.vue

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,9 +59,9 @@ const open = async (id: number) => {
5959
if (id) {
6060
detailLoading.value = true
6161
try {
62-
detailData.value = await JobApi.getJobApi(id)
62+
detailData.value = await JobApi.getJob(id)
6363
// 获取下一次执行时间
64-
nextTimes.value = await JobApi.getJobNextTimesApi(id)
64+
nextTimes.value = await JobApi.getJobNextTimes(id)
6565
} finally {
6666
detailLoading.value = false
6767
}

src/views/infra/job/JobForm.vue

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ const open = async (type: string, id?: number) => {
8080
if (id) {
8181
formLoading.value = true
8282
try {
83-
formData.value = await JobApi.getJobApi(id)
83+
formData.value = await JobApi.getJob(id)
8484
} finally {
8585
formLoading.value = false
8686
}
@@ -100,10 +100,10 @@ const submitForm = async () => {
100100
try {
101101
const data = formData.value as unknown as JobApi.JobVO
102102
if (formType.value === 'create') {
103-
await JobApi.createJobApi(data)
103+
await JobApi.createJob(data)
104104
message.success(t('common.createSuccess'))
105105
} else {
106-
await JobApi.updateJobApi(data)
106+
await JobApi.updateJob(data)
107107
message.success(t('common.updateSuccess'))
108108
}
109109
modelVisible.value = false

src/views/infra/job/JobLogView.vue

Lines changed: 0 additions & 74 deletions
This file was deleted.

src/views/infra/job/index.vue

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -172,7 +172,7 @@ const exportLoading = ref(false) // 导出的加载中
172172
const getList = async () => {
173173
loading.value = true
174174
try {
175-
const data = await JobApi.getJobPageApi(queryParams)
175+
const data = await JobApi.getJobPage(queryParams)
176176
list.value = data.list
177177
total.value = data.total
178178
} finally {
@@ -199,7 +199,7 @@ const handleExport = async () => {
199199
await message.exportConfirm()
200200
// 发起导出
201201
exportLoading.value = true
202-
const data = await JobApi.exportJobApi(queryParams)
202+
const data = await JobApi.exportJob(queryParams)
203203
download.excel(data, '定时任务.xls')
204204
} catch {
205205
} finally {
@@ -224,7 +224,7 @@ const handleChangeStatus = async (row: JobApi.JobVO) => {
224224
)
225225
const status =
226226
row.status === InfraJobStatusEnum.STOP ? InfraJobStatusEnum.NORMAL : InfraJobStatusEnum.STOP
227-
await JobApi.updateJobStatusApi(row.id, status)
227+
await JobApi.updateJobStatus(row.id, status)
228228
message.success(text + '成功')
229229
// 刷新列表
230230
await getList()
@@ -241,7 +241,7 @@ const handleDelete = async (id: number) => {
241241
// 删除的二次确认
242242
await message.delConfirm()
243243
// 发起删除
244-
await JobApi.deleteJobApi(id)
244+
await JobApi.deleteJob(id)
245245
message.success(t('common.delSuccess'))
246246
// 刷新列表
247247
await getList()
@@ -284,10 +284,10 @@ const openDetail = (id: number) => {
284284
detailRef.value.open(id)
285285
}
286286
287-
// 执行日志
288-
const handleJobLog = (rowId?: number) => {
289-
if (rowId) {
290-
push('/job/job-log?id=' + rowId)
287+
/** 跳转执行日志 */
288+
const handleJobLog = (id: number) => {
289+
if (id) {
290+
push('/job/job-log?id=' + id)
291291
} else {
292292
push('/job/job-log')
293293
}
Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
<template>
2+
<Dialog title="任务详细" v-model="modelVisible" width="700px">
3+
<el-descriptions border :column="1">
4+
<el-descriptions-item label="日志编号" min-width="60">
5+
{{ detailData.id }}
6+
</el-descriptions-item>
7+
<el-descriptions-item label="任务编号">
8+
{{ detailData.jobId }}
9+
</el-descriptions-item>
10+
<el-descriptions-item label="处理器的名字">
11+
{{ detailData.handlerName }}
12+
</el-descriptions-item>
13+
<el-descriptions-item label="处理器的参数">
14+
{{ detailData.handlerParam }}
15+
</el-descriptions-item>
16+
<el-descriptions-item label="第几次执行">
17+
{{ detailData.executeIndex }}
18+
</el-descriptions-item>
19+
<el-descriptions-item label="执行时间">
20+
{{ formatDate(detailData.beginTime) + ' ~ ' + formatDate(detailData.endTime) }}
21+
</el-descriptions-item>
22+
<el-descriptions-item label="执行时长">
23+
{{ detailData.duration + ' 毫秒' }}
24+
</el-descriptions-item>
25+
<el-descriptions-item label="任务状态">
26+
<dict-tag :type="DICT_TYPE.INFRA_JOB_LOG_STATUS" :value="detailData.status" />
27+
</el-descriptions-item>
28+
<el-descriptions-item label="执行结果">
29+
{{ detailData.duration + ' result' }}
30+
</el-descriptions-item>
31+
</el-descriptions>
32+
</Dialog>
33+
</template>
34+
<script setup lang="ts">
35+
import { DICT_TYPE } from '@/utils/dict'
36+
import { formatDate } from '@/utils/formatTime'
37+
import * as JobLogApi from '@/api/infra/jobLog'
38+
39+
const modelVisible = ref(false) // 弹窗的是否展示
40+
const detailLoading = ref(false) // 表单的加载中
41+
const detailData = ref({}) // 详情数据
42+
43+
/** 打开弹窗 */
44+
const open = async (id: number) => {
45+
modelVisible.value = true
46+
// 查看,设置数据
47+
if (id) {
48+
detailLoading.value = true
49+
try {
50+
detailData.value = await JobLogApi.getJobLog(id)
51+
} finally {
52+
detailLoading.value = false
53+
}
54+
}
55+
}
56+
defineExpose({ open }) // 提供 open 方法,用于打开弹窗
57+
</script>

0 commit comments

Comments
 (0)