保誠-保戶業務員媒合平台
Tomas
2022-01-12 03ea05b93dcb5adc546d9d37204df5142e2058dd
update: 預約單細節頁面(客戶資訊區塊樣式)
修改4個檔案
192 ■■■■■ 已變更過的檔案
PAMapp/assets/scss/utilities/_heading.scss 9 ●●●●● 修補檔 | 檢視 | 原始 | 究查 | 歷程
PAMapp/components/BackActionBar.vue 3 ●●●●● 修補檔 | 檢視 | 原始 | 究查 | 歷程
PAMapp/pages/appointment/_appointmentId.vue 141 ●●●●● 修補檔 | 檢視 | 原始 | 究查 | 歷程
PAMapp/shared/models/appointment.model.ts 39 ●●●●● 修補檔 | 檢視 | 原始 | 究查 | 歷程
PAMapp/assets/scss/utilities/_heading.scss
@@ -113,3 +113,12 @@
.text--underline {
  text-decoration: underline;
}
.pam-link-button {
  @extend .fix-chrome-click--issue;
  @extend .smTxt;
  @extend .text--bold;
  @extend .text--primary;
  @extend .cursor--pointer;
  @extend .text--underline;
}
PAMapp/components/BackActionBar.vue
@@ -74,6 +74,9 @@
        case 'faq':
          featureLabel = 'F&Q 常見問題';
          break;
        case 'appointment':
          featureLabel = '預約資訊';
          break;
      }
      return featureLabel;
    } else {
PAMapp/pages/appointment/_appointmentId.vue
@@ -1,39 +1,52 @@
<template>
  <div class="appointment-client-detail-page">
    <div class="date-detail">
      <div>11/24 13:00 預約</div>
      <div>今天 10:22 已讀</div>
    <div class="date-detail">
      <!-- TODO: 要依據不同 step 顯示不同 Date [Tomas, 2022/1/11] -->
      <div>{{ appointmentDetail.appointmentDate }}</div>
      <div>{{ appointmentDetail.consultantReadTime }}</div>
    </div>
    <AppointmentProgress
      :currentStep="appointmentDetail.communicateStatus"
    ></AppointmentProgress>
    <section class="client-detail">
      <div class="circle-block">
        <div class="circle">
          {{ appointmentDetail.name }}
          <div class="sm-circle">
            {{ appointmentDetail.gender === 'male' ? '男' : '女'}}
      <div class="client-detail-info">
        <div class="client-detail-info__avatar">
          <div class="circle">
            {{ appointmentDetail.name }}
            <div class="sm-circle">
              {{ appointmentDetail.gender === 'male' ? '男' : '女'}}
            </div>
          </div>
        </div>
        <div class="client-detail-info__information">
          <div>{{ appointmentDetail.age }}歲</div>
          <div>{{ appointmentDetail.phone }}</div>
          <div class="text--underline">{{ appointmentDetail.email }}</div>
        </div>
      </div>
      <div class="client-info">
        <span>{{ appointmentDetail.age }}歲</span>
        <span>{{ appointmentDetail.phone }}</span>
        <span class="text--underline">{{ appointmentDetail.email }}</span>
      <div class="client-detail-demand mt-10">
        <div class="client-detail-demand__demand-list">
          <div class="client-detail-demand__demand-list-label">需求</div>
          <div>{{ appointmentDetail.requirement }}</div>
        </div>
        <div class="client-detail-demand__hope-contact-time">
          <div class="client-detail-demand__demand-list-label">聯絡<br />時段</div>
          <div>{{ appointmentDetail.hopeContactTime }}</div>
        </div>
      </div>
      <div class="client-detail-action">
        <el-button @click="$router.go(-1)" >結案</el-button>
        <el-button @click="$router.go(-1)" style="margin-left: 0px">通知/採訪</el-button>
      </div>
    </section>
    <section class="client-demand">
      <div class="client-requirement">
        <div style="width:50px" class="mr-10 mdTxt">需求</div>
        <div>{{ appointmentDetail.requirement }}</div>
      </div>
      <div class="client-demand-contact-time">
        <div class="mr-10 mdTxt">聯絡時段</div>
        <div>{{ appointmentDetail.hopeContactTime }}</div>
      </div>
    </section>
  </div>
</template>
@@ -65,64 +78,70 @@
<style lang="scss" scoped>
.appointment-client-detail-page{
  .date-detail{
    display: flex;
    font-size: 16px;
    color:#68737A;
    display        : flex;
    font-size      : 16px;
    color          : #68737A;
    justify-content: space-between;
    margin-bottom: 2px;
    margin-bottom  : 2px;
  }
  .client-detail{
    display: flex;
    background-color: #fff;
    margin-top:10px;
    padding: 17px 21px 24px 21px;
    .circle-block{
    padding: 17px 21px;
    .client-detail-info {
      display: flex;
      margin-right: 22px;
      .circle{
        height: 100px;
        width: 100px;
        border-radius: 50%;
        background-color: #fff;
        border: 1px solid $PRIMARY_BLACK;
        position: relative;
      .client-detail-info__avatar{
        display: flex;
        justify-content: center;
        align-items: center;
        .sm-circle{
          position: absolute;
          height: 30px;
          width: 30px;
        margin-right: 22px;
        .circle{
          height: 100px;
          width: 100px;
          border-radius: 50%;
          background-color: #fff;
          border: 1px solid $PRIMARY_BLACK;
          bottom: 0;
          right: 0;
          position: relative;
          display: flex;
          justify-content: center;
          align-items: center;
          .sm-circle{
            position: absolute;
            height: 30px;
            width: 30px;
            border-radius: 50%;
            background-color: #fff;
            border: 1px solid $PRIMARY_BLACK;
            bottom: 0;
            right: 0;
            display: flex;
            justify-content: center;
            align-items: center;
          }
        }
      }
      .client-detail-info__information{
        font-size: 20px;
        line-height: 1.6;
      }
    }
    .client-info{
    .client-detail-demand{
      background-color: #fff;
      font-size: 20px;
      line-height: 1.6;
    }
  }
  .client-demand{
    background-color: #fff;
    font-size: 20px;
    padding-left: 21px;
    padding-right:22px;
    display: flex;
    flex-direction: column;
    .client-requirement{
      display: flex;
      flex-direction: column;
      .client-detail-demand__demand-list{
        display: flex;
      }
      .client-detail-demand__hope-contact-time{
        display: flex;
      }
      .client-detail-demand__demand-list-label {
        @extend .mr-10;
        @extend .mdTxt;
        @extend .mb-10;
      }
    }
    .client-demand-contact-time{
      display: flex;
      width: 281px;
    .client-detail-action {
      margin-left: 50px;
    }
  }
}
PAMapp/shared/models/appointment.model.ts
@@ -39,21 +39,28 @@
}
export interface AppointmentDetail {
  id               : number;
  phone            : string;
  email            : string;
  contactType      : string;
  gender           : string;
  age              : string;
  job              : string;
  requirement      : string;
  communicateStatus: string;
  hopeContactTime  : string;
  otherRequirement : string;
  appointmentDate  : string;
  agentNo          : string;
  customerId       : number;
  name             : string;
  age                 : string;
  agentNo             : string;
  appointmentDate     : string;
  appointmentMemoList?: string[];
  communicateStatus   : string;
  consultantReadTime  : string;
  consultantViewTime  : string;
  contactTime         : string;
  contactType         : string;
  customerId          : number;
  email               : string;
  gender              : string;
  hopeContactTime     : string;
  id                  : number;
  interviewRecordDTOs : string[];
  job                 : string;
  lastModifiedDate    : string;
  name                : string;
  otherRequirement    : string;
  phone               : string;
  requirement         : string;
  satisfactionScore?  : number;
}
export interface AppointmentParams {
  phone          : string;
@@ -104,4 +111,4 @@
  content: string,
  /** memo id */
  id: number
}
}