当前位置: 首页 > news >正文

甘肃临夏州建设局网站做特卖的网站爱库存

甘肃临夏州建设局网站,做特卖的网站爱库存,公司网站建设开发方案,学管理培训班去哪里学vue2antd——实现权限管理——js数据格式处理 效果图如下:1.需求说明2.如何展开所有子项及孙子项目——在弹窗之前就获取树形结构,然后直接将数据传到弹窗中3.template部分代码4.script的data部分5.权限tree数据处理——将row中的权限分配到具体的value参…

vue2+antd——实现权限管理——js数据格式处理

  • 效果图如下:
  • 1.需求说明
  • 2.如何展开所有子项及孙子项目——在弹窗之前就获取树形结构,然后直接将数据传到弹窗中
  • 3.`template`部分代码
  • 4.`script`的`data`部分
  • 5.权限tree数据处理——将row中的权限分配到具体的value参数中
  • 6.权限的保存——`handleSubmit`

最近在写后台管理系统,遇到一个问题是关于菜单/按钮权限的处理:

效果图如下:

在这里插入图片描述

1.需求说明

点击编辑API权限,弹窗如上图所示:
弹窗内容分左右两部分,左侧是大类,右侧是子类及孙子类,其中所有的项目都要展开显示。

2.如何展开所有子项及孙子项目——在弹窗之前就获取树形结构,然后直接将数据传到弹窗中

在弹窗之前就要调用接口获取数据:

1:`addPermission`就是弹窗的组件
2:getCrmPermissionTree 获取权限tree的接口
handleAPI(row){let permissionList = [];this.loading = true;getCrmPermissionTree().then((res) => {permissionList = res || [];this.$refs.addPermission.handleShow(row, permissionList);}).finally(() => {this.loading = false;});
}

3.template部分代码

<a-modaltitle="编辑API权限":visible.sync="visible"width="500px":maskClosable="true"@cancel="handleClose"@ok="handleSubmit"><div id="topId"></div><a-tabs tab-position="left"><a-tab-paneforceRenderv-for="(group, index) in permissionList":key="index + 1":tab="group.displayName"><a-treeref="permissionTree"v-model="group.value"checkablecheckStrictly:defaultExpandAll="true":treeData="group.permissions":replaceFields="replaceFields"@check="onCheck($event, group)"/></a-tab-pane></a-tabs></a-modal>

4.scriptdata部分

data(){return{visible: false,loadLoading: false,permissionList: [],checkedKeys: [],id: undefined,replaceFields: {value: 'permissionName',title: 'displayName',children: 'children',key: 'permissionName',},menuRoteIds: [],}
},
methods:{onCheck(obj, item) {item.value = obj.checked || [];this.$forceUpdate();},
}

5.权限tree数据处理——将row中的权限分配到具体的value参数中

handleShow(row, permissionList) {this.visible = true;this.id = row.id;this.permissionList = [...permissionList];this.menuRoteIds = [...row.permissionNames];this.permissionList.forEach((item) => {item.value = [];if (this.menuRoteIds.includes(item.id)) {item.value.push(item.id);}if (item.children && item.children.length > 0) {item = this.filterMenuList(item.children, item);}});this.$nextTick(() => {//这一步是为了弹窗打开的时候滚动到页面顶部,在页面顶部有个`topId`的dom元素document.getElementById('topId').scrollIntoView(true);});
},
filterMenuList(arr, item) {arr.forEach((child) => {this.expandedKeys.push(child.id);if (this.menuRoteIds.includes(child.id)) {item.value.push(child.id);}if (child.children && child.children.length > 0) {child = this.filterMenuList(child.children, item);}});return item;
},

6.权限的保存——handleSubmit

handleClose() {this.visible = false;
},
handleSubmit() {let arr = [];this.permissionList &&this.permissionList.forEach((item) => {arr = arr.concat(item.value);});let params = {permissionNames: arr || [],};this.loadLoading = true;putApiPermission(this.id, params).then(() => {this.$message.success('保存成功');this.$emit('ok');this.handleClose();}).finally(() => {this.loadLoading = false;});
},
http://www.yayakq.cn/news/78632/

相关文章:

  • 株洲网站建设 公司三只松鼠网站推广策略
  • 做网络竞拍的网站苏州有做网站的公司吗
  • 云电脑注册网站首页北京做网站最好的公司
  • 苏州网页建站服务商做音乐网站赚钱吗
  • 网站开发的岗位职责沃尔玛跨境电商平台
  • 阳江 网站开发洛阳建站哪家好
  • 公司网站发布流程邢台建站
  • 打赏网站怎么建设女与男爱做电影网站免费
  • 礼品网站建设公司一个刚做好的网站怎么做seo
  • wordpress手机建站教程吉林市网站制作哪家好
  • 手机网站建设哪里好珠海公司制作网站
  • 网站开发用什么服务器sae wordpress 上传
  • 广州网站建设推荐q479185700顶上淘宝店铺推广方式有哪些
  • 著名的设计企业网站免费的网站模板有哪些
  • 服务好的南昌网站建设保定城乡建设局网站
  • 目前做那些网站能致富营销策略理论
  • 做随车吊网站要多大景观毕业设计作品网站
  • 网站集约化建设阿里云wordpress数据库备份
  • 做gif动态图网站智鼎互联网站建设
  • 企业网站怎么做seo帮助做职业规划的网站
  • 网站没有被搜索引擎收录做网站多少钱_西宁君博相约
  • 天津 响应式网站设计塘沽信息
  • wordpress仿站软件上海企业电话查询
  • 巴中做网站的公司电子商务网站建设答案
  • 诏安县城乡规划建设局网站微网站用什么做
  • 最新网站建设视频网站建设 app 优化
  • 微企点做网站怎么样能看的网址的浏览器
  • 网站建设 计入哪个科目找个男做那个视频网站好
  • 怎样做摄影网站凡科建站建网站
  • 品牌型网站制作有哪些公司个人网页设计界面