<template>
|
<el-dialog title="修改密码" :visible.sync="dialogVisible" width="500px" @close="handleClose">
|
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
|
<el-form-item label="当前用户">
|
<el-input v-model="form.currentUser" :readonly="true" />
|
</el-form-item>
|
<el-form-item label="当前密码">
|
<el-input v-model="form.oldPassword" type="password" :readonly="true" />
|
</el-form-item>
|
<el-form-item label="新密码" prop="newPassword">
|
<el-input v-model="form.newPassword" type="password" placeholder="6到16个字符" show-password />
|
</el-form-item>
|
<el-form-item label="确认新密码" prop="confirmPassword">
|
<el-input v-model="form.confirmPassword" type="password" placeholder="再次输入新密码" show-password />
|
</el-form-item>
|
<el-form-item label="金蝶云账号">
|
<el-input v-model="form.cloudUserName" />
|
</el-form-item>
|
<el-form-item label="金蝶云密码">
|
<el-input v-model="form.cloudUserPsd" type="password" show-password />
|
</el-form-item>
|
</el-form>
|
<span slot="footer" class="dialog-footer">
|
<el-button @click="dialogVisible = false">取 消</el-button>
|
<el-button type="primary" @click="submitForm" :loading="submitting">确 认 修 改</el-button>
|
</span>
|
</el-dialog>
|
</template>
|
|
<script>
|
import request from '@/utils/request'
|
|
export default {
|
name: 'UpdatePsw',
|
data() {
|
|
const validateConfirm = (rule, value, callback) => {
|
if (value !== this.form.newPassword) {
|
callback(new Error('两次输入密码不一致'))
|
} else {
|
callback()
|
}
|
}
|
return {
|
dialogVisible: false,
|
submitting: false,
|
form: {
|
currentUser: '',
|
oldPassword: '',
|
newPassword: '',
|
confirmPassword: '',
|
cloudUserName: '',
|
cloudUserPsd: ''
|
},
|
rules: {
|
newPassword: [
|
{ required: true, message: '请输入新密码', trigger: 'blur' },
|
{ min: 6, max: 16, message: '长度在 6 到 16 个字符', trigger: 'blur' }
|
],
|
confirmPassword: [
|
{ required: true, message: '请再次输入新密码', trigger: 'blur' },
|
{ validator: validateConfirm, trigger: 'blur' }
|
]
|
}
|
}
|
},
|
methods: {
|
|
open() {
|
this.form.currentUser = sessionStorage['HUserName'] || ''
|
this.form.oldPassword = sessionStorage['Czmm'] || ''
|
this.form.cloudUserName = sessionStorage['HCloudUserName'] || ''
|
this.form.cloudUserPsd = sessionStorage['HCloudUserPsd'] || ''
|
|
this.form.newPassword = ''
|
this.form.confirmPassword = ''
|
this.dialogVisible = true
|
|
this.$nextTick(() => {
|
this.$refs.form?.clearValidate()
|
})
|
},
|
|
handleClose() {
|
|
this.$refs.form?.resetFields()
|
},
|
|
submitForm() {
|
this.$refs.form.validate(valid => {
|
if (!valid) return
|
this.submitting = true
|
|
const params = {
|
UserName: sessionStorage['Czybm'] || '',
|
oldPassword: this.form.oldPassword,
|
PassWord: this.form.newPassword,
|
Repassword: this.form.confirmPassword,
|
HCloudUserName: this.form.cloudUserName,
|
HCloudUserPsd: this.form.cloudUserPsd
|
}
|
request({
|
url: '/Web/GetXGPassword',
|
method: 'get',
|
params: params
|
}).then(res => {
|
if (res.count === 1) {
|
|
this.$modal.msgSuccess(res.Message || '修改成功')
|
|
sessionStorage.clear()
|
|
this.$router.push('/index')
|
|
this.dialogVisible = false
|
} else {
|
|
this.$modal.msgError(res.Message || '修改失败')
|
}
|
}).catch(err => {
|
this.$modal.msgError(err.message || '请求失败')
|
}).finally(() => {
|
this.submitting = false
|
})
|
})
|
}
|
}
|
}
|
</script>
|
|
<style scoped>
|
</style>
|