|
@@ -1,15 +1,19 @@
|
|
|
<template>
|
|
|
<div class="dep-list-model">
|
|
|
<div v-for="(el,$index) in dependItemList" class="list" @click="itemIndex = $index">
|
|
|
- <x-select filterable :style="{width:isInstance ? '140px' : '162px'}" :disabled="isDetails" v-model="el.definitionId" @on-change="_onChangeDefinitionId">
|
|
|
+ <x-select filterable :style="{width:isInstance ? '450px' : '450px'}" :disabled="isDetails" v-model="el.projectId" @on-change="_onChangeProjectId">
|
|
|
+ <x-option v-for="item in projectList" :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.definitionId" @on-change="_onChangeDefinitionId">
|
|
|
<x-option v-for="item in definitionList" :key="item.value" :value="item.value" :label="item.label">
|
|
|
</x-option>
|
|
|
</x-select>
|
|
|
- <x-select filterable :style="{width:isInstance ? '144px' : '156px'}" :disabled="isDetails" v-model="el.depTasks">
|
|
|
+ <x-select filterable :style="{width:isInstance ? '450px' : '450px'}" :disabled="isDetails" v-model="el.depTasks">
|
|
|
<x-option v-for="item in el.depTasksList || []" :key="item" :value="item" :label="item">
|
|
|
</x-option>
|
|
|
</x-select>
|
|
|
- <x-select style="width: 80px;" v-model="el.cycle" :disabled="isDetails" @on-change="_onChangeCycle">
|
|
|
+ <x-select style="width: 150px;" v-model="el.cycle" :disabled="isDetails" @on-change="_onChangeCycle">
|
|
|
<x-option v-for="item in cycleList" :key="item.value" :value="item.value" :label="item.label">
|
|
|
</x-option>
|
|
|
</x-select>
|
|
@@ -45,6 +49,7 @@
|
|
|
return {
|
|
|
list: [],
|
|
|
definitionList: [],
|
|
|
+ projectList: [],
|
|
|
cycleList: cycleList,
|
|
|
isInstance: false,
|
|
|
itemIndex: null
|
|
@@ -93,6 +98,17 @@
|
|
|
})
|
|
|
}
|
|
|
},
|
|
|
+ _getProjectList () {
|
|
|
+ return new Promise((resolve, reject) => {
|
|
|
+ this.projectList = _.map(_.cloneDeep(this.store.state.dag.projectListS), v => {
|
|
|
+ return {
|
|
|
+ value: v.id,
|
|
|
+ label: v.name
|
|
|
+ }
|
|
|
+ })
|
|
|
+ resolve()
|
|
|
+ })
|
|
|
+ },
|
|
|
/**
|
|
|
* get processlist
|
|
|
*/
|
|
@@ -107,6 +123,19 @@
|
|
|
resolve()
|
|
|
})
|
|
|
},
|
|
|
+ _getProcessByProjectId (id) {
|
|
|
+ return new Promise((resolve, reject) => {
|
|
|
+ this.store.dispatch('dag/getProcessByProjectId', { projectId: id }).then(res => {
|
|
|
+ this.definitionList = _.map(_.cloneDeep(res), v => {
|
|
|
+ return {
|
|
|
+ value: v.id,
|
|
|
+ label: v.name
|
|
|
+ }
|
|
|
+ })
|
|
|
+ resolve(res)
|
|
|
+ })
|
|
|
+ })
|
|
|
+ },
|
|
|
/**
|
|
|
* get dependItemList
|
|
|
*/
|
|
@@ -126,6 +155,19 @@
|
|
|
/**
|
|
|
* change process get dependItemList
|
|
|
*/
|
|
|
+ _onChangeProjectId ({ value }) {
|
|
|
+ this._getProcessByProjectId(value).then(definitionList => {
|
|
|
+ /*this.$set(this.dependItemList, this.itemIndex, this._dlOldParams(value, definitionList, item))*/
|
|
|
+ let definitionId = definitionList[0].id
|
|
|
+ this._getDependItemList(definitionId).then(depTasksList => {
|
|
|
+ let item = this.dependItemList[this.itemIndex]
|
|
|
+ // init set depTasks All
|
|
|
+ item.depTasks = 'ALL'
|
|
|
+ // set dependItemList item data
|
|
|
+ this.$set(this.dependItemList, this.itemIndex, this._cpOldParams(value,definitionId, definitionList,depTasksList, item))
|
|
|
+ })
|
|
|
+ })
|
|
|
+ },
|
|
|
_onChangeDefinitionId ({ value }) {
|
|
|
// get depItem list data
|
|
|
this._getDependItemList(value).then(depTasksList => {
|
|
@@ -141,19 +183,21 @@
|
|
|
this.$set(this.dependItemList[this.itemIndex], 'dateValue', list[0].value)
|
|
|
this.$set(this.dependItemList[this.itemIndex], 'dateValueList', list)
|
|
|
},
|
|
|
- _rtNewParams (value, depTasksList) {
|
|
|
+ _rtNewParams (value, depTasksList,projectId) {
|
|
|
return {
|
|
|
+ projectId: projectId,
|
|
|
definitionId: value,
|
|
|
depTasks: 'ALL',
|
|
|
depTasksList: depTasksList,
|
|
|
cycle: 'day',
|
|
|
- dateValue: 'last1Days',
|
|
|
+ dateValue: 'today',
|
|
|
dateValueList: _.cloneDeep(dateValueList['day']),
|
|
|
state: ''
|
|
|
}
|
|
|
},
|
|
|
- _rtOldParams (value, depTasksList, item) {
|
|
|
+ _rtOldParams (value,depTasksList, item) {
|
|
|
return {
|
|
|
+ projectId: item.projectId,
|
|
|
definitionId: value,
|
|
|
depTasks: item.depTasks || 'ALL',
|
|
|
depTasksList: depTasksList,
|
|
@@ -163,6 +207,20 @@
|
|
|
state: item.state
|
|
|
}
|
|
|
},
|
|
|
+
|
|
|
+ _cpOldParams (value,definitionId, definitionList,depTasksList, item) {
|
|
|
+ return {
|
|
|
+ projectId: value,
|
|
|
+ definitionList: definitionList,
|
|
|
+ definitionId: definitionId,
|
|
|
+ depTasks: item.depTasks || 'ALL',
|
|
|
+ depTasksList: depTasksList,
|
|
|
+ cycle: item.cycle,
|
|
|
+ dateValue: item.dateValue,
|
|
|
+ dateValueList: _.cloneDeep(dateValueList[item.cycle]),
|
|
|
+ state: item.state
|
|
|
+ }
|
|
|
+ },
|
|
|
/**
|
|
|
* remove tip
|
|
|
*/
|
|
@@ -178,11 +236,14 @@
|
|
|
// is type projects-instance-details
|
|
|
this.isInstance = this.router.history.current.name === 'projects-instance-details'
|
|
|
// get processlist
|
|
|
- this._getProcessList().then(() => {
|
|
|
+ this._getProjectList().then(() => {
|
|
|
+ let projectId = this.projectList[0].value
|
|
|
if (!this.dependItemList.length) {
|
|
|
- let value = this.definitionList[0].value
|
|
|
- this._getDependItemList(value).then(depTasksList => {
|
|
|
- this.$emit('dependItemListEvent', _.concat(this.dependItemList, this._rtNewParams(value, depTasksList)))
|
|
|
+ this._getProcessByProjectId(projectId).then(definitionList => {
|
|
|
+ let value = this.definitionList[0].value
|
|
|
+ this._getDependItemList(value).then(depTasksList => {
|
|
|
+ this.$emit('dependItemListEvent', _.concat(this.dependItemList, this._rtNewParams(value, depTasksList,projectId)))
|
|
|
+ })
|
|
|
})
|
|
|
} else {
|
|
|
// get definitionId ids
|
|
@@ -190,7 +251,9 @@
|
|
|
// get item list
|
|
|
this._getDependItemList(ids, false).then(res => {
|
|
|
_.map(this.dependItemList, (v, i) => {
|
|
|
- this.$set(this.dependItemList, i, this._rtOldParams(v.definitionId, ['ALL'].concat(_.map(res[v.definitionId] || [], v => v.name)), v))
|
|
|
+ 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))
|
|
|
+ })
|
|
|
})
|
|
|
})
|
|
|
}
|