From 832826ea52119a9e514a059fa8ed62156837d9cf Mon Sep 17 00:00:00 2001 From: calvin Date: Sat, 16 Mar 2024 13:59:08 +0800 Subject: [PATCH] done (#15724) --- .../definition/components/start-modal.tsx | 75 ++++++++++++++++++- 1 file changed, 73 insertions(+), 2 deletions(-) diff --git a/dolphinscheduler-ui/src/views/projects/workflow/definition/components/start-modal.tsx b/dolphinscheduler-ui/src/views/projects/workflow/definition/components/start-modal.tsx index 83443a00c1..7e7a774658 100644 --- a/dolphinscheduler-ui/src/views/projects/workflow/definition/components/start-modal.tsx +++ b/dolphinscheduler-ui/src/views/projects/workflow/definition/components/start-modal.tsx @@ -54,6 +54,7 @@ import { } from '@vicons/antd' import { IDefinitionData } from '../types' import styles from '../index.module.scss' +import { queryProjectPreferenceByProjectCode } from '@/service/modules/projects-preference' const props = { row: { @@ -172,6 +173,75 @@ export default defineComponent({ ] } + const projectPreferences = ref({} as any) + + const initProjectPreferences = async (projectCode: number) => { + if (projectCode) { + await queryProjectPreferenceByProjectCode(projectCode).then( + (result: any) => { + if (result?.preferences && result.state === 1) { + projectPreferences.value = JSON.parse(result.preferences) + } + } + ) + } + } + + const containValueInOptions = ( + options: Array, + findingValue: string + ): boolean => { + for (let { value } of options) { + if (findingValue === value) { + return true + } + } + return false + } + + const restructureForm = async (form: any) => { + await initProjectPreferences(props.row.projectCode) + if (projectPreferences.value?.taskPriority) { + form.processInstancePriority = projectPreferences.value.taskPriority + } + if (projectPreferences.value?.warningType) { + form.warningType = projectPreferences.value.warningType + } + if (projectPreferences.value?.workerGroup) { + if ( + containValueInOptions( + variables.workerGroups, + projectPreferences.value.workerGroup + ) + ) { + form.workerGroup = projectPreferences.value.workerGroup + } + } + if (projectPreferences.value?.tenant) { + if ( + containValueInOptions( + variables.tenantList, + projectPreferences.value.tenant + ) + ) { + form.tenantCode = projectPreferences.value.tenant + } + } + if ( + projectPreferences.value?.environmentCode && + variables?.environmentList + ) { + if ( + containValueInOptions( + variables.environmentList, + projectPreferences.value.environmentCode + ) + ) { + form.environmentCode = projectPreferences.value.environmentCode + } + } + } + const updateWorkerGroup = () => { startState.startForm.environmentCode = null } @@ -206,6 +276,7 @@ export default defineComponent({ () => { if (props.show) { getStartParamsList(props.row.code) + restructureForm(startState.startForm) if (props.taskCode) startState.startForm.startNodeList = props.taskCode } @@ -438,8 +509,8 @@ export default defineComponent({ )}