From 5fa0b7ca755f57fed336dae93001b52aac2a1451 Mon Sep 17 00:00:00 2001 From: zhouyang Date: Tue, 27 Jan 2026 18:55:26 +0800 Subject: [PATCH] =?UTF-8?q?update:=E6=9B=B4=E6=96=B0=E4=BB=BB=E5=8A=A1?= =?UTF-8?q?=E6=89=A7=E8=A1=8C=E9=80=BB=E8=BE=91=EF=BC=8C=E7=AD=89=E5=BE=85?= =?UTF-8?q?=E6=96=87=E4=BB=B6=E5=85=A8=E9=83=A8=E4=B8=8A=E4=BC=A0=E5=90=8E?= =?UTF-8?q?=E6=89=8D=E8=BF=9B=E8=A1=8C=E6=B5=81=E7=A8=8B=E6=88=96=E8=80=85?= =?UTF-8?q?=E9=87=8D=E6=96=B0=E6=89=A7=E8=A1=8C=E8=8A=82=E7=82=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/data/data.ts | 2 +- src/api/project/run.ts | 9 + src/components/flow/flowNodeParamTable.vue | 24 +- .../simulation/creation/components/stencil.ts | 2 +- .../components/leftTaskTree/index.vue | 1 + .../components/runDetailPage/index.vue | 526 +++++++++--------- src/views/task/execution/index.vue | 16 +- 7 files changed, 315 insertions(+), 265 deletions(-) diff --git a/src/api/data/data.ts b/src/api/data/data.ts index fa638e6c..3964ce63 100644 --- a/src/api/data/data.ts +++ b/src/api/data/data.ts @@ -58,7 +58,7 @@ export const dataExportKnowledgeListApi = (params: any, filename: string) => { return download(`${PREFIX}data/exportKnowledgeList`, params, filename); }; export const dataDownloadFileApi = (params: any) => { - return get(`${PREFIX}data/downloadFile`, params); + return post(`${PREFIX}data/downloadFile`, params); }; export const getFileBaseInfoApi = (params: any) => { diff --git a/src/api/project/run.ts b/src/api/project/run.ts index 4b315a82..e04b7440 100644 --- a/src/api/project/run.ts +++ b/src/api/project/run.ts @@ -267,3 +267,12 @@ export const syncKeyResultToTaskApi = (params: any) => { export const generateNewReportApi = (params: any) => { return download(`${PREFIX}run/generateNewReport`, params, params.fileName); }; + +/** + * 流程失败节点重试 + * @param params processInstanceId failNodeId + * @returns + */ +export const retryFailedNodeApi = (params: any) => { + return post(`${PREFIX}run/retryFailedNode`, params); +}; diff --git a/src/components/flow/flowNodeParamTable.vue b/src/components/flow/flowNodeParamTable.vue index 6e670c5a..264353da 100644 --- a/src/components/flow/flowNodeParamTable.vue +++ b/src/components/flow/flowNodeParamTable.vue @@ -238,10 +238,12 @@ const formatDataFun = (list: any, parentId: any) => { } } }; +const uploadFileFlag = ref(false); const checkParamRequired = ref(false); // 保存参数 -const saveNodeParamFun = async () => { +const saveNodeParamFun = async (flag?: any) => { + uploadFileFlag.value = false; const runNodeInfo = props.currentNode?.store?.data?.data?.flowNodeInfo; const runNodeData = props.currentNode?.store?.data?.data; const newParams: any = cloneDeep(tableData.value); @@ -251,7 +253,7 @@ const saveNodeParamFun = async () => { checkParamRequiredFun(newParams); if (checkParamRequired.value) { - ElMessage.warning('存在必填项没有填写!'); + // ElMessage.warning('存在必填项没有填写!'); checkParamRequired.value = false; // return; inputParams.executeMode = 'MANUAL'; @@ -259,7 +261,7 @@ const saveNodeParamFun = async () => { inputParams.executeMode = 'AUTO'; } - await setDataToParam(newParams, inputParams, true); + await setDataToParam(newParams, inputParams, true, flag); if (runNodeData.nodeType === 'HPC') { setSpecialParamData(inputParams, runNodeData); @@ -276,7 +278,7 @@ const saveNodeParamFun = async () => { const res: any = await saveNodeParamsApi(params); if (res && res.code === 200) { ElMessage.success('保存成功'); - emits('confirm'); + emits('confirm', { flag: uploadFileFlag.value }); } }; @@ -301,15 +303,16 @@ const checkParamRequiredFun = (list: any) => { } }; -const setDataToParam = async (list: any, obj: any, isUpload?: any) => { +const setDataToParam = async (list: any, obj: any, isUpload?: any, flag?: any) => { for (let i = 0; i < list.length; i++) { if (list[i]?.englishLabel) { if (list[i].tagType === WIDGET_TYPE.FILE && list[i]?.fileList?.length) { const fileList = list[i]?.fileList || []; let arrs: any = []; if (fileList.length) { - const fileData = await runUploadRunFilesFun(fileList); + const fileData = await runUploadRunFilesFun(fileList, flag); arrs = fileData; + uploadFileFlag.value = true; // for (let j = 0; j < fileList.length; j++) { // if (isUpload) { // await uploadRunFilesFun(fileList[j].raw); @@ -326,14 +329,14 @@ const setDataToParam = async (list: any, obj: any, isUpload?: any) => { if (list[i].tagType === WIDGET_TYPE.VIEW && list[i].tagIcon === 'row') { if (list[i]?.children?.length) { obj[list[i].vModel] = {}; - setDataToParam(list[i]?.children, obj[list[i].vModel], isUpload); + setDataToParam(list[i]?.children, obj[list[i].vModel], isUpload, flag); } } } } }; -const runUploadRunFilesFun = async (list: any) => { +const runUploadRunFilesFun = async (list: any, flag: any) => { const sourceFiles = []; for (let i = 0; i < list.length; i++) { @@ -370,6 +373,7 @@ const runUploadRunFilesFun = async (list: any) => { ...item, isApprove: 0, // 0否 1是 taskType: 4, // 4交付物 + callbackFlag: flag, }, }); }); @@ -468,7 +472,9 @@ const setReportSpecialParamDataFun = (param: any) => { localStorage.getItem('CURRENT_FILTER_RUN_TASK_TREE_PARAM') as string ); - param.reportName = '算例报告_' + dayjs().format('YYYY_MM_DD_HH_mm'); + if (!param.reportName) { + param.reportName = '算例报告_' + dayjs().format('YYYY_MM_DD_HH_mm'); + } param.applicants = getUserData().nickname; param.date = dayjs().format('YYYY-MM-DD HH:mm:ss'); param.loadcaseName = props.runInfo.parentName; diff --git a/src/views/simulation/creation/components/stencil.ts b/src/views/simulation/creation/components/stencil.ts index 21537003..17907298 100644 --- a/src/views/simulation/creation/components/stencil.ts +++ b/src/views/simulation/creation/components/stencil.ts @@ -159,7 +159,7 @@ export const getNodeList = async (noload?: any) => { if (!noload) { apps[i].nodeParamConfigName = await getAppConfigListFun(apps[i].uuid); } - typeKeyArray[apps[i].appType].nodes.push(apps[i]); + typeKeyArray[apps[i].appType]?.nodes?.push(apps[i]); appList.push(apps[i]); } } diff --git a/src/views/task/execution/components/leftTaskTree/index.vue b/src/views/task/execution/components/leftTaskTree/index.vue index dfe2081a..5cf6da72 100644 --- a/src/views/task/execution/components/leftTaskTree/index.vue +++ b/src/views/task/execution/components/leftTaskTree/index.vue @@ -610,6 +610,7 @@ const createRunFun = async (data: any) => { currentNodeInfo.value = runInfo; defaultExpandKeys.value = [runInfo.id]; taskTreeRef.value.setCurrentKey(runInfo.id); + emits('nodeClickFn', { node: currentNodeInfo.value }); } } else { info.label = info.runNames; diff --git a/src/views/task/execution/components/runDetailPage/index.vue b/src/views/task/execution/components/runDetailPage/index.vue index 83f90181..13f7e04c 100644 --- a/src/views/task/execution/components/runDetailPage/index.vue +++ b/src/views/task/execution/components/runDetailPage/index.vue @@ -3,21 +3,9 @@
{{ currentRunNodeInfo?.runName }}
-
任务状态: -
- @@ -62,37 +50,14 @@
- 开始 - - - - 刷新 - 作业列表
@@ -110,47 +75,36 @@
- - -
-
-
节点详情
-
- - -
-
-
-
- - - - - - -
-
- - - - + - -
-
- - + - - + + -
-
- -
-
- - - {{ flowNodeData.nodeName }} - - - {{ - getTypeNameFun(flowNodeParamData.nodeTypeValue) - }} - {{ getTypeNameFun(flowNodeParamData.nodeTypeValue) }} - {{ getTypeNameFun(flowNodeParamData.nodeTypeValue) }} - {{ - getTypeNameFun(flowNodeParamData.nodeTypeValue) - }} +
+
+ +
+
+ + + {{ flowNodeData.nodeName }} + + + {{ + getTypeNameFun(flowNodeParamData.nodeTypeValue) + }} + {{ + getTypeNameFun(flowNodeParamData.nodeTypeValue) + }} + {{ + getTypeNameFun(flowNodeParamData.nodeTypeValue) + }} + {{ + getTypeNameFun(flowNodeParamData.nodeTypeValue) + }} - - - -
-
-
- {{ getStyleFun(flowNodeData?.nodeStatus).title }} -
-
+ +
+ +
+
+
+ {{ getStyleFun(flowNodeData?.nodeStatus).title }} +
+
- -
- - - - {{ flowNodeData?.nodeDetailInfo?.durationFormatted || '--' }} - - - - - - {{ flowNodeData?.nodeDetailInfo?.startTime || '--' }} - - - - - - {{ flowNodeData?.nodeDetailInfo?.endTime || '--' }} - - -
-
-
+ +
+ + + + {{ flowNodeData?.nodeDetailInfo?.durationFormatted || '--' }} + + + + + + {{ flowNodeData?.nodeDetailInfo?.startTime || '--' }} + + + + + + {{ flowNodeData?.nodeDetailInfo?.endTime || '--' }} + + +
- - -
-
-
作业相关
-
- - -
-
-
-
- - - - - - - - - - -
-
- - - - - - - - -
-
+
+
+ + +
+
+
作业相关
+
+ +
- + + + + + + + +
+
+ + + + + + + + +
+
+
+
@@ -353,7 +295,7 @@ diff --git a/src/views/task/execution/index.vue b/src/views/task/execution/index.vue index 8d8d3b8b..1c63e45f 100644 --- a/src/views/task/execution/index.vue +++ b/src/views/task/execution/index.vue @@ -18,7 +18,7 @@ :show-task-info="false" > @@ -29,7 +29,7 @@