feat()随机字段

dev-1
王熙朝 2024-05-13 22:41:18 +08:00
parent 126d17f141
commit 459eb95b4d
3 changed files with 155 additions and 13 deletions

View File

@ -89,6 +89,13 @@ export function selectFrimary(data) {
}) })
} }
export function selectTableList(id) {
return request({
url: '/system/accredit/selectTableList/'+ id ,
method: 'post'
})
}
export function selStatus(databaseName,tableName) { export function selStatus(databaseName,tableName) {
return request({ return request({
url: '/system/accredit/selStatus?databaseName=' + databaseName + '&tableName=' + tableName, url: '/system/accredit/selStatus?databaseName=' + databaseName + '&tableName=' + tableName,

View File

@ -0,0 +1,9 @@
import request from '@/utils/request'
// 查询引擎列表
export function randomField(id,tableName) {
return request({
url: '/test/data/randomField?id=' + id + "&tableName=" + tableName,
method: 'get'
})
}

View File

@ -149,21 +149,122 @@
</div> </div>
</el-drawer> </el-drawer>
<!-- 规则测试 --> <!-- 规则测试 -->
<el-drawer title="规则版本测试" size="80%" :before-close="ruleEngineVersionTestStatusClose" <el-drawer title="规则版本测试" size="80%" :before-close="ruleEngineVersionInfoStatusClose"
:visible.sync="openRuleTest" :direction="'rtl'"> :visible.sync="openRuleTest" :direction="'rtl'">
<el-row :gutter="20"> <el-row :gutter="20">
<el-col :span="12"> <el-col :span="12">
<el-descriptions v-if="form!=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">{{}}</el-descriptions-item> <el-descriptions-item label="版本类" :span="2">{{selectList.versionClass}}</el-descriptions-item>
<el-descriptions-item label="版本名称"></el-descriptions-item> <el-descriptions-item label="版本名称">{{selectList.name}}</el-descriptions-item>
<el-descriptions-item label="版本编码"></el-descriptions-item> <el-descriptions-item label="版本编码">{{selectList.versionCode}}</el-descriptions-item>
<el-descriptions-item label="引擎状态"></el-descriptions-item> <el-descriptions-item label="引擎状态">
<el-descriptions-item label="是否激活"></el-descriptions-item> <dict-tag :options="dict.type.rule_engine_edition_status" :value="selectList.editionStatus"></dict-tag>
<el-descriptions-item label="是否描述"></el-descriptions-item> </el-descriptions-item>
<editor style="margin-top: 10px" :min-height="100" v-model="selectList.editionContent"></editor> <el-descriptions-item label="是否激活">
<encoding style="height: 800px; margin-top: 20px" v-model="selectList.ruleContent"></encoding> <dict-tag :options="dict.type.rule_engine_activate_status" :value="selectList.ruleStatus"></dict-tag>
</el-descriptions-item>
<el-descriptions-item label="是否测试">
<dict-tag :options="dict.type.rule_engine_is_test" :value="selectList.ruleIsTest"></dict-tag>
</el-descriptions-item>
</el-descriptions> </el-descriptions>
</el-col> </el-col>
<el-col :span="12">
<editor style="margin-top: 10px" :read-only="true" :min-height="105" v-model="selectList.editionContent"></editor>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="12">
<encoding style="margin-top: 20px" v-model="selectList.ruleContent"></encoding>
</el-col>
<el-card class="box-card">
<div slot="header" class="clearfix">
<span>选择资产结构</span>
</div>
<el-select v-model="primaryId" style="width: 100%">
<el-option v-for="asses in primary"
:key="asses"
:value="asses"
:label="asses.name+'('+asses.databaseName+')'">
</el-option>
</el-select>
</el-card>
<el-col :span="12">
<el-card class="box-card" v-if="primaryId != null && ruleInfo.ruleLevel==1">
<div slot="header" class="clearfix">
<span>选择资产模型</span>
</div>
<el-descriptions direction="vertical" :column="3" border>
<el-descriptions-item v-for="_dataModel in primaryId.tableLists"
:label='_dataModel.name + "("+_dataModel.databaseName+")"'>
任务
</el-descriptions-item>
</el-descriptions>
</el-card>
<el-card class="box-card" v-if="primaryId != null && ruleInfo.ruleLevel == 2">
<div slot="header" class="clearfix">
<span>选择资产模型</span>
</div>
数据集
<el-descriptions direction="vertical" :column="3" border>
<el-descriptions-item>
<el-checkbox-group v-model="columns">
<el-checkbox v-for="dong in primaryId.tableLists"
:key="dong"
:label="dong.databaseName+'('+dong.tableName+')'"
:value="dong"></el-checkbox>
</el-checkbox-group>
</el-descriptions-item>
</el-descriptions>
</el-card>
<el-card class="box-card" v-if="primaryId != null && ruleInfo.ruleLevel ==3">
<div slot="header" class="clearfix">
<span>选择资产模型</span>
</div>
记录
<el-descriptions direction="vertical" :column="3" border>
<el-descriptions-item >
<el-select v-model="columnOne" style="width: 100%">
<el-option v-for="tab in primaryId.tableLists"
:key="tab"
:value="tab"
:label="tab.databaseName+'('+tab.tableName+')'">
</el-option>
</el-select>
</el-descriptions-item>
</el-descriptions>
</el-card>
<el-card class="box-card" v-if="primaryId != null && ruleInfo.ruleLevel ==4">
<div slot="header" class="clearfix">
<span>选择资产模型</span>
</div>
数据字段
<el-select v-model="columnOne" style="width: 100%">
<el-option v-for="tab in primaryId.tableLists"
:key="tab"
:value="tab"
:label="tab.databaseName+'('+tab.tableName+')'">
</el-option>
</el-select>
</el-card>
</el-col>
<el-col :span="12">
<el-card class="box-card" v-if="columnOne != null && ruleInfo.ruleLevel==3">
<div slot="header" class="clearfix">
<span>选择字段</span>
</div>
记录
</el-card>
<el-card class="box-card" v-if="columnOne != null && ruleInfo.ruleLevel==4">
<div slot="header" class="clearfix">
<span>选择字段</span>
</div>
字段
<button @click="dield(primaryId.id,columnOne.tableName)"></button>
<el-descriptions title="字段" :column="3" border>
<el-descriptions-item v-for="tab in fields" :label="tab.key">{{tab.val}}</el-descriptions-item>
</el-descriptions>
</el-card>
</el-col>
</el-row> </el-row>
</el-drawer> </el-drawer>
</div> </div>
@ -172,6 +273,8 @@
<script> <script>
import { selectRuleEngineOne, updateRuleIsActivate, updateRuleStatus, spliceNameToCode } from "@/api/goods/engine"; import { selectRuleEngineOne, updateRuleIsActivate, updateRuleStatus, spliceNameToCode } from "@/api/goods/engine";
import { selectListRuleId, getEdition, delEdition, addEdition, updateEdition } from "@/api/goods/edition"; import { selectListRuleId, getEdition, delEdition, addEdition, updateEdition } from "@/api/goods/edition";
import { selectFrimary } from "@/api/system/accredit";
import { randomField } from "@/api/test/testData";
import Encoding from "@/components/Encoding/index.vue"; import Encoding from "@/components/Encoding/index.vue";
export default { export default {
@ -215,6 +318,15 @@ export default {
}, },
// //
ruleEngineTest:{}, ruleEngineTest:{},
primary: [],
//
columns: [],
//
columnOne: null,
//
fields: [],
//
primaryId: null,
// //
form: { form: {
versionClass: "", versionClass: "",
@ -241,12 +353,26 @@ export default {
}) })
.catch(_ => {}); .catch(_ => {});
}, },
/**
* 随机字段
* @param id
*/
dield(id,tableName) {
alert(tableName)
randomField(id,tableName).then(res => {
this.fields = res.data;
console.log(res.data)
})
},
/** 查询规则引擎版本列表 */ /** 查询规则引擎版本列表 */
getList() { getList() {
this.form.ruleId = this.ruleId this.form.ruleId = this.ruleId
selectFrimary().then(res => {
this.primary = res.data
})
this.primaryId = null
selectRuleEngineOne(this.ruleId).then(res => { selectRuleEngineOne(this.ruleId).then(res => {
this.ruleInfo = res.data; this.ruleInfo = res.data;
console.log(res.data)
}) })
selectListRuleId(this.ruleId).then(res => { selectListRuleId(this.ruleId).then(res => {
this.editionList = res.data this.editionList = res.data
@ -269,7 +395,6 @@ export default {
playEngineVersion(slickType){ playEngineVersion(slickType){
switch (slickType.event){ switch (slickType.event){
case "update":// case "update"://
console.log(slickType.rule)
this.form = slickType.rule this.form = slickType.rule
this.open = true this.open = true
break; break;
@ -287,11 +412,12 @@ export default {
this.getList() this.getList()
break; break;
case "select":// case "select"://
console.log(clickType.rule)
this.selectList = clickType.rule this.selectList = clickType.rule
this.oppten = true this.oppten = true
break; break;
case "test":// case "test"://
this.openRuleTest = true
this.selectList = clickType.rule
break; break;
case "status":// case "status"://
break; break;