[YM]课设-C#-WebApi-Vue-员工管理系统 (七)员工统计表

news2024/9/19 10:39:03

前端:

注:这里主要解释下echarts组件,需要一定的Vue基础

emmmmm

明显能看到上面写“对不起暂未开发”

是的

这个是博主自己加上去的

but

这个统计表也是类似于Element UI的小组件

Element:Element - 网站快速成型工具

(element是饿了么公司的,对,就是外卖那个)

Echarts:Examples - Apache ECharts

这边我们主要讲解echarts

打开vscode,在终端中输入

npm install echarts

进行下载echarts包

打开网站,找到饼状图,选择第一个即可

 这些都是可以设置的

点开完整代码 

化作cv工程师

放在刚刚的前端页面中

注意要放在div中 

关于如何在前端中使用可以看前端的源码

这就涉及到一点Vue的知识

如果以后要涉及前端,可以借此学习学习

否者读懂,了解即可

下面我们从后端抓取信息到前端渲染

后端:

打开我们心爱的vscode

我们新建一个ReportController

由于我们是对员工进行统计

so

沿用emp的service,mapper即可

大大提高了代码的复用性

这就是我们三层架构的优势

后期扩展显得极为容易

将empService进行注入

启动前端,查看一下请求地址

复制这个请求路径 

一个饼状图一个条形图

再进行区分一下

[HttpGet]
[Route("/report/emp-report/bie")]
public ResultModel GetBie(){

}

[HttpGet]
[Route("/report/emp-report/bar")]
public ResultModel GetBar(){
    
}

饼状图主要是统计男性员工和女性员工的人数

条形图主要是统计各个职业员工的人数

为了方便我这边定义一个实体类去存放

当然只有男女员工感觉没必要也可以不这样做 

controller:

service:

声明:

service实现类实现:

public List<EmpReportModel> FindSex()
{
    List<EmpModel> list=empMapper.FindAll();
    int ManCnt=list.Where(u=>u.gender==1).Count();
    int WomanCnt=list.Where(u=>u.gender==2).Count();
    List<EmpReportModel> res=[new EmpReportModel("男性员工",ManCnt), new EmpReportModel("女性员工",WomanCnt)];
    return res;
}

public List<int> FindJob()
{
    List<EmpModel> list=empMapper.FindAll();
    List<int>res=new List<int>();
    for(int i=1;i<=5;i++){
        int cnt=list.Where(c=>c.job==i).Count();
        res.Add(cnt);
    }
    return res;
}

从mapper中获取到多有信息然后过滤即可

下边FindJob函数这i从1到5是由于我这边只设置了5个职业

已经定了

直接拿员工数量即可

这边就是个人发挥了

mapper:

FindAll函数就是返回Emp表中所有员工的数据

下面测试一下

启动后端,打开swagger

双双成功

Prefect!

打开前端查看一下

没问题!

结束语:

到此,我们课设的基本内容就完成了

不知道是否已经基本掌握了WebApi的开发

但相信你也学到了许多

本课设其实也不仅仅局限于C#后端开发

更适合于大多数的后端语言

比如Java等等

转念一想Java课设相当于完成了一半

最后的最后

可能会更新一篇扩展篇

是关于JWT令牌校验

敬请期待把

 ———————————

其他文章...

关注[YM]课设专栏[YM]课设_夜喵YM的博客-CSDN博客

文章:

[YM]课设-C#-WebApi-Vue-员工管理系统 (前言)-CSDN博客

[YM]课设-C#-WebApi-Vue-员工管理系统 (一)创建webapi项目-CSDN博客

[YM]课设-C#-WebApi-Vue-员工管理系统 Api接口文档&SQL脚本-CSDN博客

[YM]课设-C#-WebApi-Vue-员工管理系统 (二)连接数据库-CSDN博客

[YM]课设-C#-WebApi-Vue-员工管理系统 (三)部门管理-CSDN博客

[YM]课设-C#-WebApi-Vue-员工管理系统 (四)员工管理-条件分页查询-CSDN博客

[YM]课设-C#-WebApi-Vue-员工管理系统 (五)登录-CSDN博客

