@nixweb/nixloc-ui 1.19.0 → 1.21.0

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.
Files changed (110) hide show
  1. package/package.json +1 -1
  2. package/src/component/forms/ButtonFilter.vue +104 -104
  3. package/src/component/forms/ButtonGroup.vue +66 -66
  4. package/src/component/forms/ButtonGroupInline.vue +210 -210
  5. package/src/component/forms/ButtonSub.vue +97 -97
  6. package/src/component/forms/ButtonToggle.vue +76 -76
  7. package/src/component/forms/DateYearMonth.vue +192 -192
  8. package/src/component/forms/ImageUpload.vue +214 -214
  9. package/src/component/forms/IncrementDecrement.vue +151 -151
  10. package/src/component/forms/InputAddressGoogle.vue +171 -171
  11. package/src/component/forms/InputCallToAction.vue +135 -135
  12. package/src/component/forms/InputDecimalDiscount.vue +146 -146
  13. package/src/component/forms/InputTag.vue +124 -124
  14. package/src/component/forms/InputTextEdit.vue +69 -69
  15. package/src/component/forms/InputWhatsApp.vue +47 -47
  16. package/src/component/forms/SideBar.vue +99 -99
  17. package/src/component/forms/Toggle.vue +72 -72
  18. package/src/component/layout/Account.vue +131 -131
  19. package/src/component/layout/AnimatedPhrase.vue +68 -68
  20. package/src/component/layout/BarFloating.vue +67 -67
  21. package/src/component/layout/BottomActionsBar.vue +205 -205
  22. package/src/component/layout/ColorPicker.vue +175 -175
  23. package/src/component/layout/Gantt.vue +128 -128
  24. package/src/component/layout/HideShow.vue +61 -61
  25. package/src/component/layout/IconMolded.vue +58 -58
  26. package/src/component/layout/IconPicker.vue +161 -161
  27. package/src/component/layout/NewAccount.vue +136 -136
  28. package/src/component/layout/NewHeader.vue +59 -59
  29. package/src/component/layout/NewIconMolded.vue +70 -70
  30. package/src/component/layout/NewMenu.vue +472 -472
  31. package/src/component/layout/Tab.vue +259 -259
  32. package/src/component/layout/Tag.vue +97 -97
  33. package/src/component/layout/Tooltip.vue +155 -155
  34. package/src/component/layout/Zoom.vue +111 -111
  35. package/src/component/rental/DisplayCalculatePeriod.vue +48 -48
  36. package/src/component/rental/DisplayPeriodRent.vue +55 -55
  37. package/src/component/rental/DisplayTotalization.vue +86 -86
  38. package/src/component/report/Fields.vue +108 -108
  39. package/src/component/report/Report.vue +377 -377
  40. package/src/component/report/ReportTable.vue +111 -111
  41. package/src/component/report/Totalization.vue +33 -33
  42. package/src/component/shared/CodeEditor.vue +128 -128
  43. package/src/component/shared/Confirmation.vue +74 -74
  44. package/src/component/shared/DocumentEditor.vue +99 -99
  45. package/src/component/shared/DocumentPreview.vue +117 -105
  46. package/src/component/shared/DocumentPublic.vue +33 -33
  47. package/src/component/shared/ExportExcel.vue +56 -56
  48. package/src/component/shared/FullCalendar.vue +175 -175
  49. package/src/component/shared/HeaderReport.vue +47 -47
  50. package/src/component/shared/ListNotifications.vue +70 -70
  51. package/src/component/shared/Loading.vue +1 -4
  52. package/src/component/shared/LoadingCard.vue +64 -64
  53. package/src/component/shared/ParameterLegend.vue +169 -169
  54. package/src/component/shared/Report.vue +250 -250
  55. package/src/component/shared/SaveCancel.vue +99 -117
  56. package/src/component/shared/SelectOption.vue +162 -162
  57. package/src/component/shared/TableDraggable.vue +117 -117
  58. package/src/component/shared/TableImport.vue +93 -93
  59. package/src/component/shared/TableItem.vue +228 -228
  60. package/src/component/shared/TableTotalPerPage.vue +114 -114
  61. package/src/component/shared/TableTotalRecords.vue +44 -44
  62. package/src/component/shared/TimeLine.vue +41 -41
  63. package/src/component/shared/Timer.vue +77 -77
  64. package/src/component/shared/ToggleTheme.vue +127 -127
  65. package/src/component/shared/TotalizationReport.vue +86 -86
  66. package/src/component/shared/actions/ActionButtons.vue +53 -53
  67. package/src/component/shared/actions/ActionErrorContent.vue +103 -103
  68. package/src/component/shared/actions/ActionFooter.vue +93 -99
  69. package/src/component/shared/actions/ActionHeader.vue +110 -110
  70. package/src/component/shared/actions/ActionItemList.vue +143 -143
  71. package/src/component/shared/actions/ActionsOptions.vue +209 -209
  72. package/src/component/shared/actions/ActionsSelected.vue +262 -262
  73. package/src/component/shared/automation/ActivitiesList.vue +43 -43
  74. package/src/component/shared/automation/AddRule.vue +60 -60
  75. package/src/component/shared/automation/AutomationBuilder.vue +26 -26
  76. package/src/component/shared/automation/DynamicComponentList.vue +85 -85
  77. package/src/component/shared/automation/SelectRule.vue +97 -97
  78. package/src/component/shared/automation/components/BillingByRent.vue +97 -97
  79. package/src/component/shared/automation/components/SendEmail.vue +93 -93
  80. package/src/component/shared/file-manager/FileManager.vue +390 -390
  81. package/src/component/shared/filter-builder/FilterBuilder.vue +220 -220
  82. package/src/component/shared/filter-builder/FilterQuery.vue +95 -95
  83. package/src/component/shared/query-builder/ConvertToOdata.js +86 -86
  84. package/src/component/shared/query-builder/DynamicComponent.vue +161 -161
  85. package/src/component/shared/query-builder/Fields.vue +93 -93
  86. package/src/component/shared/query-builder/Rules.vue +68 -68
  87. package/src/component/shared/query-builder/SelectRule.vue +97 -97
  88. package/src/component/shared/query-builder/Tags.vue +59 -59
  89. package/src/component/signature/Payment.vue +160 -160
  90. package/src/component/signature/Warning.vue +75 -75
  91. package/src/component/template/ReportCreateUpdate.vue +110 -110
  92. package/src/component/template/ViewTemplateDocumentView.vue +213 -213
  93. package/src/component/template/ViewTemplateImportFile.vue +347 -347
  94. package/src/component/template/ViewTemplateReportList.vue +240 -240
  95. package/src/component/template/ViewTemplateReportPreview.vue +521 -521
  96. package/src/component/template/ViewTemplateSelectOption.vue +46 -46
  97. package/src/component/template/model/Report.js +5 -5
  98. package/src/component/training/Course.vue +343 -343
  99. package/src/component/training/CourseView.vue +198 -198
  100. package/src/component/value-objects/Address.js +10 -10
  101. package/src/component/value-objects/Address.vue +173 -173
  102. package/src/component/value-objects/Contact.js +6 -6
  103. package/src/component/value-objects/Contact.vue +106 -106
  104. package/src/component/value-objects/Person.js +10 -10
  105. package/src/component/value-objects/Person.vue +130 -130
  106. package/src/store/modules/automation.js +30 -30
  107. package/src/store/modules/generic.js +16 -6
  108. package/src/store/modules/report.js +277 -277
  109. package/src/store/modules/user.js +69 -69
  110. package/src/store/modules/util.js +25 -25
