This commit is contained in:
2024-01-08 09:34:39 +08:00
parent 9f9ed2dd73
commit bc2adcd8f2
23 changed files with 2022 additions and 514 deletions

Binary file not shown.

View File

@@ -0,0 +1,5 @@
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect x="1" y="1" width="14" height="14" rx="2" fill="#233A82"/>
<path d="M10.6625 3.56079H5.26806C4.32646 3.56079 3.56006 4.32719 3.56006 5.26879V10.7288C3.56006 11.6704 4.32646 12.4368 5.26806 12.4368H10.6625C11.6041 12.4368 12.3705 11.6704 12.3705 10.7288V5.26879C12.3713 4.32719 11.6049 3.56079 10.6625 3.56079ZM6.07926 10.4432C5.42886 10.4432 4.89926 9.91359 4.89926 9.26319C4.89926 8.61279 5.42886 8.08319 6.07926 8.08319C6.72966 8.08319 7.25926 8.61279 7.25926 9.26319C7.25926 9.91439 6.72966 10.4432 6.07926 10.4432ZM7.43286 6.07519L6.25286 7.22159C6.17046 7.30159 6.06086 7.34639 5.94646 7.34639H5.93926C5.88126 7.34555 5.82401 7.33316 5.77085 7.30995C5.7177 7.28673 5.6697 7.25316 5.62966 7.21119L4.94006 6.49359C4.85925 6.4094 4.81513 6.29659 4.81738 6.17991C4.81963 6.06323 4.86806 5.95221 4.95206 5.87119C5.03625 5.79038 5.14906 5.74626 5.26574 5.74851C5.38242 5.75076 5.49344 5.79919 5.57446 5.88319L5.95766 6.28159L6.82006 5.44399C6.86149 5.40367 6.91046 5.37192 6.96417 5.35054C7.01788 5.32916 7.07528 5.31858 7.13308 5.31939C7.19089 5.32021 7.24796 5.33241 7.30105 5.3553C7.35413 5.37819 7.40218 5.41132 7.44246 5.45279C7.52325 5.53684 7.56757 5.6494 7.56577 5.76597C7.56397 5.88253 7.5162 5.99367 7.43286 6.07519ZM10.7977 9.78159H8.25446C7.98966 9.78159 7.77446 9.56639 7.77446 9.30159C7.77446 9.03679 7.98966 8.82159 8.25446 8.82159H10.7977C11.0625 8.82159 11.2777 9.03679 11.2777 9.30159C11.2777 9.56639 11.0625 9.78159 10.7977 9.78159ZM10.7977 6.90559H8.25446C7.98966 6.90559 7.77446 6.69039 7.77446 6.42559C7.77446 6.16079 7.98966 5.94559 8.25446 5.94559H10.7977C11.0625 5.94559 11.2777 6.16079 11.2777 6.42559C11.2777 6.69039 11.0625 6.90559 10.7977 6.90559Z" fill="white"/>
<path d="M6.00159 8.87109C5.77919 8.87109 5.59839 9.05189 5.59839 9.27429C5.59839 9.49669 5.77919 9.67749 6.00159 9.67749C6.22399 9.67749 6.40479 9.49669 6.40479 9.27429C6.40479 9.05189 6.22399 8.87109 6.00159 8.87109Z" fill="white"/>
</svg>

After

Width:  |  Height:  |  Size: 2.0 KiB

View File

@@ -0,0 +1,4 @@
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect x="1" y="1" width="14" height="14" rx="2" fill="#3491FA"/>
<path d="M7.99326 2.81006C5.13086 2.81006 2.81006 5.13086 2.81006 7.99326C2.81006 10.8557 5.13086 13.1765 7.99326 13.1765C10.8557 13.1765 13.1765 10.8557 13.1765 7.99326C13.1765 5.13086 10.8557 2.81006 7.99326 2.81006ZM10.0005 8.98046H7.54686C7.40873 8.98046 7.27627 8.92559 7.1786 8.82792C7.08093 8.73025 7.02606 8.59778 7.02606 8.45966V5.61166C7.02606 5.47353 7.08093 5.34107 7.1786 5.2434C7.27627 5.14573 7.40873 5.09086 7.54686 5.09086C7.68498 5.09086 7.81745 5.14573 7.91512 5.2434C8.01279 5.34107 8.06766 5.47353 8.06766 5.61166V7.93886H10.0005C10.1386 7.93886 10.2711 7.99373 10.3687 8.0914C10.4664 8.18907 10.5213 8.32153 10.5213 8.45966C10.5213 8.74766 10.2885 8.98046 10.0005 8.98046Z" fill="white"/>
</svg>

After

Width:  |  Height:  |  Size: 879 B

View File

@@ -0,0 +1,4 @@
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect x="1" y="1" width="14" height="14" rx="2" fill="#F53F3F"/>
<path d="M7.71483 3.27373C6.72523 2.95373 5.76843 3.31693 5.10843 3.70653C4.99243 3.32333 4.63323 3.05453 4.22363 3.10653C3.85483 3.15293 3.55403 3.46813 3.50683 3.85933C3.46603 4.20093 3.61163 4.50973 3.85003 4.68813V12.6521C3.85003 12.9273 4.05003 13.1673 4.31003 13.1761C4.57883 13.1849 4.79883 12.9561 4.79883 12.6737V9.94893C7.47963 8.18173 9.11003 9.41773 10.2492 9.69533C11.1788 9.92173 11.9716 9.55853 12.2732 9.38813C12.354 9.34253 12.4036 9.25293 12.4036 9.15613V4.21773C12.4036 4.02013 12.2076 3.89693 12.0412 3.98413C10.6996 4.69053 9.35963 3.80573 7.71483 3.27373ZM9.92043 6.09693C9.52043 6.00733 8.99403 5.81853 8.35083 5.43693C7.21963 4.76653 6.23403 5.39693 6.19323 5.42413C5.97643 5.56653 5.69003 5.49773 5.55403 5.26813C5.41803 5.03933 5.48123 4.73773 5.69643 4.59213C5.75643 4.55213 7.17803 3.61293 8.80443 4.57773C9.36923 4.91213 9.80763 5.06573 10.114 5.13453C10.3276 5.18253 10.4788 5.38413 10.4788 5.61533C10.478 5.92653 10.2084 6.16093 9.92043 6.09693Z" fill="white"/>
</svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@@ -0,0 +1,4 @@
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect x="1" y="1" width="14" height="14" rx="2" fill="#F77234"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M13.3488 7.76984L12.036 6.45704C11.9757 6.39681 11.9417 6.31509 11.9416 6.22984V4.37224C11.9416 4.19464 11.7976 4.05144 11.6208 4.05144H9.76399C9.67919 4.05144 9.59679 4.01784 9.53679 3.95704L8.22399 2.64424C8.19417 2.61438 8.15875 2.59069 8.11977 2.57453C8.08078 2.55837 8.03899 2.55005 7.99679 2.55005C7.95459 2.55005 7.9128 2.55837 7.87382 2.57453C7.83483 2.59069 7.79942 2.61438 7.76959 2.64424L6.45599 3.95704C6.39576 4.01737 6.31404 4.05133 6.22879 4.05144H4.37199C4.32986 4.05144 4.28815 4.05973 4.24923 4.07586C4.21031 4.09198 4.17494 4.11561 4.14515 4.1454C4.11536 4.17519 4.09173 4.21055 4.07561 4.24947C4.05949 4.28839 4.05119 4.33011 4.05119 4.37224V6.22904C4.05119 6.31384 4.01759 6.39624 3.95679 6.45624L2.64399 7.76984C2.61413 7.79966 2.59045 7.83508 2.57428 7.87406C2.55812 7.91305 2.5498 7.95483 2.5498 7.99704C2.5498 8.03924 2.55812 8.08103 2.57428 8.12001C2.59045 8.159 2.61413 8.19441 2.64399 8.22424L3.95679 9.53704C4.01713 9.59726 4.05108 9.67898 4.05119 9.76424V11.621C4.05119 11.7986 4.19519 11.9418 4.37199 11.9418H6.22879C6.31359 11.9418 6.39599 11.9754 6.45599 12.0362L7.76879 13.349C7.79862 13.3789 7.83403 13.4026 7.87302 13.4187C7.912 13.4349 7.95379 13.4432 7.99599 13.4432C8.03819 13.4432 8.07998 13.4349 8.11897 13.4187C8.15795 13.4026 8.19337 13.3789 8.22319 13.349L9.53599 12.0362C9.59622 11.9759 9.67794 11.9419 9.76319 11.9418H11.62C11.7976 11.9418 11.9408 11.7978 11.9408 11.621V9.76424C11.9408 9.67944 11.9744 9.59704 12.0352 9.53704L13.348 8.22424C13.378 8.19451 13.4018 8.15915 13.4181 8.12019C13.4344 8.08123 13.4428 8.03943 13.4429 7.9972C13.443 7.95497 13.4347 7.91315 13.4185 7.87413C13.4024 7.83511 13.3787 7.79966 13.3488 7.76984ZM5.44559 6.59864C5.44559 5.83624 5.90959 5.23944 6.50239 5.23944C7.09519 5.23944 7.55919 5.83624 7.55919 6.59864C7.55919 7.36104 7.09519 7.95784 6.50239 7.95784C5.90959 7.95784 5.44559 7.36104 5.44559 6.59864ZM7.29919 10.6354C7.26265 10.7068 7.20706 10.7668 7.13859 10.8086C7.07011 10.8503 6.99141 10.8724 6.91119 10.8722C6.83657 10.8722 6.7632 10.8531 6.69812 10.8165C6.63305 10.78 6.57845 10.7274 6.53958 10.6637C6.5007 10.6 6.47885 10.5274 6.47612 10.4528C6.47339 10.3782 6.48988 10.3042 6.52399 10.2378L8.79679 5.80344C8.8228 5.75245 8.85863 5.7071 8.90221 5.66999C8.9458 5.63288 8.99628 5.60475 9.05077 5.58721C9.10525 5.56966 9.16267 5.56306 9.21972 5.56776C9.27676 5.57247 9.33232 5.5884 9.38319 5.61464C9.43412 5.64072 9.4794 5.67658 9.51645 5.72018C9.55351 5.76377 9.5816 5.81424 9.59914 5.8687C9.61667 5.92316 9.6233 5.98055 9.61864 6.03757C9.61399 6.0946 9.59813 6.15014 9.57199 6.20104L7.29919 10.6354ZM9.88399 10.6098C9.29119 10.6098 8.82719 10.013 8.82719 9.25064C8.82719 8.48824 9.29119 7.89144 9.88399 7.89144C10.4768 7.89144 10.9408 8.48824 10.9408 9.25064C10.9408 10.013 10.476 10.6098 9.88399 10.6098ZM9.83644 8.79917C9.77912 8.86492 9.69824 9.01737 9.69824 9.2507C9.69824 9.5603 9.84064 9.7283 9.88544 9.7387C9.9002 9.73464 9.92826 9.71018 9.95806 9.66594C10.0154 9.60092 10.0972 9.44762 10.0972 9.213C10.0972 8.9034 9.95481 8.7354 9.91001 8.725C9.89509 8.72909 9.86659 8.75404 9.83644 8.79917ZM6.49961 6.1106C6.54441 6.121 6.68681 6.289 6.68681 6.5986C6.68681 6.9082 6.54521 7.0754 6.50361 7.0866C6.45881 7.0762 6.31641 6.9082 6.31641 6.5986C6.31641 6.289 6.45881 6.1218 6.49961 6.1106Z" fill="white"/>
</svg>

