Commit 5e9df6f5 authored by shangtx's avatar shangtx

fix: 修改密码bug

parent a88d2aa1
...@@ -4,57 +4,69 @@ ...@@ -4,57 +4,69 @@
v-model="visible" v-model="visible"
@ok="handleOk" @ok="handleOk"
:maskClosable="false" :maskClosable="false"
class="cust-modal"> class="cust-modal"
>
<a-form :form="form" ref="form"> <a-form :form="form" ref="form">
<a-row> <a-row>
<a-col :span="24"> <a-col :span="24">
<a-form-item v-bind="formItemLayout" label='现密码'> <a-form-item v-bind="formItemLayout" label="现密码">
<a-input <a-input
v-decorator="[ v-decorator="[
'password', 'oldPwd',
{
rules: [
{ {
rules: [{ required: true,
required: true, message: '请输入密码!', message: '请输入密码!'
}, { },
validator: this.validateToNextPassword, {
}], validator: this.validateToNextPassword
}
]
} }
]" ]"
type='password' type="password"
/> />
</a-form-item> </a-form-item>
</a-col> </a-col>
</a-row> </a-row>
<a-form-item v-bind="formItemLayout" label='新密码'> <a-form-item v-bind="formItemLayout" label="新密码">
<a-input <a-input
v-decorator="[ v-decorator="[
'newPassword', 'newPwd',
{ {
rules: [{ rules: [
required: true, message: '请输入新密码!', {
}, { required: true,
validator: this.validateToNextPassword, message: '请输入新密码!'
}], },
{
validator: this.validateToNextPassword
}
]
} }
]" ]"
type='password' type="password"
/> />
</a-form-item> </a-form-item>
<a-form-item v-bind="formItemLayout" label='确认密码' > <a-form-item v-bind="formItemLayout" label="确认密码">
<a-input <a-input
v-decorator="[ v-decorator="[
'confirmNewPassword', 'confirmNewPassword',
{ {
rules: [{ rules: [
required: true, message: '请确认密码!', {
}, { required: true,
validator: compareToFirstPassword, message: '请确认密码!'
}], },
{
validator: compareToFirstPassword
}
]
} }
]" ]"
type='password' type="password"
@blur="handleConfirmBlur" @blur="handleConfirmBlur"
/> />
</a-form-item> </a-form-item>
...@@ -62,11 +74,10 @@ ...@@ -62,11 +74,10 @@
</a-modal> </a-modal>
</template> </template>
<script> <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) this.form = this.$form.createForm(this)
}, },
data() { data() {
...@@ -75,49 +86,49 @@ ...@@ -75,49 +86,49 @@
confirmDirty: false, confirmDirty: false,
formItemLayout: { formItemLayout: {
labelCol: { labelCol: {
sm: { span: 7 }, sm: { span: 7 }
}, },
wrapperCol: { wrapperCol: {
sm: { span: 14 }, sm: { span: 14 }
}, }
}, }
} }
}, },
methods: { methods: {
show() { show() {
this.visible = true; this.visible = true
}, },
handleOk() { handleOk() {
this.form.validateFieldsAndScroll((err, values) => { this.form.validateFieldsAndScroll((err, values) => {
if (!err) { if (!err) {
editPwd(values).then(resp => { editPwd(values).then((resp) => {
if (resp && resp.code == SYS_CONST.REQUEST.SUCCEED) { if (resp && resp.code == SYS_CONST.REQUEST.SUCCEED) {
this.$emit('relogin', this.optType, values); this.$emit('relogin', this.optType, values)
this.visible = false; this.visible = false
} }
}) })
} }
}) })
}, },
validateToNextPassword (rule, value, callback) { validateToNextPassword(rule, value, callback) {
const form = this.form const form = this.form
if (value && this.confirmDirty) { if (value && this.confirmDirty) {
form.validateFields(['confirmNewPassword'], { force: true }) form.validateFields(['confirmNewPassword'], { force: true })
} }
callback() callback()
}, },
compareToFirstPassword (rule, value, callback) { compareToFirstPassword(rule, value, callback) {
const form = this.form const form = this.form
if (value && value !== form.getFieldValue('newPassword')) { if (value && value !== form.getFieldValue('newPwd')) {
callback('确认两次密码是否一致!') callback('确认两次密码是否一致!')
} else { } else {
callback() callback()
} }
}, },
handleConfirmBlur (e) { handleConfirmBlur(e) {
const value = e.target.value const value = e.target.value
this.confirmDirty = this.confirmDirty || !!value this.confirmDirty = this.confirmDirty || !!value
},
} }
} }
}
</script> </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