@@ -1,173 +1,173 @@
1
- <template>
2
- <div>
3
- <b-row>
4
- <b-col xs="12" sm="12" md="12" lg="3" xl="3">
5
- <InputText title="CEP" field="zipCode" :formName="formName" :disabled="disabled" :mask="'#####-###'"
6
- :maxLength="9" :required="required" :markFormDirty="markFormDirty" v-model="address.zipCode">
7
- <div class="glyphicon margin-button">
8
- <Button _key="searchZipCode" type="success" classIcon="fas fa-search" size="small"
9
- :disabled="address.zipCode.length < 9" :clicked="searchZipCode" />
10
- </div>
11
- </InputText>
12
- </b-col>
13
- <b-col xs="12" sm="12" md="12" lg="5" xl="5">
14
- <InputText title="Endereço" field="street" :formName="formName" :disabled="disabled" :maxLength="150"
15
- :required="required" :markFormDirty="markFormDirty" v-model="address.street" />
16
- </b-col>
17
- <b-col xs="12" sm="12" md="12" lg="2" xl="2">
18
- <InputText title="Número" field="number" :formName="formName" :disabled="disabled" :maxLength="20"
19
- :markFormDirty="markFormDirty" v-model="address.number" />
20
- </b-col>
21
- <b-col xs="12" sm="12" md="12" lg="2" xl="2">
22
- <InputText title="Complemento" field="complement" :formName="formName" :disabled="disabled" :maxLength="50"
23
- :markFormDirty="markFormDirty" v-model="address.complement" />
24
- </b-col>
25
- <br />
26
- </b-row>
27
- <b-row>
28
- <b-col xs="12" sm="12" md="12" :lg="showCity ? '5' : '12'" :xl="showCity ? '5' : '12'">
29
- <InputText title="Bairro" field="province" :formName="formName" :disabled="disabled" :maxLength="100"
30
- :required="required" :markFormDirty="markFormDirty" v-model="address.province" />
31
- </b-col>
32
- <b-col xs="12" sm="12" md="12" lg="5" xl="5" v-if="showCity">
33
- <InputText title="Cidade" field="city" :formName="formName" :disabled="disabled" :maxLength="100"
34
- :required="required" :markFormDirty="markFormDirty" v-model="address.city" />
35
- </b-col>
36
- <b-col xs="12" sm="12" md="12" lg="2" xl="2" v-if="showState">
37
- <SelectStatic title="UF" :formName="formName" field="uf" fieldTarget="uf" :disabled="disabled"
38
- :required="required" :markFormDirty="markFormDirty" v-model="address.state" :data="states" />
39
- </b-col>
40
- </b-row>
41
- </div>
42
- </template>
43
-
44
- <script>
45
-
46
- import Button from "@nixweb/nixloc-ui/src/component/forms/Button";
47
- import InputText from "@nixweb/nixloc-ui/src/component/forms/InputText";
48
- import SelectStatic from "@nixweb/nixloc-ui/src/component/forms/SelectStatic";
49
- import Address from "@nixweb/nixloc-ui/src/component/value-objects/Address.js";
50
-
51
- import axios from "axios";
52
-
53
- import { mapGetters, mapMutations } from "vuex";
54
-
55
- export default {
56
- name: "Address",
57
- props: {
58
- formName: String,
59
- markFormDirty: {
60
- type: Boolean,
61
- default: true,
62
- },
63
- required: {
64
- type: Boolean,
65
- default: false,
66
- },
67
- disabled: {
68
- type: Boolean,
69
- default: false,
70
- },
71
- showCity: {
72
- type: Boolean,
73
- default: true,
74
- },
75
- showState: {
76
- type: Boolean,
77
- default: true,
78
- },
79
- value: Object,
80
- },
81
- components: { InputText, Button, SelectStatic },
82
-
83
- data() {
84
- return {
85
- address: new Address(),
86
- states: [
87
- { content: "AC", id: "AC" },
88
- { content: "AL", id: "AL" },
89
- { content: "AP", id: "AP" },
90
- { content: "AM", id: "AM" },
91
- { content: "BA", id: "BA" },
92
- { content: "CE", id: "CE" },
93
- { content: "DF", id: "DF" },
94
- { content: "ES", id: "ES" },
95
- { content: "GO", id: "GO" },
96
- { content: "MA", id: "MA" },
97
- { content: "MT", id: "MT" },
98
- { content: "MS", id: "MS" },
99
- { content: "MG", id: "MG" },
100
- { content: "PA", id: "PA" },
101
- { content: "PB", id: "PB" },
102
- { content: "PR", id: "PR" },
103
- { content: "PE", id: "PE" },
104
- { content: "PI", id: "PI" },
105
- { content: "RJ", id: "RJ" },
106
- { content: "RN", id: "RN" },
107
- { content: "RS", id: "RS" },
108
- { content: "RO", id: "RO" },
109
- { content: "RR", id: "RR" },
110
- { content: "SC", id: "SC" },
111
- { content: "SP", id: "SP" },
112
- { content: "SE", id: "SE" },
113
- { content: "TO", id: "TO" },
114
- ],
115
- };
116
- },
117
- mounted() {
118
- if (this.value.zipCode != undefined) this.address = this.value;
119
- },
120
- computed: {
121
- ...mapGetters("generic", ["event"]),
122
- },
123
- methods: {
124
- ...mapMutations("generic", [
125
- "addEvent",
126
- "addNotifications",
127
- "removeLoading",
128
- ]),
129
- searchZipCode() {
130
- let zipCode = this.address.zipCode.replace(/\.|\-/g, "");
131
- let url = `https://viacep.com.br/ws/${zipCode}/json/`;
132
- axios.get(url).then((response) => {
133
- let self = this;
134
- setTimeout(function () {
135
- self.loadData(response.data);
136
- self.removeLoading(["searchZipCode"]);
137
- }, 300);
138
- });
139
- },
140
- loadData(data) {
141
- this.address.zipCode = data.cep;
142
- this.address.street = data.logradouro;
143
- this.address.number = data.complemento;
144
- this.address.province = data.bairro;
145
- this.address.city =
146
- data.localidade == undefined ? data.municipio : data.localidade;
147
- this.address.state = { id: data.uf, content: data.uf };
148
- },
149
- },
150
- watch: {
151
- value: {
152
- handler() {
153
- this.address = this.value;
154
- },
155
- deep: true,
156
- },
157
- address: {
158
- handler() {
159
- this.$emit("input", this.address);
160
- },
161
- deep: true,
162
- },
163
- event: {
164
- handler(event) {
165
- if (event.name == "searchDocumentFederalRecipe") {
166
- this.loadData(event.data);
167
- }
168
- },
169
- deep: true,
170
- },
171
- },
172
- };
173
- </script>
1
+ <template>
2
+ <div>
3
+ <b-row>
4
+ <b-col xs="12" sm="12" md="12" lg="3" xl="3">
5
+ <InputText title="CEP" field="zipCode" :formName="formName" :disabled="disabled" :mask="'#####-###'"
6
+ :maxLength="9" :required="required" :markFormDirty="markFormDirty" v-model="address.zipCode">
7
+ <div class="glyphicon margin-button">
8
+ <Button _key="searchZipCode" type="success" classIcon="fas fa-search" size="small"
9
+ :disabled="address.zipCode.length < 9" :clicked="searchZipCode" />
10
+ </div>
11
+ </InputText>
12
+ </b-col>
13
+ <b-col xs="12" sm="12" md="12" lg="5" xl="5">
14
+ <InputText title="Endereço" field="street" :formName="formName" :disabled="disabled" :maxLength="150"
15
+ :required="required" :markFormDirty="markFormDirty" v-model="address.street" />
16
+ </b-col>
17
+ <b-col xs="12" sm="12" md="12" lg="2" xl="2">
18
+ <InputText title="Número" field="number" :formName="formName" :disabled="disabled" :maxLength="20"
19
+ :markFormDirty="markFormDirty" v-model="address.number" />
20
+ </b-col>
21
+ <b-col xs="12" sm="12" md="12" lg="2" xl="2">
22
+ <InputText title="Complemento" field="complement" :formName="formName" :disabled="disabled" :maxLength="50"
23
+ :markFormDirty="markFormDirty" v-model="address.complement" />
24
+ </b-col>
25
+ <br />
26
+ </b-row>
27
+ <b-row>
28
+ <b-col xs="12" sm="12" md="12" :lg="showCity ? '5' : '12'" :xl="showCity ? '5' : '12'">
29
+ <InputText title="Bairro" field="province" :formName="formName" :disabled="disabled" :maxLength="100"
30
+ :required="required" :markFormDirty="markFormDirty" v-model="address.province" />
31
+ </b-col>
32
+ <b-col xs="12" sm="12" md="12" lg="5" xl="5" v-if="showCity">
33
+ <InputText title="Cidade" field="city" :formName="formName" :disabled="disabled" :maxLength="100"
34
+ :required="required" :markFormDirty="markFormDirty" v-model="address.city" />
35
+ </b-col>
36
+ <b-col xs="12" sm="12" md="12" lg="2" xl="2" v-if="showState">
37
+ <SelectStatic title="UF" :formName="formName" field="uf" fieldTarget="uf" :disabled="disabled"
38
+ :required="required" :markFormDirty="markFormDirty" v-model="address.state" :data="states" />
39
+ </b-col>
40
+ </b-row>
41
+ </div>
42
+ </template>
43
+
44
+ <script>
45
+
46
+ import Button from "@nixweb/nixloc-ui/src/component/forms/Button";
47
+ import InputText from "@nixweb/nixloc-ui/src/component/forms/InputText";
48
+ import SelectStatic from "@nixweb/nixloc-ui/src/component/forms/SelectStatic";
49
+ import Address from "@nixweb/nixloc-ui/src/component/value-objects/Address.js";
50
+
51
+ import axios from "axios";
52
+
53
+ import { mapGetters, mapMutations } from "vuex";
54
+
55
+ export default {
56
+ name: "Address",
57
+ props: {
58
+ formName: String,
59
+ markFormDirty: {
60
+ type: Boolean,
61
+ default: true,
62
+ },
63
+ required: {
64
+ type: Boolean,
65
+ default: false,
66
+ },
67
+ disabled: {
68
+ type: Boolean,
69
+ default: false,
70
+ },
71
+ showCity: {
72
+ type: Boolean,
73
+ default: true,
74
+ },
75
+ showState: {
76
+ type: Boolean,
77
+ default: true,
78
+ },
79
+ value: Object,
80
+ },
81
+ components: { InputText, Button, SelectStatic },
82
+
83
+ data() {
84
+ return {
85
+ address: new Address(),
86
+ states: [
87
+ { content: "AC", id: "AC" },
88
+ { content: "AL", id: "AL" },
89
+ { content: "AP", id: "AP" },
90
+ { content: "AM", id: "AM" },
91
+ { content: "BA", id: "BA" },
92
+ { content: "CE", id: "CE" },
93
+ { content: "DF", id: "DF" },
94
+ { content: "ES", id: "ES" },
95
+ { content: "GO", id: "GO" },
96
+ { content: "MA", id: "MA" },
97
+ { content: "MT", id: "MT" },
98
+ { content: "MS", id: "MS" },
99
+ { content: "MG", id: "MG" },
100
+ { content: "PA", id: "PA" },
101
+ { content: "PB", id: "PB" },
102
+ { content: "PR", id: "PR" },
103
+ { content: "PE", id: "PE" },
104
+ { content: "PI", id: "PI" },
105
+ { content: "RJ", id: "RJ" },
106
+ { content: "RN", id: "RN" },
107
+ { content: "RS", id: "RS" },
108
+ { content: "RO", id: "RO" },
109
+ { content: "RR", id: "RR" },
110
+ { content: "SC", id: "SC" },
111
+ { content: "SP", id: "SP" },
112
+ { content: "SE", id: "SE" },
113
+ { content: "TO", id: "TO" },
114
+ ],
115
+ };
116
+ },
117
+ mounted() {
118
+ if (this.value.zipCode != undefined) this.address = this.value;
119
+ },
120
+ computed: {
121
+ ...mapGetters("generic", ["event"]),
122
+ },
123
+ methods: {
124
+ ...mapMutations("generic", [
125
+ "addEvent",
126
+ "addNotifications",
127
+ "removeLoading",
128
+ ]),
129
+ searchZipCode() {
130
+ let zipCode = this.address.zipCode.replace(/\.|\-/g, "");
131
+ let url = `https://viacep.com.br/ws/${zipCode}/json/`;
132
+ axios.get(url).then((response) => {
133
+ let self = this;
134
+ setTimeout(function () {
135
+ self.loadData(response.data);
136
+ self.removeLoading(["searchZipCode"]);
137
+ }, 300);
138
+ });
139
+ },
140
+ loadData(data) {
141
+ this.address.zipCode = data.cep;
142
+ this.address.street = data.logradouro;
143
+ this.address.number = data.complemento;
144
+ this.address.province = data.bairro;
145
+ this.address.city =
146
+ data.localidade == undefined ? data.municipio : data.localidade;
147
+ this.address.state = { id: data.uf, content: data.uf };
148
+ },
149
+ },
150
+ watch: {
151
+ value: {
152
+ handler() {
153
+ this.address = this.value;
154
+ },
155
+ deep: true,
156
+ },
157
+ address: {
158
+ handler() {
159
+ this.$emit("input", this.address);
160
+ },
161
+ deep: true,
162
+ },
163
+ event: {
164
+ handler(event) {
165
+ if (event.name == "searchDocumentFederalRecipe") {
166
+ this.loadData(event.data);
167
+ }
168
+ },
169
+ deep: true,
170
+ },
171
+ },
172
+ };
173
+ </script>
@@ -1,7 +1,7 @@
1
- export default class DadosContato {
2
- constructor() {
3
- this.phone = "";
4
- this.webSite = "";
5
- this.email = "";
6
- }
1
+ export default class DadosContato {
2
+ constructor() {
3
+ this.phone = "";
4
+ this.webSite = "";
5
+ this.email = "";
6
+ }
7
7
  }
@@ -1,106 +1,106 @@
1
- <template>
2
- <div>
3
- <b-row>
4
- <b-col xs="12" sm="12" md="12" lg="4" xl="4">
5
- <InputText
6
- title="Telefone"
7
- field="phone"
8
- :formName="formName"
9
- :mask="['(##) ####-####', '(##) #####-####']"
10
- :maxLength="20"
11
- :required="required"
12
- v-model="contact.phone"
13
- :markFormDirty="markFormDirty"
14
- />
15
- </b-col>
16
- <b-col xs="12" sm="12" md="12" lg="4" xl="4">
17
- <InputText
18
- title="Site"
19
- field="webSite"
20
- :formName="formName"
21
- mask=""
22
- :maxLength="100"
23
- :required="false"
24
- v-model="contact.webSite"
25
- :markFormDirty="markFormDirty"
26
- />
27
- </b-col>
28
- <b-col xs="12" sm="12" md="12" lg="4" xl="4">
29
- <InputText
30
- title="E-mail"
31
- field="email"
32
- :formName="formName"
33
- mask=""
34
- :maxLength="100"
35
- :required="required"
36
- v-model="contact.email"
37
- :markFormDirty="markFormDirty"
38
- />
39
- </b-col>
40
- </b-row>
41
- </div>
42
- </template>
43
-
44
- <script>
45
- import Button from "@nixweb/nixloc-ui/src/component/forms/Button";
46
- import InputText from "@nixweb/nixloc-ui/src/component/forms/InputText";
47
- import Contact from "@nixweb/nixloc-ui/src/component/value-objects/Contact.js";
48
-
49
- import { mapGetters } from "vuex";
50
-
51
- export default {
52
- name: "Contact",
53
- props: {
54
- formName: String,
55
- required: {
56
- type: Boolean,
57
- default: false,
58
- },
59
- markFormDirty: {
60
- type: Boolean,
61
- default: true,
62
- },
63
- value: Object,
64
- },
65
- components: { InputText, Button },
66
- data() {
67
- return {
68
- contact: new Contact(),
69
- };
70
- },
71
- mounted() {
72
- if (this.value.phone != undefined) this.contact = this.value;
73
- },
74
- methods: {
75
- loadData(data) {
76
- this.contact.phone = data.phone;
77
- this.contact.email = data.email;
78
- },
79
- },
80
- computed: {
81
- ...mapGetters("generic", ["event"]),
82
- },
83
- watch: {
84
- value: {
85
- handler() {
86
- this.contact = this.value;
87
- },
88
- deep: true,
89
- },
90
- contact: {
91
- handler() {
92
- this.$emit("input", this.contact);
93
- },
94
- deep: true,
95
- },
96
- event: {
97
- handler(event) {
98
- if (event.name == "searchDocumentFederalRecipe") {
99
- this.loadData(event.data);
100
- }
101
- },
102
- deep: true,
103
- },
104
- },
105
- };
106
- </script>
1
+ <template>
2
+ <div>
3
+ <b-row>
4
+ <b-col xs="12" sm="12" md="12" lg="4" xl="4">
5
+ <InputText
6
+ title="Telefone"
7
+ field="phone"
8
+ :formName="formName"
9
+ :mask="['(##) ####-####', '(##) #####-####']"
10
+ :maxLength="20"
11
+ :required="required"
12
+ v-model="contact.phone"
13
+ :markFormDirty="markFormDirty"
14
+ />
15
+ </b-col>
16
+ <b-col xs="12" sm="12" md="12" lg="4" xl="4">
17
+ <InputText
18
+ title="Site"
19
+ field="webSite"
20
+ :formName="formName"
21
+ mask=""
22
+ :maxLength="100"
23
+ :required="false"
24
+ v-model="contact.webSite"
25
+ :markFormDirty="markFormDirty"
26
+ />
27
+ </b-col>
28
+ <b-col xs="12" sm="12" md="12" lg="4" xl="4">
29
+ <InputText
30
+ title="E-mail"
31
+ field="email"
32
+ :formName="formName"
33
+ mask=""
34
+ :maxLength="100"
35
+ :required="required"
36
+ v-model="contact.email"
37
+ :markFormDirty="markFormDirty"
38
+ />
39
+ </b-col>
40
+ </b-row>
41
+ </div>
42
+ </template>
43
+
44
+ <script>
45
+ import Button from "@nixweb/nixloc-ui/src/component/forms/Button";
46
+ import InputText from "@nixweb/nixloc-ui/src/component/forms/InputText";
47
+ import Contact from "@nixweb/nixloc-ui/src/component/value-objects/Contact.js";
48
+
49
+ import { mapGetters } from "vuex";
50
+
51
+ export default {
52
+ name: "Contact",
53
+ props: {
54
+ formName: String,
55
+ required: {
56
+ type: Boolean,
57
+ default: false,
58
+ },
59
+ markFormDirty: {
60
+ type: Boolean,
61
+ default: true,
62
+ },
63
+ value: Object,
64
+ },
65
+ components: { InputText, Button },
66
+ data() {
67
+ return {
68
+ contact: new Contact(),
69
+ };
70
+ },
71
+ mounted() {
72
+ if (this.value.phone != undefined) this.contact = this.value;
73
+ },
74
+ methods: {
75
+ loadData(data) {
76
+ this.contact.phone = data.phone;
77
+ this.contact.email = data.email;
78
+ },
79
+ },
80
+ computed: {
81
+ ...mapGetters("generic", ["event"]),
82
+ },
83
+ watch: {
84
+ value: {
85
+ handler() {
86
+ this.contact = this.value;
87
+ },
88
+ deep: true,
89
+ },
90
+ contact: {
91
+ handler() {
92
+ this.$emit("input", this.contact);
93
+ },
94
+ deep: true,
95
+ },
96
+ event: {
97
+ handler(event) {
98
+ if (event.name == "searchDocumentFederalRecipe") {
99
+ this.loadData(event.data);
100
+ }
101
+ },
102
+ deep: true,
103
+ },
104
+ },
105
+ };
106
+ </script>
@@ -1,10 +1,10 @@
1
- export default class Person {
2
- constructor() {
3
- this.typePerson = 2;
4
- this.companyName = "";
5
- this.tradeName = "";
6
- this.document = "";
7
- this.stateInscription = "";
8
- this.municipalInscription = "";
9
- }
10
- }
1
+ export default class Person {
2
+ constructor() {
3
+ this.typePerson = 2;
4
+ this.companyName = "";
5
+ this.tradeName = "";
6
+ this.document = "";
7
+ this.stateInscription = "";
8
+ this.municipalInscription = "";
9
+ }
10
+ }