2025-03-07 15:44:35 +08:00
|
|
|
<template>
|
2025-04-13 17:15:01 +08:00
|
|
|
<div style="margin-top: -10px;">
|
2025-03-09 00:18:20 +08:00
|
|
|
<a-row :gutter="20">
|
|
|
|
|
<a-col :md="12" :sm="1" style="height:calc(50vh - 125px);">
|
|
|
|
|
<div class="linese"></div>
|
|
|
|
|
<div class="echartsTitle"><div class="ecicon"></div>数据清洗差异统计</div>
|
2025-04-13 17:15:01 +08:00
|
|
|
<div id="cleaningVariance" class="cleaningVariance" ref="cleaningVariance" style="width: 100%;background:#e6e9f1; height: calc(100% - 70px);"></div>
|
2025-03-09 00:18:20 +08:00
|
|
|
<div class="linese"></div>
|
2025-03-07 15:44:35 +08:00
|
|
|
</a-col>
|
2025-03-09 00:18:20 +08:00
|
|
|
<a-col :md="12" :sm="2" style="height:calc(50vh - 125px);">
|
|
|
|
|
<div class="linese"></div>
|
|
|
|
|
<div class="echartsTitle"><div class="ecicon"></div>数据编目总量统计</div>
|
2025-04-13 17:15:01 +08:00
|
|
|
<div id="totalNumberCatalogues" class="totalNumberCatalogues" ref="totalNumberCatalogues" style="width: 100%;background:#e6e9f1; height: calc(100% - 70px); "></div>
|
2025-03-09 00:18:20 +08:00
|
|
|
<div class="linese"></div>
|
2025-03-07 15:44:35 +08:00
|
|
|
</a-col>
|
2025-03-09 00:18:20 +08:00
|
|
|
<a-col :md="12" :sm="3" style="height:calc(50vh - 125px);">
|
|
|
|
|
<div class="linese"></div>
|
|
|
|
|
<div class="echartsTitle"><div class="ecicon"></div>数据类型存储占比统计</div>
|
2025-04-13 17:15:01 +08:00
|
|
|
<div id="catalogingStorage" class="catalogingStorage" ref="catalogingStorage" style="width: 100%;background:#e6e9f1; height: calc(100% - 70px);"></div>
|
2025-03-09 00:18:20 +08:00
|
|
|
<div class="linese"></div>
|
2025-03-07 15:44:35 +08:00
|
|
|
</a-col>
|
2025-03-09 00:18:20 +08:00
|
|
|
<a-col :md="12" :sm="4" style="height:calc(50vh - 125px);">
|
|
|
|
|
<div class="linese"></div>
|
|
|
|
|
<div class="echartsTitle"><div class="ecicon"></div>数据编目存储占比统计</div>
|
2025-04-13 17:15:01 +08:00
|
|
|
<div id="typeStorage" class="typeStorage" ref="typeStorage" style="width: 100%;background:#e6e9f1; height: calc(100% - 70px);"></div>
|
2025-03-09 00:18:20 +08:00
|
|
|
<div class="linese"></div>
|
2025-03-07 15:44:35 +08:00
|
|
|
</a-col>
|
|
|
|
|
</a-row>
|
|
|
|
|
</div>
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
<script>
|
|
|
|
|
import { getAction } from '@/api/manage'
|
|
|
|
|
import JEllipsis from "@/components/jeecg/JEllipsis";
|
|
|
|
|
export default {
|
|
|
|
|
name: "statistics",
|
|
|
|
|
components: {
|
|
|
|
|
JEllipsis
|
|
|
|
|
},
|
|
|
|
|
data () {
|
|
|
|
|
return {
|
|
|
|
|
description: '数据统计',
|
2025-03-09 12:30:49 +08:00
|
|
|
cleaningVarianceData:[],
|
|
|
|
|
totalNumberCataloguesData:[],
|
|
|
|
|
catalogingStorageData:[],
|
|
|
|
|
typeStorage:[]
|
2025-03-07 15:44:35 +08:00
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
mounted() {
|
2025-03-09 00:18:20 +08:00
|
|
|
this.getTables()
|
2025-03-07 15:44:35 +08:00
|
|
|
},
|
|
|
|
|
computed: {
|
|
|
|
|
},
|
|
|
|
|
destroyed: function () {
|
|
|
|
|
},
|
|
|
|
|
created () {
|
|
|
|
|
|
|
|
|
|
},
|
|
|
|
|
methods: {
|
|
|
|
|
dataAdd(){
|
2025-03-09 00:18:20 +08:00
|
|
|
},
|
|
|
|
|
getselect(){
|
|
|
|
|
|
2025-03-07 15:44:35 +08:00
|
|
|
},
|
|
|
|
|
getTables(){
|
2025-03-09 12:30:49 +08:00
|
|
|
this.cleaningVarianceData =[['product', '原始库', '标准库']];
|
|
|
|
|
getAction("/dataAnalysis/getClnDiffStats",{}).then((res)=>{
|
|
|
|
|
if(res.success){
|
|
|
|
|
res.result.schemaNames.forEach(row => {
|
|
|
|
|
this.cleaningVarianceData.push([row, parseInt(res.result.numRowOriMap[row]),parseInt(res.result.numRowStaMap[row]) ])
|
|
|
|
|
})
|
|
|
|
|
this.getcleaningVariance();
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
this.totalNumberCataloguesData =[];
|
|
|
|
|
getAction("/dataAnalysis/getTagStats",{}).then((res)=>{
|
|
|
|
|
if(res.success){
|
|
|
|
|
res.result.tagNames.forEach(row => {
|
|
|
|
|
this.totalNumberCataloguesData.push([row, parseInt(res.result.tagNumRow[row]) ])
|
|
|
|
|
})
|
|
|
|
|
this.gettotalNumberCatalogues();
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
this.catalogingStorageData =[];
|
|
|
|
|
getAction("/dataAnalysis/getDataTypeAnalysis",{}).then((res)=>{
|
|
|
|
|
if(res.success){
|
|
|
|
|
res.result.typeName.forEach(row => {
|
|
|
|
|
this.catalogingStorageData.push({ value: parseInt(res.result.numRowMap[row]), name: row })
|
|
|
|
|
})
|
|
|
|
|
this.getcatalogingStorage();
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
this.typeStorage =[]
|
|
|
|
|
getAction("/dataAnalysis/getTagNumRowStats",{}).then((res)=>{
|
|
|
|
|
if(res.success){
|
|
|
|
|
res.result.tagNames.forEach(row => {
|
|
|
|
|
this.typeStorage.push({ value: parseInt(res.result.tagNumRow[row]), name: row })
|
|
|
|
|
})
|
|
|
|
|
this.gettypeStorage();
|
|
|
|
|
}
|
|
|
|
|
});
|
2025-03-07 15:44:35 +08:00
|
|
|
},
|
|
|
|
|
getcleaningVariance(){
|
|
|
|
|
var myChart = this.$echarts.init(this.$refs.cleaningVariance);
|
|
|
|
|
var option = {
|
2025-03-09 00:18:20 +08:00
|
|
|
tooltip: {},
|
|
|
|
|
grid:{
|
2025-04-13 17:15:01 +08:00
|
|
|
left:'80px',
|
2025-03-09 00:18:20 +08:00
|
|
|
right:'20px',
|
|
|
|
|
top:'20px',
|
2025-04-13 17:15:01 +08:00
|
|
|
bottom:'30px'
|
2025-03-07 15:44:35 +08:00
|
|
|
},
|
2025-03-09 00:18:20 +08:00
|
|
|
xAxis: {
|
|
|
|
|
type: 'category' ,
|
|
|
|
|
|
|
|
|
|
axisLabel:{
|
2025-04-13 17:15:01 +08:00
|
|
|
color: '#6C758B'
|
2025-03-09 00:18:20 +08:00
|
|
|
},
|
|
|
|
|
splitLine:{
|
|
|
|
|
lineStyle:{
|
2025-04-13 17:15:01 +08:00
|
|
|
color: '#6C758B'
|
2025-03-09 00:18:20 +08:00
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
axisLine:{
|
|
|
|
|
lineStyle:{
|
2025-04-13 17:15:01 +08:00
|
|
|
color: '#6C758B'
|
2025-03-09 00:18:20 +08:00
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
yAxis: {
|
|
|
|
|
|
|
|
|
|
axisLabel:{
|
2025-04-13 17:15:01 +08:00
|
|
|
color: '#6C758B'
|
2025-03-09 00:18:20 +08:00
|
|
|
},
|
|
|
|
|
splitLine:{
|
|
|
|
|
lineStyle:{
|
2025-04-13 17:15:01 +08:00
|
|
|
color: '#6C758B'
|
2025-03-09 00:18:20 +08:00
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
axisLine:{
|
|
|
|
|
lineStyle:{
|
2025-04-13 17:15:01 +08:00
|
|
|
color: '#6C758B'
|
2025-03-09 00:18:20 +08:00
|
|
|
}
|
|
|
|
|
},
|
2025-03-08 12:23:48 +08:00
|
|
|
},
|
2025-03-07 15:44:35 +08:00
|
|
|
dataset: {
|
2025-03-09 12:30:49 +08:00
|
|
|
source: this.cleaningVarianceData
|
2025-03-07 15:44:35 +08:00
|
|
|
},
|
|
|
|
|
// Declare several bar series, each will be mapped
|
|
|
|
|
// to a column of dataset.source by default.
|
2025-03-09 00:18:20 +08:00
|
|
|
series: [{ type: 'bar',barMaxWidth: 20, }, { type: 'bar',barMaxWidth: 20, }],
|
2025-03-07 15:44:35 +08:00
|
|
|
color:['#5470c6', '#91cc75', '#fac858', '#ee6666', '#73c0de', '#3ba272', '#fc8452', '#9a60b4', '#ea7ccc']
|
|
|
|
|
};
|
|
|
|
|
myChart.setOption(option);
|
|
|
|
|
},
|
|
|
|
|
gettotalNumberCatalogues(){
|
|
|
|
|
var myChart = this.$echarts.init(this.$refs.totalNumberCatalogues);
|
|
|
|
|
var option = {
|
|
|
|
|
tooltip: {},
|
|
|
|
|
dataset: {
|
2025-03-09 12:30:49 +08:00
|
|
|
source: this.totalNumberCataloguesData
|
2025-03-09 00:18:20 +08:00
|
|
|
},
|
|
|
|
|
grid:{
|
|
|
|
|
left:'40px',
|
|
|
|
|
right:'20px',
|
|
|
|
|
top:'20px',
|
2025-04-13 17:15:01 +08:00
|
|
|
bottom:'30px'
|
2025-03-09 00:18:20 +08:00
|
|
|
},
|
|
|
|
|
xAxis: {
|
|
|
|
|
type: 'category' ,
|
|
|
|
|
|
|
|
|
|
axisLabel:{
|
2025-04-13 17:15:01 +08:00
|
|
|
color: '#6C758B'
|
2025-03-09 00:18:20 +08:00
|
|
|
},
|
|
|
|
|
splitLine:{
|
|
|
|
|
lineStyle:{
|
2025-04-13 17:15:01 +08:00
|
|
|
color: '#6C758B'
|
2025-03-09 00:18:20 +08:00
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
axisLine:{
|
|
|
|
|
lineStyle:{
|
2025-04-13 17:15:01 +08:00
|
|
|
color: '#6C758B'
|
2025-03-09 00:18:20 +08:00
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
yAxis: {
|
|
|
|
|
|
|
|
|
|
axisLabel:{
|
2025-04-13 17:15:01 +08:00
|
|
|
color: '#6C758B'
|
2025-03-09 00:18:20 +08:00
|
|
|
},
|
|
|
|
|
splitLine:{
|
|
|
|
|
lineStyle:{
|
2025-04-13 17:15:01 +08:00
|
|
|
color: '#6C758B'
|
2025-03-09 00:18:20 +08:00
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
axisLine:{
|
|
|
|
|
lineStyle:{
|
2025-04-13 17:15:01 +08:00
|
|
|
color: '#6C758B'
|
2025-03-09 00:18:20 +08:00
|
|
|
}
|
|
|
|
|
},
|
2025-03-07 15:44:35 +08:00
|
|
|
},
|
|
|
|
|
// Declare several bar series, each will be mapped
|
|
|
|
|
// to a column of dataset.source by default.
|
2025-03-09 00:18:20 +08:00
|
|
|
series: [{ type: 'bar',barMaxWidth: 30, }],
|
2025-03-07 15:44:35 +08:00
|
|
|
color:['#5470c6', '#91cc75', '#fac858', '#ee6666', '#73c0de', '#3ba272', '#fc8452', '#9a60b4', '#ea7ccc']
|
|
|
|
|
};
|
|
|
|
|
myChart.setOption(option);
|
|
|
|
|
},
|
|
|
|
|
getcatalogingStorage(){
|
|
|
|
|
var myChart = this.$echarts.init(this.$refs.catalogingStorage);
|
|
|
|
|
var option = {
|
|
|
|
|
tooltip: {
|
|
|
|
|
trigger: 'item'
|
|
|
|
|
},
|
|
|
|
|
series: [
|
|
|
|
|
{
|
|
|
|
|
name: '占比',
|
|
|
|
|
type: 'pie',
|
2025-03-09 22:09:38 +08:00
|
|
|
radius: '70%',
|
2025-03-09 12:30:49 +08:00
|
|
|
data: this.catalogingStorageData,
|
2025-03-07 15:44:35 +08:00
|
|
|
emphasis: {
|
|
|
|
|
itemStyle: {
|
|
|
|
|
shadowBlur: 10,
|
|
|
|
|
shadowOffsetX: 0,
|
|
|
|
|
shadowColor: 'rgba(0, 0, 0, 0.5)'
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
color:['#5470c6', '#91cc75', '#fac858', '#ee6666', '#73c0de', '#3ba272', '#fc8452', '#9a60b4', '#ea7ccc']
|
|
|
|
|
};
|
|
|
|
|
myChart.setOption(option);
|
|
|
|
|
},
|
|
|
|
|
gettypeStorage(){
|
|
|
|
|
var myChart = this.$echarts.init(this.$refs.typeStorage);
|
|
|
|
|
var option = {
|
|
|
|
|
tooltip: {
|
|
|
|
|
trigger: 'item'
|
|
|
|
|
},
|
|
|
|
|
series: [
|
|
|
|
|
{
|
|
|
|
|
name: '占比',
|
|
|
|
|
type: 'pie',
|
2025-03-09 22:09:38 +08:00
|
|
|
radius: '70%',
|
2025-03-09 12:30:49 +08:00
|
|
|
data: this.typeStorage,
|
2025-03-07 15:44:35 +08:00
|
|
|
emphasis: {
|
|
|
|
|
itemStyle: {
|
|
|
|
|
shadowBlur: 10,
|
|
|
|
|
shadowOffsetX: 0,
|
|
|
|
|
shadowColor: 'rgba(0, 0, 0, 0.5)'
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
color:['#5470c6', '#91cc75', '#fac858', '#ee6666', '#73c0de', '#3ba272', '#fc8452', '#9a60b4', '#ea7ccc']
|
|
|
|
|
};
|
|
|
|
|
myChart.setOption(option);
|
|
|
|
|
},
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
</script>
|
|
|
|
|
<style scoped>
|
|
|
|
|
@import '~@assets/less/common.less';
|
|
|
|
|
</style>
|