From 77fa2e4789340478ccec37c98ba68ba8853170ac Mon Sep 17 00:00:00 2001 From: 田源 <lastanimals@163.com> Date: 星期三, 30 十月 2024 11:36:18 +0800 Subject: [PATCH] 修改密码新密码重新登录&&属性池、表单定义表格、版本管理三个模块表单样式修改 --- Source/plt-web/plt-web-ui/src/page/login/userlogin.vue | 103 ++++++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 97 insertions(+), 6 deletions(-) diff --git a/Source/plt-web/plt-web-ui/src/page/login/userlogin.vue b/Source/plt-web/plt-web-ui/src/page/login/userlogin.vue index fad37a7..2bd8b81 100644 --- a/Source/plt-web/plt-web-ui/src/page/login/userlogin.vue +++ b/Source/plt-web/plt-web-ui/src/page/login/userlogin.vue @@ -46,7 +46,16 @@ @click.native.prevent="handleLogin">{{ $t('login.submit') }} </el-button> </el-form-item> - + <el-dialog + v-dialogDrag + :visible.sync="passwordVisible" + append-to-body="true" + class="avue-dialog" + style="margin-top: -15vh" + title="淇敼瀵嗙爜" + width="50%"> + <avue-form ref="changeForm" v-model="passwordForm" :option="passwordOption" @submit="submitSwitch"/> + </el-dialog> </el-form> </template> @@ -55,11 +64,63 @@ import {mapGetters} from "vuex"; import {info} from "@/api/system/tenant"; import {getTopUrl} from "@/util/util"; +import func from "@/util/func"; +import {changePassword} from "@/api/user"; export default { name: "userlogin", data() { return { + userName: '', + passwordVisible: false, + passwordForm: {}, + passwordOption: { + submitText: '淇濆瓨', + column: [ + { + label: '鐧婚檰瀵嗙爜', + prop: 'oldPassword', + span: 24, + labelWidth: "15%", + type: 'password', + rules: [ + { + required: true, + message: '璇疯緭鍏ョ櫥闄嗗瘑鐮�', + trigger: 'blur' + } + ] + }, + { + label: '鏂扮櫥闄嗗瘑鐮�', + prop: 'password', + span: 24, + labelWidth: "15%", + type: 'password', + rules: [ + { + required: true, + message: '璇疯緭鍏ユ柊鐧婚檰瀵嗙爜', + trigger: 'blur' + } + ] + }, + { + label: '鏂板瘑鐮佺櫥闄嗙‘璁�', + prop: 'confirmPassword', + span: 24, + labelWidth: "15%", + type: 'password', + rules: [ + { + required: true, + message: '璇风‘璁ょ櫥闄嗗瘑鐮�', + trigger: 'blur' + } + ] + } + ] + }, tenantMode: this.website.tenantMode, ButtonList: [], loginForm: { @@ -175,9 +236,14 @@ spinner: "el-icon-loading" }); this.$store.dispatch("LoginByUsername", this.loginForm).then((data) => { - if (data.obj.passwordInfo) { - this.$message.warning(data.obj.passwordInfo); + if (data.obj.failCode !== 'loginSuccess') { + // console.log('data', data); + this.$message.error(data.msg); + if (data.obj.mustChangePassword) { + this.passwordVisible = true; + } } + if (this.website.switchMode) { const deptId = this.userInfo.deptOid; const roleId = this.userInfo.userOid; @@ -195,9 +261,7 @@ this.$router.push({path: this.tagWel.value}); loading.close(); }).catch((err) => { - console.log('err', err) loading.close(); - }); } }); @@ -214,7 +278,34 @@ this.$parent.$refs.login.style.backgroundImage = `url(${data.data.backgroundUrl})`; } }) - } + }, + + submitSwitch(form, done) { + let userInfo = JSON.parse(localStorage.getItem('saber-userInfo')); + + let params = { + userName: this.loginForm.username, + 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('淇敼鎴愬姛锛屽嵆灏嗚烦杞埌棣栭〉'); + this.passwordVisible = false; + this.$refs.changeForm.resetFields(); + this.$store.dispatch("LoginByUsername", {...this.loginForm, password: form.confirmPassword}).then(data => { + if (data.obj.failCode !== 'loginSuccess') { + this.$message.error(data.msg); + } + this.$router.push({path: this.tagWel.value}); + }) + } + }).catch(err => { + console.log(err); + }) + done(); + }, } }; </script> -- Gitblit v1.9.3