Merge branch 'master' of https://gitee.com/beiwu/cmanager
This commit is contained in:
@@ -1,12 +1,12 @@
|
||||
<template>
|
||||
<basic-container>
|
||||
<el-tabs v-model="activeName" class="tabs">
|
||||
<el-tab-pane label="账户安全" name="accountSafe">
|
||||
<el-tab-pane label="账户信息" name="accountSafe">
|
||||
<el-row class="content">
|
||||
<el-col :span="24">
|
||||
<el-row>
|
||||
<el-col :span="24" class="title">
|
||||
<b>账户信息</b>
|
||||
<b>用户信息</b>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
@@ -17,245 +17,15 @@
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="21">手机号码:{{userInfo.account}}</el-col>
|
||||
<el-col :sm="24" :lg="3">
|
||||
<el-button type="text" @click="leaderBox = true" v-show="isAdmin">变更负责人</el-button>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row class="content">
|
||||
<el-col :span="24">
|
||||
<el-row>
|
||||
<el-col :span="24" class="title">
|
||||
<b>账户安全</b>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :sm="24" :lg="6">登录密码:已设置</el-col>
|
||||
<el-col :sm="24" :lg="15">安全性高的密码可以使账号更安全。</el-col>
|
||||
<el-col :sm="24" :lg="3">
|
||||
<el-button type="text" @click="passwordBox = true">修改密码</el-button>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :sm="24" :lg="6">绑定手机号码:已绑定</el-col>
|
||||
<el-col :sm="24" :lg="15">绑定手机后,您即可享受丰富的手机服务,如手机找回密码等。</el-col>
|
||||
<el-col :sm="24" :lg="3">
|
||||
<el-button type="text" @click="phoneBox = true">换绑手机号码</el-button>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-tab-pane>
|
||||
</el-tabs>
|
||||
<!--修改负责人-->
|
||||
<el-dialog
|
||||
title="变更负责人"
|
||||
append-to-body
|
||||
:visible.sync="leaderBox"
|
||||
:close-on-click-modal="false"
|
||||
:close-on-press-escape="false"
|
||||
width="30%"
|
||||
@closed="closed"
|
||||
:loading="leaderLoading"
|
||||
>
|
||||
<el-form
|
||||
ref="leaderForm"
|
||||
label-position="left"
|
||||
label-width="110px"
|
||||
size="small"
|
||||
:rules="rules"
|
||||
:model="leaderForm"
|
||||
>
|
||||
<el-form-item label="用户姓名" prop="realName">
|
||||
<el-input v-model="leaderForm.realName" placeholder="请输入用户名"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="身份证号码" prop="idNumber">
|
||||
<el-input v-model="leaderForm.idNumber" placeholder="请输入身份证号码"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="手机号码" prop="phone">
|
||||
<el-input v-model="leaderForm.phone" placeholder="请输入手机号码"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="短信验证码" prop="code">
|
||||
<el-input v-model="leaderForm.code" placeholder="请输入短信验证码">
|
||||
<template slot="append">
|
||||
<el-button
|
||||
type="text"
|
||||
@click="handleSend('leaderForm','phone')"
|
||||
class="msg-text"
|
||||
:loading="sending"
|
||||
:disabled="msgKey"
|
||||
>{{msgText}}</el-button>
|
||||
</template>
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
<el-alert title="注:变更后初始密码为手机号后六位" type="warning" :closable="false"></el-alert>
|
||||
</el-form>
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<el-button
|
||||
icon="el-icon-check"
|
||||
type="primary"
|
||||
@click="submitLeader"
|
||||
size="mini"
|
||||
:loading="leaderLoading"
|
||||
>提 交</el-button>
|
||||
<el-button
|
||||
icon="el-icon-circle-close"
|
||||
@click="leaderBox = false"
|
||||
size="mini"
|
||||
:loading="leaderLoading"
|
||||
>取 消</el-button>
|
||||
</span>
|
||||
</el-dialog>
|
||||
<!--/修改负责人-->
|
||||
|
||||
<!--修改密码-->
|
||||
<el-dialog
|
||||
title="修改密码"
|
||||
append-to-body
|
||||
:visible.sync="passwordBox"
|
||||
:close-on-click-modal="false"
|
||||
:close-on-press-escape="false"
|
||||
width="30%"
|
||||
@closed="passwordClosed"
|
||||
>
|
||||
<el-form
|
||||
ref="passwordForm"
|
||||
label-position="left"
|
||||
label-width="110px"
|
||||
size="small"
|
||||
:rules="rules"
|
||||
:model="passwordForm"
|
||||
>
|
||||
<el-form-item label="原密码" prop="oldPassword">
|
||||
<el-input
|
||||
v-model="passwordForm.oldPassword"
|
||||
auto-complete="off"
|
||||
placeholder="请输入原登录密码"
|
||||
:type="passwordType"
|
||||
>
|
||||
<i
|
||||
class="el-icon-view el-input__icon"
|
||||
slot="suffix"
|
||||
@mouseenter="passwordType='input'"
|
||||
@mouseleave="passwordType='password'"
|
||||
></i>
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="新密码" prop="newPassword">
|
||||
<el-input
|
||||
v-model="passwordForm.newPassword"
|
||||
placeholder="6-20位包含数字和字母"
|
||||
:type="passwordType1"
|
||||
>
|
||||
<i
|
||||
class="el-icon-view el-input__icon"
|
||||
slot="suffix"
|
||||
@mouseenter="passwordType1='input'"
|
||||
@mouseleave="passwordType1='password'"
|
||||
></i>
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="确认密码" prop="newPassword1">
|
||||
<el-input
|
||||
v-model="passwordForm.newPassword1"
|
||||
placeholder="6-20位包含数字和字母"
|
||||
:type="passwordType2"
|
||||
>
|
||||
<i
|
||||
class="el-icon-view el-input__icon"
|
||||
slot="suffix"
|
||||
@mouseenter="passwordType2='input'"
|
||||
@mouseleave="passwordType2='password'"
|
||||
></i>
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<el-button
|
||||
icon="el-icon-check"
|
||||
type="primary"
|
||||
@click="submitPwd"
|
||||
size="mini"
|
||||
:loading="passwordLoading"
|
||||
>提 交</el-button>
|
||||
<el-button
|
||||
icon="el-icon-circle-close"
|
||||
@click="passwordBox = false"
|
||||
size="mini"
|
||||
:loading="passwordLoading"
|
||||
>取 消</el-button>
|
||||
</span>
|
||||
</el-dialog>
|
||||
<!--/修改密码-->
|
||||
|
||||
<!--修改手机号-->
|
||||
<el-dialog
|
||||
title="换绑手机号码"
|
||||
append-to-body
|
||||
:visible.sync="phoneBox"
|
||||
:close-on-click-modal="false"
|
||||
:close-on-press-escape="false"
|
||||
width="30%"
|
||||
@closed="phoneClosed"
|
||||
>
|
||||
<el-form
|
||||
ref="phoneForm"
|
||||
label-position="left"
|
||||
label-width="110px"
|
||||
size="small"
|
||||
:rules="rules"
|
||||
:model="phoneForm"
|
||||
>
|
||||
<el-form-item label="原手机号码" prop="oldPhone">
|
||||
<el-input v-model="phoneForm.oldPhone" placeholder="请输入原手机号码" readonly></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="新手机号码" prop="newPhone">
|
||||
<el-input v-model="phoneForm.newPhone" placeholder="请输入要更换的手机号"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="短信验证码" prop="code">
|
||||
<el-input v-model="phoneForm.code" placeholder="请输入短信验证码">
|
||||
<template slot="append">
|
||||
<el-button
|
||||
type="text"
|
||||
@click.prevent="handleSend('phoneForm','newPhone')"
|
||||
class="msg-text"
|
||||
:loading="sending"
|
||||
:disabled="msgKey"
|
||||
>{{msgText}}</el-button>
|
||||
</template>
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
<el-alert title="注:变更后初始密码为手机号后六位" type="warning" :closable="false"></el-alert>
|
||||
</el-form>
|
||||
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<el-button
|
||||
icon="el-icon-check"
|
||||
type="primary"
|
||||
@click="submitPhone"
|
||||
size="mini"
|
||||
:loading="phoneLoading"
|
||||
>提 交</el-button>
|
||||
<el-button
|
||||
icon="el-icon-circle-close"
|
||||
@click="phoneBox = false"
|
||||
size="mini"
|
||||
:loading="phoneLoading"
|
||||
>取 消</el-button>
|
||||
</span>
|
||||
</el-dialog>
|
||||
<!--/修改手机号-->
|
||||
</basic-container>
|
||||
</template>
|
||||
<script>
|
||||
import { isvalidatemobile, check18IdCardNo, password } from "@/util/validate";
|
||||
import {
|
||||
changeLeader,
|
||||
changePwd,
|
||||
sendCode,
|
||||
changePhone,
|
||||
} from "@/api/tenant/account";
|
||||
import { resetRouter } from "@/router/router";
|
||||
import { mapGetters } from "vuex";
|
||||
import md5 from "js-md5";
|
||||
@@ -264,58 +34,6 @@ const wait = 120;
|
||||
|
||||
export default {
|
||||
data() {
|
||||
const IdCardNo = (rule, value, callback) => {
|
||||
if (check18IdCardNo(value)) {
|
||||
callback();
|
||||
} else {
|
||||
callback(new Error("身份证格式不正确"));
|
||||
}
|
||||
};
|
||||
const validatePhone = (rule, value, callback) => {
|
||||
if (isvalidatemobile(value)[0]) {
|
||||
callback(new Error(isvalidatemobile(value)[1]));
|
||||
} else {
|
||||
callback();
|
||||
}
|
||||
};
|
||||
const validateCode = (rule, value, callback) => {
|
||||
if (value && value.length !== 4) {
|
||||
callback(new Error("验证码错误"));
|
||||
} else {
|
||||
callback();
|
||||
}
|
||||
};
|
||||
|
||||
const validatePassDef = (rule, value, callback) => {
|
||||
if (
|
||||
this.passwordForm.oldPassword &&
|
||||
value === this.passwordForm.oldPassword
|
||||
) {
|
||||
callback(new Error("新密码不能与原密码相同"));
|
||||
} else if (password(value)) {
|
||||
callback(new Error("密码需要包含数字和字母,并且长度为6-20位"));
|
||||
} else {
|
||||
callback();
|
||||
}
|
||||
};
|
||||
|
||||
const validatePassDef2 = (rule, value, callback) => {
|
||||
if (value !== this.passwordForm.newPassword) {
|
||||
callback(new Error("两次密码不一致"));
|
||||
} else if (password(value)) {
|
||||
callback(new Error("密码需要包含数字和字母,并且长度为6-20位"));
|
||||
} else {
|
||||
callback();
|
||||
}
|
||||
};
|
||||
|
||||
const validatePhoneDef = (rule, value, callback) => {
|
||||
if (value === this.phoneForm.oldPhone) {
|
||||
callback(new Error("新手机号码与原手机号码不能相同"));
|
||||
} else {
|
||||
callback();
|
||||
}
|
||||
};
|
||||
return {
|
||||
passwordLoading: false,
|
||||
leaderLoading: false,
|
||||
@@ -345,205 +63,12 @@ export default {
|
||||
trigger: "blur",
|
||||
},
|
||||
],
|
||||
idNumber: [
|
||||
{ required: true, message: "请输入身份证号", trigger: "blur" },
|
||||
{ validator: IdCardNo, trigger: "blur" },
|
||||
],
|
||||
phone: [{ required: true, trigger: "blur", validator: validatePhone }],
|
||||
code: [
|
||||
{ required: true, message: "请输入短信验证码", trigger: "blur" },
|
||||
{ validator: validateCode, trigger: "blur" },
|
||||
],
|
||||
oldPassword: [
|
||||
{
|
||||
required: true,
|
||||
whitespace: true,
|
||||
message: "请输入原来登录密码",
|
||||
trigger: "blur",
|
||||
},
|
||||
],
|
||||
newPassword: [
|
||||
{
|
||||
required: true,
|
||||
whitespace: true,
|
||||
message: "请输入新密码",
|
||||
trigger: "blur",
|
||||
},
|
||||
{
|
||||
validator: validatePassDef,
|
||||
trigger: "blur",
|
||||
},
|
||||
],
|
||||
newPassword1: [
|
||||
{
|
||||
required: true,
|
||||
whitespace: true,
|
||||
message: "请再次输入密码",
|
||||
trigger: "blur",
|
||||
},
|
||||
{
|
||||
validator: validatePassDef2,
|
||||
trigger: "blur",
|
||||
},
|
||||
],
|
||||
oldPhone: [
|
||||
{ required: true, validator: validatePhone, trigger: "blur" },
|
||||
],
|
||||
newPhone: [
|
||||
{
|
||||
required: true,
|
||||
message: "请输入要更换的手机号码",
|
||||
trigger: "blur",
|
||||
},
|
||||
{
|
||||
validator: validatePhoneDef,
|
||||
trigger: "blur",
|
||||
},
|
||||
],
|
||||
},
|
||||
};
|
||||
},
|
||||
created() {
|
||||
this.phoneForm = { oldPhone: this.userInfo.account };
|
||||
},
|
||||
components: {},
|
||||
methods: {
|
||||
/*发送验证码 */
|
||||
handleSend(form, field) {
|
||||
if (this.msgKey) return;
|
||||
this.$refs[form].validateField(field, (error) => {
|
||||
if (!error) {
|
||||
this.sending = true;
|
||||
sendCode(this[form][field]).then(
|
||||
() => {
|
||||
let time = wait;
|
||||
this.msgText = `剩余${time--}s`;
|
||||
this.msgKey = true;
|
||||
this.time = setInterval(() => {
|
||||
this.msgText = `剩余${time--}s`;
|
||||
if (time <= 0) {
|
||||
this.clearTime(); //清除定时器
|
||||
}
|
||||
}, 1000);
|
||||
this.sending = false;
|
||||
},
|
||||
() => {
|
||||
this.sending = false;
|
||||
this.$message.error("发送失败!");
|
||||
}
|
||||
);
|
||||
}
|
||||
});
|
||||
},
|
||||
/*提交变更负责人*/
|
||||
submitLeader() {
|
||||
this.$refs.leaderForm.validate((valid) => {
|
||||
if (valid) {
|
||||
this.leaderLoading = true;
|
||||
changeLeader(this.leaderForm).then(
|
||||
() => {
|
||||
this.leaderBox = false;
|
||||
this.leaderLoading = false;
|
||||
this.$store.dispatch("LogOut").then(() => {
|
||||
resetRouter();
|
||||
this.$router.push({ path: "/login" });
|
||||
this.$message({
|
||||
type: "success",
|
||||
message: "操作成功,请重新登录!",
|
||||
});
|
||||
});
|
||||
},
|
||||
(error) => {
|
||||
window.console.log(error);
|
||||
this.leaderLoading = false;
|
||||
}
|
||||
);
|
||||
}
|
||||
});
|
||||
},
|
||||
/*提交修改密码 */
|
||||
submitPwd() {
|
||||
this.$refs.passwordForm.validate((valid) => {
|
||||
if (valid) {
|
||||
this.passwordLoading = true;
|
||||
changePwd(
|
||||
md5(this.passwordForm.oldPassword),
|
||||
md5(this.passwordForm.newPassword),
|
||||
md5(this.passwordForm.newPassword1)
|
||||
).then(
|
||||
() => {
|
||||
this.passwordBox = false;
|
||||
this.passwordLoading = false;
|
||||
this.$store.dispatch("LogOut").then(() => {
|
||||
resetRouter();
|
||||
this.$router.push({ path: "/login" });
|
||||
this.$message({
|
||||
type: "success",
|
||||
message: "操作成功,请重新登录!",
|
||||
});
|
||||
});
|
||||
},
|
||||
(error) => {
|
||||
window.console.log(error);
|
||||
this.passwordLoading = false;
|
||||
}
|
||||
);
|
||||
}
|
||||
});
|
||||
},
|
||||
/*提交修改手机号 */
|
||||
submitPhone() {
|
||||
this.$refs.phoneForm.validate((valid) => {
|
||||
if (valid) {
|
||||
this.phoneLoading = true;
|
||||
changePhone(this.phoneForm).then(
|
||||
() => {
|
||||
this.phoneBox = false;
|
||||
this.phoneLoading = false;
|
||||
this.$store.dispatch("LogOut").then(() => {
|
||||
resetRouter();
|
||||
this.$router.push({ path: "/login" });
|
||||
this.$message({
|
||||
type: "success",
|
||||
message: "操作成功,请重新登录!",
|
||||
});
|
||||
});
|
||||
},
|
||||
(error) => {
|
||||
window.console.log(error);
|
||||
this.phoneLoading = false;
|
||||
}
|
||||
);
|
||||
}
|
||||
});
|
||||
},
|
||||
closed() {
|
||||
this.clearTime();
|
||||
this.leaderForm = {};
|
||||
if (this.$refs.leaderForm) {
|
||||
this.$refs.leaderForm.resetFields();
|
||||
}
|
||||
},
|
||||
passwordClosed() {
|
||||
this.passwordForm = {};
|
||||
if (this.$refs.passwordForm) {
|
||||
this.$refs.passwordForm.resetFields();
|
||||
}
|
||||
},
|
||||
phoneClosed() {
|
||||
this.clearTime();
|
||||
if (this.$refs.phoneForm) {
|
||||
this.$refs.phoneForm.resetFields();
|
||||
}
|
||||
this.phoneForm = { oldPhone: this.userInfo.account };
|
||||
},
|
||||
/*清除code定时器 */
|
||||
clearTime() {
|
||||
this.msgText = "获取验证码";
|
||||
this.msgKey = false;
|
||||
clearInterval(this.time);
|
||||
},
|
||||
},
|
||||
computed: {
|
||||
...mapGetters(["userInfo"]),
|
||||
isAdmin() {
|
||||
|
||||
Reference in New Issue
Block a user