@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
- <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
- v-html="
27
- highlightText(
28
- search,
29
- userData.user_complementary_information.about
30
- )
31
- "
32
- ></p>
33
- <a
34
- href="#"
35
- aria-label="expandir conteudo"
36
- v-show="
37
- userData.user_complementary_information.about &&
38
- !wordIsLesserThan(
39
- userData.user_complementary_information.about
40
- )
41
- "
42
- @click.prevent.stop="toggleReadMore($event, 'USER_ABOUT')"
43
- >Ler mais</a
44
- >
45
-
46
- <p v-show="!userData.user_complementary_information.about" class="">
47
- Nenhuma informação adicionada
48
- </p>
49
- </div>
50
-
51
- <!-- EDUCAÇÃO -->
52
- <h5 class="font-weight-bold mt-4 ml-3">Educação</h5>
53
- <div class="no-info ml-3" v-show="userData.user_education.length === 0">
54
- <p>
55
- Nenhuma informação adicionada
56
- </p>
57
- </div>
58
- <div
59
- class="education ml-3"
60
- v-show="userData.user_education.length > 0"
61
- v-for="(edu, index) in userData.user_education"
62
- :key="index"
63
- >
64
- <p
65
- class="sub-title"
66
- v-html="highlightText(search, edu.formation)"
67
- ></p>
68
- <p class="info-text">{{ edu.institution }}</p>
69
- <span class="info-text">
70
- {{ edu.start_month }}/{{ edu.start_year }} -
71
- {{ treatEndDate(edu.end_month, edu.end_year) }}
72
- {{ getTime(false, edu) }}
73
- {{
74
- edu.user_education_period
75
- ? '-' + edu.user_education_period.name
76
- : ''
77
- }} </span
78
- ><br />
79
- <span
80
- class="info-text"
81
- v-html="
82
- highlightText(
83
- search,
84
- edu.formation_level_id | formationLevel
85
- )
86
- "
87
- ></span>
88
- </div>
89
-
90
- <!-- EXPERIÊNCIAS -->
91
- <h5 class="font-weight-bold mt-4 ml-3">Experiência</h5>
92
- <div
93
- class="no-info ml-3"
94
- v-show="userData.user_experience.length === 0"
95
- >
96
- <p>
97
- Nenhuma informação adicionada
98
- </p>
99
- </div>
100
- <div
101
- v-show="userData.user_experience.length > 0"
102
- class="experience ml-3 mr-3"
103
- v-for="(exp, index) in userData.user_experience"
104
- :key="`experience-${index}`"
105
- >
106
- <p
107
- class="sub-title"
108
- v-html="highlightText(search, exp.job_title)"
109
- ></p>
110
- <p
111
- class="info-text"
112
- v-html="
113
- highlightText(search, `${exp.company}, ${exp.location}`)
114
- "
115
- ></p>
116
- <span class="info-text">
117
- {{ exp.start_month }}/{{ exp.start_year }} -
118
- {{ treatEndDate(exp.end_month, exp.end_year) }}
119
- {{ getTime(true, exp) }}
120
- </span>
121
-
122
- <p
123
- :id="`USER_EXPERIENCE-${index}`"
124
- class="description mt-4 mb-0"
125
- :class="!wordIsLesserThan(exp.description) && 'readmore'"
126
- v-html="highlightText(search, exp.description)"
127
- ></p>
128
-
129
- <a
130
- href="#"
131
- aria-label="expandir conteudo"
132
- v-show="!wordIsLesserThan(exp.description)"
133
- @click.prevent.stop="
134
- toggleReadMore($event, `USER_EXPERIENCE-${index}`)
135
- "
136
- >Ler mais</a
137
- ><br /><br />
138
- </div>
139
-
140
- <!-- CURSOS -->
141
- <h5 class="font-weight-bold mt-1 ml-3">Cursos Complementares</h5>
142
- <div class="no-info ml-3" v-show="userData.user_course.length === 0">
143
- <p>
144
- Nenhuma informação adicionada
145
- </p>
146
- </div>
147
- <div
148
- v-show="userData.user_course.length > 0"
149
- class="courses ml-3"
150
- v-for="(cou, index) in userData.user_course"
151
- :key="`course-${index}`"
152
- >
153
- <p
154
- class="sub-title"
155
- v-html="highlightText(search, cou.institution)"
156
- ></p>
157
- <p
158
- class="info-text mb-3"
159
- v-html="
160
- highlightText(
161
- search,
162
- `${cou.name} - ${cou.end_year || ''} ${getTime(
163
- false,
164
- cou
165
- )}`
166
- )
167
- "
168
- >
169
- {{ cou.name }} - {{ cou.end_year }}
170
- {{ getTime(false, cou) }}
171
- </p>
172
- </div>
173
- </div>
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
- name: 'user-cv-middle',
181
- props: {
182
- userData: Object,
183
- tools: {
184
- type: Array,
185
- default: () => []
186
- },
187
- search: {
188
- type: String,
189
- default: ''
190
- }
191
- },
192
- filters: {
193
- formationLevel(id) {
194
- const typeFormation = {
195
- 1: 'Ensino Médio',
196
- 2: 'Ensino Técnico',
197
- 3: 'Graduação',
198
- 4: 'Pós-Graduação',
199
- 5: 'Mestrado',
200
- 6: 'Doutorado'
201
- };
202
-
203
- return typeFormation[id] || '-';
204
- }
205
- },
206
- mounted() {
207
- this.userData.user_experience = this.filterByDate(
208
- this.userData.user_experience,
209
- 'old'
210
- );
211
- this.userData.user_education = this.filterByDate(
212
- this.userData.user_education,
213
- 'old'
214
- );
215
- this.userData.user_course = this.filterByDate(
216
- this.userData.user_course,
217
- 'old'
218
- );
219
- },
220
- watch: {
221
- userData() {
222
- this.userData.user_experience = this.filterByDate(
223
- this.userData.user_experience,
224
- 'old'
225
- );
226
- this.userData.user_education = this.filterByDate(
227
- this.userData.user_education,
228
- 'old'
229
- );
230
- this.userData.user_course = this.filterByDate(
231
- this.userData.user_course,
232
- 'old'
233
- );
234
- }
235
- },
236
- methods: {
237
- highlightText(search, text) {
238
- if (search.length < 2) return text;
239
-
240
- const regex = new RegExp(search.toLowerCase(), 'gmi');
241
- return String(text || '').replace(
242
- regex,
243
- `<span class="search-highlight">${search}</span>`
244
- );
245
- },
246
- filterByDate(data, by = 'new') {
247
- let sortedArray = data.sort((a, b) => {
248
- a = [
249
- a.start_month,
250
- a.start_year,
251
- a.end_month || 12,
252
- a.end_year || 9999
253
- ];
254
-
255
- b = [
256
- b.start_month,
257
- b.start_year,
258
- b.end_month || 12,
259
- b.end_year || 9999
260
- ];
261
-
262
- // Primeiro filtro -> chaves: 0 e 1 -> Filtro por data de inicio
263
- // Segundo filtro -> chaves: 2 e 3 -> Filtro por data de termino (subir não concluídos para primeiros)
264
-
265
- let byStart;
266
- let byEnd;
267
-
268
- switch (by) {
269
- case 'old':
270
- byStart =
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
- byEnd =
287
+ byEnd =
274
288
  new Date(b[3], b[2], 1).getTime() -
275
289
  new Date(a[3], a[2], 1).getTime();
276
- break;
290
+ break;
277
291
 
278
- default:
279
- byStart =
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
- byEnd =
296
+ byEnd =
283
297
  new Date(b[3], b[2], 1).getTime() -
284
298
  new Date(a[3], a[2], 1).getTime();
285
- break;
286
- }
287
-
288
- return byEnd - byStart;
289
- });
290
-
291
- return sortedArray;
292
- },
293
- toggleReadMore(event, id) {
294
- const element = document.getElementById(id);
295
- element.classList.toggle('readmore');
296
- event.target.innerText == 'Ler mais'
297
- ? (event.target.innerText = 'Esconder')
298
- : (event.target.innerText = 'Ler mais');
299
- },
300
- getTime(
301
- isExperience,
302
- { start_year = null, end_year = null, start_month, end_month },
303
- textHappening = 'Cursando'
304
- ) {
305
- const isHappening = !end_month && !end_year;
306
-
307
- if (isHappening) {
308
- return isExperience === true ? 'Atualmente' : textHappening;
309
- }
310
-
311
- const dateInitial = this.$moment(
312
- ['1', start_month.toString(), start_year.toString()],
313
- 'DD/MM/YYYY'
314
- );
315
- const dateDone = this.$moment(
316
- ['1', end_month.toString(), end_year.toString()],
317
- 'DD/MM/YYYY'
318
- );
319
- const diffDuration = this.$moment.duration(
320
- dateDone.diff(dateInitial)
321
- );
322
- const years = diffDuration.years();
323
- const months = diffDuration.months();
324
-
325
- if (years) {
326
- return years > 1 ? `(${years} anos)` : `(${years} ano)`;
327
- }
328
-
329
- return months > 1
330
- ? `(${months} meses)`
331
- : months == 1
332
- ? `(${months} mês)`
333
- : '';
334
- },
335
- languageLevel(level) {
336
- switch (parseInt(level)) {
337
- case 1:
338
- return 'Iniciante';
339
- case 2:
340
- return 'Elementar';
341
- case 3:
342
- return 'Pré-intermediário';
343
- case 4:
344
- return 'Intermediário';
345
- case 5:
346
- return 'Intermediário Superior';
347
- case 6:
348
- return 'Avançado';
349
- case 7:
350
- return 'Fluente';
351
- default:
352
- return '';
353
- }
354
- },
355
- treatPhone(phone) {
356
- if (phone) {
357
- if (phone == '0' || phone.length < 9 || !phone) {
358
- return 'não cadastrado';
359
- }
360
- }
361
-
362
- return phone;
363
- },
364
- treatCellphone(cellphone) {
365
- if (cellphone) {
366
- if (cellphone == '0' || cellphone.length < 11 || !cellphone) {
367
- return 'não cadastrado';
368
- }
369
- }
370
-
371
- return cellphone;
372
- },
373
- handleGetPrefixes(name = '') {
374
- return getPrefixes(name);
375
- },
376
- treatEndDate(end_month, end_year) {
377
- if (end_month && end_year) {
378
- return `${end_month}/${end_year}`;
379
- }
380
- return '';
381
- },
382
- wordIsLesserThan(word, value = 300) {
383
- return word && word.length < value;
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;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@burh/nuxt-core",
3
- "version": "1.0.276",
3
+ "version": "1.0.277",
4
4
  "description": "Design System and Components.",
5
5
  "author": "Burh",
6
6
  "scripts": {