dengzedong
2024-12-17 f9b459a3fefd5fab0ee8e19268adb9d9eadab2a7
提交 | 用户 | 时间
820397 1 <template>
H 2   <div class="flex">
3     <el-card class="user w-1/3" shadow="hover">
4       <template #header>
5         <div class="card-header">
6           <span>{{ t('profile.user.title') }}</span>
7         </div>
8       </template>
9       <ProfileUser />
10     </el-card>
11     <el-card class="user ml-3 w-2/3" shadow="hover">
12       <template #header>
13         <div class="card-header">
14           <span>{{ t('profile.info.title') }}</span>
15         </div>
16       </template>
17       <div>
18         <el-tabs v-model="activeName" class="profile-tabs" style="height: 400px" tab-position="top">
19           <el-tab-pane :label="t('profile.info.basicInfo')" name="basicInfo">
20             <BasicInfo />
21           </el-tab-pane>
22           <el-tab-pane :label="t('profile.info.resetPwd')" name="resetPwd">
23             <ResetPwd />
24           </el-tab-pane>
25           <el-tab-pane :label="t('profile.info.userSocial')" name="userSocial">
26             <UserSocial v-model:activeName="activeName" />
27           </el-tab-pane>
28         </el-tabs>
29       </div>
30     </el-card>
31   </div>
32 </template>
33 <script lang="ts" setup>
34 import { BasicInfo, ProfileUser, ResetPwd, UserSocial } from './components'
35
36 const { t } = useI18n()
37 defineOptions({ name: 'Profile' })
38 const activeName = ref('basicInfo')
39 </script>
40 <style scoped>
41 .user {
42   max-height: 960px;
43   padding: 15px 20px 20px;
44 }
45
46 .card-header {
47   display: flex;
48   justify-content: center;
49   align-items: center;
50 }
51
52 :deep(.el-card .el-card__header, .el-card .el-card__body) {
53   padding: 15px !important;
54 }
55
56 .profile-tabs > .el-tabs__content {
57   padding: 32px;
58   font-weight: 600;
59   color: #6b778c;
60 }
61
62 .el-tabs--left .el-tabs__content {
63   height: 100%;
64 }
65 </style>