Commit 98c5b476 by yuwei

项目初始化

parent 1225032f
...@@ -6,6 +6,7 @@ import io.swagger.annotations.ApiModelProperty; ...@@ -6,6 +6,7 @@ import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable; import java.io.Serializable;
/** /**
...@@ -37,4 +38,9 @@ public class MetadataChangeRecordDto implements Serializable { ...@@ -37,4 +38,9 @@ public class MetadataChangeRecordDto implements Serializable {
private String fieldOldValue; private String fieldOldValue;
@ApiModelProperty(value = "该字段最新的值") @ApiModelProperty(value = "该字段最新的值")
private String fieldNewValue; private String fieldNewValue;
@ApiModelProperty(value = "状态")
@NotNull(message = "状态不能为空", groups = {ValidationGroups.Insert.class, ValidationGroups.Update.class})
private String status;
@ApiModelProperty(value = "备注")
private String remark;
} }
...@@ -18,5 +18,6 @@ public class MetadataChangeRecordQuery extends BaseQueryParams { ...@@ -18,5 +18,6 @@ public class MetadataChangeRecordQuery extends BaseQueryParams {
private static final long serialVersionUID=1L; private static final long serialVersionUID=1L;
private String objectId;
private String fieldName; private String fieldName;
} }
...@@ -20,7 +20,7 @@ public class MetadataChangeRecordVo implements Serializable { ...@@ -20,7 +20,7 @@ public class MetadataChangeRecordVo implements Serializable {
private static final long serialVersionUID=1L; private static final long serialVersionUID=1L;
private String id; private String id;
private Integer status; private String status;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private LocalDateTime createTime; private LocalDateTime createTime;
private Integer version; private Integer version;
......
...@@ -72,6 +72,7 @@ public class MetadataChangeRecordController extends BaseController { ...@@ -72,6 +72,7 @@ public class MetadataChangeRecordController extends BaseController {
@GetMapping("/page") @GetMapping("/page")
public R getMetadataChangeRecordPage(MetadataChangeRecordQuery metadataChangeRecordQuery) { public R getMetadataChangeRecordPage(MetadataChangeRecordQuery metadataChangeRecordQuery) {
QueryWrapper<MetadataChangeRecordEntity> queryWrapper = new QueryWrapper<>(); QueryWrapper<MetadataChangeRecordEntity> queryWrapper = new QueryWrapper<>();
queryWrapper.eq(StrUtil.isNotBlank(metadataChangeRecordQuery.getObjectId()), "object_id", metadataChangeRecordQuery.getObjectId());
queryWrapper.like(StrUtil.isNotBlank(metadataChangeRecordQuery.getFieldName()), "field_name", metadataChangeRecordQuery.getFieldName()); queryWrapper.like(StrUtil.isNotBlank(metadataChangeRecordQuery.getFieldName()), "field_name", metadataChangeRecordQuery.getFieldName());
IPage<MetadataChangeRecordEntity> page = metadataChangeRecordService.page(new Page<>(metadataChangeRecordQuery.getPageNum(), metadataChangeRecordQuery.getPageSize()), queryWrapper); IPage<MetadataChangeRecordEntity> page = metadataChangeRecordService.page(new Page<>(metadataChangeRecordQuery.getPageNum(), metadataChangeRecordQuery.getPageSize()), queryWrapper);
List<MetadataChangeRecordVo> collect = page.getRecords().stream().map(metadataChangeRecordMapper::toVO).collect(Collectors.toList()); List<MetadataChangeRecordVo> collect = page.getRecords().stream().map(metadataChangeRecordMapper::toVO).collect(Collectors.toList());
......
...@@ -9,21 +9,18 @@ ...@@ -9,21 +9,18 @@
</div> </div>
<div :style="classCardbody"> <div :style="classCardbody">
<el-form ref="form" :model="form" label-width="80px" disabled> <el-form ref="form" :model="form" label-width="80px" disabled>
<el-form-item label="源数据表主键" prop="objectId">
<el-input v-model="form.objectId" />
</el-form-item>
<el-form-item label="源数据表的字段名" prop="fieldName"> <el-form-item label="源数据表的字段名" prop="fieldName">
<el-input v-model="form.fieldName" /> <el-input v-model="form.fieldName" />
</el-form-item> </el-form-item>
<el-form-item label="版本号" prop="version">
<el-input v-model="form.version" />
</el-form-item>
<el-form-item label="原来的值" prop="fieldOldValue"> <el-form-item label="原来的值" prop="fieldOldValue">
<el-input v-model="form.fieldOldValue" /> <el-input v-model="form.fieldOldValue" />
</el-form-item> </el-form-item>
<el-form-item label="最新的值" prop="fieldNewValue"> <el-form-item label="最新的值" prop="fieldNewValue">
<el-input v-model="form.fieldNewValue" /> <el-input v-model="form.fieldNewValue" />
</el-form-item> </el-form-item>
<el-form-item label="版本号" prop="version">
<el-input v-model="form.version" />
</el-form-item>
<el-form-item label="状态" prop="status"> <el-form-item label="状态" prop="status">
<el-radio-group v-model="form.status"> <el-radio-group v-model="form.status">
<el-radio <el-radio
......
...@@ -10,21 +10,18 @@ ...@@ -10,21 +10,18 @@
</div> </div>
<div :style="classCardbody"> <div :style="classCardbody">
<el-form ref="form" :model="form" :rules="rules" label-width="80px"> <el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="源数据表主键" prop="objectId">
<el-input v-model="form.objectId" placeholder="请输入源数据表主键" />
</el-form-item>
<el-form-item label="源数据表的字段名" prop="fieldName"> <el-form-item label="源数据表的字段名" prop="fieldName">
<el-input v-model="form.fieldName" placeholder="请输入源数据表的字段名" /> <el-input v-model="form.fieldName" placeholder="请输入源数据表的字段名" disabled />
</el-form-item>
<el-form-item label="版本号" prop="version">
<el-input v-model="form.version" placeholder="请输入版本号" />
</el-form-item> </el-form-item>
<el-form-item label="原来的值" prop="fieldOldValue"> <el-form-item label="原来的值" prop="fieldOldValue">
<el-input v-model="form.fieldOldValue" placeholder="请输入原来的值" /> <el-input v-model="form.fieldOldValue" placeholder="请输入原来的值" disabled />
</el-form-item> </el-form-item>
<el-form-item label="最新的值" prop="fieldNewValue"> <el-form-item label="最新的值" prop="fieldNewValue">
<el-input v-model="form.fieldNewValue" placeholder="请输入最新的值" /> <el-input v-model="form.fieldNewValue" placeholder="请输入最新的值" />
</el-form-item> </el-form-item>
<el-form-item label="版本号" prop="version">
<el-input v-model="form.version" placeholder="请输入版本号" />
</el-form-item>
<el-form-item label="状态" prop="status"> <el-form-item label="状态" prop="status">
<el-radio-group v-model="form.status"> <el-radio-group v-model="form.status">
<el-radio <el-radio
......
...@@ -21,12 +21,6 @@ ...@@ -21,12 +21,6 @@
<el-col :span="12"> <el-col :span="12">
<el-button-group> <el-button-group>
<el-button <el-button
type="primary"
icon="el-icon-plus"
size="mini"
@click="handleAdd"
>新增</el-button>
<el-button
type="success" type="success"
icon="el-icon-edit-outline" icon="el-icon-edit-outline"
size="mini" size="mini"
...@@ -184,7 +178,7 @@ export default { ...@@ -184,7 +178,7 @@ export default {
// 表格头 // 表格头
tableColumns: [ tableColumns: [
{ prop: 'objectId', label: '源数据表主键', show: true }, { prop: 'objectId', label: '源数据表主键', show: true },
{ prop: 'fieldName', label: '源数据表的字段名', show: true }, { prop: 'fieldName', label: '源数据表的字段名', show: true, formatter: this.fieldNameFormatter },
{ prop: 'fieldOldValue', label: '原来的值', show: true }, { prop: 'fieldOldValue', label: '原来的值', show: true },
{ prop: 'fieldNewValue', label: '最新的值', show: true }, { prop: 'fieldNewValue', label: '最新的值', show: true },
{ prop: 'version', label: '版本号', show: true }, { prop: 'version', label: '版本号', show: true },
...@@ -210,7 +204,18 @@ export default { ...@@ -210,7 +204,18 @@ export default {
pageNum: 1, pageNum: 1,
pageSize: 20, pageSize: 20,
fieldName: '' fieldName: ''
} },
dicts: new Map([
['columnName', '字段名称'],
['columnComment', '字段注释'],
['dataDefault', '数据默认值'],
['columnKey', '是否主键'],
['columnNullable', '是否允许为空'],
['dataType', '数据类型'],
['dataLength', '数据长度'],
['dataPrecision', '数据精度'],
['dataScale', '数据小数位']
])
} }
}, },
created () { created () {
...@@ -272,15 +277,6 @@ export default { ...@@ -272,15 +277,6 @@ export default {
this.single = selection.length !== 1 this.single = selection.length !== 1
this.multiple = !selection.length this.multiple = !selection.length
}, },
/** 新增按钮操作 */
handleAdd () {
this.showOptions.data = {}
this.showOptions.showList = false
this.showOptions.showAdd = true
this.showOptions.showEdit = false
this.showOptions.showDetail = false
this.$emit('showCard', this.showOptions)
},
/** 修改按钮操作 */ /** 修改按钮操作 */
handleEdit (row) { handleEdit (row) {
this.showOptions.data.id = row.id || this.ids[0] this.showOptions.data.id = row.id || this.ids[0]
...@@ -341,6 +337,9 @@ export default { ...@@ -341,6 +337,9 @@ export default {
} else { } else {
return <el-tag type="warning">{dictLabel}</el-tag> return <el-tag type="warning">{dictLabel}</el-tag>
} }
},
fieldNameFormatter (row, column, cellValue, index) {
return this.dicts.get(cellValue)
} }
} }
} }
......
...@@ -5,12 +5,14 @@ ...@@ -5,12 +5,14 @@
<el-col :span="4"> <el-col :span="4">
<el-tree <el-tree
:data="treeOptions" :data="treeOptions"
default-expand-all
ref="tree" ref="tree"
node-key="id" node-key="id"
empty-text="加载中,请稍后" empty-text="加载中,请稍后"
:props="defaultProps" :props="defaultProps"
default-expand-all
:expand-on-click-node="false"
@node-click="handleNodeClick" @node-click="handleNodeClick"
:render-content="renderContent"
></el-tree> ></el-tree>
</el-col> </el-col>
<el-col :span="20" style="border-left: 2px solid #aaa;"> <el-col :span="20" style="border-left: 2px solid #aaa;">
...@@ -284,12 +286,24 @@ export default { ...@@ -284,12 +286,24 @@ export default {
this.queryParams.pageNum = val this.queryParams.pageNum = val
this.getList() this.getList()
}, },
renderContent (h, { node, data, store }) {
if (node.level === 1) {
data.icon = 'icon iconfont icon-weidu'
} else {
data.icon = 'icon iconfont icon-zhibiao'
}
return (
<span class="custom-tree-node">
<i class={data.icon}></i>
<span>{node.label}</span>
</span>)
},
/** 节点单击事件 */ /** 节点单击事件 */
handleNodeClick (data) { handleNodeClick (data) {
if ('database' === data.type) { if (data.type === 'database') {
this.queryParams.sourceId = data.id this.queryParams.sourceId = data.id
this.queryParams.tableId = '' this.queryParams.tableId = ''
} else if ('table' === data.type) { } else if (data.type === 'table') {
this.queryParams.tableId = data.id this.queryParams.tableId = data.id
this.queryParams.sourceId = '' this.queryParams.sourceId = ''
} }
...@@ -317,4 +331,13 @@ export default { ...@@ -317,4 +331,13 @@ export default {
.right-toolbar { .right-toolbar {
float: right; float: right;
} }
::v-deep .custom-tree-node {
flex: 1;
display: flex;
font-size: 14px;
.icon {
margin-right: 5px;
}
}
</style> </style>
<template> <template>
<div class="app-container"> <div class="app-container">
<el-card class="box-card" shadow="always"> <el-card class="box-card" shadow="always">
<div slot="header" class="clearfix">
<span>{{ title }}</span>
</div>
<div :style="classCardbody"> <div :style="classCardbody">
<el-row> <el-row>
<el-col :span="24"> <el-col :span="24">
...@@ -86,9 +83,8 @@ export default { ...@@ -86,9 +83,8 @@ export default {
return { return {
classCardbody: { classCardbody: {
overflow: 'auto', overflow: 'auto',
height: document.body.offsetHeight - 240 + 'px' height: document.body.offsetHeight - 170 + 'px'
}, },
title: 'SQL工作台',
// 数据源数据字典 // 数据源数据字典
sourceOptions: [], sourceOptions: [],
sqlDataSource: undefined, sqlDataSource: undefined,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment