带你一步步实现低代码开发平台——低代码配置模块视图配置功能详解

这篇具有很好参考价值的文章主要介绍了带你一步步实现低代码开发平台——低代码配置模块视图配置功能详解。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

背景

上一篇介绍了视图整体设计(https://blog.csdn.net/seawaving/article/details/130764669),今天重点介绍下具体的视图配置功能。

视图类型

根据用途不同,将视图进行了分类,建模产生以下类型的视图

  • 列表视图

  • 新增视图

  • 修改视图

  • 查看视图

  • 树视图

  • 树表视图

  • 参照视图

  • 树参照视图

  • 树表参照视图

  • 主从视图(待实现)

  • 自定义视图(待实现)

列表视图

简介

对于大多数业务实体管理,在系统中有个功能菜单对应,最常见的情况就是一个列表页面,如接口平台模块下的应用管理功能,如下图所示
image.png
该页面对应着列表视图,包括了常见的查询、新增、修改、查看页面(删除功能不是一个页面,而仅是一个功能按钮,位于列表页面),对应着新增视图、修改视图和查看视图。

列表视图是最常用,也是最复杂的,下面具体来说一下。

整体配置

列表视图配置功能进行了抽象,主要分为四个区域的配置,分别是页面按钮,查询条件、查询结果和行按钮。
image.png
按钮配置分为页面按钮和行按钮。页面按钮位于查询区域和查询结果表格之间,通常对应着全局操作或批量操作,如刷新、新增、批量删除、导入、导出等。行按钮固化在查询结果表格最后一列,作为操作列,用于对当前行记录操作,如修改、删除、启用、停用等。

平台会自动读取视图对应的实体的属性,然后展示为列表项,这些列表项可以通过拖动的方式,快速复制到查询条件区域和查询结果区域,同时提供了全量复制和全量清空的功能,可拖动排序,可修改属性配置。

按钮配置

页面按钮和行按钮,配置如下
image.png
编码是按钮的唯一性标识,也对应着点击按钮触发的方法名。
内容属性中可以直接写js方法体,该属性非必须,常用的方法实现,往往已经在mixin中实现了,只有自定义方法,或想覆盖mixin默认实现的情况下才需要填充内容。
图标,如设置了,则会生成带图标的按钮。
是否需要确认,若是,则需要进一步输入确认信息,代码生成时会调用confirm对话框。
是否更多,主要是考虑某些功能的功能项比较多,从而对应的按钮比较多,一行放不下或者影响美观和直观性,为了节省行按钮占用空间,一些冷僻不常用功能,统一放到一个“更多”的下拉菜单中。

此外,为了提升配置效率,系统还提供了按钮模板功能,将常用按钮如新增、删除、刷新等做成模板,后面会详细说,这里只是简单提一下。

查询条件

数据查询是系统提供的重要能力,放到列表视图,顶部设立一个查询区域,里面放若干查询条件。查询条件的数量视具体功能,少则1-3个,多则十几个。为减少空间占用,查询区域是可折叠的。

查询条件的属性如下:
image.png
默认从实体属性同步过来数据类型、控件类型等,需要根据实际需要调整下,如隐藏作为隐含查询条件,控制只读限定查询范围,设置默认值自动填充等。

对于文本类属性,可视化选择相等、模糊匹配、以开始和以结尾,灵活设置匹配规则。
对于数据字典类的属性,若为下拉列表,平台会自动附加允许多选控制。
对于日期类、数值类的属性,查询单个值没业务意义,例如合同金额等于100万,而是需要进行范围查询。
查询区域会自动生成起止范围选择,使用时可灵活选择小于100万,或大于500万,还可以组合控制在200万与300万之间。

查询结果

查询结果是重要的数据展示部分,配置如下图
image.png
其中的大部分属性也是从实体同步过来的,只有少量属性需要按需配置。
名称对应着表格的列名,可根据实际情况调整。
编码对应着属性名,不能随意修改。对于数据字典,平台会自动按约定取字典编码+Name的属性,即转化后的显示名称,该属性是在controller中将entity转化成vo环节处理的。同理,对于外部关联实体,如用户的组织机构属性,也是同样的处理,不过转换的显示文本是实体的主属性。
宽度即表格的列宽,按需设置。列数较少的时候,可以不设置,el-table会平均分配各列,设置了反而会出现表格占不满页面影响美观的问题。列数多的时候如不设置,基于平均分配原则,每列显示很窄,挤在一块同样影响美观,这时候需要按需设置,会出现水平滚动条。
是否支持排序,若选是,则开启后端远程排序。这地方需要注意的是,对于数据字典和外部关联实体,系统会自动视为不允许后端远程排序。主要原因在于这部分属性排序业务意义不大,次要原因在于属性名做了前面所说的附加Name处理,传到后端后,后端会因为找不到字段而报错,这地方可以考虑在后面再优化,使其也支持排序。
格式化方法,用于格式化输出的,目前实现了日期的两个,格式化输出到秒的yyyy-MM-dd HH:mm:ss和到天的yyyy-MM-dd,直接下拉选择。后续可以按需扩展,如增加货币的千分位逗号、人民币/美元符号,控制小数位数,显示百分比等。
是否悬浮显示,不多说,就是鼠标悬停弹出悬浮框显示该单元格完整内容,比较实用的功能。
是否显示,字面意思,这地方只是控制是否默认加入查询结果列显示,用户在使用的时候,还是可以通过表格右上方的列配置功能,将该属性加入到列表中来。

新增、修改、查看视图

这三种类型的视图非常类似,也很好理解。
比列表视图简单一些,少了按钮配置,相当于系统预置了保存和关闭按钮。
实际上功能也做预留,可以扩展为按钮可配置,具体还是以后再看看这么做的必要性。
image.png
同样可以批量复制实体属性或批量清空,修改某个属性的配置。

可以配置好新增视图,然后使用复制新增功能快速生成修改与查看视图。
image.png

这地方其实有个重要的点,即新增、修改、查看,是公用一个视图还是多个视图,多个视图也有两个选择,新增和修改公用1个,查看作为1个。

两种方案其实各有优缺点。按照职责单一原则,应该分开,但在大多数情况下,新增和修改的属性、逻辑是相同的,因此很多开发平台、开发框架都是复用的。复用意味着差异性需要写if else语句,如新增和修改的保存,调用的服务是不同的,某些实体的编码一旦创建,不允许修改,需要在修改视图中设置为只读。分开就各写各的逻辑,不过后续要新加字段属性,意味着要同步修改多个视图(新增、修改、查看)。

这个问题上,我最终还是选择了分开,有了平台代码生成的能力加持,开发效率不再是问题,因此还是遵循职责单一原则,逻辑上简单,不需要分情况去写分支语句,易扩展,遇到需要细力度的控制权限的场景,也能简单化处理。

查看原本也想做差异化显示,把所有属性都转换成文本,如数据字典编码、外部实体关联,去除下拉列表、日期控件等。但在实际实现的时候,遇到了问题,例如一些属性是否显示,受其他属性值的影响,这部分逻辑要处理,后来放弃了,内容还是跟修改视图相同(注意是相同,不是公用),只是把保存按钮去除了。毕竟大多数情况下,并不需要把查看权限跟修改权限分离开。

树视图、树表视图

简介

对于自关联的实体,如组织机构,实际数据是有层次,会展示为一棵树。该视图通过实体模型属性中的是否上级就可以自动处理,无需额外配置。
列表视图如果仅仅是一个表格平铺,难以展现层次关系,直观性很差。这时候就需要树表视图,左边是一个树,右边是一个列表,实际上树表视图是一张由树视图和列表视图组合而成的复合视图。
带你一步步实现低代码开发平台——低代码配置模块视图配置功能详解

配置

image.png
属性大部分配置在前面都涉及到,不在赘述。
是否显示这里多加了一个自定义,可以写js表达式,主要是考虑到实体编辑时一些属性是否显示需要根据其他属性的取值来决定。例如,按钮配置时,是否需要确认,会影响确认信息属性的显示与隐藏。

参照视图、树参照视图、树表参照视图

参照视图是用于供其他实体关联属性时使用的选择页面,如用户需要指定组织机构,具体又可以分为三种:普通参照、树参照和树表参照参照。

普通参照:如在接口平台配置应用的数据权限,需要选择应用,一个数据列表就可以了,对应参照视图。
image.png
树参照:用户维护时,选择组织机构,需要一棵树,对应树参照视图。
带你一步步实现低代码开发平台——低代码配置模块视图配置功能详解

树表参照:选择用户时,需要左树右表,左边为组织机构树,右边为用户列表,对应树参照视图。树参照视图实际是一张复合视图,由树视图和列表视图组合而来。

主从视图、自定义视图

此外,还有两种视图,平台做了规划,尚未实现,在这也顺便提一下。
一是主从视图,对于主从关系的实体,如销售订单,使用主从视图,实际跟树表视图类似,也是一种复合视图。
二是自定义视图,用于一些个性化的页面,无法进行标准化配置,通过原生开发实现,指定路径,纳入到整个体系中来。

开发平台资料

平台名称:一二三开发平台
简介: 企业级通用开发平台
设计资料:csdn专栏
开源地址:Gitee
开源协议:MIT
欢迎收藏、点赞、评论,你的支持是我前行的动力。文章来源地址https://www.toymoban.com/news/detail-459632.html

到了这里,关于带你一步步实现低代码开发平台——低代码配置模块视图配置功能详解的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • 真的不能再详细了,2W字保姆级带你一步步用Pytorch搭建卷积神经网络实现MNIST手写数字识别

    真的不能再详细了,2W字保姆级带你一步步用Pytorch搭建卷积神经网络实现MNIST手写数字识别

    目录 一、引言(环境)  二、正文 1. 代码基本情况介绍 2. MNIST数据集介绍         3. 代码输出结果介绍 数据集取样: 训练信息输出: 前三次训练成果以及预测: 八次训练的结果:  4. 代码拆解讲解 基本的参数设定 MNIST数据集下载、保存与加载 神经网络模型 训练前的准

    2023年04月20日
    浏览(14)
  • 【OpenAI】Python:基于 Gym-CarRacing 的自动驾驶项目(1) | 前置知识介绍 | 项目环境准备 | 手把手带你一步步实现

    【OpenAI】Python:基于 Gym-CarRacing 的自动驾驶项目(1) | 前置知识介绍 | 项目环境准备 | 手把手带你一步步实现

     猛戳!跟哥们一起玩蛇啊  👉 《一起玩蛇》🐍  💭 写在前面:  本篇是关于自动驾驶专业项目 Gym-CarRacing 的博客。GYM-Box2D CarRacing 是一种在 OpenAI Gym 平台上开发和比较强化学习算法的模拟环境。 本专栏提供完整可运行代码,包括环境安装的详细讲解,将通过 \\\"理论+实践

    2024年02月03日
    浏览(55)
  • 【Python】OpenAI:基于 Gym-CarRacing 的自动驾驶项目(1) | 前置知识介绍 | 项目环境准备 | 手把手带你一步步实现

    【Python】OpenAI:基于 Gym-CarRacing 的自动驾驶项目(1) | 前置知识介绍 | 项目环境准备 | 手把手带你一步步实现

     猛戳!跟哥们一起玩蛇啊  👉 《一起玩蛇》🐍  💭 写在前面:  本篇是关于自动驾驶专业项目 Gym-CarRacing 的博客。GYM-Box2D CarRacing 是一种在 OpenAI Gym 平台上开发和比较强化学习算法的模拟环境。 本专栏提供完整可运行代码,包括环境安装的详细讲解,将通过 \\\"理论+实践

    2024年02月02日
    浏览(18)
  • 用Vue如何实现低代码开发平台?

    用Vue如何实现低代码开发平台?

    在众多开发技术中,Vue组件化开发技术以其卓越的灵活性和高效性备受瞩目。 低代码平台相信不少人知道它的存在,而且现在大部分公司都在开发自己的低代码平台, 首先我们来看看低代码平台可视化界面: 官网:https://www.jnpfsoft.com/?csdn,感兴趣自行去体验。 可以看到,大

    2024年02月16日
    浏览(13)
  • 基于Python语言Django+Layui实现的低代码开发平台

    基于Python语言Django+Layui实现的低代码开发平台

    一款 Python 语言基于Django、Layui、MySQL等框架精心打造的一款模块化、高性能、企业级的敏捷开发框架,本着简化开发、提升开发效率的初衷触发,框架自研了一套个性化的组件,实现了可插拔的组件式开发方式:单图上传、多图上传、下拉选择、开关按钮、单选按钮、多选按

    2024年02月11日
    浏览(11)
  • Android:手把手带你入门跨平台UI开发框架Flutter

    Android:手把手带你入门跨平台UI开发框架Flutter

    定义:一款Google出品开源的移动客户端UI开发框架(SDK) 作用:用一套代码同时在Android、iOS上快速构建高质量、高性能的原生用户界面 开发语言:Dart语言(高开发效率、高性能等) 2. 特点 Flutter的主要特点包括:使用自身的高性能渲染引擎进行渲染 Dart编程语言语言 具体介

    2024年04月13日
    浏览(46)
  • 带你开发一个远程控制项目---->STM32+标准库+阿里云平台+传感器模块+远程显示-------之 阿里云平台项目建造。

    带你开发一个远程控制项目---->STM32+标准库+阿里云平台+传感器模块+远程显示-------之 阿里云平台项目建造。

    第一篇章: (13条消息) 带你开发一个远程控制项目---->STM32+标准库+阿里云平台+传感器模块+远程显示。_海口飞鹏岛科技有限公司的博客-CSDN博客 . . 务必完成如下     三个 ,否则无法在下一个篇章中进行. . . . 本次文章是指引开发者进行开发阿里云平台建造设备项目,可观

    2024年02月06日
    浏览(12)
  • 什么是低代码开发平台?国内外7款低代码开发平台对比

    什么是低代码开发平台?国内外7款低代码开发平台对比

    在现代商业环境中,企业需要不断开发和更新软件来满足市场需求和客户要求。 然而,传统的软件开发过程通常需要大量的时间和资源,使得企业难以快速响应市场变化。这时候,低代码开发平台就成为了解决方案。 运用低代码开发平台,你可以不使用任何代码工具, 在很

    2023年04月08日
    浏览(7)
  • 国内十大无代码平台,无代码app开发平台有哪些?

    国内十大无代码平台,无代码app开发平台有哪些?

    相信大家都知道,无代码开发就是软件开发者无需通过手工编码就可以达到目标需求的一种软件开发方式,降低了程序员对重复功能代码编写的任务量,使应用软件的开发效率得到了大幅提升,所以就备受欢迎,那么市面上哪些无代码APP是比较有名的呢? Digdag Digdag 是一款开源

    2024年02月08日
    浏览(11)
  • 低代码开发平台

    低代码开发平台

    低代码开发平台(LCDP)本身也是一种软件,它为开发者提供了一个创建应用软件的开发环境。看到“开发环境”几个字是不是很亲切?对于程序员而言,低代码开发平台的性质与IDEA、VS等代码IDE(集成开发环境)几乎一样,都是服务于开发者的生产力工具。 与传统代码IDE不

    2024年01月17日
    浏览(12)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包