Compare commits

..

3 Commits

Author SHA1 Message Date
Jane
26ee0e00b0 update 2024-01-02 19:35:53 +08:00
Jane
64d9d6d1c3 update 2024-01-02 19:35:15 +08:00
Jane
f00ead8849 update 2024-01-02 19:34:38 +08:00
16 changed files with 445 additions and 176 deletions

View File

@ -1,6 +1,15 @@
<template> <template>
<div class="app-container"> <div class="app-container">
<iframe src="http://192.168.1.217:8001/model/modelChildren?hideInMenu=true" width="100%" height="850px" frameborder="0" /> <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>
</div> </div>
</template> </template>
@ -9,6 +18,16 @@ export default {
name: 'DataModel', name: 'DataModel',
data() { data() {
return { return {
projectsOptions: [
{id: '1111', projectName: '演示项目'}
],
//
queryParams: {
pageNum: 1,
pageSize: 20,
projectId: '1111',
fileName: ''
}
} }
}, },
methods: { methods: {

View File

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

View File

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

View File

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

View File

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

View File

@ -26,6 +26,11 @@
<el-col :span="18"> <el-col :span="18">
<el-card class="box-card" shadow="always"> <el-card class="box-card" shadow="always">
<el-form ref="queryForm" :model="queryParams" :inline="true"> <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-form-item label="数据源" prop="ruleName">
<el-input <el-input
v-model="queryParams.ruleSource" v-model="queryParams.ruleSource"
@ -46,10 +51,10 @@
/> />
</el-form-item> </el-form-item>
<el-form-item label="规则名称" prop="ruleName"> <el-form-item label="用例名称" prop="ruleName">
<el-input <el-input
v-model="queryParams.ruleName" v-model="queryParams.ruleName"
placeholder="请输入规则名称" placeholder="请输入用例名称"
clearable clearable
size="small" size="small"
@keyup.enter.native="handleQuery" @keyup.enter.native="handleQuery"
@ -197,11 +202,11 @@ export default {
// //
tableColumns: [ tableColumns: [
{ prop: 'ruleSource', label: '数据源', show: true }, { prop: 'ruleSource', label: '数据源', show: true },
{ prop: 'ruleTable', label: '数据表', show: true, formatter: this.ruleTableFormatter }, /* { prop: 'ruleTable', label: '数据表', show: true, formatter: this.ruleTableFormatter },*/
{ prop: 'ruleColumn', label: '核查字段', show: true, formatter: this.ruleColumnFormatter }, /* { prop: 'ruleColumn', label: '检测字段', show: true, formatter: this.ruleColumnFormatter },*/
{ prop: 'ruleName', label: '规则名称', show: true }, { prop: 'ruleName', label: '用例名称', show: true },
{ prop: 'ruleType', label: '规则类型', show: true }, { prop: 'ruleType', label: '用例类型', show: true },
{ prop: 'ruleLevel', label: '规则级别', width: 100, show: true }, { prop: 'ruleLevel', label: '用例级别', width: 100, show: true },
{ {
prop: 'status', prop: 'status',
label: '状态', label: '状态',
@ -211,6 +216,9 @@ export default {
}, },
{ prop: 'createTime', label: '创建时间', show: true } { prop: 'createTime', label: '创建时间', show: true }
], ],
projectsOptions: [
{ id: '1111', projectName: '演示项目' }
],
// //
checkedTableColumns: [], checkedTableColumns: [],
tableSize: 'medium', tableSize: 'medium',
@ -224,6 +232,7 @@ export default {
queryParams: { queryParams: {
pageNum: 1, pageNum: 1,
pageSize: 20, pageSize: 20,
projectId: '1111',
ruleTypeId: '', ruleTypeId: '',
ruleName: '' ruleName: ''
}, },
@ -253,10 +262,10 @@ export default {
if (response.success) { if (response.success) {
const { data } = response const { data } = response
const tree = {} const tree = {}
tree.name = '规则类型' tree.name = '用例类型'
const children = [] const children = []
data.forEach(e => { data.forEach(e => {
if (e.code === 'unique' || e.code === 'integrity' || e.code === 'accuracy' || if (e.code === 'integrity' || e.code === 'accuracy' ||
e.code === 'consistent' || e.code === 'regular') { e.code === 'consistent' || e.code === 'regular') {
children.push(e) children.push(e)
} }
@ -324,7 +333,7 @@ export default {
handleAdd() { handleAdd() {
this.showOptions.data = {} this.showOptions.data = {}
if (!this.queryParams.ruleTypeId) { if (!this.queryParams.ruleTypeId) {
this.$message.warning('请先选择核查规则类型') this.$message.warning('请先选择核查用例类型')
return return
} }
this.showOptions.data.ruleTypeId = this.queryParams.ruleTypeId 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 size="mini" icon="el-icon-back" @click="showCard">返回</el-button>
</el-button-group> </el-button-group>
</div> </div>
<div class="body-wrapper"> <div class="body-wrapper" style="padding-left: 25%">
<el-form ref="form" :model="form" :rules="rules" label-width="100px"> <el-form ref="form" :model="form" :rules="rules" label-width="100px" style="width: 700px">
<el-form-item label="任务名称" prop="jobName"> <el-form-item label="任务名称" prop="jobName">
<el-input v-model="form.jobName" placeholder="任务名称" /> <el-input v-model="form.jobName" placeholder="任务名称" />
</el-form-item> </el-form-item>
<el-form-item label="任务类型" prop="jobType"> <el-form-item label="任务类型" prop="jobType">
<el-select v-model="form.jobType" placeholder="请选择任务类型" @change="ruleItemSelectChanged"> <el-select v-model="form.jobType" placeholder="请选择任务类型" style="width: 100%" @change="ruleItemSelectChanged">
<el-option <el-option
v-for="item in ruleItemOptions" v-for="item in ruleItemOptions"
:key="item.typeId" :key="item.typeId"
@ -22,7 +22,6 @@
/> />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-divider content-position="left">任务配置</el-divider>
<el-form-item label="cron表达式" prop="cronExpression"> <el-form-item label="cron表达式" prop="cronExpression">
<el-input v-model="form.cronExpression" placeholder="cron表达式" /> <el-input v-model="form.cronExpression" placeholder="cron表达式" />
</el-form-item> </el-form-item>
@ -37,7 +36,7 @@
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
<el-form-item label="任务概述" prop="remark"> <el-form-item label="任务概述" prop="remark">
<el-input v-model="form.remark" type="textarea" placeholder="请输入内容" /> <el-input v-model="form.remark" :rows="8" type="textarea" placeholder="请输入内容" />
</el-form-item> </el-form-item>
</el-form> </el-form>
</div> </div>

View File

@ -1,6 +1,11 @@
<template> <template>
<el-card class="box-card" shadow="always"> <el-card class="box-card" shadow="always">
<el-form ref="queryForm" :model="queryParams" :inline="true"> <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-form-item label="任务名称" prop="sourceName">
<el-input <el-input
v-model="queryParams.sourceName" v-model="queryParams.sourceName"
@ -92,7 +97,7 @@
show-overflow-tooltip show-overflow-tooltip
/> />
</template> </template>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width"> <el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="300px">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button <el-button
size="mini" size="mini"
@ -174,7 +179,11 @@ export default {
label: '状态', label: '状态',
show: true, show: true,
formatter: this.statusFormatter formatter: this.statusFormatter
} },
{ prop: 'remark', label: '任务概述', show: true }
],
projectsOptions: [
{ id: '1111', projectName: '演示项目' }
], ],
tableSize: 'medium', tableSize: 'medium',
// //
@ -189,6 +198,7 @@ export default {
queryParams: { queryParams: {
pageNum: 1, pageNum: 1,
pageSize: 20, pageSize: 20,
projectId: '1111',
sourceName: '' sourceName: ''
} }
} }

View File

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

View File

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

View File

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

View File

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

View File

@ -86,7 +86,7 @@
</el-table> </el-table>
</el-col> </el-col>
<el-col :span="10" :offset="4"> <el-col :span="10" :offset="4">
<h5>规则类型统计不合规数量</h5> <h5>用例类型统计不合规数量</h5>
<el-table <el-table
:data="reportTableData2" :data="reportTableData2"
:span-method="objectSpanMethod2" :span-method="objectSpanMethod2"
@ -95,8 +95,8 @@
:max-height="250" :max-height="250"
style="width: 100%; margin: 15px 0;" style="width: 100%; margin: 15px 0;"
> >
<el-table-column prop="ruleTypeName" label="规则类型" align="center" /> <el-table-column prop="ruleTypeName" label="用例类型" align="center" />
<el-table-column prop="ruleName" label="规则名称" align="center" /> <el-table-column prop="ruleName" label="用例名称" align="center" />
<el-table-column prop="checkErrorCount" label="不合规数" align="center"> <el-table-column prop="checkErrorCount" label="不合规数" align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<el-badge :value="scope.row.ruleLevelName" :type="typeFormat(scope.row.ruleLevelName)"> <el-badge :value="scope.row.ruleLevelName" :type="typeFormat(scope.row.ruleLevelName)">
@ -107,7 +107,7 @@
</el-table> </el-table>
</el-col> </el-col>
</el-row> </el-row>
<el-divider content-position="left"><h3>规则类型统计分析</h3></el-divider> <el-divider content-position="left"><h3>用例类型统计分析</h3></el-divider>
<el-row> <el-row>
<el-col :span="24"> <el-col :span="24">
<h5>唯一性分析</h5> <h5>唯一性分析</h5>

View File

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

View File

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

View File

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