Compare commits

..

No commits in common. "26ee0e00b0e401ab4480c70cef563a07a107afa6" and "875f6713a76428ba1f33b14a33db7a5ef3376637" have entirely different histories.

16 changed files with 176 additions and 445 deletions

View File

@ -1,15 +1,6 @@
<template>
<div class="app-container">
<el-card class="box-card" shadow="always">
<el-form ref="queryForm" :model="queryParams" :inline="true">
<el-form-item label="项目" prop="projectId">
<el-select v-model="queryParams.projectId" clearable size="small" placeholder="项目" class="filter-item">
<el-option v-for="item in projectsOptions" :key="item.id" :label="item.projectName" :value="item.id" />
</el-select>
</el-form-item>
</el-form>
<iframe src="http://192.168.1.217:8001/model/modelChildren?hideInMenu=true" width="100%" height="850px" frameborder="0" />
</el-card>
<iframe src="http://192.168.1.217:8001/model/modelChildren?hideInMenu=true" width="100%" height="850px" frameborder="0" />
</div>
</template>
@ -18,16 +9,6 @@ export default {
name: 'DataModel',
data() {
return {
projectsOptions: [
{id: '1111', projectName: '演示项目'}
],
//
queryParams: {
pageNum: 1,
pageSize: 20,
projectId: '1111',
fileName: ''
}
}
},
methods: {

View File

@ -9,14 +9,14 @@
<el-button size="mini" icon="el-icon-back" @click="showCard">返回</el-button>
</el-button-group>
</div>
<div class="body-wrapper" style="padding-left: 20%">
<el-steps :active="active" finish-status="success" align-center style="width: 900px">
<div class="body-wrapper">
<el-steps :active="active" finish-status="success" align-center>
<el-step title="填写数据源信息" />
<el-step title="选择数据库类型" />
<el-step title="填写连接信息" />
</el-steps>
<el-form v-if="active == 1" ref="form" :model="form" :rules="rules" label-width="120px" style="width: 900px">
<div style="padding: 20px 0px">
<el-form v-if="active == 1" ref="form" :model="form" :rules="rules" label-width="120px">
<div style="padding: 20px 200px">
<el-form-item label="数据源名称" prop="sourceName">
<el-input v-model="form.sourceName" placeholder="请输入数据源名称" />
</el-form-item>
@ -34,8 +34,8 @@
</el-form-item>
</div>
</el-form>
<el-form v-if="active == 2" ref="form" :model="form" :rules="rules" label-width="120px" style="width: 900px">
<div class="modellist" style="padding: 20px 0px">
<el-form v-if="active == 2" ref="form" :model="form" :rules="rules" label-width="120px">
<div class="modellist" style="padding: 20px 200px">
<div :class="[form.dbType =='1' ? 'choosedDbType' : '','list']" @click="chooseDbType('1')">
<div class="limg"><img :src="databaseImg.imgMySQL"></div>
<div class="ltitle">
@ -119,8 +119,8 @@
</div><!--modellist 模型监控列表-->
</el-form>
<el-form v-if="active == 3" ref="form2" :model="form2" :rules="rules2" label-width="80px" style="width: 900px">
<div style="padding: 20px 0px">
<el-form v-if="active == 3" ref="form2" :model="form2" :rules="rules2" label-width="80px">
<div style="padding: 20px 200px">
<el-form-item label="主机" prop="host">
<el-input v-model="form2.host" placeholder="请输入主机" />
</el-form-item>

View File

@ -1,11 +1,6 @@
<template>
<el-card class="box-card" shadow="always">
<el-form ref="queryForm" :model="queryParams" :inline="true">
<el-form-item label="项目" prop="projectId">
<el-select v-model="queryParams.projectId" clearable size="small" placeholder="项目" class="filter-item" @change="handleQuery">
<el-option v-for="item in projectsOptions" :key="item.id" :label="item.projectName" :value="item.id" />
</el-select>
</el-form-item>
<el-form-item label="数据源名称" prop="sourceName">
<el-input
v-model="queryParams.sourceName"
@ -180,9 +175,6 @@ export default {
},
{ prop: 'createTime', label: '创建时间', show: true }
],
projectsOptions: [
{ id: '1111', projectName: '演示项目' }
],
//
checkedTableColumns: [],
tableSize: 'medium',
@ -197,7 +189,6 @@ export default {
queryParams: {
pageNum: 1,
pageSize: 20,
projectId: '1111',
sourceName: ''
}
}

View File

@ -1,11 +1,6 @@
<template>
<el-card class="box-card" shadow="always">
<el-form ref="queryForm" :model="queryParams" :inline="true">
<el-form-item label="项目" prop="projectId">
<el-select v-model="queryParams.projectId" clearable size="small" placeholder="项目" class="filter-item" @change="handleQuery">
<el-option v-for="item in projectsOptions" :key="item.id" :label="item.projectName" :value="item.id" />
</el-select>
</el-form-item>
<el-form-item label="离线文件名称" prop="sourceName">
<el-input
v-model="queryParams.fileName"
@ -28,9 +23,8 @@
class="upload-demo"
action="#"
:show-file-list="false"
:http-request="uploadOfflineFile"
>
<el-button size="mini" type="primary" icon="el-icon-upload2">上传</el-button>
:http-request="uploadOfflineFile">
<el-button size="mini" type="primary" icon="el-icon-upload2">上传</el-button>
</el-upload>
</el-button-group>
</el-col>
@ -177,9 +171,6 @@
{ prop: 'createTime', label: '上传时间', show: true },
{ prop: 'switchTime', label: '接入时间', show: true }
],
projectsOptions: [
{ id: '1111', projectName: '演示项目' }
],
//
checkedTableColumns: [],
tableSize: 'medium',
@ -194,7 +185,6 @@
queryParams: {
pageNum: 1,
pageSize: 20,
projectId: '1111',
fileName: ''
}
}
@ -310,7 +300,7 @@
return <el-tag type='error'>接入失败</el-tag>
}
},
uploadOfflineFile(file) {
uploadOfflineFile(file){
this.formData = new FormData()
this.formData.append('file', file.file)
//

View File

@ -3,43 +3,35 @@
<div slot="header" class="clearfix">
<span>{{ title }}</span>
<el-button-group style="float: right;">
<el-button v-if="active == 2" type="primary" size="mini" icon="el-icon-finished" :loading="loadingOptions.loading" :disabled="loadingOptions.isDisabled" @click="submitForm">{{ loadingOptions.loadingText }}</el-button>
<el-button v-if="active == 1" size="mini" type="primary" @click="handleNextStep">下一步</el-button>
<el-button v-if="active == 2" size="mini" type="primary" @click="handleLastStep">上一步</el-button>
<el-button type="primary" size="mini" icon="el-icon-finished" :loading="loadingOptions.loading" :disabled="loadingOptions.isDisabled" @click="submitForm">{{ loadingOptions.loadingText }}</el-button>
<el-button size="mini" icon="el-icon-back" @click="showCard">返回</el-button>
</el-button-group>
</div>
<div class="body-wrapper" style="padding-left: 20%">
<el-steps :active="active" finish-status="success" align-center style="width: 900px">
<el-step title="填写检测用例信息" />
<el-step title="选择检测数据源" />
</el-steps>
<!--<el-form ref="form" :model="form" :rules="rules" label-width="80px" style="width: 800px">
<div style="padding: 20px 100px">
<el-form-item label="用例名称" prop="ruleName">
<el-input v-model="form.ruleName" placeholder="请输入用例名称" />
</el-form-item>
<el-form-item label="检测类型" prop="ruleItemId">
<el-select v-model="form.ruleItemId" placeholder="请选择检测类型" @change="ruleItemSelectChanged">
<el-option
v-for="item in ruleItemOptions"
:key="item.id"
:label="item.itemExplain"
: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>
</div>
<div class="body-wrapper">
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="规则名称" prop="ruleName">
<el-input v-model="form.ruleName" placeholder="请输入规则名称" />
</el-form-item>
<el-form-item label="核查类型" prop="ruleItemId">
<el-select v-model="form.ruleItemId" placeholder="请选择核查类型" @change="ruleItemSelectChanged">
<el-option
v-for="item in ruleItemOptions"
:key="item.id"
:label="item.itemExplain"
: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
@ -62,8 +54,8 @@
</el-option>
</el-select>
</el-form-item>
<el-form-item label="检测字段" prop="ruleColumnId">
<el-select v-model="form.ruleColumnId" placeholder="请选择检测字段" @change="columnSelectChanged">
<el-form-item label="核查字段" prop="ruleColumnId">
<el-select v-model="form.ruleColumnId" placeholder="请选择核查字段" @change="columnSelectChanged">
<el-option
v-for="column in columnOptions"
:key="column.id"
@ -74,7 +66,7 @@
</el-option>
</el-select>
</el-form-item>
<el-divider content-position="left">检测配置</el-divider>
<el-divider content-position="left">核查配置</el-divider>
<el-row v-if="form.ruleConfig.ruleItemCode === 'timeliness_key'">
<el-col :span="24">
<el-form-item label="判定阀值">
@ -145,7 +137,7 @@
</el-form-item>
</el-col>
</el-row>
&lt;!&ndash; 正则表达式规则&ndash;&gt;
<!-- 正则表达式规则-->
<el-row v-if="form.ruleConfig.ruleItemCode === 'regular_key'">
<el-col :span="24">
<el-form-item label="正则表达">
@ -178,61 +170,6 @@
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" type="textarea" placeholder="请输入内容" />
</el-form-item>
</el-form>-->
<el-form v-if="active == 1" ref="form" :model="form" :rules="rules" label-width="120px" style="width: 800px">
<div style="padding: 20px 100px">
<el-form-item label="用例名称" prop="ruleName">
<el-input v-model="form.ruleName" placeholder="请输入用例名称" />
</el-form-item>
<el-form-item label="检测类型" prop="ruleItemId">
<el-select v-model="form.ruleItemId" placeholder="请选择检测类型" style="width: 100%" @change="ruleItemSelectChanged">
<el-option
v-for="item in ruleItemOptions"
:key="item.id"
:label="item.itemExplain"
: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">
<div style="padding: 20px 100px">
<el-form-item label="数据源" prop="ruleSourceId">
<el-select v-model="form.ruleSourceId" placeholder="请选择数据源" style="width: 100%" @change="sourceSelectChanged">
<el-option
v-for="source in sourceOptions"
:key="source.id"
:label="source.sourceName"
:value="source.id"
/>
</el-select>
</el-form-item>
<el-form-item label="状态" prop="status">
<el-radio-group v-model="form.status">
<el-radio
v-for="dict in statusOptions"
:key="dict.id"
:label="dict.itemText"
>{{ dict.itemValue }}
</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" type="textarea" placeholder="请输入内容" />
</el-form-item>
</div>
</el-form>
</div>
</el-card>
@ -257,8 +194,7 @@ export default {
},
data() {
return {
title: '检测用例新增',
active: 1,
title: '核查规则新增',
//
showOptions: {
data: {},
@ -374,18 +310,6 @@ export default {
showCard() {
this.$emit('showCard', this.showOptions)
},
/** 步骤条下一步 */
handleNextStep() {
this.$refs['form'].validate(valid => {
if (valid) {
this.active++
}
})
},
/** 步骤条上一步 */
handleLastStep() {
this.active--
},
getRuleLevelList() {
listRuleLevel().then(response => {
if (response.success) {
@ -491,8 +415,6 @@ export default {
this.loadingOptions.loading = true
this.loadingOptions.loadingText = '保存中...'
this.loadingOptions.isDisabled = true
this.form.ruleTableId = 'all'
this.form.ruleTable = '全表'
addCheckRule(this.form).then(response => {
if (response.success) {
this.$message.success('保存成功')

View File

@ -26,11 +26,6 @@
<el-col :span="18">
<el-card class="box-card" shadow="always">
<el-form ref="queryForm" :model="queryParams" :inline="true">
<el-form-item label="项目" prop="projectId">
<el-select v-model="queryParams.projectId" clearable size="small" placeholder="项目" class="filter-item" @change="handleQuery">
<el-option v-for="item in projectsOptions" :key="item.id" :label="item.projectName" :value="item.id" />
</el-select>
</el-form-item>
<el-form-item label="数据源" prop="ruleName">
<el-input
v-model="queryParams.ruleSource"
@ -51,10 +46,10 @@
/>
</el-form-item>
<el-form-item label="用例名称" prop="ruleName">
<el-form-item label="规则名称" prop="ruleName">
<el-input
v-model="queryParams.ruleName"
placeholder="请输入用例名称"
placeholder="请输入规则名称"
clearable
size="small"
@keyup.enter.native="handleQuery"
@ -202,11 +197,11 @@ export default {
//
tableColumns: [
{ prop: 'ruleSource', label: '数据源', show: true },
/* { prop: 'ruleTable', label: '数据表', show: true, formatter: this.ruleTableFormatter },*/
/* { 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: 'ruleTable', label: '数据表', show: true, formatter: this.ruleTableFormatter },
{ 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: 'status',
label: '状态',
@ -216,9 +211,6 @@ export default {
},
{ prop: 'createTime', label: '创建时间', show: true }
],
projectsOptions: [
{ id: '1111', projectName: '演示项目' }
],
//
checkedTableColumns: [],
tableSize: 'medium',
@ -232,7 +224,6 @@ export default {
queryParams: {
pageNum: 1,
pageSize: 20,
projectId: '1111',
ruleTypeId: '',
ruleName: ''
},
@ -262,10 +253,10 @@ export default {
if (response.success) {
const { data } = response
const tree = {}
tree.name = '用例类型'
tree.name = '规则类型'
const children = []
data.forEach(e => {
if (e.code === 'integrity' || e.code === 'accuracy' ||
if (e.code === 'unique' || e.code === 'integrity' || e.code === 'accuracy' ||
e.code === 'consistent' || e.code === 'regular') {
children.push(e)
}
@ -333,7 +324,7 @@ export default {
handleAdd() {
this.showOptions.data = {}
if (!this.queryParams.ruleTypeId) {
this.$message.warning('请先选择核查用例类型')
this.$message.warning('请先选择核查规则类型')
return
}
this.showOptions.data.ruleTypeId = this.queryParams.ruleTypeId

View File

@ -7,13 +7,13 @@
<el-button size="mini" icon="el-icon-back" @click="showCard">返回</el-button>
</el-button-group>
</div>
<div class="body-wrapper" style="padding-left: 25%">
<el-form ref="form" :model="form" :rules="rules" label-width="100px" style="width: 700px">
<div class="body-wrapper">
<el-form ref="form" :model="form" :rules="rules" label-width="100px">
<el-form-item label="任务名称" prop="jobName">
<el-input v-model="form.jobName" placeholder="任务名称" />
</el-form-item>
<el-form-item label="任务类型" prop="jobType">
<el-select v-model="form.jobType" placeholder="请选择任务类型" style="width: 100%" @change="ruleItemSelectChanged">
<el-select v-model="form.jobType" placeholder="请选择任务类型" @change="ruleItemSelectChanged">
<el-option
v-for="item in ruleItemOptions"
:key="item.typeId"
@ -22,6 +22,7 @@
/>
</el-select>
</el-form-item>
<el-divider content-position="left">任务配置</el-divider>
<el-form-item label="cron表达式" prop="cronExpression">
<el-input v-model="form.cronExpression" placeholder="cron表达式" />
</el-form-item>
@ -36,7 +37,7 @@
</el-radio-group>
</el-form-item>
<el-form-item label="任务概述" prop="remark">
<el-input v-model="form.remark" :rows="8" type="textarea" placeholder="请输入内容" />
<el-input v-model="form.remark" type="textarea" placeholder="请输入内容" />
</el-form-item>
</el-form>
</div>

View File

@ -1,11 +1,6 @@
<template>
<el-card class="box-card" shadow="always">
<el-form ref="queryForm" :model="queryParams" :inline="true">
<el-form-item label="项目" prop="projectId">
<el-select v-model="queryParams.projectId" clearable size="small" placeholder="项目" class="filter-item" @change="handleQuery">
<el-option v-for="item in projectsOptions" :key="item.id" :label="item.projectName" :value="item.id" />
</el-select>
</el-form-item>
<el-form-item label="任务名称" prop="sourceName">
<el-input
v-model="queryParams.sourceName"
@ -97,7 +92,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">
<template slot-scope="scope">
<el-button
size="mini"
@ -179,11 +174,7 @@ export default {
label: '状态',
show: true,
formatter: this.statusFormatter
},
{ prop: 'remark', label: '任务概述', show: true }
],
projectsOptions: [
{ id: '1111', projectName: '演示项目' }
}
],
tableSize: 'medium',
//
@ -198,7 +189,6 @@ export default {
queryParams: {
pageNum: 1,
pageSize: 20,
projectId: '1111',
sourceName: ''
}
}

View File

@ -1,8 +1,8 @@
<template>
<el-card class="box-card" shadow="always">
<el-form ref="queryForm" :model="queryParams" :inline="true">
<el-form-item label="用例类型" prop="ruleTypeId">
<el-select v-model="queryParams.ruleTypeId" clearable placeholder="请选择用例类型">
<el-form-item label="规则类型" prop="ruleTypeId">
<el-select v-model="queryParams.ruleTypeId" clearable placeholder="请选择规则类型">
<el-option
v-for="item in ruleTypeOptions"
:key="item.id"
@ -75,8 +75,8 @@ export default {
//
tableColumns: [
{ prop: 'executeJobName', label: '任务名称', show: true },
{ prop: 'executeRuleTypeName', label: '用例类型', show: true },
{ prop: 'executeRuleName', label: '用例名称', show: true },
{ prop: 'executeRuleTypeName', label: '规则类型', show: true },
{ prop: 'executeRuleName', label: '规则名称', show: true },
{ prop: 'executeBatch', label: '执行批次', show: true },
{
prop: 'status',

View File

@ -3,23 +3,17 @@
<div slot="header" class="clearfix">
<span>{{ title }}</span>
<el-button-group style="float: right;">
<el-button v-if="active == 2" type="primary" size="mini" icon="el-icon-finished" :loading="loadingOptions.loading" :disabled="loadingOptions.isDisabled" @click="submitForm">{{ loadingOptions.loadingText }}</el-button>
<el-button v-if="active == 1" size="mini" type="primary" @click="handleNextStep">下一步</el-button>
<el-button v-if="active == 2" size="mini" type="primary" @click="handleLastStep">上一步</el-button>
<el-button v-hasPerm="['quality:rule:add']" type="primary" size="mini" icon="el-icon-finished" :loading="loadingOptions.loading" :disabled="loadingOptions.isDisabled" @click="submitForm">{{ loadingOptions.loadingText }}</el-button>
<el-button size="mini" icon="el-icon-back" @click="showCard">返回</el-button>
</el-button-group>
</div>
<div class="body-wrapper" style="padding-left: 20%">
<el-steps :active="active" finish-status="success" align-center style="width: 900px">
<el-step title="填写检测用例信息" />
<el-step title="选择检测数据源" />
</el-steps>
<!--<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="用例名称" prop="ruleName">
<el-input v-model="form.ruleName" placeholder="请输入用例名称" />
<div class="body-wrapper">
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="规则名称" prop="ruleName">
<el-input v-model="form.ruleName" placeholder="请输入规则名称" />
</el-form-item>
<el-form-item label="检测类型" prop="ruleItemId">
<el-select v-model="form.ruleItemId" placeholder="请选择检测类型" @change="ruleItemSelectChanged">
<el-form-item label="核查类型" prop="ruleItemId">
<el-select v-model="form.ruleItemId" placeholder="请选择核查类型" @change="ruleItemSelectChanged">
<el-option
v-for="item in ruleItemOptions"
:key="item.id"
@ -28,8 +22,8 @@
/>
</el-select>
</el-form-item>
<el-form-item label="用例级别" prop="ruleLevelId">
<el-select v-model="form.ruleLevelId" placeholder="请选择用例级别">
<el-form-item label="规则级别" prop="ruleLevelId">
<el-select v-model="form.ruleLevelId" placeholder="请选择规则级别">
<el-option
v-for="item in ruleLevelOptions"
:key="item.id"
@ -60,8 +54,8 @@
</el-option>
</el-select>
</el-form-item>
<el-form-item label="检测字段" prop="ruleColumnId">
<el-select v-model="form.ruleColumnId" placeholder="请选择检测字段" @change="columnSelectChanged">
<el-form-item label="核查字段" prop="ruleColumnId">
<el-select v-model="form.ruleColumnId" placeholder="请选择核查字段" @change="columnSelectChanged">
<el-option
v-for="column in columnOptions"
:key="column.id"
@ -72,7 +66,7 @@
</el-option>
</el-select>
</el-form-item>
<el-divider content-position="left">检测配置</el-divider>
<el-divider content-position="left">核查配置</el-divider>
<el-row v-if="form.ruleConfig.ruleItemCode === 'timeliness_key'">
<el-col :span="24">
<el-form-item label="判定阀值">
@ -143,7 +137,7 @@
</el-form-item>
</el-col>
</el-row>
&lt;!&ndash; 正则表达式规则&ndash;&gt;
<!-- 正则表达式规则-->
<el-row v-if="form.ruleConfig.ruleItemCode === 'regular_key'">
<el-col :span="24">
<el-form-item label="正则表达">
@ -176,61 +170,6 @@
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" type="textarea" placeholder="请输入内容" />
</el-form-item>
</el-form>-->
<el-form v-if="active == 1" ref="form" :model="form" :rules="rules" label-width="120px" style="width: 800px">
<div style="padding: 20px 100px">
<el-form-item label="用例名称" prop="ruleName">
<el-input v-model="form.ruleName" placeholder="请输入用例名称" />
</el-form-item>
<el-form-item label="检测类型" prop="ruleItemId">
<el-select v-model="form.ruleItemId" placeholder="请选择检测类型" style="width: 100%" @change="ruleItemSelectChanged">
<el-option
v-for="item in ruleItemOptions"
:key="item.id"
:label="item.itemExplain"
: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">
<div style="padding: 20px 100px">
<el-form-item label="数据源" prop="ruleSourceId">
<el-select v-model="form.ruleSourceId" placeholder="请选择数据源" style="width: 100%" @change="sourceSelectChanged">
<el-option
v-for="source in sourceOptions"
:key="source.id"
:label="source.sourceName"
:value="source.id"
/>
</el-select>
</el-form-item>
<el-form-item label="状态" prop="status">
<el-radio-group v-model="form.status">
<el-radio
v-for="dict in statusOptions"
:key="dict.id"
:label="dict.itemText"
>{{ dict.itemValue }}
</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" type="textarea" placeholder="请输入内容" />
</el-form-item>
</div>
</el-form>
</div>
</el-card>
@ -255,8 +194,7 @@ export default {
},
data() {
return {
title: '检测用例新增',
active: 1,
title: '核查规则新增',
//
showOptions: {
data: {},
@ -372,18 +310,6 @@ export default {
showCard() {
this.$emit('showCard', this.showOptions)
},
/** 步骤条下一步 */
handleNextStep() {
this.$refs['form'].validate(valid => {
if (valid) {
this.active++
}
})
},
/** 步骤条上一步 */
handleLastStep() {
this.active--
},
getRuleLevelList() {
listRuleLevel().then(response => {
if (response.success) {
@ -489,8 +415,6 @@ export default {
this.loadingOptions.loading = true
this.loadingOptions.loadingText = '保存中...'
this.loadingOptions.isDisabled = true
this.form.ruleTableId = 'all'
this.form.ruleTable = '全表'
addCheckRule(this.form).then(response => {
if (response.success) {
this.$message.success('保存成功')

View File

@ -26,11 +26,6 @@
<el-col :span="18">
<el-card class="box-card" shadow="always">
<el-form ref="queryForm" :model="queryParams" :inline="true">
<el-form-item label="项目" prop="projectId">
<el-select v-model="queryParams.projectId" clearable size="small" placeholder="项目" class="filter-item" @change="handleQuery">
<el-option v-for="item in projectsOptions" :key="item.id" :label="item.projectName" :value="item.id" />
</el-select>
</el-form-item>
<el-form-item label="数据源" prop="ruleName">
<el-input
v-model="queryParams.ruleSource"
@ -51,10 +46,10 @@
/>
</el-form-item>
<el-form-item label="用例名称" prop="ruleName">
<el-form-item label="规则名称" prop="ruleName">
<el-input
v-model="queryParams.ruleName"
placeholder="请输入用例名称"
placeholder="请输入规则名称"
clearable
size="small"
@keyup.enter.native="handleQuery"
@ -70,6 +65,7 @@
<el-col :span="12">
<el-button-group>
<el-button
v-hasPerm="['quality:rule:add']"
type="primary"
icon="el-icon-plus"
size="mini"
@ -146,18 +142,21 @@
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="200">
<template slot-scope="scope">
<el-button
v-hasPerm="['quality:rule:edit']"
size="mini"
type="text"
icon="el-icon-edit-outline"
@click="handleEdit(scope.row)"
>修改</el-button>
<el-button
v-hasPerm="['quality:rule:detail']"
size="mini"
type="text"
icon="el-icon-view"
@click="handleDetail(scope.row)"
>详情</el-button>
<el-button
v-hasPerm="['quality:rule:remove']"
size="mini"
type="text"
icon="el-icon-delete"
@ -202,11 +201,11 @@ export default {
//
tableColumns: [
{ prop: 'ruleSource', label: '数据源', show: true },
/* { prop: 'ruleTable', label: '', show: true, formatter: this.ruleTableFormatter },
{ 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: 'ruleTable', label: '数据表', show: true, formatter: this.ruleTableFormatter },
{ 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: 'status',
label: '状态',
@ -216,9 +215,6 @@ export default {
},
{ prop: 'createTime', label: '创建时间', show: true }
],
projectsOptions: [
{ id: '1111', projectName: '演示项目' }
],
//
checkedTableColumns: [],
tableSize: 'medium',
@ -232,7 +228,6 @@ export default {
queryParams: {
pageNum: 1,
pageSize: 20,
projectId: '1111',
ruleTypeId: '',
ruleName: '',
ruleType: 'gl'
@ -263,7 +258,7 @@ export default {
if (response.success) {
const { data } = response
const tree = {}
tree.name = '用例类型'
tree.name = '规则类型'
const children = []
data.forEach(e => {
if (e.code === 'relevance') {
@ -334,7 +329,7 @@ export default {
handleAdd() {
this.showOptions.data = {}
if (!this.queryParams.ruleTypeId) {
this.$message.warning('请先选择核查用例类型')
this.$message.warning('请先选择核查规则类型')
return
}
this.showOptions.data.ruleTypeId = this.queryParams.ruleTypeId

View File

@ -1,11 +1,6 @@
<template>
<el-card class="box-card" shadow="always">
<el-form ref="queryForm" :model="queryParams" :inline="true">
<el-form-item label="项目" prop="projectId">
<el-select v-model="queryParams.projectId" clearable size="small" placeholder="项目" class="filter-item" @change="handleQuery">
<el-option v-for="item in projectsOptions" :key="item.id" :label="item.projectName" :value="item.id" />
</el-select>
</el-form-item>
<el-form-item label="时间">
<el-date-picker
v-model="queryParams.checkDate"
@ -149,9 +144,6 @@
{ prop: 'checkTotalCount', label: '检测数量', show: true },
{ prop: 'checkErrorCount', label: '不合规数量', show: true }
],
projectsOptions: [
{ id: '1111', projectName: '演示项目' }
],
//
checkedTableColumns: [],
tableSize: 'medium',
@ -165,7 +157,6 @@
queryParams: {
pageNum: 1,
pageSize: 20,
projectId: '1111',
checkDate: moment(moment().add(0, 'days').startOf('day').valueOf()).format('YYYY-MM-DD')
},
pickerOption: {

View File

@ -86,7 +86,7 @@
</el-table>
</el-col>
<el-col :span="10" :offset="4">
<h5>用例类型统计不合规数量</h5>
<h5>规则类型统计不合规数量</h5>
<el-table
:data="reportTableData2"
:span-method="objectSpanMethod2"
@ -95,8 +95,8 @@
: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="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)">
@ -107,7 +107,7 @@
</el-table>
</el-col>
</el-row>
<el-divider content-position="left"><h3>用例类型统计分析</h3></el-divider>
<el-divider content-position="left"><h3>规则类型统计分析</h3></el-divider>
<el-row>
<el-col :span="24">
<h5>唯一性分析</h5>

View File

@ -3,78 +3,68 @@
<div slot="header" class="clearfix">
<span>{{ title }}</span>
<el-button-group style="float: right;">
<el-button v-if="active == 2" type="primary" size="mini" icon="el-icon-finished" :loading="loadingOptions.loading" :disabled="loadingOptions.isDisabled" @click="submitForm">{{ loadingOptions.loadingText }}</el-button>
<el-button v-if="active == 1" size="mini" type="primary" @click="handleNextStep">下一步</el-button>
<el-button v-if="active == 2" size="mini" type="primary" @click="handleLastStep">上一步</el-button>
<el-button type="primary" size="mini" icon="el-icon-finished" :loading="loadingOptions.loading" :disabled="loadingOptions.isDisabled" @click="submitForm">{{ loadingOptions.loadingText }}</el-button>
<el-button size="mini" icon="el-icon-back" @click="showCard">返回</el-button>
</el-button-group>
</div>
<div class="body-wrapper" style="padding-left: 20%">
<el-steps :active="active" finish-status="success" align-center style="width: 900px">
<el-step title="填写检测用例信息" />
<el-step title="选择检测数据源" />
</el-steps>
<el-form v-if="active == 1" ref="form" :model="form" :rules="rules" label-width="120px" style="width: 800px">
<div style="padding: 20px 100px">
<el-form-item label="用例名称" prop="ruleName">
<el-input v-model="form.ruleName" placeholder="请输入用例名称" />
</el-form-item>
<el-form-item label="检测类型" prop="ruleItemId">
<el-select v-model="form.ruleItemId" placeholder="请选择检测类型" style="width: 100%" @change="ruleItemSelectChanged">
<el-option
v-for="item in ruleItemOptions"
:key="item.id"
:label="item.itemExplain"
: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">
<div style="padding: 20px 100px">
<el-form-item label="数据源" prop="ruleSourceId">
<el-select v-model="form.ruleSourceId" placeholder="请选择数据源" style="width: 100%" @change="sourceSelectChanged">
<el-option
v-for="source in sourceOptions"
:key="source.id"
:label="source.sourceName"
:value="source.id"
/>
</el-select>
</el-form-item>
<!--<el-transfer
<div class="body-wrapper">
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="规则名称" prop="ruleName">
<el-input v-model="form.ruleName" placeholder="请输入规则名称" />
</el-form-item>
<el-form-item label="核查类型" prop="ruleItemId">
<el-select v-model="form.ruleItemId" placeholder="请选择核查类型" @change="ruleItemSelectChanged">
<el-option
v-for="item in ruleItemOptions"
:key="item.id"
:label="item.itemExplain"
: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
v-for="source in sourceOptions"
:key="source.id"
:label="source.sourceName"
:value="source.id"
/>
</el-select>
</el-form-item>
<div>
<el-transfer
v-model="form.transferValue"
filterable
:titles="['备选', '已选']"
:filter-method="filterMethod"
filter-placeholder="请输入表名"
:data="transferData"
/>-->
<el-form-item label="状态" prop="status">
<el-radio-group v-model="form.status">
<el-radio
v-for="dict in statusOptions"
:key="dict.id"
:label="dict.itemText"
>{{ dict.itemValue }}
</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" type="textarea" placeholder="请输入内容" />
</el-form-item>
/>
</div>
<el-form-item label="状态" prop="status">
<el-radio-group v-model="form.status">
<el-radio
v-for="dict in statusOptions"
:key="dict.id"
:label="dict.itemText"
>{{ dict.itemValue }}
</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" type="textarea" placeholder="请输入内容" />
</el-form-item>
</el-form>
</div>
</el-card>
@ -105,8 +95,7 @@ export default {
// eslint-disable-next-line vue/no-dupe-keys
transferData: [],
title: '检测用例新增',
active: 1,
title: '核查规则新增',
//
showOptions: {
data: {},
@ -236,18 +225,6 @@ export default {
showCard() {
this.$emit('showCard', this.showOptions)
},
/** 步骤条下一步 */
handleNextStep() {
this.$refs['form'].validate(valid => {
if (valid) {
this.active++
}
})
},
/** 步骤条上一步 */
handleLastStep() {
this.active--
},
getRuleLevelList() {
listRuleLevel().then(response => {
if (response.success) {
@ -279,7 +256,7 @@ export default {
async sourceSelectChanged(val) {
// this.inspectSourceId(val)
// const tableNameOldList = []
/* const tableNameOldList = await listSourceIdBytable(val, this.form.ruleConfig.id).then(response => {
const tableNameOldList = await listSourceIdBytable(val, this.form.ruleConfig.id).then(response => {
const result = []
for (let i = 0; i < response.data.length; i++) {
const tableName = response.data[i].ruleTable
@ -315,20 +292,7 @@ export default {
// console.log('tableNameOldList=', tableNameOldList)
// this.form.transferValue = tableNameOldList
}*/
const source = this.sourceOptions.find(function (item) {
return item.id === val
})
this.form.transferValue = ['全表']
this.form.ruleSource = source.sourceName
this.form.ruleDbType = source.dbType
this.form.ruleTableId = 'all'
this.form.ruleTable = '全表'
this.form.ruleTableComment = ''
this.form.ruleColumnId = ''
this.form.ruleColumn = ''
this.form.ruleColumnComment = ''
}
},
//
inspectSourceId(val) {

View File

@ -26,11 +26,6 @@
<el-col :span="18">
<el-card class="box-card" shadow="always">
<el-form ref="queryForm" :model="queryParams" :inline="true">
<el-form-item label="项目" prop="projectId">
<el-select v-model="queryParams.projectId" clearable size="small" placeholder="项目" class="filter-item" @change="handleQuery">
<el-option v-for="item in projectsOptions" :key="item.id" :label="item.projectName" :value="item.id" />
</el-select>
</el-form-item>
<el-form-item label="数据源" prop="ruleName">
<el-input
v-model="queryParams.ruleSource"
@ -51,10 +46,10 @@
/>
</el-form-item>
<el-form-item label="用例名称" prop="ruleName">
<el-form-item label="规则名称" prop="ruleName">
<el-input
v-model="queryParams.ruleName"
placeholder="请输入用例名称"
placeholder="请输入规则名称"
clearable
size="small"
@keyup.enter.native="handleQuery"
@ -77,12 +72,12 @@
>新增</el-button>
</el-button-group>
<el-button-group>
<el-button
type="danger"
icon="el-icon-delete"
size="mini"
@click="deleteSelected"
>删除</el-button>
<el-button
type="danger"
icon="el-icon-delete"
size="mini"
@click="deleteSelected"
>删除</el-button>
</el-button-group>
</el-col>
<el-col :span="12">
@ -134,7 +129,7 @@
style="width: 100%;margin: 15px 0;"
@selection-change="handleSelectionChange"
>
<el-table-column type="selection" width="55" align="center" />
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="序号" width="55" align="center">
<template slot-scope="scope">
<span>{{ scope.$index +1 }}</span>
@ -211,11 +206,11 @@ export default {
//
tableColumns: [
{ prop: 'ruleSource', label: '数据源', show: true },
/* { prop: 'ruleTable', label: '数据表', show: true, formatter: this.ruleTableFormatter },*/
{ prop: 'ruleName', label: '用例名称', show: true },
{ prop: 'ruleType', label: '用例类型', show: true },
{ prop: 'ruleTable', label: '数据表', show: true, formatter: this.ruleTableFormatter },
{ 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: '状态',
@ -225,9 +220,6 @@ export default {
},
{ prop: 'createTime', label: '创建时间', show: true }
],
projectsOptions: [
{ id: '1111', projectName: '演示项目' }
],
//
checkedTableColumns: [],
tableSize: 'medium',
@ -241,7 +233,6 @@ export default {
queryParams: {
pageNum: 1,
pageSize: 20,
projectId: '1111',
ruleTypeId: '',
ruleName: '',
ruleType: 'jg'
@ -273,7 +264,7 @@ export default {
if (response.success) {
const { data } = response
const tree = {}
tree.name = '用例类型'
tree.name = '规则类型'
const children = []
data.forEach(e => {
if (e.code === 'table_jc' || e.code === 'length_jc' || e.code === 'null_jc' ||
@ -345,7 +336,7 @@ export default {
handleAdd() {
this.showOptions.data = {}
if (!this.queryParams.ruleTypeId) {
this.$message.warning('请先选择核查用例类型')
this.$message.warning('请先选择核查规则类型')
return
}
this.showOptions.data.ruleTypeId = this.queryParams.ruleTypeId

View File

@ -67,15 +67,15 @@
show-overflow-tooltip
/>
</template><el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="200">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-view"
@click="handleDetail(scope.row)"
>检验报告</el-button>
</template>
</el-table-column>
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-view"
@click="handleDetail(scope.row)"
>检验报告</el-button>
</template>
</el-table-column>
</el-table>
@ -111,7 +111,7 @@ export default {
//
tableColumns: [
{ prop: 'ruleName', label: '规则名称', show: true },
{ prop: 'ruleType', label: '用例类型', show: true },
{ prop: 'ruleType', label: '规则类型', show: true },
{ prop: 'ruleSource', label: '数据源', show: true },
{ prop: 'ruleTable', label: '数据表', show: true },
{ prop: 'ruleColumn', label: '核查字段', show: true },
@ -148,7 +148,7 @@ export default {
if (response.success) {
const { data } = response
// const tree = {}
// tree.name = ''
// tree.name = ''
// tree.children = data
// this.ruleTypeOptions = []
// this.ruleTypeOptions.push(tree)