fix: 优化特殊列表数据为空是的判断条件,初始化单值折线图

This commit is contained in:
@changcode
2022-01-20 11:47:53 +08:00
parent 26b1b497c3
commit a6c5ee057d
5 changed files with 65 additions and 15 deletions

View File

@@ -184,7 +184,6 @@ export default {
const requestUrl = url || (chartParams && chartParams.url) const requestUrl = url || (chartParams && chartParams.url)
if (requestUrl) { if (requestUrl) {
get(replaceUrlPlaceholder(requestUrl, this.queryParams)).then(response => { get(replaceUrlPlaceholder(requestUrl, this.queryParams)).then(response => {
console.log(testData)
if (this.chartInfo.type === 23 && testData) { if (this.chartInfo.type === 23 && testData) {
response = testData.data response = testData.data
} else if (this.chartInfo.type === 24 && testData) { } else if (this.chartInfo.type === 24 && testData) {

View File

@@ -9,10 +9,10 @@
<div class="circle1" style=""></div> <div class="circle1" style=""></div>
</div> </div>
<div class="record__table-cell"> <div class="record__table-cell">
{{data ? data.message : '-'}}{{ data ? data.serverIP : '-'}}<br/> {{$_.get(data, "message") || '-'}}{{$_.get(data, "serverIP") || '-'}}<br/>
<span class="record_second" > {{data ? data.time : '-'}}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{{ data ? data.clientIP : '-'}}&nbsp;&nbsp;&nbsp; </span> <span class="record_second" > {{$_.get(data, "time") || '-'}}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{{ $_.get(data, "clientIP") || '-'}}&nbsp;&nbsp;&nbsp; </span>
<div class="record_second arrow arrow-hor right"> </div> <div class="record_second arrow arrow-hor right"> </div>
<span class="record_second">&nbsp;&nbsp;&nbsp; {{data ? data.serverIP : '-'}}</span> <span class="record_second">&nbsp;&nbsp;&nbsp; {{$_.get(data, "serverIP") || '-'}}</span>
</div> </div>
</div> </div>
</div> </div>

View File

@@ -10,9 +10,9 @@
<div class="dns-record__table-cell" style="width: 100%;">Country</div> <div class="dns-record__table-cell" style="width: 100%;">Country</div>
</div> </div>
<div class="dns-record__table-row" v-for="(data, index) in chartDate" :key="index"> <div class="dns-record__table-row" v-for="(data, index) in chartDate" :key="index">
<div class="dns-record__table-cell">{{data ? data.type : '-'}}</div> <div class="dns-record__table-cell">{{$_.get(data, "type") || '-'}}</div>
<div class="dns-record__table-cell">{{data ? data.value : '-'}}</div> <div class="dns-record__table-cell">{{$_.get(data, "value") || '-'}}</div>
<div class="dns-record__table-cell">{{data ? data.country : '-'}}</div> <div class="dns-record__table-cell">{{$_.get(data, "country") || '-'}}</div>
</div> </div>
</div> </div>
</div> </div>

View File

@@ -5,27 +5,27 @@
<div class="domain-detail-list"> <div class="domain-detail-list">
<div class="domain-detail-list__row"> <div class="domain-detail-list__row">
<div class="domain-detail-list__label">{{$t('entities.sponsor')}}</div> <div class="domain-detail-list__label">{{$t('entities.sponsor')}}</div>
<div class="domain-detail-list__content">{{ chartData && chartData.registrar ? chartData.registrar : '-'}}</div> <div class="domain-detail-list__content">{{ $_.get(chartData, "registrar") || '-'}}</div>
</div> </div>
<div class="domain-detail-list__row"> <div class="domain-detail-list__row">
<div class="domain-detail-list__label">{{$t('entities.org')}}</div> <div class="domain-detail-list__label">{{$t('entities.org')}}</div>
<div class="domain-detail-list__content">{{chartData && chartData.org ? chartData.org : '-'}}</div> <div class="domain-detail-list__content">{{ $_.get(chartData, "org") || '-'}}</div>
</div> </div>
<div class="domain-detail-list__row"> <div class="domain-detail-list__row">
<div class="domain-detail-list__label">Email</div> <div class="domain-detail-list__label">Email</div>
<div class="domain-detail-list__content">{{chartData && chartData.postcode ? chartData.postcode : '-'}}</div> <div class="domain-detail-list__content">{{ $_.get(chartData, "email") || '-'}}</div>
</div> </div>
<div class="domain-detail-list__row"> <div class="domain-detail-list__row">
<div class="domain-detail-list__label">{{$t('overall.country')}}</div> <div class="domain-detail-list__label">{{$t('overall.country')}}</div>
<div class="domain-detail-list__content">{{chartData && chartData.country ? chartData.country : '-'}}</div> <div class="domain-detail-list__content">{{ $_.get(chartData, "country") || '-'}}</div>
</div> </div>
<div class="domain-detail-list__row"> <div class="domain-detail-list__row">
<div class="domain-detail-list__label">{{$t('entities.creationDate')}}</div> <div class="domain-detail-list__label">{{$t('entities.creationDate')}}</div>
<div class="domain-detail-list__content">{{chartData ? parseMsDate(chartData.createTime) : '-'}}</div> <div class="domain-detail-list__content">{{ parseMsDate($_.get(chartData, "createTime")) || '-'}}</div>
</div> </div>
<div class="domain-detail-list__row"> <div class="domain-detail-list__row">
<div class="domain-detail-list__label">{{$t('entities.expirationDate')}}</div> <div class="domain-detail-list__label">{{$t('entities.expirationDate')}}</div>
<div class="domain-detail-list__content">{{chartData ? parseMsDate(chartData.expirationTime) : '-'}}</div> <div class="domain-detail-list__content">{{ parseMsDate($_.get(chartData, "expirationTime")) || '-'}}</div>
</div> </div>
</div> </div>
</div> </div>

View File

@@ -61,7 +61,13 @@
<script> <script>
import unitConvert from '@/utils/unit-convert' import unitConvert from '@/utils/unit-convert'
import {unitTypes} from "@/utils/constants"; import {
unitTypes
} from "@/utils/constants"
import { get } from '@/utils/http'
import {replaceUrlPlaceholder} from "@/utils/tools";
import * as echarts from "echarts";
import {getOption, getChartColor} from "@/components/charts/chart-options";
export default { export default {
name: "chartSingleValue", name: "chartSingleValue",
props: { props: {
@@ -73,7 +79,9 @@ export default {
return { return {
icon: '', icon: '',
color: '', color: '',
type: 0 type: 0,
chartOption: null,
chartEchartsDate: []
} }
}, },
watch: { watch: {
@@ -133,8 +141,51 @@ export default {
} }
}, },
methods: { methods: {
chartSingleValueTotal() {
const chartParams = this.$_.get(this.chartInfo, 'params') || {}
if (this.type === 52) {
const dom = document.getElementById(`chart${this.chartInfo.id}`)
const myChart = echarts.init(dom)
this.chartOption = this.$_.cloneDeep(getOption(this.type))
get(replaceUrlPlaceholder(chartParams.urlChart)).then(response => {
const seriesTemplate = this.chartOption.series[0]
const result = [{
"legend": "app",
"aggregation": {
"max": 1,
"last": 1,
"first": 1,
"avg": 1
},
"values": [
[1435781430781, "0"],
[1435781431782, "1"],
[1435781431783, "2"],
[1435781431784, "3"],
[1435781431785, "4"],
[1435781431786, "5"],
[1435781431787, "6"],
[1435781431788, "7"]
]
}]
// const result = response.data.result
this.chartOption.series = result.map((r, i) => {
return {
...seriesTemplate,
name: r.legend,
data: r.values.map(v => [Number(v[0]) * 1000, Number(v[1]), chartParams.unitType]),
lineStyle: {
color: getChartColor[i]
}
}
})
myChart.setOption(this.chartOption)
})
}
}
}, },
mounted() { mounted() {
this.chartSingleValueTotal()
} }
} }
</script> </script>