VUE2+vuecli2+Element UI+ECharts项目demo

文章目录

  • 一、项目初始化
    • 初始化安装
    • 初始化项目
    • 运行项目
    • 自动打开浏览器
    • 修改路由模式 hash改为history
  • 二、ElementUI配置
    • 全局安装
    • 在main.js中导入并使用
  • 三、在项目中使用CSS预处理器scss
    • 1. 安装
    • 2. 使用在.vue文件中的style标签里加上lang='scss'既可使用scss语法
    • 3. 在build文件夹下的webpack.base.conf.js的module下 rules里面添加配置
  • 四、Vue中使用reset.css
  • 五、关闭Eslint语法检测规则
  • 六、路由懒加载方法
    • 配置404页面
  • 七、配置Login页面
    • 添加密码显示切换icon
  • 八、完成Login登录验证功能
  • 九、完成菜单项各个页面组件的封装
    • header
    • footer
    • 学生管理的二级页面
  • 十、导航菜单 侧边栏
  • 十一、font-awesome图标库的使用
    • 基本使用
    • 动态配置图标
  • 十二、添加面包屑导航栏
  • 十三、设置学生列表信息表格
    • 添加修改和删除按钮
    • 新增、查找按钮
    • 新增按钮弹出对话框模板
    • 添加表单验证规则
  • 十四、学生列表-信息修改按钮
  • 十五、完善作业列表、信息列表布局
  • 十六、使用My JSON Server添加接口,拿来做模拟服务器
  • 十七、axios数据交互
    • 模拟get方法
    • 模拟post登录,post推送服务器成功,本地存入用户名
      • 将用户名存入localstorage
    • 创建登录成功提示弹窗
  • 十八、axios二次封装
  • 十九、学生列表信息展示
  • 二十、学生列表新增、删除功能
    • 新增功能
    • 删除功能
  • 二十一、cors 跨域问题 改造项目
  • 二十二、学生列表-修改功能
  • 二十三、学生列表-查找功能
  • 二十四、前端分页
  • 二十五、封装分页等公用方法 快速完成作业列表
  • 二十六、封装分页组件
  • 二十七、封装 增加、修改方法,使用组件完善信息列表
  • 二十八、配置ECharts
  • 二十九、完成班级人数饼图与作业完成率条形图
  • 三十、优化退出和登录
  • 三十一、添加vue导航守卫

效果:
登录页:
1、包含表单校验
2、路由守卫
3、密码显示切换
4、输入框的重置功能
VUE2+vuecli2+Element UI+ECharts项目demo_第1张图片

学生管理包含
1、侧边栏菜单
2、面包屑导航
3、学生新增功能
4、学生查询功能
5、学生信息修改
6、学生信息删除
7、学生信息查询校验
8、elementui前端分页功能
VUE2+vuecli2+Element UI+ECharts项目demo_第2张图片
VUE2+vuecli2+Element UI+ECharts项目demo_第3张图片
VUE2+vuecli2+Element UI+ECharts项目demo_第4张图片
VUE2+vuecli2+Element UI+ECharts项目demo_第5张图片

VUE2+vuecli2+Element UI+ECharts项目demo_第6张图片
VUE2+vuecli2+Element UI+ECharts项目demo_第7张图片

VUE2+vuecli2+Element UI+ECharts项目demo_第8张图片
VUE2+vuecli2+Element UI+ECharts项目demo_第9张图片
作业列表
VUE2+vuecli2+Element UI+ECharts项目demo_第10张图片

信息列表
VUE2+vuecli2+Element UI+ECharts项目demo_第11张图片

考勤列表
VUE2+vuecli2+Element UI+ECharts项目demo_第12张图片
echarts实时关联学生管理中的数据,以可视化呈现

VUE2+vuecli2+Element UI+ECharts项目demo_第13张图片

一、项目初始化

初始化安装

Vue-Cli2.0
1、安装

npm i -g vue
npm i -g vue-cli
npm i -g webpack
npm i -g webpack-cli

