<template> 
 | 
   <div class="app-container"> 
 | 
      <el-row :gutter="20"> 
 | 
         <el-col :span="6" :xs="24"> 
 | 
            <el-card class="box-card"> 
 | 
               <template v-slot:header> 
 | 
                 <div class="clearfix"> 
 | 
                   <span>个人信息</span> 
 | 
                 </div> 
 | 
               </template> 
 | 
               <div> 
 | 
                  <div class="text-center"> 
 | 
                     <userAvatar /> 
 | 
                  </div> 
 | 
                  <ul class="list-group list-group-striped"> 
 | 
                     <li class="list-group-item"> 
 | 
                        <svg-icon icon-class="user" />用户名称 
 | 
                        <div class="pull-right">{{ state.user.userName }}</div> 
 | 
                     </li> 
 | 
                     <li class="list-group-item"> 
 | 
                        <svg-icon icon-class="phone" />手机号码 
 | 
                        <div class="pull-right">{{ state.user.phonenumber }}</div> 
 | 
                     </li> 
 | 
                     <li class="list-group-item"> 
 | 
                        <svg-icon icon-class="email" />用户邮箱 
 | 
                        <div class="pull-right">{{ state.user.email }}</div> 
 | 
                     </li> 
 | 
                     <li class="list-group-item"> 
 | 
                        <svg-icon icon-class="tree" />所属部门 
 | 
                        <div class="pull-right" v-if="state.user.dept">{{ state.user.dept.deptName }} / {{ state.postGroup }}</div> 
 | 
                     </li> 
 | 
                     <li class="list-group-item"> 
 | 
                        <svg-icon icon-class="peoples" />所属角色 
 | 
                        <div class="pull-right">{{ state.roleGroup }}</div> 
 | 
                     </li> 
 | 
                     <li class="list-group-item"> 
 | 
                        <svg-icon icon-class="date" />创建日期 
 | 
                        <div class="pull-right">{{ state.user.createTime }}</div> 
 | 
                     </li> 
 | 
                  </ul> 
 | 
               </div> 
 | 
            </el-card> 
 | 
         </el-col> 
 | 
         <el-col :span="18" :xs="24"> 
 | 
            <el-card> 
 | 
               <template v-slot:header> 
 | 
                 <div class="clearfix"> 
 | 
                   <span>基本资料</span> 
 | 
                 </div> 
 | 
               </template> 
 | 
               <el-tabs v-model="activeTab"> 
 | 
                  <el-tab-pane label="基本资料" name="userinfo"> 
 | 
                     <userInfo :user="state.user" /> 
 | 
                  </el-tab-pane> 
 | 
                  <el-tab-pane label="修改密码" name="resetPwd"> 
 | 
                     <resetPwd /> 
 | 
                  </el-tab-pane> 
 | 
               </el-tabs> 
 | 
            </el-card> 
 | 
         </el-col> 
 | 
      </el-row> 
 | 
   </div> 
 | 
</template> 
 | 
  
 | 
<script setup name="Profile"> 
 | 
import userAvatar from "./userAvatar"; 
 | 
import userInfo from "./userInfo"; 
 | 
import resetPwd from "./resetPwd"; 
 | 
import { getUserProfile } from "@/api/system/user"; 
 | 
  
 | 
const activeTab = ref("userinfo"); 
 | 
const state = reactive({ 
 | 
  user: {}, 
 | 
  roleGroup: {}, 
 | 
  postGroup: {} 
 | 
}); 
 | 
  
 | 
function getUser() { 
 | 
  getUserProfile().then(response => { 
 | 
    state.user = response.data; 
 | 
    state.roleGroup = response.roleGroup; 
 | 
    state.postGroup = response.postGroup; 
 | 
  }); 
 | 
}; 
 | 
  
 | 
getUser(); 
 | 
</script> 
 |