@nixweb/nixloc-ui 1.17.0 → 1.19.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 (288) hide show
  1. package/.github/workflows/publish-npm.yml +32 -32
  2. package/@nixweb/nixloc-ui/.github/workflows/publish-npm.yml +32 -32
  3. package/@nixweb/nixloc-ui/README.md +24 -24
  4. package/@nixweb/nixloc-ui/babel.config.js +5 -5
  5. package/@nixweb/nixloc-ui/config/dev.env.js +8 -8
  6. package/@nixweb/nixloc-ui/config/index.js +69 -69
  7. package/@nixweb/nixloc-ui/config/prod.env.js +5 -5
  8. package/@nixweb/nixloc-ui/docs/src/component/template/ViewTemplateReportPreview.drawio +209 -209
  9. package/@nixweb/nixloc-ui/docs/src/store/modulos/relatorio.drawio +36 -36
  10. package/@nixweb/nixloc-ui/package.json +88 -88
  11. package/@nixweb/nixloc-ui/public/index.html +19 -19
  12. package/@nixweb/nixloc-ui/public/styles/app.css +52 -52
  13. package/@nixweb/nixloc-ui/src/App.vue +13 -13
  14. package/@nixweb/nixloc-ui/src/component/forms/Button.vue +163 -163
  15. package/@nixweb/nixloc-ui/src/component/forms/ButtonFilter.vue +74 -74
  16. package/@nixweb/nixloc-ui/src/component/forms/ButtonGroup.vue +66 -66
  17. package/@nixweb/nixloc-ui/src/component/forms/ButtonSub.vue +97 -97
  18. package/@nixweb/nixloc-ui/src/component/forms/ButtonToggle.vue +76 -76
  19. package/@nixweb/nixloc-ui/src/component/forms/CheckboxGroup.vue +69 -69
  20. package/@nixweb/nixloc-ui/src/component/forms/CheckboxServer.vue +192 -192
  21. package/@nixweb/nixloc-ui/src/component/forms/CheckboxSimple.vue +60 -60
  22. package/@nixweb/nixloc-ui/src/component/forms/Color.vue +38 -38
  23. package/@nixweb/nixloc-ui/src/component/forms/DateTime.vue +170 -170
  24. package/@nixweb/nixloc-ui/src/component/forms/DateYearMonth.vue +193 -193
  25. package/@nixweb/nixloc-ui/src/component/forms/Dropdown.vue +236 -236
  26. package/@nixweb/nixloc-ui/src/component/forms/EditorHtml.vue +132 -132
  27. package/@nixweb/nixloc-ui/src/component/forms/FileUpload.vue +170 -170
  28. package/@nixweb/nixloc-ui/src/component/forms/ImageUpload.vue +214 -214
  29. package/@nixweb/nixloc-ui/src/component/forms/IncrementDecrement.vue +148 -148
  30. package/@nixweb/nixloc-ui/src/component/forms/InputAddressGoogle.vue +171 -171
  31. package/@nixweb/nixloc-ui/src/component/forms/InputCallToAction.vue +135 -135
  32. package/@nixweb/nixloc-ui/src/component/forms/InputDecimal.vue +153 -153
  33. package/@nixweb/nixloc-ui/src/component/forms/InputDecimalDiscount.vue +77 -77
  34. package/@nixweb/nixloc-ui/src/component/forms/InputNumber.vue +160 -160
  35. package/@nixweb/nixloc-ui/src/component/forms/InputPassword.vue +148 -148
  36. package/@nixweb/nixloc-ui/src/component/forms/InputTag.vue +124 -124
  37. package/@nixweb/nixloc-ui/src/component/forms/InputText.vue +174 -174
  38. package/@nixweb/nixloc-ui/src/component/forms/InputTextEdit.vue +69 -69
  39. package/@nixweb/nixloc-ui/src/component/forms/InputWhatsApp.vue +47 -47
  40. package/@nixweb/nixloc-ui/src/component/forms/Modal.vue +57 -57
  41. package/@nixweb/nixloc-ui/src/component/forms/RadioGroup.vue +91 -91
  42. package/@nixweb/nixloc-ui/src/component/forms/Select.vue +378 -378
  43. package/@nixweb/nixloc-ui/src/component/forms/SelectStatic.vue +198 -198
  44. package/@nixweb/nixloc-ui/src/component/forms/SideBar.vue +99 -99
  45. package/@nixweb/nixloc-ui/src/component/forms/Slider.vue +18 -18
  46. package/@nixweb/nixloc-ui/src/component/forms/TextArea.vue +138 -138
  47. package/@nixweb/nixloc-ui/src/component/forms/Toggle.vue +72 -72
  48. package/@nixweb/nixloc-ui/src/component/layout/Account.vue +131 -131
  49. package/@nixweb/nixloc-ui/src/component/layout/Alert.vue +88 -88
  50. package/@nixweb/nixloc-ui/src/component/layout/Badge.vue +111 -111
  51. package/@nixweb/nixloc-ui/src/component/layout/BarFloating.vue +67 -67
  52. package/@nixweb/nixloc-ui/src/component/layout/FixedBar.vue +103 -103
  53. package/@nixweb/nixloc-ui/src/component/layout/Gantt.vue +128 -128
  54. package/@nixweb/nixloc-ui/src/component/layout/Header.vue +56 -56
  55. package/@nixweb/nixloc-ui/src/component/layout/HideShow.vue +61 -61
  56. package/@nixweb/nixloc-ui/src/component/layout/IconMolded.vue +58 -58
  57. package/@nixweb/nixloc-ui/src/component/layout/LoadingFullPage.vue +27 -27
  58. package/@nixweb/nixloc-ui/src/component/layout/Menu.vue +287 -287
  59. package/@nixweb/nixloc-ui/src/component/layout/Molded.vue +30 -30
  60. package/@nixweb/nixloc-ui/src/component/layout/NewAccount.vue +136 -136
  61. package/@nixweb/nixloc-ui/src/component/layout/NewHeader.vue +59 -59
  62. package/@nixweb/nixloc-ui/src/component/layout/NewIconMolded.vue +70 -70
  63. package/@nixweb/nixloc-ui/src/component/layout/NewMenu.vue +455 -455
  64. package/@nixweb/nixloc-ui/src/component/layout/Panel.vue +185 -185
  65. package/@nixweb/nixloc-ui/src/component/layout/Popover.vue +126 -126
  66. package/@nixweb/nixloc-ui/src/component/layout/ScrollBar.vue +57 -57
  67. package/@nixweb/nixloc-ui/src/component/layout/Tab.vue +135 -135
  68. package/@nixweb/nixloc-ui/src/component/layout/Tag.vue +97 -97
  69. package/@nixweb/nixloc-ui/src/component/layout/Wizard.vue +211 -211
  70. package/@nixweb/nixloc-ui/src/component/rental/DisplayCalculatePeriod.vue +48 -48
  71. package/@nixweb/nixloc-ui/src/component/rental/DisplayPeriodRent.vue +55 -55
  72. package/@nixweb/nixloc-ui/src/component/rental/DisplayTotalization.vue +86 -86
  73. package/@nixweb/nixloc-ui/src/component/report/Fields.vue +108 -108
  74. package/@nixweb/nixloc-ui/src/component/report/Report.vue +313 -313
  75. package/@nixweb/nixloc-ui/src/component/report/ReportTable.vue +111 -111
  76. package/@nixweb/nixloc-ui/src/component/report/Totalization.vue +33 -33
  77. package/@nixweb/nixloc-ui/src/component/shared/CodeEditor.vue +128 -128
  78. package/@nixweb/nixloc-ui/src/component/shared/Collapse.vue +131 -131
  79. package/@nixweb/nixloc-ui/src/component/shared/Confirmation.vue +74 -74
  80. package/@nixweb/nixloc-ui/src/component/shared/DocumentEditor.vue +99 -99
  81. package/@nixweb/nixloc-ui/src/component/shared/DocumentPreview.vue +81 -81
  82. package/@nixweb/nixloc-ui/src/component/shared/DocumentPublic.vue +33 -33
  83. package/@nixweb/nixloc-ui/src/component/shared/ExportExcel.vue +56 -56
  84. package/@nixweb/nixloc-ui/src/component/shared/ExportPDF.vue +116 -116
  85. package/@nixweb/nixloc-ui/src/component/shared/FullCalendar.vue +173 -173
  86. package/@nixweb/nixloc-ui/src/component/shared/HeaderReport.vue +47 -47
  87. package/@nixweb/nixloc-ui/src/component/shared/HorizontalFilter.vue +64 -64
  88. package/@nixweb/nixloc-ui/src/component/shared/ListNotifications.vue +70 -70
  89. package/@nixweb/nixloc-ui/src/component/shared/Loading.vue +107 -107
  90. package/@nixweb/nixloc-ui/src/component/shared/LoadingCard.vue +64 -64
  91. package/@nixweb/nixloc-ui/src/component/shared/LoadingMoreButton.vue +23 -23
  92. package/@nixweb/nixloc-ui/src/component/shared/Messages.vue +109 -109
  93. package/@nixweb/nixloc-ui/src/component/shared/PDFViewer.vue +24 -24
  94. package/@nixweb/nixloc-ui/src/component/shared/Pagination.vue +108 -108
  95. package/@nixweb/nixloc-ui/src/component/shared/ParameterLegend.vue +169 -169
  96. package/@nixweb/nixloc-ui/src/component/shared/ProgressBar.vue +25 -25
  97. package/@nixweb/nixloc-ui/src/component/shared/QueryButton.vue +66 -66
  98. package/@nixweb/nixloc-ui/src/component/shared/Report.vue +200 -200
  99. package/@nixweb/nixloc-ui/src/component/shared/SaveCancel.vue +99 -99
  100. package/@nixweb/nixloc-ui/src/component/shared/Search.vue +174 -174
  101. package/@nixweb/nixloc-ui/src/component/shared/SelectOption.vue +162 -162
  102. package/@nixweb/nixloc-ui/src/component/shared/Table.vue +174 -174
  103. package/@nixweb/nixloc-ui/src/component/shared/TableButton.vue +36 -36
  104. package/@nixweb/nixloc-ui/src/component/shared/TableDraggable.vue +117 -117
  105. package/@nixweb/nixloc-ui/src/component/shared/TableImport.vue +93 -93
  106. package/@nixweb/nixloc-ui/src/component/shared/TableItem.vue +214 -214
  107. package/@nixweb/nixloc-ui/src/component/shared/TableTotalPerPage.vue +77 -77
  108. package/@nixweb/nixloc-ui/src/component/shared/TableTotalRecords.vue +44 -44
  109. package/@nixweb/nixloc-ui/src/component/shared/TableTotalization.vue +47 -47
  110. package/@nixweb/nixloc-ui/src/component/shared/TimeLine.vue +41 -41
  111. package/@nixweb/nixloc-ui/src/component/shared/Timer.vue +77 -77
  112. package/@nixweb/nixloc-ui/src/component/shared/Tip.vue +42 -42
  113. package/@nixweb/nixloc-ui/src/component/shared/Toast.vue +69 -69
  114. package/@nixweb/nixloc-ui/src/component/shared/ToggleTheme.vue +127 -127
  115. package/@nixweb/nixloc-ui/src/component/shared/TotalizationReport.vue +86 -86
  116. package/@nixweb/nixloc-ui/src/component/shared/VerticalFilter.vue +97 -97
  117. package/@nixweb/nixloc-ui/src/component/shared/automation/ActivitiesList.vue +43 -43
  118. package/@nixweb/nixloc-ui/src/component/shared/automation/AddRule.vue +60 -60
  119. package/@nixweb/nixloc-ui/src/component/shared/automation/AutomationBuilder.vue +26 -26
  120. package/@nixweb/nixloc-ui/src/component/shared/automation/DynamicComponentList.vue +85 -85
  121. package/@nixweb/nixloc-ui/src/component/shared/automation/SelectRule.vue +97 -97
  122. package/@nixweb/nixloc-ui/src/component/shared/automation/components/BillingByRent.vue +97 -97
  123. package/@nixweb/nixloc-ui/src/component/shared/automation/components/SendEmail.vue +93 -93
  124. package/@nixweb/nixloc-ui/src/component/shared/file-manager/FileManager.vue +390 -390
  125. package/@nixweb/nixloc-ui/src/component/shared/filter-builder/FilterBuilder.vue +220 -220
  126. package/@nixweb/nixloc-ui/src/component/shared/filter-builder/FilterQuery.vue +94 -94
  127. package/@nixweb/nixloc-ui/src/component/shared/query-builder/AddRule.vue +203 -203
  128. package/@nixweb/nixloc-ui/src/component/shared/query-builder/ConvertToOdata.js +86 -86
  129. package/@nixweb/nixloc-ui/src/component/shared/query-builder/DynamicComponent.vue +161 -161
  130. package/@nixweb/nixloc-ui/src/component/shared/query-builder/DynamicComponentList.vue +70 -70
  131. package/@nixweb/nixloc-ui/src/component/shared/query-builder/Fields.vue +93 -93
  132. package/@nixweb/nixloc-ui/src/component/shared/query-builder/QueryBuilder.vue +69 -69
  133. package/@nixweb/nixloc-ui/src/component/shared/query-builder/Rules.vue +68 -68
  134. package/@nixweb/nixloc-ui/src/component/shared/query-builder/SelectRule.vue +97 -97
  135. package/@nixweb/nixloc-ui/src/component/shared/query-builder/Tags.vue +59 -59
  136. package/@nixweb/nixloc-ui/src/component/shared/query-builder/utilities.js +21 -21
  137. package/@nixweb/nixloc-ui/src/component/signature/Payment.vue +160 -160
  138. package/@nixweb/nixloc-ui/src/component/signature/Warning.vue +75 -75
  139. package/@nixweb/nixloc-ui/src/component/template/ListViewWithDataHandler.vue +429 -429
  140. package/@nixweb/nixloc-ui/src/component/template/ReportCreateUpdate.vue +110 -110
  141. package/@nixweb/nixloc-ui/src/component/template/ViewTemplateConfiguration.vue +64 -64
  142. package/@nixweb/nixloc-ui/src/component/template/ViewTemplateDocumentView.vue +213 -213
  143. package/@nixweb/nixloc-ui/src/component/template/ViewTemplateImportFile.vue +347 -347
  144. package/@nixweb/nixloc-ui/src/component/template/ViewTemplateReportList.vue +217 -217
  145. package/@nixweb/nixloc-ui/src/component/template/ViewTemplateReportPreview.vue +432 -432
  146. package/@nixweb/nixloc-ui/src/component/template/ViewTemplateSelectOption.vue +46 -46
  147. package/@nixweb/nixloc-ui/src/component/template/ViewTemplateWithSalveCancel.vue +32 -32
  148. package/@nixweb/nixloc-ui/src/component/template/ViewTemplateWithTable.vue +62 -62
  149. package/@nixweb/nixloc-ui/src/component/template/model/Report.js +5 -5
  150. package/@nixweb/nixloc-ui/src/component/training/Course.vue +343 -343
  151. package/@nixweb/nixloc-ui/src/component/training/CourseView.vue +189 -189
  152. package/@nixweb/nixloc-ui/src/component/value-objects/Address.js +10 -10
  153. package/@nixweb/nixloc-ui/src/component/value-objects/Address.vue +157 -157
  154. package/@nixweb/nixloc-ui/src/component/value-objects/Contact.js +6 -6
  155. package/@nixweb/nixloc-ui/src/component/value-objects/Contact.vue +106 -106
  156. package/@nixweb/nixloc-ui/src/component/value-objects/Person.js +10 -10
  157. package/@nixweb/nixloc-ui/src/component/value-objects/Person.vue +129 -129
  158. package/@nixweb/nixloc-ui/src/config/axios.js +9 -9
  159. package/@nixweb/nixloc-ui/src/config/dicas.js +14 -14
  160. package/@nixweb/nixloc-ui/src/config/router.js +13 -13
  161. package/@nixweb/nixloc-ui/src/config/token.js +14 -14
  162. package/@nixweb/nixloc-ui/src/main.js +23 -23
  163. package/@nixweb/nixloc-ui/src/store/modules/automation.js +30 -30
  164. package/@nixweb/nixloc-ui/src/store/modules/generic.js +815 -815
  165. package/@nixweb/nixloc-ui/src/store/modules/report.js +277 -277
  166. package/@nixweb/nixloc-ui/src/store/modules/user.js +66 -66
  167. package/@nixweb/nixloc-ui/src/store/modules/util.js +25 -25
  168. package/@nixweb/nixloc-ui/src/store/modules/validation.js +38 -38
  169. package/@nixweb/nixloc-ui/src/store/store.js +13 -13
  170. package/README.md +24 -24
  171. package/babel.config.js +5 -5
  172. package/config/dev.env.js +8 -8
  173. package/config/index.js +69 -69
  174. package/config/prod.env.js +5 -5
  175. package/docs/src/component/template/ViewTemplateReportPreview.drawio +209 -209
  176. package/docs/src/store/modulos/relatorio.drawio +36 -36
  177. package/package.json +88 -88
  178. package/public/index.html +19 -19
  179. package/public/styles/app.css +52 -52
  180. package/src/component/forms/ButtonFilter.vue +104 -104
  181. package/src/component/forms/ButtonGroup.vue +66 -66
  182. package/src/component/forms/ButtonGroupInline.vue +210 -210
  183. package/src/component/forms/ButtonSub.vue +97 -97
  184. package/src/component/forms/ButtonToggle.vue +76 -76
  185. package/src/component/forms/DateYearMonth.vue +192 -192
  186. package/src/component/forms/ImageUpload.vue +214 -214
  187. package/src/component/forms/IncrementDecrement.vue +151 -151
  188. package/src/component/forms/InputAddressGoogle.vue +171 -171
  189. package/src/component/forms/InputCallToAction.vue +135 -135
  190. package/src/component/forms/InputDecimalDiscount.vue +146 -146
  191. package/src/component/forms/InputTag.vue +124 -124
  192. package/src/component/forms/InputTextEdit.vue +69 -69
  193. package/src/component/forms/InputWhatsApp.vue +47 -47
  194. package/src/component/forms/SideBar.vue +99 -99
  195. package/src/component/forms/Toggle.vue +72 -72
  196. package/src/component/layout/Account.vue +131 -131
  197. package/src/component/layout/AnimatedPhrase.vue +68 -68
  198. package/src/component/layout/BarFloating.vue +67 -67
  199. package/src/component/layout/BottomActionsBar.vue +205 -205
  200. package/src/component/layout/ColorPicker.vue +175 -175
  201. package/src/component/layout/Gantt.vue +128 -128
  202. package/src/component/layout/HideShow.vue +61 -61
  203. package/src/component/layout/IconMolded.vue +58 -58
  204. package/src/component/layout/IconPicker.vue +161 -161
  205. package/src/component/layout/NewAccount.vue +136 -136
  206. package/src/component/layout/NewHeader.vue +59 -59
  207. package/src/component/layout/NewIconMolded.vue +70 -70
  208. package/src/component/layout/NewMenu.vue +472 -472
  209. package/src/component/layout/ScrollBar.vue +21 -8
  210. package/src/component/layout/Tab.vue +259 -259
  211. package/src/component/layout/Tag.vue +97 -97
  212. package/src/component/layout/Tooltip.vue +155 -155
  213. package/src/component/layout/Zoom.vue +111 -111
  214. package/src/component/rental/DisplayCalculatePeriod.vue +48 -48
  215. package/src/component/rental/DisplayPeriodRent.vue +55 -55
  216. package/src/component/rental/DisplayTotalization.vue +86 -86
  217. package/src/component/report/Fields.vue +108 -108
  218. package/src/component/report/Report.vue +377 -377
  219. package/src/component/report/ReportTable.vue +111 -111
  220. package/src/component/report/Totalization.vue +33 -33
  221. package/src/component/shared/CodeEditor.vue +128 -128
  222. package/src/component/shared/Confirmation.vue +74 -74
  223. package/src/component/shared/DocumentEditor.vue +99 -99
  224. package/src/component/shared/DocumentPreview.vue +105 -105
  225. package/src/component/shared/DocumentPublic.vue +33 -33
  226. package/src/component/shared/ExportExcel.vue +56 -56
  227. package/src/component/shared/FullCalendar.vue +175 -175
  228. package/src/component/shared/HeaderReport.vue +47 -47
  229. package/src/component/shared/ListNotifications.vue +70 -70
  230. package/src/component/shared/Loading.vue +4 -1
  231. package/src/component/shared/LoadingCard.vue +64 -64
  232. package/src/component/shared/ParameterLegend.vue +169 -169
  233. package/src/component/shared/Report.vue +250 -250
  234. package/src/component/shared/SaveCancel.vue +117 -99
  235. package/src/component/shared/SelectOption.vue +162 -162
  236. package/src/component/shared/TableDraggable.vue +117 -117
  237. package/src/component/shared/TableImport.vue +93 -93
  238. package/src/component/shared/TableItem.vue +228 -228
  239. package/src/component/shared/TableTotalPerPage.vue +114 -114
  240. package/src/component/shared/TableTotalRecords.vue +44 -44
  241. package/src/component/shared/TimeLine.vue +41 -41
  242. package/src/component/shared/Timer.vue +77 -77
  243. package/src/component/shared/ToggleTheme.vue +127 -127
  244. package/src/component/shared/TotalizationReport.vue +86 -86
  245. package/src/component/shared/actions/ActionButtons.vue +53 -53
  246. package/src/component/shared/actions/ActionErrorContent.vue +103 -103
  247. package/src/component/shared/actions/ActionFooter.vue +99 -93
  248. package/src/component/shared/actions/ActionHeader.vue +110 -110
  249. package/src/component/shared/actions/ActionItemList.vue +143 -143
  250. package/src/component/shared/actions/ActionsOptions.vue +209 -209
  251. package/src/component/shared/actions/ActionsSelected.vue +262 -262
  252. package/src/component/shared/automation/ActivitiesList.vue +43 -43
  253. package/src/component/shared/automation/AddRule.vue +60 -60
  254. package/src/component/shared/automation/AutomationBuilder.vue +26 -26
  255. package/src/component/shared/automation/DynamicComponentList.vue +85 -85
  256. package/src/component/shared/automation/SelectRule.vue +97 -97
  257. package/src/component/shared/automation/components/BillingByRent.vue +97 -97
  258. package/src/component/shared/automation/components/SendEmail.vue +93 -93
  259. package/src/component/shared/file-manager/FileManager.vue +390 -390
  260. package/src/component/shared/filter-builder/FilterBuilder.vue +220 -220
  261. package/src/component/shared/filter-builder/FilterQuery.vue +95 -95
  262. package/src/component/shared/query-builder/ConvertToOdata.js +86 -86
  263. package/src/component/shared/query-builder/DynamicComponent.vue +161 -161
  264. package/src/component/shared/query-builder/Fields.vue +93 -93
  265. package/src/component/shared/query-builder/Rules.vue +68 -68
  266. package/src/component/shared/query-builder/SelectRule.vue +97 -97
  267. package/src/component/shared/query-builder/Tags.vue +59 -59
  268. package/src/component/signature/Payment.vue +160 -160
  269. package/src/component/signature/Warning.vue +75 -75
  270. package/src/component/template/ReportCreateUpdate.vue +110 -110
  271. package/src/component/template/ViewTemplateDocumentView.vue +213 -213
  272. package/src/component/template/ViewTemplateImportFile.vue +347 -347
  273. package/src/component/template/ViewTemplateReportList.vue +240 -240
  274. package/src/component/template/ViewTemplateReportPreview.vue +521 -521
  275. package/src/component/template/ViewTemplateSelectOption.vue +46 -46
  276. package/src/component/template/model/Report.js +5 -5
  277. package/src/component/training/Course.vue +343 -343
  278. package/src/component/training/CourseView.vue +198 -198
  279. package/src/component/value-objects/Address.js +10 -10
  280. package/src/component/value-objects/Address.vue +173 -173
  281. package/src/component/value-objects/Contact.js +6 -6
  282. package/src/component/value-objects/Contact.vue +106 -106
  283. package/src/component/value-objects/Person.js +10 -10
  284. package/src/component/value-objects/Person.vue +130 -130
  285. package/src/store/modules/automation.js +30 -30
  286. package/src/store/modules/report.js +277 -277
  287. package/src/store/modules/user.js +69 -69
  288. package/src/store/modules/util.js +25 -25
