changePwd.vue 4.68 KB
Newer Older
xulili's avatar
xulili committed
1
<template>
xulili's avatar
xulili committed
2
  <div class="change-pwd-wrapper height100">
xulili's avatar
xulili committed
3
    <div class="page-form-box">
xulili's avatar
xulili committed
4 5 6 7 8 9 10 11 12 13
      <div class="page-form-box-header">修改密码</div>
      <div class="page-form-box-content">
        <el-form
          ref="form"
          :rules="rules"
          :model="form"
          label-width="80px"
          label-position="top"
          class="party-form"
        >
xulili's avatar
xulili committed
14 15 16
          <el-form-item label="当前账号">
            <span>{{ userName }}</span>
          </el-form-item>
xulili's avatar
xulili committed
17 18 19 20 21
          <el-form-item label="请输入当前密码" prop="oldPassWord">
            <el-input
              v-model="form.oldPassWord"
              placeholder="请输入当前密码"
              type="password"
xulili's avatar
xulili committed
22
              oninput="value = value.trim()"
xulili's avatar
xulili committed
23 24 25 26 27 28 29
            ></el-input>
          </el-form-item>
          <el-form-item label="请输入新密码" prop="password">
            <el-input
              v-model="form.password"
              placeholder="请输入新密码"
              type="password"
xulili's avatar
xulili committed
30
              oninput="value = value.trim()"
xulili's avatar
xulili committed
31 32 33 34 35 36 37 38
            >
            </el-input>
          </el-form-item>
          <el-form-item label="请再次输入新密码" prop="checkPass">
            <el-input
              v-model="form.checkPass"
              placeholder="请再次输入新密码"
              type="password"
xulili's avatar
xulili committed
39
              oninput="value = value.trim()"
xulili's avatar
xulili committed
40 41 42 43 44 45 46 47 48
            >
            </el-input>
          </el-form-item>
        </el-form>
      </div>
      <div class="page-form-box-footer">
        <div class="btn-group">
          <el-button @click="handleCancel">取消</el-button>
          <el-button type="primary" @click="handleSubmit">确定修改</el-button>
xulili's avatar
xulili committed
49
        </div>
xulili's avatar
xulili committed
50
      </div>
xulili's avatar
xulili committed
51
    </div>
xulili's avatar
xulili committed
52
  </div>
xulili's avatar
xulili committed
53 54
</template>
<script>
xulili's avatar
xulili committed
55
import { loginOut } from "@/config/loginOut.js";
xulili's avatar
xulili committed
56
import util from "@/utils/util.js";
xulili's avatar
xulili committed
57
export default {
xulili's avatar
xulili committed
58 59 60 61 62 63
  data() {
    var validatePass = (rule, value, callback) => {
      if (value === "") {
        callback(new Error("请输入密码"));
      } else {
        callback();
xulili's avatar
xulili committed
64
      }
xulili's avatar
xulili committed
65 66 67 68 69 70 71 72 73 74 75
    };
    var validatePass2 = (rule, value, callback) => {
      if (value === "") {
        callback(new Error("请再次输入密码"));
      } else if (value !== this.form.password) {
        callback(new Error("两次输入密码不一致!"));
      } else {
        callback();
      }
    };
    return {
xulili's avatar
xulili committed
76
      userName: localStorage.getItem("user"),
xulili's avatar
xulili committed
77 78 79 80 81 82 83 84
      form: {
        oldPassWord: "",
        password: "",
        checkPass: "",
      },
      rules: {
        oldPassWord: [
          { required: true, message: "请输入原密码", trigger: "blur" },
xulili's avatar
xulili committed
85 86 87 88
          {
            max:8,
            message: "请输入8位密码",
          },
xulili's avatar
xulili committed
89 90 91
        ],
        password: [
          { required: true, validator: validatePass, trigger: "blur" },
xulili's avatar
xulili committed
92 93 94 95
          {
            pattern: /(?=.*([a-zA-Z].*))(?=.*[0-9].*)[a-zA-Z0-9-_@*]{8}$/,
            message: "密码至少包括数字和字母,可以有-_@特殊字符,长度8位",
          },
xulili's avatar
xulili committed
96 97 98 99 100 101
        ],
        checkPass: [
          { required: true, validator: validatePass2, trigger: "blur" },
        ],
      },
    };
xulili's avatar
xulili committed
102
  },
xulili's avatar
xulili committed
103 104 105 106 107 108 109 110
  mounted() {},
  methods: {
    handleCancel() {
      this.form = {
        oldPassWord: "",
        password: "",
        checkPass: "",
      };
xulili's avatar
xulili committed
111
      this.$router.go(-1);
xulili's avatar
xulili committed
112 113 114
    },
    handleSubmit() {
      let _this = this;
xulili's avatar
xulili committed
115
      this.$refs.form.validate((valid) => {
xulili's avatar
xulili committed
116 117
        if (valid) {
          let requestParams = {};
xulili's avatar
xulili committed
118 119
          requestParams.oldPassWord = util.encrypt(_this.form.oldPassWord);
          requestParams.password = util.encrypt(_this.form.password);
xulili's avatar
xulili committed
120 121 122 123 124
          _this
            .$https(
              {
                method: "put",
                url: "tUser/editPwd",
xulili's avatar
xulili committed
125
                authType: this.backToken,
xulili's avatar
xulili committed
126
              },
xulili's avatar
xulili committed
127
              _this.$qs.stringify(requestParams)
xulili's avatar
xulili committed
128 129 130 131 132 133 134 135 136 137
            )
            .then((res) => {
              if (res.status != 200) {
                _this.$message.error(res.data.message);
              } else {
                if (res.data.resultCode == 200) {
                  this.$message({
                    type: "success",
                    message: res.data.message,
                  });
xulili's avatar
xulili committed
138
                  _this.redirectLogin();
xulili's avatar
xulili committed
139 140 141 142 143 144 145 146 147 148 149 150 151 152
                } else {
                  _this.$message.error(res.data.message);
                }
              }
            })
            .catch((error) => {
              _this.$message.error(error.data.message);
            });
        } else {
          console.log("error submit!!");
          return false;
        }
      });
    },
xulili's avatar
xulili committed
153 154 155 156
    redirectLogin() {
      loginOut();
      this.$router.push("./login");
    },
xulili's avatar
xulili committed
157
  },
xulili's avatar
xulili committed
158
};
xulili's avatar
xulili committed
159 160
</script>
<style lang="less" scoped>
xulili's avatar
xulili committed
161 162 163 164 165
.change-pwd-wrapper {
  .party-form {
    width: 300px;
    margin: 0 auto;
  }
xulili's avatar
xulili committed
166 167
}
</style>