136 lines
4.6 KiB
Diff
136 lines
4.6 KiB
Diff
From 75b27ec87339cb2b7d91a1d28fff8a1600825bf2 Mon Sep 17 00:00:00 2001
|
||
From: wkl505997900 <2313665567@qq.com>
|
||
Date: Tue, 19 Sep 2023 16:37:48 +0800
|
||
Subject: [PATCH] fix issue
|
||
|
||
---
|
||
src/views/leaks/components/CvesTable.vue | 78 ++++++++++++++----------
|
||
1 file changed, 47 insertions(+), 31 deletions(-)
|
||
|
||
diff --git a/src/views/leaks/components/CvesTable.vue b/src/views/leaks/components/CvesTable.vue
|
||
index d48c2fb..581ddd2 100644
|
||
--- a/src/views/leaks/components/CvesTable.vue
|
||
+++ b/src/views/leaks/components/CvesTable.vue
|
||
@@ -525,7 +525,9 @@ export default {
|
||
// 控制获取的cve是否被修复的变量,默认为未修复
|
||
affected: true,
|
||
// 控制获取的cve是否受影响的变量,默认为受影响
|
||
- rollback: false
|
||
+ rollback: false,
|
||
+ // 判断rpm二级列表是否有空值的变量
|
||
+ nullkey: 0
|
||
};
|
||
},
|
||
methods: {
|
||
@@ -727,6 +729,7 @@ export default {
|
||
} else {
|
||
this.selectedRowKeys = [];
|
||
this.innerselectedRowKeys = [];
|
||
+ this.innerCveList = [];
|
||
}
|
||
function setVal(list, arr) {
|
||
list.forEach(v => {
|
||
@@ -740,35 +743,46 @@ export default {
|
||
}
|
||
},
|
||
getChildCheck(id, val) {
|
||
- this.innerselectedRowKeys.push(this.fixed ? id + val.installed_rpm : id + val.available_rpm + val.installed_rpm)
|
||
- if (this.innerCveList.length !== 0) {
|
||
- const result = this.innerCveList.some(item => item.cve_id === id)
|
||
- if (result) {
|
||
- const target = this.innerCveList.find(item => item.cve_id === id)
|
||
- target.rpms.push({
|
||
- installed_rpm: val.installed_rpm,
|
||
- available_rpm: val.available_rpm,
|
||
- fix_way: val.support_way
|
||
- })
|
||
- } else {
|
||
- this.innerCveList.push({
|
||
- cve_id: id,
|
||
- rpms: [{
|
||
- installed_rpm: val.installed_rpm,
|
||
- available_rpm: val.available_rpm,
|
||
- fix_way: val.support_way
|
||
- }]
|
||
- })
|
||
- }
|
||
- } else {
|
||
- this.innerCveList.push({
|
||
- cve_id: id,
|
||
- rpms: [{
|
||
- installed_rpm: val.installed_rpm,
|
||
- available_rpm: val.available_rpm,
|
||
- fix_way: val.support_way
|
||
- }]
|
||
- })
|
||
+ // 重置nullkey
|
||
+ this.nullkey = 0
|
||
+ const _this = this
|
||
+ Object.keys(val).forEach(function(key) {
|
||
+ if (!val[key]) {
|
||
+ _this.nullkey++
|
||
+ }
|
||
+ });
|
||
+ if (this.nullkey === 0) {
|
||
+ // 若该行所有属性都不为null,再执行添加勾选及判断操作
|
||
+ this.innerselectedRowKeys.push(this.fixed ? id + val.installed_rpm : id + val.available_rpm + val.installed_rpm)
|
||
+ if (this.innerCveList.length !== 0) {
|
||
+ const result = this.innerCveList.some(item => item.cve_id === id)
|
||
+ if (result) {
|
||
+ const target = this.innerCveList.find(item => item.cve_id === id)
|
||
+ target.rpms.push({
|
||
+ installed_rpm: val.installed_rpm,
|
||
+ available_rpm: val.available_rpm,
|
||
+ fix_way: val.support_way
|
||
+ })
|
||
+ } else {
|
||
+ this.innerCveList.push({
|
||
+ cve_id: id,
|
||
+ rpms: [{
|
||
+ installed_rpm: val.installed_rpm,
|
||
+ available_rpm: val.available_rpm,
|
||
+ fix_way: val.support_way
|
||
+ }]
|
||
+ })
|
||
+ }
|
||
+ } else {
|
||
+ this.innerCveList.push({
|
||
+ cve_id: id,
|
||
+ rpms: [{
|
||
+ installed_rpm: val.installed_rpm,
|
||
+ available_rpm: val.available_rpm,
|
||
+ fix_way: val.support_way
|
||
+ }]
|
||
+ })
|
||
+ }
|
||
}
|
||
},
|
||
getUncheck(id, val) {
|
||
@@ -990,12 +1004,14 @@ export default {
|
||
this.selectedRowsAll = [];
|
||
this.innerselectedRowKeys = [];
|
||
this.expandedRowKeys = [];
|
||
+ this.innerCveList = []
|
||
},
|
||
handleRefresh() {
|
||
this.selectedRowKeys = [];
|
||
this.selectedRowsAll = [];
|
||
this.innerselectedRowKeys = [];
|
||
this.expandedRowKeys = [];
|
||
+ this.innerCveList = []
|
||
// 重新请求界面, 收起展开状态
|
||
// this.innerCveList = [];
|
||
this.getCves();
|
||
@@ -1114,7 +1130,7 @@ export default {
|
||
}
|
||
this.getCves();
|
||
// 重新请求数据后重置列表
|
||
- this.expandedRowKeys = []
|
||
+ this.resetSelection()
|
||
},
|
||
handleTaskCreateSuccess() {
|
||
this.handleRefresh();
|
||
--
|
||
Gitee
|
||
|