惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

WordPress大学
WordPress大学
A
About on SuperTechFans
小众软件
小众软件
Hugging Face - Blog
Hugging Face - Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
博客园 - 叶小钗
博客园 - 聂微东
博客园 - Franky
Apple Machine Learning Research
Apple Machine Learning Research
罗磊的独立博客
量子位
博客园 - 三生石上(FineUI控件)
Recent Announcements
Recent Announcements
The GitHub Blog
The GitHub Blog
B
Blog RSS Feed
T
The Blog of Author Tim Ferriss
GbyAI
GbyAI
云风的 BLOG
云风的 BLOG
Last Week in AI
Last Week in AI
宝玉的分享
宝玉的分享
B
Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Stack Overflow Blog
Stack Overflow Blog
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC

博客园 - 伍华聪

使用Winform+WebView2+HTML构建弹性化、样式自定义化的管理系统界面 Cursor 里开发一个“一个后端 + 多个前端”项目的时候,推荐的项目目录结构组织方式 使用Cursor实现管理系统的主界面布局的Vue3前端开发 使用Cursor实现管理系统登录界面的快速开发 多租户系统框架的界面分析设计 多租户系统框架的基础模块设计和分析设计 多租户下的系统业务开发过程探讨 多租户下的ERP系统的仓储管理模块分析设计 多租户下的系统基础表设计 基于SqlSugar开发框架的基础上快速开发H5端的移动应用 在Python+FastAPI项目中使用SqlAlchemy操作数据的几种常见方式 在PySide6/PyQt6的项目中封装一些基础类库,包括文件对话框、字体对话框、颜色对话框、消息对话框等内容 在PySide6/PyQt6的项目中实现样式切换处理 如何在Python开发中实现无代码、纯配置的业务界面展示和常规数据操作的处理分析过程 在Winform开发中,动态增加标签分组,实现数据记录的快速录入 在基于FastAPI的Python开发框架后端,增加阿里云短信和邮件发送通知处理 介绍一个医疗物质数目清点系统的实现过程 在PySide6/PyQt6的开发框架中,增加对表格多种格式录入的处理,以及主从表的数据显示和保存操作。 使用PySide6/PyQt6实现自定义窗口布局,实现类似FluentWindow效果 WxPython跨平台开发框架之主从表展示和录入的界面处理--产品报价单和明细记录的处理 基于Python的FastAPI后端开发框架如何使用PyInstaller 进行打包与部署 使用PySide6/PyQt6实现全国省市区的级联选择组件 基于 SocketIO 消息协议设计报文规范,构建FastAPI上的SocketIO 应用 使用PySide6/PyQt6实现系统图标的展示和选择处理
Vue3+ElementPlus的BS端主从表的快速开发
伍华聪 · 2025-10-15 · via 博客园 - 伍华聪

在实际业务中,主从表的情况也是很常见的,如订单和订单明细,报价单和报价单明细,工艺和工艺路线,进货单和进货单明细等等,很常见的处理类型。

主从表一般涉及两个以上的表,一个是主表,其他的是从表的,在实际情况下,一般包含两个表较多,我们这里以两个表的主从表关系进行分析处理。本篇随笔介绍基于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的表格编辑界面可定制化,从而可以快速调整表格单元格的输入方式。

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