【开源】SpringBoot框架开发无代码动态表单系统

在这里插入图片描述


目录

  • 一、摘要
    • 1.1 项目介绍
    • 1.2 项目录屏
  • 二、功能模块
    • 2.1 动态类型模块
    • 2.2 动态文件模块
    • 2.3 动态字段模块
    • 2.4 动态值模块
  • 三、系统设计
    • 3.1 用例设计
    • 3.2 数据库设计
      • 3.2.1 动态类型表
      • 3.2.2 动态文件表
      • 3.2.3 动态字段表
      • 3.2.4 动态值表
  • 四、系统展示
  • 五、核心代码
    • 5.1 查询档案类型
    • 5.2 新增档案类型
    • 5.3 删除档案子项
    • 5.4 编辑档案额外字段
    • 5.5 添加档案额外字段
  • 六、免责说明


一、摘要

1.1 项目介绍

基于Vue+SpringBoot+MySQL的无代码平台的表单平台,包括了系统数据中心模块,用来存放管理系统通用的模块,另外分别设计了动态类型模块、动态文件模块、动态字段模块和动态值模块这四大模块,用于实现档案管理系统的核心表单逻辑。

1.2 项目录屏


二、功能模块

本文设计的无代码平台的表单系统的包括了系统数据中心模块,用来存放管理系统通用的模块,另外分别设计了动态类型模块、动态文件模块、动态字段模块和动态值模块这四大模块,用于实现档案管理系统的核心表单逻辑。

在这里插入图片描述

2.1 动态类型模块

动态表单类型是灵活的类型,允许自定义表单字段,根据业务情况,表格收集的信息可能会有所不同,动态表单类型允许根据业务需求自由添加、修改或删除表单字段,以满足特定业务需求。动态表单类型可以根据用户的操作和需求,自愿设置输入框、选项等特定页签,提高用户填写表单的效率和体验,采用动态表单类型使管理员更容易管理表单,只需在后台进行相关设置,即可轻松修改、删除或添加表单,提高管理效率。使用动态表单类型可以帮助您避免由于不断变化的业务需求而频繁更改代码,降低软件开发成本,并节省时间和资源,动态表单类型在数据收集、表单管理和开发成本方面具有重要意义,通过采用动态表单类型,可以快速灵活地响应各种业务场景的表单需求,提高用户体验和管理效率。

2.2 动态文件模块

动态文件模块是一种无代码平台表单系统钟,用于显示用户发布的图像、视频和动态信息等文件的模块,动态文件模块让用户更直观地了解感兴趣的人的最新动向,在动态文件模块中,用户可以看到表单的动态内容,以增加用户使用该平台的兴趣和满意度,动态文件模块支持不同类型的文件上传,如照片、视频、音频等,为用户提供更丰富的内容表示,通过动态文件模块,用户可以轻松地分享他们的生活、知识和经验,吸引更多用户的兴趣和参与。用户可以将自己的照片、视频等文件直接上传到动态文件模块,动态文件模块便于用户之间的通信和交互。通过动态文件模块,可以增强用户体验,丰富内容表达,方便文件管理和共享,增强平台的交互性,吸引更多用户加入平台。它可以增加用户的活动性和参与度。

2.3 动态字段模块

动态字段模块是用于在信息管理系统中动态添加、删除或更改字段的模块,随着市场和商业环境的变化,公司必须不断调整其信息管理系统,以满足新的业务需求。动态字段模块可以满足这一需求,使公司能够灵活地添加、删除或更改字段,以跟上业务变化,动态字段模块可帮助公司更好地管理数据,避免数据重复或关键信息丢失,并提高数据的准确性和质量,动态字段模块支持快速添加新字段,这将使组织拥有更多的数据维度和更丰富的数据信息,提高其数据分析能力,并更好地支持其决策,动态字段模块简化了信息管理系统的开发和维护过程,减少了手动工作和编码,并降低了开发和维护成本。动态字段模块对于信息管理系统来说是非常必要的,通过动态字段模块,企业可以灵活地添加、删除或更改字段,以满足不断变化的业务需求,同时提高数据的准确性和质量,增强数据分析能力,改进系统开发和维护,简化活动流程,带来更多业务价值。

2.4 动态值模块

动态值模块是用于记录和管理用户行为以及动态变化数据的软件和应用程序,动态值模块可以记录和反映用户在平台上的活动,如文件的具体字段内容等,可以直观地表达用户的行为和态度,动态值模块分析用户行为,以了解用户的兴趣和需求,并向平台推荐更准确的内容和服务,动态值模块可以深入分析用户行为数据,提取用户需求和痛点,帮助平台制定更准确的产品策略,提高用户满意度,动态值模块为平台运营和决策提供有价值的数据支持,优化运营策略,提高市场竞争力。


