Projects
Eulaceura:Mainline:GA
aops-hermes
_service:obs_scm:006-host-status-adaption.patch
Sign Up
Log In
Username
Password
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File _service:obs_scm:006-host-status-adaption.patch of Package aops-hermes
From 47aaab21d6606f27d6117eb53034f6c2c5f3edf3 Mon Sep 17 00:00:00 2001 From: Hu gang <18768366022@163.com> Date: Wed, 20 Dec 2023 19:26:33 +0800 Subject: [PATCH] fix: host status adaptation --- src/api/leaks.js | 3 +- src/vendor/ant-design-pro/utils/request.js | 6 ++++ src/views/assests/HostDetail.vue | 34 +++++++------------ .../assests/components/HostBasicInfo.vue | 4 +-- .../assests/components/HostChartInfo.vue | 33 +++++++----------- src/views/leaks/CVEsDetail.vue | 21 +++++------- src/views/leaks/LeakTaskDetail.vue | 3 +- src/views/leaks/components/HostTable.vue | 12 +++---- 8 files changed, 49 insertions(+), 67 deletions(-) diff --git a/src/api/leaks.js b/src/api/leaks.js index c6f704b..da3fbf8 100644 --- a/src/api/leaks.js +++ b/src/api/leaks.js @@ -347,6 +347,7 @@ export function setCveStatus({cveList, status}) { } export function getHostUnderCVE({tableInfo, ...parameter}) { + const repoList = tableInfo.filters.repo ? tableInfo.filters.repo.map((v) => (v === '' ? null : v)) : null; return request({ url: api.getHostUnderCVE, method: 'post', @@ -358,7 +359,7 @@ export function getHostUnderCVE({tableInfo, ...parameter}) { fixed: tableInfo.fixed, host_name: tableInfo.filters.host_name === null ? undefined : tableInfo.filters.host_name, host_group: tableInfo.filters.host_group === null ? undefined : tableInfo.filters.host_group, - repo: tableInfo.filters.repo === null ? undefined : tableInfo.filters.repo, + repo: repoList === null ? undefined : repoList, last_scan: tableInfo.filters.last_scan }, page: tableInfo.pagination.current, diff --git a/src/vendor/ant-design-pro/utils/request.js b/src/vendor/ant-design-pro/utils/request.js index 11be85a..36615ad 100644 --- a/src/vendor/ant-design-pro/utils/request.js +++ b/src/vendor/ant-design-pro/utils/request.js @@ -165,6 +165,12 @@ request.interceptors.response.use((response) => { }); }); return retryRequest; + case '1108': + notification.error({ + message: '暂无指标数据!', + description: response.data.message + }); + break; default: notification.error({ message: response.data.label, diff --git a/src/views/assests/HostDetail.vue b/src/views/assests/HostDetail.vue index 6eadb05..ea08cfa 100644 --- a/src/views/assests/HostDetail.vue +++ b/src/views/assests/HostDetail.vue @@ -49,30 +49,20 @@ export default { }; }, methods: { - fetchHostInfo() { + async fetchHostInfo() { this.basicHostInfoIsLoading = true; - getHostDetail(Number(this.hostId), true) - .then((res) => { - this.basicHostInfo = res.data.host_infos[0]; - this.scene = this.basicHostInfo.scene; - }) - .catch((err) => { - this.$message.error(err.response.message); - }) - .finally(() => { - this.basicHostInfoIsLoading = false; - }); this.basicInfoIsLoading = true; - getHostDetail(Number(this.hostId), false) - .then((res) => { - this.basicInfo = res.data.host_infos[0]; - }) - .catch((err) => { - this.$message.error(err.response.message); - }) - .finally(() => { - this.basicInfoIsLoading = false; - }); + const basicHostRes = await getHostDetail(Number(this.hostId), true); + if (basicHostRes) { + this.basicHostInfo = basicHostRes.data.host_infos[0]; + this.scene = this.basicHostInfo.scene; + } + const basicRes = await getHostDetail(Number(this.hostId), false); + if (basicRes) { + this.basicInfo = basicRes.data.host_infos[0]; + } + this.basicInfoIsLoading = false; + this.basicHostInfoIsLoading = false; }, reFetchHostInfo() { this.fetchHostInfo(); diff --git a/src/views/assests/components/HostBasicInfo.vue b/src/views/assests/components/HostBasicInfo.vue index bab1074..9909e44 100644 --- a/src/views/assests/components/HostBasicInfo.vue +++ b/src/views/assests/components/HostBasicInfo.vue @@ -235,6 +235,7 @@ export default { getDetail() { let data = this.basicInfo; data = data.host_info; + this.basicInfo.status !== null && (this.status = this.basicInfo.status); for (const member in data.os) { this.os[member] = data.os[member] || '暂无'; } @@ -257,8 +258,7 @@ export default { this.detailIcon = 'up'; } } - }, - mounted() {} + } }; </script> <style lang="less" scoped> diff --git a/src/views/assests/components/HostChartInfo.vue b/src/views/assests/components/HostChartInfo.vue index 2763d3c..d9e8fe7 100644 --- a/src/views/assests/components/HostChartInfo.vue +++ b/src/views/assests/components/HostChartInfo.vue @@ -120,29 +120,20 @@ export default { methods: { // 获取指标项,一个指标项对应一个图表 getHostMetrics() { - const _this = this; - _this.chartLoading = true; + this.chartLoading = true; getHostMetrics({ - query_ip: _this.queryIp - }) - .then((res) => { - _this.metrics = res.data.results; - if (_this.selectedMetrics.length < 1) { - _this.selectedMetrics = res.data.results.slice(0, 4); - storage.set('hostChartsSelectedMetrics', _this.selectedMetrics, 30 * 24 * 60 * 60 * 1000); + query_ip: this.queryIp + }).then((res) => { + if (res) { + this.metrics = res.data.results; + if (this.selectedMetrics.length < 1) { + this.selectedMetrics = res.data.results.slice(0, 4); + storage.set('hostChartsSelectedMetrics', this.selectedMetrics, 30 * 24 * 60 * 60 * 1000); } - _this.getMetricData(); - }) - .catch((err) => { - if (err.response.code === '1108') { - _this.$message.info('暂无指标数据!'); - } else { - _this.$message.error(err.response.message); - } - }) - .finally(() => { - _this.chartLoading = false; - }); + this.getMetricData(); + } + this.chartLoading = false; + }); }, // 获取各个指标项下的所有序列数据 getMetricData() { diff --git a/src/views/leaks/CVEsDetail.vue b/src/views/leaks/CVEsDetail.vue index 3736592..4887c50 100644 --- a/src/views/leaks/CVEsDetail.vue +++ b/src/views/leaks/CVEsDetail.vue @@ -175,26 +175,21 @@ export default { this.getHostList(this.cve_id, data); }, getHostList(cveId, data) { - const _this = this; this.hostIsLoading = true; getHostUnderCVE({ ...data, cve_id: cveId - }) - .then(function (res) { - _this.hostList = res.data.result || []; - _this.hostList.forEach((item) => { + }).then((res) => { + if (res) { + this.hostList = res.data.result || []; + this.hostList.forEach((item) => { item.hp_status = item.hp_status ? item.hp_status : '——'; item.fixStatus = item.hotpatch ? `是(${item.hp_status})` : '否'; }); - _this.paginationTotal = res.data.total_count || (res.data.total_count === 0 ? 0 : undefined); - }) - .catch(function (err) { - _this.$message.error(err.response.message); - }) - .finally(function () { - _this.hostIsLoading = false; - }); + this.paginationTotal = res.data.total_count || (res.data.total_count === 0 ? 0 : undefined); + } + }); + this.hostIsLoading = false; }, setStatus(status) { const _this = this; diff --git a/src/views/leaks/LeakTaskDetail.vue b/src/views/leaks/LeakTaskDetail.vue index 56056c9..134a0cb 100644 --- a/src/views/leaks/LeakTaskDetail.vue +++ b/src/views/leaks/LeakTaskDetail.vue @@ -105,7 +105,7 @@ <a-input-search :placeholder="taskType === 'hotpatch remove' ? `按CVE ID搜索` : `按主机名或IP搜索`" style="width: 200px" - maxLength="20" + :maxLength="20" @search="onSearch" /> </a-col> @@ -646,6 +646,7 @@ export default { this.tableIsLoading = false; }, handleTableChange(pagination, filters, sorter) { + this.expandedRowKeys = []; // 存储翻页状态 for (var key in filters) { if (filters[key] !== null) { diff --git a/src/views/leaks/components/HostTable.vue b/src/views/leaks/components/HostTable.vue index b83feb8..1546260 100644 --- a/src/views/leaks/components/HostTable.vue +++ b/src/views/leaks/components/HostTable.vue @@ -960,8 +960,8 @@ export default { }, getRepoList() { const _this = this; - getRepoList() - .then(function (res) { + getRepoList().then((res) => { + if (res) { const arr = (res.data.result || []).map((repo) => { return { text: repo.repo_name, @@ -972,11 +972,9 @@ export default { text: '未设置', value: '' }); - _this.repoFilterList = arr; - }) - .catch(function (err) { - _this.$message.error(err.response.message); - }); + this.repoFilterList = arr; + } + }); }, // 检查是否有筛选条件 checkHasFilter(filters) { -- Gitee
Locations
Projects
Search
Status Monitor
Help
Open Build Service
OBS Manuals
API Documentation
OBS Portal
Reporting a Bug
Contact
Mailing List
Forums
Chat (IRC)
Twitter
Open Build Service (OBS)
is an
openSUSE project
.
浙ICP备2022010568号-2