PAMapp/components/Client/ClientCard.vue | ●●●●● 修補檔 | 檢視 | 原始 | 究查 | 歷程 | |
PAMapp/components/Consultant/ConsultantCard.vue | ●●●●● 修補檔 | 檢視 | 原始 | 究查 | 歷程 | |
PAMapp/pages/accountSetting/index.vue | ●●●●● 修補檔 | 檢視 | 原始 | 究查 | 歷程 | |
PAMapp/shared/models/consultant.model.ts | ●●●●● 修補檔 | 檢視 | 原始 | 究查 | 歷程 | |
PAMapp/store/localStorage.ts | ●●●●● 修補檔 | 檢視 | 原始 | 究查 | 歷程 |
PAMapp/components/Client/ClientCard.vue
@@ -48,7 +48,7 @@ ></AppointmentProgress> </div> </div> <el-col :xs="5" :sm="3" align="middle"> <!-- <el-col :xs="5" :sm="3" align="middle"> <el-avatar :size="50" ></el-avatar> @@ -61,7 +61,7 @@ <div class="unfilled">未填滿意度</div> </template> </div> </el-col> </el-col> --> <div class="flex-column contactInfo" :xs="4" :sm="6"> PAMapp/components/Consultant/ConsultantCard.vue
@@ -7,8 +7,8 @@ :agentNo="agentInfo.agentNo" @click.native="showAgentDetail(agentInfo.agentNo)" ></UiAvatar> <div v-if="!hideReviews"> <i class="icon-star pam-icon icon--yellow satisfaction"></i> <div v-if="!hideReviews" style="display: flex; justify-content: flex-start; align-items: center; margin-top: 6px; font-size: 12px"> <i class="icon-star pam-icon icon--yellow satisfaction" style="margin-top: 0"></i> <template v-if="isAppointment"> <span v-if="notScoreAppointmentYet"> {{ agentInfo.satisfactionScore }} PAMapp/pages/accountSetting/index.vue
@@ -17,7 +17,9 @@ <i class="icon-edit" @click="editField('userName')" :class="{'icon-color-change': !userNameDisabled}"></i> </div> </div> <div class="pam-paragraph account-info" v-if="phoneValue"> <!-- NOTE: 主要聯絡方式 --> <div class="pam-paragraph account-info" v-if="!isPrimaryContactTypeEmail"> <div class="account-info__title text--middle">綁定</div> <div class="account-info__input " :class="{'edit': !userPhoneDisabled }"> <div class="text--middle mb-10">手機號碼</div> @@ -32,7 +34,8 @@ </div> </div> </div> <div class="pam-paragraph account-info" v-if="emailValue"> <div class="pam-paragraph account-info" v-if="isPrimaryContactTypeEmail"> <div class="account-info__title text--middle">綁定</div> <div class="account-info__input" :class="{'edit': !userEmailDisabled }"> <div class="text--middle mb-10">Email</div> @@ -47,6 +50,10 @@ </div> </div> </div> <!-- NOTE: 備用聯絡方式 --> <PopUpFrame :isOpen.sync="updateDone"> <div class="text--center mdTxt fs-18"> @@ -70,13 +77,19 @@ <script lang="ts"> import { Vue,Component } from 'vue-property-decorator' import { namespace } from 'vuex-class'; import { UserSetting } from '~/shared/models/account.model'; import accountSettingService from '~/shared/services/account-setting.service'; const localStorageStore = namespace('localStorage'); @Component export default class AccountSetting extends Vue { @localStorageStore.Getter isPrimaryContactTypeEmail!: boolean; _userSetting!: UserSetting; userNameDisabled = true; userPhoneDisabled = true; PAMapp/shared/models/consultant.model.ts
@@ -1,18 +1,18 @@ import { Appointment } from "./appointment.model"; export interface Consultant { agentNo : string; name : string; img : string; expertise : string[]; avgScore : number; contactStatus? : string; createTime : Date | string; updateTime : Date | string; customerViewTime? : Date | string; role : string; seniority : string, appointments? : Appointment[]; agentNo : string; appointments? : Appointment[]; avgScore : number; contactStatus? : string; createTime : string; customerViewTime?: string; expertise : string[]; img : string; name : string; role : string; seniority : string; updateTime : string; } export interface ConsultantWithAppointmentId extends Consultant { PAMapp/store/localStorage.ts
@@ -1,4 +1,5 @@ import { Module, Mutation, VuexModule ,Action } from 'vuex-module-decorators'; import { ContactType } from '~/shared/models/enum/ContactType'; import { Role } from '~/shared/models/enum/Role'; import { Selected } from '~/shared/models/quick-filter.model'; import { StrictQueryParams } from '~/shared/models/strict-query.model'; @@ -7,6 +8,7 @@ id_token = localStorage.getItem('id_token'); current_role= localStorage.getItem('current_role'); consultant_id = localStorage.getItem('consultant_id'); userInfo = JSON.parse(localStorage.getItem('userInfo')!); quickFilterSelectedItem = localStorage.getItem('quickFilter'); recommendConsultantItem = localStorage.getItem('recommendConsultantItem'); appointmentIdFromMsg = localStorage.getItem('appointmentIdFromMsg'); @@ -25,6 +27,10 @@ return this.consultant_id; } get isPrimaryContactTypeEmail(): boolean { return this.userInfo.contactType === ContactType.EMAIL; } get quickFilterSelectedData(): Selected[] { return JSON.parse(this.quickFilterSelectedItem || '[]') as Selected[]; }