index.vue 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122
  1. <template>
  2. <div class="app-container">
  3. <el-row :gutter="20">
  4. <el-col :span="6" :xs="24">
  5. <el-card class="box-card">
  6. <div slot="header" class="clearfix">
  7. <span>个人信息</span>
  8. </div>
  9. <div>
  10. <div class="text-center">
  11. <userAvatar :user="user" />
  12. </div>
  13. <ul class="list-group list-group-striped">
  14. <li class="list-group-item">
  15. <svg-icon icon-class="user" />登录名
  16. <el-tooltip placement="top">
  17. <div slot="content">{{ user.userName }}</div>
  18. <div class="pulll-right">{{ user.userName }}</div>
  19. </el-tooltip>
  20. </li>
  21. <li class="list-group-item">
  22. <svg-icon icon-class="email" />用户邮箱
  23. <el-tooltip placement="top">
  24. <div slot="content">{{ user.email }}</div>
  25. <div class="pulll-right">{{ user.email }}</div>
  26. </el-tooltip>
  27. </li>
  28. <li class="list-group-item">
  29. <svg-icon icon-class="company" />所属企业
  30. <el-tooltip placement="top">
  31. <div slot="content">{{ company.scyName }}</div>
  32. <div class="pulll-right">{{ company.scyName }}</div>
  33. </el-tooltip>
  34. </li>
  35. <li class="list-group-item">
  36. <svg-icon icon-class="tree" />所属部门
  37. <el-tooltip placement="top" v-if="user.dept">
  38. <div slot="content" >{{ user.dept.deptName }}</div>
  39. <div class="pulll-right">{{ user.dept.deptName }}</div>
  40. </el-tooltip>
  41. </li>
  42. <li class="list-group-item">
  43. <svg-icon icon-class="peoples" />所属角色
  44. <!-- <div class="pull-right" :show-overflow-tooltip="true" width="50" ></div> -->
  45. <el-tooltip placement="top">
  46. <div slot="content">{{ roleGroup }}</div>
  47. <div class="pulll-right">{{ roleGroup }}</div>
  48. </el-tooltip>
  49. </li>
  50. <li class="list-group-item">
  51. <svg-icon icon-class="date" />创建日期
  52. <el-tooltip placement="top">
  53. <div slot="content">{{ user.createTime }}</div>
  54. <div class="pull-right">{{ user.createTime }}</div>
  55. </el-tooltip>
  56. </li>
  57. </ul>
  58. </div>
  59. </el-card>
  60. </el-col>
  61. <el-col :span="18" :xs="24">
  62. <el-card>
  63. <div slot="header" class="clearfix">
  64. <span>基本资料</span>
  65. </div>
  66. <el-tabs v-model="activeTab">
  67. <el-tab-pane label="基本资料" name="userinfo">
  68. <userInfo :user="user" />
  69. </el-tab-pane>
  70. <el-tab-pane label="修改密码" name="resetPwd">
  71. <resetPwd :user="user" />
  72. </el-tab-pane>
  73. <!-- <el-tab-pane label="解除绑定" name="bindOff">
  74. <bindOff/>
  75. </el-tab-pane> -->
  76. </el-tabs>
  77. </el-card>
  78. </el-col>
  79. </el-row>
  80. </div>
  81. </template>
  82. <script>
  83. import userAvatar from "./userAvatar";
  84. import userInfo from "./userInfo";
  85. import resetPwd from "./resetPwd";
  86. import bindOff from "./bindOff";
  87. import { getUserProfile } from "@/api/system/user";
  88. export default {
  89. name: "Profile",
  90. components: { userAvatar, userInfo, resetPwd, bindOff },
  91. data() {
  92. return {
  93. user: {},
  94. company: {},
  95. roleGroup: '',
  96. activeTab: "userinfo"
  97. };
  98. },
  99. created() {
  100. this.getUser();
  101. },
  102. methods: {
  103. getUser() {
  104. var sscDomain = document.location.hostname;
  105. getUserProfile(sscDomain).then(response => {
  106. debugger
  107. this.user = response.data;
  108. this.company = response.company;
  109. var roles = response.roleGroup.roles;
  110. for (var i = 0; i < roles.length; i ++) {
  111. this.roleGroup += roles[i];
  112. if (i != roles.length - 1) {
  113. this.roleGroup += ',';
  114. }
  115. }
  116. });
  117. }
  118. }
  119. };
  120. </script>