Commit be4fa728 authored by zhukai's avatar zhukai Committed by qiaozhanwei
Browse files

fix the bug #1816 (#1834)

parent d02422d0
Loading
Loading
Loading
Loading
+28 −22
Original line number Diff line number Diff line
@@ -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

        // add task list
        let projectId = this.projectList[0].value
        this._getProcessByProjectId(projectId).then(definitionList => {
          // dependItemList index
          let is = (value) => _.some(this.dependItemList, { definitionId: value })
        let noArr = _.filter(this.definitionList, v => !is(v.value))
          let noArr = _.filter(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
          let val = value || definitionList[0].value
          this._getDependItemList(val).then(depTasksList => {
            this.$nextTick(() => {
            this.$emit('dependItemListEvent', _.concat(this.dependItemList, this._rtNewParams(val, depTasksList,projectId)))
              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))
              })
            })
          })