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

网站设计尺寸大小漯河做网站的

网站设计尺寸大小,漯河做网站的,聊城做网站最好的网络公司,济南做网站比较好的公司第一步:在src下面建立一个自定义指令文件,放自定义指令方法 permission.js文件: /*** v-hasPermi 操作权限处理*/import store from /store;export default {inserted(el, binding) {const { value } binding;//从仓库里面获取到后台给的数组const permission s…第一步:在src下面建立一个自定义指令文件,放自定义指令方法 permission.js文件: /*** v-hasPermi 操作权限处理*/import store from /store;export default {inserted(el, binding) {const { value } binding;//从仓库里面获取到后台给的数组const permission store.getters store.getters.permissions;console.log(permission, permission);if (value Array.isArray(value) value.length 0) {const hasPermissions permission.some((item) {return value.includes(item.perms);});if (!hasPermissions) {el.parentNode el.parentNode.removeChild(el);}} else {throw new Error(未设置权限);}}, };index.js文件: import hasPermi from ./permissionconst install function(Vue) {Vue.directive(hasPermi, hasPermi) }export default install 后端返回的数据结构: 第二步:在main.js里面引入注册自定义指令 // 自定义指令 import directives from ./directives/index; Vue.use(directives); 第三步:vuex仓库里面存放后端接口返回的用于控制权限按钮的数组  vuex里面需要用到的三个文件,可根据自身需求进行添加: user.js import { userInfo } from /api/system/login; //封装的统一存本地的方法,可自行添加 import { mySessionStorage } from ../../../utils/encryption;const user {state: {permissions: mySessionStorage.getItem(permissionArray) || [],},actions: {// 获取用户信息getUserInfo({ commit }) {return new Promise(async (resolve, reject) {try {const res await userInfo();if (res.code 200) {commit(SET_PERMISSION, res.data.authorities);resolve(res);} else {reject(res);}} catch (error) {reject(error);}});},},mutations: {SET_PERMISSION: (state, permission) {state.permission permission || [];//把获取到的路由存本地mySessionStorage.setItem(permissionArray, state.permission);},}, }; export default user;index.js import Vue from vue; import Vuex from vuex; import user from ./modules/user; import getters from ./getters;Vue.use(Vuex); const store new Vuex.Store({modules: {user,},getters, });export default store;getters.js const getters {permissions: (state) state.Layout_store.permissions, }; export default getters;user.js里面的getUserInfo函数放在合适的地方调用,这里是放在登录页面: 关于页面使用: 关于页面操作按钮过多,固定展示两个,其他放入更多里面: 首先utils里面定义一个函数计算权限: import store from /store; // 校验权限 export const hasPermi (arr) {   return store.getters.permission.some((role) {     return arr.includes(role);   }); }; 页面使用: import { hasPermi } from /util/util    // 获取table数据     async getTableLists() {       this.loading true       const params {         ...this.queryForm,         ...this.form,         startTime: this.startTime,         endTime: this.endTime,       }       delete params.time       const res await certificateList(params)       if (res.code 200) {         this.tableData res.data.records         this.tableData res.data.records.map((item) {           item.permissionList []           if (hasPermi([certificate_view])) {             item.permissionList.push({ viewBtn: true })           }           if (hasPermi([certificate_edit]) item.issueSize 0) {             item.permissionList.push({ editBtn: true })           }           if (hasPermi([certificate_delete])) {             item.permissionList.push({ deleteBtn: true })           }           if (hasPermi([certificate_record])) {             item.permissionList.push({ recordBtn: true })           }           return item         })         this.total parseInt(res.data.total)         this.loading false       } else {         this.$message.error(res.msg)         this.loading false       }     }, html代码: el-table-column aligncenter label操作 fixedright width200template slot-scopescopedivv-for(item, index) in scope.row.permissionList.length 3? scope.row.permissionList.slice(0, 2): scope.row.permissionList:keyindexstyledisplay: inline-block; margin-right: 10px;el-buttonv-ifitem.viewBtntypetextclickonView(scope.row)classcheck-btn查看/el-buttonel-buttonv-ifitem.editBtntypetextclickonEdit(scope.row)classedit-btn编辑/el-buttonel-buttonv-ifitem.deleteBtntypetextclickonDelete(scope.row.id)classdel-btn删除/el-buttonel-buttonv-ifitem.recordBtntypetextclickonRecord(scope.row)classcheck-btn发证记录/el-button/divel-dropdown v-ifscope.row.permissionList.length 3el-button typetext sizemedium classmore-btn mr10更多/el-buttonel-dropdown-menu slotdropdowndivv-for(item1, index1) in scope.row.permissionList.slice(2):keyindex1el-dropdown-item v-ifitem1.viewBtnel-buttontypetextclickonView(scope.row)classcheck-btn查看/el-button/el-dropdown-itemel-dropdown-item v-ifitem1.editBtnel-buttontypetextclickonEdit(scope.row)classedit-btn编辑/el-button/el-dropdown-itemel-dropdown-item v-ifitem1.deleteBtnel-buttontypetextclickonDelete(scope.row.id)classdel-btn删除/el-button/el-dropdown-itemel-dropdown-item v-ifitem1.recordBtnel-buttontypetextclickonRecord(scope.row)classcheck-btn发证记录/el-button/el-dropdown-item/div/el-dropdown-menu/el-dropdown/template/el-table-column 完结!
http://www.yingshimen.cn/news/8889/

相关文章:

  • 北京市城市建设档案馆网站首页app下载量统计查询
  • 铜仁市建设招投标网站智邦国际erp系统官网
  • 做网站的用途上海手机网站建设多少钱
  • 哪个网站做app杭州知名设计公司
  • 购物类网站开发培训班设计
  • 油漆涂料网站建设做网站点击赚取广告费
  • 离石市网站建设公司企业信息填报官网
  • 烟台软件优化网站阿里云怎么上传网站
  • 杭州网站建设如何用自己的域名做网站
  • 公众号开发神器怀来网站seo
  • 网站域名怎么修改西安市精神文明建设网站
  • 你接入的网站不属于同一个主体小说关键词提取软件
  • 营销型网站建设的五力原则包括网站备案是域名备案还是空间备案
  • 网站开发需要用什么软件深圳企业官网设计公司
  • 桂平网站建设wordpress外网地址
  • 建设网站注意基本网站建设
  • 苏州网站建设学费做外贸必应网站产品曝光
  • 北京 建网站百度推广优化怎么做
  • 写文案要看的网站flash如何制作网页
  • 做一个交易网站要花多少钱wordpress底部小工具栏
  • 笔记模板wordpress北京网站seo设计
  • 设计网站推荐p重庆市工程新希望官网
  • 网站建设方案后期服务WordPress明月浩空
  • 手机端网站建设郑州重庆网站建设哪个公司好
  • 百度网站打不开网站开发与设计实验报告
  • 设计师用的素材网站设计公司企业介绍
  • 如何建立一个网站详细步骤网络电商推广
  • 宿迁城乡住房建设厅网站网线制作机器
  • 黄金网站app下载免费英文网站建站公司
  • 网站备案号被注销长春品牌网站建设公司