Blame view

src/pages/index/index.vue 10.1 KB
simon committed
1
<template>
2 3 4 5 6
  <div class="page page-index">
    <!-- 该input用于防止chrome自动填充 -->
    <input type="password" style="display: none;" />
    <div class="banner-contaner">
      <!-- banner 轮播 -->
simon committed
7

8 9 10 11 12 13 14 15 16 17 18
      <div class="banner banner-pc">
        <swiper :options="swiperOption">
          <swiper-slide v-for="(item, index) in bannerList" :key="index">
            <img class="banner-img" :src="item.pcBannerUrl" />
            <div class="btn-wrap">
              <div v-for="(btnItem, btnIndex) in item.btns" :key="btnIndex">
                <div class="banner-btn" v-if="btnItem.n && btnItem.t && btnItem.c" @click="btnNavigateTo(btnItem.t, btnItem.l)" :style="{ backgroundColor: btnItem.c }">{{ btnItem.n }}</div>
              </div>
            </div>
          </swiper-slide>
          <!-- <div class="swiper-button-prev" slot="button-prev"></div>
simon committed
19
          <div class="swiper-button-next" slot="button-next"></div>-->
20 21 22
          <!-- <div class="swiper-pagination" slot="pagination"></div> -->
        </swiper>
      </div>
simon committed
23

24 25 26 27 28 29 30 31 32 33 34 35
      <div class="banner banner-mobile">
        <swiper class="swiper" :options="swiperOption">
          <swiper-slide v-for="(item, index) in bannerList" :key="index">
            <img class="banner-img" :src="item.mobileBannerUrl" />
            <div class="btn-wrap">
              <div class="banner-btn" v-for="(btnItem, btnIndex) in item.btns" :key="btnIndex" @click="btnNavigateTo(btnItem.t, btnItem.l)" :style="{ color: btnItem.c }">{{ btnItem.n }}&nbsp;&gt;</div>
            </div>
          </swiper-slide>
          <div class="swiper-pagination" slot="pagination"></div>
        </swiper>
      </div>
      <!-- <div class="swiper-button-prev" slot="button-prev"></div>
simon committed
36
      <div class="swiper-button-next" slot="button-next"></div>-->
37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69
    </div>
    <!-- 导航菜单切换 -->
    <div class="nav-tab">
      <div @click="onTabHandler(item)" v-html="item.name" v-for="item in tabList" :key="item.id" class="nav-tab-item" :class="{ 'nav-tab-item-act': item.index == curTab.index }" :style="'width: calc(100% / ' + tabList.length + ');'">{{ item.name }}</div>
    </div>
    <!-- 推荐 为什么选择平安人寿 -->
    <div class="content recommend">
      <div class="tit">{{ $t("index.recommend.title") }}</div>
      <div class="features">
        <div class="features-item">
          <div class="icon">
            <img src="@/assets/images/index/recommend-icon-1.png" alt />
          </div>
          <div v-html="$t('index.recommend.item1.desc')" class="desc"></div>
        </div>
        <div class="features-item">
          <div class="icon">
            <img src="@/assets/images/index/recommend-icon-2.png" alt />
          </div>
          <div v-html="$t('index.recommend.item2.desc')" class="desc"></div>
        </div>
        <div class="features-item">
          <div class="icon">
            <img src="@/assets/images/index/recommend-icon-3.png" alt />
          </div>
          <div v-html="$t('index.recommend.item3.desc')" class="desc"></div>
        </div>
      </div>
      <div @click="toContactUs" class="contact-tips">
        <span class="icon"></span>
        {{ $t("index.recommend.contact") }}
      </div>
    </div>
simon committed
70

71 72 73 74 75 76 77 78
    <!-- 线上报价 -->
    <div class="quote" :style="'background: url(' + quoteBgUrl + ') center no-repeat;'">
      <div class="space1"></div>
      <div class="tit">線上報價 閃速投保</div>
      <div class="tit2">
        平安「好e時」自願醫保標準計劃為政府自願醫保認可的標準計劃,
        涵蓋重點醫療保障,投保流程簡易,全程線上進行。
      </div>
simon committed
79

80 81 82 83
      <!-- tab表格 -->
      <div class="table">
        <div class="table-tab">
          <div @click="onTabHandler(item)" v-html="item.name" v-for="(item, index) in tabList" :key="item.id" class="table-tab-item" :class="{ 'table-tab-item-act': item.index == curTab.index }" :style="
simon committed
84 85 86 87 88
							'width: calc(100% / ' +
								tabList.length +
								');z-index:' +
								(tabList.length - index) +
								''
89 90 91 92 93 94
						">{{ item.name }}</div>
        </div>
        <div class="linear" :style="'width: calc(100% - 29px *' + (tabList.length - 1) + ')'"></div>
        <div class="table-cont" :style="'width: calc(100% - 29px *' + (tabList.length - 1) + ')'">
          <div @click="onPrevTabHandler()" class="arrow arrow-left"></div>
          <div @click="onNextTabHandler()" class="arrow arrow-right"></div>
simon committed
95

