feat() 规则维护页面,测试下拉列表

chao
chao 2024-05-08 18:25:11 +08:00
parent d52bc7542f
commit 0207d7766c
2 changed files with 86 additions and 52 deletions

View File

@ -47,7 +47,7 @@ export default {
},
scopeList: [
{ type: "任务", value: "taskContext", "code":
"package com.etl.scope;\n" +
"package com.etl.data.rule.scope;\n" +
"\n" +
"/**\n" +
" * @Author: Chao\n" +
@ -62,7 +62,7 @@ export default {
"}\n"
},
{ type: "资产集", value: "recordContext", "code":
"package com.etl.scope;\n" +
"package com.etl.data.rule.scope;\n" +
"\n" +
"/**\n" +
" * @Author: Chao\n" +
@ -78,7 +78,7 @@ export default {
" }\n" +
"}\n" },
{ type: "资产记录", value: "dataSetContext", "code":
"package com.etl.scope;\n" +
"package com.etl.data.rule.scope;\n" +
"\n" +
"/**\n" +
" * @Author: Chao\n" +
@ -94,7 +94,7 @@ export default {
" }\n" +
"}\n" },
{ type: "资产模型", value: "dataModelContext", "code":
"package com.etl.scope;\n" +
"package com.etl.data.rule.scope;\n" +
"\n" +
"/**\n" +
" * @Author: Chao\n" +

View File

@ -66,7 +66,10 @@
</el-dropdown>
</div>
<el-descriptions class="margin-top" :column="2" border>
<el-descriptions-item label="版本类" :span="2"> {{ ruleEngineVersion.versionClass }}</el-descriptions-item>
<el-descriptions-item label="版本类" :span="2"> {{
ruleEngineVersion.versionClass
}}
</el-descriptions-item>
<el-descriptions-item label="版本名称"> {{ ruleEngineVersion.versionName }}</el-descriptions-item>
<el-descriptions-item label="版本CODE"> {{ ruleEngineVersion.versionCode }}</el-descriptions-item>
<el-descriptions-item label="是否激活">
@ -89,7 +92,8 @@
<el-card class="box-card">
<div slot="header" class="clearfix">
<span>基本信息</span>
<el-button style="float: right; padding: 3px 0" type="text" @click="genEngineVersion"></el-button>
<el-button style="float: right; padding: 3px 0" type="text" @click="genEngineVersion">
</el-button>
</div>
<el-form :label-position="engineVersionForm" label-width="80px" :model="engineVersionForm">
<el-row>
@ -176,19 +180,25 @@
<el-row :gutter="20">
<el-col :span="12">
<el-descriptions v-if="ruleEngineVersionInfoAndTest != null" class="margin-top" :column="2" border>
<el-descriptions-item label="版本类" :span="2"> {{ ruleEngineVersionInfoAndTest.versionCode }}
<el-descriptions-item label="版本类" :span="2"> {{ ruleEngineVersionInfoAndTest.versionClass }}
</el-descriptions-item>
<el-descriptions-item label="版本名称"> {{
ruleEngineVersionInfoAndTest.versionName
}}
</el-descriptions-item>
<el-descriptions-item label="版本CODE"> {{
ruleEngineVersionInfoAndTest.versionCode
}}
</el-descriptions-item>
<el-descriptions-item label="版本名称"> {{ ruleEngineVersionInfoAndTest.name }}</el-descriptions-item>
<el-descriptions-item label="版本CODE"> {{ ruleEngineVersionInfoAndTest.code }}</el-descriptions-item>
<el-descriptions-item label="是否激活">
<dict-tag :options="dict.type.rule_engine_activate_status"
:value="ruleEngineVersionInfoAndTest.isActivate"/>
<dict-tag :options="dict.type.activated_or_not"
:value="ruleEngineVersionInfoAndTest.activatedOrNot"/>
</el-descriptions-item>
<el-descriptions-item label="版本状态">
<dict-tag :options="dict.type.rule_engine_version_status" :value="ruleEngineVersionInfoAndTest.status"/>
<dict-tag :options="dict.type.version_type" :value="ruleEngineVersionInfoAndTest.versionType"/>
</el-descriptions-item>
<el-descriptions-item label="是否测试">
<dict-tag :options="dict.type.rule_engine_activate_is_test" :value="ruleEngineVersionInfoAndTest.isTest"/>
<dict-tag :options="dict.type.yes_no_test" :value="ruleEngineVersionInfoAndTest.yesNoTest"/>
</el-descriptions-item>
</el-descriptions>
</el-col>
@ -199,7 +209,7 @@
</el-row>
<el-row :gutter="20">
<el-col :span="12">
<encoding style="margin-top: 20px" v-model="ruleEngineVersionInfoAndTest.codeIng"
<encoding style="margin-top: 20px" v-model="ruleEngineVersionInfoAndTest.codeText"
:read-only="true"></encoding>
</el-col>
<el-col :span="12">
@ -208,11 +218,11 @@
<div slot="header" class="clearfix">
<span>选择数据接入</span>
</div>
<el-select v-model="assetStructure" style="width: 100%;">
<el-select v-model="assetStructure" style="width: 100%;" @change="changeAssetStructure">
<el-option v-for="_assetStructure in assetStructureList"
:key="_assetStructure.name"
:value="_assetStructure.name"
:label="_assetStructure.name+'('+_assetStructure.systemName+')'"
:key="_assetStructure.id"
:value="_assetStructure.id"
:label="_assetStructure.dataSourceName+'('+_assetStructure.dataSourceSystemName+')'"
></el-option>
</el-select>
</el-card>
@ -224,9 +234,9 @@
</div>
<el-select v-model="assets" style="width: 100%;">
<el-option v-for="_assets in assetsList"
:key="_assets.name"
:value="_assets.name"
:label="_assets.name+'('+_assets.as+')'"
:key="_assets.id"
:value="_assets.id"
:label="_assets.tableName+'('+_assets.tableNameAnnotation+')'"
></el-option>
</el-select>
</el-card>
@ -260,11 +270,12 @@
import Encoding from "@/components/Encoding/index.vue";
import {getEngineAndEngineVersion, updateEngineActivatedOrNot, updateEngineStatus} from "@/api/data/engine";
import {addEngineVersion, updateEngine} from "@/api/data/engineVersion";
import {listAssetStructure, selectAssetSouructureTableList} from "@/api/data/structure";
export default {
name: "EngineVersion",
components: {Encoding},
dicts: ['activated_or_not', 'status', 'scope', 'type', 'version_type'],
dicts: ['activated_or_not', 'status', 'scope', 'type', 'version_type', 'yes_no_test'],
data() {
return {
ruleEngineId: this.$route.query.id,
@ -282,32 +293,7 @@ export default {
//
ruleEngineVersionInfoAndTest: {},
//
assetStructureList: [
{
name: "测试1",
systemName: "云计算系统",
databaseName: "yunjisuan",
type: "dataSource"
},
{
name: "测试2",
systemName: "网站系统",
databaseName: "wangzhan",
type: "dataSource"
},
{
name: "测试3",
systemName: "物联网系统",
databaseName: "wulianwang",
type: "dataSource"
},
{
name: "测试4",
systemName: "传媒系统",
databaseName: "chuanmei",
type: "dataSource"
},
],
assetStructureList: [],
//
assetStructure: null,
//
@ -414,14 +400,46 @@ export default {
price: "653.69",
create_time: "2024-5-7 16:37:16",
},
testResult: ""
testResult: "",
//
assetStructureDataCount: {
dataCount: null,
assetStructureTableCount: null,
assetStructureTableDataCount: null,
},
//
structureTableDataCount: {
tableCount: null,
tableDataCount: null,
childrenList: [],
},
}
},
created() {
this.initRuleEngine();
},
methods: {
changeAssetStructure(row) {
this.assets = null;
this.assetsList = [];
selectAssetSouructureTableList(row).then((response) => {
// API
// console.log(response);
// API data this.childrenList
this.assetsList = response.data.tableDetailsRespList;
// this.childrenList type "dataTable"
this.assetsList.forEach((item) => {
item.type = "dataTable";
});
this.structureTableDataCount.tableCount = response.data.tableCount
this.structureTableDataCount.tableDataCount = response.data.tableDataCount
this.structureTableDataCount.childrenList = this.childrenList
console.log("aaaaaaaaa")
console.log(this.assetsList)
})
},
saveCoding() {
updateEngine(this.ruleEngineVersionInfoAndTest).then(response => {
this.$message.success('编码保存成功');
@ -457,6 +475,7 @@ export default {
case "test"://
this.ruleEngineVersionTestStatus = true;
this.ruleEngineVersionInfoAndTest = command.ruleEngineVersion;
this.getAssetStructureList()
break;
case "status"://
command.ruleEngineVersion.isActivate = 'no-activate' === command.ruleEngineVersion.isActivate ? 'activated' : 'no-activate'
@ -468,6 +487,21 @@ export default {
console.log(command.event);
console.log(command.ruleEngineVersion);
},
getAssetStructureList() {
listAssetStructure().then(response => {
this.assetStructureList = response.data.assetStructureList
this.assetStructureList.forEach(
item => {
item.type = "dataSource"
}
)
//
this.assetStructureDataCount.dataCount = this.assetStructureList.length
this.assetStructureDataCount.assetStructureTableCount = response.data.assetStructureTableCount
this.assetStructureDataCount.assetStructureTableDataCount = response.data.assetStructureTableDataCount
})
},
//
genEngineVersion() {
if (this.engineVersionForm.versionName == null || this.engineVersionForm.versionName === "") {
@ -484,7 +518,7 @@ export default {
}
this.engineVersionForm.versionClass = this.ruleEngineInfo.encoding + "_" + this.engineVersionForm.versionCode
var codeIng = this.getCodeIng();
this.$set( this.engineVersionForm, 'codeText', codeIng)
this.$set(this.engineVersionForm, 'codeText', codeIng)
},
//
addVersionSubmission() {
@ -496,10 +530,10 @@ export default {
this.engineVersionForm.engineRuleId = this.ruleEngineInfo.id;
this.ruleEngineInfo.engineRuleVersionList.forEach(item => {
if (item.versionCode === this.engineVersionForm.versionCode) {
version ++;
version++;
}
})
if (version != 0){
if (version != 0) {
this.$message.error('版本CODE已存在');
return;
}