upodate:人员选择下拉默认仿真组

This commit is contained in:
2026-02-03 11:25:35 +08:00
parent 27213fc2ae
commit e8f053f56a
8 changed files with 195 additions and 340 deletions

View File

@@ -0,0 +1,107 @@
<template>
<el-upload
:show-file-list="false"
:accept="accept"
:multiple="multiple"
:before-upload="beforeUploadFun"
>
<el-button>上传文件</el-button>
</el-upload>
<Dialog v-model="diaVisible" diaTitle="上传文件" :width="400" @close="closeFun">
<div>
<TableForm ref="tableFormRef" :tableName="tableName" :itemNum="1" v-model:data="formData" />
</div>
<template #footer>
<div>
<el-button @click="closeFun">{{ $t('通用.取消') }}</el-button>
<el-button type="primary" @click="submitFun">{{ $t('通用.确定') }}</el-button>
</div>
</template>
</Dialog>
</template>
<script setup lang="ts">
import { ref, watch, onMounted, onBeforeUnmount } from 'vue';
import Dialog from '@/components/common/dialog/index.vue';
import TableForm from '@/components/common/table/tableForm.vue';
import { uploadBigFile } from '@/utils/file';
import emitter from '@/utils/eventBus';
const emit = defineEmits(['finished']);
onMounted(() => {
emitter.on('UPLOAD_FINISHED', uploadFinishedFun);
});
onBeforeUnmount(() => {
emitter.off('UPLOAD_FINISHED', uploadFinishedFun);
});
interface Props {
api: any;
fileType?: any;
data: any;
accept?: any;
multiple?: boolean;
tableName: string;
}
const props = withDefaults(defineProps<Props>(), {
api: null,
data: {},
fileType: '',
accept: '',
multiple: true,
tableName: '',
});
const formData = ref<any>({
files: [],
});
const diaVisible = ref(false);
watch(
() => diaVisible.value,
(val: boolean) => {
if (!val) {
tableFormRef.value?.resetFun();
}
}
);
const beforeUploadFun = (file: any) => {
formData.value.files.push(file);
diaVisible.value = true;
return false;
};
const tableFormRef = ref<any>();
const submitFun = async () => {
const valid = await tableFormRef.value.validateFun();
if (valid) {
const params = {
// 必填参数
fileList: formData.value.files, // 文件列表
dirId: props.data.dirId, // 文件目录id
projectId: props.data.projectId, // 项目id
// 非必填参数
isApprove: 0, // 0不需要审批 1需要审批 默认0
callbackFlag: 'COMMON_FILE_UPLOAD_FINISHED', // 回调标识
type: 0,
fileType: props.fileType,
};
closeFun();
await uploadBigFile(params, props.api);
}
};
const uploadFinishedFun = (data: any) => {
if (data.callbackFlag === 'COMMON_FILE_UPLOAD_FINISHED') {
emit('finished');
}
};
const closeFun = () => {
diaVisible.value = false;
};
</script>

View File

