第一次

master^2^2
chentaisen 2024-09-10 09:22:01 +08:00
parent b7003dd31d
commit 3e46a8e8fb
4 changed files with 141 additions and 53 deletions

View File

@ -82,7 +82,7 @@ export function findTableIdByParentId(id) {
//表
export function findTableValueByTableName(basicId,tableName) {
return request({
url: `/source/value/findTableValueByTableName/?basicId=`+basicId+'&&tableName='+tableName,
url: "/source/value/findTableValueByTableName?basicId="+basicId+"&tableName="+tableName,
method: 'post',
})
}

View File

@ -26,6 +26,7 @@ import ExporFind from "./type/exporFind.vue";
import UniteFind from "./type/uniteFind.vue";
export default {
// import使"
name: 'type-table',

View File

@ -1,31 +1,33 @@
<template>
<div>
<el-form label-position="right" label-width="60px">
<el-form-item label="输入表">
<el-form label-position="right" label-width="60px">
<el-form-item label="输入表">
<span v-for="db in formDb">
<el-input v-model="db.dbTable" placeholder="无输入表" style="width: 60%;" disabled />
<el-input v-model="db.dbTable" placeholder="无输入表" style="width: 60%;" disabled/>
</span>
</el-form-item>
<el-form-item label="输出表">
<el-input v-model="toDb.dbTable" placeholder="无输出表" style="width: 60%;" disabled />
</el-form-item>
</el-form>
</el-form-item>
<el-form-item label="输出表">
<el-input v-model="toDb.dbTable" placeholder="无输出表" style="width: 60%;" disabled/>
</el-form-item>
</el-form>
<div>
<el-button icon="el-icon-refresh-right" type="text" @click="init"></el-button>
<el-button icon="el-icon-setting" type="text" @click="checkFields"></el-button>
</div>
<div align="center">
<el-table ref="table" :data="formFields" height="450px">
<el-table-column :show-overflow-tooltip="true" label="字段名称" prop="fieldName" />
<el-table-column :show-overflow-tooltip="true" label="字段描述" prop="fieldComment" />
<el-table-column :show-overflow-tooltip="true" label="字段类型" prop="fieldType" />
<el-table-column :show-overflow-tooltip="true" label="字段所属表" prop="tableName" />
<el-table-column :show-overflow-tooltip="true" label="输出字段">
<el-table ref="table" :data="formFields" height="450px">
<el-table-column :show-overflow-tooltip="true" label="字段名称" prop="fieldName"/>
<el-table-column :show-overflow-tooltip="true" label="字段描述" prop="fieldComment"/>
<el-table-column :show-overflow-tooltip="true" label="字段类型" prop="fieldType"/>
<el-table-column :show-overflow-tooltip="true" label="字段所属表" prop="tableName"/>
<el-table-column :show-overflow-tooltip="true" label="输出字段">
<span slot-scope="scope" v-if="fieldsList && fieldsList.get(scope.row.fieldName)">
{{ fieldsList.get(scope.row.fieldName).fieldName+ '(' + fieldsList.get(scope.row.fieldName).fieldComment + ')' }}
{{
fieldsList.get(scope.row.fieldName).fieldName + '(' + fieldsList.get(scope.row.fieldName).fieldComment + ')'
}}
</span>
</el-table-column>
</el-table>
</el-table-column>
</el-table>
</div>
<div align="center">
<el-button @click="disp.findFlag = false">返回</el-button>
@ -45,22 +47,22 @@
v-model="queryParams.tableName"
clearable
@change="handleQuery"
placeholder="请输入表名称" />
placeholder="请输入表名称"/>
</el-form-item>
<el-form-item label="表描述" prop="tableComment">
<el-input
v-model="queryParams.tableComment"
clearable
@change="handleQuery"
placeholder="请输入表描述" />
placeholder="请输入表描述"/>
</el-form-item>
<el-form-item>
<el-button icon="el-icon-search" size="mini" type="primary" @click="handleQuery"></el-button>
</el-form-item>
</el-form>
<el-table ref="table" :data="tableOptions" height="300px">
<el-table-column :show-overflow-tooltip="true" label="表名称" prop="tableName" />
<el-table-column :show-overflow-tooltip="true" label="表描述" prop="tableComment" />
<el-table-column :show-overflow-tooltip="true" label="表名称" prop="tableName"/>
<el-table-column :show-overflow-tooltip="true" label="表描述" prop="tableComment"/>
<el-table-column label="操作" width="50px">
<template slot-scope="scope">
<el-button type="text" @click="selectTable(scope.row)"></el-button>
@ -70,10 +72,10 @@
<el-divider content-position="left">选择字段 v</el-divider>
<el-table ref="table" :data="fieldsOptions" height="280px"
@row-click="clickRow" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" />
<el-table-column :show-overflow-tooltip="true" label="字段名称" prop="columnName" />
<el-table-column :show-overflow-tooltip="true" label="字段描述" prop="columnComment" />
<el-table-column :show-overflow-tooltip="true" label="字段类型" prop="columnType" />
<el-table-column type="selection" width="55"/>
<el-table-column :show-overflow-tooltip="true" label="字段名称" prop="columnName"/>
<el-table-column :show-overflow-tooltip="true" label="字段描述" prop="columnComment"/>
<el-table-column :show-overflow-tooltip="true" label="字段类型" prop="columnType"/>
</el-table>
<br><br>
<div align="center">
@ -85,14 +87,15 @@
<el-dialog title="选择字段" :visible.sync="checkFieldsMapFlag" width="60%" :modal="false">
<div style="padding-left: 10px;padding-right: 10px;">
<el-table ref="table" :data="formFields" height="500px">
<el-table-column :show-overflow-tooltip="true" label="字段名称" prop="fieldName" />
<el-table-column :show-overflow-tooltip="true" label="字段描述" prop="fieldComment" />
<el-table-column :show-overflow-tooltip="true" label="字段类型" prop="fieldType" />
<el-table-column :show-overflow-tooltip="true" label="字段所属表" prop="tableName" />
<el-table-column :show-overflow-tooltip="true" label="字段名称" prop="fieldName"/>
<el-table-column :show-overflow-tooltip="true" label="字段描述" prop="fieldComment"/>
<el-table-column :show-overflow-tooltip="true" label="字段类型" prop="fieldType"/>
<el-table-column :show-overflow-tooltip="true" label="字段所属表" prop="tableName"/>
<el-table-column :show-overflow-tooltip="true" label="目标字段">
<template slot-scope="scope">
<el-select v-model="scope.row.toFidlesName" placeholder="请选择字段">
<el-option v-for="field in toFields" :label="field.fieldName+'('+field.fieldComment+')'" :value="field.fieldName"/>
<el-option v-for="field in toFields" :label="field.fieldName+'('+field.fieldComment+')'"
:value="field.fieldName"/>
</el-select>
</template>
</el-table-column>
@ -106,6 +109,7 @@
</div>
</template>
<script>
// jsjsjson,
// import from ',
@ -166,7 +170,7 @@ export default {
//
/** 1.查询该节点的上一级节点*/
this.data.lineList.forEach(line => {
if (line.to === this.node.id){
if (line.to === this.node.id) {
listDisposition({nodeCode: line.from}).then(res => {
const data = this.getVueDisp(res.data.rows)
this.formDb = data.db
@ -190,24 +194,24 @@ export default {
},
//
save() {
console.log('formDb',this.formDb)
console.log('toDb',this.toDb)
console.log('formFields',this.formFields)
console.log('toFields',this.toFields)
console.log('fieldsList',this.fieldsList)
console.log('formDb', this.formDb)
console.log('toDb', this.toDb)
console.log('formFields', this.formFields)
console.log('toFields', this.toFields)
console.log('fieldsList', this.fieldsList)
//
const field = this.formFields
let map = field.map(item => [item.fieldName, item.toFidlesName]);
this.fieldsList = new Map()
map.forEach(item => {
this.toFields.forEach(toField => {
if (toField.fieldName === item[1]){
if (toField.fieldName === item[1]) {
this.fieldsList.set(item[0], toField)
}
})
})
//
let mysqlDisp = this.getMysqlDisp(this.toDb,this.fieldsList);
let mysqlDisp = this.getMysqlDisp(this.toDb, this.fieldsList);
//
batchAddUpd(mysqlDisp, this.disp.nodeCode).then(res => {
this.$message.success(res.msg)
@ -223,7 +227,7 @@ export default {
const params = this.queryParams
if ((table.dbName === params.dbName || !params.dbName) &&
(table.tableName.includes(params.tableName) || !params.tableName) &&
(table.tableComment.includes(params.tableComment) || !params.tableComment)){
(table.tableComment.includes(params.tableComment) || !params.tableComment)) {
this.tableOptions.push(table)
}
})
@ -235,7 +239,7 @@ export default {
dbName: row.dbName,
tableName: row.tableName,
tableComment: row.tableComment,
dbTable: row.dbName+'.'+row.tableName+'('+ row.tableComment +')'
dbTable: row.dbName + '.' + row.tableName + '(' + row.tableComment + ')'
}
selectDbTableColumnsByName(row.dbName, row.tableName).then(res => {
this.fieldsOptions = res.data
@ -248,7 +252,7 @@ export default {
handleSelectionChange(selection) {
this.toFields = selection.map(item => {
return {
dbTable: this.toDb.dbName+'.'+this.toDb.tableName,
dbTable: this.toDb.dbName + '.' + this.toDb.tableName,
fieldName: item.columnName,
fieldType: item.columnType,
fieldComment: item.columnComment
@ -280,7 +284,7 @@ export default {
dbName: disp.dispDesc,
tableName: disp.dispValue,
tableComment: disp.dispLabel,
dbTable: disp.dispDesc+'.'+disp.dispValue+'('+disp.dispLabel+')'
dbTable: disp.dispDesc + '.' + disp.dispValue + '(' + disp.dispLabel + ')'
})
}
if (disp.dispKey === 'fields') {
@ -292,15 +296,15 @@ export default {
})
}
//
if (disp.dispKey === 'toDb'){
if (disp.dispKey === 'toDb') {
toDb = {
dbName: disp.dispDesc,
tableName: disp.dispValue,
tableComment: disp.dispLabel,
dbTable: disp.dispDesc+'.'+disp.dispValue+'('+disp.dispLabel+')'
dbTable: disp.dispDesc + '.' + disp.dispValue + '(' + disp.dispLabel + ')'
}
}
if (disp.dispKey === 'toFields'){
if (disp.dispKey === 'toFields') {
fieldsMap.set(disp.dispDesc, {
fieldName: disp.dispValue,
fieldType: disp.dispType,

View File

@ -408,16 +408,89 @@
<span style="margin-left: 10px">{{ scope.row.center }}</span>
</template>
</el-table-column>
<el-table-column label="操作">
<template slot-scope="scope">
<el-button
size="mini"
@click="handleEditSelect()">选择
@click="handleEditSelect(scope.row)">选择
</el-button>
</template>
</el-table-column>
</el-table>
</template>
</div>
<span>
<!--tableDa-->
<el-button type="primary" @click="measurements()"> </el-button>
</span>
</el-card>
</el-col>
<span>
<el-col v-show="selectss">
<el-card class="box-card">
<div slot="header" class="clearfix">
<span>选择资产集</span>
<template>
<el-table
:data="tableDa"
style="width: 100%">
<el-table-column
label="主键"
width="180">
<template slot-scope="scope">
<span style="margin-left: 10px">{{ scope.row.id }}</span>
</template>
</el-table-column>
<el-table-column
label="数据源ID"
width="180">
<template slot-scope="scope">
<span style="margin-left: 10px">{{ scope.row.basicId }}</span>
</template>
</el-table-column>
<el-table-column
label="表名称"
width="180">
<template slot-scope="scope">
<span style="margin-left: 10px">{{ scope.row.tableName }}</span>
</template>
</el-table-column>
<el-table-column
label="表备注"
width="180">
<template slot-scope="scope">
<span style="margin-left: 10px">{{ scope.row.tableRemark }}</span>
</template>
</el-table-column>
<el-table-column
label="类型"
width="180">
<template slot-scope="scope">
<span style="margin-left: 10px">{{ scope.row.type }}</span>
</template>
</el-table-column>
<el-table-column
label="数据量"
width="180">
<template slot-scope="scope">
<span style="margin-left: 10px">{{ scope.row.dataNum }}</span>
</template>
</el-table-column>
<el-table-column
label="是否核心"
width="180">
<template slot-scope="scope">
<span style="margin-left: 10px">{{ scope.row.center }}</span>
</template>
</el-table-column>
<el-table-column label="操作">
<template slot-scope="scope">
<el-button
size="mini"
@click="handleEditSelect(scope.row)">选择
</el-button>
</template>
</el-table-column>
</el-table>
</template>
</div>
@ -425,8 +498,9 @@
<el-button type="primary" @click="measurements()"> </el-button>
</span>
</el-card>
</el-card>
</el-col>
</span>
</span>
</el-drawer>
@ -530,7 +604,7 @@ export default {
//
dataOrigin: {},
origins: [],
tableDa: [],
tableOrigin: [],
showCode: false,
//
@ -552,12 +626,20 @@ export default {
this.findById();
},
methods: {
//
getDataTable(data) {
getDataTables(data.id).then(res => {
this.tableDa = res.data
})
},
//
handleEditSelect() {
findTableValueByTableName(this.tableOrigin.basicId, this.tableOrigin.tableName).then(res => {
handleEditSelect(data) {
alert(data.id)
findTableValueByTableName(data.basicId, data.tableName).then(res => {
console.log(res.data)
this.tableDatas = res.data
console.log(this.tableDatas)
this.getDataTable(data);
})
},
//
@ -589,6 +671,7 @@ export default {
chanChild() {
findTableIdByParentId(this.dataOrigin.sourceId).then(res => {
this.tableOrigin = res.data
console.log(this.tableOrigin)
// console.log(this.tableOrigin)
})
},