VUE2+vuecli2+Element UI+ECharts项目demo_第14张图片

2、检查版本,看安装是否成功

vue -V
webpack -v

VUE2+vuecli2+Element UI+ECharts项目demo_第15张图片

3、新建项目

vue-cli3之前,也就是vue-cli2只能利用vue init webpack app命令初始化vue2.x的项目

vue init webpack projectName

(如果是从vue-cli3.0+版本切换成vue-cli2.0+版本,那么需要使用命令npm uni -g @vue/cli先卸载vue-cli3.0+版本后再做以上操作)

初始化项目

vue init webpack front-end

VUE2+vuecli2+Element UI+ECharts项目demo_第16张图片

运行项目

npm run dev

VUE2+vuecli2+Element UI+ECharts项目demo_第17张图片

自动打开浏览器

修改配置 自动打开浏览器
VUE2+vuecli2+Element UI+ECharts项目demo_第18张图片

false设置为true
VUE2+vuecli2+Element UI+ECharts项目demo_第19张图片

修改路由模式 hash改为history

VUE2+vuecli2+Element UI+ECharts项目demo_第20张图片
作用:
在这里插入图片描述

二、ElementUI配置

element-ui官网

全局安装

npm i element-ui -S

在main.js中导入并使用

VUE2+vuecli2+Element UI+ECharts项目demo_第21张图片
组件中使用
VUE2+vuecli2+Element UI+ECharts项目demo_第22张图片
效果
VUE2+vuecli2+Element UI+ECharts项目demo_第23张图片
到这儿就证明安装成功了

三、在项目中使用CSS预处理器scss

官网 www.sass.hk

1. 安装

npm i sass-loader node-sass -S

2. 使用在.vue文件中的style标签里加上lang='scss’既可使用scss语法

如果是vue2.x、webpack3.x,可做如下解决方案:

npm install [email protected] -S //安装node-sass
npm install [email protected] -S //安装依赖包sass-loader

在这里插入图片描述

因为vue2不支持sass-loader^10以上版本,可从vue更新版本或者sass-loader版本着手

如果报错就是sass版本过高

node 16对应的sass
npm install [email protected] -D
npm install [email protected] -D

sass-loader 4.1.1,node-sass 4.3.0
sass-loader 7.0.3,node-sass 4.7.2
sass-loader 7.3.1,node-sass 4.7.2
sass-loader 7.3.1,node-sass 4.14.1

VUE2+vuecli2+Element UI+ECharts项目demo_第24张图片

3. 在build文件夹下的webpack.base.conf.js的module下 rules里面添加配置

{
test: /.sass$/,
loaders: ['style', 'css', 'sass']
},

VUE2+vuecli2+Element UI+ECharts项目demo_第25张图片
查看使用是否成功
VUE2+vuecli2+Element UI+ECharts项目demo_第26张图片

VUE2+vuecli2+Element UI+ECharts项目demo_第27张图片

四、Vue中使用reset.css

任何一个项目都需要做样式重置,这里我们使用官方的样式重置内容,如果需要补充可以自己手动添加。

官网地址:https://meyerweb.com/eric/tools/css/reset/

我们把代码复制下来,在vue中新建一个reset.css文件,然后在app.vue的style中进行引入使用:
@import url('./assets/css/reset')
VUE2+vuecli2+Element UI+ECharts项目demo_第28张图片

五、关闭Eslint语法检测规则

方式1、在bulid文件夹中的webpack.base.conf.js文件中注释掉rules中的这行代码,重启项目即可。

...(config.dev.useEslint ? [createLintingRule()] : [])

方式2、或者在config文件夹中的index.js中设置useEslint:false
VUE2+vuecli2+Element UI+ECharts项目demo_第29张图片

六、路由懒加载方法

1、官方推荐度 方法,使用ES中的import

component: () => import('@/components/Home')

VUE2+vuecli2+Element UI+ECharts项目demo_第30张图片
2、使用Vue异步组件

