《若依ruoyi》第十二章:Ruoyi 代码生成(低代码)vue逻辑详解一
ztj100 2024-11-13 14:02 15 浏览 0 评论
本章节详细介绍前端代码生成配置界面的实现,包括界面展示逻辑和api接口
一.代码目录结构
代码存放在/src/views/tool/gen下
- basicInfoForm:基础信息。
- editTable:数据库表字段编辑。
- genInfoForm:生成信息,生成的模版,现在提供的模版包含单表模版,树表模版,还有主表模版。生成的类名称,存放类的路径,对应的菜单配置。
- importTable:从数据库表选择需要生成代码的表,导入待生成代码表。
- index:生成代码列表,展示已经配置好的待生成的数据库记录,可以下载生成的代码,也可进行配置编辑,代码生成的菜单入口
二.菜单与index的入口配置说明
1、路由组件
如下图,左侧是代码目录结构,右侧是管理后台的菜单管理(系统管理-》菜单管理)。
点击列表记录(菜单管理)右侧编辑,系统弹出菜单配置的详细信息。
其中组件路径对应代码view目录下面的tool/gen/index
该配置的逻辑是:
1)、点击菜单后
2)、vue读取菜单对应的组件路径,并完成调用路由,进入index的业务代码
2、spring 对权限的过滤
菜单配置的权限字符,当该角色配置了菜单权限,用户登录后,点击菜单后调用java接口获取数据,spring 首先验证码用户是否有权限,实现的逻辑通过注解@PreAuthorize来实现。如果判断用户拥有权限,则继续执行,如果用户未拥有权限,则拒绝访问接口。
三.index代码详解
1、顶部搜索框代码,主要由el-input(输入表单),el-button(按钮)组成
2、操作按钮
下面以其中一个生成按钮为例子进行说明:
element的布局方式与bootstrap原理是一样的,将网页划分成若干行,然后每行等分为若干列,基于这样的方式进行布局,形象的成为栅栏布局。
区别是element可将每行划分为24个分栏,而bootstrap是划分为12个分栏,从使用角度,还是24个分栏更加精细。
首先每行使用<el-row>标签标识,然后每行内的列使用<el-col>标识,至于每列整行的宽度比例,则使用:span属性进行设置。
//gutter:每行的间隔是10
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
//el-button按钮,@click="handleGenTable" 点击时候调用handleGenTable
//方法
<el-button
type="primary"
plain
icon="el-icon-download"
size="mini"
@click="handleGenTable"
//用户登录后,会将用户权限字符加载到本地内存,如果判断有权限,则显示,没有权限
//则该按钮不显示
v-hasPermi="['tool:gen:code']"
>生成</el-button>
</el-col>
</el-row>
按钮权限如下图
4、列表展示
如下图,在列表显示使用el-table组件进行显示,其中表格的数据通过:data进行绑定。
<el-table v-loading="loading" :data="tableList" @selection-change="handleSelectionChange">
tableList的数据获取函数
//点击菜单后,vue对index进行初始化操作,开始调用 this.getList();的方法
//getlist方法调用后台接口获取参数并将接口数据赋值给tableList变量
created() {
this.getList();
},
/** 查询表集合 */
getList() {
this.loading = true;
listTable(this.addDateRange(this.queryParams, this.dateRange)).then(response => {
this.tableList = response.rows;
this.total = response.total;
this.loading = false;
}
);
},
持续跟新中,敬请期待!
四、未来计划
1、ruoyi非分离版本拆解
2、ruoyi-vue-pro:讲解工作流
3、ruoyi-vue-pro:支付模块,电商模块
4、基于ruoyi-vue-pro项目开发
5、JEECG低代码开发平台
请关注我,本星球会持续推出更多的开源项目代码解析,如有更好的意见请留言回复或者私信
相关推荐
- WPS 隐藏黑科技!OCT2HEX 函数用法全攻略,数据转换不再愁
-
WPS隐藏黑科技!OCT2HEX函数用法全攻略,数据转换不再愁在WPS表格的强大函数库中,OCT2HEX函数堪称数据进制转换的“魔法钥匙”。无论是程序员处理代码数据,还是工程师进行电路设计...
- WPS 表格隐藏神器!LEFTB 函数让文本处理更高效
-
WPS表格隐藏神器!LEFTB函数让文本处理更高效在职场办公和日常数据处理中,WPS表格堪称我们的得力助手,而其中丰富多样的函数更是提升效率的关键。今天,要为大家介绍一个“宝藏函数”——LEF...
- Java lombok 使用教程(lombok.jar idea)
-
简介Lombok是...
- PART 48: 万能结果自定义,SWITCH函数!
-
公式解析SWITCH:根据值列表计算表达式并返回与第一个匹配值对应的结果。如果没有匹配项,则返回可选默认值用法解析1:评级=SWITCH(TRUE,C2>=90,"优秀",C2...
- Excel 必备if函数使用方法详解(excel表if函数使用)
-
excel表格if函数使用方法介绍打开Excel,在想输出数据的单元格点击工具栏上的“公式”--“插入函数”--“IF”,然后点击确定。...
- Jetty使用场景(jetty入门)
-
Jetty作为一款高性能、轻量级的嵌入式Web服务器和Servlet容器,其核心优势在于模块化设计、快速启动、低资源消耗...
- 【Java教程】基础语法到高级特性(java语言高级特性)
-
Java作为一门面向对象的编程语言,拥有清晰规范的语法体系。本文将系统性地介绍Java的核心语法特性,帮助开发者全面掌握Java编程基础。...
- WPS里这个EVEN 函数,90%的人都没用过!
-
一、开篇引入在日常工作中,我们常常会与各种数据打交道。比如,在统计员工绩效时,需要对绩效分数进行一系列处理;在计算销售数据时,可能要对销售额进行特定的运算。这些看似简单的数据处理任务,实则隐藏着许多技...
- 64 AI助力Excel,查函数查用法简单方便
-
在excel表格当中接入ai之后会是一种什么样的使用体验?今天就跟大家一起来分享一下小程序商店的下一步重大的版本更新。下一个版本将会加入ai功能,接下来会跟大家演示一下基础的用法。ai功能规划的是有三...
- python入门到脱坑 函数—函数的调用
-
Python函数调用详解函数调用是Python编程中最基础也是最重要的操作之一。下面我将详细介绍Python中函数调用的各种方式和注意事项。...
- 从简到繁,一文说清vlookup函数的常见用法
-
VLOOKUP函数是Excel中常用的查找与引用函数,用于在表格中按列查找数据。本文将从简单到复杂,逐步讲解VLOOKUP的用法、语法、应用场景及注意事项。一、VLOOKUP基础:快速入门1.什么是...
- Java新特性:Lambda表达式(java lambda表达式的3种简写方式)
-
1、Lambda表达式概述1.1、Lambda表达式的简介Lambda表达式(Lambdaexpression),也可称为闭包(Closure),是Java(SE)8中一个重要的新特性。Lam...
- WPS 冷门却超实用!ODD 函数用法大揭秘,轻松解决数据处理难题
-
WPS冷门却超实用!ODD函数用法大揭秘,轻松解决数据处理难题在WPS表格庞大的函数家族里,有一些函数虽然不像SUM、VLOOKUP那样广为人知,却在特定场景下能发挥出令人惊叹的作用,OD...
- Python 函数式编程的 8 大核心技巧,不允许你还不会
-
函数式编程是一种强调使用纯函数、避免共享状态和可变数据的编程范式。Python虽然不是纯函数式语言,但提供了丰富的函数式编程特性。以下是Python函数式编程的8个核心技巧:...
你 发表评论:
欢迎- 一周热门
- 最近发表
- 标签列表
-
- idea eval reset (50)
- vue dispatch (70)
- update canceled (42)
- order by asc (53)
- spring gateway (67)
- 简单代码编程 贪吃蛇 (40)
- transforms.resize (33)
- redisson trylock (35)
- 卸载node (35)
- np.reshape (33)
- torch.arange (34)
- npm 源 (35)
- vue3 deep (35)
- win10 ssh (35)
- vue foreach (34)
- idea设置编码为utf8 (35)
- vue 数组添加元素 (34)
- std find (34)
- tablefield注解用途 (35)
- python str转json (34)
- java websocket客户端 (34)
- tensor.view (34)
- java jackson (34)
- vmware17pro最新密钥 (34)
- mysql单表最大数据量 (35)