2021-06-20 13:31:55 +08:00
|
|
|
|
<template>
|
2022-02-14 17:40:29 +08:00
|
|
|
|
<div class="cn-chart">
|
|
|
|
|
|
<loading :loading="loading && !isTabs && !isBlock && !isGroup"></loading>
|
|
|
|
|
|
<chart-no-data v-if="isNoData"></chart-no-data>
|
|
|
|
|
|
<template v-else>
|
|
|
|
|
|
<chart-tabs
|
2022-04-08 17:02:49 +08:00
|
|
|
|
ref="chart"
|
2022-02-14 17:40:29 +08:00
|
|
|
|
v-if="isTabs"
|
|
|
|
|
|
:chart-info="chartInfo"
|
2022-03-12 23:05:04 +08:00
|
|
|
|
:time-filter="timeFilter"
|
2022-02-14 17:40:29 +08:00
|
|
|
|
:query-params="queryParams"
|
|
|
|
|
|
:entity="entity"
|
|
|
|
|
|
></chart-tabs>
|
|
|
|
|
|
|
|
|
|
|
|
<chart-map
|
|
|
|
|
|
v-else-if="isMap && !isIpBasicInfo"
|
|
|
|
|
|
:chart-info="chartInfo"
|
|
|
|
|
|
:chart-data="chartData"
|
2022-03-12 23:05:04 +08:00
|
|
|
|
:time-filter="timeFilter"
|
2022-02-14 17:40:29 +08:00
|
|
|
|
:query-params="queryParams"
|
|
|
|
|
|
:entity="entity"
|
2022-03-07 20:50:03 +08:00
|
|
|
|
@getChartData="getChartData"
|
2022-02-14 17:40:29 +08:00
|
|
|
|
@showLoading="showLoading"
|
2022-04-22 17:40:44 +08:00
|
|
|
|
@finishOneMap="finishOneMap"
|
2022-02-14 17:40:29 +08:00
|
|
|
|
></chart-map>
|
|
|
|
|
|
|
|
|
|
|
|
<chart-single-value
|
|
|
|
|
|
v-else-if="isSingleValue"
|
|
|
|
|
|
:chart-info="chartInfo"
|
|
|
|
|
|
:chart-data="chartData"
|
2022-03-12 23:05:04 +08:00
|
|
|
|
:time-filter="timeFilter"
|
2022-02-14 17:40:29 +08:00
|
|
|
|
:query-params="queryParams"
|
|
|
|
|
|
@showLoading="showLoading"
|
|
|
|
|
|
></chart-single-value>
|
|
|
|
|
|
|
|
|
|
|
|
<chart-block
|
|
|
|
|
|
ref="chart"
|
2022-03-12 23:05:04 +08:00
|
|
|
|
v-else-if="isBlock"
|
|
|
|
|
|
:time-filter="timeFilter"
|
|
|
|
|
|
:query-params="queryParams"
|
2022-02-14 17:40:29 +08:00
|
|
|
|
:chart-info="chartInfo"
|
|
|
|
|
|
:chart-data="chartData"
|
|
|
|
|
|
:entity="entity"
|
|
|
|
|
|
></chart-block>
|
|
|
|
|
|
|
|
|
|
|
|
<chart-group
|
2022-04-08 17:02:49 +08:00
|
|
|
|
ref="chart"
|
2022-03-02 16:13:55 +08:00
|
|
|
|
v-else-if="isGroup"
|
2022-03-12 23:05:04 +08:00
|
|
|
|
:query-params="queryParams"
|
|
|
|
|
|
:time-filter="timeFilter"
|
2022-03-02 16:13:55 +08:00
|
|
|
|
:chart-info="chartInfo"
|
|
|
|
|
|
:chart-data="chartData"
|
|
|
|
|
|
:entity="entity"
|
2022-02-14 17:40:29 +08:00
|
|
|
|
></chart-group>
|
|
|
|
|
|
|
|
|
|
|
|
<ip-basic-info
|
|
|
|
|
|
v-else-if="isIpBasicInfo"
|
2022-03-12 23:05:04 +08:00
|
|
|
|
:time-filter="timeFilter"
|
|
|
|
|
|
:query-params="queryParams"
|
2022-02-14 17:40:29 +08:00
|
|
|
|
:chart-info="chartInfo"
|
|
|
|
|
|
:chart-data="chartData"
|
|
|
|
|
|
:entity="entity"
|
|
|
|
|
|
></ip-basic-info>
|
|
|
|
|
|
|
|
|
|
|
|
<chart-time-bar
|
|
|
|
|
|
v-else-if="isEchartsTimeBar"
|
|
|
|
|
|
:chart-info="chartInfo"
|
|
|
|
|
|
:chart-data="chartData"
|
|
|
|
|
|
:result-type="resultType"
|
2022-03-12 23:05:04 +08:00
|
|
|
|
:time-filter="timeFilter"
|
2022-02-14 17:40:29 +08:00
|
|
|
|
:query-params="queryParams"
|
|
|
|
|
|
@showLoading="showLoading"
|
|
|
|
|
|
></chart-time-bar>
|
|
|
|
|
|
|
|
|
|
|
|
<chart-category-bar
|
|
|
|
|
|
v-else-if="isEchartsCategoryBar"
|
|
|
|
|
|
:chart-info="chartInfo"
|
|
|
|
|
|
:chart-data="chartData"
|
|
|
|
|
|
:result-type="resultType"
|
2022-03-12 23:05:04 +08:00
|
|
|
|
:time-filter="timeFilter"
|
2022-02-14 17:40:29 +08:00
|
|
|
|
:query-params="queryParams"
|
|
|
|
|
|
@showLoading="showLoading"
|
|
|
|
|
|
></chart-category-bar>
|
|
|
|
|
|
|
|
|
|
|
|
<chart-ip-open-port-bar
|
|
|
|
|
|
v-else-if="isIpOpenPortBar"
|
|
|
|
|
|
:chart-info="chartInfo"
|
|
|
|
|
|
:chart-data="chartData"
|
|
|
|
|
|
:result-type="resultType"
|
2022-03-12 23:05:04 +08:00
|
|
|
|
:time-filter="timeFilter"
|
2022-02-14 17:40:29 +08:00
|
|
|
|
:query-params="queryParams"
|
|
|
|
|
|
@showLoading="showLoading"
|
|
|
|
|
|
></chart-ip-open-port-bar>
|
|
|
|
|
|
|
|
|
|
|
|
<chart-table
|
2022-03-06 23:26:42 +08:00
|
|
|
|
v-else-if="isTable && isBasicTable"
|
2022-02-14 17:40:29 +08:00
|
|
|
|
:chart-info="chartInfo"
|
|
|
|
|
|
:chart-data="chartData"
|
|
|
|
|
|
:table="table"
|
2022-03-12 23:05:04 +08:00
|
|
|
|
:time-filter="timeFilter"
|
2022-02-14 17:40:29 +08:00
|
|
|
|
:query-params="queryParams"
|
|
|
|
|
|
@showLoading="showLoading"
|
|
|
|
|
|
></chart-table>
|
|
|
|
|
|
|
|
|
|
|
|
<chart-active-ip-table
|
|
|
|
|
|
v-else-if="isActiveIpTable"
|
|
|
|
|
|
:chart-info="chartInfo"
|
|
|
|
|
|
:chart-data="chartData"
|
|
|
|
|
|
:table="table"
|
2022-03-12 23:05:04 +08:00
|
|
|
|
:time-filter="timeFilter"
|
2022-02-14 17:40:29 +08:00
|
|
|
|
:query-params="queryParams"
|
|
|
|
|
|
></chart-active-ip-table>
|
|
|
|
|
|
|
|
|
|
|
|
<chart-app-basic-info
|
|
|
|
|
|
v-else-if="isAppBasicInfo"
|
|
|
|
|
|
:chart-info="chartInfo"
|
|
|
|
|
|
:chart-data="chartData"
|
2022-03-12 23:05:04 +08:00
|
|
|
|
:time-filter="timeFilter"
|
2022-02-14 17:40:29 +08:00
|
|
|
|
:query-params="queryParams"
|
|
|
|
|
|
></chart-app-basic-info>
|
|
|
|
|
|
|
|
|
|
|
|
<chart-domain-whois
|
|
|
|
|
|
v-else-if="isDomainWhois"
|
|
|
|
|
|
:chart-info="chartInfo"
|
|
|
|
|
|
:chart-data="chartData"
|
2022-03-12 23:05:04 +08:00
|
|
|
|
:time-filter="timeFilter"
|
2022-02-14 17:40:29 +08:00
|
|
|
|
:query-params="queryParams"
|
|
|
|
|
|
></chart-domain-whois>
|
|
|
|
|
|
|
|
|
|
|
|
<chart-domain-dns-record
|
|
|
|
|
|
v-else-if="isDomainDnsRecord"
|
|
|
|
|
|
:chart-info="chartInfo"
|
|
|
|
|
|
:chart-data="chartData"
|
2022-03-12 23:05:04 +08:00
|
|
|
|
:time-filter="timeFilter"
|
2022-02-14 17:40:29 +08:00
|
|
|
|
:query-params="queryParams"
|
|
|
|
|
|
></chart-domain-dns-record>
|
|
|
|
|
|
|
|
|
|
|
|
<chart-cryptocurrency-event-list
|
|
|
|
|
|
v-else-if="isCryptocurrencyEventList"
|
|
|
|
|
|
:chart-info="chartInfo"
|
|
|
|
|
|
:chart-data="chartData"
|
2022-03-12 23:05:04 +08:00
|
|
|
|
:time-filter="timeFilter"
|
2022-02-14 17:40:29 +08:00
|
|
|
|
:query-params="queryParams"
|
|
|
|
|
|
></chart-cryptocurrency-event-list>
|
|
|
|
|
|
|
|
|
|
|
|
<chart-relation-ship
|
|
|
|
|
|
v-else-if="isRelationShip"
|
|
|
|
|
|
:chart-info="chartInfo"
|
|
|
|
|
|
:chart-data="chartData"
|
2022-03-12 23:05:04 +08:00
|
|
|
|
:time-filter="timeFilter"
|
2022-02-14 17:40:29 +08:00
|
|
|
|
:query-params="queryParams"
|
|
|
|
|
|
></chart-relation-ship>
|
|
|
|
|
|
|
|
|
|
|
|
<chart-san-key
|
|
|
|
|
|
v-else-if="isSankey"
|
|
|
|
|
|
:chart-info="chartInfo"
|
|
|
|
|
|
:chart-data="chartData"
|
2022-03-12 23:05:04 +08:00
|
|
|
|
:time-filter="timeFilter"
|
2022-02-14 17:40:29 +08:00
|
|
|
|
:query-params="queryParams"
|
|
|
|
|
|
:entity="entity"
|
|
|
|
|
|
></chart-san-key>
|
|
|
|
|
|
|
|
|
|
|
|
<chart-echart
|
|
|
|
|
|
v-else-if="isEchartsLine || isEchartsPie"
|
|
|
|
|
|
:chart-info="chartInfo"
|
|
|
|
|
|
:chart-data="chartData"
|
|
|
|
|
|
:result-type="resultType"
|
2022-03-12 23:05:04 +08:00
|
|
|
|
:time-filter="timeFilter"
|
|
|
|
|
|
:query-params="queryParams"
|
2022-02-14 17:40:29 +08:00
|
|
|
|
@showLoading="showLoading"
|
|
|
|
|
|
></chart-echart>
|
|
|
|
|
|
|
|
|
|
|
|
<chart-echart-with-statistics
|
|
|
|
|
|
v-else-if="isEchartsWithStatistics"
|
|
|
|
|
|
:chart-info="chartInfo"
|
|
|
|
|
|
:chart-data="chartData"
|
|
|
|
|
|
:result-type="resultType"
|
2022-03-12 23:05:04 +08:00
|
|
|
|
:time-filter="timeFilter"
|
|
|
|
|
|
:query-params="queryParams"
|
2022-02-14 17:40:29 +08:00
|
|
|
|
@showLoading="showLoading"
|
|
|
|
|
|
></chart-echart-with-statistics>
|
|
|
|
|
|
|
|
|
|
|
|
<chart-echart-with-table
|
|
|
|
|
|
v-else-if="isEchartsWithTable"
|
|
|
|
|
|
:chart-info="chartInfo"
|
|
|
|
|
|
:chart-data="chartData"
|
|
|
|
|
|
:query-params="queryParams"
|
2022-03-12 23:05:04 +08:00
|
|
|
|
:time-filter="timeFilter"
|
2022-02-14 17:40:29 +08:00
|
|
|
|
:result-type="resultType"
|
|
|
|
|
|
:order-pie-table="orderPieTable"
|
|
|
|
|
|
@showLoading="showLoading"
|
|
|
|
|
|
></chart-echart-with-table>
|
|
|
|
|
|
|
|
|
|
|
|
<chart-echart-ip-hosted-domain
|
|
|
|
|
|
v-else-if="isIpHostedDomain"
|
|
|
|
|
|
:chart-data="chartData"
|
2022-03-12 23:05:04 +08:00
|
|
|
|
:chart-info="chartInfo"
|
|
|
|
|
|
:time-filter="timeFilter"
|
|
|
|
|
|
:query-params="queryParams"
|
2022-02-14 17:40:29 +08:00
|
|
|
|
@showLoading="showLoading"
|
|
|
|
|
|
:entity="entity"
|
|
|
|
|
|
></chart-echart-ip-hosted-domain>
|
|
|
|
|
|
|
|
|
|
|
|
<chart-echart-app-relate-domain
|
|
|
|
|
|
v-else-if="isAppRelatedDomain"
|
|
|
|
|
|
:chart-info="chartInfo"
|
|
|
|
|
|
:chart-data="chartData"
|
|
|
|
|
|
@showLoading="showLoading"
|
|
|
|
|
|
:entity="entity"
|
2022-03-12 23:05:04 +08:00
|
|
|
|
:time-filter="timeFilter"
|
|
|
|
|
|
:query-params="queryParams"
|
2022-02-14 17:40:29 +08:00
|
|
|
|
></chart-echart-app-relate-domain>
|
2021-12-14 07:38:09 +08:00
|
|
|
|
|
2022-03-16 14:18:03 +08:00
|
|
|
|
<chart-one-situation-statistics
|
2022-03-02 16:13:55 +08:00
|
|
|
|
v-else-if="isSingleSupportStatistics"
|
|
|
|
|
|
:chart-info="chartInfo"
|
|
|
|
|
|
:chart-data="chartData"
|
2022-03-07 09:30:17 +08:00
|
|
|
|
:query-params="queryParams"
|
2022-03-12 23:05:04 +08:00
|
|
|
|
:time-filter="timeFilter"
|
2022-03-02 16:13:55 +08:00
|
|
|
|
:entity="entity"
|
2022-03-12 23:05:04 +08:00
|
|
|
|
@showLoading="showLoading"
|
2022-03-16 14:18:03 +08:00
|
|
|
|
></chart-one-situation-statistics>
|
2022-03-02 16:13:55 +08:00
|
|
|
|
|
2022-03-16 14:18:03 +08:00
|
|
|
|
<chart-two-situation-statistics
|
2022-03-02 16:13:55 +08:00
|
|
|
|
v-else-if="isTwoSupportStatistics"
|
|
|
|
|
|
:chart-info="chartInfo"
|
|
|
|
|
|
:chart-data="chartData"
|
2022-03-12 23:05:04 +08:00
|
|
|
|
:time-filter="timeFilter"
|
2022-03-07 09:30:17 +08:00
|
|
|
|
:query-params="queryParams"
|
2022-03-02 16:13:55 +08:00
|
|
|
|
@showLoading="showLoading"
|
|
|
|
|
|
:entity="entity"
|
2022-03-16 14:18:03 +08:00
|
|
|
|
></chart-two-situation-statistics>
|
2022-03-07 09:30:17 +08:00
|
|
|
|
|
|
|
|
|
|
<chart-alarm-info
|
2022-03-10 14:57:42 +08:00
|
|
|
|
v-else-if="isAlarmInfo"
|
2022-03-07 09:30:17 +08:00
|
|
|
|
:chart-info="chartInfo"
|
|
|
|
|
|
:chart-data="chartData"
|
2022-03-12 23:05:04 +08:00
|
|
|
|
:time-filter="timeFilter"
|
2022-03-07 09:30:17 +08:00
|
|
|
|
:query-params="queryParams"
|
|
|
|
|
|
@showLoading="showLoading"
|
|
|
|
|
|
:tabHandleClickType="tabHandleClickType"
|
|
|
|
|
|
@getAlarmInfo="getAlarmInfo"
|
2022-03-10 14:57:42 +08:00
|
|
|
|
:entity="entity"
|
|
|
|
|
|
>
|
2022-03-07 09:30:17 +08:00
|
|
|
|
</chart-alarm-info>
|
2022-03-12 16:56:46 +08:00
|
|
|
|
<chart-domain-recursive-resolve
|
|
|
|
|
|
:chart-data="chartData"
|
2022-03-12 23:05:04 +08:00
|
|
|
|
:time-filter="timeFilter"
|
|
|
|
|
|
:query-params="queryParams"
|
2022-03-12 16:56:46 +08:00
|
|
|
|
v-else-if="isDomainRecursiveResolve"
|
|
|
|
|
|
></chart-domain-recursive-resolve>
|
|
|
|
|
|
|
2022-03-29 18:26:24 +08:00
|
|
|
|
<chart-detection-security
|
|
|
|
|
|
:chart-data="chartData"
|
|
|
|
|
|
:time-filter="timeFilter"
|
|
|
|
|
|
:chart-info="chartInfo"
|
|
|
|
|
|
:query-params="queryParams"
|
|
|
|
|
|
v-else-if="isDetectionSecurity"
|
|
|
|
|
|
@getDetectionData="getDetectionData"
|
|
|
|
|
|
></chart-detection-security>
|
|
|
|
|
|
|
|
|
|
|
|
<chart-detection-service
|
|
|
|
|
|
:chart-data="chartData"
|
|
|
|
|
|
:time-filter="timeFilter"
|
|
|
|
|
|
:chart-info="chartInfo"
|
|
|
|
|
|
:query-params="queryParams"
|
|
|
|
|
|
v-else-if="isDetectionService"
|
|
|
|
|
|
@getDetectionData="getDetectionData"
|
|
|
|
|
|
></chart-detection-service>
|
|
|
|
|
|
|
2022-02-14 17:40:29 +08:00
|
|
|
|
</template>
|
2021-09-22 23:05:18 +08:00
|
|
|
|
</div>
|
2021-06-20 13:31:55 +08:00
|
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
|
|
<script>
|
2022-02-14 17:40:29 +08:00
|
|
|
|
import Loading from '@/components/common/Loading'
|
|
|
|
|
|
import ChartNoData from '@/views/charts/charts/ChartNoData'
|
|
|
|
|
|
import ChartTabs from '@/views/charts/charts/ChartTabs'
|
|
|
|
|
|
import ChartMap from '@/views/charts/charts/ChartMap'
|
|
|
|
|
|
import ChartSingleValue from '@/views/charts/charts/ChartSingleValue'
|
|
|
|
|
|
import ChartBlock from '@/views/charts/charts/ChartBlock'
|
|
|
|
|
|
import ChartGroup from '@/views/charts/charts/ChartGroup'
|
|
|
|
|
|
import IpBasicInfo from '@/views/charts/charts/IpBasicInfo'
|
|
|
|
|
|
import ChartEchart from '@/views/charts/charts/ChartEchart'
|
|
|
|
|
|
import ChartEchartWithStatistics from '@/views/charts/charts/ChartEchartWithStatistics'
|
|
|
|
|
|
import ChartEchartWithTable from '@/views/charts/charts/ChartEchartWithTable'
|
|
|
|
|
|
import ChartEchartIpHostedDomain from '@/views/charts/charts/ChartEchartIpHostedDomain'
|
|
|
|
|
|
import ChartEchartAppRelateDomain from '@/views/charts/charts/ChartEchartAppRelateDomain'
|
|
|
|
|
|
import ChartActiveIpTable from '@/views/charts/charts/ChartActiveIpTable'
|
|
|
|
|
|
import ChartTimeBar from './charts/ChartTimeBar'
|
|
|
|
|
|
import ChartCategoryBar from './charts/ChartCategoryBar'
|
|
|
|
|
|
import ChartIpOpenPortBar from './charts/ChartIpOpenPortBar'
|
|
|
|
|
|
import ChartTable from './charts/ChartTable'
|
|
|
|
|
|
import ChartAppBasicInfo from '@/views/charts/charts/ChartAppBasicInfo'
|
|
|
|
|
|
import ChartDomainWhois from '@/views/charts/charts/ChartDomainWhois'
|
|
|
|
|
|
import ChartDomainDnsRecord from '@/views/charts/charts/ChartDomainDnsRecord'
|
|
|
|
|
|
import ChartCryptocurrencyEventList from '@/views/charts/charts/ChartCryptocurrencyEventList'
|
|
|
|
|
|
import ChartRelationShip from '@/views/charts/charts/ChartRelationShip'
|
|
|
|
|
|
import ChartSanKey from '@/views/charts/charts/ChartSanKey'
|
2022-03-02 16:13:55 +08:00
|
|
|
|
import ChartOneSituationStatistics from '@/views/charts/charts/ChartOneSituationStatistics'
|
|
|
|
|
|
import ChartTwoSituationStatistics from '@/views/charts/charts/ChartTwoSituationStatistics'
|
2022-03-07 09:30:17 +08:00
|
|
|
|
import ChartAlarmInfo from '@/views/charts/charts/ChartAlarmInfo'
|
2022-03-12 16:56:46 +08:00
|
|
|
|
import ChartDomainRecursiveResolve from '@/views/charts/charts/ChartDomainRecursiveResolve'
|
2022-03-29 18:26:24 +08:00
|
|
|
|
import chartDetectionSecurity from '@/views/charts/charts/chartDetectionSecurity'
|
|
|
|
|
|
import chartDetectionService from '@/views/charts/charts/chartDetectionService'
|
2021-06-24 17:59:51 +08:00
|
|
|
|
import {
|
|
|
|
|
|
isEcharts,
|
2022-02-14 17:40:29 +08:00
|
|
|
|
isEchartsLine,
|
2021-06-24 17:59:51 +08:00
|
|
|
|
isSingleValue,
|
|
|
|
|
|
isTable,
|
2022-03-06 23:26:42 +08:00
|
|
|
|
isBasicTable,
|
2021-12-06 21:12:04 +08:00
|
|
|
|
isActiveIpTable,
|
2021-06-25 19:11:00 +08:00
|
|
|
|
isTitle,
|
2021-06-24 17:59:51 +08:00
|
|
|
|
isMap,
|
|
|
|
|
|
getOption,
|
2022-02-14 17:40:29 +08:00
|
|
|
|
isEchartsPie,
|
2021-06-24 17:59:51 +08:00
|
|
|
|
isEchartsWithTable,
|
2021-07-05 22:58:12 +08:00
|
|
|
|
isEchartsWithStatistics,
|
2021-12-13 10:16:41 +08:00
|
|
|
|
isEchartsTimeBar,
|
|
|
|
|
|
isEchartsCategoryBar,
|
2022-02-14 17:40:29 +08:00
|
|
|
|
isIpOpenPortBar,
|
2021-07-01 21:39:10 +08:00
|
|
|
|
isMapLine,
|
2021-07-10 12:11:59 +08:00
|
|
|
|
isMapBlock,
|
2021-08-06 15:03:30 +08:00
|
|
|
|
isSingleValueWithEcharts,
|
2022-03-27 13:04:47 +08:00
|
|
|
|
isSingleValueWithPercent,
|
2021-08-17 17:56:09 +08:00
|
|
|
|
isRelationShip,
|
2021-07-06 10:55:09 +08:00
|
|
|
|
isTabs,
|
2021-09-16 21:19:48 +08:00
|
|
|
|
isGroup,
|
2021-09-18 17:48:52 +08:00
|
|
|
|
isSankey,
|
|
|
|
|
|
isIpBasicInfo,
|
|
|
|
|
|
isIpHostedDomain,
|
2021-09-22 23:05:18 +08:00
|
|
|
|
isDomainWhois,
|
|
|
|
|
|
isDomainDnsRecord,
|
2021-12-14 07:38:09 +08:00
|
|
|
|
isCryptocurrencyEventList,
|
2021-09-22 23:05:18 +08:00
|
|
|
|
isAppBasicInfo,
|
|
|
|
|
|
isAppRelatedDomain,
|
2022-03-02 16:13:55 +08:00
|
|
|
|
isBlock,
|
|
|
|
|
|
isSingleSupportStatistics,
|
2022-03-07 09:30:17 +08:00
|
|
|
|
isTwoSupportStatistics,
|
2022-03-10 14:57:42 +08:00
|
|
|
|
isAlarmInfo,
|
2022-03-29 18:26:24 +08:00
|
|
|
|
isDomainRecursiveResolve,
|
|
|
|
|
|
isDetectionSecurity,
|
2022-03-30 18:46:00 +08:00
|
|
|
|
isDetectionService,
|
|
|
|
|
|
isDetectionsProtocol
|
2022-02-14 17:40:29 +08:00
|
|
|
|
} from './charts/tools'
|
|
|
|
|
|
import _ from 'lodash'
|
2021-10-19 19:06:16 +08:00
|
|
|
|
|
2021-06-20 13:31:55 +08:00
|
|
|
|
export default {
|
2022-02-14 17:40:29 +08:00
|
|
|
|
name: 'chart',
|
2021-06-20 13:31:55 +08:00
|
|
|
|
components: {
|
2022-02-14 17:40:29 +08:00
|
|
|
|
ChartSanKey,
|
|
|
|
|
|
ChartCryptocurrencyEventList,
|
|
|
|
|
|
ChartDomainDnsRecord,
|
|
|
|
|
|
ChartDomainWhois,
|
|
|
|
|
|
ChartAppBasicInfo,
|
|
|
|
|
|
ChartActiveIpTable,
|
2021-06-24 17:59:51 +08:00
|
|
|
|
ChartTable,
|
2022-02-14 17:40:29 +08:00
|
|
|
|
IpBasicInfo,
|
|
|
|
|
|
ChartSingleValue,
|
|
|
|
|
|
Loading,
|
|
|
|
|
|
ChartNoData,
|
|
|
|
|
|
ChartTabs,
|
2021-08-20 15:43:48 +08:00
|
|
|
|
ChartMap,
|
2022-02-14 17:40:29 +08:00
|
|
|
|
ChartBlock,
|
|
|
|
|
|
ChartTimeBar,
|
|
|
|
|
|
ChartCategoryBar,
|
|
|
|
|
|
ChartIpOpenPortBar,
|
|
|
|
|
|
ChartRelationShip,
|
|
|
|
|
|
ChartGroup,
|
|
|
|
|
|
ChartEchartWithStatistics,
|
|
|
|
|
|
ChartEchart,
|
|
|
|
|
|
ChartEchartWithTable,
|
|
|
|
|
|
ChartEchartIpHostedDomain,
|
2022-03-02 16:13:55 +08:00
|
|
|
|
ChartEchartAppRelateDomain,
|
|
|
|
|
|
ChartOneSituationStatistics,
|
2022-03-07 09:30:17 +08:00
|
|
|
|
ChartTwoSituationStatistics,
|
2022-03-10 14:57:42 +08:00
|
|
|
|
ChartAlarmInfo,
|
2022-03-29 18:26:24 +08:00
|
|
|
|
ChartDomainRecursiveResolve,
|
|
|
|
|
|
chartDetectionSecurity,
|
|
|
|
|
|
chartDetectionService
|
2022-03-07 09:30:17 +08:00
|
|
|
|
},
|
2022-03-17 17:56:38 +08:00
|
|
|
|
data () {
|
2022-03-07 17:27:55 +08:00
|
|
|
|
return {
|
2022-03-17 17:56:38 +08:00
|
|
|
|
tabHandleClickType: ''
|
2022-03-07 09:30:17 +08:00
|
|
|
|
}
|
2021-06-20 13:31:55 +08:00
|
|
|
|
},
|
2022-02-14 17:40:29 +08:00
|
|
|
|
props: {
|
|
|
|
|
|
chartInfo: Object,
|
|
|
|
|
|
chartData: [Object, Array, String], // 数据在父组件查询后传入,本组件内不查询,只根据接传递的数据来渲染
|
|
|
|
|
|
resultType: Object, // 返回数据的类型
|
|
|
|
|
|
queryParams: Object, // 接口请求参数
|
|
|
|
|
|
customChartOption: Object, // 需要自定义echarts的option时传入,非必须;传入该值时仍需传对应格式的chartData
|
|
|
|
|
|
isFullscreen: Boolean,
|
|
|
|
|
|
loading: Boolean,
|
|
|
|
|
|
panelLock: Boolean,
|
|
|
|
|
|
entity: Object,
|
|
|
|
|
|
isError: Boolean,
|
|
|
|
|
|
table: Object,
|
2022-03-12 23:05:04 +08:00
|
|
|
|
timeFilter: Object,
|
2022-03-07 09:30:17 +08:00
|
|
|
|
orderPieTable: Object,
|
2022-03-12 23:05:04 +08:00
|
|
|
|
tabHandleClickType: String
|
2021-06-20 13:31:55 +08:00
|
|
|
|
},
|
2022-02-14 17:40:29 +08:00
|
|
|
|
computed: {
|
2022-03-17 17:56:38 +08:00
|
|
|
|
isNoData () {
|
2022-03-02 16:13:55 +08:00
|
|
|
|
return (
|
|
|
|
|
|
!this.loading &&
|
2022-04-08 17:29:55 +08:00
|
|
|
|
(!this.chartData || _.isEmpty(this.chartData) || this.isError) &&
|
2022-03-02 16:13:55 +08:00
|
|
|
|
!this.isSingleValue &&
|
|
|
|
|
|
!this.isTabs &&
|
2022-04-08 17:29:55 +08:00
|
|
|
|
!this.isBlock &&
|
|
|
|
|
|
!this.isGroup &&
|
2022-03-02 16:13:55 +08:00
|
|
|
|
!this.isDomainDnsRecord &&
|
|
|
|
|
|
!this.isCryptocurrencyEventList &&
|
|
|
|
|
|
!this.isActiveIpTable &&
|
|
|
|
|
|
!this.isMap &&
|
|
|
|
|
|
!this.isSingleSupportStatistics &&
|
2022-03-07 09:30:17 +08:00
|
|
|
|
!this.isTwoSupportStatistics &&
|
2022-03-30 10:32:01 +08:00
|
|
|
|
!this.isAlarmInfo
|
2022-03-02 16:13:55 +08:00
|
|
|
|
)
|
2021-10-11 19:12:52 +08:00
|
|
|
|
},
|
2022-03-17 17:56:38 +08:00
|
|
|
|
chartOption () {
|
2022-02-14 17:40:29 +08:00
|
|
|
|
if (this.customChartOption) {
|
|
|
|
|
|
return _.cloneDeep(this.customChartOption)
|
2021-08-09 13:38:32 +08:00
|
|
|
|
} else {
|
2022-02-14 17:40:29 +08:00
|
|
|
|
return getOption(this.chartInfo.type)
|
2021-12-13 10:16:41 +08:00
|
|
|
|
}
|
2022-03-17 17:56:38 +08:00
|
|
|
|
}
|
2021-06-20 13:31:55 +08:00
|
|
|
|
},
|
2022-02-14 17:40:29 +08:00
|
|
|
|
methods: {
|
2022-03-17 17:56:38 +08:00
|
|
|
|
resize () {
|
2022-03-02 16:13:55 +08:00
|
|
|
|
this.$refs['chart' + this.chartInfo.id] &&
|
|
|
|
|
|
this.$refs['chart' + this.chartInfo.id].resize()
|
2021-07-13 18:38:32 +08:00
|
|
|
|
},
|
2022-03-17 17:56:38 +08:00
|
|
|
|
showLoading (show) {
|
2022-02-14 17:40:29 +08:00
|
|
|
|
this.$emit('showLoading', show)
|
2021-09-18 17:48:52 +08:00
|
|
|
|
},
|
2022-04-22 17:40:44 +08:00
|
|
|
|
finishOneMap (show) {
|
|
|
|
|
|
this.$emit('handleSpecialChartFinishState', true)
|
|
|
|
|
|
},
|
2022-03-17 17:56:38 +08:00
|
|
|
|
getAlarmInfo (url, extraParams, isRefresh, timeFilter) {
|
2022-03-07 17:27:55 +08:00
|
|
|
|
this.$emit('getChartData', url, extraParams, isRefresh, timeFilter)
|
2022-03-07 09:30:17 +08:00
|
|
|
|
},
|
2022-03-17 17:56:38 +08:00
|
|
|
|
getChartData (url, extraParams) {
|
2022-03-07 20:50:03 +08:00
|
|
|
|
this.$emit('getChartData', url, extraParams)
|
|
|
|
|
|
},
|
2022-03-29 18:26:24 +08:00
|
|
|
|
getDetectionData (url, extraParams, isRefresh, timeFilter) {
|
|
|
|
|
|
this.$emit('getChartData', url, extraParams, isRefresh, timeFilter)
|
|
|
|
|
|
},
|
2022-03-17 17:56:38 +08:00
|
|
|
|
initEchartsWithTable () {
|
2022-03-02 16:13:55 +08:00
|
|
|
|
this.$refs['chart' + this.chartInfo.id] &&
|
|
|
|
|
|
this.$refs['chart' + this.chartInfo.id].initEchartsWithTable(
|
2022-03-17 17:56:38 +08:00
|
|
|
|
`chart${this.chartInfo.id}`
|
2022-03-02 16:13:55 +08:00
|
|
|
|
)
|
2022-03-07 09:30:17 +08:00
|
|
|
|
},
|
2022-03-17 17:56:38 +08:00
|
|
|
|
query (params) {
|
2022-03-06 23:26:42 +08:00
|
|
|
|
this.$emit('query', params)
|
2022-03-17 17:56:38 +08:00
|
|
|
|
}
|
2021-06-20 13:31:55 +08:00
|
|
|
|
},
|
2021-07-09 21:58:49 +08:00
|
|
|
|
watch: {
|
2022-03-07 17:27:55 +08:00
|
|
|
|
tabHandleClickType: {
|
|
|
|
|
|
deep: true,
|
2022-03-17 17:56:38 +08:00
|
|
|
|
handler (n) {
|
2022-03-07 09:30:17 +08:00
|
|
|
|
this.tabHandleClickType = n
|
2022-03-17 17:56:38 +08:00
|
|
|
|
}
|
2022-03-12 23:05:04 +08:00
|
|
|
|
}
|
2021-07-09 21:58:49 +08:00
|
|
|
|
},
|
2022-03-17 17:56:38 +08:00
|
|
|
|
setup (props) {
|
2021-06-20 13:31:55 +08:00
|
|
|
|
return {
|
2022-02-14 17:40:29 +08:00
|
|
|
|
isEcharts: isEcharts(props.chartInfo.type),
|
|
|
|
|
|
isEchartsLine: isEchartsLine(props.chartInfo.type),
|
|
|
|
|
|
isEchartsTimeBar: isEchartsTimeBar(props.chartInfo.type),
|
|
|
|
|
|
isEchartsCategoryBar: isEchartsCategoryBar(props.chartInfo.type),
|
|
|
|
|
|
isIpOpenPortBar: isIpOpenPortBar(props.chartInfo.type),
|
|
|
|
|
|
isEchartsPie: isEchartsPie(props.chartInfo.type),
|
|
|
|
|
|
isEchartsWithTable: isEchartsWithTable(props.chartInfo.type),
|
|
|
|
|
|
isEchartsWithStatistics: isEchartsWithStatistics(props.chartInfo.type),
|
|
|
|
|
|
isSingleValue: isSingleValue(props.chartInfo.type),
|
|
|
|
|
|
isSingleValueWithEcharts: isSingleValueWithEcharts(props.chartInfo.type),
|
2022-03-27 13:04:47 +08:00
|
|
|
|
isSingleValueWithPercent: isSingleValueWithPercent(props.chartInfo.type),
|
2022-02-14 17:40:29 +08:00
|
|
|
|
isRelationShip: isRelationShip(props.chartInfo.type),
|
|
|
|
|
|
isTable: isTable(props.chartInfo.type),
|
2022-03-06 23:26:42 +08:00
|
|
|
|
isBasicTable: isBasicTable(props.chartInfo.type),
|
2022-02-14 17:40:29 +08:00
|
|
|
|
isActiveIpTable: isActiveIpTable(props.chartInfo.type),
|
|
|
|
|
|
isMap: isMap(props.chartInfo.type),
|
|
|
|
|
|
isTitle: isTitle(props.chartInfo.type),
|
|
|
|
|
|
isMapLine: isMapLine(props.chartInfo.type),
|
|
|
|
|
|
isMapBlock: isMapBlock(props.chartInfo.type),
|
|
|
|
|
|
isTabs: isTabs(props.chartInfo.type),
|
|
|
|
|
|
isGroup: isGroup(props.chartInfo.type),
|
|
|
|
|
|
isBlock: isBlock(props.chartInfo.type),
|
|
|
|
|
|
isSankey: isSankey(props.chartInfo.type),
|
|
|
|
|
|
isIpBasicInfo: isIpBasicInfo(props.chartInfo.type),
|
|
|
|
|
|
isIpHostedDomain: isIpHostedDomain(props.chartInfo.type),
|
|
|
|
|
|
isDomainWhois: isDomainWhois(props.chartInfo.type),
|
|
|
|
|
|
isDomainDnsRecord: isDomainDnsRecord(props.chartInfo.type),
|
2022-03-02 16:13:55 +08:00
|
|
|
|
isCryptocurrencyEventList: isCryptocurrencyEventList(
|
2022-03-12 16:56:46 +08:00
|
|
|
|
props.chartInfo.type
|
2022-03-02 16:13:55 +08:00
|
|
|
|
),
|
2022-02-14 17:40:29 +08:00
|
|
|
|
isAppBasicInfo: isAppBasicInfo(props.chartInfo.type),
|
2022-03-02 16:13:55 +08:00
|
|
|
|
isAppRelatedDomain: isAppRelatedDomain(props.chartInfo.type),
|
2022-03-10 14:57:42 +08:00
|
|
|
|
isSingleSupportStatistics: isSingleSupportStatistics(
|
2022-03-12 16:56:46 +08:00
|
|
|
|
props.chartInfo.type
|
2022-03-10 14:57:42 +08:00
|
|
|
|
),
|
2022-03-07 09:30:17 +08:00
|
|
|
|
isTwoSupportStatistics: isTwoSupportStatistics(props.chartInfo.type),
|
2022-03-10 14:57:42 +08:00
|
|
|
|
isAlarmInfo: isAlarmInfo(props.chartInfo.type),
|
2022-03-29 18:26:24 +08:00
|
|
|
|
isDomainRecursiveResolve: isDomainRecursiveResolve(props.chartInfo.type),
|
|
|
|
|
|
isDetectionSecurity: isDetectionSecurity(props.chartInfo.type),
|
2022-03-30 18:46:00 +08:00
|
|
|
|
isDetectionService: isDetectionService(props.chartInfo.type),
|
|
|
|
|
|
isDetectionsProtocol: isDetectionsProtocol(props.chartInfo.type)
|
2021-06-20 13:31:55 +08:00
|
|
|
|
}
|
2022-03-12 16:56:46 +08:00
|
|
|
|
}
|
2021-06-20 13:31:55 +08:00
|
|
|
|
}
|
|
|
|
|
|
</script>
|