|
|
@@ -1,4 +1,7 @@
|
|
|
<script setup lang="ts">
|
|
|
+import { useRoute } from 'vue-router'
|
|
|
+
|
|
|
+const route = useRoute()
|
|
|
const dialogModel = ref(false)
|
|
|
const state = ref<'reset' | 'activate'>('activate')
|
|
|
|
|
|
@@ -9,14 +12,12 @@ const openDialog = (stateValue: 'reset' | 'activate') => {
|
|
|
|
|
|
const loginForm = ref({
|
|
|
username: '',
|
|
|
- oldPassword: '',
|
|
|
newPassword: '',
|
|
|
confirmPassword: ''
|
|
|
})
|
|
|
|
|
|
const newPwdErrTips = ref('')
|
|
|
const loginError: any = ref({
|
|
|
- oldPassword: false,
|
|
|
newPassword: false,
|
|
|
confirmPassword: false
|
|
|
})
|
|
|
@@ -49,29 +50,17 @@ const handleChangePwd = () => {
|
|
|
return
|
|
|
}
|
|
|
$api
|
|
|
- .resetPwd({
|
|
|
- uname: loginForm.value.username,
|
|
|
- old_password: loginForm.value.oldPassword,
|
|
|
+ .resetAndActivatePassword({
|
|
|
+ verifcation_code: route.query.verifcation_code,
|
|
|
password: loginForm.value.newPassword
|
|
|
})
|
|
|
.then((res: any) => {
|
|
|
- emit('submit')
|
|
|
- dialogModel.value = false
|
|
|
- // if (res.code === 200) {
|
|
|
- // router.push({
|
|
|
- // name: 'Login',
|
|
|
- // query: {
|
|
|
- // isChange: 'true'
|
|
|
- // }
|
|
|
- // })
|
|
|
- // } else if (res.code === 400) {
|
|
|
- // if (res.msg === 'Old password is incorrect') {
|
|
|
- // loginError.value.oldPassword = true
|
|
|
- // } else {
|
|
|
- // loginError.value.newPassword = true
|
|
|
- // newPwdErrTips.value = res.msg
|
|
|
- // }
|
|
|
- // }
|
|
|
+ if (res.code === 200) {
|
|
|
+ emit('submit')
|
|
|
+ dialogModel.value = false
|
|
|
+ } else if (res.code !== 500 && res.code !== 200 && res.code) {
|
|
|
+ ElMessage.error('Error! Please try again later.')
|
|
|
+ }
|
|
|
})
|
|
|
}
|
|
|
|
|
|
@@ -113,7 +102,7 @@ defineExpose({
|
|
|
<div class="top-section">
|
|
|
<div class="title">Set Your Password</div>
|
|
|
<div class="description">
|
|
|
- Hello Caroline, please create a new password for your account.
|
|
|
+ Hello {{ route.query.name }}, please create a new password for your account.
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="login-form">
|