保誠-保戶業務員媒合平台
HelenHuang
2022-01-17 bf015fd9a49ab0ec81c050215bbfc38d944bfb6e
PAMapp/components/Client/ClientCard.vue
@@ -15,8 +15,20 @@
            <div class="pl-10">
                <div class="smTxt_bold name">{{ client.name }}</div>
                <div class="my-10 xsTxt">預約成功</div>
                <div class="professionals">
                <div  v-if="client.communicateStatus === contactStatus.RESERVED" class="my-10 xsTxt">預約成功</div>
                <div
                  class="xsTxt mb-10 mt-10"
                  v-else-if="client.communicateStatus === contactStatus.CONTACTED">
                  約訪紀錄
                </div>
                <div
                  class="xsTxt mb-10 mt-10"
                  v-else>
                  滿意度
                  <span v-if="client.satisfactionScore" class="xsTxt">{{ client.satisfactionScore }}</span>
                  <span v-else class="xsTxt text--mid_grey">未填</span>
                </div>
                <div class="professionals" v-if="client.communicateStatus === contactStatus.RESERVED">
                    <template v-if="client.requirement">
                        <span
                            v-for="(item, index) in requirements"
@@ -54,13 +66,13 @@
                <div
                  class="invite-msg smTxt_bold"
                  @click.stop="makeInterview"
                  @click.stop="showAddInterviewDialog"
                  v-if="client.communicateStatus === contactStatus.RESERVED">
                  傳送約訪通知
                </div>
                <div
                  class="invite-msg smTxt_bold"
                  @click.stop="closeAppointment"
                  @click.stop="navigateToCloseAppointment"
                  v-else-if="client.communicateStatus === contactStatus.CONTACTED">
                  結案
                </div>
@@ -142,7 +154,16 @@
            </div>
        </Ui-Dialog>
        <InterviewMsg :isVisible.sync="isMsgDialog"></InterviewMsg>
        <InterviewMsg
          :client="client"
          :isVisible.sync="isShowAddInterviewDialog">
        </InterviewMsg>
        <PopUpFrame :isOpen.sync="showInviteReview">
          <div class="text--middle invite-review">
            <div class="mb-30 mt-10">已發送滿意度</div>
            <div class="text--primary text--middle cursor--pointer text--underline" @click="showInviteReview = false" :size="'250px'">我知道了</div>
          </div>
        </PopUpFrame>
    </div>
</template>
@@ -150,11 +171,11 @@
import { Vue, Component, Prop, Action, namespace, Watch } from 'nuxt-property-decorator';
import appointmentService from '~/shared/services/appointment.service';
import myConsultantService from '~/shared/services/my-consultant.service';
import UtilsService from '~/shared/services/utils.service';
import { hideReviews } from '~/shared/const/hide-reviews';
import myConsultantService from '~/shared/services/my-consultant.service';
import { ElRow } from 'element-ui/types/row';
import { Appointment, AppointmentMemoInfo } from '~/shared/models/appointment.model';
import { Appointment, AppointmentMemoInfo, ToInformAppointment } from '~/shared/models/appointment.model';
import { ContactStatus } from '~/shared/models/enum/contact-status';
const localStorage = namespace('localStorage');
@@ -187,21 +208,23 @@
    @localStorage.Mutation
    storageClearAppointmentIdFromMsg!: () => void;
    isVisibleDialog = false;
    isMsgDialog = false;
    dialogWidth = '';
    hideReviews = hideReviews;
    contactStatus            = ContactStatus;
    dialogWidth              = '';
    hideReviews              = hideReviews;
    isEdit                   = false;
    isShowAddInterviewDialog = false;
    isVisibleDialog          = false;
    memo                     = '';
    showInviteReview = false;
    contactStatus = ContactStatus;
    // currentAppointmentStatus = this.contactStatus.RESERVED;
    isEdit = false;
    memoInfo: AppointmentMemoInfo = {
        appointmentId: 0,
        content: '',
        id: 0
        content      : '',
        id           : 0
    }
    memo = '';
    //////////////////////////////////////////////////////////////////////
@@ -228,16 +251,20 @@
      this.$router.push(`/appointment/${this.client.id}`);
    }
    makeInterview(): void {
      this.isMsgDialog = true;
    showAddInterviewDialog(): void {
      this.isShowAddInterviewDialog = true;
    }
    closeAppointment(): void {
    navigateToCloseAppointment(): void {
      this.$router.push(`/appointment/${this.client.id}/close`);
    }
    makeAppointment(): void {
      alert('MAKE AN APPOINTMENT!');
    }
    inviteReview(): void {
      this.showInviteReview = true ;
    }
    get newAppointment(): boolean {
@@ -473,4 +500,9 @@
      color: $PRIMARY_RED;
        @extend .text--underline;
    }
  .invite-review{
    display: flex;
    flex-direction: column;
    align-items: center;
  }
</style>