@nixweb/nixloc-ui 0.0.162 → 0.0.164
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/package.json +1 -1
- package/src/component/shared/ParameterLegend.vue +3 -3
- package/src/component/shared/TableImport.vue +13 -6
- package/src/component/shared/TableItem.vue +5 -0
- package/src/component/shared/query-builder/AddRule.vue +41 -12
- package/src/component/shared/query-builder/DynamicComponent.vue +1 -0
- package/src/component/shared/query-builder/DynamicComponentList.vue +3 -10
- package/src/component/shared/query-builder/SelectRule.vue +5 -4
- package/src/component/template/ViewTemplateImportFile.vue +51 -24
- package/src/component/template/ViewTemplateReportPreview.vue +116 -84
package/package.json
CHANGED
|
@@ -77,12 +77,12 @@ export default {
|
|
|
77
77
|
...mapState("generic", ["search", "executedSearch", "clearedSearch"]),
|
|
78
78
|
grouped() {
|
|
79
79
|
let legend = [];
|
|
80
|
-
|
|
80
|
+
/* this.legendLocal.forEach((item) => {
|
|
81
81
|
if (item.showModule.includes(this.module) || item.showModule == "all")
|
|
82
82
|
legend.push(item);
|
|
83
|
-
})
|
|
83
|
+
});*/
|
|
84
84
|
|
|
85
|
-
var list = this.groupBy({ array:
|
|
85
|
+
var list = this.groupBy({ array: this.legendLocal, key: "groupName" });
|
|
86
86
|
return list;
|
|
87
87
|
},
|
|
88
88
|
},
|
|
@@ -5,16 +5,13 @@
|
|
|
5
5
|
<table class="table table-responsive-xs">
|
|
6
6
|
<thead>
|
|
7
7
|
<tr>
|
|
8
|
-
<th
|
|
9
|
-
v-for="(obj, ind) in headerTable"
|
|
10
|
-
:key="ind"
|
|
11
|
-
class="title-header"
|
|
12
|
-
>
|
|
8
|
+
<th v-for="(obj, ind) in headerTableMap" :key="ind" class="title-header">
|
|
13
9
|
<div class="div-select">
|
|
14
10
|
<SelectStatic
|
|
15
11
|
:title="obj.title"
|
|
16
12
|
:data="select"
|
|
17
13
|
:markFormDirty="false"
|
|
14
|
+
:initialValue="obj.target"
|
|
18
15
|
v-model="obj.target"
|
|
19
16
|
/>
|
|
20
17
|
</div>
|
|
@@ -49,6 +46,17 @@ export default {
|
|
|
49
46
|
data() {
|
|
50
47
|
return {};
|
|
51
48
|
},
|
|
49
|
+
computed: {
|
|
50
|
+
headerTableMap() {
|
|
51
|
+
var i = 0;
|
|
52
|
+
this.headerTable.forEach((item) => {
|
|
53
|
+
item.target = this.select[i];
|
|
54
|
+
i++;
|
|
55
|
+
});
|
|
56
|
+
|
|
57
|
+
return this.headerTable;
|
|
58
|
+
},
|
|
59
|
+
},
|
|
52
60
|
methods: {},
|
|
53
61
|
};
|
|
54
62
|
</script>
|
|
@@ -77,7 +85,6 @@ export default {
|
|
|
77
85
|
font-weight: 400;
|
|
78
86
|
}
|
|
79
87
|
|
|
80
|
-
|
|
81
88
|
.tabela-description {
|
|
82
89
|
white-space: nowrap;
|
|
83
90
|
overflow: hidden;
|
|
@@ -6,23 +6,31 @@
|
|
|
6
6
|
<div class="div-custom">
|
|
7
7
|
<b-row>
|
|
8
8
|
<b-col sm="6">
|
|
9
|
-
<SelectRule
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
:options="[
|
|
14
|
-
{ text: 'e', value: 'and' },
|
|
15
|
-
{ text: 'ou', value: 'or' },
|
|
16
|
-
]"
|
|
17
|
-
v-model="andOr"
|
|
9
|
+
<SelectRule
|
|
10
|
+
:options="rules"
|
|
11
|
+
class="select"
|
|
12
|
+
v-model="selectedRule"
|
|
18
13
|
/>
|
|
19
14
|
</b-col>
|
|
20
15
|
<b-col sm="3">
|
|
21
|
-
<
|
|
22
|
-
|
|
23
|
-
</
|
|
16
|
+
<div class="div-btn">
|
|
17
|
+
<i class="fa-solid fa-circle-plus" @click="add"></i>
|
|
18
|
+
</div>
|
|
24
19
|
</b-col>
|
|
25
20
|
</b-row>
|
|
21
|
+
<div class="div-and-or">
|
|
22
|
+
<b-row>
|
|
23
|
+
<b-col sm="3">
|
|
24
|
+
<RadioGroup
|
|
25
|
+
:options="[
|
|
26
|
+
{ text: 'e', value: 'and' },
|
|
27
|
+
{ text: 'ou', value: 'or' },
|
|
28
|
+
]"
|
|
29
|
+
v-model="andOr"
|
|
30
|
+
/>
|
|
31
|
+
</b-col>
|
|
32
|
+
</b-row>
|
|
33
|
+
</div>
|
|
26
34
|
</div>
|
|
27
35
|
</div>
|
|
28
36
|
</div>
|
|
@@ -133,6 +141,16 @@ export default {
|
|
|
133
141
|
</script>
|
|
134
142
|
|
|
135
143
|
<style>
|
|
144
|
+
.card {
|
|
145
|
+
border: 1px solid #e8eaed !important;
|
|
146
|
+
background-color: white !important;
|
|
147
|
+
border-radius: 8px !important;
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
.card-body {
|
|
151
|
+
padding: 10px;
|
|
152
|
+
}
|
|
153
|
+
|
|
136
154
|
.title-option {
|
|
137
155
|
padding: 10px;
|
|
138
156
|
}
|
|
@@ -173,6 +191,17 @@ export default {
|
|
|
173
191
|
color: rgb(150, 150, 150);
|
|
174
192
|
}
|
|
175
193
|
|
|
194
|
+
.div-btn {
|
|
195
|
+
margin-top: -3px;
|
|
196
|
+
font-size: 25px;
|
|
197
|
+
color: #577696;
|
|
198
|
+
cursor: pointer;
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
.div-and-or {
|
|
202
|
+
margin-top: 10px;
|
|
203
|
+
}
|
|
204
|
+
|
|
176
205
|
@media (min-width: 768px) {
|
|
177
206
|
.vue-query-builder .vqb-rule.form-inline .form-group {
|
|
178
207
|
display: block;
|
|
@@ -13,12 +13,6 @@
|
|
|
13
13
|
:index="index"
|
|
14
14
|
/>
|
|
15
15
|
</draggable>
|
|
16
|
-
<br />
|
|
17
|
-
<div v-if="selectedRules.length == 0">
|
|
18
|
-
<Alert type="info">
|
|
19
|
-
Selecione o filtro desejado e clique em +Adicionar</Alert
|
|
20
|
-
>
|
|
21
|
-
</div>
|
|
22
16
|
</div>
|
|
23
17
|
</div>
|
|
24
18
|
</template>
|
|
@@ -66,12 +60,11 @@ export default {
|
|
|
66
60
|
|
|
67
61
|
<style scoped>
|
|
68
62
|
.component {
|
|
69
|
-
min-height: 450px;
|
|
70
|
-
max-height: 450px;
|
|
71
|
-
overflow-y: visible;
|
|
72
|
-
overflow-x: hidden;
|
|
73
63
|
padding-left: 10px;
|
|
74
64
|
padding-right: 10px;
|
|
75
65
|
margin-top: 10px;
|
|
66
|
+
max-width: 1100px;
|
|
67
|
+
margin: auto;
|
|
68
|
+
padding-top: 20px;
|
|
76
69
|
}
|
|
77
70
|
</style>
|
|
@@ -46,13 +46,14 @@ export default {
|
|
|
46
46
|
outline: none;
|
|
47
47
|
height: 40px;
|
|
48
48
|
line-height: 40px;
|
|
49
|
-
z-index:
|
|
49
|
+
z-index: 500;
|
|
50
50
|
}
|
|
51
51
|
|
|
52
52
|
.selected-filter .selected {
|
|
53
53
|
background-color: white;
|
|
54
|
-
border
|
|
55
|
-
|
|
54
|
+
border: 1px solid #DBDEE0;
|
|
55
|
+
border-radius: 6px;
|
|
56
|
+
color: #495057;
|
|
56
57
|
padding-left: 1em;
|
|
57
58
|
cursor: pointer;
|
|
58
59
|
user-select: none;
|
|
@@ -61,7 +62,7 @@ export default {
|
|
|
61
62
|
.selected-filter .selected:after {
|
|
62
63
|
position: absolute;
|
|
63
64
|
content: "";
|
|
64
|
-
top:
|
|
65
|
+
top: 19px;
|
|
65
66
|
right: 1em;
|
|
66
67
|
width: 0;
|
|
67
68
|
height: 0;
|
|
@@ -9,37 +9,38 @@
|
|
|
9
9
|
>
|
|
10
10
|
<div slot="content-main">
|
|
11
11
|
<br />
|
|
12
|
-
<div v-show="
|
|
12
|
+
<div class="div-loading" v-show="loading">
|
|
13
|
+
<span>
|
|
14
|
+
{{ msg }}
|
|
15
|
+
</span>
|
|
16
|
+
<Loading type="line" :center="false" />
|
|
17
|
+
</div>
|
|
18
|
+
<div v-show="!success && !loading">
|
|
13
19
|
<b-tabs>
|
|
14
20
|
<b-tab title="Importar">
|
|
15
|
-
<div
|
|
16
|
-
<span
|
|
17
|
-
>Aguarde, estamos carregando os dados, isso pode levar alguns
|
|
18
|
-
minutos...
|
|
19
|
-
</span>
|
|
20
|
-
<Loading type="line" :center="false" />
|
|
21
|
-
</div>
|
|
22
|
-
<div v-show="!loading">
|
|
21
|
+
<div>
|
|
23
22
|
<div v-show="!fileName">
|
|
24
|
-
<div class="import-icon">
|
|
25
|
-
<i class="fas fa-file-import"></i>
|
|
26
|
-
</div>
|
|
27
|
-
<slot></slot>
|
|
28
23
|
<Alert type="info">
|
|
29
24
|
<span>
|
|
30
|
-
Selecione o arquivo no formato
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
25
|
+
Selecione o arquivo Excel no formato
|
|
26
|
+
<b> .xlsx </b> baseado na planilha
|
|
27
|
+
<a :href="urlTemplate" class="text-download">
|
|
28
|
+
<b>BAIXAR MODELO</b>
|
|
29
|
+
</a>
|
|
30
|
+
e aguarde até carregar os dados para conferência.
|
|
31
|
+
</span>
|
|
32
|
+
<br />
|
|
34
33
|
<span>
|
|
35
34
|
Até <b> 1000 </b> itens por planilha ou <b> 1MB </b> no
|
|
36
35
|
arquivo.
|
|
37
36
|
</span>
|
|
38
37
|
</Alert>
|
|
38
|
+
<br />
|
|
39
|
+
<slot></slot>
|
|
39
40
|
<div class="div-file">
|
|
40
41
|
<FileUpload
|
|
41
|
-
title="Carregar
|
|
42
|
-
classIcon="fa-
|
|
42
|
+
title="Carregar .xlsx"
|
|
43
|
+
classIcon="fa-solid fa-file-excel"
|
|
43
44
|
:container="container"
|
|
44
45
|
accepted=".xlsx"
|
|
45
46
|
allowed=".xlsx"
|
|
@@ -56,10 +57,13 @@
|
|
|
56
57
|
<div class="import-icon">
|
|
57
58
|
<i class="fas fa-file-import"></i>
|
|
58
59
|
</div>
|
|
59
|
-
<span>
|
|
60
|
+
<span v-if="!isValid">
|
|
60
61
|
Efetue o <b> mapeamento </b> dos campos e clique em iniciar
|
|
61
|
-
validação
|
|
62
|
-
>
|
|
62
|
+
validação.
|
|
63
|
+
</span>
|
|
64
|
+
<span v-else>
|
|
65
|
+
Dados <b> validado com sucesso, </b> clique em importar.
|
|
66
|
+
</span>
|
|
63
67
|
<br />
|
|
64
68
|
<div class="div-btn">
|
|
65
69
|
<Button
|
|
@@ -232,6 +236,7 @@ export default {
|
|
|
232
236
|
urlMapping: String,
|
|
233
237
|
urlValidate: String,
|
|
234
238
|
urlImport: String,
|
|
239
|
+
urlTemplate: String,
|
|
235
240
|
},
|
|
236
241
|
data() {
|
|
237
242
|
return {
|
|
@@ -244,6 +249,8 @@ export default {
|
|
|
244
249
|
isValid: false,
|
|
245
250
|
idRemove: "",
|
|
246
251
|
success: false,
|
|
252
|
+
msg: "",
|
|
253
|
+
loadingImport: false,
|
|
247
254
|
};
|
|
248
255
|
},
|
|
249
256
|
computed: {
|
|
@@ -253,7 +260,10 @@ export default {
|
|
|
253
260
|
...mapActions("generic", ["postApi", "deleteAllApi"]),
|
|
254
261
|
...mapMutations("generic", ["openModal", "hideModal", "removeLoading"]),
|
|
255
262
|
successUploadFile() {
|
|
263
|
+
this.listError = [];
|
|
256
264
|
this.loading = true;
|
|
265
|
+
this.msg =
|
|
266
|
+
"Aguarde, estamos carregando os dados, isso pode levar alguns minutos...";
|
|
257
267
|
let self = this;
|
|
258
268
|
setTimeout(function () {
|
|
259
269
|
self.mapping(self.fileName);
|
|
@@ -279,6 +289,10 @@ export default {
|
|
|
279
289
|
});
|
|
280
290
|
},
|
|
281
291
|
validate() {
|
|
292
|
+
this.loading = true;
|
|
293
|
+
this.msg =
|
|
294
|
+
"Aguarde, estamos validando os dados, isso pode levar alguns minutos...";
|
|
295
|
+
this.isValid = false;
|
|
282
296
|
let params = {
|
|
283
297
|
url: this.urlValidate,
|
|
284
298
|
obj: {
|
|
@@ -295,9 +309,16 @@ export default {
|
|
|
295
309
|
if (this.listError.length == 0) this.isValid = true;
|
|
296
310
|
}
|
|
297
311
|
this.removeLoading(["btnValidate"]);
|
|
312
|
+
let self = this;
|
|
313
|
+
setTimeout(function () {
|
|
314
|
+
self.loading = false;
|
|
315
|
+
}, 2000);
|
|
298
316
|
});
|
|
299
317
|
},
|
|
300
318
|
startImport() {
|
|
319
|
+
this.loading = true;
|
|
320
|
+
this.msg =
|
|
321
|
+
"Aguarde, estamos importando os dados, isso pode levar alguns minutos...";
|
|
301
322
|
let params = {
|
|
302
323
|
url: this.urlImport,
|
|
303
324
|
obj: {
|
|
@@ -312,9 +333,9 @@ export default {
|
|
|
312
333
|
if (response.success) {
|
|
313
334
|
this.success = true;
|
|
314
335
|
this.isValid = false;
|
|
315
|
-
this.removeLoading(["btnImport"]);
|
|
316
336
|
}
|
|
317
|
-
this.removeLoading(["
|
|
337
|
+
this.removeLoading(["btnImport"]);
|
|
338
|
+
this.loading = false;
|
|
318
339
|
});
|
|
319
340
|
},
|
|
320
341
|
removeSelected() {
|
|
@@ -342,6 +363,7 @@ export default {
|
|
|
342
363
|
this.fileName = "";
|
|
343
364
|
this.listError = [];
|
|
344
365
|
this.success = false;
|
|
366
|
+
this.isValid = false;
|
|
345
367
|
this.removeLoading(["btnBack"]);
|
|
346
368
|
},
|
|
347
369
|
},
|
|
@@ -384,6 +406,11 @@ export default {
|
|
|
384
406
|
margin: auto;
|
|
385
407
|
}
|
|
386
408
|
|
|
409
|
+
.text-download {
|
|
410
|
+
color: #1990ff;
|
|
411
|
+
cursor: pointer;
|
|
412
|
+
}
|
|
413
|
+
|
|
387
414
|
.msg-success {
|
|
388
415
|
font-size: 18px;
|
|
389
416
|
}
|
|
@@ -9,91 +9,115 @@
|
|
|
9
9
|
>
|
|
10
10
|
<div slot="content-main">
|
|
11
11
|
<br />
|
|
12
|
-
<div
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
12
|
+
<div v-show="!showFilter">
|
|
13
|
+
<div
|
|
14
|
+
class="div-progress"
|
|
15
|
+
v-if="liveTotalRecords != baseParams.totalRecords"
|
|
16
|
+
>
|
|
17
|
+
<ProgressBar
|
|
18
|
+
:text="`Carregando ${liveTotalRecords} registro(s) de ${baseParams.totalRecords}`"
|
|
19
|
+
:value="liveTotalRecords"
|
|
20
|
+
:max="baseParams.totalRecords"
|
|
21
|
+
size="medium"
|
|
22
|
+
/>
|
|
23
|
+
</div>
|
|
24
|
+
<Molded>
|
|
25
|
+
<b-row>
|
|
26
|
+
<b-col sm="6">
|
|
27
|
+
<div class="side-by-side">
|
|
28
|
+
<Button
|
|
29
|
+
_key="btnSearchReport"
|
|
30
|
+
type="primary"
|
|
31
|
+
title="Buscar"
|
|
32
|
+
classIcon="fas fa-file-search"
|
|
33
|
+
:disabled="btnSearchDisabled || !rulesIsValid"
|
|
34
|
+
size="medium"
|
|
35
|
+
:clicked="getAll"
|
|
36
|
+
/>
|
|
37
|
+
</div>
|
|
38
|
+
<div class="side-by-side">
|
|
39
|
+
<Button
|
|
40
|
+
_key="btnSaveReport"
|
|
41
|
+
type="success"
|
|
42
|
+
title="Salvar"
|
|
43
|
+
classIcon="fas fa-save"
|
|
44
|
+
size="small"
|
|
45
|
+
:disabled="isLoading || btnSaveDisabled || !rulesIsValid"
|
|
46
|
+
:params="{ name: 'save', title: 'Salvar', width: 550 }"
|
|
47
|
+
:clicked="executeOpenModal"
|
|
48
|
+
/>
|
|
49
|
+
</div>
|
|
50
|
+
</b-col>
|
|
51
|
+
<b-col class="text-right" sm="6">
|
|
52
|
+
<div class="side-by-side">
|
|
53
|
+
<Button
|
|
54
|
+
_key="btnExecuteOpenModal"
|
|
55
|
+
type="info"
|
|
56
|
+
title="Campos"
|
|
57
|
+
classIcon="fas fa-database"
|
|
58
|
+
size="small"
|
|
59
|
+
:disabled="isLoading"
|
|
60
|
+
:params="{ name: 'fields', title: 'Campos', width: 550 }"
|
|
61
|
+
:clicked="executeOpenModal"
|
|
62
|
+
/>
|
|
63
|
+
</div>
|
|
64
|
+
<div class="side-by-side">
|
|
65
|
+
<Button
|
|
66
|
+
_key="btnExecuteOpenModal"
|
|
67
|
+
type="info"
|
|
68
|
+
title="Filtros"
|
|
69
|
+
classIcon="fas fa-filter"
|
|
70
|
+
size="small"
|
|
71
|
+
:disabled="isLoading"
|
|
72
|
+
:params="{ name: 'rules', title: 'Filtros', width: 900 }"
|
|
73
|
+
:clicked="executeShowFilter"
|
|
74
|
+
/>
|
|
75
|
+
</div>
|
|
76
|
+
</b-col>
|
|
77
|
+
</b-row>
|
|
78
|
+
</Molded>
|
|
79
|
+
<div class="div-tags">
|
|
80
|
+
<Tags eventName="tagReport" />
|
|
81
|
+
</div>
|
|
82
|
+
<div class="div-required" v-show="!rulesIsValid">
|
|
83
|
+
<Alert type="info" v-for="rule in rulesRequired" :key="rule.id">
|
|
84
|
+
É necessário informar o filtro
|
|
85
|
+
<span class="filter-required">{{ rule.title }}</span
|
|
86
|
+
>, clique no botão "Filtros" para adicionar.
|
|
87
|
+
</Alert>
|
|
88
|
+
</div>
|
|
89
|
+
<div class="body-report" v-show="showBodyReport && rulesIsValid">
|
|
90
|
+
<Report
|
|
91
|
+
:header="content.headerTable"
|
|
92
|
+
:data="content.data"
|
|
93
|
+
:totalization="content.totalization"
|
|
94
|
+
/>
|
|
95
|
+
</div>
|
|
22
96
|
</div>
|
|
23
|
-
<
|
|
24
|
-
<
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
size="small"
|
|
44
|
-
:disabled="isLoading || btnSaveDisabled || !rulesIsValid"
|
|
45
|
-
:params="{ name: 'save', title: 'Salvar', width: 550 }"
|
|
46
|
-
:clicked="executeOpenModal"
|
|
47
|
-
/>
|
|
48
|
-
</div>
|
|
49
|
-
</b-col>
|
|
50
|
-
<b-col class="text-right" sm="6">
|
|
51
|
-
<div class="side-by-side">
|
|
52
|
-
<Button
|
|
53
|
-
_key="btnExecuteOpenModal"
|
|
54
|
-
type="info"
|
|
55
|
-
title="Campos"
|
|
56
|
-
classIcon="fas fa-database"
|
|
57
|
-
size="small"
|
|
58
|
-
:disabled="isLoading"
|
|
59
|
-
:params="{ name: 'fields', title: 'Campos', width: 550 }"
|
|
60
|
-
:clicked="executeOpenModal"
|
|
61
|
-
/>
|
|
62
|
-
</div>
|
|
63
|
-
<div class="side-by-side">
|
|
64
|
-
<Button
|
|
65
|
-
_key="btnExecuteOpenModal"
|
|
66
|
-
type="info"
|
|
67
|
-
title="Filtros"
|
|
68
|
-
classIcon="fas fa-filter"
|
|
69
|
-
size="small"
|
|
70
|
-
:disabled="isLoading"
|
|
71
|
-
:params="{ name: 'rules', title: 'Filtros', width: 900 }"
|
|
72
|
-
:clicked="executeOpenModal"
|
|
73
|
-
/>
|
|
74
|
-
</div>
|
|
75
|
-
</b-col>
|
|
76
|
-
</b-row>
|
|
77
|
-
</Molded>
|
|
78
|
-
<div class="div-tags">
|
|
79
|
-
<Tags eventName="tagReport" />
|
|
80
|
-
</div>
|
|
81
|
-
<div class="div-required" v-show="!rulesIsValid">
|
|
82
|
-
<Alert type="warning" v-for="rule in rulesRequired" :key="rule.id">
|
|
83
|
-
É necessário informar o filtro
|
|
84
|
-
<span class="filter-required">{{ rule.title }}</span
|
|
85
|
-
>, clique no botão "Filtros" para adicionar.
|
|
86
|
-
</Alert>
|
|
87
|
-
</div>
|
|
88
|
-
<div class="body-report" v-show="showBodyReport && rulesIsValid">
|
|
89
|
-
<Report
|
|
90
|
-
:header="content.headerTable"
|
|
91
|
-
:data="content.data"
|
|
92
|
-
:totalization="content.totalization"
|
|
93
|
-
/>
|
|
97
|
+
<div v-show="showFilter">
|
|
98
|
+
<Rules />
|
|
99
|
+
<br />
|
|
100
|
+
<div class="text-center">
|
|
101
|
+
<Button
|
|
102
|
+
_key="btnCancelFilter"
|
|
103
|
+
type="info"
|
|
104
|
+
classIcon="fa-solid fa-arrow-left"
|
|
105
|
+
size="small"
|
|
106
|
+
:clicked="executeHideFilter"
|
|
107
|
+
/>
|
|
108
|
+
<Button
|
|
109
|
+
_key="btnApplyFilter"
|
|
110
|
+
type="primary"
|
|
111
|
+
title="Aplicar"
|
|
112
|
+
classIcon="fas fa-filter"
|
|
113
|
+
size="small"
|
|
114
|
+
:clicked="executeHideFilter"
|
|
115
|
+
/>
|
|
116
|
+
</div>
|
|
94
117
|
</div>
|
|
95
118
|
</div>
|
|
96
119
|
</Panel>
|
|
120
|
+
|
|
97
121
|
<Modal
|
|
98
122
|
:title="modalOptions.title"
|
|
99
123
|
:width="modalOptions.width"
|
|
@@ -104,7 +128,6 @@
|
|
|
104
128
|
v-show="modalOptions.name == 'save'"
|
|
105
129
|
/>
|
|
106
130
|
<Fields v-if="modalOptions.name == 'fields'" />
|
|
107
|
-
<Rules v-show="modalOptions.name == 'rules'" />
|
|
108
131
|
<div
|
|
109
132
|
class="text-right btn-apply"
|
|
110
133
|
v-show="modalOptions.name == 'fields' || modalOptions.name == 'rules'"
|
|
@@ -171,7 +194,7 @@ export default {
|
|
|
171
194
|
},
|
|
172
195
|
baseParams: {
|
|
173
196
|
currentPage: 0,
|
|
174
|
-
totalPerPage:
|
|
197
|
+
totalPerPage: 50,
|
|
175
198
|
totalPage: 0,
|
|
176
199
|
totalRecords: 0,
|
|
177
200
|
},
|
|
@@ -184,6 +207,7 @@ export default {
|
|
|
184
207
|
btnSaveDisabled: true,
|
|
185
208
|
isLoading: false,
|
|
186
209
|
showBodyReport: false,
|
|
210
|
+
showFilter: false,
|
|
187
211
|
};
|
|
188
212
|
},
|
|
189
213
|
mounted() {
|
|
@@ -307,6 +331,14 @@ export default {
|
|
|
307
331
|
this.removeLoading(["btnExecuteOpenModal", "btnSaveReport"]);
|
|
308
332
|
}
|
|
309
333
|
},
|
|
334
|
+
executeShowFilter() {
|
|
335
|
+
this.showFilter = true;
|
|
336
|
+
this.removeLoading(["btnExecuteOpenModal", "btnSaveReport"]);
|
|
337
|
+
},
|
|
338
|
+
executeHideFilter() {
|
|
339
|
+
this.showFilter = false;
|
|
340
|
+
this.removeLoading(["btnCancelFilter", "btnApplyFilter"]);
|
|
341
|
+
},
|
|
310
342
|
applyFieldsAndRules() {
|
|
311
343
|
this.hideModal("templateReport");
|
|
312
344
|
this.removeLoading(["btnApplyFieldsAndRules"]);
|
|
@@ -361,7 +393,7 @@ export default {
|
|
|
361
393
|
let self = this;
|
|
362
394
|
setTimeout(function () {
|
|
363
395
|
self.getAllManyPages();
|
|
364
|
-
},
|
|
396
|
+
}, 1000);
|
|
365
397
|
}
|
|
366
398
|
if (totalPages.length == 1) this.isLoading = false;
|
|
367
399
|
},
|