问题列表修改

This commit is contained in:
pengjunchao 2026-07-15 19:06:41 +08:00
parent 0824476574
commit 582c9ff550
10 changed files with 163 additions and 58 deletions

View File

@ -116,6 +116,10 @@ body {
line-height: 1; line-height: 1;
} }
html, body {
height: 100%;
}
ol, ol,
ul { ul {
list-style: none; list-style: none;

View File

@ -211,7 +211,7 @@
"dataSourceAddress": "数据源地址", "dataSourceAddress": "数据源地址",
"DBLink": "DBLink", "DBLink": "DBLink",
"detail": "详情", "detail": "详情",
"singleTableBatchFetchCount": "单表批次获取数", "singleTableBatchFetchCount": "单表批次同步数量",
"cronExpression": "cron表达式", "cronExpression": "cron表达式",
"sourceDatabase": "源数据库", "sourceDatabase": "源数据库",
"targetDatabase": "目标数据库", "targetDatabase": "目标数据库",
@ -238,7 +238,7 @@
"isCancel": "取消", "isCancel": "取消",
"totalMemory": "总内存", "totalMemory": "总内存",
"deadlock": "死锁统计", "deadlock": "死锁统计",
"syncDay": "同步条数", "syncDay": "单表批次同步天数",
"test": "测试", "test": "测试",
"field": "字段", "field": "字段",
"targetUserName": "目标用户名", "targetUserName": "目标用户名",
@ -271,6 +271,8 @@
"timeBatch": "批次", "timeBatch": "批次",
"checkTheMonitoringData": "查看监测数据", "checkTheMonitoringData": "查看监测数据",
"monitoringData": "监测数据", "monitoringData": "监测数据",
"ImportMonitoringData": "导入监测数据" "ImportMonitoringData": "导入监测数据",
"pinToTop": "置顶",
"unpin": "取消置顶"
} }

View File

