SystemRightTop.vue 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172
  1. <template>
  2. <div class="permission-manager">
  3. <div class="list-title">
  4. <div class="title-l">角色权限管理</div>
  5. <div class="title-r">
  6. <div class="basic-btn" @click="handleDetail">详情</div>
  7. </div>
  8. </div>
  9. <div class="list-content">
  10. <div class="per-box" v-for="(item, index) in userInfo" :key="index">
  11. <div class="box-label">{{ item.label }}</div>
  12. <div class="box-value">{{ item.value }}</div>
  13. </div>
  14. </div>
  15. </div>
  16. </template>
  17. <script setup lang="ts">
  18. import { useRouter } from 'vue-router'
  19. interface UserInfoItem {
  20. label: string
  21. value: string
  22. }
  23. const props = defineProps<{
  24. userInfo?: UserInfoItem[]
  25. }>()
  26. const router = useRouter()
  27. // 详情跳转
  28. function handleDetail() {
  29. router.push({
  30. path: '/monitorChannel/system/role',
  31. query: {},
  32. })
  33. }
  34. </script>
  35. <style lang="less" scoped>
  36. @import '/@/design/theme.less';
  37. @{theme-deepblue} {
  38. .permission-manager {}
  39. }
  40. .permission-manager {
  41. --image-box-bg: url('@/assets/images/home-container/configurable/hsq/5-8.png');
  42. --image-box-bg1: url('@/assets/images/home-container/configurable/hsq/5-11.png');
  43. --image-box-bg2: url('@/assets/images/home-container/configurable/hsq/5-12.png');
  44. --image-box-bg3: url('@/assets/images/home-container/configurable/hsq/5-9.png');
  45. --image-box-bg4: url('@/assets/images/home-container/configurable/hsq/5-10.png');
  46. --image-box-bg5: url('@/assets/images/home-container/configurable/hsq/2-5.png');
  47. position: relative;
  48. width: 100%;
  49. height: 100%;
  50. padding: 15px;
  51. box-sizing: border-box;
  52. .list-title {
  53. display: flex;
  54. justify-content: space-between;
  55. width: 100%;
  56. height: 30px;
  57. line-height: 22px;
  58. margin-bottom: 10px;
  59. }
  60. .title-l {
  61. width: 177px;
  62. height: 100%;
  63. color: #01fefc;
  64. font-weight: bolder;
  65. padding-left: 16px;
  66. background: var(--image-box-bg5) no-repeat;
  67. background-size: 100% 100%;
  68. }
  69. .title-r {
  70. width: 85px;
  71. height: 30px;
  72. border: 1px solid #01fefc;
  73. border-radius: 4px;
  74. padding: 3px;
  75. cursor: pointer;
  76. // margin-right: 16px;
  77. }
  78. .basic-btn {
  79. display: flex;
  80. justify-content: center;
  81. align-items: center;
  82. width: 100%;
  83. height: 100%;
  84. background-color: rgba(32, 166, 169);
  85. }
  86. .list-content {
  87. width: 100%;
  88. height: calc(100% - 35px);
  89. overflow-y: auto;
  90. }
  91. .per-box {
  92. display: flex;
  93. justify-content: space-between;
  94. align-items: center;
  95. height: 40px;
  96. padding: 0px 40px;
  97. margin-bottom: 10px;
  98. background: var(--image-box-bg2) no-repeat;
  99. background-size: 100% 100%;
  100. &:nth-child(1) {
  101. background: var(--image-box-bg) no-repeat;
  102. background-size: 100% 100%;
  103. .box-value {
  104. color: #fc002a;
  105. }
  106. }
  107. &:nth-child(2) {
  108. background: var(--image-box-bg1) no-repeat;
  109. background-size: 100% 100%;
  110. .box-value {
  111. color: orange;
  112. }
  113. }
  114. &:nth-child(3) {
  115. background: var(--image-box-bg2) no-repeat;
  116. background-size: 100% 100%;
  117. .box-value {
  118. color: #2bb3fb;
  119. }
  120. }
  121. &:nth-child(4) {
  122. background: var(--image-box-bg3) no-repeat;
  123. background-size: 100% 100%;
  124. .box-value {
  125. color: #2cff96;
  126. }
  127. }
  128. &:nth-child(5) {
  129. background: var(--image-box-bg4) no-repeat;
  130. background-size: 100% 100%;
  131. .box-value {
  132. color: #ffce2c;
  133. }
  134. }
  135. }
  136. .box-value {
  137. font-size: 12px;
  138. font-family: 'douyuFont';
  139. }
  140. ::-webkit-scrollbar {
  141. display: none;
  142. }
  143. }
  144. </style>