From b06f6a316b6a8293bb8aba6bfff33336b66c032a Mon Sep 17 00:00:00 2001 From: ahaos <8406649+lhailgl@user.noreply.gitee.com> Date: 星期三, 13 十二月 2023 09:01:52 +0800 Subject: [PATCH] !64 版本升级 * Merge branch 'dev' of gitee.com:JavaLionLi/plus-ui into ts * 升级依赖 * !61 fix: 删除重复环境变量ElUploadInstance * fix: 删除重复环境变量ElUploadInstance --- src/views/system/user/profile/index.vue | 170 ++++++++++++++++++++++++++++++-------------------------- 1 files changed, 91 insertions(+), 79 deletions(-) diff --git a/src/views/system/user/profile/index.vue b/src/views/system/user/profile/index.vue index 40a5156..75e1fde 100644 --- a/src/views/system/user/profile/index.vue +++ b/src/views/system/user/profile/index.vue @@ -1,91 +1,103 @@ -<script setup name="Profile" lang="ts"> -import userAvatar from "./userAvatar.vue"; -import userInfo from "./userInfo.vue"; -import resetPwd from "./resetPwd.vue"; -import { getUserProfile } from "@/api/system/user"; +<template> + <div class="p-2"> + <el-row :gutter="20"> + <el-col :span="6" :xs="24"> + <el-card class="box-card"> + <template #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 v-if="state.user.dept" class="pull-right">{{ 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 #header> + <div class="clearfix"> + <span>鍩烘湰璧勬枡</span> + </div> + </template> + <el-tabs v-model="activeTab"> + <el-tab-pane label="鍩烘湰璧勬枡" name="userinfo"> + <userInfo :user="userForm" /> + </el-tab-pane> + <el-tab-pane label="淇敼瀵嗙爜" name="resetPwd"> + <resetPwd /> + </el-tab-pane> + <el-tab-pane label="绗笁鏂瑰簲鐢�" name="thirdParty"> + <thirdParty :auths="state.auths" /> + </el-tab-pane> + </el-tabs> + </el-card> + </el-col> + </el-row> + </div> +</template> -const activeTab = ref("userinfo"); -const state = ref<{ user: any; roleGroup: string; postGroup: string}>({ +<script setup name="Profile" lang="ts"> +import UserAvatar from './userAvatar.vue'; +import UserInfo from './userInfo.vue'; +import ResetPwd from './resetPwd.vue'; +import ThirdParty from './thirdParty.vue'; +import { getAuthList } from '@/api/system/social/auth'; +import { getUserProfile } from '@/api/system/user'; + +const activeTab = ref('userinfo'); +const state = ref<Record<string, any>>({ user: {}, roleGroup: '', - postGroup: '' + postGroup: '', + auths: [] }); const userForm = ref({}); const getUser = async () => { - const res = await getUserProfile(); - state.value.user = res.data.user; - userForm.value = { ...res.data.user } - state.value.roleGroup = res.data.roleGroup; - state.value.postGroup = res.data.postGroup; + const res = await getUserProfile(); + state.value.user = res.data.user; + userForm.value = { ...res.data.user }; + state.value.roleGroup = res.data.roleGroup; + state.value.postGroup = res.data.postGroup; +}; + +const getAuths = async () => { + const res = await getAuthList(); + state.value.auths = res.data; }; onMounted(() => { - getUser(); -}) + getUser(); + getAuths(); +}); </script> - -<template> - <div class="p-2"> - <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> - <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="userForm" /> - </el-tab-pane> - <el-tab-pane label="淇敼瀵嗙爜" name="resetPwd"> - <resetPwd /> - </el-tab-pane> - </el-tabs> - </el-card> - </el-col> - </el-row> - </div> -</template> -- Gitblit v1.9.3