fix: 删除用例后数量统计错误 (#4350)

Co-authored-by: chenjianxing <jianxing.chen@fit2cloud.com>
This commit is contained in:
metersphere-bot 2021-07-02 16:32:00 +08:00 committed by GitHub
parent 462838b4e8
commit b6a11e41f7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 18 additions and 9 deletions

View File

@ -210,22 +210,28 @@ export default {
if (node.caseNum) {
node.caseNum++;
}
});
}, true);
if (this.extendTreeNodes[0].id === 'root') {
this.extendTreeNodes[0].caseNum++;
}
},
decrease(id) {
this.traverse(id, node => {
if (node.caseNum) {
node.caseNum--;
}
});
},
traverse(id, callback) {
for (let i = 0; i < this.treeNodes.length; i++) {
let rootNode = this.treeNodes[i];
this._traverse(rootNode, id, callback);
}, true);
if (this.extendTreeNodes[0].id === 'root') {
this.extendTreeNodes[0].caseNum--;
}
},
_traverse(rootNode, id, callback) {
traverse(id, callback, isParentCallback) {
for (let i = 0; i < this.treeNodes.length; i++) {
let rootNode = this.treeNodes[i];
this._traverse(rootNode, id, callback, isParentCallback);
}
},
_traverse(rootNode, id, callback, isParentCallback) {
if (rootNode.id === id) {
if (callback) {
callback(rootNode);
@ -235,8 +241,11 @@ export default {
if (!rootNode.children) {return false;}
for (let i = 0; i < rootNode.children.length; i++) {
let children = rootNode.children[i];
let result = this._traverse(children);
let result = this._traverse(children, id, callback, isParentCallback);
if (result === true) {
if (isParentCallback) {
callback(rootNode);
}
return result;
}
}