@freteclick/quasar-financial-ui 1.0.113 → 1.0.114
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/components/common/Filters.vue +182 -28
- package/src/components/invoice/expense/CreateExpense.vue +519 -176
- package/src/components/invoice/expense/DetailExpense.vue +304 -39
- package/src/components/invoice/pay/InvoiceDetails.vue +327 -95
- package/src/components/invoice/pay/InvoiceSearching.vue +746 -146
- package/src/components/invoice/pay/details/InvoiceInvoice.vue +1 -1
- package/src/components/invoice/receive/InvoiceSearching.vue +647 -92
- package/src/pages/Invoice/Pay/Details.vue +18 -1
- package/src/pages/Invoice/Pay/Index.vue +149 -27
- package/src/pages/Invoice/Receive/Index.vue +15 -11
- package/src/store/modules/invoice/pay/actions.js +5 -4
- package/src/store/modules/invoice/pay/getters.js +2 -1
- package/src/store/modules/invoice/pay/index.js +1 -0
- package/src/store/modules/invoice/pay/mutation_types.js +2 -1
- package/src/store/modules/invoice/pay/mutations.js +5 -0
- package/src/store/modules/invoice/receive/actions.js +1 -0
- package/src/store/modules/invoice/receive/getters.js +2 -1
- package/src/store/modules/invoice/receive/index.js +1 -0
- package/src/store/modules/invoice/receive/mutation_types.js +2 -1
- package/src/store/modules/invoice/receive/mutations.js +5 -0
|
@@ -1,56 +1,163 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<div>
|
|
3
|
-
<
|
|
4
|
-
<
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
2
|
+
<div class="expense-detail-form">
|
|
3
|
+
<header class="expense-detail-form__header">
|
|
4
|
+
<div class="expense-detail-form__heading">
|
|
5
|
+
<span class="expense-detail-form__eyebrow">GESTÃO DA DESPESA</span>
|
|
6
|
+
<h2>Dados da conta a pagar</h2>
|
|
7
|
+
<p>Atualize as informações e mantenha o histórico financeiro organizado.</p>
|
|
8
|
+
</div>
|
|
9
|
+
<q-btn
|
|
10
|
+
outline
|
|
11
|
+
no-caps
|
|
12
|
+
rounded
|
|
13
|
+
color="negative"
|
|
14
|
+
icon="cancel"
|
|
15
|
+
:label="$t('Cancelar despesa')"
|
|
16
|
+
:loading="deleting"
|
|
17
|
+
:disable="saving"
|
|
18
|
+
@click="removeExpense"
|
|
19
|
+
/>
|
|
20
|
+
</header>
|
|
21
|
+
|
|
22
|
+
<q-form @submit="editExpense" class="expense-detail-form__form">
|
|
23
|
+
<div class="expense-detail-form__grid">
|
|
24
|
+
<div class="expense-detail-form__field expense-detail-form__field--category">
|
|
25
|
+
<q-select
|
|
26
|
+
outlined
|
|
27
|
+
stack-label
|
|
28
|
+
emit-value
|
|
29
|
+
map-options
|
|
30
|
+
lazy-rules
|
|
31
|
+
v-model="item.category"
|
|
32
|
+
:label="$t('Categoria da despesa')"
|
|
33
|
+
:options="categories"
|
|
34
|
+
:rules="[(val) => val !== null || 'Selecione uma categoria']"
|
|
35
|
+
/>
|
|
17
36
|
</div>
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
37
|
+
|
|
38
|
+
<div class="expense-detail-form__field expense-detail-form__field--status">
|
|
39
|
+
<q-select
|
|
40
|
+
outlined
|
|
41
|
+
stack-label
|
|
42
|
+
emit-value
|
|
43
|
+
map-options
|
|
44
|
+
lazy-rules
|
|
45
|
+
v-model="item.status"
|
|
46
|
+
:label="$t('Status')"
|
|
47
|
+
:options="statuses"
|
|
48
|
+
:rules="[(val) => val !== null || 'Selecione um status']"
|
|
49
|
+
/>
|
|
28
50
|
</div>
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
51
|
+
|
|
52
|
+
<div class="expense-detail-form__field expense-detail-form__field--description">
|
|
53
|
+
<q-input
|
|
54
|
+
outlined
|
|
55
|
+
lazy-rules
|
|
56
|
+
stack-label
|
|
57
|
+
v-model="item.description"
|
|
58
|
+
type="text"
|
|
59
|
+
:label="$t('Descrição da despesa')"
|
|
60
|
+
:rules="[isInvalid()]"
|
|
61
|
+
/>
|
|
32
62
|
</div>
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
63
|
+
|
|
64
|
+
<div class="expense-detail-form__field expense-detail-form__field--date">
|
|
65
|
+
<q-input
|
|
66
|
+
outlined
|
|
67
|
+
stack-label
|
|
68
|
+
v-model="item.dueDate"
|
|
69
|
+
:label="$t('Data primeiro vencimento')"
|
|
70
|
+
mask="##/##/####"
|
|
71
|
+
:rules="[isInvalid('date')]"
|
|
72
|
+
>
|
|
36
73
|
<template v-slot:append>
|
|
37
74
|
<q-icon name="event" class="cursor-pointer">
|
|
38
75
|
<q-popup-proxy ref="qDateProxy1" transition-show="scale" transition-hide="scale">
|
|
39
|
-
<q-date
|
|
76
|
+
<q-date
|
|
77
|
+
v-model="item.dueDate"
|
|
78
|
+
mask="DD/MM/YYYY"
|
|
79
|
+
@update:model-value="() => $refs.qDateProxy1.hide()"
|
|
80
|
+
/>
|
|
40
81
|
</q-popup-proxy>
|
|
41
82
|
</q-icon>
|
|
42
83
|
</template>
|
|
43
84
|
</q-input>
|
|
44
85
|
</div>
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
86
|
+
|
|
87
|
+
<div class="expense-detail-form__field expense-detail-form__field--provider">
|
|
88
|
+
<div class="expense-detail-form__provider">
|
|
89
|
+
<q-select
|
|
90
|
+
v-if="item.provider"
|
|
91
|
+
outlined
|
|
92
|
+
stack-label
|
|
93
|
+
emit-value
|
|
94
|
+
map-options
|
|
95
|
+
lazy-rules
|
|
96
|
+
v-model="item.provider"
|
|
97
|
+
:label="$t('Fornecedor')"
|
|
98
|
+
:options="providers"
|
|
99
|
+
:rules="[(val) => val !== null || 'Selecione um fornecedor']"
|
|
100
|
+
/>
|
|
101
|
+
<PeopleAutocomplete
|
|
102
|
+
v-else
|
|
103
|
+
class="expense-detail-form__autocomplete"
|
|
104
|
+
:source="searchPeople"
|
|
105
|
+
option-value="optionValue"
|
|
106
|
+
:isLoading="isSearching"
|
|
107
|
+
label="Definir o fornecedor"
|
|
108
|
+
placeholder="Pesquisar..."
|
|
109
|
+
@selected="onSelectClient"
|
|
110
|
+
/>
|
|
111
|
+
<q-btn
|
|
112
|
+
v-if="item.provider"
|
|
113
|
+
flat
|
|
114
|
+
round
|
|
115
|
+
dense
|
|
116
|
+
color="primary"
|
|
117
|
+
icon="edit"
|
|
118
|
+
aria-label="Alterar fornecedor"
|
|
119
|
+
class="expense-detail-form__provider-edit"
|
|
120
|
+
@click="item.provider = null"
|
|
121
|
+
>
|
|
122
|
+
<q-tooltip>Alterar fornecedor</q-tooltip>
|
|
123
|
+
</q-btn>
|
|
124
|
+
</div>
|
|
48
125
|
</div>
|
|
126
|
+
|
|
127
|
+
<div class="expense-detail-form__field expense-detail-form__field--amount">
|
|
128
|
+
<q-input
|
|
129
|
+
outlined
|
|
130
|
+
lazy-rules
|
|
131
|
+
stack-label
|
|
132
|
+
reverse-fill-mask
|
|
133
|
+
v-model="item.amount"
|
|
134
|
+
prefix="R$"
|
|
135
|
+
type="text"
|
|
136
|
+
:label="$t('Valor')"
|
|
137
|
+
:rules="[isInvalid()]"
|
|
138
|
+
mask="#,##"
|
|
139
|
+
fill-mask="0"
|
|
140
|
+
/>
|
|
141
|
+
</div>
|
|
142
|
+
|
|
49
143
|
</div>
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
144
|
+
|
|
145
|
+
<footer class="expense-detail-form__footer">
|
|
146
|
+
<div class="expense-detail-form__hint">
|
|
147
|
+
<q-icon name="info_outline" />
|
|
148
|
+
<span>Confira os valores e vencimentos antes de salvar.</span>
|
|
149
|
+
</div>
|
|
150
|
+
<q-btn
|
|
151
|
+
unelevated
|
|
152
|
+
no-caps
|
|
153
|
+
:loading="saving"
|
|
154
|
+
:disable="deleting"
|
|
155
|
+
icon="save"
|
|
156
|
+
type="submit"
|
|
157
|
+
:label="$t('Salvar alterações')"
|
|
158
|
+
color="primary"
|
|
159
|
+
/>
|
|
160
|
+
</footer>
|
|
54
161
|
</q-form>
|
|
55
162
|
</div>
|
|
56
163
|
</template>
|
|
@@ -391,3 +498,161 @@ export default {
|
|
|
391
498
|
},
|
|
392
499
|
};
|
|
393
500
|
</script>
|
|
501
|
+
|
|
502
|
+
<style lang="scss" scoped>
|
|
503
|
+
.expense-detail-form {
|
|
504
|
+
width: 100%;
|
|
505
|
+
min-width: 0;
|
|
506
|
+
color: #1b2d43;
|
|
507
|
+
}
|
|
508
|
+
|
|
509
|
+
.expense-detail-form__header {
|
|
510
|
+
display: flex;
|
|
511
|
+
align-items: flex-start;
|
|
512
|
+
justify-content: space-between;
|
|
513
|
+
gap: 18px;
|
|
514
|
+
padding: 4px 2px 20px;
|
|
515
|
+
border-bottom: 1px solid #edf1f6;
|
|
516
|
+
}
|
|
517
|
+
|
|
518
|
+
.expense-detail-form__heading {
|
|
519
|
+
min-width: 0;
|
|
520
|
+
}
|
|
521
|
+
|
|
522
|
+
.expense-detail-form__eyebrow {
|
|
523
|
+
color: #7890aa;
|
|
524
|
+
font-size: 10px;
|
|
525
|
+
font-weight: 750;
|
|
526
|
+
letter-spacing: 0.12em;
|
|
527
|
+
}
|
|
528
|
+
|
|
529
|
+
.expense-detail-form__heading h2 {
|
|
530
|
+
margin: 5px 0 0;
|
|
531
|
+
color: #1a2e45;
|
|
532
|
+
font-size: 20px;
|
|
533
|
+
font-weight: 750;
|
|
534
|
+
letter-spacing: -0.025em;
|
|
535
|
+
}
|
|
536
|
+
|
|
537
|
+
.expense-detail-form__heading p {
|
|
538
|
+
margin: 6px 0 0;
|
|
539
|
+
color: #7b8b9c;
|
|
540
|
+
font-size: 12px;
|
|
541
|
+
}
|
|
542
|
+
|
|
543
|
+
.expense-detail-form__form {
|
|
544
|
+
padding: 22px 2px 2px;
|
|
545
|
+
}
|
|
546
|
+
|
|
547
|
+
.expense-detail-form__grid {
|
|
548
|
+
display: grid;
|
|
549
|
+
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
550
|
+
grid-template-areas:
|
|
551
|
+
"category status"
|
|
552
|
+
"description date"
|
|
553
|
+
"provider amount";
|
|
554
|
+
gap: 18px 20px;
|
|
555
|
+
}
|
|
556
|
+
|
|
557
|
+
.expense-detail-form__field {
|
|
558
|
+
min-width: 0;
|
|
559
|
+
}
|
|
560
|
+
|
|
561
|
+
.expense-detail-form__field--category {
|
|
562
|
+
grid-area: category;
|
|
563
|
+
}
|
|
564
|
+
|
|
565
|
+
.expense-detail-form__field--status {
|
|
566
|
+
grid-area: status;
|
|
567
|
+
}
|
|
568
|
+
|
|
569
|
+
.expense-detail-form__field--description {
|
|
570
|
+
grid-area: description;
|
|
571
|
+
}
|
|
572
|
+
|
|
573
|
+
.expense-detail-form__field--date {
|
|
574
|
+
grid-area: date;
|
|
575
|
+
}
|
|
576
|
+
|
|
577
|
+
.expense-detail-form__field--provider {
|
|
578
|
+
grid-area: provider;
|
|
579
|
+
}
|
|
580
|
+
|
|
581
|
+
.expense-detail-form__field--amount {
|
|
582
|
+
grid-area: amount;
|
|
583
|
+
}
|
|
584
|
+
|
|
585
|
+
.expense-detail-form__provider {
|
|
586
|
+
display: flex;
|
|
587
|
+
min-width: 0;
|
|
588
|
+
align-items: center;
|
|
589
|
+
gap: 8px;
|
|
590
|
+
}
|
|
591
|
+
|
|
592
|
+
.expense-detail-form__provider :deep(.q-field),
|
|
593
|
+
.expense-detail-form__autocomplete {
|
|
594
|
+
flex: 1 1 auto;
|
|
595
|
+
min-width: 0;
|
|
596
|
+
}
|
|
597
|
+
|
|
598
|
+
.expense-detail-form__footer {
|
|
599
|
+
display: flex;
|
|
600
|
+
align-items: center;
|
|
601
|
+
justify-content: space-between;
|
|
602
|
+
gap: 16px;
|
|
603
|
+
margin-top: 22px;
|
|
604
|
+
padding-top: 18px;
|
|
605
|
+
border-top: 1px solid #edf1f6;
|
|
606
|
+
}
|
|
607
|
+
|
|
608
|
+
.expense-detail-form__hint {
|
|
609
|
+
display: flex;
|
|
610
|
+
align-items: center;
|
|
611
|
+
gap: 7px;
|
|
612
|
+
color: #8191a3;
|
|
613
|
+
font-size: 11px;
|
|
614
|
+
}
|
|
615
|
+
|
|
616
|
+
.expense-detail-form__hint .q-icon {
|
|
617
|
+
color: #6f89a5;
|
|
618
|
+
font-size: 17px;
|
|
619
|
+
}
|
|
620
|
+
|
|
621
|
+
.expense-detail-form__footer .q-btn,
|
|
622
|
+
.expense-detail-form__header > .q-btn {
|
|
623
|
+
min-height: 40px;
|
|
624
|
+
border-radius: 10px;
|
|
625
|
+
font-weight: 700;
|
|
626
|
+
}
|
|
627
|
+
|
|
628
|
+
@media (max-width: 700px) {
|
|
629
|
+
.expense-detail-form__header {
|
|
630
|
+
flex-direction: column;
|
|
631
|
+
}
|
|
632
|
+
|
|
633
|
+
.expense-detail-form__header > .q-btn {
|
|
634
|
+
width: 100%;
|
|
635
|
+
}
|
|
636
|
+
|
|
637
|
+
.expense-detail-form__grid {
|
|
638
|
+
grid-template-columns: minmax(0, 1fr);
|
|
639
|
+
grid-template-areas:
|
|
640
|
+
"category"
|
|
641
|
+
"status"
|
|
642
|
+
"description"
|
|
643
|
+
"date"
|
|
644
|
+
"provider"
|
|
645
|
+
"amount";
|
|
646
|
+
gap: 14px;
|
|
647
|
+
}
|
|
648
|
+
|
|
649
|
+
.expense-detail-form__footer {
|
|
650
|
+
align-items: stretch;
|
|
651
|
+
flex-direction: column;
|
|
652
|
+
}
|
|
653
|
+
|
|
654
|
+
.expense-detail-form__footer .q-btn {
|
|
655
|
+
width: 100%;
|
|
656
|
+
}
|
|
657
|
+
}
|
|
658
|
+
</style>
|