feat()引擎规则调整
parent
0a520c4265
commit
158996e680
|
@ -13,15 +13,17 @@
|
||||||
</template>
|
</template>
|
||||||
<el-descriptions-item label="规则名称">{{ruleInfo.ruleName}}</el-descriptions-item>
|
<el-descriptions-item label="规则名称">{{ruleInfo.ruleName}}</el-descriptions-item>
|
||||||
<el-descriptions-item label="引擎编码">{{ruleInfo.ruleCode}}</el-descriptions-item>
|
<el-descriptions-item label="引擎编码">{{ruleInfo.ruleCode}}</el-descriptions-item>
|
||||||
<el-descriptions-item label="规则级别">{{ruleInfo.ruleLevel}}</el-descriptions-item>
|
<el-descriptions-item label="规则级别">
|
||||||
<el-descriptions-item label="规则类型">{{ruleInfo.ruleType}}</el-descriptions-item>
|
<dict-tag :options="dict.type.rule_engine_level" :value="ruleInfo.ruleLevel"></dict-tag>
|
||||||
|
</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="规则类型">
|
||||||
|
<dict-tag :options="dict.type.rule_engine_type" :value="ruleInfo.ruleType"></dict-tag>
|
||||||
|
</el-descriptions-item>
|
||||||
<el-descriptions-item label="是否激活">
|
<el-descriptions-item label="是否激活">
|
||||||
<el-tag size="small" v-if="ruleInfo.ruleIsActivate === 'Y'">是</el-tag>
|
<dict-tag :options="dict.type.rule_engine_is_test" :value="ruleInfo.ruleIsActivate"></dict-tag>
|
||||||
<el-tag size="small" v-if="ruleInfo.ruleIsActivate === 'N'">否</el-tag>
|
|
||||||
</el-descriptions-item>
|
</el-descriptions-item>
|
||||||
<el-descriptions-item label="规则状态">
|
<el-descriptions-item label="规则状态">
|
||||||
<el-tag size="small" v-if="ruleInfo.ruleStatus === 'Y'">在用</el-tag>
|
<dict-tag :options="dict.type.rule_engine_activate_status" :value="ruleInfo.ruleStatus"></dict-tag>
|
||||||
<el-tag size="small" v-if="ruleInfo.ruleStatus === 'N'">停用</el-tag>
|
|
||||||
</el-descriptions-item>
|
</el-descriptions-item>
|
||||||
</el-descriptions>
|
</el-descriptions>
|
||||||
|
|
||||||
|
@ -45,13 +47,14 @@
|
||||||
:disabled="edition.editionStatus === '-1'"
|
:disabled="edition.editionStatus === '-1'"
|
||||||
>测试规则</el-dropdown-item>
|
>测试规则</el-dropdown-item>
|
||||||
<el-dropdown-item :command="{event: 'status', rule: edition}" :disabled="edition.editionStatus !== '1'">
|
<el-dropdown-item :command="{event: 'status', rule: edition}" :disabled="edition.editionStatus !== '1'">
|
||||||
{{editionList.ruleIsTest !== 'no-activate' ? "禁用" : "激活"}}规则
|
{{editionList.ruleIsTest !== '0' ? "禁用" : "激活"}}规则
|
||||||
</el-dropdown-item>
|
</el-dropdown-item>
|
||||||
<el-dropdown-item
|
<el-dropdown-item
|
||||||
:command="{event: 'publish', rule: editionList}"
|
:command="{event: 'publish', rule: editionList}"
|
||||||
v-if="editionList.editionStatus === '1' && edition.ruleIsTest === '1'">
|
v-if="editionList.editionStatus === '1' && edition.ruleIsTest === '1'">
|
||||||
发布规则
|
发布规则
|
||||||
</el-dropdown-item>
|
</el-dropdown-item>
|
||||||
|
<el-dropdown-item :command="{event: 'delete', rule: edition}">规则删除</el-dropdown-item>
|
||||||
</el-dropdown-menu>
|
</el-dropdown-menu>
|
||||||
</el-dropdown>
|
</el-dropdown>
|
||||||
</div>
|
</div>
|
||||||
|
@ -120,10 +123,12 @@
|
||||||
<el-drawer title="查看详情" size="80%" :before-close="ruleEngineVersionInfoStatusClose"
|
<el-drawer title="查看详情" size="80%" :before-close="ruleEngineVersionInfoStatusClose"
|
||||||
:visible.sync="oppten"
|
:visible.sync="oppten"
|
||||||
:direction="'rtl'">
|
:direction="'rtl'">
|
||||||
<div class="app-container">
|
<div>
|
||||||
<el-descriptions v-if="selectList != null" class="margin-tog" :column="2" border>
|
<el-descriptions v-if="selectList != null" class="margin-tog" :column="2" border>
|
||||||
<el-descriptions-item label="版本类" :span="2">{{selectList.versionClass}}</el-descriptions-item>
|
<el-descriptions-item label="版本类" :span="2">{{selectList.versionClass}}</el-descriptions-item>
|
||||||
<el-descriptions-item label="版本名称">{{selectList.name}}</el-descriptions-item>
|
<el-descriptions-item label="版本名称">
|
||||||
|
<input v-model="selectList.name">
|
||||||
|
</el-descriptions-item>
|
||||||
<el-descriptions-item label="版本编码">{{selectList.versionCode}}</el-descriptions-item>
|
<el-descriptions-item label="版本编码">{{selectList.versionCode}}</el-descriptions-item>
|
||||||
<el-descriptions-item label="引擎状态">
|
<el-descriptions-item label="引擎状态">
|
||||||
<dict-tag :options="dict.type.rule_engine_edition_status" :value="selectList.editionStatus"></dict-tag>
|
<dict-tag :options="dict.type.rule_engine_edition_status" :value="selectList.editionStatus"></dict-tag>
|
||||||
|
@ -135,13 +140,31 @@
|
||||||
<dict-tag :options="dict.type.rule_engine_is_test" :value="selectList.ruleIsTest"></dict-tag>
|
<dict-tag :options="dict.type.rule_engine_is_test" :value="selectList.ruleIsTest"></dict-tag>
|
||||||
</el-descriptions-item>
|
</el-descriptions-item>
|
||||||
</el-descriptions>
|
</el-descriptions>
|
||||||
<editor style="margin-top: 10px" :read-only="true" :min-height="100" v-model="selectList.editionContent"></editor>
|
<editor style="margin-top: 10px" :min-height="100" v-model="selectList.editionContent"></editor>
|
||||||
<edition style="margin-top: 10px">
|
<el-row style="margin-top: 10px">
|
||||||
<el-button @click="saveCoding">保存代码</el-button>
|
<el-button @click="saveCoding(selectList)">保存代码</el-button>
|
||||||
</edition>
|
</el-row>
|
||||||
<encoding style="height: 800px; margin-top: 20px" v-model="selectList.ruleContent"></encoding>
|
<encoding style="height: 800px; margin-top: 20px" v-model="selectList.ruleContent"></encoding>
|
||||||
</div>
|
</div>
|
||||||
</el-drawer>
|
</el-drawer>
|
||||||
|
<!-- 规则测试 -->
|
||||||
|
<el-drawer title="规则版本测试" size="80%" :before-close="ruleEngineVersionTestStatusClose"
|
||||||
|
:visible.sync="openRuleTest" :direction="'rtl'">
|
||||||
|
<el-row :gutter="20">
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-descriptions v-if="form!=null" class="margin-tog" :column="2" border>
|
||||||
|
<el-descriptions-item label="版本类" :span="2">{{}}</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="版本名称"></el-descriptions-item>
|
||||||
|
<el-descriptions-item label="版本编码"></el-descriptions-item>
|
||||||
|
<el-descriptions-item label="引擎状态"></el-descriptions-item>
|
||||||
|
<el-descriptions-item label="是否激活"></el-descriptions-item>
|
||||||
|
<el-descriptions-item label="是否描述"></el-descriptions-item>
|
||||||
|
<editor style="margin-top: 10px" :min-height="100" v-model="selectList.editionContent"></editor>
|
||||||
|
<encoding style="height: 800px; margin-top: 20px" v-model="selectList.ruleContent"></encoding>
|
||||||
|
</el-descriptions>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
</el-drawer>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
@ -180,12 +203,17 @@ export default {
|
||||||
title: "",
|
title: "",
|
||||||
// 是否显示弹出层
|
// 是否显示弹出层
|
||||||
open: false,
|
open: false,
|
||||||
|
// 详情弹出层
|
||||||
oppten: false,
|
oppten: false,
|
||||||
|
//测试弹出层
|
||||||
|
openRuleTest: false,
|
||||||
// 查询参数
|
// 查询参数
|
||||||
queryParams: {
|
queryParams: {
|
||||||
pageNum: 1,
|
pageNum: 1,
|
||||||
pageSize: 10,
|
pageSize: 10,
|
||||||
},
|
},
|
||||||
|
//测试表单
|
||||||
|
ruleEngineTest:{},
|
||||||
// 表单参数
|
// 表单参数
|
||||||
form: {},
|
form: {},
|
||||||
// 表单校验
|
// 表单校验
|
||||||
|
@ -197,6 +225,7 @@ export default {
|
||||||
this.getList();
|
this.getList();
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
// 关闭
|
||||||
ruleEngineVersionInfoStatusClose(done) {
|
ruleEngineVersionInfoStatusClose(done) {
|
||||||
this.$confirm('确认关闭?')
|
this.$confirm('确认关闭?')
|
||||||
.then(_ => {
|
.then(_ => {
|
||||||
|
@ -223,8 +252,33 @@ export default {
|
||||||
this.open = false;
|
this.open = false;
|
||||||
this.reset();
|
this.reset();
|
||||||
},
|
},
|
||||||
|
saveCoding(row) {
|
||||||
|
updateEdition(row).then(res => {
|
||||||
|
this.$message.success(res.data)
|
||||||
|
|
||||||
|
})
|
||||||
|
},
|
||||||
|
// 执行操作
|
||||||
|
playEngineVersion(slickType){
|
||||||
|
switch (slickType.event){
|
||||||
|
case "update"://修改
|
||||||
|
console.log(slickType.rule)
|
||||||
|
this.form = slickType.rule
|
||||||
|
this.open = true
|
||||||
|
break;
|
||||||
|
case "status"://激活状态
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
// 引擎版本操作
|
||||||
checkRuleEngineVersion(clickType) {
|
checkRuleEngineVersion(clickType) {
|
||||||
switch (clickType.event){
|
switch (clickType.event){
|
||||||
|
case "delete"://删除
|
||||||
|
if (confirm("确认删除吗")){
|
||||||
|
delEdition(clickType.rule.id)
|
||||||
|
}
|
||||||
|
this.getList()
|
||||||
|
break;
|
||||||
case "select"://详情
|
case "select"://详情
|
||||||
console.log(clickType.rule)
|
console.log(clickType.rule)
|
||||||
this.selectList = clickType.rule
|
this.selectList = clickType.rule
|
||||||
|
@ -236,6 +290,7 @@ export default {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
// 维护操作
|
||||||
handleClick(clickType) {
|
handleClick(clickType) {
|
||||||
if (clickType === "add"){
|
if (clickType === "add"){
|
||||||
this.open = true;
|
this.open = true;
|
||||||
|
@ -293,23 +348,29 @@ export default {
|
||||||
this.$message.error('版本编码不可为空');
|
this.$message.error('版本编码不可为空');
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
// this.ruleInfo.versionClass = this.ruleInfo.ruleCode + "_" + this.form.versionCode
|
|
||||||
spliceNameToCode(this.ruleInfo.ruleCode,this.form.versionCode,this.ruleInfo.ruleLevel).then(res => {
|
spliceNameToCode(this.ruleInfo.ruleCode,this.form.versionCode,this.ruleInfo.ruleLevel).then(res => {
|
||||||
// this.form.versionClass = res.data
|
this.form.versionClass = res.data.val;
|
||||||
console.log(res.data)
|
this.form.ruleContent = res.data.code
|
||||||
console.log(res.msg)
|
|
||||||
})
|
})
|
||||||
// this.form.ruleContent = this.getCodeIng()
|
|
||||||
// console.log(this.form.ruleContent)
|
|
||||||
},
|
},
|
||||||
/** 提交按钮 */
|
/** 提交按钮 */
|
||||||
submitForm() {
|
submitForm() {
|
||||||
this.$refs["form"].validate(valid => {
|
this.$refs["form"].validate(valid => {
|
||||||
|
if (valid) {
|
||||||
|
if (this.form.id != null) {
|
||||||
|
updateEdition(this.form).then(response => {
|
||||||
|
this.$modal.msgSuccess("修改成功");
|
||||||
|
this.open = false;
|
||||||
|
this.getList();
|
||||||
|
});
|
||||||
|
} else {
|
||||||
addEdition(this.form).then(response => {
|
addEdition(this.form).then(response => {
|
||||||
this.$modal.msgSuccess("新增成功");
|
this.$modal.msgSuccess("新增成功");
|
||||||
this.open = false;
|
this.open = false;
|
||||||
this.getList();
|
this.getList();
|
||||||
});
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
/** 删除按钮操作 */
|
/** 删除按钮操作 */
|
||||||
|
@ -324,7 +385,6 @@ export default {
|
||||||
},
|
},
|
||||||
// 获取代码模板
|
// 获取代码模板
|
||||||
getCodeIng(){
|
getCodeIng(){
|
||||||
|
|
||||||
let packageName = "com.muyu.rule.engine";
|
let packageName = "com.muyu.rule.engine";
|
||||||
let customName = "custom";
|
let customName = "custom";
|
||||||
let templateName = "template";
|
let templateName = "template";
|
||||||
|
|
|
@ -99,8 +99,16 @@
|
||||||
<el-table-column label="主键" align="center" prop="ruleId" />
|
<el-table-column label="主键" align="center" prop="ruleId" />
|
||||||
<el-table-column label="规则名称" align="center" prop="ruleName" />
|
<el-table-column label="规则名称" align="center" prop="ruleName" />
|
||||||
<el-table-column label="引擎编码" align="center" prop="ruleCode" />
|
<el-table-column label="引擎编码" align="center" prop="ruleCode" />
|
||||||
<el-table-column label="规则级别" align="center" prop="ruleLevel" />
|
<el-table-column label="规则级别" align="center" prop="ruleLevel" >
|
||||||
<el-table-column label="规则类型" align="center" prop="ruleType" />
|
<template slot-scope="scope">
|
||||||
|
<dict-tag :options="dict.type.rule_engine_level" :value="scope.row.ruleLevel"></dict-tag>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="规则类型" align="center" prop="ruleType" >
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<dict-tag :options="dict.type.rule_engine_type" :value="scope.row.ruleType"></dict-tag>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
<el-table-column label="是否激活" align="center" prop="ruleIsActivate" >
|
<el-table-column label="是否激活" align="center" prop="ruleIsActivate" >
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-tag size="small" v-if="scope.row.ruleIsActivate === 'Y'">是</el-tag>
|
<el-tag size="small" v-if="scope.row.ruleIsActivate === 'Y'">是</el-tag>
|
||||||
|
@ -166,47 +174,24 @@
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<el-form-item label="规则类型" prop="ruleType">
|
<el-form-item label="规则类型" prop="ruleType">
|
||||||
<el-select v-model="form.ruleType" placeholder="请选择规则类型" style="width: 100%">
|
<el-select v-model="form.ruleType" placeholder="请选择规则类型" style="width: 100%">
|
||||||
<el-option v-for="types in ruleType"
|
<el-option v-for="(val,cod) in dict.type.rule_engine_type"
|
||||||
:key="types.val"
|
:key="cod"
|
||||||
:label="types.val"
|
:label="val.label"
|
||||||
:value="types.val"></el-option>
|
:value="Number(val.value)"></el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<el-form-item label="规则级别" prop="ruleLevel">
|
<el-form-item label="规则级别" prop="ruleLevel">
|
||||||
<el-select v-model="form.ruleLevel" placeholder="请选择规则等级" style="width: 100%;">
|
<el-select v-model="form.ruleLevel" placeholder="请选择规则作用域级别" style="width: 100%;">
|
||||||
<el-option v-for="level in ruleLevel"
|
<el-option v-for="(val,cod) in dict.type.rule_engine_level"
|
||||||
:key="level.val"
|
:key="cod"
|
||||||
:label="level.val"
|
:label="val.label"
|
||||||
:value="level.val"></el-option>
|
:value="Number(val.value)"></el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
<el-row>
|
|
||||||
<el-col :span="12">
|
|
||||||
<el-form-item label="是否激活" prop="ruleIsActivate">
|
|
||||||
<el-radio-group v-model="form.ruleIsActivate">
|
|
||||||
<el-radio
|
|
||||||
v-for="active in isActive"
|
|
||||||
:key="active.val"
|
|
||||||
:label="active.val"
|
|
||||||
>{{active.label}}</el-radio>
|
|
||||||
</el-radio-group>
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
<el-col :span="12">
|
|
||||||
<el-form-item label="规则状态" prop="ruleStatus">
|
|
||||||
<el-radio-group v-model="form.ruleStatus">
|
|
||||||
<el-radio v-for="status in ruleStatus"
|
|
||||||
:key="status.val"
|
|
||||||
:label="status.val"
|
|
||||||
>{{status.label}}</el-radio>
|
|
||||||
</el-radio-group>
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
</el-row>
|
|
||||||
<el-row>
|
<el-row>
|
||||||
<el-col :span="24">
|
<el-col :span="24">
|
||||||
<el-form-item label="规则描述">
|
<el-form-item label="规则描述">
|
||||||
|
@ -250,6 +235,10 @@ import path from "path";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: "Engine",
|
name: "Engine",
|
||||||
|
components: {},
|
||||||
|
|
||||||
|
dicts: ['rule_engine_level', 'rule_engine_activate_status', 'rule_engine_type', 'rule_engine_edition_status', 'rule_engine_is_test'],
|
||||||
|
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
// 规则维护
|
// 规则维护
|
||||||
|
@ -298,28 +287,6 @@ export default {
|
||||||
{val:'记录'},
|
{val:'记录'},
|
||||||
{val:'数据字段'},
|
{val:'数据字段'},
|
||||||
],
|
],
|
||||||
//是否激活
|
|
||||||
isActive: [
|
|
||||||
{
|
|
||||||
val:'Y',
|
|
||||||
label:'是',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
val:'N',
|
|
||||||
label:'否',
|
|
||||||
}
|
|
||||||
],
|
|
||||||
//规则状态
|
|
||||||
ruleStatus: [
|
|
||||||
{
|
|
||||||
val:'Y',
|
|
||||||
label:'在用'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
val:'N',
|
|
||||||
label:'停用'
|
|
||||||
}
|
|
||||||
],
|
|
||||||
// 表单参数
|
// 表单参数
|
||||||
form: {},
|
form: {},
|
||||||
// 表单校验
|
// 表单校验
|
||||||
|
|
Loading…
Reference in New Issue