@burh/nuxt-core 1.0.205 → 1.0.207
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.
- package/components/burh-ds/Curriculum/UserCurriculum/UserCvLeftSide.vue +307 -240
- package/components/burh-ds/Curriculum/UserCurriculum/UserCvMiddle.vue +307 -290
- package/components/burh-ds/Modals/RequestModal.vue +26 -21
- package/components/burh-ds/Modals/SendTest.vue +1 -0
- package/package.json +1 -1
|
@@ -1,145 +1,188 @@
|
|
|
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
|
-
|
|
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
|
+
</div>
|
|
30
|
+
|
|
31
|
+
<div
|
|
32
|
+
v-show="userData.user_skill.length > 0"
|
|
33
|
+
class="skills title-block ml-4"
|
|
34
|
+
>
|
|
35
|
+
<h6 class="mb-0">Habilidades</h6>
|
|
36
|
+
<div class="line"></div>
|
|
37
|
+
|
|
38
|
+
<p
|
|
39
|
+
v-for="(skill, index) in userData.user_skill"
|
|
40
|
+
:key="`skill-${index}`"
|
|
41
|
+
class="ml-1 mt-1 mb-0 text-capitalize"
|
|
42
|
+
>
|
|
43
|
+
{{ skill.skill_word }}
|
|
44
|
+
</p>
|
|
45
|
+
</div>
|
|
46
|
+
|
|
47
|
+
<div
|
|
48
|
+
v-show="userData.user_language.length > 0"
|
|
49
|
+
class="languages title-block mt-3 ml-4"
|
|
50
|
+
>
|
|
51
|
+
<h6 class="mb-0">Idiomas</h6>
|
|
52
|
+
<div class="line"></div>
|
|
53
|
+
|
|
54
|
+
<p
|
|
55
|
+
class="mb-1 text-capitalize"
|
|
56
|
+
v-for="(lan, index) in userData.user_language"
|
|
57
|
+
:key="index"
|
|
58
|
+
>
|
|
59
|
+
{{ lan.language[0].name }} {{ languageLevel(lan.level) }}
|
|
60
|
+
</p>
|
|
61
|
+
</div>
|
|
62
|
+
|
|
63
|
+
<div
|
|
64
|
+
v-show="userData.user_desired_job.length > 0"
|
|
65
|
+
class="desidered title-block mt-3 ml-4"
|
|
66
|
+
>
|
|
67
|
+
<h6 class="mb-0">Cargos desejados</h6>
|
|
68
|
+
<div class="line"></div>
|
|
69
|
+
|
|
70
|
+
<p
|
|
71
|
+
v-for="(des, index) in userData.user_desired_job"
|
|
72
|
+
:key="`skill-${index}`"
|
|
73
|
+
class="ml-1 mt-1 mb-0 text-capitalize"
|
|
74
|
+
>
|
|
75
|
+
{{ des.occupation }}
|
|
76
|
+
</p>
|
|
77
|
+
</div>
|
|
78
|
+
|
|
79
|
+
<div
|
|
80
|
+
class="deficiency title-block mt-3 ml-4"
|
|
81
|
+
v-if="userData.user_deficiency"
|
|
82
|
+
>
|
|
83
|
+
<div class="d-flex align-items-center">
|
|
84
|
+
<i class="fas fa-wheelchair"></i>
|
|
85
|
+
<h6 class="mb-0 ml-2">Deficiência</h6>
|
|
86
|
+
</div>
|
|
87
|
+
<div class="line"></div>
|
|
88
|
+
<p>
|
|
89
|
+
{{ userData.user_deficiency.deficiency_id | allDeficiencies }} -
|
|
90
|
+
{{ userData.user_deficiency.cid }}
|
|
91
|
+
</p>
|
|
92
|
+
|
|
93
|
+
<p v-show="userData.user_deficiency.appliance">
|
|
94
|
+
Acessório: {{ userData.user_deficiency.appliance }}
|
|
95
|
+
</p>
|
|
96
|
+
|
|
97
|
+
<p v-show="userData.user_deficiency.apparatus">
|
|
98
|
+
Necessidade: {{ userData.user_deficiency.apparatus }}
|
|
99
|
+
</p>
|
|
100
|
+
|
|
101
|
+
<p v-show="userData.user_deficiency.course">
|
|
102
|
+
Curso: {{ userData.user_deficiency.course }}
|
|
103
|
+
</p>
|
|
104
|
+
|
|
105
|
+
<p v-show="userData.user_deficiency.note">
|
|
106
|
+
Anotações: {{ userData.user_deficiency.note }}
|
|
107
|
+
</p>
|
|
108
|
+
|
|
109
|
+
<p v-show="userData.user_deficiency.transport === 1">
|
|
110
|
+
Utiliza transporte coletivo
|
|
111
|
+
</p>
|
|
112
|
+
|
|
113
|
+
<p v-show="userData.user_deficiency.vehicle === 1">
|
|
114
|
+
Possuí veículo adaptado
|
|
115
|
+
</p>
|
|
116
|
+
|
|
117
|
+
<p v-show="userData.user_deficiency.escort === 1">
|
|
118
|
+
Precisa de acompanhante
|
|
119
|
+
</p>
|
|
120
|
+
</div>
|
|
121
|
+
|
|
122
|
+
<div class="socials text-center mt-5">
|
|
123
|
+
<a
|
|
124
|
+
:href="baseUrl + '/' + userData.slug.slug"
|
|
125
|
+
class="text-center"
|
|
126
|
+
target="_blank"
|
|
127
|
+
rel="noopener noreferrer"
|
|
128
|
+
>
|
|
129
|
+
<img
|
|
130
|
+
class="no-social"
|
|
131
|
+
src="../../../../assets/images/burhCv.svg"
|
|
132
|
+
alt="Burh"
|
|
133
|
+
/>
|
|
134
|
+
</a>
|
|
135
|
+
<a
|
|
136
|
+
v-show="userData.user_complementary_information.facebook_url"
|
|
137
|
+
:href="userData.user_complementary_information.facebook_url"
|
|
138
|
+
target="_blank"
|
|
139
|
+
class="ml-2"
|
|
140
|
+
rel="noopener noreferrer"
|
|
141
|
+
>
|
|
142
|
+
<img
|
|
143
|
+
class="no-social"
|
|
144
|
+
src="../../../../assets/images/facebookCv.svg"
|
|
145
|
+
alt="Facebook"
|
|
146
|
+
/>
|
|
147
|
+
</a>
|
|
148
|
+
<a
|
|
149
|
+
v-show="userData.user_complementary_information.linkedin_url"
|
|
150
|
+
:href="userData.user_complementary_information.linkedin_url"
|
|
151
|
+
target="_blank"
|
|
152
|
+
class="ml-2"
|
|
153
|
+
rel="noopener noreferrer"
|
|
154
|
+
>
|
|
155
|
+
<img
|
|
156
|
+
class="no-social"
|
|
157
|
+
src="../../../../assets/images/linkedinCv.svg"
|
|
158
|
+
alt="Linkdin"
|
|
159
|
+
/>
|
|
160
|
+
</a>
|
|
161
|
+
<a
|
|
162
|
+
v-show="userData.user_complementary_information.website"
|
|
163
|
+
:href="userData.user_complementary_information.website"
|
|
164
|
+
class="text-center ml-2"
|
|
165
|
+
target="_blank"
|
|
166
|
+
rel="noopener noreferrer"
|
|
167
|
+
>
|
|
168
|
+
<img
|
|
169
|
+
class="no-social"
|
|
170
|
+
src="../../../../assets/images/webCv.svg"
|
|
171
|
+
alt="Web"
|
|
172
|
+
/>
|
|
173
|
+
</a>
|
|
174
|
+
</div>
|
|
175
|
+
|
|
176
|
+
<div class="burh-code text-center mt-4">
|
|
177
|
+
<vue-qrcode
|
|
178
|
+
:value="baseUrl + '/' + userData.slug.slug"
|
|
179
|
+
:options="{ width: 98, height: 98 }"
|
|
180
|
+
class="border qr-code"
|
|
181
|
+
></vue-qrcode>
|
|
182
|
+
<p class="mb-0">Código BURH</p>
|
|
183
|
+
<span class="qr-id">{{ userData.id }}</span>
|
|
184
|
+
</div>
|
|
185
|
+
</div>
|
|
143
186
|
</template>
|
|
144
187
|
|
|
145
188
|
<script>
|
|
@@ -147,100 +190,111 @@ import getPrefixes from '~/util/getPrefixes.js';
|
|
|
147
190
|
import VueQrcode from '@chenfengyuan/vue-qrcode';
|
|
148
191
|
|
|
149
192
|
export default {
|
|
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
|
-
|
|
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
|
-
|
|
193
|
+
name: 'user-cv-left-side',
|
|
194
|
+
components: {
|
|
195
|
+
VueQrcode
|
|
196
|
+
},
|
|
197
|
+
props: {
|
|
198
|
+
userData: Object,
|
|
199
|
+
baseUrl: String
|
|
200
|
+
},
|
|
201
|
+
methods: {
|
|
202
|
+
getTime(
|
|
203
|
+
{ start_year = null, end_year = null, start_month, end_month },
|
|
204
|
+
textHappening = 'Cursando'
|
|
205
|
+
) {
|
|
206
|
+
const isHappening = !end_month && !end_year;
|
|
207
|
+
|
|
208
|
+
if (isHappening) {
|
|
209
|
+
return textHappening;
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
const dateInitial = this.$moment(
|
|
213
|
+
['1', start_month.toString(), start_year.toString()],
|
|
214
|
+
'DD/MM/YYYY'
|
|
215
|
+
);
|
|
216
|
+
const dateDone = this.$moment(
|
|
217
|
+
['1', end_month.toString(), end_year.toString()],
|
|
218
|
+
'DD/MM/YYYY'
|
|
219
|
+
);
|
|
220
|
+
const diffDuration = this.$moment.duration(
|
|
221
|
+
dateDone.diff(dateInitial)
|
|
222
|
+
);
|
|
223
|
+
const years = diffDuration.years();
|
|
224
|
+
const months = diffDuration.months();
|
|
225
|
+
|
|
226
|
+
if (years) {
|
|
227
|
+
return years > 1 ? `(${years} anos)` : `(${years} ano)`;
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
return months > 1
|
|
231
|
+
? `(${months} meses)`
|
|
232
|
+
: months == 1
|
|
233
|
+
? `(${months} mês)`
|
|
234
|
+
: '';
|
|
235
|
+
},
|
|
236
|
+
languageLevel(level) {
|
|
237
|
+
switch (parseInt(level)) {
|
|
238
|
+
case 1:
|
|
239
|
+
return 'Iniciante';
|
|
240
|
+
case 2:
|
|
241
|
+
return 'Elementar';
|
|
242
|
+
case 3:
|
|
243
|
+
return 'Pré-intermediário';
|
|
244
|
+
case 4:
|
|
245
|
+
return 'Intermediário';
|
|
246
|
+
case 5:
|
|
247
|
+
return 'Intermediário Superior';
|
|
248
|
+
case 6:
|
|
249
|
+
return 'Avançado';
|
|
250
|
+
case 7:
|
|
251
|
+
return 'Fluente';
|
|
252
|
+
default:
|
|
253
|
+
return '';
|
|
254
|
+
}
|
|
255
|
+
},
|
|
256
|
+
treatPhone(phone) {
|
|
257
|
+
if (phone) {
|
|
258
|
+
if (phone == '0' || phone.length < 9 || !phone) {
|
|
259
|
+
return 'não cadastrado';
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
|
|
263
|
+
return phone;
|
|
264
|
+
},
|
|
265
|
+
treatCellphone(cellphone) {
|
|
266
|
+
if (cellphone) {
|
|
267
|
+
if (cellphone == '0' || cellphone.length < 11 || !cellphone) {
|
|
268
|
+
return 'não cadastrado';
|
|
269
|
+
}
|
|
270
|
+
}
|
|
271
|
+
|
|
272
|
+
return cellphone;
|
|
273
|
+
},
|
|
274
|
+
handleGetPrefixes(name = '') {
|
|
275
|
+
return getPrefixes(name);
|
|
276
|
+
},
|
|
277
|
+
treatEndDate(end_month, end_year) {
|
|
278
|
+
if (end_month && end_year) {
|
|
279
|
+
return `${end_month}/${end_year}`;
|
|
280
|
+
}
|
|
281
|
+
return '';
|
|
282
|
+
}
|
|
283
|
+
},
|
|
284
|
+
filters: {
|
|
285
|
+
allDeficiencies(id) {
|
|
286
|
+
const typeDeficiency = {
|
|
287
|
+
1: 'Deficiência Física',
|
|
288
|
+
2: 'Deficiência Visual',
|
|
289
|
+
3: 'Deficiência Mental',
|
|
290
|
+
4: 'Deficiência Auditiva',
|
|
291
|
+
5: 'Deficiência Fonológica',
|
|
292
|
+
6: 'Deficiência Múltipla'
|
|
293
|
+
};
|
|
294
|
+
|
|
295
|
+
return typeDeficiency[id] || '-';
|
|
296
|
+
}
|
|
297
|
+
}
|
|
244
298
|
};
|
|
245
299
|
</script>
|
|
246
300
|
|
|
@@ -248,7 +302,7 @@ export default {
|
|
|
248
302
|
@import '@burh/nuxt-core/assets/sass/burh-ds/variables/_colors.scss';
|
|
249
303
|
|
|
250
304
|
.qr-id {
|
|
251
|
-
color: #32325d!important
|
|
305
|
+
color: #32325d !important;
|
|
252
306
|
}
|
|
253
307
|
|
|
254
308
|
.bg-light--darken {
|
|
@@ -288,7 +342,7 @@ export default {
|
|
|
288
342
|
font-size: 13px;
|
|
289
343
|
font-weight: 400;
|
|
290
344
|
color: #62778c;
|
|
291
|
-
line-height: .85rem;
|
|
345
|
+
line-height: 0.85rem;
|
|
292
346
|
margin-bottom: 2rem;
|
|
293
347
|
}
|
|
294
348
|
|
|
@@ -302,6 +356,19 @@ export default {
|
|
|
302
356
|
margin-top: 2.3rem;
|
|
303
357
|
margin-bottom: 2.3rem;
|
|
304
358
|
}
|
|
359
|
+
|
|
360
|
+
.desidered {
|
|
361
|
+
margin-bottom: 2.3rem;
|
|
362
|
+
}
|
|
363
|
+
|
|
364
|
+
.deficiency {
|
|
365
|
+
p {
|
|
366
|
+
margin-top: 0.25rem;
|
|
367
|
+
margin-bottom: 0;
|
|
368
|
+
text-transform: capitalize;
|
|
369
|
+
}
|
|
370
|
+
}
|
|
371
|
+
|
|
305
372
|
.languages {
|
|
306
373
|
margin-bottom: 2.3rem;
|
|
307
374
|
}
|
|
@@ -311,7 +378,7 @@ export default {
|
|
|
311
378
|
width: 235px;
|
|
312
379
|
height: 0px;
|
|
313
380
|
border: 1px solid #ececec5c;
|
|
314
|
-
margin-bottom: .75rem;
|
|
381
|
+
margin-bottom: 0.75rem;
|
|
315
382
|
}
|
|
316
383
|
|
|
317
384
|
p {
|
|
@@ -354,7 +421,7 @@ export default {
|
|
|
354
421
|
width: 25%;
|
|
355
422
|
height: auto;
|
|
356
423
|
padding: 0 20px;
|
|
357
|
-
|
|
358
|
-
color: #62778c!important;
|
|
424
|
+
word-break: break-word !important;
|
|
425
|
+
color: #62778c !important;
|
|
359
426
|
}
|
|
360
427
|
</style>
|