三、系统设计

3.1 用例设计

在这里插入图片描述

3.2 数据库设计

3.2.1 动态类型表

在这里插入图片描述

3.2.2 动态文件表

在这里插入图片描述

3.2.3 动态字段表

在这里插入图片描述

3.2.4 动态值表

在这里插入图片描述


四、系统展示

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


五、核心代码

5.1 查询档案类型

@ApiOperation(value = "查询档案类型")
public List<ArCommonArchive> getByParentIdInTree(String parentId,Boolean openDataFilter) {
    List<ArCommonArchive> list = new ArrayList<>();
    QueryWrapper<ArCommonArchive> qw = new QueryWrapper<>();
    qw.eq("parent_id",parentId);
    qw.orderByAsc("sort_order");
    list = iArCommonArchiveService.list(qw);
    list = setInfo(list);
    for (ArCommonArchive arCommonArchive : list) {
        arCommonArchive.setChildren(getByParentIdInTree(arCommonArchive.getId(),openDataFilter));
    }
    return list;
}

5.2 新增档案类型

@SystemLog(about = "新增A档案类型", type = LogType.DATA_CENTER, doType = "CE11")
@ApiOperation(value = "新增A档案类型")
@RequestMapping(value = "/add", method = RequestMethod.POST)
public Result<Object> add(ArCommonArchive archive){
    User currUser = securityUtil.getCurrUser();
    if(isRepeatPrefixArchive(archive.getNumberHeader())) {
        return ResultUtil.error("档案类型前缀已存在,不能重复添加");
    }
    archive.setFilerTime(DateUtil.now());
    archive.setFilerNumber(currUser.getUsername());
    archive.setFilerName(currUser.getNickname());
    iArCommonArchiveService.saveOrUpdate(archive);
    return ResultUtil.success();
}

5.3 删除档案子项

@SystemLog(about = "删除B档案子项", type = LogType.DATA_CENTER, doType = "CE08")
@ApiOperation(value = "删除B档案子项")
@RequestMapping(value = "/deleteArchiveItem", method = RequestMethod.POST)
public Result<Object> deleteArchiveItem(@RequestParam String id){
    ArCommonArchiveItem acai = iArCommonArchiveItemService.getById(id);
    if(acai == null) {
        return ResultUtil.error("档案已被删除");
    }
    iArCommonArchiveItemService.removeById(acai.getId());
    return ResultUtil.success("档案类型删除成功");
}

5.4 编辑档案额外字段

@SystemLog(about = "编辑C档案额外字段", type = LogType.DATA_CENTER, doType = "CE05")
@RequestMapping(value = "/editArchiveField", method = RequestMethod.POST)
@ApiOperation(value = "编辑C档案额外字段")
public Result<Object> editArchiveField(@RequestParam String id,@RequestParam String title,@RequestParam String remark,@RequestParam float sortOrder,@RequestParam(required = false,defaultValue = "input") String type,@RequestParam(required = false,defaultValue = "") String typeValue) {
    ArCommonArchiveField acaf = iArCommonArchiveFieldService.getById(id);
    if(acaf == null) {
        return ResultUtil.error("该字段已被删除");
    }
    acaf.setTitle(title);
    acaf.setRemark(remark);
    acaf.setSortOrder(BigDecimal.valueOf(sortOrder).setScale(3,RoundingMode.UP));
    acaf.setSpecialType(type);
    acaf.setSpecialRemark(typeValue);
    iArCommonArchiveFieldService.saveOrUpdate(acaf);
    return ResultUtil.success();
}

5.5 添加档案额外字段

@SystemLog(about = "添加C档案额外字段", type = LogType.DATA_CENTER, doType = "CE03")
@RequestMapping(value = "/addArchiveField", method = RequestMethod.POST)
@ApiOperation(value = "添加C档案额外字段")
public Result<ArCommonArchiveField> addArchiveField(@RequestParam String typeId) {
    ArCommonArchiveField field = new ArCommonArchiveField();
    field.setTypeId(typeId);
    field.setTitle("额外字段标题");
    field.setRemark("可以在这里输入字段备注");
    field.setSpecialType("input");
    field.setSpecialRemark("");
    field.setSortOrder(BigDecimal.ZERO);
    iArCommonArchiveFieldService.saveOrUpdate(field);
    return new ResultUtil<ArCommonArchiveField>().setData(field);
}

六、免责说明

  • 本项目仅供个人学习使用,商用授权请联系博主,否则后果自负。
  • 博主拥有本软件构建后的应用系统全部内容所有权及独立的知识产权,拥有最终解释权。
  • 如有问题,欢迎在仓库 Issue 留言,看到后会第一时间回复,相关意见会酌情考虑,但没有一定被采纳的承诺或保证。

下载本系统代码或使用本系统的用户,必须同意以下内容,否则请勿下载!

  1. 出于自愿而使用/开发本软件,了解使用本软件的风险,且同意自己承担使用本软件的风险。
  2. 利用本软件构建的网站的任何信息内容以及导致的任何版权纠纷和法律争议及后果和博主无关,博主对此不承担任何责任。
  3. 在任何情况下,对于因使用或无法使用本软件而导致的任何难以合理预估的损失(包括但不仅限于商业利润损失、业务中断与业务信息丢失),博主概不承担任何责任。
  4. 必须了解使用本软件的风险,博主不承诺提供一对一的技术支持、使用担保,也不承担任何因本软件而产生的难以预料的问题的相关责任。

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/366306.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

智慧文旅:驱动文化与旅游融合发展的新动力

随着科技的快速发展和人们生活水平的提高&#xff0c;文化和旅游的融合成为了时代发展的必然趋势。智慧文旅作为这一趋势的引领者&#xff0c;通过先进的信息技术手段&#xff0c;推动文化与旅游的深度融合&#xff0c;为产业的发展注入新的活力。本文将深入探讨智慧文旅如何成…

数据库运维工作量直接减少 50%,基于大模型构建智能问答系统的技术分享

本文源自百度智能云数据库运维团队的实践&#xff0c;深入探讨了基于大模型构建「知识库智能问答系统」的设计过程和应用。 全文包括了总体的技术方案选型、各个模块的设计实现、重点难点问题的突破、以及目前的落地场景应用等。 该系统自从内部上线以来&#xff0c;整体的回…

大语言模型之LlaMA系列-LlaMA 2及LlaMA_chat(下)

多转一致性的系统消息 - System Message for Multi-Turn Consistency 在对话设置中&#xff0c;某些指示应适用于所有对话轮次。 例如&#xff0c;简洁地响应&#xff0c;或"充当"某个公众人物。当我们向Llama 2-Chat提供此类指示时&#xff0c;后续应响应始终遵守约…

十、Qt三维图表

一、Data Visualization模块概述 Data Visualization的三维显示功能主要有三种三维图形来实现&#xff0c;三各类的父类都是QAbstract3DGraph&#xff0c;从QWindow继承而来。这三类分别是&#xff1a;三维柱状图Q3DBar三维空间散点Q3DScatter三维曲面Q3DSurface 1、相关类的…

混乱字母排序——欧拉路数论

题目描述 小明接到一个神秘的任务&#xff1a;对于给定的 n 个没有顺序的字母对&#xff08;无序代表这两个字母可以前后顺序颠倒&#xff0c;区分大小写&#xff09;。请构造一个有 (n1) 个字母的混乱字符串使得每个字母对都在这个字符串中出现。 输入输出格式 输入格式 第…

蓝桥杯备战——10.超声波模块

1.分析原理图 蓝桥杯单片机板子的原理图做的简直是依托答辩&#xff0c;乱糟糟的不说还弄成黑白的&#xff0c;明明很简单的东西&#xff0c;弄成一大堆。 可以看到&#xff0c;J2跳线帽如果P10接N_A1,P11接N_B1就是用作超声波功能。N_A1用作发生超声波功能&#xff0c;而N_B1…

【blender插件】(1)快速开始

特性 blender的python API有如下特性: 编辑用户界面可以编辑的任意数据(场景,网格,粒子等)。修改用户首选项、键映射和主题。运行自己的配置运行工具。创建用户界面元素,如菜单、标题和面板。创建新的工具。场景交互式工具。创建与Blender集成的新渲染引擎。修改模型的数据…

pinctrl/gpio子系统(2)-gpio子系统介绍及驱动源码简单分析

文章目录 1.gpio子系统api2.gpio相关of函数3.gpio子系统驱动分析3.1设备树信息分析3.2驱动程序分析 4.最后 1.gpio子系统api 这里的api都是基于gpio的编号去进行操作 1&#xff09;gpio_request&#xff0c;用于申请一个GPIO管脚 int gpio_request(unsigned gpio, const char …

前缀和 差分

差分和前缀和都是算法里边比较重要的知识点&#xff0c;不过学习的难度并不高&#xff0c;这篇文章会讲解相关的内容。 1. 前缀和怎么玩 1&#xff09;一维前缀和 在该数之前&#xff0c;包括该数的所有数之和&#xff0c;有点类似高中学的数列的前n项和Sn。 2&#xff09;二维…