96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146
          <div class="panel panel-left">
            <div class="desc">
              <div class="desc-item">・潛在長線資本增值</div>
              <div class="desc-item">・創建家族財富</div>
              <div class="desc-item">・身故及意外身故賠償</div>
              <div class="desc-item">・保單持有人意外身故賠償</div>
              <div class="desc-item">・自選保費繳付期</div>
              <div class="desc-item">・彈性賠償支付方式</div>
              <div class="desc-item">・豁免醫療核保</div>
            </div>
          </div>
          <div class="panel panel-right">
            <div class="func func1">
              <div class="func1-item">
                <div class="k"> {{$t('common.Sex')}}</div>
                <div class="gender">
                  <div class="gender-item" @click="onQuoteSexHandler(1)">
                    {{$t('common.Male')}}
                    <img v-if="quoteData.gender == 1" src="@/assets/images/common/icon-male-act.png" alt />
                    <img v-else src="@/assets/images/common/icon-male.png" alt />
                  </div>
                  <div class="gender-item" @click="onQuoteSexHandler(2)">
                    {{$t('common.Female')}}
                    <img v-if="quoteData.gender == 2" src="@/assets/images/common/icon-female-act.png" alt />
                    <img v-else src="@/assets/images/common/icon-female.png" alt />
                  </div>
                </div>
              </div>
              <div class="func1-item">
                <div class="k">{{$t('common.Age')}}</div>
                <div class="age">
                  <div class="ipt-wrap-linear">
                    <div class="down-arrow"></div>
                    <div class="cont">
                      <el-select class="ipt" v-model="formData.gender" :placeholder="$t('common.Age')">
                        <el-option v-for="(item, index) in 100" :key="index" :label="item" :value="item"></el-option>
                      </el-select>
                    </div>
                  </div>
                </div>
              </div>
            </div>
          </div>
        </div>
      </div>
      <div class="quote-btn">{{$t('index.quote.quote')}}</div>
      <div class="customer-service">
        {{$t('index.quote.want')}}
        <span @click="toContactUs" class="udl pointer">{{$t('index.quote.service')}}</span>
      </div>
    </div>
simon committed
147

148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174
    <!-- 联系我们表单 -->
    <div class="contact">
      <div class="box-w panel">
        <div class="panel-left">
          <div v-html="$t('index.contact.t1')" class="t1"></div>
          <div v-html="$t('index.contact.t2')" class="t2"></div>
          <img class="pic-mobile" src="@/assets/images/index/index-mobile.png" alt />
        </div>
        <div class="panel-right">
          <div class="form">
            <div class="form-item fl">
              <!-- 称呼 -->
              <div class="ipt-wrap-linear dear">
                <div class="down-arrow"></div>
                <div class="cont">
                  <el-select class="ipt" v-model="formData.gender" :placeholder="$t('index.contact.form.Title') + '*'">
                    <el-option v-for="(item, index) in genderList" :key="index" :label="item.n" :value="item.v"></el-option>
                  </el-select>
                </div>
              </div>
              <!-- 姓名 -->
              <div class="ipt-wrap-linear name">
                <div class="cont">
                  <input autocomplete="new-password" class="ipt" type="text" :placeholder="$t('index.contact.form.Name') + '*'" />
                </div>
              </div>
            </div>
simon committed
175

176 177 178 179 180 181 182 183
            <div class="form-item">
              <!-- 联系电话 -->
              <div class="ipt-wrap-linear">
                <div class="cont">
                  <input autocomplete="new-password" class="ipt" type="text" :placeholder="$t('index.contact.form.PhoneNumber') + '*'" />
                </div>
              </div>
            </div>
simon committed
184

185 186 187 188 189 190 191 192
            <div class="form-item">
              <!-- 電郵 -->
              <div class="ipt-wrap-linear">
                <div class="cont">
                  <input class="ipt" type="text" :placeholder="$t('index.contact.form.Email') + '*'" />
                </div>
              </div>
            </div>
simon committed
193

194 195 196 197 198 199
            <div class="form-item">
              <!-- 理想聯絡時間 -->
              <div class="ipt-wrap-linear">
                <div class="down-arrow"></div>
                <div class="cont">
                  <date-picker class="ipt-date" :formatter="'dd-MM-yyyy'" :placeholder="$t('index.contact.form.Time') + '*'" v-model="formData.birthDate" :filtModel="['future']" :cusStyle="{
simon committed
200 201 202 203 204
											border: 'none !important',
											'background-color': 'transparent !important',
											padding: '16px 24px',
											color: '#606266',
											'text-align': 'center'
205 206 207 208
										}"></date-picker>
                </div>
              </div>
            </div>
simon committed
209

210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230
            <div class="form-item">
              <!-- 查詢事項 -->
              <div class="ipt-wrap-linear">
                <div class="cont">
                  <textarea class="ipt textarea" :placeholder="$t('index.contact.form.Inquiry')"></textarea>
                </div>
              </div>
            </div>
          </div>
          <!-- 错误提示 -->
          <div class="err-tips">
            <template v-if="errTips">
              <img class="icon" src="@/assets/images/common/icon-alert-i.png" alt />
              {{ errTips }}
            </template>
          </div>
          <div class="submit-btn">{{ $t("index.contact.form.Submit") }}</div>
        </div>
      </div>
    </div>
  </div>
simon committed
231 232 233 234 235 236
</template>

<script src="./index.js"></script>
<style lang="scss" scoped>
@import "./index.scss";
</style>
simon committed
237 238

<style lang="scss"></style>