RuoYi-Vue3-FastAPI框架的功能实现(中)

基于若依RuoYi-Vue3-FastAPI 的 Docker 部署记录 最近在参与导师项目开发过程中,我选择基于作为系统框架,通过 Docker 实现前后端、数据库和缓存环境的容器化部署。 阅读详情
AI摘要

本文介绍了在RuoYi-Vue3项目中集成FastAPI框架实现表单功能及图表展示的具体方法。包括表单生成、主键与字段问题处理、前端隐藏字段策略、页面展示数量修改、导出时间调整等内容,并详细说明了如何引入ECharts库实现图表渲染,涵盖基础与进阶用法。

最近一直忙着其他没没来得及做文档,这篇主要是帮助配置表单的展示与图形的展示。还是已实际项目的总结代码做个使用记录。

表单建立

在上一篇已经大概讲了建立,这里再补充遇到的几点问题。

第一个:生成表单

建议可以先建立主界面目录后再配置代码生成的参数。比如菜单管理这里就确定好这个页面的目录名称,后续可以直接选用后,运行sql,菜单会自动在目录下面。

第二个:显示缺少主键报错和某字段不存在

显示缺少主键报错,可能是生成代码bug,一般来说不做主键配置也可以,但是如果出现了,配置也方便,选择没有重复项的字段做为主键即可。在文件entity中do路径下的py文件。

这里需要到后端添加主键信息即可,比如

serv_id = Column(String(255), nullable=False, comment='serv_id', primary_key=True)

一般出现字段不存在或者不匹配的报错。一般就是在dao文件下的py文件,这里只需要将报错的字段改成正确的。比如报错area99_new,实际上应该是area_99_new才对,这是一般就是后端生成这里没有正常识别,在这里改正确即可。

第三个:表单界面我不想展示,但导出数据时我想保留数据,或者后台保留但是前端不显示

这个我们可以直接使用v_if来选择,同样,可以在js中配置v_if来配置哪些字段哪时候展示。

      <el-table-column label="serv_id" align="center" prop="servId" v-if="false"/>
      <el-table-column label="2" align="center" prop="prodName" v-if="false"/>
      <el-table-column label="3" align="center" prop="regionName" v-if="false"/>

第四个:页面展示数修改

可以修改pagesize即可。

导出功能时间太短

这个主要是若依配置的导出时间超时时间为10秒,只需要把timeout改大即可,这里单位为毫秒。

建立图表

原本发现rouyi好像是使用v-chart,但是后续使用不了。echart兼容,最终决定使用。使用起来也方便。

基础使用

<template>
  <div ref="chart" style="width: 600px; height: 400px;"></div>
</template>

<script>
import * as echarts from "echarts";

export default {
  mounted() {
    // 初始化图表
    const chart = echarts.init(this.$refs.chart);

    // 配置图表数据
    const option = {
      title: { text: "ECharts 折线图示例" },
      tooltip: {},
      legend: { data: ["销量"] },
      xAxis: { data: ["1月", "2月", "3月", "4月", "5月", "6月"] },
      yAxis: {},
      series: [
        { name: "销量", type: "line", data: [150, 230, 224, 218, 135, 147] }
      ]
    };

    // 渲染图表
    chart.setOption(option);

    // 窗口大小变化时自适应
    window.addEventListener("resize", () => chart.resize());
  },
  beforeDestroy() {
    // 组件销毁时移除监听
    window.removeEventListener("resize", () => chart.resize());
  }
};
</script>

具体可以分为三步骤

下载和引入echart

npm install echarts --save
<script>
import * as echarts from "echarts"
</script>

配置mounted

在rouyi中引用的数据都是从类似listPon_tj中获得数据,可以参考这个方法,相当于发送以this.queryParams为参数,返回response赋值。因此,我们可以利用这点,直接在方法中配置图表数据,下面就是一个简单配置:

