SpringBoot + Vue 微人事 项目 (第八天)

news2025/1/13 15:55:30

基础信息设置

在这里插入图片描述

  • 在该页面添加一个大div,然后添加一个tab选项卡,Element UI里面有

在这里插入图片描述
把代码复制到大div里面,把里面的label和name属性改成我们想要的,再把@tab-click="handleClick"去掉

 <div>
        <el-tabs v-model="activeName" >
            <el-tab-pane label="部门管理" name="first">部门管理</el-tab-pane>
            <el-tab-pane label="职位管理" name="second">职位管理</el-tab-pane>
            <el-tab-pane label="职称管理" name="third">职称管理</el-tab-pane>
            <el-tab-pane label="奖惩规则" name="fourth">奖惩规则</el-tab-pane>
            <el-tab-pane label="权限组" name="fourth2">权限组</el-tab-pane>
        </el-tabs>
    </div>

在data里面设置activeName属性,activeName:‘second’:默认显示第二个

export default {
        name: "SysBasic",
        data(){
            return{
                activeName:'second',
            }
        },

效果如下图所示:
![在这里插入图片描述](https://img-blog.csdnimg.cn/e8e18f36c88342608d1c830594cfef1d.png

  • 一共有五个选项卡,可不可以直接在每一个选项卡里面直接写html标签呢,答案是可以的,但是这样写的话,就要写好久重复的,没法管理,这时我们可以想到通过组件化开发来节省资源。就是一个很复杂的页面我们可以拆分成很多个小页面,在把很多小页面拼接成一个完整的页面。
  • 组件可以放到components文件夹里面来,页面就要views文件夹中
  • 先把这5个组件定义好
  • 在这里插入图片描述

再引入这5个组件,在

    import EcMarna from '../../components/sys/basic/EcMarna'
    import JobLevelMarna from '../../components/sys/basic/JobLevelMarna'
    import PermissMarna from '../../components/sys/basic/PermissMarna'
    import PosMarna from '../../components/sys/basic/PosMarna'
    import DemMarna from '../../components/sys/basic/DepMarna'

引入之后并不能直接使用,还需要注册成组件,组件有key和value,key和value相同,可以只写一个,定义的组件想当于是自己定义的一个html标签

  components:{
            'DemMarna':DemMarna,
            'PosMarna': PosMarna,
            'PermissMarna':PermissMarna,
            'JobLevelMarna':JobLevelMarna,
            'EcMarna':EcMarna
        }

在这里插入图片描述

  • 把选项卡中的代码再修改一下:
    <div>
        <el-tabs v-model="activeName" >
            <el-tab-pane label="部门管理" name="first"><EcMarna></EcMarna></el-tab-pane>
            <el-tab-pane label="职位管理" name="second"><PosMarna></PosMarna></el-tab-pane>
            <el-tab-pane label="职称管理" name="third"><JobLevelMarna></JobLevelMarna></el-tab-pane>
            <el-tab-pane label="奖惩规则" name="fourth"><EcMarna></EcMarna></el-tab-pane>
            <el-tab-pane label="权限组" name="fourth2"><PermissMarna></PermissMarna></el-tab-pane>
        </el-tabs>
    </div>

职位管理组件的编写

分析:职位管理组件里面有个输入框,有个添加按钮和一张表,可以分为两个div
在这里插入图片描述

 <el-input
                size="small"
                style="width: 300px;"
                placeholder="添加职位..."
                prefix-icon="el-icon-plus"
                v-model="pos.name">
        </el-input>

v-model:一会要添加的数据,这个添加的数据可以从服务端看一下,未来想以json的形式上传它,就可以在data里面声明name默认为空字符

 export default {
        name: "DepMarna",
        data() {
            return {
                pos: {
                    name: ''
                }
            }
        }
    }

右边是一个蓝色的添加按钮 type=“primary” 表示是蓝色的 icon=“el-icon-plus”:+号的标记 size="small:小号的

<el-button type="primary" icon="el-icon-plus" size="small">添加</el-button>

在这里插入图片描述
接下来就是添加职位下面的表格了,Element UI也有很多表格模板的
在这里插入图片描述

<!--:data="tableDate 是data数据里面的tableData属性。表格里面显示的数据是json数组"-->
<!--el-table-column:表格中的每一列-->
<div class="posManaMain">
            <el-table
                    :data="positions"
                    stripe
                    size="small"
                    border
                    style="width: 70%">
                <el-table-column
                        prop="id"
                        label="编号"
                        width="55">
                </el-table-column>
                <el-table-column
                        prop="name"
                        label="职位名称"
                        width="120">
                </el-table-column>
                <el-table-column
                        prop="createDate"
                        label="创建时间">
                </el-table-column>
            </el-table>
</div>

在script标签里面的代码如下: plsitions:[]:从后端传递过来的json数据

export default {
        name: "PosMarna",
        data(){
            return{
                pos:{
                    name:""
                },
                tableData: []
                    }
                }
    }

在这里插入图片描述

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

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

相关文章

vue中实现文字检索时候将搜索内容标红

实现结果 html&#xff1a; <div class"searchBox"><span class"bt">标&#8195&#8195题</span><div class"search"><div class"shuru"><!-- <span class"title">生产经营<…

HTTP 握手过程

HTTP 握手过程 TCP 建立连接 3 次握手 客户端请求连接服务器服务器响应成功客户端回应服务器准备开始连接 TCP 结束连接 4 次挥手 客户端向服务器发送&#xff0c;断开请求服务器向客户端发送&#xff0c;还有数据没有传输完毕&#xff0c;请稍等服务器向客户端发送&#x…

使用css实现点击切换active效果

不使用js&#xff0c;纯css实现点击切换active样式 一个父盒子中嵌套小标签,横向排列 html <div class"box"><a href"#">选项1</a><a href"#">选项2</a><a href"#">选项3</a><a href&…

opencv图像特征-sift(尺度不变特征转换)

图像尺度空间 在一定的范围内&#xff0c;无论物体是大还是小&#xff0c;人眼都可以分辨出来&#xff0c;然而计算机要有相同的能力却很难&#xff0c;所以要让机器能够对物体在不同尺度下有一个统一的认知&#xff0c;就需要考虑图像在不同的尺度下都存在的特点。 尺度空间…

不花一分钱,利用免费电脑软件将视频MV变成歌曲音频MP3

教程 1.点击下载电脑软件下载地址&#xff0c;点击下载&#xff0c;安装。&#xff08;没有利益关系&#xff0c;没有打广告&#xff0c;只是单纯教学&#xff09; 2.安装完成后&#xff0c;点击格式工厂 3.然后如图所示依次&#xff0c;点击【音频】->【-MP3】 3.然后点击…

springBoot 配置文件 spring.mvc.throw-exception-if-no-handler-found 参数的作用

在Spring Boot应用中&#xff0c;可以通过配置文件来控制当找不到请求处理器&#xff08;handler&#xff09;时是否抛出异常。具体的配置参数是spring.mvc.throw-exception-if-no-handler-found。 默认情况下&#xff0c;该参数的值为false&#xff0c;即当找不到请求处理器时…

【C语言知识】数据在内存中的存储

文章目录 一、数据类型介绍二、整型在内存中的存储2.1 原码、反码、补码计算方法&#xff1a; 2.2 大小端介绍 三、浮点数在内存中的存储3.1 浮点数存储规则&#xff1a;3.2 对于M和E的特别规定&#xff1a; 写在最后 深度剖析数据在内存中的存储 一、数据类型介绍 //整型家族…

区块链与加密技术在信息安全中的应用: 探索区块链、加密货币和分布式账本技术如何改善身份验证、数据保护和交易安全。

随着数字化时代的到来&#xff0c;信息安全变得日益重要。随之而来的是对于新颖技术的需求&#xff0c;这些技术能够保护我们的数据、身份和交易免受恶意行为的侵害。区块链、加密货币和分布式账本技术便是这样一些引人瞩目的创新&#xff0c;它们在信息安全领域展现出巨大潜力…

Linux笔试题(2)

27、按下( A ) 键能终止当前运行的命令 A. Ctrl-C B. Ctrl-F C. Ctrl-B D. Ctrl-D 28、下面哪个命令用来启动X Window ( C ) A. runx B. Startx C. startX D. xwin 29、用 “rm -i”,系统会提示什么来让你确认( B ) A.命令行的每个选项 B.是否真的删除 C.是否有写的权限 D…

2023-8-18 区间和

题目链接&#xff1a;区间和 #include <iostream> #include <vector> #include <algorithm>using namespace std;typedef pair<int, int> PII;const int N 300010;int n, m; int a[N], s[N]; vector<int> alls; vector<PII> add, query…

【Alibaba中间件技术系列】「RocketMQ技术专题」小白专区之领略一下RocketMQ基础之最!

应一些小伙伴们的私信&#xff0c;希望可以介绍一下RocketMQ的基础&#xff0c;那么我们现在就从0开始&#xff0c;进入RocketMQ的基础学习及概念介绍&#xff0c;为学习和使用RocketMQ打好基础&#xff01; RocketMQ是一款快速地、可靠地、分布式、容易使用的消息中间件&#…

c++ 友元 运算符重载详解

友元 c是面向对象的&#xff0c;目的之一&#xff1a;封装 封装&#xff1a; 优点之一&#xff0c;就是安全。 缺点&#xff1a;在某些特殊的场合&#xff0c;不是很方便。 华为与IBM 40亿的咨询故事 IBM需要对华为各级部门做深度咨询分析&#xff0c; 为了提高咨询效率&a…

opencv特征匹配

img3 cv2.drawMatchesKnn(img1,kp1,img2,kp2,good,None,flags2) Brute-Force蛮力匹配 import cv2 import numpy as np import matplotlib.pyplot as plt %matplotlib inline img1 cv2.imread(box.png, 0) img2 cv2.imread(box_in_scene.png, 0) def cv_show(name,img):…

容器和云原生(三):kubernetes搭建与使用

目录 单机K8S docker containerd image依赖 kubeadm初始化 验证 crictl工具 K8S核心组件 上文安装单机docker是很简单docker&#xff0c;但是生产环境需要多个主机&#xff0c;主机上启动多个docker容器&#xff0c;相同容器会绑定形成1个服务service&#xff0c;微服务…

新书上市----Pytest企业级应用实战 新书上市

【原文链接】新书上市----Pytest企业级应用实战 新书上市 《Pytest企业级应用实战》 京东购书链接 当当购书链接 天猫购书链接 作者简介 本书作者本硕毕业于哈尔滨工业大学&#xff0c;曾先后就职于中兴通讯和华为&#xff0c;现任职于中科南京软件技术研究院&#xff0c;…

职业学院物联网实训室建设方案

一、概述 1.1专业背景 物联网&#xff08;Internet of Things&#xff09;被称为继计算机、互联网之后世界信息产业第三次浪潮&#xff0c;它并非一个全新的技术领域&#xff0c;而是现代信息技术发展到一定阶段后出现的一种聚合性应用与技术提升&#xff0c;是随着传感网、通…

Educational Codeforces Round 62 (Rated for Div. 2) C. Playlist

一开始肯定要排个序&#xff0c;b相同时t大的在前边&#xff0c;不同时b大的在前面。 然后想最多只能选k个的限制&#xff0c;可以这样想&#xff0c;每次用到的b只能用已选到的最小的值&#xff0c;那可以把每个b都枚举一遍&#xff0c;然后每一次选时长最长的&#xff0c;且…

YOLOv5复现过程出现的问题(关于图片后缀不统一如包含大写的JPG)

划分训练集测试集时&#xff0c;出现有些图片后缀名不统一的问题&#xff0c;在资源管理器看着是jpg&#xff0c;但是程序中读着的时候是大写的JPG&#xff0c;因此需要将JPG修改为jpg。 这里采用的方式使用cmd。 在相应文件夹目录下打开cmd&#xff0c;然后输入for /R %i in (…

2023-8-18 区间合并

题目链接&#xff1a;区间合并 #include <iostream> #include <vector> #include <algorithm>using namespace std;const int N 100010;typedef pair<int, int> PII; int n; vector<PII> segs;void merge(vector<PII> &segs) {vector…

【业务功能篇69】Springboot 树形菜单栏功能设计

业务场景: 系统的界面&#xff0c;前端设计的时候&#xff0c;一般会给一个菜单栏&#xff0c;顶部横向以及左侧纵向的导航栏菜单&#xff0c;这里后端返回菜单栏的时候&#xff0c;就涉及层级父子项的问题&#xff0c;所以返回数据的时候&#xff0c;我们需要按照树化形式返回…