@nixweb/nixloc-ui 1.14.0 → 1.16.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 (820) hide show
  1. package/package.json +1 -1
  2. package/src/App.vue +296 -13
  3. package/src/assets/logo.png +0 -0
  4. package/src/assets/nfse-nacional.svg +32 -0
  5. package/src/components/modules/adm/audit-log/TimelineLog.vue +557 -0
  6. package/src/components/modules/adm/authorization/Authorization.vue +81 -0
  7. package/src/components/modules/adm/authorization/AuthorizationCreate.vue +63 -0
  8. package/src/components/modules/adm/authorization/AuthorizationRow.vue +304 -0
  9. package/src/components/modules/adm/authorization/AuthorizationTable.vue +117 -0
  10. package/src/components/modules/adm/company/Company.js +9 -0
  11. package/src/components/modules/adm/company/Company.vue +124 -0
  12. package/src/components/modules/adm/document/Document.js +41 -0
  13. package/src/components/modules/adm/document/DocumentCreateUpdate.vue +272 -0
  14. package/src/components/modules/adm/document/DocumentPreview.vue +283 -0
  15. package/src/components/modules/adm/document/Link.vue +118 -0
  16. package/src/components/modules/adm/document/PrintDetail.vue +127 -0
  17. package/src/components/modules/adm/document/PrintPreview.vue +127 -0
  18. package/src/components/modules/adm/document/SelectOptionDocument.vue +222 -0
  19. package/src/components/modules/adm/document/SendMail.vue +248 -0
  20. package/src/components/modules/adm/document/SendSignature.vue +289 -0
  21. package/src/components/modules/adm/document/TemplateDocument.vue +133 -0
  22. package/src/components/modules/adm/login/ConfirmMailMobile.vue +101 -0
  23. package/src/components/modules/adm/login/ForgotPassword.js +8 -0
  24. package/src/components/modules/adm/login/ForgotPassword.vue +144 -0
  25. package/src/components/modules/adm/login/Login.js +7 -0
  26. package/src/components/modules/adm/login/Login.vue +195 -0
  27. package/src/components/modules/adm/login/Menu.js +992 -0
  28. package/src/components/modules/adm/login/RandomImages.vue +64 -0
  29. package/src/components/modules/adm/login/RefreshUserLogged.vue +59 -0
  30. package/src/components/modules/adm/login/ResetPassword.vue +158 -0
  31. package/src/components/modules/adm/login/SendConfirmMailMobile.vue +72 -0
  32. package/src/components/modules/adm/login/SignalrUser.vue +166 -0
  33. package/src/components/modules/adm/login/__Menu.js +1000 -0
  34. package/src/components/modules/adm/notification/NotificationConfig.vue +827 -0
  35. package/src/components/modules/adm/parameter/ParameterBilling.js +9 -0
  36. package/src/components/modules/adm/parameter/ParameterBilling.vue +91 -0
  37. package/src/components/modules/adm/parameter/ParameterDangerZone.js +12 -0
  38. package/src/components/modules/adm/parameter/ParameterDangerZone.vue +159 -0
  39. package/src/components/modules/adm/parameter/ParameterOperational.js +8 -0
  40. package/src/components/modules/adm/parameter/ParameterOperational.vue +91 -0
  41. package/src/components/modules/adm/parameter/ParameterRental.js +43 -0
  42. package/src/components/modules/adm/parameter/ParameterRental.vue +226 -0
  43. package/src/components/modules/adm/parameter/ParameterStock.js +14 -0
  44. package/src/components/modules/adm/parameter/ParameterStock.vue +127 -0
  45. package/src/components/modules/adm/parameter/ParameterSystem.js +29 -0
  46. package/src/components/modules/adm/parameter/ParameterSystem.vue +118 -0
  47. package/src/components/modules/adm/plan/Nfse.vue +121 -0
  48. package/src/components/modules/adm/plan/Payment.vue +125 -0
  49. package/src/{component/signature → components/modules/adm/plan}/Warning.vue +14 -16
  50. package/src/components/modules/adm/register/Register.js +9 -0
  51. package/src/components/modules/adm/register/Register.vue +247 -0
  52. package/src/components/modules/adm/store/PurchaseHistory.vue +178 -0
  53. package/src/components/modules/adm/store/Store.vue +492 -0
  54. package/src/components/modules/adm/store/Success.vue +79 -0
  55. package/src/components/modules/adm/store/Term.vue +211 -0
  56. package/src/components/modules/adm/user/Profile.vue +131 -0
  57. package/src/components/modules/adm/user/Rules.vue +232 -0
  58. package/src/components/modules/adm/user/User.js +35 -0
  59. package/src/components/modules/adm/user/UserCreateUpdate.vue +277 -0
  60. package/src/components/modules/adm/user/UserRule.vue +78 -0
  61. package/src/components/modules/automation/AutomationBuilder.vue +54 -0
  62. package/src/components/modules/billing/billet/Billet.vue +133 -0
  63. package/src/components/modules/billing/billet/CancelBillet.vue +68 -0
  64. package/src/components/modules/billing/billet/CheckBillet.vue +122 -0
  65. package/src/components/modules/billing/billet/CreateBillet.vue +83 -0
  66. package/src/components/modules/billing/billet/PDFBillet.vue +116 -0
  67. package/src/components/modules/billing/billet/UpdateBillet.vue +78 -0
  68. package/src/components/modules/billing/billet-config/BilletConfig.js +12 -0
  69. package/src/components/modules/billing/billet-config/BilletConfigCreateUpdate.vue +91 -0
  70. package/src/components/modules/billing/generate-billing/GenerateBilling.vue +371 -0
  71. package/src/components/modules/billing/generate-billing/GenerateInvoice.vue +98 -0
  72. package/src/components/modules/billing/generate-billing/GenerateTaxDocument.vue +180 -0
  73. package/src/components/modules/billing/generate-billing/InvoiceOrTaxDocument.vue +61 -0
  74. package/src/components/modules/billing/generate-billing/ItemsRentForInvoice.vue +205 -0
  75. package/src/components/modules/billing/generate-billing/NewGenerateNfse.vue +430 -0
  76. package/src/components/modules/billing/generate-billing/SuccessBilling.vue +149 -0
  77. package/src/components/modules/billing/history-billet/HistoryBillet.vue +85 -0
  78. package/src/components/modules/billing/invoice/DropdownOptionsInvoice.vue +219 -0
  79. package/src/components/modules/billing/invoice/Invoice.js +30 -0
  80. package/src/components/modules/billing/invoice/InvoiceCreateUpdate.vue +209 -0
  81. package/src/components/modules/billing/invoice/InvoiceTotalization.vue +62 -0
  82. package/src/components/modules/billing/items-invoice/ItemsInvoice.js +20 -0
  83. package/src/components/modules/billing/items-invoice/ItemsInvoiceCreateUpdate.vue +138 -0
  84. package/src/components/modules/billing/items-invoice/ItemsInvoiceList.vue +235 -0
  85. package/src/components/modules/cashier/CashierMovementList.vue +186 -0
  86. package/src/components/modules/cashier/CloseCashier.js +9 -0
  87. package/src/components/modules/cashier/CloseCashier.vue +112 -0
  88. package/src/components/modules/cashier/OpenCashier.js +9 -0
  89. package/src/components/modules/cashier/OpenCashier.vue +154 -0
  90. package/src/components/modules/cashier/Totalization.vue +114 -0
  91. package/src/components/modules/crm/category-customer/CategoryCustomer.js +10 -0
  92. package/src/components/modules/crm/category-customer/CategoryCustomerCreateUpdate.vue +92 -0
  93. package/src/components/modules/crm/category-customer/OriginCustomer.js +10 -0
  94. package/src/components/modules/crm/category-customer/OriginCustomerCreateUpdate.vue +92 -0
  95. package/src/components/modules/dashboard/alert/Alert.vue +115 -0
  96. package/src/components/modules/dashboard/billing/PanelBillet.vue +211 -0
  97. package/src/components/modules/dashboard/billing/PanelInvoice.vue +189 -0
  98. package/src/components/modules/dashboard/config/ConfigDashboard.vue +253 -0
  99. package/src/components/modules/dashboard/favorite/Favorite.js +126 -0
  100. package/src/components/modules/dashboard/favorite/Favorite.vue +117 -0
  101. package/src/components/modules/dashboard/favorite/FavoriteCreateRemove.vue +136 -0
  102. package/src/components/modules/dashboard/favorite/_Favorite.vue +289 -0
  103. package/src/components/modules/dashboard/finance/BalanceBank.vue +124 -0
  104. package/src/components/modules/dashboard/finance/BalanceFinance.vue +186 -0
  105. package/src/components/modules/dashboard/finance/BillsToPay.vue +137 -0
  106. package/src/components/modules/dashboard/finance/BillsToReceive.vue +141 -0
  107. package/src/components/modules/dashboard/finance/FinancialCard.vue +132 -0
  108. package/src/components/modules/dashboard/finance/PanelFinance.vue +146 -0
  109. package/src/components/modules/dashboard/finance/PanelPayReceive.vue +228 -0
  110. package/src/components/modules/dashboard/finance/PaymentByStatus.vue +121 -0
  111. package/src/components/modules/dashboard/operational/DeliveryDevolution.vue +163 -0
  112. package/src/components/modules/dashboard/operational/PanelOperational.vue +230 -0
  113. package/src/components/modules/dashboard/rent/BalanceRent.vue +156 -0
  114. package/src/components/modules/dashboard/rent/PanelRent.vue +187 -0
  115. package/src/components/modules/dashboard/rent/PanelRent_old.vue +72 -0
  116. package/src/components/modules/dashboard/rent/RankingCollaborator.vue +166 -0
  117. package/src/components/modules/dashboard/rent/StatusCard.vue +134 -0
  118. package/src/components/modules/dashboard/rent/TotalRent.vue +133 -0
  119. package/src/components/modules/dashboard/rent/_BalanceRent.vue +176 -0
  120. package/src/components/modules/dashboard/rent/_RankingCollaborator.vue +173 -0
  121. package/src/components/modules/dashboard/rent/_TotalRent.vue +154 -0
  122. package/src/components/modules/dashboard/shared/SelectFilter.vue +136 -0
  123. package/src/components/modules/dashboard/signature/PanelSignature.vue +145 -0
  124. package/src/components/modules/dashboard/stock/TotalStock.vue +127 -0
  125. package/src/components/modules/dashboard/task/PanelTask.vue +122 -0
  126. package/src/components/modules/finance/bank/Bank.js +12 -0
  127. package/src/components/modules/finance/bank/BankCreateUpdate.vue +101 -0
  128. package/src/components/modules/finance/bank-account/BankAccountCreateUpdate.js +34 -0
  129. package/src/components/modules/finance/bank-account/BankAccountCreateUpdate.vue +234 -0
  130. package/src/components/modules/finance/bank-reconciliation/AddTransactionsList.vue +137 -0
  131. package/src/components/modules/finance/bank-reconciliation/BankReconciliation.js +7 -0
  132. package/src/components/modules/finance/bank-reconciliation/BankReconciliation.vue +164 -0
  133. package/src/components/modules/finance/bank-reconciliation/ImportPluggy.vue +95 -0
  134. package/src/components/modules/finance/bank-reconciliation/ItemFixedBar.vue +39 -0
  135. package/src/components/modules/finance/bank-reconciliation/ItemReconciliation.vue +125 -0
  136. package/src/components/modules/finance/bank-reconciliation/ReconciliationList.vue +185 -0
  137. package/src/components/modules/finance/bank-reconciliation/SuggestionList.vue +278 -0
  138. package/src/components/modules/finance/bank-reconciliation/TransactionsList.vue +211 -0
  139. package/src/components/modules/finance/chart-of-accounts/ChartOfAccounts.js +14 -0
  140. package/src/components/modules/finance/chart-of-accounts/ChartOfAccountsCreateUpdate.vue +108 -0
  141. package/src/components/modules/finance/chart-of-accounts/ChartOfAccountsCreateUpdateList.vue +260 -0
  142. package/src/components/modules/finance/cost-center/CostCenter.js +16 -0
  143. package/src/components/modules/finance/cost-center/CostCenterCreateUpdate.vue +128 -0
  144. package/src/components/modules/finance/cost-center/CostCenterList.vue +310 -0
  145. package/src/components/modules/finance/dre/DataCrossTable.vue +448 -0
  146. package/src/{component/report/Report.vue → components/modules/finance/dre/ReportCrossTable.vue} +52 -117
  147. package/src/components/modules/finance/new-payable-receivable/PayableReceivableConfig.vue +35 -0
  148. package/src/components/modules/finance/new-payable-receivable/PayableReceivableItem.vue +448 -0
  149. package/src/components/modules/finance/new-payable-receivable/PayableReceivableList.vue +321 -0
  150. package/src/components/modules/finance/new-payable-receivable/PayableReceivableSummary.vue +179 -0
  151. package/src/components/modules/finance/payable-receivable/PayableReceivable.js +57 -0
  152. package/src/components/modules/finance/payable-receivable/PayableReceivableCreateUpdate.vue +357 -0
  153. package/src/components/modules/finance/pluggy/PluggyConnect.vue +91 -0
  154. package/src/components/modules/finance/relationship-rent/RelationshipRentCreateUpdate.vue +127 -0
  155. package/src/components/modules/finance/relationship-rent/RelationshipRentList.vue +164 -0
  156. package/src/components/modules/finance/transfer-account/TransferAccount.js +18 -0
  157. package/src/components/modules/finance/transfer-account/TransferAccountCreateUpdate.vue +130 -0
  158. package/src/components/modules/finance/type-payment/TypePayment.js +14 -0
  159. package/src/components/modules/finance/type-payment/TypePaymentCreateUpdate.vue +125 -0
  160. package/src/components/modules/human-resources/collaborator/Collaborator.js +38 -0
  161. package/src/components/modules/human-resources/collaborator/CollaboratorCreate.vue +125 -0
  162. package/src/components/modules/human-resources/collaborator/CollaboratorCreateUpdate.vue +200 -0
  163. package/src/components/modules/human-resources/collaborator/ConsultantCreateUpdate.vue +86 -0
  164. package/src/components/modules/ia/Nixia.vue +327 -0
  165. package/src/components/modules/maintenance/items-order-service/ItemsOrderService.js +44 -0
  166. package/src/components/modules/maintenance/items-order-service/ItemsOrderServiceCreateUpdate.vue +272 -0
  167. package/src/components/modules/maintenance/items-order-service/ItemsOrderServiceItem.vue +181 -0
  168. package/src/components/modules/maintenance/items-order-service/ItemsOrderServiceList.vue +132 -0
  169. package/src/components/modules/maintenance/order-service/DropdownOptionsOs.vue +66 -0
  170. package/src/components/modules/maintenance/order-service/OrderService.js +33 -0
  171. package/src/components/modules/maintenance/order-service/OrderServiceCreateUpdate.vue +198 -0
  172. package/src/components/modules/maintenance/order-service/OrderServiceTotalization.vue +49 -0
  173. package/src/components/modules/maintenance/os-panel/OsPanel.vue +269 -0
  174. package/src/components/modules/maintenance/os-panel/OsPanelItem.vue +199 -0
  175. package/src/components/modules/maintenance/payment-os/PaymentOs.js +19 -0
  176. package/src/components/modules/maintenance/payment-os/PaymentOsCreateUpdate.vue +130 -0
  177. package/src/components/modules/maintenance/payment-os/PaymentOsList.vue +249 -0
  178. package/src/components/modules/notifications/Comunication.vue +51 -0
  179. package/src/components/modules/notifications/Emails.vue +91 -0
  180. package/src/components/modules/notifications/Messaging.vue +40 -0
  181. package/src/components/modules/operational/AddressRentList.vue +124 -0
  182. package/src/components/modules/operational/ButtonMovimentStock.vue +136 -0
  183. package/src/components/modules/operational/ItemsRentList.vue +319 -0
  184. package/src/components/modules/operational/OperationRent.vue +138 -0
  185. package/src/components/modules/operational/OsPanel.vue +534 -0
  186. package/src/components/modules/operational/ReservationPanel.vue +224 -0
  187. package/src/components/modules/operational/SearchByFilter.vue +121 -0
  188. package/src/components/modules/operational/SearchList.vue +198 -0
  189. package/src/components/modules/operational/TeamRent.vue +152 -0
  190. package/src/components/modules/operational/items-rent/ItemRentOperationalUpdate.vue +131 -0
  191. package/src/components/modules/operational/items-rent/ItemsRent.js +28 -0
  192. package/src/components/modules/operational/items-rent/ItemsRentOperationalCreate.vue +122 -0
  193. package/src/components/modules/operational/items-rent/ItemsRentOperationalList.vue +481 -0
  194. package/src/components/modules/operational/movement-bulk/Errors.vue +28 -0
  195. package/src/components/modules/operational/movement-bulk/ItemConflict.vue +95 -0
  196. package/src/components/modules/operational/movement-bulk/ItemMovementBulkOutPut.vue +185 -0
  197. package/src/components/modules/operational/movement-bulk/ItemsMovementBulk.vue +189 -0
  198. package/src/components/modules/operational/movement-bulk/ItemsPatrimony.vue +98 -0
  199. package/src/components/modules/operational/movement-bulk/ListItemGrouped.vue +92 -0
  200. package/src/components/modules/operational/movement-bulk/MovementBulk.js +23 -0
  201. package/src/components/modules/operational/movement-bulk/MovementBulkCreateUpdate.vue +138 -0
  202. package/src/components/modules/operational/movement-bulk/MovementBulkUpdate.vue +493 -0
  203. package/src/components/modules/operational/movement-bulk/OldMovementBulkUpdate.vue +591 -0
  204. package/src/components/modules/operational/movement-bulk/RentsDistribution.vue +196 -0
  205. package/src/components/modules/operational/movement-bulk/SuccessMovement.vue +62 -0
  206. package/src/components/modules/operational/rent/DropdownOptionsRentOperational.vue +201 -0
  207. package/src/components/modules/operational/rent/RentOperational.js +40 -0
  208. package/src/components/modules/operational/rent/RentOperationalCreateUpdate.vue +336 -0
  209. package/src/components/modules/pdv/rent/AddressRentList.vue +135 -0
  210. package/src/components/modules/pdv/rent/FinalizeRent.vue +147 -0
  211. package/src/components/modules/pdv/rent/ItemsRentList.vue +235 -0
  212. package/src/components/modules/pdv/rent/ItemsRentUpdate.vue +137 -0
  213. package/src/components/modules/pdv/rent/PrintPdv.vue +84 -0
  214. package/src/components/modules/pdv/rent/Rent.js +12 -0
  215. package/src/components/modules/pdv/rent/RentCreate.vue +470 -0
  216. package/src/components/modules/pdv/rent/SearchByBarcode.vue +91 -0
  217. package/src/components/modules/pdv/rent/SearchByFilter.vue +120 -0
  218. package/src/components/modules/pdv/rent/SearchList.vue +159 -0
  219. package/src/components/modules/pdv/rent/SearchManual.vue +125 -0
  220. package/src/components/modules/pdv/rent/SuccessPdvRent.vue +82 -0
  221. package/src/components/modules/planner/card/Card.js +16 -0
  222. package/src/components/modules/planner/card/CardCreate.vue +78 -0
  223. package/src/components/modules/planner/card/CardEdit.vue +177 -0
  224. package/src/components/modules/planner/card/JobCreateUpdate.vue +120 -0
  225. package/src/components/modules/planner/card/JobList.vue +209 -0
  226. package/src/components/modules/planner/card/RentLinked.vue +70 -0
  227. package/src/components/modules/planner/card/RentLinkedList.vue +216 -0
  228. package/src/components/modules/planner/card/ResponsibleUser.vue +149 -0
  229. package/src/components/modules/planner/comment/CommentListCreateEdit.vue +253 -0
  230. package/src/components/modules/planner/funnel/Funnel.js +19 -0
  231. package/src/components/modules/planner/funnel/FunnelCreateUpdate.vue +151 -0
  232. package/src/components/modules/planner/funnel/FunnelList.vue +193 -0
  233. package/src/components/modules/planner/kanban/Badge.vue +19 -0
  234. package/src/components/modules/planner/kanban/Card.vue +271 -0
  235. package/src/components/modules/planner/kanban/Kanban.vue +496 -0
  236. package/src/components/modules/planner/step/ColorStep.vue +56 -0
  237. package/src/components/modules/planner/step/SelectStep.vue +135 -0
  238. package/src/components/modules/rental/Rental.drawio +85 -0
  239. package/src/components/modules/rental/address-rent/AddressRent.js +13 -0
  240. package/src/components/modules/rental/address-rent/AddressRentCreateUpdate.vue +149 -0
  241. package/src/components/modules/rental/address-rent/AddressRentList.vue +63 -0
  242. package/src/components/modules/rental/address-rent/ImportAddress.vue +58 -0
  243. package/src/components/modules/rental/billing/InvoiceList.vue +246 -0
  244. package/src/components/modules/rental/clone-rent/CloneRent.vue +144 -0
  245. package/src/components/modules/rental/expense/Expense.js +29 -0
  246. package/src/components/modules/rental/expense/ExpenseCreateUpdate.vue +111 -0
  247. package/src/components/modules/rental/expense/ExpenseList.vue +96 -0
  248. package/src/components/modules/rental/group-rent/GroupRent.js +10 -0
  249. package/src/components/modules/rental/group-rent/GroupRentCreateUpdate.vue +97 -0
  250. package/src/components/modules/rental/items-kit-rent/ItemsKitRent.js +18 -0
  251. package/src/components/modules/rental/items-kit-rent/ItemsKitRentList.vue +154 -0
  252. package/src/components/modules/rental/items-kit-rent/ItemsKitRentUpdate.vue +119 -0
  253. package/src/components/modules/rental/items-rent/ApplyDiscount.vue +52 -0
  254. package/src/components/modules/rental/items-rent/DisableMovement.vue +54 -0
  255. package/src/components/modules/rental/items-rent/ItemRentFixedBar.vue +198 -0
  256. package/src/components/modules/rental/items-rent/ItemRentStockAvailability.vue +120 -0
  257. package/src/components/modules/rental/items-rent/ItemRentUpdate.vue +222 -0
  258. package/src/components/modules/rental/items-rent/ItemsAccessoryCreate.vue +148 -0
  259. package/src/components/modules/rental/items-rent/ItemsAccessoryList.vue +269 -0
  260. package/src/components/modules/rental/items-rent/ItemsRent.js +40 -0
  261. package/src/components/modules/rental/items-rent/ItemsRentCreate.vue +181 -0
  262. package/src/components/modules/rental/items-rent/ItemsRentList.vue +566 -0
  263. package/src/components/modules/rental/items-rent/ItemsRentStatusStock.vue +121 -0
  264. package/src/components/modules/rental/items-rent/ItemsRentalInvoice.vue +45 -0
  265. package/src/components/modules/rental/items-rent/ItemsRentalTotalization.vue +73 -0
  266. package/src/components/modules/rental/items-rent/RecalculateValue.vue +52 -0
  267. package/src/components/modules/rental/items-rent/UpdateStatusInvoicing.vue +50 -0
  268. package/src/components/modules/rental/kit-rent/KitRent.js +16 -0
  269. package/src/components/modules/rental/kit-rent/KitRentCreateUpdate.vue +146 -0
  270. package/src/components/modules/rental/maintenance/ItemsOsList.vue +172 -0
  271. package/src/components/modules/rental/moviment/MovimentList.vue +374 -0
  272. package/src/components/modules/rental/new-items-rent/ApplyDiscount.vue +131 -0
  273. package/src/components/modules/rental/new-items-rent/BadgeAvailabilityStock.vue +110 -0
  274. package/src/components/modules/rental/new-items-rent/BadgeStatusInvoice.vue +73 -0
  275. package/src/components/modules/rental/new-items-rent/BadgeStatusStock.vue +144 -0
  276. package/src/components/modules/rental/new-items-rent/BadgeTotalization.vue +224 -0
  277. package/src/components/modules/rental/new-items-rent/GroupDraggable.vue +880 -0
  278. package/src/components/modules/rental/new-items-rent/GroupSubgroupSelector.vue +758 -0
  279. package/src/components/modules/rental/new-items-rent/GroupSubgroupTransfer.vue +58 -0
  280. package/src/components/modules/rental/new-items-rent/GroupTemplateModal.vue +368 -0
  281. package/src/components/modules/rental/new-items-rent/IconTypeEquipament.vue +24 -0
  282. package/src/components/modules/rental/new-items-rent/InputSmartValue.vue +97 -0
  283. package/src/components/modules/rental/new-items-rent/ItemKitOrAccessoryList.vue +177 -0
  284. package/src/components/modules/rental/new-items-rent/ItemRentSection.vue +134 -0
  285. package/src/components/modules/rental/new-items-rent/ItemRentUpdate.vue +158 -0
  286. package/src/components/modules/rental/new-items-rent/ItemsAccessoryList.vue +13 -0
  287. package/src/components/modules/rental/new-items-rent/ItemsRent.js +51 -0
  288. package/src/components/modules/rental/new-items-rent/ItemsRentCreate.vue +367 -0
  289. package/src/components/modules/rental/new-items-rent/ItemsRentList.vue +1445 -0
  290. package/src/components/modules/rental/new-items-rent/ItemsRentRow.vue +256 -0
  291. package/src/components/modules/rental/new-items-rent/RecalculateValue.vue +54 -0
  292. package/src/components/modules/rental/new-items-rent/RemoveItem.vue +93 -0
  293. package/src/components/modules/rental/new-items-rent/SearchProductsToolbar.vue +323 -0
  294. package/src/components/modules/rental/nfse/NfseList.vue +167 -0
  295. package/src/components/modules/rental/nfse/NfseListItem.vue +195 -0
  296. package/src/components/modules/rental/payment-rent/PaymentRent.js +20 -0
  297. package/src/components/modules/rental/payment-rent/PaymentRentCreateUpdate.vue +159 -0
  298. package/src/components/modules/rental/payment-rent/PaymentRentList.vue +216 -0
  299. package/src/components/modules/rental/period-rental/GeneratePeriodRent.js +8 -0
  300. package/src/components/modules/rental/period-rental/GeneratePeriodRent.vue +171 -0
  301. package/src/components/modules/rental/period-rental/PeriodRent.js +20 -0
  302. package/src/components/modules/rental/period-rental/PeriodRentCreateUpdate.vue +191 -0
  303. package/src/components/modules/rental/period-rental/PeriodRentItem.vue +64 -0
  304. package/src/components/modules/rental/period-rental/PeriodRentList.vue +61 -0
  305. package/src/components/modules/rental/period-rental/SelectOptionPeriodRent.vue +153 -0
  306. package/src/components/modules/rental/rent/Rent.js +50 -0
  307. package/src/components/modules/rental/rent/RentAccept.vue +52 -0
  308. package/src/components/modules/rental/rent/RentArchive.vue +40 -0
  309. package/src/components/modules/rental/rent/RentCreateUpdate.vue +640 -0
  310. package/src/components/modules/rental/rent/RentProgress.vue +47 -0
  311. package/src/components/modules/rental/rent/RentReject.vue +77 -0
  312. package/src/components/modules/rental/rent/RentTotalizationRent.vue +161 -0
  313. package/src/components/modules/rental/shared/CollaboratorWithUser.vue +84 -0
  314. package/src/components/modules/rental/shared/CustomerWithCreate.vue +79 -0
  315. package/src/components/modules/rental/shared/DropdownOptionsRent.vue +360 -0
  316. package/src/components/modules/rental/shared/import-product-rent/ImportProductByRent.vue +124 -0
  317. package/src/components/modules/rental/shared/import-product-rent/ItemsImportList.vue +198 -0
  318. package/src/components/modules/rental/shared/import-product-rent/ItemsImportList_old.vue +197 -0
  319. package/src/components/modules/rental/team/Team.js +31 -0
  320. package/src/components/modules/rental/team/TeamCreateUpdate.vue +149 -0
  321. package/src/components/modules/rental/team/TeamList.vue +174 -0
  322. package/src/components/modules/rental/type-rent/TypeRent.js +10 -0
  323. package/src/components/modules/rental/type-rent/TypeRentCreateUpdate.vue +111 -0
  324. package/src/components/modules/rfid/linker-rfid/ProductRfidLinker.vue +629 -0
  325. package/src/components/modules/rfid/linker-rfid/ProductRfidLinkerList.vue +399 -0
  326. package/src/components/modules/rfid/linker-rfid/SuccessMessage.vue +74 -0
  327. package/src/components/modules/rfid/receive/ReceiveTags.vue +472 -0
  328. package/src/components/modules/shared/ParametersInfo.vue +176 -0
  329. package/src/components/modules/shared/address/Address.js +32 -0
  330. package/src/components/modules/shared/address/AddressCreateUpdate.vue +134 -0
  331. package/src/components/modules/shared/address/AddressList.vue +101 -0
  332. package/src/components/modules/shared/checklist/ChecklistCreateUpdateList.vue +210 -0
  333. package/src/components/modules/shared/contact/Contact.js +20 -0
  334. package/src/components/modules/shared/contact/ContactCreateUpdate.vue +135 -0
  335. package/src/components/modules/shared/contact/ContactList.vue +100 -0
  336. package/src/components/modules/shared/customer-supplier/CustomerSupplier.js +53 -0
  337. package/src/components/modules/shared/customer-supplier/CustomerSupplierCreate.vue +164 -0
  338. package/src/components/modules/shared/customer-supplier/CustomerSupplierCreateUpdate.vue +350 -0
  339. package/src/components/modules/shared/document-version/DocumentVersionList.vue +112 -0
  340. package/src/components/modules/shared/google-calendar/ErrorsGoogle.vue +40 -0
  341. package/src/components/modules/shared/google-calendar/GoogleCalendar.vue +294 -0
  342. package/src/components/modules/shared/google-calendar/NotificationSetting.vue +141 -0
  343. package/src/components/modules/shared/job/Job.js +33 -0
  344. package/src/components/modules/shared/job/JobCreateUpdate.vue +408 -0
  345. package/src/components/modules/shared/note/NoteListCreateEdit.vue +308 -0
  346. package/src/components/modules/shared/parameters/locacaoParameters.js +56 -0
  347. package/src/components/modules/shared/parameters/taxationParameters.js +49 -0
  348. package/src/components/modules/shared/payment-items/Payment.js +18 -0
  349. package/src/components/modules/shared/payment-items/PaymentCreate.vue +127 -0
  350. package/src/components/modules/shared/payment-items/PaymentUpdate.vue +69 -0
  351. package/src/components/modules/shared/payment-items/PaymentsList.vue +170 -0
  352. package/src/components/modules/shared/payment-items/RepeatPayment.vue +108 -0
  353. package/src/components/modules/shared/tag/Tag.js +13 -0
  354. package/src/components/modules/shared/tag/TagCreateUpdate.vue +104 -0
  355. package/src/components/modules/shared/tag/Tags.vue +369 -0
  356. package/src/components/modules/signature/send-signature/SendSingleSignature.vue +57 -0
  357. package/src/components/modules/signature/signature-config/SignatureConfig.vue +118 -0
  358. package/src/components/modules/signature/signature-file/SignatureFileList.vue +125 -0
  359. package/src/components/modules/signature/signer/SignerList.vue +150 -0
  360. package/src/components/modules/signature/signer/SignerListForMessaging.vue +116 -0
  361. package/src/components/modules/stock/accessory/Accessory.js +16 -0
  362. package/src/components/modules/stock/accessory/AccessoryList.vue +134 -0
  363. package/src/components/modules/stock/accessory/AccessoryUpdate.vue +155 -0
  364. package/src/components/modules/stock/availability-product/AvailabilityProduct.vue +196 -0
  365. package/src/components/modules/stock/category-product/CategoryProduct.js +12 -0
  366. package/src/components/modules/stock/category-product/CategoryProductCreateUpdate.vue +102 -0
  367. package/src/components/modules/stock/history-moviment/HistoryMoviment.vue +92 -0
  368. package/src/components/modules/stock/history-patrimony/HistoryPatrimony.vue +85 -0
  369. package/src/components/modules/stock/items-moviment/PatrimonyMoviment.vue +134 -0
  370. package/src/components/modules/stock/manufacturer/Manufacturer.js +10 -0
  371. package/src/components/modules/stock/manufacturer/ManufacturerCreateUpdate.vue +111 -0
  372. package/src/components/modules/stock/moviment/AddOrRemoveMaintenance.vue +294 -0
  373. package/src/components/modules/stock/moviment/ItemProductRent.vue +114 -0
  374. package/src/components/modules/stock/moviment/ItemProductSelected.vue +78 -0
  375. package/src/components/modules/stock/moviment/ItemsRentForRecalculatePrice.vue +113 -0
  376. package/src/components/modules/stock/moviment/PrintMoviment.vue +70 -0
  377. package/src/components/modules/stock/moviment/ProductAdd.vue +224 -0
  378. package/src/components/modules/stock/moviment/ProductRent.vue +248 -0
  379. package/src/components/modules/stock/moviment/ProductSelected.vue +204 -0
  380. package/src/components/modules/stock/moviment/RentAndSelected.vue +61 -0
  381. package/src/components/modules/stock/moviment/ReplacementPatrimony.vue +273 -0
  382. package/src/components/modules/stock/moviment/SuccessMoviment.vue +100 -0
  383. package/src/components/modules/stock/moviment/TotalizationItemsMoviment.vue +86 -0
  384. package/src/components/modules/stock/moviment/Warning.vue +231 -0
  385. package/src/components/modules/stock/moviment/output/CheckOutput.vue +369 -0
  386. package/src/components/modules/stock/moviment/output/GenerateOutput.vue +149 -0
  387. package/src/components/modules/stock/moviment/renewed/CheckRenewed.vue +405 -0
  388. package/src/components/modules/stock/moviment/renewed/GenerateRenewed.vue +194 -0
  389. package/src/components/modules/stock/moviment/return/CheckReturn.vue +544 -0
  390. package/src/components/modules/stock/moviment/return/GenerateReturn.vue +127 -0
  391. package/src/components/modules/stock/patrimony/Patrimony.js +22 -0
  392. package/src/components/modules/stock/patrimony/PatrimonyCreateUpdate.vue +230 -0
  393. package/src/components/modules/stock/patrimony/PatrimonyList.vue +364 -0
  394. package/src/components/modules/stock/price-table/PriceTable.js +19 -0
  395. package/src/components/modules/stock/price-table/PriceTableCreateUpdate.vue +210 -0
  396. package/src/components/modules/stock/price-table/PriceTableList.vue +92 -0
  397. package/src/components/modules/stock/product/Product.js +56 -0
  398. package/src/components/modules/stock/product/ProductCreateUpdate.vue +360 -0
  399. package/src/components/modules/stock/search-product/ProductItem.vue +398 -0
  400. package/src/components/modules/stock/search-product/SearchByBarcode.vue +163 -0
  401. package/src/components/modules/stock/search-product/SearchProduct.vue +268 -0
  402. package/src/components/modules/stock/search-product/SearchProduct_old.vue +440 -0
  403. package/src/components/modules/stock/shared/TimeLineAvailability.vue +239 -0
  404. package/src/components/modules/stock/type-product/TypeProduct.js +12 -0
  405. package/src/components/modules/stock/type-product/TypeProductCreateUpdate.vue +108 -0
  406. package/src/components/modules/stock/unit-of-measurement/UnitOfMeasurement.js +12 -0
  407. package/src/components/modules/stock/unit-of-measurement/UnitOfMeasurementCreateUpdate.vue +124 -0
  408. package/src/components/modules/supplier/items-supplier-order/ItemsSupplierOrder.js +22 -0
  409. package/src/components/modules/supplier/items-supplier-order/ItemsSupplierOrderCreate.vue +78 -0
  410. package/src/components/modules/supplier/items-supplier-order/ItemsSupplierOrderFixedBar.vue +112 -0
  411. package/src/components/modules/supplier/items-supplier-order/ItemsSupplierOrderList.vue +251 -0
  412. package/src/components/modules/supplier/items-supplier-order/ItemsSupplierOrderUpdate.vue +124 -0
  413. package/src/components/modules/supplier/payment-supplier-order/PaymentSupplierOrder.js +17 -0
  414. package/src/components/modules/supplier/payment-supplier-order/PaymentSupplierOrderCreateUpdate.vue +128 -0
  415. package/src/components/modules/supplier/payment-supplier-order/PaymentSupplierOrderList.vue +199 -0
  416. package/src/components/modules/supplier/shared/SupplierWithCreate.vue +80 -0
  417. package/src/components/modules/supplier/supplier-order/DropdownOptionsSupplierOrder.vue +190 -0
  418. package/src/components/modules/supplier/supplier-order/SupplierOrder.js +51 -0
  419. package/src/components/modules/supplier/supplier-order/SupplierOrderAccept.vue +39 -0
  420. package/src/components/modules/supplier/supplier-order/SupplierOrderArchive.vue +40 -0
  421. package/src/components/modules/supplier/supplier-order/SupplierOrderCreateUpdate.vue +301 -0
  422. package/src/components/modules/supplier/supplier-order/SupplierOrderProgress.vue +52 -0
  423. package/src/components/modules/supplier/supplier-order/SupplierOrderReject.vue +51 -0
  424. package/src/components/modules/tax-document/certificate/Certificate.vue +193 -0
  425. package/src/components/modules/tax-document/cfop/Cfop.js +12 -0
  426. package/src/components/modules/tax-document/cfop/CfopCreateUpdate.vue +96 -0
  427. package/src/components/modules/tax-document/company/CompanyTaxation.vue +270 -0
  428. package/src/components/modules/tax-document/company/ConfigCompany.vue +359 -0
  429. package/src/components/modules/tax-document/company/Imposto.vue +198 -0
  430. package/src/components/modules/tax-document/company/Logo.vue +54 -0
  431. package/src/components/modules/tax-document/items-nfe/ItemsNfe.js +19 -0
  432. package/src/components/modules/tax-document/items-nfe/ItemsNfeCreate.vue +79 -0
  433. package/src/components/modules/tax-document/items-nfe/ItemsNfeList.vue +227 -0
  434. package/src/components/modules/tax-document/items-nfe/ItemsNfeUpdate.vue +123 -0
  435. package/src/components/modules/tax-document/json/JsonInterpreter.vue +366 -0
  436. package/src/components/modules/tax-document/nature-operation/NatureOperation.js +10 -0
  437. package/src/components/modules/tax-document/nature-operation/NatureOperationCreateUpdate.vue +92 -0
  438. package/src/components/modules/tax-document/nfe/Nfe.js +30 -0
  439. package/src/components/modules/tax-document/nfe/NfeCreateUpdate.vue +237 -0
  440. package/src/components/modules/tax-document/nfe/NfeTotalization.vue +49 -0
  441. package/src/components/modules/tax-document/nfse/ConfigNfse.vue +233 -0
  442. package/src/components/modules/tax-document/nfse/LocalEvento.vue +135 -0
  443. package/src/components/modules/tax-document/nfse/Nfse.js +150 -0
  444. package/src/components/modules/tax-document/nfse/NfseCreateUpdate.vue +312 -0
  445. package/src/components/modules/tax-document/nfse/NfseCreateUpdate_Plug.vue +221 -0
  446. package/src/components/modules/tax-document/nfse/Tributacao.vue +20 -0
  447. package/src/components/modules/tax-document/nfse/TributacaoMunicipal.vue +164 -0
  448. package/src/components/modules/tax-document/nfse/TributacaoNacional.vue +86 -0
  449. package/src/components/modules/tax-document/nfse/Tributacao_Plug.vue +185 -0
  450. package/src/components/modules/tax-document/nfse-nacional/Dados.vue +205 -0
  451. package/src/components/modules/tax-document/nfse-nacional/Imposto.vue +154 -0
  452. package/src/components/modules/tax-document/nfse-nacional/NfseNacional.js +211 -0
  453. package/src/components/modules/tax-document/nfse-nacional/NfseNacionalCreateUpdate.vue +413 -0
  454. package/src/components/modules/tax-document/nfse-nacional/RegimeTributario.vue +140 -0
  455. package/src/components/modules/tax-document/nfse-nacional/Transparencia.vue +98 -0
  456. package/src/components/modules/tax-document/nfse-prefeitura/Dados.vue +212 -0
  457. package/src/components/modules/tax-document/nfse-prefeitura/Imposto.vue +212 -0
  458. package/src/components/modules/tax-document/nfse-prefeitura/NfsePrefeitura.js +187 -0
  459. package/src/components/modules/tax-document/nfse-prefeitura/NfsePrefeituraCreateUpdate.vue +232 -0
  460. package/src/components/modules/tax-document/nfse-prefeitura/RegimeTributario.vue +244 -0
  461. package/src/components/modules/tax-document/nfse-prefeitura/Transparencia.vue +85 -0
  462. package/src/components/modules/tax-document/nfse-shared/NfseDropdownOptions.vue +448 -0
  463. package/src/components/modules/tax-document/nfse-shared/NfseEmProcessamento.vue +50 -0
  464. package/src/components/modules/tax-document/nfse-shared/NfseLocalEvento.vue +184 -0
  465. package/src/components/modules/tax-document/nfse-shared/NfseMensagemErro.vue +52 -0
  466. package/src/components/modules/tax-document/nfse-shared/NfseStatus.js +27 -0
  467. package/src/components/modules/tax-document/notification/InputTagEmail.vue +89 -0
  468. package/src/components/modules/tax-document/notification/Notificacao.vue +121 -0
  469. package/src/components/modules/tax-document/shared/DropdownOptionsNfs.vue +271 -0
  470. package/src/components/modules/tax-document/shared/Helpers.js +1283 -0
  471. package/src/components/modules/tax-document/shared/OpcoesFiscaisGoverno.vue +236 -0
  472. package/src/components/modules/tax-document/shared/OpcoesTributarias.js +117 -0
  473. package/src/components/modules/tax-document/shared/classificacaoTributaria.js +288 -0
  474. package/src/components/modules/tax-document/shared/cnae.js +675 -0
  475. package/src/components/modules/tax-document/shared/codigoLC116.js +816 -0
  476. package/src/components/modules/tax-document/shared/codigoTributacaoNacional.js +1344 -0
  477. package/src/components/modules/tax-document/shared/tributacaoIBSCBS.js +76 -0
  478. package/src/components/modules/tax-document/taxation/Taxation.js +23 -0
  479. package/src/components/modules/tax-document/taxation/TaxationCreateUpdate.vue +306 -0
  480. package/src/components/modules/tax-document/taxation/TaxationCreateUpdate_Plug.vue +202 -0
  481. package/src/components/modules/tax-document/wizard/StepByStep.vue +1306 -0
  482. package/src/config/axios.js +32 -9
  483. package/src/config/dicas.js +14 -14
  484. package/src/config/router.js +352 -13
  485. package/src/config/tips.js +9 -0
  486. package/src/config/token.js +13 -14
  487. package/src/main.js +75 -23
  488. package/src/store/modules/generateMoviment.js +102 -0
  489. package/src/store/modules/paymentShared.js +39 -0
  490. package/src/store/modules/pdv.js +107 -0
  491. package/src/store/modules/rfid.js +49 -0
  492. package/src/store/store.js +23 -13
  493. package/src/views/modules/adm/Authorization.vue +45 -0
  494. package/src/views/modules/adm/BilletFranchise.vue +38 -0
  495. package/src/views/modules/adm/Company.vue +34 -0
  496. package/src/views/modules/adm/ConfirmMailMobile.vue +85 -0
  497. package/src/views/modules/adm/DocumentCreateUpdate.vue +88 -0
  498. package/src/views/modules/adm/DocumentList.vue +112 -0
  499. package/src/views/modules/adm/DocumentPreviewPublic.vue +124 -0
  500. package/src/views/modules/adm/DocumentPublic.vue +73 -0
  501. package/src/views/modules/adm/Login.vue +172 -0
  502. package/src/views/modules/adm/LoginRedirect.vue +74 -0
  503. package/src/views/modules/adm/LoginTemp.vue +63 -0
  504. package/src/views/modules/adm/NfeFranchise.vue +38 -0
  505. package/src/views/modules/adm/NfseFranchise.vue +38 -0
  506. package/src/views/modules/adm/Notification.vue +43 -0
  507. package/src/views/modules/adm/Parameter.vue +104 -0
  508. package/src/views/modules/adm/Plan.vue +77 -0
  509. package/src/views/modules/adm/Register.vue +70 -0
  510. package/src/views/modules/adm/ReportAdm.vue +35 -0
  511. package/src/views/modules/adm/ReportAudit.vue +86 -0
  512. package/src/views/modules/adm/ResetPassword.vue +73 -0
  513. package/src/views/modules/adm/SignatureFranchise.vue +38 -0
  514. package/src/views/modules/adm/Store.vue +47 -0
  515. package/src/views/modules/adm/UserCreateUpdate.vue +66 -0
  516. package/src/views/modules/adm/UserList.vue +181 -0
  517. package/src/views/modules/adm/model/ParameterExemple.js +506 -0
  518. package/src/views/modules/adm/model/ParameterLegend.js +1195 -0
  519. package/src/views/modules/billing/BilletConfigList.vue +90 -0
  520. package/src/views/modules/billing/BilletList.vue +335 -0
  521. package/src/views/modules/billing/CancelInvoice.vue +97 -0
  522. package/src/views/modules/billing/GenerateBilling.vue +41 -0
  523. package/src/views/modules/billing/InvoiceCreateUpdate.vue +45 -0
  524. package/src/views/modules/billing/InvoiceList.vue +209 -0
  525. package/src/views/modules/billing/ReportBillet.vue +35 -0
  526. package/src/views/modules/billing/ReportBilling.vue +35 -0
  527. package/src/views/modules/billing/ReportInvoice.vue +129 -0
  528. package/src/views/modules/billing/ReturnShipment.vue +250 -0
  529. package/src/views/modules/billing/Shipment.vue +141 -0
  530. package/src/views/modules/billing/ShipmentReturnList.vue +54 -0
  531. package/src/views/modules/billing/ToProfitList.vue +232 -0
  532. package/src/views/modules/billing/_ReportBillet.vue +124 -0
  533. package/src/views/modules/calendar/Calendar.vue +394 -0
  534. package/src/views/modules/cashier/CashierList.vue +192 -0
  535. package/src/views/modules/course/Course.vue +31 -0
  536. package/src/views/modules/crm/CategoryCustomer.vue +73 -0
  537. package/src/views/modules/crm/ConfigCrm.vue +65 -0
  538. package/src/views/modules/crm/CustomerCreateUpdate.vue +58 -0
  539. package/src/views/modules/crm/CustomerList.vue +138 -0
  540. package/src/views/modules/crm/ImportCustomer.vue +149 -0
  541. package/src/views/modules/crm/OriginCustomer.vue +74 -0
  542. package/src/views/modules/crm/ReportCrm.vue +35 -0
  543. package/src/views/modules/crm/ReportCustomer.vue +331 -0
  544. package/src/views/modules/dashboard/Dashboard.vue +449 -0
  545. package/src/views/modules/dashboard/DashboardProfile.js +16 -0
  546. package/src/views/modules/dashboard/_Dashboard.vue +269 -0
  547. package/src/views/modules/faturamento/AFaturar.vue +189 -0
  548. package/src/views/modules/faturamento/HistoricoAFaturar.vue +167 -0
  549. package/src/views/modules/faturamento/ListaConfigAFaturar.vue +47 -0
  550. package/src/views/modules/faturamento/Semaforo.vue +135 -0
  551. package/src/views/modules/finance/Bank.vue +85 -0
  552. package/src/views/modules/finance/BankAccountCreateUpdate.vue +58 -0
  553. package/src/views/modules/finance/BankAccountList.vue +127 -0
  554. package/src/views/modules/finance/BankReconciliation.vue +50 -0
  555. package/src/views/modules/finance/ConfigFinance.vue +72 -0
  556. package/src/views/modules/finance/CostCenter.vue +20 -0
  557. package/src/views/modules/finance/DrePayableReceivable.vue +248 -0
  558. package/src/views/modules/finance/NewPayableReceivableList.vue +239 -0
  559. package/src/views/modules/finance/PayableReceivableCreateUpdate.vue +58 -0
  560. package/src/views/modules/finance/PayableReceivableList.vue +490 -0
  561. package/src/views/modules/finance/ReportFinance.vue +46 -0
  562. package/src/views/modules/finance/ReportPayableReceivable.vue +312 -0
  563. package/src/views/modules/finance/TransferAccountList.vue +154 -0
  564. package/src/views/modules/finance/TypePayment.vue +80 -0
  565. package/src/views/modules/financeiro/CentroCusto.vue +112 -0
  566. package/src/views/modules/financeiro/PlanoConta.vue +111 -0
  567. package/src/views/modules/financeiro/TipoPagamento.vue +111 -0
  568. package/src/views/modules/human-resources/CollaboratorCreateUpdate.vue +68 -0
  569. package/src/views/modules/human-resources/CollaboratorList.vue +110 -0
  570. package/src/views/modules/locacao/InserirLocacaoPadrao.vue +54 -0
  571. package/src/views/modules/locacao/InserirLocacaoPdv.vue +104 -0
  572. package/src/views/modules/locacao/LocacaoPdvFinalizada.vue +75 -0
  573. package/src/views/modules/maintenance/OrderServiceCreateUpdate.vue +48 -0
  574. package/src/views/modules/maintenance/OrderServiceList.vue +190 -0
  575. package/src/views/modules/maintenance/OsPanel.vue +34 -0
  576. package/src/views/modules/maintenance/ReportMaintenance.vue +38 -0
  577. package/src/views/modules/maintenance/ReportOrderService.vue +124 -0
  578. package/src/views/modules/maintenance/ReportProductOrderService.vue +207 -0
  579. package/src/views/modules/manutencao/InserirEditarOrdemServico.vue +94 -0
  580. package/src/views/modules/manutencao/Material.vue +123 -0
  581. package/src/views/modules/manutencao/OrdemServico.vue +145 -0
  582. package/src/views/modules/manutencao/TipoManutencao.vue +94 -0
  583. package/src/views/modules/operational/MovementBulkList.vue +143 -0
  584. package/src/views/modules/operational/MovementBulkUpdate.vue +41 -0
  585. package/src/views/modules/operational/OperationlSearch.vue +37 -0
  586. package/src/views/modules/operational/OsPanel.vue +33 -0
  587. package/src/views/modules/operational/RentOperationalCreateUpdate.vue +38 -0
  588. package/src/views/modules/operational/RentOperationalList.vue +198 -0
  589. package/src/views/modules/operational/ReplacementPatrimony.vue +42 -0
  590. package/src/views/modules/operational/ReportDeliveryDevolution.vue +210 -0
  591. package/src/views/modules/operational/ReportOperational.vue +35 -0
  592. package/src/views/modules/operational/ReservationPanel.vue +34 -0
  593. package/src/views/modules/pdv/PdvRentCreateUpdate.vue +55 -0
  594. package/src/views/modules/pdv/PdvRentList.vue +103 -0
  595. package/src/views/modules/pdv/PdvRentSelectOption.vue +89 -0
  596. package/src/views/modules/pdv/PdvSearch.vue +41 -0
  597. package/src/views/modules/pdv/SuccessPdvRent.vue +59 -0
  598. package/src/views/modules/planner/ConfigPlanner.vue +47 -0
  599. package/src/views/modules/planner/FunnelList.vue +60 -0
  600. package/src/views/modules/planner/Kanban.vue +94 -0
  601. package/src/views/modules/planner/Tag.vue +79 -0
  602. package/src/views/modules/rental/ConfigRental.vue +67 -0
  603. package/src/views/modules/rental/GroupRent.vue +72 -0
  604. package/src/views/modules/rental/KitRent.vue +78 -0
  605. package/src/views/modules/rental/KitRentCreateUpdate.vue +58 -0
  606. package/src/views/modules/rental/RentCreateUpdate.vue +46 -0
  607. package/src/views/modules/rental/RentSelectOption.vue +53 -0
  608. package/src/views/modules/rental/RentalList.vue +394 -0
  609. package/src/views/modules/rental/ReportRentByCustomer.vue +216 -0
  610. package/src/views/modules/rental/ReportRentByPayment.vue +195 -0
  611. package/src/views/modules/rental/ReportRentByPeriodRent.vue +208 -0
  612. package/src/views/modules/rental/ReportRentByProduct.vue +240 -0
  613. package/src/views/modules/rental/ReportRentPerformance.vue +231 -0
  614. package/src/views/modules/rental/ReportRental.vue +46 -0
  615. package/src/views/modules/rental/TypeRent.vue +78 -0
  616. package/src/views/modules/rental/_RentalList.vue +285 -0
  617. package/src/views/modules/rental/___ReportRentPerformance.vue +345 -0
  618. package/src/views/modules/rfid/LinkProductTags.vue +39 -0
  619. package/src/views/modules/shared/IntegrationReturn.vue +274 -0
  620. package/src/views/modules/shared/JobList.vue +227 -0
  621. package/src/views/modules/signature/ConfigSignature.vue +43 -0
  622. package/src/views/modules/signature/SignatureList.vue +208 -0
  623. package/src/views/modules/stock/CategoryProduct.vue +78 -0
  624. package/src/views/modules/stock/ConfigStock.vue +77 -0
  625. package/src/views/modules/stock/GenerateOutput.vue +35 -0
  626. package/src/views/modules/stock/GenerateRenewed.vue +36 -0
  627. package/src/views/modules/stock/GenerateReturn.vue +35 -0
  628. package/src/views/modules/stock/ImportProduct.vue +135 -0
  629. package/src/views/modules/stock/Manufacturer.vue +73 -0
  630. package/src/views/modules/stock/ProductCreateUpdate.vue +58 -0
  631. package/src/views/modules/stock/ProductList.vue +185 -0
  632. package/src/views/modules/stock/ProductSelectOption.vue +80 -0
  633. package/src/views/modules/stock/ReportHistoryPatrimony.vue +126 -0
  634. package/src/views/modules/stock/ReportPatrimony.vue +184 -0
  635. package/src/views/modules/stock/ReportProduct.vue +358 -0
  636. package/src/views/modules/stock/ReportProductByCustomer.vue +674 -0
  637. package/src/views/modules/stock/ReportStock.vue +49 -0
  638. package/src/views/modules/stock/TypeProduct.vue +78 -0
  639. package/src/views/modules/stock/UnitOfMeasurement.vue +79 -0
  640. package/src/views/modules/supplier/SupplierCreateUpdate.vue +58 -0
  641. package/src/views/modules/supplier/SupplierList.vue +139 -0
  642. package/src/views/modules/supplier/SupplierOrderCreateUpdate.vue +46 -0
  643. package/src/views/modules/supplier/SupplierOrderList.vue +251 -0
  644. package/src/views/modules/tax-document/CancelNfse.vue +97 -0
  645. package/src/views/modules/tax-document/Cfop.vue +72 -0
  646. package/src/views/modules/tax-document/ConfigTaxDocument.vue +43 -0
  647. package/src/views/modules/tax-document/NatureOperation.vue +72 -0
  648. package/src/views/modules/tax-document/NfeCreateUpdate.vue +37 -0
  649. package/src/views/modules/tax-document/NfeList.vue +173 -0
  650. package/src/views/modules/tax-document/NfeReceivedList.vue +236 -0
  651. package/src/views/modules/tax-document/NfseList.vue +44 -0
  652. package/src/views/modules/tax-document/NfseNacionalCreateUpdate.vue +35 -0
  653. package/src/views/modules/tax-document/NfseNacionalList.vue +201 -0
  654. package/src/views/modules/tax-document/NfsePrefeituraCreateUpdate.vue +35 -0
  655. package/src/views/modules/tax-document/NfsePrefeituraList.vue +201 -0
  656. package/src/views/modules/tax-document/StepByStep.vue +45 -0
  657. package/src/views/modules/tax-document/Taxation.vue +93 -0
  658. package/src/views/modules/tax-document/TaxationCreateUpdate.vue +60 -0
  659. package/src/component/forms/Button.vue +0 -162
  660. package/src/component/forms/ButtonFilter.vue +0 -104
  661. package/src/component/forms/ButtonGroup.vue +0 -67
  662. package/src/component/forms/ButtonGroupInline.vue +0 -210
  663. package/src/component/forms/ButtonSub.vue +0 -98
  664. package/src/component/forms/ButtonToggle.vue +0 -77
  665. package/src/component/forms/CheckboxGroup.vue +0 -69
  666. package/src/component/forms/CheckboxServer.vue +0 -237
  667. package/src/component/forms/CheckboxSimple.vue +0 -59
  668. package/src/component/forms/Color.vue +0 -38
  669. package/src/component/forms/DateTime.vue +0 -170
  670. package/src/component/forms/DateYearMonth.vue +0 -193
  671. package/src/component/forms/Dropdown.vue +0 -236
  672. package/src/component/forms/EditorHtml.vue +0 -132
  673. package/src/component/forms/FileUpload.vue +0 -170
  674. package/src/component/forms/ImageUpload.vue +0 -214
  675. package/src/component/forms/IncrementDecrement.vue +0 -151
  676. package/src/component/forms/InputAddressGoogle.vue +0 -171
  677. package/src/component/forms/InputCallToAction.vue +0 -135
  678. package/src/component/forms/InputDecimal.vue +0 -166
  679. package/src/component/forms/InputDecimalDiscount.vue +0 -78
  680. package/src/component/forms/InputNumber.vue +0 -160
  681. package/src/component/forms/InputPassword.vue +0 -148
  682. package/src/component/forms/InputTag.vue +0 -125
  683. package/src/component/forms/InputText.vue +0 -174
  684. package/src/component/forms/InputTextEdit.vue +0 -69
  685. package/src/component/forms/InputWhatsApp.vue +0 -48
  686. package/src/component/forms/Modal.vue +0 -79
  687. package/src/component/forms/RadioGroup.vue +0 -84
  688. package/src/component/forms/Select.vue +0 -336
  689. package/src/component/forms/SelectStatic.vue +0 -198
  690. package/src/component/forms/SideBar.vue +0 -100
  691. package/src/component/forms/Slider.vue +0 -18
  692. package/src/component/forms/TextArea.vue +0 -140
  693. package/src/component/forms/Toggle.vue +0 -72
  694. package/src/component/layout/Account.vue +0 -131
  695. package/src/component/layout/Alert.vue +0 -88
  696. package/src/component/layout/AnimatedPhrase.vue +0 -68
  697. package/src/component/layout/Badge.vue +0 -111
  698. package/src/component/layout/BarFloating.vue +0 -68
  699. package/src/component/layout/BottomActionsBar.vue +0 -205
  700. package/src/component/layout/ColorPicker.vue +0 -175
  701. package/src/component/layout/FixedBar.vue +0 -103
  702. package/src/component/layout/Gantt.vue +0 -128
  703. package/src/component/layout/Header.vue +0 -56
  704. package/src/component/layout/HideShow.vue +0 -62
  705. package/src/component/layout/IconMolded.vue +0 -59
  706. package/src/component/layout/IconPicker.vue +0 -161
  707. package/src/component/layout/LoadingFullPage.vue +0 -27
  708. package/src/component/layout/Menu.vue +0 -287
  709. package/src/component/layout/Molded.vue +0 -30
  710. package/src/component/layout/NewAccount.vue +0 -136
  711. package/src/component/layout/NewHeader.vue +0 -60
  712. package/src/component/layout/NewIconMolded.vue +0 -71
  713. package/src/component/layout/NewMenu.vue +0 -473
  714. package/src/component/layout/Panel.vue +0 -185
  715. package/src/component/layout/Popover.vue +0 -126
  716. package/src/component/layout/ScrollBar.vue +0 -57
  717. package/src/component/layout/Tab.vue +0 -259
  718. package/src/component/layout/Tag.vue +0 -97
  719. package/src/component/layout/Tooltip.vue +0 -155
  720. package/src/component/layout/Wizard.vue +0 -211
  721. package/src/component/layout/Zoom.vue +0 -111
  722. package/src/component/rental/DisplayCalculatePeriod.vue +0 -49
  723. package/src/component/rental/DisplayPeriodRent.vue +0 -55
  724. package/src/component/rental/DisplayTotalization.vue +0 -86
  725. package/src/component/report/Fields.vue +0 -109
  726. package/src/component/report/ReportTable.vue +0 -112
  727. package/src/component/report/Totalization.vue +0 -34
  728. package/src/component/shared/CodeEditor.vue +0 -128
  729. package/src/component/shared/Collapse.vue +0 -131
  730. package/src/component/shared/Confirmation.vue +0 -74
  731. package/src/component/shared/DocumentEditor.vue +0 -99
  732. package/src/component/shared/DocumentPreview.vue +0 -105
  733. package/src/component/shared/DocumentPublic.vue +0 -33
  734. package/src/component/shared/ExportExcel.vue +0 -56
  735. package/src/component/shared/ExportPDF.vue +0 -116
  736. package/src/component/shared/FullCalendar.vue +0 -176
  737. package/src/component/shared/HeaderReport.vue +0 -47
  738. package/src/component/shared/HorizontalFilter.vue +0 -64
  739. package/src/component/shared/ListNotifications.vue +0 -70
  740. package/src/component/shared/Loading.vue +0 -107
  741. package/src/component/shared/LoadingCard.vue +0 -65
  742. package/src/component/shared/LoadingMoreButton.vue +0 -23
  743. package/src/component/shared/Messages.vue +0 -139
  744. package/src/component/shared/PDFViewer.vue +0 -24
  745. package/src/component/shared/Pagination.vue +0 -113
  746. package/src/component/shared/ParameterLegend.vue +0 -169
  747. package/src/component/shared/ProgressBar.vue +0 -25
  748. package/src/component/shared/QueryButton.vue +0 -66
  749. package/src/component/shared/Report.vue +0 -250
  750. package/src/component/shared/SaveCancel.vue +0 -99
  751. package/src/component/shared/Search.vue +0 -174
  752. package/src/component/shared/SelectOption.vue +0 -162
  753. package/src/component/shared/Table.vue +0 -232
  754. package/src/component/shared/TableButton.vue +0 -36
  755. package/src/component/shared/TableDraggable.vue +0 -117
  756. package/src/component/shared/TableImport.vue +0 -93
  757. package/src/component/shared/TableItem.vue +0 -228
  758. package/src/component/shared/TableTotalPerPage.vue +0 -114
  759. package/src/component/shared/TableTotalRecords.vue +0 -44
  760. package/src/component/shared/TableTotalization.vue +0 -47
  761. package/src/component/shared/TimeLine.vue +0 -42
  762. package/src/component/shared/Timer.vue +0 -78
  763. package/src/component/shared/Tip.vue +0 -42
  764. package/src/component/shared/Toast.vue +0 -69
  765. package/src/component/shared/ToggleTheme.vue +0 -128
  766. package/src/component/shared/TotalizationReport.vue +0 -86
  767. package/src/component/shared/VerticalFilter.vue +0 -97
  768. package/src/component/shared/actions/ActionButtons.vue +0 -53
  769. package/src/component/shared/actions/ActionErrorContent.vue +0 -103
  770. package/src/component/shared/actions/ActionFooter.vue +0 -55
  771. package/src/component/shared/actions/ActionHeader.vue +0 -110
  772. package/src/component/shared/actions/ActionItemList.vue +0 -121
  773. package/src/component/shared/actions/ActionsOptions.vue +0 -173
  774. package/src/component/shared/actions/ActionsSelected.vue +0 -211
  775. package/src/component/shared/automation/ActivitiesList.vue +0 -44
  776. package/src/component/shared/automation/AddRule.vue +0 -61
  777. package/src/component/shared/automation/AutomationBuilder.vue +0 -27
  778. package/src/component/shared/automation/DynamicComponentList.vue +0 -86
  779. package/src/component/shared/automation/SelectRule.vue +0 -98
  780. package/src/component/shared/automation/components/BillingByRent.vue +0 -98
  781. package/src/component/shared/automation/components/SendEmail.vue +0 -94
  782. package/src/component/shared/file-manager/FileManager.vue +0 -391
  783. package/src/component/shared/filter-builder/FilterBuilder.vue +0 -221
  784. package/src/component/shared/filter-builder/FilterQuery.vue +0 -95
  785. package/src/component/shared/query-builder/AddRule.vue +0 -203
  786. package/src/component/shared/query-builder/ConvertToOdata.js +0 -86
  787. package/src/component/shared/query-builder/DynamicComponent.vue +0 -161
  788. package/src/component/shared/query-builder/DynamicComponentList.vue +0 -70
  789. package/src/component/shared/query-builder/Fields.vue +0 -93
  790. package/src/component/shared/query-builder/QueryBuilder.vue +0 -69
  791. package/src/component/shared/query-builder/Rules.vue +0 -68
  792. package/src/component/shared/query-builder/SelectRule.vue +0 -97
  793. package/src/component/shared/query-builder/Tags.vue +0 -59
  794. package/src/component/shared/query-builder/utilities.js +0 -22
  795. package/src/component/signature/Payment.vue +0 -161
  796. package/src/component/template/ListViewWithDataHandler.vue +0 -434
  797. package/src/component/template/ReportCreateUpdate.vue +0 -110
  798. package/src/component/template/ViewTemplateConfiguration.vue +0 -63
  799. package/src/component/template/ViewTemplateDocumentView.vue +0 -213
  800. package/src/component/template/ViewTemplateImportFile.vue +0 -347
  801. package/src/component/template/ViewTemplateReportList.vue +0 -240
  802. package/src/component/template/ViewTemplateReportPreview.vue +0 -432
  803. package/src/component/template/ViewTemplateSelectOption.vue +0 -46
  804. package/src/component/template/ViewTemplateWithSalveCancel.vue +0 -32
  805. package/src/component/template/ViewTemplateWithTable.vue +0 -66
  806. package/src/component/template/model/Report.js +0 -6
  807. package/src/component/training/Course.vue +0 -344
  808. package/src/component/training/CourseView.vue +0 -199
  809. package/src/component/value-objects/Address.js +0 -11
  810. package/src/component/value-objects/Address.vue +0 -173
  811. package/src/component/value-objects/Contact.js +0 -7
  812. package/src/component/value-objects/Contact.vue +0 -106
  813. package/src/component/value-objects/Person.js +0 -10
  814. package/src/component/value-objects/Person.vue +0 -130
  815. package/src/store/modules/automation.js +0 -31
  816. package/src/store/modules/generic.js +0 -897
  817. package/src/store/modules/report.js +0 -278
  818. package/src/store/modules/user.js +0 -70
  819. package/src/store/modules/util.js +0 -26
  820. package/src/store/modules/validation.js +0 -39
