This is an automated email from the ASF dual-hosted git repository. zhongjiajie pushed a commit to branch 3.2.0-release in repository https://gitbox.apache.org/repos/asf/dolphinscheduler.git
commit 3b3e2f17127a537daf379709ede526823aa1b3b2 Author: Kerwin <[email protected]> AuthorDate: Wed Sep 13 11:17:10 2023 +0800 [Fix-14907]Fix click to view the history in the task node of the workflow instance (#14909) (cherry picked from commit 4938470d205dba485798112fea748b0bdb1ea061) --- docs/docs/en/guide/project/workflow-instance.md | 2 +- docs/docs/zh/guide/project/workflow-instance.md | 2 +- .../api/controller/TaskInstanceController.java | 9 ++++++--- .../api/controller/v2/TaskInstanceV2Controller.java | 4 +++- .../dto/taskInstance/TaskInstanceQueryRequest.java | 3 +++ .../api/service/TaskInstanceService.java | 2 ++ .../api/service/impl/TaskInstanceServiceImpl.java | 4 ++++ .../api/controller/TaskInstanceControllerTest.java | 5 +++-- .../controller/v2/TaskInstanceV2ControllerTest.java | 3 ++- .../api/service/TaskInstanceServiceTest.java | 20 +++++++++++++------- .../dao/mapper/TaskInstanceMapper.java | 2 ++ .../dao/mapper/TaskInstanceMapper.xml | 6 ++++++ .../dao/mapper/TaskInstanceMapperTest.java | 1 + dolphinscheduler-ui/src/locales/en_US/project.ts | 1 + dolphinscheduler-ui/src/locales/zh_CN/project.ts | 1 + .../projects/task/components/node/detail-modal.tsx | 5 ++--- .../src/views/projects/task/instance/batch-task.tsx | 15 +++++++++++++++ .../src/views/projects/task/instance/use-table.ts | 9 +++++++-- 18 files changed, 73 insertions(+), 21 deletions(-) diff --git a/docs/docs/en/guide/project/workflow-instance.md b/docs/docs/en/guide/project/workflow-instance.md index 6ef391ee67..b608c8df8d 100644 --- a/docs/docs/en/guide/project/workflow-instance.md +++ b/docs/docs/en/guide/project/workflow-instance.md @@ -24,7 +24,7 @@ Click "View Log", a log window pops up, as shown in the figure below, you can al Click `Project Management -> Workflow -> Workflow Instance` to enter the workflow instance page, click the workflow name to enter the workflow DAG page; -Double-click the task node, click `View History` to jump to the task instance page, and display the list of task instances run by the workflow instance. +Double-click the task node, click `View History` to jump to the task instance page, and display the list of task instances run by the task definition.  diff --git a/docs/docs/zh/guide/project/workflow-instance.md b/docs/docs/zh/guide/project/workflow-instance.md index 8aeff32dc2..141d7d4c47 100644 --- a/docs/docs/zh/guide/project/workflow-instance.md +++ b/docs/docs/zh/guide/project/workflow-instance.md @@ -23,7 +23,7 @@ ## 查看任务历史记录 - 点击项目管理->工作流->工作流实例,进入工作流实例页面,点击工作流名称,进入工作流 DAG 页面; -- 双击任务节点,如下图所示,点击"查看历史",跳转到任务实例页面,并展示该工作流实例运行的任务实例列表 +- 双击任务节点,如下图所示,点击"查看历史",跳转到任务实例页面,并展示该任务定义运行的任务实例列表  diff --git a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/TaskInstanceController.java b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/TaskInstanceController.java index 8c032b399e..2a7dcdc067 100644 --- a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/TaskInstanceController.java +++ b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/TaskInstanceController.java @@ -82,16 +82,17 @@ public class TaskInstanceController extends BaseController { */ @Operation(summary = "queryTaskListPaging", description = "QUERY_TASK_INSTANCE_LIST_PAGING_NOTES") @Parameters({ - @Parameter(name = "processInstanceId", description = "PROCESS_INSTANCE_ID", required = false, schema = @Schema(implementation = int.class, example = "100")), - @Parameter(name = "processInstanceName", description = "PROCESS_INSTANCE_NAME", required = false, schema = @Schema(implementation = String.class)), + @Parameter(name = "processInstanceId", description = "PROCESS_INSTANCE_ID", schema = @Schema(implementation = int.class, example = "100")), + @Parameter(name = "processInstanceName", description = "PROCESS_INSTANCE_NAME", schema = @Schema(implementation = String.class)), @Parameter(name = "searchVal", description = "SEARCH_VAL", schema = @Schema(implementation = String.class)), @Parameter(name = "taskName", description = "TASK_NAME", schema = @Schema(implementation = String.class)), + @Parameter(name = "taskCode", description = "TASK_CODE", schema = @Schema(implementation = Long.class)), @Parameter(name = "executorName", description = "EXECUTOR_NAME", schema = @Schema(implementation = String.class)), @Parameter(name = "stateType", description = "EXECUTION_STATUS", schema = @Schema(implementation = TaskExecutionStatus.class)), @Parameter(name = "host", description = "HOST", schema = @Schema(implementation = String.class)), @Parameter(name = "startDate", description = "START_DATE", schema = @Schema(implementation = String.class)), @Parameter(name = "endDate", description = "END_DATE", schema = @Schema(implementation = String.class)), - @Parameter(name = "taskExecuteType", description = "TASK_EXECUTE_TYPE", required = false, schema = @Schema(implementation = TaskExecuteType.class, example = "STREAM")), + @Parameter(name = "taskExecuteType", description = "TASK_EXECUTE_TYPE", schema = @Schema(implementation = TaskExecuteType.class, example = "STREAM")), @Parameter(name = "pageNo", description = "PAGE_NO", required = true, schema = @Schema(implementation = int.class, example = "1")), @Parameter(name = "pageSize", description = "PAGE_SIZE", required = true, schema = @Schema(implementation = int.class, example = "20")), }) @@ -106,6 +107,7 @@ public class TaskInstanceController extends BaseController { @RequestParam(value = "processDefinitionName", required = false) String processDefinitionName, @RequestParam(value = "searchVal", required = false) String searchVal, @RequestParam(value = "taskName", required = false) String taskName, + @RequestParam(value = "taskCode", required = false) Long taskCode, @RequestParam(value = "executorName", required = false) String executorName, @RequestParam(value = "stateType", required = false) TaskExecutionStatus stateType, @RequestParam(value = "host", required = false) String host, @@ -126,6 +128,7 @@ public class TaskInstanceController extends BaseController { processInstanceName, processDefinitionName, taskName, + taskCode, executorName, startTime, endTime, diff --git a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/v2/TaskInstanceV2Controller.java b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/v2/TaskInstanceV2Controller.java index 20f5cdb583..d2966003cd 100644 --- a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/v2/TaskInstanceV2Controller.java +++ b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/v2/TaskInstanceV2Controller.java @@ -78,6 +78,7 @@ public class TaskInstanceV2Controller extends BaseController { @Parameter(name = "processInstanceName", description = "PROCESS_INSTANCE_NAME", schema = @Schema(implementation = String.class)), @Parameter(name = "searchVal", description = "SEARCH_VAL", schema = @Schema(implementation = String.class)), @Parameter(name = "taskName", description = "TASK_NAME", schema = @Schema(implementation = String.class)), + @Parameter(name = "taskCode", description = "TASK_CODE", schema = @Schema(implementation = Long.class)), @Parameter(name = "executorName", description = "EXECUTOR_NAME", schema = @Schema(implementation = String.class)), @Parameter(name = "stateType", description = "EXECUTION_STATUS", schema = @Schema(implementation = TaskExecutionStatus.class)), @Parameter(name = "host", description = "HOST", schema = @Schema(implementation = String.class)), @@ -102,7 +103,8 @@ public class TaskInstanceV2Controller extends BaseController { result = taskInstanceService.queryTaskListPaging(loginUser, projectCode, taskInstanceQueryReq.getProcessInstanceId(), taskInstanceQueryReq.getProcessInstanceName(), taskInstanceQueryReq.getProcessDefinitionName(), - taskInstanceQueryReq.getTaskName(), taskInstanceQueryReq.getExecutorName(), + taskInstanceQueryReq.getTaskName(), taskInstanceQueryReq.getTaskCode(), + taskInstanceQueryReq.getExecutorName(), taskInstanceQueryReq.getStartTime(), taskInstanceQueryReq.getEndTime(), searchVal, taskInstanceQueryReq.getStateType(), taskInstanceQueryReq.getHost(), taskInstanceQueryReq.getTaskExecuteType(), taskInstanceQueryReq.getPageNo(), diff --git a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/dto/taskInstance/TaskInstanceQueryRequest.java b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/dto/taskInstance/TaskInstanceQueryRequest.java index 8181b3916c..b2f5d717ca 100644 --- a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/dto/taskInstance/TaskInstanceQueryRequest.java +++ b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/dto/taskInstance/TaskInstanceQueryRequest.java @@ -50,6 +50,9 @@ public class TaskInstanceQueryRequest extends PageQueryDto { @Schema(name = "taskName", example = "TASK-NAME") String taskName; + @Schema(name = "taskCode", example = "TASK-CODE") + Long taskCode; + @Schema(name = "executorName", example = "EXECUTOR-NAME") String executorName; diff --git a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/TaskInstanceService.java b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/TaskInstanceService.java index b9d7e91e98..86e5396dbe 100644 --- a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/TaskInstanceService.java +++ b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/TaskInstanceService.java @@ -37,6 +37,7 @@ public interface TaskInstanceService { * @param processInstanceId process instance id * @param searchVal search value * @param taskName task name + * @param taskCode task code * @param stateType state type * @param host host * @param startDate start time @@ -52,6 +53,7 @@ public interface TaskInstanceService { String processInstanceName, String processDefinitionName, String taskName, + Long taskCode, String executorName, String startDate, String endDate, diff --git a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/TaskInstanceServiceImpl.java b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/TaskInstanceServiceImpl.java index 7551e3a1fa..7bf45cc7b9 100644 --- a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/TaskInstanceServiceImpl.java +++ b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/TaskInstanceServiceImpl.java @@ -118,6 +118,7 @@ public class TaskInstanceServiceImpl extends BaseServiceImpl implements TaskInst * @param processInstanceId process instance id * @param searchVal search value * @param taskName task name + * @param taskCode task code * @param stateType state type * @param host host * @param startDate start time @@ -133,6 +134,7 @@ public class TaskInstanceServiceImpl extends BaseServiceImpl implements TaskInst String processInstanceName, String processDefinitionName, String taskName, + Long taskCode, String executorName, String startDate, String endDate, @@ -163,6 +165,7 @@ public class TaskInstanceServiceImpl extends BaseServiceImpl implements TaskInst processDefinitionName, searchVal, taskName, + taskCode, executorName, statusArray, host, @@ -177,6 +180,7 @@ public class TaskInstanceServiceImpl extends BaseServiceImpl implements TaskInst processInstanceName, searchVal, taskName, + taskCode, executorName, statusArray, host, diff --git a/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/controller/TaskInstanceControllerTest.java b/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/controller/TaskInstanceControllerTest.java index 961f828c8d..7ebe5bf757 100644 --- a/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/controller/TaskInstanceControllerTest.java +++ b/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/controller/TaskInstanceControllerTest.java @@ -66,11 +66,12 @@ public class TaskInstanceControllerTest extends AbstractControllerTest { result.setCode(Status.SUCCESS.getCode()); result.setMsg(Status.SUCCESS.getMsg()); - when(taskInstanceService.queryTaskListPaging(any(), eq(1L), eq(1), eq(""), eq(""), eq(""), eq(""), any(), any(), + when(taskInstanceService.queryTaskListPaging(any(), eq(1L), eq(1), eq(""), eq(""), eq(""), any(), eq(""), any(), + any(), eq(""), Mockito.any(), eq("192.168.xx.xx"), eq(TaskExecuteType.BATCH), any(), any())) .thenReturn(result); Result taskResult = taskInstanceController.queryTaskListPaging(null, 1L, 1, "", "", "", - "", "", TaskExecutionStatus.SUCCESS, "192.168.xx.xx", "2020-01-01 00:00:00", "2020-01-02 00:00:00", + "", 1L, "", TaskExecutionStatus.SUCCESS, "192.168.xx.xx", "2020-01-01 00:00:00", "2020-01-02 00:00:00", TaskExecuteType.BATCH, pageNo, pageSize); Assertions.assertEquals(Integer.valueOf(Status.SUCCESS.getCode()), taskResult.getCode()); } diff --git a/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/controller/v2/TaskInstanceV2ControllerTest.java b/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/controller/v2/TaskInstanceV2ControllerTest.java index c5472c5bf9..cc70f200e1 100644 --- a/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/controller/v2/TaskInstanceV2ControllerTest.java +++ b/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/controller/v2/TaskInstanceV2ControllerTest.java @@ -74,7 +74,8 @@ public class TaskInstanceV2ControllerTest extends AbstractControllerTest { when(taskInstanceService.queryTaskListPaging(any(), eq(1L), eq(taskInstanceQueryReq.getProcessInstanceId()), eq(taskInstanceQueryReq.getProcessInstanceName()), eq(taskInstanceQueryReq.getProcessInstanceName()), - eq(taskInstanceQueryReq.getTaskName()), eq(taskInstanceQueryReq.getExecutorName()), any(), any(), + eq(taskInstanceQueryReq.getTaskName()), Mockito.any(), eq(taskInstanceQueryReq.getExecutorName()), + any(), any(), eq(taskInstanceQueryReq.getSearchVal()), Mockito.any(), eq(taskInstanceQueryReq.getHost()), eq(taskInstanceQueryReq.getTaskExecuteType()), any(), any())).thenReturn(result); Result taskResult = taskInstanceV2Controller.queryTaskListPaging(null, 1L, taskInstanceQueryReq); diff --git a/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/service/TaskInstanceServiceTest.java b/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/service/TaskInstanceServiceTest.java index 761e556f17..2c912f4103 100644 --- a/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/service/TaskInstanceServiceTest.java +++ b/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/service/TaskInstanceServiceTest.java @@ -117,6 +117,7 @@ public class TaskInstanceServiceTest { "", "", "", + null, "test_user", "2019-02-26 19:48:00", "2019-02-26 19:48:22", @@ -137,6 +138,7 @@ public class TaskInstanceServiceTest { "", "", "", + null, "test_user", "20200101 00:00:00", "2020-01-02 00:00:00", @@ -174,6 +176,7 @@ public class TaskInstanceServiceTest { Mockito.any(), Mockito.any(), Mockito.any(), + Mockito.any(), Mockito.any())) .thenReturn(pageReturn); when(usersService.queryUser(processInstance.getExecutorId())).thenReturn(loginUser); @@ -181,18 +184,19 @@ public class TaskInstanceServiceTest { .thenReturn(Optional.of(processInstance)); Result successRes = taskInstanceService.queryTaskListPaging(loginUser, projectCode, 1, "", "", "", - "test_user", "2020-01-01 00:00:00", "2020-01-02 00:00:00", "", TaskExecutionStatus.SUCCESS, + null, "test_user", "2020-01-01 00:00:00", "2020-01-02 00:00:00", "", TaskExecutionStatus.SUCCESS, "192.168.xx.xx", TaskExecuteType.BATCH, 1, 20); Assertions.assertEquals(Status.SUCCESS.getCode(), (int) successRes.getCode()); // executor name empty when(taskInstanceMapper.queryTaskInstanceListPaging( Mockito.any(Page.class), eq(project.getCode()), eq(1), - eq(""), eq(""), eq(""), + eq(""), eq(""), eq(""), eq(null), eq(""), Mockito.any(), eq("192.168.xx.xx"), eq(TaskExecuteType.BATCH), eq(start), eq(end))) .thenReturn(pageReturn); Result executorEmptyRes = taskInstanceService.queryTaskListPaging(loginUser, projectCode, 1, "", "", "", - "", "2020-01-01 00:00:00", "2020-01-02 00:00:00", "", TaskExecutionStatus.SUCCESS, "192.168.xx.xx", + null, "", "2020-01-01 00:00:00", "2020-01-02 00:00:00", "", TaskExecutionStatus.SUCCESS, + "192.168.xx.xx", TaskExecuteType.BATCH, 1, 20); Assertions.assertEquals(Status.SUCCESS.getCode(), (int) executorEmptyRes.getCode()); @@ -201,22 +205,22 @@ public class TaskInstanceServiceTest { when(usersService.getUserIdByName(loginUser.getUserName())).thenReturn(-1); Result executorNullRes = taskInstanceService.queryTaskListPaging(loginUser, projectCode, 1, "", "", "", - "test_user", "2020-01-01 00:00:00", "2020-01-02 00:00:00", "", TaskExecutionStatus.SUCCESS, + null, "test_user", "2020-01-01 00:00:00", "2020-01-02 00:00:00", "", TaskExecutionStatus.SUCCESS, "192.168.xx.xx", TaskExecuteType.BATCH, 1, 20); Assertions.assertEquals(Status.SUCCESS.getCode(), (int) executorNullRes.getCode()); // start/end date null when(taskInstanceMapper.queryTaskInstanceListPaging(Mockito.any(Page.class), eq(project.getCode()), eq(1), - eq(""), eq(""), eq(""), + eq(""), eq(""), eq(""), eq(null), eq(""), Mockito.any(), eq("192.168.xx.xx"), eq(TaskExecuteType.BATCH), any(), any())) .thenReturn(pageReturn); Result executorNullDateRes = taskInstanceService.queryTaskListPaging(loginUser, projectCode, 1, "", "", "", - "", null, null, "", TaskExecutionStatus.SUCCESS, "192.168.xx.xx", TaskExecuteType.BATCH, 1, 20); + null, "", null, null, "", TaskExecutionStatus.SUCCESS, "192.168.xx.xx", TaskExecuteType.BATCH, 1, 20); Assertions.assertEquals(Status.SUCCESS.getCode(), (int) executorNullDateRes.getCode()); // start date error format when(taskInstanceMapper.queryTaskInstanceListPaging(Mockito.any(Page.class), eq(project.getCode()), eq(1), - eq(""), eq(""), eq(""), + eq(""), eq(""), eq(""), eq(null), eq(""), Mockito.any(), eq("192.168.xx.xx"), eq(TaskExecuteType.BATCH), any(), any())) .thenReturn(pageReturn); @@ -227,6 +231,7 @@ public class TaskInstanceServiceTest { "", "", "", + null, "", "error date", null, @@ -244,6 +249,7 @@ public class TaskInstanceServiceTest { "", "", "", + null, "", null, "error date", diff --git a/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/mapper/TaskInstanceMapper.java b/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/mapper/TaskInstanceMapper.java index ae66577214..7416116ed2 100644 --- a/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/mapper/TaskInstanceMapper.java +++ b/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/mapper/TaskInstanceMapper.java @@ -136,6 +136,7 @@ public interface TaskInstanceMapper extends BaseMapper<TaskInstance> { @Param("processInstanceName") String processInstanceName, @Param("searchVal") String searchVal, @Param("taskName") String taskName, + @Param("taskCode") Long taskCode, @Param("executorName") String executorName, @Param("states") int[] statusArray, @Param("host") String host, @@ -148,6 +149,7 @@ public interface TaskInstanceMapper extends BaseMapper<TaskInstance> { @Param("processDefinitionName") String processDefinitionName, @Param("searchVal") String searchVal, @Param("taskName") String taskName, + @Param("taskCode") Long taskCode, @Param("executorName") String executorName, @Param("states") int[] statusArray, @Param("host") String host, diff --git a/dolphinscheduler-dao/src/main/resources/org/apache/dolphinscheduler/dao/mapper/TaskInstanceMapper.xml b/dolphinscheduler-dao/src/main/resources/org/apache/dolphinscheduler/dao/mapper/TaskInstanceMapper.xml index 6dc684ad9e..2c71d45bba 100644 --- a/dolphinscheduler-dao/src/main/resources/org/apache/dolphinscheduler/dao/mapper/TaskInstanceMapper.xml +++ b/dolphinscheduler-dao/src/main/resources/org/apache/dolphinscheduler/dao/mapper/TaskInstanceMapper.xml @@ -267,6 +267,9 @@ <if test="taskName != null and taskName != ''"> and name = #{taskName} </if> + <if test="taskCode != null"> + and task_code = #{taskCode} + </if> <if test="states != null and states.length != 0"> and state in <foreach collection="states" index="index" item="i" open="(" separator="," close=")"> @@ -304,6 +307,9 @@ <if test="taskName != null and taskName != ''"> and name=#{taskName} </if> + <if test="taskCode != null"> + and task_code = #{taskCode} + </if> <if test="states != null and states.length != 0"> and state in <foreach collection="states" index="index" item="i" open="(" separator="," close=")"> diff --git a/dolphinscheduler-dao/src/test/java/org/apache/dolphinscheduler/dao/mapper/TaskInstanceMapperTest.java b/dolphinscheduler-dao/src/test/java/org/apache/dolphinscheduler/dao/mapper/TaskInstanceMapperTest.java index 0a6382e0d5..fbdaf482cb 100644 --- a/dolphinscheduler-dao/src/test/java/org/apache/dolphinscheduler/dao/mapper/TaskInstanceMapperTest.java +++ b/dolphinscheduler-dao/src/test/java/org/apache/dolphinscheduler/dao/mapper/TaskInstanceMapperTest.java @@ -375,6 +375,7 @@ public class TaskInstanceMapperTest extends BaseDaoTest { "", "", "", + null, "", new int[0], "", diff --git a/dolphinscheduler-ui/src/locales/en_US/project.ts b/dolphinscheduler-ui/src/locales/en_US/project.ts index 498ce8a538..0738958f61 100644 --- a/dolphinscheduler-ui/src/locales/en_US/project.ts +++ b/dolphinscheduler-ui/src/locales/en_US/project.ts @@ -243,6 +243,7 @@ export default { online: 'Online', offline: 'Offline', task_name: 'Task Name', + task_code: 'Task Code', task_type: 'Task Type', create_task: 'Create Task', workflow_instance: 'Workflow Instance', diff --git a/dolphinscheduler-ui/src/locales/zh_CN/project.ts b/dolphinscheduler-ui/src/locales/zh_CN/project.ts index 5b598cea17..e7f31e90da 100644 --- a/dolphinscheduler-ui/src/locales/zh_CN/project.ts +++ b/dolphinscheduler-ui/src/locales/zh_CN/project.ts @@ -241,6 +241,7 @@ export default { online: '已上线', offline: '已下线', task_name: '任务名称', + task_code: '任务编码', task_type: '任务类型', task_instance: '任务实例', create_task: '创建任务', diff --git a/dolphinscheduler-ui/src/views/projects/task/components/node/detail-modal.tsx b/dolphinscheduler-ui/src/views/projects/task/components/node/detail-modal.tsx index 6643d91796..f609c8d16c 100644 --- a/dolphinscheduler-ui/src/views/projects/task/components/node/detail-modal.tsx +++ b/dolphinscheduler-ui/src/views/projects/task/components/node/detail-modal.tsx @@ -158,9 +158,8 @@ const NodeDetailModal = defineComponent({ action: () => { router.push({ name: 'task-instance', - params: { - processInstanceId: processInstance.id, - taskName: props.data.name + query: { + taskCode: props.data.code } }) }, diff --git a/dolphinscheduler-ui/src/views/projects/task/instance/batch-task.tsx b/dolphinscheduler-ui/src/views/projects/task/instance/batch-task.tsx index 2ba8c31d77..03ca177df2 100644 --- a/dolphinscheduler-ui/src/views/projects/task/instance/batch-task.tsx +++ b/dolphinscheduler-ui/src/views/projects/task/instance/batch-task.tsx @@ -54,6 +54,7 @@ const BatchTaskInstance = defineComponent({ pageSize: variables.pageSize, pageNo: variables.page, searchVal: variables.searchVal, + taskCode: variables.taskCode, processInstanceId: variables.processInstanceId, host: variables.host, stateType: variables.stateType, @@ -73,6 +74,11 @@ const BatchTaskInstance = defineComponent({ requestTableData() } + const onClearSearchTaskCode = () => { + variables.taskCode = null + onSearch() + } + const onClearSearchTaskName = () => { variables.searchVal = '' onSearch() @@ -182,6 +188,7 @@ const BatchTaskInstance = defineComponent({ requestTableData, onUpdatePageSize, onSearch, + onClearSearchTaskCode, onClearSearchTaskName, onClearSearchProcessInstanceName, onClearSearchExecutorName, @@ -208,6 +215,14 @@ const BatchTaskInstance = defineComponent({ <NSpace vertical> <Card> <NSpace justify='end' wrap={false}> + <NInput + allowInput={this.trim} + v-model={[this.taskCode, 'value']} + size='small' + placeholder={t('project.task.task_code')} + clearable + onClear={this.onClearSearchTaskCode} + /> <NInput allowInput={this.trim} v-model={[this.searchVal, 'value']} diff --git a/dolphinscheduler-ui/src/views/projects/task/instance/use-table.ts b/dolphinscheduler-ui/src/views/projects/task/instance/use-table.ts index 88ba8f5222..dd8c944af0 100644 --- a/dolphinscheduler-ui/src/views/projects/task/instance/use-table.ts +++ b/dolphinscheduler-ui/src/views/projects/task/instance/use-table.ts @@ -44,9 +44,11 @@ export function useTable() { const { t } = useI18n() const route = useRoute() const router: Router = useRouter() + const projectCode = Number(route.params.projectCode) - const processInstanceId = Number(route.params.processInstanceId) - const taskName = route.params.taskName + const processInstanceId = Number(route.query.processInstanceId) + const taskName = route.query.taskName + const taskCode = route.query.taskCode const variables = reactive({ columns: [], @@ -55,6 +57,7 @@ export function useTable() { page: ref(1), pageSize: ref(10), searchVal: ref(taskName || null), + taskCode: ref(taskCode || null), processInstanceId: ref(processInstanceId ? processInstanceId : null), host: ref(null), stateType: ref(null), @@ -293,6 +296,7 @@ export function useTable() { ? variables.page - 1 : variables.page, searchVal: variables.searchVal, + taskCode: variables.taskCode, processInstanceId: variables.processInstanceId, host: variables.host, stateType: variables.stateType, @@ -310,6 +314,7 @@ export function useTable() { pageSize: params.pageSize, pageNo: params.pageNo, searchVal: params.searchVal, + taskCode: params.taskCode, processInstanceId: params.processInstanceId, host: params.host, stateType: params.stateType,
