mirror of
https://github.com/PanJiaChen/vue-element-admin.git
synced 2025-08-14 07:41:57 +08:00
* add context menu field mode mobile * minimal change * minimal changes * minimal changes * minimal changes * style button * change style Co-authored-by: Elsio Sanchez <elsiosanche@gmail.com>
86 lines
1.9 KiB
Vue
86 lines
1.9 KiB
Vue
<template>
|
|
<div class="app-container">
|
|
<div v-if="user">
|
|
<el-row :gutter="20">
|
|
|
|
<el-col :span="6" :xs="24">
|
|
<user-card :user="user" />
|
|
</el-col>
|
|
|
|
<el-col :span="18" :xs="24">
|
|
<el-card>
|
|
<el-tabs v-model="activeTab">
|
|
<el-tab-pane :label="$t('profile.role')" name="role">
|
|
<role />
|
|
</el-tab-pane>
|
|
<el-tab-pane :label="$t('settings.title')" :name="$t('settings.title')">
|
|
<settings />
|
|
</el-tab-pane>
|
|
</el-tabs>
|
|
</el-card>
|
|
</el-col>
|
|
|
|
</el-row>
|
|
</div>
|
|
</div>
|
|
</template>
|
|
|
|
<script>
|
|
import { mapGetters, mapState } from 'vuex'
|
|
import UserCard from './components/UserCard'
|
|
import Role from '@/views/profile/components/role'
|
|
import { Settings } from '@/layout/components'
|
|
|
|
export default {
|
|
name: 'Profile',
|
|
components: {
|
|
UserCard,
|
|
Role,
|
|
Settings
|
|
},
|
|
data() {
|
|
return {
|
|
user: {},
|
|
activeTab: 'role'
|
|
}
|
|
},
|
|
computed: {
|
|
...mapGetters([
|
|
'name',
|
|
'avatar',
|
|
'roles'
|
|
]),
|
|
...mapState({
|
|
sidebar: state => state.app.sidebar,
|
|
device: state => state.app.device,
|
|
showSettings: state => state.settings.showSettings,
|
|
needTagsView: state => state.settings.tagsView,
|
|
fixedHeader: state => state.settings.fixedHeader,
|
|
showNavar: state => state.settings.showNavar,
|
|
showMenu: state => state.settings.showMenu
|
|
}),
|
|
classObj() {
|
|
return {
|
|
hideSidebar: !this.sidebar.opened,
|
|
openSidebar: this.sidebar.opened,
|
|
withoutAnimation: this.sidebar.withoutAnimation,
|
|
mobile: this.device === 'mobile'
|
|
}
|
|
}
|
|
},
|
|
created() {
|
|
this.getUser()
|
|
},
|
|
methods: {
|
|
getUser() {
|
|
this.user = {
|
|
name: this.name,
|
|
role: this.roles.join(' | '),
|
|
email: 'admin@test.com',
|
|
avatar: this.avatar
|
|
}
|
|
}
|
|
}
|
|
}
|
|
</script>
|