@@ -0,0 +1,1445 @@
1
+ <template>
2
+ <div class="items-list-root">
3
+ <div
4
+ class="items-list-loading"
5
+ v-show="loading && totalLoading == 1"
6
+ >
7
+ <Loading
8
+ type="line"
9
+ :center="false"
10
+ />
11
+ <AnimatedPhrase :phrases="['Aguarde...',
12
+ 'Estamos carregando os produtos...',
13
+ 'Isso pode levar alguns segundos...'
14
+ ]" />
15
+ </div>
16
+ <ItemsRentCreate
17
+ v-show="totalLoading > 1"
18
+ :rent="rent"
19
+ :operational="operational"
20
+ :kitId="itemSelected.kitId"
21
+ :kitName="itemSelected.kitRentName || itemSelected.productFullName || ''"
22
+ :itemsRentId="itemSelected.id"
23
+ :kitOrAcessory="kitOrAcessory"
24
+ v-model="selectedPeriod"
25
+ :itemsRent="itemSelected"
26
+ :changed="changedPeriod"
27
+ />
28
+
29
+ <ItemKitOrAccessoryList
30
+ v-if="showListKitOrAccessory"
31
+ :kitOrAcessory="kitOrAcessory"
32
+ :rent="rent"
33
+ :itemRent="itemSelected"
34
+ :operational="operational"
35
+ :back="back"
36
+ />
37
+ <div v-else>
38
+ <div class="items-list-main">
39
+ <div class="items-list-header-bar">
40
+ <div v-show="totalLoading > 1">
41
+ <button
42
+ class="items-list-action-chip-add"
43
+ @click="addGroupLocal()"
44
+ >
45
+ <span class="items-list-tooltip-wrapper">
46
+ <i
47
+ class="fa-solid fa-plus"
48
+ aria-hidden="true"
49
+ ></i>
50
+ <span class="items-list-tooltip-box">Adicionar grupo</span>
51
+ </span>
52
+ <span>Grupo</span>
53
+ </button>
54
+ <button
55
+ class="items-list-action-chip-add"
56
+ @click="hideShowGroups()"
57
+ >
58
+ <i class="fa-sharp fa-solid fa-grip-dots-vertical"></i>
59
+
60
+ </button>
61
+ </div>
62
+ <div
63
+ class="items-list-div-loading"
64
+ v-show="!showGroups && loading && totalLoading > 1"
65
+ >
66
+ <vue-loading
67
+ type="bubbles"
68
+ color="#D98621"
69
+ :size="{ width: '26px', height: '26px' }"
70
+ ></vue-loading>
71
+ </div>
72
+ <div class="items-list-filter">
73
+ <b-row>
74
+ <b-col v-if="!operational && totalLoading > 1">
75
+ <CheckboxSimple
76
+ title="Mostrar acessórios"
77
+ :markFormDirty="false"
78
+ v-model="withAccessory"
79
+ :changed="getAll"
80
+ />
81
+ </b-col>
82
+ <b-col v-if="!operational && totalLoading > 1">
83
+ <CheckboxSimple
84
+ title="Mostrar operacionais"
85
+ :markFormDirty="false"
86
+ v-model="withOnlyStock"
87
+ :changed="getAll"
88
+ />
89
+ </b-col>
90
+ <b-col v-if="totalLoading > 1">
91
+ <div class="items-list-text-right">
92
+ <div class="items-list-div-total side-by-side items-list-text-center">
93
+ Total <b>
94
+ {{ totalProducts }}
95
+ </b> registros
96
+ </div>
97
+ </div>
98
+ </b-col>
99
+ </b-row>
100
+ </div>
101
+ </div>
102
+
103
+ <div
104
+ v-if="totalLoading > 1"
105
+ class="items-list-table"
106
+ >
107
+ <div class="items-list-header items-list-row">
108
+ <div class="items-list-td-product">
109
+ <span class="items-list-title-header">
110
+ <b-form-checkbox
111
+ v-model="selectAll"
112
+ @change="select"
113
+ >Produto
114
+ </b-form-checkbox>
115
+ </span>
116
+
117
+ </div>
118
+ <div class="items-list-text-center items-list-td-quantity">
119
+ <span class="items-list-title-header"></span>
120
+ </div>
121
+ <div class="items-list-text-center items-list-td-stock">
122
+ <span class="items-list-title-header"></span>
123
+ </div>
124
+ <div
125
+ v-if="!operational"
126
+ class="items-list-text-center items-list-td-invoice"
127
+ >
128
+ <span
129
+ v-if="rent.statusRental == 2"
130
+ class="items-list-title-header"
131
+ ></span>
132
+ </div>
133
+ <div
134
+ v-if="!operational"
135
+ class="items-list-text-center items-list-td-price"
136
+ >
137
+ <span class="items-list-title-header"></span>
138
+ </div>
139
+ <div
140
+ v-if="!operational"
141
+ class="items-list-text-center items-list-td-access"
142
+ >
143
+ <span class="items-list-title-header"></span>
144
+ </div>
145
+ </div>
146
+
147
+ <draggable
148
+ v-model="items"
149
+ group="masters"
150
+ handle=".draggable-drag-handle"
151
+ item-key="__key"
152
+ :disabled="loading"
153
+ @end="onDragEndMasters"
154
+ >
155
+ <div
156
+ v-for="(master, mIdx) in items"
157
+ :key="'master-' + (master.__key || master.id || mIdx)"
158
+ class="items-list-tbody"
159
+ >
160
+ <div class="items-list-row items-list-group-master">
161
+ <div class="items-list-level items-list-level-1">
162
+ <i class="fa-solid fa-grip-vertical draggable-drag-handle items-list-rent-row-icon-layer"></i>
163
+ <i class="fa-solid fa-layer-group items-list-icon-order-group"></i>
164
+
165
+ <span
166
+ class="items-list-title-group title"
167
+ @click="startEditName('group', master, mIdx)"
168
+ style="cursor:pointer;"
169
+ >
170
+ <template v-if="editing.type === 'group' && editing.mIdx === mIdx">
171
+ <div class="items-inline-edit-wrap">
172
+ <input
173
+ v-model="editing.value"
174
+ @keyup.enter="commitEditNameGroup()"
175
+ @blur="commitEditNameGroup()"
176
+ class="items-inline-edit"
177
+ type="text"
178
+ />
179
+ <i
180
+ class="fa-solid fa-check items-inline-edit-ok"
181
+ @click="commitEditNameGroup()"
182
+ ></i>
183
+ </div>
184
+ </template>
185
+ <template v-else>
186
+ {{ master.groupName }}
187
+ <span class="items-list-tooltip-wrapper">
188
+ <i
189
+ class="fa-regular fa-pen-to-square items-list-draggable-edit-icon"
190
+ aria-label="Editar grupo"
191
+ role="button"
192
+ @click.stop="startEditName('group', master, mIdx)"
193
+ ></i>
194
+ <span class="items-list-tooltip-box">Editar grupo</span>
195
+ </span>
196
+
197
+ <span class="items-list-tooltip-wrapper">
198
+ <i
199
+ class="fa-solid fa-plus items-list-draggable-edit-icon"
200
+ aria-label="Adicionar subgrupo"
201
+ role="button"
202
+ style="margin-left:8px;color:#16a34a;"
203
+ @click.stop="addSubGroupLocal(master, mIdx)"
204
+ ></i>
205
+ <span class="items-list-tooltip-box">Adicionar subgrupo</span>
206
+ </span>
207
+
208
+ <span class="items-list-tooltip-wrapper">
209
+ <i
210
+ class="fa-solid fa-xmark items-list-draggable-edit-icon"
211
+ aria-label="Excluir grupo"
212
+ role="button"
213
+ style="margin-left:8px;color:#ef4444;"
214
+ @click.stop="removeGroup(master, mIdx)"
215
+ ></i>
216
+ <span class="items-list-tooltip-box">Excluir grupo</span>
217
+ </span>
218
+ </template>
219
+ </span>
220
+ </div>
221
+ </div>
222
+
223
+ <draggable
224
+ :list="getMasterByKey(master).subGroups"
225
+ handle=".draggable-sub-drag-handle"
226
+ item-key="__key"
227
+ :disabled="loading"
228
+ @end="onDragEndSubGroups(master, mIdx)"
229
+ >
230
+ <div
231
+ v-for="(group, gIdx) in getMasterByKey(master).subGroups"
232
+ :key="'group-' + (group.__key || group.groupId || group.id || gIdx)"
233
+ >
234
+ <div class="items-list-row items-list-group">
235
+ <div class="items-list-group-cell">
236
+ <div class="items-list-level items-list-level-2">
237
+ <span
238
+ class="items-list-title-group title"
239
+ @click="startEditName('subgroup', group, mIdx, gIdx)"
240
+ style="cursor:pointer;"
241
+ >
242
+ <template
243
+ v-if="editing.type === 'subgroup' && editing.mIdx === mIdx && editing.gIdx === gIdx">
244
+ <div class="items-inline-edit-wrap">
245
+ <input
246
+ v-model="editing.value"
247
+ @keyup.enter="commitEditNameSubGroup()"
248
+ @blur="commitEditNameSubGroup()"
249
+ class="items-inline-edit"
250
+ type="text"
251
+ />
252
+ <i
253
+ class="fa-solid fa-check items-inline-edit-ok"
254
+ @click="commitEditNameSubGroup()"
255
+ ></i>
256
+ </div>
257
+ </template>
258
+ <template v-else>
259
+ <i class="fa-regular fa-layer-group items-list-icon-order-group"></i>
260
+ <i
261
+ class="fa-solid fa-grip-lines items-list-rent-row-icon-layer draggable-sub-drag-handle"></i>
262
+ {{ group.groupName }}
263
+
264
+ <span class="items-list-tooltip-wrapper">
265
+ <i
266
+ class="fas fa-plus-circle items-list-add-product-icon"
267
+ aria-label="Adicionar produto"
268
+ role="button"
269
+ @click.stop="addProductBySubgroup(group)"
270
+ ></i>
271
+ <span class="items-list-tooltip-box">Adicionar
272
+ produto</span>
273
+ </span>
274
+
275
+ <span class="items-list-tooltip-wrapper">
276
+ <i
277
+ class="fa-regular fa-pen-to-square items-list-draggable-edit-icon"
278
+ aria-label="Editar subgrupo"
279
+ role="button"
280
+ @click.stop="startEditName('subgroup', group, mIdx, gIdx)"
281
+ ></i>
282
+ <span class="items-list-tooltip-box">Editar subgrupo</span>
283
+ </span>
284
+
285
+ <span class="items-list-tooltip-wrapper">
286
+ <i
287
+ class="fa-solid fa-xmark items-list-draggable-edit-icon"
288
+ aria-label="Excluir subgrupo"
289
+ role="button"
290
+ style="margin-left:8px;color:#ef4444;"
291
+ @click.stop="removeSubGroup(master, mIdx, group, gIdx)"
292
+ ></i>
293
+ <span class="items-list-tooltip-box">Excluir subgrupo</span>
294
+ </span>
295
+
296
+ </template>
297
+ </span>
298
+ </div>
299
+ </div>
300
+ </div>
301
+
302
+ <draggable
303
+ :list="getMasterByKey(master).__subGroupsRef[gIdx].products"
304
+ tag="div"
305
+ :data-group-id="group.groupId || group.id || null"
306
+ :data-master-id="master.groupId || master.id || null"
307
+ :group="{ name: 'products', pull: true, put: true }"
308
+ item-key="id"
309
+ @change="onDragChange($event, master, group, mIdx, gIdx)"
310
+ @end="onDragEnd($event, master, group, mIdx, gIdx)"
311
+ >
312
+ <div
313
+ v-for="(p, pIdx) in group.products"
314
+ :key="'prod-' + (p.id || pIdx)"
315
+ >
316
+ <ItemsRentRow
317
+ :rent="rent"
318
+ :item="p"
319
+ :operational="operational"
320
+ :totalRecords="group.products.length"
321
+ />
322
+ </div>
323
+ </draggable>
324
+ </div>
325
+ </draggable>
326
+ </div>
327
+ </draggable>
328
+
329
+ <div
330
+ v-if="!items.length && !loading"
331
+ class="items-list-row"
332
+ >
333
+ <div class="items-list-group-cell">
334
+ <span class="items-list-empty">Nenhum registro encontrado, clique no + Grupo para
335
+ <b>adicionar</b>, <b>editar</b>
336
+ grupos/subgrupos e <b>arrastar para ordenar</b></span>
337
+ </div>
338
+ </div>
339
+ </div>
340
+ </div>
341
+ </div>
342
+
343
+ <BottomActionsBar
344
+ :selected="selected"
345
+ @close="addSelected([])"
346
+ >
347
+ <ActionsSelected
348
+ :selected="selected"
349
+ :actions="actionsOptions"
350
+ />
351
+ </BottomActionsBar>
352
+
353
+ <Modal
354
+ :title="modal.title"
355
+ :width="modal.width"
356
+ :height="modal.width"
357
+ v-show="showModal('options')"
358
+ >
359
+ <ItemRentUpdate
360
+ v-show="modal.component == 'edit'"
361
+ :operational="operational"
362
+ :showListKitOrAccessory="showListKitOrAccessory"
363
+ :origin="kitOrAcessory"
364
+ />
365
+ <div v-show="modal.component == 'statusStock'">
366
+ <b-tabs>
367
+ <b-tab
368
+ title="Resumo"
369
+ v-if="itemSelected.type == 1 || itemSelected.type == 2"
370
+ >
371
+ <TotalizationItemsMoviment :itemSelected="itemSelected" />
372
+ </b-tab>
373
+
374
+ <b-tab
375
+ title="Patrimônio"
376
+ v-if="!itemSelected.allowWithoutPatrimony && (itemSelected.type == 1 || itemSelected.type == 2)"
377
+ >
378
+ <PatrimonyMoviment />
379
+ </b-tab>
380
+ <b-tab title="Histórico">
381
+ <HistoryMoviment />
382
+ </b-tab>
383
+ </b-tabs>
384
+ </div>
385
+ <div v-show="modal.component == 'timeLineAvailability'">
386
+ <TimeLineAvailability v-if="itemSelected.type != 3" />
387
+ <i
388
+ class="icon-only-stock fa-solid fa-grid-2-plus"
389
+ v-if="itemSelected.onlyStock"
390
+ ></i>
391
+ </div>
392
+ </Modal>
393
+
394
+ <Modal
395
+ title="Aplicar Desconto"
396
+ width="500"
397
+ v-if="showModal('applyDiscount')"
398
+ >
399
+ <ApplyDiscount
400
+ :selected="selected"
401
+ :item="itemSelected"
402
+ />
403
+ </Modal>
404
+
405
+ <Modal
406
+ title="Recalcular Valor"
407
+ width="500"
408
+ v-if="showModal('recalculateValue')"
409
+ >
410
+ <RecalculateValue :selected="selected" />
411
+ </Modal>
412
+
413
+ <Modal
414
+ title="Remover item?"
415
+ width="450"
416
+ v-if="showModal('itemRentDelete')"
417
+ >
418
+ <RemoveItem
419
+ :item="itemSelected"
420
+ :operational="operational"
421
+ />
422
+ </Modal>
423
+
424
+ <Modal
425
+ title="Alterar Grupo"
426
+ width="800"
427
+ v-if="showModal('changeGroup')"
428
+ :onHideModal="onHideModal"
429
+ >
430
+ <GroupSubgroupTransfer
431
+ :selected="selected"
432
+ :selectedPeriod="selectedPeriod"
433
+ :item="itemSelected"
434
+ v-if="showModalGroup"
435
+ />
436
+ </Modal>
437
+
438
+ <Modal
439
+ title="Grupo e Subgrupo"
440
+ width="1100"
441
+ :closeButton="false"
442
+ v-if="showModal('groupSubgroup')"
443
+ >
444
+ <GroupDraggable
445
+ :operational="operational"
446
+ :items="itemsForDraggable"
447
+ :selectedPeriod="selectedPeriod"
448
+ :onChanged="onHideGroups"
449
+ />
450
+ </Modal>
451
+ </div>
452
+ </template>
453
+
454
+ <script>
455
+ import AnimatedPhrase from "@nixweb/nixloc-ui/src/component/layout/AnimatedPhrase";
456
+ import ActionsSelected from "@nixweb/nixloc-ui/src/component/shared/actions/ActionsSelected.vue";
457
+ import BottomActionsBar from "@nixweb/nixloc-ui/src/component/layout/BottomActionsBar.vue";
458
+ import CheckboxSimple from "@nixweb/nixloc-ui/src/component/forms/CheckboxSimple.vue";
459
+ import Loading from "@nixweb/nixloc-ui/src/component/shared/Loading.vue";
460
+ import Modal from "@nixweb/nixloc-ui/src/component/forms/Modal";
461
+ import ScrollBar from "@nixweb/nixloc-ui/src/component/layout/ScrollBar.vue";
462
+ import Toggle from "@nixweb/nixloc-ui/src/component/forms/Toggle";
463
+
464
+ import draggable from "vuedraggable";
465
+ import GroupDraggable from "./GroupDraggable.vue";
466
+ import ItemsRentCreate from "./ItemsRentCreate.vue";
467
+ import ItemRentUpdate from "./ItemRentUpdate.vue";
468
+ import ItemsRentRow from "./ItemsRentRow.vue";
469
+ import ItemKitOrAccessoryList from "./ItemKitOrAccessoryList.vue";
470
+
471
+ import GroupSubgroupTransfer from "./GroupSubgroupTransfer.vue";
472
+ import ApplyDiscount from "./ApplyDiscount.vue";
473
+ import RecalculateValue from "./RecalculateValue.vue";
474
+ import RemoveItem from "./RemoveItem.vue";
475
+
476
+ import TotalizationItemsMoviment from "../../stock/moviment/TotalizationItemsMoviment.vue";
477
+ import PatrimonyMoviment from "../../stock/items-moviment/PatrimonyMoviment.vue";
478
+ import HistoryMoviment from "../../stock/history-moviment/HistoryMoviment.vue";
479
+ import ItemRentStockAvailability from "../items-rent/ItemRentStockAvailability.vue";
480
+ import TimeLineAvailability from "../../stock/shared/TimeLineAvailability.vue";
481
+
482
+ import { mapState, mapMutations, mapActions, mapGetters } from "vuex";
483
+
484
+ export default {
485
+ name: "ItemsRentList",
486
+ props: {
487
+ rent: { type: Object, required: true },
488
+ operational: { type: Boolean, default: false },
489
+ },
490
+ components: {
491
+ AnimatedPhrase,
492
+ ActionsSelected,
493
+ BottomActionsBar,
494
+ CheckboxSimple,
495
+ Loading,
496
+ Modal,
497
+ Toggle,
498
+ ScrollBar,
499
+ draggable,
500
+ ItemsRentRow,
501
+ GroupDraggable,
502
+ ItemsRentCreate,
503
+ ItemRentUpdate,
504
+ TotalizationItemsMoviment,
505
+ PatrimonyMoviment,
506
+ HistoryMoviment,
507
+ ItemRentStockAvailability,
508
+ TimeLineAvailability,
509
+ ApplyDiscount,
510
+ RecalculateValue,
511
+ RemoveItem,
512
+ GroupSubgroupTransfer,
513
+ ItemKitOrAccessoryList,
514
+ },
515
+ data() {
516
+ return {
517
+ selectedPeriod: {},
518
+ showGroups: false,
519
+ selectAll: false,
520
+ items: [],
521
+ urlGetApi: "/api/v1/rental/items-rent/get-all-by-group",
522
+ urlReorderItemsApi: "/api/v1/rental/items-rent/reorder-items",
523
+ urlCreateUpdateGroup:
524
+ "/api/v1/rental/group-subgroup-rent/create-update-group-selector",
525
+ urlCreateUpdateSubgroup:
526
+ "/api/v1/rental/group-subgroup-rent/create-update-subgroup-selector",
527
+ urlDeleteGroup:
528
+ "/api/v1/rental/group-subgroup-rent/delete-group-selector",
529
+ urlDeleteSubgroup:
530
+ "/api/v1/rental/group-subgroup-rent/delete-subgroup-selector",
531
+ urlReorderedGroup:
532
+ "/api/v1/rental/group-subgroup-rent/reordered-group-selector",
533
+ urlReorderedSubgroup:
534
+ "/api/v1/rental/group-subgroup-rent/reordered-subgroup-selector",
535
+ baseParams: {
536
+ search: undefined,
537
+ filter: "contains",
538
+ currentPage: 1,
539
+ totalPerPage: 20,
540
+ },
541
+ modal: {
542
+ title: "Modal",
543
+ width: 500,
544
+ height: 500,
545
+ component: "",
546
+ },
547
+ withAccessory: false,
548
+ withOnlyStock: false,
549
+ itemSelected: {},
550
+ totalLoading: 1,
551
+ loading: true,
552
+ showModalGroup: false,
553
+ showListKitOrAccessory: false,
554
+ kitOrAcessory: "",
555
+ actions: [
556
+ {
557
+ type: "delete",
558
+ showStatusRental: [1, 2, 3],
559
+ showModule: ["rental", "operational"],
560
+ title: "Remover",
561
+ description: "Remover",
562
+ url: `/api/v1/rental/items-rent/delete${
563
+ this.operational ? "-operational" : ""
564
+ }${this.showListKitOrAccessory ? "-kit" : ""}`,
565
+ method: "delete",
566
+ },
567
+ {
568
+ type: "event",
569
+ showStatusRental: [1, 2, 3],
570
+ showModule: ["rental"],
571
+ eventName: "applyDiscount",
572
+ tooltip: "Aplicar Desconto",
573
+ backgroundColor: "#FF4843",
574
+ classIcon: "fa-solid fa-percent",
575
+ description: "Aplicar Desconto",
576
+ },
577
+ {
578
+ type: "event",
579
+ showStatusRental: [1, 2, 3],
580
+ showModule: ["rental", "operational"],
581
+ eventName: "changeGroup",
582
+ tooltip: "Alterar Grupo",
583
+ backgroundColor: "#2563EB",
584
+ classIcon: "fa-solid fa-layer-group",
585
+ description: "Transferência de Grupo",
586
+ },
587
+ {
588
+ type: "event",
589
+ showStatusRental: [1, 2, 3],
590
+ showModule: ["rental"],
591
+ eventName: "recalculateValue",
592
+ tooltip: "Recalcular Valor",
593
+ backgroundColor: "#156EBE",
594
+ classIcon: "fa-solid fa-retweet",
595
+ description: "Recalcular Valor",
596
+ },
597
+ {
598
+ type: "options",
599
+ tooltip: "Status de Faturamento",
600
+ showStatusRental: [2],
601
+ showModule: ["rental"],
602
+ url: "/api/v1/rental/items-rent/change-status-invoice",
603
+ backgroundColor: "#02D1C1",
604
+ classIcon: "fa-solid fa-file-invoice",
605
+ description: "Status de Faturamento",
606
+ method: "put",
607
+ options: [
608
+ { text: "Faturado", value: "invoiced" },
609
+ { text: "Não Faturado", value: "notInvoiced" },
610
+ { text: "Não Fatura (Cancelado)", value: "noInvoice" },
611
+ ],
612
+ },
613
+ {
614
+ type: "options",
615
+ tooltip: "Status de Movimentação",
616
+ showStatusRental: [2],
617
+ showModule: ["rental", "operational"],
618
+ url: "/api/v1/rental/items-rent/change-status-invoice",
619
+ backgroundColor: "#E0800E",
620
+ classIcon: "fa-solid fa-shuffle",
621
+ description: "Status de Movimentação",
622
+ method: "put",
623
+ options: [
624
+ { text: "Reservado", value: "reserved" },
625
+ { text: "Não Reservado", value: "notReserved" },
626
+ ],
627
+ },
628
+ ],
629
+ editing: {
630
+ type: null, // 'group' | 'subgroup'
631
+ mIdx: null,
632
+ gIdx: null,
633
+ target: null,
634
+ value: "",
635
+ },
636
+ };
637
+ },
638
+ mounted() {
639
+ if (this.operational) {
640
+ this.withAccessory = true;
641
+ this.withOnlyStock = true;
642
+ }
643
+ },
644
+ computed: {
645
+ ...mapState("generic", ["selected"]),
646
+ ...mapGetters("generic", ["event", "showModal"]),
647
+ actionsOptions() {
648
+ let actions = [];
649
+ let statusRental = this.rent.statusRental;
650
+ let operational = this.operational ? "operational" : "rental";
651
+ this.actions.forEach((action) => {
652
+ if (
653
+ Array.isArray(action.showStatusRental) &&
654
+ action.showStatusRental.includes(statusRental) &&
655
+ Array.isArray(action.showModule) &&
656
+ action.showModule.includes(operational)
657
+ ) {
658
+ actions.push(action);
659
+ }
660
+ });
661
+ return actions;
662
+ },
663
+ itemsForDraggable() {
664
+ const out = [];
665
+ (this.items || []).forEach((master) => {
666
+ const entry = {
667
+ groupId: master.groupId || master.id || "",
668
+ groupOrder: master.groupOrder ?? null,
669
+ groupName: master.groupName || "",
670
+ subGroups: [],
671
+ };
672
+
673
+ const subs = Array.isArray(master.subGroups) ? master.subGroups : [];
674
+ subs.forEach((sub) => {
675
+ entry.subGroups.push({
676
+ groupId: sub.groupId || sub.id || "",
677
+ groupOrder: sub.groupOrder ?? null,
678
+ groupName: sub.groupName || "",
679
+ products: Array.isArray(sub.products) ? sub.products : [],
680
+ });
681
+ });
682
+
683
+ out.push(entry);
684
+ });
685
+ return out;
686
+ },
687
+ totalProducts() {
688
+ let total = 0;
689
+ for (const group of this.items) {
690
+ for (const sub of group.subGroups || []) {
691
+ total += (sub.products || []).length;
692
+ }
693
+ }
694
+ return total;
695
+ },
696
+ isMigration() {
697
+ return (
698
+ this.itemsForDraggable?.length > 0 &&
699
+ this.itemsForDraggable[0].groupId === ""
700
+ );
701
+ },
702
+ },
703
+ methods: {
704
+ ...mapMutations("generic", [
705
+ "addSelected",
706
+ "openModal",
707
+ "hideModal",
708
+ "addEvent",
709
+ ]),
710
+ ...mapActions("generic", ["getApi", "postApi", "putApi", "deleteApi"]),
711
+ makeKey(prefix) {
712
+ return `${prefix}-${Date.now()}-${Math.random().toString(16).slice(2)}`;
713
+ },
714
+ ensureKey(obj, prefix, idField = "groupId") {
715
+ if (!obj) return obj;
716
+ if (!obj.__key) {
717
+ const base = obj[idField] ? String(obj[idField]) : "";
718
+ obj.__key = base ? `${prefix}-${base}` : this.makeKey(prefix);
719
+ }
720
+ return obj;
721
+ },
722
+ normalizeKeys() {
723
+ (this.items || []).forEach((m) => {
724
+ this.ensureKey(m, "g", "groupId");
725
+ if (Array.isArray(m.subGroups)) {
726
+ m.subGroups.forEach((s) => this.ensureKey(s, "sg", "groupId"));
727
+ }
728
+ });
729
+ },
730
+ getMasterByKey(masterFromSorted) {
731
+ if (!masterFromSorted) return masterFromSorted;
732
+ const key = masterFromSorted.__key || null;
733
+ const id = masterFromSorted.groupId || masterFromSorted.id || null;
734
+ const found = (this.items || []).find(
735
+ (x) =>
736
+ (key && x.__key === key) ||
737
+ (!key && id && (x.groupId === id || x.id === id))
738
+ );
739
+ if (found && !found.__subGroupsRef)
740
+ found.__subGroupsRef = found.subGroups || [];
741
+ if (found) found.__subGroupsRef = found.subGroups || [];
742
+ return found || masterFromSorted;
743
+ },
744
+ changedPeriod() {
745
+ this.getAll();
746
+ },
747
+ getAll() {
748
+ this.loading = true;
749
+ const params = {
750
+ url: this.urlGetApi,
751
+ obj: {
752
+ ...this.baseParams,
753
+ rentId: this.rent.id,
754
+ periodRentId: this.selectedPeriod.showAll
755
+ ? ""
756
+ : this.selectedPeriod.period.id,
757
+ withOnlyStock: this.withOnlyStock,
758
+ withAccessory: this.withAccessory,
759
+ operational: this.operational,
760
+ noPaginated: true,
761
+ },
762
+ };
763
+ this.getApi(params).then((response) => {
764
+ const data = response.content.data || [];
765
+
766
+ this.items = (Array.isArray(data) ? [...data] : []).sort(
767
+ (a, b) => (a.groupOrder || 0) - (b.groupOrder || 0)
768
+ );
769
+
770
+ this.normalizeKeys();
771
+
772
+ this.loading = false;
773
+ this.totalLoading += 1;
774
+ this.selectAll = false;
775
+ });
776
+ },
777
+ reorderItems(items) {
778
+ let params = {
779
+ url: this.urlReorderItemsApi,
780
+ obj: items,
781
+ notNotifyToast: true,
782
+ };
783
+ this.putApi(params).then(() => {});
784
+ },
785
+ select() {
786
+ this.addSelected([]);
787
+ if (this.selectAll) {
788
+ this.items.forEach((group) => {
789
+ (group.subGroups || []).forEach((subgroup) => {
790
+ (subgroup.products || []).forEach((product) => {
791
+ this.selected.push(product.id);
792
+ });
793
+ });
794
+ });
795
+ }
796
+ },
797
+ subGroupsSorted(master) {
798
+ const m = this.getMasterByKey(master);
799
+ const subs = Array.isArray(m.subGroups) ? [...m.subGroups] : [];
800
+ return subs.sort((a, b) => (a.groupOrder || 0) - (b.groupOrder || 0));
801
+ },
802
+ onDragChange(evt, master, group, mIdx, gIdx) {
803
+ console.log("Drag changed:", { evt, master, group });
804
+ },
805
+ onDragEnd(evt, master, group, mIdx, gIdx) {
806
+ console.log("Drag ended:", { evt, master, group });
807
+
808
+ const toEl = evt && evt.to ? evt.to : null;
809
+ const targetGroupId = toEl
810
+ ? toEl.getAttribute("data-group-id") || null
811
+ : null;
812
+ const targetMasterId = toEl
813
+ ? toEl.getAttribute("data-master-id") || null
814
+ : null;
815
+
816
+ let tmIdx = mIdx,
817
+ tgIdx = gIdx;
818
+ if (targetGroupId) {
819
+ for (let i = 0; i < (this.items || []).length; i++) {
820
+ const subs = this.items[i]?.subGroups || [];
821
+ const j = subs.findIndex(
822
+ (s) => (s.groupId || s.id || null) == targetGroupId
823
+ );
824
+ if (j > -1) {
825
+ tmIdx = i;
826
+ tgIdx = j;
827
+ break;
828
+ }
829
+ }
830
+ }
831
+
832
+ const payload = {
833
+ masterId: targetMasterId || master.groupId || master.id || null,
834
+ groupId: targetGroupId || group.groupId || group.id || null,
835
+ productsOrder: (this.items[tmIdx].subGroups[tgIdx].products || []).map(
836
+ (p, i) => ({
837
+ id: p.id,
838
+ order: i + 1,
839
+ groupId: targetGroupId || group.groupId || group.id || null,
840
+ })
841
+ ),
842
+ };
843
+ this.reorderItems(payload.productsOrder);
844
+ },
845
+ onDragEndSubGroups(master, mIdx) {
846
+ const m = this.getMasterByKey(master);
847
+ if (!m || !Array.isArray(m.subGroups)) return;
848
+
849
+ (m.subGroups || []).forEach((sg, idx) => {
850
+ this.$set(sg, "groupOrder", idx + 1);
851
+ this.ensureKey(sg, "sg", "groupId");
852
+ this.$set(sg, "groupMasterId", m.groupId || m.id || null);
853
+ });
854
+
855
+ const payload = (m.subGroups || []).map((sg) => ({
856
+ groupId: sg.groupId || sg.id || null,
857
+ groupOrder: sg.groupOrder,
858
+ groupMasterId: sg.groupMasterId,
859
+ }));
860
+
861
+ const params = {
862
+ url: this.urlReorderedSubgroup,
863
+ obj: payload,
864
+ notNotifyToast: true,
865
+ };
866
+ this.postApi(params).then(() => {});
867
+ },
868
+ onHideModal() {
869
+ this.showModalGroup = false;
870
+ },
871
+ hideShowGroups() {
872
+ this.showGroups = true;
873
+ this.openModal("groupSubgroup");
874
+ },
875
+ onHideGroups() {
876
+ this.showGroups = false;
877
+ this.hideModal();
878
+ this.getAll();
879
+ },
880
+ back() {
881
+ this.showListKitOrAccessory = false;
882
+ this.kitOrAcessory = "";
883
+ },
884
+
885
+ startEditName(type, target, mIdx, gIdx = null) {
886
+ this.editing.type = type;
887
+ this.editing.mIdx = mIdx;
888
+ this.editing.gIdx = gIdx;
889
+ this.editing.target = target;
890
+ this.editing.value = target.groupName || "";
891
+ this.$nextTick(() => {
892
+ const el = this.$el.querySelector(".items-inline-edit");
893
+ if (el) el.focus();
894
+ });
895
+ },
896
+ commitEditNameGroup() {
897
+ const val = (this.editing.value || "").trim();
898
+ if (!this.editing.target) return;
899
+
900
+ this.$set(
901
+ this.items[this.editing.mIdx],
902
+ "groupName",
903
+ val || this.items[this.editing.mIdx].groupName
904
+ );
905
+
906
+ const updatedGroup = {
907
+ ...this.items[this.editing.mIdx],
908
+ };
909
+
910
+ this.editing = {
911
+ type: null,
912
+ mIdx: null,
913
+ gIdx: null,
914
+ target: null,
915
+ value: "",
916
+ };
917
+
918
+ let params = {
919
+ url: this.urlCreateUpdateGroup,
920
+ obj: updatedGroup,
921
+ notNotifyToast: true,
922
+ };
923
+ this.postApi(params).then(() => {});
924
+ return updatedGroup;
925
+ },
926
+ commitEditNameSubGroup() {
927
+ const val = (this.editing.value || "").trim();
928
+ if (!this.editing.target) return;
929
+
930
+ this.$set(
931
+ this.items[this.editing.mIdx].subGroups[this.editing.gIdx],
932
+ "groupName",
933
+ val ||
934
+ this.items[this.editing.mIdx].subGroups[this.editing.gIdx].groupName
935
+ );
936
+
937
+ const updatedSubGroup = {
938
+ ...this.items[this.editing.mIdx].subGroups[this.editing.gIdx],
939
+ };
940
+
941
+ this.editing = {
942
+ type: null,
943
+ mIdx: null,
944
+ gIdx: null,
945
+ target: null,
946
+ value: "",
947
+ };
948
+
949
+ let params = {
950
+ url: this.urlCreateUpdateSubgroup,
951
+ obj: updatedSubGroup,
952
+ notNotifyToast: true,
953
+ };
954
+ this.postApi(params).then(() => {});
955
+
956
+ return updatedSubGroup;
957
+ },
958
+
959
+ addGroupLocal() {
960
+ const nextOrder =
961
+ (this.items || []).reduce((m, g) => Math.max(m, g.groupOrder || 0), 0) +
962
+ 1;
963
+
964
+ const newGroup = {
965
+ __key: this.makeKey("g"),
966
+ groupId: "",
967
+ groupName: `Novo grupo ${nextOrder}`,
968
+ groupOrder: nextOrder,
969
+ rentId: this.rent.id,
970
+ periodRentId:
971
+ this.selectedPeriod && this.selectedPeriod.period
972
+ ? this.selectedPeriod.period.id
973
+ : null,
974
+ subGroups: [],
975
+ };
976
+
977
+ let params = {
978
+ url: this.urlCreateUpdateGroup,
979
+ obj: newGroup,
980
+ notNotifyToast: true,
981
+ };
982
+ this.postApi(params).then((response) => {
983
+ if (response && response.content) newGroup.groupId = response.content;
984
+ this.ensureKey(newGroup, "g", "groupId");
985
+ });
986
+
987
+ this.items.push(newGroup);
988
+ const newIndex = this.items.length - 1;
989
+ this.startEditName("group", newGroup, newIndex);
990
+ },
991
+ addSubGroupLocal(master, mIdx) {
992
+ if (!master) return;
993
+ const m = this.getMasterByKey(master);
994
+ if (!m.subGroups) this.$set(m, "subGroups", []);
995
+
996
+ const nextOrder =
997
+ (m.subGroups || []).reduce(
998
+ (mm, s) => Math.max(mm, s.groupOrder || 0),
999
+ 0
1000
+ ) + 1;
1001
+
1002
+ const newSub = {
1003
+ __key: this.makeKey("sg"),
1004
+ groupId: "",
1005
+ groupName: `Novo subgrupo ${nextOrder}`,
1006
+ groupOrder: nextOrder,
1007
+ groupMasterId: m.groupId || m.id || null,
1008
+ products: [],
1009
+ };
1010
+
1011
+ let params = {
1012
+ url: this.urlCreateUpdateSubgroup,
1013
+ obj: newSub,
1014
+ notNotifyToast: true,
1015
+ };
1016
+ this.postApi(params).then((response) => {
1017
+ if (response && response.content) newSub.groupId = response.content;
1018
+ this.ensureKey(newSub, "sg", "groupId");
1019
+ });
1020
+
1021
+ m.subGroups.push(newSub);
1022
+ const gIdx = m.subGroups.length - 1;
1023
+ this.startEditName("subgroup", newSub, mIdx, gIdx);
1024
+ },
1025
+ removeGroup(master, mIdx) {
1026
+ const id = master && (master.groupId || master.id);
1027
+ if (!id) {
1028
+ this.items.splice(mIdx, 1);
1029
+ return;
1030
+ }
1031
+
1032
+ const url = `${this.urlDeleteGroup}?id=${id}`;
1033
+ const params = { url, obj: {}, notNotifyToast: true };
1034
+ this.deleteApi(params).then((response) => {
1035
+ if (response && response.success) {
1036
+ this.items = (this.items || []).filter(
1037
+ (x) => (x.groupId || x.id) !== id
1038
+ );
1039
+ }
1040
+ });
1041
+ },
1042
+ removeSubGroup(master, mIdx, sub, gIdx) {
1043
+ const id = sub && (sub.groupId || sub.id);
1044
+ const m = this.getMasterByKey(master);
1045
+
1046
+ if (!id) {
1047
+ if (m && m.subGroups) m.subGroups.splice(gIdx, 1);
1048
+ return;
1049
+ }
1050
+
1051
+ const url = `${this.urlDeleteSubgroup}?id=${id}`;
1052
+ const params = { url, obj: {}, notNotifyToast: true };
1053
+ this.deleteApi(params).then((response) => {
1054
+ if (response && response.success) {
1055
+ if (m && m.subGroups) {
1056
+ m.subGroups = (m.subGroups || []).filter(
1057
+ (s) => (s.groupId || s.id) !== id
1058
+ );
1059
+ }
1060
+ }
1061
+ });
1062
+ },
1063
+
1064
+ addProductBySubgroup(sub) {
1065
+ console.log(sub);
1066
+ this.addEvent({ name: "addProductBySubgroup", data: sub });
1067
+ },
1068
+
1069
+ onDragEndMasters() {
1070
+ (this.items || []).forEach((g, idx) => {
1071
+ this.$set(g, "groupOrder", idx + 1);
1072
+ this.ensureKey(g, "g", "groupId");
1073
+ });
1074
+
1075
+ const params = {
1076
+ url: this.urlReorderedGroup,
1077
+ obj: this.items,
1078
+ notNotifyToast: true,
1079
+ };
1080
+ this.postApi(params).then(() => {});
1081
+ },
1082
+ },
1083
+ watch: {
1084
+ event: {
1085
+ handler(event) {
1086
+ if (event.name == "itemRentUpdate") {
1087
+ this.modal.component = "edit";
1088
+ this.modal.title = event.data.productFullName;
1089
+ this.modal.width = 1000;
1090
+ this.itemSelected = event.data;
1091
+ this.openModal("options");
1092
+ }
1093
+
1094
+ if (event.name == "totalizationAndHistory") {
1095
+ this.itemSelected = event.data;
1096
+ this.modal.component = "statusStock";
1097
+ this.modal.title = event.data.productFullName;
1098
+ this.modal.width = 850;
1099
+ this.openModal("options");
1100
+ }
1101
+
1102
+ if (event.name == "timeLineAvailability") {
1103
+ this.modal.component = "timeLineAvailability";
1104
+ this.modal.title = "Painel";
1105
+ this.modal.width = 900;
1106
+ this.itemSelected = event.data;
1107
+ this.openModal("options");
1108
+ }
1109
+
1110
+ if (event.name == "itemsAccessoryList") {
1111
+ this.itemSelected = event.data;
1112
+ this.kitOrAcessory = "accessory";
1113
+ this.showListKitOrAccessory = true;
1114
+ }
1115
+
1116
+ if (event.name == "itemsKitList") {
1117
+ this.itemSelected = event.data;
1118
+ this.kitOrAcessory = "kit";
1119
+ this.showListKitOrAccessory = true;
1120
+ }
1121
+
1122
+ if (event.name == "applyDiscount") {
1123
+ this.itemSelected = event.data || {};
1124
+ this.openModal("applyDiscount");
1125
+ }
1126
+
1127
+ if (event.name == "itemRentDelete") {
1128
+ this.itemSelected = event.data || {};
1129
+ this.openModal("itemRentDelete");
1130
+ }
1131
+
1132
+ if (event.name == "recalculateValue") {
1133
+ this.openModal("recalculateValue");
1134
+ }
1135
+
1136
+ if (event.name == "changeGroup") {
1137
+ this.itemSelected = event.data || {};
1138
+ this.showModalGroup = true;
1139
+ this.openModal("changeGroup");
1140
+ }
1141
+
1142
+ if (event.name == "hideModalSearchProduct") {
1143
+ this.getAll();
1144
+ }
1145
+
1146
+ if (
1147
+ event.name == "updateTotalizationRent" ||
1148
+ event.name == "rentAccepted" ||
1149
+ event.name == "rentRejected" ||
1150
+ event.name == "rentRejected" ||
1151
+ event.name == "itemsImported" ||
1152
+ event.name == "actionsUpdated"
1153
+ ) {
1154
+ this.getAll();
1155
+ }
1156
+ },
1157
+ deep: true,
1158
+ },
1159
+ showListKitOrAccessory: {
1160
+ handler(value) {
1161
+ const del = this.actions.find((x) => x.type === "delete");
1162
+ if (!del) return;
1163
+ del.url = `/api/v1/rental/items-rent/delete${
1164
+ this.operational ? "-operational" : ""
1165
+ }${value ? "-kit" : ""}`;
1166
+ },
1167
+ deep: true,
1168
+ },
1169
+ },
1170
+ };
1171
+ </script>
1172
+
1173
+ <style scoped>
1174
+ .items-list-root {
1175
+ min-height: 500px;
1176
+ }
1177
+
1178
+ .items-list-main {
1179
+ margin-left: 5px;
1180
+ }
1181
+
1182
+ .items-list-loading {
1183
+ margin-top: 20px;
1184
+ }
1185
+
1186
+ .items-list-header,
1187
+ .items-list-row {
1188
+ display: flex;
1189
+ align-items: center;
1190
+ }
1191
+
1192
+ .items-list-header > div,
1193
+ .items-list-row > div {
1194
+ padding: 7px 10px 5px 10px;
1195
+ }
1196
+
1197
+ .items-list-filter {
1198
+ margin-left: auto;
1199
+ width: 690px;
1200
+ margin-bottom: -12px;
1201
+ }
1202
+
1203
+ .items-list-text-center {
1204
+ text-align: center;
1205
+ }
1206
+
1207
+ .items-list-td-product {
1208
+ width: 700px;
1209
+ }
1210
+
1211
+ .items-list-div-total {
1212
+ background: #f3f4f6;
1213
+ color: #374151;
1214
+ border: 1px solid #e6e7eb;
1215
+ padding: 3px 10px;
1216
+ border-radius: 999px;
1217
+ font-size: 12px;
1218
+ margin-bottom: 10px;
1219
+ width: 160px;
1220
+ display: block;
1221
+ margin-left: auto;
1222
+ margin-bottom: 12px;
1223
+ }
1224
+
1225
+ .items-list-td-quantity {
1226
+ width: 170px;
1227
+ }
1228
+
1229
+ .items-list-td-stock {
1230
+ width: 120px;
1231
+ }
1232
+
1233
+ .items-list-td-invoice {
1234
+ width: 100px;
1235
+ }
1236
+
1237
+ .items-list-td-price {
1238
+ width: 350px;
1239
+ }
1240
+
1241
+ .items-list-td-access {
1242
+ width: 120px;
1243
+ }
1244
+
1245
+ .items-list-group-cell {
1246
+ width: 100%;
1247
+ padding: 8px 10px;
1248
+ }
1249
+
1250
+ .items-list-title-header {
1251
+ font-size: 13px;
1252
+ color: #757d8c;
1253
+ font-weight: 400;
1254
+ text-transform: uppercase;
1255
+ }
1256
+
1257
+ .items-list-group-master {
1258
+ background-color: #e3e5ed;
1259
+ font-weight: 600;
1260
+ }
1261
+
1262
+ .items-list-group {
1263
+ background-color: #f6f6f8;
1264
+ font-weight: 500;
1265
+ }
1266
+
1267
+ .items-list-title-no-group {
1268
+ font-size: 13px;
1269
+ font-style: italic;
1270
+ color: grey;
1271
+ font-weight: 500;
1272
+ }
1273
+
1274
+ .items-list-level-1 {
1275
+ padding-left: 10px;
1276
+ }
1277
+
1278
+ .items-list-level-2 {
1279
+ padding-left: 30px;
1280
+ }
1281
+
1282
+ .items-list-title-group {
1283
+ font-size: 14px;
1284
+ }
1285
+
1286
+ .items-list-icon-order-group {
1287
+ color: #2563eb;
1288
+ margin-right: 6px;
1289
+ }
1290
+
1291
+ .items-list-empty {
1292
+ color: #757d8c;
1293
+ font-style: italic;
1294
+ }
1295
+
1296
+ .items-list-table {
1297
+ border: 1px solid #e5e7eb;
1298
+ border-radius: 6px;
1299
+ overflow: hidden;
1300
+ background: transparent;
1301
+ }
1302
+
1303
+ .items-list-header-bar {
1304
+ display: flex;
1305
+ align-items: center;
1306
+ justify-content: flex-start;
1307
+ margin-top: 20px;
1308
+ margin-bottom: 10px;
1309
+ margin-left: 2px;
1310
+ }
1311
+
1312
+ .items-list-action-chip {
1313
+ display: inline-flex;
1314
+ align-items: center;
1315
+ gap: 8px;
1316
+ padding: 9px 12px;
1317
+ border-radius: 9999px;
1318
+ border: none;
1319
+ background: #4bb4e2;
1320
+ color: #fff;
1321
+ font-size: 13px;
1322
+ line-height: 1;
1323
+ cursor: pointer;
1324
+ }
1325
+
1326
+ .items-list-action-chip:hover {
1327
+ background: #3e90b3;
1328
+ }
1329
+
1330
+ .items-list-div-loading {
1331
+ margin: 8px 10px 10px 10px;
1332
+ }
1333
+
1334
+ .items-list-action-chip i {
1335
+ font-size: 13px;
1336
+ }
1337
+
1338
+ .items-list-action-chip-add {
1339
+ display: inline-flex;
1340
+ align-items: center;
1341
+ gap: 8px;
1342
+ padding: 9px 12px;
1343
+ border-radius: 9999px;
1344
+ border: none;
1345
+ background: #0a54f5;
1346
+ color: #fff;
1347
+ font-size: 13px;
1348
+ line-height: 1;
1349
+ cursor: pointer;
1350
+ margin-right: 5px;
1351
+ }
1352
+
1353
+ .items-inline-edit {
1354
+ font-size: 14px;
1355
+ padding: 2px 28px 2px 6px;
1356
+ border: 1px solid #d1d5db;
1357
+ border-radius: 6px;
1358
+ outline: none;
1359
+ width: 280px;
1360
+ }
1361
+
1362
+ .items-inline-edit-wrap {
1363
+ position: relative;
1364
+ display: inline-flex;
1365
+ align-items: center;
1366
+ }
1367
+
1368
+ .items-inline-edit-ok {
1369
+ position: absolute;
1370
+ right: 8px;
1371
+ color: #16a34a;
1372
+ cursor: pointer;
1373
+ font-size: 13px;
1374
+ }
1375
+
1376
+ .items-inline-edit-ok:hover {
1377
+ color: #15803d;
1378
+ }
1379
+
1380
+ .items-list-draggable-edit-icon {
1381
+ font-size: 13px;
1382
+ margin-left: 6px;
1383
+ color: #cbd5e1;
1384
+ transition: color 0.2s;
1385
+ cursor: pointer;
1386
+ }
1387
+
1388
+ .items-list-draggable-edit-icon-add {
1389
+ font-size: 13px;
1390
+ margin-left: 6px;
1391
+ transition: color 0.2s;
1392
+ cursor: pointer;
1393
+ }
1394
+
1395
+ .items-list-rent-row-icon-layer {
1396
+ color: #9ca3af;
1397
+ cursor: grab;
1398
+ margin-right: 5px;
1399
+ }
1400
+
1401
+ .items-list-add-product-icon {
1402
+ color: #577696;
1403
+ margin-left: 5px;
1404
+ right: 0;
1405
+ }
1406
+
1407
+ .items-list-tooltip-wrapper {
1408
+ position: relative;
1409
+ display: inline-block;
1410
+ }
1411
+
1412
+ .items-list-tooltip-box {
1413
+ position: absolute;
1414
+ white-space: nowrap;
1415
+ background: rgba(0, 0, 0, 0.87);
1416
+ color: #fff;
1417
+ padding: 6px 8px;
1418
+ border-radius: 10px;
1419
+ font-size: 12px;
1420
+ line-height: 3 1;
1421
+ font-weight: 300;
1422
+ opacity: 0;
1423
+ pointer-events: none;
1424
+ z-index: 60;
1425
+ left: 50%;
1426
+ bottom: 100%;
1427
+ transform: translateX(-50%) translateY(6px);
1428
+ transition: opacity 0.12s ease, transform 0.12s ease;
1429
+ }
1430
+
1431
+ .items-list-tooltip-wrapper:hover .items-list-tooltip-box {
1432
+ opacity: 1;
1433
+ transform: translateX(-50%) translateY(0);
1434
+ }
1435
+
1436
+ .items-list-tooltip-box::after {
1437
+ content: "";
1438
+ position: absolute;
1439
+ border: 6px solid transparent;
1440
+ top: 100%;
1441
+ left: 50%;
1442
+ transform: translateX(-50%);
1443
+ border-top-color: rgba(0, 0, 0, 0.87);
1444
+ }
1445
+ </style>