保誠-保戶業務員媒合平台
wayne
2022-02-17 a3716f72066d25d745f4d5103ff23a553c3e102b
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
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
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
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
<template>
    <div>
        <div class="pam-tags">
            <div class="pb-10" v-for="(qaItem,index) in questionList" :key="index">
                <el-button  class="tags" :class="{ 'active': qaItem.selected }"
                @click="selectQuestion(index)">
                {{ qaItem.name }}
                </el-button>
            </div>
        </div>
    </div>
</template>
 
<script lang="ts">
import { Vue, Component, Emit, Prop} from 'vue-property-decorator';
 
import { consultantQuestions } from '~/shared/const/consult-questions';
 
@Component
    export default class ConsultantQues extends Vue{
 
      @Prop({ default: () => []})
      selectedQuestions!: string[];
 
      other         : string = '';
      otherQuestion : string = '';
 
      questionList: ConsultQuestionWithSelect[] = [];
 
      //////////////////////////////////////////////////////////////////////
 
      mounted() {
        const isSelected = (quesName: string): boolean => this.selectedQuestions.some((question) => question === quesName);
        this.questionList = consultantQuestions.map((consultQuestion) => {
          return {
            name: consultQuestion,
            selected: isSelected(consultQuestion)
          }
        })
      }
 
      //////////////////////////////////////////////////////////////////////
 
      @Emit('change')
      selectQuestion(questionIndex: number): any[] {
          this.questionList[questionIndex].selected = !this.questionList[questionIndex].selected;
          return this.questionList;
      }
 
    }
 
    interface ConsultQuestionWithSelect {
      name    : string;
      selected: boolean;
    }
</script>
<style lang="scss">
.con-input{
    input:focus,textarea:focus {
    outline: none;
    border : 1px solid #ED1B2E;
  }
}
 
.other-input{
    height    : 50px;
    width     : 316px;
    border    : 1px solid #CCCCCC;
    margin-top: 10px;
}
 
.tags{
    height: 47px;
}
 
.qa-dialog-footer{
    display        : flex;
    justify-content: center;
    font-size      : 20px;
    color          : red;
}
 
.el-dialog__wrapper{
    overflow: hidden;
}
 
.qa-dialog{
    overflow  : hidden;
    height    : 500px;
    margin-top: 20px;
}
 
.qaTextTitle{
    font-size      : 20px;
    font-family    : bold;
    display        : flex;
    justify-content: center;
    align-items    : center;
    margin-top     : -15px;
 
}
.qa-title{
    font-size    : 20px;
    margin-bottom: 10px;
}
.qa-content{
    font-size    : 18px;
    margin-bottom: 10px;
}
 
@include desktop
{
  .pam-tags{
      display  : flex;
      flex-wrap: wrap;
  }
  .tags{
      margin-right: 10px;
      height      : 47px;
  }
}
</style>