feat()随机字段显示队列

dev-1
王熙朝 2024-05-14 22:39:57 +08:00
parent 459eb95b4d
commit 9ff9e0a3e4
2 changed files with 135 additions and 100 deletions

View File

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

View File

@ -176,95 +176,81 @@
<el-col :span="12"> <el-col :span="12">
<encoding style="margin-top: 20px" v-model="selectList.ruleContent"></encoding> <encoding style="margin-top: 20px" v-model="selectList.ruleContent"></encoding>
</el-col> </el-col>
<el-card class="box-card"> <el-col :span="12">
<div slot="header" class="clearfix"> <el-col :span="primaryId == null ? 24:12">
<span>选择资产结构</span> <el-card class="box-card">
</div> <div slot="header" class="clearfix">
<el-select v-model="primaryId" style="width: 100%"> <span>选择资产结构</span>
<el-option v-for="asses in primary" </div>
:key="asses" <el-select v-model="primaryId" style="width: 100%">
:value="asses" <el-option v-for="asses in primary"
:label="asses.name+'('+asses.databaseName+')'"> :key="asses.tableLists"
</el-option> :value="asses.tableLists"
</el-select> :label="asses.name+'('+asses.databaseName+')'">
</el-card> </el-option>
<el-col :span="12"> </el-select>
<el-card class="box-card" v-if="primaryId != null && ruleInfo.ruleLevel==1"> </el-card>
<div slot="header" class="clearfix"> </el-col>
<span>选择资产模型</span> <el-col :span="12" v-if="primaryId != []">
</div> <el-card class="box-card">
<el-descriptions direction="vertical" :column="3" border> <div slot="header" class="clearfix">
<el-descriptions-item v-for="_dataModel in primaryId.tableLists" <span>选择资产模型</span>
:label='_dataModel.name + "("+_dataModel.databaseName+")"'> </div>
任务 <el-select v-model="tableLisrs" style="width: 100%;">
</el-descriptions-item> <el-option v-for="model in primaryId"
</el-descriptions> :key="model.id+model.tableName"
</el-card> :value="model.id+model.tableName"
<el-card class="box-card" v-if="primaryId != null && ruleInfo.ruleLevel == 2"> :label="model.databaseName+'('+model.tableName+')'"
<div slot="header" class="clearfix"> ></el-option>
<span>选择资产模型</span> </el-select>
</div> </el-card>
数据集 </el-col>
<el-descriptions direction="vertical" :column="3" border> <el-col :span="24" v-if="tableLisrs != null">
<el-descriptions-item> <el-card class="box-card" v-if="ruleInfo.ruleLevel === 1">
<el-checkbox-group v-model="columns"> <div slot="header" class="clearfix">
<el-checkbox v-for="dong in primaryId.tableLists" <span>任务</span>
:key="dong" </div>
:label="dong.databaseName+'('+dong.tableName+')'" </el-card>
:value="dong"></el-checkbox> <el-card class="box-card" v-if="ruleInfo.ruleLevel === 2">
</el-checkbox-group> <div slot="header" class="clearfix">
</el-descriptions-item> <span>数据集</span>
</el-descriptions> </div>
</el-card> <el-table ref="multipleTable" :data="columnOne2" max-height="200px">
<el-card class="box-card" v-if="primaryId != null && ruleInfo.ruleLevel ==3"> <el-table-column type="selection" width="55"></el-table-column>
<div slot="header" class="clearfix"> <!-- <el-table-column v-for="dataModel in columnOne2" :label="dataModel.comment" :prop="dataModel.name"/>-->
<span>选择资产模型</span> <el-table-column v-for="(val, key) in columnOne2[0]" :key="key" :label="key" :prop="key"></el-table-column>
</div> </el-table>
记录 <div style="margin-top: 20px">
<el-descriptions direction="vertical" :column="3" border> <el-button @click="toggleSelection()"></el-button>
<el-descriptions-item > </div>
<el-select v-model="columnOne" style="width: 100%"> </el-card>
<el-option v-for="tab in primaryId.tableLists" <el-card class="box-card" v-if="ruleInfo.ruleLevel === 3">
:key="tab" <div slot="header" class="clearfix">
:value="tab" <span>记录</span>
:label="tab.databaseName+'('+tab.tableName+')'"> </div>
</el-option> <el-table :data="columnOne2" max-height="200px">
</el-select> <el-table-column v-for="(val, key) in columnOne2[0]" :key="key" :label="key" :prop="key"></el-table-column>
</el-descriptions-item> <el-table-column label="操作">
</el-descriptions> <template slot-scope="scope">
</el-card> <el-button type="text" @click="dataRecordSelect(scope.row)"></el-button>
<el-card class="box-card" v-if="primaryId != null && ruleInfo.ruleLevel ==4"> </template>
<div slot="header" class="clearfix"> </el-table-column>
<span>选择资产模型</span> </el-table>
</div> <el-descriptions title="字段" :column="3" border>
数据字段 <el-descriptions-item ></el-descriptions-item>
<el-select v-model="columnOne" style="width: 100%"> </el-descriptions>
<el-option v-for="tab in primaryId.tableLists" </el-card>
:key="tab" <el-card class="box-card" v-if="ruleInfo.ruleLevel === 4">
:value="tab" <div slot="header" class="clearfix">
:label="tab.databaseName+'('+tab.tableName+')'"> <span>数据字段</span>
</el-option> </div>
</el-select> <button @click="dield(tableLisrs,ruleInfo.ruleLevel)"></button>
</el-card> <el-descriptions title="字段" :column="3" border>
</el-col> <el-descriptions-item v-for="tab in fields" :label="tab.key">{{tab.val}}</el-descriptions-item>
<el-col :span="12"> </el-descriptions>
<el-card class="box-card" v-if="columnOne != null && ruleInfo.ruleLevel==3"> </el-card>
<div slot="header" class="clearfix"> </el-col>
<span>选择字段</span> </el-col>
</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>
@ -274,7 +260,7 @@
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 { selectFrimary } from "@/api/system/accredit";
import { randomField } from "@/api/test/testData"; import { getRabdomData, getColumn } from "@/api/test/testData";
import Encoding from "@/components/Encoding/index.vue"; import Encoding from "@/components/Encoding/index.vue";
export default { export default {
@ -302,7 +288,7 @@ export default {
// //
total: 0, total: 0,
// //
editionList: [], editionList: null,
// //
title: "", title: "",
// //
@ -319,14 +305,19 @@ export default {
// //
ruleEngineTest:{}, ruleEngineTest:{},
primary: [], primary: [],
//
dataModelList: [],
// //
columns: [], columns: [],
// //
columnOne: null, columnOne: [],
columnOne2: [],
// //
fields: [], fields: [],
fieldd: [],
// //
primaryId: null, primaryId: [],
tableLisrs: null,
// //
form: { form: {
versionClass: "", versionClass: "",
@ -340,6 +331,14 @@ export default {
} }
}; };
}, },
watch: {
// conditionVar
tableLisrs(newVal, oldVal) {
if (newVal !== null && newVal !== oldVal) {
this.executeApi(); // tableListsnull
}
},
},
created() { created() {
this.getList(); this.getList();
}, },
@ -357,20 +356,50 @@ export default {
* 随机字段 * 随机字段
* @param id * @param id
*/ */
dield(id,tableName) { dield(tableLisrs,ruleLevel) {
alert(tableName) console.log(tableLisrs)
randomField(id,tableName).then(res => { var id = parseInt(tableLisrs.split('')[0]);
var tableName = tableLisrs.slice(1)
getRabdomData(id,tableName,ruleLevel).then(res => {
this.fields = res.data; this.fields = res.data;
console.log(res.data) console.log(res.data)
}) })
}, },
//
executeApi() {
var id = parseInt(this.tableLisrs.split('')[0]);
var tableName = this.tableLisrs.slice(1)
getColumn(id,tableName,this.ruleInfo.ruleLevel).then(res => {
this.columnOne = res.data
var list = this.columnOne;
var list2 = [];
list.forEach(function (sublist) {
var dict2 = {}
sublist.forEach(function (item) {
dict2[item["key"]] = item["val"];
})
list2.push(dict2)
})
this.columnOne2 = list2;
console.log(list2)
console.log(res.data)
console.log(this.columnOne2)
})
},
toggleSelection() {
this.$refs.multipleTable.clearSelection();
},
//
dataRecordSelect(row) {
console.log(row)
this.fieldd = row
},
/** 查询规则引擎版本列表 */ /** 查询规则引擎版本列表 */
getList() { getList() {
this.form.ruleId = this.ruleId this.form.ruleId = this.ruleId
selectFrimary().then(res => { selectFrimary().then(res => {
this.primary = res.data 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;
}) })
@ -388,7 +417,6 @@ export default {
saveCoding(row) { saveCoding(row) {
updateEdition(row).then(res => { updateEdition(row).then(res => {
this.$message.success(res.data) this.$message.success(res.data)
}) })
}, },
// //