feat(): 增加规则版本功能-代码生成
parent
968b238057
commit
a32d7140e2
|
@ -6,13 +6,22 @@
|
|||
</div>
|
||||
<el-form ref="form" :model="ruleEngineCommonConfig" label-width="120px">
|
||||
<el-row>
|
||||
<el-col :span="12">
|
||||
<el-col :span="24">
|
||||
<el-form-item label="规则基础目录">
|
||||
<el-input v-model="ruleEngineCommonConfig.packageName" disabled></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="12">
|
||||
|
||||
<el-form-item label="自定义基础目录">
|
||||
<el-input v-model="ruleEngineCommonConfig.customName" disabled></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="模板基础目录">
|
||||
<el-input v-model="ruleEngineCommonConfig.templateName" disabled></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-form>
|
||||
|
@ -24,7 +33,7 @@
|
|||
</div>
|
||||
<el-tabs type="border-card" v-model="codeCardStatus">
|
||||
<el-tab-pane v-for="scope in scopeList" :label="scope.type" :name="scope.value">
|
||||
<encoding v-if="codeCardStatus === scope.value" style="height: 800px" v-model="scope.code" :read-only="true"></encoding>
|
||||
<encoding v-if="codeCardStatus === scope.value" style="height: 600px" v-model="scope.code" :read-only="true"></encoding>
|
||||
</el-tab-pane>
|
||||
</el-tabs>
|
||||
</el-card>
|
||||
|
@ -44,6 +53,8 @@ export default {
|
|||
codeCardStatus: "taskContext",
|
||||
ruleEngineCommonConfig: {
|
||||
packageName: "com.muyu.rule.engine",
|
||||
customName: "custom",
|
||||
templateName: "template",
|
||||
},
|
||||
scopeList: [
|
||||
{ type: "任务", value: "taskContext", "code":
|
||||
|
|
|
@ -108,6 +108,12 @@
|
|||
</el-form>
|
||||
<editor v-model="engineVersionForm.description" :min-height="150"/>
|
||||
</el-card>
|
||||
<el-card class="box-card" v-if="engineVersionForm.codeIng != null">
|
||||
<div slot="header" class="clearfix">
|
||||
<span>引擎编码</span>
|
||||
</div>
|
||||
<encoding style="height: 800px" v-model="engineVersionForm.codeIng"></encoding>
|
||||
</el-card>
|
||||
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<el-button @click="addVersionCancel">取 消</el-button>
|
||||
|
@ -118,8 +124,11 @@
|
|||
</template>
|
||||
|
||||
<script>
|
||||
import Encoding from "@/components/Encoding/index.vue";
|
||||
|
||||
export default {
|
||||
name: "EngineVersion",
|
||||
components: {Encoding},
|
||||
dicts: ['rule_engine_activate_status', 'rule_engine_type', 'sys_normal_disable', 'rule_engine_level', 'rule_engine_version_status'],
|
||||
data() {
|
||||
return {
|
||||
|
@ -143,7 +152,7 @@ export default {
|
|||
"versionCode": "",
|
||||
"isActivate": "no-activate",
|
||||
"description": "",
|
||||
"codeIng": ""
|
||||
"codeIng": null
|
||||
}
|
||||
}
|
||||
},
|
||||
|
@ -162,6 +171,7 @@ export default {
|
|||
return false;
|
||||
}
|
||||
this.engineVersionForm.versionCode = this.ruleEngineInfo.engineCode + "_" + this.engineVersionForm.code
|
||||
this.engineVersionForm.codeIng = this.getCodeIng()
|
||||
},
|
||||
// 确定新增
|
||||
addVersionSubmission(){
|
||||
|
@ -222,6 +232,36 @@ export default {
|
|||
}
|
||||
}
|
||||
this.ruleEngineInfo = response.data
|
||||
},
|
||||
// 获取代码模板
|
||||
getCodeIng(){
|
||||
|
||||
let packageName = "com.muyu.rule.engine";
|
||||
let customName = "custom";
|
||||
let templateName = "template";
|
||||
let parentClass = "DataModelEngine";
|
||||
let codeIng = `package ${packageName}.${customName};
|
||||
|
||||
import com.muyu.engine.action.ActionDiscard;
|
||||
import com.muyu.engine.scope.${parentClass};
|
||||
|
||||
/**
|
||||
* @Author: DongZeLiang
|
||||
* @date: 2024/5/6
|
||||
* @Description: ${this.engineVersionForm.name}-${this.engineVersionForm.code}
|
||||
* @Version: 1.0
|
||||
*/
|
||||
public class ${this.engineVersionForm.versionCode} extends ${parentClass} {
|
||||
@Override
|
||||
public void execution () {
|
||||
Object value = getValue();
|
||||
|
||||
if (value == null || "".equals(value) || "null".equals(value)) {
|
||||
throw new ActionDiscard();
|
||||
}
|
||||
}
|
||||
}`;
|
||||
return codeIng;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue