保誠-保戶業務員媒合平台
jack
2023-07-31 23a51718522d4b01e9f13532573a85ff27298c08
Merge branch '2023_CR2' of ssh://dev.pollex.com.tw:29418/pcalife/PAM into 2023_CR2
刪除4個檔案
修改8個檔案
新增4個檔案
118 ■■■■ 已變更過的檔案
PAMapp/assets/images/Education-2@2x.png 修補檔 | 檢視 | 原始 | 究查 | 歷程
PAMapp/assets/images/Health-1@2x.png 修補檔 | 檢視 | 原始 | 究查 | 歷程
PAMapp/assets/images/education.svg 1 ●●●● 修補檔 | 檢視 | 原始 | 究查 | 歷程
PAMapp/assets/images/education_mob.svg 1 ●●●● 修補檔 | 檢視 | 原始 | 究查 | 歷程
PAMapp/assets/images/health.svg 1 ●●●● 修補檔 | 檢視 | 原始 | 究查 | 歷程
PAMapp/assets/images/health_mob.svg 1 ●●●● 修補檔 | 檢視 | 原始 | 究查 | 歷程
PAMapp/assets/images/phone-Education-2@2x.png 修補檔 | 檢視 | 原始 | 究查 | 歷程
PAMapp/assets/images/phone-Health-1@2x.png 修補檔 | 檢視 | 原始 | 究查 | 歷程
PAMapp/components/Client/ClientCard.vue 2 ●●● 修補檔 | 檢視 | 原始 | 究查 | 歷程
PAMapp/components/Consultant/ConsultantCard.vue 2 ●●● 修補檔 | 檢視 | 原始 | 究查 | 歷程
PAMapp/components/Ui/UiCarousel.vue 11 ●●●● 修補檔 | 檢視 | 原始 | 究查 | 歷程
PAMapp/pages/appointment/_appointmentId/index.vue 2 ●●● 修補檔 | 檢視 | 原始 | 究查 | 歷程
PAMapp/pages/index.vue 75 ●●●● 修補檔 | 檢視 | 原始 | 究查 | 歷程
PAMapp/pages/questionnaire/_agentNo.vue 12 ●●●● 修補檔 | 檢視 | 原始 | 究查 | 歷程
PAMapp/plugins/filters/consult-type.filter.ts 4 ●●●● 修補檔 | 檢視 | 原始 | 究查 | 歷程
PAMapp/shared/models/appointment.model.ts 6 ●●●●● 修補檔 | 檢視 | 原始 | 究查 | 歷程
PAMapp/assets/images/Education-2@2x.png
PAMapp/assets/images/Health-1@2x.png
PAMapp/assets/images/education.svg
Àɮפw§R°£
PAMapp/assets/images/education_mob.svg
Àɮפw§R°£
PAMapp/assets/images/health.svg
Àɮפw§R°£
PAMapp/assets/images/health_mob.svg
Àɮפw§R°£
PAMapp/assets/images/phone-Education-2@2x.png
PAMapp/assets/images/phone-Health-1@2x.png
PAMapp/components/Client/ClientCard.vue
@@ -118,7 +118,7 @@
                <p>性別:<span>{{gender}}</span></p>
                <p>年齡:<span>{{client.age | toAgeLabel }}</span></p>
                <p>職業:<span>{{client.job}}</span></p>
                <p>諮詢方式:<span>{{client.consultantMode }}</span></p>
                <p>諮詢方式:<span>{{client.consultationMethod | toConsulType }}</span></p>
                <p>需求:<span>{{ client.requirement ? client.requirement.split(',').join('、') : '--' }}</span></p>
                <p v-for="(item, index) in hopeContactTime"
                    :key="index"
PAMapp/components/Consultant/ConsultantCard.vue
@@ -76,7 +76,7 @@
                    <p>性別:{{gender}}</p>
                    <p>年齡:{{appointmentDetail.age | toAgeLabel }}</p>
                    <p>職業:{{appointmentDetail.job}}</p>
                    <p>諮詢方式:{{appointmentDetail.consultantMode }}</p>
                    <p>諮詢方式:{{appointmentDetail.consultationMethod | toConsulType }}</p>
                    <p>需求:{{appointmentDetail.requirement ? appointmentDetail.requirement.split(',').join('、') : '--'}}</p>
                    <p
                        v-for="(item, index) in hopeContactTime"
