|
@@ -1,5 +1,6 @@
|
|
|
<template>
|
|
|
- <el-dialog :title="title" v-model="dialogFormVisible" width="800" @closed="handleClosed">
|
|
|
+ <el-dialog :close-on-click-modal="false" :title="title" v-model="dialogFormVisible" width="800"
|
|
|
+ @closed="handleClosed">
|
|
|
<el-form :model="form" ref="formRef">
|
|
|
<el-form-item label="任务名称" prop="name" :label-width="formLabelWidth" required>
|
|
|
<el-input v-model="form.name" autocomplete="off"></el-input>
|
|
@@ -137,7 +138,6 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
</el-dialog>
|
|
|
-
|
|
|
</template>
|
|
|
|
|
|
<script setup lang="ts">
|
|
@@ -506,22 +506,22 @@ async function calculateFileHash(file: File) {
|
|
|
async function handleImportFiles(filesList: any[]) {
|
|
|
loading.value = true
|
|
|
await Promise.allSettled(filesList.map(async (fileInfo) => {
|
|
|
- const { file_name, minio_url, file_url } = fileInfo;
|
|
|
try {
|
|
|
+ const { file_name, minio_url, file_url } = fileInfo;
|
|
|
const response = await axios.get(file_url, { responseType: 'blob' });
|
|
|
const rawFile = new File([response.data], file_name, { type: response.data.type });
|
|
|
const fileHash = await calculateFileHash(rawFile);
|
|
|
|
|
|
if (importedFileHashes.value.includes(fileHash as string)) {
|
|
|
ElMessage({
|
|
|
- message: `文件“${file_name}”已导入过,不能重复导入`,
|
|
|
+ message: `文件“${file_name}”已导入过或者存在内容相同的文件,不能重复导入`,
|
|
|
type: 'info',
|
|
|
plain: true,
|
|
|
});
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
- const file = rawFile as UploadRawFile;
|
|
|
+ const file: UploadRawFile = rawFile as UploadRawFile;
|
|
|
file.uid = genFileId();
|
|
|
upload.value!.handleStart(file);
|
|
|
importedFileHashes.value.push(fileHash as string);
|