From 089bf5d2378b3c4a61d795b2a92bede2c193b771 Mon Sep 17 00:00:00 2001
From: admin <344137771@qq.com>
Date: Tue, 06 Jan 2026 11:22:58 +0800
Subject: [PATCH] 1
---
src/views/main-navbar-update-password.vue | 123 +++++++++++++++++++++++++++++++++++++++++
1 files changed, 123 insertions(+), 0 deletions(-)
diff --git a/src/views/main-navbar-update-password.vue b/src/views/main-navbar-update-password.vue
new file mode 100644
index 0000000..e27b48e
--- /dev/null
+++ b/src/views/main-navbar-update-password.vue
@@ -0,0 +1,123 @@
+<template>
+ <el-dialog
+ title="修改登录密码"
+ :visible.sync="visible"
+ width="600px"
+ :append-to-body="true">
+ <el-form :model="dataForm" :rules="dataRule" ref="dataForm" @keyup.enter.native="dataFormSubmit()" label-width="100px">
+ <el-form-item label="账号">
+ <span>{{ userName }}</span>
+ </el-form-item>
+ <el-form-item label="旧登录密码" prop="password">
+ <el-input type="password" v-model="dataForm.password" placeholder="请输入旧密码"></el-input>
+ </el-form-item>
+ <el-form-item label="新密码" prop="newPassword">
+ <el-input type="password" v-model="dataForm.newPassword" placeholder="由数字、字符、特殊字符三种中的两种组成,长度不能少于6位"></el-input>
+ </el-form-item>
+ <el-form-item label="确认新密码" prop="confirmPassword">
+ <el-input type="password" v-model="dataForm.confirmPassword" placeholder="请确认新密码"></el-input>
+ </el-form-item>
+ </el-form>
+ <span slot="footer" class="dialog-footer">
+ <el-button @click="visible = false">取消</el-button>
+ <el-button type="primary" @click="dataFormSubmit()">确定</el-button>
+ </span>
+ </el-dialog>
+</template>
+
+<script>
+ import { clearLoginInfo } from '@/utils'
+ import { Debounce } from '@/utils/debounce'
+ import { encrypt } from '@/utils/crypto'
+ export default {
+ data () {
+ var validateConfirmPassword = (rule, value, callback) => {
+ if (this.dataForm.newPassword !== value) {
+ callback(new Error('确认密码与新密码不一致'))
+ } else {
+ callback()
+ }
+ }
+ return {
+ visible: false,
+ dataForm: {
+ password: '',
+ newPassword: '',
+ confirmPassword: ''
+ },
+ dataRule: {
+ password: [
+ { required: true, message: '旧登录密码不能为空', trigger: 'blur' }
+ ],
+ newPassword: [
+ { required: true, message: '新密码不能为空', trigger: 'blur' }
+ ],
+ confirmPassword: [
+ { required: true, message: '确认新密码不能为空', trigger: 'blur' },
+ { validator: validateConfirmPassword, trigger: 'blur' }
+ ]
+ }
+ }
+ },
+ computed: {
+ userName: {
+ get () { return this.$store.state.user.name }
+ },
+ mainTabs: {
+ get () { return this.$store.state.common.mainTabs },
+ set (val) { this.$store.commit('common/updateMainTabs', val) }
+ }
+ },
+ methods: {
+ // 初始化
+ init () {
+ this.visible = true
+ this.$nextTick(() => {
+ this.$refs['dataForm'].resetFields()
+ })
+ },
+ // 表单提交
+ dataFormSubmit: Debounce(function () {
+ this.$refs['dataForm'].validate((valid) => {
+ if (valid) {
+ this.$http({
+ url: this.$http.adornUrl('/changeLoginPassword'),
+ method: 'post',
+ data: this.$http.adornData({
+ 'oldPassword': encrypt(this.dataForm.password),
+ 'newPassword': encrypt(this.dataForm.newPassword)
+ })
+ }).then(({data}) => {
+ if(data.code == 0){
+ this.$message({
+ message: '操作成功',
+ type: 'success',
+ duration: 1500,
+ onClose: () => {
+ this.visible = false
+ this.$nextTick(() => {
+ // this.mainTabs = []
+ // clearLoginInfo()
+ // this.$router.replace({ name: 'login' })
+ })
+ }
+ })
+ }else{
+ this.$message({
+ message:data.msg,
+ type: 'error',
+ duration: 1500,
+ onClose: () => {
+
+ }
+ })
+ }
+
+ })
+ }
+ })
+ })
+ }
+ }
+</script>
+
--
Gitblit v1.9.3