filePermission.vue 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. <template>
  2. <ibps-layout ref="layout">
  3. <div slot="west">
  4. <div class="box">
  5. <p class="title">用户信息</p>
  6. <el-input placeholder="输入关键字进行过滤" v-model="filterText">
  7. </el-input>
  8. <div class="treeDiv">
  9. <el-tree ref="tree" :data="peopleData" :props="defaultProps" @node-click="handleNodeClick"
  10. :filter-node-method="filterNode"></el-tree>
  11. </div>
  12. </div>
  13. <ibps-container :margin-left="205 + 'px'" class="page">
  14. <detail v-if="show === 'detail'" :id="orgId" />
  15. <el-alert v-else :closable="false" title="尚未指定一个人员" type="warning" show-icon style="height:50px;" />
  16. </ibps-container>
  17. </div>
  18. </ibps-layout>
  19. </template>
  20. <script>
  21. import { getAllUserInfor } from '@/api/permission/page'
  22. import FixHeight from '@/mixins/height'
  23. import Detail from '../details/fileEchart.vue'
  24. export default {
  25. components: {
  26. Detail,
  27. },
  28. mixins: [FixHeight],
  29. data() {
  30. return {
  31. show: '',
  32. rightsArr: ['join', 'delete'],
  33. rowHandle: true,
  34. width: 230,
  35. height: document.clientHeight,
  36. orgId: '',
  37. orgName: '',
  38. peopleData: [],
  39. filterText: '',
  40. defaultProps: {
  41. children: 'children',
  42. label: 'label'
  43. }
  44. }
  45. },
  46. mounted() {
  47. this.loadNode()
  48. },
  49. methods: {
  50. loadNode(node, resolve) {
  51. this.loading = true
  52. getAllUserInfor().then(res => {
  53. this.loading = false
  54. for (let i of res.variables.data) {
  55. let data = {}
  56. data["id"] = i.id_
  57. data["label"] = i.name_
  58. this.peopleData.push(data)
  59. }
  60. }).catch(res => {
  61. this.loading = false
  62. })
  63. },
  64. filterNode(value, data) {
  65. if (!value) return true;
  66. return data.label.indexOf(value) !== -1;
  67. },
  68. handleNodeClick(data) {
  69. if (data.id === 0 || data.id === '0') {
  70. this.show = 'empty'
  71. return
  72. }
  73. this.orgId = data.id
  74. this.show = 'detail'
  75. },
  76. }
  77. }
  78. </script>
  79. <style lang="scss" >
  80. </style>