[YM]课设-C#-WebApi-Vue-员工管理系统-前端文件-CSDN博客

[YM]课设-C#-WebApi-Vue-员工管理系统 (六)前后端交互-CSDN博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2098752.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Quartz.Net_依赖注入

简述 有时会遇到需要在IJob实现类中依赖注入其他类或接口的情况&#xff0c;但Quartz的默认JobFactory并不能识别具有有参构造函数的IJob实现类&#xff0c;也就无法进行依赖注入 需要被依赖注入的类&#xff1a; public class TestClass {public TestClass(Type jobType, s…

Python 从入门到实战5(列表的其它操作)

我们的目标是&#xff1a;通过这一套资料学习下来&#xff0c;通过熟练掌握python基础&#xff0c;然后结合经典实例、实践相结合&#xff0c;使我们完全掌握python&#xff0c;并做到独立完成项目开发的能力。 之前的文章我们通过举例学习了python 中列表的简单操作&#xff0…

虚拟机输入ip addr不显示IP地址

本机配置 Window10 VMware Workstation 17 CentOS 7 虚拟机输入ip addr查询不到ip地址&#xff08;下图&#xff09; 解决办法&#xff1a; 查看配置文件&#xff0c;输入下面命令(用于编辑文件) vi /etc/sysconfig/network-scripts/ifcfg-ens33进入配置配置文件&#xf…

交叉编译 gmp

文章目录 交叉编译 gmp1 概述2 源码下载2.1 官网下载2.2 使用 apt source 下载 3 交叉编译4 关于 DESTDIR 的说明 交叉编译 gmp 1 概述 GMP (GNU Multiple Precision Arithmetic Library) 是一个用于任意精度计算设计的数学库&#xff0c;它的主要目标应用是密码学应用和研究…

ARP协议和DNS的工作原理

ARP协议 ARP协议的工作原理&#xff1a; 首先主机向自己的网络广播发送一个arp请求&#xff0c;请求报文包括目的端的ip地址和目的端的以太网地址。网络上的其他机器收到这个请求&#xff0c;但只有被请求的才会回应一个应答报文&#xff0c;报文中有自己的物理地址。 arp维护了…

【python因果推断库1】协方差分析(ANCOVA)用于处理前/后非等效组设计

目录 生成合成数据 分析 这是一个基于合成数据的初步示例。希望不久之后能用真实研究的数据进行更新。 在只有一次预处理测量和一次后处理测量的情况下&#xff0c;我们可以使用类似于协方差分析(ANCOVA)的方法来分析非等效组设计(NEGD)实验的数据。基本模型是&#xff1a; i指…

Vue(五). 安装脚手架及一些基本配置

文章目录 vue脚手架前言1. 安装脚手架1. 安装nvm2. 使用nvm安装node3. 配置node的全局路径和缓存路径4. 配置npm默认镜像源5. 安装脚手架全局路径和缓存测试 2. 文件结构及项目配置2.1 文件结构2.2 项目基本配置补充. vue项目安装依赖的一个问题 vue脚手架前言 脚手架也叫Vue …

敏捷需求管理,推动敏捷项目成功——Leangoo领歌敏捷工具

在敏捷项目管理中&#xff0c;需求管理是决定项目成功的关键环节。准确捕捉和高效管理需求&#xff0c;不仅能避免项目偏航&#xff0c;还能确保最终交付的产品与客户预期高度契合。Leangoo领歌敏捷工具&#xff0c;正是为此而生&#xff0c;助力团队轻松实现需求管理的每一步。…

vue中使用原生的video播放flv和mp4格式的视频

安装 npm i flv.js html <video v-if"videoId"controls id"videoElement"preload"metadata"controlslist"nodownload noremoteplayback" ><source :type"video/${videoType}" />您的浏览器不支持HTML5视频播…

Ansible一键安装Harbor服务

环境说明 企业内网环境,使用docker-compose的方式安装Harbor服务,需要先安装docker、docker-compose两个服务,将以二进制的方式安装docker和docker-compose,以适配各种安装环境。 docker版本:20.10.21,建议使用20.10以上的版本,低版本的会出现安装异常;Docker-compose版…

