news 2026/9/2 22:28:05

Vue3+ElementPlus的BS端主从表的快速开发

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Vue3+ElementPlus的BS端主从表的快速开发

1、基于代码生成工具的BS端主从表的快速开发

如报销申请单主表和明细从表,数据库设计关系如下所示。

或者根据业务编码关联的报价单主从表设计:

image

为了针对主从表的快速显示和录入,一般主从表同时录入的,我们设计了主从表界面的代码生成处理。

对于报价单和报价单明细表来说,同样也是主从表关系,我们为了方便快速开发,专门设计了代码生成工具界面用来定制主从表显示和编辑界面的生成开发,如下是代码生成工具用于生成BS端的Vue3+ElementPlus的界面代码。

image

通过列出数据库的相关字段,我们可以从中选择用于显示列表,编辑录入、条件处理等条件的字段信息,还可以根据某些字段为指定字典类型的数据绑定操作。

上面界面的选择,也是生成类似Winform的主从表界面的方式来生成BS端的界面内容,生成的界面符合BS端框架的要求,生成相关独立模块的页面代码和相关处理Vue代码等,如下所示。

image

生成的代码经过一些简单调整处理后,就可以很方便的显示出来了。生成的主从表列表界面如下所示。

image

可以看到的内容,有树形列表、主表列表、从表展示,以及常规的增删改查的入口。

对于主从表的数据展示,也是同样通过定制的界面元素进行快速生成。

image

而对于我们关注的主从表直接录入,也是通过整合自定义控件的方式进行快速生成,界面效果展示如下所示。

image

对应从表的记录,我们同通过表格录入的方式,可以输入或者选择内容进行填入。

image

2、Vue3+ElementPlus的BS端主从表实现的具体代码

首先我们来了解下几个视图文件的关系

image

我们先来了解下常规页面的内容的整体界面布局,它包含常规的列表界面,新增、编辑、查看、导入等界面,除了列表页面,其他内容以弹出层对话框的方式进行处理,如下界面示意图所示。

我们分别创建index.vue代表主列表页面内容, search代表查询及列表,view代表查看页面、edit代表新增或者编辑页面(两个页面类似,因此整合一起更精简),import代表导入页面,然后再index页面组合即可。

image

不同的页面模块的区分,有助于代码的管理维护。

image

列表页面的主要逻辑封装在search.vue页面中,包括左侧树形列表区域,查询条件区域、主表记录显示、分页展示区域、从表记录区域等。

image

其中主列表通过获取查询区域控件的条件,通过API进行数据获取,绑定到表格列表即可。

image

但主表记录呈现后,我们单击任何一行主表记录,会出发行单击事件的处理,从而加载从表记录的获取并显示。

image

主从表可以直接录入,它是通过整合自定义控件的方式进行快速生成,界面效果展示如下所示。

image

在编辑界面中,主表和常规单表一样的处理方式,从表记录通过 vxe-table 进行录入的处理。对于产品记录的列表选取,我们通过自定义组件 TableSelector 快速绑定即可即可。

关于自定义组件 TableSelector ,我在随笔《在Vue3+ElementPlus前端中增加表格记录选择的自定义组件,通过结合Popover 弹出框和Input输入框或者按钮选择实现 》中有相关介绍。

image

其实现产品表数据的绑定显示,供表格选择代码如下所示。

image

对于字典记录的下拉列表,我们绑定字典类型即可显示列表供选择了。

image

image

这些我们可以通过字段的属性进行选择不同的录入方式,生成对应的代码即可。

image

我们通过自定义控件的方式,让vxTable的表格编辑界面可定制化,从而可以快速调整表格单元格的输入方式。

通过结合代码生成工具的字段定制的界面生成,可以提高我们对界面元素的快速生成效率和应用效率,极大提高我们的生成率。对于精益求精的代码生成,虽然我们在工具的开发上花费的时间多一些,但是可以极大的提高项目的开发效率,也是值得的。

专注于代码生成工具、.Net/Python 框架架构及软件开发,以及各种Vue.js的前端技术应用。著有Winform开发框架/混合式开发框架、微信开发框架、Bootstrap开发框架、ABP开发框架、SqlSugar开发框架、Python开发框架等框架产品。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/2 5:04:50

空气能选哪个品牌好?纽恩泰全场景适配,南北方都好用

选空气能常遇“地域适配难、场景选不对”问题:北方怕极寒制热差,南方愁潮湿运行不稳,商用/工农业场景更难匹配机型,不少人纠结空气能选哪个品牌好?其实选对全场景适配品牌就省心,纽恩泰作为空气能头部品牌&…

作者头像 李华
网站建设 2026/9/2 19:07:29

kcat命令行工具:5分钟搭建Kafka模拟集群的终极指南

kcat命令行工具:5分钟搭建Kafka模拟集群的终极指南 【免费下载链接】kcat Generic command line non-JVM Apache Kafka producer and consumer 项目地址: https://gitcode.com/gh_mirrors/kc/kcat 还在为复杂的Kafka环境配置而烦恼吗?kcat作为一款…

作者头像 李华
网站建设 2026/9/2 9:31:35

使用OpenCvSharp , Emgu.CV 手搓 视觉识别算法 以及 成果展示

先讲讲思路,图片是一组庞大的矩阵数据,每一个像素点有用数据为五个分别为RGB(三原色),以及XY坐标。也就是说我们能将整张图片每一个像素点的数据提取出来加以分析。那么就可以做到图片识别。源代码会在最下方贴出。首先…

作者头像 李华
网站建设 2026/9/2 2:08:09

基于springboot +web旅游网站系统(源码+数据库+文档)

旅游网站 目录 基于springboot web旅游网站系统 一、前言 二、系统功能演示 三、技术选型 四、其他项目参考 五、代码参考 六、测试参考 七、最新计算机毕设选题推荐 八、源码获取: 基于springboot web旅游网站系统 一、前言 博主介绍:✌️大…

作者头像 李华
网站建设 2026/9/2 21:49:07

基于springboot + vue学生成绩管理系统(源码+数据库+文档)

学生成绩管理 目录 基于springboot vue学生成绩管理系统 一、前言 二、系统功能演示 三、技术选型 四、其他项目参考 五、代码参考 六、测试参考 七、最新计算机毕设选题推荐 八、源码获取: 基于springboot vue学生成绩管理系统 一、前言 博主介绍&…

作者头像 李华
网站建设 2026/9/2 18:43:11

论文格式模板终极指南:快速获取标准中文写作框架

论文格式模板终极指南:快速获取标准中文写作框架 【免费下载链接】中文论文格式模板下载分享 中文论文格式模板下载 项目地址: https://gitcode.com/Open-source-documentation-tutorial/90604 还在为论文格式问题而烦恼吗?面对复杂的学术规范要求…

作者头像 李华