人力资源管理后台 === 基础环境+登陆

目录

1.人力资源项目介绍

1.1 项目架构和解决方案

1.2 课程安排 

1.3 课程具备能力

1.4 课程地址 

2. 拉取项目基础代码

3.项目目录和入口文件介绍

4.App.vue根组件解析 

5.基础设置settings.js和导航守卫permission.js

6.Vuex的结构

7.使用模板中的Icon图标

8.扩展-解析Icon图标的实现思路

9.导入样式资源并使用git管理

10.登录页的结构和表单

11.登录表单校验-实现


1.人力资源项目介绍

1.1 项目架构和解决方案

1.2 课程安排 

人力资源管理后台 === 基础环境+登陆_第1张图片

1.3 课程具备能力

1.4 课程地址 

  • vue-element-admin文档地址:vue-element-admin
  • 演示地址: https://panjiachen.github.io/vue-element-admin/
  • 人力资源项目演示地址:人力资源后台管理系统

2. 拉取项目基础代码

  • 拉取命令
$ git clone  https://github.com/PanJiaChen/vue-admin-template.git  heimahr
  • 升级core-js版本到3.25.5
$ npm i [email protected] # npm
$ yarn add [email protected] # yarn
  • 安装完整依赖
$ npm i # npm
$ yarn  # yarn
  • 启动命令在package.json中查看
$ yarn dev
  • 需要检查VsCode本身的插件ESLint 和 Vutur

    人力资源管理后台 === 基础环境+登陆_第2张图片

3.项目目录和入口文件介绍

  • 项目目录
├── src                        # 源代码目录
│   ├── api                    # 所有请求
│   ├── assets                 # 主题 字体等静态资源
│   ├── components             # 全局公用组件
│   ├── icons                  # 项目所有 svg icons
│   ├── layout                 # 全局 layout
│   ├── router                 # 路由
│   ├── store                  # 全局 store管理
│   ├── styles                 # 全局样式
│   ├── utils                  # 全局公用方法
│   ├── views                  # views 所有页面
│   ├── App.vue                # 入口页面
│   ├── main.js                # 入口文件 加载组件 初始化等
│   └── permission.js          # 权限管理
│   └── settings.js            # 配置文件

  • 入口文件

人力资源管理后台 === 基础环境+登陆_第3张图片

4.App.vue根组件解析 

  • App.vue组件

人力资源管理后台 === 基础环境+登陆_第4张图片

  • layout布局

5.基础设置settings.js和导航守卫permission.js

人力资源管理后台 === 基础环境+登陆_第5张图片

 settings.js导出网站基础配置,包括:网站标题、固定header、显示logo
permission.js(权限),主要负责路由导航守卫

6.Vuex的结构

人力资源管理后台 === 基础环境+登陆_第6张图片

注意:人资资源项目主要针对**用户模块user **进行改造和重写

  • Vuex的设计思想

1.页面交互状态(折叠侧边栏-固定头部)

2.使用全局状态Vuex根据功能拆分成不同的模块(modules)

人力资源管理后台 === 基础环境+登陆_第7张图片
 3.进行状态管理通过getters建立对于模块中属性的快捷访问

人力资源管理后台 === 基础环境+登陆_第8张图片

7.使用模板中的Icon图标

  • src/icons/svg目录下的图标都可以使用

人力资源管理后台 === 基础环境+登陆_第9张图片

  • 图标文件名直接设置为svg-icon组件的iconClass属性

人力资源管理后台 === 基础环境+登陆_第10张图片

8.扩展-解析Icon图标的实现思路

  • 引入目录所有的svg

  • 全局注册svg-icon组件

人力资源管理后台 === 基础环境+登陆_第11张图片

  • loader插件打包svg

人力资源管理后台 === 基础环境+登陆_第12张图片

  • svg-icon引用svg的链接

人力资源管理后台 === 基础环境+登陆_第13张图片

 

  • 知识扩展

1.了解:require.context(路径,是否扫描子目录, 正则匹配) 可以引入某个目录下的内容
2.了解:svg-sprite-loader打包了所有svg到一个svg标签上,将svg名称作为symbol标签的id属性
3.了解:svg-icon使用iconClass属性引用了symbol的id

9.导入样式资源并使用git管理

  • 将教学资源中的初始化**图片-样式-svg **拷贝到src目录下

人力资源管理后台 === 基础环境+登陆_第14张图片

因为项目是从github上拉取下来的,所以git记录了之前模版的信息,所以删除需要建立git

 

  • 删除原有的.git文件
  • 初始化仓库
$ git init # 初始化仓库
  • 添加到暂存区
$ git add . # 添加到暂存区
  • 提交本地仓库
$ git commit -m "初始化人力资源项目" # 提交本地仓库

接下来,同学们需要在gitee上新建一个自己的远程仓库,然后将本地的仓库推送到远程仓库托管

  • 本地仓库配置远程仓库地址
$ git remote add origin <你的远程仓库地址>  # 本地仓库配置远程仓库地址
  • 推送到远程仓库
$ git push -u origin master # 推送到远程仓库

10.登录页的结构和表单

接下来需要实现登录页的表单结构和表单内容

人力资源管理后台 === 基础环境+登陆_第15张图片 

  • 拷贝登录页的基本结构布局-代码位置(src/views/login/index.vue)




  • 实现登录表单的结构

登录

  • 提交代码

11.登录表单校验-实现

  1. 定义数据和校验规则
export default {
  name: 'Login'
  name: 'Login',
  data() {
    return {
      loginForm: {
        mobile: '',
        password: '',
        isAgree: false
      },
      loginRules: {
        mobile: [{
          required: true,
          message: '请输入手机号',
          trigger: 'blur'
        }, {
          pattern: /^1[3-9]\d{9}$/,
          message: '手机号格式不正确',
          trigger: 'blur'

        }],
        password: [{
          required: true,
          message: '请输入密码',
          trigger: 'blur'
        }, {
          min: 6,
          max: 16,
          message: '密码长度应该为6-16位之间',
          trigger: 'blur'

        }],
        // required只能检查 null "" undefined
        isAgree: [{
          validator: (rule, value, callback) => {
            // rule规则
            // value检查的数据 true/false
            // callback 函数 执行这个函数
            // 成功执行callback 失败也执行callback(错误对象 new Error(错误信息))
            value ? callback() : callback(new Error('没有勾选用户平台协议'))
          }
        }]
      }
    }
  },
  methods: {
    login() {
      this.$refs.form.validate((isOK) => {
        if (isOK) {
          alert('校验通过')
        }
      })
    }
  }
}

  1. 绑定组件的对应属性
 
      
            
      
      
          
      
      
          
              用户平台使用协议
          
      
      
          登录
      

你可能感兴趣的:(vue.js,javascript,前端)