通过打印我们发现,数据返回值在response.rows中。

  mounted() {
    // 初始化图表

    const chart = echarts.init(this.$refs.chart);

    listPon_tj(this.queryParams).then(response => {
      // 配置图表数据  常规配置
      // 配置 ECharts 图表的选项对象
      // option 包含以下属性:
      // - title: 图表标题,文本为 "ECharts 折线图示例"
      // - tooltip: 提示框组件,默认配置
      // - legend: 图例组件,显示 "销量"
      // - xAxis: x 轴配置,类型为类目轴,数据来源于 response.rows 中的 area3Name 字段
      // - yAxis: y 轴配置,类型为数值轴
      // - series: 系列列表,此处为柱状图,数据来源于 response.rows 中的 ponNumber 字段
      const option = {
        title: { text: "ECharts 柱状图示例" },
        tooltip: {},
        legend: { data: ["故障数", "影响用户数"] },
        xAxis: { type: "category", data: response.rows.map(v => v.area3Name) },
        yAxis: { type: "value" },
        series: [
          { name: "故障数", type: "bar", data: response.rows.map(v => v.ponNumber) },
          { name: "影响用户数", type: "bar", data: response.rows.map(v => v.userNumber) }
        ]
      };

    // 渲染图表
      chart.setOption(option);
    });

    // 窗口大小变化时自适应
    window.addEventListener("resize", () => chart.resize());
  },
    beforeDestroy() {
    // 组件销毁时移除监听
    window.removeEventListener("resize", () => chart.resize());
  }

这样就完成了图形的配置。

当然可以进阶版本,调整一下样式和展示,可以通过AI来帮助。下面就是复合型柱状图的配置项,保留所有标签,并且能根据点击单独展示柱状图。

  mounted() {
    // 初始化图表

    const chart = echarts.init(this.$refs.chart);

    listPon_tj(this.queryParams).then(response => {
      // 配置图表数据  常规配置
      // 配置 ECharts 图表的选项对象
      // option 包含以下属性:
      // - title: 图表标题,文本为 "ECharts 折线图示例"
      // - tooltip: 提示框组件,默认配置
      // - legend: 图例组件,显示 "销量"
      // - xAxis: x 轴配置,类型为类目轴,数据来源于 response.rows 中的 area3Name 字段
      // - yAxis: y 轴配置,类型为数值轴
      // - series: 系列列表,此处为柱状图,数据来源于 response.rows 中的 ponNumber 字段
      const option = {
        title: { text: "故障影响情况" },
        tooltip: {},
        legend: { data: ["故障数", "影响用户数"] },
        grid: { left: 80, right: 30, bottom: 60, top: 60, containLabel: true }, 
        // 增加 grid 以防止标签被截断
        xAxis: {
          type: "category",
          data: response.rows.map(v => v.area3Name),
          axisLabel: {
        interval: 0,
        rotate: 30, // 旋转标签,防止重叠
        formatter: function(value) {
          // 长标签自动换行
          if (value.length > 6) {
            return value.match(/.{1,6}/g).join('\n');
          }
          return value;
        }
          }
        },
        yAxis: { type: "value" },
        series: [
          { name: "故障数", type: "bar", data: response.rows.map(v => v.ponNumber) },
          { name: "影响用户数", type: "bar", data: response.rows.map(v => v.userNumber) }
        ]
      };

    // 渲染图表
      chart.setOption(option);
    });

    // 窗口大小变化时自适应
    window.addEventListener("resize", () => chart.resize());
  },
    beforeDestroy() {
    // 组件销毁时移除监听
    window.removeEventListener("resize", () => chart.resize());
  }

在template中展示图表

这里直接对其进行引用即可。即在ref中引用图表即可。

    <div>
      <h1 class="title" align="center" style="margin: 24px 0;">表图</h1>
      <div ref="chart" style="width: 80vw; max-width: 1200px; height: 50vh; min-height: 360px; margin: 0 auto;"></div>
  </div>

总结

图表相关配置和样式可以从官网中套出echart样式即可,配置在option中,具体细节参数可以参考官网或者AI补充代码即可。

echart官网:Apache ECharts

若依RuoYi-Vue3-FastAPI项目Docker部署避坑指南:PostgreSQL和Redis配置详解 本文详细介绍了若依RuoYi-Vue3-FastAPI项目在Docker环境下的部署实践,重点解析了PostgreSQL和Redis的配置优化方案。通过Docker Compose编排和性能调优指南,帮助开发者高效部署这一企业级开发框架,确保数据库和缓存系统的最佳性能。 阅读详情

相关推荐

RuoYi-Vue3-FastAPI 全栈项目 Docker 容器化实战指南

本文提供了一份详细的RuoYi-Vue3-FastAPI全栈项目Docker容器化实战指南。通过Docker Compose编排Vue3前端、FastAPI后端、PostgreSQL数据库和Redis缓存服务,实现一键部署与跨环境一致性。指南涵盖项目结构规划、核心配置文件编写、镜像构建优化及常见问题排查,帮助开发者高效完成项目容器化,提升部署与运维效率。

weixin_28331555的博客 155

【免费下载】 RuoYi-Vue3-FastAPI:基于Vue3与FastAPI的高效后台管理系统搭建教程

