This commit is contained in:
gaochang 2024-01-08 15:06:33 +08:00
parent bc2adcd8f2
commit 676c93cc6b
8 changed files with 1112 additions and 159 deletions

View File

@ -210,7 +210,16 @@
handleReport(row) {
this.showOptions.data = row
this.showOptions.showList = false
this.showOptions.showDetail = true
if (row.checkReportType === 'relevance') {
//
this.showOptions.showDetail_relevance = true
} else if (row.checkReportType === 'content') {
//
this.showOptions.showDetail_content = true
} else {
//
this.showOptions.showDetail = true
}
this.$emit('showCard', this.showOptions)
},
handleSizeChange(val) {

View File

@ -73,7 +73,7 @@
<div class="stitle">用例类型统计分析</div><!--stitle 二级标题-->
<div class="dbox">
<div class="ttitle">表字段标准检测分析</div><!--ttitle 三级标题-->
<div class="ttitle">表字段标准检测用例</div><!--ttitle 三级标题-->
<el-table :data="table_key" border style="width: 100%">
<el-table-column prop="ruleName" label="用例名称" align="center" />
<el-table-column prop="ruleSourceName" label="数据源" align="center" />
@ -99,7 +99,7 @@
</div><!--dbox-->
<div class="dbox">
<div class="ttitle">长度标准检测分析</div><!--ttitle 三级标题-->
<div class="ttitle">长度标准检测用例</div><!--ttitle 三级标题-->
<el-table :data="length_key" border style="width: 100%">
<el-table-column prop="ruleName" label="用例名称" align="center" />
<el-table-column prop="ruleSourceName" label="数据源" align="center" />
@ -124,7 +124,7 @@
</div><!--dbox-->
<div class="dbox">
<div class="ttitle">空值标准检测分析</div><!--ttitle 三级标题-->
<div class="ttitle">空值标准检测用例</div><!--ttitle 三级标题-->
<el-table :data="null_key" border style="width: 100%">
<el-table-column prop="ruleName" label="用例名称" align="center" />
<el-table-column prop="ruleSourceName" label="数据源" align="center" />
@ -150,7 +150,7 @@
</div><!--dbox-->
<div class="dbox">
<div class="ttitle">主键标准检测分析</div><!--ttitle 三级标题-->
<div class="ttitle">主键标准检测用例</div><!--ttitle 三级标题-->
<el-table :data="pk_key" border style="width: 100%">
<el-table-column prop="ruleName" label="用例名称" align="center" />
<el-table-column prop="ruleSourceName" label="数据源" align="center" />
@ -177,7 +177,7 @@
<div class="dbox">
<div class="ttitle">外键标准检测分析</div><!--ttitle 三级标题-->
<div class="ttitle">外键标准检测用例</div><!--ttitle 三级标题-->
<el-table :data="fk_key" border style="width: 100%">
<el-table-column prop="ruleName" label="用例名称" align="center" />
<el-table-column prop="ruleSourceName" label="数据源" align="center" />
@ -202,99 +202,6 @@
</el-collapse>
</div><!--dbox-->
<div class="dbox" v-if="false">
<div class="ttitle">完整性标准检测分析</div><!--ttitle 三级标题-->
<el-table :data="integrity" border style="width: 100%">
<el-table-column prop="ruleName" label="用例名称" align="center" />
<el-table-column prop="ruleSourceName" label="数据源" align="center" />
<el-table-column prop="version" label="版本" align="center" />
<el-table-column prop="checkTotalCount" label="检测数" align="center" />
<el-table-column prop="checkErrorCount" label="不合规数" align="center" />
</el-table>
<el-collapse @change="handleChange" class="ncoll"><!--加上ncoll-->
<el-collapse-item name="1">
<template slot="title"><span class="tit">不合规明细</span></template>
<el-table :data="no_integrity" border style="width: 100%">
<el-table-column prop="caseName" label="用例名称" align="center" />
<el-table-column prop="source" label="数据源" align="center" />
<el-table-column prop="tableName" label="数据表" align="center" />
<el-table-column prop="trueColumn" label="字段名称" align="center" />
<el-table-column prop="notDetail" label="不合规原因" align="center" />
</el-table>
</el-collapse-item>
</el-collapse>
</div><!--dbox-->
<div class="dbox" v-if="false">
<div class="ttitle">准确性标准检测分析</div><!--ttitle 三级标题-->
<el-table :data="accuracy" border style="width: 100%">
<el-table-column prop="ruleName" label="用例名称" align="center" />
<el-table-column prop="ruleSourceName" label="数据源" align="center" />
<el-table-column prop="version" label="版本" align="center" />
<el-table-column prop="checkTotalCount" label="检测数" align="center" />
<el-table-column prop="checkErrorCount" label="不合规数" align="center" />
</el-table>
<el-collapse @change="handleChange" class="ncoll"><!--加上ncoll-->
<el-collapse-item name="1">
<template slot="title"><span class="tit">不合规明细</span></template>
<el-table :data="no_accuracy" border style="width: 100%">
<el-table-column prop="caseName" label="用例名称" align="center" />
<el-table-column prop="source" label="数据源" align="center" />
<el-table-column prop="tableName" label="数据表" align="center" />
<el-table-column prop="trueColumn" label="字段名称" align="center" />
<el-table-column prop="notDetail" label="不合规原因" align="center" />
</el-table>
</el-collapse-item>
</el-collapse>
</div><!--dbox-->
<div class="dbox" v-if="false">
<div class="ttitle">一致性标准检测分析</div><!--ttitle 三级标题-->
<el-table :data="consistent" border style="width: 100%">
<el-table-column prop="ruleName" label="用例名称" align="center" />
<el-table-column prop="ruleSourceName" label="数据源" align="center" />
<el-table-column prop="version" label="版本" align="center" />
<el-table-column prop="checkTotalCount" label="检测数" align="center" />
<el-table-column prop="checkErrorCount" label="不合规数" align="center" />
</el-table>
<el-collapse @change="handleChange" class="ncoll"><!--加上ncoll-->
<el-collapse-item name="1">
<template slot="title"><span class="tit">不合规明细</span></template>
<el-table :data="no_consistent" border style="width: 100%">
<el-table-column prop="caseName" label="用例名称" align="center" />
<el-table-column prop="source" label="数据源" align="center" />
<el-table-column prop="tableName" label="数据表" align="center" />
<el-table-column prop="trueColumn" label="字段名称" align="center" />
<el-table-column prop="notDetail" label="不合规原因" align="center" />
</el-table>
</el-collapse-item>
</el-collapse>
</div><!--dbox-->
<div class="dbox" v-if="false">
<div class="ttitle">正则表达式标准检测分析</div><!--ttitle 三级标题-->
<el-table :data="regular" border style="width: 100%">
<el-table-column prop="ruleName" label="用例名称" align="center" />
<el-table-column prop="ruleSourceName" label="数据源" align="center" />
<el-table-column prop="version" label="版本" align="center" />
<el-table-column prop="checkTotalCount" label="检测数" align="center" />
<el-table-column prop="checkErrorCount" label="不合规数" align="center" />
</el-table>
<el-collapse @change="handleChange" class="ncoll"><!--加上ncoll-->
<el-collapse-item name="1">
<template slot="title"><span class="tit">不合规明细</span></template>
<el-table :data="no_regular" border style="width: 100%">
<el-table-column prop="caseName" label="用例名称" align="center" />
<el-table-column prop="source" label="数据源" align="center" />
<el-table-column prop="tableName" label="数据表" align="center" />
<el-table-column prop="trueColumn" label="字段名称" align="center" />
<el-table-column prop="dataColumn" label="字段值" align="center" />
<el-table-column prop="notDetail" label="不合规原因" align="center" />
</el-table>
</el-collapse-item>
</el-collapse>
</div><!--dbox-->
</el-card><!--el-card-->

View File

@ -0,0 +1,462 @@
<template>
<div class="app-container">
<div class="hasTagsView">
<div class="app-main">
<el-card class="box-card">
<div slot="header" class="clearfix">
<div style="float: right;">
<el-button type="primary" size="mini" icon="el-icon-download" @click="exportWord">导出</el-button>
<el-button size="mini" icon="el-icon-back" @click="showCard">返回</el-button>
</div>
</div><!--header-->
<h4 class="ftitle">内容符合性检测结果报告</h4><!--ftitle 一级标题-->
<div class="stitle">检测指标统计分析</div><!--stitle 二级标题-->
<div class="test-list">
<div class="list">
<div class="title"><img src="../../../assets/images/j-icon1.svg"><span class="tit">检测表条数</span></div>
<!-- <div class="figure">{{ data.checkTotalCount_new }}</div>-->
<div class="figure" >{{ checkTotalCount_new }}</div>
</div>
<div class="list">
<div class="title"><img src="../../../assets/images/j-icon2.svg"><span class="tit">检测总耗时(毫秒)</span></div>
<!-- <div class="figure">{{ data.checkTimeConsuming_new }}</div>-->
<div class="figure">{{ checkTimeConsuming_new }}</div>
</div>
<div class="list">
<div class="title"><img src="../../../assets/images/j-icon3.svg"><span class="tit">不合规总数</span></div>
<!-- <div class="figure">{{ data.checkErrorCount_new }}</div>-->
<div class="figure">{{ checkErrorCount_new }}</div>
</div>
<div class="list">
<div class="title"><img src="../../../assets/images/j-icon4.svg"><span class="tit">不合规率</span></div>
<div class="figure">{{ (checkErrorCount_new / checkTotalCount_new * 100).toFixed(2) + '%' }}</div>
<!-- <div class="figure">{{ data.checkTotalCount_new }}</div>-->
</div>
</div><!--test-list-->
<div class="stitle">不合规统计分析</div><!--stitle 二级标题-->
<el-row :gutter="24">
<el-col :span="12">
<div class="ttitle">按数据源统计不合规数量</div><!--ttitle 三级标题-->
<el-table :data="reportTableData1" border style="width: 100%" class="btable"><!--加上btable-->
<el-table-column prop="ruleSourceName" label="数据源" align="center" />
<el-table-column prop="tableSum" label="检测条数" align="center" />
<el-table-column prop="tableTime" label="耗时(毫秒)" align="center" />
<el-table-column prop="ruleLevelName" label="版本" align="center" />
<el-table-column prop="checkErrorCount" label="不合规数" align="center">
<template slot-scope="scope">
<el-progress :percentage="scope.row.checkErrorCount" :stroke-width="20" :text-inside="true" :color="colorFormat(scope.row.ruleLevelName)" :format="cellFormat" />
</template>
</el-table-column>
</el-table>
</el-col>
<el-col :span="12">
<div class="ttitle">按用例类型统计不合规数量</div><!--ttitle 三级标题-->
<el-table :data="reportTableData2" border style="width: 100%" class="btable"><!--加上btable-->
<!-- <el-table-column prop="ta1" label="数据源">数据平台</el-table-column>-->
<el-table-column prop="ruleName" label="用例名称"></el-table-column>
<el-table-column prop="checkErrorCount" label="不合规数">
</el-table-column>
</el-table>
</el-col>
</el-row>
<div class="stitle">用例类型统计分析</div><!--stitle 二级标题-->
<div class="dbox" >
<div class="ttitle">完整性标准检测用例</div><!--ttitle 三级标题-->
<el-table :data="integrity" border style="width: 100%">
<el-table-column prop="ruleName" label="用例名称" align="center" />
<el-table-column prop="ruleSourceName" label="数据源" align="center" />
<el-table-column prop="version" label="版本" align="center" />
<el-table-column prop="checkTotalTime" label="耗时(毫秒)" align="center" />
<el-table-column prop="checkTotalCount" label="检测数" align="center" />
<el-table-column prop="checkErrorCount" label="不合规数" align="center" />
</el-table>
<el-collapse @change="handleChange" class="ncoll"><!--加上ncoll-->
<el-collapse-item name="1">
<template slot="title"><span class="tit">不合规明细</span></template>
<el-table :data="no_integrity" border style="width: 100%">
<el-table-column prop="caseName" label="用例名称" align="center" />
<el-table-column prop="source" label="数据源" align="center" />
<el-table-column prop="tableName" label="数据表" align="center" />
<el-table-column prop="trueColumn" label="字段名称" align="center" />
<el-table-column prop="notDetail" label="不合规原因" align="center" />
</el-table>
</el-collapse-item>
</el-collapse>
</div><!--dbox-->
<div class="dbox" >
<div class="ttitle">准确性标准检测用例</div><!--ttitle 三级标题-->
<el-table :data="accuracy" border style="width: 100%">
<el-table-column prop="ruleName" label="用例名称" align="center" />
<el-table-column prop="ruleSourceName" label="数据源" align="center" />
<el-table-column prop="version" label="版本" align="center" />
<el-table-column prop="checkTotalTime" label="耗时(毫秒)" align="center" />
<el-table-column prop="checkTotalCount" label="检测数" align="center" />
<el-table-column prop="checkErrorCount" label="不合规数" align="center" />
</el-table>
<el-collapse @change="handleChange" class="ncoll"><!--加上ncoll-->
<el-collapse-item name="1">
<template slot="title"><span class="tit">不合规明细</span></template>
<el-table :data="no_accuracy" border style="width: 100%">
<el-table-column prop="caseName" label="用例名称" align="center" />
<el-table-column prop="source" label="数据源" align="center" />
<el-table-column prop="tableName" label="数据表" align="center" />
<el-table-column prop="trueColumn" label="字段名称" align="center" />
<el-table-column prop="notDetail" label="不合规原因" align="center" />
</el-table>
</el-collapse-item>
</el-collapse>
</div><!--dbox-->
<div class="dbox" >
<div class="ttitle">一致性标准检测用例</div><!--ttitle 三级标题-->
<el-table :data="consistent" border style="width: 100%">
<el-table-column prop="ruleName" label="用例名称" align="center" />
<el-table-column prop="ruleSourceName" label="数据源" align="center" />
<el-table-column prop="version" label="版本" align="center" />
<el-table-column prop="checkTotalTime" label="耗时(毫秒)" align="center" />
<el-table-column prop="checkTotalCount" label="检测数" align="center" />
<el-table-column prop="checkErrorCount" label="不合规数" align="center" />
</el-table>
<el-collapse @change="handleChange" class="ncoll"><!--加上ncoll-->
<el-collapse-item name="1">
<template slot="title"><span class="tit">不合规明细</span></template>
<el-table :data="no_consistent" border style="width: 100%">
<el-table-column prop="caseName" label="用例名称" align="center" />
<el-table-column prop="source" label="数据源" align="center" />
<el-table-column prop="tableName" label="数据表" align="center" />
<el-table-column prop="trueColumn" label="字段名称" align="center" />
<el-table-column prop="notDetail" label="不合规原因" align="center" />
</el-table>
</el-collapse-item>
</el-collapse>
</div><!--dbox-->
<div class="dbox" >
<div class="ttitle">正则表达式标准检测用例</div><!--ttitle 三级标题-->
<el-table :data="regular" border style="width: 100%">
<el-table-column prop="ruleName" label="用例名称" align="center" />
<el-table-column prop="ruleSourceName" label="数据源" align="center" />
<el-table-column prop="version" label="版本" align="center" />
<el-table-column prop="checkTotalTime" label="耗时(毫秒)" align="center" />
<el-table-column prop="checkTotalCount" label="检测数" align="center" />
<el-table-column prop="checkErrorCount" label="不合规数" align="center" />
</el-table>
<el-collapse @change="handleChange" class="ncoll"><!--加上ncoll-->
<el-collapse-item name="1">
<template slot="title"><span class="tit">不合规明细</span></template>
<el-table :data="no_regular" border style="width: 100%">
<el-table-column prop="caseName" label="用例名称" align="center" />
<el-table-column prop="source" label="数据源" align="center" />
<el-table-column prop="tableName" label="数据表" align="center" />
<el-table-column prop="trueColumn" label="字段名称" align="center" />
<!-- <el-table-column prop="dataColumn" label="字段值" align="center" />-->
<el-table-column prop="notDetail" label="不合规原因" align="center" />
</el-table>
</el-collapse-item>
</el-collapse>
</div><!--dbox-->
</el-card><!--el-card-->
</div><!--app-main-->
</div><!--hasTagsView-->
</div>
</template>
<script>
// import { getReportBySource, getReportByType, C } from '@/api/quality/checkreport'
import moment from 'moment'
import dataJson from './Data_content.json'
export default {
name: 'CheckReportStructureontent',
props: {
data: {
type: Object,
default: function() {
return {}
}
}
},
data() {
return {
queryParams: {
checkDate: ''
},
pickerOption: {
disabledDate(date) {
return date.getTime() > Date.now()
}
},
date: '',
//
showOptions: {
data: {},
showList: true,
showDetail_content: false
},
spanArr1: [],
position1: 0,
reportTableData1: [],
spanArr2: [],
position2: 0,
reportTableData2: [],
//
uniqueTableData: [],
//
integrityTableData: [],
//
accuracyTableData: [],
//
consistentTableData: [],
//
relevanceTableData: [],
//
timelinessTableData: [],
//
table_key: [],
no_table_key: [],
//
length_key: [],
no_length_key: [],
//
null_key: [],
no_null_key: [],
//
pk_key: [],
no_pk_key: [],
//
fk_key: [],
no_fk_key: [],
//
integrity: [],
no_integrity: [],
//
accuracy: [],
no_accuracy: [],
//
consistent: [],
no_consistent: [],
//
regular: [],
no_regular: [],
//
checkTotalCount: null,
//
checkTimeConsuming: null,
//
checkErrorCount: null,
//
checkTotalCount_new: null,
//
checkTimeConsuming_new: null,
//
checkErrorCount_new: null,
like: true,
value1: 4154.564,
totalTables: 1314,
title: '增长人数'
}
},
created() {
this.queryParams.checkDate = moment(this.data.checkDate).format('YYYY-MM-DD')
this.handleQuery()
},
mounted () {
//
this.table_key = dataJson.caseType.table_key
this.no_table_key = dataJson.caseType.no_table_key
//
this.length_key = dataJson.caseType.length_key
this.no_length_key = dataJson.caseType.no_length_key
//
this.null_key = dataJson.caseType.null_key
this.no_null_key = dataJson.caseType.no_null_key
//
this.pk_key = dataJson.caseType.pk_key
this.no_pk_key = dataJson.caseType.no_pk_key
//
this.fk_key = dataJson.caseType.fk_key
this.no_fk_key = dataJson.caseType.no_fk_key
//
this.integrity = dataJson.caseType.integrity
this.no_integrity = dataJson.caseType.no_integrity
//
this.accuracy = dataJson.caseType.accuracy
this.no_accuracy = dataJson.caseType.no_accuracy
//
this.consistent = dataJson.caseType.consistent
this.no_consistent = dataJson.caseType.no_consistent
//
this.regular = dataJson.caseType.regular
this.no_regular = dataJson.caseType.no_regular
//
this.spanArr1 = []
this.spanArr2 = []
this.reportTableData1 = dataJson.dataReport.reportTableData1
this.reportTableData2 = dataJson.dataReport.reportTableData2
this.rowspan1()
this.rowspan2()
this.checkTotalCount_new = dataJson.checkTotalCount
this.checkTimeConsuming_new = dataJson.checkTimeConsuming
this.checkErrorCount_new = dataJson.checkErrorCount
},
methods: {
showCard() {
this.$emit('showCard', this.showOptions)
},
handleQuery() {
this.spanArr1 = []
this.spanArr2 = []
// this.getReportData1()
// this.getReportData2()
// this.getReportData3()
// this.date = moment(this.queryParams.checkDate).format('YYYYMMDD')
},
// getReportData1() {
// getReportBySource({ checkDate: this.queryParams.checkDate }).then(response => {
// if (response.success) {
// this.reportTableData1 = response.data
// console.log('reportTableData1==', this.reportTableData1)
// this.rowspan1()
// }
// })
// },
// getReportData2() {
// getReportByType({ checkDate: this.queryParams.checkDate }).then(response => {
// if (response.success) {
// this.reportTableData2 = response.data
// console.log('this.reportTableData2===', this.reportTableData2)
// this.rowspan2()
// }
// })
// },
rowspan1() {
this.reportTableData1.forEach((item, index) => {
if (index === 0) {
this.spanArr1.push(1)
this.position1 = 0
} else {
if (this.reportTableData1[index].ruleSourceId === this.reportTableData1[index - 1].ruleSourceId) {
this.spanArr1[this.position1] += 1
this.spanArr1.push(0)
} else {
this.spanArr1.push(1)
this.position1 = index
}
}
})
},
objectSpanMethod1({ row, column, rowIndex, columnIndex }) {
if (columnIndex === 0) {
const _row = this.spanArr1[rowIndex]
const _col = _row > 0 ? 1 : 0
return {
rowspan: _row,
colspan: _col
}
}
},
rowspan2() {
this.reportTableData2.forEach((item, index) => {
if (index === 0) {
this.spanArr2.push(1)
this.position2 = 0
} else {
if (this.reportTableData2[index].ruleTypeId === this.reportTableData2[index - 1].ruleTypeId) {
this.spanArr2[this.position2] += 1
this.spanArr2.push(0)
} else {
this.spanArr2.push(1)
this.position2 = index
}
}
})
},
objectSpanMethod2({ row, column, rowIndex, columnIndex }) {
if (columnIndex === 0) {
const _row = this.spanArr2[rowIndex]
const _col = _row > 0 ? 1 : 0
return {
rowspan: _row,
colspan: _col
}
}
},
colorFormat(level) {
if (level === '低') {
return '#409eff'
} else if (level === '中') {
return '#e6a23c'
} else {
return '#f56c6c'
}
},
cellFormat(percentage) {
return `${percentage}`
},
typeFormat(level) {
if (level === '低') {
return 'primary'
} else if (level === '中') {
return 'warning'
} else {
return 'danger'
}
},
// getReportData3() {
// getReportDetail({ checkDate: this.queryParams.checkDate }).then(response => {
// if (response.success) {
// this.uniqueTableData = response.data.unique
// this.integrityTableData = response.data.integrity
// this.accuracyTableData = response.data.accuracy
// this.consistentTableData = response.data.consistent
// this.relevanceTableData = response.data.relevance
// this.timelinessTableData = response.data.timeliness
// }
// })
// },
exportWord() {
const filePath = './static/your-word-document.docx'
const link = document.createElement('a')
link.href = filePath
link.download = '测结果报告.docx'
document.body.appendChild(link)
link.click()
document.body.removeChild(link)
}
}
}
</script>
<style lang="scss" scoped>
.el-card ::v-deep .el-card__body {
height: calc(100vh - 230px);
overflow-y: auto;
}
.form-inline {
::v-deep .el-form-item {
margin-bottom: 0px;
}
}
::v-deep .el-badge__content {
margin-top: 10px;
right: 0px;
}
::v-deep .el-table__header th {
background-color: #f5f5f5 !important;
}
</style>

View File

@ -0,0 +1,396 @@
<template>
<div class="app-container">
<div class="hasTagsView">
<div class="app-main">
<el-card class="box-card">
<div slot="header" class="clearfix">
<div style="float: right;">
<el-button type="primary" size="mini" icon="el-icon-download" @click="exportWord">导出</el-button>
<el-button size="mini" icon="el-icon-back" @click="showCard">返回</el-button>
</div>
</div><!--header-->
<h4 class="ftitle">关联符合性检测结果报告</h4><!--ftitle 一级标题-->
<div class="stitle">检测指标统计分析</div><!--stitle 二级标题-->
<div class="test-list">
<div class="list">
<div class="title"><img src="../../../assets/images/j-icon1.svg"><span class="tit">检测表总数</span></div>
<!-- <div class="figure">{{ data.checkTotalCount_new }}</div>-->
<div class="figure" >{{ checkTotalCount_new }}</div>
</div>
<div class="list">
<div class="title"><img src="../../../assets/images/j-icon2.svg"><span class="tit">检测总耗时(毫秒)</span></div>
<!-- <div class="figure">{{ data.checkTimeConsuming_new }}</div>-->
<div class="figure">{{ checkTimeConsuming_new }}</div>
</div>
<div class="list">
<div class="title"><img src="../../../assets/images/j-icon3.svg"><span class="tit">不合规总数</span></div>
<!-- <div class="figure">{{ data.checkErrorCount_new }}</div>-->
<div class="figure">{{ checkErrorCount_new }}</div>
</div>
<div class="list">
<div class="title"><img src="../../../assets/images/j-icon4.svg"><span class="tit">不合规率</span></div>
<div class="figure">{{ (checkErrorCount_new / checkTotalCount_new * 100).toFixed(2) + '%' }}</div>
<!-- <div class="figure">{{ data.checkTotalCount_new }}</div>-->
</div>
</div><!--test-list-->
<div class="stitle">不合规统计分析</div><!--stitle 二级标题-->
<el-row :gutter="24">
<el-col :span="12">
<div class="ttitle">按数据源统计不合规数量</div><!--ttitle 三级标题-->
<el-table :data="reportTableData1" border style="width: 100%" class="btable"><!--加上btable-->
<el-table-column prop="ruleSourceName" label="数据源" align="center" />
<el-table-column prop="tableSum" label="检测表数" align="center" />
<el-table-column prop="tableTime" label="耗时(毫秒)" align="center" />
<el-table-column prop="ruleLevelName" label="版本" align="center" />
<el-table-column prop="checkErrorCount" label="不合规数" align="center">
<template slot-scope="scope">
<el-progress :percentage="scope.row.checkErrorCount" :stroke-width="20" :text-inside="true" :color="colorFormat(scope.row.ruleLevelName)" :format="cellFormat" />
</template>
</el-table-column>
</el-table>
</el-col>
<el-col :span="12">
<div class="ttitle">按用例类型统计不合规数量</div><!--ttitle 三级标题-->
<el-table :data="reportTableData2" border style="width: 100%" class="btable"><!--加上btable-->
<!-- <el-table-column prop="ta1" label="数据源">数据平台</el-table-column>-->
<el-table-column prop="ruleName" label="用例名称"></el-table-column>
<el-table-column prop="checkErrorCount" label="不合规数">
</el-table-column>
</el-table>
</el-col>
</el-row>
<div class="stitle">用例类型统计分析</div><!--stitle 二级标题-->
<div class="dbox">
<div class="ttitle">关联性检测用例</div><!--ttitle 三级标题-->
<el-table :data="relevancData" border style="width: 100%">
<el-table-column prop="ruleName" label="用例名称" align="center" />
<el-table-column prop="ruleSourceName" label="数据源" align="center" />
<el-table-column prop="version" label="版本" align="center" />
<el-table-column prop="checkTotalTime" label="耗时(毫秒)" align="center" />
<el-table-column prop="checkTotalCount" label="检测数" align="center" />
<el-table-column prop="checkErrorCount" label="不合规数" align="center" />
</el-table>
<el-collapse @change="handleChange" class="ncoll"><!--加上ncoll-->
<el-collapse-item name="1">
<template slot="title"><span class="tit">不合规明细</span></template>
<el-table :data="no_relevancData" border style="width: 100%">
<el-table-column prop="caseName" label="用例名称" align="center" />
<el-table-column prop="source" label="数据源" align="center" />
<el-table-column prop="tableName" label="标准数据表" align="center" />
<el-table-column prop="notDetail" label="不合规原因" align="center" />
</el-table>
</el-collapse-item>
</el-collapse>
</div><!--dbox-->
</el-card><!--el-card-->
</div><!--app-main-->
</div><!--hasTagsView-->
</div>
</template>
<script>
// import { getReportBySource, getReportByType, getReportDetail } from '@/api/quality/checkreport'
import moment from 'moment'
import dataJson from './Data_relevance.json'
export default {
name: 'CheckReportStructureRelevance',
props: {
data: {
type: Object,
default: function() {
return {}
}
}
},
data() {
return {
queryParams: {
checkDate: ''
},
pickerOption: {
disabledDate(date) {
return date.getTime() > Date.now()
}
},
date: '',
//
showOptions: {
data: {},
showList: true,
showDetail_relevance: false
},
spanArr1: [],
position1: 0,
reportTableData1: [],
spanArr2: [],
position2: 0,
reportTableData2: [],
//
uniqueTableData: [],
//
integrityTableData: [],
//
accuracyTableData: [],
//
consistentTableData: [],
//
relevanceTableData: [],
//
timelinessTableData: [],
//
table_key: [],
no_table_key: [],
//
length_key: [],
no_length_key: [],
//
null_key: [],
no_null_key: [],
//
pk_key: [],
no_pk_key: [],
//
fk_key: [],
no_fk_key: [],
//
integrity: [],
no_integrity: [],
//
accuracy: [],
no_accuracy: [],
//
consistent: [],
no_consistent: [],
//
regular: [],
no_regular: [],
//
relevancData: [],
no_relevanceData: [],
//
checkTotalCount: null,
//
checkTimeConsuming: null,
//
checkErrorCount: null,
//
checkTotalCount_new: null,
//
checkTimeConsuming_new: null,
//
checkErrorCount_new: null,
like: true,
value1: 4154.564,
totalTables: 1314,
title: '增长人数'
}
},
created() {
this.queryParams.checkDate = moment(this.data.checkDate).format('YYYY-MM-DD')
this.handleQuery()
},
mounted () {
//
this.table_key = dataJson.caseType.table_key
this.no_table_key = dataJson.caseType.no_table_key
//
this.length_key = dataJson.caseType.length_key
this.no_length_key = dataJson.caseType.no_length_key
//
this.null_key = dataJson.caseType.null_key
this.no_null_key = dataJson.caseType.no_null_key
//
this.pk_key = dataJson.caseType.pk_key
this.no_pk_key = dataJson.caseType.no_pk_key
//
this.fk_key = dataJson.caseType.fk_key
this.no_fk_key = dataJson.caseType.no_fk_key
//
this.integrity = dataJson.caseType.integrity
this.no_integrity = dataJson.caseType.no_integrity
//
this.accuracy = dataJson.caseType.accuracy
this.no_accuracy = dataJson.caseType.no_accuracy
//
this.consistent = dataJson.caseType.consistent
this.no_consistent = dataJson.caseType.no_consistent
//
this.regular = dataJson.caseType.regular
this.no_regular = dataJson.caseType.no_regular
this.relevancData = dataJson.caseType.relevancData
this.no_relevancData = dataJson.caseType.no_relevancData
//
this.spanArr1 = []
this.spanArr2 = []
this.reportTableData1 = dataJson.dataReport.reportTableData1
this.reportTableData2 = dataJson.dataReport.reportTableData2
this.rowspan1()
this.rowspan2()
this.checkTotalCount_new = dataJson.checkTotalCount
this.checkTimeConsuming_new = dataJson.checkTimeConsuming
this.checkErrorCount_new = dataJson.checkErrorCount
},
methods: {
showCard() {
this.$emit('showCard', this.showOptions)
},
handleQuery() {
this.spanArr1 = []
this.spanArr2 = []
// this.getReportData1()
// this.getReportData2()
// this.getReportData3()
// this.date = moment(this.queryParams.checkDate).format('YYYYMMDD')
},
// getReportData1() {
// getReportBySource({ checkDate: this.queryParams.checkDate }).then(response => {
// if (response.success) {
// this.reportTableData1 = response.data
// console.log('reportTableData1==', this.reportTableData1)
// this.rowspan1()
// }
// })
// },
// getReportData2() {
// getReportByType({ checkDate: this.queryParams.checkDate }).then(response => {
// if (response.success) {
// this.reportTableData2 = response.data
// console.log('this.reportTableData2===', this.reportTableData2)
// this.rowspan2()
// }
// })
// },
rowspan1() {
this.reportTableData1.forEach((item, index) => {
if (index === 0) {
this.spanArr1.push(1)
this.position1 = 0
} else {
if (this.reportTableData1[index].ruleSourceId === this.reportTableData1[index - 1].ruleSourceId) {
this.spanArr1[this.position1] += 1
this.spanArr1.push(0)
} else {
this.spanArr1.push(1)
this.position1 = index
}
}
})
},
objectSpanMethod1({ row, column, rowIndex, columnIndex }) {
if (columnIndex === 0) {
const _row = this.spanArr1[rowIndex]
const _col = _row > 0 ? 1 : 0
return {
rowspan: _row,
colspan: _col
}
}
},
rowspan2() {
this.reportTableData2.forEach((item, index) => {
if (index === 0) {
this.spanArr2.push(1)
this.position2 = 0
} else {
if (this.reportTableData2[index].ruleTypeId === this.reportTableData2[index - 1].ruleTypeId) {
this.spanArr2[this.position2] += 1
this.spanArr2.push(0)
} else {
this.spanArr2.push(1)
this.position2 = index
}
}
})
},
objectSpanMethod2({ row, column, rowIndex, columnIndex }) {
if (columnIndex === 0) {
const _row = this.spanArr2[rowIndex]
const _col = _row > 0 ? 1 : 0
return {
rowspan: _row,
colspan: _col
}
}
},
colorFormat(level) {
if (level === '低') {
return '#409eff'
} else if (level === '中') {
return '#e6a23c'
} else {
return '#f56c6c'
}
},
cellFormat(percentage) {
return `${percentage}`
},
typeFormat(level) {
if (level === '低') {
return 'primary'
} else if (level === '中') {
return 'warning'
} else {
return 'danger'
}
},
// getReportData3() {
// getReportDetail({ checkDate: this.queryParams.checkDate }).then(response => {
// if (response.success) {
// this.uniqueTableData = response.data.unique
// this.integrityTableData = response.data.integrity
// this.accuracyTableData = response.data.accuracy
// this.consistentTableData = response.data.consistent
// this.relevanceTableData = response.data.relevance
// this.timelinessTableData = response.data.timeliness
// }
// })
// },
exportWord() {
const filePath = './static/your-word-document.docx'
const link = document.createElement('a')
link.href = filePath
link.download = '测结果报告.docx'
document.body.appendChild(link)
link.click()
document.body.removeChild(link)
}
}
}
</script>
<style lang="scss" scoped>
.el-card ::v-deep .el-card__body {
height: calc(100vh - 230px);
overflow-y: auto;
}
.form-inline {
::v-deep .el-form-item {
margin-bottom: 0px;
}
}
::v-deep .el-badge__content {
margin-top: 10px;
right: 0px;
}
::v-deep .el-table__header th {
background-color: #f5f5f5 !important;
}
</style>

View File

@ -2,7 +2,7 @@
"caseType": {
"table_key": [
{
"ruleName": "表字段标准检测用",
"ruleName": "表字段标准检测用",
"ruleSourceName": "数据平台",
"ruleTableName": "全表",
"version": "1.0",
@ -10,7 +10,7 @@
"checkErrorCount": "1"
},
{
"ruleName": "表字段标准检测用",
"ruleName": "表字段标准检测用",
"ruleSourceName": "演示应用",
"ruleTableName": "全表",
"version": "1.0",
@ -20,7 +20,7 @@
],
"no_table_key": [
{
"caseName": "表字段标准检测用",
"caseName": "表字段标准检测用",
"source": "数据平台",
"tableName": "TABLE_A",
"trueTableName": "TABLE_A",
@ -30,7 +30,7 @@
"notDetail": "字段名与标准不一致"
},
{
"caseName": "表字段标准检测用",
"caseName": "表字段标准检测用",
"source": "演示应用",
"tableName": "TABLE_D",
"trueTableName": "TABLE_D",
@ -40,7 +40,7 @@
"notDetail": "表名与标准不一致"
},
{
"caseName": "表字段标准检测用",
"caseName": "表字段标准检测用",
"source": "演示应用",
"tableName": "TABLE_E",
"trueTableName": "TABLE_E",
@ -50,7 +50,7 @@
"notDetail": "字段名与标准不一致"
},
{
"caseName": "表字段标准检测用",
"caseName": "表字段标准检测用",
"source": "演示应用",
"tableName": "TABLE_F",
"trueTableName": "TABLE_F",
@ -60,7 +60,7 @@
"notDetail": "字段名与标准不一致"
},
{
"caseName": "表字段标准检测用",
"caseName": "表字段标准检测用",
"source": "演示应用",
"tableName": "TABLE_G",
"trueTableName": "TABLE_G",
@ -72,7 +72,7 @@
],
"length_key": [
{
"ruleName": "长度标准检测用",
"ruleName": "长度标准检测用",
"ruleSourceName": "演示应用",
"ruleTableName": "全表",
"version": "1.0",
@ -82,7 +82,7 @@
],
"no_length_key": [
{
"caseName": "长度标准检测用",
"caseName": "长度标准检测用",
"source": "演示应用",
"tableName": "TABLE_A",
"standardColumn": "column_C",
@ -90,7 +90,7 @@
"trueLength": "2000",
"notDetail": "字段长度不符合标准约束"
},{
"caseName": "长度标准检测用",
"caseName": "长度标准检测用",
"source": "演示应用",
"tableName": "TABLE_B",
"standardColumn": "column_C",
@ -98,7 +98,7 @@
"trueLength": "150",
"notDetail": "字段长度不符合标准约束"
},{
"caseName": "长度标准检测用",
"caseName": "长度标准检测用",
"source": "演示应用",
"tableName": "TABLE_C",
"standardColumn": "column_C",
@ -106,7 +106,7 @@
"trueLength": "4000",
"notDetail": "字段长度不符合标准约束"
},{
"caseName": "长度标准检测用",
"caseName": "长度标准检测用",
"source": "演示应用",
"tableName": "TABLE_D",
"standardColumn": "column_C",
@ -114,7 +114,7 @@
"trueLength": "2000",
"notDetail": "字段长度不符合标准约束"
},{
"caseName": "长度标准检测用",
"caseName": "长度标准检测用",
"source": "演示应用",
"tableName": "TABLE_E",
"standardColumn": "column_C",
@ -122,7 +122,7 @@
"trueLength": "2000",
"notDetail": "字段长度不符合标准约束"
},{
"caseName": "长度标准检测用",
"caseName": "长度标准检测用",
"source": "演示应用",
"tableName": "TABLE_F",
"standardColumn": "column_C",
@ -130,7 +130,7 @@
"trueLength": "2000",
"notDetail": "字段长度不符合标准约束"
},{
"caseName": "长度标准检测用",
"caseName": "长度标准检测用",
"source": "演示应用",
"tableName": "TABLE_G",
"standardColumn": "column_C",
@ -138,7 +138,7 @@
"trueLength": "4000",
"notDetail": "字段长度不符合标准约束"
},{
"caseName": "长度标准检测用",
"caseName": "长度标准检测用",
"source": "演示应用",
"tableName": "TABLE_H",
"standardColumn": "column_C",
@ -146,7 +146,7 @@
"trueLength": "150",
"notDetail": "字段长度不符合标准约束"
},{
"caseName": "长度标准检测用",
"caseName": "长度标准检测用",
"source": "演示应用",
"tableName": "TABLE_I",
"standardColumn": "column_C",
@ -154,7 +154,7 @@
"trueLength": "2000",
"notDetail": "字段长度不符合标准约束"
},{
"caseName": "长度标准检测用",
"caseName": "长度标准检测用",
"source": "演示应用",
"tableName": "TABLE_J",
"standardColumn": "column_C",
@ -165,14 +165,14 @@
],
"pk_key": [
{
"ruleName": "主键标准检测用",
"ruleName": "主键标准检测用",
"ruleSourceName": "数据平台",
"ruleTableName": "全表",
"version": "1.0",
"checkTotalCount": "78",
"checkErrorCount": "8"
},{
"ruleName": "主键标准检测用",
"ruleName": "主键标准检测用",
"ruleSourceName": "演示应用",
"ruleTableName": "全表",
"version": "1.0",
@ -183,7 +183,7 @@
],
"no_pk_key": [
{
"caseName": "主键标准检测用",
"caseName": "主键标准检测用",
"source": "演示应用",
"tableName": "TABLE_A",
"standardColumn": "column_AAA",
@ -193,7 +193,7 @@
"standardPk": "否"
},
{
"caseName": "主键标准检测用",
"caseName": "主键标准检测用",
"source": "演示应用",
"tableName": "TABLE_W",
"standardColumn": "column_AAA",
@ -202,7 +202,7 @@
"notDetail": "表字段不符合主键标准约束",
"standardPk": "是"
},{
"caseName": "主键标准检测用",
"caseName": "主键标准检测用",
"source": "演示应用",
"tableName": "TABLE_Q",
"standardColumn": "column_AAA",
@ -212,7 +212,7 @@
"standardPk": "否"
},
{
"caseName": "主键标准检测用",
"caseName": "主键标准检测用",
"source": "演示应用",
"tableName": "TABLE_E",
"standardColumn": "column_AAA",
@ -221,7 +221,7 @@
"notDetail": "表字段不符合主键标准约束",
"standardPk": "是"
},{
"caseName": "主键标准检测用",
"caseName": "主键标准检测用",
"source": "演示应用",
"tableName": "TABLE_R",
"standardColumn": "column_AAA",
@ -231,7 +231,7 @@
"standardPk": "否"
},
{
"caseName": "主键标准检测用",
"caseName": "主键标准检测用",
"source": "数据平台",
"tableName": "TABLE_A",
"standardColumn": "column_AAA",
@ -240,7 +240,7 @@
"notDetail": "表字段不符合主键标准约束",
"standardPk": "是"
},{
"caseName": "主键标准检测用",
"caseName": "主键标准检测用",
"source": "数据平台",
"tableName": "TABLE_D",
"standardColumn": "column_AAA",
@ -250,7 +250,7 @@
"standardPk": "否"
},
{
"caseName": "主键标准检测用",
"caseName": "主键标准检测用",
"source": "数据平台",
"tableName": "TABLE_W",
"standardColumn": "column_AAA",
@ -259,7 +259,7 @@
"notDetail": "表字段不符合主键标准约束",
"standardPk": "是"
},{
"caseName": "主键标准检测用",
"caseName": "主键标准检测用",
"source": "数据平台",
"tableName": "TABLE_G",
"standardColumn": "column_AAA",
@ -269,7 +269,7 @@
"standardPk": "否"
},
{
"caseName": "主键标准检测用",
"caseName": "主键标准检测用",
"source": "数据平台",
"tableName": "TABLE_L",
"standardColumn": "column_AAA",
@ -278,7 +278,7 @@
"notDetail": "表字段不符合主键标准约束",
"standardPk": "是"
},{
"caseName": "主键标准检测用",
"caseName": "主键标准检测用",
"source": "数据平台",
"tableName": "TABLE_P",
"standardColumn": "column_AAA",
@ -288,7 +288,7 @@
"standardPk": "否"
},
{
"caseName": "主键标准检测用",
"caseName": "主键标准检测用",
"source": "数据平台",
"tableName": "TABLE_U",
"standardColumn": "column_AAA",
@ -297,7 +297,7 @@
"notDetail": "表字段不符合主键标准约束",
"standardPk": "是"
},{
"caseName": "主键标准检测用",
"caseName": "主键标准检测用",
"source": "数据平台",
"tableName": "TABLE_M",
"standardColumn": "column_AAA",
@ -309,7 +309,7 @@
],
"null_key": [
{
"ruleName": "空值标准检测分析",
"ruleName": "空值标准检测用例",
"ruleSourceName": "演示应用",
"ruleTableName": "全表",
"version": "1.0",
@ -319,7 +319,7 @@
],
"no_null_key": [
{
"caseName": "空值标准检测用",
"caseName": "空值标准检测用",
"source": "演示应用",
"tableName": "TABLE_A",
"standardColumn": "column_AAA",
@ -329,7 +329,7 @@
"standardNull": "否"
},
{
"caseName": "空值标准检测用",
"caseName": "空值标准检测用",
"source": "演示应用",
"tableName": "TABLE_B",
"standardColumn": "column_BBB",
@ -338,7 +338,7 @@
"notDetail": "表字段不符合空值校验",
"standardNull": "是"
},{
"caseName": "空值标准检测用",
"caseName": "空值标准检测用",
"source": "演示应用",
"tableName": "TABLE_Y",
"standardColumn": "column_AAA",
@ -348,7 +348,7 @@
"standardNull": "否"
},
{
"caseName": "空值标准检测用",
"caseName": "空值标准检测用",
"source": "演示应用",
"tableName": "TABLE_W",
"standardColumn": "column_BBB",
@ -357,7 +357,7 @@
"notDetail": "表字段不符合空值校验",
"standardNull": "是"
},{
"caseName": "空值标准检测用",
"caseName": "空值标准检测用",
"source": "演示应用",
"tableName": "TABLE_H",
"standardColumn": "column_AAA",
@ -367,7 +367,7 @@
"standardNull": "否"
},
{
"caseName": "空值标准检测用",
"caseName": "空值标准检测用",
"source": "演示应用",
"tableName": "TABLE_UU",
"standardColumn": "column_BBB",
@ -376,7 +376,7 @@
"notDetail": "表字段不符合空值校验",
"standardNull": "是"
},{
"caseName": "空值标准检测用",
"caseName": "空值标准检测用",
"source": "演示应用",
"tableName": "TABLE_QQ",
"standardColumn": "column_AAA",
@ -386,7 +386,7 @@
"standardNull": "否"
},
{
"caseName": "空值标准检测用",
"caseName": "空值标准检测用",
"source": "演示应用",
"tableName": "TABLE_PP",
"standardColumn": "column_BBB",
@ -395,7 +395,7 @@
"notDetail": "表字段不符合空值校验",
"standardNull": "是"
},{
"caseName": "空值标准检测用",
"caseName": "空值标准检测用",
"source": "演示应用",
"tableName": "TABLE_K",
"standardColumn": "column_BBB",
@ -407,7 +407,7 @@
],
"fk_key": [
{
"ruleName": "外键标准检测分析",
"ruleName": "外键标准检测用例",
"ruleSourceName": "演示应用",
"ruleTableName": "全表",
"version": "1.0",
@ -417,7 +417,7 @@
],
"no_fk_key": [
{
"caseName": "外键标准检测用",
"caseName": "外键标准检测用",
"source": "演示应用",
"tableName": "TABLE_A",
"standardColumn": "column_AAA",
@ -427,7 +427,7 @@
"standardFk": "否"
},
{
"caseName": "外键标准检测用",
"caseName": "外键标准检测用",
"source": "演示应用",
"tableName": "TABLE_B",
"standardColumn": "column_BBB",
@ -439,7 +439,7 @@
],
"integrity": [
{
"ruleName": "完整性标准检测用",
"ruleName": "完整性标准检测用",
"ruleSourceName": "数据平台",
"ruleTableName": "全表",
"version": "1.0",
@ -448,7 +448,7 @@
}
],
"no_integrity":[{
"caseName": "完整性标准检测用",
"caseName": "完整性标准检测用",
"source": "数据平台",
"tableName": "TABLE_A",
"trueColumn": "column_AAA",
@ -456,7 +456,7 @@
}],
"accuracy": [
{
"ruleName": "准确性标准检测用",
"ruleName": "准确性标准检测用",
"ruleSourceName": "数据平台",
"ruleTableName": "全表",
"version": "1.0",
@ -465,7 +465,7 @@
}
],
"no_accuracy": [{
"caseName": "准确性标准检测用",
"caseName": "准确性标准检测用",
"source": "数据平台",
"tableName": "TABLE_A",
"trueColumn": "column_AAA",
@ -473,7 +473,7 @@
}],
"consistent": [
{
"ruleName": "一致性标准检测用",
"ruleName": "一致性标准检测用",
"ruleSourceName": "数据平台",
"ruleTableName": "全表",
"version": "1.0",
@ -482,7 +482,7 @@
}
],
"no_consistent": [{
"caseName": "一致性标准检测用",
"caseName": "一致性标准检测用",
"source": "数据平台",
"tableName": "TABLE_A",
"trueColumn": "column_AAA",
@ -490,7 +490,7 @@
}],
"regular": [
{
"ruleName": "正则表达式标准检测用",
"ruleName": "正则表达式标准检测用",
"ruleSourceName": "数据平台",
"ruleTableName": "全表",
"version": "1.0",
@ -499,7 +499,7 @@
}
],
"no_regular": [{
"caseName": "手机号码验证用",
"caseName": "手机号码验证用",
"source": "数据平台",
"tableName": "TABLE_A",
"trueColumn": "column_AAA",
@ -532,35 +532,35 @@
"ruleTypeId": "1",
"ruleTypeName": "数据平台",
"ruleLevelName": "中",
"ruleName": "表字段标准检测分析"
"ruleName": "表字段标准检测用例"
},
{
"checkErrorCount": 10,
"ruleTypeId": "1",
"ruleTypeName": "数据平台",
"ruleLevelName": "中",
"ruleName": "长度标准检测用"
"ruleName": "长度标准检测用"
},
{
"checkErrorCount": 9,
"ruleTypeId": "1",
"ruleTypeName": "数据平台",
"ruleLevelName": "中",
"ruleName": "空值标准检测分析"
"ruleName": "空值标准检测用例"
},
{
"checkErrorCount": 13,
"ruleTypeId": "1",
"ruleTypeName": "数据平台",
"ruleLevelName": "中",
"ruleName": "主键标准检测用"
"ruleName": "主键标准检测用"
},
{
"checkErrorCount": 2,
"ruleTypeId": "1",
"ruleTypeName": "数据平台",
"ruleLevelName": "中",
"ruleName": "外键标准检测分析"
"ruleName": "外键标准检测用例"
}
]
},

View File

@ -0,0 +1,123 @@
{
"caseType": {
"integrity": [
{
"ruleName": "完整性标准检测用例",
"ruleSourceName": "演示应用",
"ruleTableName": "全表",
"version": "1.0",
"checkTotalTime": "9034",
"checkTotalCount": "130264",
"checkErrorCount": "1203"
}
],
"no_integrity":[{
"caseName": "完整性标准检测用例",
"source": "演示应用",
"tableName": "TABLE_A",
"trueColumn": "column_AAA",
"notDetail": "数据不符合标准表字段非空约束"
}],
"accuracy": [
{
"ruleName": "准确性标准检测用例",
"ruleSourceName": "演示应用",
"ruleTableName": "全表",
"version": "1.0",
"checkTotalTime": "4645",
"checkTotalCount": "130264",
"checkErrorCount": "691"
}
],
"no_accuracy": [{
"caseName": "准确性标准检测用例",
"source": "演示应用",
"tableName": "TABLE_A",
"trueColumn": "column_AAA",
"notDetail": "数据不符合标准表字段长度约束"
}],
"consistent": [
{
"ruleName": "一致性标准检测用例",
"ruleSourceName": "演示应用",
"ruleTableName": "全表",
"version": "1.0",
"checkTotalTime": "11382",
"checkTotalCount": "130264",
"checkErrorCount": "263"
}
],
"no_consistent": [{
"caseName": "一致性标准检测用例",
"source": "演示应用",
"tableName": "TABLE_A",
"trueColumn": "column_AAA",
"notDetail": "数据不符合标准值域范围"
}],
"regular": [
{
"ruleName": "正则表达式标准检测用例",
"ruleSourceName": "演示应用",
"ruleTableName": "全表",
"version": "1.0",
"checkTotalTime": "14989",
"checkTotalCount": "130264",
"checkErrorCount": "1596"
}
],
"no_regular": [{
"caseName": "手机号码验证用例",
"source": "演示应用",
"tableName": "TABLE_A",
"trueColumn": "column_AAA",
"dataColumn": "271727122",
"notDetail": "数据不符合标准正则表达式约束"
}]
},
"dataReport": {
"reportTableData1": [
{
"ruleSourceId": 1,
"ruleSourceName": "演示应用",
"tableSum": "130264",
"tableTime": "40,050",
"ruleLevelName": "1.0",
"checkErrorCount": "3,753"
}
],
"reportTableData2": [
{
"checkErrorCount": 1203,
"ruleTypeId": "1",
"ruleTypeName": "数据平台",
"ruleLevelName": "中",
"ruleName": "完整性标准检测用例"
},
{
"checkErrorCount": 691,
"ruleTypeId": "1",
"ruleTypeName": "数据平台",
"ruleLevelName": "中",
"ruleName": "准确性标准检测用例"
},
{
"checkErrorCount": 263,
"ruleTypeId": "1",
"ruleTypeName": "数据平台",
"ruleLevelName": "中",
"ruleName": "一致性标准检测用例"
},
{
"checkErrorCount": 1596,
"ruleTypeId": "1",
"ruleTypeName": "数据平台",
"ruleLevelName": "中",
"ruleName": "正则表达式标准检测用例"
}
]
},
"checkTotalCount": "130264",
"checkTimeConsuming": "40,050",
"checkErrorCount": "3753"
}

View File

@ -0,0 +1,47 @@
{
"caseType": {
"relevancData": [
{
"ruleName": "字段关联性检测用例",
"ruleSourceName": "演示应用",
"ruleTableName": "全表",
"version": "1.0",
"checkTotalTime": "9635",
"checkTotalCount": "130264",
"checkErrorCount": "1986"
}
],
"no_relevancData":[{
"caseName": "字段关联性检测用例",
"source": "演示应用",
"tableName": "TABLE_A",
"trueColumn": "column_AAA",
"notDetail": "数据不符合关系符合性测试"
}]
},
"dataReport": {
"reportTableData1": [
{
"ruleSourceId": 1,
"ruleSourceName": "演示应用",
"tableSum": "130264",
"tableTime": "9635",
"ruleLevelName": "1.0",
"checkErrorCount": "1,986"
}
],
"reportTableData2": [
{
"checkErrorCount": 1986,
"ruleTypeId": "1",
"ruleTypeName": "数据平台",
"ruleLevelName": "中",
"ruleName": "字段关联性检测用例"
}
]
},
"checkTotalCount": "130264",
"checkTimeConsuming": "9635",
"checkErrorCount": "1986"
}

View File

@ -6,16 +6,25 @@
<transition name="el-zoom-in-bottom">
<check-report-structure v-if="options.showDetail" :data="options.data" @showCard="showCard" />
</transition>
<transition name="el-zoom-in-bottom">
<check-report-structure-content v-if="options.showDetail_content" :data="options.data" @showCard="showCard" />
</transition>
<transition name="el-zoom-in-bottom">
<check-report-structure-relevance v-if="options.showDetail_relevance" :data="options.data" @showCard="showCard" />
</transition>
</div>
</template>
<script>
import CheckReportList from './CheckReportList'
import CheckReportStructure from './CheckReportStructure'
import CheckReportStructureContent from './CheckReportStructure_content'
import CheckReportStructureRelevance from './CheckReportStructure_relevance'
export default {
name: 'CheckReport',
components: { CheckReportList, CheckReportStructure },
components: { CheckReportList, CheckReportStructure, CheckReportStructureContent, CheckReportStructureRelevance },
data() {
return {
options: {