后台管理系统 菜单

后台管理系统 菜单,第1张

### 表单校验

rules属性绑定

data中定义规则

表单item上prop属性绑定

注意点:  prop的值和规则的值以及表单的值需要保持一致

### 在vue中如何获取dom元素

    - 定义属性

    <div ref='qqq' @click="btn">111111</div>

    - 获取:this$refsqqq

### 如何携带token

登录成功的时候将获取的token做本地缓存

需要做请求拦截====其他所有请求需要携带请求头  Authorization

    - api/indexjs

        - 做请求拦截    获取本地缓存

        - 将本都缓存的值添加到请求头上面去

###  左侧菜单数据展示

    - 封装函数  ===获取左侧菜单数据请求的函数    api/indexjs

    - homevue

        + 导入封装请求函数

        + 调用这个函数获取数据,并且将数据 赋值给data中的menuList

        + 将数据循环出来 ====进行2层循环

    步骤分析:

    - 静态组件布局编写===从官网复制过来

    - 动态渲染左侧菜单导航===将获取的请求数据使用循环

    - 配置属性默认值展开一个  ====查看官网配置属性

    - 配置路由实现显示对应的组件

###  做菜菜单导航图标的显示

+ 引入iconfontcss文件      mainjs中引入

+ 一级图标

    - 准备一个对象或者数组

          iconObj: {

            0: 'icon-user',

            1: 'icon-tijikongjian',

            2: 'icon-shangpin',

            3: 'icon-danju',

            4: 'icon-baobiao'

        },

    - 图标标签属性绑定  class  然后根据索引找到对象中的哪一个类名进行显示

+ 二级图标====直接在二级循环标题前面提加图标标签====写死

#### 左侧菜单步骤分析:

    - 1-显示组件菜单=====从官网复制

    - 2-只展开一个  通过控制  index

    - 3-配置路由 ===点击谁右边就显示哪一个组件 

        + 配置项上面添加一个router属性  :router="true"

        + 配置唯一值index的值为path值=====:index="item2path

    - 4-改变默认高亮颜色  active-text-color="#00ff00"

    - 5-点击当前只展开其他收起  :unique-opened="true"

    - 6-刷新保持最后一次的高亮 

        + 设置默认展开项  :default-active="defaultActive"

        + 点击

            + 给当前每一项的二级菜单  绑定点击事件 并且获取当前的path值

            + 将这个值赋值给 defaultActive 并且做本地缓存刷新的时候还可以获取上一次的path值

            + 刷新后获取这个值  defaultActive=从本都缓存中拿 ||  'users'

    - 7-解决二级菜单的每一项的右边框    el-menu {border:none;}

    - 8-点击收起菜单功能

        + 布局一个按钮  点击按钮

        + 点击设置 collapse=true  or  false 

        + 改变左侧侧边栏宽度样式的设置    <el-aside :width="collapse'64px':'200px'">

        + 关闭收起和展开的动画  :collapse-transition="false"

  ###  路由拦截

  路由拦截和请求拦截的区别

  请求拦截=====只要请求就拦截

  路由拦截====只要路由值发生改变就拦截

  ###  如何设置路由拦截

    + 在router文件中设置路由前置拦截  routerbeforeEach((to,form,next)=>{})

    + 判断是不是lofgin路由值  是 就直接放行,

    + 判断是不是有token  有token就放行 没有就去login

    + 最后解决掉了问题会出现兼容性  解决方法如下

    const originalPush = VueRouterprototypepush;

    VueRouterprototypepush = function push(location) {

    return originalPushcall(this, location)catch(err => err);

    };

给个例子吧:

\documentclass{article}

%在导言区加入:

\usepackage{makeidx}

\makeindex

\begin{document}

%正文中加入index:

This is my key\index{key}

This is my second palace\index{key!palace} that has a key

%列出index:

\printindex

\end{document}

编译流程:

latex inputtex

makeindex inputidx

latex inputtex

上面的latex换成pdflatex也成。

首先设置下拉列表控件的id属性

<select id="test" name="">

<option value="1">text1</option>

<option value="2">text2</option>

</select>

1:拿到select对象: var myselect=documentgetElementById("test");

2:拿到选中项的索引:var index=myselectselectedIndex ; // selectedIndex代表的是你所选中项的index。

