From ea2c988d3d6f875e37cbe54268612f497f2b743a Mon Sep 17 00:00:00 2001
From: ysn <2126564605@qq.com>
Date: Wed, 3 Jun 2026 15:56:03 +0800
Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=A4=B4=E5=83=8F-=E5=8A=9F?=
=?UTF-8?q?=E8=83=BD=E5=AE=8C=E5=96=84?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/api/system/user.js | 5 +-
src/layout/components/Navbar.vue | 15 +-
src/store/getters.js | 1 +
src/store/modules/user.js | 11 +-
src/views/system/user/profile/userAvatar.vue | 262 +++++++++----------
5 files changed, 143 insertions(+), 151 deletions(-)
diff --git a/src/api/system/user.js b/src/api/system/user.js
index 5c08719..ec00852 100644
--- a/src/api/system/user.js
+++ b/src/api/system/user.js
@@ -97,11 +97,10 @@ export function postUserOpsPwd(data) {
}
// 用户头像上传
-export function uploadAvatar(data) {
+export function postUserOpsAvatarUpdate(data) {
return request({
- url: '/system/user/profile/avatar',
+ url: '/users/ops/avatar/update',
method: 'post',
- headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
data: data
})
}
diff --git a/src/layout/components/Navbar.vue b/src/layout/components/Navbar.vue
index d0faaef..d7f54d5 100644
--- a/src/layout/components/Navbar.vue
+++ b/src/layout/components/Navbar.vue
@@ -50,20 +50,24 @@
trigger="hover"
>
-
![]()
+
{{ userInfo.name }}
- {{ userInfo.status }}
+ {{
+ userInfo.status
+ ? userStateList.find((item) => item.id == userInfo.status)
+ .state
+ : ""
+ }}
-
+
所属单位
{{ userInfo.group }}
@@ -132,7 +136,6 @@ import SystemSettingDialog from "./SystemSettingDialog";
import AboutDialog from "./AboutDialog";
export default {
- dicts: ["sys_normal_disable"],
components: {
Breadcrumb,
Logo,
@@ -167,7 +170,7 @@ export default {
},
},
computed: {
- ...mapGetters(["sidebar", "avatar", "device", "userInfo"]),
+ ...mapGetters(["sidebar", "avatar", "device", "config", "userStateList", "userInfo"]),
setting: {
get() {
return this.$store.state.settings.showSettings;
diff --git a/src/store/getters.js b/src/store/getters.js
index 5cd8572..8e15d1c 100644
--- a/src/store/getters.js
+++ b/src/store/getters.js
@@ -8,6 +8,7 @@ const getters = {
visitedViews: state => state.tagsView.visitedViews,
cachedViews: state => state.tagsView.cachedViews,
loginInfo: state => state.user.loginInfo,
+ userStateList: state => state.user.userStateList,
token: state => state.user.token,
userInfo: state => state.user.userInfo,
introduction: state => state.user.introduction,
diff --git a/src/store/modules/user.js b/src/store/modules/user.js
index 46b3cec..987a215 100644
--- a/src/store/modules/user.js
+++ b/src/store/modules/user.js
@@ -2,7 +2,7 @@ import store from '@/store'
import router from '@/router'
import cache from '@/plugins/cache'
import { MessageBox } from 'element-ui'
-import { login, logout, getInfo, getCommonConfigOptions } from '@/api/login'
+import { login, logout, getInfo, getCommonConfigOptions, postUserStateList } from '@/api/login'
import { getToken, getLoginInfo, setToken, setLoginInfo, removeToken, removeLoginInfo } from '@/utils/auth'
import { isHttp, isEmpty } from "@/utils/validate"
import defAva from '@/assets/images/profile.jpg'
@@ -11,11 +11,12 @@ import { initMinioClient, parseMinioFilePath } from '@/utils/requestMinio'
const user = {
state: {
loginInfo: getLoginInfo(),
+ userStateList: [],
userInfo: {},
token: getToken(),
roles: [],
permissions: [],
- netConfig: {}
+ netConfig: {},
},
mutations: {
@@ -37,6 +38,9 @@ const user = {
SET_NET_CONFIG: (state, netConfig) => {
state.netConfig = netConfig
},
+ SET_USER_STATE_LIST: (state, userStateList) => {
+ state.userStateList = userStateList
+ },
},
actions: {
// 登录
@@ -60,6 +64,9 @@ const user = {
GetInfo({ commit, state }) {
return new Promise((resolve, reject) => {
getInfo().then(res => {
+ postUserStateList().then(res => {
+ commit('SET_USER_STATE_LIST', res.data.list)
+ })
const user = res.data
let avatar = user.avatar || ""
if (!isHttp(avatar)) {
diff --git a/src/views/system/user/profile/userAvatar.vue b/src/views/system/user/profile/userAvatar.vue
index 59afb35..36ec279 100644
--- a/src/views/system/user/profile/userAvatar.vue
+++ b/src/views/system/user/profile/userAvatar.vue
@@ -1,162 +1,133 @@
-
-
-
-
-
-
-
-
-
![]()
-
-
-
-
-
-
-
-
- 选择
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 提 交
-
-
-
+
+
![点击上传头像]()
+
+
+
+
+
+.upload-progress-container {
+ padding: 20px;
+}
+
+.upload-progress-info {
+ margin-bottom: 15px;
+ text-align: center;
+ font-size: 14px;
+ color: #666;
+}
+
\ No newline at end of file