@@ -1,347 +1,347 @@
1
- <template>
2
- <div>
3
- <Panel :module="panel.module" :title="panel.title" :showVerticalFilter="panel.showVerticalFilter"
4
- :showSearch="panel.showSearch" :showButtons="panel.showButtons">
5
- <div slot="content-main">
6
- <br />
7
- <div class="div-loading" v-show="loading">
8
- <span>
9
- {{ msg }}
10
- </span>
11
- <Loading type="line" :center="false" />
12
- </div>
13
- <div v-show="!success && !loading">
14
- <b-tabs>
15
- <b-tab title="Importar">
16
- <div>
17
- <div v-show="!fileName">
18
- <Alert type="info">
19
- <span>
20
- Selecione o arquivo Excel no formato
21
- <b> .xlsx </b> baseado na planilha
22
- <a :href="urlTemplate" class="text-download">
23
- <b>BAIXAR MODELO</b>
24
- </a>
25
- e aguarde até carregar os dados para conferência.
26
- </span>
27
- <br />
28
- <span>
29
- Até <b> 1000 </b> itens por planilha ou <b> 1MB </b> no
30
- arquivo.
31
- </span>
32
- </Alert>
33
- <br />
34
- <slot></slot>
35
- <div class="div-file">
36
- <FileUpload title="Carregar .xlsx" classIcon="fa-solid fa-file-excel" :container="container"
37
- accepted=".xlsx" allowed=".xlsx" :disabled="true" urlPost="/api/v1/adm/file-upload/upload"
38
- urlRemove="/api/v1/adm/file-upload/delete" :onLoad="successUploadFile" :nameDataBase="fileName"
39
- v-model="fileName" />
40
- </div>
41
- </div>
42
- <div v-show="fileName && !loading">
43
- <div class="import-icon">
44
- <i class="fas fa-file-import"></i>
45
- </div>
46
- <span v-if="!isValid">
47
- Efetue o <b> mapeamento </b> dos campos e clique em iniciar
48
- validação.
49
- </span>
50
- <span v-else>
51
- Dados <b> validado com sucesso, </b> clique em importar.
52
- </span>
53
- <br />
54
- <div class="div-btn">
55
- <Button _key="btnBack" type="info" title="voltar" classIcon="fa-solid fa-circle-arrow-left"
56
- size="small" :clicked="back" />
57
- <Button v-if="!isValid" _key="btnValidate" type="primary" title="Iniciar Validação" :disabled="false"
58
- classIcon="fa-solid fa-arrow-right-arrow-left" size="small" :clicked="validate" />
59
- <Button v-if="listError.length > 0" _key="btnListError" type="danger" title="Erro(s)"
60
- classIcon="fa-sharp fa-solid fa-triangle-exclamation" size="small" :clicked="openListError" />
61
- <Button v-if="isValid" _key="btnImport" type="success" title="Importar"
62
- classIcon="fa-solid fa-file-import" size="small" :clicked="startImport" />
63
- </div>
64
- <br />
65
- <Alert type="danger" v-if="listError.length > 0">
66
- <span>
67
- Atenção, foram identificados
68
- <b>{{ listError.length }}</b> erro(s), corrija-os!
69
- </span>
70
- </Alert>
71
- <Alert type="info">
72
- <span>
73
- Total de <b> {{ totalRecords }} </b> registro(s), para o
74
- mapeamento serão carregados somente os
75
- <b> 10 </b> primeiros (se houver).
76
- </span>
77
- </Alert>
78
- <TableImport v-if="fileName" :select="select" :headerTable="headerTable" :data="data" />
79
- </div>
80
- </div>
81
- </b-tab>
82
- <b-tab title="Histórico">
83
- <Button v-if="listError.length > 0" _key="btnListError" type="danger" title="Erro(s)"
84
- classIcon="fa-sharp fa-solid fa-triangle-exclamation" size="small" :clicked="openListError" />
85
- <ViewTemplateConfiguration :templateList="templateList" :showSearch="false" :showHorizontalFilter="false">
86
- </ViewTemplateConfiguration>
87
- </b-tab>
88
- </b-tabs>
89
- </div>
90
- <div v-show="success">
91
- <div class="div-molded text-center">
92
- <Molded>
93
- <div class="msg-success">Importação realizada com sucesso!</div>
94
- <div class="icon-success">
95
- <i class="fa-light fa-circle-check"></i>
96
- </div>
97
- <div>
98
- <Button _key="btnBack" type="info" title="voltar" classIcon="fa-solid fa-circle-arrow-left" size="small"
99
- :clicked="back" />
100
- </div>
101
- </Molded>
102
- </div>
103
- </div>
104
- <br />
105
- </div>
106
- </Panel>
107
- <Modal title="Erro(s)" :width="900" :height="750" v-show="showModal('listError')">
108
- <ListNotifications :listError="listError" />
109
- </Modal>
110
- <Modal title="Você tem certeza?" :width="500" v-show="showModal('confirmDelete')">
111
- <Alert type="warning">
112
- <span>
113
- Atenção, todos os registros relacionados também serão excluídos, esta
114
- ação é irreversível!
115
- </span>
116
- </Alert>
117
- <Confirmation :isModal="false" type="danger" :confirmed="removeSelected" />
118
- </Modal>
119
- </div>
120
- </template>
121
-
122
- <script>
123
- import Panel from "@nixweb/nixloc-ui/src/component/layout/Panel.vue";
124
- import Button from "@nixweb/nixloc-ui/src/component/forms/Button";
125
- import Molded from "@nixweb/nixloc-ui/src/component/layout/Molded";
126
- import FileUpload from "@nixweb/nixloc-ui/src/component/forms/FileUpload";
127
- import Loading from "@nixweb/nixloc-ui/src/component/shared/Loading.vue";
128
- import Alert from "@nixweb/nixloc-ui/src/component/layout/Alert";
129
- import Modal from "@nixweb/nixloc-ui/src/component/forms/Modal";
130
- import Confirmation from "@nixweb/nixloc-ui/src/component/shared/Confirmation.vue";
131
- import ViewTemplateConfiguration from "@nixweb/nixloc-ui/src/component/template/ViewTemplateConfiguration";
132
-
133
- import TableImport from "@nixweb/nixloc-ui/src/component/shared/TableImport.vue";
134
- import ListNotifications from "@nixweb/nixloc-ui/src/component/shared/ListNotifications.vue";
135
-
136
- import { mapState, mapActions, mapMutations, mapGetters } from "vuex";
137
-
138
- export default {
139
- name: "ViewTemplateImportFileView",
140
- components: {
141
- Panel,
142
- Button,
143
- Molded,
144
- FileUpload,
145
- Loading,
146
- ListNotifications,
147
- ViewTemplateConfiguration,
148
- TableImport,
149
- Alert,
150
- Modal,
151
- Confirmation,
152
- },
153
- props: {
154
- panel: Object,
155
- templateList: Object,
156
- select: Array,
157
- container: String,
158
- typeImport: Number,
159
- urlMapping: String,
160
- urlValidate: String,
161
- urlImport: String,
162
- urlTemplate: String,
163
- },
164
- data() {
165
- return {
166
- fileName: "",
167
- loading: false,
168
- headerTable: [],
169
- data: [],
170
- totalRecords: 0,
171
- listError: [],
172
- isValid: false,
173
- idRemove: "",
174
- success: false,
175
- msg: "",
176
- loadingImport: false,
177
- };
178
- },
179
- computed: {
180
- ...mapGetters("generic", ["showModal", "event"]),
181
- },
182
- methods: {
183
- ...mapActions("generic", ["postApi", "deleteAllApi"]),
184
- ...mapMutations("generic", ["openModal", "hideModal", "removeLoading"]),
185
- successUploadFile() {
186
- this.listError = [];
187
- this.loading = true;
188
- this.msg =
189
- "Aguarde, estamos carregando os dados, isso pode levar alguns minutos...";
190
- let self = this;
191
- setTimeout(function () {
192
- self.mapping(self.fileName);
193
- }, 1000);
194
- },
195
- mapping(fileName) {
196
- let params = {
197
- url: this.urlMapping,
198
- obj: {
199
- fileName: fileName,
200
- container: this.container,
201
- typeImport: this.typeImport,
202
- },
203
- notNotifyToast: true,
204
- };
205
- this.postApi(params).then((response) => {
206
- if (response.success) {
207
- this.loading = false;
208
- this.headerTable = response.content.headerTable;
209
- this.data = response.content.data;
210
- this.totalRecords = response.content.totalRecords;
211
- }
212
- });
213
- },
214
- validate() {
215
- this.loading = true;
216
- this.msg =
217
- "Aguarde, estamos validando os dados, isso pode levar alguns minutos...";
218
- this.isValid = false;
219
- let params = {
220
- url: this.urlValidate,
221
- obj: {
222
- fileName: this.fileName,
223
- container: this.container,
224
- typeImport: this.typeImport,
225
- items: this.headerTable,
226
- },
227
- notNotifyToast: true,
228
- };
229
- this.postApi(params).then((response) => {
230
- if (response.success) {
231
- this.listError = response.content;
232
- if (this.listError.length == 0) this.isValid = true;
233
- }
234
- this.removeLoading(["btnValidate"]);
235
- let self = this;
236
- setTimeout(function () {
237
- self.loading = false;
238
- }, 2000);
239
- });
240
- },
241
- startImport() {
242
- this.loading = true;
243
- this.msg =
244
- "Aguarde, estamos importando os dados, isso pode levar alguns minutos...";
245
- let params = {
246
- url: this.urlImport,
247
- obj: {
248
- fileName: this.fileName,
249
- container: this.container,
250
- typeImport: this.typeImport,
251
- items: this.headerTable,
252
- },
253
- notNotifyToast: true,
254
- };
255
- this.postApi(params).then((response) => {
256
- if (response.success) {
257
- this.success = true;
258
- this.isValid = false;
259
- }
260
- this.removeLoading(["btnImport"]);
261
- this.loading = false;
262
- });
263
- },
264
- removeSelected() {
265
- let params = {
266
- url: this.templateList.urlDeleteAllApi,
267
- selected: [this.idRemove],
268
- };
269
- this.deleteAllApi(params).then((response) => {
270
- if (response.success) {
271
- this.listError = [];
272
- this.hideModal();
273
- } else {
274
- this.listError = response.content;
275
- if (this.listError.length == 0) this.isValid = true;
276
- this.hideModal();
277
- }
278
- this.removeLoading(["confirm"]);
279
- });
280
- },
281
- openListError() {
282
- this.openModal("listError");
283
- this.removeLoading(["btnListError"]);
284
- },
285
- back() {
286
- this.fileName = "";
287
- this.listError = [];
288
- this.success = false;
289
- this.isValid = false;
290
- this.removeLoading(["btnBack"]);
291
- },
292
- },
293
- watch: {
294
- event: {
295
- handler(event) {
296
- if (event.name == "deleteHistoryImport") {
297
- this.openModal("confirmDelete");
298
- this.idRemove = this.event.data.id;
299
- }
300
- },
301
- deep: true,
302
- },
303
- },
304
- };
305
- </script>
306
-
307
- <style scoped>
308
- .import-icon {
309
- font-size: 30px;
310
- opacity: 0.2;
311
- color: #577696;
312
- }
313
-
314
- .div-file {
315
- margin-top: 20px;
316
- }
317
-
318
- .div-btn {
319
- margin-top: 10px;
320
- margin-left: -8px;
321
- }
322
-
323
- .div-loading {
324
- margin-top: 10px;
325
- }
326
-
327
- .div-molded {
328
- width: 550px;
329
- margin: auto;
330
- }
331
-
332
- .text-download {
333
- color: #1990ff;
334
- cursor: pointer;
335
- }
336
-
337
- .msg-success {
338
- font-size: 18px;
339
- }
340
-
341
- .icon-success {
342
- font-size: 55px;
343
- color: #38a169;
344
- margin-top: 10px;
345
- margin-bottom: 15px;
346
- }
347
- </style>
1
+ <template>
2
+ <div>
3
+ <Panel :module="panel.module" :title="panel.title" :showVerticalFilter="panel.showVerticalFilter"
4
+ :showSearch="panel.showSearch" :showButtons="panel.showButtons">
5
+ <div slot="content-main">
6
+ <br />
7
+ <div class="div-loading" v-show="loading">
8
+ <span>
9
+ {{ msg }}
10
+ </span>
11
+ <Loading type="line" :center="false" />
12
+ </div>
13
+ <div v-show="!success && !loading">
14
+ <b-tabs>
15
+ <b-tab title="Importar">
16
+ <div>
17
+ <div v-show="!fileName">
18
+ <Alert type="info">
19
+ <span>
20
+ Selecione o arquivo Excel no formato
21
+ <b> .xlsx </b> baseado na planilha
22
+ <a :href="urlTemplate" class="text-download">
23
+ <b>BAIXAR MODELO</b>
24
+ </a>
25
+ e aguarde até carregar os dados para conferência.
26
+ </span>
27
+ <br />
28
+ <span>
29
+ Até <b> 1000 </b> itens por planilha ou <b> 1MB </b> no
30
+ arquivo.
31
+ </span>
32
+ </Alert>
33
+ <br />
34
+ <slot></slot>
35
+ <div class="div-file">
36
+ <FileUpload title="Carregar .xlsx" classIcon="fa-solid fa-file-excel" :container="container"
37
+ accepted=".xlsx" allowed=".xlsx" :disabled="true" urlPost="/api/v1/adm/file-upload/upload"
38
+ urlRemove="/api/v1/adm/file-upload/delete" :onLoad="successUploadFile" :nameDataBase="fileName"
39
+ v-model="fileName" />
40
+ </div>
41
+ </div>
42
+ <div v-show="fileName && !loading">
43
+ <div class="import-icon">
44
+ <i class="fas fa-file-import"></i>
45
+ </div>
46
+ <span v-if="!isValid">
47
+ Efetue o <b> mapeamento </b> dos campos e clique em iniciar
48
+ validação.
49
+ </span>
50
+ <span v-else>
51
+ Dados <b> validado com sucesso, </b> clique em importar.
52
+ </span>
53
+ <br />
54
+ <div class="div-btn">
55
+ <Button _key="btnBack" type="info" title="voltar" classIcon="fa-solid fa-circle-arrow-left"
56
+ size="small" :clicked="back" />
57
+ <Button v-if="!isValid" _key="btnValidate" type="primary" title="Iniciar Validação" :disabled="false"
58
+ classIcon="fa-solid fa-arrow-right-arrow-left" size="small" :clicked="validate" />
59
+ <Button v-if="listError.length > 0" _key="btnListError" type="danger" title="Erro(s)"
60
+ classIcon="fa-sharp fa-solid fa-triangle-exclamation" size="small" :clicked="openListError" />
61
+ <Button v-if="isValid" _key="btnImport" type="success" title="Importar"
62
+ classIcon="fa-solid fa-file-import" size="small" :clicked="startImport" />
63
+ </div>
64
+ <br />
65
+ <Alert type="danger" v-if="listError.length > 0">
66
+ <span>
67
+ Atenção, foram identificados
68
+ <b>{{ listError.length }}</b> erro(s), corrija-os!
69
+ </span>
70
+ </Alert>
71
+ <Alert type="info">
72
+ <span>
73
+ Total de <b> {{ totalRecords }} </b> registro(s), para o
74
+ mapeamento serão carregados somente os
75
+ <b> 10 </b> primeiros (se houver).
76
+ </span>
77
+ </Alert>
78
+ <TableImport v-if="fileName" :select="select" :headerTable="headerTable" :data="data" />
79
+ </div>
80
+ </div>
81
+ </b-tab>
82
+ <b-tab title="Histórico">
83
+ <Button v-if="listError.length > 0" _key="btnListError" type="danger" title="Erro(s)"
84
+ classIcon="fa-sharp fa-solid fa-triangle-exclamation" size="small" :clicked="openListError" />
85
+ <ViewTemplateConfiguration :templateList="templateList" :showSearch="false" :showHorizontalFilter="false">
86
+ </ViewTemplateConfiguration>
87
+ </b-tab>
88
+ </b-tabs>
89
+ </div>
90
+ <div v-show="success">
91
+ <div class="div-molded text-center">
92
+ <Molded>
93
+ <div class="msg-success">Importação realizada com sucesso!</div>
94
+ <div class="icon-success">
95
+ <i class="fa-light fa-circle-check"></i>
96
+ </div>
97
+ <div>
98
+ <Button _key="btnBack" type="info" title="voltar" classIcon="fa-solid fa-circle-arrow-left" size="small"
99
+ :clicked="back" />
100
+ </div>
101
+ </Molded>
102
+ </div>
103
+ </div>
104
+ <br />
105
+ </div>
106
+ </Panel>
107
+ <Modal title="Erro(s)" :width="900" :height="750" v-show="showModal('listError')">
108
+ <ListNotifications :listError="listError" />
109
+ </Modal>
110
+ <Modal title="Você tem certeza?" :width="500" v-show="showModal('confirmDelete')">
111
+ <Alert type="warning">
112
+ <span>
113
+ Atenção, todos os registros relacionados também serão excluídos, esta
114
+ ação é irreversível!
115
+ </span>
116
+ </Alert>
117
+ <Confirmation :isModal="false" type="danger" :confirmed="removeSelected" />
118
+ </Modal>
119
+ </div>
120
+ </template>
121
+
122
+ <script>
123
+ import Panel from "@nixweb/nixloc-ui/src/component/layout/Panel.vue";
124
+ import Button from "@nixweb/nixloc-ui/src/component/forms/Button";
125
+ import Molded from "@nixweb/nixloc-ui/src/component/layout/Molded";
126
+ import FileUpload from "@nixweb/nixloc-ui/src/component/forms/FileUpload";
127
+ import Loading from "@nixweb/nixloc-ui/src/component/shared/Loading.vue";
128
+ import Alert from "@nixweb/nixloc-ui/src/component/layout/Alert";
129
+ import Modal from "@nixweb/nixloc-ui/src/component/forms/Modal";
130
+ import Confirmation from "@nixweb/nixloc-ui/src/component/shared/Confirmation.vue";
131
+ import ViewTemplateConfiguration from "@nixweb/nixloc-ui/src/component/template/ViewTemplateConfiguration";
132
+
133
+ import TableImport from "@nixweb/nixloc-ui/src/component/shared/TableImport.vue";
134
+ import ListNotifications from "@nixweb/nixloc-ui/src/component/shared/ListNotifications.vue";
135
+
136
+ import { mapState, mapActions, mapMutations, mapGetters } from "vuex";
137
+
138
+ export default {
139
+ name: "ViewTemplateImportFileView",
140
+ components: {
141
+ Panel,
142
+ Button,
143
+ Molded,
144
+ FileUpload,
145
+ Loading,
146
+ ListNotifications,
147
+ ViewTemplateConfiguration,
148
+ TableImport,
149
+ Alert,
150
+ Modal,
151
+ Confirmation,
152
+ },
153
+ props: {
154
+ panel: Object,
155
+ templateList: Object,
156
+ select: Array,
157
+ container: String,
158
+ typeImport: Number,
159
+ urlMapping: String,
160
+ urlValidate: String,
161
+ urlImport: String,
162
+ urlTemplate: String,
163
+ },
164
+ data() {
165
+ return {
166
+ fileName: "",
167
+ loading: false,
168
+ headerTable: [],
169
+ data: [],
170
+ totalRecords: 0,
171
+ listError: [],
172
+ isValid: false,
173
+ idRemove: "",
174
+ success: false,
175
+ msg: "",
176
+ loadingImport: false,
177
+ };
178
+ },
179
+ computed: {
180
+ ...mapGetters("generic", ["showModal", "event"]),
181
+ },
182
+ methods: {
183
+ ...mapActions("generic", ["postApi", "deleteAllApi"]),
184
+ ...mapMutations("generic", ["openModal", "hideModal", "removeLoading"]),
185
+ successUploadFile() {
186
+ this.listError = [];
187
+ this.loading = true;
188
+ this.msg =
189
+ "Aguarde, estamos carregando os dados, isso pode levar alguns minutos...";
190
+ let self = this;
191
+ setTimeout(function () {
192
+ self.mapping(self.fileName);
193
+ }, 1000);
194
+ },
195
+ mapping(fileName) {
196
+ let params = {
197
+ url: this.urlMapping,
198
+ obj: {
199
+ fileName: fileName,
200
+ container: this.container,
201
+ typeImport: this.typeImport,
202
+ },
203
+ notNotifyToast: true,
204
+ };
205
+ this.postApi(params).then((response) => {
206
+ if (response.success) {
207
+ this.loading = false;
208
+ this.headerTable = response.content.headerTable;
209
+ this.data = response.content.data;
210
+ this.totalRecords = response.content.totalRecords;
211
+ }
212
+ });
213
+ },
214
+ validate() {
215
+ this.loading = true;
216
+ this.msg =
217
+ "Aguarde, estamos validando os dados, isso pode levar alguns minutos...";
218
+ this.isValid = false;
219
+ let params = {
220
+ url: this.urlValidate,
221
+ obj: {
222
+ fileName: this.fileName,
223
+ container: this.container,
224
+ typeImport: this.typeImport,
225
+ items: this.headerTable,
226
+ },
227
+ notNotifyToast: true,
228
+ };
229
+ this.postApi(params).then((response) => {
230
+ if (response.success) {
231
+ this.listError = response.content;
232
+ if (this.listError.length == 0) this.isValid = true;
233
+ }
234
+ this.removeLoading(["btnValidate"]);
235
+ let self = this;
236
+ setTimeout(function () {
237
+ self.loading = false;
238
+ }, 2000);
239
+ });
240
+ },
241
+ startImport() {
242
+ this.loading = true;
243
+ this.msg =
244
+ "Aguarde, estamos importando os dados, isso pode levar alguns minutos...";
245
+ let params = {
246
+ url: this.urlImport,
247
+ obj: {
248
+ fileName: this.fileName,
249
+ container: this.container,
250
+ typeImport: this.typeImport,
251
+ items: this.headerTable,
252
+ },
253
+ notNotifyToast: true,
254
+ };
255
+ this.postApi(params).then((response) => {
256
+ if (response.success) {
257
+ this.success = true;
258
+ this.isValid = false;
259
+ }
260
+ this.removeLoading(["btnImport"]);
261
+ this.loading = false;
262
+ });
263
+ },
264
+ removeSelected() {
265
+ let params = {
266
+ url: this.templateList.urlDeleteAllApi,
267
+ selected: [this.idRemove],
268
+ };
269
+ this.deleteAllApi(params).then((response) => {
270
+ if (response.success) {
271
+ this.listError = [];
272
+ this.hideModal();
273
+ } else {
274
+ this.listError = response.content;
275
+ if (this.listError.length == 0) this.isValid = true;
276
+ this.hideModal();
277
+ }
278
+ this.removeLoading(["confirm"]);
279
+ });
280
+ },
281
+ openListError() {
282
+ this.openModal("listError");
283
+ this.removeLoading(["btnListError"]);
284
+ },
285
+ back() {
286
+ this.fileName = "";
287
+ this.listError = [];
288
+ this.success = false;
289
+ this.isValid = false;
290
+ this.removeLoading(["btnBack"]);
291
+ },
292
+ },
293
+ watch: {
294
+ event: {
295
+ handler(event) {
296
+ if (event.name == "deleteHistoryImport") {
297
+ this.openModal("confirmDelete");
298
+ this.idRemove = this.event.data.id;
299
+ }
300
+ },
301
+ deep: true,
302
+ },
303
+ },
304
+ };
305
+ </script>
306
+
307
+ <style scoped>
308
+ .import-icon {
309
+ font-size: 30px;
310
+ opacity: 0.2;
311
+ color: #577696;
312
+ }
313
+
314
+ .div-file {
315
+ margin-top: 20px;
316
+ }
317
+
318
+ .div-btn {
319
+ margin-top: 10px;
320
+ margin-left: -8px;
321
+ }
322
+
323
+ .div-loading {
324
+ margin-top: 10px;
325
+ }
326
+
327
+ .div-molded {
328
+ width: 550px;
329
+ margin: auto;
330
+ }
331
+
332
+ .text-download {
333
+ color: #1990ff;
334
+ cursor: pointer;
335
+ }
336
+
337
+ .msg-success {
338
+ font-size: 18px;
339
+ }
340
+
341
+ .icon-success {
342
+ font-size: 55px;
343
+ color: #38a169;
344
+ margin-top: 10px;
345
+ margin-bottom: 15px;
346
+ }
347
+ </style>