PAMapp/components/Ui/UiCarousel.vue
@@ -4,6 +4,7 @@
        indicator-position="outside"
        arrow="never"
        trigger="click"
        interval="6000"
        class="pam-home-carousel"
    >
@@ -20,7 +21,7 @@
            </div>
        </el-carousel-item>
        <el-carousel-item class="banner-img-style banner2-img">
        <el-carousel-item class="banner-img-style --3 banner2-img">
            <div class="text--center mt-30 banner-info">
                <h1 class="banner-title mb-10">多元媒合方式</h1>
                <p class="banner-txt text--PRIMARY_WHITE">找到最懂你的保險顧問</p>
@@ -122,11 +123,11 @@
}
.banner-film1 {
  background-image: url('~/assets/images/education_mob.svg');
  background-image: url('~/assets/images/phone-Education-2@2x.png');
}
.banner-film2 {
  background-image: url('~/assets/images/health_mob.svg');
  background-image: url('~/assets/images/phone-Health-1@2x.png');
}
@@ -154,12 +155,12 @@
        background-image: url('~/assets/images/index_banner3_web1.svg');
    }
    .banner-film1 {
      background-image: url('~/assets/images/education.svg');
      background-image: url('~/assets/images/Education-2@2x.png');
      background-color: #8DB9CA;
    }
    .banner-film2 {
      background-image: url('~/assets/images/health.svg');
      background-image: url('~/assets/images/Health-1@2x.png');
      background-color: #EFF0F1;
    }
PAMapp/pages/appointment/_appointmentId/index.vue
@@ -39,7 +39,7 @@
        <div class="client-detail-demand__demand-list mb-10">
          <div class="client-detail-demand__demand-list-label">諮詢<br />方式</div>
          <div class="client-detail-demand__demand-list-content">{{ appointmentDetail.consultantMode | toConsulType }}</div>
          <div class="client-detail-demand__demand-list-content">{{ appointmentDetail.consultationMethod | toConsulType }}</div>
        </div>
        <div class="client-detail-demand__demand-list mb-10">
PAMapp/pages/index.vue
@@ -59,7 +59,7 @@
                  <p>性別:{{gender}}</p>
                  <p>年齡:{{appointmentDetail.age | toAgeLabel }}</p>
                  <p>職業:{{appointmentDetail.job}}</p>
                  <p>諮詢方式:{{appointmentDetail.consultantMode }}</p>
                  <p>諮詢方式:{{appointmentDetail.consultationMethod | toConsulType }}</p>
                  <p>需求:{{ appointmentDetail.requirement ? appointmentDetail.requirement.split(',').join('、') : '--'}}</p>
                  <p
                      v-for="(item, index) in hopeContactTime"
@@ -142,17 +142,25 @@
              </div>
          </div>
      </PopUpFrame>
      <iframe width=”780″
          height=”440″
          style="position: fixed; bottom: 30px; right: 30px; z-index: 9999;"
          allowfullscreen
          src="https://www.youtube.com/embed/655JnwbuRGA?autoplay=1&mute=1"
        ></iframe>
    <div class="video-container"
         v-if="isShowFilmPlayer"
         style="position: fixed; bottom: 30px; right: 30px; z-index: 9999; display: flex; justify-content: flex-end;"
    >
      <iframe
        width=”780″
        height=”440″
        allowfullscreen
        :src="filmVideoSrc"
      ></iframe>
      <div class="close-btn" @click="closeVideo()">X</div>
    </div>
  </div>
