This is an automated email from the ASF dual-hosted git repository.

journey pushed a commit to branch dev
in repository https://gitbox.apache.org/repos/asf/incubator-dolphinscheduler.git


The following commit(s) were added to refs/heads/dev by this push:
     new be4fa72  fix the bug #1816 (#1834)
be4fa72 is described below

commit be4fa728e9efe4e87c785a27f912c1eb0c669493
Author: zhukai <[email protected]>
AuthorDate: Wed Jan 15 13:56:02 2020 +0800

    fix the bug #1816 (#1834)
---
 .../formModel/tasks/_source/dependItemList.vue     | 50 ++++++++++++----------
 1 file changed, 28 insertions(+), 22 deletions(-)

diff --git 
a/dolphinscheduler-ui/src/js/conf/home/pages/dag/_source/formModel/tasks/_source/dependItemList.vue
 
b/dolphinscheduler-ui/src/js/conf/home/pages/dag/_source/formModel/tasks/_source/dependItemList.vue
index d6c8657..abec923 100644
--- 
a/dolphinscheduler-ui/src/js/conf/home/pages/dag/_source/formModel/tasks/_source/dependItemList.vue
+++ 
b/dolphinscheduler-ui/src/js/conf/home/pages/dag/_source/formModel/tasks/_source/dependItemList.vue
@@ -22,7 +22,7 @@
         </x-option>
       </x-select>
       <x-select filterable :style="{width:isInstance ? '450px' : '450px'}" 
:disabled="isDetails" v-model="el.definitionId" 
@on-change="_onChangeDefinitionId">
-        <x-option v-for="item in definitionList" :key="item.value" 
:value="item.value" :label="item.label">
+        <x-option v-for="item in el.definitionList" :key="item.value" 
:value="item.value" :label="item.label">
         </x-option>
       </x-select>
       <x-select filterable :style="{width:isInstance ? '450px' : '450px'}" 
:disabled="isDetails" v-model="el.depTasks">
@@ -64,7 +64,6 @@
     data () {
       return {
         list: [],
-        definitionList: [],
         projectList: [],
         cycleList: cycleList,
         isInstance: false,
@@ -88,16 +87,19 @@
       _add () {
         // btn loading
         this.isLoading = true
-        // dependItemList index
-        let is = (value) => _.some(this.dependItemList, { definitionId: value 
})
-        let noArr = _.filter(this.definitionList, v => !is(v.value))
-        let value = noArr[0] && noArr[0].value || null
-        let val = value || this.definitionList[0].value
+
         // add task list
         let projectId = this.projectList[0].value
-        this._getDependItemList(val).then(depTasksList => {
-          this.$nextTick(() => {
-            this.$emit('dependItemListEvent', _.concat(this.dependItemList, 
this._rtNewParams(val, depTasksList,projectId)))
+        this._getProcessByProjectId(projectId).then(definitionList => {
+          // dependItemList index
+          let is = (value) => _.some(this.dependItemList, { definitionId: 
value })
+          let noArr = _.filter(definitionList, v => !is(v.value))
+          let value = noArr[0] && noArr[0].value || null
+          let val = value || definitionList[0].value
+          this._getDependItemList(val).then(depTasksList => {
+            this.$nextTick(() => {
+              this.$emit('dependItemListEvent', _.concat(this.dependItemList, 
this._rtNewParams(val, definitionList, depTasksList, projectId)))
+            })
           })
         })
         // remove tooltip
@@ -131,25 +133,25 @@
        */
       _getProcessList () {
         return new Promise((resolve, reject) => {
-          this.definitionList = 
_.map(_.cloneDeep(this.store.state.dag.processListS), v => {
+          let definitionList = 
_.map(_.cloneDeep(this.store.state.dag.processListS), v => {
             return {
               value: v.id,
               label: v.name
             }
           })
-          resolve()
+          resolve(definitionList)
         })
       },
       _getProcessByProjectId (id) {
         return new Promise((resolve, reject) => {
           this.store.dispatch('dag/getProcessByProjectId', { projectId: id 
}).then(res => {
-            this.definitionList = _.map(_.cloneDeep(res), v => {
+            let definitionList = _.map(_.cloneDeep(res), v => {
               return {
                 value: v.id,
                 label: v.name
               }
             })
-            resolve(res)
+            resolve(definitionList)
           })
         })
       },
@@ -175,7 +177,7 @@
       _onChangeProjectId ({ value }) {
         this._getProcessByProjectId(value).then(definitionList => {
           /*this.$set(this.dependItemList, this.itemIndex, 
this._dlOldParams(value, definitionList, item))*/
-          let definitionId = definitionList[0].id
+          let definitionId = definitionList[0].value
           this._getDependItemList(definitionId).then(depTasksList => {
             let item = this.dependItemList[this.itemIndex]
             // init set depTasks All
@@ -192,7 +194,7 @@
           // init set depTasks All
           item.depTasks = 'ALL'
           // set dependItemList item data
-          this.$set(this.dependItemList, this.itemIndex, 
this._rtOldParams(value, depTasksList, item))
+          this.$set(this.dependItemList, this.itemIndex, 
this._rtOldParams(value, item.definitionList, depTasksList, item))
         })
       },
       _onChangeCycle ({ value }) {
@@ -200,10 +202,12 @@
         this.$set(this.dependItemList[this.itemIndex], 'dateValue', 
list[0].value)
         this.$set(this.dependItemList[this.itemIndex], 'dateValueList', list)
       },
-      _rtNewParams (value, depTasksList,projectId) {
+      _rtNewParams (value, definitionList, depTasksList, projectId) {
         return {
           projectId: projectId,
           definitionId: value,
+          // dependItem need private definitionList
+          definitionList: definitionList,
           depTasks: 'ALL',
           depTasksList: depTasksList,
           cycle: 'day',
@@ -212,10 +216,12 @@
           state: ''
         }
       },
-      _rtOldParams (value,depTasksList, item) {
+      _rtOldParams (value, definitionList, depTasksList, item) {
         return {
           projectId: item.projectId,
           definitionId: value,
+          // dependItem need private definitionList
+          definitionList: definitionList,
           depTasks: item.depTasks || 'ALL',
           depTasksList: depTasksList,
           cycle: item.cycle,
@@ -254,12 +260,12 @@
       this.isInstance = this.router.history.current.name === 
'projects-instance-details'
       // get processlist
       this._getProjectList().then(() => {
-        let projectId = this.projectList[0].value
         if (!this.dependItemList.length) {
+          let projectId = this.projectList[0].value
           this._getProcessByProjectId(projectId).then(definitionList => {
-            let value = this.definitionList[0].value
+            let value = definitionList[0].value
             this._getDependItemList(value).then(depTasksList => {
-              this.$emit('dependItemListEvent', _.concat(this.dependItemList, 
this._rtNewParams(value, depTasksList,projectId)))
+              this.$emit('dependItemListEvent', _.concat(this.dependItemList, 
this._rtNewParams(value, definitionList, depTasksList, projectId)))
             })
           })
         } else {
@@ -269,7 +275,7 @@
           this._getDependItemList(ids, false).then(res => {
             _.map(this.dependItemList, (v, i) => {
               this._getProcessByProjectId(v.projectId).then(definitionList => {
-                this.$set(this.dependItemList, i, 
this._rtOldParams(v.definitionId, ['ALL'].concat(_.map(res[v.definitionId] || 
[], v => v.name)), v))
+                this.$set(this.dependItemList, i, 
this._rtOldParams(v.definitionId, definitionList, 
['ALL'].concat(_.map(res[v.definitionId] || [], v => v.name)), v))
               })
             })
           })

Reply via email to