|
@@ -63,6 +63,12 @@
|
|
</el-table-column>
|
|
</el-table-column>
|
|
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
|
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
|
<template #default="scope">
|
|
<template #default="scope">
|
|
|
|
+ <el-tooltip content="运行" placement="top">
|
|
|
|
+ <el-button link type="primary" icon="Right" @click="handleRunTask(scope.row)" v-hasPermi="['personal:jenkinsTask:edit']"></el-button>
|
|
|
|
+ </el-tooltip>
|
|
|
|
+ <el-tooltip content="查看" placement="top">
|
|
|
|
+ <el-button link type="primary" icon="View" @click="handleViewTask(scope.row)" v-hasPermi="['personal:jenkinsTask:edit']"></el-button>
|
|
|
|
+ </el-tooltip>
|
|
<el-tooltip content="修改" placement="top">
|
|
<el-tooltip content="修改" placement="top">
|
|
<el-button link type="primary" icon="Edit" @click="handleUpdate(scope.row)" v-hasPermi="['personal:jenkinsTask:edit']"></el-button>
|
|
<el-button link type="primary" icon="Edit" @click="handleUpdate(scope.row)" v-hasPermi="['personal:jenkinsTask:edit']"></el-button>
|
|
</el-tooltip>
|
|
</el-tooltip>
|
|
@@ -128,11 +134,16 @@
|
|
</div>
|
|
</div>
|
|
</template>
|
|
</template>
|
|
</el-dialog>
|
|
</el-dialog>
|
|
|
|
+
|
|
|
|
+ <!-- 任务详情对话框 -->
|
|
|
|
+ <el-dialog :title="dialog2.title" v-model="dialog2.visible" width="600px" append-to-body>
|
|
|
|
+ <div style="white-space: pre-wrap;" v-html="detail"></div>
|
|
|
|
+ </el-dialog>
|
|
</div>
|
|
</div>
|
|
</template>
|
|
</template>
|
|
|
|
|
|
<script setup name="JenkinsTask" lang="ts">
|
|
<script setup name="JenkinsTask" lang="ts">
|
|
-import { listJenkinsTask, getJenkinsTask, delJenkinsTask, addJenkinsTask, updateJenkinsTask } from '@/api/personal/jenkinsTask';
|
|
|
|
|
|
+import { listJenkinsTask, getJenkinsTask, delJenkinsTask, addJenkinsTask, updateJenkinsTask, runJenkinsTask, viewJenkinsTask } from '@/api/personal/jenkinsTask';
|
|
import { JenkinsTaskVO, JenkinsTaskQuery, JenkinsTaskForm } from '@/api/personal/jenkinsTask/types';
|
|
import { JenkinsTaskVO, JenkinsTaskQuery, JenkinsTaskForm } from '@/api/personal/jenkinsTask/types';
|
|
|
|
|
|
const { proxy } = getCurrentInstance() as ComponentInternalInstance;
|
|
const { proxy } = getCurrentInstance() as ComponentInternalInstance;
|
|
@@ -146,6 +157,7 @@ const ids = ref<Array<string | number>>([]);
|
|
const single = ref(true);
|
|
const single = ref(true);
|
|
const multiple = ref(true);
|
|
const multiple = ref(true);
|
|
const total = ref(0);
|
|
const total = ref(0);
|
|
|
|
+const detail = ref('');
|
|
|
|
|
|
const queryFormRef = ref<ElFormInstance>();
|
|
const queryFormRef = ref<ElFormInstance>();
|
|
const jenkinsTaskFormRef = ref<ElFormInstance>();
|
|
const jenkinsTaskFormRef = ref<ElFormInstance>();
|
|
@@ -155,6 +167,11 @@ const dialog = reactive<DialogOption>({
|
|
title: ''
|
|
title: ''
|
|
});
|
|
});
|
|
|
|
|
|
|
|
+const dialog2 = reactive<DialogOption>({
|
|
|
|
+ visible: false,
|
|
|
|
+ title: '任务详情'
|
|
|
|
+});
|
|
|
|
+
|
|
const initFormData: JenkinsTaskForm = {
|
|
const initFormData: JenkinsTaskForm = {
|
|
taskId: undefined,
|
|
taskId: undefined,
|
|
name: undefined,
|
|
name: undefined,
|
|
@@ -299,6 +316,23 @@ const handleExport = () => {
|
|
}, `jenkinsTask_${new Date().getTime()}.xlsx`)
|
|
}, `jenkinsTask_${new Date().getTime()}.xlsx`)
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+const handleRunTask = async (row?: JenkinsTaskVO) => {
|
|
|
|
+ const _taskId = row?.taskId || ids.value[0]
|
|
|
|
+ await proxy?.$modal.confirm('是否确认执行编号为"' + _taskId + '"的构建?').finally(() => loading.value = false);
|
|
|
|
+ await runJenkinsTask(_taskId);
|
|
|
|
+ proxy?.$modal.msgSuccess("执行成功");
|
|
|
|
+ await getList();
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+const handleViewTask = async (row?: JenkinsTaskVO) => {
|
|
|
|
+ buttonLoading.value = true;
|
|
|
|
+ const _name = row?.name || ids.value[0]
|
|
|
|
+ const res = await viewJenkinsTask(_name);
|
|
|
|
+ detail.value = res.data;
|
|
|
|
+ buttonLoading.value = false;
|
|
|
|
+ dialog2.visible = true;
|
|
|
|
+}
|
|
|
|
+
|
|
onMounted(() => {
|
|
onMounted(() => {
|
|
getList();
|
|
getList();
|
|
});
|
|
});
|