From 0b0bb61067f570aa7af992418596d4fdc2cedc02 Mon Sep 17 00:00:00 2001
From: jhzh <1628036192@qq.com>
Date: Thu, 30 Oct 2025 16:06:33 +0800
Subject: [PATCH] 11
---
src/components/GlobalHeader/AvatarDropdown.vue | 111 +++++++++++++++++++++++++++++++++++++++++--------------
1 files changed, 83 insertions(+), 28 deletions(-)
diff --git a/src/components/GlobalHeader/AvatarDropdown.vue b/src/components/GlobalHeader/AvatarDropdown.vue
index d6f6e65..353686c 100644
--- a/src/components/GlobalHeader/AvatarDropdown.vue
+++ b/src/components/GlobalHeader/AvatarDropdown.vue
@@ -1,38 +1,63 @@
<template>
- <a-dropdown v-if="currentUser && currentUser.name" placement="bottomRight">
- <span class="ant-pro-account-avatar">
- <a-avatar
- size="small"
- src="https://gw.alipayobjects.com/zos/antfincdn/XAosXuNZyF/BiazfanxmamNRoxxVxka.png"
- class="antd-pro-global-header-index-avatar" />
- <span>{{ currentUser.name }}</span>
- </span>
- <template v-slot:overlay>
- <a-menu class="ant-pro-drop-down menu" :selected-keys="[]">
- <!-- <a-menu-item v-if="menu" key="center" @click="handleToCenter">
+ <div>
+ <a-dropdown v-if="currentUser && currentUser.name" placement="bottomRight">
+ <span class="ant-pro-account-avatar">
+ <a-avatar
+ size="small"
+ src="https://gw.alipayobjects.com/zos/antfincdn/XAosXuNZyF/BiazfanxmamNRoxxVxka.png"
+ class="antd-pro-global-header-index-avatar" />
+ <span>{{ currentUser.name }}</span>
+ </span>
+ <template v-slot:overlay>
+ <a-menu class="ant-pro-drop-down menu" :selected-keys="[]">
+ <!-- <a-menu-item v-if="menu" key="center" @click="handleToCenter">
<a-icon type="user" />
{{ $t('menu.account.center') }}
</a-menu-item> -->
- <a-menu-item v-if="menu" key="settings" @click="handleToSettings">
- <a-icon type="setting" />
- {{ $t('menu.account.settings') }}
- </a-menu-item>
- <a-menu-divider v-if="menu" />
- <a-menu-item key="logout" @click="handleLogout">
- <a-icon type="logout" />
- {{ $t('menu.account.logout') }}
- </a-menu-item>
- </a-menu>
- </template>
- </a-dropdown>
- <span v-else>
- <a-spin size="small" :style="{ marginLeft: 8, marginRight: 8 }" />
- </span>
+ <a-menu-item v-if="menu" key="settings" @click="handleToSettings">
+ <a-icon type="setting" />
+ 修改密码
+ </a-menu-item>
+ <a-menu-divider v-if="menu" />
+ <a-menu-item key="logout" @click="handleLogout">
+ <a-icon type="logout" />
+ {{ $t('menu.account.logout') }}
+ </a-menu-item>
+ </a-menu>
+ </template>
+ </a-dropdown>
+
+ <span v-else>
+ <a-spin size="small" :style="{ marginLeft: 8, marginRight: 8 }" />
+ </span>
+ <span>
+ <a-modal
+ title="修改密码"
+ :width="500"
+ :visible="addUserdialog"
+ :confirmLoading="addUserDialogloading"
+ @ok="OkaddUserdialog"
+ @cancel="CanceladdUserdialog">
+ <a-form :form="addUserform" ref="addUserform">
+ <a-form-item label="旧密码">
+ <a-input
+ placeholder="请输入旧密码"
+ v-decorator="['oldPwd', { rules: [{ required: true, message: '请输入旧密码', }] }]" />
+ </a-form-item>
+ <a-form-item label="新密码">
+ <a-input
+ placeholder="请输入新密码"
+ v-decorator="['newPwd', { rules: [{ required: true, message: '请输入新密码', }] }]" />
+ </a-form-item>
+ </a-form>
+ </a-modal>
+ </span>
+ </div>
</template>
<script>
import { Modal } from 'ant-design-vue'
-
+import { agentupdatePwd } from '@/api/home'
export default {
name: 'AvatarDropdown',
props: {
@@ -45,12 +70,42 @@
default: true
}
},
+ data () {
+ return {
+ addUserform: this.$form.createForm(this),
+ addUserdialog: false,
+ addUserDialogloading: false
+ }
+ },
methods: {
+ CanceladdUserdialog () {
+ this.addUserdialog = false
+ const form = this.$refs.addUserform.form
+ form.resetFields()
+ },
+ OkaddUserdialog () {
+ const form = this.$refs.addUserform.form
+ form.validateFields((errors, values) => {
+ if (!errors) {
+ this.addUserDialogloading = true
+ agentupdatePwd(values).then(res => {
+ if (res.status == 0) {
+ this.addUserdialog = false
+ this.$message.success({ content: res.msg, duration: 2 })
+ form.resetFields()
+ } else {
+ this.$message.error({ content: res.msg })
+ }
+ this.addUserDialogloading = false
+ })
+ }
+ })
+ },
handleToCenter () {
this.$router.push({ path: '/account/center' })
},
handleToSettings () {
- this.$router.push({ path: '/account/settings' })
+ this.addUserdialog = true
},
handleLogout (e) {
Modal.confirm({
--
Gitblit v1.9.3