@@ -19,7 +19,7 @@
<script lang="ts" setup>
import { ref, onMounted, watch } from 'vue';
import { userListUserApi, userQueryGroupDetailApi } from '@/api/system/user';
import { userListUserApi, userQueryGroupApi, userQueryGroupDetailApi } from '@/api/system/user';
interface Props {
modelValue: string;
@@ -34,7 +34,7 @@ const props = withDefaults(defineProps<Props>(), {
multiple: false,
disabled: false,
fitInputWidth: false,
groupCode: 'ALL', // ALL所有人员CID部门列表的部门编码 SIMULATION_GROUP2018146345197662210
groupCode: 'SIMULATION_GROUP', // ALL所有人员CID部门列表的部门编码
});
const listData = ref<any>([]);
const choseList = ref<any>([]);
@@ -61,7 +61,7 @@ const initFun = () => {
if (props.groupCode === 'ALL') {
getAllUsersFun();
} else {
getGroupUsersFun();
getAllGroupsFun();
}
};
@@ -84,9 +84,24 @@ const getAllUsersFun = () => {
});
};
const getGroupUsersFun = () => {
const getAllGroupsFun = () => {
const params = {
id: props.groupCode, // TODO 后续实际要传部门编码
groupCode: props.groupCode,
current: 1,
size: 1,
};
userQueryGroupApi(params).then((res: any) => {
if (res.code === 200) {
if (res.data?.data[0]) {
getGroupUsersFun(res.data?.data[0]?.id);
}
}
});
};
const getGroupUsersFun = (id: string) => {
const params = {
id,
current: 1,
size: 9999,
};

View File

@@ -11,30 +11,18 @@
:full-height="true"
>
<template v-if="showLeftOptions" #leftOptions>
<!-- <el-form :model="filterForm" inline>
<el-form-item label="列数:">
<el-input-number
v-model="filterForm.lineNum"
:min="1"
:max="5"
@change="handleChangeLineFun"
/>
</el-form-item>
<el-form-item v-if="showLeftOptions">
<el-upload :show-file-list="false" :accept="accept" :before-upload="beforeUploadFun">
<el-button>上传文件</el-button>
</el-upload>
<el-button type="primary" class="ml12" @click="downLoadFun">下载文件</el-button>
</el-form-item>
</el-form> -->
<el-upload
:show-file-list="false"
<AddFile
:accept="accept"
:api="batchAddFileInfoApi"
:fileType="FILE_TYPE.PNG_FILE"
tableName="TASK_DETAIL_UPLOAD_FILE"
multiple
:before-upload="beforeUploadFun"
>
<el-button>上传文件</el-button>
</el-upload>
:data="{
dirId: nodeFIleId,
projectId: null,
}"
@finished="uploadFinishedFun"
/>
<el-button type="primary" class="ml12" @click="downLoadFun">下载文件</el-button>
</template>
<template #type="{ row }">
@@ -64,7 +52,7 @@ import {
} from '@/utils/file';
import BaseTable from '@/components/common/table/baseTable.vue';
import FilePreview from '@/components/common/filePreview/index.vue';
import emitter from '@/utils/eventBus';
import AddFile from '@/components/common/addFile/index.vue';
import { dataOverViewDeleteSimulationNodeFilesApi } from '@/api/data/dataOverView';
import { getSimulationTaskFilesApi } from '@/api/data/dataAnalysis';
@@ -184,44 +172,8 @@ watch(
}
);
const beforeUploadFun = (file: any) => {
const { name, size } = file;
const sourceFiles = [
{
fileName: name,
size: size,
raw: file,
fileType: FILE_TYPE.PNG_FILE,
},
];
const params = {
sourceFiles,
uploadTaskId: new Date().getTime(),
dirId: nodeFIleId.value,
projectId: null,
type: 0,
};
batchAddFileInfoApi(params).then((res: any) => {
if (res.code === 200) {
baseTableRef.value.resetFun();
res.data.forEach((item: any) => {
emitter.emit('ADD_UPLOAD_FILE', {
file: file,
data: {
...item,
isApprove: 0,
taskType: 1,
},
});
});
}
});
return false;
const uploadFinishedFun = () => {
baseTableRef.value.resetFun();
};
const downLoadFun = async () => {

View File

@@ -9,24 +9,18 @@
:actionList="actionList"
>
<template v-if="showLeftOptions" #leftOptions>
<!-- <div v-if="showFilter">
<el-select v-model="currentId" class="select-style">
<el-option
v-for="item in taskRunList"
:label="item.name"
:value="item.id"
:key="item.id"
></el-option>
</el-select>
</div> -->
<el-upload
:show-file-list="false"
<AddFile
:accept="accept"
:api="batchAddFileInfoApi"
:fileType="FILE_TYPE.MODEL_3D_FILE"
tableName="TASK_DETAIL_UPLOAD_FILE"
multiple
:before-upload="beforeUploadFun"
>
<el-button>上传文件</el-button>
</el-upload>
:data="{
dirId: nodeFIleId,
projectId: null,
}"
@finished="uploadFinishedFun"
/>
<el-button class="ml12" type="primary" @click="downLoadFun">下载文件</el-button>
</template>
<template #type="{ row }">
@@ -56,6 +50,7 @@ import BaseTable from '@/components/common/table/baseTable.vue';
import { batchAddFileInfoApi } from '@/api/data/data';
import UploadFile from '@/components/common/uploadFile/index.vue';
import FilePreview from '@/components/common/filePreview/index.vue';
import AddFile from '@/components/common/addFile/index.vue';
import { FILE_TYPE } from '@/utils/enum/file';
import {
downloadFileById,
@@ -65,7 +60,6 @@ import {
} from '@/utils/file';
import { dataOverViewDeleteSimulationNodeFilesApi } from '@/api/data/dataOverView';
import fileTypeChange from '@/components/common/fileTable/fileTypeChange.vue';
import emitter from '@/utils/eventBus';
import { getSimulationTaskFilesApi } from '@/api/data/dataAnalysis';
import { NODE_TYPE } from '@/utils/enum/node';
@@ -159,56 +153,8 @@ const deleteFun = async (row: any) => {
} catch {}
};
const beforeUploadFun = async (file: any) => {
// const { name } = file;
// const params = {
// fileName: name,
// dirId: nodeFIleId.value,
// file: file,
// fileType: FILE_TYPE.MODEL_3D_FILE,
// };
// dataOverViewUploadSimulationNodeFilesApi(params).then((res: any) => {
// if (res.code === 200) {
// ElMessage.success('上传成功');
// baseTableRef.value.resetFun();
// }
// });
const { name, size } = file;
const sourceFiles = [
{
fileName: name,
size: size,
raw: file,
fileType: FILE_TYPE.MODEL_3D_FILE,
},
];
const params = {
sourceFiles,
uploadTaskId: new Date().getTime(),
dirId: nodeFIleId.value,
projectId: null,
type: 0,
};
await batchAddFileInfoApi(params).then((res: any) => {
if (res.code === 200) {
baseTableRef.value.resetFun();
res.data.forEach((item: any) => {
emitter.emit('ADD_UPLOAD_FILE', {
file: file,
data: {
...item,
isApprove: 0,
taskType: 1,
},
});
});
}
});
return false;
const uploadFinishedFun = () => {
baseTableRef.value.resetFun();
};
const downLoadFun = async () => {
@@ -252,11 +198,6 @@ onMounted(async () => {
.task-performance-page {
width: 100%;
height: 100%;
.select-style {
width: 120px;
}
.ml12 {
margin-left: 12px;
}

View File

@@ -11,14 +11,18 @@
:actionList="actionList"
>
<template v-if="showLeftOptions" #leftOptions>
<el-upload
:show-file-list="false"
<AddFile
:accept="accept"
:api="batchAddFileInfoApi"
:fileType="FILE_TYPE.CANVAS_FILE"
tableName="TASK_DETAIL_UPLOAD_FILE"
multiple
:before-upload="beforeUploadFun"
>
<el-button>上传文件</el-button>
</el-upload>
:data="{
dirId: nodeFIleId,
projectId: null,
}"
@finished="uploadFinishedFun"
/>
<el-button class="ml12" type="primary" @click="showTableDataCurveFun">显示曲线</el-button>
<el-button type="primary" @click="downLoadFun">下载文件</el-button>
</template>
@@ -78,7 +82,7 @@ import {
} from '@/utils/file';
import { dataOverViewDeleteSimulationNodeFilesApi } from '@/api/data/dataOverView';
import FilePreview from '@/components/common/filePreview/index.vue';
import emitter from '@/utils/eventBus';
import AddFile from '@/components/common/addFile/index.vue';
import { getCSVDataApi, getSimulationTaskFilesApi } from '@/api/data/dataAnalysis';
import { NODE_TYPE } from '@/utils/enum/node';
@@ -294,58 +298,8 @@ const getCsvFormatDataFun = (data: any, num: any) => {
initEcharts(elementId, elementId, 'lineChart', options);
};
const beforeUploadFun = async (file: any) => {
// const { name } = file;
// const params = {
// fileName: name,
// dirId: nodeFIleId.value,
// file: file,
// fileType: FILE_TYPE.CANVAS_FILE,
// };
// dataOverViewUploadSimulationNodeFilesApi(params).then((res: any) => {
// if (res.code === 200) {
// ElMessage.success('上传成功');
// baseTableRef.value.resetFun();
// }
// });
const { name, size } = file;
const sourceFiles = [
{
fileName: name,
size: size,
raw: file,
fileType: FILE_TYPE.CANVAS_FILE,
},
];
const params = {
sourceFiles,
uploadTaskId: new Date().getTime(),
dirId: nodeFIleId.value,
projectId: null,
type: 0,
};
await batchAddFileInfoApi(params).then((res: any) => {
if (res.code === 200) {
baseTableRef.value.resetFun();
res.data.forEach((item: any) => {
emitter.emit('ADD_UPLOAD_FILE', {
file: file,
data: {
...item,
isApprove: 0,
taskType: 1,
},
});
});
}
});
return false;
const uploadFinishedFun = () => {
baseTableRef.value.resetFun();
};
const downLoadFun = async () => {

View File

@@ -9,19 +9,18 @@
:actionList="actionList"
>
<template v-if="showLeftOptions" #leftOptions>
<!-- <div v-if="showFilter">
<el-select v-model="currentId" class="select-style">
<el-option
v-for="item in taskRunList"
:label="item.name"
:value="item.id"
:key="item.id"
></el-option>
</el-select>
</div> -->
<el-upload :show-file-list="false" :accept="accept" multiple :before-upload="beforeUploadFun">
<el-button>上传文件</el-button>
</el-upload>
<AddFile
:accept="accept"
:api="batchAddFileInfoApi"
:fileType="FILE_TYPE.CALCULATION_FILE"
tableName="TASK_DETAIL_UPLOAD_FILE"
multiple
:data="{
dirId: nodeFIleId,
projectId: null,
}"
@finished="uploadFinishedFun"
/>
<el-button class="ml12" type="primary" @click="downLoadFun">下载文件</el-button>
</template>
<template #type="{ row }">
@@ -47,6 +46,7 @@ import BaseTable from '@/components/common/table/baseTable.vue';
import { batchAddFileInfoApi } from '@/api/data/data';
import UploadFile from '@/components/common/uploadFile/index.vue';
import FilePreview from '@/components/common/filePreview/index.vue';
import AddFile from '@/components/common/addFile/index.vue';
import { FILE_TYPE } from '@/utils/enum/file';
import {
downloadFileById,
@@ -54,7 +54,6 @@ import {
formatFileSize,
queryFileIdByNodeIdFun,
} from '@/utils/file';
import emitter from '@/utils/eventBus';
import { dataOverViewDeleteSimulationNodeFilesApi } from '@/api/data/dataOverView';
import { getSimulationTaskFilesApi } from '@/api/data/dataAnalysis';
import { NODE_TYPE } from '@/utils/enum/node';
@@ -144,58 +143,8 @@ const deleteFun = async (row: any) => {
} catch {}
};
const beforeUploadFun =async (file: any) => {
// const { name } = file;
// const params = {
// fileName: name,
// dirId: nodeFIleId.value,
// file: file,
// fileType: FILE_TYPE.CALCULATION_FILE,
// };
// dataOverViewUploadSimulationNodeFilesApi(params).then((res: any) => {
// if (res.code === 200) {
// ElMessage.success('上传成功');
// baseTableRef.value.resetFun();
// }
// });
const { name, size } = file;
const sourceFiles = [
{
fileName: name,
size: size,
raw: file,
fileType: FILE_TYPE.CALCULATION_FILE,
},
];
const params = {
sourceFiles,
uploadTaskId: new Date().getTime(),
dirId: nodeFIleId.value,
projectId: null,
type: 0,
};
await batchAddFileInfoApi(params).then((res: any) => {
if (res.code === 200) {
baseTableRef.value.resetFun();
res.data.forEach((item: any) => {
emitter.emit('ADD_UPLOAD_FILE', {
file: file,
data: {
...item,
isApprove: 0,
taskType: 1,
},
});
});
}
});
return false;
const uploadFinishedFun = () => {
baseTableRef.value.resetFun();
};
const downLoadFun = async () => {
@@ -238,11 +187,6 @@ onMounted(async () => {
.task-performance-page {
width: 100%;
height: 100%;
.select-style {
width: 120px;
}
.ml12 {
margin-left: 12px;
}

View File

@@ -9,25 +9,18 @@
:actionList="actionList"
>
<template v-if="showLeftOptions" #leftOptions>
<!-- <div v-if="showFilter">
<el-select v-model="currentId" class="select-style">
<el-option
v-for="item in taskRunList"
:label="item.name"
:value="item.id"
:key="item.id"
></el-option>
</el-select>
</div> -->
<el-upload
:show-file-list="false"
<AddFile
:accept="accept"
:api="batchAddFileInfoApi"
:fileType="FILE_TYPE.REPORT_FILE"
tableName="TASK_DETAIL_UPLOAD_FILE"
multiple
:before-upload="beforeUploadFun"
>
<el-button>上传文件</el-button>
</el-upload>
:data="{
dirId: nodeFIleId,
projectId: null,
}"
@finished="uploadFinishedFun"
/>
<el-button class="ml12" type="primary" @click="downLoadFun">下载文件</el-button>
</template>
<template #type="{ row }">
@@ -60,9 +53,9 @@ import {
} from '@/utils/file';
import UploadFile from '@/components/common/uploadFile/index.vue';
import FilePreview from '@/components/common/filePreview/index.vue';
import AddFile from '@/components/common/addFile/index.vue';
import { FILE_TYPE } from '@/utils/enum/file';
import { dataOverViewDeleteSimulationNodeFilesApi } from '@/api/data/dataOverView';
import emitter from '@/utils/eventBus';
import { getSimulationTaskFilesApi } from '@/api/data/dataAnalysis';
import { NODE_TYPE } from '@/utils/enum/node';
@@ -153,56 +146,8 @@ const deleteFun = async (row: any) => {
} catch {}
};
const beforeUploadFun = async (file: any) => {
// const { name } = file;
// const params = {
// fileName: name,
// dirId: nodeFIleId.value,
// file: file,
// fileType: FILE_TYPE.REPORT_FILE,
// };
// dataOverViewUploadSimulationNodeFilesApi(params).then((res: any) => {
// if (res.code === 200) {
// ElMessage.success('上传成功');
// baseTableRef.value.resetFun();
// }
// });
const { name, size } = file;
const sourceFiles = [
{
fileName: name,
size: size,
raw: file,
fileType: FILE_TYPE.REPORT_FILE,
},
];
const params = {
sourceFiles,
uploadTaskId: new Date().getTime(),
dirId: nodeFIleId.value,
projectId: null,
type: 0,
};
await batchAddFileInfoApi(params).then((res: any) => {
if (res.code === 200) {
baseTableRef.value.resetFun();
res.data.forEach((item: any) => {
emitter.emit('ADD_UPLOAD_FILE', {
file: file,
data: {
...item,
isApprove: 0,
taskType: 1,
},
});
});
}
});
return false;
const uploadFinishedFun = () => {
baseTableRef.value.resetFun();
};
const downLoadFun = async () => {
@@ -247,10 +192,6 @@ onMounted(async () => {
.task-performance-page {
width: 100%;
height: 100%;
.select-style {
width: 120px;
}
.ml12 {
margin-left: 12px;
}

View File

@@ -24,6 +24,7 @@
@show 打开
@update 更新
@confirm 提交
@finished 完成
@filterReset 表头过滤器重置
@filterConfirm 表头过滤器确认
@settingConfirm 表格列设置确认