# DynamicTable **Repository Path**: dengwenjie/DynamicTable ## Basic Information - **Project Name**: DynamicTable - **Description**: SpringBoot动态表格列字段配置,快速实现table字段隐藏显示 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 14 - **Forks**: 6 - **Created**: 2024-12-03 - **Last Updated**: 2025-11-12 ## Categories & Tags **Categories**: spring-boot-ext **Tags**: None ## README
## 使用流程
1、运行系统
本系统基于[若依系统](https://doc.ruoyi.vip/ruoyi/document/hjbs.html "超链接title")开发,可以参考若依文档运行系统(点击可跳转)
2、修改从数据库连接,编辑`resources`目录下的`application-druid.yml`
```js
# 从库数据源
slave:
# 从数据源开关/默认关闭
enabled: true
url: jdbc:mysql://localhost:3306/bussiness_db?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
username: root
password: 12345678
```
将数据源改为您业务系统的数据源
3、登录系统
默认用户名:admin 密码:123456
4、新增表格模型
5、字段设置:【表格模型】列表点击编辑,切换到【字段设置】
(1)默认这里带出的都是数据库表中所有字段
(2)如果有不是数据库表中的字段,也可以新增自定义字段
(3)是否显示列:暂时无用
(4)是否排序列:标识字段是否可以排序
(5)默认宽度:列宽
6、列表设置
在您的业务系统中,同一个数据库表可能对应多个表格视图,系统允许针对每个表格视图配置不同的字段显示,提供更灵活的管理方式
7、第三方业务系统对接
您的业务系统可以使用如下接口对接
接口名称:查询表格字段
请求方式:GET
请求地址:/api/tablecolumn/getTableColumnList
请求参数:
| 参数名称 | 参数解释 | 是否必填 |
| --------- | -------- | -------- |
| modelCode | 模型编码 | 是 |
| tabName | 列表名称 | 是 |
请求结果:
| 参数名称 | 参数解释 |
| ---------- | ---------------------------------------- |
| code | 返回结果:0-成功,其他-失败 |
| msg | 返回消息 |
| fieldName | 字段名称 |
| fieldCode | 字段编码 |
| width | 宽度 |
| fieldOrder | 字段顺序 |
| sortFlag | 是否可以排序:1:可以排序,0:不可以排序 |
返回成功案例:
```json
{
"msg": "操作成功",
"code": 0,
"data": [
{
"fieldName": "负责人",
"fieldCode": "leader",
"width": 100,
"fieldOrder": 0,
"sortFlag": 0
},
{
"fieldName": "邮箱",
"fieldCode": "email",
"width": 100,
"fieldOrder": 1,
"sortFlag": 0
}
]
}
```
8、对接示例
(1)Vue2+Element UI
```js
// 获取表字段列表
export function getColumns(modelCode,tabName) {
return request({
url: 'http://127.0.0.1/api/tablecolumn/getTableColumnList?modelCode=' + modelCode + "&tabName=" + tabName,
method: 'get'
})
}
export default {
name: "Customer",
data() {
return {
// 表格列(从接口获取)
columns: []
};
},
created() {
this.getColumns();
this.getList();
},
methods: {
/** 查询表格列字段 */
getColumns() {
getColumns("Customer","customerList").then(response => {
this.columns = response.data;
});
},
/** 查询客户列表 */
getList() {
this.loading = true;
listCustomer(this.queryParams).then(response => {
this.customerList = response.rows;
this.total = response.total;
this.loading = false;
});
}
}
};
```
```vue