feat: 规则版本详情 保存代码(可修改)
parent
cf9b8f950f
commit
7c0f164e9f
|
@ -1,6 +1,6 @@
|
||||||
<template>
|
<template>
|
||||||
<div>
|
<div>
|
||||||
<codemirror ref="codeMirror" :value="code" :options="cmOptions"/>
|
<codemirror ref="codeMirror" :value="code" v-model="code" :options="cmOptions" />
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
@ -67,6 +67,16 @@ export default {
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
},
|
},
|
||||||
|
watch:{
|
||||||
|
'code' :{
|
||||||
|
handler(val){
|
||||||
|
if (val!=null){
|
||||||
|
console.log(this.$emit('input',val))
|
||||||
|
this.$emit('input',val)
|
||||||
|
}
|
||||||
|
},
|
||||||
|
}
|
||||||
|
},
|
||||||
methods: {}
|
methods: {}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
|
@ -473,6 +473,10 @@ export default {
|
||||||
created() {
|
created() {
|
||||||
this.getList();
|
this.getList();
|
||||||
this.dataTypeList()
|
this.dataTypeList()
|
||||||
|
//初始化是否存在
|
||||||
|
this.getDicts("sys_yes_no").then(response => {
|
||||||
|
this.sys_yes_no = response.data;
|
||||||
|
});
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
//同步
|
//同步
|
||||||
|
|
|
@ -220,18 +220,46 @@
|
||||||
<el-card class="box-card" v-if="assets != null">
|
<el-card class="box-card" v-if="assets != null">
|
||||||
<div slot="header" class="clearfix">
|
<div slot="header" class="clearfix">
|
||||||
<span>选择资产模型</span>
|
<span>选择资产模型</span>
|
||||||
|
<el-button style="float: right; padding: 3px 0" type="text" @click="dataModelRandom">随机数据</el-button>
|
||||||
</div>
|
</div>
|
||||||
<el-descriptions direction="vertical" :column="3" border>
|
<el-descriptions direction="vertical" :column="3" border>
|
||||||
<el-descriptions-item v-for="_dataModel in dataModelList"
|
<el-descriptions-item v-for="_dataModel in dataModelList"
|
||||||
:label='_dataModel.name + "("+_dataModel.comment+")"'>
|
: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-item>
|
||||||
</el-descriptions>
|
</el-descriptions>
|
||||||
</el-card>
|
</el-card>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="24" style="margin-top: 10px" v-if="dataMode != null">
|
<el-col :span="24" style="margin-top: 10px" v-if="dataMode != null || dataRecordSelectKeyList.length > 0">
|
||||||
<el-button>测试</el-button>
|
<el-button @click="dataTest">测试</el-button>
|
||||||
<el-input style="margin-top: 10px" v-model="testResult" type="textarea" placeholder="请点击测试" />
|
<el-input style="margin-top: 10px" v-model="testResult" type="textarea" placeholder="请点击测试" disabled/>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
|
@ -257,6 +285,19 @@ export default {
|
||||||
return {
|
return {
|
||||||
ruleEngine: this.$route.params && this.$route.params.id,
|
ruleEngine: this.$route.params && this.$route.params.id,
|
||||||
ruleEngineInfo: {},
|
ruleEngineInfo: {},
|
||||||
|
ruleEngineInfoList: [
|
||||||
|
{
|
||||||
|
"id": 1,
|
||||||
|
"name": "邮箱规则",
|
||||||
|
"type": "rule-custom",
|
||||||
|
"isActivate": "no-activate",
|
||||||
|
"status": "0",
|
||||||
|
"description": "<p>根据邮箱规则进行数据校验,内包含所有邮箱校验规则</p>",
|
||||||
|
"remark": "-",
|
||||||
|
"code": "email",
|
||||||
|
"level": "data-field"
|
||||||
|
},
|
||||||
|
],
|
||||||
// "id": 1,
|
// "id": 1,
|
||||||
// "name": "邮箱规则",
|
// "name": "邮箱规则",
|
||||||
// "type": "rule-custom",
|
// "type": "rule-custom",
|
||||||
|
@ -414,7 +455,65 @@ export default {
|
||||||
price: "653.69",
|
price: "653.69",
|
||||||
create_time: "2024-5-7 16:37:16",
|
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() {
|
created() {
|
||||||
|
@ -439,11 +538,36 @@ export default {
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
methods: {
|
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(){
|
saveCoding(){
|
||||||
updataEngineVersionStatus(this.ruleEngineVersionInfoAndTest).then(res => {
|
updataEngineVersionStatus(this.ruleEngineVersionInfoAndTest).then(res => {
|
||||||
this.$message.success(res)
|
this.$message.success(res.data)
|
||||||
})
|
})
|
||||||
|
this.ruleEngineVersionInfoStatus = false
|
||||||
|
this.initRuleEngine(this.ruleEngine);
|
||||||
},
|
},
|
||||||
ruleEngineVersionInfoStatusClose(done) {
|
ruleEngineVersionInfoStatusClose(done) {
|
||||||
this.$confirm('确认关闭?')
|
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 => {
|
selectRuleEngineVersion(ruleEngine).then(res => {
|
||||||
console.log("ressss",res)
|
console.log("ressss",res)
|
||||||
this.ruleEngineInfo = res.data;
|
this.ruleEngineInfo = res.data;
|
||||||
|
@ -585,7 +772,6 @@ export default {
|
||||||
},
|
},
|
||||||
// 获取代码模板
|
// 获取代码模板
|
||||||
getCodeIng(){
|
getCodeIng(){
|
||||||
|
|
||||||
let packageName = "com.muyu.engine";
|
let packageName = "com.muyu.engine";
|
||||||
let customName = "custom";
|
let customName = "custom";
|
||||||
let templateName = "template";
|
let templateName = "template";
|
||||||
|
|
Loading…
Reference in New Issue