修改统计及日期不切换

This commit is contained in:
wangchengming 2025-06-17 10:32:44 +08:00
parent 002dfe99e1
commit 2103ffa370
4 changed files with 219 additions and 174 deletions

View File

@ -347,6 +347,9 @@ export default {
]
};
myChart.setOption(option);
window.addEventListener('resize', function () {
myChart.resize();
});
},
getFillMemoryInfo() {
fillMemoryInfo().then(res => {
@ -416,6 +419,10 @@ export default {
]
};
myChart.setOption(option);
//
window.addEventListener('resize', function () {
myChart.resize();
});
},
getFillJvmInfo() {
fillJvmInfo().then(res => {
@ -484,6 +491,9 @@ export default {
]
};
myChart.setOption(option);
window.addEventListener('resize', function () {
myChart.resize();
});
}
},
}

View File

@ -175,13 +175,14 @@ export default {
})
},
handleTaskChange(value) {
var curTask = this.allTask.filter(item => item.id == value)
const start = moment(curTask.startTime)
const end = moment(curTask.endTime)
this.defaultTime.push(start, end)
this.tableParams.startTime = start.format(this.dateFormat);
this.tableParams.endTime = end.format(this.dateFormat)
var curTask = this.allTask.filter(item => item.id == value)[0]
if (curTask) {
const start = moment(curTask.startTime)
const end = moment(curTask.endTime)
this.defaultTime.push(start, end)
this.tableParams.startTime = start.format(this.dateFormat);
this.tableParams.endTime = end.format(this.dateFormat)
}
},
calculateScrollY() {
//

View File

@ -3,96 +3,108 @@
<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>
<div id="cleaningVariance" class="cleaningVariance" ref="cleaningVariance" style="width: 100%;background:#e6e9f1; height: calc(100% - 70px);"></div>
<div class="echartsTitle">
<div class="ecicon"></div>数据清洗差异统计
</div>
<div id="cleaningVariance" class="cleaningVariance" ref="cleaningVariance"
style="width: 100%;background:#e6e9f1; height: calc(100% - 70px);"></div>
<div class="linese"></div>
</a-col>
<a-col :md="12" :sm="2" style="height:calc(50vh - 125px);">
<div class="linese"></div>
<div class="echartsTitle"><div class="ecicon"></div>数据编目总量统计</div>
<div id="totalNumberCatalogues" class="totalNumberCatalogues" ref="totalNumberCatalogues" style="width: 100%;background:#e6e9f1; height: calc(100% - 70px); "></div>
<div class="echartsTitle">
<div class="ecicon"></div>数据编目总量统计
</div>
<div id="totalNumberCatalogues" class="totalNumberCatalogues" ref="totalNumberCatalogues"
style="width: 100%;background:#e6e9f1; height: calc(100% - 70px); "></div>
<div class="linese"></div>
</a-col>
<a-col :md="12" :sm="3" style="height:calc(50vh - 125px);">
<div class="linese"></div>
<div class="echartsTitle"><div class="ecicon"></div>数据类型存储占比统计</div>
<div id="catalogingStorage" class="catalogingStorage" ref="catalogingStorage" style="width: 100%;background:#e6e9f1; height: calc(100% - 70px);"></div>
<div class="echartsTitle">
<div class="ecicon"></div>数据类型存储占比统计
</div>
<div id="catalogingStorage" class="catalogingStorage" ref="catalogingStorage"
style="width: 100%;background:#e6e9f1; height: calc(100% - 70px);"></div>
<div class="linese"></div>
</a-col>
<a-col :md="12" :sm="4" style="height:calc(50vh - 125px);">
<div class="linese"></div>
<div class="echartsTitle"><div class="ecicon"></div>数据编目存储占比统计</div>
<div id="typeStorage" class="typeStorage" ref="typeStorage" style="width: 100%;background:#e6e9f1; height: calc(100% - 70px);"></div>
<div class="echartsTitle">
<div class="ecicon"></div>数据编目存储占比统计
</div>
<div id="typeStorage" class="typeStorage" ref="typeStorage"
style="width: 100%;background:#e6e9f1; height: calc(100% - 70px);"></div>
<div class="linese"></div>
</a-col>
</a-row>
</div>
</template>
</template>
<script>
import { getAction } from '@/api/manage'
import JEllipsis from "@/components/jeecg/JEllipsis";
export default {
name: "statistics",
components: {
<script>
import { getAction } from '@/api/manage'
import JEllipsis from "@/components/jeecg/JEllipsis";
export default {
name: "statistics",
components: {
JEllipsis
},
data () {
},
data() {
return {
description: '数据统计',
cleaningVarianceData:[],
totalNumberCataloguesData:[],
catalogingStorageData:[],
typeStorage:[]
description: '数据统计',
cleaningVarianceData: [],
totalNumberCataloguesData: [],
catalogingStorageData: [],
typeStorage: []
}
},
mounted() {
this.getTables()
},
computed: {
},
destroyed: function () {
},
created () {
},
mounted() {
this.getTables()
},
computed: {
},
destroyed: function () {
},
created() {
},
methods: {
dataAdd(){
},
methods: {
dataAdd() {
},
getselect(){
getselect() {
},
getTables(){
this.cleaningVarianceData =[['product', '贴源库', '集成库']];
getAction("/dataAnalysis/getClnDiffStats",{}).then((res)=>{
if(res.success){
getTables() {
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.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){
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.totalNumberCataloguesData.push([row, parseInt(res.result.tagNumRow[row])])
})
this.gettotalNumberCatalogues();
}
});
this.catalogingStorageData =[];
getAction("/dataAnalysis/getDataTypeAnalysis",{}).then((res)=>{
if(res.success){
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){
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 })
})
@ -100,45 +112,45 @@
}
});
},
getcleaningVariance(){
var myChart = this.$echarts.init(this.$refs.cleaningVariance);
var option = {
getcleaningVariance() {
var myChart = this.$echarts.init(this.$refs.cleaningVariance);
var option = {
tooltip: {},
grid:{
left:'80px',
right:'20px',
top:'20px',
bottom:'30px'
grid: {
left: '80px',
right: '20px',
top: '20px',
bottom: '30px'
},
xAxis: {
type: 'category' ,
type: 'category',
axisLabel:{
axisLabel: {
color: '#6C758B'
},
splitLine:{
lineStyle:{
splitLine: {
lineStyle: {
color: '#6C758B'
}
},
axisLine:{
lineStyle:{
axisLine: {
lineStyle: {
color: '#6C758B'
}
},
},
yAxis: {
axisLabel:{
axisLabel: {
color: '#6C758B'
},
splitLine:{
lineStyle:{
splitLine: {
lineStyle: {
color: '#6C758B'
}
},
axisLine:{
lineStyle:{
axisLine: {
lineStyle: {
color: '#6C758B'
}
},
@ -148,117 +160,129 @@
},
// Declare several bar series, each will be mapped
// to a column of dataset.source by default.
series: [{ type: 'bar',barMaxWidth: 20, }, { type: 'bar',barMaxWidth: 20, }],
color:['#5470c6', '#91cc75', '#fac858', '#ee6666', '#73c0de', '#3ba272', '#fc8452', '#9a60b4', '#ea7ccc']
series: [{ type: 'bar', barMaxWidth: 20, }, { type: 'bar', barMaxWidth: 20, }],
color: ['#5470c6', '#91cc75', '#fac858', '#ee6666', '#73c0de', '#3ba272', '#fc8452', '#9a60b4', '#ea7ccc']
};
myChart.setOption(option);
myChart.setOption(option);
window.addEventListener('resize', function () {
myChart.resize();
});
},
gettotalNumberCatalogues(){
var myChart = this.$echarts.init(this.$refs.totalNumberCatalogues);
var option = {
gettotalNumberCatalogues() {
var myChart = this.$echarts.init(this.$refs.totalNumberCatalogues);
var option = {
tooltip: {},
dataset: {
source: this.totalNumberCataloguesData
},
grid:{
left:'40px',
right:'20px',
top:'20px',
bottom:'30px'
grid: {
left: '40px',
right: '20px',
top: '20px',
bottom: '30px'
},
xAxis: {
type: 'category' ,
type: 'category',
axisLabel:{
axisLabel: {
color: '#6C758B'
},
splitLine:{
lineStyle:{
splitLine: {
lineStyle: {
color: '#6C758B'
}
},
axisLine:{
lineStyle:{
axisLine: {
lineStyle: {
color: '#6C758B'
}
},
},
yAxis: {
axisLabel:{
axisLabel: {
color: '#6C758B'
},
splitLine:{
lineStyle:{
splitLine: {
lineStyle: {
color: '#6C758B'
}
},
axisLine:{
lineStyle:{
axisLine: {
lineStyle: {
color: '#6C758B'
}
},
},
// Declare several bar series, each will be mapped
// to a column of dataset.source by default.
series: [{ type: 'bar',barMaxWidth: 30, }],
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: 'MB',
type: 'pie',
radius: '70%',
data: this.catalogingStorageData,
emphasis: {
itemStyle: {
shadowBlur: 10,
shadowOffsetX: 0,
shadowColor: 'rgba(0, 0, 0, 0.5)'
}
}
}
],
color:['#5470c6', '#91cc75', '#fac858', '#ee6666', '#73c0de', '#3ba272', '#fc8452', '#9a60b4', '#ea7ccc']
series: [{ type: 'bar', barMaxWidth: 30, }],
color: ['#5470c6', '#91cc75', '#fac858', '#ee6666', '#73c0de', '#3ba272', '#fc8452', '#9a60b4', '#ea7ccc']
};
myChart.setOption(option);
window.addEventListener('resize', function () {
myChart.resize();
});
},
gettypeStorage(){
var myChart = this.$echarts.init(this.$refs.typeStorage);
var option = {
tooltip: {
trigger: 'item'
},
series: [
{
name: '占比',
type: 'pie',
radius: '70%',
data: this.typeStorage,
emphasis: {
itemStyle: {
shadowBlur: 10,
shadowOffsetX: 0,
shadowColor: 'rgba(0, 0, 0, 0.5)'
getcatalogingStorage() {
var myChart = this.$echarts.init(this.$refs.catalogingStorage);
var option = {
tooltip: {
trigger: 'item'
},
series: [
{
name: 'MB',
type: 'pie',
radius: '70%',
data: this.catalogingStorageData,
emphasis: {
itemStyle: {
shadowBlur: 10,
shadowOffsetX: 0,
shadowColor: 'rgba(0, 0, 0, 0.5)'
}
}
}
}
}
],
color:['#5470c6', '#91cc75', '#fac858', '#ee6666', '#73c0de', '#3ba272', '#fc8452', '#9a60b4', '#ea7ccc']
],
color: ['#5470c6', '#91cc75', '#fac858', '#ee6666', '#73c0de', '#3ba272', '#fc8452', '#9a60b4', '#ea7ccc']
};
myChart.setOption(option);
window.addEventListener('resize', function () {
myChart.resize();
});
},
gettypeStorage() {
var myChart = this.$echarts.init(this.$refs.typeStorage);
var option = {
tooltip: {
trigger: 'item'
},
series: [
{
name: '占比',
type: 'pie',
radius: '70%',
data: this.typeStorage,
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);
window.addEventListener('resize', function () {
myChart.resize();
});
},
}
}
</script>
<style scoped>
@import '~@assets/less/common.less';
</style>
}
</script>
<style scoped>
@import '~@assets/less/common.less';
</style>

View File

@ -13,15 +13,15 @@
</a-col>
<a-col :md="6" :sm="10">
<span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
<a-button @click="loadData" type="primary" icon="search">查询</a-button>
<a-button @click="loadData" type="primary" icon="search">查询</a-button>
</span>
</a-col>
</a-row>
</a-form>
</div>
<a-table ref="table" size="middle" style="height:calc(100vh - 343px);background:#e6e9f1;padding: 10px;" bordered rowKey="id"
:custom-row="handleCustomRow"
:columns="columns" :dataSource="dataSource" @change="handleTableChange">
<a-table ref="table" size="middle" style="height:calc(100vh - 343px);background:#e6e9f1;padding: 10px;"
bordered rowKey="id" :custom-row="handleCustomRow" :columns="columns" :dataSource="dataSource"
@change="handleTableChange">
<span slot="action" slot-scope="text, record">
<a @click="handleEdit(record)">选中</a>
</span>
@ -83,18 +83,20 @@
<div class="linese"></div>
<div class="linese"></div>
<a-row :gutter="20" >
<a-row :gutter="20">
<a-col :md="12" :sm="1" style="height:calc(100vh - 422px);">
<div class="echartsTitle">
<div class="ecicon"></div>数据总量统计
</div>
<div id="cleaningVariance" ref="cleaningVariance" style="width: 100%; height: calc(100% - 31px);background:#e6e9f1;"></div>
<div id="cleaningVariance" ref="cleaningVariance"
style="width: 100%; height: calc(100% - 31px);background:#e6e9f1;"></div>
</a-col>
<a-col :md="12" :sm="2" style="height:calc(100vh - 422px);padding-right:20px;">
<div class="echartsTitle">
<div class="ecicon"></div>数据类型存储占比统计
</div>
<div id="totalNumberCatalogues" ref="totalNumberCatalogues" style="width: 100%; height: calc(100% - 31px);background:#e6e9f1;"></div>
<div id="totalNumberCatalogues" ref="totalNumberCatalogues"
style="width: 100%; height: calc(100% - 31px);background:#e6e9f1;"></div>
</a-col>
</a-row>
<div class="linese"></div>
@ -167,7 +169,7 @@ export default {
},
cleaningVariancesource: [],
totalNumberCataloguesData: [],
selectedRowId :null
selectedRowId: null
}
},
mounted() {
@ -189,7 +191,7 @@ export default {
this.selectedRowId = record.id;
},
class: {
'row-highlight': this.selectedRowId === record.id
'row-highlight': this.selectedRowId === record.id
}
};
},
@ -262,7 +264,7 @@ export default {
},
axisLine: {
lineStyle: {
color:'#6C758B'
color: '#6C758B'
}
},
axisLine: {
@ -292,6 +294,9 @@ export default {
color: ['#5470c6', '#91cc75', '#fac858', '#ee6666', '#73c0de', '#3ba272', '#fc8452', '#9a60b4', '#ea7ccc']
};
myChart.setOption(option);
window.addEventListener('resize', function () {
myChart.resize();
});
},
gettotalNumberCatalogues() {
var myChart = this.$echarts.init(this.$refs.totalNumberCatalogues);
@ -317,6 +322,9 @@ export default {
color: ['#5470c6', '#91cc75', '#fac858', '#ee6666', '#73c0de', '#3ba272', '#fc8452', '#9a60b4', '#ea7ccc']
};
myChart.setOption(option);
window.addEventListener('resize', function () {
myChart.resize();
});
},
}
}
@ -341,10 +349,12 @@ export default {
.quarter-div .datanum {
font-size: 26px;
}
/* 高亮样式 */
/deep/.row-highlight {
background-color: #ffffff !important;
background-color: #ffffff !important;
}
.quarter-div .ant-col-8,
.quarter-div .ant-col-10 {
text-align: center;