diff --git a/src/views/charts2/charts/NetworkOverviewApps.vue b/src/views/charts2/charts/NetworkOverviewApps.vue index 7f76b964..a69b4ac3 100644 --- a/src/views/charts2/charts/NetworkOverviewApps.vue +++ b/src/views/charts2/charts/NetworkOverviewApps.vue @@ -24,7 +24,7 @@
- {{$t('overall.delete')}} + {{$t('overall.delete')}}
@@ -115,6 +115,7 @@ import { get, put } from '@/utils/http' import { api } from '@/utils/api' import _ from 'lodash' import { getSecond } from '@/utils/date-util' +import { appTestData, appPrevTestData, providerTestData, providerPrevTestData } from './appsTestData' export default { name: 'NetworkOverviewApps', props: { @@ -168,339 +169,90 @@ export default { unitConvert, clickOutSide () { this.appData.forEach(t => { - t.moreName = false + t.moreOptions = false }) }, init () { - this.appDataQuery(this.appData) - }, - appDataQuery (data) { - const appLabels = [] - const providerLabels = [] - let appData = [] - let providerData = [] - data.forEach(t => { - if (t.type === 'app') { - appLabels.push(t) - } else if (t.type === 'provider') { - providerLabels.push(t) + // this.appDataQuery(this.appData) + const appCards = [] + const providerCards = [] + this.appData.forEach(d => { + if (d.type === 'app') { + appCards.push(d) + } else if (d.type === 'provider') { + providerCards.push(d) } }) - if (appLabels) { - const params = { + let prevRequest + let request + let params + if (appCards.length > 0) { + params = { startTime: getSecond(this.timeFilter.startTime), endTime: getSecond(this.timeFilter.endTime), - appLabels: appLabels.map(item => { return item.name }).join(',') + appLabels: appCards.map(item => { + return item.name + }).join(',') } - const app1 = get(api.netWorkOverview.applicationCycleTrafficTotal, params) - const app2 = get(api.netWorkOverview.applicationTrafficAnalysis, params) - this.resultTotal = [ - { - type: 'bytes', - analysis: { - rate: 2, - total: 3145435 - } - }, - { - type: 'packets', - analysis: { - rate: 2, - total: 3245435 - } - }, - { - type: 'sessions', - analysis: { - rate: 2, - total: 23345 - } - } - ] - this.resultAnalysis = [ - { - type: 'bytes', - l11: { - analysis: { - rate: 2 - }, - values: [ - [ - 1435781430781, - '12' - ], - [ - 1435781431781, - '13' - ] - ] - }, - a0: { - analysis: { - rate: 4 - }, - values: [ - [ - 1435781430781, - '12' - ], - [ - 1435781431781, - '31' - ] - ] - } - }, - { - type: 'packets', - l11: { - analysis: { - rate: 3 - }, - values: [ - [ - 1435781430781, - '13' - ], - [ - 1435781431781, - '21' - ] - ] - }, - a0: { - analysis: { - rate: 3 - }, - values: [ - [ - 1435781430781, - '11' - ], - [ - 1435781431781, - '21' - ] - ] - } - }, - { - type: 'sessions', - l11: { - analysis: { - rate: 2 - }, - values: [ - [ - 1435781430781, - '1' - ], - [ - 1435781431781, - '1' - ] - ] - } - } - ] - this.resultTotal.forEach(t => { - this.resultAnalysis.forEach((v, i) => { - if (t.type === v.type) { - this.resultAnalysis[i].total = t - } - }) - }) - appData = this.resultAnalysis - Promise.all([app1, app2]).then(res => { - if (res.code === 200) { - console.log(1) - } - }) - this.appData.forEach((app, i) => { - if (app.type === 'app') { - appData.forEach(t => { - if (t.type === this.appShowType && this.appShowType === 'bytes') { - // app.value = t.total.analysis.rate === 0 ? 0 : (t[app.name].analysis.rate - t.total.analysis.rate) / t.total.analysis.rate - app.rate = t[app.name].analysis.rate - app.pRate = t.total.analysis.rate - app.total = t.total.analysis.total - app.lineData = t[app.name].values.map(v => [Number(v[0]), Number(v[1]), 'time']) - app.trend = this.periodicJudgmentCalculationChange(app.rate, app.pRate).value - } - }) - this.initChart(app) - } - }) + prevRequest = get(api.netWorkOverview.applicationCycleTrafficTotal, params) + request = get(api.netWorkOverview.applicationTrafficAnalysis, params) + this.handleData(prevRequest, request, 'app') } - if (providerLabels) { - const params = { + if (providerCards.length > 0) { + params = { startTime: getSecond(this.timeFilter.startTime), endTime: getSecond(this.timeFilter.endTime), - appCompanies: providerLabels.map(item => { return item.name }).join(',') + appLabels: providerCards.map(item => { + return item.name + }).join(',') } - const app1 = get(api.netWorkOverview.appCompanyCycleTrafficTotal, params) - const app2 = get(api.netWorkOverview.appCompanyTrafficAnalysis, params) - this.resultTotal = [ - { - type: 'bytes', - analysis: { - rate: 20, - total: 3245435 - } - }, - { - type: 'packets', - analysis: { - rate: 2, - total: 3245435 - } - }, - { - type: 'sessions', - analysis: { - rate: 2, - total: 23345 - } + prevRequest = get(api.netWorkOverview.appCompanyCycleTrafficTotal, params) + request = get(api.netWorkOverview.appCompanyTrafficAnalysis, params) + this.handleData(prevRequest, request, 'provider') + } + }, + handleData (prevRequest, request, _t) { + Promise.all([prevRequest, request]).then(res => { + // if (res[0].code === 200 && res[1].code === 200) { + if (true) { + // const prevData = res[0].data.result + // const data = res[1].data.result + let prevData + let data + if (_t === 'app') { + prevData = appPrevTestData + data = appTestData + } else if (_t === 'provider') { + prevData = providerPrevTestData + data = providerTestData } - ] - this.resultAnalysis = [ - { - type: 'bytes', - l11: { - analysis: { - rate: 2 - }, - values: [ - [ - 1435781430781, - '12' - ], - [ - 1435781431781, - '13' - ] - ] - }, - a0: { - analysis: { - rate: 6 - }, - values: [ - [ - 1435781430781, - '12' - ], - [ - 1435781431781, - '31' - ] - ] - }, - d3: { - analysis: { - rate: 8 - }, - values: [ - [ - 1435781430781, - '121' - ], - [ - 1435781431781, - '131' - ], - [ - 1435781432781, - '321' - ], - [ - 1435781433781, - '331' - ] - ] - } - }, - { - type: 'packets', - l11: { - analysis: { - rate: 3 - }, - values: [ - [ - 1435781430781, - '13' - ], - [ - 1435781431781, - '21' - ] - ] - }, - a0: { - analysis: { - rate: 3 - }, - values: [ - [ - 1435781430781, - '11' - ], - [ - 1435781431781, - '21' - ] - ] - } - }, - { - type: 'sessions', - l11: { - analysis: { - rate: 2 - }, - values: [ - [ - 1435781430781, - '1' - ], - [ - 1435781431781, - '1' - ] - ] - } + let toCompareType = 'bytes' + if (this.metricFilter === 'Sessions/s') { + toCompareType = 'sessions' + } else if (this.metricFilter === 'Packets/s') { + toCompareType = 'packets' } - ] - this.resultTotal.forEach(t => { - this.resultAnalysis.forEach((v, i) => { - if (t.type === v.type) { - this.resultAnalysis[i].total = t + data.forEach(d => { + if (d.type === toCompareType) { + const prevTypeData = prevData.find(p => p.type === toCompareType) + Object.keys(d).forEach(app => { + if (app !== 'type') { + this.appData.forEach(d2 => { + if (d2.type === _t && d2.name === app) { + d2.rate = d[app].analysis.rate + d2.pRate = prevTypeData ? (prevTypeData[app] ? prevTypeData[app].rate : 0) : 0 + d2.total = d[app].analysis.total + d2.lineData = d[app].values.map(v => [Number(v[0]), Number(v[1]), 'time']) + d2.trend = this.periodicJudgmentCalculationChange(d2.rate, d2.pRate).value + this.initChart(d2) + } + }) + } + }) } }) - }) - Promise.all([app1, app2]).then(res => { - if (res.code === 200) { - console.log(1) - } - }) - providerData = this.resultAnalysis - this.appData.forEach((app, i) => { - if (app.type === 'provider') { - providerData.forEach(t => { - if (t.type === this.appShowType && this.appShowType === 'bytes') { - // app.value = t.total.analysis.rate === 0 ? 0 : (t[app.name].analysis.rate - t.total.analysis.rate) / t.total.analysis.rate - app.rate = t[app.name].analysis.rate - app.pRate = t.total.analysis.rate - app.total = t.total.analysis.total - app.lineData = t[app.name].values.map(v => [Number(v[0]), Number(v[1]), 'time']) - app.trend = this.periodicJudgmentCalculationChange(app.rate, app.pRate).value - } - }) - this.initChart(app) - } - }) - } + } + }) }, metricChange (value) { if (value === 'Bits/s') { @@ -705,7 +457,7 @@ export default { moreChange (app) { this.appData.forEach(t => { if (t.name === app.name && t.type === app.type) { - t.moreName = !t.moreName + t.moreOptions = !t.moreOptions } }) }, @@ -713,12 +465,13 @@ export default { const periodicData = {} if (period > pperiod) { periodicData.value = 'up' - periodicData.total = (period - pperiod) / pperiod + periodicData.total = pperiod === 0 ? 0 : (period - pperiod) / pperiod } else if (period < pperiod) { periodicData.value = 'down' periodicData.total = (pperiod - period) / pperiod } else { periodicData.value = '' + periodicData.total = 0 } return periodicData }, @@ -737,11 +490,9 @@ export default { app = apps.find(p => p.user === 'default') } this.appData = app.list - } - this.timer = setTimeout(() => { this.init() - }, 100) - window.addEventListener('resize', this.resize) + window.addEventListener('resize', this.resize) + } } } diff --git a/src/views/charts2/charts/NpmMap.vue b/src/views/charts2/charts/NpmMap.vue index 1b0c7233..10274dd5 100644 --- a/src/views/charts2/charts/NpmMap.vue +++ b/src/views/charts2/charts/NpmMap.vue @@ -40,25 +40,83 @@