|
|
@@ -1,7 +1,7 @@
|
|
|
<template>
|
|
|
<div class="login-style">
|
|
|
<div class="box-vessel">
|
|
|
-
|
|
|
+
|
|
|
<div class="vessel-title">重置密码</div>
|
|
|
|
|
|
<el-form label-position="right" label-width="0" :rules="rules" :model="passwordChangeDTO" ref="formRef" :size="formSize">
|
|
|
@@ -31,26 +31,26 @@
|
|
|
</template>
|
|
|
</el-input>
|
|
|
</el-form-item>
|
|
|
-
|
|
|
+
|
|
|
<div style="display: flex; justify-content: center; align-items: center;">
|
|
|
<el-button @click="changePassword(formRef)" class="login-button">重置密码</el-button>
|
|
|
</div>
|
|
|
-
|
|
|
+
|
|
|
<!-- 返回登录页面,下划线灰色小字 -->
|
|
|
<div style="display: flex; justify-content: center; align-items: center; margin-top: 10px;">
|
|
|
<router-link to="/login" style="color: #8e8e8e; text-decoration: underline;">记得密码? 前往登录</router-link>
|
|
|
</div>
|
|
|
-
|
|
|
+
|
|
|
</el-form>
|
|
|
-
|
|
|
+
|
|
|
</div>
|
|
|
-
|
|
|
+
|
|
|
</div>
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
</template>
|
|
|
-
|
|
|
+
|
|
|
<script lang="ts" setup>
|
|
|
import "./index.scss";
|
|
|
import { reactive, ref } from "vue";
|
|
|
@@ -60,21 +60,21 @@
|
|
|
import { useCountdown } from '@/hooks/useCountdown';
|
|
|
|
|
|
const { start, isStart, countdown } = useCountdown();
|
|
|
-
|
|
|
+
|
|
|
const apis = useApis()
|
|
|
|
|
|
- type passwordChangeDTO = {
|
|
|
+ type PasswordChangeDTO = {
|
|
|
officialEmail: "",
|
|
|
password1: "",
|
|
|
password2: "",
|
|
|
verifyCode: ""
|
|
|
}
|
|
|
- let passwordChangeDTO = reactive<passwordChangeDTO>({} as passwordChangeDTO)
|
|
|
-
|
|
|
+ let passwordChangeDTO = reactive<PasswordChangeDTO>({} as PasswordChangeDTO)
|
|
|
+
|
|
|
|
|
|
const formSize = ref<ComponentSize>('default')
|
|
|
const formRef = ref<FormInstance>()
|
|
|
- const rules = reactive<FormRules<passwordChangeDTO>>({
|
|
|
+ const rules = reactive<FormRules<PasswordChangeDTO>>({
|
|
|
officialEmail: [
|
|
|
{
|
|
|
required: true,
|
|
|
@@ -106,7 +106,7 @@
|
|
|
})
|
|
|
|
|
|
|
|
|
-
|
|
|
+
|
|
|
const changePassword = async (formEl: FormInstance | undefined) => {
|
|
|
if (!formEl) return
|
|
|
await formEl.validate((valid, fields) => {
|
|
|
@@ -114,7 +114,7 @@
|
|
|
if(passwordChangeDTO.password1 != passwordChangeDTO.password2) {
|
|
|
ElMessage({message: '两次输入密码不一致', type: 'error'})
|
|
|
return
|
|
|
- }
|
|
|
+ }
|
|
|
let data = {
|
|
|
officialEmail: passwordChangeDTO.officialEmail,
|
|
|
password: passwordChangeDTO.password1,
|
|
|
@@ -136,10 +136,10 @@
|
|
|
}
|
|
|
})
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
const sendPasswordChangeVerifyCode = () => {
|
|
|
start();
|
|
|
-
|
|
|
+
|
|
|
apis.sendPasswordChangeVerifyCode(passwordChangeDTO.officialEmail)
|
|
|
.then((res: any) => {
|
|
|
if (res.data.code === 200) {
|
|
|
@@ -155,9 +155,9 @@
|
|
|
.finally(() => {});
|
|
|
}
|
|
|
</script>
|
|
|
-
|
|
|
+
|
|
|
<script lang="ts">
|
|
|
export default {
|
|
|
name: "PasswordChange"
|
|
|
}
|
|
|
- </script>
|
|
|
+ </script>
|