@burh/nuxt-core 1.0.276 → 1.0.277
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div class="upgrade">
|
|
3
|
+
<i class="fas fa-unlock-alt fa-3x"></i>
|
|
4
|
+
<h4>Ei!? Atualize para o Burh Premium</h4>
|
|
5
|
+
<h6>Entre em contato com o nosso time e desbloqueie novos recursos</h6>
|
|
6
|
+
<button type="button" @click="$emit('send-contact')">
|
|
7
|
+
Solicitar Contato
|
|
8
|
+
</button>
|
|
9
|
+
</div>
|
|
10
|
+
</template>
|
|
11
|
+
|
|
12
|
+
<script>
|
|
13
|
+
export default {
|
|
14
|
+
name: 'upgrade-plan'
|
|
15
|
+
};
|
|
16
|
+
</script>
|
|
17
|
+
|
|
18
|
+
<style lang="scss" scoped>
|
|
19
|
+
.upgrade {
|
|
20
|
+
width: 100%;
|
|
21
|
+
height: 46.8rem;
|
|
22
|
+
position: absolute;
|
|
23
|
+
|
|
24
|
+
background: rgba(255, 255, 255, 0.8);
|
|
25
|
+
|
|
26
|
+
display: flex;
|
|
27
|
+
align-items: center;
|
|
28
|
+
justify-content: center;
|
|
29
|
+
flex-direction: column;
|
|
30
|
+
|
|
31
|
+
text-align: center;
|
|
32
|
+
|
|
33
|
+
padding-right: 1.5rem;
|
|
34
|
+
margin: 0 !important;
|
|
35
|
+
word-break: break-word !important;
|
|
36
|
+
|
|
37
|
+
i {
|
|
38
|
+
color: #1f8ceb;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
h4 {
|
|
42
|
+
margin-top: 1rem;
|
|
43
|
+
font-weight: 600;
|
|
44
|
+
font-size: 1.12rem;
|
|
45
|
+
line-height: 1.68rem;
|
|
46
|
+
text-align: center;
|
|
47
|
+
|
|
48
|
+
color: #32325d;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
h6 {
|
|
52
|
+
font-weight: normal;
|
|
53
|
+
font-size: 0.875rem;
|
|
54
|
+
line-height: 1.31rem;
|
|
55
|
+
text-align: center;
|
|
56
|
+
|
|
57
|
+
color: #525f7f;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
button {
|
|
61
|
+
margin-top: 0.6rem;
|
|
62
|
+
|
|
63
|
+
width: 100%;
|
|
64
|
+
height: 2rem;
|
|
65
|
+
|
|
66
|
+
background: #1f8ceb;
|
|
67
|
+
color: #fff;
|
|
68
|
+
box-shadow: 0px 4.22794px 10.1471px rgba(0, 0, 0, 0.15);
|
|
69
|
+
border-radius: 22.8309px;
|
|
70
|
+
border: 0;
|
|
71
|
+
outline: 0;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
</style>
|
|
@@ -1,388 +1,402 @@
|
|
|
1
1
|
<template>
|
|
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
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
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
|
-
|
|
2
|
+
<div class="bg-white content-middle">
|
|
3
|
+
<!-- FERRAMENTAS -->
|
|
4
|
+
<div class="tools mt-3">
|
|
5
|
+
<button
|
|
6
|
+
@click="$emit(tool.event, isLocked)"
|
|
7
|
+
class="ml-3 burh-color"
|
|
8
|
+
:class="{
|
|
9
|
+
'disabled-button': isLocked && tool.event !== 'share'
|
|
10
|
+
}"
|
|
11
|
+
v-for="(tool, index) in tools"
|
|
12
|
+
:key="index"
|
|
13
|
+
>
|
|
14
|
+
<i
|
|
15
|
+
v-show="isLocked && tool.event !== 'share'"
|
|
16
|
+
class="fas fa-lock mr-1"
|
|
17
|
+
></i>
|
|
18
|
+
{{ tool.name }}
|
|
19
|
+
</button>
|
|
20
|
+
</div>
|
|
21
|
+
|
|
22
|
+
<!-- SOBRE -->
|
|
23
|
+
<div class="about content-block mt-5 ml-3 mr-3">
|
|
24
|
+
<h5 class="font-weight-bold">Sobre</h5>
|
|
25
|
+
<p
|
|
26
|
+
id="USER_ABOUT"
|
|
27
|
+
class="mb-0"
|
|
28
|
+
:class="
|
|
29
|
+
!wordIsLesserThan(
|
|
30
|
+
userData.user_complementary_information.about
|
|
31
|
+
) && 'readmore'
|
|
32
|
+
"
|
|
33
|
+
v-html="
|
|
34
|
+
highlightText(
|
|
35
|
+
search,
|
|
36
|
+
userData.user_complementary_information.about
|
|
37
|
+
)
|
|
38
|
+
"
|
|
39
|
+
></p>
|
|
40
|
+
<a
|
|
41
|
+
href="#"
|
|
42
|
+
aria-label="expandir conteudo"
|
|
43
|
+
v-show="
|
|
44
|
+
userData.user_complementary_information.about &&
|
|
45
|
+
!wordIsLesserThan(
|
|
46
|
+
userData.user_complementary_information.about
|
|
47
|
+
)
|
|
48
|
+
"
|
|
49
|
+
@click.prevent.stop="toggleReadMore($event, 'USER_ABOUT')"
|
|
50
|
+
>Ler mais</a
|
|
51
|
+
>
|
|
52
|
+
|
|
53
|
+
<p v-show="!userData.user_complementary_information.about" class="">
|
|
54
|
+
Nenhuma informação adicionada
|
|
55
|
+
</p>
|
|
56
|
+
</div>
|
|
57
|
+
|
|
58
|
+
<!-- EDUCAÇÃO -->
|
|
59
|
+
<h5 class="font-weight-bold mt-4 ml-3">Educação</h5>
|
|
60
|
+
<div class="no-info ml-3" v-show="userData.user_education.length === 0">
|
|
61
|
+
<p>
|
|
62
|
+
Nenhuma informação adicionada
|
|
63
|
+
</p>
|
|
64
|
+
</div>
|
|
65
|
+
<div
|
|
66
|
+
class="education ml-3"
|
|
67
|
+
v-show="userData.user_education.length > 0"
|
|
68
|
+
v-for="(edu, index) in userData.user_education"
|
|
69
|
+
:key="index"
|
|
70
|
+
>
|
|
71
|
+
<p
|
|
72
|
+
class="sub-title"
|
|
73
|
+
v-html="highlightText(search, edu.formation)"
|
|
74
|
+
></p>
|
|
75
|
+
<p class="info-text">{{ edu.institution }}</p>
|
|
76
|
+
<span class="info-text">
|
|
77
|
+
{{ edu.start_month }}/{{ edu.start_year }} -
|
|
78
|
+
{{ treatEndDate(edu.end_month, edu.end_year) }}
|
|
79
|
+
{{ getTime(false, edu) }}
|
|
80
|
+
{{
|
|
81
|
+
edu.user_education_period
|
|
82
|
+
? '-' + edu.user_education_period.name
|
|
83
|
+
: ''
|
|
84
|
+
}} </span
|
|
85
|
+
><br />
|
|
86
|
+
<span
|
|
87
|
+
class="info-text"
|
|
88
|
+
v-html="
|
|
89
|
+
highlightText(
|
|
90
|
+
search,
|
|
91
|
+
edu.formation_level_id | formationLevel
|
|
92
|
+
)
|
|
93
|
+
"
|
|
94
|
+
></span>
|
|
95
|
+
</div>
|
|
96
|
+
|
|
97
|
+
<!-- EXPERIÊNCIAS -->
|
|
98
|
+
<h5 class="font-weight-bold mt-4 ml-3">Experiência</h5>
|
|
99
|
+
<div
|
|
100
|
+
class="no-info ml-3"
|
|
101
|
+
v-show="userData.user_experience.length === 0"
|
|
102
|
+
>
|
|
103
|
+
<p>
|
|
104
|
+
Nenhuma informação adicionada
|
|
105
|
+
</p>
|
|
106
|
+
</div>
|
|
107
|
+
<div
|
|
108
|
+
v-show="userData.user_experience.length > 0"
|
|
109
|
+
class="experience ml-3 mr-3"
|
|
110
|
+
v-for="(exp, index) in userData.user_experience"
|
|
111
|
+
:key="`experience-${index}`"
|
|
112
|
+
>
|
|
113
|
+
<p
|
|
114
|
+
class="sub-title"
|
|
115
|
+
v-html="highlightText(search, exp.job_title)"
|
|
116
|
+
></p>
|
|
117
|
+
<p
|
|
118
|
+
class="info-text"
|
|
119
|
+
v-html="
|
|
120
|
+
highlightText(search, `${exp.company}, ${exp.location}`)
|
|
121
|
+
"
|
|
122
|
+
></p>
|
|
123
|
+
<span class="info-text">
|
|
124
|
+
{{ exp.start_month }}/{{ exp.start_year }} -
|
|
125
|
+
{{ treatEndDate(exp.end_month, exp.end_year) }}
|
|
126
|
+
{{ getTime(true, exp) }}
|
|
127
|
+
</span>
|
|
128
|
+
|
|
129
|
+
<p
|
|
130
|
+
:id="`USER_EXPERIENCE-${index}`"
|
|
131
|
+
class="description mt-4 mb-0"
|
|
132
|
+
:class="!wordIsLesserThan(exp.description) && 'readmore'"
|
|
133
|
+
v-html="highlightText(search, exp.description)"
|
|
134
|
+
></p>
|
|
135
|
+
|
|
136
|
+
<a
|
|
137
|
+
href="#"
|
|
138
|
+
aria-label="expandir conteudo"
|
|
139
|
+
v-show="!wordIsLesserThan(exp.description)"
|
|
140
|
+
@click.prevent.stop="
|
|
141
|
+
toggleReadMore($event, `USER_EXPERIENCE-${index}`)
|
|
142
|
+
"
|
|
143
|
+
>Ler mais</a
|
|
144
|
+
><br /><br />
|
|
145
|
+
</div>
|
|
146
|
+
|
|
147
|
+
<!-- CURSOS -->
|
|
148
|
+
<h5 class="font-weight-bold mt-1 ml-3">Cursos Complementares</h5>
|
|
149
|
+
<div class="no-info ml-3" v-show="userData.user_course.length === 0">
|
|
150
|
+
<p>
|
|
151
|
+
Nenhuma informação adicionada
|
|
152
|
+
</p>
|
|
153
|
+
</div>
|
|
154
|
+
<div
|
|
155
|
+
v-show="userData.user_course.length > 0"
|
|
156
|
+
class="courses ml-3"
|
|
157
|
+
v-for="(cou, index) in userData.user_course"
|
|
158
|
+
:key="`course-${index}`"
|
|
159
|
+
>
|
|
160
|
+
<p
|
|
161
|
+
class="sub-title"
|
|
162
|
+
v-html="highlightText(search, cou.institution)"
|
|
163
|
+
></p>
|
|
164
|
+
<p
|
|
165
|
+
class="info-text mb-3"
|
|
166
|
+
v-html="
|
|
167
|
+
highlightText(
|
|
168
|
+
search,
|
|
169
|
+
`${cou.name} - ${cou.end_year || ''} ${getTime(
|
|
170
|
+
false,
|
|
171
|
+
cou
|
|
172
|
+
)}`
|
|
173
|
+
)
|
|
174
|
+
"
|
|
175
|
+
>
|
|
176
|
+
{{ cou.name }} - {{ cou.end_year }}
|
|
177
|
+
{{ getTime(false, cou) }}
|
|
178
|
+
</p>
|
|
179
|
+
</div>
|
|
180
|
+
</div>
|
|
174
181
|
</template>
|
|
175
182
|
|
|
176
183
|
<script>
|
|
177
184
|
import getPrefixes from '~/util/getPrefixes.js';
|
|
178
185
|
|
|
179
186
|
export default {
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
187
|
+
name: 'user-cv-middle',
|
|
188
|
+
props: {
|
|
189
|
+
userData: Object,
|
|
190
|
+
tools: {
|
|
191
|
+
type: Array,
|
|
192
|
+
default: () => []
|
|
193
|
+
},
|
|
194
|
+
search: {
|
|
195
|
+
type: String,
|
|
196
|
+
default: ''
|
|
197
|
+
}
|
|
198
|
+
},
|
|
199
|
+
filters: {
|
|
200
|
+
formationLevel(id) {
|
|
201
|
+
const typeFormation = {
|
|
202
|
+
1: 'Ensino Médio',
|
|
203
|
+
2: 'Ensino Técnico',
|
|
204
|
+
3: 'Graduação',
|
|
205
|
+
4: 'Pós-Graduação',
|
|
206
|
+
5: 'Mestrado',
|
|
207
|
+
6: 'Doutorado'
|
|
208
|
+
};
|
|
209
|
+
|
|
210
|
+
return typeFormation[id] || '-';
|
|
211
|
+
}
|
|
212
|
+
},
|
|
213
|
+
data() {
|
|
214
|
+
return {
|
|
215
|
+
isLocked: !this.companyHasProduct(
|
|
216
|
+
this.$store.state.loja.showableProducts['HISTORICO_USUARIO']
|
|
217
|
+
)
|
|
218
|
+
};
|
|
219
|
+
},
|
|
220
|
+
mounted() {
|
|
221
|
+
this.userData.user_experience = this.filterByDate(
|
|
222
|
+
this.userData.user_experience,
|
|
223
|
+
'old'
|
|
224
|
+
);
|
|
225
|
+
this.userData.user_education = this.filterByDate(
|
|
226
|
+
this.userData.user_education,
|
|
227
|
+
'old'
|
|
228
|
+
);
|
|
229
|
+
this.userData.user_course = this.filterByDate(
|
|
230
|
+
this.userData.user_course,
|
|
231
|
+
'old'
|
|
232
|
+
);
|
|
233
|
+
},
|
|
234
|
+
watch: {
|
|
235
|
+
userData() {
|
|
236
|
+
this.userData.user_experience = this.filterByDate(
|
|
237
|
+
this.userData.user_experience,
|
|
238
|
+
'old'
|
|
239
|
+
);
|
|
240
|
+
this.userData.user_education = this.filterByDate(
|
|
241
|
+
this.userData.user_education,
|
|
242
|
+
'old'
|
|
243
|
+
);
|
|
244
|
+
this.userData.user_course = this.filterByDate(
|
|
245
|
+
this.userData.user_course,
|
|
246
|
+
'old'
|
|
247
|
+
);
|
|
248
|
+
}
|
|
249
|
+
},
|
|
250
|
+
methods: {
|
|
251
|
+
highlightText(search, text) {
|
|
252
|
+
if (search.length < 2) return text;
|
|
253
|
+
|
|
254
|
+
const regex = new RegExp(search.toLowerCase(), 'gmi');
|
|
255
|
+
return String(text || '').replace(
|
|
256
|
+
regex,
|
|
257
|
+
`<span class="search-highlight">${search}</span>`
|
|
258
|
+
);
|
|
259
|
+
},
|
|
260
|
+
filterByDate(data, by = 'new') {
|
|
261
|
+
let sortedArray = data.sort((a, b) => {
|
|
262
|
+
a = [
|
|
263
|
+
a.start_month,
|
|
264
|
+
a.start_year,
|
|
265
|
+
a.end_month || 12,
|
|
266
|
+
a.end_year || 9999
|
|
267
|
+
];
|
|
268
|
+
|
|
269
|
+
b = [
|
|
270
|
+
b.start_month,
|
|
271
|
+
b.start_year,
|
|
272
|
+
b.end_month || 12,
|
|
273
|
+
b.end_year || 9999
|
|
274
|
+
];
|
|
275
|
+
|
|
276
|
+
// Primeiro filtro -> chaves: 0 e 1 -> Filtro por data de inicio
|
|
277
|
+
// Segundo filtro -> chaves: 2 e 3 -> Filtro por data de termino (subir não concluídos para primeiros)
|
|
278
|
+
|
|
279
|
+
let byStart;
|
|
280
|
+
let byEnd;
|
|
281
|
+
|
|
282
|
+
switch (by) {
|
|
283
|
+
case 'old':
|
|
284
|
+
byStart =
|
|
271
285
|
new Date(a[1], a[0], 1).getTime() -
|
|
272
286
|
new Date(b[1], b[0], 1).getTime();
|
|
273
|
-
|
|
287
|
+
byEnd =
|
|
274
288
|
new Date(b[3], b[2], 1).getTime() -
|
|
275
289
|
new Date(a[3], a[2], 1).getTime();
|
|
276
|
-
|
|
290
|
+
break;
|
|
277
291
|
|
|
278
|
-
|
|
279
|
-
|
|
292
|
+
default:
|
|
293
|
+
byStart =
|
|
280
294
|
new Date(b[1], b[0], 1).getTime() -
|
|
281
295
|
new Date(a[1], a[0], 1).getTime();
|
|
282
|
-
|
|
296
|
+
byEnd =
|
|
283
297
|
new Date(b[3], b[2], 1).getTime() -
|
|
284
298
|
new Date(a[3], a[2], 1).getTime();
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
299
|
+
break;
|
|
300
|
+
}
|
|
301
|
+
|
|
302
|
+
return byEnd - byStart;
|
|
303
|
+
});
|
|
304
|
+
|
|
305
|
+
return sortedArray;
|
|
306
|
+
},
|
|
307
|
+
toggleReadMore(event, id) {
|
|
308
|
+
const element = document.getElementById(id);
|
|
309
|
+
element.classList.toggle('readmore');
|
|
310
|
+
event.target.innerText == 'Ler mais'
|
|
311
|
+
? (event.target.innerText = 'Esconder')
|
|
312
|
+
: (event.target.innerText = 'Ler mais');
|
|
313
|
+
},
|
|
314
|
+
getTime(
|
|
315
|
+
isExperience,
|
|
316
|
+
{ start_year = null, end_year = null, start_month, end_month },
|
|
317
|
+
textHappening = 'Cursando'
|
|
318
|
+
) {
|
|
319
|
+
const isHappening = !end_month && !end_year;
|
|
320
|
+
|
|
321
|
+
if (isHappening) {
|
|
322
|
+
return isExperience === true ? 'Atualmente' : textHappening;
|
|
323
|
+
}
|
|
324
|
+
|
|
325
|
+
const dateInitial = this.$moment(
|
|
326
|
+
['1', start_month.toString(), start_year.toString()],
|
|
327
|
+
'DD/MM/YYYY'
|
|
328
|
+
);
|
|
329
|
+
const dateDone = this.$moment(
|
|
330
|
+
['1', end_month.toString(), end_year.toString()],
|
|
331
|
+
'DD/MM/YYYY'
|
|
332
|
+
);
|
|
333
|
+
const diffDuration = this.$moment.duration(
|
|
334
|
+
dateDone.diff(dateInitial)
|
|
335
|
+
);
|
|
336
|
+
const years = diffDuration.years();
|
|
337
|
+
const months = diffDuration.months();
|
|
338
|
+
|
|
339
|
+
if (years) {
|
|
340
|
+
return years > 1 ? `(${years} anos)` : `(${years} ano)`;
|
|
341
|
+
}
|
|
342
|
+
|
|
343
|
+
return months > 1
|
|
344
|
+
? `(${months} meses)`
|
|
345
|
+
: months == 1
|
|
346
|
+
? `(${months} mês)`
|
|
347
|
+
: '';
|
|
348
|
+
},
|
|
349
|
+
languageLevel(level) {
|
|
350
|
+
switch (parseInt(level)) {
|
|
351
|
+
case 1:
|
|
352
|
+
return 'Iniciante';
|
|
353
|
+
case 2:
|
|
354
|
+
return 'Elementar';
|
|
355
|
+
case 3:
|
|
356
|
+
return 'Pré-intermediário';
|
|
357
|
+
case 4:
|
|
358
|
+
return 'Intermediário';
|
|
359
|
+
case 5:
|
|
360
|
+
return 'Intermediário Superior';
|
|
361
|
+
case 6:
|
|
362
|
+
return 'Avançado';
|
|
363
|
+
case 7:
|
|
364
|
+
return 'Fluente';
|
|
365
|
+
default:
|
|
366
|
+
return '';
|
|
367
|
+
}
|
|
368
|
+
},
|
|
369
|
+
treatPhone(phone) {
|
|
370
|
+
if (phone) {
|
|
371
|
+
if (phone == '0' || phone.length < 9 || !phone) {
|
|
372
|
+
return 'não cadastrado';
|
|
373
|
+
}
|
|
374
|
+
}
|
|
375
|
+
|
|
376
|
+
return phone;
|
|
377
|
+
},
|
|
378
|
+
treatCellphone(cellphone) {
|
|
379
|
+
if (cellphone) {
|
|
380
|
+
if (cellphone == '0' || cellphone.length < 11 || !cellphone) {
|
|
381
|
+
return 'não cadastrado';
|
|
382
|
+
}
|
|
383
|
+
}
|
|
384
|
+
|
|
385
|
+
return cellphone;
|
|
386
|
+
},
|
|
387
|
+
handleGetPrefixes(name = '') {
|
|
388
|
+
return getPrefixes(name);
|
|
389
|
+
},
|
|
390
|
+
treatEndDate(end_month, end_year) {
|
|
391
|
+
if (end_month && end_year) {
|
|
392
|
+
return `${end_month}/${end_year}`;
|
|
393
|
+
}
|
|
394
|
+
return '';
|
|
395
|
+
},
|
|
396
|
+
wordIsLesserThan(word, value = 300) {
|
|
397
|
+
return word && word.length < value;
|
|
398
|
+
}
|
|
399
|
+
}
|
|
386
400
|
};
|
|
387
401
|
</script>
|
|
388
402
|
|
|
@@ -422,6 +436,7 @@ export default {
|
|
|
422
436
|
|
|
423
437
|
font-size: 12px;
|
|
424
438
|
font-weight: 600;
|
|
439
|
+
outline: 0;
|
|
425
440
|
}
|
|
426
441
|
}
|
|
427
442
|
|
|
@@ -470,4 +485,8 @@ export default {
|
|
|
470
485
|
color: #62778c;
|
|
471
486
|
}
|
|
472
487
|
}
|
|
488
|
+
|
|
489
|
+
.disabled-button {
|
|
490
|
+
opacity: 0.5;
|
|
491
|
+
}
|
|
473
492
|
</style>
|
|
@@ -12,6 +12,7 @@
|
|
|
12
12
|
src="../../../../assets/images/icons/historicCv.svg"
|
|
13
13
|
/>
|
|
14
14
|
</span>
|
|
15
|
+
<upgrade-plan @send-contact="sendContact" v-show="isLocked" />
|
|
15
16
|
<p class="notes-title mb-0">Histórico com sua empresa</p>
|
|
16
17
|
<div class="line mb-3"></div>
|
|
17
18
|
|
|
@@ -37,6 +38,7 @@
|
|
|
37
38
|
src="../../../../assets/images/icons/notesCv.svg"
|
|
38
39
|
/>
|
|
39
40
|
</span>
|
|
41
|
+
<upgrade-plan @send-contact="sendContact" v-show="isLocked" />
|
|
40
42
|
<p class="notes-title mb-0">Notas da equipe</p>
|
|
41
43
|
<div class="line mb-3"></div>
|
|
42
44
|
<div
|
|
@@ -75,7 +77,7 @@
|
|
|
75
77
|
<p>Nenhuma nota criada.</p>
|
|
76
78
|
</div>
|
|
77
79
|
|
|
78
|
-
<div class="input-container">
|
|
80
|
+
<div class="input-container" v-show="!isLocked">
|
|
79
81
|
<input
|
|
80
82
|
class="notes-new pl-4 mt-3 mb-3 form-rounded"
|
|
81
83
|
type="text"
|
|
@@ -101,6 +103,7 @@
|
|
|
101
103
|
src="../../../../assets/images/icons/icon3.svg"
|
|
102
104
|
/>
|
|
103
105
|
</span>
|
|
106
|
+
<upgrade-plan @send-contact="sendContact" v-show="isLocked" />
|
|
104
107
|
<p class="notes-title mb-0">Documentos anexados</p>
|
|
105
108
|
<div class="line mb-3"></div>
|
|
106
109
|
|
|
@@ -145,7 +148,7 @@
|
|
|
145
148
|
<p>Nenhum arquvio anexado.</p>
|
|
146
149
|
</div>
|
|
147
150
|
|
|
148
|
-
<div class="input-container">
|
|
151
|
+
<div class="input-container" v-show="!isLocked">
|
|
149
152
|
<div class="mt-5">
|
|
150
153
|
|
|
151
154
|
<dropzone-file-upload
|
|
@@ -163,14 +166,14 @@
|
|
|
163
166
|
</div>
|
|
164
167
|
</el-tab-pane>
|
|
165
168
|
|
|
166
|
-
<el-tab-pane :disabled="true">
|
|
169
|
+
<!-- <el-tab-pane :disabled="true">
|
|
167
170
|
<span class="tab__icon-pane cursor-disabled" slot="label">
|
|
168
171
|
<img
|
|
169
172
|
class="img__icon-pane"
|
|
170
173
|
src="../../../../assets/images/icons/icon4.svg"
|
|
171
174
|
/>
|
|
172
175
|
</span>
|
|
173
|
-
</el-tab-pane>
|
|
176
|
+
</el-tab-pane> -->
|
|
174
177
|
</el-tabs>
|
|
175
178
|
</div>
|
|
176
179
|
</template>
|
|
@@ -179,6 +182,7 @@
|
|
|
179
182
|
import { Tabs, TabPane } from 'element-ui';
|
|
180
183
|
import DropzoneFileUpload from '@burh/nuxt-core/components/argon-core/Inputs/DropzoneFileUpload.vue';
|
|
181
184
|
import swal from 'sweetalert2';
|
|
185
|
+
import UpgradePlan from './UpgradePlan.vue';
|
|
182
186
|
|
|
183
187
|
export default {
|
|
184
188
|
name: 'user-cv-right-side',
|
|
@@ -203,6 +207,7 @@ export default {
|
|
|
203
207
|
[Tabs.name]: Tabs,
|
|
204
208
|
[TabPane.name]: TabPane,
|
|
205
209
|
DropzoneFileUpload,
|
|
210
|
+
UpgradePlan
|
|
206
211
|
},
|
|
207
212
|
data(){
|
|
208
213
|
return {
|
|
@@ -219,7 +224,10 @@ export default {
|
|
|
219
224
|
dictInvalidFileType: 'Arquivo invalido.',
|
|
220
225
|
dictMaxFilesExceeded: 'Não é permitido mais de um arquivo por vez.',
|
|
221
226
|
acceptedFiles: 'image/*, application/pdf',
|
|
222
|
-
}
|
|
227
|
+
},
|
|
228
|
+
isLocked: !this.companyHasProduct(
|
|
229
|
+
this.$store.state.loja.showableProducts['INTERACAO_USUARIO']
|
|
230
|
+
),
|
|
223
231
|
};
|
|
224
232
|
},
|
|
225
233
|
props: {
|
|
@@ -328,6 +336,9 @@ export default {
|
|
|
328
336
|
|
|
329
337
|
return sortedArray;
|
|
330
338
|
},
|
|
339
|
+
sendContact() {
|
|
340
|
+
this.$emit('open-contact');
|
|
341
|
+
}
|
|
331
342
|
},
|
|
332
343
|
};
|
|
333
344
|
</script>
|
|
@@ -369,6 +380,7 @@ export default {
|
|
|
369
380
|
}
|
|
370
381
|
|
|
371
382
|
/deep/ .el-tab-pane {
|
|
383
|
+
height: 760px;
|
|
372
384
|
max-height: 760px;
|
|
373
385
|
overflow: hidden;
|
|
374
386
|
overflow-y: auto;
|