From 802bf4a2e08cb1d0b990869c56f7da44396f85d1 Mon Sep 17 00:00:00 2001 From: Aaron Wang Date: Mon, 30 Jan 2023 10:01:59 +0800 Subject: [PATCH] [Fix-13418][UI] Remove move-task-definition code (#13441) * remove move task definition * remove unused DragOutlined --- .../modules/process-task-relation/index.ts | 11 +- .../modules/process-task-relation/types.ts | 7 +- .../projects/task/definition/batch-task.tsx | 8 -- .../task/definition/components/move-modal.tsx | 109 ------------------ .../task/definition/components/use-move.ts | 105 ----------------- .../projects/task/definition/use-table.ts | 31 +---- 6 files changed, 3 insertions(+), 268 deletions(-) delete mode 100644 dolphinscheduler-ui/src/views/projects/task/definition/components/move-modal.tsx delete mode 100644 dolphinscheduler-ui/src/views/projects/task/definition/components/use-move.ts diff --git a/dolphinscheduler-ui/src/service/modules/process-task-relation/index.ts b/dolphinscheduler-ui/src/service/modules/process-task-relation/index.ts index c15ebf520b..dcc4738572 100644 --- a/dolphinscheduler-ui/src/service/modules/process-task-relation/index.ts +++ b/dolphinscheduler-ui/src/service/modules/process-task-relation/index.ts @@ -21,8 +21,7 @@ import { PreTaskCodesReq, PostTaskCodesReq, TaskCodeReq, - SaveReq, - MoveReq + SaveReq } from './types' import { axios } from '@/service/service' @@ -34,14 +33,6 @@ export function save(data: SaveReq, projectCode: ProjectCodeReq): any { }) } -export function moveRelation(data: MoveReq, projectCode: number): any { - return axios({ - url: `/projects/${projectCode}/process-task-relation/move`, - method: 'post', - data - }) -} - export function deleteEdge(data: SaveReq): any { return axios({ url: `/projects/${data.projectCode}/process-task-relation/${data.processDefinitionCode}/${data.preTaskCode}/${data.postTaskCode}`, diff --git a/dolphinscheduler-ui/src/service/modules/process-task-relation/types.ts b/dolphinscheduler-ui/src/service/modules/process-task-relation/types.ts index 0bde3160fd..d33ce903b8 100644 --- a/dolphinscheduler-ui/src/service/modules/process-task-relation/types.ts +++ b/dolphinscheduler-ui/src/service/modules/process-task-relation/types.ts @@ -40,16 +40,11 @@ interface SaveReq extends ProcessDefinitionCodeReq, ProjectCodeReq { preTaskCode: string } -interface MoveReq extends ProcessDefinitionCodeReq, TaskCodeReq { - targetProcessDefinitionCode: string -} - export { ProjectCodeReq, ProcessDefinitionCodeReq, PreTaskCodesReq, PostTaskCodesReq, TaskCodeReq, - SaveReq, - MoveReq + SaveReq } diff --git a/dolphinscheduler-ui/src/views/projects/task/definition/batch-task.tsx b/dolphinscheduler-ui/src/views/projects/task/definition/batch-task.tsx index c697341d65..500d63ddb6 100644 --- a/dolphinscheduler-ui/src/views/projects/task/definition/batch-task.tsx +++ b/dolphinscheduler-ui/src/views/projects/task/definition/batch-task.tsx @@ -39,7 +39,6 @@ import { useTask } from './use-task' import { TASK_TYPES_MAP } from '@/store/project/task-type' import Card from '@/components/card' import VersionModal from './components/version-modal' -import MoveModal from './components/move-modal' import TaskModal from '@/views/projects/task/components/node/detail-modal' import type { INodeData } from './types' @@ -86,7 +85,6 @@ const BatchTaskDefinition = defineComponent({ const onRefresh = () => { variables.showVersionModalRef = false - variables.showMoveModalRef = false requestData() } const onCreate = () => { @@ -205,12 +203,6 @@ const BatchTaskDefinition = defineComponent({ onConfirm={() => (this.showVersionModalRef = false)} onRefresh={onRefresh} /> - (this.showMoveModalRef = false)} - onRefresh={onRefresh} - /> , - default: false - }, - row: { - type: Object as PropType, - default: {} - } -} - -const MoveModal = defineComponent({ - name: 'MoveModal', - props, - emits: ['refresh', 'cancel'], - setup(props, ctx) { - const { t } = useI18n() - const { variables, handleValidate, getListData } = useMove() - - const cancelModal = () => { - variables.model.targetProcessDefinitionCode = '' - ctx.emit('cancel') - } - - const confirmModal = () => { - handleValidate() - } - - watch( - () => props.show, - () => { - variables.taskCode = props.row.taskCode - variables.processDefinitionCode = props.row.processDefinitionCode - variables.model.targetProcessDefinitionCode = - props.row.processDefinitionCode - - props.show && getListData() - } - ) - - watch( - () => variables.refreshTaskDefinition, - () => { - if (variables.refreshTaskDefinition) { - ctx.emit('refresh') - variables.refreshTaskDefinition = false - } - } - ) - - return { t, ...toRefs(variables), cancelModal, confirmModal } - }, - render() { - const { t, show, cancelModal, confirmModal } = this - - return ( - - - - - - - - ) - } -}) - -export default MoveModal diff --git a/dolphinscheduler-ui/src/views/projects/task/definition/components/use-move.ts b/dolphinscheduler-ui/src/views/projects/task/definition/components/use-move.ts deleted file mode 100644 index a48774de72..0000000000 --- a/dolphinscheduler-ui/src/views/projects/task/definition/components/use-move.ts +++ /dev/null @@ -1,105 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import { reactive, ref } from 'vue' -import { useI18n } from 'vue-i18n' -import { useAsyncState } from '@vueuse/core' -import { querySimpleList } from '@/service/modules/process-definition' -import { useRoute } from 'vue-router' -import { moveRelation } from '@/service/modules/process-task-relation' -import type { SimpleListRes } from '@/service/modules/process-definition/types' - -export function useMove() { - const { t } = useI18n() - const route = useRoute() - const projectCode = Number(route.params.projectCode) - - const variables = reactive({ - taskCode: ref(''), - processDefinitionCode: ref(''), - refreshTaskDefinition: ref(false), - taskDefinitionFormRef: ref(), - model: { - targetProcessDefinitionCode: ref(''), - generalOptions: [] - }, - saving: false, - rules: { - targetProcessDefinitionCode: { - required: true, - trigger: ['change', 'blur'], - validator() { - if (!variables.model.targetProcessDefinitionCode) { - return new Error(t('project.task.workflow_name_tips')) - } - } - } - } - }) - - const getListData = () => { - const { state } = useAsyncState( - querySimpleList(projectCode).then((res: Array) => { - variables.model.generalOptions = res.map( - (item): { label: string; value: number } => { - return { - label: item.name, - value: item.code - } - } - ) as any - }), - {} - ) - - return state - } - - const handleValidate = () => { - variables.taskDefinitionFormRef.validate((errors: any) => { - if (errors) { - return - } - moveTask() - }) - } - - const moveTask = async () => { - if (variables.saving) return - variables.saving = true - try { - const data = { - targetProcessDefinitionCode: - variables.model.targetProcessDefinitionCode, - taskCode: variables.taskCode, - processDefinitionCode: variables.processDefinitionCode - } - await moveRelation(data, projectCode) - variables.saving = false - variables.model.targetProcessDefinitionCode = '' - variables.refreshTaskDefinition = true - } catch (err) { - variables.saving = false - } - } - - return { - variables, - handleValidate, - getListData - } -} diff --git a/dolphinscheduler-ui/src/views/projects/task/definition/use-table.ts b/dolphinscheduler-ui/src/views/projects/task/definition/use-table.ts index 00e1ed8b9d..ccd57d6266 100644 --- a/dolphinscheduler-ui/src/views/projects/task/definition/use-table.ts +++ b/dolphinscheduler-ui/src/views/projects/task/definition/use-table.ts @@ -31,7 +31,6 @@ import { useI18n } from 'vue-i18n' import { DeleteOutlined, EditOutlined, - DragOutlined, ExclamationCircleOutlined } from '@vicons/antd' import { @@ -146,7 +145,7 @@ export function useTable(onEdit: Function) { { title: t('project.task.operation'), key: 'operation', - ...COLUMN_WIDTH_CONFIG['operation'](4), + ...COLUMN_WIDTH_CONFIG['operation'](3), render(row: any) { return h(NSpace, null, { default: () => [ @@ -177,33 +176,6 @@ export function useTable(onEdit: Function) { default: () => t('project.task.edit') } ), - h( - NTooltip, - {}, - { - trigger: () => - h( - NButton, - { - circle: true, - type: 'info', - size: 'small', - disabled: - !!row.processDefinitionCode && - row.processReleaseState === 'ONLINE', - onClick: () => { - variables.showMoveModalRef = true - variables.row = row - } - }, - { - icon: () => - h(NIcon, null, { default: () => h(DragOutlined) }) - } - ), - default: () => t('project.task.move') - } - ), h( NTooltip, {}, @@ -288,7 +260,6 @@ export function useTable(onEdit: Function) { totalPage: ref(1), taskType: ref(null), showVersionModalRef: ref(false), - showMoveModalRef: ref(false), row: {}, loadingRef: ref(false) })