基于jeecgboot的大屏设计器开发——数据源设计(一)
创始人
2025-05-29 19:45:26
0

     因为项目需要,需要开发类似大屏设计器的内容,所以开始考虑开发大屏设计器。

     一、数据库设计

     1、主要先考虑数据源类型,可以根据需要进行增加,包括mysql,oracle,http等。


DROP TABLE IF EXISTS `bs_source_type`;
CREATE TABLE `bs_source_type` (
  `id` varchar(36) NOT NULL COMMENT 'id',
  `code` varchar(32) DEFAULT NULL COMMENT '编码',
  `name` varchar(32) DEFAULT NULL COMMENT '名称',
  `json_value` text COMMENT 'json值',
  `status` int(11) DEFAULT NULL COMMENT '状态',
  `create_by` varchar(50) DEFAULT NULL COMMENT '创建人',
  `create_time` datetime DEFAULT NULL COMMENT '创建日期',
  `update_by` varchar(50) DEFAULT NULL COMMENT '更新人',
  `update_time` datetime DEFAULT NULL COMMENT '更新日期',
  `sys_org_code` varchar(64) DEFAULT NULL COMMENT '所属部门',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

2、 数据源表,保存用实际需要的数据源,同时可以进行测试。

DROP TABLE IF EXISTS `bs_data_source`;
CREATE TABLE `bs_data_source` (
  `id` varchar(36) NOT NULL COMMENT 'id',
  `code` varchar(100) DEFAULT NULL COMMENT '数据源编码',
  `name` varchar(100) DEFAULT NULL COMMENT '数据源名称',
  `type` varchar(10) DEFAULT NULL COMMENT '数据源类型',
  `remark` varchar(200) DEFAULT NULL COMMENT '备注',
  `create_by` varchar(50) DEFAULT NULL COMMENT '创建人',
  `create_time` datetime DEFAULT NULL COMMENT '创建日期',
  `update_by` varchar(50) DEFAULT NULL COMMENT '更新人',
  `update_time` datetime DEFAULT NULL COMMENT '更新日期',
  `sys_org_code` varchar(64) DEFAULT NULL COMMENT '所属部门',
  `config` text COMMENT '数据源配置',
  PRIMARY KEY (`id`) USING BTREE,
  UNIQUE KEY `bs_data_source_code_uni` (`code`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC;

二、online表单设计

   因为上面的数据都需要录入等维护,所以通过online设计表单实现

   因为大盘设计作为单独的模块表单,所以在数据字典增加一个类型大盘表单

 1、bs_source_type表单按照正常的新建一个就可以,如下:

 生成代码也不需要做什么调整,应该直接 就可以用了。

2、bs_data_source表单如下:

 这个主要是用到第一个表的type类型,所以需要进行关联,生成的前后端代码也要做一些调整。

2.1 前端代码

  

首先数据源类型这里需要增加一个onchange事件,以便选择变化的时候进行取值,获取type数据源类型后再把json值取出来

onchange(val) {const that = this;console.log("onchange val=",val);this.sourceForm.sourceType = val;let url = this.url.queryByCode, method = 'get';let params = {code: val};getAction(url,params).then((res)=>{if(res.success){//that.$message.success(res.message);console.log("onchange res=",res);that.dataLink = JSON.parse(res.result.jsonValue);console.log("onchange that.dataLink=",that.dataLink);}else{that.$message.warning(res.message);}}).finally(() => {that.confirmLoading = false;})},

同时根据这个值进行动态显示相应的类型内容

测试

显示出来后进行相应的数据源测试

// 测试dataSourceTest() {const newList = {};this.dataLink.forEach(item => {newList[item.label] = item.value;});this.sourceForm.sourceConfig = JSON.stringify(newList);testConnection(this.sourceForm).then(res => {console.log("testConnection res=",res);if (res.code == "200") {this.testReplyCode = res.code;this.$message.success(res.result);} else {this.$message.error(res.result);this.testReplyCode = null;}});},

后端部分修改下个章节介绍

三、效果如下:

3.1数据源类型

 3.2 数据源编辑与测试

 

 

 

相关内容

热门资讯

AWSECS:访问外部网络时出... 如果您在AWS ECS中部署了应用程序,并且该应用程序需要访问外部网络,但是无法正常访问,可能是因为...
AWSElasticBeans... 在Dockerfile中手动配置nginx反向代理。例如,在Dockerfile中添加以下代码:FR...
银河麒麟V10SP1高级服务器... 银河麒麟高级服务器操作系统简介: 银河麒麟高级服务器操作系统V10是针对企业级关键业务...
北信源内网安全管理卸载 北信源内网安全管理是一款网络安全管理软件,主要用于保护内网安全。在日常使用过程中,卸载该软件是一种常...
AWR报告解读 WORKLOAD REPOSITORY PDB report (PDB snapshots) AW...
AWS管理控制台菜单和权限 要在AWS管理控制台中创建菜单和权限,您可以使用AWS Identity and Access Ma...
​ToDesk 远程工具安装及... 目录 前言 ToDesk 优势 ToDesk 下载安装 ToDesk 功能展示 文件传输 设备链接 ...
群晖外网访问终极解决方法:IP... 写在前面的话 受够了群晖的quickconnet的小水管了,急需一个新的解决方法&#x...
不能访问光猫的的管理页面 光猫是现代家庭宽带网络的重要组成部分,它可以提供高速稳定的网络连接。但是,有时候我们会遇到不能访问光...
Azure构建流程(Power... 这可能是由于配置错误导致的问题。请检查构建流程任务中的“发布构建制品”步骤,确保正确配置了“Arti...