From d1b58f0aaace06a8c6d5619a2b9abadca6456475 Mon Sep 17 00:00:00 2001 From: 疯狂的狮子Li <15040126243@163.com> Date: 星期一, 24 六月 2024 14:59:46 +0800 Subject: [PATCH] fix 修复 单词拼写错误 --- src/views/system/user/profile/index.vue | 189 ++++++++++++++++++++++++++++------------------- 1 files changed, 112 insertions(+), 77 deletions(-) diff --git a/src/views/system/user/profile/index.vue b/src/views/system/user/profile/index.vue index 09e4c32..7c1389a 100644 --- a/src/views/system/user/profile/index.vue +++ b/src/views/system/user/profile/index.vue @@ -1,87 +1,122 @@ <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> - <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> + <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.deptName" class="pull-right">{{ state.user.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-tab-pane label="鍦ㄧ嚎璁惧" name="onlineDevice"> + <onlineDevice :devices="state.devices" /> + </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"; +<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 OnlineDevice from './onlineDevice.vue'; +import { getAuthList } from '@/api/system/social/auth'; +import { getUserProfile } from '@/api/system/user'; +import { getOnline } from '@/api/monitor/online'; +import { UserVO } from '@/api/system/user/types'; -const activeTab = ref("userinfo"); -const state = reactive({ +const activeTab = ref('userinfo'); +interface State { + user: Partial<UserVO>; + roleGroup: string; + postGroup: string; + auths: any; + devices: any; +} +const state = ref<State>({ user: {}, - roleGroup: {}, - postGroup: {} + roleGroup: '', + postGroup: '', + auths: [], + devices: [] }); -function getUser() { - getUserProfile().then(response => { - state.user = response.data.user; - state.roleGroup = response.data.roleGroup; - state.postGroup = response.data.postGroup; - }); +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; }; -getUser(); +const getAuths = async () => { + const res = await getAuthList(); + state.value.auths = res.data; +}; +const getOnlines = async () => { + const res = await getOnline(); + state.value.devices = res.rows; +}; + +onMounted(() => { + getUser(); + getAuths(); + getOnlines(); +}); </script> -- Gitblit v1.9.3