index.vue 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. <template>
  2. <div class="permissionPage">
  3. <PublicPageHeader class="permissionPage_head" :page-title="pageTitle" />
  4. <div class="permissionPage_content flex">
  5. <div class="permissionPage_content_left">
  6. <PublicPageTree :tree-data="treeData" :dep-math="depMath" @treeNodeClick="treeNodeClick" />
  7. </div>
  8. <div class="permissionPage_content_right">
  9. <PublicPageTable :list-map="listMap" :tree-map="treeNodeMap" />
  10. </div>
  11. </div>
  12. </div>
  13. </template>
  14. <script>
  15. import PublicPageHeader from '@/components/PublicPageHeader'
  16. import PublicPageTable from './components/permissionList.vue'
  17. import PublicPageTree from './components/permissionTree.vue'
  18. import { mapGetters } from 'vuex'
  19. export default {
  20. name: 'Permissionpage',
  21. components: { PublicPageHeader, PublicPageTable, PublicPageTree, },
  22. data () {
  23. return {
  24. treeData: [], //tree数据
  25. treeParameters: {}, //tree传递参数
  26. treeNodeMap: {}, //tree传递map
  27. depMath: 0,
  28. listMap: {},
  29. pageTitle: '权限配置'
  30. }
  31. },
  32. computed: {
  33. ...mapGetters(['authArrs']),
  34. },
  35. mounted () {
  36. this.pageInit()
  37. },
  38. methods: {
  39. //页面初始化
  40. pageInit () {
  41. //获取页面查询参数
  42. const { query } = this.$route
  43. this.pageQuery = query
  44. //获取页面配置
  45. const { pagecode, qid, auth_id } = this.$route.meta
  46. //获取页面权限类型组件  pagetype 1模块  2页面  3按钮 4表格 5树形  6弹窗
  47. const pageAuths = this.authArrs
  48. if (!pageAuths.length) return
  49. //获取当前页面权限类型
  50. const pageAuthArrs = pageAuths.filter(item => item['superiorid'] == auth_id)
  51. if (!pageAuthArrs.length) return
  52. //获取tree权限
  53. const pageAuthtrees = pageAuthArrs.filter(item => item.pagetype == 'tree')
  54. if (pageAuthtrees?.length) this.getPageTreeSetting(pageAuthtrees)
  55. //获取table权限
  56. const pageAuthtables = pageAuthArrs.filter(item => item.pagetype == 'table')
  57. if (pageAuthtrees?.length) this.treeNodeMap = pageAuthtables[0]
  58. },
  59. //根据页面tree设置数据
  60. getPageTreeSetting (pageAuthtrees) {
  61. this.treeData = pageAuthtrees
  62. },
  63. //获取tree点击
  64. treeNodeClick (data) {
  65. this.listMap = data
  66. },
  67. }
  68. }
  69. </script>
  70. <style lang="scss" scoped>
  71. .permissionPage {
  72. height: calc(100vh - 90px);
  73. padding: 20px;
  74. &_content {
  75. margin-top: 20px;
  76. height: calc(100vh - 190px);
  77. &_left {
  78. width: 360px;
  79. margin-right: 20px;
  80. height: 100%;
  81. }
  82. &_right {
  83. width: calc(100% - 380px);
  84. height: 100%;
  85. background-color: #fff;
  86. padding: 20px;
  87. }
  88. }
  89. }
  90. </style>