|
@@ -7,16 +7,16 @@
|
|
|
<span class="themeName">迭代 : {{ iterationData.name | ellipsis }}</span>
|
|
|
</el-tooltip>
|
|
|
<el-select
|
|
|
- v-model="value"
|
|
|
+ v-model="iterationData.status"
|
|
|
class="public_botton"
|
|
|
:class="{
|
|
|
- 'status_color': value === 0,
|
|
|
- 'status_color1': value === 1,
|
|
|
- 'status_color2': value === 2
|
|
|
+ 'status_color': iterationData.status === 0,
|
|
|
+ 'status_color1': iterationData.status === 1,
|
|
|
+ 'status_color2': iterationData.status === 2
|
|
|
}"
|
|
|
size="mini"
|
|
|
placeholder="请选择"
|
|
|
- @change="changeIterationStatus(value)"
|
|
|
+ @change="changeIterationStatus(iterationData.status)"
|
|
|
>
|
|
|
<el-option
|
|
|
v-for="item in statusArr"
|
|
@@ -29,7 +29,7 @@
|
|
|
<div class="Layout_space_between" style="color: #c4c3c3;">
|
|
|
<el-button size="mini" type="primary" @click="visibleplanning = true">规划迭代</el-button>
|
|
|
<div class="el-icon-setting partition" @click="showIteration = true" />
|
|
|
- <div class="el-icon-delete LittleHand" @click="isDialogVisible" />
|
|
|
+ <div class="el-icon-delete LittleHand" @click="dialogVisible = true" />
|
|
|
</div>
|
|
|
</div>
|
|
|
</el-header>
|
|
@@ -38,7 +38,7 @@
|
|
|
<div class="table-box">
|
|
|
<el-table
|
|
|
ref="topicTable"
|
|
|
- :data="tableData"
|
|
|
+ :data="RequirementSet"
|
|
|
size="small"
|
|
|
row-key="id"
|
|
|
:expand-row-keys="expands"
|
|
@@ -76,9 +76,9 @@
|
|
|
</el-table>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column min-width="20" align="center">
|
|
|
+ <!-- <el-table-column min-width="20" align="center">
|
|
|
<div class="el-icon-plus" />
|
|
|
- </el-table-column>
|
|
|
+ </el-table-column> -->
|
|
|
<el-table-column label="优先级" min-width="80" align="center">
|
|
|
<template v-slot="scope">
|
|
|
<div align="center">
|
|
@@ -87,7 +87,12 @@
|
|
|
:class="{
|
|
|
'priority_color': scope.row.priority === 0,
|
|
|
'priority_color1': scope.row.priority === 1,
|
|
|
- 'priority_color2': scope.row.priority === 2
|
|
|
+ 'priority_color2': scope.row.priority === 2,
|
|
|
+ 'priority_color3': scope.row.priority === 3,
|
|
|
+ 'priority_color4': scope.row.priority === 4,
|
|
|
+ 'priority_color5': scope.row.priority === 5,
|
|
|
+ 'priority_color6': scope.row.priority === 6
|
|
|
+
|
|
|
}"
|
|
|
>
|
|
|
{{ scope.row.priorityName }}
|
|
@@ -102,7 +107,21 @@
|
|
|
</el-table-column>
|
|
|
<el-table-column label="状态" min-width="100" show-overflow-tooltip align="center">
|
|
|
<template v-slot="scope">
|
|
|
- {{ scope.row.status }}
|
|
|
+ <el-select
|
|
|
+ v-model="scope.row.status"
|
|
|
+ :class="{
|
|
|
+ 'status_color': scope.row.status === 0,
|
|
|
+ 'status_color1': scope.row.status === 1,
|
|
|
+ 'status_color3': scope.row.status === 3,
|
|
|
+ 'status_color4': scope.row.status === 5,
|
|
|
+ 'status_color2': scope.row.status === 9
|
|
|
+ }"
|
|
|
+ class="public_botton"
|
|
|
+ size="mini"
|
|
|
+ @change="updateRequirementStatus(scope.row)"
|
|
|
+ >
|
|
|
+ <el-option v-for="item in requiredArray" :key="item.code" :label="item.msg" :value="item.code" />
|
|
|
+ </el-select>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
<el-table-column label="PM" min-width="100" show-overflow-tooltip align="center">
|
|
@@ -135,7 +154,7 @@
|
|
|
<!-- 迭代配置 dialog -->
|
|
|
<iteration-create title="迭代配置" width="60%" :show.sync="showIteration" :iterations="iterationData" @iteratioFilter="iteratioFilter" />
|
|
|
<!-- 规划迭代 dialog -->
|
|
|
- <planning-iteration :show.sync="visibleplanning" />
|
|
|
+ <planning-iteration :show.sync="visibleplanning" :iteration-id="iterationId" />
|
|
|
</el-container>
|
|
|
</template>
|
|
|
|
|
@@ -146,7 +165,8 @@ import iterationCreate from '@/views/projectManage/iteration/components/create.v
|
|
|
import planningIteration from '@/views/projectManage/iteration/components/PlanningIteration.vue'
|
|
|
import Sortable from 'sortablejs'
|
|
|
import image_role from '@/assets/麻将@2x.png'
|
|
|
-import { iterationList, iterationUpdate } from '@/api/iteration.js'
|
|
|
+import { iterationList, iterationUpdate, iterationRequire } from '@/api/iteration.js'
|
|
|
+import { showRequirementEnum, updateRequirementStatus } from '@/api/requirement.js'
|
|
|
export default {
|
|
|
components: {
|
|
|
iterationDelete,
|
|
@@ -169,7 +189,7 @@ export default {
|
|
|
dialogVisible: false, // 删除(弹窗)
|
|
|
showIteration: false, // 编辑迭代(弹窗)
|
|
|
visibleplanning: false, // 规划迭代(弹窗)
|
|
|
- value: 0,
|
|
|
+ requiredArray: [], // 需求状态
|
|
|
tableData: [
|
|
|
{
|
|
|
id: '1',
|
|
@@ -209,7 +229,8 @@ export default {
|
|
|
}
|
|
|
],
|
|
|
expands: [],
|
|
|
- iterationId: this.$route.query.id,
|
|
|
+ RequirementSet: [], // 迭代下的需求
|
|
|
+ iterationId: this.$route.query.id, // 当前迭代的id
|
|
|
iterationData: {}
|
|
|
}
|
|
|
},
|
|
@@ -219,10 +240,16 @@ export default {
|
|
|
this.setLabel()
|
|
|
},
|
|
|
methods: {
|
|
|
- iteratioFilter() {
|
|
|
- iterationList({ id: this.iterationId, curIndex: 1, pageSize: 15 }).then(res => {
|
|
|
- this.iterationData = res.data.list[0]
|
|
|
- })
|
|
|
+ async iteratioFilter() {
|
|
|
+ const list = iterationList({ id: this.iterationId, curIndex: 1, pageSize: 15 })
|
|
|
+ const requiredList = iterationRequire({ id: Number(this.iterationId), curIndex: 1, pageSize: 50 })
|
|
|
+ const requirementEnum = showRequirementEnum()
|
|
|
+ const listRes = await list
|
|
|
+ const listRequire = await requiredList
|
|
|
+ const requiredstatus = await requirementEnum
|
|
|
+ this.iterationData = listRes.data.list[0]
|
|
|
+ this.RequirementSet = listRequire.data.right.list
|
|
|
+ this.requiredArray = requiredstatus.data.requirementStatus
|
|
|
},
|
|
|
changeIterationStatus(e) { // 修改状态
|
|
|
iterationUpdate({ status: e, id: this.iterationData.id, name: this.iterationData.name }).then(res => {
|
|
@@ -246,6 +273,18 @@ export default {
|
|
|
cellDiv.appendChild(node)
|
|
|
})
|
|
|
},
|
|
|
+ updateRequirementStatus(val) {
|
|
|
+ console.log(val, 'ddddd')
|
|
|
+ const modifier = localStorage.getItem('username')
|
|
|
+ updateRequirementStatus({ id: val.id, status: val.status, modifier: modifier }).then(res => {
|
|
|
+ if (res.code === 200) {
|
|
|
+ this.iteratioFilter()
|
|
|
+ } else {
|
|
|
+ this.$message.warning(res.msg)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ )
|
|
|
+ },
|
|
|
cellDivClick(ele) {
|
|
|
console.log(ele)
|
|
|
const expandState = ele.getAttribute('isExpand') // 获取属性is-expand的值
|
|
@@ -278,9 +317,6 @@ export default {
|
|
|
}
|
|
|
console.log(this.expands, 'dsc')
|
|
|
},
|
|
|
- isDialogVisible() {
|
|
|
- this.dialogVisible = true
|
|
|
- },
|
|
|
// 行拖拽
|
|
|
rowDrop() {
|
|
|
const tbody = document.querySelector('.el-table__body-wrapper tbody')
|