From 391eec3114a17e68652434c6eae610799d80290e Mon Sep 17 00:00:00 2001 From: ludc <ludc@vci-tech.com> Date: 星期四, 16 一月 2025 11:13:43 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- Source/plt-web/plt-web-ui/src/views/system/userInfo/index.vue | 187 +++++++++++++++++++++++++++++++--------------- 1 files changed, 125 insertions(+), 62 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 f8250e3..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 {getUserInfo, updateInfo, updatePassword} from "@/api/system/user"; +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,58 +89,74 @@ this.handleWitch(); }, methods: { - handleSubmit(form, done) { - if (this.index === 0) { - updateInfo(form).then(res => { - if (res.data.success) { - this.$message({ - type: "success", - message: "淇敼淇℃伅鎴愬姛!" - }); - } else { - this.$message({ - type: "error", - message: res.data.msg - }); - } - done(); - }, error => { - window.console.log(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}; - console.log(this.form); + 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