</template>
<script lang="ts">
import {Action, Component, Mutation, namespace, State, Vue, Watch} from 'nuxt-property-decorator';
import {Action, Component, Getter, Mutation, namespace, State, Vue, Watch} from 'nuxt-property-decorator';
import appointmentService from '~/shared/services/appointment.service';
import utilService, {AccessFroms} from '~/shared/services/utils.service';
@@ -251,7 +259,7 @@
      phone             : '',
      requirement       : '',
      satisfactionScore : 0,
      consultantMode    : ''
      consultationMethod    : ''
    };
    agentInfo: Consultant = {
@@ -268,6 +276,23 @@
      seniority          : '',
      appointments       : []
    };
    isCloseVideo = false;
    @Getter
    fromAccess!: AccessFroms;
    get filmVideoSrc() {
      if (!this.fromAccess) return '';
      return this.fromAccess === AccessFroms.FILM_1
        ? 'https://www.youtube.com/embed/zVBLW9hWD0g?autoplay=1&mute=1'
        : 'https://www.youtube.com/embed/655JnwbuRGA?autoplay=1&mute=1';
    }
    get isShowFilmPlayer() {
      return !!this.fromAccess && !this.isCloseVideo;
    }
    //////////////////////////////////////////////////////////////////////
@@ -429,6 +454,10 @@
        this.storageClearNotContactAppointmentIdFromMsg();
    }
    closeVideo(): void {
      this.isCloseVideo = true;
    }
    ///////////////////////////////////////////////////////////////////////////////
    get gender(): string {
@@ -543,4 +572,32 @@
      max-width: 335px;
    }
  }
  /* ç¢ºä¿ .video-container æœ‰ç›¸å°/絕對定位或固定寬度 */
  .video-container {
    position: relative;
    width: 600px; /* æ ¹æ“šä½ çš„影片尺寸調整 */
  }
  /* é—œé–‰æŒ‰éˆ•樣式 */
  .close-btn {
    position: absolute;
    top: -10px;
    right: -10px;
    cursor: pointer;
    font-size: 20px;
    color: #fff;
    background-color: #000;
    width: 30px;
    height: 30px;
    text-align: center;
    line-height: 30px;
    border-radius: 50%;
    opacity: 0.7;
  }
  .close-btn:hover {
    opacity: 1;
  }
</style>
PAMapp/pages/questionnaire/_agentNo.vue
@@ -80,8 +80,8 @@
      <div class="pam-paragraph">
        <div class="mdTxt">諮詢方式</div>
        <SingleSelectBtn class="mt-10"
           :singleSelected.sync="myRequest.consultantMode"
           :options="consultantModeOptions" />
           :singleSelected.sync="myRequest.consultationMethod"
           :options="consultationMethodOptions" />
      </div>
      <div class="pam-paragraph">
        <div class="mdTxt">您的性別</div>
@@ -207,14 +207,14 @@
      }
    ];
    consultantModeOptions = [
    consultationMethodOptions = [
      {
        title: '線上',
        label: 'ONLINE'
        label: 'online'
      },
      {
        title: '線下',
        label: 'OFFLINE'
        label: 'offline'
      }
    ];
@@ -317,7 +317,7 @@
        selectTimesOptions: [],
      }],
      agentNo: '',
      consultantMode: '',
      consultationMethod: '',
    };
    showDrawer= false;
PAMapp/plugins/filters/consult-type.filter.ts
@@ -7,8 +7,8 @@
  };
  const consultantTypeLabel = {
    'ONLINE': '線上',
    'OFFLINE': '線下',
    'online': '線上',
    'offline': '線下',
  };
  return  consultantTypeLabel[value];
PAMapp/shared/models/appointment.model.ts
@@ -40,7 +40,7 @@
  phone                : string;
  requirement          : string;
  satisfactionScore    : number;
  consultantMode       : string;
  consultationMethod   : string;
};
export interface AppointmentClosedInfo {
@@ -98,6 +98,7 @@
  job            : string;
  phone          : string;
  requirement    : string;
  consultationMethod: string;
}
export interface EditAppointmentParams {
@@ -111,6 +112,7 @@
  otherRequirement: null;
  phone           : string;
  requirement     : string;
  consultationMethod: string;
}
export interface AppointmentRequests {
@@ -124,7 +126,7 @@
  job            : string;
  phone          : string;
  requirement    : string[];
  consultantMode : string;
  consultationMethod : string;
}
export interface ContactTime {
  selectTimesOptions: string[];