| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165 | <template>  <div class="app-container common-list-page">    <el-form      ref="temp"      :model="temp"      :rules="rules"      status-icon      label-width="100px"    >      <el-form-item label="旧密码:" prop="oldpassword">        <el-input v-model="temp.oldpassword" type="password" auto-complete="off" />      </el-form-item>      <el-form-item label="新密码:" prop="password">        <el-input v-model="temp.password" type="password" auto-complete="off" />      </el-form-item>      <el-form-item label="确认密码:" prop="password1">        <el-input v-model="temp.password1" type="password" auto-complete="off" />      </el-form-item>      <el-form-item>        <el-button type="primary" @click.native.prevent="toAmend">确认修改</el-button>      </el-form-item>    </el-form>  </div></template><script>import { ExecDataByConfig } from '@/api/common'import Cookies from 'js-cookie'export default {  data() {    var oldPass = (rule, value, callback) => {      if (!value) {        callback(new Error('请输入旧密码'))      } else if (value.toString().length < 6 || value.toString().length > 18) {        callback(new Error('密码长度为6-18位'))      } else {        callback()      }    }    var validatePass = (rule, value, callback) => {      console.log(value)      if (!value) {        callback(new Error('请输入新密码'))      } else if (value.toString().length < 6 || value.toString().length > 18) {        callback(new Error('密码长度为6-18位'))      } else {        callback()      }    }    var validatePass2 = (rule, value, callback) => {      if (value === '') {        callback(new Error('请再次输入密码'))      } else if (value !== this.temp.password) {        callback(new Error('两次输入密码不一致!'))      } else {        callback()      }    }    return {      resetForm: {        // name: 'updatePwd',        // returntype: 'Map',        // parammaps: {        //   password: '',        //   username: this.$store.state.user.name        // }      },      temp: {},      rules: {        oldpassword: [          { required: true, validator: oldPass, trigger: 'blur' }        ],        password: [          { required: true, validator: validatePass, trigger: 'blur' }        ],        password1: [          { required: true, validator: validatePass2, trigger: 'blur' }        ]      }    }  },  methods: {    toAmend() {      console.log(111)      this.$refs['temp'].validate(valid => {        if (valid) {          this.resetForm.common = { 'returnmap': '0' }          this.resetForm.data = []          this.resetForm.data[0] = { 'name': 'checkPassword', 'type': 'v', 'parammaps': {            'id': Cookies.get('employeid'),            'password': this.temp.oldpassword          }}          this.resetForm.data[1] = { 'name': 'updatePwd', 'type': 'e', 'parammaps': {            'password': this.temp.password,            'username':  Cookies.get('name')          }}          ExecDataByConfig(this.resetForm).then(response => {            console.log('保存发送参数', this.resetForm)            if (response.msg === 'fail') {              this.$notify({                title: '保存失败',                message: response.data,                type: 'warning',                duration: 2000              })            } else {              setTimeout(() => {                this.logout() // 调用跳转到登陆页的方法              }, 1000)              this.$notify({                title: '',                message: '保存成功',                type: 'success',                duration: 2000              })            }          })        }      })      //     this.resetForm.parammaps.password = this.temp.password      //     this.resetForm.parammaps.username = this.$store.state.user.name      //     PostDataByName(this.resetForm).then(response => {      //       if (response.msg === 'fail') {      //         this.$notify({      //           title: '失败',      //           message: '修改失败',      //           type: 'danger',      //           duration: 2000      //         })      //       } else {      //         setTimeout(() => {      //           this.logout() // 调用跳转到登陆页的方法      //         }, 1000)      //         this.$notify({      //           title: '成功',      //           message: '修改成功',      //           type: 'success',      //           duration: 2000      //         })      //       }      //       console.log(response)      //     })      //   }      // })    },    // 这是修改成功后重新返回登陆页的方法,看个人需要自行调整    async logout() {      await this.$store.dispatch('user/logout')      this.$router.push(`/login`)    }  }}</script><style lang="scss" scoped>.el-form {  width: 60%;  margin: 50px auto 0;  text-align: center;  button {    margin: 20px 0 0;  }}</style>
 |