|
|
@@ -1,242 +1,249 @@
|
|
|
<template>
|
|
|
- <div class="blue-background">
|
|
|
- <div class="lighter-container">
|
|
|
- <div class="left-row">
|
|
|
- <div>
|
|
|
- <div>状态:</div>
|
|
|
- <el-tag
|
|
|
- size="large"
|
|
|
- :effect="focusTaskStatus.includes('all') ? 'dark' : ''"
|
|
|
- type="primary"
|
|
|
- @click="changeTaskStatus()"
|
|
|
- >
|
|
|
- 全部
|
|
|
- </el-tag>
|
|
|
- <template v-for="status in taskStatus" :key="status.index">
|
|
|
+ <el-affix :offset="0">
|
|
|
+ <div style="height: 70px; width: 100vw; background: #08224a"></div>
|
|
|
+ </el-affix>
|
|
|
+ <el-affix :offset="70">
|
|
|
+ <div class="blue-background">
|
|
|
+ <div class="lighter-container">
|
|
|
+ <div class="left-row">
|
|
|
+ <div>
|
|
|
+ <span>状态:</span>
|
|
|
<el-tag
|
|
|
size="large"
|
|
|
- :effect="focusTaskStatus.includes(status.index) ? 'dark' : ''"
|
|
|
+ :effect="focusTaskStatus.includes('all') ? 'dark' : ''"
|
|
|
type="primary"
|
|
|
- @click="changeTaskStatus(status)"
|
|
|
+ @click="changeTaskStatus()"
|
|
|
+ style="cursor: pointer; margin: 10px 5px"
|
|
|
>
|
|
|
- {{ status.name }}
|
|
|
+ 全部
|
|
|
</el-tag>
|
|
|
- </template>
|
|
|
- </div>
|
|
|
- <div>
|
|
|
- <div>类别:</div>
|
|
|
- <el-tag
|
|
|
- size="large"
|
|
|
- :effect="focusTaskType.includes('all') ? 'dark' : ''"
|
|
|
- type="primary"
|
|
|
- @click="changeTaskType()"
|
|
|
- >
|
|
|
- 全部
|
|
|
- </el-tag>
|
|
|
- <template v-for="type in taskType" :key="type.index">
|
|
|
+ <template v-for="status in taskStatus" :key="status.index">
|
|
|
+ <el-tag
|
|
|
+ size="large"
|
|
|
+ :effect="focusTaskStatus.includes(status.index) ? 'dark' : ''"
|
|
|
+ type="primary"
|
|
|
+ @click="changeTaskStatus(status)"
|
|
|
+ style="cursor: pointer; margin: 10px 5px"
|
|
|
+ >
|
|
|
+ {{ status.name }}
|
|
|
+ </el-tag>
|
|
|
+ </template>
|
|
|
+ </div>
|
|
|
+ <div>
|
|
|
+ <span>类别:</span>
|
|
|
<el-tag
|
|
|
size="large"
|
|
|
- :effect="focusTaskType.includes(type.index) ? 'dark' : ''"
|
|
|
+ :effect="focusTaskType.includes('all') ? 'dark' : ''"
|
|
|
type="primary"
|
|
|
- @click="changeTaskType(type)"
|
|
|
+ @click="changeTaskType()"
|
|
|
+ style="cursor: pointer; margin: 10px 5px"
|
|
|
>
|
|
|
- {{ type.name }}
|
|
|
+ 全部
|
|
|
</el-tag>
|
|
|
- </template>
|
|
|
+ <template v-for="type in taskType" :key="type.index">
|
|
|
+ <el-tag
|
|
|
+ size="large"
|
|
|
+ :effect="focusTaskType.includes(type.index) ? 'dark' : ''"
|
|
|
+ type="primary"
|
|
|
+ @click="changeTaskType(type)"
|
|
|
+ style="cursor: pointer; margin: 10px 5px"
|
|
|
+ >
|
|
|
+ {{ type.name }}
|
|
|
+ </el-tag>
|
|
|
+ </template>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="row">
|
|
|
+ <el-input
|
|
|
+ class="searcher"
|
|
|
+ v-model="searcher"
|
|
|
+ placeholder="请输入任务名称相关关键字"
|
|
|
+ />
|
|
|
+ <el-button type="primary" @click="pullTaskData(1)">搜索</el-button>
|
|
|
+ <el-button type="primary" @click="reset(), pullTaskData(1)">重置</el-button>
|
|
|
</div>
|
|
|
</div>
|
|
|
- <div class="row">
|
|
|
- <el-input
|
|
|
- class="searcher"
|
|
|
- v-model="searcher"
|
|
|
- placeholder="请输入任务名称相关关键字"
|
|
|
- />
|
|
|
- <el-button type="primary" @click="pullTaskData(1)">搜索</el-button>
|
|
|
- <el-button type="primary" @click="reset(), pullTaskData(1)">重置</el-button>
|
|
|
+ <div class="lighter-container">
|
|
|
+ <div style="padding-bottom: 10px">查询到{{ taskNum }}条任务</div>
|
|
|
+ <el-table table-layout="fixed" row-key="main_id" :data="taskData" class="table">
|
|
|
+ <el-table-column prop="main_c_name" label="名称" />
|
|
|
+ <el-table-column prop="main_c_user_name" label="用户" />
|
|
|
+ <el-table-column prop="main_c_state" label="类型">
|
|
|
+ <template #default="scope">
|
|
|
+ <el-tag
|
|
|
+ effect="dark"
|
|
|
+ v-show="getType(scope.row.main_c_type) != null"
|
|
|
+ disable-transitions
|
|
|
+ >{{ getType(scope.row.main_c_type)?.name ?? "" }}
|
|
|
+ </el-tag>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column prop="main_c_state" label="状态">
|
|
|
+ <template #default="scope">
|
|
|
+ <el-tag
|
|
|
+ effect="dark"
|
|
|
+ v-show="getStatus(scope.row.main_c_state) != null"
|
|
|
+ :type="statusStaticInfo[scope.row.main_c_state]?.tagType ?? ''"
|
|
|
+ disable-transitions
|
|
|
+ >{{ getStatus(scope.row.main_c_state)?.name ?? "" }}</el-tag
|
|
|
+ >
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column prop="main_c_start_time" label="任务开始时间">
|
|
|
+ <template #default="scope">
|
|
|
+ {{ timeFormatter(scope.row.main_c_start_time) }}
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column prop="main_c_end_time" label="任务结束时间">
|
|
|
+ <template #default="scope">
|
|
|
+ {{ timeFormatter(scope.row.main_c_end_time) }}
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column prop="main_c_file_name" label="结果">
|
|
|
+ <template #default="scope">
|
|
|
+ <span
|
|
|
+ class="link"
|
|
|
+ v-if="scope.row.main_c_file != null && scope.row.main_c_file_name != null"
|
|
|
+ @click="
|
|
|
+ downloadWithBlob(scope.row.main_c_file, scope.row.main_c_file_name)
|
|
|
+ "
|
|
|
+ >
|
|
|
+ {{ scope.row.main_c_file_name }}
|
|
|
+ </span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="操作" width="420">
|
|
|
+ <template #default="scope">
|
|
|
+ <el-button
|
|
|
+ type="primary"
|
|
|
+ @click="
|
|
|
+ () => {
|
|
|
+ dialog = true;
|
|
|
+ focusTask = scope.row;
|
|
|
+ }
|
|
|
+ "
|
|
|
+ >
|
|
|
+ 查看详情
|
|
|
+ </el-button>
|
|
|
+ <el-button
|
|
|
+ v-if="scope.row.main_c_state == 0"
|
|
|
+ type="success"
|
|
|
+ @click="runTask(scope.row.main_id)"
|
|
|
+ >
|
|
|
+ 运行
|
|
|
+ </el-button>
|
|
|
+ <template
|
|
|
+ v-if="scope.row.main_c_file != null && scope.row.main_c_file_name != null"
|
|
|
+ >
|
|
|
+ <el-button
|
|
|
+ type="primary"
|
|
|
+ @click="
|
|
|
+ downloadWithBlob(scope.row.main_c_file, scope.row.main_c_file_name)
|
|
|
+ "
|
|
|
+ >
|
|
|
+ 下载结果
|
|
|
+ </el-button>
|
|
|
+ <el-button type="primary" @click="preView(scope.row.main_c_file)">
|
|
|
+ 预览结果
|
|
|
+ </el-button>
|
|
|
+ </template>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ </el-table>
|
|
|
+ <div class="between-row pagination-container">
|
|
|
+ <div><!--empty div--></div>
|
|
|
+ <el-pagination
|
|
|
+ layout="prev, pager, next"
|
|
|
+ :total="taskNum"
|
|
|
+ @change="(page) => pullTaskData(page)"
|
|
|
+ />
|
|
|
+ </div>
|
|
|
</div>
|
|
|
- </div>
|
|
|
- <div class="lighter-container">
|
|
|
- <div class="task-count">查询到{{ taskNum }}条任务</div>
|
|
|
- <el-table
|
|
|
- table-layout="fixed"
|
|
|
- row-key="main_id"
|
|
|
- :data="taskData"
|
|
|
- class="table"
|
|
|
- :height="tableHeight"
|
|
|
- >
|
|
|
- <el-table-column prop="main_c_name" label="名称" />
|
|
|
- <el-table-column prop="main_c_user_name" label="用户" />
|
|
|
- <el-table-column prop="main_c_state" label="类型">
|
|
|
- <template #default="scope">
|
|
|
+ <el-dialog v-model="dialog" :show-close="true" width="750">
|
|
|
+ <template #header>
|
|
|
+ <div class="my-header">
|
|
|
+ <span class="second-title">{{ focusTask.main_c_name }}</span>
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ <el-descriptions class="margin-top" label-width="128" :column="1" border>
|
|
|
+ <el-descriptions-item label="任务名称">
|
|
|
+ {{ focusTask.main_c_name }}
|
|
|
+ </el-descriptions-item>
|
|
|
+ <el-descriptions-item label="任务描述">
|
|
|
+ {{ focusTask.main_c_comment }}
|
|
|
+ </el-descriptions-item>
|
|
|
+ <el-descriptions-item label="任务类型">
|
|
|
<el-tag
|
|
|
effect="dark"
|
|
|
- v-show="getType(scope.row.main_c_type) != null"
|
|
|
+ v-show="getType(focusTask.main_c_type) != null"
|
|
|
disable-transitions
|
|
|
- >{{ getType(scope.row.main_c_type)?.name ?? "" }}
|
|
|
+ >{{ getType(focusTask.main_c_type)?.name ?? "" }}
|
|
|
</el-tag>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column prop="main_c_state" label="状态">
|
|
|
- <template #default="scope">
|
|
|
+ </el-descriptions-item>
|
|
|
+ <el-descriptions-item label="用户名">
|
|
|
+ {{ focusTask.main_c_user_name }}
|
|
|
+ </el-descriptions-item>
|
|
|
+ <el-descriptions-item label="用户id">
|
|
|
+ {{ focusTask.main_c_user_id }}
|
|
|
+ </el-descriptions-item>
|
|
|
+ <el-descriptions-item label="状态">
|
|
|
<el-tag
|
|
|
effect="dark"
|
|
|
- v-show="getStatus(scope.row.main_c_state) != null"
|
|
|
- :type="statusStaticInfo[scope.row.main_c_state]?.tagType ?? ''"
|
|
|
+ :type="statusStaticInfo[focusTask.main_c_state]?.tagType ?? ''"
|
|
|
disable-transitions
|
|
|
- >{{ getStatus(scope.row.main_c_state)?.name ?? "" }}</el-tag
|
|
|
- >
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column prop="main_c_start_time" label="任务开始时间">
|
|
|
- <template #default="scope">
|
|
|
- {{ timeFormatter(scope.row.main_c_start_time) }}
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column prop="main_c_end_time" label="任务结束时间">
|
|
|
- <template #default="scope">
|
|
|
- {{ timeFormatter(scope.row.main_c_end_time) }}
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column prop="main_c_file_name" label="结果">
|
|
|
- <template #default="scope">
|
|
|
- <span
|
|
|
- class="link"
|
|
|
- v-if="scope.row.main_c_file != null && scope.row.main_c_file_name != null"
|
|
|
- @click="downloadWithBlob(scope.row.main_c_file, scope.row.main_c_file_name)"
|
|
|
- >
|
|
|
- {{ scope.row.main_c_file_name }}
|
|
|
- </span>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column label="操作" width="420">
|
|
|
- <template #default="scope">
|
|
|
- <el-button
|
|
|
- type="primary"
|
|
|
- @click="
|
|
|
- () => {
|
|
|
- dialog = true;
|
|
|
- focusTask = scope.row;
|
|
|
- }
|
|
|
- "
|
|
|
- >
|
|
|
- 查看详情
|
|
|
- </el-button>
|
|
|
- <el-button
|
|
|
- v-if="scope.row.main_c_state == 0"
|
|
|
- type="success"
|
|
|
- @click="runTask(scope.row.main_id)"
|
|
|
- >
|
|
|
- 运行
|
|
|
- </el-button>
|
|
|
+ >{{ getStatus(focusTask.main_c_state)?.name ?? "" }}
|
|
|
+ </el-tag>
|
|
|
+ </el-descriptions-item>
|
|
|
+ <el-descriptions-item label="任务开始时间">
|
|
|
+ {{ timeFormatter(focusTask.main_c_start_time) }}
|
|
|
+ </el-descriptions-item>
|
|
|
+ <el-descriptions-item label="任务结束时间">
|
|
|
+ {{ timeFormatter(focusTask.main_c_end_time) }}
|
|
|
+ </el-descriptions-item>
|
|
|
+ <el-descriptions-item label="结果文件">
|
|
|
+ {{ focusTask.main_c_file_name }}
|
|
|
+
|
|
|
<template
|
|
|
- v-if="scope.row.main_c_file != null && scope.row.main_c_file_name != null"
|
|
|
+ v-if="focusTask.main_c_file != null && focusTask.main_c_file_name != null"
|
|
|
>
|
|
|
<el-button
|
|
|
type="primary"
|
|
|
+ size="small"
|
|
|
@click="
|
|
|
- downloadWithBlob(scope.row.main_c_file, scope.row.main_c_file_name)
|
|
|
+ downloadWithBlob(focusTask.main_c_file, focusTask.main_c_file_name)
|
|
|
"
|
|
|
>
|
|
|
下载结果
|
|
|
</el-button>
|
|
|
- <el-button type="primary" @click="preView(scope.row.main_c_file)">
|
|
|
+ <el-button
|
|
|
+ type="primary"
|
|
|
+ size="small"
|
|
|
+ @click="preView(focusTask.main_c_file)"
|
|
|
+ >
|
|
|
预览结果
|
|
|
</el-button>
|
|
|
</template>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- </el-table>
|
|
|
- <div class="between-row pagination-container">
|
|
|
- <div><!--empty div--></div>
|
|
|
- <el-pagination
|
|
|
- layout="prev, pager, next"
|
|
|
- :total="taskNum"
|
|
|
- @change="(page) => pullTaskData(page)"
|
|
|
- />
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <el-dialog v-model="dialog" :show-close="true" width="750">
|
|
|
- <template #header>
|
|
|
- <div class="my-header">
|
|
|
- <span class="second-title">{{ focusTask.main_c_name }}</span>
|
|
|
- </div>
|
|
|
- </template>
|
|
|
- <el-descriptions class="margin-top" label-width="128" :column="1" border>
|
|
|
- <el-descriptions-item label="任务名称">
|
|
|
- {{ focusTask.main_c_name }}
|
|
|
- </el-descriptions-item>
|
|
|
- <el-descriptions-item label="任务描述">
|
|
|
- {{ focusTask.main_c_comment }}
|
|
|
- </el-descriptions-item>
|
|
|
- <el-descriptions-item label="任务类型">
|
|
|
- <el-tag
|
|
|
- effect="dark"
|
|
|
- v-show="getType(focusTask.main_c_type) != null"
|
|
|
- disable-transitions
|
|
|
- >{{ getType(focusTask.main_c_type)?.name ?? "" }}
|
|
|
- </el-tag>
|
|
|
- </el-descriptions-item>
|
|
|
- <el-descriptions-item label="用户名">
|
|
|
- {{ focusTask.main_c_user_name }}
|
|
|
- </el-descriptions-item>
|
|
|
- <el-descriptions-item label="用户id">
|
|
|
- {{ focusTask.main_c_user_id }}
|
|
|
- </el-descriptions-item>
|
|
|
- <el-descriptions-item label="状态">
|
|
|
- <el-tag
|
|
|
- effect="dark"
|
|
|
- :type="statusStaticInfo[focusTask.main_c_state]?.tagType ?? ''"
|
|
|
- disable-transitions
|
|
|
- >{{ getStatus(focusTask.main_c_state)?.name ?? "" }}
|
|
|
- </el-tag>
|
|
|
- </el-descriptions-item>
|
|
|
- <el-descriptions-item label="任务开始时间">
|
|
|
- {{ timeFormatter(focusTask.main_c_start_time) }}
|
|
|
- </el-descriptions-item>
|
|
|
- <el-descriptions-item label="任务结束时间">
|
|
|
- {{ timeFormatter(focusTask.main_c_end_time) }}
|
|
|
- </el-descriptions-item>
|
|
|
- <el-descriptions-item label="结果文件">
|
|
|
- {{ focusTask.main_c_file_name }}
|
|
|
-
|
|
|
- <template
|
|
|
- v-if="focusTask.main_c_file != null && focusTask.main_c_file_name != null"
|
|
|
- >
|
|
|
- <el-button
|
|
|
- type="primary"
|
|
|
- size="small"
|
|
|
- @click="downloadWithBlob(focusTask.main_c_file, focusTask.main_c_file_name)"
|
|
|
- >
|
|
|
- 下载结果
|
|
|
- </el-button>
|
|
|
- <el-button
|
|
|
- type="primary"
|
|
|
- size="small"
|
|
|
- @click="preView(focusTask.main_c_file)"
|
|
|
+ </el-descriptions-item>
|
|
|
+ <el-descriptions-item label="原始数据">
|
|
|
+ <template
|
|
|
+ v-if="
|
|
|
+ focusTask.main_c_source_file_name != null &&
|
|
|
+ focusTask.main_c_source_file != null
|
|
|
+ "
|
|
|
>
|
|
|
- 预览结果
|
|
|
- </el-button>
|
|
|
- </template>
|
|
|
- </el-descriptions-item>
|
|
|
- <el-descriptions-item label="原始数据">
|
|
|
- <template
|
|
|
- v-if="
|
|
|
- focusTask.main_c_source_file_name != null &&
|
|
|
- focusTask.main_c_source_file != null
|
|
|
- "
|
|
|
- >
|
|
|
- {{ focusTask.main_c_source_file_name }}
|
|
|
- <br />
|
|
|
- </template>
|
|
|
- <template v-if="focusTask.main_c_source_data != null">
|
|
|
- <div class="hide-scrollbar long-text">
|
|
|
- {{ truncateText(focusTask.main_c_source_data, 10000) }}
|
|
|
- </div>
|
|
|
- </template>
|
|
|
- </el-descriptions-item>
|
|
|
- </el-descriptions>
|
|
|
- </el-dialog>
|
|
|
- </div>
|
|
|
+ {{ focusTask.main_c_source_file_name }}
|
|
|
+ <br />
|
|
|
+ </template>
|
|
|
+ <template v-if="focusTask.main_c_source_data != null">
|
|
|
+ <div class="hide-scrollbar long-text">
|
|
|
+ {{ truncateText(focusTask.main_c_source_data, 10000) }}
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ </el-descriptions-item>
|
|
|
+ </el-descriptions>
|
|
|
+ </el-dialog>
|
|
|
+ </div>
|
|
|
+ </el-affix>
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
@@ -541,7 +548,8 @@ link {
|
|
|
margin-left: 0;
|
|
|
padding-left: 90px;
|
|
|
padding-right: 90px;
|
|
|
- min-height: 80vh;
|
|
|
+ // min-height: 80vh
|
|
|
+ height: 100vh;
|
|
|
}
|
|
|
|
|
|
.darkblue-background {
|
|
|
@@ -554,8 +562,7 @@ link {
|
|
|
|
|
|
.blue-background,
|
|
|
body {
|
|
|
- background: #0f3460;
|
|
|
- overflow: hidden;
|
|
|
+ background: #08224a;
|
|
|
}
|
|
|
|
|
|
.bluedark-background {
|
|
|
@@ -570,10 +577,10 @@ body {
|
|
|
|
|
|
.lighter-container {
|
|
|
background-color: #eeeeee0b;
|
|
|
- padding: 10px;
|
|
|
+ padding: 20px;
|
|
|
margin: 15px;
|
|
|
vertical-align: middle;
|
|
|
- border-radius: 3%;
|
|
|
+ border-radius: 10px;
|
|
|
}
|
|
|
|
|
|
.task-count {
|
|
|
@@ -587,7 +594,7 @@ body {
|
|
|
|
|
|
.lightblue-container {
|
|
|
border-radius: 3%;
|
|
|
- padding: 10px;
|
|
|
+ padding: 20px;
|
|
|
margin: 15px;
|
|
|
background: linear-gradient(to bottom, #215476 0%, #28638b 66%, #337aac 100%);
|
|
|
font-size: 20px;
|