fix:数据对比功能bug修复
This commit is contained in:
@@ -17,4 +17,5 @@ VITE_API_PREFIX_PERFORMANCE=/
|
||||
VITE_API_PREFIX_PROJECT=/local7101/
|
||||
VITE_API_PREFIX_SYSTEM=/local7103/
|
||||
VITE_API_PREFIX_TASK=/local7102/
|
||||
VITE_API_PREFIX_APPLICATION=/local18888/
|
||||
VITE_API_PREFIX_APPLICATION=/local18888/
|
||||
VITE_API_PREFIX_FLOWABLE=/local7108/
|
||||
@@ -18,3 +18,4 @@ VITE_API_PREFIX_PROJECT=/project/
|
||||
VITE_API_PREFIX_SYSTEM=/system/
|
||||
VITE_API_PREFIX_TASK=/task/
|
||||
VITE_API_PREFIX_APPLICATION=/application/
|
||||
VITE_API_PREFIX_FLOWABLE=/local7108/
|
||||
@@ -18,3 +18,4 @@ VITE_API_PREFIX_PROJECT=/project/
|
||||
VITE_API_PREFIX_SYSTEM=/system/
|
||||
VITE_API_PREFIX_TASK=/task/
|
||||
VITE_API_PREFIX_APPLICATION=/application/
|
||||
VITE_API_PREFIX_FLOWABLE=/local7108/
|
||||
13
src/api/flowable/process.ts
Normal file
13
src/api/flowable/process.ts
Normal file
@@ -0,0 +1,13 @@
|
||||
import { post } from '@/api/request';
|
||||
|
||||
const env = import.meta.env;
|
||||
const PREFIX = env.VITE_API_PREFIX_FLOWABLE;
|
||||
|
||||
/**
|
||||
* 流程节点继续执行(完成人工节点/或者等待用户输入后继续手动执行的节点)
|
||||
* @param params processInstanceId 流程实例ID taskDefinitionKey 流程节点id flowelementType userTask - 普通用户任务 serviceTask - ServiceTask前置隐藏等待任务
|
||||
* @returns
|
||||
*/
|
||||
export const continueServiceTaskApi = (params: any) => {
|
||||
return post(`${PREFIX}process/continueServiceTask`, params);
|
||||
};
|
||||
@@ -1,15 +1,56 @@
|
||||
<template>
|
||||
<div class="upload-page"></div>
|
||||
<div class="upload-page">
|
||||
<el-upload class="upload-demo" :auto-upload="false" drag :multiple="row.multiple" v-model:file-list="fileList">
|
||||
<el-button link type="primary">点击或拖拽文件上传
|
||||
</el-button>
|
||||
</el-upload>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
import { ref } from 'vue';
|
||||
import { ref, watch } from 'vue';
|
||||
|
||||
const props = defineProps({
|
||||
dirId: {
|
||||
type: Number,
|
||||
default: 0,
|
||||
},
|
||||
row: {
|
||||
type: Object,
|
||||
default: () => { },
|
||||
},
|
||||
});
|
||||
const tempId = ref(String(new Date().getTime()));
|
||||
const fileList = ref<any>([]);
|
||||
watch(() => props.row, (newVal) => {
|
||||
|
||||
if (newVal) {
|
||||
console.log(newVal, 'newVal');
|
||||
|
||||
}
|
||||
|
||||
}, {
|
||||
immediate: true,
|
||||
deep: true,
|
||||
});
|
||||
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.upload-page{
|
||||
.upload-page {
|
||||
width: 100%;
|
||||
|
||||
.upload-demo {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
|
||||
:deep(.el-upload-dragger) {
|
||||
padding:5px !important;
|
||||
margin-top: 10px;
|
||||
}
|
||||
|
||||
.el-upload-list{
|
||||
overflow: auto;
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -1,20 +1,16 @@
|
||||
<template>
|
||||
<div class="flow-node-param-page">
|
||||
<BaseTable
|
||||
ref="baseTableRef"
|
||||
hide-pagination
|
||||
tableName="FLOW_NODE_PARAM"
|
||||
:tree-config="{
|
||||
ref="baseTableRef" hide-pagination tableName="FLOW_NODE_PARAM" :tree-config="{
|
||||
transform: true,
|
||||
expandAll: true,
|
||||
rowField: 'formId',
|
||||
parentField: 'parentId',
|
||||
childrenField: 'children',
|
||||
}"
|
||||
>
|
||||
}">
|
||||
|
||||
<template #leftOptions>
|
||||
<el-button type="primary" >参数入库</el-button>
|
||||
<el-button type="primary">参数入库</el-button>
|
||||
<el-button type="primary" @click="saveNodeParamFun">保存参数</el-button>
|
||||
<el-button type="">引用参数</el-button>
|
||||
</template>
|
||||
@@ -24,68 +20,47 @@
|
||||
|
||||
<!-- 输入框 -->
|
||||
<div
|
||||
class="numInput flex-div"
|
||||
v-if="(row.tagType === WIDGET_TYPE.INPUTS || row.tagType === WIDGET_TYPE.INPUT) && row.englishLabel"
|
||||
>
|
||||
class="numInput flex-div"
|
||||
v-if="(row.tagType === WIDGET_TYPE.INPUTS || row.tagType === WIDGET_TYPE.INPUT) && row.englishLabel">
|
||||
<div
|
||||
class="input-grid"
|
||||
:style="{
|
||||
display: row.total === row.column ? 'flex' : 'grid',
|
||||
gridTemplateColumns: 'repeat(' + row.column + ',1fr)',
|
||||
}"
|
||||
>
|
||||
<div class="flex-align-center mr12" >
|
||||
class="input-grid" :style="{
|
||||
display: row.total === row.column ? 'flex' : 'grid',
|
||||
gridTemplateColumns: 'repeat(' + row.column + ',1fr)',
|
||||
}">
|
||||
<div class="flex-align-center mr12">
|
||||
<el-input class="span-min80" v-model="row.defaultValue"></el-input>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- 2下拉框-->
|
||||
<el-select
|
||||
v-if="row.tagType === WIDGET_TYPE.SELECT"
|
||||
:multiple="row.isMultiple === '1'"
|
||||
:title="row.defaultValue"
|
||||
v-model="row.defaultValue"
|
||||
class="w70p"
|
||||
collapse-tags
|
||||
:allow-create="row.importability === '1'"
|
||||
filterable
|
||||
default-first-option
|
||||
>
|
||||
v-if="row.tagType === WIDGET_TYPE.SELECT" :multiple="row.isMultiple === '1'"
|
||||
:title="row.defaultValue" v-model="row.defaultValue" class="w70p" collapse-tags
|
||||
:allow-create="row.importability === '1'" filterable default-first-option>
|
||||
<el-option
|
||||
v-for="(item, index) in row?.options || []"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
/>
|
||||
v-for="(item, index) in row?.options || []" :key="item.value" :label="item.label"
|
||||
:value="item.value" />
|
||||
</el-select>
|
||||
<!-- 4单选框 -->
|
||||
<el-checkbox v-if="row.tagType === WIDGET_TYPE.CHECKBOX" v-model="row.defaultValue" true-value="1" false-value="0" />
|
||||
<el-checkbox
|
||||
v-if="row.tagType === WIDGET_TYPE.CHECKBOX" v-model="row.defaultValue" true-value="1"
|
||||
false-value="0" />
|
||||
<!-- 多选框 -->
|
||||
<div v-if="row.tagType === WIDGET_TYPE.CHECKBOXS">
|
||||
<el-checkbox-group v-model="row.defaultValue">
|
||||
<el-checkbox v-for="item in row.options " :key="item.value" :label="item.label" :value="item.value" />
|
||||
<el-checkbox v-for="item in row.options" :key="item.value" :label="item.label" :value="item.value" />
|
||||
|
||||
</el-checkbox-group>
|
||||
</div>
|
||||
|
||||
<!-- 计数器 -->
|
||||
<div
|
||||
class="numInput "
|
||||
v-if="row.tagType === WIDGET_TYPE.NUMBER_INPUTS || row.tagType === WIDGET_TYPE.NUMBER_INPUT"
|
||||
>
|
||||
<div
|
||||
class="input-grid"
|
||||
>
|
||||
class="numInput "
|
||||
v-if="row.tagType === WIDGET_TYPE.NUMBER_INPUTS || row.tagType === WIDGET_TYPE.NUMBER_INPUT">
|
||||
<div class="input-grid">
|
||||
|
||||
<el-input-number
|
||||
class="mr10"
|
||||
controls-position="right"
|
||||
v-model="row.defaultValue"
|
||||
></el-input-number>
|
||||
<span
|
||||
class="over-ellipsis span-fommat"
|
||||
:title="row?.units "
|
||||
>{{ row?.unit }}</span>
|
||||
<el-input-number class="mr10" controls-position="right" v-model="row.defaultValue"></el-input-number>
|
||||
<span class="over-ellipsis span-fommat" :title="row?.units">{{ row?.unit }}</span>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
@@ -94,19 +69,17 @@
|
||||
{{ row.defaultValue }}
|
||||
</div>
|
||||
<!-- 滑块 -->
|
||||
<div v-if="row.tagType === WIDGET_TYPE.SLIDER" class="slider" >
|
||||
<div v-if="row.tagType === WIDGET_TYPE.SLIDER" class="slider">
|
||||
<span class="value">{{ row.defaultValue }}</span>
|
||||
<el-slider v-model="row.defaultValue" :min="row.min" :max="row.max" size="small" />
|
||||
</div>
|
||||
|
||||
<!-- 9 模型文件选择 local + server-->
|
||||
<div
|
||||
class="localServer"
|
||||
v-if="
|
||||
row.tagType === WIDGET_TYPE.FILE || row.tagType === NODE_TYPE.SCRIPT || row.tagType === NODE_TYPE.PPT
|
||||
"
|
||||
>
|
||||
|
||||
class="localServer" v-if="
|
||||
row.tagType === WIDGET_TYPE.FILE || row.tagType === NODE_TYPE.SCRIPT || row.tagType === NODE_TYPE.PPT
|
||||
">
|
||||
<flowFileUpload :row="row" :dir-id="pageInfo?.inputDirId"></flowFileUpload>
|
||||
</div>
|
||||
|
||||
<!-- 行容器 -->
|
||||
@@ -118,7 +91,7 @@
|
||||
|
||||
</template>
|
||||
|
||||
<template #label="{row}">
|
||||
<template #label="{ row }">
|
||||
|
||||
<span v-if="row.tagType === WIDGET_TYPE.VIEW && row.tagIcon === 'row'">
|
||||
{{ row.componentName }}
|
||||
@@ -136,6 +109,7 @@ import BaseTable from '@/components/common/table/baseTable.vue';
|
||||
import { NODE_TYPE, WIDGET_TYPE } from '@/utils/enum/flow';
|
||||
import { saveNodeParamsApi } from '@/api/project/run';
|
||||
import { cloneDeep } from 'lodash-es';
|
||||
import flowFileUpload from './flowFileUpload.vue';
|
||||
|
||||
const props = defineProps({
|
||||
nodeParams: {
|
||||
@@ -154,9 +128,9 @@ const props = defineProps({
|
||||
const baseTableRef = ref();
|
||||
const tableData = ref<any>([]);
|
||||
|
||||
const formatDataFun = (list:any, parentId:any) => {
|
||||
const formatDataFun = (list: any, parentId: any) => {
|
||||
|
||||
for (let i = 0;i < list.length;i++) {
|
||||
for (let i = 0; i < list.length; i++) {
|
||||
list[i].parentId = parentId;
|
||||
if (list[i]?.children?.length) {
|
||||
formatDataFun(list[i]?.children, list[i].renderKey);
|
||||
@@ -170,27 +144,26 @@ const saveNodeParamFun = async () => {
|
||||
|
||||
const runNodeInfo = props.currentNode?.store?.data?.data?.flowNodeInfo;
|
||||
|
||||
const newParams:any = cloneDeep(tableData.value);
|
||||
const inputParams:any = {};
|
||||
const newParams: any = cloneDeep(tableData.value);
|
||||
const inputParams: any = {};
|
||||
setDataToParam(newParams, inputParams);
|
||||
console.log(newParams, 'newParams');
|
||||
|
||||
const params:any = {
|
||||
const params: any = {
|
||||
nodeUuid: runNodeInfo.uuid,
|
||||
runId: runNodeInfo.runId,
|
||||
inputParams,
|
||||
};
|
||||
|
||||
const res:any = await saveNodeParamsApi(params);
|
||||
const res: any = await saveNodeParamsApi(params);
|
||||
if (res && res.code === 200) {
|
||||
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
const setDataToParam = (list:any, obj:any) => {
|
||||
const setDataToParam = (list: any, obj: any) => {
|
||||
|
||||
for (let i = 0;i < list.length;i++) {
|
||||
for (let i = 0; i < list.length; i++) {
|
||||
|
||||
if (list[i].englishLabel) {
|
||||
obj[list[i].englishLabel] = list[i].defaultValue || '';
|
||||
@@ -200,11 +173,10 @@ const setDataToParam = (list:any, obj:any) => {
|
||||
|
||||
};
|
||||
|
||||
const nodeParamData = ref<any>([]);
|
||||
watch(() => props.pageInfo, (newVal) => {
|
||||
watch(() => props.nodeParams, (newVal) => {
|
||||
if (newVal) {
|
||||
const paramData = nodeParamData.value?.pageConfigList || [];
|
||||
tableData.value = paramData;
|
||||
// const paramData = nodeParamData.value?.pageConfigList || [];
|
||||
tableData.value = newVal;
|
||||
formatDataFun(tableData.value, 0);
|
||||
nextTick(() => {
|
||||
baseTableRef.value.setDataFun(tableData.value);
|
||||
@@ -228,31 +200,32 @@ watch(() => props.pageInfo, (newVal) => {
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
.span-min80{
|
||||
.span-min80 {
|
||||
min-width: 80px
|
||||
}
|
||||
|
||||
.span-3{
|
||||
.span-3 {
|
||||
width: calc(100% / 3)
|
||||
}
|
||||
|
||||
.spanw100{
|
||||
.spanw100 {
|
||||
width: 100px
|
||||
}
|
||||
}
|
||||
|
||||
.slider{
|
||||
.slider {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
height: 40px;
|
||||
padding: 0 12px;
|
||||
}
|
||||
|
||||
.value{
|
||||
.value {
|
||||
padding-right: 15px;
|
||||
}
|
||||
|
||||
.mr10{
|
||||
.mr10 {
|
||||
margin-right: 10px;
|
||||
}
|
||||
|
||||
</style>
|
||||
|
||||
@@ -384,7 +384,7 @@ const getFileInfo = async (data: any, fileType: any) => {
|
||||
|
||||
const res: any = await getSimulationTaskFileApi({
|
||||
taskId: '',
|
||||
runId: data.uuid,
|
||||
uuid: data.uuid,
|
||||
fileBizType: fileType,
|
||||
fileName: '',
|
||||
startTime: '',
|
||||
|
||||
@@ -9,6 +9,7 @@
|
||||
</template>
|
||||
</BaseTable>
|
||||
|
||||
<FilePreview v-model="previewVisible" :fileId="fileId"></FilePreview>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@@ -16,6 +17,7 @@
|
||||
import { ref, nextTick, watch } from 'vue';
|
||||
import BaseTable from '@/components/common/table/baseTable.vue';
|
||||
import { objectTypeArrayRemovesDuplicates } from '@/utils/common';
|
||||
import FilePreview from '@/components/common/filePreview/index.vue';
|
||||
|
||||
const props = defineProps({
|
||||
checkTaskInfo: {
|
||||
@@ -33,7 +35,8 @@ const props = defineProps({
|
||||
});
|
||||
const reportComparisonTableRef = ref();
|
||||
const showTableContent = ref(false);
|
||||
|
||||
const fileId = ref<any>('');
|
||||
const previewVisible = ref(false);
|
||||
const tableColumns = ref<any>([
|
||||
|
||||
]);
|
||||
@@ -73,7 +76,7 @@ const getTableColumnFun = (data:any) => {
|
||||
|
||||
const obj:any = {
|
||||
title: `${names}-报告`,
|
||||
key: `${list[i].taskId}_${list[i].uuid}`,
|
||||
key: `${list[i].taskId}_${list[i].uuid}_${list[i].id}`,
|
||||
isShow: true,
|
||||
};
|
||||
|
||||
@@ -89,22 +92,33 @@ const getTableColumnFun = (data:any) => {
|
||||
}
|
||||
}
|
||||
|
||||
const listData:any = [];
|
||||
|
||||
for (let i = 0;i < tableColumns.value.length;i++) {
|
||||
const obj:any = {};
|
||||
const str = tableColumns.value[i].key;
|
||||
obj[str] = [];
|
||||
for (let j = 0;j < list.length;j++) {
|
||||
const str2 = list[j].taskId + '_' + list[j].uuid;
|
||||
const str2 = list[j].taskId + '_' + list[j].uuid + '_' + list[j].id;
|
||||
if (str2 === str) {
|
||||
obj[str].push(list[j].id);
|
||||
}
|
||||
}
|
||||
obj[str] = obj[str].join('_');
|
||||
if (obj[str]) {
|
||||
tableData.value.push(obj);
|
||||
listData.push(obj);
|
||||
}
|
||||
}
|
||||
|
||||
const pngObj:any = {};
|
||||
for (let i = 0;i < listData.length;i++) {
|
||||
|
||||
for (const key in listData[i]) {
|
||||
pngObj[key] = listData[i][key];
|
||||
}
|
||||
|
||||
}
|
||||
tableData.value.push(pngObj);
|
||||
showTableContent.value = true;
|
||||
|
||||
nextTick(() => {
|
||||
@@ -128,7 +142,8 @@ watch(() => props.checkTaskInfo, (newVal) => {
|
||||
|
||||
const reviewFileFun = (ids:any) => {
|
||||
console.log(ids, 'ids');
|
||||
|
||||
fileId.value = ids;
|
||||
previewVisible.value = true;
|
||||
};
|
||||
|
||||
</script>
|
||||
|
||||
@@ -821,7 +821,7 @@ const getSimulationTaskFileFun = async (param:any) => {
|
||||
const params:any = {
|
||||
...param,
|
||||
};
|
||||
|
||||
params.fileName = params?.name || '';
|
||||
if (params?.project) {
|
||||
params.uuid = projectOptions.value.find((item:any) => {
|
||||
return item.value === params.project;
|
||||
|
||||
@@ -179,6 +179,16 @@ const initProjectStorageSpaceStatisticsFun = async () => {
|
||||
|
||||
if (res && res.code === 200) {
|
||||
|
||||
for (let i = 0;i < res.data.length;i++) {
|
||||
xData.push(res.data[i].nodeName);
|
||||
seriesData.push({
|
||||
type: 'bar',
|
||||
barWidth: '30%',
|
||||
name: res.data[i].nodeName,
|
||||
data: [res.data[i].totalSize],
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
projectStorageSpaceStatisticsRef.value.commonChartRef.disposeEchartsByKey('chart1');
|
||||
@@ -247,13 +257,21 @@ const initStatisticsOfSubjectStorageSpaceFun = async () => {
|
||||
const seriesData:any = [];
|
||||
const res:any = await getNodeSizeByNodeTypeApi({
|
||||
queryNodeType: 'discipline',
|
||||
uuid: projectStorageSpaceStatisticsFormData.nodeId,
|
||||
uuid: statisticsOfSubjectStorageSpaceFormData.nodeId,
|
||||
intervalMonths: formData.intervalMonths,
|
||||
targetYm: formData.targetYm,
|
||||
});
|
||||
|
||||
if (res && res.code === 200) {
|
||||
|
||||
for (let i = 0;i < res.data.length;i++) {
|
||||
xData.push(res.data[i].nodeName);
|
||||
seriesData.push({
|
||||
type: 'bar',
|
||||
barWidth: '30%',
|
||||
name: res.data[i].nodeName,
|
||||
data: [res.data[i].totalSize],
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
statisticsOfSubjectStorageSpaceRef.value.commonChartRef.disposeEchartsByKey('chart2');
|
||||
@@ -327,7 +345,15 @@ const initUserStorageSpaceStatisticsFun = async () => {
|
||||
});
|
||||
|
||||
if (res && res.code === 200) {
|
||||
|
||||
for (let i = 0;i < res.data.length;i++) {
|
||||
xData.push(res.data[i].userName);
|
||||
seriesData.push({
|
||||
type: 'bar',
|
||||
barWidth: '30%',
|
||||
name: res.data[i].userName,
|
||||
data: [res.data[i].totalFileSize],
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
userStorageSpaceStatisticsRef.value.commonChartRef.disposeEchartsByKey('chart3');
|
||||
@@ -391,7 +417,7 @@ const getDisciplineOptionsFun = async () => {
|
||||
disciplineOptions.value = res.data.data.map((item: any) => {
|
||||
return {
|
||||
label: item.nodeName,
|
||||
value: item.id,
|
||||
value: item.uuid,
|
||||
};
|
||||
});
|
||||
}
|
||||
|
||||
@@ -55,7 +55,7 @@
|
||||
<el-button size="small" type="danger">停止</el-button>
|
||||
<el-button size="small">刷新</el-button>
|
||||
<el-button size="small" type="primary" @click="startLocalAppFun">启动应用</el-button>
|
||||
<el-button size="small" type="primary">继续执行</el-button>
|
||||
<el-button size="small" type="primary" @click="continueStartRunJobFun">继续执行</el-button>
|
||||
<el-button size="small" @click="visible = true">查看所有计算</el-button>
|
||||
|
||||
</div>
|
||||
@@ -147,6 +147,7 @@ import HpcList from '@/components/task/hpcList.vue';
|
||||
import { startProcessInstanceApi } from '@/api/project/run';
|
||||
import { execApi, getdeviceuuidApi, startupPlugin } from '@/api/application/application';
|
||||
import { ElMessage } from 'element-plus';
|
||||
import { continueServiceTaskApi } from '@/api/flowable/process';
|
||||
|
||||
const props = defineProps({
|
||||
runInfo: {
|
||||
@@ -178,6 +179,8 @@ const flowNodeParamData = ref<any>({});
|
||||
const changeCurrentFlowNodeFun = (info: any) => {
|
||||
const { node, data }: any = info;
|
||||
|
||||
console.log(info, 'info');
|
||||
|
||||
flowNode.value = node;
|
||||
flowNodeData.value = data;
|
||||
nodeParamDataList.value = flowNode.value?.store?.data?.data?.pageConfigList || [];
|
||||
@@ -199,6 +202,19 @@ const startTaskRunJobFun = async () => {
|
||||
}
|
||||
};
|
||||
|
||||
const continueStartRunJobFun = async () => {
|
||||
|
||||
const res:any = await continueServiceTaskApi({
|
||||
processInstanceId: flowNodeData.value.processInstanceId,
|
||||
taskDefinitionKey: flowNodeData.value.nodeId,
|
||||
flowelementType: flowNodeParamData.value.nodeTypeValue === '1' ? 'userTask' : 'serviceTask',
|
||||
});
|
||||
if (res && res.code === 200) {
|
||||
refreshRunFlowInfo();
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
// 启动应用
|
||||
const startLocalAppFun = async () => {
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
import { ref, watch, onMounted, nextTick } from 'vue';
|
||||
import { ref, watch, onMounted } from 'vue';
|
||||
import { ElMessage } from 'element-plus';
|
||||
import { Graph } from '@antv/x6';
|
||||
import { queryFlowTemplateDetailApi } from '@/api/capability/flow';
|
||||
@@ -86,6 +86,9 @@ const getFlowDetail = async(uuid:string) => {
|
||||
}
|
||||
}
|
||||
|
||||
console.log(dataJson, 'dataJson');
|
||||
console.log( graph.value, ' graph.value');
|
||||
|
||||
setTimeout(() => {
|
||||
graph.value.fromJSON(dataJson);
|
||||
graph.value.centerContent();
|
||||
@@ -155,9 +158,6 @@ const initGraph = async() => {
|
||||
return item.nodeId === node.id;
|
||||
});
|
||||
|
||||
console.log(node, 'node');
|
||||
console.log(data, 'data');
|
||||
|
||||
emits('change', {
|
||||
node,
|
||||
data,
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<template>
|
||||
<div class="param-set-page">
|
||||
<flowNodeParamTable :node-params="nodeParamData" :current-node="currentRunFlowNode" :page-info="nodeData" ></flowNodeParamTable>
|
||||
<flowNodeParamTable :node-params="nodeParamData" :current-node="currentRunFlowNode" :page-info="nodeInfo" ></flowNodeParamTable>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
|
||||
@@ -88,6 +88,11 @@ export default defineConfig(({ mode }) => {
|
||||
changeOrigin: true,
|
||||
rewrite: (path) => path.replace(/^\/local7107/, ''),
|
||||
},
|
||||
'/local7108': { // data文件模块
|
||||
target: 'http://192.168.65.161:80/api/simulation/flowable', // 开发环境
|
||||
changeOrigin: true,
|
||||
rewrite: (path) => path.replace(/^\/local7108/, ''),
|
||||
},
|
||||
},
|
||||
},
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user