**RuoYi-Vue3-FastAPI** 是一个整合了现代前端技术 Vue.js 3 和高性能后端框架 FastAPI 的开源项目。该项目旨在提供一个快速开发企业级应用的解决方案,它继承了 RuoYi 系列的传统优势,同时利用 Vue3 的新特性以及 FastAPI 的简洁高效,实现了前后端分离的高性能Web应用框架。该项目特别适合那些寻求快速构建可扩展、安全且交互性强的管理系统的开发者。

gitblog_00401的博客 3120

RuoYi-Vue3-FastAPI企业级开发框架实战指南

现代企业级应用开发中,前后端分离架构已成为主流技术方案。通过将高性能的FastAPI后端与响应式的Vue3前端相结合,开发者可以构建出高效、可维护的Web应用系统。这种架构的核心优势在于前后端解耦,支持并行开发,显著提升开发效率。RuoYi-Vue3-FastAPI框架在此基础上更进一步,提供了完整的RBAC权限管理系统和自动化代码生成器,特别适合需要快速迭代的中小型项目。框架内置的JWT鉴权机制和Swagger API文档支持,确保了系统的安全性和可维护性。在实际开发场景中,开发者可以基于该框架快速实现从

weixin_29313817的博客 357

【亲测免费】 RuoYi-Vue3-FastAPI 项目教程

