@burh/nuxt-core 1.0.219 → 1.0.221
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.
|
@@ -1,188 +1,190 @@
|
|
|
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
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
2
|
+
<div class="bg-white content-left">
|
|
3
|
+
<div class="profile w-100 text-center">
|
|
4
|
+
<div class="avatar">
|
|
5
|
+
<img
|
|
6
|
+
v-if="userData.urlAvatar"
|
|
7
|
+
:src="userData.urlAvatar"
|
|
8
|
+
:alt="userData.name"
|
|
9
|
+
/>
|
|
10
|
+
<div v-else class="no-image">
|
|
11
|
+
{{ userData.name }}
|
|
12
|
+
</div>
|
|
13
|
+
</div>
|
|
14
|
+
|
|
15
|
+
<h5 class="mb-0 text-wrap" :class="{ 'mt-5': !userData.urlAvatar }">
|
|
16
|
+
{{ userData.name }} {{ userData.last_name }}
|
|
17
|
+
</h5>
|
|
18
|
+
|
|
19
|
+
<p class="user-info" v-if="userData.user_experience.length > 0">
|
|
20
|
+
{{ userData.user_experience[0].job_title }} em
|
|
21
|
+
{{ userData.user_experience[0].company }}
|
|
22
|
+
</p>
|
|
23
|
+
|
|
24
|
+
<span v-if="userData.user_address">
|
|
25
|
+
<i class="fas fa-map-marker-alt"></i>
|
|
26
|
+
{{ userData.user_address.city_name }} -
|
|
27
|
+
{{ userData.user_address.region_code }}
|
|
28
|
+
</span>
|
|
29
|
+
<br>
|
|
30
|
+
<span>Data de atualização: {{ $moment(userData.updated_at).format('DD/MM/YYYY H:mm')}}</span>
|
|
31
|
+
</div>
|
|
32
|
+
|
|
33
|
+
<div
|
|
34
|
+
v-show="userData.user_skill.length > 0"
|
|
35
|
+
class="skills title-block ml-4"
|
|
36
|
+
>
|
|
37
|
+
<h6 class="mb-0">Habilidades</h6>
|
|
38
|
+
<div class="line"></div>
|
|
39
|
+
|
|
40
|
+
<p
|
|
41
|
+
v-for="(skill, index) in userData.user_skill"
|
|
42
|
+
:key="`skill-${index}`"
|
|
43
|
+
class="ml-1 mt-1 mb-0 text-capitalize"
|
|
44
|
+
>
|
|
45
|
+
{{ skill.skill_word }}
|
|
46
|
+
</p>
|
|
47
|
+
</div>
|
|
48
|
+
|
|
49
|
+
<div
|
|
50
|
+
v-show="userData.user_language.length > 0"
|
|
51
|
+
class="languages title-block mt-3 ml-4"
|
|
52
|
+
>
|
|
53
|
+
<h6 class="mb-0">Idiomas</h6>
|
|
54
|
+
<div class="line"></div>
|
|
55
|
+
|
|
56
|
+
<p
|
|
57
|
+
class="mb-1 text-capitalize"
|
|
58
|
+
v-for="(lan, index) in userData.user_language"
|
|
59
|
+
:key="index"
|
|
60
|
+
>
|
|
61
|
+
{{ lan.language[0].name }} {{ languageLevel(lan.level) }}
|
|
62
|
+
</p>
|
|
63
|
+
</div>
|
|
64
|
+
|
|
65
|
+
<div
|
|
66
|
+
v-show="userData.user_desired_job.length > 0"
|
|
67
|
+
class="desidered title-block mt-3 ml-4"
|
|
68
|
+
>
|
|
69
|
+
<h6 class="mb-0">Cargos desejados</h6>
|
|
70
|
+
<div class="line"></div>
|
|
71
|
+
|
|
72
|
+
<p
|
|
73
|
+
v-for="(des, index) in userData.user_desired_job"
|
|
74
|
+
:key="`skill-${index}`"
|
|
75
|
+
class="ml-1 mt-1 mb-0 text-capitalize"
|
|
76
|
+
>
|
|
77
|
+
{{ des.occupation }}
|
|
78
|
+
</p>
|
|
79
|
+
</div>
|
|
80
|
+
|
|
81
|
+
<div
|
|
82
|
+
class="deficiency title-block mt-3 ml-4"
|
|
83
|
+
v-if="userData.user_deficiency"
|
|
84
|
+
>
|
|
85
|
+
<div class="d-flex align-items-center">
|
|
86
|
+
<i class="fas fa-wheelchair"></i>
|
|
87
|
+
<h6 class="mb-0 ml-2">Deficiência</h6>
|
|
88
|
+
</div>
|
|
89
|
+
<div class="line"></div>
|
|
90
|
+
<p>
|
|
91
|
+
{{ userData.user_deficiency.deficiency_id | allDeficiencies }} -
|
|
92
|
+
{{ userData.user_deficiency.cid }}
|
|
93
|
+
</p>
|
|
94
|
+
|
|
95
|
+
<p v-show="userData.user_deficiency.appliance">
|
|
96
|
+
Acessório: {{ userData.user_deficiency.appliance }}
|
|
97
|
+
</p>
|
|
98
|
+
|
|
99
|
+
<p v-show="userData.user_deficiency.apparatus">
|
|
100
|
+
Necessidade: {{ userData.user_deficiency.apparatus }}
|
|
101
|
+
</p>
|
|
102
|
+
|
|
103
|
+
<p v-show="userData.user_deficiency.course">
|
|
104
|
+
Curso: {{ userData.user_deficiency.course }}
|
|
105
|
+
</p>
|
|
106
|
+
|
|
107
|
+
<p v-show="userData.user_deficiency.note">
|
|
108
|
+
Anotações: {{ userData.user_deficiency.note }}
|
|
109
|
+
</p>
|
|
110
|
+
|
|
111
|
+
<p v-show="userData.user_deficiency.transport === 1">
|
|
112
|
+
Utiliza transporte coletivo
|
|
113
|
+
</p>
|
|
114
|
+
|
|
115
|
+
<p v-show="userData.user_deficiency.vehicle === 1">
|
|
116
|
+
Possuí veículo adaptado
|
|
117
|
+
</p>
|
|
118
|
+
|
|
119
|
+
<p v-show="userData.user_deficiency.escort === 1">
|
|
120
|
+
Precisa de acompanhante
|
|
121
|
+
</p>
|
|
122
|
+
</div>
|
|
123
|
+
|
|
124
|
+
<div class="socials text-center mt-5">
|
|
125
|
+
<a
|
|
126
|
+
:href="baseUrl + '/' + userData.slug.slug"
|
|
127
|
+
class="text-center"
|
|
128
|
+
target="_blank"
|
|
129
|
+
rel="noopener noreferrer"
|
|
130
|
+
>
|
|
131
|
+
<img
|
|
132
|
+
class="no-social"
|
|
133
|
+
src="../../../../assets/images/burhCv.svg"
|
|
134
|
+
alt="Burh"
|
|
135
|
+
/>
|
|
136
|
+
</a>
|
|
137
|
+
<a
|
|
138
|
+
v-show="userData.user_complementary_information.facebook_url"
|
|
139
|
+
:href="userData.user_complementary_information.facebook_url"
|
|
140
|
+
target="_blank"
|
|
141
|
+
class="ml-2"
|
|
142
|
+
rel="noopener noreferrer"
|
|
143
|
+
>
|
|
144
|
+
<img
|
|
145
|
+
class="no-social"
|
|
146
|
+
src="../../../../assets/images/facebookCv.svg"
|
|
147
|
+
alt="Facebook"
|
|
148
|
+
/>
|
|
149
|
+
</a>
|
|
150
|
+
<a
|
|
151
|
+
v-show="userData.user_complementary_information.linkedin_url"
|
|
152
|
+
:href="userData.user_complementary_information.linkedin_url"
|
|
153
|
+
target="_blank"
|
|
154
|
+
class="ml-2"
|
|
155
|
+
rel="noopener noreferrer"
|
|
156
|
+
>
|
|
157
|
+
<img
|
|
158
|
+
class="no-social"
|
|
159
|
+
src="../../../../assets/images/linkedinCv.svg"
|
|
160
|
+
alt="Linkdin"
|
|
161
|
+
/>
|
|
162
|
+
</a>
|
|
163
|
+
<a
|
|
164
|
+
v-show="userData.user_complementary_information.website"
|
|
165
|
+
:href="userData.user_complementary_information.website"
|
|
166
|
+
class="text-center ml-2"
|
|
167
|
+
target="_blank"
|
|
168
|
+
rel="noopener noreferrer"
|
|
169
|
+
>
|
|
170
|
+
<img
|
|
171
|
+
class="no-social"
|
|
172
|
+
src="../../../../assets/images/webCv.svg"
|
|
173
|
+
alt="Web"
|
|
174
|
+
/>
|
|
175
|
+
</a>
|
|
176
|
+
</div>
|
|
177
|
+
|
|
178
|
+
<div class="burh-code text-center mt-4">
|
|
179
|
+
<vue-qrcode
|
|
180
|
+
:value="baseUrl + '/' + userData.slug.slug"
|
|
181
|
+
:options="{ width: 98, height: 98 }"
|
|
182
|
+
class="border qr-code"
|
|
183
|
+
></vue-qrcode>
|
|
184
|
+
<p class="mb-0">Código BURH</p>
|
|
185
|
+
<span class="qr-id">{{ userData.id }}</span>
|
|
186
|
+
</div>
|
|
187
|
+
</div>
|
|
186
188
|
</template>
|
|
187
189
|
|
|
188
190
|
<script>
|
|
@@ -190,111 +192,111 @@ import getPrefixes from '~/util/getPrefixes.js';
|
|
|
190
192
|
import VueQrcode from '@chenfengyuan/vue-qrcode';
|
|
191
193
|
|
|
192
194
|
export default {
|
|
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
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
195
|
+
name: 'user-cv-left-side',
|
|
196
|
+
components: {
|
|
197
|
+
VueQrcode
|
|
198
|
+
},
|
|
199
|
+
props: {
|
|
200
|
+
userData: Object,
|
|
201
|
+
baseUrl: String
|
|
202
|
+
},
|
|
203
|
+
methods: {
|
|
204
|
+
getTime(
|
|
205
|
+
{ start_year = null, end_year = null, start_month, end_month },
|
|
206
|
+
textHappening = 'Cursando'
|
|
207
|
+
) {
|
|
208
|
+
const isHappening = !end_month && !end_year;
|
|
209
|
+
|
|
210
|
+
if (isHappening) {
|
|
211
|
+
return textHappening;
|
|
212
|
+
}
|
|
213
|
+
|
|
214
|
+
const dateInitial = this.$moment(
|
|
215
|
+
['1', start_month.toString(), start_year.toString()],
|
|
216
|
+
'DD/MM/YYYY'
|
|
217
|
+
);
|
|
218
|
+
const dateDone = this.$moment(
|
|
219
|
+
['1', end_month.toString(), end_year.toString()],
|
|
220
|
+
'DD/MM/YYYY'
|
|
221
|
+
);
|
|
222
|
+
const diffDuration = this.$moment.duration(
|
|
223
|
+
dateDone.diff(dateInitial)
|
|
224
|
+
);
|
|
225
|
+
const years = diffDuration.years();
|
|
226
|
+
const months = diffDuration.months();
|
|
227
|
+
|
|
228
|
+
if (years) {
|
|
229
|
+
return years > 1 ? `(${years} anos)` : `(${years} ano)`;
|
|
230
|
+
}
|
|
231
|
+
|
|
232
|
+
return months > 1
|
|
233
|
+
? `(${months} meses)`
|
|
234
|
+
: months == 1
|
|
235
|
+
? `(${months} mês)`
|
|
236
|
+
: '';
|
|
237
|
+
},
|
|
238
|
+
languageLevel(level) {
|
|
239
|
+
switch (parseInt(level)) {
|
|
240
|
+
case 1:
|
|
241
|
+
return 'Iniciante';
|
|
242
|
+
case 2:
|
|
243
|
+
return 'Elementar';
|
|
244
|
+
case 3:
|
|
245
|
+
return 'Pré-intermediário';
|
|
246
|
+
case 4:
|
|
247
|
+
return 'Intermediário';
|
|
248
|
+
case 5:
|
|
249
|
+
return 'Intermediário Superior';
|
|
250
|
+
case 6:
|
|
251
|
+
return 'Avançado';
|
|
252
|
+
case 7:
|
|
253
|
+
return 'Fluente';
|
|
254
|
+
default:
|
|
255
|
+
return '';
|
|
256
|
+
}
|
|
257
|
+
},
|
|
258
|
+
treatPhone(phone) {
|
|
259
|
+
if (phone) {
|
|
260
|
+
if (phone == '0' || phone.length < 9 || !phone) {
|
|
261
|
+
return 'não cadastrado';
|
|
262
|
+
}
|
|
263
|
+
}
|
|
264
|
+
|
|
265
|
+
return phone;
|
|
266
|
+
},
|
|
267
|
+
treatCellphone(cellphone) {
|
|
268
|
+
if (cellphone) {
|
|
269
|
+
if (cellphone == '0' || cellphone.length < 11 || !cellphone) {
|
|
270
|
+
return 'não cadastrado';
|
|
271
|
+
}
|
|
272
|
+
}
|
|
273
|
+
|
|
274
|
+
return cellphone;
|
|
275
|
+
},
|
|
276
|
+
handleGetPrefixes(name = '') {
|
|
277
|
+
return getPrefixes(name);
|
|
278
|
+
},
|
|
279
|
+
treatEndDate(end_month, end_year) {
|
|
280
|
+
if (end_month && end_year) {
|
|
281
|
+
return `${end_month}/${end_year}`;
|
|
282
|
+
}
|
|
283
|
+
return '';
|
|
284
|
+
}
|
|
285
|
+
},
|
|
286
|
+
filters: {
|
|
287
|
+
allDeficiencies(id) {
|
|
288
|
+
const typeDeficiency = {
|
|
289
|
+
1: 'Deficiência Física',
|
|
290
|
+
2: 'Deficiência Visual',
|
|
291
|
+
3: 'Deficiência Mental',
|
|
292
|
+
4: 'Deficiência Auditiva',
|
|
293
|
+
5: 'Deficiência Fonológica',
|
|
294
|
+
6: 'Deficiência Múltipla'
|
|
295
|
+
};
|
|
296
|
+
|
|
297
|
+
return typeDeficiency[id] || '-';
|
|
298
|
+
}
|
|
299
|
+
}
|
|
298
300
|
};
|
|
299
301
|
</script>
|
|
300
302
|
|
|
@@ -1,142 +1,142 @@
|
|
|
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
|
-
|
|
2
|
+
<div class="bg-white content-middle">
|
|
3
|
+
<!-- FERRAMENTAS -->
|
|
4
|
+
<div class="tools mt-3">
|
|
5
|
+
<button
|
|
6
|
+
@click="$emit(tool.event)"
|
|
7
|
+
class="ml-3 burh-color"
|
|
8
|
+
v-for="(tool, index) in tools"
|
|
9
|
+
:key="index"
|
|
10
|
+
>
|
|
11
|
+
{{ tool.name }}
|
|
12
|
+
</button>
|
|
13
|
+
</div>
|
|
14
|
+
|
|
15
|
+
<!-- SOBRE -->
|
|
16
|
+
<div class="about content-block mt-5 ml-3 mr-3">
|
|
17
|
+
<h5 class="font-weight-bold">Sobre</h5>
|
|
18
|
+
<p
|
|
19
|
+
id="USER_ABOUT"
|
|
20
|
+
class="mb-0"
|
|
21
|
+
:class="
|
|
22
|
+
!wordIsLesserThan(
|
|
23
|
+
userData.user_complementary_information.about
|
|
24
|
+
) && 'readmore'
|
|
25
|
+
"
|
|
26
|
+
>
|
|
27
|
+
{{ userData.user_complementary_information.about }}
|
|
28
|
+
</p>
|
|
29
|
+
<a
|
|
30
|
+
href="#"
|
|
31
|
+
aria-label="expandir conteudo"
|
|
32
|
+
v-show="
|
|
33
|
+
userData.user_complementary_information.about &&
|
|
34
|
+
!wordIsLesserThan(
|
|
35
|
+
userData.user_complementary_information.about
|
|
36
|
+
)
|
|
37
|
+
"
|
|
38
|
+
@click.prevent.stop="toggleReadMore($event, 'USER_ABOUT')"
|
|
39
|
+
>Ler mais</a
|
|
40
|
+
>
|
|
41
|
+
|
|
42
|
+
<p v-show="!userData.user_complementary_information.about" class="">
|
|
43
|
+
Nenhuma informação adicionada
|
|
44
|
+
</p>
|
|
45
|
+
</div>
|
|
46
|
+
|
|
47
|
+
<!-- EDUCAÇÃO -->
|
|
48
|
+
<h5 class="font-weight-bold mt-4 ml-3">Educação</h5>
|
|
49
|
+
<div class="no-info ml-3" v-show="userData.user_education.length === 0">
|
|
50
|
+
<p>
|
|
51
|
+
Nenhuma informação adicionada
|
|
52
|
+
</p>
|
|
53
|
+
</div>
|
|
54
|
+
<div
|
|
55
|
+
class="education ml-3"
|
|
56
|
+
v-show="userData.user_education.length > 0"
|
|
57
|
+
v-for="(edu, index) in userData.user_education"
|
|
58
|
+
:key="index"
|
|
59
|
+
>
|
|
60
|
+
<p class="sub-title">{{ edu.formation }}</p>
|
|
61
|
+
<p class="info-text">{{ edu.institution }}</p>
|
|
62
|
+
<span class="info-text">
|
|
63
|
+
{{ edu.start_month }}/{{ edu.start_year }} -
|
|
64
|
+
{{ treatEndDate(edu.end_month, edu.end_year) }}
|
|
65
|
+
{{ getTime(false, edu) }}
|
|
66
|
+
{{
|
|
67
|
+
edu.user_education_period
|
|
68
|
+
? '-' + edu.user_education_period.name
|
|
69
|
+
: ''
|
|
70
|
+
}} </span
|
|
71
|
+
><br />
|
|
72
|
+
<span class="info-text">{{
|
|
73
|
+
edu.formation_level_id | formationLevel
|
|
74
|
+
}}</span>
|
|
75
|
+
</div>
|
|
76
|
+
|
|
77
|
+
<!-- EXPERIÊNCIAS -->
|
|
78
|
+
<h5 class="font-weight-bold mt-4 ml-3">Experiência</h5>
|
|
79
|
+
<div
|
|
80
|
+
class="no-info ml-3"
|
|
81
|
+
v-show="userData.user_experience.length === 0"
|
|
82
|
+
>
|
|
83
|
+
<p>
|
|
84
|
+
Nenhuma informação adicionada
|
|
85
|
+
</p>
|
|
86
|
+
</div>
|
|
87
|
+
<div
|
|
88
|
+
v-show="userData.user_experience.length > 0"
|
|
89
|
+
class="experience ml-3 mr-3"
|
|
90
|
+
v-for="(exp, index) in userData.user_experience"
|
|
91
|
+
:key="`experience-${index}`"
|
|
92
|
+
>
|
|
93
|
+
<p class="sub-title">{{ exp.job_title }}</p>
|
|
94
|
+
<p class="info-text">{{ exp.company }}, {{ exp.location }}</p>
|
|
95
|
+
<span class="info-text">
|
|
96
|
+
{{ exp.start_month }}/{{ exp.start_year }} -
|
|
97
|
+
{{ treatEndDate(exp.end_month, exp.end_year) }}
|
|
98
|
+
{{ getTime(true, exp) }}
|
|
99
|
+
</span>
|
|
100
|
+
|
|
101
|
+
<p
|
|
102
|
+
:id="`USER_EXPERIENCE-${index}`"
|
|
103
|
+
class="description mt-4 mb-0"
|
|
104
|
+
:class="!wordIsLesserThan(exp.description) && 'readmore'"
|
|
105
|
+
>
|
|
106
|
+
{{ exp.description }}
|
|
107
|
+
</p>
|
|
108
|
+
|
|
109
|
+
<a
|
|
110
|
+
href="#"
|
|
111
|
+
aria-label="expandir conteudo"
|
|
112
|
+
v-show="!wordIsLesserThan(exp.description)"
|
|
113
|
+
@click.prevent.stop="
|
|
114
|
+
toggleReadMore($event, `USER_EXPERIENCE-${index}`)
|
|
115
|
+
"
|
|
116
|
+
>Ler mais</a
|
|
117
|
+
><br /><br />
|
|
118
|
+
</div>
|
|
119
|
+
|
|
120
|
+
<!-- CURSOS -->
|
|
121
|
+
<h5 class="font-weight-bold mt-1 ml-3">Cursos Complementares</h5>
|
|
122
|
+
<div class="no-info ml-3" v-show="userData.user_course.length === 0">
|
|
123
|
+
<p>
|
|
124
|
+
Nenhuma informação adicionada
|
|
125
|
+
</p>
|
|
126
|
+
</div>
|
|
127
|
+
<div
|
|
128
|
+
v-show="userData.user_course.length > 0"
|
|
129
|
+
class="courses ml-3"
|
|
130
|
+
v-for="(cou, index) in userData.user_course"
|
|
131
|
+
:key="`course-${index}`"
|
|
132
|
+
>
|
|
133
|
+
<p class="sub-title">{{ cou.institution }}</p>
|
|
134
|
+
<p class="info-text mb-3">
|
|
135
|
+
{{ cou.name }} - {{ cou.end_year }}
|
|
136
|
+
{{ getTime(false, cou) }}
|
|
137
|
+
</p>
|
|
138
|
+
</div>
|
|
139
|
+
</div>
|
|
140
140
|
</template>
|
|
141
141
|
|
|
142
142
|
<script>
|
|
@@ -165,10 +165,25 @@ export default {
|
|
|
165
165
|
return typeFormation[id] || '-';
|
|
166
166
|
}
|
|
167
167
|
},
|
|
168
|
+
mounted() {
|
|
169
|
+
this.userData.user_experience = this.filterByDate(
|
|
170
|
+
this.userData.user_experience,
|
|
171
|
+
'old'
|
|
172
|
+
);
|
|
173
|
+
this.userData.user_education = this.filterByDate(
|
|
174
|
+
this.userData.user_education,
|
|
175
|
+
'old'
|
|
176
|
+
);
|
|
177
|
+
this.userData.user_course = this.filterByDate(
|
|
178
|
+
this.userData.user_course,
|
|
179
|
+
'old'
|
|
180
|
+
);
|
|
181
|
+
},
|
|
168
182
|
watch: {
|
|
169
183
|
userData() {
|
|
170
184
|
this.userData.user_experience = this.filterByDate(
|
|
171
|
-
this.userData.user_experience
|
|
185
|
+
this.userData.user_experience,
|
|
186
|
+
'old'
|
|
172
187
|
);
|
|
173
188
|
this.userData.user_course = this.filterByDate(
|
|
174
189
|
this.userData.user_course,
|
|
@@ -186,15 +201,15 @@ export default {
|
|
|
186
201
|
a = [
|
|
187
202
|
a.start_month,
|
|
188
203
|
a.start_year,
|
|
189
|
-
a.end_month
|
|
190
|
-
a.end_year
|
|
204
|
+
a.end_month || 12,
|
|
205
|
+
a.end_year || 9999
|
|
191
206
|
];
|
|
192
207
|
|
|
193
208
|
b = [
|
|
194
209
|
b.start_month,
|
|
195
210
|
b.start_year,
|
|
196
|
-
b.end_month
|
|
197
|
-
b.end_year
|
|
211
|
+
b.end_month || 12,
|
|
212
|
+
b.end_year || 9999
|
|
198
213
|
];
|
|
199
214
|
|
|
200
215
|
// Primeiro filtro -> chaves: 0 e 1 -> Filtro por data de inicio
|
|
@@ -208,119 +223,119 @@ export default {
|
|
|
208
223
|
byStart =
|
|
209
224
|
new Date(a[1], a[0], 1).getTime() -
|
|
210
225
|
new Date(b[1], b[0], 1).getTime();
|
|
211
|
-
|
|
226
|
+
byEnd =
|
|
212
227
|
new Date(b[3], b[2], 1).getTime() -
|
|
213
228
|
new Date(a[3], a[2], 1).getTime();
|
|
214
|
-
|
|
229
|
+
break;
|
|
215
230
|
|
|
216
|
-
|
|
217
|
-
|
|
231
|
+
default:
|
|
232
|
+
byStart =
|
|
218
233
|
new Date(b[1], b[0], 1).getTime() -
|
|
219
234
|
new Date(a[1], a[0], 1).getTime();
|
|
220
|
-
|
|
235
|
+
byEnd =
|
|
221
236
|
new Date(b[3], b[2], 1).getTime() -
|
|
222
237
|
new Date(a[3], a[2], 1).getTime();
|
|
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
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
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
|
-
|
|
238
|
+
break;
|
|
239
|
+
}
|
|
240
|
+
|
|
241
|
+
return byStart - byEnd;
|
|
242
|
+
});
|
|
243
|
+
|
|
244
|
+
return sortedArray;
|
|
245
|
+
},
|
|
246
|
+
toggleReadMore(event, id) {
|
|
247
|
+
const element = document.getElementById(id);
|
|
248
|
+
element.classList.toggle('readmore');
|
|
249
|
+
event.target.innerText == 'Ler mais'
|
|
250
|
+
? (event.target.innerText = 'Esconder')
|
|
251
|
+
: (event.target.innerText = 'Ler mais');
|
|
252
|
+
},
|
|
253
|
+
getTime(
|
|
254
|
+
isExperience,
|
|
255
|
+
{ start_year = null, end_year = null, start_month, end_month },
|
|
256
|
+
textHappening = 'Cursando'
|
|
257
|
+
) {
|
|
258
|
+
const isHappening = !end_month && !end_year;
|
|
259
|
+
|
|
260
|
+
if (isHappening) {
|
|
261
|
+
return isExperience === true ? 'Atualmente' : textHappening;
|
|
262
|
+
}
|
|
263
|
+
|
|
264
|
+
const dateInitial = this.$moment(
|
|
265
|
+
['1', start_month.toString(), start_year.toString()],
|
|
266
|
+
'DD/MM/YYYY'
|
|
267
|
+
);
|
|
268
|
+
const dateDone = this.$moment(
|
|
269
|
+
['1', end_month.toString(), end_year.toString()],
|
|
270
|
+
'DD/MM/YYYY'
|
|
271
|
+
);
|
|
272
|
+
const diffDuration = this.$moment.duration(
|
|
273
|
+
dateDone.diff(dateInitial)
|
|
274
|
+
);
|
|
275
|
+
const years = diffDuration.years();
|
|
276
|
+
const months = diffDuration.months();
|
|
277
|
+
|
|
278
|
+
if (years) {
|
|
279
|
+
return years > 1 ? `(${years} anos)` : `(${years} ano)`;
|
|
280
|
+
}
|
|
281
|
+
|
|
282
|
+
return months > 1
|
|
283
|
+
? `(${months} meses)`
|
|
284
|
+
: months == 1
|
|
285
|
+
? `(${months} mês)`
|
|
286
|
+
: '';
|
|
287
|
+
},
|
|
288
|
+
languageLevel(level) {
|
|
289
|
+
switch (parseInt(level)) {
|
|
290
|
+
case 1:
|
|
291
|
+
return 'Iniciante';
|
|
292
|
+
case 2:
|
|
293
|
+
return 'Elementar';
|
|
294
|
+
case 3:
|
|
295
|
+
return 'Pré-intermediário';
|
|
296
|
+
case 4:
|
|
297
|
+
return 'Intermediário';
|
|
298
|
+
case 5:
|
|
299
|
+
return 'Intermediário Superior';
|
|
300
|
+
case 6:
|
|
301
|
+
return 'Avançado';
|
|
302
|
+
case 7:
|
|
303
|
+
return 'Fluente';
|
|
304
|
+
default:
|
|
305
|
+
return '';
|
|
306
|
+
}
|
|
307
|
+
},
|
|
308
|
+
treatPhone(phone) {
|
|
309
|
+
if (phone) {
|
|
310
|
+
if (phone == '0' || phone.length < 9 || !phone) {
|
|
311
|
+
return 'não cadastrado';
|
|
312
|
+
}
|
|
313
|
+
}
|
|
314
|
+
|
|
315
|
+
return phone;
|
|
316
|
+
},
|
|
317
|
+
treatCellphone(cellphone) {
|
|
318
|
+
if (cellphone) {
|
|
319
|
+
if (cellphone == '0' || cellphone.length < 11 || !cellphone) {
|
|
320
|
+
return 'não cadastrado';
|
|
321
|
+
}
|
|
322
|
+
}
|
|
323
|
+
|
|
324
|
+
return cellphone;
|
|
325
|
+
},
|
|
326
|
+
handleGetPrefixes(name = '') {
|
|
327
|
+
return getPrefixes(name);
|
|
328
|
+
},
|
|
329
|
+
treatEndDate(end_month, end_year) {
|
|
330
|
+
if (end_month && end_year) {
|
|
331
|
+
return `${end_month}/${end_year}`;
|
|
332
|
+
}
|
|
333
|
+
return '';
|
|
334
|
+
},
|
|
335
|
+
wordIsLesserThan(word, value = 300) {
|
|
336
|
+
return word && word.length < value;
|
|
337
|
+
}
|
|
338
|
+
}
|
|
324
339
|
};
|
|
325
340
|
</script>
|
|
326
341
|
|