component: resolve => require((['@/components/Login']), 

配置404页面

VUE2+vuecli2+Element UI+ECharts项目demo_第31张图片

VUE2+vuecli2+Element UI+ECharts项目demo_第32张图片

七、配置Login页面

效果
VUE2+vuecli2+Element UI+ECharts项目demo_第33张图片

使用element ui中的自定义校验规则
VUE2+vuecli2+Element UI+ECharts项目demo_第34张图片

VUE2+vuecli2+Element UI+ECharts项目demo_第35张图片
VUE2+vuecli2+Element UI+ECharts项目demo_第36张图片
VUE2+vuecli2+Element UI+ECharts项目demo_第37张图片

测试输入密码和用户名,点击登录,是否可以得到数据
VUE2+vuecli2+Element UI+ECharts项目demo_第38张图片
重置也可生效

登录验证
VUE2+vuecli2+Element UI+ECharts项目demo_第39张图片

添加密码显示切换icon

input的官网文档上属性
VUE2+vuecli2+Element UI+ECharts项目demo_第40张图片

VUE2+vuecli2+Element UI+ECharts项目demo_第41张图片
在这里插入图片描述

VUE2+vuecli2+Element UI+ECharts项目demo_第42张图片

八、完成Login登录验证功能

在input写入elementui的登陆规则
VUE2+vuecli2+Element UI+ECharts项目demo_第43张图片
登录成功 则跳转到/main页面,错误则打印error
VUE2+vuecli2+Element UI+ECharts项目demo_第44张图片

九、完成菜单项各个页面组件的封装

1、新建页面,迁移结构代码,然后迁移样式代码,再迁移功能代码
2、在需要使用这个组件的页面进行导入和使用
例子

import Footer from  '组件的路径'
components: {
    Footer
}
<Footer></Footer>

header

在这里插入图片描述

VUE2+vuecli2+Element UI+ECharts项目demo_第45张图片

footer

在这里插入图片描述

VUE2+vuecli2+Element UI+ECharts项目demo_第46张图片

学生管理的二级页面

在这里插入图片描述
VUE2+vuecli2+Element UI+ECharts项目demo_第47张图片

十、导航菜单 侧边栏

使用模板
VUE2+vuecli2+Element UI+ECharts项目demo_第48张图片

mean组件,创建menu和activePath。
activePath是elementui所使用的default-active的属性,当前激活菜单的 index。作用是刷新页面也会在这个index。
menus拿来存储路由信息。
在这里插入图片描述

VUE2+vuecli2+Element UI+ECharts项目demo_第49张图片

获取全局路由对象使用this.$router,获取所有路由信息
VUE2+vuecli2+Element UI+ECharts项目demo_第50张图片
配置router和default-active
VUE2+vuecli2+Element UI+ECharts项目demo_第51张图片

遍历循环路由对象
VUE2+vuecli2+Element UI+ECharts项目demo_第52张图片

路由router\index.js
VUE2+vuecli2+Element UI+ECharts项目demo_第53张图片
实现的菜单效果

VUE2+vuecli2+Element UI+ECharts项目demo_第54张图片

十一、font-awesome图标库的使用

基本使用

官网地址:https://fontawesome.com/
下载:

npm i font-awesome

在main.js中加入以下代码就可以使用font-awesome图标库

import 'font-awesome/css/font-awesome.min.css'
<i class='fa fa-users'></i>

VUE2+vuecli2+Element UI+ECharts项目demo_第55张图片
VUE2+vuecli2+Element UI+ECharts项目demo_第56张图片
VUE2+vuecli2+Element UI+ECharts项目demo_第57张图片

动态配置图标

VUE2+vuecli2+Element UI+ECharts项目demo_第58张图片
在路由数据中添加属性
VUE2+vuecli2+Element UI+ECharts项目demo_第59张图片
menu中循环绑定各自的class样式
VUE2+vuecli2+Element UI+ECharts项目demo_第60张图片

十二、添加面包屑导航栏

VUE2+vuecli2+Element UI+ECharts项目demo_第61张图片

this.$route 用来获取当前路由的信息

VUE2+vuecli2+Element UI+ECharts项目demo_第62张图片
VUE2+vuecli2+Element UI+ECharts项目demo_第63张图片
效果
VUE2+vuecli2+Element UI+ECharts项目demo_第64张图片

十三、设置学生列表信息表格

VUE2+vuecli2+Element UI+ECharts项目demo_第65张图片
修改优化
伪数据
VUE2+vuecli2+Element UI+ECharts项目demo_第66张图片

VUE2+vuecli2+Element UI+ECharts项目demo_第67张图片

VUE2+vuecli2+Element UI+ECharts项目demo_第68张图片

添加修改和删除按钮

VUE2+vuecli2+Element UI+ECharts项目demo_第69张图片

VUE2+vuecli2+Element UI+ECharts项目demo_第70张图片

VUE2+vuecli2+Element UI+ECharts项目demo_第71张图片

新增、查找按钮

VUE2+vuecli2+Element UI+ECharts项目demo_第72张图片

VUE2+vuecli2+Element UI+ECharts项目demo_第73张图片
VUE2+vuecli2+Element UI+ECharts项目demo_第74张图片VUE2+vuecli2+Element UI+ECharts项目demo_第75张图片

效果
VUE2+vuecli2+Element UI+ECharts项目demo_第76张图片

修改优化
VUE2+vuecli2+Element UI+ECharts项目demo_第77张图片
VUE2+vuecli2+Element UI+ECharts项目demo_第78张图片
在这里插入图片描述
VUE2+vuecli2+Element UI+ECharts项目demo_第79张图片

新增按钮弹出对话框模板

VUE2+vuecli2+Element UI+ECharts项目demo_第80张图片
VUE2+vuecli2+Element UI+ECharts项目demo_第81张图片
修改优化

VUE2+vuecli2+Element UI+ECharts项目demo_第82张图片

VUE2+vuecli2+Element UI+ECharts项目demo_第83张图片
VUE2+vuecli2+Element UI+ECharts项目demo_第84张图片
设置的默认值
VUE2+vuecli2+Element UI+ECharts项目demo_第85张图片

添加表单验证规则

VUE2+vuecli2+Element UI+ECharts项目demo_第86张图片

VUE2+vuecli2+Element UI+ECharts项目demo_第87张图片

VUE2+vuecli2+Element UI+ECharts项目demo_第88张图片
VUE2+vuecli2+Element UI+ECharts项目demo_第89张图片
判断验证是否通过
VUE2+vuecli2+Element UI+ECharts项目demo_第90张图片

十四、学生列表-信息修改按钮

修改沿用新增的弹窗
在这里插入图片描述
当时新增时,为true,标题则显示新增学生信息,否则显示修改学生信息
在这里插入图片描述
点击修改后,将本行数据赋值给对话框
在这里插入图片描述

效果:
VUE2+vuecli2+Element UI+ECharts项目demo_第91张图片
确定方法中做判断是添加还是修改
VUE2+vuecli2+Element UI+ECharts项目demo_第92张图片

十五、完善作业列表、信息列表布局

VUE2+vuecli2+Element UI+ECharts项目demo_第93张图片
VUE2+vuecli2+Element UI+ECharts项目demo_第94张图片

十六、使用My JSON Server添加接口,拿来做模拟服务器

官网https://my-json-server.typicode.com/
创建自己的接口
VUE2+vuecli2+Element UI+ECharts项目demo_第95张图片

十七、axios数据交互

官方网址:http://www.axios-js.com/
中文网址:https://www.kancloud.cn/yunye/axios/234845
1、安装axios:npm i axios
在这里插入图片描述

2、在main.js中进行全局的挂载后使用

import axios from 'axios'
Vue.prototype.axios = axios

在这里插入图片描述
然后使用:this.axios[请求方法].then().catch()

VUE2+vuecli2+Element UI+ECharts项目demo_第96张图片
VUE2+vuecli2+Element UI+ECharts项目demo_第97张图片

模拟get方法

在login方法上去测试
VUE2+vuecli2+Element UI+ECharts项目demo_第98张图片
响应成功
VUE2+vuecli2+Element UI+ECharts项目demo_第99张图片

模拟post登录,post推送服务器成功,本地存入用户名

VUE2+vuecli2+Element UI+ECharts项目demo_第100张图片

post请求数据成功存入接口,返回status201
VUE2+vuecli2+Element UI+ECharts项目demo_第101张图片
VUE2+vuecli2+Element UI+ECharts项目demo_第102张图片
VUE2+vuecli2+Element UI+ECharts项目demo_第103张图片

将用户名存入localstorage

存值:localStorage.setItem("username", res.data.username)
取值:localStorage.getItem("username")

VUE2+vuecli2+Element UI+ECharts项目demo_第104张图片
在header中取出localstorage的数据
VUE2+vuecli2+Element UI+ECharts项目demo_第105张图片

对应展示出来即可
VUE2+vuecli2+Element UI+ECharts项目demo_第106张图片

创建登录成功提示弹窗

VUE2+vuecli2+Element UI+ECharts项目demo_第107张图片
VUE2+vuecli2+Element UI+ECharts项目demo_第108张图片
效果:
VUE2+vuecli2+Element UI+ECharts项目demo_第109张图片

十八、axios二次封装

VUE2+vuecli2+Element UI+ECharts项目demo_第110张图片
将service挂载到main.js
VUE2+vuecli2+Element UI+ECharts项目demo_第111张图片
封装后就可直接调用service取代axios路径方法了
VUE2+vuecli2+Element UI+ECharts项目demo_第112张图片

十九、学生列表信息展示

页面一渲染就拉取服务器数据
在这里插入图片描述
VUE2+vuecli2+Element UI+ECharts项目demo_第113张图片

二十、学生列表新增、删除功能

新增功能

VUE2+vuecli2+Element UI+ECharts项目demo_第114张图片
VUE2+vuecli2+Element UI+ECharts项目demo_第115张图片

删除功能

VUE2+vuecli2+Element UI+ECharts项目demo_第116张图片

VUE2+vuecli2+Element UI+ECharts项目demo_第117张图片

VUE2+vuecli2+Element UI+ECharts项目demo_第118张图片
VUE2+vuecli2+Element UI+ECharts项目demo_第119张图片

二十一、cors 跨域问题 改造项目

VUE2+vuecli2+Element UI+ECharts项目demo_第120张图片
VUE2+vuecli2+Element UI+ECharts项目demo_第121张图片
在这里插入图片描述

二十二、学生列表-修改功能

patch方法,传入id,根据返回状态进行判断
VUE2+vuecli2+Element UI+ECharts项目demo_第122张图片

二十三、学生列表-查找功能

VUE2+vuecli2+Element UI+ECharts项目demo_第123张图片
在这里插入图片描述

VUE2+vuecli2+Element UI+ECharts项目demo_第124张图片
VUE2+vuecli2+Element UI+ECharts项目demo_第125张图片

VUE2+vuecli2+Element UI+ECharts项目demo_第126张图片

VUE2+vuecli2+Element UI+ECharts项目demo_第127张图片

二十四、前端分页

1、前端实现分页:
首先获取所有的数据内容,然后使用slice进行分页

tableData.slice((当前页数 -1)*每页条数, 当前页数 * 当前条数)

VUE2+vuecli2+Element UI+ECharts项目demo_第128张图片
VUE2+vuecli2+Element UI+ECharts项目demo_第129张图片
VUE2+vuecli2+Element UI+ECharts项目demo_第130张图片
VUE2+vuecli2+Element UI+ECharts项目demo_第131张图片
VUE2+vuecli2+Element UI+ECharts项目demo_第132张图片
在这里插入图片描述
VUE2+vuecli2+Element UI+ECharts项目demo_第133张图片
VUE2+vuecli2+Element UI+ECharts项目demo_第134张图片

效果:
VUE2+vuecli2+Element UI+ECharts项目demo_第135张图片
VUE2+vuecli2+Element UI+ECharts项目demo_第136张图片

二十五、封装分页等公用方法 快速完成作业列表

创建一个api来存放公用方法,获取服务器数据,root来替代this,将方法导出,
VUE2+vuecli2+Element UI+ECharts项目demo_第137张图片

在组件中使用封装方法
VUE2+vuecli2+Element UI+ECharts项目demo_第138张图片

VUE2+vuecli2+Element UI+ECharts项目demo_第139张图片
VUE2+vuecli2+Element UI+ECharts项目demo_第140张图片

二十六、封装分页组件

添加一个attend.vue考勤列表
VUE2+vuecli2+Element UI+ECharts项目demo_第141张图片
router\index.js
VUE2+vuecli2+Element UI+ECharts项目demo_第142张图片
封装一个page组件
VUE2+vuecli2+Element UI+ECharts项目demo_第143张图片
将其使用在attend页面中
VUE2+vuecli2+Element UI+ECharts项目demo_第144张图片
VUE2+vuecli2+Element UI+ECharts项目demo_第145张图片

二十七、封装 增加、修改方法,使用组件完善信息列表

VUE2+vuecli2+Element UI+ECharts项目demo_第146张图片

VUE2+vuecli2+Element UI+ECharts项目demo_第147张图片VUE2+vuecli2+Element UI+ECharts项目demo_第148张图片
VUE2+vuecli2+Element UI+ECharts项目demo_第149张图片
VUE2+vuecli2+Element UI+ECharts项目demo_第150张图片
VUE2+vuecli2+Element UI+ECharts项目demo_第151张图片
VUE2+vuecli2+Element UI+ECharts项目demo_第152张图片

二十八、配置ECharts

npm安装echarts

npm install echarts --save

官网:https://echarts.apache.org/handbook/zh/basics/import
参照官网,挂载到vue上
VUE2+vuecli2+Element UI+ECharts项目demo_第153张图片
创建一个新的组件页,拿来展示echarts
VUE2+vuecli2+Element UI+ECharts项目demo_第154张图片
mounted挂载完成 则加载echarts
VUE2+vuecli2+Element UI+ECharts项目demo_第155张图片
VUE2+vuecli2+Element UI+ECharts项目demo_第156张图片

二十九、完成班级人数饼图与作业完成率条形图

VUE2+vuecli2+Element UI+ECharts项目demo_第157张图片
VUE2+vuecli2+Element UI+ECharts项目demo_第158张图片
VUE2+vuecli2+Element UI+ECharts项目demo_第159张图片
VUE2+vuecli2+Element UI+ECharts项目demo_第160张图片

渲染option
VUE2+vuecli2+Element UI+ECharts项目demo_第161张图片
VUE2+vuecli2+Element UI+ECharts项目demo_第162张图片
VUE2+vuecli2+Element UI+ECharts项目demo_第163张图片
VUE2+vuecli2+Element UI+ECharts项目demo_第164张图片

三十、优化退出和登录

退出按钮
VUE2+vuecli2+Element UI+ECharts项目demo_第165张图片

VUE2+vuecli2+Element UI+ECharts项目demo_第166张图片
VUE2+vuecli2+Element UI+ECharts项目demo_第167张图片

登录判断为 服务器中数据是否匹配
VUE2+vuecli2+Element UI+ECharts项目demo_第168张图片

三十一、添加vue导航守卫

VUE2+vuecli2+Element UI+ECharts项目demo_第169张图片
VUE2+vuecli2+Element UI+ECharts项目demo_第170张图片

你可能感兴趣的:(Vue,ui,echarts,vue.js)