update:实验数据上传打标签和学科

This commit is contained in:
2026-02-12 10:45:11 +08:00
parent 3901ad7343
commit 533bad5baa

View File

@@ -61,11 +61,25 @@
<el-icon><Plus /></el-icon>
</el-upload>
</el-form-item>
<TableForm
ref="tableFormRef2"
:tableName="'TASK_DETAIL_UPLOAD_FILE'"
:itemNum="3"
v-model:data="formData"
/>
<el-form-item label="附件文件" v-if="resultInfo?.id && attachmentFileList?.length">
<div class="file-list">
<div class="file-content" v-for="item in attachmentFileList" :key="item.id">
<div class="file-name" :title="item.originalName">
<el-icon class="icon-style"><Document /></el-icon> {{ item.originalName }}
<img
:src="fileUploadAllocationIconFun(item.originalName)"
width="18"
class="mr5"
alt=""
/>
<span>{{ item.originalName }}</span>
<!-- <el-icon class="icon-style"><Document /></el-icon> {{ item.originalName }} -->
</div>
<div class="file-operate">
<el-icon @click="deleteAttachmentFileFun(item)"><Close /></el-icon>
@@ -74,7 +88,7 @@
</div>
</el-form-item>
<!-- 试验结果上传 -->
<el-form-item label="试验附件" v-if="!resultInfo?.id">
<!-- <el-form-item label="试验附件" v-if="!resultInfo?.id">
<el-upload
v-model:file-list="fileList"
class="upload-demo"
@@ -83,9 +97,10 @@
>
<el-button type="primary">上传附件</el-button>
</el-upload>
</el-form-item>
</el-form-item> -->
<!-- 试验结果编辑 -->
<el-form-item label="试验附件" v-else>
<!-- <el-form-item label="试验附件" v-else>
<el-upload
v-model:file-list="fileList"
class="upload-demo"
@@ -94,7 +109,7 @@
>
<el-button type="primary">上传附件</el-button>
</el-upload>
</el-form-item>
</el-form-item> -->
</el-form>
</div>
<template #footer>
@@ -144,9 +159,10 @@ import { ElMessage, ElMessageBox } from 'element-plus';
import FilePreview from '@/components/common/filePreview/index.vue';
import { getFileBaseInfoApi } from '@/api/data/data';
import Dialog from '@/components/common/dialog/index.vue';
import { downloadFileById, fileUploadAllocationTypeFun, formatFileSize } from '@/utils/file';
import { downloadFileById, fileUploadAllocationIconFun, formatFileSize } from '@/utils/file';
import { useI18n } from 'vue-i18n';
import { updateTaskStatusApi } from '@/api/project/task';
import { FILE_TYPE } from '@/utils/enum/file';
const env = import.meta.env;
@@ -172,6 +188,12 @@ const baseFileTableRef = ref();
const tableParams = ref({
taskId: props.taskInfo.uuid,
});
const formData = ref<any>({
files: [],
fileTypeDictValue: FILE_TYPE.TEST_DOCUMENT_FILE,
disciplineDictValue: '',
});
const uploadImgRef = ref();
const { t } = useI18n();
@@ -250,6 +272,10 @@ const actionList = ref([
}
}
}
formData.value.files = [];
formData.value.fileTypeDictValue = FILE_TYPE.TEST_DOCUMENT_FILE;
formData.value.disciplineDictValue = '';
nextTick(() => {
tableFormRef.value.setFormDataFun(resultInfo.value);
});
@@ -330,6 +356,11 @@ const apiParams = ref([
'addImageInfo',
'deleteFileIds',
'deleteImageId',
'fileTypeDictValue',
'disciplineDictValue',
'fileTypeDictClass',
'disciplineTypeDictClass',
'dictTags',
]);
const submitFun = async () => {
@@ -337,9 +368,20 @@ const submitFun = async () => {
if (valid) {
const fromData = tableFormRef.value.getFormDataFun();
fileList.value = formData.value.files;
const files = fileList.value.concat(imageFileList.value);
const obj: any = cloneDeep(fromData);
obj.fileTypeDictValue = formData.value.fileTypeDictValue || '';
obj.disciplineDictValue = formData.value.disciplineDictValue || '';
obj.fileTypeDictClass = 'ALL_FILE_TYPE';
obj.disciplineTypeDictClass = 'DISCIPLINE_TYPE';
obj.dictTags = [
'fileTypeDictClass',
'fileTypeDictValue',
'disciplineTypeDictClass',
'disciplineDictValue',
];
if (fileList.value.length) {
if (obj?.id) {
@@ -347,7 +389,8 @@ const submitFun = async () => {
return {
fileName: item.name,
fileSize: item.size,
fileType: fileUploadAllocationTypeFun(item.name),
// fileType: fileUploadAllocationTypeFun(item.name),
fileType: formData.value.fileTypeDictValue,
};
});
} else {
@@ -355,7 +398,8 @@ const submitFun = async () => {
return {
fileName: item.name,
fileSize: item.size,
fileType: fileUploadAllocationTypeFun(item.name),
// fileType: fileUploadAllocationTypeFun(item.name),
fileType: formData.value.fileTypeDictValue,
};
});
}
@@ -366,13 +410,15 @@ const submitFun = async () => {
obj.addImageInfo = {
fileName: imageFileList.value[0].name,
fileSize: imageFileList.value[0].size,
fileType: fileUploadAllocationTypeFun(imageFileList.value[0].name),
// fileType: fileUploadAllocationTypeFun(imageFileList.value[0].name),
fileType: formData.value.fileTypeDictValue,
};
} else {
obj.imageFileInfo = {
fileName: imageFileList.value[0].name,
fileSize: imageFileList.value[0].size,
fileType: fileUploadAllocationTypeFun(imageFileList.value[0].name),
// fileType: fileUploadAllocationTypeFun(imageFileList.value[0].name),
fileType: formData.value.fileTypeDictValue,
};
}
}
@@ -394,6 +440,7 @@ const submitFun = async () => {
}
}
console.log(obj, 'objobjobjobjobj');
const res: any = obj?.id
? await editExperimentResultApi(obj)
: await batchAddExperimentResultApi(obj);
@@ -605,4 +652,8 @@ onMounted(() => {});
}
}
}
.mr5 {
margin-right: 5px;
}
</style>