|
@@ -5,8 +5,8 @@
|
|
|
<h2>{{ $t('security.changeName') }}</h2>
|
|
|
<el-form :model="userRuleForm" :rules="userRules" ref="userRuleForm" label-position="top" label-width="100px" inline-message>
|
|
|
<el-form-item prop="userName" :label="$t('security.name')">
|
|
|
- <el-input v-model.trim="userRuleForm.userName" auto-complete="off" :placeholder="$t('security.nameErr')"
|
|
|
- @paste.native.capture.prevent="handlePaste"></el-input>
|
|
|
+ <el-input v-model.trim="userRuleForm.userName" @focus="clear('userRuleForm', 'userName')" auto-complete="off" :placeholder="$t('security.nameErr')"
|
|
|
+ ></el-input>
|
|
|
</el-form-item>
|
|
|
<el-form-item>
|
|
|
<el-button type="primary" :disabled="submitBtnState('userRuleForm')" @click="submitUserName('userRuleForm')">{{ $t('security.save') }}</el-button>
|
|
@@ -23,6 +23,7 @@
|
|
|
auto-complete="off"
|
|
|
:placeholder="$t('security.oldErr')"
|
|
|
@paste.native.capture.prevent="handlePaste"
|
|
|
+ @focus="clear('ruleForm', 'oldPassword')"
|
|
|
:class="{'err-border': showErrTipOld}">
|
|
|
</el-input>
|
|
|
<span v-show="ruleForm.oldPassword" class="show-password" :class="passwordType ? 'eye-open' : 'eye-close'" @click="passwordType = !passwordType"></span>
|
|
@@ -34,7 +35,7 @@
|
|
|
<span class="rule-tip">{{ $t('security.passwordRule') }}</span>
|
|
|
</template>
|
|
|
<el-input :type="passwordType2 ? '' : 'password'" v-model.trim="ruleForm.newPassword" auto-complete="off" :placeholder="$t('security.newPassword')"
|
|
|
- @paste.native.capture.prevent="handlePaste"></el-input>
|
|
|
+ @paste.native.capture.prevent="handlePaste" @focus="clear('ruleForm', 'newPassword')"></el-input>
|
|
|
<span v-show="ruleForm.newPassword" class="show-password" :class="passwordType2 ? 'eye-open' : 'eye-close'" @click="passwordType2 = !passwordType2"></span>
|
|
|
</el-form-item>
|
|
|
<el-form-item prop="confirmPassword">
|
|
@@ -49,6 +50,7 @@
|
|
|
:placeholder="$t('security.confirmErr')"
|
|
|
@keyup.enter.native="submitPassword('ruleForm')"
|
|
|
@paste.native.capture.prevent="handlePaste"
|
|
|
+ @focus="clear('ruleForm', 'confirmPassword')"
|
|
|
:class="{'err-border': showErrTipNotMatch}">
|
|
|
</el-input>
|
|
|
<span v-show="ruleForm.confirmPassword" class="show-password" :class="passwordType3 ? 'eye-open' : 'eye-close'" @click="passwordType3 = !passwordType3"></span>
|
|
@@ -85,26 +87,26 @@ export default class Security extends Vue {
|
|
|
}
|
|
|
|
|
|
userRuleForm:isUserNameRuleForm = {
|
|
|
- userName: ''
|
|
|
+ userName: loginStore().user.name
|
|
|
}
|
|
|
|
|
|
rules:any = {
|
|
|
oldPassword: [
|
|
|
- { required: true, message: this.$t('security.oldPasswordBlank'), trigger: 'change' }
|
|
|
+ { required: true, message: this.$t('security.oldPasswordBlank'), trigger: 'blur' }
|
|
|
],
|
|
|
newPassword: [
|
|
|
- { required: true, message: this.$t('security.passwordBlank'), trigger: 'change' },
|
|
|
+ { required: true, message: this.$t('security.passwordBlank'), trigger: 'blur' },
|
|
|
{ min: 6, max: 24, message: this.$t('security.passwordRule'), trigger: 'change' }
|
|
|
],
|
|
|
confirmPassword: [
|
|
|
- { required: true, message: this.$t('security.passwordBlank'), trigger: 'change' },
|
|
|
+ { required: true, message: this.$t('security.passwordBlank'), trigger: 'blur' },
|
|
|
{ min: 6, max: 24, message: this.$t('security.passwordRule'), trigger: 'change' }
|
|
|
]
|
|
|
}
|
|
|
|
|
|
userRules:any = {
|
|
|
userName: [
|
|
|
- { required: true, message: this.$t('security.nameBlank'), trigger: 'change' },
|
|
|
+ { required: true, message: this.$t('security.nameBlank'), trigger: 'blur' },
|
|
|
{ max: 255, message: this.$t('security.nameMax'), trigger: 'change' }
|
|
|
]
|
|
|
}
|
|
@@ -188,11 +190,12 @@ export default class Security extends Vue {
|
|
|
formData.append('fullName', this.userRuleForm.userName)
|
|
|
apiChangeUserName(formData, {}).then((res: any) => {
|
|
|
if (res.code === '200') {
|
|
|
- loginStore().setUser({
|
|
|
- email: loginStore().user.email,
|
|
|
+ const user = {
|
|
|
name: this.userRuleForm.userName,
|
|
|
+ email: loginStore().user.email,
|
|
|
access_token: loginStore().user.access_token
|
|
|
- })
|
|
|
+ }
|
|
|
+ loginStore().setUser(user)
|
|
|
this.userChangeSuccessBox()
|
|
|
} else {
|
|
|
this.$message.error(fail)
|
|
@@ -256,6 +259,10 @@ export default class Security extends Vue {
|
|
|
this.$message.error('Changed Failed!')
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ clear (formName: string, val: string) {
|
|
|
+ (this.$refs[formName] as Form).clearValidate([val])
|
|
|
+ }
|
|
|
}
|
|
|
</script>
|
|
|
|