After

Width:  |  Height:  |  Size: 3.4 KiB

View File

@@ -171,13 +171,23 @@ body .hasTagsView .app-main .el-card{
border: 0;
border-radius: 0;
}
body .el-card.box-card.is-always-shadow,
body .hasTagsView .app-main .el-card.box-card.is-always-shadow{
box-shadow: none;
}
body .el-card .el-card__header,
body .hasTagsView .app-main .el-card .el-card__header{
border-bottom: 1px solid #E5E6EB;
padding: 10px 20px;
}
body .el-card .el-card__header .clearfix::before,
body .el-card .el-card__header .clearfix::after{
content: "";
display: table;
}
body .el-card .el-card__header .clearfix::after{
clear: both;
}
body .hasTagsView .app-main .el-card .el-card__header>.clearfix>span{
line-height: 29px;
font-weight: bold;
@@ -403,9 +413,28 @@ body .el-table--medium .el-table__cell {
body .el-table--border {
border: 0;
}
body .el-table--border::after,
body .el-table--group::after,
body .el-table::before {
background-color: #e5e6eb;
}
body .el-table--border::after {
content: none;
}
body .el-table--border.btable::after {
content: "";
}
body .el-table--border .el-table__cell {
border-right: 0;
}
body .el-table.btable{
border-top: 1px solid #e5e6eb !important;
border-left: 1px solid #e5e6eb !important;
}
body .el-table.btable .el-table__cell {
border-right: 1px solid #EBEEF5;
}
/*el-tree*/
body .el-tree {
@@ -531,6 +560,12 @@ body .el-form-item .el-form-item__label {
body .el-progress-bar__inner {
background-color: #233A82 !important;
}
body .pro1 .el-progress-bar__inner {
background-color: #F53F3F !important;
}
body .el-progress-bar__inner .el-progress-bar__innerText{
color: #fff !important;
}
/*modellist*/
.modellist{
@@ -670,3 +705,189 @@ body ,html{
.login-page .loright .locont .el-button{
border-radius: 2px;
}
* {
--color: #233A82;
--color_shallow: #233A82;
--count_number: #233A82;
--count_number_shallow: #233A82;
--primary_color: #233A82;
--aside_color: #233A82;
}
.ftitle{
display: block;
text-align: center;
font-size: 20px;
line-height: 28px;
font-weight: bold;
color: #1D2129;
margin: 0;
padding: 0;
}
.stitle{
display: block;
text-align: left;
color: #1D2129;
font-size: 16px;
font-weight: bold;
line-height: 24px;
padding: 0 0 8px 0;
margin: 30px 0 0 0;
border-bottom: 1px solid #e5e6eb;
}
.ttitle{
display: block;
text-align: left;
color: #1D2129;
font-size: 14px;
font-weight: bold;
line-height: 22px;
padding: 0 0 8px 0;
margin: 24px 0 0 0;
}
/*test-list*/
.test-list{
display: flex;
}
.test-list .list{
display: block;
flex: 1;
padding: 24px 24px 0 24px;
}
.test-list .list+.list{
margin-left: 24px;
}
.test-list .list .title{
display: flex;
align-items: center;
}
.test-list .list .title img{
display: block;
width: 16px;
margin: 0 4px 0 0;
}
.test-list .list .title .tit{
display: block;
color: #86909C;
font-size: 14px;
line-height: 22px;
margin: 0;
padding: 0;
}
.test-list .list .figure{
display: block;
margin: 12px 0 0 0;
padding: 0;
color: #1D2129;
font-size: 24px;
line-height: 32px;
font-weight: bold;
}
/*badge*/
body .el-badge.newbadge{
display: inline-flex;
flex-direction: row-reverse;
align-items: center;
}
body .el-badge.newbadge+.el-badge.newbadge{
margin-left: 20px;
}
body .el-badge.newbadge .sz{
color: #1D2129;
font-size: 14px;
font-weight: 300;
line-height: 22px;
margin: 0 0 0 10px;
}
body .el-badge.newbadge .el-badge__content.is-fixed{
position: inherit;
transform: inherit;
right: 0;
width: 18px;
height: 18px;
line-height: 18px;
text-align: center;
margin: 0;
padding: 0;
font-size: 12px;
}
body .el-badge__content{
background-color: #F53F3F;
}
body .el-badge__content--warning {
background-color: #F7BA1E;
}
body .el-badge__content--primary {
background-color: #0FC6C2;
}
/*ncoll*/
body .ncoll{
margin: 5px 0 0 0;
}
body .ncoll.el-collapse{
border: 0;
}
body .ncoll.el-collapse .el-collapse-item>div:first-child{
text-align: center;
}
body .ncoll.el-collapse .el-collapse-item__header{
border-bottom: 0;
height: 30px;
line-height: 30px;
justify-content: center;
display: inline-flex;
color: #233A82;
}
body .ncoll.el-collapse .el-collapse-item__header:hover{
color: #2B50C4;
}
body .ncoll.el-collapse .el-collapse-item__header .tit{
display: block;
margin: 0;
display: block;
text-align: left;
font-size: 12px;
font-weight: normal;
line-height: 20px;
}
body .ncoll.el-collapse .el-collapse-item__header .el-collapse-item__arrow{
display: block;
width: 18px;
height: 18px;
text-align: center;
line-height: 18px;
padding: 0;
font-size: 14px;
margin: 0;
-webkit-transform: rotate(90deg);
transform: rotate(90deg);
}
body .ncoll.el-collapse .el-collapse-item__arrow.is-active {
-webkit-transform: rotate(-90deg);
transform: rotate(-90deg);
}
body .ncoll.el-collapse .el-collapse-item__wrap{
border-bottom: 0;
}
body .ncoll.el-collapse .el-collapse-item__wrap .el-collapse-item__content{
padding: 5px 0;
}
.dbox{
border: 1px dashed #e5e6eb;
padding: 10px;
box-sizing: border-box;
margin: 10px 0 0 0;
border-radius: 4px;
}
.dbox .ttitle:first-child{
margin-top: 0;
}

View File

@@ -195,16 +195,16 @@
/>
</el-select>
</el-form-item>
<el-form-item label="用例级别" prop="ruleLevelId">
<el-select v-model="form.ruleLevelId" placeholder="请选择用例级别" style="width: 100%">
<el-option
v-for="item in ruleLevelOptions"
:key="item.id"
:label="item.name"
:value="item.id"
/>
</el-select>
</el-form-item>
<!-- <el-form-item label="用例级别" prop="ruleLevelId">-->
<!-- <el-select v-model="form.ruleLevelId" placeholder="请选择用例级别" style="width: 100%">-->
<!-- <el-option-->
<!-- v-for="item in ruleLevelOptions"-->
<!-- :key="item.id"-->
<!-- :label="item.name"-->
<!-- :value="item.id"-->
<!-- />-->
<!-- </el-select>-->
<!-- </el-form-item>-->
</div>
</el-form>
<el-form v-if="active == 2" ref="form" :model="form" :rules="rules" label-width="80px" style="width: 800px">
@@ -219,6 +219,26 @@
/>
</el-select>
</el-form-item>
<el-row v-if="form.ruleConfig.ruleItemCode === 'regular_key'">
<el-col :span="24">
<el-form-item label="正则表达">
<el-input v-model="form.ruleConfig.regular.regular" placeholder="请输入正则规则" />
</el-form-item>
</el-col>
</el-row>
<el-row v-if="form.ruleConfig.ruleItemCode === 'regular_key'">
<el-form-item label="常用正则">
<el-radio-group v-model="form.zzStatus" @change="handleZzStatusRadioChange">
<el-radio label="1">手机号码</el-radio>
<el-radio label="2">邮箱</el-radio>
<el-radio label="3">整数</el-radio>
<el-radio label="4">负数</el-radio>
<el-radio label="5">身份证</el-radio>
<el-radio label="6">日期格式yyyy-mm-dd</el-radio>
<el-radio label="7">IP</el-radio>
</el-radio-group>
</el-form-item>
</el-row>
<el-form-item label="状态" prop="status">
<el-radio-group v-model="form.status">
<el-radio
@@ -520,6 +540,16 @@ export default {
this.form.ruleConfig.regular.regular = '^[1-9][0-9]{10}$'
} else if (value === '2') {
this.form.ruleConfig.regular.regular = '^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\\.[a-zA-Z0-9_-]+)+$'
} else if (value === '3') {
this.form.ruleConfig.regular.regular = '[0-9]*[1-9][0-9]*'
} else if (value === '4') {
this.form.ruleConfig.regular.regular = '-[0-9]*[1-9][0-9]*'
} else if (value === '5') {
this.form.ruleConfig.regular.regular = '\\d{15}(\\d\\d[0-9xX])?'
} else if (value === '6') {
this.form.ruleConfig.regular.regular = '(\\d{4}|\\d{2})-((1[0-2])|(0?[1-9]))-(([12][0-9])|(3[01])|(0?[1-9]))'
} else if (value === '7') {
this.form.ruleConfig.regular.regular = '((2[0-4]\\d|25[0-5]|[01]?\\d\\d?)\\.){3}(2[0-4]\\d|25[0-5]|[01]?\\d\\d?)'
}
}
}

View File

@@ -21,16 +21,16 @@
/>
</el-select>
</el-form-item>
<el-form-item label="规则级别">
<el-select v-model="form.ruleLevelId">
<el-option
v-for="item in ruleLevelOptions"
:key="item.id"
:label="item.name"
:value="item.id"
/>
</el-select>
</el-form-item>
<!-- <el-form-item label="规则级别">-->
<!-- <el-select v-model="form.ruleLevelId">-->
<!-- <el-option-->
<!-- v-for="item in ruleLevelOptions"-->
<!-- :key="item.id"-->
<!-- :label="item.name"-->
<!-- :value="item.id"-->
<!-- />-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<el-form-item label="数据源">
<el-select v-model="form.ruleSourceId">
<el-option

View File

@@ -22,16 +22,16 @@
/>
</el-select>
</el-form-item>
<el-form-item label="规则级别" prop="ruleLevelId">
<el-select v-model="form.ruleLevelId" placeholder="请选择规则级别">
<el-option
v-for="item in ruleLevelOptions"
:key="item.id"
:label="item.name"
:value="item.id"
/>
</el-select>
</el-form-item>
<!-- <el-form-item label="规则级别" prop="ruleLevelId">-->
<!-- <el-select v-model="form.ruleLevelId" placeholder="请选择规则级别">-->
<!-- <el-option-->
<!-- v-for="item in ruleLevelOptions"-->
<!-- :key="item.id"-->
<!-- :label="item.name"-->
<!-- :value="item.id"-->
<!-- />-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<el-form-item label="数据源" prop="ruleSourceId">
<el-select v-model="form.ruleSourceId" placeholder="请选择数据源" @change="sourceSelectChanged">
<el-option
@@ -218,9 +218,6 @@ export default {
ruleItemId: [
{ required: true, message: '核查类型不能为空', trigger: 'change' }
],
ruleLevelId: [
{ required: true, message: '规则级别不能为空', trigger: 'change' }
],
ruleSourceId: [
{ required: true, message: '数据源不能为空', trigger: 'change' }
],

View File

@@ -206,7 +206,7 @@ export default {
/* { prop: 'ruleColumn', label: '检测字段', show: true, formatter: this.ruleColumnFormatter },*/
{ prop: 'ruleName', label: '用例名称', show: true },
{ prop: 'ruleType', label: '用例类型', show: true },
{ prop: 'ruleLevel', label: '用例级别', width: 100, show: true },
// { prop: 'ruleLevel', label: '用例级别', width: 100, show: true },
{
prop: 'status',
label: '状态',

View File

@@ -97,7 +97,7 @@
show-overflow-tooltip
/>
</template>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="300px">
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="400px">
<template slot-scope="scope">
<el-button
size="mini"
@@ -131,6 +131,12 @@
icon="el-icon-s-promotion"
@click="handleRun(scope.row)"
>立即执行</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
>删除</el-button>
</template>
</el-table-column>
</el-table>

View File

@@ -193,16 +193,16 @@
/>
</el-select>
</el-form-item>
<el-form-item label="用例级别" prop="ruleLevelId">
<el-select v-model="form.ruleLevelId" placeholder="请选择用例级别" style="width: 100%">
<el-option
v-for="item in ruleLevelOptions"
:key="item.id"
:label="item.name"
:value="item.id"
/>
</el-select>
</el-form-item>
<!-- <el-form-item label="用例级别" prop="ruleLevelId">-->
<!-- <el-select v-model="form.ruleLevelId" placeholder="请选择用例级别" style="width: 100%">-->
<!-- <el-option-->
<!-- v-for="item in ruleLevelOptions"-->
<!-- :key="item.id"-->
<!-- :label="item.name"-->
<!-- :value="item.id"-->
<!-- />-->
<!-- </el-select>-->
<!-- </el-form-item>-->
</div>
</el-form>
<el-form v-if="active == 2" ref="form" :model="form" :rules="rules" label-width="80px" style="width: 800px">
@@ -321,9 +321,6 @@ export default {
ruleItemId: [
{ required: true, message: '核查类型不能为空', trigger: 'change' }
],
ruleLevelId: [
{ required: true, message: '规则级别不能为空', trigger: 'change' }
],
ruleSourceId: [
{ required: true, message: '数据源不能为空', trigger: 'change' }
],

View File

@@ -21,16 +21,16 @@
/>
</el-select>
</el-form-item>
<el-form-item label="规则级别">
<el-select v-model="form.ruleLevelId">
<el-option
v-for="item in ruleLevelOptions"
:key="item.id"
:label="item.name"
:value="item.id"
/>
</el-select>
</el-form-item>
<!-- <el-form-item label="规则级别">-->
<!-- <el-select v-model="form.ruleLevelId">-->
<!-- <el-option-->
<!-- v-for="item in ruleLevelOptions"-->
<!-- :key="item.id"-->
<!-- :label="item.name"-->
<!-- :value="item.id"-->
<!-- />-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<el-form-item label="数据源">
<el-select v-model="form.ruleSourceId">
<el-option

View File

@@ -22,16 +22,16 @@
/>
</el-select>
</el-form-item>
<el-form-item label="规则级别" prop="ruleLevelId">
<el-select v-model="form.ruleLevelId" placeholder="请选择规则级别">
<el-option
v-for="item in ruleLevelOptions"
:key="item.id"
:label="item.name"
:value="item.id"
/>
</el-select>
</el-form-item>
<!-- <el-form-item label="规则级别" prop="ruleLevelId">-->
<!-- <el-select v-model="form.ruleLevelId" placeholder="请选择规则级别">-->
<!-- <el-option-->
<!-- v-for="item in ruleLevelOptions"-->
<!-- :key="item.id"-->
<!-- :label="item.name"-->
<!-- :value="item.id"-->
<!-- />-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<el-form-item label="数据源" prop="ruleSourceId">
<el-select v-model="form.ruleSourceId" placeholder="请选择数据源" @change="sourceSelectChanged">
<el-option
@@ -218,9 +218,6 @@ export default {
ruleItemId: [
{ required: true, message: '核查类型不能为空', trigger: 'change' }
],
ruleLevelId: [
{ required: true, message: '规则级别不能为空', trigger: 'change' }
],
ruleSourceId: [
{ required: true, message: '数据源不能为空', trigger: 'change' }
],

View File

@@ -206,7 +206,7 @@ export default {
{ prop: 'ruleColumn', label: '检测字段', show: true, formatter: this.ruleColumnFormatter },*/
{ prop: 'ruleName', label: '用例名称', show: true },
{ prop: 'ruleType', label: '用例类型', show: true },
{ prop: 'ruleLevel', label: '用例级别', width: 100, show: true },
// { prop: 'ruleLevel', label: '用例级别', width: 100, show: true },
{
prop: 'status',
label: '状态',

View File

@@ -147,7 +147,8 @@
formatter: this.checkResultFormatter
},
{ prop: 'checkTotalCount', label: '检测数量', show: true },
{ prop: 'checkErrorCount', label: '不合规数量', show: true }
{ prop: 'checkErrorCount', label: '不合规数量', show: true },
{ prop: 'checkTimeConsuming', label: '耗时(毫秒)', show: true }
],
projectsOptions: [
{ id: '1111', projectName: '演示项目' }
@@ -199,6 +200,7 @@
pageCheckReport(this.queryParams).then(response => {
this.loading = false
if (response.success) {
console.log('response',response)
const { data } = response
this.tableDataList = data.data
this.total = data.total
@@ -225,8 +227,10 @@
checkReportTypeFormatter(row, column, cellValue, index) {
if (cellValue === 'structure') {
return '结构符合性检测报告'
} else {
} else if (cellValue === 'content') {
return '内容符合性检测报告'
} else {
return '关联符合性检测报告'
}
},
checkResultFormatter(row, column, cellValue, index) {

View File

@@ -1,83 +1,57 @@
<template>
<div class="app-container">
<el-card class="box-card" shadow="always">
<div class="hasTagsView">
<div class="app-main">
<el-card class="box-card">
<div slot="header" class="clearfix">
<el-button-group style="float: right;">
<el-button type="primary" size="mini" icon="el-icon-download">导出</el-button>
<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>
</el-button-group>
</div>
<div class="body-wrapper">
<h4 style="text-align: center;">{{ date }}{{ data.checkReportType === 'structure' ? '结构符合性' : '内容符合性' }}检测结果报告</h4>
<el-divider content-position="left"><h3>检测指标统计分析</h3></el-divider>
<el-row :gutter="20">
<div>
<el-row :gutter="20">
<el-col :span="6">
<div>
<el-statistic
group-separator=","
:precision="0"
:value="data.checkTotalCount"
title="检测表总数"
></el-statistic>
</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>
</el-col>
<el-col :span="6">
<div>
<el-statistic title="检测总耗时(毫秒)">
<template slot="formatter">
{{ data.checkTimeConsuming }}
</template>
</el-statistic>
<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>
</el-col>
<el-col :span="6">
<div>
<el-statistic
group-separator=","
:precision="0"
decimal-separator="."
:value="data.checkErrorCount"
title="不合规总数"
>
<template slot="prefix">
<i class="el-icon-s-flag" style="color: red"></i>
</template>
</el-statistic>
<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>
</el-col>
<el-col :span="6">
<div>
<el-statistic title="不合规率">
<template slot="prefix">
<span class="like">
<i class="el-icon-star-on" style="color:red"></i>
</span>
</template>
<template slot="formatter">
{{ (data.checkErrorCount / data.checkTotalCount * 100) + '%' }}
</template>
</el-statistic>
<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>
</el-col>
</el-row>
</div>
</el-row>
<el-divider content-position="left"><h3>不合规统计分析</h3></el-divider>
<el-row :gutter="20">
<el-col :span="10">
<h5>按数据源统计不合规数量</h5>
<el-table
:data="reportTableData1"
:span-method="objectSpanMethod1"
border
default-expand-all
:max-height="250"
style="width: 100%; margin: 15px 0;"
>
</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="ruleLevelName" 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" />
@@ -85,218 +59,247 @@
</el-table-column>
</el-table>
</el-col>
<el-col :span="10" :offset="4">
<h5>按用例类型统计不合规数量</h5>
<el-table
:data="reportTableData2"
:span-method="objectSpanMethod2"
border
tooltip-effect="dark"
:max-height="250"
style="width: 100%; margin: 15px 0;"
>
<el-table-column prop="ruleTypeName" label="用例类型" align="center" />
<el-table-column prop="ruleName" label="用例名称" align="center" />
<el-table-column prop="checkErrorCount" label="不合规数" align="center">
<template slot-scope="scope">
<el-badge :value="scope.row.ruleLevelName" :type="typeFormat(scope.row.ruleLevelName)">
{{ scope.row.checkErrorCount }}
</el-badge>
</template>
<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>
<el-divider content-position="left"><h3>用例类型统计分析</h3></el-divider>
<el-row>
<el-col :span="24">
<h5>表字段标准检测分析</h5>
<el-table
:data="table_key"
border
tooltip-effect="dark"
:max-height="250"
style="width: 100%; margin: 15px 0;"
>
<div class="stitle">用例类型统计分析</div><!--stitle 二级标题-->
<div class="dbox">
<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" />
<el-table-column prop="ruleTableName" label="数据表" align="center" />
<el-table-column prop="checkTotalCount" 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 accordion>
<el-collapse-item>
<template slot="title">
不合规明细<i class="el-icon-arrow-right"></i>
</template>
<div>
<el-table
:data="table_key"
border
tooltip-effect="dark"
:max-height="250"
style="width: 100%; margin: 15px 0;"
>
<el-table-column prop="ruleName" label="用例名称" align="center" />
<el-table-column prop="ruleSourceName" label="数据源" align="center" />
<el-table-column prop="ruleTableName" label="数据表" align="center" />
<el-table-column prop="checkTotalCount" label="实际表名" align="center" />
<el-table-column prop="checkTotalCount" label="标准表名" align="center" />
<el-table-column prop="checkTotalCount" label="实际字段" align="center" />
<el-table-column prop="checkErrorCount" label="标准字段" align="center" />
<el-table-column prop="checkErrorCount" label="不合规原因" align="center" />
<el-collapse @change="handleChange" class="ncoll"><!--加上ncoll-->
<el-collapse-item name="1">
<template slot="title"><span class="tit">不合规明细</span></template>
<el-table :data="no_table_key" 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="trueTableName" label="实际表名" align="center" />
<el-table-column prop="standardTableName" label="标准表名" align="center" />
<el-table-column prop="trueColumn" label="实际字段" align="center" />
<el-table-column prop="standardColumn" label="标准字段" align="center" />
<el-table-column prop="notDetail" label="不合规原因" align="center" />
</el-table>
</div>
</el-collapse-item>
</el-collapse>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<h5>长度标准检测分析</h5>
<el-table
:data="length_key"
border
tooltip-effect="dark"
:max-height="250"
style="width: 100%; margin: 15px 0;"
>
</div><!--dbox-->
<div class="dbox">
<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" />
<el-table-column prop="ruleTableName" label="数据表" align="center" />
<el-table-column prop="checkTotalCount" 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-col>
</el-row>
<el-row>
<el-col :span="24">
<h5>空值标准检测分析</h5>
<el-table
:data="null_key"
border
tooltip-effect="dark"
:max-height="250"
style="width: 100%; margin: 15px 0;"
>
<el-collapse @change="handleChange" class="ncoll"><!--加上ncoll-->
<el-collapse-item name="1">
<template slot="title"><span class="tit">不合规明细</span></template>
<el-table :data="no_length_key" 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="standardColumn" label="标准字段" align="center" />
<el-table-column prop="standardLength" label="标准长度" align="center" />
<el-table-column prop="trueLength" 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="null_key" border style="width: 100%">
<el-table-column prop="ruleName" label="用例名称" align="center" />
<el-table-column prop="ruleSourceName" label="数据源" align="center" />
<el-table-column prop="ruleTableName" label="数据表" align="center" />
<el-table-column prop="checkTotalCount" 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-col>
</el-row>
<el-row>
<el-col :span="24">
<h5>主键标准检测分析</h5>
<el-table
:data="pk_key"
border
tooltip-effect="dark"
:max-height="250"
style="width: 100%; margin: 15px 0;"
>
<el-collapse @change="handleChange" class="ncoll"><!--加上ncoll-->
<el-collapse-item name="1">
<template slot="title"><span class="tit">不合规明细</span></template>
<el-table :data="no_null_key" 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="standardColumn" label="标准字段" align="center" />
<el-table-column prop="standardNull" label="标准字段是否空值" align="center" />
<el-table-column prop="trueColumn" label="实际字段" align="center" />
<el-table-column prop="trueNull" 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="pk_key" border style="width: 100%">
<el-table-column prop="ruleName" label="用例名称" align="center" />
<el-table-column prop="ruleSourceName" label="数据源" align="center" />
<el-table-column prop="ruleTableName" label="数据表" align="center" />
<el-table-column prop="checkTotalCount" 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-col>
</el-row>
<el-row>
<el-col :span="24">
<h5>外键标准检测分析</h5>
<el-table
:data="fk_key"
border
tooltip-effect="dark"
:max-height="250"
style="width: 100%; margin: 15px 0;"
>
<el-collapse @change="handleChange" class="ncoll"><!--加上ncoll-->
<el-collapse-item name="1">
<template slot="title"><span class="tit">不合规明细</span></template>
<el-table :data="no_pk_key" 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="standardColumn" label="标准字段" align="center" />
<el-table-column prop="standardPk" label="标准字段是否主键" align="center" />
<el-table-column prop="trueColumn" label="实际字段" align="center" />
<el-table-column prop="truePk" 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="fk_key" border style="width: 100%">
<el-table-column prop="ruleName" label="用例名称" align="center" />
<el-table-column prop="ruleSourceName" label="数据源" align="center" />
<el-table-column prop="ruleTableName" label="数据表" align="center" />
<el-table-column prop="checkTotalCount" 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-col>
</el-row>
<el-row>
<el-col :span="24">
<h5>完整性标准检测分析</h5>
<el-table
:data="integrity"
border
tooltip-effect="dark"
:max-height="250"
style="width: 100%; margin: 15px 0;"
>
<el-collapse @change="handleChange" class="ncoll"><!--加上ncoll-->
<el-collapse-item name="1">
<template slot="title"><span class="tit">不合规明细</span></template>
<el-table :data="no_fk_key" 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="standardColumn" label="标准字段" align="center" />
<el-table-column prop="standardFk" label="标准字段是否外键" align="center" />
<el-table-column prop="trueColumn" label="实际字段" align="center" />
<el-table-column prop="trueFk" 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="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="ruleTableName" label="数据表" align="center" />
<el-table-column prop="checkTotalCount" 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-col>
</el-row>
<el-row>
<el-col :span="24">
<h5>准确性标准检测分析</h5>
<el-table
:data="accuracy"
border
tooltip-effect="dark"
:max-height="250"
style="width: 100%; margin: 15px 0;"
>
<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="ruleTableName" label="数据表" align="center" />
<el-table-column prop="checkTotalCount" 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-col>
</el-row>
<el-row>
<el-col :span="24">
<h5>一致性标准检测分析</h5>
<el-table
:data="consistent"
border
tooltip-effect="dark"
:max-height="250"
style="width: 100%; margin: 15px 0;"
>
<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="ruleTableName" label="数据表" align="center" />
<el-table-column prop="checkTotalCount" 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-col>
</el-row>
<el-row>
<el-col :span="24">
<h5>正则表达式标准检测分析</h5>
<el-table
:data="regular"
border
tooltip-effect="dark"
:max-height="250"
style="width: 100%; margin: 15px 0;"
>
<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="ruleTableName" label="数据表" align="center" />
<el-table-column prop="checkTotalCount" 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-col>
</el-row>
</div>
</el-card>
<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>
@@ -352,22 +355,44 @@
// 表字段标准检测
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,
@@ -382,30 +407,43 @@
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.dataAmount.reportTableData1
this.reportTableData2 = dataJson.dataAmount.reportTableData2
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() {
@@ -415,9 +453,9 @@
this.spanArr1 = []
this.spanArr2 = []
// this.getReportData1()
this.getReportData2()
this.getReportData3()
this.date = moment(this.queryParams.checkDate).format('YYYY年MM月DD日')
// this.getReportData2()
// this.getReportData3()
// this.date = moment(this.queryParams.checkDate).format('YYYY年MM月DD日')
},
// getReportData1() {
// getReportBySource({ checkDate: this.queryParams.checkDate }).then(response => {
@@ -521,6 +559,15 @@
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)
}
}
}

View File

@@ -0,0 +1,750 @@
<template>
<div class="app-container">
<el-card class="box-card" shadow="always">
<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>
<div class="body-wrapper">
<h4 style="text-align: center;">{{ date }}{{ data.checkReportType === 'structure' ? '结构符合性' : '内容符合性' }}检测结果报告</h4>
<el-divider content-position="left"><h3>检测指标统计分析</h3></el-divider>
<el-row :gutter="20">
<div>
<el-row :gutter="20">
<el-col :span="6">
<div>
<el-statistic
group-separator=","
:precision="0"
:value="data.checkTotalCount"
title="检测表总数"
></el-statistic>
</div>
</el-col>
<el-col :span="6">
<div>
<el-statistic title="检测总耗时(毫秒)">
<template slot="formatter">
{{ data.checkTimeConsuming }}
</template>
</el-statistic>
</div>
</el-col>
<el-col :span="6">
<div>
<el-statistic
group-separator=","
:precision="0"
decimal-separator="."
:value="data.checkErrorCount"
title="不合规总数"
>
<template slot="prefix">
<i class="el-icon-s-flag" style="color: red"></i>
</template>
</el-statistic>
</div>
</el-col>
<el-col :span="6">
<div>
<el-statistic title="不合规率">
<template slot="prefix">
<span class="like">
<i class="el-icon-star-on" style="color:red"></i>
</span>
</template>
<template slot="formatter">
{{ (data.checkErrorCount / data.checkTotalCount * 100) + '%' }}
</template>
</el-statistic>
</div>
</el-col>
</el-row>
</div>
</el-row>
<el-divider content-position="left"><h3>不合规统计分析</h3></el-divider>
<el-row :gutter="20">
<el-col :span="10">
<h5>按数据源统计不合规数量</h5>
<el-table
:data="reportTableData1"
:span-method="objectSpanMethod1"
border
default-expand-all
:max-height="250"
style="width: 100%; margin: 15px 0;"
>
<el-table-column prop="ruleSourceName" 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="10" :offset="4">
<h5>按用例类型统计不合规数量</h5>
<el-table
:data="reportTableData2"
:span-method="objectSpanMethod2"
border
tooltip-effect="dark"
:max-height="250"
style="width: 100%; margin: 15px 0;"
>
<el-table-column prop="ruleTypeName" label="用例类型" align="center" />
<el-table-column prop="ruleName" label="用例名称" align="center" />
<el-table-column prop="checkErrorCount" label="不合规数" align="center">
<template slot-scope="scope">
<el-badge :value="scope.row.ruleLevelName" :type="typeFormat(scope.row.ruleLevelName)">
{{ scope.row.checkErrorCount }}
</el-badge>
</template>
</el-table-column>
</el-table>
</el-col>
</el-row>
<el-divider content-position="left"><h3>用例类型统计分析</h3></el-divider>
<el-row>
<el-col :span="24">
<h5>表字段标准检测</h5>
<el-table
:data="table_key"
border
tooltip-effect="dark"
:max-height="250"
style="width: 100%; margin: 15px 0;"
>
<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 accordion>
<el-collapse-item>
<template slot="title">
<i class="el-icon-document"></i>&nbsp;不合规明细
</template>
<el-table
:data="no_table_key"
border
tooltip-effect="dark"
:max-height="250"
style="width: 100%; margin: 15px 0;"
>
<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="trueTableName" label="实际表名" align="center" />
<el-table-column prop="standardTableName" label="标准表名" align="center" />
<el-table-column prop="trueColumn" label="实际字段" align="center" />
<el-table-column prop="standardColumn" label="标准字段" align="center" />
<el-table-column prop="notDetail" label="不合规原因" align="center" />
</el-table>
</el-collapse-item>
</el-collapse>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<h5>长度标准检测</h5>
<el-table
:data="length_key"
border
tooltip-effect="dark"
:max-height="250"
style="width: 100%; margin: 15px 0;"
>
<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 accordion>
<el-collapse-item>
<template slot="title">
<i class="el-icon-document"></i>&nbsp;不合规明细
</template>
<el-table
:data="no_length_key"
border
tooltip-effect="dark"
:max-height="250"
style="width: 100%; margin: 15px 0;"
>
<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="standardColumn" label="标准字段" align="center" />
<el-table-column prop="standardLength" label="标准长度" align="center" />
<el-table-column prop="trueLength" label="实际长度" align="center" />
<el-table-column prop="notDetail" label="不合规原因" align="center" />
</el-table>
</el-collapse-item>
</el-collapse>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<h5>空值标准检测</h5>
<el-table
:data="null_key"
border
tooltip-effect="dark"
:max-height="250"
style="width: 100%; margin: 15px 0;"
>
<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 accordion>
<el-collapse-item>
<template slot="title">
<i class="el-icon-document"></i>&nbsp;不合规明细
</template>
<el-table
:data="no_null_key"
border
tooltip-effect="dark"
:max-height="250"
style="width: 100%; margin: 15px 0;"
>
<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="standardColumn" label="标准字段" align="center" />
<el-table-column prop="standardNull" label="标准字段是否空值" align="center" />
<el-table-column prop="trueColumn" label="实际字段" align="center" />
<el-table-column prop="trueNull" label="实际字段是否空值" align="center" />
<el-table-column prop="notDetail" label="不合规原因" align="center" />
</el-table>
</el-collapse-item>
</el-collapse>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<h5>主键标准检测</h5>
<el-table
:data="pk_key"
border
tooltip-effect="dark"
:max-height="250"
style="width: 100%; margin: 15px 0;"
>
<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 accordion>
<el-collapse-item>
<template slot="title">
<i class="el-icon-document"></i>&nbsp;不合规明细
</template>
<el-table
:data="no_pk_key"
border
tooltip-effect="dark"
:max-height="250"
style="width: 100%; margin: 15px 0;"
>
<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="standardColumn" label="标准字段" align="center" />
<el-table-column prop="standardPk" label="标准字段是否主键" align="center" />
<el-table-column prop="trueColumn" label="实际字段" align="center" />
<el-table-column prop="truePk" label="实际字段是否主键" align="center" />
<el-table-column prop="notDetail" label="不合规原因" align="center" />
</el-table>
</el-collapse-item>
</el-collapse>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<h5>外键标准检测</h5>
<el-table
:data="fk_key"
border
tooltip-effect="dark"
:max-height="250"
style="width: 100%; margin: 15px 0;"
>
<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 accordion>
<el-collapse-item>
<template slot="title">
<i class="el-icon-document"></i>&nbsp;不合规明细
</template>
<el-table
:data="no_fk_key"
border
tooltip-effect="dark"
:max-height="250"
style="width: 100%; margin: 15px 0;"
>
<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="standardColumn" label="标准字段" align="center" />
<el-table-column prop="standardFk" label="标准字段是否外键" align="center" />
<el-table-column prop="trueColumn" label="实际字段" align="center" />
<el-table-column prop="trueFk" label="实际字段是否外键" align="center" />
<el-table-column prop="notDetail" label="不合规原因" align="center" />
</el-table>
</el-collapse-item>
</el-collapse>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<h5>完整性标准检测</h5>
<el-table
:data="integrity"
border
tooltip-effect="dark"
:max-height="250"
style="width: 100%; margin: 15px 0;"
>
<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 accordion>
<el-collapse-item>
<template slot="title">
<i class="el-icon-document"></i>&nbsp;不合规明细
</template>
<el-table
:data="no_integrity"
border
tooltip-effect="dark"
:max-height="250"
style="width: 100%; margin: 15px 0;"
>
<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>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<h5>准确性标准检测</h5>
<el-table
:data="accuracy"
border
tooltip-effect="dark"
:max-height="250"
style="width: 100%; margin: 15px 0;"
>
<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 accordion>
<el-collapse-item>
<template slot="title">
<i class="el-icon-document"></i>&nbsp;不合规明细
</template>
<el-table
:data="no_accuracy"
border
tooltip-effect="dark"
:max-height="250"
style="width: 100%; margin: 15px 0;"
>
<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>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<h5>一致性标准检测</h5>
<el-table
:data="consistent"
border
tooltip-effect="dark"
:max-height="250"
style="width: 100%; margin: 15px 0;"
>
<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 accordion>
<el-collapse-item>
<template slot="title">
<i class="el-icon-document"></i>&nbsp;不合规明细
</template>
<el-table
:data="no_consistent"
border
tooltip-effect="dark"
:max-height="250"
style="width: 100%; margin: 15px 0;"
>
<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>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<h5>正则表达式标准检测</h5>
<el-table
:data="regular"
border
tooltip-effect="dark"
:max-height="250"
style="width: 100%; margin: 15px 0;"
>
<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 accordion>
<el-collapse-item>
<template slot="title">
<i class="el-icon-document"></i>&nbsp;不合规明细
</template>
<el-table
:data="no_regular"
border
tooltip-effect="dark"
:max-height="250"
style="width: 100%; margin: 15px 0;"
>
<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>
</el-col>
</el-row>
</div>
</el-card>
</div>
</template>
<script>
import { getReportBySource, getReportByType, getReportDetail } from '@/api/quality/checkreport'
import moment from 'moment'
import dataJson from './Data.json'
export default {
name: 'CheckReportStructure',
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: 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,
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()
},
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('YYYY年MM月DD日')
},
// 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

@@ -1,132 +1,570 @@
{
"caseType":
"caseType": {
"table_key": [
{
"table_key":[
{
"ruleName":"表字段标准检测分析",
"ruleSourceName":"数据平台",
"ruleTableName":"全表",
"checkTotalCount":"500",
"checkErrorCount":"28"
}
],
"length_key":[
{
"ruleName":"长度标准检测分析",
"ruleSourceName":"数据平台",
"ruleTableName":"全表",
"checkTotalCount":"500",
"checkErrorCount":"28"
}
],
"pk_key":[
{
"ruleName":"主键标准检测分析",
"ruleSourceName":"数据平台",
"ruleTableName":"全表",
"checkTotalCount":"500",
"checkErrorCount":"28"
}
],
"null_key":[
{
"ruleName":"空值标准检测分析",
"ruleSourceName":"数据平台",
"ruleTableName":"全表",
"checkTotalCount":"500",
"checkErrorCount":"28"
}
],
"fk_key":[
{
"ruleName":"外键标准检测分析",
"ruleSourceName":"数据平台",
"ruleTableName":"全表",
"checkTotalCount":"500",
"checkErrorCount":"28"
}
],
"integrity":[
{
"ruleName":"完整性标准检测分析",
"ruleSourceName":"数据平台",
"ruleTableName":"全表",
"checkTotalCount":"500",
"checkErrorCount":"28"
}
],
"accuracy":[
{
"ruleName":"准确性标准检测分析",
"ruleSourceName":"数据平台",
"ruleTableName":"全表",
"checkTotalCount":"500",
"checkErrorCount":"28"
}
],
"consistent":[
{
"ruleName":"一致性标准检测分析",
"ruleSourceName":"数据平台",
"ruleTableName":"全表",
"checkTotalCount":"500",
"checkErrorCount":"28"
}
],
"regular":[
{
"ruleName":"正则表达式标准检测分析",
"ruleSourceName":"数据平台",
"ruleTableName":"全表",
"checkTotalCount":"500",
"checkErrorCount":"28"
}
]
},
"dataAmount":
{
"reportTableData1":[
{
"ruleSourceId":1,
"ruleSourceName":"数据平台",
"ruleLevelName": "低",
"checkErrorCount":9
"ruleName": "表字段标准检测用列",
"ruleSourceName": "数据平台",
"ruleTableName": "表",
"version": "1.0",
"checkTotalCount": "78",
"checkErrorCount": "1"
},
{
"ruleSourceId":1,
"ruleSourceName":"数据平台",
"ruleLevelName": "",
"checkErrorCount":56
"ruleName": "表字段标准检测用列",
"ruleSourceName": "演示应用",
"ruleTableName": "全表",
"version": "1.0",
"checkTotalCount": "449",
"checkErrorCount": "4"
}
],
"no_table_key": [
{
"caseName": "表字段标准检测用列",
"source": "数据平台",
"tableName": "TABLE_A",
"trueTableName": "TABLE_A",
"standardTableName": "TABLE_A",
"trueColumn": "column_AAA",
"standardColumn": "column_AAC",
"notDetail": "字段名与标准不一致"
},
{
"ruleSourceId":1,
"ruleSourceName":"数据平台",
"caseName": "表字段标准检测用列",
"source": "演示应用",
"tableName": "TABLE_D",
"trueTableName": "TABLE_D",
"standardTableName": "TABLE_K",
"trueColumn": "",
"standardColumn": "",
"notDetail": "表名与标准不一致"
},
{
"caseName": "表字段标准检测用列",
"source": "演示应用",
"tableName": "TABLE_E",
"trueTableName": "TABLE_E",
"standardTableName": "TABLE_E",
"trueColumn": "columnE",
"standardColumn": "column_E",
"notDetail": "字段名与标准不一致"
},
{
"caseName": "表字段标准检测用列",
"source": "演示应用",
"tableName": "TABLE_F",
"trueTableName": "TABLE_F",
"standardTableName": "TABLE_F",
"trueColumn": "columnF",
"standardColumn": "column_F",
"notDetail": "字段名与标准不一致"
},
{
"caseName": "表字段标准检测用列",
"source": "演示应用",
"tableName": "TABLE_G",
"trueTableName": "TABLE_G",
"standardTableName": "TABLE_G",
"trueColumn": "columnG",
"standardColumn": "column_G",
"notDetail": "字段名与标准不一致"
}
],
"length_key": [
{
"ruleName": "长度标准检测用列",
"ruleSourceName": "演示应用",
"ruleTableName": "全表",
"version": "1.0",
"checkTotalCount": "449",
"checkErrorCount": "10"
}
],
"no_length_key": [
{
"caseName": "长度标准检测用列",
"source": "演示应用",
"tableName": "TABLE_A",
"standardColumn": "column_C",
"standardLength": "200",
"trueLength": "2000",
"notDetail": "字段长度不符合标准约束"
},{
"caseName": "长度标准检测用列",
"source": "演示应用",
"tableName": "TABLE_B",
"standardColumn": "column_C",
"standardLength": "100",
"trueLength": "150",
"notDetail": "字段长度不符合标准约束"
},{
"caseName": "长度标准检测用列",
"source": "演示应用",
"tableName": "TABLE_C",
"standardColumn": "column_C",
"standardLength": "200",
"trueLength": "4000",
"notDetail": "字段长度不符合标准约束"
},{
"caseName": "长度标准检测用列",
"source": "演示应用",
"tableName": "TABLE_D",
"standardColumn": "column_C",
"standardLength": "200",
"trueLength": "2000",
"notDetail": "字段长度不符合标准约束"
},{
"caseName": "长度标准检测用列",
"source": "演示应用",
"tableName": "TABLE_E",
"standardColumn": "column_C",
"standardLength": "200",
"trueLength": "2000",
"notDetail": "字段长度不符合标准约束"
},{
"caseName": "长度标准检测用列",
"source": "演示应用",
"tableName": "TABLE_F",
"standardColumn": "column_C",
"standardLength": "200",
"trueLength": "2000",
"notDetail": "字段长度不符合标准约束"
},{
"caseName": "长度标准检测用列",
"source": "演示应用",
"tableName": "TABLE_G",
"standardColumn": "column_C",
"standardLength": "2000",
"trueLength": "4000",
"notDetail": "字段长度不符合标准约束"
},{
"caseName": "长度标准检测用列",
"source": "演示应用",
"tableName": "TABLE_H",
"standardColumn": "column_C",
"standardLength": "100",
"trueLength": "150",
"notDetail": "字段长度不符合标准约束"
},{
"caseName": "长度标准检测用列",
"source": "演示应用",
"tableName": "TABLE_I",
"standardColumn": "column_C",
"standardLength": "200",
"trueLength": "2000",
"notDetail": "字段长度不符合标准约束"
},{
"caseName": "长度标准检测用列",
"source": "演示应用",
"tableName": "TABLE_J",
"standardColumn": "column_C",
"standardLength": "200",
"trueLength": "2000",
"notDetail": "字段长度不符合标准约束"
}
],
"pk_key": [
{
"ruleName": "主键标准检测用列",
"ruleSourceName": "数据平台",
"ruleTableName": "全表",
"version": "1.0",
"checkTotalCount": "78",
"checkErrorCount": "8"
},{
"ruleName": "主键标准检测用列",
"ruleSourceName": "演示应用",
"ruleTableName": "全表",
"version": "1.0",
"checkTotalCount": "449",
"checkErrorCount": "5"
}
],
"no_pk_key": [
{
"caseName": "主键标准检测用列",
"source": "演示应用",
"tableName": "TABLE_A",
"standardColumn": "column_AAA",
"trueColumn": "column_AAA",
"truePk": "是",
"notDetail": "表字段不符合主键标准约束",
"standardPk": "否"
},
{
"caseName": "主键标准检测用列",
"source": "演示应用",
"tableName": "TABLE_W",
"standardColumn": "column_AAA",
"trueColumn": "column_AAA",
"truePk": "否",
"notDetail": "表字段不符合主键标准约束",
"standardPk": "是"
},{
"caseName": "主键标准检测用列",
"source": "演示应用",
"tableName": "TABLE_Q",
"standardColumn": "column_AAA",
"trueColumn": "column_AAA",
"truePk": "是",
"notDetail": "表字段不符合主键标准约束",
"standardPk": "否"
},
{
"caseName": "主键标准检测用列",
"source": "演示应用",
"tableName": "TABLE_E",
"standardColumn": "column_AAA",
"trueColumn": "column_AAA",
"truePk": "否",
"notDetail": "表字段不符合主键标准约束",
"standardPk": "是"
},{
"caseName": "主键标准检测用列",
"source": "演示应用",
"tableName": "TABLE_R",
"standardColumn": "column_AAA",
"trueColumn": "column_AAA",
"truePk": "是",
"notDetail": "表字段不符合主键标准约束",
"standardPk": "否"
},
{
"caseName": "主键标准检测用列",
"source": "数据平台",
"tableName": "TABLE_A",
"standardColumn": "column_AAA",
"trueColumn": "column_AAA",
"truePk": "否",
"notDetail": "表字段不符合主键标准约束",
"standardPk": "是"
},{
"caseName": "主键标准检测用列",
"source": "数据平台",
"tableName": "TABLE_D",
"standardColumn": "column_AAA",
"trueColumn": "column_AAA",
"truePk": "是",
"notDetail": "表字段不符合主键标准约束",
"standardPk": "否"
},
{
"caseName": "主键标准检测用列",
"source": "数据平台",
"tableName": "TABLE_W",
"standardColumn": "column_AAA",
"trueColumn": "column_AAA",
"truePk": "否",
"notDetail": "表字段不符合主键标准约束",
"standardPk": "是"
},{
"caseName": "主键标准检测用列",
"source": "数据平台",
"tableName": "TABLE_G",
"standardColumn": "column_AAA",
"trueColumn": "column_AAA",
"truePk": "是",
"notDetail": "表字段不符合主键标准约束",
"standardPk": "否"
},
{
"caseName": "主键标准检测用列",
"source": "数据平台",
"tableName": "TABLE_L",
"standardColumn": "column_AAA",
"trueColumn": "column_AAA",
"truePk": "否",
"notDetail": "表字段不符合主键标准约束",
"standardPk": "是"
},{
"caseName": "主键标准检测用列",
"source": "数据平台",
"tableName": "TABLE_P",
"standardColumn": "column_AAA",
"trueColumn": "column_AAA",
"truePk": "是",
"notDetail": "表字段不符合主键标准约束",
"standardPk": "否"
},
{
"caseName": "主键标准检测用列",
"source": "数据平台",
"tableName": "TABLE_U",
"standardColumn": "column_AAA",
"trueColumn": "column_AAA",
"truePk": "否",
"notDetail": "表字段不符合主键标准约束",
"standardPk": "是"
},{
"caseName": "主键标准检测用列",
"source": "数据平台",
"tableName": "TABLE_M",
"standardColumn": "column_AAA",
"trueColumn": "column_AAA",
"truePk": "是",
"notDetail": "表字段不符合主键标准约束",
"standardPk": "否"
}
],
"null_key": [
{
"ruleName": "空值标准检测分析",
"ruleSourceName": "演示应用",
"ruleTableName": "全表",
"version": "1.0",
"checkTotalCount": "449",
"checkErrorCount": "9"
}
],
"no_null_key": [
{
"caseName": "空值标准检测用列",
"source": "演示应用",
"tableName": "TABLE_A",
"standardColumn": "column_AAA",
"trueColumn": "column_AAA",
"trueNull": "是",
"notDetail": "表字段不符合空值校验",
"standardNull": "否"
},
{
"caseName": "空值标准检测用列",
"source": "演示应用",
"tableName": "TABLE_B",
"standardColumn": "column_BBB",
"trueColumn": "column_BBB",
"trueNull": "否",
"notDetail": "表字段不符合空值校验",
"standardNull": "是"
},{
"caseName": "空值标准检测用列",
"source": "演示应用",
"tableName": "TABLE_Y",
"standardColumn": "column_AAA",
"trueColumn": "column_AAA",
"trueNull": "是",
"notDetail": "表字段不符合空值校验",
"standardNull": "否"
},
{
"caseName": "空值标准检测用列",
"source": "演示应用",
"tableName": "TABLE_W",
"standardColumn": "column_BBB",
"trueColumn": "column_BBB",
"trueNull": "否",
"notDetail": "表字段不符合空值校验",
"standardNull": "是"
},{
"caseName": "空值标准检测用列",
"source": "演示应用",
"tableName": "TABLE_H",
"standardColumn": "column_AAA",
"trueColumn": "column_AAA",
"trueNull": "是",
"notDetail": "表字段不符合空值校验",
"standardNull": "否"
},
{
"caseName": "空值标准检测用列",
"source": "演示应用",
"tableName": "TABLE_UU",
"standardColumn": "column_BBB",
"trueColumn": "column_BBB",
"trueNull": "否",
"notDetail": "表字段不符合空值校验",
"standardNull": "是"
},{
"caseName": "空值标准检测用列",
"source": "演示应用",
"tableName": "TABLE_QQ",
"standardColumn": "column_AAA",
"trueColumn": "column_AAA",
"trueNull": "是",
"notDetail": "表字段不符合空值校验",
"standardNull": "否"
},
{
"caseName": "空值标准检测用列",
"source": "演示应用",
"tableName": "TABLE_PP",
"standardColumn": "column_BBB",
"trueColumn": "column_BBB",
"trueNull": "否",
"notDetail": "表字段不符合空值校验",
"standardNull": "是"
},{
"caseName": "空值标准检测用列",
"source": "演示应用",
"tableName": "TABLE_K",
"standardColumn": "column_BBB",
"trueColumn": "column_BBB",
"trueNull": "否",
"notDetail": "表字段不符合空值校验",
"standardNull": "是"
}
],
"fk_key": [
{
"ruleName": "外键标准检测分析",
"ruleSourceName": "演示应用",
"ruleTableName": "全表",
"version": "1.0",
"checkTotalCount": "449",
"checkErrorCount": "2"
}
],
"no_fk_key": [
{
"caseName": "外键标准检测用列",
"source": "演示应用",
"tableName": "TABLE_A",
"standardColumn": "column_AAA",
"trueColumn": "column_AAA",
"trueFk": "是",
"notDetail": "表字段不符合主键标准约束",
"standardFk": "否"
},
{
"caseName": "外键标准检测用列",
"source": "演示应用",
"tableName": "TABLE_B",
"standardColumn": "column_BBB",
"trueColumn": "column_BBB",
"trueFk": "否",
"notDetail": "表字段不符合外键标准约束",
"standardFk": "是"
}
],
"integrity": [
{
"ruleName": "完整性标准检测用列",
"ruleSourceName": "数据平台",
"ruleTableName": "全表",
"version": "1.0",
"checkTotalCount": "500",
"checkErrorCount": "28"
}
],
"no_integrity":[{
"caseName": "完整性标准检测用列",
"source": "数据平台",
"tableName": "TABLE_A",
"trueColumn": "column_AAA",
"notDetail": "数据不符合标准表字段非空约束"
}],
"accuracy": [
{
"ruleName": "准确性标准检测用列",
"ruleSourceName": "数据平台",
"ruleTableName": "全表",
"version": "1.0",
"checkTotalCount": "500",
"checkErrorCount": "28"
}
],
"no_accuracy": [{
"caseName": "准确性标准检测用列",
"source": "数据平台",
"tableName": "TABLE_A",
"trueColumn": "column_AAA",
"notDetail": "数据不符合标准表字段长度约束"
}],
"consistent": [
{
"ruleName": "一致性标准检测用列",
"ruleSourceName": "数据平台",
"ruleTableName": "全表",
"version": "1.0",
"checkTotalCount": "500",
"checkErrorCount": "28"
}
],
"no_consistent": [{
"caseName": "一致性标准检测用列",
"source": "数据平台",
"tableName": "TABLE_A",
"trueColumn": "column_AAA",
"notDetail": "数据不符合标准值域范围"
}],
"regular": [
{
"ruleName": "正则表达式标准检测用列",
"ruleSourceName": "数据平台",
"ruleTableName": "全表",
"version": "1.0",
"checkTotalCount": "500",
"checkErrorCount": "28"
}
],
"no_regular": [{
"caseName": "手机号码验证用列",
"source": "数据平台",
"tableName": "TABLE_A",
"trueColumn": "column_AAA",
"dataColumn": "271727122",
"notDetail": "数据不符合标准正则表达式约束"
}]
},
"dataReport": {
"reportTableData1": [
{
"ruleSourceId": 1,
"ruleSourceName": "数据平台",
"tableSum": "78",
"tableTime": "3879",
"ruleLevelName": "1.0",
"checkErrorCount": 9
},
{
"ruleSourceId": 1,
"ruleSourceName": "演示应用",
"tableSum": "449",
"tableTime": "15264",
"ruleLevelName": "1.0",
"checkErrorCount": 30
}
],
"reportTableData2": [
{
"checkErrorCount": 5,
"ruleTypeId": "1",
"ruleTypeName": "数据平台",
"ruleLevelName": "中",
"checkErrorCount":78
}
],
"reportTableData2":[
{
"checkErrorCount":7,
"ruleTypeId":"1",
"ruleTypeName":"数据平台",
"ruleLevelName":"中",
"ruleName": "表字段标准检测分析"
},
{
"checkErrorCount":20,
"ruleTypeId":"1",
"ruleTypeName":"数据平台",
"ruleLevelName":"",
"ruleName": "长度标准检测分析"
"checkErrorCount": 10,
"ruleTypeId": "1",
"ruleTypeName": "数据平台",
"ruleLevelName": "",
"ruleName": "长度标准检测用列"
},
{
"checkErrorCount":5,
"ruleTypeId":"1",
"ruleTypeName":"数据平台",
"ruleLevelName":"",
"checkErrorCount": 9,
"ruleTypeId": "1",
"ruleTypeName": "数据平台",
"ruleLevelName": "",
"ruleName": "空值标准检测分析"
},
{
"checkErrorCount": 13,
"ruleTypeId": "1",
"ruleTypeName": "数据平台",
"ruleLevelName": "中",
"ruleName": "主键标准检测用列"
},
{
"checkErrorCount": 2,
"ruleTypeId": "1",
"ruleTypeName": "数据平台",
"ruleLevelName": "中",
"ruleName": "外键标准检测分析"
}
]
}
},
"checkTotalCount": "527",
"checkTimeConsuming": "19,143",
"checkErrorCount": "39"
}

View File

@@ -29,16 +29,16 @@
/>
</el-select>
</el-form-item>
<el-form-item label="用例级别" prop="ruleLevelId">
<el-select v-model="form.ruleLevelId" placeholder="请选择用例级别" style="width: 100%">
<el-option
v-for="item in ruleLevelOptions"
:key="item.id"
:label="item.name"
:value="item.id"
/>
</el-select>
</el-form-item>
<!-- <el-form-item label="用例级别" prop="ruleLevelId">-->
<!-- <el-select v-model="form.ruleLevelId" placeholder="请选择用例级别" style="width: 100%">-->
<!-- <el-option-->
<!-- v-for="item in ruleLevelOptions"-->
<!-- :key="item.id"-->
<!-- :label="item.name"-->
<!-- :value="item.id"-->
<!-- />-->
<!-- </el-select>-->
<!-- </el-form-item>-->
</div>
</el-form>
<el-form v-if="active == 2" ref="form" :model="form" :rules="rules" label-width="80px" style="width: 800px">
@@ -58,6 +58,7 @@
filterable
:titles="['备选', '已选']"
:filter-method="filterMethod"
:format="formatTransfer"
filter-placeholder="请输入表名"
:data="transferData"
/>-->
@@ -163,7 +164,8 @@ export default {
},
status: '1',
zzStatus: '0', // 状态正则
transferValue: []
transferValue: [],
transferValueName: []
},
// 表单校验
rules: {
@@ -173,9 +175,6 @@ export default {
ruleItemId: [
{ required: true, message: '核查类型不能为空', trigger: 'change' }
],
ruleLevelId: [
{ required: true, message: '规则级别不能为空', trigger: 'change' }
],
ruleSourceId: [
{ required: true, message: '数据源不能为空', trigger: 'change' }
],
@@ -218,20 +217,23 @@ export default {
methods: {
filterMethod(query, item) {
return item.pinyin.indexOf(query) > -1
return item.tableNameStr.indexOf(query) > -1
},
formatTransfer(item) {
return item.label
},
generateData(tableData) {
const data = []
const tableName = tableData
const pinyin = tableData
tableName.forEach((tableData, index) => {
const tableName = tableData // 确保 tableData 是数组,包含有 label 属性的对象
tableName.forEach((tableItem) => {
data.push({
label: tableData,
key: tableData,
pinyin: pinyin[index]
label: tableItem.label,
key: tableItem.key,
tableNameStr: tableItem.label // 直接使用 tableItem.label
})
})
this.transferData = data
console.log('this.transferData==', this.transferData)
},
showCard() {
this.$emit('showCard', this.showOptions)
@@ -293,8 +295,12 @@ export default {
const tableNameList = []
for (let i = 0; i < response.data.length; i++) {
const tableName = response.data[i].tableName
const tableId = response.data[i].id
const map = {}
if (!tableNameOldList.some((str) => str === tableName)) {
tableNameList.push(tableName)
map.key = tableId
map.label = tableName
tableNameList.push(map)
}
}
await this.generateData(tableNameList)
@@ -395,6 +401,7 @@ export default {
},
/** 提交按钮 */
submitForm: function () {
console.log('transferValue', this.form.transferValue)
this.$refs['form'].validate(valid => {
if (valid) {
this.loadingOptions.loading = true

View File

@@ -21,16 +21,16 @@
/>
</el-select>
</el-form-item>
<el-form-item label="规则级别">
<el-select v-model="form.ruleLevelId">
<el-option
v-for="item in ruleLevelOptions"
:key="item.id"
:label="item.name"
:value="item.id"
/>
</el-select>
</el-form-item>
<!-- <el-form-item label="规则级别">-->
<!-- <el-select v-model="form.ruleLevelId">-->
<!-- <el-option-->
<!-- v-for="item in ruleLevelOptions"-->
<!-- :key="item.id"-->
<!-- :label="item.name"-->
<!-- :value="item.id"-->
<!-- />-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<el-form-item label="数据源">
<el-select v-model="form.ruleSourceId">
<el-option

View File

@@ -22,16 +22,16 @@
/>
</el-select>
</el-form-item>
<el-form-item label="规则级别" prop="ruleLevelId">
<el-select v-model="form.ruleLevelId" placeholder="请选择规则级别">
<el-option
v-for="item in ruleLevelOptions"
:key="item.id"
:label="item.name"
:value="item.id"
/>
</el-select>
</el-form-item>
<!-- <el-form-item label="规则级别" prop="ruleLevelId">-->
<!-- <el-select v-model="form.ruleLevelId" placeholder="请选择规则级别">-->
<!-- <el-option-->
<!-- v-for="item in ruleLevelOptions"-->
<!-- :key="item.id"-->
<!-- :label="item.name"-->
<!-- :value="item.id"-->
<!-- />-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<el-form-item label="数据源" prop="ruleSourceId">
<el-select v-model="form.ruleSourceId" placeholder="请选择数据源" @change="sourceSelectChanged">
<el-option
@@ -116,9 +116,6 @@ export default {
ruleItemId: [
{ required: true, message: '核查类型不能为空', trigger: 'change' }
],
ruleLevelId: [
{ required: true, message: '规则级别不能为空', trigger: 'change' }
],
ruleSourceId: [
{ required: true, message: '数据源不能为空', trigger: 'change' }
],

View File

@@ -215,7 +215,7 @@ export default {
{ prop: 'ruleName', label: '用例名称', show: true },
{ prop: 'ruleType', label: '用例类型', show: true },
// { prop: 'ruleColumn', label: '核查字段', show: true, formatter: this.ruleColumnFormatter },
{ prop: 'ruleLevel', label: '用例级别', width: 100, show: true },
// { prop: 'ruleLevel', label: '用例级别', width: 100, show: true },
{
prop: 'status',
label: '状态',