``` RuoYi-Vue3-FastAPI/ ├── doc/ │ ├── README.md │ └── ... ├── ruoyi-ui/ │ ├── public/ │ ├── src/ │ └── ... ├── ruoyi-api/ │ ├── src/ │ │ ├── main/ │ │ │ ├── java/ │ │ │ │

gitblog_00587的博客 2039

工业组态软件Intouch(单机版)入门{第一篇}

通俗来讲Intouch就是一个能将PLC里的信号显示在画面上的软件。

weixin_41571357的博客 1万+

别再混淆了!5分钟搞懂机器人导纳控制与阻抗控制的本质区别(附Simulink对比仿真)

本文深入解析机器人柔顺控制中的导纳控制与阻抗控制的本质区别,通过信号流方向、架构对比和应用场景三个关键视角进行详细阐述。文章还提供Simulink对比仿真案例,帮助读者快速理解两种控制策略的差异及其适用场景,特别适合机器人控制领域的研究者和工程师参考。

weixin_42543046的博客 605

RuoYi-Vue3-FastAPI框架的功能实现(上)

RuoYi-Vue3-FastAPI框架是一个基于Vue2+ElementUI+FastAPI开发的中后台管理框架,支持代码生成开发。本文档详细介绍了该框架的安装与运行步骤,包括前端和后端的配置与启动。前端部分涉及依赖安装和服务启动,后端部分则包括数据库配置、依赖安装和运行。文档还提供了代码生成功能的实现方法,包括数据库表的建立、代码生成界面的操作、前后端文件的复制与路由配置,以及菜单管理的编辑。通过这些步骤,用户可以快速搭建和定制自己的中后台管理系统,实现表单生成、数据更新等功能。

Single_minde的博客 2799

抖音用户评论和ID的采集方法

随着5G时代的普及,各大运营商的套餐纷纷推出,使得流量成本进一步降低。同时5G线路高宽带、低延迟的技术特性和手机普及,让视频用户访问量快速增加。 由于大量的视频工具和拍摄APP的提供,让短视频的拍摄、制作包括发行都变得更加简单便捷,越来越多的普通人可以投入视频创作,创造了更丰富的互联网内容,视频作者从视频推广中能获取粉丝和推广收益。 目前抖音就是目前最重要的短视频平台之一,要及时获取上面的用户评论和ID,需要结合爬虫代理实现采集方案,下面的代码就能快速采集相关信息: package htmlunit; i

ssbt_2020的博客 6787

RuoYi-Vue3-FastAPI框架的功能实现(下)

本文总结了使用RuoYi-Vue3-FastAPI框架实现文件上传功能及字段拓展的开发过程。主要包括:1)后端通过创建表单、数据库表及代码生成实现Excel文件上传功能,重点修改service和controller层处理文件解析与数据入库;2)前端配置上传组件和模板下载功能;3)字段拓展方法,涉及数据库表、后端实体类及前端展示的同步修改;4)添加筛选功能的前后端实现。文章还介绍了通过用户角色控制前端数据权限的简易方案。整个开发过程展现了该框架在快速构建业务系统时的灵活性和便利性。

Single_minde的博客 1093

OTN传送网实战指南:从光层到电层的完整架构解析(附配置示例)

本文深入解析OTN传送网从光层到电层的完整架构,涵盖关键组件、技术实现及配置示例。通过高速公路与光传送网的类比,详细介绍了光层超宽传输管道构建、电层业务调度核心引擎以及控制平面智能运维实战。附有典型组网方案与故障排查指南,助力网络工程师高效部署与维护OTN传送网。

tomato的博客 684

京东云鼎环境配置与API安全接入实战:ISV服务商如何搞定数据加密与商家授权

本文详细介绍了京东云鼎环境配置与API安全接入的实战指南,帮助ISV服务商解决数据加密与商家授权等核心问题。通过京东开放平台的应用申请流程,结合多租户数据隔离策略和自动化授权实现,确保电商生态中的安全高效运营。文章还提供了避坑指南,助力开发者规避常见配置错误。

weixin_28705087的博客 353

终极指南:如何用RuoYi-Vue3-FastAPI框架快速构建企业级应用

RuoYi-Vue3-FastAPI是一个基于现代技术栈的前后端分离快速开发框架,它整合了FastAPI高性能后端和Vue3响应式前端,为企业级应用开发提供了完整的解决方案。该框架继承了RuoYi系列框架的优秀特性,同时采用最新的技术标准,能够显著提升开发效率和代码质量。 ## 为什么选择RuoYi-Vue3-FastAPI框架 ### 现代化技术栈优势 RuoYi-Vue3-FastAPI框

gitblog_00736的博客 803

yolov8的Detect层详解(输出维度改动)

对于部署端需要拿到onnx的output进行后处理,但是基于anchor_free的yolov8输出是1*(4+cls)*8400,不是我们常见的ncwh格式,所以对Detect层进行了学习,分享一下体会。

yjcccccc的博客 2万+

RuoYi-Vue3-FastAPI:企业级快速开发框架的完整指南

RuoYi-Vue3-FastAPI是一个基于FastAPI和Vue3技术栈构建的前后端分离企业级快速开发框架,它集成了完整的权限管理系统和强大的代码生成功能,能够显著提升开发效率。这个框架继承了若依系列项目的优秀特性,同时采用了现代化的技术架构,为企业应用开发提供了坚实的基础。 ## 🔥 框架核心特性与架构设计 RuoYi-Vue3-FastAPI采用了经典的分层架构设计,后端基于Fast

gitblog_00292的博客 834

PCL 改进的RANSAC算法实现点云粗配准【2024最新版】

一种改进的RANSAC点云粗配准算法,具体改进见论文:“Pose Estimation using Local Structure-Specific Shape and Appearance Context”

点云侠的博客 37万+

学Simulink--人形机器人控制场景实例:基于Simulink的多连杆人形机器人拉格朗日动力学建模仿真

matlab编辑% 连杆长度 (m)% 躯干(髋到CoM)% 大腿% 小腿% 质量 (kg)% 转动惯量(绕质心,简化为杆)matlab编辑% 躯干CoM(假设在髋上方L_body/2处)% 左大腿CoM% 左小腿CoM% (右腿类似,略)本文完成了基于Simulink的多连杆人形机器人拉格朗日动力学建模仿真,实现了:✅ 定义7-DOF平面人形结构✅ 使用Symbolic Math Toolbox自动推导动力学方程✅ 生成。

amy_mhd的博客 398

【亲测免费】 探索高效开发新境界:RuoYi-Vue3-FastAPI框架全面解析

在快速迭代的技术世界中,寻找一个既能提升开发效率又能保证系统稳定性的框架是每个开发者的梦想。今天,我们将深入探讨一个集成了Vue3和FastAPI的强大框架——RuoYi-Vue3-FastAPI,它以其独特的技术架构和丰富的功能模块,正成为前后端分离开发的新宠。 ## 项目介绍 RuoYi-Vue3-FastAPI是一个全面开源的快速开发平台,它结合了前端Vue3和Element Plus的

gitblog_00592的博客 2021

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

RuoYi-Vue3-FastAPI快速开发框架解决3大技术痛点深度解析

RuoYi-Vue3-FastAPI是一个基于FastAPI和Vue3的现代化前后端分离快速开发框架,专为提升企业级应用开发效率而生。这个框架继承了RuoYi系列的优秀基因,同时融入了最新的技术栈,为开发者提供完整的权限管理和代码生成解决方案。 ## SQL解析异常问题的根源分析 在企业级应用开发中,SQL解析异常是一个常见但容易被忽视的技术痛点。特别是在处理复杂的多表关联查询、动态SQL构建

gitblog_00937的博客 764

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

RuoYi-Vue3-FastAPI 通用中后台管理框架完全指南

RuoYi-Vue3-FastAPI是一个基于Vue3、Element Plus和FastAPI开发的开源快速开发平台,为企业级应用提供完整的中后台管理解决方案。该项目采用前后端分离架构,具有丰富的功能模块和灵活的可扩展性。 ## 项目概述 RuoYi-Vue3-FastAPI是一套全部开源的快速开发平台,前端采用Vue3和Element Plus,后端采用FastAPI、SQLAlchemy

gitblog_00379的博客 620

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

深度解析RuoYi-Vue3-FastAPI:企业级快速开发框架的架构演进与性能优化

RuoYi-Vue3-FastAPI作为一款面向企业级应用的快速开发框架,在v1.6.1版本中实现了多项关键技术的突破性改进。本文将从架构设计角度深入分析框架在SQL解析、代码生成和API文档等核心模块的优化策略,为技术决策者和开发团队提供架构演进参考。 ## SQL解析引擎升级:从功能实现到性能优化 在复杂企业应用场景中,SQL语句的准确解析直接关系到系统的稳定性和性能表现。传统SQL解析方

gitblog_00870的博客 1220

RuoYi-Vue3-FastAPI:现代化企业级前后端分离开发框架深度解析

你是否正在寻找一个既能提升开发效率又能保证系统稳定性的全栈开发框架?RuoYi-Vue3-FastAPI正是这样一个集成了前沿技术栈的企业级快速开发平台。本文将带您深入了解这个框架的核心架构、功能特性以及实际应用价值。 ## 技术架构深度剖析 ### 前端技术组合 RuoYi-Vue3-FastAPI的前端采用了Vue3和Element Plus的黄金组合。Vue3作为最新的Vue框架版本,提

gitblog_00452的博客 887

如何快速搭建 RuoYi-Vue3-FastAPI 中后台框架:完整指南

RuoYi-Vue3-FastAPI 是一款基于 Vue3、Element Plus 和 FastAPI 开发的通用中后台管理框架,提供了丰富的功能模块和便捷的开发体验,适合快速构建企业级应用系统。本文将详细介绍项目结构、核心文件及配置方法,帮助新手轻松上手。 ## ???? 项目目录结构详解 项目采用前后端分离架构,主要分为 `ruoyi-fastapi-backend`(后端)和 `ruoy...

