✨ 文件上传详情.
This commit is contained in:
@@ -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);
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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));
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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();
|
||||
|
||||
// 清理回调
|
||||
|
||||
@@ -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));
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user