This commit is contained in:
2026-03-20 16:50:49 +08:00
8 changed files with 73 additions and 18 deletions

View File

@@ -138,7 +138,6 @@ const cascaderProps: CascaderProps = {
fileId: node?.data.id,
current: 1,
size: 9999,
isFilterApproving: true,
});
if (res?.code === 200) {
list = res.data.data.map((item: any) => {
@@ -168,7 +167,6 @@ const fetchChildren = async (parentId: string, parentNodeData?: any) => {
fileId: parentNodeData.id,
current: 1,
size: 9999,
isFilterApproving: true,
});
if (res?.code === 200) {
return res.data.data.map((item: any) => ({

View File

@@ -639,6 +639,26 @@
@keyup.enter="enterFun"
/>
</template>
<!-- 标准来源 -->
<template #standardSource="{ row, icon }">
<TreeEditItem
v-if="[NODE_TYPE.TASK].includes(row.nodeType) || isMixedNodeType(row.nodeType)"
:data="row.standardSource"
:editMode="editMode"
:icon="icon"
hideTitle
>
<dictLabel v-model="row.standardSource" dictName="STANDARD_SOURCE" />
</TreeEditItem>
</template>
<template #standardSource-edit="{ row }">
<dictLabel
v-model="row.standardSource"
dictName="STANDARD_SOURCE"
:editable="true"
:multiple="true"
/>
</template>
<!-- 描述 -->
<template #description="{ row, icon }">
<TreeEditItem
@@ -815,7 +835,7 @@ watch(
watch(
() => treeData.value,
(rows: any[]) => {
syncTreeDataExtrasFun(rows);
// syncTreeDataExtrasFun(rows);
},
{ deep: true }
);

View File

@@ -34,9 +34,9 @@
@click="flowClickFun('continueStartRunJobFun')"
>完成</el-button
>
<el-button type="primary" @click="referenceParamFun">引用参数</el-button>
<el-button type="primary" @click="paramToLibFun">参数入库</el-button>
<el-button @click="showLogFun">日志</el-button>
<!-- <el-button type="primary" @click="referenceParamFun">引用参数</el-button>
<el-button type="primary" @click="paramToLibFun">参数入库</el-button> -->
<!-- <el-button type="primary" @click="saveNodeParamFun">保存参数</el-button> -->
</template>
@@ -200,6 +200,16 @@
@update="updateParamInfoFun"
>
</parameterReference>
<Dialog
v-model="showRunLog"
diaTitle="日志详情"
:width="'60%'"
:height="'70%'"
@close="handleCloseFun"
>
<runLogs v-if="showRunLog" :flow-task-id="flowNodeData.nodeId"></runLogs>
</Dialog>
</div>
</template>
@@ -217,6 +227,8 @@ import emitter from '@/utils/eventBus';
import { base64ToStrFun, fileUploadAllocationTypeFun } from '@/utils/file';
import { getUserData } from '@/utils/user';
import dayjs from 'dayjs';
import Dialog from '@/components/common/dialog/index.vue';
import runLogs from '@/views/task/execution/components/runDetailPage/runPagecomponent/runLogs.vue';
const props = defineProps({
nodeParams: {
@@ -554,7 +566,7 @@ const flowClickFun = (flag: any) => {
};
const selectFileList = ref<any>([]);
const queryFileList = async (id:any) => {
const queryFileList = async (id: any) => {
const param = {
fileId: id,
current: 1,
@@ -575,6 +587,15 @@ const queryFileList = async (id:any) => {
} catch {}
};
const showRunLog = ref(false);
const showLogFun = () => {
showRunLog.value = true;
};
const handleCloseFun = () => {
showRunLog.value = false;
};
defineExpose({
saveNodeParamFun,
paramToLibFun,
@@ -588,6 +609,9 @@ watch(
(newVal) => {
if (newVal) {
// const paramData = nodeParamData.value?.pageConfigList || [];
console.log(props.flowNodeData, 'flowNodeData');
console.log(props.currentNode, 'currentNode');
console.log(props.flowNodeParamData, 'flowNodeParamData');
tableData.value = cloneDeep(newVal);
// tableData.value = newVal;

View File

@@ -1211,6 +1211,7 @@ const dict = computed(() => ({
group: commonStore.getDictData('GROUP_LIST').A,
sceneType: commonStore.getDictData('SCENE_TYPE').A,
algorithm: commonStore.getDictData('SIMULATION_ALGORITHM').A,
standardSource: commonStore.getDictData('STANDARD_SOURCE').A,
}));
const getFilterColumnsFun = async () => {
const res: any = await getFormConfigureApi({ formName: TABLE_NAME.STANDARD_SCENE });
@@ -1256,6 +1257,8 @@ const onImportPoolConfirmFun = async (formData: any) => {
if (currentTableType.value === TableViewType.LIST) {
mergeListTableColumnsFun();
}
} else {
ElMessage.warning(res.message || t('工况库.导入失败'));
}
} finally {
loading.value = false;

View File

@@ -1157,6 +1157,7 @@ const dict = computed(() => ({
group: commonStore.getDictData('GROUP_LIST').A,
sceneType: commonStore.getDictData('SCENE_TYPE').A,
algorithm: commonStore.getDictData('SIMULATION_ALGORITHM').A,
standardSource: commonStore.getDictData('STANDARD_SOURCE').A,
}));
const getFilterColumnsFun = async () => {
const res: any = await getFormConfigureApi({ formName: TABLE_NAME.TASK_POOL });
@@ -1219,6 +1220,8 @@ const onImportPoolConfirmFun = async (formData: any) => {
}
}
ElMessage.success(res.message || '导入成功');
} else {
ElMessage.warning(res.message || t('工况库.导入失败'));
}
} finally {
loading.value = false;

View File

@@ -99,9 +99,9 @@
<div class="bottom-info-content">
<div class="tabs-box left-tab">
<el-tabs v-model="nodeActiveName" class="demo-tabs" @tab-change="handleLeftClickFun">
<el-tab-pane label="节点信息" name="info"></el-tab-pane>
<el-tab-pane label="节点操作" name="info"></el-tab-pane>
<el-tab-pane label="输入数据" name="input"></el-tab-pane>
<el-tab-pane label="仿真参数" name="param"></el-tab-pane>
<!-- <el-tab-pane label="仿真参数" name="param"></el-tab-pane> -->
<el-tab-pane label="输出数据" name="output"></el-tab-pane>
</el-tabs>
</div>
@@ -151,7 +151,7 @@
<flowNodeParamTable
ref="flowNodeParamTableRef"
v-show="nodeActiveName === 'param' && showPage"
v-show="nodeActiveName === 'info' && showPage"
:node-params="nodeParamDataList"
:current-node="flowNode"
:page-info="flowNodeData"
@@ -172,7 +172,7 @@
:run-info="runInfo"
></runDataPage>
<div class="bottom-info-content-tab" v-show="nodeActiveName === 'info'">
<div class="bottom-info-content-tab" v-show="nodeActiveName === 'param'">
<div class="node-img">
<img :src="flowNodeParamData.iconUrl" alt="" />
</div>
@@ -278,12 +278,14 @@
<div class="tabs-box">
<el-tabs v-model="taskActiveName" class="demo-tabs" @tab-click="handleRightClickFun">
<el-tab-pane label="作业列表" name="job-list"></el-tab-pane>
<el-tab-pane label="日志输出" name="job-log"></el-tab-pane>
<el-tab-pane label="关联任务" name="associated-run"></el-tab-pane>
<el-tab-pane label="仿真结果" name="result"></el-tab-pane>
<!-- <el-tab-pane label="性能指标" name="performance"></el-tab-pane> -->
<el-tab-pane label="报告结果" name="report"></el-tab-pane>
<el-tab-pane label="标准规范" name="standard"></el-tab-pane>
<!-- <el-tab-pane label="仿真参数" name="param"></el-tab-pane> -->
<el-tab-pane label="关键结果" name="result"></el-tab-pane>
<el-tab-pane label="仿真报告" name="report"></el-tab-pane>
<el-tab-pane label="关联任务" name="associated-run"></el-tab-pane>
<!-- <el-tab-pane label="日志输出" name="job-log"></el-tab-pane> -->
<!-- <el-tab-pane label="性能指标" name="performance"></el-tab-pane> -->
<!-- <el-tab-pane label="3D模型预览" name="3D-model"></el-tab-pane> -->
</el-tabs>
</div>
@@ -387,7 +389,7 @@ const rightFullScreen = ref(false);
const showPage = ref(true);
const refreshPage = ref(true);
const handleLeftClickFun = async () => {
if (nodeActiveName.value === 'param') {
if (nodeActiveName.value === 'info') {
if (flowNodeParamTableRef.value) {
await flowNodeParamTableRef.value.queryFileList(flowNodeData.value.inputDirId);
}
@@ -432,6 +434,7 @@ const changeCurrentFlowNodeFun = (info: any) => {
refreshPage.value = true;
// taskActiveName.value = 'job-list';
// nodeActiveName.value = 'info';
handleLeftClickFun();
};
const pageParamInfo = ref<any>({});
@@ -660,7 +663,7 @@ const checkParamRequiredFun = (list: any) => {
// 设置特殊的参数信息
const setSpecialParamData = (param: any, data: any) => {
param.taskId = props.runInfo.taskId;
param.taskName = props.runInfo.parentName;
param.taskName = props.runInfo?.parentName || props.runInfo?.runName;
param.runId = props.runInfo.uuid;
param.runName = props.runInfo.runName;
param.projectname = props.runInfo.projectName;
@@ -1094,6 +1097,7 @@ const updateFlowNodeParamFun = (data: any) => {
}
newNodeData.value[flowNodeData.value.nodeName] = data;
// nodeParamDataList.value = data;
handleLeftClickFun();
};
const getStyleFun = (flag: any) => {

View File

@@ -15,6 +15,7 @@
<template #leftOptions v-if="showLeftOption">
<el-button type="primary" @click="stopCheckJobFfun">暂停</el-button>
<el-button type="primary" @click="deleteCheckJobFun">删除</el-button>
<el-button type="" @click="refrehFun">刷新</el-button>
</template>
<template #totalElapsedTime="{ row }">
<span>{{ row.totalElapsedTime ? row.totalElapsedTime : '--' }}</span>

View File

@@ -32,9 +32,11 @@
<el-button type="primary" class="ml10" @click="downLoadFileFun">下载</el-button>
<el-button type="danger" @click="deleteFileFun">删除</el-button>
<el-button type="" @click="reloadFun">刷新</el-button>
</template>
<template #leftOptions v-else>
<el-button type="primary" @click="downLoadFileFun">下载</el-button>
<el-button type="" @click="reloadFun">刷新</el-button>
</template>
<template #fileSize="{ row }">
<span>{{ formatFileSize(row.fileSize) }}</span>