当前位置: 首页 > 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.dinnco.com/news/11875.html

相关文章:

  • 用asp做网站spanseminar什么意思中文
  • 内江网站怎么做seo一站传媒seo优化
  • 免费软件漫画关键词排名优化公司外包
  • 404网站怎么打开抖音的商业营销手段
  • 现在网站要怎么做才有人说说刷赞网站推广
  • 沭阳网站建设shy1z百度极速版app下载
  • 扬中话北京网站seo优化推广
  • 石家庄自己的网站汕头百度seo公司
  • 山西网站建设价格万网域名注册官网阿里云
  • php动态网站开发案例教程江北seo
  • 泰州公司做网站免费网络推广平台有哪些
  • 怎样把有用网站做图标放在桌面b2b十大平台排名
  • 做门户论坛与网站的区别单个药品营销策划方案
  • 什么网站权威评价搜索引擎优劣百度电脑端入口
  • 南宁房地产信息网seo整站优化一年价格多少
  • 网页给别人做的 网站后续收费查网站权重
  • 网站开发与维护北京网站排名推广
  • 做网站最小的字体是多少网页优化公司
  • 网站制作设计教程广告推广平台哪个好
  • 东丽网站建设b站推广2023
  • 织梦网站怎么把index.html去掉口碑营销的产品
  • 网站服务器与虚拟主机百度链接提交
  • 张掖专业做网站的公司关键词优化排名详细步骤
  • 淘宝客怎么做网站管理友情链接怎么互换
  • 东莞人才市场现场招聘信息国外常用的seo站长工具
  • 做网站app优惠活动的新手如何自己做网站
  • 最好网站建站公司网站seo关键词优化技巧
  • 有没有可以做翻译的网站吗营销网站
  • 网站建设推广怎么做有哪些免费推广网站
  • iis默认网站在哪里网站seo站长工具