记一次ssh伪终端修改为shell

问题 用户ssh进行连接后&#xff0c;默认为伪终端。 解决办法&#xff0c;可以先拿到终端shell&#xff0c;查看用户是否为/bin/bash&#xff1a; 不是/bin/bash&#xff0c;使用如下命令进行修改&#xff1a; chsh -s /bin/bash rootservice sshd restart

在繁忙工作环境中提升开发效率:JetBrains IntelliJ IDEA 的应用

目录 前言1. IntelliJ IDEA 的核心功能1.1 智能代码补全&#xff1a;提升编码效率的利器1.2 深度代码分析&#xff1a;防患于未然1.3 代码重构&#xff1a;保持代码整洁有序 2. 提升团队协作与项目管理2.1 集成版本控制&#xff1a;高效的团队协作2.2 内置任务管理&#xff1a;…

开店到经营,分贝通帮助连锁经营企业这样省钱

如果说大企业的经营核心是做好主营业务的大生意,那么对于连锁经营企业而言,线下门店的一个个小生意,其实也隐藏着“大学问”。费用支出方面,如何从细节处节流,让资金流呈现更良性循环,是连锁经营行业的重要课题。 1、开店前:选址BD全国跑,筐筐发票财务恼 2、日常经营:费用类目…

Qt:玩转QPainter后转之时钟

前言 简单了解了QPainter之后当然是要找两个例子练练手啦。 正文 先看效果图 在绘制之前我们要先构思好自己要绘制的对象可以分成几部分&#xff0c;比如我要绘制时钟的话&#xff0c;我可以分成&#xff1a;外边框(圆环或者圆)&#xff0c;圆形背景&#xff0c;刻度&…

MySQL 使用C语言链接

mysql的基础&#xff0c;我们之前已经学过&#xff0c;后面我们只关心使用 要使用C语言连接mysql&#xff0c;需要使用mysql官网提供的库&#xff0c;大家可以去官网下载 我们使用C接口库来进行连接 要正确使用&#xff0c;我们需要做一些准备工作&#xff1a; 保证mysql服务有…

【WPF】WPF学习之【二】布局学习

WPF布局学习 常用布局Grid网格布局StackPanel 布局CanvasDockPanel布局WrapPanel布局 常用布局 1、StackPanel: 学习如何使用StackPanel进行垂直和水平布局。 2、Grid: 掌握Grid的网格布局技术。 3、Canvas: 了解Canvas的绝对定位布局。 4、DockPanel: 学习DockPanel的停靠…

【加密社】马后炮视角来看以太坊二层战略

阅读正文前先给大家普及下知识&#xff0c;以下文章中提到的 Blobs指的是&#xff1a;"Blob Carriers" 或 "Calldata Blobs" 这是在以太坊网络中用于携带数据的一种方式&#xff0c;尤其是在涉及Rollup&#xff08;如Optimistic Rollup和ZK-Rollup&#xf…

数据结构-复杂度

数据结构&#xff1a;在内存中管理数据&#xff0c;内存速度快&#xff0c;带电存储 数据库&#xff1a;在磁盘中管理数据&#xff0c;磁盘速度慢&#xff0c;不带电存储 时间复杂度 大O的渐进表示法&#xff1a;忽略常数、系数&#xff0c;保留最高次数项 如果只有常数&am…

PMC如何建立有效的监控系统来及时发现生产计划的偏离?

在制造业的复杂生态中&#xff0c;PMC&#xff08;生产与物料控制&#xff09;扮演着至关重要的角色。它不仅是连接销售、生产、采购与库存管理的桥梁&#xff0c;更是确保生产活动高效、有序进行的核心。随着市场需求的快速变化和生产环境的日益复杂&#xff0c;建立一套有效的…

python开发--模板语句

这部分是导航栏部分的代码&#xff0c;由于导航栏在各个页面都需要用&#xff0c;为了提高代码复用率将导航栏部分作为一个模板。 在下面代码图中&#xff0c;红色框部分相当于一个插槽&#xff0c;其他页面&#xff0c;如部门列表、用户列表等将在这个位置展示。 这部分是用户…