文件上传详情.

This commit is contained in:
lijiahang
2024-05-11 10:54:15 +08:00
parent 792ec067ab
commit 049d102792
7 changed files with 53 additions and 17 deletions

View File

@@ -467,7 +467,7 @@ public class UploadTaskServiceImpl implements UploadTaskService {
.code(s.getCode())
.name(s.getName())
.address(s.getAddress())
.files(hostFiles.get(s.getId()))
.files(hostFiles.getOrDefault(s.getId(), Lists.empty()))
.build())
.collect(Collectors.toList());
task.setHosts(hosts);

View File

@@ -86,6 +86,33 @@
const filesRef = ref();
const hostModal = ref();
// 打开日志
const openLog = async (id: number) => {
setLoading(true);
taskId.value = id;
taskStatus.value = UploadTaskStepStatus.WAITING;
try {
// 查询任务
const { data } = await getUploadTask(id);
task.value = data;
selectedHost.value = data.hosts[0].id;
// 设置任务状态
if (data.status === UploadTaskStatus.FINISHED
|| data.status === UploadTaskStatus.CANCELED) {
taskStatus.value = UploadTaskStepStatus.FINISHED;
} else if (data.status === UploadTaskStatus.FAILED) {
taskStatus.value = UploadTaskStepStatus.FAILED;
} else {
taskStatus.value = UploadTaskStepStatus.UPLOADING;
}
} catch (e) {
} finally {
setLoading(false);
}
};
defineExpose({ openLog });
// 设置选中主机
const setSelectedHost = (hosts: Array<number>) => {
formModel.value.hostIdList = hosts;
@@ -196,9 +223,8 @@
}
const taskStatusData = data[0];
// 设置任务状态
if (taskStatusData.status === UploadTaskStatus.FINISHED) {
taskStatus.value = UploadTaskStepStatus.FINISHED;
} else if (taskStatusData.status === UploadTaskStatus.CANCELED) {
if (taskStatusData.status === UploadTaskStatus.FINISHED
|| taskStatusData.status === UploadTaskStatus.CANCELED) {
taskStatus.value = UploadTaskStepStatus.FINISHED;
} else if (taskStatusData.status === UploadTaskStatus.FAILED) {
taskStatus.value = UploadTaskStepStatus.FAILED;

View File

@@ -1,7 +1,7 @@
<template>
<div class="layout-container upload-container">
<!-- 上传面板 -->
<upload-panel />
<upload-panel ref="panel" />
</div>
</template>
@@ -12,17 +12,29 @@
</script>
<script lang="ts" setup>
import { onMounted } from 'vue';
import { ref, onMounted } from 'vue';
import { useDictStore } from '@/store';
import { dictKeys } from './types/const';
import { useRoute } from 'vue-router';
import UploadPanel from './components/upload-panel.vue';
const route = useRoute();
const panel = ref();
// 加载字典值
onMounted(async () => {
const dictStore = useDictStore();
await dictStore.loadKeys(dictKeys);
});
onMounted(async () => {
const idParam = route.query.id;
if (idParam) {
await panel.value?.openLog(Number.parseInt(idParam as string));
}
});
</script>
<style lang="less" scoped>

View File

@@ -36,9 +36,9 @@
};
onMounted(() => {
const isParam = route.query.id;
if (isParam) {
init(Number.parseInt(isParam as string));
const idParam = route.query.id;
if (idParam) {
init(Number.parseInt(idParam as string));
}
});

View File

@@ -140,7 +140,7 @@
<a-button v-permission="['asset:upload-task:query']"
type="text"
size="mini"
@click="emits('openDetail', record.id)">
@click="$router.push({ name: 'batchUpload', query: { id: record.id } })">
详情
</a-button>
<!-- 取消 -->
@@ -192,7 +192,7 @@
import { copy } from '@/hooks/copy';
import UserSelector from '@/components/user/user/selector/index.vue';
const emits = defineEmits(['openClear', 'openDetail']);
const emits = defineEmits(['openClear']);
const pagination = usePagination();
const rowSelection = useRowSelection();

View File

@@ -2,8 +2,7 @@
<div class="layout-container" v-if="render">
<!-- 列表-表格 -->
<upload-task-table ref="table"
@open-clear="(e) => clear.open(e)"
@open-detail="(e) => detail.open(e)" />
@open-clear="(e) => clear.open(e)" />
<!-- 清理模态框 -->
<upload-task-clear-modal ref="clear"
@clear="clearCallback" />
@@ -25,7 +24,6 @@
const render = ref(false);
const table = ref();
const detail = ref();
const clear = ref();
// 清理回调

View File

@@ -36,9 +36,9 @@
};
onMounted(() => {
const isParam = route.query.id;
if (isParam) {
init(Number.parseInt(isParam as string));
const idParam = route.query.id;
if (idParam) {
init(Number.parseInt(idParam as string));
}
});