|
|
@@ -36,7 +36,13 @@
|
|
|
<i class="el-icon-question"></i>
|
|
|
</el-tooltip>
|
|
|
</el-row>
|
|
|
- <Tree :data="requirements" v-loading="loading" @change="handleTreeChange" @nodeClick="handleNodeClick" ref="tree"></Tree>
|
|
|
+ <Tree
|
|
|
+ :data="requirements"
|
|
|
+ v-loading="loading"
|
|
|
+ @change="handleTreeChange"
|
|
|
+ @nodeClick="handleNodeClick"
|
|
|
+ ref="tree"
|
|
|
+ ></Tree>
|
|
|
<RequirementDrawer
|
|
|
ref="drawer"
|
|
|
v-bind="requirementInDrawer"
|
|
|
@@ -74,16 +80,26 @@ export default {
|
|
|
projectMembers: [],
|
|
|
};
|
|
|
},
|
|
|
- async mounted() {
|
|
|
- this.projectMembers = this.$store.state.workspace.currentProjectMembers;
|
|
|
- await this.getTreeData();
|
|
|
- this.drawChart();
|
|
|
+ computed: {
|
|
|
+ projectId() {
|
|
|
+ return this.$route.params.projectId;
|
|
|
+ },
|
|
|
+ },
|
|
|
+ watch: {
|
|
|
+ $route: {
|
|
|
+ async handler() {
|
|
|
+ this.projectMembers = this.$store.state.workspace.currentProjectMembers;
|
|
|
+ await this.getTreeData();
|
|
|
+ this.drawChart();
|
|
|
+ },
|
|
|
+ immediate: true,
|
|
|
+ },
|
|
|
},
|
|
|
methods: {
|
|
|
async getTreeData() {
|
|
|
this.loading = true;
|
|
|
try {
|
|
|
- this.requirements = this.addChild2Node(await RequirementAPI.getTreeNodesByProjectId(this.$store.state.workspace.currentProjectId));
|
|
|
+ this.requirements = this.addChild2Node(await RequirementAPI.getTreeNodesByProjectId(this.projectId));
|
|
|
} catch (e) {
|
|
|
console.error(e);
|
|
|
}
|
|
|
@@ -127,7 +143,7 @@ export default {
|
|
|
this.requirementInDrawer = Array.prototype.find.call(this.requirements, (requirement) => requirement.id === id);
|
|
|
},
|
|
|
async drawChart() {
|
|
|
- const bugList = await BugListAPI.getBugListByProjectId(this.$store.state.workspace.currentProjectId);
|
|
|
+ const bugList = await BugListAPI.getBugListByProjectId(this.projectId);
|
|
|
const requirementsValuesMap = new Map();
|
|
|
const requirementsValues = [];
|
|
|
const bugListValuesMap = new Map();
|