feat: 规则版本详情 保存代码(可修改)
parent
cf9b8f950f
commit
7c0f164e9f
|
@ -1,6 +1,6 @@
|
|||
<template>
|
||||
<div>
|
||||
<codemirror ref="codeMirror" :value="code" :options="cmOptions"/>
|
||||
<codemirror ref="codeMirror" :value="code" v-model="code" :options="cmOptions" />
|
||||
</div>
|
||||
</template>
|
||||
|
||||
|
@ -67,6 +67,16 @@ export default {
|
|||
},
|
||||
created() {
|
||||
},
|
||||
watch:{
|
||||
'code' :{
|
||||
handler(val){
|
||||
if (val!=null){
|
||||
console.log(this.$emit('input',val))
|
||||
this.$emit('input',val)
|
||||
}
|
||||
},
|
||||
}
|
||||
},
|
||||
methods: {}
|
||||
}
|
||||
</script>
|
||||
|
|
|
@ -473,6 +473,10 @@ export default {
|
|||
created() {
|
||||
this.getList();
|
||||
this.dataTypeList()
|
||||
//初始化是否存在
|
||||
this.getDicts("sys_yes_no").then(response => {
|
||||
this.sys_yes_no = response.data;
|
||||
});
|
||||
},
|
||||
methods: {
|
||||
//同步
|
||||
|
|
|
@ -220,18 +220,46 @@
|
|||
<el-card class="box-card" v-if="assets != null">
|
||||
<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>
|
||||
|
@ -257,6 +285,19 @@ export default {
|
|||
return {
|
||||
ruleEngine: this.$route.params && this.$route.params.id,
|
||||
ruleEngineInfo: {},
|
||||
ruleEngineInfoList: [
|
||||
{
|
||||
"id": 1,
|
||||
"name": "邮箱规则",
|
||||
"type": "rule-custom",
|
||||
"isActivate": "no-activate",
|
||||
"status": "0",
|
||||
"description": "<p>根据邮箱规则进行数据校验,内包含所有邮箱校验规则</p>",
|
||||
"remark": "-",
|
||||
"code": "email",
|
||||
"level": "data-field"
|
||||
},
|
||||
],
|
||||
// "id": 1,
|
||||
// "name": "邮箱规则",
|
||||
// "type": "rule-custom",
|
||||
|
@ -414,7 +455,65 @@ export default {
|
|||
price: "653.69",
|
||||
create_time: "2024-5-7 16:37:16",
|
||||
},
|
||||
testResult: ""
|
||||
testResult: "",
|
||||
// 数据实例集合
|
||||
dataModeMapList : [
|
||||
{
|
||||
id: 1,
|
||||
name: "张三",
|
||||
sex: 1,
|
||||
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: [],
|
||||
}
|
||||
},
|
||||
created() {
|
||||
|
@ -439,11 +538,36 @@ export default {
|
|||
});
|
||||
},
|
||||
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(){
|
||||
updataEngineVersionStatus(this.ruleEngineVersionInfoAndTest).then(res => {
|
||||
this.$message.success(res)
|
||||
this.$message.success(res.data)
|
||||
})
|
||||
|
||||
this.ruleEngineVersionInfoStatus = false
|
||||
this.initRuleEngine(this.ruleEngine);
|
||||
},
|
||||
ruleEngineVersionInfoStatusClose(done) {
|
||||
this.$confirm('确认关闭?')
|
||||
|
@ -578,6 +702,69 @@ export default {
|
|||
// ]
|
||||
// }
|
||||
// }
|
||||
// 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",
|
||||
// "description": "<p>根据邮箱规则进行数据校验,内包含所有邮箱校验规则</p>","codeIng": "package com.muyu.rule.engine.custom;\n" +
|
||||
// "\n" +
|
||||
// "import com.muyu.engine.action.ActionDiscard;\n" +
|
||||
// "import com.muyu.engine.scope.DataModelEngine;\n" +
|
||||
// "\n" +
|
||||
// "/**\n" +
|
||||
// " * @Author: DongZeLiang\n" +
|
||||
// " * @date: 2024/5/6\n" +
|
||||
// " * @Description: ce-IAW3S02\n" +
|
||||
// " * @Version: 1.0\n" +
|
||||
// " */\n" +
|
||||
// "public class engine_custom_email_IAW3S02 extends DataModelEngine {\n" +
|
||||
// " @Override\n" +
|
||||
// " public void execution () {\n" +
|
||||
// " Object value = getValue();\n" +
|
||||
// "\n" +
|
||||
// " if (value == null || \"\".equals(value) || \"null\".equals(value)) {\n" +
|
||||
// " throw new ActionDiscard();\n" +
|
||||
// " }\n" +
|
||||
// " }\n" +
|
||||
// "}"
|
||||
// },
|
||||
// {
|
||||
// "name": "筛选不合规邮箱", "code": "JISID8S", "status": "2", "isTest": "1",
|
||||
// "versionCode": "engine_custom_email_JISID8S", "isActivate": "activated",
|
||||
// "description": "<p>根据邮箱规则进行数据校验,内包含所有邮箱校验规则</p>","codeIng": "package com.muyu.rule.engine.custom;\n" +
|
||||
// "\n" +
|
||||
// "import com.muyu.engine.action.ActionDiscard;\n" +
|
||||
// "import com.muyu.engine.scope.DataModelEngine;\n" +
|
||||
// "\n" +
|
||||
// "/**\n" +
|
||||
// " * @Author: DongZeLiang\n" +
|
||||
// " * @date: 2024/5/6\n" +
|
||||
// " * @Description: ce-JISID8S\n" +
|
||||
// " * @Version: 1.0\n" +
|
||||
// " */\n" +
|
||||
// "public class engine_custom_email_JISID8S extends DataModelEngine {\n" +
|
||||
// " @Override\n" +
|
||||
// " public void execution () {\n" +
|
||||
// " Object value = getValue();\n" +
|
||||
// "\n" +
|
||||
// " if (value == null || \"\".equals(value) || \"null\".equals(value)) {\n" +
|
||||
// " throw new ActionDiscard();\n" +
|
||||
// " }\n" +
|
||||
// " }\n" +
|
||||
// "}"
|
||||
// },
|
||||
// {
|
||||
// "name": "剔除自定义邮箱", "code": "DJ8S9EA", "status": "2", "isTest": "2",
|
||||
// "versionCode": "engine_custom_email_DJ8S9EA", "isActivate": "no-activate",
|
||||
// "description": "<p>根据邮箱规则进行数据校验,内包含所有邮箱校验规则</p>"
|
||||
// },
|
||||
// {
|
||||
// "name": "邮箱默认值操作", "code": "XJS9E0S", "status": "1", "isTest": "0",
|
||||
// "versionCode": "engine_custom_email_XJS9E0S", "isActivate": "no-activate",
|
||||
// "description": "<p>根据邮箱规则进行数据校验,内包含所有邮箱校验规则</p>"
|
||||
// }
|
||||
// ]
|
||||
selectRuleEngineVersion(ruleEngine).then(res => {
|
||||
console.log("ressss",res)
|
||||
this.ruleEngineInfo = res.data;
|
||||
|
@ -585,7 +772,6 @@ export default {
|
|||
},
|
||||
// 获取代码模板
|
||||
getCodeIng(){
|
||||
|
||||
let packageName = "com.muyu.engine";
|
||||
let customName = "custom";
|
||||
let templateName = "template";
|
||||
|
|
Loading…
Reference in New Issue