gitblog_00124的博客 475

RuoYi-Vue3-FastAPI v1.6.1:企业级快速开发框架的技术突破与体验革新

RuoYi-Vue3-FastAPI作为基于现代化技术栈的前后端分离快速开发框架,在v1.6.1版本中实现了多项关键技术突破。本次更新不仅解决了长期存在的技术痛点,更在SQL处理、代码生成和API文档等核心环节进行了深度优化,为企业级应用开发提供了更高效、更稳定的解决方案。 ## 问题场景驱动:企业开发中的真实痛点 在企业级应用开发过程中,开发者经常面临以下挑战: - **SQL解析困境**

gitblog_01128的博客 1125

RuoYi-Vue3-FastAPI代码生成器:从零到一的快速开发终极指南

在现代企业级应用开发中,重复性的CRUD代码编写占据了开发者大量宝贵时间。RuoYi-Vue3-FastAPI项目正是洞察这一痛点,集成了一套强大的代码自动生成工具,让开发者能够专注于核心业务逻辑的实现,而非繁琐的基础代码编写。 ## 为什么你需要代码生成器? 想象一下,每次开发新功能模块时,你都需要手动创建控制器、服务层、数据访问对象、实体模型等一系列文件。这不仅耗时耗力,还容易引入人为错误

gitblog_00314的博客 767

RuoYi-Vue3-FastAPI完整指南:5分钟搭建企业级管理系统

RuoYi-Vue3-FastAPI是一个基于FastAPI和Vue3的前后端分离快速开发框架,为企业级应用开发提供了完整的解决方案。该框架继承了若依系列框架的优秀特性,同时采用现代化的技术栈,让开发者能够快速构建专业的管理系统。 ## 🚀 框架核心优势与架构设计 RuoYi-Vue3-FastAPI采用前后端分离架构,前端使用Vue3+Element Plus,后端基于FastAPI构建。

gitblog_01148的博客 947
上一篇: RuoYi-Vue3-FastAPI框架的功能实现(上)
下一篇: vue+后端
Single_minde
博客等级 码龄7年 441粉丝 48原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Single_minde

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值