From ac235850a9287dae6977c964213176fa7c86b140 Mon Sep 17 00:00:00 2001
From: Tomas <tomasysh@gmail.com>
Date: 星期四, 09 十二月 2021 14:42:20 +0800
Subject: [PATCH] Merge branch 'refactor/separate-vue' of ssh://192.168.0.10:29418/pcalife/PAM into refactor/separate-vue

---
 PAMapp/pages/consultantLogin/index.vue |  201 ++++----------------------------------------------
 1 files changed, 16 insertions(+), 185 deletions(-)

diff --git a/PAMapp/pages/consultantLogin/index.vue b/PAMapp/pages/consultantLogin/index.vue
index 5fa40b7..e59a9ca 100644
--- a/PAMapp/pages/consultantLogin/index.vue
+++ b/PAMapp/pages/consultantLogin/index.vue
@@ -10,24 +10,16 @@
             class="pam-consultant-login__input"
             placeholder="頛詨eService撣唾��">
           <div class="pam-consultant-login__inputIcon text--primary cursor--pointer fix-chrome-click--issue"
-            @click="isRemember = !isRemember">
-            <i :class="[isRemember ? 'icon-checkbox-1' : 'icon-checkbox','pr-5']"></i>
+            @click="isRememberChange">
+            <i :class="[isRememberUserName ? 'icon-checkbox-1' : 'icon-checkbox','pr-5']"></i>
             閮��
           </div>
         </div>
       </div>
       <div class="pam-paragraph">
-        <div class="pam-consultant-login__title ">
-          <div>撖Ⅳ</div>
-          <a class="pam-consultant-login__forgot-password cursor--pointer fix-chrome-click--issue"
-            :href="forgotPasswordLink"
-            target="_blank"
-            rel="靽�犖憯�">
-            敹��Ⅳ嚗�
-          </a>
-        </div>
+        <div class="pam-consultant-login__title ">撖Ⅳ</div>
         <div class="position-r mt-10">
-          <input :type="[isShowPassword ? 'text' : 'password']"
+          <input :type="[ isShowPassword ? 'text' : 'password']"
             v-model="consultantDto.password"
             class="pam-consultant-login__input"
             placeholder="頛詨eService撖Ⅳ">
@@ -37,195 +29,34 @@
           </div>
         </div>
       </div>
-      <!-- <div class="pam-paragraph">
+      <div class="pam-paragraph">
         <div class="pam-consultant-login__title">
-          <div>撽�Ⅳ</div>
-          <div class="text--dark-blue fs-16 cursor--pointer fix-chrome-click--issue"
-            @click="regenerateCode">������</div>
+          <div>撽�Ⅳ <span class="text--dark-blue fs-16">(����之撠神)</span></div>
+          <div class="text--primary fs-16 cursor--pointer fix-chrome-click--issue"
+            @click="regenerateImgOfVerification">������</div>
         </div>
         <div class="pam-consultant-login__verifyBlock mt-10">
           <div class="w-55">
             <input type="text"
-              v-model="consultantDto.verificationCode"
+              v-model="verificationCode"
+              maxlength="4"
               class="pam-consultant-login__input">
           </div>
           <div class="pam-consultant-login__verifyImg">
-            <img src="~/assets/images/logo.png"
-              alt="撽�Ⅳ">
+            <img :src="imgSrc" alt="撽�Ⅳ">
           </div>
         </div>
-      </div> -->
+      </div>
       <div class="pam-consultant-login__confirmBlock pam-paragraph">
         <button class="pam-consultant-login__confirm cursor--pointer fix-chrome-click--issue"
-          @click="loginWithConsultant">�</button>
+          @click="sendInfo">�</button>
       </div>
     </div>
   </div>
 </template>
 
-<script lang="ts">
-  import { namespace } from 'nuxt-property-decorator';
-  import { Role } from '~/assets/ts/models/enum/Role';
-  import { Vue, Component } from 'vue-property-decorator';
-  import { getForgotPasswordLink, getVerificationCodeImg, logInToConsultant } from '~/assets/ts/api/consultant';
+<script src="./consultant-login.component.ts"></script>
 
-  const roleStorage = namespace('localStorage');
-  @Component({
-    layout: 'home'
-  })
-  export default class ConsultantLogin extends Vue {
-    @roleStorage.Mutation storageIdToken!: (token: string) => void;
-    @roleStorage.Mutation storageRole!: (role: string) => void;
-
-    isRemember = false;
-    isShowPassword = false;
-    forgotPasswordLink = ''; // 撠
-    imgOfVerificationCode = ''; // 撠
-    consultantDto = {
-      username: '',
-      password: '',
-      verificationCode: '',
-    }
-
-    mounted() {
-      this.getRememberUserName();
-      this.regenerateCode();
-      this.getLinkOfForgotPassword();
-    };
-
-    private getRememberUserName(): void {
-      const username = localStorage.getItem('consultantUserName')
-      if (username) {
-        this.consultantDto.username = username;
-        this.isRemember = true;
-      }
-    }
-
-    private getLinkOfForgotPassword(): void {
-      getForgotPasswordLink().then(link => {
-        this.forgotPasswordLink = link;
-      });
-    };
-    public regenerateCode(): void {
-      getVerificationCodeImg().then(imgOfbase64 => {
-        this.imgOfVerificationCode = imgOfbase64;
-      });
-    };
-
-    public loginWithConsultant(): void {
-      this.recordAccount();
-
-      logInToConsultant(this.consultantDto).then(res => {
-            this.storageIdToken(res.data.id_token);
-            this.storageRole(Role.ADMIN);
-            this.$router.push('/myAppointmentList/appointmentList');
-      }, (error) => {
-        this.consultantDto.password = '';
-        this.consultantDto.verificationCode = '';
-      });
-    }
-
-    private recordAccount(): void {
-      localStorage.setItem('consultantUserName', this.isRemember ? this.consultantDto.username : '');
-    };
-  };
-
-</script>
-
-<style lang="scss"
-  scoped>
-  .mt-20 {
-    margin-top: 20px;
-  }
-
-  .mt-25 {
-    margin-top: 25px;
-  }
-
-  .w-55 {
-    width: 55% !important;
-  }
-
-  .position-r {
-    position: relative;
-  }
-
-  .pam-consultant-login {
-    margin: auto;
-    width: 336px;
-    font-size: 20px;
-    color: $PRIMARY_BLACK;
-
-    &__header {
-      text-align: center;
-      font-size: 24px;
-      font-weight: bold;
-      letter-spacing: 1.2;
-      color: $PRIMARY_BLACK;
-    }
-
-    &__title {
-      display: flex;
-      justify-content: space-between;
-      align-items: center;
-    }
-
-    &__input {
-      width: 100%;
-      outline: 0;
-      border: 1px solid #CCCCCC;
-      border-radius: 10px;
-      font-size: 20px;
-      height: 50px;
-      padding: 10px 90px 10px 15px;
-      overflow: auto;
-      box-sizing: border-box;
-      -webkit-box-sizing: border-box;
-      -moz-box-sizing: border-box;
-
-      &Icon {
-        position: absolute;
-        display: flex;
-        align-items: center;
-        top: 15px;
-        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 {
-      display: flex;
-      justify-content: center;
-    }
-
-    &__confirm {
-      color: $PRIMARY_WHITE;
-      width: 80px;
-      height: 50px;
-      border-radius: 30px;
-      border: 1px solid $LIGHT_GREY;
-      background-color: $PRIMARY_RED;
-    }
-  }
-
+<style lang="scss" scoped>
+  @import "./consultant-login.component.scss";
 </style>

--
Gitblit v1.8.0