<template>
|
<div>
|
<div class="pb-10 mdTxt">您的性別</div>
|
<SingleSelectBtn :singleSelected.sync="strictQueryDto.gender" :options="genderOptions"/>
|
<div class="pam-paragraph">
|
<div class="pb-10 mdTxt required">所在地區</div>
|
<div class="job-pick cursor--pointer"
|
@click="showAddress = true">
|
<input class="fz-20 input cursor--pointer pl-10"
|
:value="strictQueryDto.area"
|
placeholder="請選擇">
|
<i class="icon-down down-icon"></i>
|
</div>
|
<PopUpFrame :isOpen.sync="showAddress"
|
:drawerSize="'45%'">
|
<AddressPicker @close="showAddress = false"
|
@change="area => strictQueryDto.area = area" />
|
</PopUpFrame>
|
</div>
|
<div class="pam-paragraph">
|
<div class="pb-10 mdTxt required">
|
想要詢問的問題
|
<span class="hint text--bold">
|
<i class="icon-information text--bold" @click="showDialog = true"></i>可複選
|
</span>
|
</div>
|
<MultiSelectBtn :mutiSelect.sync="strictQueryDto.requirements" :options="requirementOptions" />
|
</div>
|
<div class="pam-paragraph pam-tags">
|
<div class="pb-10 mdTxt">顧問年資</div>
|
<SingleSelectBtn :singleSelected.sync="strictQueryDto.seniority" :options="seniorityOptions"/>
|
</div>
|
<div class="rate-consultant pam-paragraph">
|
<div class="pb-10 mdTxt">保險顧問滿意度</div>
|
<el-rate v-model="strictQueryDto.avgScore"
|
:colors="elRateColors"
|
class="rate">
|
</el-rate>
|
</div>
|
<div class="pam-paragraph">
|
<div class="rec-popular">
|
<div class="pb-10 mdTxt">熱門檢索</div>
|
<div class="hint text--bold ml-10">可複選</div>
|
</div>
|
<MultiSelectBtn :mutiSelect.sync="strictQueryDto.popularTags"
|
:options="popularOptions"
|
:nameOfOtherOption="'#其他'" :otherSelect.sync="strictQueryDto.otherPopularTags" />
|
</div>
|
<div class="rec-footer pam-paragraph">
|
<el-button type="primary"
|
:disabled="notFinishByRequireRules"
|
@click="makePair">馬上配對</el-button>
|
</div>
|
|
<PopUpFrame :isOpen.sync="showDialog"
|
:drawerSize=" '95%' ">
|
<div class="qaTextTitle mdTxt">
|
<strong>想要詢問的問題</strong>
|
</div>
|
<div class="qa-dialog">
|
<div v-for="(qaText,index) in queaAboutList"
|
:key="index">
|
<div class="pt-10">
|
<p class=" p bold">{{qaText.title}}</p>
|
<p class="p">{{qaText.content}}</p>
|
</div>
|
</div>
|
</div>
|
<div class="qa-dialog-footer mdTxt"
|
@click="showDialog = false">
|
<p>我知道了</p>
|
</div>
|
</PopUpFrame>
|
|
</div>
|
</template>
|
<script lang="ts">
|
import {
|
Vue,
|
Component
|
} from 'vue-property-decorator';
|
import {strictQuery} from '~/assets/ts/api/consultant';
|
import * as _ from 'lodash';
|
@Component
|
export default class RecommendConsultant extends Vue {
|
strictQueryDto={
|
gender:'',
|
area:'',
|
status:'',
|
requirements:[],
|
otherRequirement:'',
|
seniority:'',
|
avgScore:0,
|
popularTags:[],
|
otherPopularTags:'',
|
};
|
genderOptions=[
|
{
|
title:'男性',
|
label:Gender.MALE,
|
},
|
{
|
title:'女性',
|
label:Gender.FEMALE,
|
}
|
];
|
requirementOptions=[
|
{
|
title:'健康與保障',
|
label:'健康與保障',
|
},
|
{
|
title:'子女教育',
|
label:'子女教育',
|
},
|
{
|
title:'資產規劃',
|
label:'資產規劃',
|
},
|
{
|
title:'樂活退休',
|
label:'樂活退休',
|
},
|
{
|
title:'保單健檢/規劃',
|
label:'保單健檢/規劃',
|
},
|
{
|
title:'分紅保單相關',
|
label:'分紅保單相關',
|
},
|
];
|
seniorityOptions=[
|
{
|
title:'不限',
|
subTitle:'年齡不是問題',
|
label:'不限',
|
},
|
{
|
title:'年輕',
|
subTitle:'給年輕人一個機會',
|
label:'年輕',
|
},
|
{
|
title:'資深',
|
subTitle:'薑是老的辣',
|
label:'資深',
|
}
|
];
|
popularOptions=[
|
{
|
title: '#防疫',
|
label:''
|
},
|
{
|
title: '#失能',
|
label:'失能'
|
},
|
{
|
title: '#防癌',
|
label:'防癌'
|
},
|
{
|
title: '#醫療',
|
label:'醫療'
|
},
|
{
|
title: '#壽險',
|
label: '壽險'
|
},
|
{
|
title: '#儲蓄',
|
label:'儲蓄'
|
},
|
{
|
title: '#投資',
|
label:'投資'
|
},
|
{
|
title: '#意外',
|
label:'意外'
|
}
|
];
|
queaAboutList = [
|
{
|
title: '健康與保障',
|
content: '突發的意外或疾病,往往造成個人或家庭沉重的經濟負擔,周全的保險才能擁有一個無憂的未來。'
|
},
|
{
|
title: '子女教育',
|
content: '利用分紅保單,規劃教育基金 提早為子女作準備,讓生活更有保障!'
|
},
|
{
|
title: '資產規劃',
|
content: '當財務責任加重時,規劃充足的保障、提供經濟上的庇護,是人生最堅強的後盾。'
|
},
|
{
|
title: '樂活退休',
|
content: '兼具保險與投資雙重功能,可靈活搭配各種附約,順應人生不同階段的靈活需要。'
|
},
|
{
|
title: '保單健檢/規劃',
|
content: '全面檢視自己的保障結構是否符合現在或未來的風險移轉需求,透過「斷、捨、離」把錢花在刀口上。'
|
},
|
{
|
title: '防疫保單',
|
content: '匹配度是透過嚴選配對或快速篩選後,將每一位保險顧問資料進行比對後排序推薦給您的媒合數值,您可以作為選擇適合顧問的參考值。'
|
},
|
{
|
title: '其他',
|
content: '匹配度是透過嚴選配對或快速篩選後,將每一位保險顧問資料進行比對後排序推薦給您的媒合數值,您可以作為選擇適合顧問的參考值。'
|
},
|
];
|
showDialog = false;
|
showAddress = false;
|
elRateColors = ['#ED1B2E', '#ED1B2E', '#ED1B2E'];
|
|
makePair():void{
|
strictQuery(this.strictQueryDto).then(res=>{
|
console.log('resultData',res.data);
|
this.$router.push('/recommendConsultant/result');
|
});
|
}
|
get notFinishByRequireRules():boolean{
|
const area = this.strictQueryDto.area;
|
const requirementLength = this.strictQueryDto.requirements.length;
|
return !(area && requirementLength >0)
|
}
|
}
|
enum Gender{
|
MALE="male",
|
FEMALE="female",
|
}
|
</script>
|
|
<style lang="scss">
|
input:focus,
|
textarea:focus {
|
outline: none;
|
}
|
|
.input {
|
border: none;
|
width: 90%;
|
border-radius: 10px;
|
}
|
|
.job-pick {
|
height: 50px;
|
border-radius: 10px;
|
border: 1px solid #D0D0CE;
|
display: flex;
|
justify-content: space-between;
|
background-color: #FFFFFF;
|
}
|
|
.down-icon {
|
color: #ED1B2E;
|
font-size: 25px;
|
align-self: center;
|
margin-right: 15px;
|
}
|
|
.popOtherBtn {
|
margin-left: -190px;
|
margin-top: 45px;
|
}
|
|
.genderBtn {
|
width: 80px;
|
height: 47px;
|
display: contents;
|
}
|
|
.qa-dialog {
|
overflow-y: auto;
|
height: auto;
|
margin-top: 20px;
|
}
|
|
.qaTextTitle {
|
margin-top: 30px
|
}
|
|
.qa-dialog-footer {
|
display: flex;
|
justify-content: center;
|
margin-bottom: 81px;
|
color: #ED1B2E;
|
}
|
|
.el-drawer__container ::-webkit-scrollbar {
|
display: none;
|
}
|
.el-button+.el-button {
|
margin-left: 0;
|
}
|
|
.seniority-choice {
|
display: flex;
|
flex-wrap: wrap;
|
}
|
|
.area-choice {
|
height: 50px;
|
border-radius: 10px;
|
border: 1px solid #D0D0CE;
|
display: flex;
|
justify-content: space-between;
|
background-color: #FFFFFF;
|
}
|
|
.area-icon {
|
color: #ED1B2E;
|
font-size: 25px;
|
display: flex;
|
justify-content: flex-end;
|
padding-right: 16px;
|
padding-top: 11px;
|
}
|
|
input::-webkit-input-placeholder {
|
font-size: 20px;
|
padding-left: 10px;
|
}
|
|
.el-button.is-disabled {
|
font-size: 20px;
|
border-radius: 20px;
|
color: #FFFFFF;
|
background-color: #A7A8AA;
|
border: 1px solid #A7A8AA;
|
}
|
|
.rec-footer {
|
height: 70px;
|
display: flex;
|
justify-content: center;
|
align-items: center;
|
}
|
|
.other-PopBtn {
|
width: 90px;
|
height: 47px;
|
margin-top: 10px;
|
}
|
|
|
|
.rec-ques-location {
|
display: flex;
|
align-items: center;
|
}
|
|
.pop-tag {
|
display: flex;
|
flex-wrap: wrap;
|
margin: -10px;
|
|
}
|
|
.rec-popular {
|
display: flex;
|
align-items: baseline;
|
padding-top: 10px;
|
margin-bottom: 10px;
|
}
|
|
.rec-btn-type {
|
padding-bottom: 10px;
|
}
|
|
.rec-question {
|
display: flex;
|
flex-direction: column;
|
|
}
|
|
.rec-banner {
|
height: 120px;
|
background-color: #D0D0CE;
|
|
}
|
|
.rec-btn {
|
font-size: 20px;
|
border-radius: 20px;
|
color: black;
|
border: 1px solid #D0D0CE;
|
}
|
|
.rec-pop-btn {
|
font-size: 20px;
|
border-radius: 20px;
|
color: black;
|
margin: 0px 0px 10px 10px;
|
border: 1px solid #D0D0CE;
|
width: 90px;
|
height: 47px;
|
}
|
|
.rate-consultant {
|
|
.el-rate__icon {
|
font-size: 35px
|
}
|
}
|
|
.el-progress__text {
|
display: none;
|
}
|
|
.el-progress-bar {
|
padding-right: 0;
|
}
|
|
.el-progress-bar__inner {
|
background-color: #ED1B2E;
|
}
|
|
.required {
|
position: relative;
|
|
&::before {
|
content: '*';
|
position: absolute;
|
color: #FF0000;
|
transform: translate(-12px, 0);
|
}
|
}
|
|
.hint {
|
font-size: 16px;
|
color: #ED1B2E;
|
font-weight: bold;
|
|
.icon-information {
|
padding: 0 5px;
|
}
|
}
|
|
|
.area-txt {
|
display: flex;
|
align-items: center;
|
margin-left: 18px;
|
}
|
|
@include desktop {
|
|
.desktopBtn {
|
margin-right: 10px;
|
height: 47px
|
}
|
|
.popOtherBtn {
|
margin-left: 10px;
|
margin-top: -10px;
|
}
|
}
|
|
</style>
|