feat(): 新增测试内容
1、增加引擎版本页面,可以进行数据作用域的查看 2、增加引擎测试页面,可以基于作用域进行引擎测试内容 3、增加点击测试返回实例值内容master
parent
43c3e6a010
commit
771ac40c75
|
@ -327,7 +327,7 @@ export default {
|
|||
"description": "<p>根据字段组合匹配等,进行不同数据集合的校验</p>",
|
||||
"remark": "-",
|
||||
"code": "only",
|
||||
"level": "data-field"
|
||||
"level": "data-record"
|
||||
},
|
||||
{
|
||||
"id": 3,
|
||||
|
@ -338,7 +338,7 @@ export default {
|
|||
"description": "<p>根据接口不同进行,远程API调用匹配是否数据完整</p>",
|
||||
"remark": "-",
|
||||
"code": "remote",
|
||||
"level": "data-field"
|
||||
"level": "data-set"
|
||||
},
|
||||
]
|
||||
}
|
||||
|
|
|
@ -216,22 +216,50 @@
|
|||
</el-select>
|
||||
</el-card>
|
||||
</el-col>
|
||||
<el-col :span="24">
|
||||
<el-card class="box-card" v-if="assets != null">
|
||||
<el-col :span="24" v-if="assets != null">
|
||||
<el-card class="box-card" v-if="this.ruleEngineInfo.level === 'data-field'">
|
||||
<div slot="header" class="clearfix">
|
||||
<span>选择资产模型</span>
|
||||
<el-button style="float: right; padding: 3px 0" type="text" @click="dataModelRandom">随机数据</el-button>
|
||||
</div>
|
||||
<el-descriptions direction="vertical" :column="3" border>
|
||||
<el-descriptions-item v-for="_dataModel in dataModelList"
|
||||
:label='_dataModel.name + "("+_dataModel.comment+")"'>
|
||||
<el-radio v-model="dataMode" :label="_dataModel.name" :value="_dataModel.id">{{dataModeMap[_dataModel.name]}}</el-radio>
|
||||
<el-radio v-model="dataMode" :label="_dataModel.name" :value="_dataModel.id">{{dataModeMapList[dataModeMapIndex][_dataModel.name]}}</el-radio>
|
||||
</el-descriptions-item>
|
||||
</el-descriptions>
|
||||
</el-card>
|
||||
<el-card class="box-card" v-if="this.ruleEngineInfo.level !== 'data-field'">
|
||||
<div slot="header" class="clearfix">
|
||||
<span>{{this.ruleEngineInfo.level === "data-set" ? "选择资产集" : "选择资产记录"}}</span>
|
||||
</div>
|
||||
<el-table :data="dataModeMapList" max-height="200px"
|
||||
@selection-change="changeDataRow">
|
||||
<el-table-column type="selection" width="55" v-if="this.ruleEngineInfo.level === 'data-set'"/>
|
||||
<el-table-column v-for="dataModel in dataModelList" :label="dataModel.comment" :prop="dataModel.name"/>
|
||||
<el-table-column label="操作" v-if="this.ruleEngineInfo.level !== 'data-set'">
|
||||
<template slot-scope="scope">
|
||||
<el-button type="text" @click="dataRecordSelect(scope.row)">选择</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<el-descriptions title="选择行数据" direction="vertical" :column="3" border style="margin-top: 20px" v-if="dataRecordSelectData != null">
|
||||
<el-descriptions-item v-for="(val, key) in dataRecordSelectData"
|
||||
:label='key'>
|
||||
<el-checkbox v-model="dataRecordSelectKeyList" :label="key" :value="key">{{val}}</el-checkbox>
|
||||
</el-descriptions-item>
|
||||
</el-descriptions>
|
||||
<el-descriptions title="选择模型" :column="3" border style="margin-top: 20px" v-if="changeDataList.length !== 0">
|
||||
<el-descriptions-item v-for="_dataModel in dataModelList"
|
||||
:label='_dataModel.comment'>
|
||||
<el-checkbox v-model="dataRecordSelectKeyList" :label="_dataModel.name" :value="_dataModel.id"></el-checkbox>
|
||||
</el-descriptions-item>
|
||||
</el-descriptions>
|
||||
</el-card>
|
||||
</el-col>
|
||||
<el-col :span="24" style="margin-top: 10px" v-if="dataMode != null">
|
||||
<el-button>测试</el-button>
|
||||
<el-input style="margin-top: 10px" v-model="testResult" type="textarea" placeholder="请点击测试" />
|
||||
<el-col :span="24" style="margin-top: 10px" v-if="dataMode != null || dataRecordSelectKeyList.length > 0">
|
||||
<el-button @click="dataTest">测试</el-button>
|
||||
<el-input style="margin-top: 10px" v-model="testResult" type="textarea" placeholder="请点击测试" disabled/>
|
||||
</el-col>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
@ -250,6 +278,41 @@ export default {
|
|||
data() {
|
||||
return {
|
||||
ruleEngineId: this.$route.params && this.$route.params.ruleEngineId,
|
||||
ruleEngineInfoList: [
|
||||
{
|
||||
"id": 1,
|
||||
"name": "邮箱规则",
|
||||
"type": "rule-custom",
|
||||
"isActivate": "no-activate",
|
||||
"status": "0",
|
||||
"description": "<p>根据邮箱规则进行数据校验,内包含所有邮箱校验规则</p>",
|
||||
"remark": "-",
|
||||
"code": "email",
|
||||
"level": "data-field"
|
||||
},
|
||||
{
|
||||
"id": 2,
|
||||
"name": "唯一性校验",
|
||||
"type": "rule-custom",
|
||||
"isActivate": "no-activate",
|
||||
"status": "0",
|
||||
"description": "<p>根据字段组合匹配等,进行不同数据集合的校验</p>",
|
||||
"remark": "-",
|
||||
"code": "only",
|
||||
"level": "data-record"
|
||||
},
|
||||
{
|
||||
"id": 3,
|
||||
"name": "远程接口校验",
|
||||
"type": "rule-custom",
|
||||
"isActivate": "no-activate",
|
||||
"status": "0",
|
||||
"description": "<p>根据接口不同进行,远程API调用匹配是否数据完整</p>",
|
||||
"remark": "-",
|
||||
"code": "remote",
|
||||
"level": "data-set"
|
||||
},
|
||||
],
|
||||
ruleEngineInfo: {
|
||||
"id": 1,
|
||||
"name": "邮箱规则",
|
||||
|
@ -403,14 +466,64 @@ export default {
|
|||
}, ],
|
||||
// 数据模型选择
|
||||
dataMode: null,
|
||||
// 数据示例
|
||||
dataModeMap: {
|
||||
// 数据实例集合
|
||||
dataModeMapList : [
|
||||
{
|
||||
id: 1,
|
||||
name: "张三",
|
||||
sex: 1,
|
||||
price: "653.69",
|
||||
price: "264.69",
|
||||
create_time: "2024-5-7 16:37:16",
|
||||
},
|
||||
{
|
||||
id: 2,
|
||||
name: "李四",
|
||||
sex: 2,
|
||||
price: "362.69",
|
||||
create_time: "2023-1-7 41:22:08",
|
||||
},
|
||||
{
|
||||
id: 3,
|
||||
name: "王五",
|
||||
sex: 0,
|
||||
price: "485.69",
|
||||
create_time: "1996-4-7 02:14:36",
|
||||
},
|
||||
{
|
||||
id: 4,
|
||||
name: "赵六",
|
||||
sex: 0,
|
||||
price: "485.69",
|
||||
create_time: "2004-4-7 02:14:36",
|
||||
},
|
||||
{
|
||||
id: 5,
|
||||
name: "猪八戒",
|
||||
sex: 0,
|
||||
price: "485.69",
|
||||
create_time: "1969-4-7 02:14:36",
|
||||
},
|
||||
{
|
||||
id: 6,
|
||||
name: "孙悟空",
|
||||
sex: 1,
|
||||
price: "485.44",
|
||||
create_time: "2015-4-7 02:14:36",
|
||||
},
|
||||
{
|
||||
id: 7,
|
||||
name: "唐三",
|
||||
sex: 0,
|
||||
price: "635.69",
|
||||
create_time: "2003-5-7 16:37:16",
|
||||
},
|
||||
],
|
||||
dataModeMapIndex: 0,
|
||||
dataRecordSelectData: null,
|
||||
// 条记录选中key集合
|
||||
dataRecordSelectKeyList: [],
|
||||
// 选择行记录List
|
||||
changeDataList: [],
|
||||
testResult: ""
|
||||
}
|
||||
},
|
||||
|
@ -418,7 +531,30 @@ export default {
|
|||
this.initRuleEngine();
|
||||
},
|
||||
methods: {
|
||||
|
||||
// 测试
|
||||
dataTest(){
|
||||
let number = Math.floor(Math.random()*3);
|
||||
if (number === 0){
|
||||
this.testResult = "测试正常,无异常数据返回";
|
||||
}else if (number === 1){
|
||||
this.testResult = "测试失败:触发*****异常条例,数据发生动作【移除/忽略/记录】";
|
||||
}else if (number === 2){
|
||||
this.testResult = "程序异常:*******异常";
|
||||
}
|
||||
},
|
||||
// 选择数据行
|
||||
changeDataRow(val){
|
||||
this.changeDataList = val;
|
||||
},
|
||||
// 记录选中
|
||||
dataRecordSelect(row){
|
||||
this.dataRecordSelectKeyList = [];
|
||||
this.dataRecordSelectData = row;
|
||||
},
|
||||
// 单条随机数据
|
||||
dataModelRandom(){
|
||||
this.dataModeMapIndex = Math.floor(Math.random()*this.dataModeMapList.length);
|
||||
},
|
||||
saveCoding(){
|
||||
this.$message.success('编码保存成功');
|
||||
},
|
||||
|
@ -504,21 +640,8 @@ export default {
|
|||
}
|
||||
},
|
||||
initRuleEngine(){
|
||||
let response = {
|
||||
"code": 200,
|
||||
"msg": "查询成功",
|
||||
"data": {
|
||||
"id": 1,
|
||||
"name": "邮箱规则",
|
||||
"type": "rule-custom",
|
||||
"isActivate": "no-activate",
|
||||
"status": "0",
|
||||
"description": "<p>根据邮箱规则进行数据校验,内包含所有邮箱校验规则</p>",
|
||||
"remark": "-",
|
||||
"code": "email",
|
||||
"engineCode": "engine_custom_email",
|
||||
"level": "data-field",
|
||||
"ruleEngineVersionList": [
|
||||
this.ruleEngineInfo = this.ruleEngineInfoList.findLast(ruleInfo => ruleInfo.id == this.ruleEngineId)
|
||||
this.ruleEngineInfo.ruleEngineVersionList = [
|
||||
{
|
||||
"name": "163剔除", "code": "IAW3S02", "status": "0", "isTest": "0",
|
||||
"versionCode": "engine_custom_email_IAW3S02", "isActivate": "no-activate",
|
||||
|
@ -580,13 +703,9 @@ export default {
|
|||
"description": "<p>根据邮箱规则进行数据校验,内包含所有邮箱校验规则</p>"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
this.ruleEngineInfo = response.data
|
||||
},
|
||||
// 获取代码模板
|
||||
getCodeIng(){
|
||||
|
||||
let packageName = "com.muyu.rule.engine";
|
||||
let customName = "custom";
|
||||
let templateName = "template";
|
||||
|
|
Loading…
Reference in New Issue