You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
138 lines
3.8 KiB
138 lines
3.8 KiB
<template>
|
|
<div class="edit-password">
|
|
<div class="form-group">
|
|
<label>{{$t('setting.newPassword')}}</label>
|
|
<input
|
|
type="password"
|
|
required
|
|
v-model="form.password"
|
|
class="form-control"
|
|
:placeholder="$t('setting.enterNewPassword')"
|
|
/>
|
|
</div>
|
|
<div class="form-group">
|
|
<label>{{$t('setting.confirmPassword')}}</label>
|
|
<input
|
|
type="password"
|
|
v-model="form.password_confirmation"
|
|
required
|
|
class="form-control"
|
|
:placeholder="$t('setting.pleaseConfirmPassword')"
|
|
/>
|
|
</div>
|
|
<!-- Captcha -->
|
|
<div class="form-group">
|
|
<label>{{$t('common.GraphicValidation')}}</label>
|
|
<div class="col-12 row">
|
|
<input type="text" id="gccode" v-model="form.gc_code" required
|
|
:placeholder="$t('common.GraphicValidation')" class="form-control col-6" />
|
|
<img class="col-6" :src="Graph_che" @click="gett_gc_code">
|
|
</div>
|
|
</div>
|
|
|
|
<div class="form-group" v-if="detail.phone_status==1">
|
|
<label>{{$t('setting.smsVer')}}</label>
|
|
<div class="input-group mb-3">
|
|
<input
|
|
type="number"
|
|
required
|
|
v-model="form.sms_code"
|
|
class="form-control"
|
|
:placeholder="$t('setting.enterCode')"
|
|
/>
|
|
<div class="input-group-append">
|
|
<get-code class="btn btn-outline-primary" :data="{type:1}" :type="1" />
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="form-group" v-if="detail.email_status==1">
|
|
<label>{{$t('setting.emailVer')}}</label>
|
|
<div class="input-group mb-3">
|
|
<input
|
|
type="number"
|
|
v-model="form.email_code"
|
|
required
|
|
class="form-control"
|
|
:placeholder="$t('setting.enterEmailVer')"
|
|
/>
|
|
<div class="input-group-append">
|
|
<get-code class="btn btn-outline-primary" :data="{type:2}" :type="1" />
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="form-group" v-if="detail.google_status==1">
|
|
<label>Google {{$t('setting.ver')}}</label>
|
|
<div class="input-group mb-3">
|
|
<input
|
|
type="number"
|
|
v-model="form.google_code"
|
|
class="form-control"
|
|
required
|
|
:placeholder="$t('setting.enterNameCode',{name:'Google'})"
|
|
/>
|
|
</div>
|
|
</div>
|
|
<div class="text-center">
|
|
<button type="button" class="btn w-25 btn-secondary" @click="$emit('close')">{{$t('common.cancelBtn')}}</button>
|
|
<button type="button" class="btn w-25 btn-primary" @click="setPassword">{{$t('common.confirmBtn')}}</button>
|
|
</div>
|
|
</div>
|
|
</template>
|
|
|
|
<script>
|
|
import Member from "@/api/member";
|
|
import Setting from "../../api/setting";
|
|
|
|
export default {
|
|
props: ["detail"],
|
|
data() {
|
|
return {
|
|
form: {
|
|
password: "",
|
|
password_confirmation: "",
|
|
sms_code: "",
|
|
email_code: "",
|
|
gc_code: "",
|
|
google_code: ""
|
|
},
|
|
Graph_che:'', // gc code image
|
|
gc_key:'', // tuxiangyanzheng key
|
|
};
|
|
},
|
|
mounted(){
|
|
// bind get gc code
|
|
this.gett_gc_code();
|
|
},
|
|
methods: {
|
|
// get gc code from api
|
|
gett_gc_code(){
|
|
Member.sendGCode().then( (res) =>{
|
|
this.gc_key = res.key
|
|
this.Graph_che = res.img
|
|
this.$message({
|
|
message: `${type} ${this.$t("login.sendOK")}`,
|
|
type: "success",
|
|
duration : 2000,
|
|
});
|
|
}).catch( err =>{
|
|
//console.log(err)
|
|
});
|
|
},
|
|
setPassword() {
|
|
let data = this.form;
|
|
if (utils.validate(".edit-password")) {
|
|
Setting.updatePassword(data)
|
|
.then(res => {
|
|
this.$message.success(this.$t('common.changeSuccess'));
|
|
this.$emit("close");
|
|
})
|
|
.catch(err => {});
|
|
}
|
|
}
|
|
},
|
|
activated() {}
|
|
};
|
|
</script>
|
|
|
|
<style>
|
|
</style>
|