Files
simple-todo/frontend/web/src/views/system/user/profile/index.vue
T
2026-05-26 11:54:24 +08:00

94 lines
2.8 KiB
Vue

<script setup lang="ts">
import resetPwd from "./resetPwd.vue";
import userInfo from "./userInfo.vue";
import userAvatar from "./userAvatar.vue";
// import userAvatar from "./userAvatar";
// import { getUserProfile } from '@/api/system/user';
// import * as userApi from "@/api/system/userApi";
import { reactive, ref } from "vue";
import dayjs from "dayjs";
import { useUserStoreHook } from "@/store/modules/user";
const activeTab = ref("userinfo");
const state = reactive({
user: {},
roleName: {}
});
/** 用户名 */
const currentUserInfo = useUserStoreHook()?.currentUserInfo;
state.user = currentUserInfo;
console.log(currentUserInfo);
function getUser() {
// userApi.getUserProfile().then(response => {
// state.user = response.user;
// state.roleName = response.roleName;
// });
}
getUser();
</script>
<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 :user="state.user" />
</div>
<el-row>
<el-descriptions :column="1">
<el-descriptions-item label="用户名称">{{
currentUserInfo.username
}}</el-descriptions-item>
<el-descriptions-item label="手机号码">{{
currentUserInfo.phoneNumber
}}</el-descriptions-item>
<el-descriptions-item label="用户邮箱">{{
currentUserInfo.email
}}</el-descriptions-item>
<el-descriptions-item label="角色">
{{ currentUserInfo.roleName }}
</el-descriptions-item>
<el-descriptions-item label="创建日期">
{{
dayjs(currentUserInfo.createTime).format(
"YYYY-MM-DD HH:mm:ss"
)
}}
</el-descriptions-item>
</el-descriptions>
</el-row>
</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 :user="state.user" />
</el-tab-pane>
</el-tabs>
</el-card>
</el-col>
</el-row>
</div>
</template>