Commit 5e9df6f5 authored by shangtx's avatar shangtx

fix: 修改密码bug

parent a88d2aa1
......@@ -4,57 +4,69 @@
v-model="visible"
@ok="handleOk"
:maskClosable="false"
class="cust-modal">
class="cust-modal"
>
<a-form :form="form" ref="form">
<a-row>
<a-col :span="24">
<a-form-item v-bind="formItemLayout" label='现密码'>
<a-form-item v-bind="formItemLayout" label="现密码">
<a-input
v-decorator="[
'password',
'oldPwd',
{
rules: [
{
rules: [{
required: true, message: '请输入密码!',
}, {
validator: this.validateToNextPassword,
}],
required: true,
message: '请输入密码!'
},
{
validator: this.validateToNextPassword
}
]
}
]"
type='password'
type="password"
/>
</a-form-item>
</a-col>
</a-row>
<a-form-item v-bind="formItemLayout" label='新密码'>
<a-form-item v-bind="formItemLayout" label="新密码">
<a-input
v-decorator="[
'newPassword',
'newPwd',
{
rules: [{
required: true, message: '请输入新密码!',
}, {
validator: this.validateToNextPassword,
}],
rules: [
{
required: true,
message: '请输入新密码!'
},
{
validator: this.validateToNextPassword
}
]
}
]"
type='password'
type="password"
/>
</a-form-item>
<a-form-item v-bind="formItemLayout" label='确认密码' >
<a-form-item v-bind="formItemLayout" label="确认密码">
<a-input
v-decorator="[
'confirmNewPassword',
{
rules: [{
required: true, message: '请确认密码!',
}, {
validator: compareToFirstPassword,
}],
rules: [
{
required: true,
message: '请确认密码!'
},
{
validator: compareToFirstPassword
}
]
}
]"
type='password'
type="password"
@blur="handleConfirmBlur"
/>
</a-form-item>
......@@ -62,11 +74,10 @@
</a-modal>
</template>
<script>
import { editPwd } from '@/api/system/sysUserApi'
import { editPwd } from "@/api/system/sysUserApi";
export default {
beforeCreate () {
export default {
beforeCreate() {
this.form = this.$form.createForm(this)
},
data() {
......@@ -75,49 +86,49 @@
confirmDirty: false,
formItemLayout: {
labelCol: {
sm: { span: 7 },
sm: { span: 7 }
},
wrapperCol: {
sm: { span: 14 },
},
},
sm: { span: 14 }
}
}
}
},
methods: {
show() {
this.visible = true;
this.visible = true
},
handleOk() {
this.form.validateFieldsAndScroll((err, values) => {
if (!err) {
editPwd(values).then(resp => {
editPwd(values).then((resp) => {
if (resp && resp.code == SYS_CONST.REQUEST.SUCCEED) {
this.$emit('relogin', this.optType, values);
this.visible = false;
this.$emit('relogin', this.optType, values)
this.visible = false
}
})
}
})
},
validateToNextPassword (rule, value, callback) {
validateToNextPassword(rule, value, callback) {
const form = this.form
if (value && this.confirmDirty) {
form.validateFields(['confirmNewPassword'], { force: true })
}
callback()
},
compareToFirstPassword (rule, value, callback) {
compareToFirstPassword(rule, value, callback) {
const form = this.form
if (value && value !== form.getFieldValue('newPassword')) {
if (value && value !== form.getFieldValue('newPwd')) {
callback('确认两次密码是否一致!')
} else {
callback()
}
},
handleConfirmBlur (e) {
handleConfirmBlur(e) {
const value = e.target.value
this.confirmDirty = this.confirmDirty || !!value
},
}
}
}
</script>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment