This commit is contained in:
Jane 2024-01-03 15:08:03 +08:00
parent d5faa38c7e
commit 0c4218ad93
5 changed files with 451 additions and 42 deletions

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

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="请选择任务类型" @change="ruleItemSelectChanged" style="width: 100%">
<el-option <el-option
v-for="item in ruleItemOptions" v-for="item in ruleItemOptions"
:key="item.typeId" :key="item.typeId"
@ -22,7 +22,16 @@
/> />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-divider content-position="left">任务配置</el-divider> <el-form-item label="检测用例" prop="checkCase">
<el-select v-model="form.checkCase" multiple placeholder="检测用例" style="width: 100%">
<el-option
v-for="item in checkCaseOptions"
:key="item.id"
:label="item.ruleName"
:value="item.id">
</el-option>
</el-select>
</el-form-item>
<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 +46,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" type="textarea" :rows="8" placeholder="请输入内容" />
</el-form-item> </el-form-item>
</el-form> </el-form>
</div> </div>
@ -46,6 +55,7 @@
<script> <script>
import { updateCheckJob, getScheduleJobById } from '@/api/quality/checkjob' import { updateCheckJob, getScheduleJobById } from '@/api/quality/checkjob'
import { pageCheckRule } from '@/api/quality/checkrule'
export default { export default {
name: 'CheckJobEdit', name: 'CheckJobEdit',
@ -88,6 +98,7 @@ export default {
{ required: true, message: 'cron表达式不能为空', trigger: 'blur' } { required: true, message: 'cron表达式不能为空', trigger: 'blur' }
] ]
}, },
checkCaseOptions: [],
// //
statusOptions: [], statusOptions: [],
// //
@ -112,6 +123,7 @@ export default {
this.statusOptions = response.data this.statusOptions = response.data
} }
}) })
this.getCheckRule()
}, },
mounted() { mounted() {
this.getCheckJob(this.data.id) this.getCheckJob(this.data.id)
@ -135,6 +147,29 @@ export default {
}) })
this.form.jobType = item.typeId this.form.jobType = item.typeId
}, },
getCheckRule() {
let ruleType = 'nr'
if(this.form.jobType == 'structure'){
ruleType = 'jg'
} else if(this.form.jobType == 'relevance'){
ruleType = 'gl'
}
let params = {
pageNum: 1,
pageSize: 20,
projectId: '1111',
ruleTypeId: '',
ruleName: '',
ruleType: ruleType
}
this.checkCaseOptions = []
pageCheckRule(params).then(response => {
if (response.success) {
const { data } = response
this.checkCaseOptions = data.data
}
})
},
/** 提交按钮 */ /** 提交按钮 */
submitForm: function () { submitForm: function () {
this.$refs['form'].validate(valid => { this.$refs['form'].validate(valid => {

View File

@ -106,7 +106,6 @@
@click="handleDetail(scope.row)" @click="handleDetail(scope.row)"
>详情</el-button> >详情</el-button>
<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"
@ -174,9 +173,15 @@ export default {
// { prop: 'methodParams', label: '', show: true }, // { prop: 'methodParams', label: '', show: true },
{ prop: 'cronExpression', label: 'cron表达式', show: true }, { prop: 'cronExpression', label: 'cron表达式', show: true },
{ prop: 'afterDate', label: '最近完成时间', show: true }, { prop: 'afterDate', label: '最近完成时间', show: true },
{
prop: 'schedule',
label: '任务进度',
show: true,
formatter: this.scheduleFormatter
},
{ {
prop: 'status', prop: 'status',
label: '状态', label: '定时状态',
show: true, show: true,
formatter: this.statusFormatter formatter: this.statusFormatter
}, },
@ -305,6 +310,9 @@ export default {
return <el-tag type='warning'>{dictLabel}</el-tag> return <el-tag type='warning'>{dictLabel}</el-tag>
} }
}, },
scheduleFormatter(row, column, cellValue, index){
return '100%'
},
/** 搜索按钮操作 */ /** 搜索按钮操作 */
handleQuery() { handleQuery() {
this.queryParams.pageNum = 1 this.queryParams.pageNum = 1

View File

@ -124,6 +124,31 @@
<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-table> </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-table>
</div>
</el-collapse-item>
</el-collapse>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>