| | |
| | | <div class="pam-consultant-login__title">帳號</div> |
| | | <div class="position-r mt-10"> |
| | | <input type="text" |
| | | :model="loginDto.account" |
| | | v-model="consultantDto.account" |
| | | class="pam-consultant-login__input" |
| | | placeholder="輸入eService帳號"> |
| | | <div class="pam-consultant-login__inputIcon text--primary cursor--pointer" |
| | | @click="cookieAccount"> |
| | | @click="recordAccount"> |
| | | <i :class="[isRemember ? 'icon-checkbox-1' : 'icon-checkbox','pr-5']"></i> |
| | | 記住 |
| | | </div> |
| | |
| | | <div class="pam-paragraph"> |
| | | <div class="pam-consultant-login__title "> |
| | | <div>密碼</div> |
| | | <div class="text--primary fs-16 cursor--pointer" |
| | | @click="forgetPassword">忘記密碼?</div> |
| | | <a class="pam-consultant-login__forgot-password cursor--pointer" |
| | | :href="forgotPasswordLink" |
| | | target="_blank" |
| | | rel="保誠人壽"> |
| | | 忘記密碼? |
| | | </a> |
| | | </div> |
| | | <div class="position-r mt-10"> |
| | | <input :type="[isShowPassword ? 'text' : 'password']" |
| | | :model="loginDto.password" |
| | | v-model="consultantDto.password" |
| | | class="pam-consultant-login__input" |
| | | placeholder="輸入eService密碼"> |
| | | <div class="pam-consultant-login__inputIcon cursor--pointer" |
| | |
| | | <div class="pam-consultant-login__verifyBlock mt-10"> |
| | | <div class="w-55"> |
| | | <input type="text" |
| | | :modal="loginDto.verificationCode" |
| | | v-model="consultantDto.verificationCode" |
| | | class="pam-consultant-login__input"> |
| | | </div> |
| | | <div class="pam-consultant-login__verifyImg"></div> |
| | | <div class="pam-consultant-login__verifyImg"> |
| | | <img src="~/assets/images/logo.png" alt="驗證碼"> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="pam-consultant-login__confirmBlock pam-paragraph"> |
| | | <button class="pam-consultant-login__confirm cursor--pointer" |
| | | @click="login">送出</button> |
| | | @click="fakeLogin">送出</button> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | |
| | | <script lang="ts"> |
| | | import { |
| | | Vue, |
| | | Component |
| | | } from 'vue-property-decorator'; |
| | | |
| | | import { Vue, Component} from 'vue-property-decorator'; |
| | | import { getForgotPasswordLink , getVerificationCodeImg , login } from '~/assets/ts/api/consultant'; |
| | | import { Role } from '../../components/NavBar.vue'; |
| | | @Component({ |
| | | layout: 'default' |
| | | }) |
| | | export default class ConsultantLogin extends Vue { |
| | | isRemember = false; |
| | | isShowPassword = false; |
| | | loginDto = { |
| | | consultantDto = { |
| | | account: '', |
| | | password: '', |
| | | verificationCode: '', |
| | | } |
| | | |
| | | |
| | | login(): void { |
| | | console.log('login'); |
| | | } |
| | | |
| | | cookieAccount(): void { |
| | | forgotPasswordLink = ''; |
| | | imgOfVerificationCode=''; |
| | | mounted() { |
| | | this.regenerateCode(); |
| | | this.getLinkOfForgotPassword(); |
| | | }; |
| | | private getLinkOfForgotPassword():void{ |
| | | getForgotPasswordLink().then(link=>{ |
| | | console.log('link',link); |
| | | this.forgotPasswordLink = link; |
| | | }); |
| | | }; |
| | | recordAccount(): void { |
| | | this.isRemember = !this.isRemember; |
| | | if (this.isRemember) { |
| | | console.log('sotre account'); |
| | | } |
| | | } |
| | | |
| | | forgetPassword(): void { |
| | | console.log('forget password'); |
| | | } |
| | | |
| | | }; |
| | | regenerateCode(): void { |
| | | console.log('call api regenerate verificationCode') |
| | | getVerificationCodeImg().then((imgOfbase64:any)=>{ |
| | | this.imgOfVerificationCode = imgOfbase64; |
| | | }); |
| | | }; |
| | | // loginWithConsultant():void{ |
| | | // console.log('consultantDto',this.consultantDto); |
| | | // logInToConsultant(this.consultantDto).then(res=>{ |
| | | // localStorage.setItem('roleOfState',Role.CONSULTANT); |
| | | // this.$router.push('/myAppointmentList/appointmentList'); |
| | | // }); |
| | | // } |
| | | |
| | | fakeLogin(): void { |
| | | const user = { |
| | | username: 'admin', |
| | | password: 'admin' |
| | | } |
| | | console.log('user',user); |
| | | login(user).then((res) => { |
| | | localStorage.setItem('id_token', res.data.id_token); |
| | | localStorage.setItem('roleOfState',Role.ADMIN) |
| | | this.$router.push('/myAppointmentList/appointmentList'); |
| | | }) |
| | | } |
| | | } |
| | | }; |
| | | |
| | | </script> |
| | | <style lang="scss" |
| | |
| | | right: 15px; |
| | | } |
| | | } |
| | | |
| | | &__forgot-password{ |
| | | color: $PRIMARY_RED; |
| | | text-decoration:none; |
| | | font-size: 16px; |
| | | } |
| | | &__verifyBlock { |
| | | display: flex; |
| | | justify-content: space-between; |
| | |
| | | &__verifyImg { |
| | | width: 126px; |
| | | border: 1px black solid; |
| | | height: 50px; |
| | | img{ |
| | | width: 100%; |
| | | height: 100%; |
| | | } |
| | | } |
| | | |
| | | &__confirmBlock { |