Merge branch 'main' of http://192.168.65.198:3000/Front_Team/SPDM
This commit is contained in:
85
src/api/project/run.ts
Normal file
85
src/api/project/run.ts
Normal file
@@ -0,0 +1,85 @@
|
||||
import { post, upload } from '@/api/request';
|
||||
|
||||
const env = import.meta.env;
|
||||
const PREFIX = env.VITE_API_PREFIX_PROJECT;
|
||||
|
||||
/**
|
||||
* 获取项目任务下的算例信息
|
||||
* @param params
|
||||
* @returns
|
||||
*/
|
||||
export const getTaskRunTreeApi = (params: any) => {
|
||||
return post(`${PREFIX}run/getTaskRunTree`, params);
|
||||
};
|
||||
|
||||
/**
|
||||
* 新建算例
|
||||
* @param params
|
||||
* @returns
|
||||
*/
|
||||
export const addTaskRunApi = (params: any) => {
|
||||
return post(`${PREFIX}run/addTaskRun`, params);
|
||||
};
|
||||
|
||||
/**
|
||||
* 查询算例信息
|
||||
* @param params
|
||||
* @returns
|
||||
*/
|
||||
export const queryTaskRunApi = (params: any) => {
|
||||
return post(`${PREFIX}run/queryTaskRun`, params);
|
||||
};
|
||||
|
||||
/**
|
||||
* 创建算例下的结果文件夹
|
||||
* @param params dirName文件夹名称 dirType文件夹类型默认2 uuId算例的uuid
|
||||
* @returns
|
||||
*/
|
||||
export const createRunDirApi = (params: any) => {
|
||||
return post(`${PREFIX}run/createRunDir`, params);
|
||||
};
|
||||
|
||||
/**
|
||||
* 查询算例结果文件夹及文件
|
||||
* @param params uuId算例的uuid size 10 current 1
|
||||
* @returns
|
||||
*/
|
||||
export const queryRunDirApi = (params: any) => {
|
||||
return post(`${PREFIX}run/queryRunDir`, params);
|
||||
};
|
||||
|
||||
/**
|
||||
* 上传算例结果文件
|
||||
* @param params file文件 dirId文件夹id fileName文件名称 fileType 1:模型文件 2:仿真报告 3:计算文件 4:曲线文件 5:云图文件
|
||||
* @returns
|
||||
*/
|
||||
export const uploadRunFilesApi = (params: any) => {
|
||||
return upload(`${PREFIX}run/uploadRunFiles`, params);
|
||||
};
|
||||
|
||||
/**
|
||||
* 删除算例
|
||||
* @param params runId 算例的id
|
||||
* @returns
|
||||
*/
|
||||
export const deleteTaskRunApi = (params: any) => {
|
||||
return post(`${PREFIX}run/deleteTaskRun`, params);
|
||||
};
|
||||
|
||||
/**
|
||||
* 查询任务下的算例版本树
|
||||
* @param params taskId算例uuid
|
||||
* @returns
|
||||
*/
|
||||
export const getTaskRunVersionApi = (params: any) => {
|
||||
return post(`${PREFIX}run/getTaskRunVersion`, params);
|
||||
};
|
||||
|
||||
/**
|
||||
* 查询算例版本树
|
||||
* @param params runId算例的uuid
|
||||
* @returns
|
||||
*/
|
||||
export const getRunVersionApi = (params: any) => {
|
||||
return post(`${PREFIX}run/getRunVersion`, params);
|
||||
};
|
||||
@@ -29,15 +29,6 @@ export const getTaskCountApi = (params: any) => {
|
||||
return post(`${PREFIX}task/count`, params);
|
||||
};
|
||||
|
||||
/**
|
||||
* 获取项目任务下的算例信息
|
||||
* @param params
|
||||
* @returns
|
||||
*/
|
||||
export const getTaskRunTreeApi = (params: any) => {
|
||||
return post(`${PREFIX}run/getTaskRunTree`, params);
|
||||
};
|
||||
|
||||
/**
|
||||
* 获取用户工作负载信息
|
||||
* @param params
|
||||
@@ -47,57 +38,3 @@ export const getListUserWorkloadsApi = (params: any) => {
|
||||
return post(`${PREFIX}task/listUserWorkloads`, params);
|
||||
};
|
||||
|
||||
/**
|
||||
* 新建算例
|
||||
* @param params
|
||||
* @returns
|
||||
*/
|
||||
export const addTaskRunApi = (params: any) => {
|
||||
return post(`${PREFIX}run/addTaskRun`, params);
|
||||
};
|
||||
|
||||
/**
|
||||
* 查询算例信息
|
||||
* @param params
|
||||
* @returns
|
||||
*/
|
||||
export const queryTaskRunApi = (params: any) => {
|
||||
return post(`${PREFIX}run/queryTaskRun`, params);
|
||||
};
|
||||
|
||||
/**
|
||||
* 创建算例下的结果文件夹
|
||||
* @param params dirName文件夹名称 dirType文件夹类型默认2 uuId算例的uuid
|
||||
* @returns
|
||||
*/
|
||||
export const createRunDirApi = (params: any) => {
|
||||
return post(`${PREFIX}run/createRunDir`, params);
|
||||
};
|
||||
|
||||
/**
|
||||
* 查询算例结果文件夹及文件
|
||||
* @param params uuId算例的uuid size 10 current 1
|
||||
* @returns
|
||||
*/
|
||||
export const queryRunDirApi = (params: any) => {
|
||||
return post(`${PREFIX}run/queryRunDir`, params);
|
||||
};
|
||||
|
||||
/**
|
||||
* 上传算例结果文件
|
||||
* @param params file文件 dirId文件夹id fileName文件名称 fileType 1:模型文件 2:仿真报告 3:计算文件 4:曲线文件 5:云图文件
|
||||
* @returns
|
||||
*/
|
||||
export const uploadRunFilesApi = (params: any) => {
|
||||
return upload(`${PREFIX}run/uploadRunFiles`, params);
|
||||
};
|
||||
|
||||
/**
|
||||
* 删除算例
|
||||
* @param params runId 算例的id
|
||||
* @returns
|
||||
*/
|
||||
export const deleteTaskRunApi = (params: any) => {
|
||||
return post(`${PREFIX}run/deleteTaskRun`, params);
|
||||
|
||||
};
|
||||
@@ -15,20 +15,23 @@
|
||||
import { ref, nextTick, watchEffect, onBeforeUnmount } from 'vue';
|
||||
import G6 from '@antv/g6';
|
||||
import { random } from 'lodash';
|
||||
import UserIcon from '@/assets/imgs/versionTree/user.svg';
|
||||
import NavigationIcon from '@/assets/imgs/versionTree/skip.png';
|
||||
|
||||
interface versionNodeItem {
|
||||
label: string;
|
||||
isOmit?: boolean;
|
||||
}
|
||||
|
||||
const props = withDefaults(
|
||||
defineProps<{
|
||||
versionNode:any;
|
||||
versionNode:versionNodeItem[];
|
||||
treeData: any;
|
||||
versionIndex: any;
|
||||
graphLoading: any;
|
||||
currentVersion: any;
|
||||
showVisionSelect: any;
|
||||
graphLoading: boolean;
|
||||
currentVersion: string;
|
||||
showVisionSelect: boolean;
|
||||
showElementList: any;
|
||||
showImg: any;
|
||||
currentNodeIndex: any;
|
||||
showImg: boolean;
|
||||
currentNodeIndex: number;
|
||||
}>(),
|
||||
{
|
||||
versionIndex: 0,
|
||||
@@ -159,7 +162,7 @@ const registerNode = () => {
|
||||
y: 130 + 100 * index + 22,
|
||||
width: 50,
|
||||
height: 50,
|
||||
img: UserIcon,
|
||||
img: '',
|
||||
},
|
||||
// 在 G6 3.3 及之后的版本中,必须指定 name,可以是任意字符串,但需要在同一个自定义元素类型中保持唯一性
|
||||
name: 'image-shape' + index,
|
||||
@@ -174,7 +177,7 @@ const registerNode = () => {
|
||||
y: 130 + 100 * index + 22,
|
||||
width: 50,
|
||||
height: 50,
|
||||
img: UserIcon,
|
||||
img: '',
|
||||
},
|
||||
// 在 G6 3.3 及之后的版本中,必须指定 name,可以是任意字符串,但需要在同一个自定义元素类型中保持唯一性
|
||||
name: 'image-shape' + index,
|
||||
@@ -237,7 +240,7 @@ const registerNode = () => {
|
||||
y: 40,
|
||||
width: 60,
|
||||
height: 60,
|
||||
img: NavigationIcon,
|
||||
img: '',
|
||||
cursor: 'pointer',
|
||||
},
|
||||
// 在 G6 3.3 及之后的版本中,必须指定 name,可以是任意字符串,但需要在同一个自定义元素类型中保持唯一性
|
||||
|
||||
@@ -93,6 +93,12 @@ export default [
|
||||
// component: () => import('@/views/task/execution/index.vue'),
|
||||
component: () => import('@/views/task/execution/index.vue'),
|
||||
},
|
||||
{
|
||||
title: '工作负载',
|
||||
path: '/task/workLoad',
|
||||
name: 'TaskWorkLoad',
|
||||
component: () => import('@/views/task/workLoad/idnex.vue'),
|
||||
},
|
||||
|
||||
],
|
||||
},
|
||||
|
||||
@@ -66,6 +66,7 @@ const lang = {
|
||||
'用户组管理': 'User Group Management',
|
||||
'应用管理': 'Application Management',
|
||||
'动态表格': 'Dynamic Table',
|
||||
'工作负载': 'Work Load',
|
||||
},
|
||||
'表格': {
|
||||
'查询': 'Search',
|
||||
|
||||
@@ -66,6 +66,7 @@ const lang = {
|
||||
'用户组管理': '用户组管理',
|
||||
'应用管理': '应用管理',
|
||||
'动态表格': '动态表格',
|
||||
'工作负载': '工作负载',
|
||||
},
|
||||
'表格': {
|
||||
'查询': '查询',
|
||||
|
||||
@@ -157,7 +157,7 @@ import filterProject from '../filterProject/index.vue';
|
||||
import { NODE_TYPE } from '@/utils/enum/node';
|
||||
import { Folder, Document, ScaleToOriginal } from '@element-plus/icons-vue';
|
||||
import createRunDiv from './operateComponent/createRunDiv.vue';
|
||||
import { addTaskRunApi, createRunDirApi, deleteTaskRunApi, getTaskRunTreeApi, queryTaskRunApi } from '@/api/project/task';
|
||||
import { addTaskRunApi, createRunDirApi, deleteTaskRunApi, getTaskRunTreeApi, queryTaskRunApi } from '@/api/project/run';
|
||||
|
||||
const emits = defineEmits(['nodeClickFn']);
|
||||
const tableId = ref(new Date().getTime());
|
||||
|
||||
@@ -160,7 +160,6 @@ watch(() => props.runInfo, (newVal) => {
|
||||
|
||||
if (newVal) {
|
||||
currentRunNodeInfo.value = newVal;
|
||||
console.log(newVal, 'newVal');
|
||||
|
||||
}
|
||||
}, {
|
||||
|
||||
@@ -28,7 +28,7 @@
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
import { queryRunDirApi, uploadRunFilesApi } from '@/api/project/task';
|
||||
import { queryRunDirApi, uploadRunFilesApi } from '@/api/project/run';
|
||||
import { ref, defineProps, watch, nextTick, onMounted } from 'vue';
|
||||
import BaseTable from '@/components/common/table/baseTable.vue';
|
||||
import { ElMessage } from 'element-plus';
|
||||
|
||||
@@ -2,15 +2,10 @@
|
||||
<div class="tree-page">
|
||||
<versionPreview
|
||||
@skip-run="skipRun"
|
||||
:current-node-index="1"
|
||||
:current-version="currentVersion"
|
||||
:graph-loading="graphLoading"
|
||||
:show-element-list="{}"
|
||||
:show-img="true"
|
||||
:show-vision-select="false"
|
||||
:tree-data="versionObjJson"
|
||||
:version-index="0"
|
||||
:version-node="versionNode"
|
||||
:treeData="versionObjJson"
|
||||
:versionNode="versionNode"
|
||||
:graphLoading="graphLoading"
|
||||
:currentVersion="currentVersion"
|
||||
>
|
||||
|
||||
</versionPreview>
|
||||
@@ -20,8 +15,8 @@
|
||||
<script setup lang="ts">
|
||||
import { ref, defineProps, defineEmits, watch } from 'vue';
|
||||
import versionPreview from '@/components/common/versionPreview/index.vue';
|
||||
import { ElMessage } from 'element-plus';
|
||||
import { TasksStatusClass, TasksStatusColor } from '@/utils/enum/task';
|
||||
import { getRunVersionApi, getTaskRunVersionApi } from '@/api/project/run';
|
||||
|
||||
const props = defineProps({
|
||||
currentTaskInfo: {
|
||||
@@ -62,47 +57,47 @@ const versionObjJson = ref<any>({});
|
||||
|
||||
const visionTreeData = ref<any>([]);
|
||||
|
||||
const getTreeData = async (taskIdentity: any) => {
|
||||
const getTreeData = async (task: any) => {
|
||||
graphLoading.value = true;
|
||||
const param = {
|
||||
taskIdentity,
|
||||
};
|
||||
try {
|
||||
// const res = await appManagerServices.getTaskVersionTree(param);
|
||||
const res:any = { success: true };
|
||||
if (res.success) {
|
||||
currentVersion.value = '';
|
||||
visionTreeData.value = [res.data.root];
|
||||
formatVersionData(visionTreeData.value);
|
||||
|
||||
versionObjJson.value.children = visionTreeData.value;
|
||||
versionObjJson.value.description = '';
|
||||
versionObjJson.value.name = 'root';
|
||||
versionObjJson.value.status = null;
|
||||
versionObjJson.value.createTime = '';
|
||||
versionObjJson.value.id = 'root';
|
||||
|
||||
console.log(versionObjJson.value, 'versionObjJson.value');
|
||||
|
||||
graphLoading.value = false;
|
||||
} else {
|
||||
ElMessage.error(res.reason);
|
||||
}
|
||||
} catch (error) {
|
||||
console.log(error);
|
||||
let res:any;
|
||||
if (task.nodeType === 'run') {
|
||||
res = await getRunVersionApi({
|
||||
runId: task.uuid,
|
||||
});
|
||||
|
||||
} else {
|
||||
res = await getTaskRunVersionApi({
|
||||
taskId: task.uuid,
|
||||
});
|
||||
}
|
||||
|
||||
if (res && res.code === 200) {
|
||||
|
||||
currentVersion.value = '';
|
||||
visionTreeData.value = [res.data];
|
||||
formatVersionData(visionTreeData.value);
|
||||
|
||||
versionObjJson.value.children = visionTreeData.value;
|
||||
versionObjJson.value.description = '';
|
||||
versionObjJson.value.name = 'root';
|
||||
versionObjJson.value.status = null;
|
||||
versionObjJson.value.createTime = '';
|
||||
versionObjJson.value.id = 'root';
|
||||
graphLoading.value = false;
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
const formatVersionData = (arr: any, isCreate: boolean = false) => {
|
||||
arr.forEach((item: any) => {
|
||||
item.id = item.task_identity + '';
|
||||
item.name = item.task_name;
|
||||
item.createTime = item.create_time;
|
||||
item.description = item.task_comment;
|
||||
item.taskStatus = getVersionStatusMap(item.task_status);
|
||||
item.creator = item.creator;
|
||||
item.resultLoadcaseId = item.app_identity;
|
||||
item.id = item.uuid + '';
|
||||
item.name = item.runName;
|
||||
item.createTime = item.createTime;
|
||||
item.description = item.description;
|
||||
item.taskStatus = getVersionStatusMap(item.status);
|
||||
item.creator = item.creatorName;
|
||||
// item.resultLoadcaseId = item.taskId;
|
||||
if (item.children?.length > 0) {
|
||||
formatVersionData(item.children, isCreate);
|
||||
}
|
||||
@@ -163,7 +158,7 @@ const skipRun = (info:any) => {
|
||||
watch(() => props.currentTaskInfo, async (newVal) => {
|
||||
|
||||
if (newVal) {
|
||||
await getTreeData(newVal.id);
|
||||
await getTreeData(newVal);
|
||||
}
|
||||
|
||||
}, {
|
||||
|
||||
11
src/views/task/workLoad/idnex.vue
Normal file
11
src/views/task/workLoad/idnex.vue
Normal file
@@ -0,0 +1,11 @@
|
||||
<template>
|
||||
<div class="gl-page-content">工作负载</div>
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
import { ref, defineProps, defineEmits } from 'vue';
|
||||
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
</style>
|
||||
Reference in New Issue
Block a user