news 2026/4/23 7:08:38

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/4/18 14:48:31

JWB 升降机的安装维护与常见问题解决方案是什么

JWB升降机的安装维护与常见问题解决方案一、安装规范与技术要求 1. 基础环境要求 JWB升降机的安装场地需满足以下条件: - 地面承重能力需达到设备自重1.5倍以上,混凝土基础厚度不低于300mm,预埋件抗拉强度≥8.8级; - 环境湿度控制…

作者头像 李华
网站建设 2026/4/2 19:48:37

26、卡拉OK系统与MP3+G文件管理全解析

卡拉OK系统与MP3+G文件管理全解析 1. 卡拉OK用户级工具介绍 在卡拉OK的世界里,有不少实用的工具可供选择,下面为大家详细介绍两款常见的工具。 1.1 PyKaraoke PyKaraoke是一款用Python编写的专用卡拉OK播放器,它借助了Pygame和WxPython等多种库。其功能主要是播放歌曲,…

作者头像 李华
网站建设 2026/4/16 7:21:50

32、使用FluidSynth实现卡拉OK播放器

使用FluidSynth实现卡拉OK播放器 1. 引言 在多媒体应用开发中,实现一个功能丰富的卡拉OK播放器是一个有趣且具有挑战性的任务。本文将介绍如何利用FluidSynth、Gtk、FFmpeg等库来实现一个卡拉OK播放器,该播放器可以播放背景视频,并在视频上动态显示歌词。 2. 整体思路 要…

作者头像 李华
网站建设 2026/4/22 7:36:01

Ivanti提醒注意 EPM 中严重的代码执行漏洞

聚焦源代码安全,网罗国内外最新资讯!编译:代码卫士美国IT软件公司 Ivanti 提醒用户修复位于端点管理器 (EPM) 中的一个新的严重漏洞CVE-2025-10573,它可导致攻击者远程执行代码。Ivanti 公司通过遍布全球7000多家组织机构向超过4万…

作者头像 李华
网站建设 2026/4/19 15:01:31

谷歌Gemini Enterprise存在漏洞,可导致企业数据遭暴露

聚焦源代码安全,网罗国内外最新资讯!编译:代码卫士最近,谷歌修复了 Gemini Enterprise中的一个漏洞。AI 安全公司 Noma Security 提到,该漏洞可用于获取企业敏感数据。该攻击被命名为 GeminiJack,无需任何用…

作者头像 李华
网站建设 2026/4/10 0:05:39

什么是天猫代运营?

天猫代运营,是品牌将整个天猫旗舰店的运营权,委托给专业第三方公司(通常称为TP,即TaoBao Partner)的商业合作模式。其本质是品牌在电商领域的 “专业分工”与“增长投资”。简单来说,它解决了品牌“不会做、…

作者头像 李华