From c64fb4cbb39a891f874c7bbd0fc407df2f436147 Mon Sep 17 00:00:00 2001 From: yaojn Date: Fri, 11 Apr 2025 17:16:21 +0800 Subject: [PATCH 1/7] =?UTF-8?q?-=20[=E5=8A=9F=E8=83=BD]=E8=87=AA=E5=8A=A8?= =?UTF-8?q?=E5=8C=96=E4=BD=9C=E4=B8=9A=E7=8A=B6=E6=80=81=E6=8F=90=E7=A4=BA?= =?UTF-8?q?=E6=AF=8F=E4=B8=AArunner=E7=9A=84=E6=8E=92=E9=98=9F=E6=83=85?= =?UTF-8?q?=E5=86=B5=20=20=20=20-=20[=E5=85=B3=E8=81=94]#[1396992951943168?= =?UTF-8?q?]=E8=87=AA=E5=8A=A8=E5=8C=96=E4=BD=9C=E4=B8=9A=E7=8A=B6?= =?UTF-8?q?=E6=80=81=E6=8F=90=E7=A4=BA=E6=AF=8F=E4=B8=AArunner=E7=9A=84?= =?UTF-8?q?=E6=8E=92=E9=98=9F=E6=83=85=E5=86=B5=20http://192.168.0.96:8090?= =?UTF-8?q?/demo/rdm.html#/task-detail/939050947543040/939050947543050/139?= =?UTF-8?q?6992951943168?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../detail/jobDetail/job-phase-list.vue | 75 ++++++++++++++++++- 1 file changed, 72 insertions(+), 3 deletions(-) diff --git a/src/views/pages/autoexec/detail/jobDetail/job-phase-list.vue b/src/views/pages/autoexec/detail/jobDetail/job-phase-list.vue index 8e8ff68a..dea57f67 100644 --- a/src/views/pages/autoexec/detail/jobDetail/job-phase-list.vue +++ b/src/views/pages/autoexec/detail/jobDetail/job-phase-list.vue @@ -21,7 +21,33 @@
{{ phase.name || '-' }}
-
+
+ + + + +
@@ -69,7 +95,8 @@ export default { components: { Liquid: () => import('@/resources/components/SimpleGraph/Liquid.vue'), - Status: () => import('@/resources/components/Status/CommonStatus.vue') + Status: () => import('@/resources/components/Status/CommonStatus.vue'), + TsTable: () => import('@/resources/components/TsTable/TsTable.vue') }, filters: {}, model: { @@ -82,7 +109,28 @@ export default { data() { return { fixedPhaseId: null, - activePhaseId: null + activePhaseId: null, + currentPhaseConfig: null, + isLoading: false, + theadList: [ + { + title: '节点名称', + key: 'nodeName' + }, + { + title: '主机', + key: 'runnerHost' + }, + { + title: '端口', + key: 'runnerPort' + } + ], + tableConfig: { + tbodyList: [], + currentPage: 1, + pageSize: 10 + } }; }, beforeCreate() {}, @@ -111,6 +159,27 @@ export default { this.$el.scrollTop = $select.offsetTop - config.height / 2 + 130; } } + }, + async handlePhaseStatus(phase) { + const { groupId, jobId, id } = phase || {}; + if (!jobId || !id) { + this.$Message.error('作业ID或阶段ID为空'); + return; + } + this.isLoading = true; + await this.$api.autoexec.job.searchPhaseNode({ + groupId: groupId, + jobId: jobId, + jobPhaseId: id, + currentPage: 1, + pageSize: 100 + }).then(res => { + if (res && res.Status == 'OK') { + this.tableConfig = res.Return; + } + }).finally(() => { + this.isLoading = false; + }); } }, computed: { -- Gitee From 576ed5e716455a0bd9f90c5320213f1e27677043 Mon Sep 17 00:00:00 2001 From: lvzk <897706680@qq.com> Date: Fri, 11 Apr 2025 21:57:46 +0800 Subject: [PATCH 2/7] =?UTF-8?q?=E8=87=AA=E5=8A=A8=E5=8C=96=E4=BD=9C?= =?UTF-8?q?=E4=B8=9A=E6=94=AF=E6=8C=81=E6=AD=A3=E5=9C=A8=E6=89=A7=E8=A1=8C?= =?UTF-8?q?=E6=95=B0=E9=87=8F=E9=99=90=E5=88=B6=EF=BC=8C=E8=B6=85=E5=87=BA?= =?UTF-8?q?=E6=95=B0=E9=87=8F=E9=99=90=E5=88=B6=E5=88=99=E6=8E=92=E9=98=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/resources/api/autoexec/job/job.js | 3 + src/resources/components/Status/status.less | 3 + .../pages/autoexec/detail/job-detail.vue | 75 +++++++++++++++++-- .../detail/jobDetail/job-phase-list.vue | 29 +++---- 4 files changed, 91 insertions(+), 19 deletions(-) diff --git a/src/resources/api/autoexec/job/job.js b/src/resources/api/autoexec/job/job.js index ba8c4540..7671e017 100644 --- a/src/resources/api/autoexec/job/job.js +++ b/src/resources/api/autoexec/job/job.js @@ -24,6 +24,9 @@ const job = { searchPhaseNode(params) { return axios.post('/api/rest/autoexec/job/phase/node/search', params); }, + getJobQueueStatus(params) { + return axios.post('/api/rest/autoexec/job/queue/status/get', params); + }, //获取runner节点,通过作业对应的阶段 getRunnerByPhase(params) { return axios.post('/api/rest/autoexec/job/phase/runner/get', params); diff --git a/src/resources/components/Status/status.less b/src/resources/components/Status/status.less index 0d820b4d..cc45d553 100644 --- a/src/resources/components/Status/status.less +++ b/src/resources/components/Status/status.less @@ -76,6 +76,7 @@ .progress-pausing .ivu-progress-bg { background-color: @warning-bg-color; } + .bg-queue, .bg-paused, .progress-paused .ivu-progress-bg { background-color: @warning-bg-color; @@ -189,6 +190,8 @@ .text-pausing { color: @pausing; } + &.text-queue, + .text-queue, &.text-paused, .text-paused { color: @paused; diff --git a/src/views/pages/autoexec/detail/job-detail.vue b/src/views/pages/autoexec/detail/job-detail.vue index 83be6b9d..aa6eaf1b 100644 --- a/src/views/pages/autoexec/detail/job-detail.vue +++ b/src/views/pages/autoexec/detail/job-detail.vue @@ -24,12 +24,40 @@
-
+
+ + + + + +
+
@@ -114,16 +121,12 @@ export default { isLoading: false, theadList: [ { - title: '节点名称', - key: 'nodeName' + title: '排队号', + key: 'sort' }, { - title: '主机', - key: 'runnerHost' - }, - { - title: '端口', - key: 'runnerPort' + title: '执行器', + key: 'runner' } ], tableConfig: { @@ -161,14 +164,14 @@ export default { } }, async handlePhaseStatus(phase) { - const { groupId, jobId, id } = phase || {}; + const {jobId, id } = phase || {}; if (!jobId || !id) { this.$Message.error('作业ID或阶段ID为空'); return; } this.isLoading = true; - await this.$api.autoexec.job.searchPhaseNode({ - groupId: groupId, + await this.$api.autoexec.job.getJobQueueStatus({ + groupSort: phase.jobGroupVo.sort, jobId: jobId, jobPhaseId: id, currentPage: 1, -- Gitee From 7d719a25685981c2e66d391d8b1ce906fa949821 Mon Sep 17 00:00:00 2001 From: lvzk <897706680@qq.com> Date: Mon, 14 Apr 2025 19:14:05 +0800 Subject: [PATCH 3/7] =?UTF-8?q?-=20[=E5=8A=9F=E8=83=BD]=E8=87=AA=E5=8A=A8?= =?UTF-8?q?=E5=8C=96=E4=BD=9C=E4=B8=9A=E7=8A=B6=E6=80=81=E6=8F=90=E7=A4=BA?= =?UTF-8?q?=E6=AF=8F=E4=B8=AArunner=E7=9A=84=E6=8E=92=E9=98=9F=E6=83=85?= =?UTF-8?q?=E5=86=B5=20=20=20=20-=20[=E5=85=B3=E8=81=94]#[1396992951943168?= =?UTF-8?q?]=E8=87=AA=E5=8A=A8=E5=8C=96=E4=BD=9C=E4=B8=9A=E7=8A=B6?= =?UTF-8?q?=E6=80=81=E6=8F=90=E7=A4=BA=E6=AF=8F=E4=B8=AArunner=E7=9A=84?= =?UTF-8?q?=E6=8E=92=E9=98=9F=E6=83=85=E5=86=B5=20http://192.168.0.96:8090?= =?UTF-8?q?/demo/rdm.html#/task-detail/939050947543040/939050947543050/139?= =?UTF-8?q?6992951943168?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/resources/api/autoexec/job/job.js | 4 ++-- src/resources/components/Status/status.less | 6 +++--- src/views/pages/autoexec/detail/job-detail.vue | 7 ++++--- .../pages/autoexec/detail/jobDetail/job-phase-list.vue | 2 +- 4 files changed, 10 insertions(+), 9 deletions(-) diff --git a/src/resources/api/autoexec/job/job.js b/src/resources/api/autoexec/job/job.js index 7671e017..a90c6cad 100644 --- a/src/resources/api/autoexec/job/job.js +++ b/src/resources/api/autoexec/job/job.js @@ -24,8 +24,8 @@ const job = { searchPhaseNode(params) { return axios.post('/api/rest/autoexec/job/phase/node/search', params); }, - getJobQueueStatus(params) { - return axios.post('/api/rest/autoexec/job/queue/status/get', params); + getJobWaitingDetail(params) { + return axios.post('/api/rest/autoexec/job/waiting/detail/get', params); }, //获取runner节点,通过作业对应的阶段 getRunnerByPhase(params) { diff --git a/src/resources/components/Status/status.less b/src/resources/components/Status/status.less index cc45d553..5a839b38 100644 --- a/src/resources/components/Status/status.less +++ b/src/resources/components/Status/status.less @@ -76,7 +76,7 @@ .progress-pausing .ivu-progress-bg { background-color: @warning-bg-color; } - .bg-queue, + .bg-waiting, .bg-paused, .progress-paused .ivu-progress-bg { background-color: @warning-bg-color; @@ -190,8 +190,8 @@ .text-pausing { color: @pausing; } - &.text-queue, - .text-queue, + &.text-waiting, + .text-waiting, &.text-paused, .text-paused { color: @paused; diff --git a/src/views/pages/autoexec/detail/job-detail.vue b/src/views/pages/autoexec/detail/job-detail.vue index aa6eaf1b..d7a1b5a5 100644 --- a/src/views/pages/autoexec/detail/job-detail.vue +++ b/src/views/pages/autoexec/detail/job-detail.vue @@ -26,7 +26,7 @@
Date: Tue, 15 Apr 2025 10:44:10 +0800 Subject: [PATCH 4/7] =?UTF-8?q?-=20[=E5=8A=9F=E8=83=BD]=E8=87=AA=E5=8A=A8?= =?UTF-8?q?=E5=8C=96=E4=BD=9C=E4=B8=9A=E7=8A=B6=E6=80=81=E6=8F=90=E7=A4=BA?= =?UTF-8?q?=E6=AF=8F=E4=B8=AArunner=E7=9A=84=E6=8E=92=E9=98=9F=E6=83=85?= =?UTF-8?q?=E5=86=B5=20=20=20=20-=20[=E5=85=B3=E8=81=94]#[1396992951943168?= =?UTF-8?q?]=E8=87=AA=E5=8A=A8=E5=8C=96=E4=BD=9C=E4=B8=9A=E7=8A=B6?= =?UTF-8?q?=E6=80=81=E6=8F=90=E7=A4=BA=E6=AF=8F=E4=B8=AArunner=E7=9A=84?= =?UTF-8?q?=E6=8E=92=E9=98=9F=E6=83=85=E5=86=B5=20http://192.168.0.96:8090?= =?UTF-8?q?/demo/rdm.html#/task-detail/939050947543040/939050947543050/139?= =?UTF-8?q?6992951943168?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/pages/autoexec/detail/jobDetail/phase/node-list.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/views/pages/autoexec/detail/jobDetail/phase/node-list.vue b/src/views/pages/autoexec/detail/jobDetail/phase/node-list.vue index e1c8191b..d8c4347f 100644 --- a/src/views/pages/autoexec/detail/jobDetail/phase/node-list.vue +++ b/src/views/pages/autoexec/detail/jobDetail/phase/node-list.vue @@ -98,7 +98,7 @@ 'text-success': row.status == 'succeed', 'text-error': row.status == 'failed', 'text-grey': row.status == 'pending', - 'text-warning': row.status == 'ignored' || row.status == 'aborted' || row.status == 'aborting' || row.status == 'waitInput' || row.status == 'paused' || row.status == 'invalid' + 'text-warning': row.status == 'waiting' || row.status == 'ignored' || row.status == 'aborted' || row.status == 'aborting' || row.status == 'waitInput' || row.status == 'paused' || row.status == 'invalid' }" > Date: Tue, 15 Apr 2025 14:22:22 +0800 Subject: [PATCH 5/7] =?UTF-8?q?-=20[=E5=8A=9F=E8=83=BD]=E8=87=AA=E5=8A=A8?= =?UTF-8?q?=E5=8C=96=E4=BD=9C=E4=B8=9A=E7=8A=B6=E6=80=81=E6=8F=90=E7=A4=BA?= =?UTF-8?q?=E6=AF=8F=E4=B8=AArunner=E7=9A=84=E6=8E=92=E9=98=9F=E6=83=85?= =?UTF-8?q?=E5=86=B5=20=20=20=20-=20[=E5=85=B3=E8=81=94]#[1396992951943168?= =?UTF-8?q?]=E8=87=AA=E5=8A=A8=E5=8C=96=E4=BD=9C=E4=B8=9A=E7=8A=B6?= =?UTF-8?q?=E6=80=81=E6=8F=90=E7=A4=BA=E6=AF=8F=E4=B8=AArunner=E7=9A=84?= =?UTF-8?q?=E6=8E=92=E9=98=9F=E6=83=85=E5=86=B5=20http://192.168.0.96:8090?= =?UTF-8?q?/demo/rdm.html#/task-detail/939050947543040/939050947543050/139?= =?UTF-8?q?6992951943168?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../components/Status/CommonStatus.vue | 24 ++++- .../components/loading/CircleLoading.vue | 24 ++++- .../detail/jobDetail/job-phase-list.vue | 99 +++++++++++++------ 3 files changed, 110 insertions(+), 37 deletions(-) diff --git a/src/resources/components/Status/CommonStatus.vue b/src/resources/components/Status/CommonStatus.vue index 45c656c9..2cb36a5f 100644 --- a/src/resources/components/Status/CommonStatus.vue +++ b/src/resources/components/Status/CommonStatus.vue @@ -1,15 +1,29 @@ @@ -38,9 +55,8 @@ export default { border: 2px solid @border-color; border-top: 2px solid @primary-color; border-right: 2px solid @primary-color; - //border-bottom: 2px solid @primary-color; border-radius: 50%; - animation: spin 3s linear infinite; + animation: spin 10s linear infinite; } @keyframes spin { diff --git a/src/views/pages/autoexec/detail/jobDetail/job-phase-list.vue b/src/views/pages/autoexec/detail/jobDetail/job-phase-list.vue index be958316..0636ecd2 100644 --- a/src/views/pages/autoexec/detail/jobDetail/job-phase-list.vue +++ b/src/views/pages/autoexec/detail/jobDetail/job-phase-list.vue @@ -15,22 +15,21 @@ style="position: relative" @click="selectPhase(phase)" > -
{{ phase.name || '-' }}
-
+