人力资源平台项目总结(2)

本文主要介绍了人力资源平台的前端开发,重点在于路由和页面的设置,组织架构的实现,包括树形数据处理、增删改功能,以及公司和角色模块的功能实现,如角色信息读取、删除和编辑等。
摘要由CSDN通过智能技术生成

目录

1、路由和页面

1.1 左侧菜单的显示逻辑,设置菜单图标 (重点!)

2、组织架构

2.1. 认识组织架构

2.2 将树形的操作内容单独抽提成组件 

2.3 获取组织架构数据,并进行树形处理(重点!)

2.4 删除部门功能实现

2.5 新增部门功能-建立组件 

2.6 完成新增部门的规则校验 

2.7 新增部门功能-部门负责人数据 

2.8 新增功能-提交-取消-关闭 (新增知识sync修饰符)

2.9 编辑部门功能实现数据回写 (新知识,获取组件实例可以调组件方法)

2.10 同时支持编辑和新增场景 

2.11 给数据获取添加加载进度条

3、公司和角色 

3.1 读取公司角色信息 

3.2 删除角色功能 

3.3 编辑角色功能 

3.4 新增角色功能 


1、路由和页面

首先,我们需要知道类似这种大型中台项目的页面路由是如何设置的。 

 

因为复杂中台项目的页面众多,不可能把所有的业务都集中在一个文件上进行管理和维护,并且还有最重要的,前端的页面中主要分为两部分,一部分是所有人都可以访问的, 一部分是只有有权限的人才可以访问的,拆分多个模块便于更好的控制 

删除多余的静态路由表 src/router/index.js 

/**
 * constantRoutes
 * a base page that does not have permission requirements
 * all roles can be accessed
 */
export const constantRoutes = [
  {
    path: '/login',
    component: () => import('@/views/login/index'),
    hidden: true
  },

  {
    path: '/404',
    component: () => import('@/views/404'),
    hidden: true
  },

  {
    path: '/',
    component: Layout,
    redirect: '/dashboard',
    children: [{
      path: 'dashboard',
      name: 'Dashboard',
      component: () => import('@/views/dashboard/index'),
      meta: { title: 'Dashboard', icon: 'dashboard' }
    }]
  },

  // 404 page must be placed at the end !!!
  { path: '*', redirect: '/404', hidden: true }
]

 并且我们发现,删除了其他页面之后,左侧导航菜单的数据也只剩下了首页

接下来,我们可以将人力资源需要做的模块快速搭建相应的页面和路由 

根据上图中的结构,在views目录下,建立对应的目录,给每个模块新建一个index.vue,作为每个模块的主页

$ mkdir departments employees setting salarys social attendances approvals permission

 根据以上的标准建立好对应页面之后,接下来建立每个模块的路由规则

$ touch departments.js employees.js setting.js salarys.js salarys.js social.js attendances.js approvals.js permission.js

 设置每个模块的路由规则

如员工 employees.js 

// 导出属于员工的路由规则
import Layout from '@/layout'
//  {  path: '', component: '' }
// 每个子模块 其实 都是外层是layout  组件位于layout的二级路由里面
export default {
  path: '/employees', // 路径
  name: 'employees', // 给路由规则加一个name
  component: Layout, // 组件
  // 配置二级路的路由表
  children: [{
    path: '', // 这里当二级路由的path什么都不写的时候 表示该路由为当前二级路由的默认路由
    component: () => import('@/views/employees'),
    // 路由元信息  其实就是存储数据的对象 我们可以在这里放置一些信息
    meta: {
      title: '员工管理' // meta属性的里面的属性 随意定义 但是这里为什么要用title呢, 因为左侧导航会读取我们的路由里的meta里面的title作为显示菜单名称
    }
  }]
}

// 当你的访问地址 是 /employees的时候 layout组件会显示 此时 你的二级路由的默认组件  也会显示

 上述代码中,我们用到了meta属性,该属性为一个对象,里面可放置自定义属性,主要用于读取一些配置和参数,并且值得注意的是:我们的meta写了二级默认路由上面,而不是一级路由,因为当存在二级路由的时候,访问当前路由信息访问的就是二级默认路由

1.1 左侧菜单的显示逻辑,设置菜单图标 (重点!)

2、组织架构

2.1. 认识组织架构

 

 

 实现组织架构的头部内容:

首先实现头部的结构,采用element的行列布局

 <el-card class="tree-card">
        <!-- 用了一个行列布局 -->
        <el-row type="flex" justify="space-between" align="middle" style="height: 40px">
          <el-col>
            <span>江苏传智播客教育科技股份有限公司</span>
          </el-col>
          <el-col :span="4">
            <el-row type="flex" justify="end">
              <!-- 两个内容 -->
              <el-col>负责人</el-col>
              <el-col>
                <!-- 下拉菜单 element -->
                <el-dropdown>
                  <span>
                    操作<i class="el-icon-arrow-down" />
                  </span>
                  <!-- 下拉菜单 -->
                  <el-dropdown-menu slot="dropdown">
                    <el-dropdown-item>添加子部门</el-dropdown-item>
                  </el-dropdown-menu>
                </el-dropdown>
              </el-col>
            </el-row>
          </el-col>
        </el-row>
      </el-card>

 树形组件认识

 

<el-tree :data="data" :props="defaultProps" @node-click="handleNodeClick"></el-tree>

<script>
  export default {
    data() {
      return {
        data: [{
          label: '一级 1',
          children: [{
            label: '二级 1-1',
            children: [{
              label: '三级 1-1-1'
            }]
          }]
        }, {
          label: '一级 2',
          children: [{
            label: '二级 2-1',
            children: [{
              label: '三级 2-1-1'
            }]
          }, {
            label: '二级 2-2',
            children: [{
              label: '三级 2-2-1'
            }]
          }]
        }, {
          label: '一级 3',
          children: [{
            label: '二级 3-1',
            children: [{
              label: '三级 3-1-1'
    
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值