@ -64,7 +64,7 @@ const configDataValues = ref<string[]>([]);
// //
function initGraph() { function initGraph() {
// ID graph-container // ID graph-container
graph.value = new X6Graph('graphContainer').init(); graph.value = new X6Graph('graphContainer').init({ grid: false, zoom: true });
// 1. // 1.
const root = graph.value.addRootNode({ const root = graph.value.addRootNode({
@ -396,30 +396,30 @@ function handleCancel() {
<ElOption v-for="(item, index) in modeList" :key="index" :label="item.label" :value="item.value" /> <ElOption v-for="(item, index) in modeList" :key="index" :label="item.label" :value="item.value" />
</ElSelect> </ElSelect>
</ElFormItem> </ElFormItem>
<ElFormItem label="手动输入模式"> <ElFormItem label="手动输入模式" v-show="!formData.mode || !formData.mode.length">
<div style="display: flex; align-items: center;"> <div style="display: flex; align-items: center;">
<ElInput v-model="manualModeInput" style="width: 160px" placeholder="输入模式名" @keyup.enter="handleAddMode" /> <ElInput v-model="manualModeInput" style="width: 160px" placeholder="输入模式名" @keyup.enter="handleAddMode" />
<ElButton type="primary" style="margin-left: 8px;" @click="handleAddMode"> <ElButton type="primary" style="margin-left: 4px; height: 34px; border-radius: 4px;" @click="handleAddMode">
添加 添加
</ElButton> </ElButton>
</div> </div>
</ElFormItem> </ElFormItem>
<ElFormItem :label="t('dataTable')"> <ElFormItem :label="t('dataTable')">
<ElSelect ref="level3" v-model="formData.dataValue" style="width: 220px" multiple :max-collapse-tags="0" <ElSelect ref="level3" v-model="formData.dataValue" style="width: 220px" multiple :max-collapse-tags="0"
collapse-tags collapse-tags-tooltip :placeholder="t('pleaseSelect')" class="custom-select" collapse-tags collapse-tags-tooltip filterable :placeholder="t('pleaseSelect')" class="custom-select"
@change="handleDataListChange"> @change="handleDataListChange">
<ElOption v-for="(item, index) in dataList" :key="index" :label="item.label" :value="item.value" /> <ElOption v-for="(item, index) in dataList" :key="index" :label="item.label" :value="item.value" />
</ElSelect> </ElSelect>
</ElFormItem> </ElFormItem>
<ElFormItem :label="t('field')"> <ElFormItem :label="t('field')">
<ElSelect ref="level4" v-model="formData.field" style="width: 220px" :placeholder="t('pleaseSelect')" <ElSelect ref="level4" v-model="formData.field" style="width: 220px" filterable :placeholder="t('pleaseSelect')"
class="custom-select" @change="handleFieldListChange"> class="custom-select" @change="handleFieldListChange">
<ElOption v-for="(item, index) in fieldList" :key="index" :label="item.label" :value="item.value" <ElOption v-for="(item, index) in fieldList" :key="index" :label="item.label" :value="item.value"
:disabled="formData.dataValue.length === 0" /> :disabled="formData.dataValue.length === 0" />
</ElSelect> </ElSelect>
</ElFormItem> </ElFormItem>
<ElFormItem :label="t('targetUserName')"> <ElFormItem :label="t('targetUserName')">
<ElSelect v-model="formData.targetUserName" style="width: 220px" :placeholder="t('pleaseSelect')" <ElSelect v-model="formData.targetUserName" style="width: 220px" filterable :placeholder="t('pleaseSelect')"
class="custom-select"> class="custom-select">
<ElOption v-for="(item, index) in targetUserNameList" :key="index" :label="item.label" :value="item.value" /> <ElOption v-for="(item, index) in targetUserNameList" :key="index" :label="item.label" :value="item.value" />
</ElSelect> </ElSelect>

View File

@ -237,7 +237,7 @@ getSelectList();
<Dialog v-model="logVisible" :title="t('operationLog')" width="56vw" class="child-custom"> <Dialog v-model="logVisible" :title="t('operationLog')" width="56vw" class="child-custom">
<log :data="form" /> <log :data="form" />
</Dialog> </Dialog>
<Dialog v-model="dataTableVisible" :title="t('dataTable')" width="80vw" class="child-custom"> <Dialog v-model="dataTableVisible" :title="t('dataTable')" :z-index="1000" width="80vw" class="child-custom">
<dataTable :data="mindMap" @cancel="dataTableVisible = false" /> <dataTable :data="mindMap" @cancel="dataTableVisible = false" />
</Dialog> </Dialog>

View File

@ -15,7 +15,7 @@
<div class="log" > <div class="log" >
<ElTable ref="multipleTableRef" :data="props.data" width="100%" max-height="580px" class="custom-table"> <ElTable ref="multipleTableRef" :data="props.data" width="100%" max-height="580px" class="custom-table">
<!-- <ElTableColumn type="selection" width="55" /> --> <!-- <ElTableColumn type="selection" width="55" /> -->
<ElTableColumn prop="startTime" :label="t('creationTime')" /> <ElTableColumn prop="startTime" :label="t('creationTime')" width="200px" />
<ElTableColumn prop="description" :label="t('description')" /> <ElTableColumn prop="description" :label="t('description')" />

View File

@ -58,11 +58,11 @@ function refresh() {
function showLog(task) { function showLog(task) {
console.log('显示运行日志'); console.log('显示运行日志');
getDetailList({ getDetailList({
pageSize: 380, // pageSize: 380,
pageNum: 1, // pageNum: 1,
recordId: task.id, recordId: task.id,
}, (res) => { }, (res) => {
logData.value = res.records; logData.value = res;
logVisible.value = true; logVisible.value = true;
}); });
} }

View File

@ -1,7 +1,7 @@
<script setup lang="ts"> <script setup lang="ts">
import type { SvgMarkerOptions } from '@/gis/ol/olTarget.ts'; import type { SvgMarkerOptions } from '@/gis/ol/olTarget.ts';
import dayjs from 'dayjs'; import dayjs from 'dayjs';
import { ElMessage, ElMessageBox, ElNotification } from 'element-plus'; import {ElButton, ElMessage, ElMessageBox, ElNotification, ElOption} from 'element-plus';
import { useI18n } from 'vue-i18n'; import { useI18n } from 'vue-i18n';
import targetIconA from '@/assets/icon/targetIconA.svg'; import targetIconA from '@/assets/icon/targetIconA.svg';
import targetIconB from '@/assets/icon/targetIconB.svg'; import targetIconB from '@/assets/icon/targetIconB.svg';
@ -9,7 +9,7 @@ import targetIconB from '@/assets/icon/targetIconB.svg';
import { setAnimationTime, setMultiplier } from '@/gis/ol/olClock'; import { setAnimationTime, setMultiplier } from '@/gis/ol/olClock';
import { classInstances } from '@/gis/ol/olHandleEntry'; import { classInstances } from '@/gis/ol/olHandleEntry';
import { sendPlaybackPostMassage } from '@/gis/worker/playbackWorkerMa'; import { sendPlaybackPostMassage } from '@/gis/worker/playbackWorkerMa';
import { add, deleteData, edit, getAllNuclearfacility, getAllStations,getReleaseDataByForwardId,saveSiteAndReleaseData,delSiteAndReleaseData, getById, getData, getTaskLog, resume, exportTemplate, importFile } from '@/utils/axios/symn'; import { add, deleteData, edit, getAllNuclearfacility, getAllStations,getReleaseDataByForwardId,saveSiteAndReleaseData,delSiteAndReleaseData, getById, getData, getTaskLog, resume, exportTemplate, importFile, pinToTopOrUnpin } from '@/utils/axios/symn';
import fhdfx from './compliance/index.vue'; import fhdfx from './compliance/index.vue';
import gxfx from './contribution/index.vue'; import gxfx from './contribution/index.vue';
import log from './log/index.vue'; import log from './log/index.vue';
@ -142,6 +142,20 @@ const taskList = ref<any[]>([
]); ]);
interface OptionItem {
label: string;
value: number;
}
const taskStatusList = ref<OptionItem[]>([
// -101234
{ label: '执行失败', value: -1 },
{ label: '未开始', value: 0 },
{ label: '等待中', value: 1 },
{ label: '运行中', value: 2 },
{ label: '已完成', value: 3 },
{ label: '任务检查未通过', value: 4 },
]);
function handleClose() { function handleClose() {
dialogVisible.value = false; dialogVisible.value = false;
} }
@ -240,6 +254,15 @@ function addChild3() {
function clearChild() { function clearChild() {
childList.splice(0); childList.splice(0);
} }
//
const pinToTopTask = (row: any) => {
pinToTopOrUnpin({ id: row.id }, (res) => {
if (res.code === 200) {
ElMessage.success('操作成功!');
getList();
}
});
};
function viewTask(task: any) { function viewTask(task: any) {
console.log('查看任务:', task); console.log('查看任务:', task);
handleClose(); handleClose();
@ -352,7 +375,7 @@ function saveConfigForm(formEl: FormInstance | undefined) {
} }
editValue.forwardChild = nuclearfacilityChild; editValue.forwardChild = nuclearfacilityChild;
}else{ }else{
editValue.backwardChild = childList; editValue.backwardChild = childList.map(({ id, ...rest }) => rest);
} }
edit(editValue, () => { edit(editValue, () => {
ElNotification({ ElNotification({
@ -444,6 +467,12 @@ function editTask(task: any, $index?: any) {
lastSelectedKeys.value = new Set(arr); lastSelectedKeys.value = new Set(arr);
} }
configForm.value.z1 = res.z1;
configForm.value.z2 = res.z2;
configForm.value.particleCount = res.particleCount;
configForm.value.startTime = res.startTime;
configForm.value.endTime = res.endTime;
configForm.value.releaseDataSource = res.releaseDataSource;
}); });
configForm.value = { configForm.value = {
@ -928,8 +957,10 @@ getStations();
<el-form-item :label="t('taskStatus')"> <el-form-item :label="t('taskStatus')">
<el-input v-if="form.taskStatus === -1" value="执行失败" /> <el-input v-if="form.taskStatus === -1" value="执行失败" />
<el-input v-if="form.taskStatus === 0" value="未开始" /> <el-input v-if="form.taskStatus === 0" value="未开始" />
<el-input v-if="form.taskStatus === 1" value="运行中" /> <el-input v-if="form.taskStatus === 1" value="等待中" />
<el-input v-if="form.taskStatus === 2" value="已完成" /> <el-input v-if="form.taskStatus === 2" value="运行中" />
<el-input v-if="form.taskStatus === 3" value="已完成" />
<el-input v-if="form.taskStatus === 4" value="任务检查未通过" />
</el-form-item> </el-form-item>
<el-form-item :label="t('dataSource')"> <el-form-item :label="t('dataSource')">
<el-input v-if="form.useMetType === 1" value="盘古模型" /> <el-input v-if="form.useMetType === 1" value="盘古模型" />
@ -1074,10 +1105,7 @@ getStations();
</ElFormItem> </ElFormItem>
<ElFormItem :label="t('taskStatus')"> <ElFormItem :label="t('taskStatus')">
<ElSelect v-model="searchForm.taskStatus" clearable :placeholder="t('pleaseSelect')" class="custom-select"> <ElSelect v-model="searchForm.taskStatus" clearable :placeholder="t('pleaseSelect')" class="custom-select">
<ElOption label="执行失败" :value="-1" /> <ElOption v-for="item in taskStatusList" :key="item.value" :label="item.label" :value="item.value" />
<ElOption label="未开始" :value="0" />
<ElOption label="运行中" :value="1" />
<ElOption label="已完成" :value="2" />
</ElSelect> </ElSelect>
</ElFormItem> </ElFormItem>
<ElFormItem :label="t('dataSource')"> <ElFormItem :label="t('dataSource')">
@ -1123,18 +1151,12 @@ getStations();
<!-- </ElTableColumn> --> <!-- </ElTableColumn> -->
<ElTableColumn :label="t('taskStatus')"> <ElTableColumn :label="t('taskStatus')">
<template #default="scope"> <template #default="scope">
<div v-if="scope.row.taskStatus === -1" style="color:red;"> <div v-if="scope.row.taskStatus === -1" style="color:#f42a2a;">执行失败</div>
执行失败 <div v-if="scope.row.taskStatus === 0" style="color:#f42a2a;">未开始</div>
</div> <div v-if="scope.row.taskStatus === 1" style="color:#ffcb40;">等待中</div>
<div v-if="scope.row.taskStatus === 0" style="color:#F1C13D;"> <div v-if="scope.row.taskStatus === 2" style="color:#ffcb40;">运行中</div>
未开始 <div v-if="scope.row.taskStatus === 3" style="color:#2af442;">已完成</div>
</div> <div v-if="scope.row.taskStatus === 4" style="color:#f42a2a;">任务检查未通过</div>
<div v-if="scope.row.taskStatus === 1" style="color:#22CE3D;">
运行中
</div>
<div v-if="scope.row.taskStatus === 2" style="color:#01E3C6;">
已完成
</div>
</template> </template>
</ElTableColumn> </ElTableColumn>
<ElTableColumn :label="t('dataSource')"> <ElTableColumn :label="t('dataSource')">
@ -1165,21 +1187,31 @@ getStations();
<div>{{scope.row.timeConsuming}}分钟</div> <div>{{scope.row.timeConsuming}}分钟</div>
</template> </template>
</ElTableColumn> </ElTableColumn>
<ElTableColumn prop="createBy" :label="t('creator')" /> <!--<ElTableColumn prop="createBy" :label="t('creator')" />-->
<ElTableColumn prop="createTime" :label="t('creationTime')" /> <ElTableColumn prop="createTime" :label="t('creationTime')" />
<ElTableColumn :label="t('operation')" width="330"> <ElTableColumn :label="t('operation')" width="330">
<template #default="scope"> <template #default="scope">
<ElButton v-if="scope.row.taskStatus === 1" type="text" class="table-btn" @click="pinToTopTask(scope)">
{{ true ? t('pinToTop') : t('unpin') }}
</ElButton>
<ElButton v-else type="text" style="color:#588589;cursor:no-drop">
{{ true ? t('pinToTop') : t('unpin') }}
</ElButton>
<!-- -1执行失败0未开始1等待中2运行中3已完成4任务检查未通过-->
<!--任务处于等待中运行中状态时不能编辑和删除处于未开始已完成检查未通过时可以删除处于已完成状态时也不能编辑-->
<ElButton type="text" class="custom-text-btn" @click="viewTask(scope.row)"> <ElButton type="text" class="custom-text-btn" @click="viewTask(scope.row)">
{{ t('view') }} {{ t('view') }}
</ElButton> </ElButton>
<ElButton v-if="scope.row.taskStatus === 1 || scope.row.taskStatus === 2" type="text" <ElButton v-if="scope.row.taskStatus !== 1 && scope.row.taskStatus !== 2 && scope.row.taskStatus !== 3" type="text" class="custom-text-btn" @click="editTask(scope.row, scope.$index)">
style="color:#588589;cursor:no-drop">
{{ t('edit') }} {{ t('edit') }}
</ElButton> </ElButton>
<ElButton v-else type="text" class="custom-text-btn" @click="editTask(scope.row, scope.$index)"> <ElButton v-else type="text" style="color:#588589;cursor:no-drop">
{{ t('edit') }} {{ t('edit') }}
</ElButton> </ElButton>
<ElButton type="text" class="custom-text-btn" @click="deleteTask(scope.row)"> <ElButton v-if="scope.row.taskStatus == 0 || scope.row.taskStatus === 3 || scope.row.taskStatus === 4" type="text" class="custom-text-btn" @click="deleteTask(scope.row)">
{{ t('delete') }}
</ElButton>
<ElButton v-else type="text" style="color:#588589;cursor:no-drop">
{{ t('delete') }} {{ t('delete') }}
</ElButton> </ElButton>
<ElButton type="text" class="custom-text-btn" @click="showLog(scope.row.id)"> <ElButton type="text" class="custom-text-btn" @click="showLog(scope.row.id)">

View File

@ -5,7 +5,7 @@ import { ElButton, ElCol, ElDatePicker, ElForm, ElFormItem, ElInput, ElLoading,
import { useI18n } from 'vue-i18n'; import { useI18n } from 'vue-i18n';
import Table from '@/components/Table/index.vue'; import Table from '@/components/Table/index.vue';
import { activeMoudleInf } from '@/gis/ol/index'; import { activeMoudleInf } from '@/gis/ol/index';
import { createTask, deleteTask as deleteData, exportAcTimeSeriesTxt, exportBayesProbLocTxt, exportBivariateTxt, exportTemplate, exportUnivariateTxt, getBayesProbLoc, getById, getIdDetail, getPage, getTaskLog, importTask, runTask, updateTask } from '@/utils/axios/yxcj'; import { createTask, deleteTask as deleteData, exportAcTimeSeriesTxt, exportBayesProbLocTxt, exportBivariateTxt, exportTemplate, exportUnivariateTxt, getBayesProbLoc, getById, getIdDetail, getPage, getTaskLog, importTask, runTask, updateTask, pinToTopOrUnpin } from '@/utils/axios/yxcj';
import { transformLogData } from '@/utils/index'; import { transformLogData } from '@/utils/index';
import { exportCharts } from '@/utils/index'; // import { exportCharts } from '@/utils/index'; //
import scatter from './dbvarScatter/index.vue'; import scatter from './dbvarScatter/index.vue';
@ -123,9 +123,13 @@ interface OptionItem {
} }
const taskStatusList = ref<OptionItem[]>([ const taskStatusList = ref<OptionItem[]>([
// -101234
{ label: '执行失败', value: -1 },
{ label: '未开始', value: 0 }, { label: '未开始', value: 0 },
{ label: '进行中', value: 1 }, { label: '等待中', value: 1 },
{ label: '已完成', value: 2 }, { label: '运行中', value: 2 },
{ label: '已完成', value: 3 },
{ label: '任务检查未通过', value: 4 },
]); ]);
const releaseTypeList = ref<OptionItem[]>([ const releaseTypeList = ref<OptionItem[]>([
{ label: '持续释放', value: 1 }, { label: '持续释放', value: 1 },
@ -168,7 +172,7 @@ interface QueryFormData {
} }
const queryForm = ref<QueryFormData>({ const queryForm = ref<QueryFormData>({
taskName: '', taskName: '',
taskStatus: 0, taskStatus: null,
// releaseType: '', // releaseType: '',
startDate: '', startDate: '',
endDate: '', endDate: '',
@ -248,7 +252,7 @@ function viewTask(row: any): void {
curRow.value = row; curRow.value = row;
getData(row.id); getData(row.id);
// getDetail(row.id); // getDetail(row.id);
getLog(row); // getLog(row);
getBayesProbLoc({ taskId: row.id }).then((respon: any) => { getBayesProbLoc({ taskId: row.id }).then((respon: any) => {
console.log(respon, '概率分布书局'); console.log(respon, '概率分布书局');
@ -266,12 +270,12 @@ function listUpload() {
const columns = ref<TableColumn[]>([ const columns = ref<TableColumn[]>([
{ prop: 'taskName', label: '任务名称', type: 'text' }, // width: 180 { prop: 'taskName', label: '任务名称', type: 'text' }, // width: 180
{ prop: 'taskStatus', label: '任务状态', type: 'select', colorArr: ['#f42a2a', '#ffcb40', '#2af442'], width: 90 }, { prop: 'taskStatus', label: '任务状态', type: 'select', colorArr: ['#f42a2a', '#f42a2a', '#ffcb40', '#ffcb40', '#2af442', '#f42a2a'], width: 90 },
{ prop: 'releaseType', label: '释放类型', type: 'select', width: 90 }, { prop: 'releaseType', label: '释放类型', type: 'select', width: 90 },
{ prop: 'releaseSourceLocation', label: '释放源位置', type: 'select', width: 100 }, { prop: 'releaseSourceLocation', label: '释放源位置', type: 'select', width: 100 },
{ prop: 'timeRange', label: '数据时间范围', type: 'text', width: 200 }, { prop: 'timeRange', label: '数据时间范围', type: 'text', width: 200 },
{ prop: 'time', label: '耗时', type: 'text', width: 60 }, { prop: 'time', label: '耗时', type: 'text', width: 60 },
{ prop: 'creator', label: '创建人', type: 'text' }, // { prop: 'creator', label: '', type: 'text' },
{ prop: 'createTime', label: '创建时间', type: 'text', width: 180 }, // width: 200 { prop: 'createTime', label: '创建时间', type: 'text', width: 180 }, // width: 200
]); ]);
@ -351,7 +355,9 @@ async function submitTask() {
} }
else { else {
detailForm.value.taskStatus = null; detailForm.value.taskStatus = null;
updateTask({ ...detailForm.value }, (res) => { const obj = JSON.parse(JSON.stringify(detailForm.value)); //
delete obj.timeConsuming;
updateTask(obj, (res) => {
if (res.code === 200) { if (res.code === 200) {
ElMessage.success('修改成功'); ElMessage.success('修改成功');
addVisible.value = false; addVisible.value = false;
@ -433,6 +439,15 @@ function getData(id: string) {
form.value = res.result; form.value = res.result;
}); });
} }
//
const pinToTopTask = (row: any) => {
pinToTopOrUnpin({ id: row.id }, (res) => {
if (res.code === 200) {
ElMessage.success('操作成功!');
getList();
}
});
};
// //
function runTaskId(row: any) { function runTaskId(row: any) {
// form.value = row; // form.value = row;
@ -743,13 +758,13 @@ onMounted(() => {
<ElFormItem :label="t('releaseStartTime')"> <ElFormItem :label="t('releaseStartTime')">
<ElDatePicker <ElDatePicker
v-model="detailForm.releaseStartTime" type="datetime" style="width:100%" :placeholder="t('selectDateTime')" v-model="detailForm.releaseStartTime" type="datetime" style="width:100%" :placeholder="t('selectDateTime')"
value-format="YYYY-MM-DD" value-format="YYYY-MM-DD HH:mm:ss"
/> />
</ElFormItem> </ElFormItem>
<ElFormItem :label="t('releaseEndTime')"> <ElFormItem :label="t('releaseEndTime')">
<ElDatePicker <ElDatePicker
v-model="detailForm.releaseEndTime" type="datetime" style="width:100%" :placeholder="t('selectDateTime')" v-model="detailForm.releaseEndTime" type="datetime" style="width:100%" :placeholder="t('selectDateTime')"
value-format="YYYY-MM-DD" value-format="YYYY-MM-DD HH:mm:ss"
/> />
</ElFormItem> </ElFormItem>
</div> </div>
@ -935,36 +950,44 @@ onMounted(() => {
@pagination="handlePagination" @pagination="handlePagination"
> >
<template #operate="{ scope }"> <template #operate="{ scope }">
<ElButton v-if="scope.taskStatus === 0" type="text" class="table-btn" @click="runTaskId(scope)"> <ElButton v-if="scope.row.taskStatus === 1" type="text" class="table-btn" @click="pinToTopTask(scope)">
{{ true ? t('pinToTop') : t('unpin') }}
</ElButton>
<ElButton v-else type="text" style="color:#588589;cursor:no-drop">
{{ true ? t('pinToTop') : t('unpin') }}
</ElButton>
<!-- -1执行失败0未开始1等待中2运行中3已完成4任务检查未通过-->
<!--任务处于等待中运行中状态时不能编辑和删除处于未开始已完成检查未通过时可以删除处于已完成状态时也不能编辑-->
<ElButton v-if="scope.row.taskStatus === 0" type="text" class="table-btn" @click="runTaskId(scope)">
{{ t('start') }} {{ t('start') }}
</ElButton> </ElButton>
<ElButton v-else type="text" style="color:#588589;cursor:no-drop"> <ElButton v-else type="text" style="color:#588589;cursor:no-drop">
{{ t('start') }} {{ t('start') }}
</ElButton> </ElButton>
<ElButton v-if="scope.taskStatus === 2" type="text" class="table-btn" @click="viewTask(scope)"> <ElButton v-if="scope.row.taskStatus === 2" type="text" class="table-btn" @click="viewTask(scope)">
{{ t('view') }} {{ t('view') }}
</ElButton> </ElButton>
<ElButton v-else type="text" style="color:#588589;cursor:no-drop"> <ElButton v-else type="text" style="color:#588589;cursor:no-drop">
{{ t('view') }} {{ t('view') }}
</ElButton> </ElButton>
<ElButton v-if="scope.taskStatus === 0" type="text" class="table-btn" @click="editTask(scope)"> <ElButton v-if="scope.row.taskStatus !== 1 && scope.row.taskStatus !== 2 && scope.row.taskStatus !== 3" type="text" class="table-btn" @click="editTask(scope)">
{{ t('edit') }} {{ t('edit') }}
</ElButton> </ElButton>
<ElButton v-else type="text" style="color:#588589;cursor:no-drop"> <ElButton v-else type="text" style="color:#588589;cursor:no-drop">
{{ t('edit') }} {{ t('edit') }}
</ElButton> </ElButton>
<ElButton v-if="scope.taskStatus !== 1" type="text" class="table-btn" @click="deleteTask(scope)"> <ElButton v-if="scope.row.taskStatus == 0 || scope.row.taskStatus === 3 || scope.row.taskStatus === 4" type="text" class="table-btn" @click="deleteTask(scope)">
{{ t('delete') }} {{ t('delete') }}
</ElButton> </ElButton>
<ElButton v-else type="text" style="color:#588589;cursor:no-drop"> <ElButton v-else type="text" style="color:#588589;cursor:no-drop">
{{ t('delete') }} {{ t('delete') }}
</ElButton> </ElButton>
<ElButton v-if="scope.taskStatus === 0" type="text" class="table-btn" @click="listUpload"> <!--<ElButton v-if="scope.row.taskStatus === 0" type="text" class="table-btn" @click="listUpload">
{{ t('upload') }} {{ t('upload') }}
</ElButton> </ElButton>
<ElButton v-else type="text" style="color:#588589;cursor:no-drop"> <ElButton v-else type="text" style="color:#588589;cursor:no-drop">
{{ t('upload') }} {{ t('upload') }}
</ElButton> </ElButton>-->
<ElButton type="text" class="table-btn" @click="getLog(scope)"> <ElButton type="text" class="table-btn" @click="getLog(scope)">
{{ t('operationLog') }} {{ t('operationLog') }}
</ElButton> </ElButton>
@ -1051,18 +1074,23 @@ onMounted(() => {
<ElFormItem :label="t('releaseStartTime')" prop="releaseStartTime" style="width: 46%;"> <ElFormItem :label="t('releaseStartTime')" prop="releaseStartTime" style="width: 46%;">
<ElDatePicker <ElDatePicker
v-model="detailForm.releaseStartTime" type="datetime" :placeholder="t('selectDateTime')" v-model="detailForm.releaseStartTime" type="datetime" :placeholder="t('selectDateTime')"
value-format="YYYY-MM-DD" value-format="YYYY-MM-DD HH:mm:ss"
/> />
</ElFormItem> </ElFormItem>
<ElFormItem :label="t('releaseEndTime')" prop="releaseEndTime" style="width: 46%;"> <ElFormItem :label="t('releaseEndTime')" prop="releaseEndTime" style="width: 46%;">
<ElDatePicker <ElDatePicker
v-model="detailForm.releaseEndTime" type="datetime" :placeholder="t('selectDateTime')" v-model="detailForm.releaseEndTime" type="datetime" :placeholder="t('selectDateTime')"
value-format="YYYY-MM-DD" value-format="YYYY-MM-DD HH:mm:ss"
/> />
</ElFormItem> </ElFormItem>
<ElFormItem :label="t('sourceStrength')" prop="halflife" style="width: 40%;"> <ElFormItem :label="t('sourceStrength')" prop="halflife" style="width: 40%;">
<ElInput v-model="detailForm.sourceStrength" type="number" :placeholder="t('pleaseEnter')" /> <ElInput v-model="detailForm.sourceStrength" type="number" :placeholder="t('pleaseEnter')" />
</ElFormItem> </ElFormItem>
<ElFormItem :label="t('upload')" style="width: 40%;">
<ElButton type="default" class="custom-btn" @click="listUpload">{{ t('upload') }}</ElButton>
</ElFormItem>
<!-- <ElFormItem label="耗时"> <!-- <ElFormItem label="耗时">
<ElInput v-model="detailForm.time" :placeholder="t('pleaseEnter')" /> <ElInput v-model="detailForm.time" :placeholder="t('pleaseEnter')" />
</ElFormItem> --> </ElFormItem> -->
@ -1375,4 +1403,9 @@ onMounted(() => {
} }
} }
} }
.custom-btn {
background-color: #1397a3;
border-color: #1397a3;
color: #fff;
}
</style> </style>

View File

@ -80,6 +80,23 @@ export async function delSiteAndReleaseData(params: any, callback?: (data: any)
} }
} }
/**
* @method
* @param {string} [params.id] - id
* @returns {Promise<any>}
*/
export async function pinToTopOrUnpin(params: {
id: string;
}, callback?: (data: any) => void): Promise<any> {
const response = await request({
url: `${serverIp}${baseURL}/source/uuuuuuuuuu`,
method: 'GET',
params,
});
// 执行回调(如果存在)
callback?.(response);
}
/** /**
* *
*/ */

View File

@ -210,6 +210,23 @@ export async function deleteTask(params: {
} }
} }
/**
* @method
* @param {string} [params.id] - id
* @returns {Promise<any>}
*/
export async function pinToTopOrUnpin(params: {
id: string;
}, callback?: (data: any) => void): Promise<any> {
const response = await request({
url: `${serverIp}${baseURL}/source/xxxxxxxxx`,
method: 'GET',
params,
});
// 执行回调(如果存在)
callback?.(response);
}
/** /**
* @method * @method
* @param {object} data - * @param {object} data -