@nixweb/nixloc-ui 0.0.162 → 0.0.163
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/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/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
|
},
|
|
@@ -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,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
|
},
|