【sentinel流量卫兵搭建与微服务整合】

sentinel流量卫兵搭建与微服务整合 搭建sentinel dashboard控制台微服务整合 搭建sentinel dashboard控制台 1、下载 官网链接 由于官网github网络原因&#xff0c;导致长时间下载失败。 网盘链接 网盘提取码&#xff1a;dwgj 2、运行 将下载jar包放在任意非中文、不包含特殊…

专有云 ABC Stack 联合银联商务打造金融级云平台,入选《2024 央国企上云用云典型案例》

2024 年 1 月&#xff0c;在中国信通院《2024 央国企上云用云典型案例》征集中&#xff0c;百度智能云携手银联商务提交的《银联商务金融级云平台》成功入选「上云用云解决方案典型案例」。 在国家「1 朵央企云统领&#xff0c;N 朵行业云共载&#xff0c;M 朵私有云共生」的央…

jenkins 下载插件sentry-cli失败 证书过期

现状 npm set ENTRYCLI_CDNURLhttps://cdn.npm.taobao.org/dist/sentry-cli npm set sentrycli_cdnurlhttps://cdn.npm.taobao.org/dist/sentry-cli 原因是npm原域名停止解析&#xff0c;在访问上面sentry-cli的cdn资源的时候 证书过期无法下载。 解决&#xff1a; 替换证书过期…

BL808 Linux支持WIFI

BL808芯片介绍 BL808是高度集成的AIoT芯片组&#xff0c;具有Wi-Fi/BT/BLE/Zigbee等无线互联单元&#xff0c;包含多个 CPU 以及音频编码译码器、视频编码译码器和 AI 硬件加速器&#xff0c;适用于各种高性能和低功耗应用领域。 外围接口包括 USB2.0、 Ethernet、 SD/MMC、 …

【python3.8 pre-commit报错】记录pre-commit install报错

一、问题 在执行pre-commit install --allow-missing-config命令时&#xff0c;报错 Traceback (most recent call last):File "C:\ProgramData\Anaconda3\envs\py38\lib\runpy.py", line 192, in _run_module_as_mainreturn _run_code(code, main_globals, None,F…

【Linux】 Linux编译器-gcc/g++使用

&#x1f497;个人主页&#x1f497; ⭐个人专栏——Linux学习⭐ &#x1f4ab;点击关注&#x1f929;一起学习C语言&#x1f4af;&#x1f4ab; 目录 导读1. Linux编译器-gcc/g使用1.1 引入1.2 初识gcc/g1.3 程序运行的四个阶段1.3.1 预处理1.3.2 编译1.3.3 汇编1.3.4 链接 1.…

Git―基本操作

Git ⛅认识 Git⛅安装 GitCentos(7.6)Ubuntu ⛅Git―基本操作创建本地仓库&#x1f342;配置本地仓库&#x1f342;工作区, 暂存区, 版本库&#x1f342;版本库工作区 添加文件&#x1f342;查看文件&#x1f342;修改文件&#x1f342;版本回退&#x1f342;☃️案例 撤销修改…

【Java 数据结构】二叉树

二叉树 1. 树型结构&#xff08;了解&#xff09;1.1 概念1.2 概念&#xff08;重要&#xff09;1.3 树的表示形式&#xff08;了解&#xff09;1.4 树的应用 2. 二叉树&#xff08;重点&#xff09;2.1 概念2.2 两种特殊的二叉树2.3 二叉树的性质2.4 二叉树的存储2.5 二叉树的…

Error: Projects must list all files or use an ‘include‘ pattern.

博主介绍&#xff1a;✌全网粉丝5W&#xff0c;全栈开发工程师&#xff0c;从事多年软件开发&#xff0c;在大厂呆过。持有软件中级、六级等证书。可提供微服务项目搭建与毕业项目实战&#xff0c;博主也曾写过优秀论文&#xff0c;查重率极低&#xff0c;在这方面有丰富的经验…

汽车软件开发模式的5个特点

汽车软件开发属于较为复杂的系统工程&#xff0c;经常让来自不同知识背景的工程师在观点交锋时出现分歧。在解决复杂性和对齐讨论基准时&#xff0c;可以通过勾勒出讨论对象最关键的几个特征来树立典型概念。本文旨在通过5个典型特点的抽取&#xff0c;来勾勒出汽车软件开发模式…

023 for循环详解

什么是for循环 // 练习1 int odd 0; int even 0; for (int i 0; i < 100; i) {if (i % 2 0) {even i;} else {odd i;} } System.out.println("奇数和为:" odd ",偶数和为:" even);// 练习2 for (int i 1; i < 1000; i) {if (i % 5 0) {Sy…