CN-356 fix: 修复panel-chart时间选择器问题

This commit is contained in:
chenjinsong
2022-03-12 23:05:04 +08:00
parent 01e5a42d44
commit 33a913c842
7 changed files with 63 additions and 37 deletions

View File

@@ -6,6 +6,7 @@
<chart-tabs <chart-tabs
v-if="isTabs" v-if="isTabs"
:chart-info="chartInfo" :chart-info="chartInfo"
:time-filter="timeFilter"
:query-params="queryParams" :query-params="queryParams"
:entity="entity" :entity="entity"
></chart-tabs> ></chart-tabs>
@@ -14,6 +15,7 @@
v-else-if="isMap && !isIpBasicInfo" v-else-if="isMap && !isIpBasicInfo"
:chart-info="chartInfo" :chart-info="chartInfo"
:chart-data="chartData" :chart-data="chartData"
:time-filter="timeFilter"
:query-params="queryParams" :query-params="queryParams"
:entity="entity" :entity="entity"
@getChartData="getChartData" @getChartData="getChartData"
@@ -24,14 +26,16 @@
v-else-if="isSingleValue" v-else-if="isSingleValue"
:chart-info="chartInfo" :chart-info="chartInfo"
:chart-data="chartData" :chart-data="chartData"
:time-filter="timeFilter"
:query-params="queryParams" :query-params="queryParams"
@showLoading="showLoading" @showLoading="showLoading"
></chart-single-value> ></chart-single-value>
<chart-block <chart-block
v-else-if="isBlock"
ref="chart" ref="chart"
:timeFilter="queryParams" v-else-if="isBlock"
:time-filter="timeFilter"
:query-params="queryParams"
:chart-info="chartInfo" :chart-info="chartInfo"
:chart-data="chartData" :chart-data="chartData"
:entity="entity" :entity="entity"
@@ -39,7 +43,8 @@
<chart-group <chart-group
v-else-if="isGroup" v-else-if="isGroup"
:timeFilter="queryParams" :query-params="queryParams"
:time-filter="timeFilter"
:chart-info="chartInfo" :chart-info="chartInfo"
:chart-data="chartData" :chart-data="chartData"
:entity="entity" :entity="entity"
@@ -47,6 +52,8 @@
<ip-basic-info <ip-basic-info
v-else-if="isIpBasicInfo" v-else-if="isIpBasicInfo"
:time-filter="timeFilter"
:query-params="queryParams"
:chart-info="chartInfo" :chart-info="chartInfo"
:chart-data="chartData" :chart-data="chartData"
:entity="entity" :entity="entity"
@@ -57,6 +64,7 @@
:chart-info="chartInfo" :chart-info="chartInfo"
:chart-data="chartData" :chart-data="chartData"
:result-type="resultType" :result-type="resultType"
:time-filter="timeFilter"
:query-params="queryParams" :query-params="queryParams"
@showLoading="showLoading" @showLoading="showLoading"
></chart-time-bar> ></chart-time-bar>
@@ -66,6 +74,7 @@
:chart-info="chartInfo" :chart-info="chartInfo"
:chart-data="chartData" :chart-data="chartData"
:result-type="resultType" :result-type="resultType"
:time-filter="timeFilter"
:query-params="queryParams" :query-params="queryParams"
@showLoading="showLoading" @showLoading="showLoading"
></chart-category-bar> ></chart-category-bar>
@@ -75,6 +84,7 @@
:chart-info="chartInfo" :chart-info="chartInfo"
:chart-data="chartData" :chart-data="chartData"
:result-type="resultType" :result-type="resultType"
:time-filter="timeFilter"
:query-params="queryParams" :query-params="queryParams"
@showLoading="showLoading" @showLoading="showLoading"
></chart-ip-open-port-bar> ></chart-ip-open-port-bar>
@@ -84,6 +94,7 @@
:chart-info="chartInfo" :chart-info="chartInfo"
:chart-data="chartData" :chart-data="chartData"
:table="table" :table="table"
:time-filter="timeFilter"
:query-params="queryParams" :query-params="queryParams"
@showLoading="showLoading" @showLoading="showLoading"
></chart-table> ></chart-table>
@@ -93,6 +104,7 @@
:chart-info="chartInfo" :chart-info="chartInfo"
:chart-data="chartData" :chart-data="chartData"
:table="table" :table="table"
:time-filter="timeFilter"
:query-params="queryParams" :query-params="queryParams"
></chart-active-ip-table> ></chart-active-ip-table>
@@ -100,6 +112,7 @@
v-else-if="isAppBasicInfo" v-else-if="isAppBasicInfo"
:chart-info="chartInfo" :chart-info="chartInfo"
:chart-data="chartData" :chart-data="chartData"
:time-filter="timeFilter"
:query-params="queryParams" :query-params="queryParams"
></chart-app-basic-info> ></chart-app-basic-info>
@@ -107,6 +120,7 @@
v-else-if="isDomainWhois" v-else-if="isDomainWhois"
:chart-info="chartInfo" :chart-info="chartInfo"
:chart-data="chartData" :chart-data="chartData"
:time-filter="timeFilter"
:query-params="queryParams" :query-params="queryParams"
></chart-domain-whois> ></chart-domain-whois>
@@ -114,6 +128,7 @@
v-else-if="isDomainDnsRecord" v-else-if="isDomainDnsRecord"
:chart-info="chartInfo" :chart-info="chartInfo"
:chart-data="chartData" :chart-data="chartData"
:time-filter="timeFilter"
:query-params="queryParams" :query-params="queryParams"
></chart-domain-dns-record> ></chart-domain-dns-record>
@@ -121,6 +136,7 @@
v-else-if="isCryptocurrencyEventList" v-else-if="isCryptocurrencyEventList"
:chart-info="chartInfo" :chart-info="chartInfo"
:chart-data="chartData" :chart-data="chartData"
:time-filter="timeFilter"
:query-params="queryParams" :query-params="queryParams"
></chart-cryptocurrency-event-list> ></chart-cryptocurrency-event-list>
@@ -128,6 +144,7 @@
v-else-if="isRelationShip" v-else-if="isRelationShip"
:chart-info="chartInfo" :chart-info="chartInfo"
:chart-data="chartData" :chart-data="chartData"
:time-filter="timeFilter"
:query-params="queryParams" :query-params="queryParams"
></chart-relation-ship> ></chart-relation-ship>
@@ -135,6 +152,7 @@
v-else-if="isSankey" v-else-if="isSankey"
:chart-info="chartInfo" :chart-info="chartInfo"
:chart-data="chartData" :chart-data="chartData"
:time-filter="timeFilter"
:query-params="queryParams" :query-params="queryParams"
:entity="entity" :entity="entity"
></chart-san-key> ></chart-san-key>
@@ -144,6 +162,8 @@
:chart-info="chartInfo" :chart-info="chartInfo"
:chart-data="chartData" :chart-data="chartData"
:result-type="resultType" :result-type="resultType"
:time-filter="timeFilter"
:query-params="queryParams"
@showLoading="showLoading" @showLoading="showLoading"
></chart-echart> ></chart-echart>
@@ -152,6 +172,8 @@
:chart-info="chartInfo" :chart-info="chartInfo"
:chart-data="chartData" :chart-data="chartData"
:result-type="resultType" :result-type="resultType"
:time-filter="timeFilter"
:query-params="queryParams"
@showLoading="showLoading" @showLoading="showLoading"
></chart-echart-with-statistics> ></chart-echart-with-statistics>
@@ -160,6 +182,7 @@
:chart-info="chartInfo" :chart-info="chartInfo"
:chart-data="chartData" :chart-data="chartData"
:query-params="queryParams" :query-params="queryParams"
:time-filter="timeFilter"
:result-type="resultType" :result-type="resultType"
:order-pie-table="orderPieTable" :order-pie-table="orderPieTable"
@showLoading="showLoading" @showLoading="showLoading"
@@ -167,8 +190,10 @@
<chart-echart-ip-hosted-domain <chart-echart-ip-hosted-domain
v-else-if="isIpHostedDomain" v-else-if="isIpHostedDomain"
:chart-info="chartInfo"
:chart-data="chartData" :chart-data="chartData"
:chart-info="chartInfo"
:time-filter="timeFilter"
:query-params="queryParams"
@showLoading="showLoading" @showLoading="showLoading"
:entity="entity" :entity="entity"
></chart-echart-ip-hosted-domain> ></chart-echart-ip-hosted-domain>
@@ -179,6 +204,8 @@
:chart-data="chartData" :chart-data="chartData"
@showLoading="showLoading" @showLoading="showLoading"
:entity="entity" :entity="entity"
:time-filter="timeFilter"
:query-params="queryParams"
></chart-echart-app-relate-domain> ></chart-echart-app-relate-domain>
<chart-one-Situation-Statistics <chart-one-Situation-Statistics
@@ -186,14 +213,16 @@
:chart-info="chartInfo" :chart-info="chartInfo"
:chart-data="chartData" :chart-data="chartData"
:query-params="queryParams" :query-params="queryParams"
@showLoading="showLoading" :time-filter="timeFilter"
:entity="entity" :entity="entity"
@showLoading="showLoading"
></chart-one-Situation-Statistics> ></chart-one-Situation-Statistics>
<chart-two-Situation-Statistics <chart-two-Situation-Statistics
v-else-if="isTwoSupportStatistics" v-else-if="isTwoSupportStatistics"
:chart-info="chartInfo" :chart-info="chartInfo"
:chart-data="chartData" :chart-data="chartData"
:time-filter="timeFilter"
:query-params="queryParams" :query-params="queryParams"
@showLoading="showLoading" @showLoading="showLoading"
:entity="entity" :entity="entity"
@@ -203,6 +232,7 @@
v-else-if="isAlarmInfo" v-else-if="isAlarmInfo"
:chart-info="chartInfo" :chart-info="chartInfo"
:chart-data="chartData" :chart-data="chartData"
:time-filter="timeFilter"
:query-params="queryParams" :query-params="queryParams"
@showLoading="showLoading" @showLoading="showLoading"
:tabHandleClickType="tabHandleClickType" :tabHandleClickType="tabHandleClickType"
@@ -212,6 +242,8 @@
</chart-alarm-info> </chart-alarm-info>
<chart-domain-recursive-resolve <chart-domain-recursive-resolve
:chart-data="chartData" :chart-data="chartData"
:time-filter="timeFilter"
:query-params="queryParams"
v-else-if="isDomainRecursiveResolve" v-else-if="isDomainRecursiveResolve"
></chart-domain-recursive-resolve> ></chart-domain-recursive-resolve>
@@ -337,8 +369,9 @@ export default {
entity: Object, entity: Object,
isError: Boolean, isError: Boolean,
table: Object, table: Object,
timeFilter: Object,
orderPieTable: Object, orderPieTable: Object,
tabHandleClickType: String, tabHandleClickType: String
}, },
computed: { computed: {
isNoData() { isNoData() {
@@ -389,19 +422,12 @@ export default {
}, },
}, },
watch: { watch: {
chartData: {
deep: true,
handler(n) {},
},
tabHandleClickType: { tabHandleClickType: {
deep: true, deep: true,
handler(n) { handler(n) {
this.tabHandleClickType = n this.tabHandleClickType = n
}, },
}, }
queryParams: {
deep: true,
},
}, },
setup(props) { setup(props) {
return { return {

View File

@@ -311,11 +311,12 @@ export default {
this.$emit('refresh') this.$emit('refresh')
}, },
timeRefreshChange() { timeRefreshChange() {
// 不是自选时间
if (!this.$refs.dateTimeRange.isCustom) { if (!this.$refs.dateTimeRange.isCustom) {
const value = this.chartTimeFilter.dateRangeValue const value = this.chartTimeFilter.dateRangeValue
this.$refs.dateTimeRange.quickChange(value) this.$refs.dateTimeRange.quickChange(value)
} else { } else {
this.$emit('refresh') this.$emit('refresh', this.chartTimeFilter)
} }
}, },
reload(s, e, v) { reload(s, e, v) {
@@ -326,7 +327,6 @@ export default {
}, },
dateTimeRangeChange(s, e, v) { dateTimeRangeChange(s, e, v) {
this.chartTimeFilter = { startTime: s, endTime: e, dateRangeValue: v } this.chartTimeFilter = { startTime: s, endTime: e, dateRangeValue: v }
console.log(this.chartTimeFilter)
this.$emit('refresh', this.chartTimeFilter) this.$emit('refresh', this.chartTimeFilter)
}, },
tableLimitChange() { tableLimitChange() {

View File

@@ -146,6 +146,7 @@ export default {
callback({ startTime: myStartTime, endTime: myEndTime }) callback({ startTime: myStartTime, endTime: myEndTime })
}, },
timeRefreshChange () { timeRefreshChange () {
// 不是自选时间
if (!this.$refs.dateTimeRange.isCustom) { if (!this.$refs.dateTimeRange.isCustom) {
const value = this.timeFilter.dateRangeValue const value = this.timeFilter.dateRangeValue
this.$refs.dateTimeRange.quickChange(value) this.$refs.dateTimeRange.quickChange(value)

View File

@@ -38,6 +38,7 @@
:table="table" :table="table"
:is-fullscreen="isFullscreen" :is-fullscreen="isFullscreen"
:order-pie-table="orderPieTable" :order-pie-table="orderPieTable"
:time-filter="timeFilter"
@getChartData="getChartData" @getChartData="getChartData"
@showLoading="showLoading" @showLoading="showLoading"
:tabHandleClickType="tabHandleClickType" :tabHandleClickType="tabHandleClickType"
@@ -191,7 +192,7 @@ export default {
...this.handleQueryParams(), ...this.handleQueryParams(),
...this.queryTimeRange, ...this.queryTimeRange,
...this.entity, ...this.entity,
...extraParams ...extraParams
} }
const requestUrl = url || (chartParams && chartParams.url) const requestUrl = url || (chartParams && chartParams.url)
@@ -288,13 +289,20 @@ export default {
this.$refs.chart.resize() this.$refs.chart.resize()
}, },
refresh (chartTimeFilter) { refresh (chartTimeFilter) {
const myEndTime = window.$dayJs.tz().valueOf() if (chartTimeFilter) {
const myStartTime = myEndTime - this.chartTimeFilter.dateRangeValue * 60 * 1000 this.timeFilter.startTime = chartTimeFilter.startTime
this.standaloneTimeRange.use = true this.timeFilter.endTime = chartTimeFilter.endTime
this.standaloneTimeRange.startTime = myStartTime this.timeFilter.dateRangeValue = chartTimeFilter.dateRangeValue
this.standaloneTimeRange.endTime = myEndTime this.getChartData(null, {}, true, chartTimeFilter)
this.emitter.emit('chart-pageNo') } else {
this.getChartData(null, {}, true, chartTimeFilter) const myEndTime = window.$dayJs.tz().valueOf()
const myStartTime = myEndTime - this.timeFilter.dateRangeValue * 60 * 1000
this.standaloneTimeRange.use = true
this.standaloneTimeRange.startTime = myStartTime
this.standaloneTimeRange.endTime = myEndTime
this.emitter.emit('chart-pageNo')
this.getChartData(null, {}, true)
}
}, },
tabHandleClick (value) { tabHandleClick (value) {
this.tabHandleClickType = value this.tabHandleClickType = value
@@ -371,9 +379,6 @@ export default {
mounted () { mounted () {
this.showLoading(true) this.showLoading(true)
this.getChartData() this.getChartData()
// setTimeout(() => {
// this.getChartData()
// }, 200)
}, },
setup (props) { setup (props) {
const dateRangeValue = 60 const dateRangeValue = 60

View File

@@ -14,9 +14,6 @@ import chartMixin from '@/views/charts/charts/chart-mixin'
export default { export default {
name: 'ChartBlock', name: 'ChartBlock',
mixins: [chartMixin], mixins: [chartMixin],
props: {
timeFilter: Object
},
data () { data () {
return { return {
dataList: [], dataList: [],
@@ -26,14 +23,11 @@ export default {
}, },
mounted () { mounted () {
this.dataList = JSON.parse(JSON.stringify(this.chartInfo.children)) this.dataList = JSON.parse(JSON.stringify(this.chartInfo.children))
// this.time = JSON.parse(JSON.stringify(this.timeFilter))
this.firstShow = true this.firstShow = true
}, },
methods: { methods: {
reload () { reload () {
console.log(123132)
this.dataList = JSON.parse(JSON.stringify(this.chartInfo.children)) this.dataList = JSON.parse(JSON.stringify(this.chartInfo.children))
// this.time = JSON.parse(JSON.stringify(this.timeFilter))
} }
} }
} }

View File

@@ -1,6 +1,7 @@
<template> <template>
<panel-chart-list <panel-chart-list
:time-filter="timeFilter" :time-filter="timeFilter"
:query-params="queryParams"
:data-list="chartInfo.children" :data-list="chartInfo.children"
:panel-lock="true" :panel-lock="true"
:entity="entity" :entity="entity"
@@ -15,10 +16,8 @@ export default {
name: 'ChartGroup', name: 'ChartGroup',
mixins: [chartMixin], mixins: [chartMixin],
props: { props: {
timeFilter: Object timeFilter: Object,
}, queryParams: Object
mounted () {
console.info(this.chartInfo)
} }
} }
</script> </script>

View File

@@ -3,6 +3,7 @@ export default {
chartInfo: Object, chartInfo: Object,
chartData: [Object, Array, String], // 数据在父组件查询后传入,本组件内不查询,只根据接传递的数据来渲染 chartData: [Object, Array, String], // 数据在父组件查询后传入,本组件内不查询,只根据接传递的数据来渲染
entity: Object, entity: Object,
timeFilter: Object,
queryParams: Object // 接口请求参数 queryParams: Object // 接口请求参数
} }
} }