wangyi
2026-02-28 a1cc3f87d24ae2a19295c7b38faa17228cd863ec
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
<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>