3:拿到选中项options的value: myselectoptions[index]value;

4:拿到选中项options的text: myselectoptions[index]text;

另外还有jquery的方法(前提是已经加载了jquery库):

1:var options=$("#test option:selected"); //获取选中的项

2:alert(optionsval()); //拿到选中项的值

3:alert(optionstext()); //拿到选中项的文本

权限管理是后台管理系统的核心功能,要给不同工作岗位的用户分配不同的 *** 作权限,就需要进行权限管理

权限管理内部划分为:

控制登录到后台的用户能够访问到哪些后台菜单页面,比如负责广告的人员只能看到广告管理,课程人员只能看到课程管理,就需要进行不同的菜单权限分配

资源对应的是接口,资源权限用于控制用户能够 *** 作哪些接口功能,比如分配资源权限的时候没有禁用用户权限,指的是没有 *** 作这个接口的权限。资源权限与菜单权限不冲突,如果有的用户能够看到用户管理页面,也可以添加用户(有权限 *** 作新增用户接口),但是没法进行禁用用户 *** 作(无禁用用户的接口权限)

代表了菜单权限和资源权限的一种组合方式,比如我设置了多个用户需要相同的菜单权限和资源权限, 就可以将这些权限组合起来,设置为角色,再将角色分配给用户简化 *** 作

在项目中,不会直接对某个用户进行菜单权限或者资源权限的分配,而是提前根据岗位清空设定不同的角色,再将角色分配给用户就可以了

用户需要分配角色,角色需要分配菜单权限和资源权限

由于功能之间存在依赖,我们先从菜单权限和资源权限功能开始制作,最后再依次完成角色和用户的功能

使用Element的 Card卡片

添加到views/menu/indexvue,将标题区域更改为添加菜单按钮,添加后跳转到菜单组件

在menu目录下创建menuCreatevue,并且创建初始结构

在路由表中添加上去

下面通过Element的Card套Form的方式给menu-create布局

完成

上级菜单数据需要请求接口才能得到,并且要渲染到模板中

用于获取菜单的接口有两个

接下来是设置接口的请求方法

menuCreatevue中请求数据

添加无上级菜单选项(如果你添加的是一级菜单的话就这么选)

首先要将用于添加菜单的请求功能封装到services/menujs模块中,由于文件不存在,先进行创建

在createMenuvue中引入并在在点击提交按钮时发送请求,顺便检验一下是否成功了,成功了要记得提示和跳转

展示数据相关列表,使用Element的 Table表格 组件进行处理,并且根据我们的项目功能,修改模板表格的内容

封装接口请求功能

引入并且请求数据,请求成功保存到data中

数据展示

*** 作部分的内容需要对Table进行自定义

注意:

点击删除的时候,提示用户确认,并且使用当前行数据信息进行删除请求

删除接口: 地址 ,使用Postman测试没问题之后投入使用

观察项目的时候发现,添加菜单和编辑菜单的组件结构几乎是一模一样的,可以封装为组件进行复用

去除menuCreatevue中的多余内容

创建menuEditvue组件,设置内容

将菜单编辑添加到路由表中

给menu/indexvue中的编辑按钮设置点击后的路由跳转

开始之前补充一点,组件CreateOrEditvue中的重置按钮,应当设置一个全部清空重置的点击事件

编辑时,将要编辑的菜单项信息展示在表单中

由于添加和编辑时同一个接口,区别在于编辑时是否多了参数id,由于提交时传入为form数据,编辑提交时就会自动包含id,所以提交 *** 作就不需要处理了

C#如何获取DataGridView对象单元格的内容,这里介绍下获取方法。

1、首先需要在事件列表中找到DataGridView对象的CellClick事件。

2、然后在此事件中,会有DataGridCiewCellEventArgs事件变量e。

3、此时便能利用DataGridCiewCellEventArgs事件变量e的RowIndex属性获得行索引,但是我们需要加1。

4、并且还能通过CurrentCellAddress属性组的X和Y坐标,也是能够获得行列索引。

以上就是关于后台管理系统 菜单全部的内容,包括:后台管理系统 菜单、latex怎么做index、js中怎么获得本页下拉菜单选定的值等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/10144527.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存