From d6e9b6f11fd8f36895eb70f092bdd8c412750111 Mon Sep 17 00:00:00 2001
From: dangsn <dangsn@vci-tech.com>
Date: 星期四, 16 一月 2025 12:00:42 +0800
Subject: [PATCH] 补充AOF服务
---
Source/plt-web/plt-web-ui/src/views/system/userInfo/index.vue | 185 +++++++++++++++++++++++++++++++---------------
1 files changed, 125 insertions(+), 60 deletions(-)
diff --git a/Source/plt-web/plt-web-ui/src/views/system/userInfo/index.vue b/Source/plt-web/plt-web-ui/src/views/system/userInfo/index.vue
index c74a424..75d83c8 100644
--- a/Source/plt-web/plt-web-ui/src/views/system/userInfo/index.vue
+++ b/Source/plt-web/plt-web-ui/src/views/system/userInfo/index.vue
@@ -1,25 +1,55 @@
<template>
<div>
<basic-container>
- <avue-form
- ref="form"
- v-model="form"
- :option="option"
- @submit="handleSubmit"
- @tab-click="handleTabClick">
- <template slot="avatar" slot-scope="{disabled,size}">
- <div>
- <userAvatar :avatar="form.avatar"/>
- </div>
- </template>
- </avue-form>
+ <el-tabs v-model="index" @tab-click="handleTabClick">
+ <el-tab-pane label="涓汉淇℃伅" name="0">
+ <el-form ref="userForm" :model="userForm" :rules="userRules" label-width="90px" size="small">
+ <el-form-item label="澶村儚锛�">
+ <userAvatar :avatar="userForm.avatar"/>
+ </el-form-item>
+ <el-form-item label="鐢ㄦ埛鍚嶏細">
+ <el-input v-model="userForm.userId" :disabled="true"></el-input>
+ </el-form-item>
+ <el-form-item label="濮撳悕锛�" prop="userName">
+ <el-input v-model="userForm.userName"></el-input>
+ </el-form-item>
+ <el-form-item label="褰撳墠瑙掕壊锛�">
+ <el-input v-model="userForm.personName" :disabled="true"></el-input>
+ </el-form-item>
+ <el-form-item label="閭锛�">
+ <el-input v-model="userForm.email"></el-input>
+ </el-form-item>
+ <el-form-item>
+ <el-button type="primary" @click="userSubmit">鎻愪氦</el-button>
+ <el-button @click="handleWitch">娓呯┖</el-button>
+ </el-form-item>
+ </el-form>
+ </el-tab-pane>
+ <el-tab-pane label="淇敼瀵嗙爜" name="1">
+ <el-form ref="passWordForm" :model="passWordForm" :rules="rules" label-width="145px" size="small">
+ <el-form-item label="鐧婚檰瀵嗙爜锛�" prop="oldPassword">
+ <el-input v-model="passWordForm.oldPassword"></el-input>
+ </el-form-item>
+ <el-form-item label="鏂扮櫥闄嗗瘑鐮侊細" prop="password">
+ <el-input v-model="passWordForm.password"></el-input>
+ </el-form-item>
+ <el-form-item label="鏂板瘑鐮佺櫥闄嗙‘璁わ細" prop="confirmPassword">
+ <el-input v-model="passWordForm.confirmPassword"></el-input>
+ </el-form-item>
+ <el-form-item>
+ <el-button type="primary" @click="passWordSubmit">鎻愪氦</el-button>
+ <el-button @click="handleWitch">娓呯┖</el-button>
+ </el-form-item>
+ </el-form>
+ </el-tab-pane>
+ </el-tabs>
</basic-container>
</div>
</template>
<script>
import option from "@/option/user/info";
-import { updateUser } from "@/api/system/user/api";
+import {updateUser} from "@/api/system/user/api";
import func from "../../../util/func";
import {changePassword} from "../../../api/user"
import userAvatar from "./userAvatar";
@@ -30,9 +60,26 @@
components: {userAvatar,},
data() {
return {
- index: 0,
+ index: '0',
option: option,
- form: {}
+ userForm: {},
+ passWordForm: {},
+ userRules: {
+ userName: [
+ {required: true, message: '璇疯緭鍏ュ瘑鐮�', trigger: 'blur'},
+ ],
+ },
+ rules: {
+ oldPassword: [
+ {required: true, message: '璇疯緭鍏ュ瘑鐮�', trigger: 'blur'},
+ ],
+ password: [
+ {required: true, message: '璇疯緭鍏ュ瘑鐮�', trigger: 'blur'},
+ ],
+ confirmPassword: [
+ {required: true, message: '璇疯緭鍏ュ瘑鐮�', trigger: 'blur'},
+ ],
+ }
};
},
computed: {
@@ -42,56 +89,74 @@
this.handleWitch();
},
methods: {
- handleSubmit(form, done) {
- if (this.index === 0) {
- updateUser(form).then(res => {
- if (res.data.success) {
- this.$message({
- type: "success",
- message: "淇敼淇℃伅鎴愬姛!"
- });
- } else {
- this.$message({
- type: "error",
- message: res.data.msg
- });
- }
- done();
- }, error => {
- done();
- })
- } else {
- let userInfo = JSON.parse(localStorage.getItem('saber-userInfo'));
- let params = {
- userName: userInfo.content.userId,
- oldPassword: func.encryptData(form.oldPassword, 'daliantan0v0vcip'),
- password: func.encryptData(form.password, 'daliantan0v0vcip'),
- confirmPassword: func.encryptData(form.confirmPassword, 'daliantan0v0vcip'),
-
- }
- changePassword(params).then(res => {
- if (res.data.code === 200) {
- this.$message.success(res.data.msg);
- this.passwordVisible = false;
- this.$store.dispatch("LogOut").then(() => {
- resetRouter();
- this.$router.push({path: "/login"});
- });
- }
- }).catch(err => {
- console.log(err);
- })
- }
- },
handleWitch() {
- if (this.index === 0) {
- this.form = {...this.userInfo};
+ if (this.index === '0') {
+ const {avatar, userId, userName, email, personName} = this.userInfo;
+ this.userForm = {avatar, userId, userName, email, personName};
+ } else {
+ this.passWordForm = {};
+ this.$refs.passWordForm.clearValidate();
}
},
handleTabClick(tabs) {
- this.index = func.toInt(tabs.index);
+ this.index = tabs.index
this.handleWitch();
- this.$refs.form.resetFields();
+ },
+
+ userSubmit() {
+ console.log('123')
+ this.$refs.userForm.validate((valid) => {
+ if (valid) {
+ const params = {
+ id: this.userInfo.userId,
+ name: this.userForm.userName,
+ email: this.userForm.email
+ }
+ updateUser(params).then(res => {
+ if (res.data.success) {
+ this.$message({
+ type: "success",
+ message: "淇敼淇℃伅鎴愬姛!"
+ });
+ } else {
+ this.$message({
+ type: "error",
+ message: res.data.msg
+ });
+ }
+ done();
+ })
+ } else {
+ return false;
+ }
+ });
+ },
+ passWordSubmit() {
+ this.$refs.passWordForm.validate((valid) => {
+ if (valid) {
+ let userInfo = JSON.parse(localStorage.getItem('saber-userInfo'));
+ let params = {
+ userName: userInfo.content.userId,
+ oldPassword: func.encryptData(this.passWordForm.oldPassword, 'daliantan0v0vcip'),
+ password: func.encryptData(this.passWordForm.password, 'daliantan0v0vcip'),
+ confirmPassword: func.encryptData(this.passWordForm.confirmPassword, 'daliantan0v0vcip'),
+
+ }
+ changePassword(params).then(res => {
+ if (res.data.code === 200) {
+ this.$message.success(res.data.msg);
+ this.$store.dispatch("LogOut").then(() => {
+ resetRouter();
+ this.$router.push({path: "/login"});
+ });
+ }
+ }).catch(err => {
+ console.log(err);
+ })
+ } else {
+ return false;
+ }
+ });
}
}
};
--
Gitblit v1.9.3