{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/components/template/theme/t-button/t-button-save.vue?3a17","webpack:///./src/model/entities/resource/entity/FieldCustomizableEntity.js","webpack:///./src/components/template/page/t-page-form-field-customizable.vue?2047","webpack:///./src/components/template/page/t-page-list.vue?34cf","webpack:///./src/components/template/theme/t-button/t-button.vue?cd75","webpack:///./src/model/types/modules/product/ProductExclusiveType.js","webpack:///./src/views/modules/general/PageView.vue?6272","webpack:///src/views/modules/general/PageView.vue","webpack:///./src/views/modules/general/PageView.vue?0f76","webpack:///./src/views/modules/general/PageView.vue","webpack:///./src/mixins/page/pageListMixin.js","webpack:///./src/components/template/page/t-page-report.vue?b744","webpack:///./src/components/template/page/t-page-form-field-customizable.vue?ce82","webpack:///src/components/template/page/t-page-form-field-customizable.vue","webpack:///./src/components/template/page/t-page-form-field-customizable.vue?ca0f","webpack:///./src/components/template/page/t-page-form-field-customizable.vue","webpack:///./src/mixins/page/pageDialogFormMixin.js","webpack:///./src/App.vue?5488","webpack:///src/App.vue","webpack:///./src/App.vue?1160","webpack:///./src/App.vue","webpack:///./src/router/modules/general.js","webpack:///./src/router/modules/view.js","webpack:///./src/router/modules/core.js","webpack:///./src/router/modules/erp.js","webpack:///./src/router/custom/polimix.js","webpack:///./src/router/custom/consorciolmm.js","webpack:///./src/router/custom/cymaco.js","webpack:///./src/router/modules/custom.js","webpack:///./src/router/routes.js","webpack:///./src/router.js","webpack:///./src/store/store.js","webpack:///./src/components/template/theme/t-wrapped.vue","webpack:///./src/components/template/form/resource/t-form-wrapped.vue","webpack:///./src/components/template/page/t-page.vue?4c02","webpack:///src/components/template/page/t-page.vue","webpack:///./src/components/template/page/t-page.vue?7877","webpack:///./src/components/template/page/t-page.vue","webpack:///./src/components/template/page/t-page-title.vue?c1e4","webpack:///src/components/template/page/t-page-title.vue","webpack:///./src/components/template/page/t-page-title.vue?105e","webpack:///./src/components/template/page/t-page-title.vue","webpack:///./src/components/template/page/t-header.vue?f51c","webpack:///src/components/template/page/t-header.vue","webpack:///./src/components/template/page/t-header.vue?a489","webpack:///./src/components/template/page/t-header.vue","webpack:///./src/components/template/page/t-footer.vue?5030","webpack:///src/components/template/page/t-footer.vue","webpack:///./src/components/template/page/t-footer.vue?3049","webpack:///./src/components/template/page/t-footer.vue","webpack:///./src/components/template/dialog/t-dialog-confirm.vue?5d08","webpack:///src/components/template/dialog/t-dialog-confirm.vue","webpack:///./src/components/template/dialog/t-dialog-confirm.vue?e059","webpack:///./src/components/template/dialog/t-dialog-confirm.vue","webpack:///./src/components/template/page/t-list.vue?0ced","webpack:///./src/model/entities/resource/entity/ButtonEntity.js","webpack:///src/components/template/page/t-list.vue","webpack:///./src/components/template/page/t-list.vue?0140","webpack:///./src/components/template/page/t-list.vue","webpack:///./src/components/template/page/t-list-actions-default.vue?61f6","webpack:///src/components/template/page/t-list-actions-default.vue","webpack:///./src/components/template/page/t-list-actions-default.vue?23b9","webpack:///./src/components/template/page/t-list-actions-default.vue","webpack:///./src/components/template/page/t-list-link-primary.vue?4d9d","webpack:///src/components/template/page/t-list-link-primary.vue","webpack:///./src/components/template/page/t-list-link-primary.vue?9476","webpack:///./src/components/template/page/t-list-link-primary.vue","webpack:///./src/components/template/page/t-page-general.vue?05af","webpack:///src/components/template/page/t-page-general.vue","webpack:///./src/components/template/page/t-page-general.vue?11c6","webpack:///./src/components/template/page/t-page-general.vue","webpack:///./src/components/template/page/t-page-list.vue?4516","webpack:///./src/components/template/page/t-page-list-right-buttons.vue?4dc1","webpack:///src/components/template/page/t-page-list-right-buttons.vue","webpack:///./src/components/template/page/t-page-list-right-buttons.vue?cdd1","webpack:///./src/components/template/page/t-page-list-right-buttons.vue","webpack:///src/components/template/page/t-page-list.vue","webpack:///./src/components/template/page/t-page-list.vue?5c0c","webpack:///./src/components/template/page/t-page-list.vue","webpack:///./src/components/template/page/t-page-form.vue?ab42","webpack:///src/components/template/page/t-page-form.vue","webpack:///./src/components/template/page/t-page-form.vue?0506","webpack:///./src/components/template/page/t-page-form.vue","webpack:///./src/components/template/page/t-page-report.vue?8a66","webpack:///./src/mixins/page/pageReportMixin.js","webpack:///src/components/template/page/t-page-report.vue","webpack:///./src/components/template/page/t-page-report.vue?a2c1","webpack:///./src/components/template/page/t-page-report.vue","webpack:///./src/components/template/form/layout/t-form-card.vue?68fe","webpack:///src/components/template/form/layout/t-form-card.vue","webpack:///./src/components/template/form/layout/t-form-card.vue?34e9","webpack:///./src/components/template/form/layout/t-form-card.vue","webpack:///./src/components/template/form/layout/t-form-tab.vue?b1fb","webpack:///src/components/template/form/layout/t-form-tab.vue","webpack:///./src/components/template/form/layout/t-form-tab.vue?e58d","webpack:///./src/components/template/form/layout/t-form-tab.vue","webpack:///./src/components/template/page/t-page-form-field-customized.vue?cdf3","webpack:///src/components/template/page/t-page-form-field-customized.vue","webpack:///./src/components/template/page/t-page-form-field-customized.vue?83c1","webpack:///./src/components/template/page/t-page-form-field-customized.vue","webpack:///./src/components/template/page/t-pagination.vue?bf7f","webpack:///src/components/template/page/t-pagination.vue","webpack:///./src/components/template/page/t-pagination.vue?b873","webpack:///./src/components/template/page/t-pagination.vue","webpack:///./src/components/template/page/t-content-header-search-default.vue?18d0","webpack:///src/components/template/page/t-content-header-search-default.vue","webpack:///./src/components/template/page/t-content-header-search-default.vue?152f","webpack:///./src/components/template/page/t-content-header-search-default.vue","webpack:///./src/components/template/theme/t-button/t-button.vue?4aaf","webpack:///src/components/template/theme/t-button/t-button.vue","webpack:///./src/components/template/theme/t-button/t-button.vue?b57b","webpack:///./src/components/template/theme/t-button/t-button.vue","webpack:///./src/components/template/theme/t-button/t-button-save.vue?3dce","webpack:///src/components/template/theme/t-button/t-button-save.vue","webpack:///./src/components/template/theme/t-button/t-button-save.vue?a0ab","webpack:///./src/components/template/theme/t-button/t-button-save.vue","webpack:///./src/components/template/theme/t-button/t-dropdown.vue?a32d","webpack:///src/components/template/theme/t-button/t-dropdown.vue","webpack:///./src/components/template/theme/t-button/t-dropdown.vue?897f","webpack:///./src/components/template/theme/t-button/t-dropdown.vue","webpack:///./src/components/template/form/input/t-input/t-input.vue?760d","webpack:///src/components/template/form/input/t-input/t-input.vue","webpack:///./src/components/template/form/input/t-input/t-input.vue?4f43","webpack:///./src/components/template/form/input/t-input/t-input.vue","webpack:///./src/components/template/form/input/t-input-status.vue?b565","webpack:///src/components/template/form/input/t-input-status.vue","webpack:///./src/components/template/form/input/t-input-status.vue?f99c","webpack:///./src/components/template/form/input/t-input-status.vue","webpack:///./src/components/template/form/input/t-input-search.vue?cf6f","webpack:///src/components/template/form/input/t-input-search.vue","webpack:///./src/components/template/form/input/t-input-search.vue?5fa4","webpack:///./src/components/template/form/input/t-input-search.vue","webpack:///./src/components/template/form/finder/t-input-product.vue?1f30","webpack:///./src/components/template/form/finder/t-input-product-list.vue?a697","webpack:///./src/services/modules/customer/GroupCustomer.service.js","webpack:///src/components/template/form/finder/t-input-product-list.vue","webpack:///./src/components/template/form/finder/t-input-product-list.vue?7b0c","webpack:///./src/components/template/form/finder/t-input-product-list.vue","webpack:///src/components/template/form/finder/t-input-product.vue","webpack:///./src/components/template/form/finder/t-input-product.vue?9d5d","webpack:///./src/components/template/form/finder/t-input-product.vue","webpack:///./src/components/template/form/finder/t-input-code-label.vue?2cba","webpack:///./src/components/template/form/finder/t-input-code-label-list.vue?4758","webpack:///src/components/template/form/finder/t-input-code-label-list.vue","webpack:///./src/components/template/form/finder/t-input-code-label-list.vue?5302","webpack:///./src/components/template/form/finder/t-input-code-label-list.vue","webpack:///./src/mixins/page/pageInputSearchInputMixin.js","webpack:///src/components/template/form/finder/t-input-code-label.vue","webpack:///./src/components/template/form/finder/t-input-code-label.vue?628c","webpack:///./src/components/template/form/finder/t-input-code-label.vue","webpack:///./src/components/template/form/finder/t-input-person.vue?191d","webpack:///./src/model/types/modules/general/EntityPersonType.js","webpack:///./src/components/template/form/finder/t-input-person-list.vue?0585","webpack:///src/components/template/form/finder/t-input-person-list.vue","webpack:///./src/components/template/form/finder/t-input-person-list.vue?351d","webpack:///./src/components/template/form/finder/t-input-person-list.vue","webpack:///./src/services/modules/general/Person.service.js","webpack:///src/components/template/form/finder/t-input-person.vue","webpack:///./src/components/template/form/finder/t-input-person.vue?864f","webpack:///./src/components/template/form/finder/t-input-person.vue","webpack:///./src/components/template/form/finder/t-input-stock.vue?46df","webpack:///./src/components/template/form/finder/t-input-stock-list.vue?8f7e","webpack:///src/components/template/form/finder/t-input-stock-list.vue","webpack:///./src/components/template/form/finder/t-input-stock-list.vue?ad52","webpack:///./src/components/template/form/finder/t-input-stock-list.vue","webpack:///src/components/template/form/finder/t-input-stock.vue","webpack:///./src/components/template/form/finder/t-input-stock.vue?c24f","webpack:///./src/components/template/form/finder/t-input-stock.vue","webpack:///./src/components/template/theme/t-loading.vue?8948","webpack:///src/components/template/theme/t-loading.vue","webpack:///./src/components/template/theme/t-loading.vue?8681","webpack:///./src/components/template/theme/t-loading.vue","webpack:///./src/components/template/theme/t-msg.vue?7293","webpack:///src/components/template/theme/t-msg.vue","webpack:///./src/components/template/theme/t-msg.vue?9966","webpack:///./src/components/template/theme/t-msg.vue","webpack:///./src/components/template/theme/t-help.vue?d4b3","webpack:///src/components/template/theme/t-help.vue","webpack:///./src/components/template/theme/t-help.vue?404c","webpack:///./src/components/template/theme/t-help.vue","webpack:///./src/components/template/theme/t-progress-bar-line.vue?7342","webpack:///src/components/template/theme/t-progress-bar-line.vue","webpack:///./src/components/template/theme/t-progress-bar-line.vue?9b45","webpack:///./src/components/template/theme/t-progress-bar-line.vue","webpack:///./src/components/template/theme/t-map.vue?a554","webpack:///src/components/template/theme/t-map.vue","webpack:///./src/components/template/theme/t-map.vue?f00f","webpack:///./src/components/template/theme/t-map.vue","webpack:///./src/components/template/theme/t-blackout.vue?08b1","webpack:///src/components/template/theme/t-blackout.vue","webpack:///./src/components/template/theme/t-blackout.vue?7e9d","webpack:///./src/components/template/theme/t-blackout.vue","webpack:///src/components/template/theme/t-wrapped.vue","webpack:///./src/components/template/theme/t-wrapped.vue?45dc","webpack:///src/components/template/form/resource/t-form-wrapped.vue","webpack:///./src/components/template/form/resource/t-form-wrapped.vue?a374","webpack:///./src/components/template/theme/t-table.vue?1b6d","webpack:///src/components/template/theme/t-table.vue","webpack:///./src/components/template/theme/t-table.vue?301e","webpack:///./src/components/template/theme/t-table.vue","webpack:///./src/components/template/theme/t-table-field.vue?57df","webpack:///src/components/template/theme/t-table-field.vue","webpack:///./src/components/template/theme/t-table-field.vue?8d7f","webpack:///./src/components/template/theme/t-table-field.vue","webpack:///./src/components/template/theme/t-report-generate.vue?270c","webpack:///./src/components/template/theme/t-report-generate-dialog-routine-by-part.vue?4bf5","webpack:///src/components/template/theme/t-report-generate-dialog-routine-by-part.vue","webpack:///./src/components/template/theme/t-report-generate-dialog-routine-by-part.vue?387c","webpack:///./src/components/template/theme/t-report-generate-dialog-routine-by-part.vue","webpack:///src/components/template/theme/t-report-generate.vue","webpack:///./src/components/template/theme/t-report-generate.vue?f9a2","webpack:///./src/components/template/theme/t-report-generate.vue","webpack:///./src/components/components-template.js","webpack:///./src/locales.js","webpack:///./src/validate/customRules.js","webpack:///./src/filters/filters-template.js","webpack:///./src/main.js","webpack:///./src/services/modules/setting/PageView.service.js","webpack:///./src/mixins/page/pageFormMixin.js","webpack:///./src/constants.js","webpack:///./src/services/config/crudService.js","webpack:///./src/services/resource/GeneralCRUD.service.js","webpack:///./src/services/modules/product/Model.service.js","webpack:///./src/services/modules/product/Unit.service.js","webpack:///./src/views/embed/general/e-address.vue?f901","webpack:///src/views/embed/general/e-address.vue","webpack:///./src/views/embed/general/e-address.vue?1940","webpack:///./src/views/embed/general/e-address.vue","webpack:///./src/components/template/dialog/t-dialog-import.vue?607e","webpack:///./src/components/template/dialog/t-dialog-import-models.vue?eb81","webpack:///./src/views/modules/place/EnterpriseImportDialog.vue?0063","webpack:///src/views/modules/place/EnterpriseImportDialog.vue","webpack:///./src/views/modules/place/EnterpriseImportDialog.vue?2017","webpack:///./src/views/modules/place/EnterpriseImportDialog.vue","webpack:///src/components/template/dialog/t-dialog-import-models.vue","webpack:///./src/components/template/dialog/t-dialog-import-models.vue?0112","webpack:///./src/components/template/dialog/t-dialog-import-models.vue","webpack:///src/components/template/dialog/t-dialog-import.vue","webpack:///./src/components/template/dialog/t-dialog-import.vue?02cf","webpack:///./src/components/template/dialog/t-dialog-import.vue","webpack:///./src/components/template/form/input/t-keyword.vue?9ec4","webpack:///src/components/template/form/input/t-keyword.vue","webpack:///./src/components/template/form/input/t-keyword.vue?9b03","webpack:///./src/components/template/form/input/t-keyword.vue","webpack:///./src/components/template/page/t-page-form.vue?927b","webpack:///./src/mixins/page/pageFormListMixin.js","webpack:///./src/model/types/resource/VarType.js","webpack:///./src/model/types/Type.js","webpack:///./src/views/modules/general/PageField.vue?4fbc","webpack:///src/views/modules/general/PageField.vue","webpack:///./src/views/modules/general/PageField.vue?67d6","webpack:///./src/views/modules/general/PageField.vue","webpack:///./src/components/template/form/list/t-form-list.vue?8541","webpack:///src/components/template/form/list/t-form-list.vue","webpack:///./src/components/template/form/list/t-form-list.vue?a190","webpack:///./src/components/template/form/list/t-form-list.vue","webpack:///./src/services/modules/product/Feature.service.js","webpack:///./src/services/config/http-common.js","webpack:///./src/mixins/page/pageFormFieldMixin.js","webpack:///./src/mixins/page/pageInputSearchListMixin.js","webpack:///./src/components/template/theme/t-blackout.vue?1b9a","webpack:///./src/components/template/theme/t-table.vue?0301","webpack:///./src/components/template/page/t-gallery.vue?361f","webpack:///src/components/template/page/t-gallery.vue","webpack:///./src/components/template/page/t-gallery.vue?d2e3","webpack:///./src/components/template/page/t-gallery.vue","webpack:///./src/services/modules/product/Product.service.js","webpack:///./src/services/modules/product/GroupProduct.service.js","webpack:///./src/services/modules/product/Complement.service.js","webpack:///./src/model/entities/resource/entity/UserAuthEntity.js","webpack:///./src/components/template/dialog/t-dialog-form.vue?a4c0","webpack:///src/components/template/dialog/t-dialog-form.vue","webpack:///./src/components/template/dialog/t-dialog-form.vue?848e","webpack:///./src/components/template/dialog/t-dialog-form.vue","webpack:///./src/model/types/resource/InputType.js","webpack:///./src/components/template/dialog/t-dialog-duplicate.vue?2740","webpack:///src/components/template/dialog/t-dialog-duplicate.vue","webpack:///./src/components/template/dialog/t-dialog-duplicate.vue?e19e","webpack:///./src/components/template/dialog/t-dialog-duplicate.vue","webpack:///./src/mixins/page/functionsMixins.js","webpack:///./src/assets/scripts/ui.js","webpack:///./src/components/template/theme/t-image-blob.vue?c948","webpack:///src/components/template/theme/t-image-blob.vue","webpack:///./src/components/template/theme/t-image-blob.vue?7d11","webpack:///./src/components/template/theme/t-image-blob.vue","webpack:///./src/services/modules/customer/Customer.service.js","webpack:///./src/model/entities/resource/entity/CurrentPageEntity.js","webpack:///./src/mixins/page/pageDefaultMixin.js","webpack:///./src/components/template/theme/t-report-generate.vue?6293","webpack:///./src/components/template/form/input/t-field-customized.vue?12da","webpack:///src/components/template/form/input/t-field-customized.vue","webpack:///./src/components/template/form/input/t-field-customized.vue?5364","webpack:///./src/components/template/form/input/t-field-customized.vue"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","installedCssChunks","jsonpScriptSrc","p","exports","module","l","e","promises","cssChunks","Promise","resolve","reject","href","fullhref","existingLinkTags","document","getElementsByTagName","tag","dataHref","getAttribute","rel","existingStyleTags","linkTag","createElement","type","onload","onerror","event","request","target","src","err","Error","code","parentNode","removeChild","head","appendChild","then","installedChunkData","promise","onScriptComplete","script","charset","timeout","nc","setAttribute","error","clearTimeout","chunk","errorType","realSrc","message","name","undefined","setTimeout","all","m","c","d","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","oe","console","jsonpArray","window","oldJsonpFunction","slice","fieldId","var","mask","decimalPrecision","columns","help","note","minAccepted","maxAccepted","createdShow","createdEnabled","updateShow","updatedEnabled","required","fixed","acceptZero","options","NOT_EXCLUSIVE","CUSTOMER","GROUP_CUSTOMER","list","text","contains","typeInput","Type","render","_vm","this","_h","$createElement","_c","_self","staticClass","_v","_s","attrs","generalErrors","items","fields","command","userAuth","status","pageFormIsLoaded","path","listFormIsLoaded","listIsLoaded","foreignKey","on","getList","onSubmit","scopedSlots","_u","fn","ref","item","label","_e","indexOf","directives","rawName","show","expression","$event","toggleShowField","pageViewId","staticRenderFns","mixins","pageDefaultMixin","components","primaryKeyColumn","foreignKeyColumn","props","pageId","Number","typeImage","Boolean","String","methods","defaultForm","defaultFormField","mountedPrepare","mountedPrepareFormListDefault","mountedList","newItems","style_class","ui","find","component","form","default","content","totalPages","pageNumber","intervalTimerSearchDefault","countSendDefaultSearch","pageListIsLoaded","filteredDefault","filteredAdvanced","modalOrdained","searchParams","URLSearchParams","mounted","reloadPageList","executeSearch","afterGetPage","mountQuery","entries","$route","query","forEach","decodeURI","parseFloat","parseInt","Array","isArray","split","append","queryFieldId","replace","fieldsCustomizable","entity","field","a","fieldNewValue","VarType","BOOLEAN","INTEGER","DOUBLE","STRING","DATE","log","checkIsFiltered","checkViewListTableDefault","setIsLoadingPage","setCurrentPage","mountedDefault","breadcrumb","currentPage","pageTitle","active","getFieldsCustomizable","getPage","clearSearch","keys","searchNotExposeQuery","timeSearchSend","searchDefault","persistsPageNumber","exposeQueryString","delete","validated","valueSend","join","substring","requestFieldCustomized","fieldCustomized","findEntityUsed","hasValue","page","callback","setInterval","clearInterval","getPageNotExposeQuery","openDialogOrdained","openDialogForm","mountAgain","encodeURI","JSON","stringify","$router","lastPage","$store","commit","crudGeneral","getAll","getPath","response","catch","computed","ok","model","$$v","hasGeneralErrors","_l","domProps","busy","checkValidation","invalid","errors","errorList","isInvalid","preventDefault","arguments","localStatus","fieldCustomizable","$set","class","busyForm","staticStyle","_t","errorField","columnOptions","typeOptions","checkOptions","InputType","INPUT","varTypeOptions","decimalPrecisionOptions","maskOptions","SELECT","RADIO","CHECKBOX","index","addOption","SELECT_COLOR","btnSubmitPrimary","onButtonSubmitText","cancelUpdatedList","orderItems","filter","cols","busyList","draggableEnd","_f","typeMaster","modifiers","validation","itemRead","validationDelete","itemDelete","_m","drag","newOrderList","columnSize","dragging","enabledDrag","FieldCustomizableEntity","title","primaryKey","validationUpdate","onSending","$emit","orderItemsReduce","id","orderList","newListOrder","setReset","$parent","$refs","validationFormList","validate","success","watch","val","functionsMixins","dialogIsLoaded","genKey","enableGeneralFields","yesOrNotOptions","itemInserted","groupId","CurrentPageEntity","UserAuthEntity","setUserAuth","v","noOptionAdd","mountedContinued","setSubmitDialogDefault","executeSubmitDialog","successInsert","checkErrorsComponent","remove","responseError","save","putDialog","setInsertDialog","onClose","resetModal","resetFormDefault","getEmbedAddressApi","el","address","street","neighborhood","provinceAbbreviation","cityId","readModal","changeBusy","isInsert","getById","$nextTick","$bvModal","hide","general","obj","objField","alert","warn","msg","go","localStorage","getItem","$translate","setLang","language","setItem","account","Dashboard","GeneralMyReport","GeneralMyReportItem","GeneralMyUserHistory","GeneralMyUserChangePassword","AdminCompany","AdminCompanyForm","AdminUser","AdminUserForm","AdminDepartment","AdminDepartmentForm","AdminGroupUser","AdminGroupUserForm","AdminProfile","AdminProfileForm","AdminPrinter","AdminPrinterForm","AdminAccessControl","AdminAccessControlForm","AdminSettingParam","AdminSettingParamForm","AdminSetting","ProductProduct","ProductProductForm","ProductFamilyProduct","ProductFamilyProductForm","ProductModel","ProductModelForm","ProductCharacteristics","ProductCharacteristicsForm","ProductBookmarks","ProductBookmarksForm","ProductMarketCode","ProductMarketCodeForm","ProductUnit","ProductUnitForm","ProductRawMaterial","ProductRawMaterialForm","ProductTypeRawMaterial","ProductTypeRawMaterialForm","ProductComponent","ProductComponentForm","ProductTypeComponent","ProductTypeComponentForm","ProductCompound","ProductCompoundForm","ProductTypeCompound","ProductTypeCompoundForm","ProductTypeMaterial","ProductTypeMaterialForm","ProductTypeFeature","ProductTypeFeatureForm","ProductFeature","ProductFeatureForm","ProductComplement","ProductComplementForm","ProductTypeBuildingMaterial","ProductTypeBuildingMaterialForm","ProductTypeEquipment","ProductTypeEquipmentForm","ProductMaterial","ProductMaterialForm","ProductTolerance","ProductToleranceForm","ProductSettingParam","ProductSettingParamForm","ProductSetting","ProductReport","CustomerCustomer","CustomerCustomerForm","CustomerGroupCustomer","CustomerGroupCustomerForm","CustomerTypeProfile","CustomerTypeProfileForm","CustomerTypeOrigin","CustomerTypeOriginForm","CustomerSettingParam","CustomerSettingParamForm","CustomerSetting","CustomerReport","StockProduct","StockProductManualForm","StockProductInOut","StockPlaceProduct","StockPlaceProductForm","StockPlaceMold","StockPlaceMoldForm","StockTypeStatusExpedition","StockTypeStatusExpeditionForm","StockExpeditionOrder","StockExpeditionOrderForm","StockTypeStockManual","StockTypeStockManualForm","StockSettingParam","StockSettingParamForm","StockSetting","StockReport","alias","PlaceTypeEnvironment","PlaceTypeEnvironmentForm","PlaceEnterprise","PlaceEnterpriseForm","PlaceWork","PlaceWorkForm","PlaceEnvironment","PlaceEnvironmentForm","PlaceSpotDetail","PlaceSpotDetailForm","PlaceSpotSpecification","PlaceSpotSpecificationForm","PlaceTypeEnterprise","PlaceTypeEnterpriseForm","PlaceTypeSpotDetail","PlaceTypeSpotDetailForm","PlaceTypeSpotFolder","PlaceTypeSpotFolderForm","PlaceSettingParam","PlaceSettingParamForm","PlaceSetting","PlaceReport","ChecklistChecklist","ChecklistChecklistForm","ChecklistSchedule","ChecklistScheduleForm","ChecklistOccurrence","ChecklistOccurrenceForm","ChecklistTypeChecklistModel","ChecklistTypeChecklistModelForm","ChecklistTypeChecklistItem","ChecklistTypeChecklistItemForm","ChecklistTypeOperationStatus","ChecklistTypeOperationStatusForm","ChecklistTypeOccurrenceStatus","ChecklistTypeOccurrenceStatusForm","ChecklistTypePathology","ChecklistTypePathologyForm","ChecklistTypeCriticality","ChecklistTypeCriticalityForm","ChecklistActivity1","ChecklistActivity1Form","ChecklistActivity2","ChecklistActivity2Form","ChecklistActivity3","ChecklistActivity3Form","ChecklistActivity4","ChecklistActivity4Form","ChecklistActivity5","ChecklistActivity5Form","ChecklistTypeActivity","ChecklistTypeEvidenceService","ChecklistTypeEvidenceServiceForm","ChecklistTypeEvidenceCategory","ChecklistTypeEvidenceCategoryForm","ChecklistTypeEvidenceStatus","ChecklistTypeEvidenceStatusForm","ChecklistTypeNotInspected","ChecklistTypeNotInspectedForm","ChecklistSettingParam","ChecklistSettingParamForm","ChecklistTypeRegulation","ChecklistTypeRegulationForm","ChecklistTypeChecklistItemCategory","ChecklistTypeChecklistItemCategoryForm","ChecklistRegulation","ChecklistRegulationForm","ChecklistSetting","ChecklistReport","AgentSector","AgentSectorForm","AgentExecutor","AgentExecutorForm","AgentInspector","AgentInspectorForm","AgentSettingParam","AgentSettingParamForm","AgentSetting","ProductionProductionOrder","ProductionProductionOrderInsert","ProductionProductionOrderStep","ProductionProductionOrderStepForm","ProductionProductionOrderBulkAction","ProductionProductionOrderBulkActionForm","ProductionProcessFlow","ProductionProcessFlowForm","ProductionTypeMold","ProductionTypeMoldForm","ProductionTypeMaintenance","ProductionTypeMaintenanceForm","ProductionTypeStop","ProductionTypeStopForm","ProductionTypeMachine","ProductionTypeMachineForm","ProductionMold","ProductionMoldForm","ProductionOperator","ProductionOperatorForm","ProductionMachine","ProductionMachineForm","ProductionTypeStatusProduction","ProductionTypeStatusProductionForm","ProductionTypeNonConformance","ProductionTypeNonConformanceForm","ProductionTypeInstrument","ProductionTypeInstrumentForm","ProductionInstrument","ProductionInstrumentForm","ProductionLot","ProductionLotForm","ProductionSetting","ProductionSettingParam","ProductionSettingParamForm","ProductionReport","BusinessQuote","BusinessQuoteForm","BusinessSaleOrder","BusinessSaleOrderForm","BusinessInvoice","BusinessInvoiceForm","BusinessSeller","BusinessSellerForm","BusinessDeliveryPlan","BusinessDeliveryPlanForm","BusinessShippingCompany","BusinessShippingCompanyForm","BusinessTypeService","BusinessTypeServiceForm","BusinessPriceList","BusinessPriceListForm","BusinessPaymentPlan","BusinessPaymentPlanForm","BusinessTypeQuoteStatus","BusinessTypeQuoteStatusForm","BusinessTypeSaleOrderStatus","BusinessTypeSaleOrderStatusForm","BusinessTypeBudgetRejectionReason","BusinessTypeBudgetRejectionReasonForm","BusinessSettingParam","BusinessSettingParamForm","BusinessSetting","BusinessReport","PurchaseOrder","PurchaseOrderForm","PurchaseInvoice","PurchaseInvoiceForm","PurchaseSupplier","PurchaseSupplierForm","PurchaseSettingParam","PurchaseSettingParamForm","PurchaseTypeSupplier","PurchaseTypeSupplierForm","PurchaseSetting","PurchaseReport","FinancialRevenue","FinancialRevenueForm","FinancialExpense","FinancialExpenseForm","FinancialBankAccount","FinancialBankAccountForm","FinancialChartAccount","FinancialChartAccountForm","FinancialCreditor","FinancialCreditorForm","FinancialSettingParam","FinancialSettingParamForm","FinancialSetting","FinancialReport","EmployeeEmployee","EmployeeEmployeeForm","EmployeeExam","EmployeeExamForm","EmployeeRole","EmployeeRoleForm","EmployeeSettingParam","EmployeeSettingParamForm","EmployeeSetting","EmployeeReport","CustomProductionOrder","CustomProductionOrderForm","CustomProductionOrderStep","CustomProductionOrderStepForm","CustomProductionReport","CustomProductionKanban","CustomQualityAppraisal","CustomQualityAppraisalForm","CustomQualityParamByLot","CustomQualityParamByLotForm","CustomStockProduct","CustomStockProductManualForm","CustomStockReport","routes","CustomSPObras","CustomSPObrasForm","CustomChecklistReport","customers","polimix","consorciolmm","cymaco","parse","domain","custom","Login","Recovery","ReportByPartPublic","ReportByPartPublicFiles","ReportView","Default","RoutesGeneral","removeByCustom","concat","RoutesProduction","RoutesArch","RoutesERP","RoutesCustom","indexRemove","findIndex","meta","requiresAuth","children","redirect","Vue","use","Router","router","Routes","Vuex","Store","state","count","menuFixed","menuFixedOld","menuHover","menuClicked","openMenuMobile","isLoadingPage","blackoutShow","disabledButtonSubmit","groupUser","menuPageId","singularTitle","viewDefaultReportId","currentPageSettings","menuButtons","right","languages","login","authorization","token","tempPassword","template","colorPrimary","colorSecondary","colorLight","logoSmall","logoMedium","logoLarge","logoWhite","font","mutations","testeMutation","setAccount","setToggleMenuFixed","setMenuFixed","setOpenMenuMobile","open","setGroupUser","setMenuFixedOld","setMenuHover","setItemMenuClicked","setPageMenuButtonsRight","setDisabledButtonSubmit","disabled","setPageBlackoutShow","setLastPage","actions","teste","getters","getLanguages","getCurrentPageSettings","getGroupUser","getCurrentPage","getPageMenuButtonsRight","getMenuFixed","getMenuFixedOld","getMenuHover","getMenuClicked","getOpenMenuMobile","getIsLoadingPage","getItemMenuActiveId","getPageBlackoutShow","getDisabledButtonSubmit","getAccountUser","getLastPage","hasBlackout","hasLoadingPage","onShow","onHidden","handleOk","cancel","okText","onStatus","bvModalEvt","botao","ButtonEntity","disableRead","onReadAction","disableDelete","onDeleteAction","linkView","linkDelete","localIdRead","formPath","deleteByConfirmId","generateLinks","formatter","localIsLoadingPage","disableEditField","disableEditView","onMountAgain","proxy","msgReturnQueryCode","msgReturnGenderFeminine","msgResultFormTitle","totalElements","localTitleItems","modalFields","modalView","hasAccess","relationAccessSubValidation","openModalFields","openModalView","titleItems","msgReturnTitle","codSuccess","codError","returnMessage","singular","goBackTo","checkLastQuery","goBackTitle","localGoBackPath","onSubmitText","submitBottom","isButtonPrimary","localClassTab","idTab","checkValidateTabs","tabIndex","card","$slots","footer","submitTopAndBottom","multiCards","submitExternal","submitText","submitTextNotDefault","insertGeneralFieldsAfterPositionInput","checkErrorsAgain","classTab","goBackPath","panel","url","tabs","setTabIndex","setGoBackPath","checkTab","setTabByHash","hash","tabId","prevTabIndex","navTab","getElementsByClassName","classList","add","contentTab","isError","report","loaded","charts","qtd","reportId","mountedReport","params","from","reportRender","chart","ApexCharts","getElementById","pageReportMixin","intervalRefresh","routeName","unshaded","hasSlotHeader","iconFolder","iconBox","iconChatRightText","iconCardHeading","iconTruck","iconInfoSquare","iconBuilding","iconCashStack","header","lazy","setHash","location","onlySearch","bigSearch","getNonConformance","onPressEnter","nonConformanceFields","linkGen","clickPage","notLinkGen","onClearSearch","fieldsCustom","searchForm","statusOptions","placeholder","onSearchDefault","composing","trim","$forceUpdate","hasAdvancedFilter","openSearchDialog","every","_obj","formInline","primary","outlinePrimary","submit","noIcon","sending","localDisabled","disabledSubmitButton","localTitle","localSize","to","localTo","variant","onClick","enableLoader","hasIcon","small","large","submitFake","secondary","danger","warning","focus","light","outlineSecondary","outlineDanger","outlineSuccess","outlineWarning","outlineFocus","outlineLight","iconSearch","iconList","iconPlus","iconPencil","iconDetail","applyRules","marginBottom","marginRight","clicked","onOver","onLeave","noCaret","toggleClass","pageRelationId","accessGeneral","itemsRelationPages","iconSettings","dropdown","visible","row","hidden","notRow","colorReduced","colorSketch","showColors","vid","localRules","validationContext","_obj$1","_obj$2","_obj$3","_obj$4","_obj$5","_obj$6","_obj$7","_obj$8","_obj$9","_obj$10","_obj$11","_obj$12","_obj$13","hideLabel","localLabel","innerValue","hasSlotGroupInputPrepend","hasSlotGroupInputAppend","hasSlotInputIcon","hasIconByMask","inputIsFocus","classIconGroup","date","dateRemoveCalendar","bold","highlight","number","money","percent","classInput","select","selectCommon","radio","selectText","lpad","range","localDecimals","addError","localInputId","getValidationState","_k","keyCode","autocomplete","disabledCheck","onFocusInInput","onFocusOutInput","maskApply","submitted","localUpper","localLower","datetime","setDateAndClose","closeDatePicker","dateRemoveByRegex","innerDate","_b","checkInvalid","nativeOn","innerNumeric","moneyConfig","checkNumericValue","password","passwordSecurity","style","onPaletteOver","onPaletteLeave","updateColor","rows","onFocusInTextarea","onFocusOutTextarea","optimizeIA","maxLength","localSmall","localOptions","onMultiSelectSearch","onMultiSelectSelected","onMultiSelectRemove","multiSelectSearch","checkExistsValueSelect","stopPropagation","multiSelectClear","multiSelectObject","option","appendage","stacked","radioButton","onClickRadio","formStatus","multiple","iid","formCommand","codeLabel","firstDefault","fixedInsert","fixedExceptInsert","textarea","enableOptimizeAi","selectColors","selectImages","checked","checkbox","upload","uploadImage","uploadMaxSize","uploadMaxFiles","time","email","emailMultiple","tel","cep","cnpjOrCpf","cnpj","cpf","api","dateNow","minLength","decimals","rules","notAutocomplete","enableOptionAllText","disableUniqueSelect","upper","lower","onlyNumbers","onlyLetters","onlyLettersAndNumbers","validityEnabled","oldValue","applyConvertingMoney","localAddError","hasError","localBusy","maskSize","isInputNumeric","currentDate","multiSelectOptionGrouped","paletteInOver","initialValueSet","decimal","thousands","prefix","precision","masked","setCurrentDate","multiSelectSetValue","multiselect","deactivate","applyFixed","checkIsRequired","checkLabel","dateIso","toISOString","old","round_number","toFixed","value_converted","convert","created","hex","selectedOption","searchQuery","valueString","qtdElements","lastItem","applyManualError","isNaN","replaceAll","toString","toUpperCase","toLowerCase","$http","applyDateMask","datePicker","closePopup","checkDate","checkEnableAllOptions","newOptions","handleDatePickerChange","errorsBeforeSubject","valid","temp","enableRange","booleanOptions","onChange","innerValueStart","boolean","startLabel","startCols","localPlaceholder","finishCols","finishLabel","innerValueFinish","defaultApplied","dateMonthly","textTrue","textFalse","setValue","today","getFullYear","month","lastDayOfMonth","getUTCDate","padStart","start","finish","modalSearch","productCodeLabel","onModalSearchClose","onSelected","searchFocusIn","searchFocusOut","executeFastSearch","fastSearchList","fastSearchCursor","setFastSearchByIndex","getDetailSearchList","openModalSearch","disableName","galleryImages","galleryShow","closeSearch","accountPrefix","executeSearchInput","groupProductOptions","changeGroupProduct","hasConditionalFields","entityFieldCustomized","groupProductId","modelId","ProductExclusiveType","typeExclusive","groupCustomerOptions","searchMeasureLabel","setSearchMeasureType","featureOptions","complementOptions","filtered","viewFieldsPageProduct","getPageSearchList","selectItemList","productId","highlightMeasures","firstFileName","openModalProductImages","firstFileId","service","http","pageInputSearchListMixin","materialId","complementId","compoundId","featureId","unitId","customerId","customerGroupId","hasStock","searchMeasureType","searchMeasureRange","keyword","modelOptions","unitOptions","measureTypeOptions","measureTextHighlight","textHighLight","enableFocusOutAction","mount","stopSearch","enableCloseFastSearch","getProductResume","activeElement","blur","clearFastSearch","which","getFastSearchTop","entityPageId","entityPath","codeLabelKeyColumn","enableImportModel","localAddSearchParamsDefault","localFixed","onDialogImported","openDialogDuplicate","formDuplicate","origin","formDuplicateError","onDuplicated","enterpriseId","viewFieldsPageRelation","formDuplicateShow","changeName","enableCopyContentText","enableCopyContentImage","addSearchParamsDefault","paramObj","pageListMixin","exportId","modalId","getResume","setFixed","highlightSearch","getExportId","set","getResumeCodeLabel","param","resume","pageInputSearchInputMixin","material","compound","machine","rawMaterial","instrument","enterprise","spotFolder","environment","occurrence","inspector","typePathology","typeBuildingMaterial","typeEquipment","typeChecklistItem","lot","entityPersonType","CREDITOR","SUPPLIER","EXECUTOR","personId","personNumber","getText","personType","searchPersons","getPageSearchPerson","selectPerson","pagePersonSearch","searchParamsPerson","federalTaxpayer","city","EntityPersonType","allStatus","customer","creditor","supplier","executor","getPersonResume","parts","subtitle","getPersonId","onlyOut","notGrouped","showOriginLabel","stockItemType","getStockItemId","changeModel","getPageSearchProduct","selectProduct","pageProductSearch","searchParamsProduct","onlyNewProduced","originCodeLabel","searchProducts","stockProductId","productName","groupProduct","unit","getStockItemResume","big","info","fade","tWithParams","gender","localGender","plural","localPlural","invalidFast","localHideSeconds","genderFeminine","autoHide","hideSeconds","customClass","localSubtitle","scale","progress","total","setScale","bordered","showLink","latitude","longitude","zoom","getLink","link","white","opacity9","close","localShow","noCloseOnEsc","addEventListener","escapeHandler","$once","removeEventListener","functional","ctx","deepClone","vnodes","cloneVNode","vnode","componentOptions","cloned","isComment","componentInstance","clonedChildren","elm","context","isStatic","clonedVNodes","h","tableStriped","tableResponsive","tableBordered","enableRadio","enableChecked","onItems","valueChecked","selectAllItems","enableSearch","headerClass","checkShowSearch","disableActionsColumn","checkBackgroundLine","localPrimaryKeyArrayIds","valueRadio","onLineClick","disableLinkPrimaryColumn","linkPrimaryColumn","lineClass","deleteByConfirmColumn","reload","enablePagination","totalPagesComputed","pageSize","changePage","checkedAll","indeterminate","colorLineSelected","containerTableStyle","primaryKeyArrayIds","disableSearch","includes","backgroundColor","removeAccentuation","str","normalize","Math","ceil","paginatedItems","filteredItems","column","checkReplaceLine","getItemValue","attribute","urlDownload","dialogRoutineServerOnlaineApi","dialogRoutineTotalRows","dialogRoutineTotalParts","enableSetting","showSetting","groupedPeriodOptions","formatOptions","groupedPeriod","format","totalByGrouped","totalByPeriodHelp","localButtonTitle","serverOnlaineApi","totalRows","totalParts","urlPrint","reportHtml","dialogRoutineShow","buttonTitle","defaultPdf","defaultXls","enableGenerateHtml","enableGeneratePdf","enableGenerateExcel","enableGenerateWord","enableReportByPart","javaReport","relationKey","enableGroupedPeriod","enabledTotalByPeriod","landscape","subValidationTag","reportError","Calendar","tPage","tPageTitle","tHeader","tFooter","tDialogConfirm","tList","tListActionsDefault","tListLinkPrimary","tPageGeneral","tPageList","tPageForm","tPageReport","tFormCard","tFormTab","tPageFormFieldCustomized","tContentHeaderSearchDefault","tPagination","tButton","tButtonSave","tDropdown","tInput","tInputStatus","tInputSearch","tInputProduct","tInputCodeLabel","tInputPerson","tInputStock","tWrapped","tLoading","tMsg","tHelp","tProgressBarLine","tMap","tBlackout","tFormWrapped","tTable","tTableField","tReportGenerate","vSelect","Multiselect","draggable","DatePicker","messageDefault","manualErrorMessage","manualRule","args","computesRequired","timeRule","match","numericNotZeroRule","dateRule","convert_date","ano_bissexto","convertDateBR","expReg","dia","mes","ano","urlRule","passwordSecurityRule","emailMultipleRule","matriz","test","cnpjRule","isString","validTypes","isInteger","digitsOnly","validFormat","numbers","map","Set","calc","x","factor","sum","digits","digit0","digit1","cpfRule","validator","digit","array","toValidate","pop","rest","reduce","soma","cepRule","colorRule","numbersRule","lettersRule","lettersAndNumbersRule","extend","toLocaleString","currency","minimumFractionDigits","maximumFractionDigits","maximumSignificantDigits","Date","timeZone","lastIndexOf","directive","inserted","VueFormWizard","Axios","VueApexCharts","localize","pt_BR","rule","ValidationObserver","ValidationProvider","require","Twitter","Sketch","VueTheMask","Plugin","VueMeta","Vuelidate","BootstrapVue","IconsPlugin","VueTranslate","config","productionTip","locales","Locales","store","app","$mount","removeColumnStatus","removerOtherColumns","enableInsert","fieldKey","enabledSubmit","injectFieldsForm","requestCustomized","setFieldValue","entityField","onSubmitExternal","fieldsNotReset","clearFieldsCustomizable","mountedForm","defaultValidation","finishLoaded","formInnerComponent","setInitiate","setValidationDefault","getAllFieldsCustomizable","updateCommand","validationCreate","setRedirect","isUpdate","validationRead","setSendingDefault","callbackError","setSending","callbackSuccess","callbackSuccessUpdate","callbackSuccessDelete","fieldsCustomized","onItemReadDefault","onItemDeleteDefault","actionDefaultAfterCRUD","generalResponseError","Blob","b","fr","FileReader","objectError","msgError","readAsText","getEmbedCNPJApi","elPerson","elAddress","cnpjAPI","person","companyName","otherPersonalDocument","provinceTaxpayer","provinceTaxpayerExempted","cityTaxpayer","invoiceEmail","invoiceBRSuframa","complement","zipcode","baseURL","crudService","forceReadById","getAssemble","post","put","update","selectList","notRequired","setAddress","countryStateOptions","onChangeCountryState","cityIsLoaded","countryCityOptions","getCities","changeDefaultCity","oldProvinceAbbreviation","province","newAddress","formNumber","$el","handler","deep","onImported","disableImport","disableDuplicate","onImport","onDuplicate","disableNew","newTo","reference","onEnterpriseImportDialog","msgInfo","unique","importedId","showModal","otherCodeLabel","importAddressCustomer","contact","pageDialogFormMixin","department","country","addContact","sector","typeRegulation","openEnterpriseImportDialog","openModal","showDialogModels","showLoadingList","listParams","pathMethodComplement","defaultFormList","mountedFormList","setSendingFormListDefault","pageFieldId","error_fieldCustomizable","cancelUpdatedField","hideHeader","align","headerMarginRight","sortable","sortableCheckColumn","keyRead","enableChangeOrderUpDown","changeOrderByType","disableDefaultButtons","keyDelete","disableFooterLength","pageable","getToken","headers","typeChange","Map","fromEntries","customAxios","axios","constants","interceptors","pageNumber_","pathSend","uploadByMultipart","file","onUploadProgress","formData","FormData","uploadByChunks","fileName","fileSize","fileType","chunks","categoryId","otherForeignKey","uploadChunk","download","nameSalve","responseType","URL","createObjectURL","body","click","image","enableAllFilters","executeAfterSearch","blackoutImageZoomBusy","onBlackoutImage","blackoutImageIndex","openImage","images","blackoutImageZoomImage","blackoutImageShow","localImages","blackoutImageZoom","setShow","handler_image_gallery","changePosition","indexImage","openBlackout","relation","familyProductId","relationPages","subValidations","generalFieldsCustomizable","viewFields","renderRules","handleCancel","hideSubmit","localCancelText","disabledSubmit","localOkText","localVariant","size","cancelText","TEXTAREA","LABEL","isList","onCloseDialog","dialogId","formError","pathServer","objValid","infoDevelopment","copyToClipboard","inputId","navigator","clipboard","writeText","toast","input","setSelectionRange","isView","isDelete","convertArrayIdsToObject","arrayIds","convertObjectToArrayIds","getRenderRule","downloadReport","ext","nameFile","downloadReportByTag","modal_id","noOptionValue","goPath","addQuery","addObjQuery","objQuery","relationAccessPageGeneral","relationAccessPageTitle","setBlackout","notReset","currentRoute","matched","prepareHTML","limit","getAlternativeNativeValue","inputName","alternativeArray","getElementsByName","alternativeChecked","alternativeChosen","getParamFieldByPosition","position","fieldName","fieldType","fieldVar","fieldMask","fieldLength","fieldMinAccepted","fieldMaxAccepted","fieldRequired","fieldOptions","optionValue","optionText","search","searchTxt","RegExp","goLink","focusById","generateRandomNumber","min","max","floor","random","getPosition","geolocation","getCurrentPosition","coords","getDevice","appName","appCodeName","platform","userAgent","redirectQuery","lastPagePath","assign","tooltip","y","eval","tagScript","dateDiff","startDate","finishDate","_startDate","_finishDate","round","toaster","seconds","messageHTML","innerHTML","$bvToast","solid","autoHideDelay","appendToast","convertNumber","forceDecimals","decimalUtilized","forceDecimalsUtilized","roundNumber","decimalNumber","decimalsLength","dateString","msgConfirm","title_","okTitle","ele","msgBoxConfirm","okVariant","cancelTitle","hideHeaderClose","msgConfirmDelete","msg_confirm_delete","msgBoxOk","getAccountName","accountName","getAccountPrefix","getAccountModule","getAccountHelpDocURL","helpDocUrl","getNameUser","getEmailUser","getTemplateLogo","setFavicon","icon","querySelector","msgErrorForm","arrayMessage","randomIntFromInterval","formatZeroNumber","valor","qtyZeros","currentYear","getTime","currentDateTime","currentHour","defaultTemplate","accessKey","customTemplate","styleRulers","nameValid","logout","removeItem","blobUrl","localSrc","showLoading","blob","load","setMenuPageId","metaInfo","getTitle","generalResource","assembleParams","yesOrNotOptionsAndAll","focusByRef","getFieldsCustomizableGeneralByPageId","injectFieldsCustomizable","getViewFields","filterArray","arrayCustomizable","arrayReturn","fieldValue","integerValue","doubleValue","stringValue","dateValue","arrayEntity","forSearchList","requestEntity","addNoOption","executeDeleteByBulk","ids","callBackSuccess","callBackError","getUserAuth","sendQueueWordReport","injectGeneralFields","checkColumns","nonConformance","alertError","checkIsFixed"],"mappings":"aACE,SAASA,EAAqBC,GAQ7B,IAPA,IAMIC,EAAUC,EANVC,EAAWH,EAAK,GAChBI,EAAcJ,EAAK,GACnBK,EAAiBL,EAAK,GAIHM,EAAI,EAAGC,EAAW,GACpCD,EAAIH,EAASK,OAAQF,IACzBJ,EAAUC,EAASG,GAChBG,OAAOC,UAAUC,eAAeC,KAAKC,EAAiBX,IAAYW,EAAgBX,IACpFK,EAASO,KAAKD,EAAgBX,GAAS,IAExCW,EAAgBX,GAAW,EAE5B,IAAID,KAAYG,EACZK,OAAOC,UAAUC,eAAeC,KAAKR,EAAaH,KACpDc,EAAQd,GAAYG,EAAYH,IAG/Be,GAAqBA,EAAoBhB,GAE5C,MAAMO,EAASC,OACdD,EAASU,OAATV,GAOD,OAHAW,EAAgBJ,KAAKK,MAAMD,EAAiBb,GAAkB,IAGvDe,IAER,SAASA,IAER,IADA,IAAIC,EACIf,EAAI,EAAGA,EAAIY,EAAgBV,OAAQF,IAAK,CAG/C,IAFA,IAAIgB,EAAiBJ,EAAgBZ,GACjCiB,GAAY,EACRC,EAAI,EAAGA,EAAIF,EAAed,OAAQgB,IAAK,CAC9C,IAAIC,EAAQH,EAAeE,GACG,IAA3BX,EAAgBY,KAAcF,GAAY,GAE3CA,IACFL,EAAgBQ,OAAOpB,IAAK,GAC5Be,EAASM,EAAoBA,EAAoBC,EAAIN,EAAe,KAItE,OAAOD,EAIR,IAAIQ,EAAmB,GAGnBC,EAAqB,CACxB,IAAO,GAMJjB,EAAkB,CACrB,IAAO,GAGJK,EAAkB,GAGtB,SAASa,EAAe7B,GACvB,OAAOyB,EAAoBK,EAAI,OAAS,GAAG9B,IAAUA,GAAW,IAAM,CAAC,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,YAAYA,GAAW,MAIx+Q,SAASyB,EAAoB1B,GAG5B,GAAG4B,EAAiB5B,GACnB,OAAO4B,EAAiB5B,GAAUgC,QAGnC,IAAIC,EAASL,EAAiB5B,GAAY,CACzCK,EAAGL,EACHkC,GAAG,EACHF,QAAS,IAUV,OANAlB,EAAQd,GAAUW,KAAKsB,EAAOD,QAASC,EAAQA,EAAOD,QAASN,GAG/DO,EAAOC,GAAI,EAGJD,EAAOD,QAKfN,EAAoBS,EAAI,SAAuBlC,GAC9C,IAAImC,EAAW,GAIXC,EAAY,CAAC,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,GACtRR,EAAmB5B,GAAUmC,EAASvB,KAAKgB,EAAmB5B,IACzB,IAAhC4B,EAAmB5B,IAAkBoC,EAAUpC,IACtDmC,EAASvB,KAAKgB,EAAmB5B,GAAW,IAAIqC,SAAQ,SAASC,EAASC,GAIzE,IAHA,IAAIC,EAAO,QAAU,GAAGxC,IAAUA,GAAW,IAAM,CAAC,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iB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sBtB,IACE5N,KAAM,UACNuG,MAAO,CACLkH,KAAM9G,QACNu4B,SAAUv4B,QACVyyB,aAAczyB,QACd0yB,YAAa1yB,QACb40B,WAAY,CACVp9B,KAAMyI,OACNa,QAAS,IAEXszB,eAAgB,CACd58B,KAAMyI,OACNa,QAAS,IAEX1E,WAAY4D,QACZw4B,IAAK,CACHhhC,KAAMyI,OACNa,QAAS,IAEXw3B,WAAY,CACV9gC,KAAMyI,OACNa,QAAS,IAEX23B,YAAa,CACXjhC,KAAMyI,OACNa,QAAS,UAEXs0B,SAAU,CACR59B,KAAMyI,OACNa,QAAS,IAEXg1B,UAAW91B,QACX2wB,MAAO3wB,QACPo4B,YAAap4B,QACbm4B,QAASn4B,QACTtE,KAAM,CACJlE,KAAMyI,OACNa,QAAS,IAEXuvB,MAAO,CACL74B,KAAMyI,OACNa,QAAS,IAEX0xB,OAAQ,CACNh7B,KAAMwI,QACNc,SAAS,GAGX43B,UAAW14B,QACX24B,aAAc34B,QACdw0B,UAAWx0B,QACXu0B,KAAMv0B,QACN7D,MAAO6D,QACP44B,YAAa54B,QACb64B,kBAAmB74B,QACnBuyB,OAAQvyB,QACRtD,KAAMsD,QACN84B,SAAU94B,QACV+4B,iBAAkB/4B,QAClB60B,OAAQ70B,QACRg5B,aAAch5B,QACdi5B,aAAcj5B,QACd80B,aAAc90B,QACd+0B,MAAO/0B,QACPk1B,MAAOl1B,QACPk5B,QAASl5B,QACTm5B,SAAUn5B,QACVo5B,OAAQp5B,QACRq5B,YAAar5B,QACbs5B,cAAe,CACb9hC,KAAMyI,OACNa,QAAS,KAEXy4B,eAAgB,CACd/hC,KAAMyI,OACNa,QAAS,KAEX81B,SAAU52B,QACV62B,iBAAkB72B,QAClBq0B,KAAMr0B,QACNi2B,SAAUj2B,QACVw5B,KAAMx5B,QACNs0B,mBAAoBt0B,QACpBy5B,MAAOz5B,QACP05B,cAAe15B,QACforB,IAAKprB,QACL25B,IAAK35B,QACLy0B,OAAQz0B,QACR20B,QAAS30B,QACT00B,MAAO10B,QACP45B,IAAK55B,QACL65B,UAAW75B,QACX85B,KAAM95B,QA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","file":"js/app.333213a2.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded CSS chunks\n \tvar installedCssChunks = {\n \t\t\"app\": 0\n \t}\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"app\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// script path function\n \tfunction jsonpScriptSrc(chunkId) {\n \t\treturn __webpack_require__.p + \"js/\" + ({}[chunkId]||chunkId) + \".\" + {\"chunk-01113ced\":\"35598c8c\",\"chunk-065ca24b\":\"d9ce1452\",\"chunk-2d0c91d7\":\"3fa242ab\",\"chunk-0b3ad880\":\"d2383509\",\"chunk-0b4c4f41\":\"5fcebc47\",\"chunk-0b4f00bf\":\"e94a92d8\",\"chunk-0b4f3e14\":\"549bf27d\",\"chunk-0b4ff613\":\"b7c1938c\",\"chunk-0b63dc25\":\"e17849b0\",\"chunk-0ba39337\":\"95e6a8b3\",\"chunk-0cc213d3\":\"69e6a17a\",\"chunk-0dbbda1d\":\"a089e49d\",\"chunk-11d21202\":\"f22c2a8e\",\"chunk-13422ada\":\"385de169\",\"chunk-147ef07a\":\"6b144088\",\"chunk-14cfb4ba\":\"bd21ac1d\",\"chunk-181d63a9\":\"75c884d7\",\"chunk-18c2171c\":\"b422a703\",\"chunk-1c327353\":\"c628e5fa\",\"chunk-1c948dea\":\"dfd194ba\",\"chunk-1f09d90e\":\"4309062c\",\"chunk-1f4f65bc\":\"6c30fbbc\",\"chunk-1fd884b4\":\"b4261f96\",\"chunk-2a8159d0\":\"b3318ee8\",\"chunk-2ad05d38\":\"b3594f21\",\"chunk-2bcc241a\":\"50f297ff\",\"chunk-2d0a3177\":\"018d7aa4\",\"chunk-2d0a4058\":\"df731038\",\"chunk-2d0a4f1e\":\"66b3b1e5\",\"chunk-2d0a54f1\":\"d7b94e3d\",\"chunk-2d0aa251\":\"b93ad475\",\"chunk-2d0aa5c7\":\"9d2a12d3\",\"chunk-2d0aa7b8\":\"97e0f98f\",\"chunk-2d0aadb3\":\"85d9d759\",\"chunk-2d0aaefa\":\"77f1301a\",\"chunk-2d0ab07b\":\"7dd90060\",\"chunk-2d0ab544\":\"f062feac\",\"chunk-2d0abc4c\":\"64244fd0\",\"chunk-2d0abe11\":\"dd705549\",\"chunk-2d0abf64\":\"e99fb35d\",\"chunk-2d0abfe1\":\"90a05fc1\",\"chunk-2d0ac05d\":\"77c9b77d\",\"chunk-2d0ac18d\":\"2abaf4b0\",\"chunk-2d0af27d\":\"f53aa310\",\"chunk-2d0af280\":\"553763ae\",\"chunk-2d0afe3e\":\"a5a120d3\",\"chunk-2d0b15bb\":\"78479b7f\",\"chunk-2d0b19a9\":\"282fd520\",\"chunk-2d0b24c1\":\"5be31c01\",\"chunk-2d0b2988\":\"5b436374\",\"chunk-2d0b2991\":\"07e383e2\",\"chunk-2d0b2d64\":\"396aec8f\",\"chunk-2d0b30cc\":\"3f1cea15\",\"chunk-2d0b5daa\":\"41ae0433\",\"chunk-2d0b690a\":\"dd6081a3\",\"chunk-2d0b6e3e\":\"8b208afd\",\"chunk-2d0b9d0d\":\"9c691db4\",\"chunk-2d0ba1e4\":\"1d07b162\",\"chunk-2d0c02ee\":\"73d676de\",\"chunk-2d0c0532\":\"5320efb6\",\"chunk-2d0c0a67\":\"cc8a20c2\",\"chunk-2d0c19e2\":\"bb4da9a3\",\"chunk-2d0c19e7\":\"23b719e8\",\"chunk-2d0c1d1c\":\"0c4775d0\",\"chunk-2d0c26dc\":\"7a125844\",\"chunk-2d0c4da5\":\"bc895b17\",\"chunk-2d0c73fb\":\"90aca136\",\"chunk-2d0c76d6\":\"3bb15ae3\",\"chunk-2d0c8d20\":\"5bee01b1\",\"chunk-2d0c8d49\":\"f227dee7\",\"chunk-2d0c8d5f\":\"fba3cb2a\",\"chunk-2d0c913e\":\"65cf5b4c\",\"chunk-2d0c9188\":\"e00f474a\",\"chunk-2d0cc039\":\"78743a85\",\"chunk-2d0ccb94\":\"36a20af8\",\"chunk-2d0ce7a3\":\"27bade9c\",\"chunk-2d0cf294\":\"feaf413b\",\"chunk-2d0cf8f5\":\"8125b2bf\",\"chunk-2d0cfc80\":\"e3cddf03\",\"chunk-2d0d0004\":\"7e3ebf37\",\"chunk-2d0d0248\":\"dcb3addd\",\"chunk-2d0d05bb\":\"1917ced8\",\"chunk-2d0d0996\":\"2b0aa811\",\"chunk-2d0d36b3\":\"d3bede42\",\"chunk-2d0d3705\":\"48b58cda\",\"chunk-2d0d39fa\":\"55fcecca\",\"chunk-2d0d3db8\":\"5631fc93\",\"chunk-2d0d624d\":\"a329ec95\",\"chunk-2d0d67e0\":\"5e8c3b56\",\"chunk-2d0d6f13\":\"13b63f66\",\"chunk-2d0d74d1\":\"09d3f579\",\"chunk-2d0d74d3\":\"4f85f2a1\",\"chunk-2d0d7a83\":\"882505e9\",\"chunk-2d0d839c\":\"e92e0516\",\"chunk-2d0da56d\":\"af51bec7\",\"chunk-2d0da6e8\":\"8e747421\",\"chunk-2d0dae78\":\"3f238591\",\"chunk-2d0db45b\":\"f59158c9\",\"chunk-2d0de155\":\"6ce26f06\",\"chunk-2d0de677\":\"6b4b7b08\",\"chunk-2d0dec99\":\"b23afaa5\",\"chunk-2d0e13c7\":\"b1b913c7\",\"chunk-2d0e17e5\":\"f0c82e19\",\"chunk-2d0e1fec\":\"e7d6dfe3\",\"chunk-2d0e2123\":\"c653ba0b\",\"chunk-2d0e2374\":\"20ca4a20\",\"chunk-2d0e239e\":\"896b5fe1\",\"chunk-2d0e264e\":\"b1444eb4\",\"chunk-2d0e26ff\":\"c078052c\",\"chunk-2d0e451d\":\"67692ca9\",\"chunk-2d0e5395\":\"c64d57c4\",\"chunk-2d0e5782\":\"55e3cb3c\",\"chunk-2d0e5786\":\"7c0f4ad9\",\"chunk-2d0f00d0\":\"4992e68e\",\"chunk-2d0f0640\":\"9ee1371e\",\"chunk-2d0f065e\":\"6346bcf9\",\"chunk-2d0f0787\":\"047f1c7a\",\"chunk-2d0f0b80\":\"0a03bb31\",\"chunk-2d0f0c1b\":\"b9c8879f\",\"chunk-2d0f0d93\":\"e45baa31\",\"chunk-2d20774b\":\"e0f78702\",\"chunk-2d207775\":\"b8f86367\",\"chunk-2d207833\":\"96f02095\",\"chunk-2d207ad9\":\"6048a1bd\",\"chunk-2d207b69\":\"99718550\",\"chunk-2d2086e4\":\"a8e03045\",\"chunk-2d208840\":\"866c081d\",\"chunk-2d20887d\":\"13fb4a89\",\"chunk-2d208a8d\":\"4fea714c\",\"chunk-2d208ad9\":\"63db2b55\",\"chunk-2d209130\":\"24eed9b2\",\"chunk-2d20973c\":\"1b3aebd5\",\"chunk-2d209ae4\":\"72fcb975\",\"chunk-2d20ec5f\":\"0f79db7c\",\"chunk-2d20ee0e\":\"4a6f9523\",\"chunk-2d20f527\":\"d36b22f9\",\"chunk-2d20f953\":\"9cd9b863\",\"chunk-2d2102c4\":\"3a4571e8\",\"chunk-2d2105bd\":\"5db79837\",\"chunk-2d210a2f\":\"e2627bf9\",\"chunk-2d212f1b\":\"9f537282\",\"chunk-2d212f5a\":\"6bdf4115\",\"chunk-2d213924\":\"d5e48716\",\"chunk-2d213a1d\":\"7abf6622\",\"chunk-2d213adb\":\"d820b17b\",\"chunk-2d2140b9\":\"a5bcd9b0\",\"chunk-2d2169c7\":\"6adb887a\",\"chunk-2d2169d8\":\"e62bedf4\",\"chunk-2d216c12\":\"522ae34a\",\"chunk-2d217ab8\":\"d326ef0a\",\"chunk-2d217e0a\":\"ce0967bb\",\"chunk-2d21801f\":\"c3665280\",\"chunk-2d218417\":\"6e3514ea\",\"chunk-2d21d6d5\":\"d77b125b\",\"chunk-2d21da18\":\"1f2908a1\",\"chunk-2d21db88\":\"d8c6219e\",\"chunk-2d21eb26\":\"0f97c31a\",\"chunk-2d21f09b\":\"3fba4d39\",\"chunk-2d21f358\":\"c4a56f84\",\"chunk-2d2223f3\":\"0df05942\",\"chunk-2d22488a\":\"b75d6875\",\"chunk-2d224ec4\":\"c18ab146\",\"chunk-2d224ed0\":\"9c8c6419\",\"chunk-2d22638b\":\"be870f28\",\"chunk-2d226d27\":\"ac0199c4\",\"chunk-2d2288b6\":\"44c51c8e\",\"chunk-2d228934\":\"0540377e\",\"chunk-2d2293f5\":\"38a7474e\",\"chunk-2d2297b4\":\"04ee75bb\",\"chunk-2d229a02\":\"52a6bac2\",\"chunk-2d22bd60\":\"854acb22\",\"chunk-2d22c353\":\"2bbabf16\",\"chunk-2d22ce93\":\"e6f847fb\",\"chunk-2d22d252\":\"8effc26a\",\"chunk-2d22dbc4\":\"22ef21b2\",\"chunk-2d22dd67\":\"2a0ad730\",\"chunk-2d230419\":\"854ae0fc\",\"chunk-2d230647\":\"027b4dac\",\"chunk-2d2311e3\":\"02559f0d\",\"chunk-2d237d7f\":\"e9552115\",\"chunk-2ea8eba8\":\"e69bfad9\",\"chunk-2f66d6c5\":\"2a740288\",\"chunk-30d0b20f\":\"f0ed186d\",\"chunk-31b13554\":\"e9fa1b74\",\"chunk-321bdf7e\":\"bc493ac9\",\"chunk-332dd1aa\":\"1cc660ad\",\"chunk-33f1305b\":\"640d38bc\",\"chunk-34b1b06a\":\"8e8a114a\",\"chunk-35c423f8\":\"201c4789\",\"chunk-36397268\":\"ab639146\",\"chunk-36d75078\":\"b769a45f\",\"chunk-3704dc48\":\"bcbb7cf5\",\"chunk-2d0e17f2\":\"42695f96\",\"chunk-2d21daa2\":\"9edd30b0\",\"chunk-37b4cbc8\":\"fdf537f2\",\"chunk-38d85af2\":\"966804a0\",\"chunk-3cfe654d\":\"5d97dd19\",\"chunk-3da0a3a2\":\"40bf588d\",\"chunk-3e9f08f9\":\"13f7e41f\",\"chunk-3fa3db74\":\"c6beb1f6\",\"chunk-3ffdc08a\":\"3196ab83\",\"chunk-407b88ed\":\"4620df0b\",\"chunk-4233809a\":\"e26bc4d9\",\"chunk-2d0a4f23\":\"1586a524\",\"chunk-2d0e5743\":\"d5c774c0\",\"chunk-42a23013\":\"377b9968\",\"chunk-4358fd10\":\"ecc58d32\",\"chunk-435f9193\":\"838661f2\",\"chunk-43d165a0\":\"f71ba1d2\",\"chunk-4809ac10\":\"691443b8\",\"chunk-481ed5df\":\"97f9c1d6\",\"chunk-4bf55b00\":\"800ec1af\",\"chunk-4d0616dd\":\"3270a9fd\",\"chunk-4e45d798\":\"ab03f109\",\"chunk-4f51a9ae\":\"94b83f5a\",\"chunk-535afe6a\":\"7a7b0e79\",\"chunk-55dabdc4\":\"1e7ca07c\",\"chunk-5a6ef5f4\":\"e800e0be\",\"chunk-5a806289\":\"1915cfa3\",\"chunk-5a973557\":\"7f79441a\",\"chunk-5ae49be9\":\"8c155306\",\"chunk-5af2f472\":\"f699baa6\",\"chunk-5b921d06\":\"7916b40a\",\"chunk-5c022763\":\"99e68fe1\",\"chunk-5c8da011\":\"d3c41c06\",\"chunk-5f8a6110\":\"7f6a8e45\",\"chunk-5fc205b8\":\"858ff74f\",\"chunk-5fdbb7f8\":\"82e8ec7c\",\"chunk-64d7a5ae\":\"a73219ab\",\"chunk-66a21262\":\"eb610d9f\",\"chunk-66e2608b\":\"bc846f10\",\"chunk-678fd6ae\":\"3b6597ea\",\"chunk-67ad3ddc\":\"e3b4596b\",\"chunk-68867f17\":\"c3b20df6\",\"chunk-68fe57b2\":\"12861eeb\",\"chunk-6a63a5c0\":\"1f147cb5\",\"chunk-2d0af47e\":\"9a94248a\",\"chunk-2d0e1d9f\":\"c52ad1e1\",\"chunk-6e83591c\":\"a1f301fd\",\"chunk-43a6e368\":\"b69da780\",\"chunk-37a3fb8a\":\"afe5ffa3\",\"chunk-600369ee\":\"97318f67\",\"chunk-be2d5bd4\":\"e88d61db\",\"chunk-ecf1e628\":\"3b519caa\",\"chunk-0d604ea7\":\"a333b097\",\"chunk-2d0c034c\":\"63df6d63\",\"chunk-13f65c93\":\"cc6211f2\",\"chunk-2d223577\":\"55718b68\",\"chunk-55ce8075\":\"49a558d0\",\"chunk-5ba11200\":\"efa9e106\",\"chunk-724433a8\":\"abcc01c5\",\"chunk-6cccdcb2\":\"c220d7ac\",\"chunk-6cb610e5\":\"f3b3f285\",\"chunk-47b73b44\":\"69b57bf2\",\"chunk-06169a78\":\"6417839b\",\"chunk-426303bb\":\"7cb6c1d8\",\"chunk-6acda3dc\":\"a4bb8112\",\"chunk-767e46f4\":\"07d5aa21\",\"chunk-2d0b9625\":\"c29f31e6\",\"chunk-2d0d3872\":\"50eaa62d\",\"chunk-2d207b67\":\"e1270e43\",\"chunk-2d21e5b8\":\"3b156207\",\"chunk-2d22e165\":\"68cba529\",\"chunk-7475b30f\":\"68775a9c\",\"chunk-fbb20f78\":\"1484d42f\",\"chunk-6eb34eaa\":\"4ac88ae2\",\"chunk-6f39b776\":\"848bdf73\",\"chunk-6f4adcac\":\"bf2ea962\",\"chunk-7073bf3b\":\"65c96a5f\",\"chunk-7359dc1d\":\"88c87f3d\",\"chunk-7499a5b2\":\"d5595dab\",\"chunk-74afe69c\":\"024acd76\",\"chunk-74b7d581\":\"12faab45\",\"chunk-7ca3c28e\":\"f907f4b6\",\"chunk-7e604b4a\":\"e947bbdd\",\"chunk-80facc12\":\"ad7a0b81\",\"chunk-8265684e\":\"1812064b\",\"chunk-8448ae2a\":\"61d8ff6f\",\"chunk-9056c2e8\":\"5a6c271a\",\"chunk-91057d76\":\"8e35bce3\",\"chunk-95db3542\":\"39898d5a\",\"chunk-969c3b2c\":\"d9a0b0f7\",\"chunk-9915ce1a\":\"ffb428ec\",\"chunk-9bd2704e\":\"159f7989\",\"chunk-9c6312a6\":\"b2c1a4e3\",\"chunk-9d33e992\":\"24adb4ee\",\"chunk-a42ace60\":\"682bb732\",\"chunk-a4745108\":\"82227610\",\"chunk-a8787ace\":\"c9c4ddc6\",\"chunk-a950c1c0\":\"d42ef831\",\"chunk-b2365050\":\"cf189dce\",\"chunk-b63683fa\":\"6ee15e08\",\"chunk-be55ea10\":\"f53b7c2d\",\"chunk-be5783ce\":\"cce88041\",\"chunk-be5e17e0\":\"e9562c30\",\"chunk-c4525858\":\"86ff2a7a\",\"chunk-d3f8112c\":\"548a14d3\",\"chunk-d6e150a8\":\"3d712805\",\"chunk-d824ec50\":\"474ef428\",\"chunk-d9fdfa74\":\"2fdf690a\",\"chunk-dbb849ac\":\"88bd1f1c\",\"chunk-e4269816\":\"a7e539fb\",\"chunk-e53aa6d0\":\"64858e16\",\"chunk-e6cb0ce6\":\"74e10150\",\"chunk-f84beedc\":\"b4fdb4b7\",\"chunk-f8a49608\":\"f41d5e86\",\"chunk-f8ac0a44\":\"d3612de4\"}[chunkId] + \".js\"\n \t}\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId) {\n \t\tvar promises = [];\n\n\n \t\t// mini-css-extract-plugin CSS loading\n \t\tvar cssChunks = {\"chunk-0cc213d3\":1,\"chunk-18c2171c\":1,\"chunk-1f4f65bc\":1,\"chunk-35c423f8\":1,\"chunk-4233809a\":1,\"chunk-4809ac10\":1,\"chunk-4e45d798\":1,\"chunk-5a806289\":1,\"chunk-ecf1e628\":1,\"chunk-13f65c93\":1,\"chunk-6cccdcb2\":1,\"chunk-9bd2704e\":1,\"chunk-dbb849ac\":1,\"chunk-e4269816\":1};\n \t\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n \t\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n \t\t\tpromises.push(installedCssChunks[chunkId] = new Promise(function(resolve, reject) {\n \t\t\t\tvar href = \"css/\" + ({}[chunkId]||chunkId) + \".\" + {\"chunk-01113ced\":\"31d6cfe0\",\"chunk-065ca24b\":\"31d6cfe0\",\"chunk-2d0c91d7\":\"31d6cfe0\",\"chunk-0b3ad880\":\"31d6cfe0\",\"chunk-0b4c4f41\":\"31d6cfe0\",\"chunk-0b4f00bf\":\"31d6cfe0\",\"chunk-0b4f3e14\":\"31d6cfe0\",\"chunk-0b4ff613\":\"31d6cfe0\",\"chunk-0b63dc25\":\"31d6cfe0\",\"chunk-0ba39337\":\"31d6cfe0\",\"chunk-0cc213d3\":\"f2725328\",\"chunk-0dbbda1d\":\"31d6cfe0\",\"chunk-11d21202\":\"31d6cfe0\",\"chunk-13422ada\":\"31d6cfe0\",\"chunk-147ef07a\":\"31d6cfe0\",\"chunk-14cfb4ba\":\"31d6cfe0\",\"chunk-181d63a9\":\"31d6cfe0\",\"chunk-18c2171c\":\"6e9032e8\",\"chunk-1c327353\":\"31d6cfe0\",\"chunk-1c948dea\":\"31d6cfe0\",\"chunk-1f09d90e\":\"31d6cfe0\",\"chunk-1f4f65bc\":\"fd858b27\",\"chunk-1fd884b4\":\"31d6cfe0\",\"chunk-2a8159d0\":\"31d6cfe0\",\"chunk-2ad05d38\":\"31d6cfe0\",\"chunk-2bcc241a\":\"31d6cfe0\",\"chunk-2d0a3177\":\"31d6cfe0\",\"chunk-2d0a4058\":\"31d6cfe0\",\"chunk-2d0a4f1e\":\"31d6cfe0\",\"chunk-2d0a54f1\":\"31d6cfe0\",\"chunk-2d0aa251\":\"31d6cfe0\",\"chunk-2d0aa5c7\":\"31d6cfe0\",\"chunk-2d0aa7b8\":\"31d6cfe0\",\"chunk-2d0aadb3\":\"31d6cfe0\",\"chunk-2d0aaefa\":\"31d6cfe0\",\"chunk-2d0ab07b\":\"31d6cfe0\",\"chunk-2d0ab544\":\"31d6cfe0\",\"chunk-2d0abc4c\":\"31d6cfe0\",\"chunk-2d0abe11\":\"31d6cfe0\",\"chunk-2d0abf64\":\"31d6cfe0\",\"chunk-2d0abfe1\":\"31d6cfe0\",\"chunk-2d0ac05d\":\"31d6cfe0\",\"chunk-2d0ac18d\":\"31d6cfe0\",\"chunk-2d0af27d\":\"31d6cfe0\",\"chunk-2d0af280\":\"31d6cfe0\",\"chunk-2d0afe3e\":\"31d6cfe0\",\"chunk-2d0b15bb\":\"31d6cfe0\",\"chunk-2d0b19a9\":\"31d6cfe0\",\"chunk-2d0b24c1\":\"31d6cfe0\",\"chunk-2d0b2988\":\"31d6cfe0\",\"chunk-2d0b2991\":\"31d6cfe0\",\"chunk-2d0b2d64\":\"31d6cfe0\",\"chunk-2d0b30cc\":\"31d6cfe0\",\"chunk-2d0b5daa\":\"31d6cfe0\",\"chunk-2d0b690a\":\"31d6cfe0\",\"chunk-2d0b6e3e\":\"31d6cfe0\",\"chunk-2d0b9d0d\":\"31d6cfe0\",\"chunk-2d0ba1e4\":\"31d6cfe0\",\"chunk-2d0c02ee\":\"31d6cfe0\",\"chunk-2d0c0532\":\"31d6cfe0\",\"chunk-2d0c0a67\":\"31d6cfe0\",\"chunk-2d0c19e2\":\"31d6cfe0\",\"chunk-2d0c19e7\":\"31d6cfe0\",\"chunk-2d0c1d1c\":\"31d6cfe0\",\"chunk-2d0c26dc\":\"31d6cfe0\",\"chunk-2d0c4da5\":\"31d6cfe0\",\"chunk-2d0c73fb\":\"31d6cfe0\",\"chunk-2d0c76d6\":\"31d6cfe0\",\"chunk-2d0c8d20\":\"31d6cfe0\",\"chunk-2d0c8d49\":\"31d6cfe0\",\"chunk-2d0c8d5f\":\"31d6cfe0\",\"chunk-2d0c913e\":\"31d6cfe0\",\"chunk-2d0c9188\":\"31d6cfe0\",\"chunk-2d0cc039\":\"31d6cfe0\",\"chunk-2d0ccb94\":\"31d6cfe0\",\"chunk-2d0ce7a3\":\"31d6cfe0\",\"chunk-2d0cf294\":\"31d6cfe0\",\"chunk-2d0cf8f5\":\"31d6cfe0\",\"chunk-2d0cfc80\":\"31d6cfe0\",\"chunk-2d0d0004\":\"31d6cfe0\",\"chunk-2d0d0248\":\"31d6cfe0\",\"chunk-2d0d05bb\":\"31d6cfe0\",\"chunk-2d0d0996\":\"31d6cfe0\",\"chunk-2d0d36b3\":\"31d6cfe0\",\"chunk-2d0d3705\":\"31d6cfe0\",\"chunk-2d0d39fa\":\"31d6cfe0\",\"chunk-2d0d3db8\":\"31d6cfe0\",\"chunk-2d0d624d\":\"31d6cfe0\",\"chunk-2d0d67e0\":\"31d6cfe0\",\"chunk-2d0d6f13\":\"31d6cfe0\",\"chunk-2d0d74d1\":\"31d6cfe0\",\"chunk-2d0d74d3\":\"31d6cfe0\",\"chunk-2d0d7a83\":\"31d6cfe0\",\"chunk-2d0d839c\":\"31d6cfe0\",\"chunk-2d0da56d\":\"31d6cfe0\",\"chunk-2d0da6e8\":\"31d6cfe0\",\"chunk-2d0dae78\":\"31d6cfe0\",\"chunk-2d0db45b\":\"31d6cfe0\",\"chunk-2d0de155\":\"31d6cfe0\",\"chunk-2d0de677\":\"31d6cfe0\",\"chunk-2d0dec99\":\"31d6cfe0\",\"chunk-2d0e13c7\":\"31d6cfe0\",\"chunk-2d0e17e5\":\"31d6cfe0\",\"chunk-2d0e1fec\":\"31d6cfe0\",\"chunk-2d0e2123\":\"31d6cfe0\",\"chunk-2d0e2374\":\"31d6cfe0\",\"chunk-2d0e239e\":\"31d6cfe0\",\"chunk-2d0e264e\":\"31d6cfe0\",\"chunk-2d0e26ff\":\"31d6cfe0\",\"chunk-2d0e451d\":\"31d6cfe0\",\"chunk-2d0e5395\":\"31d6cfe0\",\"chunk-2d0e5782\":\"31d6cfe0\",\"chunk-2d0e5786\":\"31d6cfe0\",\"chunk-2d0f00d0\":\"31d6cfe0\",\"chunk-2d0f0640\":\"31d6cfe0\",\"chunk-2d0f065e\":\"31d6cfe0\",\"chunk-2d0f0787\":\"31d6cfe0\",\"chunk-2d0f0b80\":\"31d6cfe0\",\"chunk-2d0f0c1b\":\"31d6cfe0\",\"chunk-2d0f0d93\":\"31d6cfe0\",\"chunk-2d20774b\":\"31d6cfe0\",\"chunk-2d207775\":\"31d6cfe0\",\"chunk-2d207833\":\"31d6cfe0\",\"chunk-2d207ad9\":\"31d6cfe0\",\"chunk-2d207b69\":\"31d6cfe0\",\"chunk-2d2086e4\":\"31d6cfe0\",\"chunk-2d208840\":\"31d6cfe0\",\"chunk-2d20887d\":\"31d6cfe0\",\"chunk-2d208a8d\":\"31d6cfe0\",\"chunk-2d208ad9\":\"31d6cfe0\",\"chunk-2d209130\":\"31d6cfe0\",\"chunk-2d20973c\":\"31d6cfe0\",\"chunk-2d209ae4\":\"31d6cfe0\",\"chunk-2d20ec5f\":\"31d6cfe0\",\"chunk-2d20ee0e\":\"31d6cfe0\",\"chunk-2d20f527\":\"31d6cfe0\",\"chunk-2d20f953\":\"31d6cfe0\",\"chunk-2d2102c4\":\"31d6cfe0\",\"chunk-2d2105bd\":\"31d6cfe0\",\"chunk-2d210a2f\":\"31d6cfe0\",\"chunk-2d212f1b\":\"31d6cfe0\",\"chunk-2d212f5a\":\"31d6cfe0\",\"chunk-2d213924\":\"31d6cfe0\",\"chunk-2d213a1d\":\"31d6cfe0\",\"chunk-2d213adb\":\"31d6cfe0\",\"chunk-2d2140b9\":\"31d6cfe0\",\"chunk-2d2169c7\":\"31d6cfe0\",\"chunk-2d2169d8\":\"31d6cfe0\",\"chunk-2d216c12\":\"31d6cfe0\",\"chunk-2d217ab8\":\"31d6cfe0\",\"chunk-2d217e0a\":\"31d6cfe0\",\"chunk-2d21801f\":\"31d6cfe0\",\"chunk-2d218417\":\"31d6cfe0\",\"chunk-2d21d6d5\":\"31d6cfe0\",\"chunk-2d21da18\":\"31d6cfe0\",\"chunk-2d21db88\":\"31d6cfe0\",\"chunk-2d21eb26\":\"31d6cfe0\",\"chunk-2d21f09b\":\"31d6cfe0\",\"chunk-2d21f358\":\"31d6cfe0\",\"chunk-2d2223f3\":\"31d6cfe0\",\"chunk-2d22488a\":\"31d6cfe0\",\"chunk-2d224ec4\":\"31d6cfe0\",\"chunk-2d224ed0\":\"31d6cfe0\",\"chunk-2d22638b\":\"31d6cfe0\",\"chunk-2d226d27\":\"31d6cfe0\",\"chunk-2d2288b6\":\"31d6cfe0\",\"chunk-2d228934\":\"31d6cfe0\",\"chunk-2d2293f5\":\"31d6cfe0\",\"chunk-2d2297b4\":\"31d6cfe0\",\"chunk-2d229a02\":\"31d6cfe0\",\"chunk-2d22bd60\":\"31d6cfe0\",\"chunk-2d22c353\":\"31d6cfe0\",\"chunk-2d22ce93\":\"31d6cfe0\",\"chunk-2d22d252\":\"31d6cfe0\",\"chunk-2d22dbc4\":\"31d6cfe0\",\"chunk-2d22dd67\":\"31d6cfe0\",\"chunk-2d230419\":\"31d6cfe0\",\"chunk-2d230647\":\"31d6cfe0\",\"chunk-2d2311e3\":\"31d6cfe0\",\"chunk-2d237d7f\":\"31d6cfe0\",\"chunk-2ea8eba8\":\"31d6cfe0\",\"chunk-2f66d6c5\":\"31d6cfe0\",\"chunk-30d0b20f\":\"31d6cfe0\",\"chunk-31b13554\":\"31d6cfe0\",\"chunk-321bdf7e\":\"31d6cfe0\",\"chunk-332dd1aa\":\"31d6cfe0\",\"chunk-33f1305b\":\"31d6cfe0\",\"chunk-34b1b06a\":\"31d6cfe0\",\"chunk-35c423f8\":\"bf57a302\",\"chunk-36397268\":\"31d6cfe0\",\"chunk-36d75078\":\"31d6cfe0\",\"chunk-3704dc48\":\"31d6cfe0\",\"chunk-2d0e17f2\":\"31d6cfe0\",\"chunk-2d21daa2\":\"31d6cfe0\",\"chunk-37b4cbc8\":\"31d6cfe0\",\"chunk-38d85af2\":\"31d6cfe0\",\"chunk-3cfe654d\":\"31d6cfe0\",\"chunk-3da0a3a2\":\"31d6cfe0\",\"chunk-3e9f08f9\":\"31d6cfe0\",\"chunk-3fa3db74\":\"31d6cfe0\",\"chunk-3ffdc08a\":\"31d6cfe0\",\"chunk-407b88ed\":\"31d6cfe0\",\"chunk-4233809a\":\"2249291a\",\"chunk-2d0a4f23\":\"31d6cfe0\",\"chunk-2d0e5743\":\"31d6cfe0\",\"chunk-42a23013\":\"31d6cfe0\",\"chunk-4358fd10\":\"31d6cfe0\",\"chunk-435f9193\":\"31d6cfe0\",\"chunk-43d165a0\":\"31d6cfe0\",\"chunk-4809ac10\":\"1ac24770\",\"chunk-481ed5df\":\"31d6cfe0\",\"chunk-4bf55b00\":\"31d6cfe0\",\"chunk-4d0616dd\":\"31d6cfe0\",\"chunk-4e45d798\":\"f9d4906e\",\"chunk-4f51a9ae\":\"31d6cfe0\",\"chunk-535afe6a\":\"31d6cfe0\",\"chunk-55dabdc4\":\"31d6cfe0\",\"chunk-5a6ef5f4\":\"31d6cfe0\",\"chunk-5a806289\":\"1218148f\",\"chunk-5a973557\":\"31d6cfe0\",\"chunk-5ae49be9\":\"31d6cfe0\",\"chunk-5af2f472\":\"31d6cfe0\",\"chunk-5b921d06\":\"31d6cfe0\",\"chunk-5c022763\":\"31d6cfe0\",\"chunk-5c8da011\":\"31d6cfe0\",\"chunk-5f8a6110\":\"31d6cfe0\",\"chunk-5fc205b8\":\"31d6cfe0\",\"chunk-5fdbb7f8\":\"31d6cfe0\",\"chunk-64d7a5ae\":\"31d6cfe0\",\"chunk-66a21262\":\"31d6cfe0\",\"chunk-66e2608b\":\"31d6cfe0\",\"chunk-678fd6ae\":\"31d6cfe0\",\"chunk-67ad3ddc\":\"31d6cfe0\",\"chunk-68867f17\":\"31d6cfe0\",\"chunk-68fe57b2\":\"31d6cfe0\",\"chunk-6a63a5c0\":\"31d6cfe0\",\"chunk-2d0af47e\":\"31d6cfe0\",\"chunk-2d0e1d9f\":\"31d6cfe0\",\"chunk-6e83591c\":\"31d6cfe0\",\"chunk-43a6e368\":\"31d6cfe0\",\"chunk-37a3fb8a\":\"31d6cfe0\",\"chunk-600369ee\":\"31d6cfe0\",\"chunk-be2d5bd4\":\"31d6cfe0\",\"chunk-ecf1e628\":\"f36ea022\",\"chunk-0d604ea7\":\"31d6cfe0\",\"chunk-2d0c034c\":\"31d6cfe0\",\"chunk-13f65c93\":\"8592ea7d\",\"chunk-2d223577\":\"31d6cfe0\",\"chunk-55ce8075\":\"31d6cfe0\",\"chunk-5ba11200\":\"31d6cfe0\",\"chunk-724433a8\":\"31d6cfe0\",\"chunk-6cccdcb2\":\"cfab8c1c\",\"chunk-6cb610e5\":\"31d6cfe0\",\"chunk-47b73b44\":\"31d6cfe0\",\"chunk-06169a78\":\"31d6cfe0\",\"chunk-426303bb\":\"31d6cfe0\",\"chunk-6acda3dc\":\"31d6cfe0\",\"chunk-767e46f4\":\"31d6cfe0\",\"chunk-2d0b9625\":\"31d6cfe0\",\"chunk-2d0d3872\":\"31d6cfe0\",\"chunk-2d207b67\":\"31d6cfe0\",\"chunk-2d21e5b8\":\"31d6cfe0\",\"chunk-2d22e165\":\"31d6cfe0\",\"chunk-7475b30f\":\"31d6cfe0\",\"chunk-fbb20f78\":\"31d6cfe0\",\"chunk-6eb34eaa\":\"31d6cfe0\",\"chunk-6f39b776\":\"31d6cfe0\",\"chunk-6f4adcac\":\"31d6cfe0\",\"chunk-7073bf3b\":\"31d6cfe0\",\"chunk-7359dc1d\":\"31d6cfe0\",\"chunk-7499a5b2\":\"31d6cfe0\",\"chunk-74afe69c\":\"31d6cfe0\",\"chunk-74b7d581\":\"31d6cfe0\",\"chunk-7ca3c28e\":\"31d6cfe0\",\"chunk-7e604b4a\":\"31d6cfe0\",\"chunk-80facc12\":\"31d6cfe0\",\"chunk-8265684e\":\"31d6cfe0\",\"chunk-8448ae2a\":\"31d6cfe0\",\"chunk-9056c2e8\":\"31d6cfe0\",\"chunk-91057d76\":\"31d6cfe0\",\"chunk-95db3542\":\"31d6cfe0\",\"chunk-969c3b2c\":\"31d6cfe0\",\"chunk-9915ce1a\":\"31d6cfe0\",\"chunk-9bd2704e\":\"98efee14\",\"chunk-9c6312a6\":\"31d6cfe0\",\"chunk-9d33e992\":\"31d6cfe0\",\"chunk-a42ace60\":\"31d6cfe0\",\"chunk-a4745108\":\"31d6cfe0\",\"chunk-a8787ace\":\"31d6cfe0\",\"chunk-a950c1c0\":\"31d6cfe0\",\"chunk-b2365050\":\"31d6cfe0\",\"chunk-b63683fa\":\"31d6cfe0\",\"chunk-be55ea10\":\"31d6cfe0\",\"chunk-be5783ce\":\"31d6cfe0\",\"chunk-be5e17e0\":\"31d6cfe0\",\"chunk-c4525858\":\"31d6cfe0\",\"chunk-d3f8112c\":\"31d6cfe0\",\"chunk-d6e150a8\":\"31d6cfe0\",\"chunk-d824ec50\":\"31d6cfe0\",\"chunk-d9fdfa74\":\"31d6cfe0\",\"chunk-dbb849ac\":\"f9d4906e\",\"chunk-e4269816\":\"c2f1f507\",\"chunk-e53aa6d0\":\"31d6cfe0\",\"chunk-e6cb0ce6\":\"31d6cfe0\",\"chunk-f84beedc\":\"31d6cfe0\",\"chunk-f8a49608\":\"31d6cfe0\",\"chunk-f8ac0a44\":\"31d6cfe0\"}[chunkId] + \".css\";\n \t\t\t\tvar fullhref = __webpack_require__.p + href;\n \t\t\t\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n \t\t\t\tfor(var i = 0; i < existingLinkTags.length; i++) {\n \t\t\t\t\tvar tag = existingLinkTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n \t\t\t\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return resolve();\n \t\t\t\t}\n \t\t\t\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n \t\t\t\tfor(var i = 0; i < existingStyleTags.length; i++) {\n \t\t\t\t\tvar tag = existingStyleTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\");\n \t\t\t\t\tif(dataHref === href || dataHref === fullhref) return resolve();\n \t\t\t\t}\n \t\t\t\tvar linkTag = document.createElement(\"link\");\n \t\t\t\tlinkTag.rel = \"stylesheet\";\n \t\t\t\tlinkTag.type = \"text/css\";\n \t\t\t\tlinkTag.onload = resolve;\n \t\t\t\tlinkTag.onerror = function(event) {\n \t\t\t\t\tvar request = event && event.target && event.target.src || fullhref;\n \t\t\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + request + \")\");\n \t\t\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n \t\t\t\t\terr.request = request;\n \t\t\t\t\tdelete installedCssChunks[chunkId]\n \t\t\t\t\tlinkTag.parentNode.removeChild(linkTag)\n \t\t\t\t\treject(err);\n \t\t\t\t};\n \t\t\t\tlinkTag.href = fullhref;\n\n \t\t\t\tvar head = document.getElementsByTagName(\"head\")[0];\n \t\t\t\thead.appendChild(linkTag);\n \t\t\t}).then(function() {\n \t\t\t\tinstalledCssChunks[chunkId] = 0;\n \t\t\t}));\n \t\t}\n\n \t\t// JSONP chunk loading for javascript\n\n \t\tvar installedChunkData = installedChunks[chunkId];\n \t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n \t\t\t// a Promise means \"currently loading\".\n \t\t\tif(installedChunkData) {\n \t\t\t\tpromises.push(installedChunkData[2]);\n \t\t\t} else {\n \t\t\t\t// setup Promise in chunk cache\n \t\t\t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n \t\t\t\t});\n \t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n \t\t\t\t// start chunk loading\n \t\t\t\tvar script = document.createElement('script');\n \t\t\t\tvar onScriptComplete;\n\n \t\t\t\tscript.charset = 'utf-8';\n \t\t\t\tscript.timeout = 120;\n \t\t\t\tif (__webpack_require__.nc) {\n \t\t\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n \t\t\t\t}\n \t\t\t\tscript.src = jsonpScriptSrc(chunkId);\n\n \t\t\t\t// create error before stack unwound to get useful stacktrace later\n \t\t\t\tvar error = new Error();\n \t\t\t\tonScriptComplete = function (event) {\n \t\t\t\t\t// avoid mem leaks in IE.\n \t\t\t\t\tscript.onerror = script.onload = null;\n \t\t\t\t\tclearTimeout(timeout);\n \t\t\t\t\tvar chunk = installedChunks[chunkId];\n \t\t\t\t\tif(chunk !== 0) {\n \t\t\t\t\t\tif(chunk) {\n \t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n \t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n \t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n \t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n \t\t\t\t\t\t\terror.type = errorType;\n \t\t\t\t\t\t\terror.request = realSrc;\n \t\t\t\t\t\t\tchunk[1](error);\n \t\t\t\t\t\t}\n \t\t\t\t\t\tinstalledChunks[chunkId] = undefined;\n \t\t\t\t\t}\n \t\t\t\t};\n \t\t\t\tvar timeout = setTimeout(function(){\n \t\t\t\t\tonScriptComplete({ type: 'timeout', target: script });\n \t\t\t\t}, 120000);\n \t\t\t\tscript.onerror = script.onload = onScriptComplete;\n \t\t\t\tdocument.head.appendChild(script);\n \t\t\t}\n \t\t}\n \t\treturn Promise.all(promises);\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([0,\"chunk-vendors\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../../node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./t-button-save.vue?vue&type=style&index=0&id=350611ec&scoped=true&lang=css&\"","\r\nexport default class {\r\n\r\n    constructor() {\r\n        return {\r\n            /*ATENÇÃO REPLICAR NO ARQUIVO pageFormFieldMixin.js*/\r\n            fieldId: 0,\r\n            name: \"\",\r\n            type: \"I\",\r\n            var: 3,\r\n            mask: \"\",\r\n            decimalPrecision: 2,\r\n            length: 0,\r\n            columns: 6,\r\n            help: \"\",\r\n            note: \"\",\r\n            minAccepted: 0.0,\r\n            maxAccepted: 0.0,\r\n            createdShow: true,\r\n            createdEnabled: true,\r\n            updateShow: true,\r\n            updatedEnabled: true,\r\n            required: true,\r\n            fixed: false,\r\n            acceptZero: false,\r\n            options: [],\r\n            /*ATENÇÃO REPLICAR NO ARQUIVO pageFormFieldMixin.js*/\r\n\r\n        }\r\n    }\r\n\r\n\r\n}","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./t-page-form-field-customizable.vue?vue&type=style&index=0&id=6515b667&scoped=true&lang=css&\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./t-page-list.vue?vue&type=style&index=0&lang=css&\"","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../../node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./t-button.vue?vue&type=style&index=0&lang=css&\"","import Type from \"@/model/types/Type\";\r\n\r\nconst type = {\r\n    NOT_EXCLUSIVE: 90,\r\n    CUSTOMER: 1,\r\n    GROUP_CUSTOMER: 2,\r\n}\r\n\r\nconst list = [\r\n    {\r\n        value: type.NOT_EXCLUSIVE,\r\n        text: \"Não\",\r\n    },\r\n    {\r\n        value: type.CUSTOMER,\r\n        text: \"Cliente\",\r\n    },\r\n    {\r\n        value: type.GROUP_CUSTOMER,\r\n        text: \"Grupo de Cliente\",\r\n    },\r\n]\r\n\r\nconst contains = function (typeInput) {\r\n    return Type.contains(list, typeInput)\r\n}\r\n\r\nexport default {\r\n    type,\r\n    list,\r\n    contains,\r\n}","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('b-card-title',{staticClass:\"ml-4 mb-3\"},[_vm._v(_vm._s(_vm.name))]),_c('t-form-list',{attrs:{\"generalErrors\":_vm.generalErrors,\"items\":_vm.items,\"fields\":_vm.fields,\"command\":_vm.command,\"user-auth\":_vm.userAuth,\"status\":_vm.status,\"busy\":!_vm.pageFormIsLoaded,\"path\":_vm.path,\"busy-form\":!_vm.listFormIsLoaded,\"busy-list\":!_vm.listIsLoaded,\"primary-key-column\":\"pageViewId\",\"sortable\":\"\",\"disable-default-buttons\":\"\",\"foreign-key\":_vm.foreignKey,\"sortableCheckColumn\":\"sortable\"},on:{\"onChangeOrder\":_vm.getList,\"onSubmit\":_vm.onSubmit},scopedSlots:_vm._u([{key:\"item(label)\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\" \"+_vm._s(item.label)+\" \"),(item.note !== '')?_c('small',[_vm._v(\"(\"+_vm._s(item.note)+\")\")]):_vm._e()]}},{key:\"item(key)\",fn:function(ref){\nvar item = ref.item;\nreturn [(item.key.indexOf('field_') > - 1)?_c('div',[_vm._v(\" Customizado \")]):_c('div',[_vm._v(\" Padrão do Sistema \")])]}},{key:\"list-buttons\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('div',[_c('t-button',{directives:[{name:\"show\",rawName:\"v-show\",value:(item.show && !item.fixed),expression:\"item.show && !item.fixed\"}],attrs:{\"small\":\"\"},on:{\"click\":function($event){return _vm.toggleShowField(item.pageViewId, item.label, item.show)}}},[_c('b-icon-eye')],1),_c('t-button',{directives:[{name:\"show\",rawName:\"v-show\",value:(!item.show && !item.fixed),expression:\"!item.show && !item.fixed\"}],attrs:{\"outline-secondary\":\"\",\"small\":\"\"},on:{\"click\":function($event){return _vm.toggleShowField(item.pageViewId, item.label, item.show)}}},[_c('b-icon-eye-slash')],1)],1),_c('t-help',{directives:[{name:\"show\",rawName:\"v-show\",value:(item.fixed),expression:\"item.fixed\"}],attrs:{\"title\":\"Campo fixo não poderá ser oculto ou alterada a ordem\"}})]}}])})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\n  <div>\n\n    <b-card-title class=\"ml-4 mb-3\">{{ name }}</b-card-title>\n\n    <t-form-list :generalErrors=\"generalErrors\" :items=\"items\" :fields=\"fields\" :command=\"command\" :user-auth=\"userAuth\"\n                 :status=\"status\"\n                 :busy=\"!pageFormIsLoaded\" :path=\"path\" :busy-form=\"!listFormIsLoaded\" :busy-list=\"!listIsLoaded\"\n                 primary-key-column=\"pageViewId\"\n                 sortable disable-default-buttons :foreign-key=\"foreignKey\" sortableCheckColumn=\"sortable\"\n                 @onChangeOrder=\"getList\"\n                 @onSubmit=\"onSubmit\">\n\n\n      <template #item(label)=\"{item}\">\n\n        {{item.label}}\n        <small v-if=\"item.note !== ''\">({{item.note}})</small>\n      </template>\n\n\n      <template #item(key)=\"{item}\">\n\n        <div v-if=\"item.key.indexOf('field_') > - 1\">\n          Customizado\n        </div>\n        <div v-else>\n          Padrão do Sistema\n        </div>\n\n      </template>\n\n      <template #list-buttons=\"{item}\">\n\n        <div>\n\n          <t-button v-show=\"item.show && !item.fixed\" small\n                    @click=\"toggleShowField(item.pageViewId, item.label, item.show)\">\n            <b-icon-eye></b-icon-eye>\n          </t-button>\n\n          <t-button v-show=\"!item.show && !item.fixed\" outline-secondary small\n                    @click=\"toggleShowField(item.pageViewId, item.label, item.show)\">\n            <b-icon-eye-slash></b-icon-eye-slash>\n          </t-button>\n\n        </div>\n\n\n        <t-help v-show=\"item.fixed\" title=\"Campo fixo não poderá ser oculto ou alterada a ordem\"/>\n\n      </template>\n\n    </t-form-list>\n\n  </div>\n\n</template>\n<script>\nimport pageDefaultMixin from \"@/mixins/page/pageDefaultMixin\"\nimport pageFormMixin from \"@/mixins/page/pageFormMixin\"\nimport pageFormListMixin from \"@/mixins/page/pageFormListMixin\";\nimport pageFormFieldMixin from \"@/mixins/page/pageFormFieldMixin\";\n\nimport tFormList from \"@/components/template/form/list/t-form-list\";\nimport ui from \"@/assets/scripts/ui\";\nimport {crudGeneral} from \"@/services/resource/GeneralCRUD.service\";\n\nexport default {\n  mixins: [pageDefaultMixin, pageFormMixin, pageFormListMixin, pageFormFieldMixin],\n  name: 'PageView',\n  components: {tFormList},\n  data() {\n    return {\n      path: \"setting/page-view\", //Utilizar somente quando fora do padrão\n      primaryKeyColumn: \"pageViewId\",\n      foreignKeyColumn: \"pageId\", //Utilizar quando usar Tabs com outros componentes\n      fields: [\n        {keyRead: \"pageViewId\", keyDelete: \"pageViewId\"},\n        {key: \"label\", label: \"Campo\", cols: \"6\"},\n        {key: \"key\", label: \"Tipo\", cols: \"3\"},\n      ],\n      //--------------------------------------------------------------------------------------\n      //Início de campos personalizados desta tela\n      error: {//Campos que podem receber retorno de erro do backend\n\n      },\n\n      //--------------------------------------------------------------------------------------\n    }\n  },\n  props: {\n    pageId: Number,\n    typeImage: Boolean,\n    name: String,\n  },\n  methods: {\n\n    defaultForm() {\n\n      //Preenche somente os campos que foram limpos após o reset\n      this.defaultFormField()\n\n\n    },\n\n    mountedPrepare() {\n\n      this.mountedPrepareFormListDefault()\n\n    },\n\n    async mountedContinued() {\n\n      await this.getList()\n\n    },\n\n    async onSubmit() {\n\n      await this.setSendingFormListDefault(this.form.pageViewId)\n\n    },\n\n    mountedList() {\n\n      // Manipulação da listagem após carregando\n      //--------------------------------------\n      let newItems = []\n\n      for (let item of this.items) {\n        if (!item.show) {\n          item.class = \"bg-light\"\n        } else {\n          item.class = ''\n        }\n\n        if (item.fixed) {\n          item.sortable = false\n        } else {\n          item.sortable = true\n        }\n\n        newItems.push(item)\n      }\n\n      this.items = newItems\n      //--------------------------------------\n\n      this.listIsLoaded = true\n\n    },\n    //--------------------------------------------------------------------------------------\n    //Início de métodos personalizados desta tela\n    toggleShowField(pageViewId, label, show) {\n\n      const item = {\n        pageId: this.foreignKey,\n        pageViewId: pageViewId,\n        show: !show\n      }\n\n      crudGeneral.update(this.path, item).catch(error => this.responseError(error))\n\n      let style_class = ''\n\n      if (show) {\n        style_class = 'bg-light'\n        ui.toast(this, \"Campo: \" + label, \"Ocultado com sucesso!\")\n      } else {\n        ui.toast(this, \"Campo: \" + label, \"Exibido com sucesso!\")\n      }\n\n      this.items.find(a => a.pageViewId === pageViewId).class = style_class\n      this.items.find(a => a.pageViewId === pageViewId).show = !show\n      this.items.push()\n\n    }\n\n    //--------------------------------------------------------------------------------------\n  },\n  async mounted() {\n\n    this.mountedPrepare()\n\n    await this.mountedFormList()\n\n    await this.mountedContinued()\n\n  },\n}\n</script>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PageView.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PageView.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./PageView.vue?vue&type=template&id=79489c10&\"\nimport script from \"./PageView.vue?vue&type=script&lang=js&\"\nexport * from \"./PageView.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","import {crudGeneral} from \"@/services/resource/GeneralCRUD.service\"\r\nimport VarType from \"@/model/types/resource/VarType\"\r\n\r\nexport default {\r\n    data() {\r\n        return {\r\n            form: {/*Usado para o filtro*/\r\n                default: \"\", /*Campo principal de busca*/\r\n                status: 0, /*Campo padrão de filtro, porém poderá não ser utilizado, para isso basta declarar sem o mesmo e somente com default */\r\n            },\r\n            request: {\r\n                content:[],\r\n                totalPages: 0\r\n            },\r\n            pageNumber: \"\",\r\n            intervalTimerSearchDefault: null,\r\n            countSendDefaultSearch: 0, //Contador para possibilitar travar as pesquisas evitando sobrecarga no servidor\r\n            pageListIsLoaded: false,\r\n            filteredDefault: false,//Indica se o filtro padrão está em uso\r\n            filteredAdvanced: false,//Indica que está usando os filtros avançados\r\n            foreignKeyColumn:'',//Coluna com chave estrangeira, caso utilizado não será considerado filtro e não irá limpar\r\n            modalOrdained:false, //Usado no dialogo geral de ordenação, caso utilizar um dentro de outro, especificar na página\r\n            searchParams: new URLSearchParams()\r\n        }\r\n    },\r\n    async mounted() {\r\n\r\n    },\r\n    methods: {\r\n\r\n        async reloadPageList() {\r\n            await this.executeSearch(true)\r\n        },\r\n\r\n        afterGetPage() {\r\n\r\n        },\r\n\r\n        async mountQuery() {\r\n\r\n\r\n            //Monta a query com os valores padrões\r\n            Object.entries(this.$route.query).forEach(([key, value]) => {\r\n\r\n                value = decodeURI(value)\r\n\r\n                if (key === 'page') {\r\n                    this.pageNumber = value\r\n                } else {\r\n\r\n                    //Verifica se existe o campo na busca nos campos padrões do form\r\n                    if (key in this.form) {\r\n\r\n                        //Correção de números\r\n                        if (typeof this.form[key] === 'number') {\r\n                            if (value.indexOf(\".\") > -1) {\r\n                                value = parseFloat(value)\r\n                            } else {\r\n                                value = parseInt(value)\r\n                            }\r\n                        } else if (Array.isArray(this.form[key])) {\r\n                            //Array declarados e convertidos no recebimento\r\n                            value = value.split(',')\r\n                        }\r\n\r\n\r\n                        this.form[key] = value\r\n\r\n\r\n                        this.searchParams.append(key, this.form[key])\r\n\r\n                        if (key === 'default') {\r\n                            this.filteredDefault = true\r\n                        } else {\r\n                            this.filteredAdvanced = true\r\n                        }\r\n                    } else if (key.indexOf(\"field_\") > -1) {\r\n\r\n                        //Campos customizado, podendo ser geral (page) ou condicionado (exemplo modelId)\r\n                        const queryFieldId = parseInt(key.replace(\"field_\", \"\"))\r\n\r\n                        //console.log('Verifica campo custom: ' + queryFieldId)\r\n\r\n                        //Verifica se existem campos customizados na tela\r\n                        if (this.fieldsCustomizable.length > 0) {\r\n\r\n                            //Faz a leitura em todas as entidades\r\n                            for (let entity of this.fieldsCustomizable) {\r\n\r\n\r\n                                //Procura nesta entidade se o campo existe\r\n                                let field = entity.fields.find(a => a.fieldId === queryFieldId)\r\n\r\n                                if (field !== undefined) {\r\n\r\n                                    let fieldNewValue = undefined\r\n\r\n                                    if (field.var) {\r\n\r\n\r\n                                        //CONVERSÃO DO QUERY PARA inserção no campo no local correto\r\n\r\n                                        if (field.var === VarType.type.BOOLEAN) {\r\n\r\n                                            if (value === 'true') {\r\n                                                fieldNewValue = true\r\n                                            } else if (value === 'false') {\r\n                                                fieldNewValue = false\r\n                                            }\r\n\r\n                                        } else if (field.var === VarType.type.INTEGER) {\r\n\r\n                                            fieldNewValue = parseInt(value)\r\n\r\n                                        } else if (field.var === VarType.type.DOUBLE) {\r\n\r\n                                            fieldNewValue = parseFloat(value)\r\n\r\n                                        } else if (field.var === VarType.type.STRING) {\r\n\r\n                                            fieldNewValue = value\r\n\r\n                                        } else if (field.var === VarType.type.DATE) {\r\n\r\n                                            fieldNewValue = value\r\n                                        }\r\n\r\n                                    } else {\r\n                                        console.log(\"Falha modelo do campo não encontrado\")\r\n                                    }\r\n\r\n                                    if (fieldNewValue !== undefined) {\r\n\r\n                                        this.searchParams.append(key, value)\r\n                                        this.filteredAdvanced = true\r\n                                        field.value = fieldNewValue\r\n                                    }\r\n\r\n                                    //Pausa a procura, pois foi encontrado\r\n                                    break\r\n\r\n                                }\r\n                            }\r\n                        }\r\n\r\n                    }\r\n                }\r\n\r\n            });\r\n\r\n        },\r\n\r\n\r\n        checkIsFiltered() {\r\n            return this.filteredDefault || this.filteredAdvanced\r\n        },\r\n\r\n        checkViewListTableDefault() {\r\n            return !this.pageListIsLoaded || (this.request.content && this.request.content.length > 0)\r\n        },\r\n\r\n        async mountedList(setIsLoadingPage = true, setCurrentPage = true) {\r\n\r\n            await this.mountedDefault(setIsLoadingPage, setCurrentPage, 'list')\r\n\r\n            if (this.breadcrumb.length > 0) {\r\n                this.breadcrumb.push({text: this.currentPage.pageTitle, active: true})\r\n            }\r\n\r\n            /*No caso das listagem somente na montagem é verificado os campos*/\r\n            if (this.fieldsCustomizable.length > 0) {\r\n\r\n                for (const entity of this.fieldsCustomizable) {\r\n                    await this.getFieldsCustomizable(entity.entity)\r\n                }\r\n            }\r\n\r\n            await this.mountQuery()\r\n\r\n            await this.getPage(this.pageNumber)\r\n\r\n        },\r\n\r\n        async clearSearch() {\r\n\r\n            //Limpando campos comuns\r\n            Object.keys(this.form).forEach(key => {\r\n\r\n                if(this.foreignKeyColumn !== '' && this.foreignKeyColumn === key){\r\n                    //Neste caso não irá limpar\r\n                }else{\r\n                    if (this.form[key] && typeof this.form[key] === \"string\") {\r\n                        this.form[key] = ''\r\n                    } else if (this.form[key] && typeof this.form[key] === \"number\") {\r\n                        this.form[key] = 0\r\n                    } else if (typeof this.form[key] === \"boolean\") {\r\n                        this.form[key] = null\r\n                    } else if (Array.isArray(this.form[key])) {\r\n                        this.form[key] = []\r\n                    }\r\n                }\r\n\r\n\r\n\r\n            })\r\n\r\n            //Limpando campso customizáveis\r\n\r\n            if (this.fieldsCustomizable.length > 0) {\r\n                for (const entity of this.fieldsCustomizable) {\r\n                    for (let field of entity.fields) {\r\n                        field.value = null\r\n                    }\r\n                }\r\n            }\r\n\r\n            setTimeout(async () => {\r\n                await this.executeSearch()\r\n            }, 500)\r\n\r\n\r\n        },\r\n\r\n        searchNotExposeQuery() {\r\n\r\n            this.pageListIsLoaded = false\r\n            this.timeSearchSend(() => this.executeSearch(false,false))\r\n\r\n        },\r\n\r\n        searchDefault() {\r\n\r\n            this.pageListIsLoaded = false\r\n            this.timeSearchSend(() => this.executeSearch())\r\n\r\n        },\r\n\r\n        async executeSearch(persistsPageNumber = false, exposeQueryString = true) {\r\n\r\n            this.filteredDefault = false\r\n            this.filteredAdvanced = false\r\n\r\n\r\n            Object.keys(this.form).forEach((key) => {\r\n\r\n                this.searchParams.delete(key)\r\n\r\n                let validated = false\r\n                let valueSend = this.form[key]\r\n\r\n                if (Array.isArray(this.form[key])) {\r\n\r\n                    if (this.form[key].length > 0) {\r\n\r\n                        //Padroniza o envio de arrays sempre com separador |, mesmo que o back-end aceite para numeros a separação por ',' porém esta não funciona corretamente em Strings desta forma foi convencionado o pipe\r\n                        let text = this.form[key].join(\"|\")\r\n\r\n                        //Envia no padrão in\r\n                        valueSend = \"in(\"+text+\")\"\r\n\r\n                        validated = true\r\n\r\n\r\n                    }\r\n\r\n                } else if (this.form[key] !== '' && this.form[key] !== 0 && this.form[key] !== null) {\r\n                    validated = true\r\n                }\r\n\r\n                if (validated) {\r\n\r\n\r\n                    if (typeof this.form[key] === 'string') {\r\n\r\n                        //Coreção para datas com range preenchido parcialmente\r\n                        if (this.form[key].substring(0, 1) === ':') {\r\n                            //Correção aplicada em campos range início\r\n                            this.form[key] = this.form[key].substring(1)\r\n                        } else if (this.form[key].substring(this.form[key].length - 1) === ':') {\r\n                            //Correção aplicada em campos range no final\r\n                            this.form[key] = this.form[key].substring(0, this.form[key].length - 1)\r\n                        }\r\n\r\n                        //Coreção para numeros com range preenchido parcialmente\r\n                        if (this.form[key].substring(0, 2) === '0:') {\r\n                            //Correção aplicada em campos range início\r\n                            this.form[key] = this.form[key].substring(2)\r\n                        } else if (this.form[key].substring(this.form[key].length - 2) === ':0') {\r\n                            //Correção aplicada em campos range no final\r\n                            this.form[key] = this.form[key].substring(0, this.form[key].length - 2)\r\n                        }\r\n\r\n                    }\r\n\r\n                    this.searchParams.append(key, valueSend)\r\n\r\n                    if (key === 'default') {\r\n                        this.filteredDefault = true\r\n                    } else if(key !== this.foreignKeyColumn) {\r\n                        this.filteredAdvanced = true\r\n                    }\r\n\r\n                }\r\n\r\n            })\r\n\r\n            //Injeta campos customizaveis caso necessário na entidade\r\n            if (this.fieldsCustomizable.length > 0) {\r\n\r\n                for (const entity of this.fieldsCustomizable) {\r\n\r\n                    const fieldCustomized = await this.requestFieldCustomized(entity.entity, entity.fields, true)\r\n                    const fields = fieldCustomized.fields\r\n\r\n                    let findEntityUsed = false\r\n                    //Remove a marcação indicando que a entidade foi usada na busca, servirá para casos especiais onde se é necessário saber antes se algum campo da entidade foi usado na busca como no caso de Produtos\r\n                    this.searchParams.delete('entity-'+entity.entity)\r\n\r\n                    for (const field of fields) {\r\n\r\n                        const key = \"field_\" + field.fieldId\r\n                        const value = field.value\r\n\r\n                        this.searchParams.delete(key)\r\n\r\n                        if (field.hasValue) {\r\n\r\n                            findEntityUsed = true\r\n\r\n                            this.searchParams.append(key, value) //Qualquer um dos campos avançados será considerado com utilizado filtro avançado\r\n                            this.filteredAdvanced = true\r\n                        }\r\n\r\n                    }\r\n\r\n                    if(findEntityUsed)\r\n                        this.searchParams.append('entity-'+entity.entity, 'true')\r\n\r\n                }\r\n            }\r\n\r\n            if (persistsPageNumber) {\r\n                await this.getPage(this.$route.query.page,false,exposeQueryString)\r\n            } else {\r\n                await this.getPage(1,false,exposeQueryString)\r\n            }\r\n\r\n\r\n        },\r\n\r\n        timeSearchSend(callback) {\r\n\r\n            if (this.intervalTimerSearchDefault == null) {\r\n\r\n                this.intervalTimerSearchDefault = setInterval(async () => {\r\n\r\n                    this.countSendDefaultSearch++\r\n\r\n                    if (this.countSendDefaultSearch === 1) {\r\n                        /*Enviando pesquisa de forma pausada para evitar erro no servidor*/\r\n\r\n                        clearInterval(this.intervalTimerSearchDefault)\r\n                        this.countSendDefaultSearch = 0\r\n                        this.intervalTimerSearchDefault = null\r\n\r\n                        await callback()\r\n\r\n\r\n                    }\r\n\r\n                }, 500)\r\n\r\n            }\r\n\r\n\r\n        },\r\n\r\n        async getPageNotExposeQuery(pageNumber) {\r\n          await this.getPage(pageNumber,false,false)\r\n        },\r\n\r\n        openDialogOrdained() {\r\n            this.modalOrdained = true\r\n            this.openDialogForm('modal-ordained') //Id padrão\r\n        },\r\n\r\n        async getPage(pageNumber, mountAgain = false, exposeQueryString = true) {\r\n\r\n            if (mountAgain) {\r\n                await this.mountedPrepare()\r\n                await this.mountedList()\r\n            } else {\r\n\r\n                this.pageListIsLoaded = false\r\n\r\n                let query = {}\r\n\r\n                if (pageNumber !== undefined && pageNumber !== null && pageNumber > 1)\r\n                    query.page = \"\" + pageNumber\r\n\r\n\r\n                this.pageNumber = pageNumber\r\n\r\n                this.searchParams.forEach((value, key) => {\r\n                    query[key] = encodeURI(value)\r\n                })\r\n\r\n                //console.log(\"Antes query: \")\r\n                //console.log(this.$route.query)\r\n\r\n                //console.log(\"Depois query: \")\r\n                //console.log(query)\r\n\r\n                //Altera na rota somente se for diferente\r\n                if(exposeQueryString){\r\n\r\n                    if (JSON.stringify(query) !== JSON.stringify(this.$route.query)) {\r\n\r\n                        //Expõe parametros no link acima\r\n                        await this.$router.replace({query: query})\r\n\r\n                    }\r\n\r\n                    //Armazena a última página de listagem, caso queria depois voltar\r\n                    const lastPage = {\r\n                        name: this.$route.name,\r\n                        path: this.$route.path,\r\n                        query,\r\n                    }\r\n\r\n                    this.$store.commit(\"setLastPage\", lastPage)\r\n\r\n                }\r\n\r\n                //DEVERÁ MONTAR OS PARÂMETROS DINAMICAMENTE CONFORME OS CAMPOS FOREM MARCADOS COMO DE PESQUISA\r\n                await crudGeneral.getAll(this.getPath(), pageNumber, this.searchParams)\r\n                    .then(response => {\r\n\r\n                        this.request = response.data\r\n                        this.pageListIsLoaded = true\r\n                        this.afterGetPage()\r\n\r\n\r\n                    })\r\n                    .catch(error => {\r\n                        console.log('Erro externo: ' + error)\r\n                    })\r\n\r\n\r\n            }\r\n\r\n\r\n        },\r\n\r\n\r\n    },\r\n    computed: {\r\n\r\n        //Não necessário mais\r\n        //pageNumber() {\r\n        //    return this.$route.query.page\r\n        //},\r\n    },\r\n\r\n\r\n}\r\n\r\n\r\n","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./t-page-report.vue?vue&type=style&index=0&lang=css&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('b-modal',{attrs:{\"id\":\"modalGeneralErrors\",\"title\":\"Erros encontrados:\",\"ok-only\":\"\"},scopedSlots:_vm._u([{key:\"modal-footer\",fn:function(ref){\nvar ok = ref.ok;\nreturn [_c('t-button',{attrs:{\"text\":\"Corrigir Erros\",\"danger\":\"\"},on:{\"click\":function($event){return ok()}}})]}}]),model:{value:(_vm.hasGeneralErrors),callback:function ($$v) {_vm.hasGeneralErrors=$$v},expression:\"hasGeneralErrors\"}},_vm._l((_vm.generalErrors),function(error){return _c('div',{key:error,staticClass:\"p-2 border-bottom mb-2\"},[_c('span',{staticClass:\"text-danger\"},[_c('b-icon-x-circle-fill',{staticClass:\"mr-2\"}),_c('span',{domProps:{\"innerHTML\":_vm._s(error.replace(/\\n/g,'<br />'))}})],1)])}),0),_c('transition',{attrs:{\"mode\":\"out-in\",\"enter-active-class\":\"animated fadeInFast\"}},[_c('b-col',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.busy),expression:\"!busy\"}],staticClass:\"fadeIn mb-5\",attrs:{\"cols\":\"12\"}},[_c('transition',{attrs:{\"name\":\"fade-fast\"}},[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.checkValidation()),expression:\"checkValidation()\"}]},[_c('validation-observer',{ref:\"validationFormList\",scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar invalid = ref.invalid;\nvar errors = ref.errors;\nreturn [_c('span',{staticClass:\"display-none\"},[_vm._v(\" \"+_vm._s(_vm.errorList = errors)+\" \"+_vm._s(_vm.isInvalid = invalid)+\" \")]),_c('form',{ref:\"formList\",on:{\"submit\":function($event){$event.preventDefault();return _vm.onSubmit.apply(null, arguments)}}},[_c('t-form-wrapped',{attrs:{\"command\":_vm.command,\"status\":_vm.localStatus}},[_c('t-input',{attrs:{\"hidden\":\"\"},model:{value:(_vm.fieldCustomizable.fieldId),callback:function ($$v) {_vm.$set(_vm.fieldCustomizable, \"fieldId\", $$v)},expression:\"fieldCustomizable.fieldId\"}}),_c('b-row',{class:{'form-loading':_vm.busyForm},staticStyle:{\"margin-left\":\"-5px\",\"margin-right\":\"-5px\"}},[_vm._t(\"default\",function(){return [_c('b-col',{staticClass:\"mb-2\",attrs:{\"cols\":\"12\"}},[_c('b-row',[_c('div',{staticClass:\"d-flex justify-content-between col-12\"},[_c('b-form-checkbox',{attrs:{\"switch\":\"\"},model:{value:(_vm.fieldCustomizable.required),callback:function ($$v) {_vm.$set(_vm.fieldCustomizable, \"required\", $$v)},expression:\"fieldCustomizable.required\"}},[_c('small',[_vm._v(\"Obrigatório?\")]),_c('t-help',{attrs:{\"title\":\"Caso deixar marcado este campo será de preenchimento obrigatório\"}})],1),_c('b-form-checkbox',{attrs:{\"disabled\":_vm.fieldCustomizable.required,\"switch\":\"\"},model:{value:(_vm.fieldCustomizable.fixed),callback:function ($$v) {_vm.$set(_vm.fieldCustomizable, \"fixed\", $$v)},expression:\"fieldCustomizable.fixed\"}},[_c('small',[_vm._v(\"Fixado?\")]),_c('t-help',{attrs:{\"title\":\"Utilizado de forma especial para fixar o campo e não permitir alteração\"}})],1)],1),_vm._t(\"form-header\")],2),_vm._t(\"form-row-top\"),_c('b-row',[_c('t-input',{attrs:{\"label\":\"Nome do Campo\",\"cols\":\"3\",\"add-error\":_vm.errorField.name,\"required\":\"\"},model:{value:(_vm.fieldCustomizable.name),callback:function ($$v) {_vm.$set(_vm.fieldCustomizable, \"name\", $$v)},expression:\"fieldCustomizable.name\"}}),_c('t-input',{attrs:{\"label\":\"Observação\",\"cols\":\"3\",\"small\":_vm.fieldCustomizable.note !== '' ? 'Exemplo: ' + _vm.fieldCustomizable.note : '',\"help\":\"Descrição adicional aos usuários, logo abaixo do campo\"},model:{value:(_vm.fieldCustomizable.note),callback:function ($$v) {_vm.$set(_vm.fieldCustomizable, \"note\", $$v)},expression:\"fieldCustomizable.note\"}}),_c('t-input',{attrs:{\"label\":\"Ajuda\",\"cols\":\"3\",\"help\":\"Texto de ajuda exibido com ícone de interrogação como este aqui de exemplo.\"},model:{value:(_vm.fieldCustomizable.help),callback:function ($$v) {_vm.$set(_vm.fieldCustomizable, \"help\", $$v)},expression:\"fieldCustomizable.help\"}}),_c('t-input',{attrs:{\"label\":\"Template\",\"cols\":\"3\",\"help\":\"Exibição do campo\",\"options\":_vm.columnOptions,\"select-common\":\"\"},model:{value:(_vm.fieldCustomizable.columns),callback:function ($$v) {_vm.$set(_vm.fieldCustomizable, \"columns\", $$v)},expression:\"fieldCustomizable.columns\"}})],1),_c('b-row',[_c('t-input',{attrs:{\"cols\":\"4\",\"label\":\"Tipo\",\"help\":\"Tipo principal do campo\",\"add-error\":_vm.errorField.type,\"options\":_vm.typeOptions,\"required\":\"\",\"select-common\":\"\"},on:{\"change\":_vm.checkOptions},model:{value:(_vm.fieldCustomizable.type),callback:function ($$v) {_vm.$set(_vm.fieldCustomizable, \"type\", $$v)},expression:\"fieldCustomizable.type\"}}),_c('b-col',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.fieldCustomizable.type === _vm.InputType.type.INPUT),expression:\"fieldCustomizable.type === InputType.type.INPUT\"}],attrs:{\"cols\":\"3\"}},[_c('t-input',{attrs:{\"label\":\"Conteúdo\",\"options\":_vm.varTypeOptions,\"required\":\"\",\"select-common\":\"\"},model:{value:(_vm.fieldCustomizable.var),callback:function ($$v) {_vm.$set(_vm.fieldCustomizable, \"var\", $$v)},expression:\"fieldCustomizable.var\"}}),_c('b-form-checkbox',{directives:[{name:\"show\",rawName:\"v-show\",value:((_vm.fieldCustomizable.var === 2 || _vm.fieldCustomizable.var === 3)),expression:\"(fieldCustomizable.var === 2 || fieldCustomizable.var === 3)\"}],attrs:{\"switch\":\"\"},model:{value:(_vm.fieldCustomizable.acceptZero),callback:function ($$v) {_vm.$set(_vm.fieldCustomizable, \"acceptZero\", $$v)},expression:\"fieldCustomizable.acceptZero\"}},[_c('small',[_vm._v(\"Aceita Zero?\")]),_c('t-help',{attrs:{\"title\":\"Caso deixar marcado este campo númerico poderá receber valor zero.\"}})],1)],1),_c('t-input',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.fieldCustomizable.type === _vm.InputType.type.INPUT && _vm.fieldCustomizable.var === 3),expression:\"fieldCustomizable.type === InputType.type.INPUT && fieldCustomizable.var === 3\"}],attrs:{\"label\":\"Precisão\",\"help\":\"Quantidade de casas decimais\",\"cols\":\"3\",\"options\":_vm.decimalPrecisionOptions,\"select-common\":\"\",\"required\":\"\"},model:{value:(_vm.fieldCustomizable.decimalPrecision),callback:function ($$v) {_vm.$set(_vm.fieldCustomizable, \"decimalPrecision\", $$v)},expression:\"fieldCustomizable.decimalPrecision\"}}),_c('t-input',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.fieldCustomizable.type === _vm.InputType.type.INPUT && _vm.fieldCustomizable.var === 4),expression:\"fieldCustomizable.type === InputType.type.INPUT && fieldCustomizable.var === 4\"}],attrs:{\"label\":\"Máscara\",\"cols\":\"3\",\"options\":_vm.maskOptions,\"select-common\":\"\"},model:{value:(_vm.fieldCustomizable.mask),callback:function ($$v) {_vm.$set(_vm.fieldCustomizable, \"mask\", $$v)},expression:\"fieldCustomizable.mask\"}}),(_vm.fieldCustomizable.type === _vm.InputType.type.SELECT || _vm.fieldCustomizable.type === _vm.InputType.type.RADIO || _vm.fieldCustomizable.type === _vm.InputType.type.CHECKBOX)?_c('b-col',{ref:\"container_options\",attrs:{\"xl\":\"6\"}},[_vm._l((_vm.fieldCustomizable.options),function(item,index){return _c('t-input',{key:item.value,staticClass:\"input-type-list-option-focus\",attrs:{\"label\":'Opção '+ (++index),\"required\":index < 3},model:{value:(item.text),callback:function ($$v) {_vm.$set(item, \"text\", $$v)},expression:\"item.text\"}})}),_c('t-button',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.fieldCustomizable.options.length <= 20),expression:\"fieldCustomizable.options.length <= 20\"}],attrs:{\"small\":\"\",\"outline-secondary\":\"\",\"icon-plus\":\"\",\"text\":\"Adicionar Opção\"},on:{\"click\":_vm.addOption}})],2):_vm._e(),(_vm.fieldCustomizable.type === _vm.InputType.type.SELECT_COLOR)?_c('b-col',{ref:\"container_options\",attrs:{\"xl\":\"6\"}},[_vm._l((_vm.fieldCustomizable.options),function(item,index){return _c('b-row',{key:item.value},[_c('t-input',{staticClass:\"input-type-list-option-focus\",attrs:{\"cols\":\"4\",\"label\":'Cor '+ (index+1),\"required\":index < 2,\"placeholder\":\"#______\",\"color-reduced\":\"\"},model:{value:(item.appendage),callback:function ($$v) {_vm.$set(item, \"appendage\", $$v)},expression:\"item.appendage\"}}),_c('t-input',{attrs:{\"cols\":\"8\",\"label\":'Legenda '+ (index+1),\"required\":index < 2},model:{value:(item.text),callback:function ($$v) {_vm.$set(item, \"text\", $$v)},expression:\"item.text\"}})],1)}),_c('t-button',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.fieldCustomizable.options.length <= 20),expression:\"fieldCustomizable.options.length <= 20\"}],attrs:{\"small\":\"\",\"outline-secondary\":\"\",\"icon-plus\":\"\",\"text\":\"Adicionar Cor\"},on:{\"click\":_vm.addOption}})],2):_vm._e()],1),_c('b-row'),_c('b-row',{staticClass:\"mb-2 mt-3\"},[_c('b-col',[_c('t-button',{attrs:{\"primary\":_vm.btnSubmitPrimary,\"sending\":_vm.status === 'sending',\"text\":_vm.onButtonSubmitText(_vm.command) + ' Campo',\"no-icon\":!_vm.btnSubmitPrimary,\"submit\":\"\"}}),(_vm.command === 'update')?_c('b-link',{staticClass:\"ml-2 text-focus\",on:{\"click\":function($event){return _vm.cancelUpdatedList()}}},[_vm._v(\" \"+_vm._s(_vm.t('go-back'))+\" \")]):_vm._e()],1)],1),_vm._t(\"form-row-bottom\")],2)]})],2)],1)],1)]}}],null,true)})],1)]),(_vm.orderItems && _vm.orderItems.length > 0)?_c('div',{staticClass:\"d-flex border form-list-header\"},[_c('span',{staticStyle:{\"width\":\"45px\"}}),_c('div',{staticClass:\"text flex-grow-1\"},[_c('b-row',_vm._l((_vm.fields.filter(function (a) {return 'label' in a})),function(field){return _c('b-col',{key:field.key,attrs:{\"cols\":field.cols}},[_vm._v(\" \"+_vm._s(field.label)+\" \")])}),1)],1),_c('span',{staticStyle:{\"width\":\"75px\"}})]):_vm._e(),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.busyList),expression:\"!busyList\"}]},[_c('draggable',{staticClass:\"list-group\",attrs:{\"list\":_vm.orderItems,\"handle\":\".handle\"},on:{\"end\":_vm.draggableEnd}},_vm._l((_vm.orderItems),function(item,index){return _c('li',{key:index,staticClass:\"list-group-item list-group-item-form-list line-hover\"},[_c('div',{staticClass:\"d-flex\"},[_c('b-icon-justify',{staticClass:\"z-index-6 mr-2 mt-1 move handle\",staticStyle:{\"scale\":\"1.2\"}}),_c('div',{staticClass:\"text flex-grow-1 mr-3\"},[_c('b-row',_vm._l((_vm.fields.filter(function (a) {return 'label' in a})),function(field){return _c('b-col',{key:field[_vm.primaryKeyColumn],attrs:{\"cols\":field.cols}},[(field.key === 'required')?_c('span',[_vm._v(\" \"+_vm._s(_vm._f(\"yesOrNot\")(item.fieldCustomizable.required)))]):_c('span',[_vm._v(\" \"+_vm._s(item.fieldCustomizable[field.key])+\" \"),(field.key === 'name' && item.fieldCustomizable.typeMaster)?_c('i',{directives:[{name:\"b-tooltip\",rawName:\"v-b-tooltip.hover\",modifiers:{\"hover\":true}}],staticClass:\"fa fa-fw text-warning ml-2\",attrs:{\"title\":\"Campo Master não poderá ser excluído, pois tem uso especial no sistema\"}},[_vm._v(\"\")]):_vm._e()])])}),1)],1),(_vm.userAuth.validation.validationUpdate)?_c('b-icon-pencil-square',{staticClass:\"opacity-6-hover mt-1 mr-2 hover\",staticStyle:{\"scale\":\"1.2\"},on:{\"click\":function($event){return _vm.itemRead(item[_vm.primaryKeyColumn])}}}):_vm._e(),(_vm.userAuth.validation.validationDelete && !item.fieldCustomizable.typeMaster)?_c('b-icon-x-circle',{staticClass:\"opacity-6-hover text-danger mt-1 hover\",staticStyle:{\"scale\":\"1.2\"},on:{\"click\":function($event){return _vm.itemDelete(item[_vm.primaryKeyColumn])}}}):_vm._e()],1)])}),0)],1),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.busyList),expression:\"busyList\"}],staticClass:\"container_loading_form\"},[_c('div',{staticClass:\"container_loading_form_card\",staticStyle:{\"height\":\"350px\"}},[_c('div',{staticClass:\"gradient element-100\",staticStyle:{\"height\":\"30px\",\"margin-top\":\"5px\"}}),_c('div',{staticClass:\"gradient element-100\",staticStyle:{\"height\":\"30px\",\"margin-top\":\"5px\"}}),_c('div',{staticClass:\"gradient element-100\",staticStyle:{\"height\":\"30px\",\"margin-top\":\"5px\"}})])])],1)],1),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.busy),expression:\"busy\"}],staticClass:\"container_loading_form\"},[_vm._m(0)])],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"container_loading_form_card\",staticStyle:{\"height\":\"350px\"}},[_c('div',{staticClass:\"gradient element-100\",staticStyle:{\"height\":\"30px\"}}),_c('div',{staticClass:\"gradient element-100\",staticStyle:{\"height\":\"100px\"}})])}]\n\nexport { render, staticRenderFns }","<template>\n\n  <div>\n\n    <b-modal v-model=\"hasGeneralErrors\" id=\"modalGeneralErrors\" title=\"Erros encontrados:\" ok-only>\n\n      <div v-for=\"error in generalErrors\" :key=\"error\" class=\"p-2 border-bottom mb-2\">\n        <span class=\"text-danger\">\n          <b-icon-x-circle-fill class=\"mr-2\"/>\n          <span v-html=\"error.replace(/\\n/g,'<br />')\"></span>\n        </span>\n      </div>\n\n      <template #modal-footer=\"{ ok }\">\n        <t-button @click=\"ok()\" text=\"Corrigir Erros\" danger/>\n      </template>\n\n    </b-modal>\n\n    <transition mode=\"out-in\"\n                enter-active-class=\"animated fadeInFast\">\n      <b-col v-show=\"!busy\" class=\"fadeIn mb-5\" cols=\"12\">\n\n        <transition name=\"fade-fast\">\n\n          <div v-show=\"checkValidation()\">\n\n            <validation-observer ref=\"validationFormList\" v-slot=\"{invalid,errors}\">\n\n              <span class=\"display-none\">\n                {{ errorList = errors }}\n                {{ isInvalid = invalid }}\n              </span>\n\n              <form @submit.prevent=\"onSubmit\" ref=\"formList\">\n\n                <t-form-wrapped :command=\"command\" :status=\"localStatus\">\n\n                  <t-input v-model=\"fieldCustomizable.fieldId\" hidden/>\n\n                  <b-row style=\"margin-left: -5px; margin-right: -5px;\" :class=\"{'form-loading':busyForm}\">\n\n                    <slot>\n\n                      <b-col cols=\"12\" class=\"mb-2\">\n\n                        <b-row>\n\n                          <div class=\"d-flex justify-content-between col-12\">\n\n                            <b-form-checkbox v-model=\"fieldCustomizable.required\"\n                                             switch>\n                              <small>Obrigatório?</small>\n                              <t-help\n                                  title=\"Caso deixar marcado este campo será de preenchimento obrigatório\"/>\n                            </b-form-checkbox>\n\n                            <b-form-checkbox :disabled=\"fieldCustomizable.required\" v-model=\"fieldCustomizable.fixed\"\n                                             switch>\n                              <small>Fixado?</small>\n                              <t-help\n                                  title=\"Utilizado de forma especial para fixar o campo e não permitir alteração\"/>\n                            </b-form-checkbox>\n\n\n                          </div>\n\n\n                          <slot name=\"form-header\"></slot>\n\n\n                        </b-row>\n\n                        <slot name=\"form-row-top\"></slot>\n\n                        <b-row>\n\n                          <t-input label=\"Nome do Campo\" cols=\"3\" v-model=\"fieldCustomizable.name\"\n                                   :add-error=\"errorField.name\" required/>\n\n                          <t-input label=\"Observação\" cols=\"3\" v-model=\"fieldCustomizable.note\" :small=\"fieldCustomizable.note !== '' ? 'Exemplo: ' + fieldCustomizable.note : ''\"\n                                   help=\"Descrição adicional aos usuários, logo abaixo do campo\"/>\n\n                          <t-input label=\"Ajuda\" cols=\"3\" v-model=\"fieldCustomizable.help\"\n                                   help=\"Texto de ajuda exibido com ícone de interrogação como este aqui de exemplo.\"/>\n\n                          <t-input label=\"Template\" cols=\"3\" v-model=\"fieldCustomizable.columns\"\n                                   help=\"Exibição do campo\" :options=\"columnOptions\" select-common/>\n\n                        </b-row>\n\n                        <b-row>\n\n\n                          <t-input cols=\"4\" label=\"Tipo\" help=\"Tipo principal do campo\"\n                                   v-model=\"fieldCustomizable.type\" :add-error=\"errorField.type\"\n                                   @change=\"checkOptions\" :options=\"typeOptions\"\n                                   required select-common/>\n\n\n                          <b-col cols=\"3\" v-show=\"fieldCustomizable.type === InputType.type.INPUT\">\n                            <t-input label=\"Conteúdo\" v-model=\"fieldCustomizable.var\"\n                                     :options=\"varTypeOptions\"\n                                     required select-common/>\n\n                            <b-form-checkbox v-model=\"fieldCustomizable.acceptZero\"\n                                             switch v-show=\"(fieldCustomizable.var === 2 || fieldCustomizable.var === 3)\">\n                              <small>Aceita Zero?</small>\n                              <t-help\n                                  title=\"Caso deixar marcado este campo númerico poderá receber valor zero.\"/>\n                            </b-form-checkbox>\n\n\n                          </b-col>\n\n\n\n\n                          <t-input label=\"Precisão\" help=\"Quantidade de casas decimais\" cols=\"3\"\n                                   v-model=\"fieldCustomizable.decimalPrecision\" :options=\"decimalPrecisionOptions\"\n                                   v-show=\"fieldCustomizable.type === InputType.type.INPUT && fieldCustomizable.var === 3\"\n                                   select-common required/>\n\n                          <t-input label=\"Máscara\" cols=\"3\" v-model=\"fieldCustomizable.mask\" :options=\"maskOptions\"\n                                   v-show=\"fieldCustomizable.type === InputType.type.INPUT && fieldCustomizable.var === 4\"\n                                   select-common/>\n\n                          <b-col xl=\"6\"\n                                 ref=\"container_options\"\n                                 v-if=\"fieldCustomizable.type === InputType.type.SELECT || fieldCustomizable.type === InputType.type.RADIO || fieldCustomizable.type === InputType.type.CHECKBOX\">\n\n\n                            <t-input v-for=\"(item,index) in fieldCustomizable.options\" :key=\"item.value\"\n                                     class=\"input-type-list-option-focus\"\n                                     :label=\"'Opção '+ (++index)\" v-model=\"item.text\" :required=\"index < 3\"/>\n\n\n                            <t-button v-show=\"fieldCustomizable.options.length <= 20\" small outline-secondary icon-plus\n                                      @click=\"addOption\" text=\"Adicionar Opção\"/>\n\n                          </b-col>\n\n                          <b-col xl=\"6\"\n                                 ref=\"container_options\"\n                                 v-if=\"fieldCustomizable.type === InputType.type.SELECT_COLOR\">\n\n                            <b-row v-for=\"(item,index) in fieldCustomizable.options\" :key=\"item.value\">\n\n                              <t-input cols=\"4\" :label=\"'Cor '+ (index+1)\" v-model=\"item.appendage\"\n                                       class=\"input-type-list-option-focus\"\n                                       :required=\"index < 2\" placeholder=\"#______\" color-reduced/>\n\n                              <t-input cols=\"8\" :label=\"'Legenda '+ (index+1)\" v-model=\"item.text\"\n                                       :required=\"index < 2\"/>\n\n                            </b-row>\n\n                            <t-button v-show=\"fieldCustomizable.options.length <= 20\" small outline-secondary icon-plus\n                                      @click=\"addOption\" text=\"Adicionar Cor\"/>\n\n                          </b-col>\n\n\n                        </b-row>\n\n                        <b-row>\n\n\n                        </b-row>\n\n                        <b-row class=\"mb-2 mt-3\">\n\n                          <b-col>\n                            <t-button :primary=\"btnSubmitPrimary\" :sending=\"status === 'sending'\"\n                                      :text=\"onButtonSubmitText(command) + ' Campo'\" :no-icon=\"!btnSubmitPrimary\"\n                                      submit/>\n\n                            <b-link class=\"ml-2 text-focus\" v-if=\"command === 'update'\" @click=\"cancelUpdatedList()\">\n                              {{ t('go-back') }}\n                            </b-link>\n                          </b-col>\n\n\n                        </b-row>\n\n                        <slot name=\"form-row-bottom\"></slot>\n\n\n                      </b-col>\n\n                    </slot>\n\n                  </b-row>\n\n                </t-form-wrapped>\n\n              </form>\n\n            </validation-observer>\n\n          </div>\n\n        </transition>\n\n        <div v-if=\"orderItems && orderItems.length > 0\" class=\"d-flex border form-list-header\">\n\n          <span style=\"width: 45px\"></span>\n\n          <div class=\"text flex-grow-1\">\n            <b-row>\n              <b-col :cols=\"field.cols\" v-for=\"field in fields.filter((a) => {return 'label' in a})\" :key=\"field.key\">\n                {{ field.label }}\n              </b-col>\n            </b-row>\n          </div>\n\n          <span style=\"width: 75px\"></span>\n\n        </div>\n\n        <div v-show=\"!busyList\">\n\n\n          <draggable :list=\"orderItems\" @end=\"draggableEnd\" class=\"list-group\" handle=\".handle\">\n\n\n            <li\n                class=\"list-group-item list-group-item-form-list line-hover\"\n                v-for=\"(item,index) in orderItems\" :key=\"index\">\n\n              <div class=\"d-flex\">\n\n                <b-icon-justify class=\"z-index-6 mr-2 mt-1 move handle\" style=\"scale:1.2\"/>\n\n                <div class=\"text flex-grow-1 mr-3\">\n\n                  <b-row>\n\n                    <b-col :cols=\"field.cols\" v-for=\"field in fields.filter((a) => {return 'label' in a})\"\n                           :key=\"field[primaryKeyColumn]\">\n\n                        <span v-if=\"field.key === 'required'\">\n                          {{ item.fieldCustomizable.required | yesOrNot }}</span>\n\n                      <span v-else>\n                        {{ item.fieldCustomizable[field.key] }}\n                        <i class=\"fa fa-fw text-warning ml-2\" v-if=\"field.key === 'name' && item.fieldCustomizable.typeMaster\" v-b-tooltip.hover title=\"Campo Master não poderá ser excluído, pois tem uso especial no sistema\"></i>\n                      </span>\n                    </b-col>\n\n                  </b-row>\n\n                </div>\n\n                <b-icon-pencil-square v-if=\"userAuth.validation.validationUpdate\"\n                                      @click=\"itemRead(item[primaryKeyColumn])\"\n                                      class=\"opacity-6-hover mt-1 mr-2 hover\"\n                                      style=\"scale:1.2\"/>\n\n                <b-icon-x-circle v-if=\"userAuth.validation.validationDelete && !item.fieldCustomizable.typeMaster\"\n                                 @click=\"itemDelete(item[primaryKeyColumn])\"\n                                 class=\"opacity-6-hover text-danger mt-1 hover\"\n                                 style=\"scale:1.2\"/>\n\n              </div>\n\n            </li>\n\n\n          </draggable>\n\n\n        </div>\n\n        <div class=\"container_loading_form\" v-show=\"busyList\">\n\n          <div class=\"container_loading_form_card\" style=\"height: 350px\">\n\n            <div class=\"gradient element-100\" style=\"height: 30px; margin-top:5px\"></div>\n            <div class=\"gradient element-100\" style=\"height: 30px; margin-top:5px\"></div>\n            <div class=\"gradient element-100\" style=\"height: 30px; margin-top:5px\"></div>\n\n          </div>\n\n        </div>\n\n      </b-col>\n\n    </transition>\n\n    <div class=\"container_loading_form\" v-show=\"busy\">\n\n      <div class=\"container_loading_form_card\" style=\"height: 350px\">\n\n        <div class=\"gradient element-100\" style=\"height: 30px\"></div>\n\n        <div class=\"gradient element-100\" style=\"height: 100px\"></div>\n\n      </div>\n\n    </div>\n\n\n  </div>\n\n</template>\n<script>\n\nimport ui from \"@/assets/scripts/ui\"\nimport http from \"@/services/config/http-common\";\nimport VarType from \"@/model/types/resource/VarType\";\nimport InputType from \"@/model/types/resource/InputType\";\nimport FieldCustomizableEntity from \"@/model/entities/resource/entity/FieldCustomizableEntity\";\n\nexport default {\n  name: 't-page-form-field-customizable',\n\n  data() {\n    return {\n      VarType,\n      InputType,\n      hasGeneralErrors: false,\n      drag: false,\n      localStatus: \"\",\n      type: \"\",\n      errorList: [],\n      orderItems: [],\n      newOrderList: [],\n      isInvalid: false,\n      columnSize: 0,\n      dragging: false,\n      enabledDrag: false,\n      fieldCustomizable: new FieldCustomizableEntity(),\n      fields: [\n        {key: \"name\", label: \"Campo\", cols: \"5\"},\n        {key: \"note\", label: \"Observações\", cols: \"3\"},\n        {key: \"required\", label: \"Obrigatório\", cols: \"2\"},\n      ],\n      columnOptions: [\n        {value: 3, text: \"25%\"},\n        {value: 4, text: \"33%\"},\n        {value: 6, text: \"50%\"},\n        {value: 9, text: \"75%\"},\n        {value: 12, text: \"100%\"},\n      ],\n      typeOptions: InputType.list,\n      varTypeOptions: VarType.list,\n      decimalPrecisionOptions: [\n        {value: 1, text: \"1\"},\n        {value: 2, text: \"2\"},\n        {value: 3, text: \"3\"},\n        {value: 4, text: \"4\"},\n      ],\n      maskOptions: [\n        {value: \"zipcode\", text: \"CEP\"},\n        {value: \"br_cpf\", text: \"CPF\"},\n        {value: \"br_cnpj\", text: \"CNPJ\"},\n        {value: \"email\", text: \"E-mail\"},\n        {value: \"time\", text: \"Hora\"},\n        {value: \"color\", text: \"Cores\"},\n        {value: \"upper\", text: \"Texto maiúsculo\"},\n        {value: \"lower\", text: \"Texto minúsculo\"},\n      ],\n\n\n    }\n  },\n  props: {\n    status: String,\n    command: {\n      type: String,\n      default: 'insert'\n    },\n    value: {\n      type: Object,\n      default: null\n    },\n    btnSubmitPrimary: Boolean,\n    errorField: Object,\n    generalErrors: Array,\n    title: String,\n    userAuth: Object,\n    items: Array,\n    path: String,\n    primaryKey: Number,\n    foreignKey: Number,\n    foreignKeyColumn: {\n      type: String,\n      required: true,\n    },\n    primaryKeyColumn: {\n      type: String,\n      required: true,\n    },\n    busy: {//busy principal\n      type: Boolean,\n      default: false,\n    },\n    busyForm: {//busy somente do formulário na parte superior\n      type: Boolean,\n      default: false,\n    },\n    busyList: {//busy somente da listagem\n      type: Boolean,\n      default: false,\n    }\n  },\n  mounted() {\n\n    this.hasGeneralErrors = this.generalErrors && this.generalErrors.length > 0\n    this.localStatus = this.status\n    this.orderItems = this.items\n    this.enabledDrag = this.userAuth.validation.validationUpdate\n\n  },\n  computed: {\n\n    onSending() {\n      return this.status === \"sending\"\n    },\n\n\n  },\n  methods: {\n\n    addOption() {\n\n      const length_old = (this.fieldCustomizable.options.length)\n      const length = length_old + 1;\n      this.fieldCustomizable.options.push({value: length, text: \"\"})\n\n      setTimeout(() => {\n        this.$refs.container_options.getElementsByClassName('input-type-list-option-focus')[length_old].getElementsByTagName('input')[0].focus()\n      }, 100)\n\n    },\n\n    checkOptions() {\n\n      if (((this.fieldCustomizable.type === 'R' || this.fieldCustomizable.type === 'S' || this.fieldCustomizable.type === 'SC')) && this.fieldCustomizable.options.length === 0) {\n\n        this.fieldCustomizable.options.push({value: 1, text: \"Exemplo 1\"})\n        this.fieldCustomizable.options.push({value: 2, text: \"Exemplo 2\"})\n        this.fieldCustomizable.options.push({value: 3, text: \"Exemplo 3\"})\n\n      }\n    },\n\n    onButtonSubmitText(command) {\n      return this.t(command)\n    },\n\n    cancelUpdatedList() {\n      this.$emit(\"onCancelUpdatedList\")\n    },\n\n\n    draggableEnd() {\n\n      http.post(this.path + \"/changeOrder\", this.orderItemsReduce()).then(() => {\n\n        //Atualiza os indices conforme nova ordem\n        ui.toast(this, \"Ordem atualizada!\", \"Ordem alterada com sucesso\")\n\n      }).catch(async () => {\n        this.$emit(\"onRequestList\") //Enviar para o componente principal solicitar atualização de listagem\n        ui.msgError(this, \"Erro ao tentar atualizar a ordem das imagens. Tente novamente e caso o problema persistir informe nosso suporte técnico.\");\n      })\n\n    },\n\n    checkValidation() {\n      //return ui.hasValidation(this.command,this.userAuth.validation)\n\n      return ((this.command === 'insert' && this.userAuth.validation.validationCreate) ||\n          (this.command === 'update' && this.userAuth.validation.validationUpdate) ||\n          (this.command === 'delete' && this.userAuth.validation.validationDelete) ||\n          (this.command === \"view\" && this.userAuth.validation.validationRead))\n\n    },\n\n    orderItemsReduce() {\n\n      let newListOrder = []\n\n      for (const item of this.orderItems) {\n        newListOrder.push(item[this.primaryKeyColumn])\n      }\n\n      return {\n        id: this.foreignKey,\n        orderList: newListOrder\n      }\n\n    },\n\n    itemRead(id) {\n      this.$emit('onItemRead', id)\n    },\n    itemDelete(id) {\n\n      ui.msgConfirmDelete(this, () => {\n        this.$emit('onItemDelete', id)\n      })\n\n    },\n    setReset() {\n\n    },\n    onSubmit() {\n\n      //Consistências antes do envio\n      if (this.fieldCustomizable.type === \"T\") {\n        this.fieldCustomizable.var = 4\n      } else if (this.fieldCustomizable.type === \"R\" || this.fieldCustomizable.type === \"S\" || this.fieldCustomizable.type === \"SC\") {\n        this.fieldCustomizable.var = 2\n      }\n\n\n      //Avisa o pai que mudou o status para submetido\n      this.localStatus = \"subject\"\n      this.$parent.status = \"subject\"\n\n      this.$refs.validationFormList.validate().then(success => {\n\n        if (!success) {\n          ui.msgErrorForm(this,this.$refs.validationFormList)\n          return;\n        }\n\n        //console.log('Form validação básica padrão passou!')\n\n        this.$emit(\"input\", this.fieldCustomizable)\n\n        this.$emit('onSubmit')\n\n\n      });\n\n    },\n  },\n  watch: {\n    status(value) {\n      this.localStatus = value\n    },\n    items(value) {\n      this.orderItems = value\n    },\n    userAuth(value) {\n      this.enabledDrag = value.validation.validationUpdate\n    },\n    value(val) {\n      this.fieldCustomizable = val\n    },\n    generalErrors() {\n      this.hasGeneralErrors = this.generalErrors && this.generalErrors.length > 0\n    },\n  }\n}\n</script>\n<style scoped>\n.form-list-header {\n  background-color: #fafafa;\n  border-top-right-radius: 3px;\n  border-top-left-radius: 3px;\n  font-weight: bold;\n  font-size: 12px;\n  padding-top: 10px;\n  padding-bottom: 10px;\n}\n\n.form-list-header + .list-group .list-group-item {\n  border-radius: 0px;\n}\n\n\n.list-group-item i {\n  cursor: pointer;\n}\n\n\n.flip-list-move {\n  transition: transform 0.5s;\n}\n\n.no-move {\n  transition: transform 0s;\n}\n\n.ghost {\n  opacity: 0.5;\n  background: #0075b0 !important;\n}\n\n.list-group {\n  min-height: 20px;\n}\n\n\n.list-group-item i {\n  cursor: pointer;\n}\n\n.list-enter-active,\n.list-leave-active {\n  transition: all 0.5s ease;\n}\n\n.list-enter-from,\n.list-leave-to {\n  opacity: 0;\n  transform: translateX(30px);\n}\n\n\n/* 1. declare transition */\n.fade-group-list-move,\n.fade-group-list-enter-active,\n.fade-group-list-leave-active {\n  transition: all 0.5s cubic-bezier(0.55, 0, 0.1, 1);\n}\n\n/* 2. declare enter from and leave to state */\n.fade-group-list-enter-from,\n.fade-group-list-leave-to {\n  opacity: 0;\n  transform: scaleY(0.01) translate(30px, 0);\n}\n\n/* 3. ensure leaving items are taken out of layout flow so that moving\n      animations can be calculated correctly. */\n.fade-group-list-leave-active {\n  position: absolute;\n}\n</style>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./t-page-form-field-customizable.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./t-page-form-field-customizable.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./t-page-form-field-customizable.vue?vue&type=template&id=6515b667&scoped=true&\"\nimport script from \"./t-page-form-field-customizable.vue?vue&type=script&lang=js&\"\nexport * from \"./t-page-form-field-customizable.vue?vue&type=script&lang=js&\"\nimport style0 from \"./t-page-form-field-customizable.vue?vue&type=style&index=0&id=6515b667&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"6515b667\",\n  null\n  \n)\n\nexport default component.exports","import functionsMixins from \"@/mixins/page/functionsMixins\";\r\nimport {crudGeneral} from \"@/services/resource/GeneralCRUD.service\";\r\nimport CurrentPageEntity from \"@/model/entities/resource/entity/CurrentPageEntity\";\r\nimport UserAuthEntity from \"@/model/entities/resource/entity/UserAuthEntity\";\r\n\r\nexport default {\r\n    mixins: [functionsMixins],\r\n    data() {\r\n        return {\r\n            path: \"\",\r\n            form: {},\r\n            error: {},\r\n            status: \"\",\r\n            busy: false,\r\n            generalErrors: [],\r\n            dialogIsLoaded: false,\r\n            primaryKeyColumn: \"\",/*Declarado para ser sobreposto*/\r\n            genKey: false, //Por padrão os formulários não possuem gerador de chave temporária\r\n            enableGeneralFields: false,\r\n            yesOrNotOptions: [{value: \"Y\", text: this.t('yes')}, {value: \"N\", text: this.t('no')}],\r\n            itemInserted: {\r\n                groupId: 0,\r\n                value: 0,\r\n                text: \"\",\r\n            },\r\n            currentPage: CurrentPageEntity,\r\n            userAuth: UserAuthEntity,\r\n        }\r\n    },\r\n    watch:{\r\n        setUserAuth(v){\r\n            console.log(v)\r\n            this.userAuth = v\r\n        }\r\n    },\r\n    props: {\r\n        command: {\r\n            type: String,\r\n            default: 'insert'\r\n        },\r\n        noOptionAdd: String,\r\n        primaryKey: Number,\r\n        setUserAuth: Object,\r\n        foreignKey: {\r\n            type: Number,\r\n            default: 0,\r\n            required: false,\r\n        },\r\n        /*NUNCA PODERÁ DECLARAR AQUI foreignKeyColumn, POIS EXISTE TELAS QUE UTILIZAM EM DATA*/\r\n    },\r\n\r\n    async mounted() {\r\n\r\n        this.userAuth = this.setUserAuth\r\n\r\n        await this.mountedContinued()\r\n\r\n\r\n\r\n    },\r\n\r\n    methods: {\r\n\r\n        //Método declarado para ser sobreposto\r\n        async mountedContinued() {\r\n\r\n        },\r\n\r\n        async setSubmitDialogDefault() {\r\n\r\n            await this.executeSubmitDialog(this.path, this.command, () => {\r\n                this.successInsert()\r\n            })\r\n\r\n        },\r\n\r\n        async executeSubmitDialog(path, command, callback) {\r\n\r\n            this.status = \"sending\"\r\n            this.checkErrorsComponent = false\r\n\r\n\r\n            if (command === 'delete') {\r\n\r\n                await crudGeneral.remove(path, this.primaryKey).then(response => {\r\n\r\n                    callback(response.data)\r\n\r\n                }).catch(error => this.responseError(error))\r\n\r\n            } else {\r\n\r\n                //Limpa campos de erros (caso existam)\r\n                Object.keys(this.error).forEach(key => {\r\n                    this.error[key] = \"\"\r\n                });\r\n\r\n\r\n                //Crud enviado, por tanto será feito de forma automatica a inclusão e alteração\r\n                await crudGeneral.save(path, command, this.form).then(response => {\r\n                    callback(response.data)\r\n                }).catch(error => this.responseError(error))\r\n\r\n\r\n            }\r\n\r\n\r\n        },\r\n\r\n        async putDialog(path, callback) {\r\n\r\n            this.status = \"sending\"\r\n            this.checkErrorsComponent = false\r\n\r\n            await this.executeSubmitDialog(path, 'update', callback)\r\n\r\n        },\r\n\r\n\r\n        async setInsertDialog(path, callback) {\r\n\r\n            this.status = \"sending\"\r\n            this.checkErrorsComponent = false\r\n\r\n            //console.log(path, callback)\r\n\r\n            await this.executeSubmitDialog(path, 'insert', callback)\r\n\r\n        },\r\n\r\n        onClose() {\r\n\r\n            this.resetModal()\r\n\r\n            this.$emit(\"onClose\")\r\n\r\n        },\r\n\r\n        resetModal() {\r\n\r\n            this.status = \"\"\r\n\r\n            //Limpa os campos primitivos do formulário de forma automatica\r\n            this.resetFormDefault(this.form)\r\n\r\n            //this.$refs.dialog_form.setReset()\r\n\r\n        },\r\n\r\n        getEmbedAddressApi(el, address) {\r\n\r\n            this.form[el].street = address.street\r\n            this.form[el].neighborhood = address.neighborhood\r\n            this.form[el].provinceAbbreviation = address.provinceAbbreviation\r\n            this.form[el].cityId = address.cityId\r\n\r\n        },\r\n\r\n        async readModal(changeBusy = false) {\r\n\r\n            if (this.genKey && this.isInsert()) {\r\n\r\n                await crudGeneral.get(this.path + \"/createId\").then(\r\n                    response => {\r\n                        this.form[this.primaryKeyColumn] = response.data.id\r\n                        this.genKey = false //Indica que a chave já foi criada\r\n                    }\r\n                ).catch(error => this.responseError(error))\r\n\r\n                if (changeBusy)\r\n                    this.busy = false\r\n\r\n\r\n            } else if (this.command !== 'insert') {\r\n\r\n                if (changeBusy)\r\n                    this.busy = true\r\n\r\n                await crudGeneral.getById(this.path, this.primaryKey).then(\r\n                    (response) => {\r\n\r\n                        this.form = response.data\r\n\r\n                        if (changeBusy)\r\n                            this.busy = false\r\n\r\n                    }\r\n                ).catch(error => this.responseError(error))\r\n\r\n            }\r\n\r\n        },\r\n\r\n        successInsert() {\r\n\r\n            setTimeout(() => {\r\n\r\n                //Fecha e devolve os valores desejado para continuidade\r\n                this.$nextTick(() => {\r\n\r\n                    this.$bvModal.hide(this.id)\r\n                    this.$emit('onSubmit', this.itemInserted)\r\n\r\n                });\r\n\r\n            }, 50)\r\n\r\n        },\r\n\r\n        responseError(error) {\r\n\r\n            //Retorna o status para o padrão de tentativa de subject enviado\r\n            this.status = \"subject\"\r\n\r\n            if (error.response) {\r\n\r\n                if (error.response.status === 500) {\r\n\r\n\r\n                    if (error.response.data && error.response.data.message) {\r\n\r\n                        this.generalErrors = []\r\n                        this.generalErrors.push(error.response.data.message)\r\n\r\n                    } else {\r\n\r\n                        const general = error.response.data.general\r\n                        const fields = error.response.data.fields\r\n\r\n                        if (general && general.length > 0) {\r\n                            this.generalErrors = general\r\n                        }\r\n\r\n                        Object.keys(fields).forEach(key => {\r\n\r\n                            if (key.indexOf(\".\") > 0) {\r\n\r\n                                const obj = key.substring(0, key.indexOf(\".\"))\r\n                                const objField = key.replace(obj + \".\", '')\r\n\r\n                                if ([objField] in this[\"error_\" + obj]) {\r\n                                    this[\"error_\" + obj][objField] = fields[key]\r\n                                } else {\r\n                                    alert('Falha encontrada campo relacionado: ' + key + ' - ' + fields[key])\r\n                                }\r\n\r\n                                //console.log(\"Objeto [\" + obj + \"]\")\r\n                                //console.log(\"Field [\" + objField + \"]\")\r\n\r\n                            } else {\r\n\r\n                                if ([key] in this.error) {\r\n                                    this.error[key] = fields[key]\r\n                                } else {\r\n                                    alert('Falha encontrada campo: ' + key + ' - ' + fields[key])\r\n                                }\r\n\r\n                            }\r\n\r\n\r\n                        });\r\n\r\n                    }\r\n\r\n\r\n                    //Marca para os componentes de formulario realizarem nova verificação interna (usado principalmente em Tabs)\r\n                    this.checkErrorsComponent = true\r\n                    //-----------------------------------------------------------------------------------------------------------\r\n\r\n\r\n                } else if (error.response.status === 400) {\r\n\r\n                    alert('Falha ao tentar enviar, por favor tente novamente ou informe nosso suporte técnico o seguinte erro: 400')\r\n                    console.warn(error.response);\r\n\r\n                }\r\n\r\n            } else if (error.request) {\r\n                // The request was made but no response was received\r\n                alert('Falha de conexão, verifique sua internet 2')\r\n                console.warn(error.request);\r\n            } else {\r\n                // Something happened in setting up the request that triggered an Error\r\n                alert('Falha de conexão, verifique sua internet 3')\r\n                console.log(error)\r\n                console.warn('Error', error.message);\r\n            }\r\n\r\n        },\r\n\r\n\r\n    },\r\n\r\n\r\n}\r\n\r\n\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"app\"}},[_c('transition',{attrs:{\"mode\":\"out-in\",\"enter-active-class\":\"animated fadeIn\"}},[_c('router-view')],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <div id=\"app\">\n\n    <transition mode=\"out-in\"\n                enter-active-class=\"animated fadeIn\">\n      <router-view/>\n    </transition>\n\n  </div>\n</template>\n\n<script>\nimport ui from \"@/assets/scripts/ui\";\n\nexport default {\n\n  name: 'App',\n  data() {\n    return {\n    }\n  },\n  methods: {\n\n    msg(title,message,callback = null,size = ''){\n      ui.msg(this,title,message,callback,size)\n    },\n\n    go(name){\n      this.$router.push({name: name})\n    },\n  },\n  mounted() {\n\n    if (localStorage.getItem('language')) {\n\n      let language = JSON.parse(localStorage.getItem('language'))\n      this.$translate.setLang(language.type)\n\n    } else {\n      //Routes\n\n      let language = {\n        type: 'pt-BR',\n        name: 'Português'\n      }\n\n      this.$translate.setLang(language.type)\n      localStorage.setItem('language', JSON.stringify(language))\n\n    }\n\n    if (localStorage.getItem('account')) {\n      const account = JSON.parse(localStorage.getItem('account'))\n\n      this.$store.commit(\"setAccount\", account)\n      //console.log('Usuario logado: ' + JSON.stringify(this.account))\n    }\n\n  }\n}\n</script>\n<style>\n</style>","import mod from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=1e495d3d&\"\nimport script from \"./App.vue?vue&type=script&lang=js&\"\nexport * from \"./App.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","const Dashboard = () => import('@/views/modules/Dashboard')\r\n\r\n\r\nconst GeneralMyReport = () => import('@/views/modules/general/MyReport')\r\nconst GeneralMyReportItem = () => import('@/views/modules/general/MyReportItem')\r\nconst GeneralMyUserHistory = () => import('@/views/modules/general/MyUserHistory')\r\nconst GeneralMyUserChangePassword = () => import('@/views/modules/general/MyUserChangePassword')\r\n\r\nconst AdminCompany = () => import('@/views/modules/admin/Company')\r\nconst AdminCompanyForm = () => import('@/views/modules/admin/CompanyForm')\r\nconst AdminUser = () => import('@/views/modules/admin/User')\r\nconst AdminUserForm = () => import('@/views/modules/admin/UserForm')\r\nconst AdminDepartment = () => import('@/views/modules/admin/Department')\r\nconst AdminDepartmentForm = () => import('@/views/modules/admin/DepartmentForm')\r\nconst AdminGroupUser = () => import('@/views/modules/admin/GroupUser')\r\nconst AdminGroupUserForm = () => import('@/views/modules/admin/GroupUserForm')\r\nconst AdminProfile = () => import('@/views/modules/admin/Profile')\r\nconst AdminProfileForm = () => import('@/views/modules/admin/ProfileForm')\r\nconst AdminPrinter = () => import('@/views/modules/admin/Printer')\r\nconst AdminPrinterForm = () => import('@/views/modules/admin/PrinterForm')\r\nconst AdminAccessControl = () => import('@/views/modules/admin/AccessControl')\r\nconst AdminAccessControlForm = () => import('@/views/modules/admin/AccessControlForm')\r\nconst AdminSettingParam = () => import('@/views/modules/admin/Setting/SettingParam')\r\nconst AdminSettingParamForm = () => import('@/views/modules/admin/Setting/SettingParamForm')\r\nconst AdminSetting = () => import('@/views/modules/admin/Setting/Setting')\r\n\r\n\r\nconst ProductProduct = () => import('@/views/modules/product/Product')\r\nconst ProductProductForm = () => import('@/views/modules/product/ProductForm')\r\nconst ProductFamilyProduct = () => import('@/views/modules/product/FamilyProduct')\r\nconst ProductFamilyProductForm = () => import('@/views/modules/product/FamilyProductForm')\r\nconst ProductModel = () => import('@/views/modules/product/Model')\r\nconst ProductModelForm = () => import('@/views/modules/product/ModelForm')\r\nconst ProductCharacteristics = () => import('@/views/modules/product/Characteristics')\r\nconst ProductCharacteristicsForm = () => import('@/views/modules/product/CharacteristicsForm')\r\nconst ProductBookmarks = () => import('@/views/modules/product/Bookmarks')\r\nconst ProductBookmarksForm = () => import('@/views/modules/product/BookmarksForm')\r\nconst ProductMarketCode = () => import('@/views/modules/product/MarketCode')\r\nconst ProductMarketCodeForm = () => import('@/views/modules/product/MarketCodeForm')\r\nconst ProductUnit = () => import('@/views/modules/product/Unit')\r\nconst ProductUnitForm = () => import('@/views/modules/product/UnitForm')\r\nconst ProductRawMaterial = () => import('@/views/modules/product/RawMaterial')\r\nconst ProductRawMaterialForm = () => import('@/views/modules/product/RawMaterialForm')\r\nconst ProductTypeRawMaterial = () => import('@/views/modules/product/TypeRawMaterial')\r\nconst ProductTypeRawMaterialForm = () => import('@/views/modules/product/TypeRawMaterialForm')\r\nconst ProductComponent = () => import('@/views/modules/product/Component')\r\nconst ProductComponentForm = () => import('@/views/modules/product/ComponentForm')\r\nconst ProductTypeComponent = () => import('@/views/modules/product/TypeComponent')\r\nconst ProductTypeComponentForm = () => import('@/views/modules/product/TypeComponentForm')\r\nconst ProductCompound = () => import('@/views/modules/product/Compound')\r\nconst ProductCompoundForm = () => import('@/views/modules/product/CompoundForm')\r\nconst ProductTypeCompound = () => import('@/views/modules/product/TypeCompound')\r\nconst ProductTypeCompoundForm = () => import('@/views/modules/product/TypeCompoundForm')\r\nconst ProductTypeMaterial = () => import('@/views/modules/product/TypeMaterial')\r\nconst ProductTypeMaterialForm = () => import('@/views/modules/product/TypeMaterialForm')\r\nconst ProductTypeFeature = () => import('@/views/modules/product/TypeFeature')\r\nconst ProductTypeFeatureForm = () => import('@/views/modules/product/TypeFeatureForm')\r\nconst ProductFeature = () => import('@/views/modules/product/Feature')\r\nconst ProductFeatureForm = () => import('@/views/modules/product/FeatureForm')\r\nconst ProductComplement = () => import('@/views/modules/product/Complement')\r\nconst ProductComplementForm = () => import('@/views/modules/product/ComplementForm')\r\nconst ProductTypeBuildingMaterial = () => import('@/views/modules/product/TypeBuildingMaterial')\r\nconst ProductTypeBuildingMaterialForm = () => import('@/views/modules/product/TypeBuildingMaterialForm')\r\nconst ProductTypeEquipment = () => import('@/views/modules/product/TypeEquipment')\r\nconst ProductTypeEquipmentForm = () => import('@/views/modules/product/TypeEquipmentForm')\r\nconst ProductMaterial = () => import('@/views/modules/product/Material')\r\nconst ProductMaterialForm = () => import('@/views/modules/product/MaterialForm')\r\nconst ProductTolerance = () => import('@/views/modules/product/Tolerance')\r\nconst ProductToleranceForm = () => import('@/views/modules/product/ToleranceForm')\r\nconst ProductSettingParam = () => import('@/views/modules/product/Setting/SettingParam')\r\nconst ProductSettingParamForm = () => import('@/views/modules/product/Setting/SettingParamForm')\r\nconst ProductSetting = () => import('@/views/modules/product/Setting/Setting')\r\nconst ProductReport = () => import('@/views/modules/product/Report')\r\n\r\nconst CustomerCustomer = () => import('@/views/modules/customer/Customer')\r\nconst CustomerCustomerForm = () => import('@/views/modules/customer/CustomerForm')\r\nconst CustomerGroupCustomer = () => import('@/views/modules/customer/GroupCustomer')\r\nconst CustomerGroupCustomerForm = () => import('@/views/modules/customer/GroupCustomerForm')\r\nconst CustomerTypeProfile = () => import('@/views/modules/customer/TypeProfile')\r\nconst CustomerTypeProfileForm = () => import('@/views/modules/customer/TypeProfileForm')\r\nconst CustomerTypeOrigin = () => import('@/views/modules/customer/TypeOrigin')\r\nconst CustomerTypeOriginForm = () => import('@/views/modules/customer/TypeOriginForm')\r\n\r\nconst CustomerSettingParam = () => import('@/views/modules/customer/Setting/SettingParam')\r\nconst CustomerSettingParamForm = () => import('@/views/modules/customer/Setting/SettingParamForm')\r\nconst CustomerSetting = () => import('@/views/modules/customer/Setting/Setting')\r\nconst CustomerReport = () => import('@/views/modules/customer/Report')\r\n\r\nconst StockProduct = () => import('@/views/modules/stock/StockProduct/StockProduct')\r\nconst StockProductManualForm = () => import('@/views/modules/stock/StockProduct/StockProductManualForm')\r\nconst StockProductInOut = () => import('@/views/modules/stock/StockProduct/StockProductInOut')\r\nconst StockPlaceProduct = () => import('@/views/modules/stock/StockPlaceProduct')\r\nconst StockPlaceProductForm = () => import('@/views/modules/stock/StockPlaceProductForm')\r\nconst StockPlaceMold = () => import('@/views/modules/stock/StockPlaceMold')\r\nconst StockPlaceMoldForm = () => import('@/views/modules/stock/StockPlaceMoldForm')\r\nconst StockTypeStatusExpedition = () => import('@/views/modules/stock/TypeExpeditionStatus')\r\nconst StockTypeStatusExpeditionForm = () => import('@/views/modules/stock/TypeExpeditionStatusForm')\r\nconst StockExpeditionOrder = () => import('@/views/modules/stock/ExpeditionOrder')\r\nconst StockExpeditionOrderForm = () => import('@/views/modules/stock/ExpeditionOrderForm')\r\nconst StockTypeStockManual = () => import('@/views/modules/stock/TypeStockManual')\r\nconst StockTypeStockManualForm = () => import('@/views/modules/stock/TypeStockManualForm')\r\nconst StockSettingParam = () => import('@/views/modules/stock/Setting/SettingParam')\r\nconst StockSettingParamForm = () => import('@/views/modules/stock/Setting/SettingParamForm')\r\nconst StockSetting = () => import('@/views/modules/stock/Setting/Setting')\r\nconst StockReport = () => import('@/views/modules/stock/Report')\r\n\r\nexport default [\r\n\r\n    {\r\n        path: '/dashboard',\r\n        component: Dashboard,\r\n        name: 'dashboard'\r\n    },\r\n    {\r\n        path: '/general/my-user/history',\r\n        component: GeneralMyUserHistory,\r\n        name: 'my-user-history'\r\n    },\r\n\r\n    {\r\n        path: '/general/my-report/:id',\r\n        name: 'my-report-item',\r\n        component: GeneralMyReportItem\r\n    },\r\n    {\r\n        path: '/general/my-report/',\r\n        component: GeneralMyReport,\r\n        name: 'my-report'\r\n    },\r\n\r\n\r\n\r\n    {\r\n        path: '/general/my-user/change-password',\r\n        component: GeneralMyUserChangePassword,\r\n        name: 'my-user-change-password'\r\n    }\r\n    , {\r\n        path: '/product/family/new',\r\n        name: 'product-family-form-new',\r\n        component: ProductFamilyProductForm\r\n    }, {\r\n        path: '/product/family/view/:id',\r\n        name: 'product-family-form-view',\r\n        component: ProductFamilyProductForm\r\n    }, {\r\n        path: '/product/family/remove/:id',\r\n        name: 'product-family-form-remove',\r\n        component: ProductFamilyProductForm\r\n    }, {\r\n        path: '/product/family/:id',\r\n        name: 'product-family-form',\r\n        component: ProductFamilyProductForm\r\n    }\r\n    , {path: '/product/family', name: 'product-family', component: ProductFamilyProduct}\r\n    , {\r\n        path: '/product/model/new',\r\n        name: 'product-model-form-new',\r\n        component: ProductModelForm\r\n    }, {\r\n        path: '/product/model/view/:id',\r\n        name: 'product-model-form-view',\r\n        component: ProductModelForm\r\n    }, {\r\n        path: '/product/model/remove/:id',\r\n        name: 'product-model-form-remove',\r\n        component: ProductModelForm\r\n    }, {\r\n        path: '/product/model/:id',\r\n        name: 'product-model-form',\r\n        component: ProductModelForm\r\n    }\r\n    , {path: '/product/model', name: 'product-model', component: ProductModel}\r\n\r\n    , {\r\n        path: '/product/characteristics/form/',\r\n        alias: '/product/characteristics/:id',\r\n        name: 'product-characteristics-form',\r\n        component: ProductCharacteristicsForm\r\n    }\r\n    , {\r\n        path: '/product/characteristics',\r\n        name: 'product-characteristics',\r\n        component: ProductCharacteristics\r\n    }\r\n    , {\r\n        path: '/product/bookmarks/form/',\r\n        alias: '/product/bookmarks/:id',\r\n        name: 'product-bookmarks-form',\r\n        component: ProductBookmarksForm\r\n    }\r\n    , {path: '/product/bookmarks', name: 'product-bookmarks', component: ProductBookmarks}\r\n\r\n    , {\r\n        path: '/product/market-code/new',\r\n        name: 'product-market-code-form-new',\r\n        component: ProductMarketCodeForm\r\n    }, {\r\n        path: '/product/market-code/view/:id',\r\n        name: 'product-market-code-form-view',\r\n        component: ProductMarketCodeForm\r\n    }, {\r\n        path: '/product/market-code/remove/:id',\r\n        name: 'product-market-code-form-remove',\r\n        component: ProductMarketCodeForm\r\n    }, {\r\n        path: '/product/market-code/:id',\r\n        name: 'product-market-code-form',\r\n        component: ProductMarketCodeForm\r\n    }\r\n    , {path: '/product/market-code', name: 'product-market-code', component: ProductMarketCode}\r\n\r\n    , {\r\n        path: '/product/unit/new',\r\n        name: 'product-unit-form-new',\r\n        component: ProductUnitForm\r\n    }, {\r\n        path: '/product/unit/view/:id',\r\n        name: 'product-unit-form-view',\r\n        component: ProductUnitForm\r\n    }, {\r\n        path: '/product/unit/remove/:id',\r\n        name: 'product-unit-form-remove',\r\n        component: ProductUnitForm\r\n    }, {\r\n        path: '/product/unit/:id',\r\n        name: 'product-unit-form',\r\n        component: ProductUnitForm\r\n    }\r\n    , {path: '/product/unit', name: 'product-unit', component: ProductUnit}\r\n\r\n    , {\r\n        path: '/product/raw-material/new',\r\n        name: 'product-raw-material-form-new',\r\n        component: ProductRawMaterialForm\r\n    }, {\r\n        path: '/product/raw-material/view/:id',\r\n        name: 'product-raw-material-form-view',\r\n        component: ProductRawMaterialForm\r\n    }, {\r\n        path: '/product/raw-material/remove/:id',\r\n        name: 'product-raw-material-form-remove',\r\n        component: ProductRawMaterialForm\r\n    }, {\r\n        path: '/product/raw-material/:id',\r\n        name: 'product-raw-material-form',\r\n        component: ProductRawMaterialForm\r\n    }\r\n    , {path: '/product/raw-material', name: 'product-raw-material', component: ProductRawMaterial}\r\n    , {\r\n        path: '/product/type-raw-material/new',\r\n        name: 'product-type-raw-material-form-new',\r\n        component: ProductTypeRawMaterialForm\r\n    }, {\r\n        path: '/product/type-raw-material/view/:id',\r\n        name: 'product-type-raw-material-form-view',\r\n        component: ProductTypeRawMaterialForm\r\n    }, {\r\n        path: '/product/type-raw-material/remove/:id',\r\n        name: 'product-type-raw-material-form-remove',\r\n        component: ProductTypeRawMaterialForm\r\n    }, {\r\n        path: '/product/type-raw-material/:id',\r\n        name: 'product-type-raw-material-form',\r\n        component: ProductTypeRawMaterialForm\r\n    }\r\n    , {path: '/product/type-raw-material', name: 'product-type-raw-material', component: ProductTypeRawMaterial}\r\n\r\n    , {\r\n        path: '/product/component/new',\r\n        name: 'product-component-form-new',\r\n        component: ProductComponentForm\r\n    }, {\r\n        path: '/product/component/view/:id',\r\n        name: 'product-component-form-view',\r\n        component: ProductComponentForm\r\n    }, {\r\n        path: '/product/component/remove/:id',\r\n        name: 'product-component-form-remove',\r\n        component: ProductComponentForm\r\n    }, {\r\n        path: '/product/component/:id',\r\n        name: 'product-component-form',\r\n        component: ProductComponentForm\r\n    }\r\n    , {path: '/product/component', name: 'product-component', component: ProductComponent}\r\n\r\n    , {\r\n        path: '/product/type-component/new',\r\n        name: 'product-type-component-form-new',\r\n        component: ProductTypeComponentForm\r\n    }, {\r\n        path: '/product/type-component/view/:id',\r\n        name: 'product-type-component-form-view',\r\n        component: ProductTypeComponentForm\r\n    }, {\r\n        path: '/product/type-component/remove/:id',\r\n        name: 'product-type-component-form-remove',\r\n        component: ProductTypeComponentForm\r\n    }, {\r\n        path: '/product/type-component/:id',\r\n        name: 'product-type-component-form',\r\n        component: ProductTypeComponentForm\r\n    }\r\n    , {path: '/product/type-component', name: 'product-type-component', component: ProductTypeComponent}\r\n\r\n    , {\r\n        path: '/product/compound/new',\r\n        name: 'product-compound-form-new',\r\n        component: ProductCompoundForm\r\n    }, {\r\n        path: '/product/compound/view/:id',\r\n        name: 'product-compound-form-view',\r\n        component: ProductCompoundForm\r\n    }, {\r\n        path: '/product/compound/remove/:id',\r\n        name: 'product-compound-form-remove',\r\n        component: ProductCompoundForm\r\n    }, {\r\n        path: '/product/compound/:id',\r\n        name: 'product-compound-form',\r\n        component: ProductCompoundForm\r\n    }\r\n    , {path: '/product/compound', name: 'product-compound', component: ProductCompound}\r\n\r\n    , {\r\n        path: '/product/type-compound/new',\r\n        name: 'product-type-compound-form-new',\r\n        component: ProductTypeCompoundForm\r\n    }, {\r\n        path: '/product/type-compound/view/:id',\r\n        name: 'product-type-compound-form-view',\r\n        component: ProductTypeCompoundForm\r\n    }, {\r\n        path: '/product/type-compound/remove/:id',\r\n        name: 'product-type-compound-form-remove',\r\n        component: ProductTypeCompoundForm\r\n    }, {\r\n        path: '/product/type-compound/:id',\r\n        name: 'product-type-compound-form',\r\n        component: ProductTypeCompoundForm\r\n    }\r\n    , {path: '/product/type-compound', name: 'product-type-compound', component: ProductTypeCompound}\r\n\r\n    , {\r\n        path: '/product/type-material/new',\r\n        name: 'product-type-material-form-new',\r\n        component: ProductTypeMaterialForm\r\n    }, {\r\n        path: '/product/type-material/view/:id',\r\n        name: 'product-type-material-form-view',\r\n        component: ProductTypeMaterialForm\r\n    }, {\r\n        path: '/product/type-material/remove/:id',\r\n        name: 'product-type-material-form-remove',\r\n        component: ProductTypeMaterialForm\r\n    }, {\r\n        path: '/product/type-material/:id',\r\n        name: 'product-type-material-form',\r\n        component: ProductTypeMaterialForm\r\n    }\r\n    , {path: '/product/type-material', name: 'product-type-material', component: ProductTypeMaterial}\r\n\r\n    , {\r\n        path: '/product/material/new',\r\n        name: 'product-material-form-new',\r\n        component: ProductMaterialForm\r\n    }, {\r\n        path: '/product/material/view/:id',\r\n        name: 'product-material-form-view',\r\n        component: ProductMaterialForm\r\n    }, {\r\n        path: '/product/material/remove/:id',\r\n        name: 'product-material-form-remove',\r\n        component: ProductMaterialForm\r\n    }, {\r\n        path: '/product/material/:id',\r\n        name: 'product-material-form',\r\n        component: ProductMaterialForm\r\n    }\r\n    , {path: '/product/material', name: 'product-material', component: ProductMaterial}\r\n\r\n\r\n    , {\r\n        path: '/product/tolerance/new',\r\n        name: 'product-tolerance-form-new',\r\n        component: ProductToleranceForm\r\n    }, {\r\n        path: '/product/tolerance/view/:id',\r\n        name: 'product-tolerance-form-view',\r\n        component: ProductToleranceForm\r\n    }, {\r\n        path: '/product/tolerance/remove/:id',\r\n        name: 'product-tolerance-form-remove',\r\n        component: ProductToleranceForm\r\n    }, {\r\n        path: '/product/tolerance/:id',\r\n        name: 'product-tolerance-form',\r\n        component: ProductToleranceForm\r\n    }\r\n    , {path: '/product/tolerance', name: 'product-tolerance', component: ProductTolerance}\r\n\r\n\r\n    , {\r\n        path: '/product/feature/new',\r\n        name: 'product-feature-form-new',\r\n        component: ProductFeatureForm\r\n    }, {\r\n        path: '/product/feature/view/:id',\r\n        name: 'product-feature-form-view',\r\n        component: ProductFeatureForm\r\n    }, {\r\n        path: '/product/feature/remove/:id',\r\n        name: 'product-feature-form-remove',\r\n        component: ProductFeatureForm\r\n    }, {\r\n        path: '/product/feature/:id',\r\n        name: 'product-feature-form',\r\n        component: ProductFeatureForm\r\n    }\r\n    , {path: '/product/feature', name: 'product-feature', component: ProductFeature}\r\n\r\n\r\n    , {\r\n        path: '/product/type-feature/new',\r\n        name: 'product-type-feature-form-new',\r\n        component: ProductTypeFeatureForm\r\n    }, {\r\n        path: '/product/type-feature/view/:id',\r\n        name: 'product-type-feature-form-view',\r\n        component: ProductTypeFeatureForm\r\n    }, {\r\n        path: '/product/type-feature/remove/:id',\r\n        name: 'product-type-feature-form-remove',\r\n        component: ProductTypeFeatureForm\r\n    }, {\r\n        path: '/product/type-feature/:id',\r\n        name: 'product-type-feature-form',\r\n        component: ProductTypeFeatureForm\r\n    }\r\n    , {path: '/product/type-feature', name: 'product-type-feature', component: ProductTypeFeature}\r\n\r\n    , {\r\n        path: '/product/complement/new',\r\n        name: 'product-complement-form-new',\r\n        component: ProductComplementForm\r\n    }, {\r\n        path: '/product/complement/view/:id',\r\n        name: 'product-complement-form-view',\r\n        component: ProductComplementForm\r\n    }, {\r\n        path: '/product/complement/remove/:id',\r\n        name: 'product-complement-form-remove',\r\n        component: ProductComplementForm\r\n    }, {\r\n        path: '/product/complement/:id',\r\n        name: 'product-complement-form',\r\n        component: ProductComplementForm\r\n    }\r\n    , {path: '/product/complement', name: 'product-complement', component: ProductComplement}\r\n\r\n    , {\r\n        path: '/product/type-building-material/new',\r\n        name: 'product-type-building-material-form-new',\r\n        component: ProductTypeBuildingMaterialForm\r\n    }, {\r\n        path: '/product/type-building-material/view/:id',\r\n        name: 'product-type-building-material-form-view',\r\n        component: ProductTypeBuildingMaterialForm\r\n    }, {\r\n        path: '/product/type-building-material/remove/:id',\r\n        name: 'product-type-building-material-form-remove',\r\n        component: ProductTypeBuildingMaterialForm\r\n    }, {\r\n        path: '/product/type-building-material/:id',\r\n        name: 'product-type-building-material-form',\r\n        component: ProductTypeBuildingMaterialForm\r\n    }\r\n    , {path: '/product/type-building-material', name: 'product-type-building-material', component: ProductTypeBuildingMaterial}\r\n\r\n    , {\r\n        path: '/product/type-equipment/new',\r\n        name: 'product-type-equipment-form-new',\r\n        component: ProductTypeEquipmentForm\r\n    }, {\r\n        path: '/product/type-equipment/view/:id',\r\n        name: 'product-type-equipment-form-view',\r\n        component: ProductTypeEquipmentForm\r\n    }, {\r\n        path: '/product/type-equipment/remove/:id',\r\n        name: 'product-type-equipment-form-remove',\r\n        component: ProductTypeEquipmentForm\r\n    }, {\r\n        path: '/product/type-equipment/:id',\r\n        name: 'product-type-equipment-form',\r\n        component: ProductTypeEquipmentForm\r\n    }\r\n    , {path: '/product/type-equipment', name: 'product-type-equipment', component: ProductTypeEquipment}\r\n\r\n    , {\r\n        path: '/product/setting/param/view/:id',\r\n        name: 'product-setting-param-form-view',\r\n        component: ProductSettingParamForm\r\n    },\r\n    {\r\n        path: '/product/setting/param/:id',\r\n        name: 'product-setting-param-form-',\r\n        component: ProductSettingParamForm\r\n    }\r\n\r\n    , {path: '/product/setting/param', name: 'product-setting-param', component: ProductSettingParam}\r\n\r\n    , {path: '/product/setting', name: 'product-setting', component: ProductSetting}\r\n\r\n    , {path: '/product/report', name: 'product-report', component: ProductReport}\r\n\r\n    , {\r\n        path: '/product/new',\r\n        name: 'product-item-form-new',\r\n        component: ProductProductForm\r\n    }, {\r\n        path: '/product/view/:id',\r\n        name: 'product-item-form-view',\r\n        component: ProductProductForm\r\n    }, {\r\n        path: '/product/remove/:id',\r\n        name: 'product-item-form-remove',\r\n        component: ProductProductForm\r\n    }, {\r\n        path: '/product/:id',\r\n        name: 'product-item-form',\r\n        component: ProductProductForm\r\n    }\r\n\r\n    /*PATH CURTO SEMPRE NO FINAL*/\r\n    , {path: '/product', name: 'product-item', component: ProductProduct}\r\n\r\n    , {\r\n        path: '/customer/group/new',\r\n        name: 'customer-group-form-new',\r\n        component: CustomerGroupCustomerForm\r\n    }, {\r\n        path: '/customer/group/view/:id',\r\n        name: 'customer-group-form-view',\r\n        component: CustomerGroupCustomerForm\r\n    }, {\r\n        path: '/customer/group/remove/:id',\r\n        name: 'customer-group-form-remove',\r\n        component: CustomerGroupCustomerForm\r\n    }, {\r\n        path: '/customer/group/:id',\r\n        name: 'customer-group-form',\r\n        component: CustomerGroupCustomerForm\r\n    }\r\n    , {path: '/customer/group', name: 'customer-group', component: CustomerGroupCustomer}\r\n\r\n    , {\r\n        path: '/customer/type-profile/new',\r\n        name: 'customer-type-profile-form-new',\r\n        component: CustomerTypeProfileForm\r\n    }, {\r\n        path: '/customer/type-profile/view/:id',\r\n        name: 'customer-type-profile-form-view',\r\n        component: CustomerTypeProfileForm\r\n    }, {\r\n        path: '/customer/type-profile/remove/:id',\r\n        name: 'customer-type-profile-form-remove',\r\n        component: CustomerTypeProfileForm\r\n    }, {\r\n        path: '/customer/type-profile/:id',\r\n        name: 'customer-type-profile-form',\r\n        component: CustomerTypeProfileForm\r\n    }\r\n    , {path: '/customer/type-profile', name: 'customer-type-profile', component: CustomerTypeProfile}\r\n\r\n\r\n    , {\r\n        path: '/customer/type-origin/new',\r\n        name: 'customer-type-origin-form-new',\r\n        component: CustomerTypeOriginForm\r\n    }, {\r\n        path: '/customer/type-origin/view/:id',\r\n        name: 'customer-type-origin-form-view',\r\n        component: CustomerTypeOriginForm\r\n    }, {\r\n        path: '/customer/type-origin/remove/:id',\r\n        name: 'customer-type-origin-form-remove',\r\n        component: CustomerTypeOriginForm\r\n    }, {\r\n        path: '/customer/type-origin/:id',\r\n        name: 'customer-type-origin-form',\r\n        component: CustomerTypeOriginForm\r\n    }\r\n    , {path: '/customer/type-origin', name: 'customer-type-origin', component: CustomerTypeOrigin}\r\n\r\n\r\n\r\n\r\n    , {\r\n        path: '/customer/setting/param/view/:id',\r\n        name: 'customer-setting-param-form-view',\r\n        component: CustomerSettingParamForm\r\n    },\r\n    {\r\n        path: '/customer/setting/param/:id',\r\n        name: 'customer-setting-param-form-',\r\n        component: CustomerSettingParamForm\r\n    }\r\n\r\n    , {path: '/customer/setting/param', name: 'customer-setting-param', component: CustomerSettingParam}\r\n\r\n    , {path: '/customer/setting', name: 'customer-setting', component: CustomerSetting}\r\n\r\n    , {path: '/customer/report', name: 'customer-report', component: CustomerReport}\r\n\r\n\r\n    , {\r\n        path: '/customer/new',\r\n        name: 'customer-item-form-new',\r\n        component: CustomerCustomerForm\r\n    }, {\r\n        path: '/customer/view/:id',\r\n        name: 'customer-item-form-view',\r\n        component: CustomerCustomerForm\r\n    }, {\r\n        path: '/customer/remove/:id',\r\n        name: 'customer-item-form-remove',\r\n        component: CustomerCustomerForm\r\n    }, {\r\n        path: '/customer/:id',\r\n        name: 'customer-item-form',\r\n        component: CustomerCustomerForm\r\n    }\r\n\r\n    /*PATH CURTO SEMPRE NO FINAL*/\r\n    , {path: '/customer', name: 'customer-item', component: CustomerCustomer}\r\n\r\n\r\n    , {\r\n        path: '/stock/place-product/new',\r\n        name: 'stock-place-product-form-new',\r\n        component: StockPlaceProductForm\r\n    }, {\r\n        path: '/stock/place-product/view/:id',\r\n        name: 'stock-place-product-form-view',\r\n        component: StockPlaceProductForm\r\n    }, {\r\n        path: '/stock/place-product/remove/:id',\r\n        name: 'stock-place-product-form-remove',\r\n        component: StockPlaceProductForm\r\n    }, {\r\n        path: '/stock/place-product/:id',\r\n        name: 'stock-place-product-form',\r\n        component: StockPlaceProductForm\r\n    }\r\n    , {path: '/stock/place-product', name: 'stock-place-product', component: StockPlaceProduct}\r\n\r\n    , {\r\n        path: '/stock/place-mold/new',\r\n        name: 'stock-place-mold-form-new',\r\n        component: StockPlaceMoldForm\r\n    }, {\r\n        path: '/stock/place-mold/view/:id',\r\n        name: 'stock-place-mold-form-view',\r\n        component: StockPlaceMoldForm\r\n    }, {\r\n        path: '/stock/place-mold/remove/:id',\r\n        name: 'stock-place-mold-form-remove',\r\n        component: StockPlaceMoldForm\r\n    }, {\r\n        path: '/stock/place-mold/:id',\r\n        name: 'stock-place-mold-form',\r\n        component: StockPlaceMoldForm\r\n    }\r\n    , {path: '/stock/place-mold', name: 'stock-place-mold', component: StockPlaceMold}\r\n\r\n    , {\r\n        path: '/stock/type-expedition-status/new',\r\n        name: 'stock-type-expedition-status-form-new',\r\n        component: StockTypeStatusExpeditionForm\r\n    }, {\r\n        path: '/stock/type-expedition-status/view/:id',\r\n        name: 'stock-type-expedition-status-form-view',\r\n        component: StockTypeStatusExpeditionForm\r\n    }, {\r\n        path: '/stock/type-expedition-status/remove/:id',\r\n        name: 'stock-type-expedition-status-form-remove',\r\n        component: StockTypeStatusExpeditionForm\r\n    }, {\r\n        path: '/stock/type-expedition-status/:id',\r\n        name: 'stock-type-expedition-status-form',\r\n        component: StockTypeStatusExpeditionForm\r\n    }\r\n    , {\r\n        path: '/stock/type-expedition-status',\r\n        name: 'stock-type-expedition-status',\r\n        component: StockTypeStatusExpedition\r\n    }, {\r\n        path: '/stock/expedition-order/new',\r\n        name: 'stock-expedition-order-form-new',\r\n        component: StockExpeditionOrderForm\r\n    }, {\r\n        path: '/stock/expedition-order/view/:id',\r\n        name: 'stock-expedition-order-form-view',\r\n        component: StockExpeditionOrderForm\r\n    }, {\r\n        path: '/stock/expedition-order/remove/:id',\r\n        name: 'stock-expedition-order-form-remove',\r\n        component: StockExpeditionOrderForm\r\n    }, {\r\n        path: '/stock/expedition-order/:id',\r\n        name: 'stock-expedition-order-form',\r\n        component: StockExpeditionOrderForm\r\n    }\r\n    , {path: '/stock/expedition-order', name: 'stock-expedition-order', component: StockExpeditionOrder}\r\n\r\n    , {\r\n        path: '/stock/type-manual/new',\r\n        name: 'stock-type-manual-form-new',\r\n        component: StockTypeStockManualForm\r\n    }, {\r\n        path: '/stock/type-manual/view/:id',\r\n        name: 'stock-type-manual-form-view',\r\n        component: StockTypeStockManualForm\r\n    }, {\r\n        path: '/stock/type-manual/remove/:id',\r\n        name: 'stock-type-manual-form-remove',\r\n        component: StockTypeStockManualForm\r\n    }, {\r\n        path: '/stock/type-manual/:id',\r\n        name: 'stock-type-manual-form',\r\n        component: StockTypeStockManualForm\r\n    }\r\n    , {path: '/stock/type-manual', name: 'stock-type-manual', component: StockTypeStockManual}\r\n\r\n    , {\r\n        path: '/stock/setting/param/view/:id',\r\n        name: 'stock-setting-param-form-view',\r\n        component: StockSettingParamForm\r\n    },\r\n    {\r\n        path: '/stock/setting/param/:id',\r\n        name: 'stock-setting-param-form-',\r\n        component: StockSettingParamForm\r\n    }\r\n\r\n    , {path: '/stock/setting/param', name: 'stock-setting-param', component: StockSettingParam}\r\n\r\n    , {path: '/stock/setting', name: 'stock-setting', component: StockSetting}\r\n\r\n    , {path: '/stock/report', name: 'stock-report', component: StockReport}\r\n\r\n\r\n    , {\r\n        path: '/stock/product/manual',\r\n        name: 'stock-product-form-new',\r\n        component: StockProductManualForm\r\n    }\r\n    /*PATH CURTO SEMPRE NO FINAL*/\r\n    , {path: '/stock/product-in-out', name: 'stock-product-in-out', component: StockProductInOut}\r\n    , {path: '/stock/product', name: 'stock-product', component: StockProduct}\r\n\r\n    , {\r\n        path: '/admin/company/new',\r\n        name: 'admin-company-form-new',\r\n        component: AdminCompanyForm\r\n    }, {\r\n        path: '/admin/company/view/:id',\r\n        name: 'admin-company-form-view',\r\n        component: AdminCompanyForm\r\n    }, {\r\n        path: '/admin/company/remove/:id',\r\n        name: 'admin-company-form-remove',\r\n        component: AdminCompanyForm\r\n    }, {\r\n        path: '/admin/company/:id',\r\n        name: 'admin-company-form',\r\n        component: AdminCompanyForm\r\n    }\r\n    , {path: '/admin/company', name: 'admin-company', component: AdminCompany}\r\n\r\n\r\n    , {\r\n        path: '/admin/user/new',\r\n        name: 'admin-user-form-new',\r\n        component: AdminUserForm\r\n    }, {\r\n        path: '/admin/user/view/:id',\r\n        name: 'admin-user-form-view',\r\n        component: AdminUserForm\r\n    }, {\r\n        path: '/admin/user/remove/:id',\r\n        name: 'admin-user-form-remove',\r\n        component: AdminUserForm\r\n    }, {\r\n        path: '/admin/user/:id',\r\n        name: 'admin-user-form',\r\n        component: AdminUserForm\r\n    }\r\n    , {path: '/admin/user', name: 'admin-user', component: AdminUser}\r\n\r\n    , {\r\n        path: '/admin/department/new',\r\n        name: 'admin-department-form-new',\r\n        component: AdminDepartmentForm\r\n    }, {\r\n        path: '/admin/department/view/:id',\r\n        name: 'admin-department-form-view',\r\n        component: AdminDepartmentForm\r\n    }, {\r\n        path: '/admin/department/remove/:id',\r\n        name: 'admin-department-form-remove',\r\n        component: AdminDepartmentForm\r\n    }, {\r\n        path: '/admin/department/:id',\r\n        name: 'admin-department-form',\r\n        component: AdminDepartmentForm\r\n    }\r\n    , {path: '/admin/department', name: 'admin-department', component: AdminDepartment}\r\n\r\n    , {\r\n        path: '/admin/group-user/new',\r\n        name: 'admin-group-user-form-new',\r\n        component: AdminGroupUserForm\r\n    }, {\r\n        path: '/admin/group-user/view/:id',\r\n        name: 'admin-group-user-form-view',\r\n        component: AdminGroupUserForm\r\n    }, {\r\n        path: '/admin/group-user/remove/:id',\r\n        name: 'admin-group-user-form-remove',\r\n        component: AdminGroupUserForm\r\n    }, {\r\n        path: '/admin/group-user/:id',\r\n        name: 'admin-group-user-form',\r\n        component: AdminGroupUserForm\r\n    }\r\n    , {path: '/admin/group-user', name: 'admin-group-user', component: AdminGroupUser}\r\n\r\n    , {\r\n        path: '/admin/profile/new',\r\n        name: 'admin-profile-form-new',\r\n        component: AdminProfileForm\r\n    }, {\r\n        path: '/admin/profile/view/:id',\r\n        name: 'admin-profile-form-view',\r\n        component: AdminProfileForm\r\n    }, {\r\n        path: '/admin/profile/remove/:id',\r\n        name: 'admin-profile-form-remove',\r\n        component: AdminProfileForm\r\n    }, {\r\n        path: '/admin/profile/:id',\r\n        name: 'admin-profile-form',\r\n        component: AdminProfileForm\r\n    }\r\n    , {path: '/admin/profile', name: 'admin-profile', component: AdminProfile}\r\n\r\n    , {\r\n        path: '/admin/printer/new',\r\n        name: 'admin-printer-form-new',\r\n        component: AdminPrinterForm\r\n    }, {\r\n        path: '/admin/printer/view/:id',\r\n        name: 'admin-printer-form-view',\r\n        component: AdminPrinterForm\r\n    }, {\r\n        path: '/admin/printer/remove/:id',\r\n        name: 'admin-printer-form-remove',\r\n        component: AdminPrinterForm\r\n    }, {\r\n        path: '/admin/printer/:id',\r\n        name: 'admin-printer-form',\r\n        component: AdminPrinterForm\r\n    }\r\n    , {path: '/admin/printer', name: 'admin-printer', component: AdminPrinter}\r\n\r\n    , {\r\n        path: '/admin/access-control/new',\r\n        name: 'admin-access-control-form-new',\r\n        component: AdminAccessControlForm\r\n    }, {\r\n        path: '/admin/access-control/view/:id',\r\n        name: 'admin-access-control-form-view',\r\n        component: AdminAccessControlForm\r\n    }, {\r\n        path: '/admin/access-control/remove/:id',\r\n        name: 'admin-access-control-form-remove',\r\n        component: AdminAccessControlForm\r\n    }, {\r\n        path: '/admin/access-control/:id',\r\n        name: 'admin-access-control-form',\r\n        component: AdminAccessControlForm\r\n    }\r\n    , {path: '/admin/access-control', name: 'admin-access-control', component: AdminAccessControl},\r\n\r\n    {\r\n        path: '/admin/setting/param/view/:id',\r\n        name: 'admin-setting-param-form-view',\r\n        component: AdminSettingParamForm\r\n    },\r\n    {\r\n        path: '/admin/setting/param/:id',\r\n        name: 'admin-setting-param-form-',\r\n        component: AdminSettingParamForm\r\n    }\r\n\r\n    , {path: '/admin/setting/param', name: 'admin-setting-param', component: AdminSettingParam}\r\n\r\n    , {path: '/admin/setting', name: 'admin-setting', component: AdminSetting}\r\n\r\n]","const PlaceTypeEnvironment = () => import('@/views/modules/place/TypeEnvironment')\r\nconst PlaceTypeEnvironmentForm = () => import('@/views/modules/place/TypeEnvironmentForm')\r\nconst PlaceEnterprise = () => import('@/views/modules/place/Enterprise')\r\nconst PlaceEnterpriseForm = () => import('@/views/modules/place/EnterpriseForm')\r\nconst PlaceWork = () => import('@/views/modules/place/Work')\r\nconst PlaceWorkForm = () => import('@/views/modules/place/WorkForm')\r\nconst PlaceEnvironment = () => import('@/views/modules/place/EnvironmentDESABILITADO')\r\nconst PlaceEnvironmentForm = () => import('@/views/modules/place/EnvironmentFormDESABILITADO')\r\nconst PlaceSpotDetail = () => import('@/views/modules/place/SpotDetail')\r\nconst PlaceSpotDetailForm = () => import('@/views/modules/place/SpotDetailForm')\r\nconst PlaceSpotSpecification = () => import('@/views/modules/place/SpotSpecification')\r\nconst PlaceSpotSpecificationForm = () => import('@/views/modules/place/SpotSpecificationForm')\r\nconst PlaceTypeEnterprise = () => import('@/views/modules/place/TypeEnterprise')\r\nconst PlaceTypeEnterpriseForm = () => import('@/views/modules/place/TypeEnterpriseForm')\r\nconst PlaceTypeSpotDetail = () => import('@/views/modules/place/TypeSpotDetail')\r\nconst PlaceTypeSpotDetailForm = () => import('@/views/modules/place/TypeSpotDetailForm')\r\nconst PlaceTypeSpotFolder = () => import('@/views/modules/place/TypeSpotFolder')\r\nconst PlaceTypeSpotFolderForm = () => import('@/views/modules/place/TypeSpotFolderForm')\r\nconst PlaceSettingParam = () => import('@/views/modules/place/Setting/SettingParam')\r\nconst PlaceSettingParamForm = () => import('@/views/modules/place/Setting/SettingParamForm')\r\nconst PlaceSetting = () => import('@/views/modules/place/Setting/Setting')\r\nconst PlaceReport = () => import('@/views/modules/place/Report/PlaceReport')\r\n\r\nconst ChecklistChecklist = () => import('@/views/modules/checklist/Checklist/Checklist')\r\nconst ChecklistChecklistForm = () => import('@/views/modules/checklist/Checklist/ChecklistForm')\r\nconst ChecklistSchedule = () => import('@/views/modules/checklist/Schedule')\r\nconst ChecklistScheduleForm = () => import('@/views/modules/checklist/ScheduleForm')\r\nconst ChecklistOccurrence = () => import('@/views/modules/checklist/Occurrence')\r\nconst ChecklistOccurrenceForm = () => import('@/views/modules/checklist/OccurrenceForm')\r\nconst ChecklistTypeChecklistModel = () => import('@/views/modules/checklist/TypeChecklistModel')\r\nconst ChecklistTypeChecklistModelForm = () => import('@/views/modules/checklist/TypeChecklistModelForm')\r\nconst ChecklistTypeChecklistItem = () => import('@/views/modules/checklist/TypeChecklistItem')\r\nconst ChecklistTypeChecklistItemForm = () => import('@/views/modules/checklist/TypeChecklistItemForm')\r\nconst ChecklistTypeOperationStatus = () => import('@/views/modules/checklist/TypeChecklistStatus')\r\nconst ChecklistTypeOperationStatusForm = () => import('@/views/modules/checklist/TypeChecklistStatusForm')\r\nconst ChecklistTypeOccurrenceStatus = () => import('@/views/modules/checklist/TypeOccurrenceStatus')\r\nconst ChecklistTypeOccurrenceStatusForm = () => import('@/views/modules/checklist/TypeOccurrenceStatusForm')\r\nconst ChecklistTypePathology = () => import('@/views/modules/checklist/TypePathology')\r\nconst ChecklistTypePathologyForm = () => import('@/views/modules/checklist/TypePathologyForm')\r\nconst ChecklistTypeCriticality = () => import('@/views/modules/checklist/TypeCriticality')\r\nconst ChecklistTypeCriticalityForm = () => import('@/views/modules/checklist/TypeCriticalityForm')\r\nconst ChecklistActivity1 = () => import('@/views/modules/checklist/ChecklistActivity/ChecklistActivity1')\r\nconst ChecklistActivity1Form = () => import('@/views/modules/checklist/ChecklistActivity/ChecklistActivity1Form')\r\nconst ChecklistActivity2 = () => import('@/views/modules/checklist/ChecklistActivity/ChecklistActivity2')\r\nconst ChecklistActivity2Form = () => import('@/views/modules/checklist/ChecklistActivity/ChecklistActivity2Form')\r\nconst ChecklistActivity3 = () => import('@/views/modules/checklist/ChecklistActivity/ChecklistActivity3')\r\nconst ChecklistActivity3Form = () => import('@/views/modules/checklist/ChecklistActivity/ChecklistActivity3Form')\r\nconst ChecklistActivity4 = () => import('@/views/modules/checklist/ChecklistActivity/ChecklistActivity4')\r\nconst ChecklistActivity4Form = () => import('@/views/modules/checklist/ChecklistActivity/ChecklistActivity4Form')\r\nconst ChecklistActivity5 = () => import('@/views/modules/checklist/ChecklistActivity/ChecklistActivity5')\r\nconst ChecklistActivity5Form = () => import('@/views/modules/checklist/ChecklistActivity/ChecklistActivity5Form')\r\nconst ChecklistTypeActivity = () => import('@/views/modules/checklist/TypeActivity')\r\nconst ChecklistTypeEvidenceService = () => import('@/views/modules/checklist/TypeEvidenceService')\r\nconst ChecklistTypeEvidenceServiceForm = () => import('@/views/modules/checklist/TypeEvidenceServiceForm')\r\nconst ChecklistTypeEvidenceCategory = () => import('@/views/modules/checklist/TypeEvidenceCategory')\r\nconst ChecklistTypeEvidenceCategoryForm = () => import('@/views/modules/checklist/TypeEvidenceCategoryForm')\r\nconst ChecklistTypeEvidenceStatus = () => import('@/views/modules/checklist/TypeEvidenceStatus')\r\nconst ChecklistTypeEvidenceStatusForm = () => import('@/views/modules/checklist/TypeEvidenceStatusForm')\r\nconst ChecklistTypeNotInspected = () => import('@/views/modules/checklist/TypeNotInspected')\r\nconst ChecklistTypeNotInspectedForm = () => import('@/views/modules/checklist/TypeNotInspectedForm')\r\nconst ChecklistSettingParam = () => import('@/views/modules/checklist/Setting/SettingParam')\r\nconst ChecklistSettingParamForm = () => import('@/views/modules/checklist/Setting/SettingParamForm')\r\nconst ChecklistTypeRegulation = () => import('@/views/modules/checklist/TypeRegulation')\r\nconst ChecklistTypeRegulationForm = () => import('@/views/modules/checklist/TypeRegulationForm')\r\nconst ChecklistTypeChecklistItemCategory = () => import('@/views/modules/checklist/TypeChecklistItemCategory')\r\nconst ChecklistTypeChecklistItemCategoryForm = () => import('@/views/modules/checklist/TypeChecklistItemCategoryForm')\r\nconst ChecklistRegulation = () => import('@/views/modules/checklist/Regulation')\r\nconst ChecklistRegulationForm = () => import('@/views/modules/checklist/RegulationForm')\r\nconst ChecklistSetting = () => import('@/views/modules/checklist/Setting/Setting')\r\nconst ChecklistReport = () => import('@/views/modules/checklist/Report/ChecklistReport')\r\n\r\nconst AgentSector = () => import('@/views/modules/agent/TypeSector')\r\nconst AgentSectorForm = () => import('@/views/modules/agent/TypeSectorForm')\r\nconst AgentExecutor = () => import('@/views/modules/agent/Executor')\r\nconst AgentExecutorForm = () => import('@/views/modules/agent/ExecutorForm')\r\nconst AgentInspector = () => import('@/views/modules/agent/Inspector')\r\nconst AgentInspectorForm = () => import('@/views/modules/agent/InspectorForm')\r\nconst AgentSettingParam = () => import('@/views/modules/agent/Setting/SettingParam')\r\nconst AgentSettingParamForm = () => import('@/views/modules/agent/Setting/SettingParamForm')\r\nconst AgentSetting = () => import('@/views/modules/agent/Setting/Setting')\r\n\r\nexport default [\r\n\r\n    {\r\n        path: '/checklist/type-model/new',\r\n        name: 'checklist-type-model-form-new',\r\n        component: ChecklistTypeChecklistModelForm\r\n    }, {\r\n        path: '/checklist/type-model/view/:id',\r\n        name: 'checklist-type-model-form-view',\r\n        component: ChecklistTypeChecklistModelForm\r\n    }, {\r\n        path: '/checklist/type-model/remove/:id',\r\n        name: 'checklist-type-model-form-remove',\r\n        component: ChecklistTypeChecklistModelForm\r\n    }, {\r\n        path: '/checklist/type-model/:id',\r\n        name: 'checklist-type-model-form',\r\n        component: ChecklistTypeChecklistModelForm\r\n    }, {path: '/checklist/type-model', name: 'checklist-type-model', component: ChecklistTypeChecklistModel}\r\n\r\n    , {\r\n        path: '/checklist/type-operation-status/new',\r\n        name: 'checklist-type-operation-status-form-new',\r\n        component: ChecklistTypeOperationStatusForm\r\n    }, {\r\n        path: '/checklist/type-operation-status/view/:id',\r\n        name: 'checklist-type-operation-status-view',\r\n        component: ChecklistTypeOperationStatusForm\r\n    }, {\r\n        path: '/checklist/type-operation-status/remove/:id',\r\n        name: 'checklist-type-operation-status-remove',\r\n        component: ChecklistTypeOperationStatusForm\r\n    }, {\r\n        path: '/checklist/type-operation-status/:id',\r\n        name: 'checklist-type-operation-status-form',\r\n        component: ChecklistTypeOperationStatusForm\r\n    }\r\n    , {\r\n        path: '/checklist/type-operation-status',\r\n        name: 'checklist-type-operation-status',\r\n        component: ChecklistTypeOperationStatus\r\n    }\r\n    , {\r\n        path: '/checklist/type-occurrence-status/new',\r\n        name: 'checklist-type-occurrence-status-form-new',\r\n        component: ChecklistTypeOccurrenceStatusForm\r\n    }, {\r\n        path: '/checklist/type-occurrence-status/view/:id',\r\n        name: 'checklist-type-occurrence-status-form-view',\r\n        component: ChecklistTypeOccurrenceStatusForm\r\n    }, {\r\n        path: '/checklist/type-occurrence-status/remove/:id',\r\n        name: 'checklist-type-occurrence-status-form-remove',\r\n        component: ChecklistTypeOccurrenceStatusForm\r\n    }, {\r\n        path: '/checklist/type-occurrence-status/:id',\r\n        name: 'checklist-type-occurrence-status-form',\r\n        component: ChecklistTypeOccurrenceStatusForm\r\n    }\r\n    , {\r\n        path: '/checklist/type-occurrence-status',\r\n        name: 'checklist-type-occurrence-status',\r\n        component: ChecklistTypeOccurrenceStatus\r\n    }, {\r\n        path: '/checklist/schedule/new',\r\n        name: 'checklist-schedule-form-new',\r\n        component: ChecklistScheduleForm\r\n    }, {\r\n        path: '/checklist/schedule/view/:id',\r\n        name: 'checklist-schedule-form-view',\r\n        component: ChecklistScheduleForm\r\n    }, {\r\n        path: '/checklist/schedule/remove/:id',\r\n        name: 'checklist-schedule-form-remove',\r\n        component: ChecklistScheduleForm\r\n    }, {\r\n        path: '/checklist/schedule/:id',\r\n        name: 'checklist-schedule-form',\r\n        component: ChecklistScheduleForm\r\n    }\r\n    , {path: '/checklist/schedule', name: 'checklist-schedule', component: ChecklistSchedule},\r\n\r\n    {\r\n        path: '/checklist/occurrence/new',\r\n        name: 'checklist-occurrence-form-new',\r\n        component: ChecklistOccurrenceForm\r\n    }, {\r\n        path: '/checklist/occurrence/view/:id',\r\n        name: 'checklist-occurrence-form-view',\r\n        component: ChecklistOccurrenceForm\r\n    }, {\r\n        path: '/checklist/occurrence/remove/:id',\r\n        name: 'checklist-occurrence-form-remove',\r\n        component: ChecklistOccurrenceForm\r\n    }, {\r\n        path: '/checklist/occurrence/:id',\r\n        name: 'checklist-occurrence-form',\r\n        component: ChecklistOccurrenceForm\r\n    }\r\n    , {path: '/checklist/occurrence', name: 'checklist-occurrence', component: ChecklistOccurrence},\r\n\r\n    {\r\n        path: '/place/type-environment/new',\r\n        name: 'place-type-environment-form-new',\r\n        component: PlaceTypeEnvironmentForm\r\n    }, {\r\n        path: '/place/type-environment/view/:id',\r\n        name: 'place-type-environment-form-view',\r\n        component: PlaceTypeEnvironmentForm\r\n    }, {\r\n        path: '/place/type-environment/remove/:id',\r\n        name: 'place-type-environment-form-remove',\r\n        component: PlaceTypeEnvironmentForm\r\n    }, {\r\n        path: '/place/type-environment/:id',\r\n        name: 'place-type-environment-form',\r\n        component: PlaceTypeEnvironmentForm\r\n    }\r\n    , {path: '/place/type-environment', name: 'place-type-environment', component: PlaceTypeEnvironment}\r\n\r\n\r\n    , {\r\n        path: '/checklist/type-item/new',\r\n        name: 'checklist-type-item-form-new',\r\n        component: ChecklistTypeChecklistItemForm\r\n    }, {\r\n        path: '/checklist/type-item/view/:id',\r\n        name: 'checklist-type-item-form-view',\r\n        component: ChecklistTypeChecklistItemForm\r\n    }, {\r\n        path: '/checklist/type-item/remove/:id',\r\n        name: 'checklist-type-item-form-remove',\r\n        component: ChecklistTypeChecklistItemForm\r\n    }, {\r\n        path: '/checklist/type-item/:id',\r\n        name: 'checklist-type-item-form',\r\n        component: ChecklistTypeChecklistItemForm\r\n    }\r\n    , {path: '/checklist/type-item', name: 'checklist-type-item', component: ChecklistTypeChecklistItem}\r\n\r\n    , {\r\n        path: '/checklist/type-item-category/new',\r\n        name: 'checklist-type-item-category-form-new',\r\n        component: ChecklistTypeChecklistItemCategoryForm\r\n    }, {\r\n        path: '/checklist/type-item-category/view/:id',\r\n        name: 'checklist-type-item-category-form-view',\r\n        component: ChecklistTypeChecklistItemCategoryForm\r\n    }, {\r\n        path: '/checklist/type-item-category/remove/:id',\r\n        name: 'checklist-type-item-category-form-remove',\r\n        component: ChecklistTypeChecklistItemCategoryForm\r\n    }, {\r\n        path: '/checklist/type-item-category/:id',\r\n        name: 'checklist-type-item-category-form',\r\n        component: ChecklistTypeChecklistItemCategoryForm\r\n    }\r\n    , {path: '/checklist/type-item-category', name: 'checklist-type-item-category', component: ChecklistTypeChecklistItemCategory}\r\n\r\n    , {\r\n        path: '/checklist/type-regulation/new',\r\n        name: 'checklist-type-regulation-form-new',\r\n        component: ChecklistTypeRegulationForm\r\n    }, {\r\n        path: '/checklist/type-regulation/view/:id',\r\n        name: 'checklist-type-regulation-form-view',\r\n        component: ChecklistTypeRegulationForm\r\n    }, {\r\n        path: '/checklist/type-regulation/remove/:id',\r\n        name: 'checklist-type-regulation-form-remove',\r\n        component: ChecklistTypeRegulationForm\r\n    }, {\r\n        path: '/checklist/type-regulation/:id',\r\n        name: 'checklist-type-regulation-form',\r\n        component: ChecklistTypeRegulationForm\r\n    }\r\n    , {path: '/checklist/type-regulation', name: 'checklist-type-regulation', component: ChecklistTypeRegulation}\r\n\r\n    , {\r\n        path: '/checklist/regulation/new',\r\n        name: 'checklist-regulation-form-new',\r\n        component: ChecklistRegulationForm\r\n    }, {\r\n        path: '/checklist/regulation/view/:id',\r\n        name: 'checklist-regulation-form-view',\r\n        component: ChecklistRegulationForm\r\n    }, {\r\n        path: '/checklist/regulation/remove/:id',\r\n        name: 'checklist-regulation-form-remove',\r\n        component: ChecklistRegulationForm\r\n    }, {\r\n        path: '/checklist/regulation/:id',\r\n        name: 'checklist-regulation-form',\r\n        component: ChecklistRegulationForm\r\n    }\r\n    , {path: '/checklist/regulation', name: 'checklist-regulation', component: ChecklistRegulation}\r\n\r\n    , {\r\n        path: '/checklist/type-pathology/new',\r\n        name: 'checklist-type-pathology-form-new',\r\n        component: ChecklistTypePathologyForm\r\n    }, {\r\n        path: '/checklist/type-pathology/view/:id',\r\n        name: 'checklist-type-pathology-form-view',\r\n        component: ChecklistTypePathologyForm\r\n    }, {\r\n        path: '/checklist/type-pathology/remove/:id',\r\n        name: 'checklist-type-pathology-form-remove',\r\n        component: ChecklistTypePathologyForm\r\n    }, {\r\n        path: '/checklist/type-pathology/:id',\r\n        name: 'checklist-type-pathology-form',\r\n        component: ChecklistTypePathologyForm\r\n    }\r\n    , {path: '/checklist/type-pathology', name: 'checklist-type-pathology', component: ChecklistTypePathology}\r\n\r\n\r\n    , {\r\n        path: '/checklist/type-criticality/new',\r\n        name: 'checklist-type-criticality-form-new',\r\n        component: ChecklistTypeCriticalityForm\r\n    }, {\r\n        path: '/checklist/type-criticality/view/:id',\r\n        name: 'checklist-type-criticality-form-view',\r\n        component: ChecklistTypeCriticalityForm\r\n    }, {\r\n        path: '/checklist/type-criticality/remove/:id',\r\n        name: 'checklist-type-criticality-form-remove',\r\n        component: ChecklistTypeCriticalityForm\r\n    }, {\r\n        path: '/checklist/type-criticality/:id',\r\n        name: 'checklist-type-criticality-form',\r\n        component: ChecklistTypeCriticalityForm\r\n    }\r\n    , {path: '/checklist/type-criticality', name: 'checklist-type-criticality', component: ChecklistTypeCriticality}\r\n\r\n    , {\r\n        path: '/checklist/activity1/new',\r\n        name: 'checklist-executed-activity1-form-new',\r\n        component: ChecklistActivity1Form\r\n    }, {\r\n        path: '/checklist/activity1/view/:id',\r\n        name: 'checklist-executed-activity1-form-view',\r\n        component: ChecklistActivity1Form\r\n    }, {\r\n        path: '/checklist/activity1/remove/:id',\r\n        name: 'checklist-executed-activity1-form-remove',\r\n        component: ChecklistActivity1Form\r\n    }, {\r\n        path: '/checklist/activity1/:id',\r\n        name: 'checklist-executed-activity1-form',\r\n        component: ChecklistActivity1Form\r\n    }\r\n    , {path: '/checklist/activity1', name: 'checklist-executed-activity1', component: ChecklistActivity1}\r\n\r\n    , {\r\n        path: '/checklist/activity2/new',\r\n        name: 'checklist-executed-activity2-form-new',\r\n        component: ChecklistActivity2Form\r\n    }, {\r\n        path: '/checklist/activity2/view/:id',\r\n        name: 'checklist-executed-activity2-form-view',\r\n        component: ChecklistActivity2Form\r\n    }, {\r\n        path: '/checklist/activity2/remove/:id',\r\n        name: 'checklist-executed-activity2-form-remove',\r\n        component: ChecklistActivity2Form\r\n    }, {\r\n        path: '/checklist/activity2/:id',\r\n        name: 'checklist-executed-activity2-form',\r\n        component: ChecklistActivity2Form\r\n    }\r\n    , {path: '/checklist/activity2', name: 'checklist-executed-activity2', component: ChecklistActivity2}\r\n\r\n    , {\r\n        path: '/checklist/activity3/new',\r\n        name: 'checklist-executed-activity3-form-new',\r\n        component: ChecklistActivity3Form\r\n    }, {\r\n        path: '/checklist/activity3/view/:id',\r\n        name: 'checklist-executed-activity3-form-view',\r\n        component: ChecklistActivity3Form\r\n    }, {\r\n        path: '/checklist/activity3/remove/:id',\r\n        name: 'checklist-executed-activity3-form-remove',\r\n        component: ChecklistActivity3Form\r\n    }, {\r\n        path: '/checklist/activity3/:id',\r\n        name: 'checklist-executed-activity3-form',\r\n        component: ChecklistActivity3Form\r\n    }\r\n    , {path: '/checklist/activity3', name: 'checklist-executed-activity3', component: ChecklistActivity3}\r\n\r\n    , {\r\n        path: '/checklist/activity4/new',\r\n        name: 'checklist-executed-activity4-form-new',\r\n        component: ChecklistActivity4Form\r\n    }, {\r\n        path: '/checklist/activity4/view/:id',\r\n        name: 'checklist-executed-activity4-form-view',\r\n        component: ChecklistActivity4Form\r\n    }, {\r\n        path: '/checklist/activity4/remove/:id',\r\n        name: 'checklist-executed-activity4-form-remove',\r\n        component: ChecklistActivity4Form\r\n    }, {\r\n        path: '/checklist/activity4/:id',\r\n        name: 'checklist-executed-activity4-form',\r\n        component: ChecklistActivity4Form\r\n    }\r\n    , {path: '/checklist/activity4', name: 'checklist-executed-activity4', component: ChecklistActivity4}\r\n\r\n\r\n    , {\r\n        path: '/checklist/activity5/new',\r\n        name: 'checklist-executed-activity5-form-new',\r\n        component: ChecklistActivity5Form\r\n    }, {\r\n        path: '/checklist/activity5/view/:id',\r\n        name: 'checklist-executed-activity5-form-view',\r\n        component: ChecklistActivity5Form\r\n    }, {\r\n        path: '/checklist/activity5/remove/:id',\r\n        name: 'checklist-executed-activity5-form-remove',\r\n        component: ChecklistActivity5Form\r\n    }, {\r\n        path: '/checklist/activity5/:id',\r\n        name: 'checklist-executed-activity5-form',\r\n        component: ChecklistActivity5Form\r\n    }\r\n    , {path: '/checklist/activity5', name: 'checklist-executed-activity5', component: ChecklistActivity5}\r\n\r\n    , {path: '/checklist/type-activity', name: 'checklist-type-activity', component: ChecklistTypeActivity}\r\n\r\n    , {\r\n        path: '/checklist/type-evidence-status/new',\r\n        name: 'checklist-type-evidence-status-form-new',\r\n        component: ChecklistTypeEvidenceStatusForm\r\n    }, {\r\n        path: '/checklist/type-evidence-status/view/:id',\r\n        name: 'checklist-type-evidence-status-form-view',\r\n        component: ChecklistTypeEvidenceStatusForm\r\n    }, {\r\n        path: '/checklist/type-evidence-status/remove/:id',\r\n        name: 'checklist-type-evidence-status-form-remove',\r\n        component: ChecklistTypeEvidenceStatusForm\r\n    }, {\r\n        path: '/checklist/type-evidence-status/:id',\r\n        name: 'checklist-type-evidence-status-form',\r\n        component: ChecklistTypeEvidenceStatusForm\r\n    }\r\n    , {\r\n        path: '/checklist/type-evidence-status',\r\n        name: 'checklist-type-evidence-status',\r\n        component: ChecklistTypeEvidenceStatus\r\n    }\r\n\r\n    , {\r\n        path: '/checklist/type-not-inspected/new',\r\n        name: 'checklist-type-not-inspected-form-new',\r\n        component: ChecklistTypeNotInspectedForm\r\n    }, {\r\n        path: '/checklist/type-not-inspected/view/:id',\r\n        name: 'checklist-type-not-inspected-form-view',\r\n        component: ChecklistTypeNotInspectedForm\r\n    }, {\r\n        path: '/checklist/type-not-inspected/remove/:id',\r\n        name: 'checklist-type-not-inspected-form-remove',\r\n        component: ChecklistTypeNotInspectedForm\r\n    }, {\r\n        path: '/checklist/type-not-inspected/:id',\r\n        name: 'checklist-type-not-inspected-form',\r\n        component: ChecklistTypeNotInspectedForm\r\n    }\r\n    , {\r\n        path: '/checklist/type-not-inspected',\r\n        name: 'checklist-type-not-inspected',\r\n        component: ChecklistTypeNotInspected\r\n    }\r\n\r\n    , {\r\n        path: '/checklist/type-evidence-service/new',\r\n        name: 'checklist-type-evidence-service-form-new',\r\n        component: ChecklistTypeEvidenceServiceForm\r\n    }, {\r\n        path: '/checklist/type-evidence-service/view/:id',\r\n        name: 'checklist-type-evidence-service-form-view',\r\n        component: ChecklistTypeEvidenceServiceForm\r\n    }, {\r\n        path: '/checklist/type-evidence-service/remove/:id',\r\n        name: 'checklist-type-evidence-service-form-remove',\r\n        component: ChecklistTypeEvidenceServiceForm\r\n    }, {\r\n        path: '/checklist/type-evidence-service/:id',\r\n        name: 'checklist-type-evidence-service-form',\r\n        component: ChecklistTypeEvidenceServiceForm\r\n    }\r\n    , {\r\n        path: '/checklist/type-evidence-service',\r\n        name: 'checklist-type-evidence-service',\r\n        component: ChecklistTypeEvidenceService\r\n    }\r\n\r\n    , {\r\n        path: '/checklist/type-evidence-category/new',\r\n        name: 'checklist-type-evidence-category-form-new',\r\n        component: ChecklistTypeEvidenceCategoryForm\r\n    }, {\r\n        path: '/checklist/type-evidence-category/view/:id',\r\n        name: 'checklist-type-evidence-category-form-view',\r\n        component: ChecklistTypeEvidenceCategoryForm\r\n    }, {\r\n        path: '/checklist/type-evidence-category/remove/:id',\r\n        name: 'checklist-type-evidence-category-form-remove',\r\n        component: ChecklistTypeEvidenceCategoryForm\r\n    }, {\r\n        path: '/checklist/type-evidence-category/:id',\r\n        name: 'checklist-type-evidence-category-form',\r\n        component: ChecklistTypeEvidenceCategoryForm\r\n    }\r\n    , {\r\n        path: '/checklist/type-evidence-category',\r\n        name: 'checklist-type-evidence-category',\r\n        component: ChecklistTypeEvidenceCategory\r\n    }\r\n\r\n\r\n    , {\r\n        path: '/checklist/setting/param/view/:id',\r\n        name: 'checklist-setting-param-form-view',\r\n        component: ChecklistSettingParamForm\r\n    }, {\r\n        path: '/checklist/setting/param/:id',\r\n        name: 'checklist-setting-param-form-',\r\n        component: ChecklistSettingParamForm\r\n    }\r\n\r\n    , {path: '/checklist/setting/param', name: 'checklist-setting-param', component: ChecklistSettingParam}\r\n\r\n    , {path: '/checklist/setting', name: 'checklist-setting', component: ChecklistSetting}\r\n\r\n    , {path: '/checklist/report', name: 'checklist-report', component: ChecklistReport}\r\n\r\n\r\n    /*ÚLTIMO DEVIDO PATH CURTO*/\r\n    , {\r\n        path: '/checklist/view/:id',\r\n        name: 'checklist-executed-form-view',\r\n        component: ChecklistChecklistForm\r\n    }, {\r\n        path: '/checklist/remove/:id',\r\n        name: 'checklist-executed-form-remove',\r\n        component: ChecklistChecklistForm\r\n    }, {\r\n        path: '/checklist/:id',\r\n        name: 'checklist-executed-form',\r\n        component: ChecklistChecklistForm\r\n    }\r\n    , {path: '/checklist', name: 'checklist-executed', component: ChecklistChecklist}\r\n\r\n    /*---------------------------------------------------------*/\r\n\r\n\r\n    , {\r\n        path: '/agent/type-sector/new',\r\n        name: 'agent-type-sector-form-new',\r\n        component: AgentSectorForm\r\n    }, {\r\n        path: '/agent/type-sector/view/:id',\r\n        name: 'agent-type-sector-form-view',\r\n        component: AgentSectorForm\r\n    }, {\r\n        path: '/agent/type-sector/remove/:id',\r\n        name: 'agent-type-sector-form-remove',\r\n        component: AgentSectorForm\r\n    }, {\r\n        path: '/agent/type-sector/:id',\r\n        name: 'agent-type-sector-form',\r\n        component: AgentSectorForm\r\n    }\r\n    , {path: '/agent/type-sector', name: 'agent-type-sector', component: AgentSector}\r\n\r\n\r\n    , {\r\n        path: '/agent/executor/new',\r\n        name: 'agent-executor-form-new',\r\n        component: AgentExecutorForm\r\n    }, {\r\n        path: '/agent/executor/view/:id',\r\n        name: 'agent-executor-form-view',\r\n        component: AgentExecutorForm\r\n    }, {\r\n        path: '/agent/executor/remove/:id',\r\n        name: 'agent-executor-form-remove',\r\n        component: AgentExecutorForm\r\n    }, {\r\n        path: '/agent/executor/:id',\r\n        name: 'agent-executor-form',\r\n        component: AgentExecutorForm\r\n    }\r\n    , {path: '/agent/executor', name: 'agent-executor', component: AgentExecutor}\r\n\r\n\r\n    , {\r\n        path: '/agent/inspector/new',\r\n        name: 'agent-inspector-form-new',\r\n        component: AgentInspectorForm\r\n    }, {\r\n        path: '/agent/inspector/view/:id',\r\n        name: 'agent-inspector-form-view',\r\n        component: AgentInspectorForm\r\n    }, {\r\n        path: '/agent/inspector/remove/:id',\r\n        name: 'agent-inspector-form-remove',\r\n        component: AgentInspectorForm\r\n    }, {\r\n        path: '/agent/inspector/:id',\r\n        name: 'agent-inspector-form',\r\n        component: AgentInspectorForm\r\n    }\r\n    , {path: '/agent/inspector', name: 'agent-inspector', component: AgentInspector}\r\n\r\n    , {\r\n        path: '/agent/setting/param/view/:id',\r\n        name: 'agent-setting-param-form-view',\r\n        component: AgentSettingParamForm\r\n    }, {\r\n        path: '/agent/setting/param/:id', name: 'agent-setting-param-form-', component: AgentSettingParamForm\r\n    }\r\n\r\n    , {path: '/agent/setting/param', name: 'agent-setting-param', component: AgentSettingParam}\r\n\r\n\r\n    , {path: '/agent/setting', name: 'agent-setting', component: AgentSetting}\r\n\r\n\r\n    , {\r\n        path: '/place/enterprise/new',\r\n        name: 'place-enterprise-form-new',\r\n        component: PlaceEnterpriseForm\r\n    }, {\r\n        path: '/place/enterprise/view/:id',\r\n        name: 'place-enterprise-form-view',\r\n        component: PlaceEnterpriseForm\r\n    }, {\r\n        path: '/place/enterprise/remove/:id',\r\n        name: 'place-enterprise-form-remove',\r\n        component: PlaceEnterpriseForm\r\n    }, {\r\n        path: '/place/enterprise/:id',\r\n        name: 'place-enterprise-form',\r\n        component: PlaceEnterpriseForm\r\n    }\r\n    , {path: '/place/enterprise', name: 'place-enterprise', component: PlaceEnterprise}\r\n\r\n    , {\r\n        path: '/place/work/new',\r\n        name: 'place-work-form-new',\r\n        component: PlaceWorkForm\r\n    }, {\r\n        path: '/place/work/view/:id',\r\n        name: 'place-work-form-view',\r\n        component: PlaceWorkForm\r\n    }, {\r\n        path: '/place/work/remove/:id',\r\n        name: 'place-work-form-remove',\r\n        component: PlaceWorkForm\r\n    }, {\r\n        path: '/place/work/:id',\r\n        name: 'place-work-form',\r\n        component: PlaceWorkForm\r\n    }\r\n    , {path: '/place/work', name: 'place-work', component: PlaceWork}\r\n\r\n\r\n    , {path: '/place/report', name: 'place-report', component: PlaceReport}\r\n\r\n    , {\r\n        path: '/place/environment/new',\r\n        name: 'place-environment-form-new',\r\n        component: PlaceEnvironmentForm\r\n    }, {\r\n        path: '/place/environment/view/:id',\r\n        name: 'place-environment-form-view',\r\n        component: PlaceEnvironmentForm\r\n    }, {\r\n        path: '/place/environment/remove/:id',\r\n        name: 'place-environment-form-remove',\r\n        component: PlaceEnvironmentForm\r\n    }, {\r\n        path: '/place/environment/:id',\r\n        name: 'place-environment-form',\r\n        component: PlaceEnvironmentForm\r\n    }\r\n    , {path: '/place/environment', name: 'place-environment', component: PlaceEnvironment}\r\n\r\n\r\n    , {\r\n        path: '/place/spot-detail/new',\r\n        name: 'place-spot-detail-form-new',\r\n        component: PlaceSpotDetailForm\r\n    }, {\r\n        path: '/place/spot-detail/view/:id',\r\n        name: 'place-spot-detail-form-view',\r\n        component: PlaceSpotDetailForm\r\n    }, {\r\n        path: '/place/spot-detail/remove/:id',\r\n        name: 'place-spot-detail-form-remove',\r\n        component: PlaceSpotDetailForm\r\n    }, {\r\n        path: '/place/spot-detail/:id',\r\n        name: 'place-spot-detail-form',\r\n        component: PlaceSpotDetailForm\r\n    }\r\n    , {path: '/place/spot-detail', name: 'place-spot-detail', component: PlaceSpotDetail}\r\n\r\n\r\n    , {\r\n        path: '/place/spot-specification/new',\r\n        name: 'place-spot-specification-form-new',\r\n        component: PlaceSpotSpecificationForm\r\n    }, {\r\n        path: '/place/spot-specification/view/:id',\r\n        name: 'place-spot-specification-form-view',\r\n        component: PlaceSpotSpecificationForm\r\n    }, {\r\n        path: '/place/spot-specification/remove/:id',\r\n        name: 'place-spot-specification-form-remove',\r\n        component: PlaceSpotSpecificationForm\r\n    }, {\r\n        path: '/place/spot-specification/:id',\r\n        name: 'place-spot-specification-form',\r\n        component: PlaceSpotSpecificationForm\r\n    }\r\n    , {path: '/place/spot-specification', name: 'place-spot-specification', component: PlaceSpotSpecification}\r\n\r\n\r\n    , {\r\n        path: '/place/type-enterprise/new',\r\n        name: 'place-type-enterprise-form-new',\r\n        component: PlaceTypeEnterpriseForm\r\n    }, {\r\n        path: '/place/type-enterprise/view/:id',\r\n        name: 'place-type-enterprise-form-view',\r\n        component: PlaceTypeEnterpriseForm\r\n    }, {\r\n        path: '/place/type-enterprise/remove/:id',\r\n        name: 'place-type-enterprise-form-remove',\r\n        component: PlaceTypeEnterpriseForm\r\n    }, {\r\n        path: '/place/type-enterprise/:id',\r\n        name: 'place-type-enterprise-form',\r\n        component: PlaceTypeEnterpriseForm\r\n    }\r\n    , {path: '/place/type-enterprise', name: 'place-type-enterprise', component: PlaceTypeEnterprise}\r\n\r\n\r\n    , {\r\n        path: '/place/type-spot-detail/new',\r\n        name: 'place-type-spot-detail-form-new',\r\n        component: PlaceTypeSpotDetailForm\r\n    }, {\r\n        path: '/place/type-spot-detail/view/:id',\r\n        name: 'place-type-spot-detail-form-view',\r\n        component: PlaceTypeSpotDetailForm\r\n    }, {\r\n        path: '/place/type-spot-detail/remove/:id',\r\n        name: 'place-type-spot-detail-form-remove',\r\n        component: PlaceTypeSpotDetailForm\r\n    }, {\r\n        path: '/place/type-spot-detail/:id',\r\n        name: 'place-type-spot-detail-form',\r\n        component: PlaceTypeSpotDetailForm\r\n    }\r\n    , {path: '/place/type-spot-detail', name: 'place-type-spot-detail', component: PlaceTypeSpotDetail},\r\n\r\n    {\r\n        path: '/place/type-spot-folder/new',\r\n        name: 'place-type-spot-folder-form-new',\r\n        component: PlaceTypeSpotFolderForm\r\n    }, {\r\n        path: '/place/type-spot-folder/view/:id',\r\n        name: 'place-type-spot-folder-form-view',\r\n        component: PlaceTypeSpotFolderForm\r\n    }, {\r\n        path: '/place/type-spot-folder/remove/:id',\r\n        name: 'place-type-spot-folder-form-remove',\r\n        component: PlaceTypeSpotFolderForm\r\n    }, {\r\n        path: '/place/type-spot-folder/:id',\r\n        name: 'place-type-spot-folder-form',\r\n        component: PlaceTypeSpotFolderForm\r\n    }\r\n    , {path: '/place/type-spot-folder', name: 'place-type-spot-folder', component: PlaceTypeSpotFolder},\r\n\r\n    {\r\n        path: '/place/setting/param/view/:id',\r\n        name: 'place-setting-param-form-view',\r\n        component: PlaceSettingParamForm\r\n    }, {\r\n        path: '/place/setting/param/:id', name: 'place-setting-param-form-', component: PlaceSettingParamForm\r\n    }\r\n\r\n    , {path: '/place/setting/param', name: 'place-setting-param', component: PlaceSettingParam}\r\n\r\n\r\n    , {path: '/place/setting', name: 'place-setting', component: PlaceSetting}\r\n\r\n]","const ProductionProductionOrder = () => import('@/views/modules/production/ProductionOrder/ProductionOrder')\r\nconst ProductionProductionOrderInsert = () => import('@/views/modules/production/ProductionOrder/ProductionOrderInsert')\r\nconst ProductionProductionOrderStep = () => import('@/views/modules/production/ProductionOrder/ProductionOrderStep')\r\nconst ProductionProductionOrderStepForm = () => import('@/views/modules/production/ProductionOrder/ProductionOrderStepForm')\r\nconst ProductionProductionOrderBulkAction = () => import('@/views/modules/production/ProductionOrder/ProductionOrderBulkAction')\r\nconst ProductionProductionOrderBulkActionForm = () => import('@/views/modules/production/ProductionOrder/ProductionOrderBulkActionForm')\r\nconst ProductionProcessFlow = () => import('@/views/modules/production/ProcessFlow/ProcessFlow')\r\nconst ProductionProcessFlowForm = () => import('@/views/modules/production/ProcessFlow/ProcessFlowForm')\r\nconst ProductionTypeMold = () => import('@/views/modules/production/Type/TypeMold')\r\nconst ProductionTypeMoldForm = () => import('@/views/modules/production/Type/TypeMoldForm')\r\nconst ProductionTypeMaintenance = () => import('@/views/modules/production/Type/TypeMaintenance')\r\nconst ProductionTypeMaintenanceForm = () => import('@/views/modules/production/Type/TypeMaintenanceForm')\r\nconst ProductionTypeStop = () => import('@/views/modules/production/Type/TypeProductionStop')\r\nconst ProductionTypeStopForm = () => import('@/views/modules/production/Type/TypeProductionStopForm')\r\nconst ProductionTypeMachine = () => import('@/views/modules/production/Type/TypeMachine')\r\nconst ProductionTypeMachineForm = () => import('@/views/modules/production/Type/TypeMachineForm')\r\nconst ProductionMold = () => import('@/views/modules/production/Mold/Mold')\r\nconst ProductionMoldForm = () => import('@/views/modules/production/Mold/MoldForm')\r\nconst ProductionOperator = () => import('@/views/modules/production/Operator/Operator')\r\nconst ProductionOperatorForm = () => import('@/views/modules/production/Operator/OperatorForm')\r\nconst ProductionMachine = () => import('@/views/modules/production/Machine/Machine')\r\nconst ProductionMachineForm = () => import('@/views/modules/production/Machine/MachineForm')\r\nconst ProductionTypeStatusProduction = () => import('@/views/modules/production/Type/TypeStatusProduction')\r\nconst ProductionTypeStatusProductionForm = () => import('@/views/modules/production/Type/TypeStatusProductionForm')\r\nconst ProductionTypeNonConformance = () => import('@/views/modules/production/Type/TypeNonConformance')\r\nconst ProductionTypeNonConformanceForm = () => import('@/views/modules/production/Type/TypeNonConformanceForm')\r\n\r\nconst ProductionTypeInstrument = () => import('@/views/modules/production/Type/TypeInstrument')\r\nconst ProductionTypeInstrumentForm = () => import('@/views/modules/production/Type/TypeInstrumentForm')\r\nconst ProductionInstrument = () => import('@/views/modules/production/Instrument/Instrument')\r\nconst ProductionInstrumentForm = () => import('@/views/modules/production/Instrument/InstrumentForm')\r\n\r\nconst ProductionLot = () => import('@/views/modules/production/Lot/Lot')\r\nconst ProductionLotForm = () => import('@/views/modules/production/Lot/LotForm')\r\nconst ProductionSetting = () => import('@/views/modules/production/Setting/Setting')\r\nconst ProductionSettingParam = () => import('@/views/modules/production/Setting/SettingParam')\r\nconst ProductionSettingParamForm = () => import('@/views/modules/production/Setting/SettingParamForm')\r\nconst ProductionReport = () => import('@/views/modules/production/Report/ProductionReport')\r\n\r\nexport default [\r\n\r\n    {\r\n        path: '/production/order/new',\r\n        name: 'production-order-form-new',\r\n        component: ProductionProductionOrderInsert\r\n    }/*, {\r\n        path: '/production/order/view/:id',\r\n        name: 'production-order-form-batch-view',\r\n        component: ProductionProductionOrderBatchForm\r\n    }, {\r\n        path: '/production/order/remove/:id',\r\n        name: 'production-order-form-batch-remove',\r\n        component: ProductionProductionOrderBatchForm\r\n    }, {\r\n        path: '/production/order/:id',\r\n        name: 'production-order-form-batch',\r\n        component: ProductionProductionOrderBatchForm\r\n    }*/\r\n    , {path: '/production/order', name: 'production-order', component: ProductionProductionOrder}\r\n    , {\r\n        path: '/production/order-step/view/:id',\r\n        name: 'production-order-step-form-view',\r\n        component: ProductionProductionOrderStepForm\r\n    }, {\r\n        path: '/production/order-step/:id',\r\n        name: 'production-order-step-form',\r\n        component: ProductionProductionOrderStepForm\r\n    }\r\n    , {path: '/production/order-step', name: 'production-order-step', component: ProductionProductionOrderStep}\r\n\r\n\r\n    , {\r\n        path: '/production/bulk-action/new',\r\n        name: 'production-bulk-action-form-new',\r\n        component: ProductionProductionOrderBulkActionForm\r\n    }, {\r\n        path: '/production/bulk-action/view/:id',\r\n        name: 'production-bulk-action-form-view',\r\n        component: ProductionProductionOrderBulkActionForm\r\n    }, {\r\n        path: '/production/bulk-action/remove/:id',\r\n        name: 'production-bulk-action-form-remove',\r\n        component: ProductionProductionOrderBulkActionForm\r\n    }, {\r\n        path: '/production/bulk-action/:id',\r\n        name: 'production-bulk-action-form',\r\n        component: ProductionProductionOrderBulkActionForm\r\n    }\r\n    , {path: '/production/bulk-action', name: 'production-bulk-action', component: ProductionProductionOrderBulkAction}\r\n\r\n\r\n    , {\r\n        path: '/production/process-flow/new',\r\n        name: 'production-process-flow-form-new',\r\n        component: ProductionProcessFlowForm\r\n    }, {\r\n        path: '/production/process-flow/view/:id',\r\n        name: 'production-process-flow-form-view',\r\n        component: ProductionProcessFlowForm\r\n    }, {\r\n        path: '/production/process-flow/remove/:id',\r\n        name: 'production-process-flow-form-remove',\r\n        component: ProductionProcessFlowForm\r\n    }, {\r\n        path: '/production/process-flow/:id',\r\n        name: 'production-process-flow-form',\r\n        component: ProductionProcessFlowForm\r\n    }\r\n    , {path: '/production/process-flow', name: 'production-process-flow', component: ProductionProcessFlow}\r\n\r\n\r\n    , {path: '/production/setting', name: 'production-setting', component: ProductionSetting},\r\n\r\n    {\r\n        path: '/production/setting/param/view/:id',\r\n        name: 'production-setting-param-form-view',\r\n        component: ProductionSettingParamForm\r\n    },\r\n    {\r\n        path: '/production/setting/param/:id',\r\n        name: 'production-setting-param-form-',\r\n        component: ProductionSettingParamForm\r\n    }\r\n\r\n    , {path: '/production/setting/param', name: 'production-setting-param', component: ProductionSettingParam}\r\n\r\n\r\n    , {path: '/production/report', name: 'production-report', component: ProductionReport}\r\n\r\n    , {\r\n        path: '/production/mold/new',\r\n        name: 'production-mold-form-new',\r\n        component: ProductionMoldForm\r\n    }, {\r\n        path: '/production/mold/view/:id',\r\n        name: 'production-mold-form-view',\r\n        component: ProductionMoldForm\r\n    }, {\r\n        path: '/production/mold/remove/:id',\r\n        name: 'production-mold-form-remove',\r\n        component: ProductionMoldForm\r\n    }, {\r\n        path: '/production/mold/:id',\r\n        name: 'production-mold-form',\r\n        component: ProductionMoldForm\r\n    }\r\n    , {path: '/production/mold', name: 'production-mold', component: ProductionMold}\r\n\r\n    , {\r\n        path: '/production/type-mold/new',\r\n        name: 'production-type-mold-form-new',\r\n        component: ProductionTypeMoldForm\r\n    }, {\r\n        path: '/production/type-mold/view/:id',\r\n        name: 'production-type-mold-form-view',\r\n        component: ProductionTypeMoldForm\r\n    }, {\r\n        path: '/production/type-mold/remove/:id',\r\n        name: 'production-type-mold-form-remove',\r\n        component: ProductionTypeMoldForm\r\n    }, {\r\n        path: '/production/type-mold/:id',\r\n        name: 'production-type-mold-form',\r\n        component: ProductionTypeMoldForm\r\n    }\r\n    , {path: '/production/type-mold', name: 'production-type-mold', component: ProductionTypeMold}\r\n\r\n    , {\r\n        path: '/production/type-maintenance/new',\r\n        name: 'production-type-maintenance-form-new',\r\n        component: ProductionTypeMaintenanceForm\r\n    }, {\r\n        path: '/production/type-maintenance/view/:id',\r\n        name: 'production-type-maintenance-form-view',\r\n        component: ProductionTypeMaintenanceForm\r\n    }, {\r\n        path: '/production/type-maintenance/remove/:id',\r\n        name: 'production-type-maintenance-form-remove',\r\n        component: ProductionTypeMaintenanceForm\r\n    }, {\r\n        path: '/production/type-maintenance/:id',\r\n        name: 'production-type-maintenance-form',\r\n        component: ProductionTypeMaintenanceForm\r\n    }\r\n    , {\r\n        path: '/production/type-maintenance',\r\n        name: 'production-type-maintenance',\r\n        component: ProductionTypeMaintenance\r\n    }\r\n\r\n    , {\r\n        path: '/production/type-stop/new',\r\n        name: 'production-type-stop-form-new',\r\n        component: ProductionTypeStopForm\r\n    }, {\r\n        path: '/production/type-stop/view/:id',\r\n        name: 'production-type-stop-form-view',\r\n        component: ProductionTypeStopForm\r\n    }, {\r\n        path: '/production/type-stop/remove/:id',\r\n        name: 'production-type-stop-form-remove',\r\n        component: ProductionTypeStopForm\r\n    }, {\r\n        path: '/production/type-stop/:id',\r\n        name: 'production-type-stop-form',\r\n        component: ProductionTypeStopForm\r\n    }\r\n    , {\r\n        path: '/production/type-stop',\r\n        name: 'production-type-stop',\r\n        component: ProductionTypeStop\r\n    }\r\n\r\n    , {\r\n        path: '/production/type-machine/new',\r\n        name: 'production-type-machine-form-new',\r\n        component: ProductionTypeMachineForm\r\n    }, {\r\n        path: '/production/type-machine/view/:id',\r\n        name: 'production-type-machine-form-view',\r\n        component: ProductionTypeMachineForm\r\n    }, {\r\n        path: '/production/type-machine/remove/:id',\r\n        name: 'production-type-machine-form-remove',\r\n        component: ProductionTypeMachineForm\r\n    }, {\r\n        path: '/production/type-machine/:id',\r\n        name: 'production-type-machine-form',\r\n        component: ProductionTypeMachineForm\r\n    }\r\n    , {path: '/production/type-machine', name: 'production-type-machine', component: ProductionTypeMachine}\r\n\r\n    , {\r\n        path: '/production/operator/new',\r\n        name: 'production-operator-form-new',\r\n        component: ProductionOperatorForm\r\n    }, {\r\n        path: '/production/operator/view/:id',\r\n        name: 'production-operator-form-view',\r\n        component: ProductionOperatorForm\r\n    }, {\r\n        path: '/production/operator/remove/:id',\r\n        name: 'production-operator-form-remove',\r\n        component: ProductionOperatorForm\r\n    }, {\r\n        path: '/production/operator/:id',\r\n        name: 'production-operator-form',\r\n        component: ProductionOperatorForm\r\n    }\r\n    , {path: '/production/operator', name: 'production-operator', component: ProductionOperator}\r\n\r\n    , {\r\n        path: '/production/machine/new',\r\n        name: 'production-machine-form-new',\r\n        component: ProductionMachineForm\r\n    }, {\r\n        path: '/production/machine/view/:id',\r\n        name: 'production-machine-form-view',\r\n        component: ProductionMachineForm\r\n    }, {\r\n        path: '/production/machine/remove/:id',\r\n        name: 'production-machine-form-remove',\r\n        component: ProductionMachineForm\r\n    }, {\r\n        path: '/production/machine/:id',\r\n        name: 'production-machine-form',\r\n        component: ProductionMachineForm\r\n    }\r\n    , {path: '/production/machine', name: 'production-machine', component: ProductionMachine}\r\n\r\n\r\n    , {\r\n        path: '/production/type-status/new',\r\n        name: 'production-type-status-form-new',\r\n        component: ProductionTypeStatusProductionForm\r\n    }, {\r\n        path: '/production/type-status/view/:id',\r\n        name: 'production-type-status-form-view',\r\n        component: ProductionTypeStatusProductionForm\r\n    }, {\r\n        path: '/production/type-status/remove/:id',\r\n        name: 'production-type-status-form-remove',\r\n        component: ProductionTypeStatusProductionForm\r\n    }, {\r\n        path: '/production/type-status/:id',\r\n        name: 'production-type-status-form',\r\n        component: ProductionTypeStatusProductionForm\r\n    }\r\n    , {\r\n        path: '/production/type-status',\r\n        name: 'production-type-status',\r\n        component: ProductionTypeStatusProduction\r\n    }, {\r\n        path: '/production/type-non-conformance/new',\r\n        name: 'production-type-non-conformance-form-new',\r\n        component: ProductionTypeNonConformanceForm\r\n    }, {\r\n        path: '/production/type-non-conformance/view/:id',\r\n        name: 'production-type-non-conformance-form-view',\r\n        component: ProductionTypeNonConformanceForm\r\n    }, {\r\n        path: '/production/type-non-conformance/remove/:id',\r\n        name: 'production-type-non-conformance-form-remove',\r\n        component: ProductionTypeNonConformanceForm\r\n    }, {\r\n        path: '/production/type-non-conformance/:id',\r\n        name: 'production-type-non-conformance-form',\r\n        component: ProductionTypeNonConformanceForm\r\n    }\r\n    , {\r\n        path: '/production/type-non-conformance',\r\n        name: 'production-type-non-conformance',\r\n        component: ProductionTypeNonConformance\r\n    }\r\n\r\n    , {\r\n        path: '/production/type-instrument/new',\r\n        name: 'production-type-instrument-form-new',\r\n        component: ProductionTypeInstrumentForm\r\n    }, {\r\n        path: '/production/type-instrument/view/:id',\r\n        name: 'production-type-instrument-form-view',\r\n        component: ProductionTypeInstrumentForm\r\n    }, {\r\n        path: '/production/type-instrument/remove/:id',\r\n        name: 'production-type-instrument-form-remove',\r\n        component: ProductionTypeInstrumentForm\r\n    }, {\r\n        path: '/production/type-instrument/:id',\r\n        name: 'production-type-instrument-form',\r\n        component: ProductionTypeInstrumentForm\r\n    }\r\n    , {path: '/production/type-instrument', name: 'production-type-instrument', component: ProductionTypeInstrument}\r\n\r\n    , {\r\n        path: '/production/instrument/new',\r\n        name: 'production-instrument-form-new',\r\n        component: ProductionInstrumentForm\r\n    }, {\r\n        path: '/production/instrument/view/:id',\r\n        name: 'production-instrument-form-view',\r\n        component: ProductionInstrumentForm\r\n    }, {\r\n        path: '/production/instrument/remove/:id',\r\n        name: 'production-instrument-form-remove',\r\n        component: ProductionInstrumentForm\r\n    }, {\r\n        path: '/production/instrument/:id',\r\n        name: 'production-instrument-form',\r\n        component: ProductionInstrumentForm\r\n    }\r\n    , {path: '/production/instrument', name: 'production-instrument', component: ProductionInstrument}\r\n\r\n    , {\r\n        path: '/production/lot/new',\r\n        name: 'production-lot-form-new',\r\n        component: ProductionLotForm\r\n    }, {\r\n        path: '/production/lot/view/:id',\r\n        name: 'production-lot-form-view',\r\n        component: ProductionLotForm\r\n    }, {\r\n        path: '/production/lot/remove/:id',\r\n        name: 'production-lot-form-remove',\r\n        component: ProductionLotForm\r\n    }, {\r\n        path: '/production/lot/:id',\r\n        name: 'production-lot-form',\r\n        component: ProductionLotForm\r\n    }\r\n    , {path: '/production/lot', name: 'production-lot', component: ProductionLot}\r\n]","const BusinessQuote = () => import('@/views/modules/business/Quote/Quote')\r\nconst BusinessQuoteForm = () => import('@/views/modules/business/Quote/QuoteForm')\r\nconst BusinessSaleOrder = () => import('@/views/modules/business/SaleOrder')\r\nconst BusinessSaleOrderForm = () => import('@/views/modules/business/SaleOrderForm')\r\nconst BusinessInvoice = () => import('@/views/modules/business/Invoice')\r\nconst BusinessInvoiceForm = () => import('@/views/modules/business/InvoiceForm')\r\nconst BusinessSeller = () => import('@/views/modules/business/Seller')\r\nconst BusinessSellerForm = () => import('@/views/modules/business/SellerForm')\r\nconst BusinessDeliveryPlan = () => import('@/views/modules/business/DeliveryPlan')\r\nconst BusinessDeliveryPlanForm = () => import('@/views/modules/business/DeliveryPlanForm')\r\nconst BusinessShippingCompany = () => import('@/views/modules/business/ShippingCompany')\r\nconst BusinessShippingCompanyForm = () => import('@/views/modules/business/ShippingCompanyForm')\r\nconst BusinessTypeService = () => import('@/views/modules/business/TypeService')\r\nconst BusinessTypeServiceForm = () => import('@/views/modules/business/TypeServiceForm')\r\nconst BusinessPriceList = () => import('@/views/modules/business/PriceList')\r\nconst BusinessPriceListForm = () => import('@/views/modules/business/PriceListForm')\r\nconst BusinessPaymentPlan = () => import('@/views/modules/business/PaymentPlan')\r\nconst BusinessPaymentPlanForm = () => import('@/views/modules/business/PaymentPlanForm')\r\nconst BusinessTypeQuoteStatus = () => import('@/views/modules/business/TypeQuoteStatus')\r\nconst BusinessTypeQuoteStatusForm = () => import('@/views/modules/business/TypeQuoteStatusForm')\r\nconst BusinessTypeSaleOrderStatus = () => import('@/views/modules/business/TypeSaleOrderStatus')\r\nconst BusinessTypeSaleOrderStatusForm = () => import('@/views/modules/business/TypeSaleOrderStatusForm')\r\nconst BusinessTypeBudgetRejectionReason = () => import('@/views/modules/business/TypeBudgetRejectionReason')\r\nconst BusinessTypeBudgetRejectionReasonForm = () => import('@/views/modules/business/TypeBudgetRejectionReasonForm')\r\nconst BusinessSettingParam = () => import('@/views/modules/business/Setting/SettingParam')\r\nconst BusinessSettingParamForm = () => import('@/views/modules/business/Setting/SettingParamForm')\r\nconst BusinessSetting = () => import('@/views/modules/business/Setting/Setting')\r\nconst BusinessReport = () => import('@/views/modules/business/Report')\r\n\r\nconst PurchaseOrder = () => import('@/views/modules/purchase/PurchaseOrder')\r\nconst PurchaseOrderForm = () => import('@/views/modules/purchase/PurchaseOrderForm')\r\nconst PurchaseInvoice = () => import('@/views/modules/purchase/PurchaseInvoice')\r\nconst PurchaseInvoiceForm = () => import('@/views/modules/purchase/PurchaseInvoiceForm')\r\nconst PurchaseSupplier = () => import('@/views/modules/purchase/Supplier')\r\nconst PurchaseSupplierForm = () => import('@/views/modules/purchase/SupplierForm')\r\nconst PurchaseSettingParam = () => import('@/views/modules/purchase/Setting/SettingParam')\r\nconst PurchaseSettingParamForm = () => import('@/views/modules/purchase/Setting/SettingParamForm')\r\nconst PurchaseTypeSupplier = () => import('@/views/modules/purchase/TypeSupplier')\r\nconst PurchaseTypeSupplierForm = () => import('@/views/modules/purchase/TypeSupplierForm')\r\nconst PurchaseSetting = () => import('@/views/modules/purchase/Setting/Setting')\r\nconst PurchaseReport = () => import('@/views/modules/purchase/Report')\r\n\r\nconst FinancialRevenue = () => import('@/views/modules/financial/Revenue')\r\nconst FinancialRevenueForm = () => import('@/views/modules/financial/RevenueForm')\r\nconst FinancialExpense = () => import('@/views/modules/financial/Expense')\r\nconst FinancialExpenseForm = () => import('@/views/modules/financial/ExpenseForm')\r\nconst FinancialBankAccount = () => import('@/views/modules/financial/BankAccount')\r\nconst FinancialBankAccountForm = () => import('@/views/modules/financial/BankAccountForm')\r\nconst FinancialChartAccount = () => import('@/views/modules/financial/ChartAccount')\r\nconst FinancialChartAccountForm = () => import('@/views/modules/financial/ChartAccountForm')\r\nconst FinancialCreditor = () => import('@/views/modules/financial/Creditor')\r\nconst FinancialCreditorForm = () => import('@/views/modules/financial/CreditorForm')\r\nconst FinancialSettingParam = () => import('@/views/modules/financial/Setting/SettingParam')\r\nconst FinancialSettingParamForm = () => import('@/views/modules/financial/Setting/SettingParamForm')\r\nconst FinancialSetting = () => import('@/views/modules/financial/Setting/Setting')\r\nconst FinancialReport = () => import('@/views/modules/financial/Report')\r\n\r\nconst EmployeeEmployee = () => import('@/views/modules/employee/Employee')\r\nconst EmployeeEmployeeForm = () => import('@/views/modules/employee/EmployeeForm')\r\nconst EmployeeExam = () => import('@/views/modules/employee/Exam')\r\nconst EmployeeExamForm = () => import('@/views/modules/employee/ExamForm')\r\nconst EmployeeRole = () => import('@/views/modules/employee/Role')\r\nconst EmployeeRoleForm = () => import('@/views/modules/employee/RoleForm')\r\nconst EmployeeSettingParam = () => import('@/views/modules/employee/Setting/SettingParam')\r\nconst EmployeeSettingParamForm = () => import('@/views/modules/employee/Setting/SettingParamForm')\r\nconst EmployeeSetting = () => import('@/views/modules/employee/Setting/Setting')\r\nconst EmployeeReport = () => import('@/views/modules/employee/Report')\r\n\r\nexport default [\r\n\r\n\r\n    {\r\n        path: '/business/quote/new', name: 'business-quote-form-new', component: BusinessQuoteForm\r\n    }, {\r\n        path: '/business/quote/view/:id', name: 'business-quote-form-view', component: BusinessQuoteForm\r\n    }, {\r\n        path: '/business/quote/remove/:id', name: 'business-quote-form-remove', component: BusinessQuoteForm\r\n    }, {\r\n        path: '/business/quote/:id', name: 'business-quote-form', component: BusinessQuoteForm\r\n    }, {path: '/business/quote', name: 'business-quote', component: BusinessQuote}\r\n\r\n\r\n    , {\r\n        path: '/business/order/new', name: 'business-order-form-new', component: BusinessSaleOrderForm\r\n    }, {\r\n        path: '/business/order/view/:id', name: 'business-order-form-view', component: BusinessSaleOrderForm\r\n    }, {\r\n        path: '/business/order/remove/:id', name: 'business-order-form-remove', component: BusinessSaleOrderForm\r\n    }, {\r\n        path: '/business/order/:id', name: 'business-order-form', component: BusinessSaleOrderForm\r\n    }, {path: '/business/order', name: 'business-order', component: BusinessSaleOrder}\r\n\r\n\r\n    , {\r\n        path: '/business/invoices/form/',\r\n        alias: '/business/invoices/:id',\r\n        name: 'business-invoices-form',\r\n        component: BusinessInvoiceForm\r\n    }, {path: '/business/invoices', name: 'business-invoices', component: BusinessInvoice}\r\n\r\n    , {\r\n        path: '/business/seller/new', name: 'business-seller-form-new', component: BusinessSellerForm\r\n    }, {\r\n        path: '/business/seller/view/:id', name: 'business-seller-form-view', component: BusinessSellerForm\r\n    }, {\r\n        path: '/business/seller/remove/:id', name: 'business-seller-form-remove', component: BusinessSellerForm\r\n    }, {\r\n        path: '/business/seller/:id', name: 'business-seller-form', component: BusinessSellerForm\r\n    }, {path: '/business/seller', name: 'business-seller', component: BusinessSeller}\r\n\r\n\r\n    , {\r\n        path: '/business/delivery-plan/new',\r\n        name: 'business-delivery-plan-form-new',\r\n        component: BusinessDeliveryPlanForm\r\n    }, {\r\n        path: '/business/delivery-plan/view/:id',\r\n        name: 'business-delivery-plan-form-view',\r\n        component: BusinessDeliveryPlanForm\r\n    }, {\r\n        path: '/business/delivery-plan/remove/:id',\r\n        name: 'business-delivery-plan-form-remove',\r\n        component: BusinessDeliveryPlanForm\r\n    }, {\r\n        path: '/business/delivery-plan/:id', name: 'business-delivery-plan-form', component: BusinessDeliveryPlanForm\r\n    }, {path: '/business/delivery-plan', name: 'business-delivery-plan', component: BusinessDeliveryPlan}\r\n\r\n\r\n    , {\r\n        path: '/business/shipping-company/new',\r\n        name: 'business-shipping-company-form-new',\r\n        component: BusinessShippingCompanyForm\r\n    }, {\r\n        path: '/business/shipping-company/view/:id',\r\n        name: 'business-shipping-company-form-view',\r\n        component: BusinessShippingCompanyForm\r\n    }, {\r\n        path: '/business/shipping-company/remove/:id',\r\n        name: 'business-shipping-company-form-remove',\r\n        component: BusinessShippingCompanyForm\r\n    }, {\r\n        path: '/business/shipping-company/:id',\r\n        name: 'business-shipping-company-form',\r\n        component: BusinessShippingCompanyForm\r\n    }, {path: '/business/shipping-company', name: 'business-shipping-company', component: BusinessShippingCompany}\r\n\r\n\r\n    , {\r\n        path: '/business/type-service/new', name: 'business-type-service-form-new', component: BusinessTypeServiceForm\r\n    }, {\r\n        path: '/business/type-service/view/:id',\r\n        name: 'business-type-service-form-view',\r\n        component: BusinessTypeServiceForm\r\n    }, {\r\n        path: '/business/type-service/remove/:id',\r\n        name: 'business-type-service-form-remove',\r\n        component: BusinessTypeServiceForm\r\n    }, {\r\n        path: '/business/type-service/:id', name: 'business-type-service-form', component: BusinessTypeServiceForm\r\n    }, {path: '/business/type-service', name: 'business-type-service', component: BusinessTypeService}\r\n\r\n\r\n    , {\r\n        path: '/business/price-list/new', name: 'business-price-list-form-new', component: BusinessPriceListForm\r\n    }, {\r\n        path: '/business/price-list/view/:id', name: 'business-price-list-form-view', component: BusinessPriceListForm\r\n    }, {\r\n        path: '/business/price-list/remove/:id',\r\n        name: 'business-price-list-form-remove',\r\n        component: BusinessPriceListForm\r\n    }, {\r\n        path: '/business/price-list/:id', name: 'business-price-list-form', component: BusinessPriceListForm\r\n    }, {path: '/business/price-list', name: 'business-price-list', component: BusinessPriceList}\r\n\r\n    , {\r\n        path: '/business/type-quote-status/new',\r\n        name: 'business-type-quote-status-form-new',\r\n        component: BusinessTypeQuoteStatusForm\r\n    }, {\r\n        path: '/business/type-quote-status/view/:id',\r\n        name: 'business-type-quote-status-form-view',\r\n        component: BusinessTypeQuoteStatusForm\r\n    }, {\r\n        path: '/business/type-quote-status/remove/:id',\r\n        name: 'business-type-quote-status-form-remove',\r\n        component: BusinessTypeQuoteStatusForm\r\n    }, {\r\n        path: '/business/type-quote-status/:id',\r\n        name: 'business-type-quote-status-form',\r\n        component: BusinessTypeQuoteStatusForm\r\n    }, {path: '/business/type-quote-status', name: 'business-type-quote-status', component: BusinessTypeQuoteStatus}\r\n\r\n    , {\r\n        path: '/business/type-order-status/new',\r\n        name: 'business-type-order-status-form-new',\r\n        component: BusinessTypeSaleOrderStatusForm\r\n    }, {\r\n        path: '/business/type-order-status/view/:id',\r\n        name: 'business-type-order-status-form-view',\r\n        component: BusinessTypeSaleOrderStatusForm\r\n    }, {\r\n        path: '/business/type-order-status/remove/:id',\r\n        name: 'business-type-order-status-form-remove',\r\n        component: BusinessTypeSaleOrderStatusForm\r\n    }, {\r\n        path: '/business/type-order-status/:id',\r\n        name: 'business-type-order-status-form',\r\n        component: BusinessTypeSaleOrderStatusForm\r\n    }, {path: '/business/type-order-status', name: 'business-type-order-status', component: BusinessTypeSaleOrderStatus}\r\n\r\n    , {\r\n        path: '/business/type-budget-rejection-reason/new',\r\n        name: 'business-type-budget-rejection-reason-form-new',\r\n        component: BusinessTypeBudgetRejectionReasonForm\r\n    }, {\r\n        path: '/business/type-budget-rejection-reason/view/:id',\r\n        name: 'business-type-budget-rejection-reason-form-view',\r\n        component: BusinessTypeBudgetRejectionReasonForm\r\n    }, {\r\n        path: '/business/type-budget-rejection-reason/remove/:id',\r\n        name: 'business-type-budget-rejection-reason-form-remove',\r\n        component: BusinessTypeBudgetRejectionReasonForm\r\n    }, {\r\n        path: '/business/type-budget-rejection-reason/:id',\r\n        name: 'business-type-budget-rejection-reason-form',\r\n        component: BusinessTypeBudgetRejectionReasonForm\r\n    }\r\n    , {path: '/business/type-budget-rejection-reason', name: 'business-type-budget-rejection-reason', component: BusinessTypeBudgetRejectionReason}\r\n\r\n    , {\r\n        path: '/business/payment-plan/new', name: 'business-payment-plan-form-new', component: BusinessPaymentPlanForm\r\n    }, {\r\n        path: '/business/payment-plan/view/:id',\r\n        name: 'business-payment-plan-form-view',\r\n        component: BusinessPaymentPlanForm\r\n    }, {\r\n        path: '/business/payment-plan/remove/:id',\r\n        name: 'business-payment-plan-form-remove',\r\n        component: BusinessPaymentPlanForm\r\n    }, {\r\n        path: '/business/payment-plan/:id', name: 'business-payment-plan-form', component: BusinessPaymentPlanForm\r\n    }, {path: '/business/payment-plan', name: 'business-payment-plan', component: BusinessPaymentPlan}\r\n\r\n    , {\r\n        path: '/business/setting/param/view/:id',\r\n        name: 'business-setting-param-form-view',\r\n        component: BusinessSettingParamForm\r\n    }, {\r\n        path: '/business/setting/param/:id', name: 'business-setting-param-form-', component: BusinessSettingParamForm\r\n    }\r\n\r\n    , {path: '/business/setting/param', name: 'business-setting-param', component: BusinessSettingParam}\r\n\r\n\r\n    , {path: '/business/setting', name: 'business-setting', component: BusinessSetting}\r\n\r\n    , {path: '/business/report', name: 'business-report', component: BusinessReport}\r\n\r\n\r\n    , {\r\n        path: '/purchase/order/new', name: 'purchase-order-form-new', component: PurchaseOrderForm\r\n    }, {\r\n        path: '/purchase/order/view/:id', name: 'purchase-order-form-view', component: PurchaseOrderForm\r\n    }, {\r\n        path: '/purchase/order/remove/:id', name: 'purchase-order-form-remove', component: PurchaseOrderForm\r\n    }, {\r\n        path: '/purchase/order/:id', name: 'purchase-order-form', component: PurchaseOrderForm\r\n    }, {path: '/purchase/order', name: 'purchase-order', component: PurchaseOrder} ,\r\n\r\n    {\r\n        path: '/purchase/invoice/new', name: 'purchase-invoice-form-new', component: PurchaseInvoiceForm\r\n    }, {\r\n        path: '/purchase/invoice/view/:id', name: 'purchase-invoice-form-view', component: PurchaseInvoiceForm\r\n    }, {\r\n        path: '/purchase/invoice/remove/:id', name: 'purchase-invoice-form-remove', component: PurchaseInvoiceForm\r\n    }, {\r\n        path: '/purchase/invoice/:id', name: 'purchase-invoice-form', component: PurchaseInvoiceForm\r\n    }, {path: '/purchase/invoice', name: 'purchase-invoice', component: PurchaseInvoice}\r\n\r\n    , {\r\n        path: '/purchase/type-supplier/new',\r\n        name: 'purchase-type-supplier-form-new',\r\n        component: PurchaseTypeSupplierForm\r\n    }, {\r\n        path: '/purchase/type-supplier/view/:id',\r\n        name: 'purchase-type-supplier-form-view',\r\n        component: PurchaseTypeSupplierForm\r\n    }, {\r\n        path: '/purchase/type-supplier/remove/:id',\r\n        name: 'purchase-type-supplier-form-remove',\r\n        component: PurchaseTypeSupplierForm\r\n    }, {\r\n        path: '/purchase/type-supplier/:id', name: 'purchase-type-supplier-form', component: PurchaseTypeSupplierForm\r\n    }, {path: '/purchase/type-supplier', name: 'purchase-type-supplier', component: PurchaseTypeSupplier}\r\n\r\n    , {\r\n        path: '/purchase/supplier/new', name: 'purchase-supplier-form-new', component: PurchaseSupplierForm\r\n    }, {\r\n        path: '/purchase/supplier/view/:id', name: 'purchase-supplier-form-view', component: PurchaseSupplierForm\r\n    }, {\r\n        path: '/purchase/supplier/remove/:id', name: 'purchase-supplier-form-remove', component: PurchaseSupplierForm\r\n    }, {\r\n        path: '/purchase/supplier/:id', name: 'purchase-supplier-form', component: PurchaseSupplierForm\r\n    }, {path: '/purchase/supplier', name: 'purchase-supplier', component: PurchaseSupplier}\r\n\r\n\r\n    , {\r\n        path: '/purchase/setting/param/view/:id',\r\n        name: 'purchase-setting-param-form-view',\r\n        component: PurchaseSettingParamForm\r\n    }, {\r\n        path: '/purchase/setting/param/:id', name: 'purchase-setting-param-form-', component: PurchaseSettingParamForm\r\n    }\r\n\r\n    , {path: '/purchase/setting/param', name: 'purchase-setting-param', component: PurchaseSettingParam}\r\n\r\n    , {path: '/purchase/setting', name: 'purchase-setting', component: PurchaseSetting}\r\n\r\n    , {path: '/purchase/report', name: 'purchase-report', component: PurchaseReport}\r\n\r\n    , {\r\n        path: '/financial/chart-account/new',\r\n        name: 'financial-chart-account-form-new',\r\n        component: FinancialChartAccountForm\r\n    }, {\r\n        path: '/financial/chart-account/view/:id',\r\n        name: 'financial-chart-account-form-view',\r\n        component: FinancialChartAccountForm\r\n    }, {\r\n        path: '/financial/chart-account/remove/:id',\r\n        name: 'financial-chart-account-form-remove',\r\n        component: FinancialChartAccountForm\r\n    }, {\r\n        path: '/financial/chart-account/:id', name: 'financial-chart-account-form', component: FinancialChartAccountForm\r\n    }, {path: '/financial/chart-account', name: 'financial-chart-account', component: FinancialChartAccount},\r\n\r\n    {\r\n        path: '/financial/expense/new', name: 'financial-expense-form-new', component: FinancialExpenseForm\r\n    }, {\r\n        path: '/financial/expense/view/:id', name: 'financial-expense-form-view', component: FinancialExpenseForm\r\n    }, {\r\n        path: '/financial/expense/remove/:id', name: 'financial-expense-form-remove', component: FinancialExpenseForm\r\n    }, {\r\n        path: '/financial/expense/:id', name: 'financial-expense-form', component: FinancialExpenseForm\r\n    }, {path: '/financial/expense', name: 'financial-expense', component: FinancialExpense}\r\n\r\n\r\n    , {\r\n        path: '/financial/revenue/new', name: 'financial-revenue-form-new', component: FinancialRevenueForm\r\n    }, {\r\n        path: '/financial/revenue/view/:id', name: 'financial-revenue-form-view', component: FinancialRevenueForm\r\n    }, {\r\n        path: '/financial/revenue/remove/:id', name: 'financial-revenue-form-remove', component: FinancialRevenueForm\r\n    }, {\r\n        path: '/financial/revenue/:id', name: 'financial-revenue-form', component: FinancialRevenueForm\r\n    }, {path: '/financial/revenue', name: 'financial-revenue', component: FinancialRevenue}\r\n\r\n\r\n    , {\r\n        path: '/financial/bank-account/new',\r\n        name: 'financial-bank-account-form-new',\r\n        component: FinancialBankAccountForm\r\n    }, {\r\n        path: '/financial/bank-account/view/:id',\r\n        name: 'financial-bank-account-form-view',\r\n        component: FinancialBankAccountForm\r\n    }, {\r\n        path: '/financial/bank-account/remove/:id',\r\n        name: 'financial-bank-account-form-remove',\r\n        component: FinancialBankAccountForm\r\n    }, {\r\n        path: '/financial/bank-account/:id', name: 'financial-bank-account-form', component: FinancialBankAccountForm\r\n    }, {path: 'financial/bank-account', name: 'financial-bank-account', component: FinancialBankAccount}\r\n\r\n    , {\r\n        path: '/financial/creditor/new', name: 'financial-creditor-form-new', component: FinancialCreditorForm\r\n    }, {\r\n        path: '/financial/creditor/view/:id', name: 'financial-creditor-form-view', component: FinancialCreditorForm\r\n    }, {\r\n        path: '/financial/creditor/remove/:id', name: 'financial-creditor-form-remove', component: FinancialCreditorForm\r\n    }, {\r\n        path: '/financial/creditor/:id', name: 'financial-creditor-form', component: FinancialCreditorForm\r\n    }, {path: '/financial/creditor', name: 'financial-creditor', component: FinancialCreditor}\r\n\r\n    , {\r\n        path: '/financial/setting/param/view/:id',\r\n        name: 'financial-setting-param-form-view',\r\n        component: FinancialSettingParamForm\r\n    }, {\r\n        path: '/financial/setting/param/:id',\r\n        name: 'financial-setting-param-form-',\r\n        component: FinancialSettingParamForm\r\n    }\r\n\r\n    , {path: '/financial/setting/param', name: 'financial-setting-param', component: FinancialSettingParam}\r\n\r\n    , {path: '/financial/setting', name: 'financial-setting', component: FinancialSetting}\r\n\r\n    , {path: '/financial/report', name: 'financial-report', component: FinancialReport}\r\n\r\n\r\n    , {\r\n        path: '/employee/role/new', name: 'employee-role-form-new', component: EmployeeRoleForm\r\n    }, {\r\n        path: '/employee/role/view/:id', name: 'employee-role-form-view', component: EmployeeRoleForm\r\n    }, {\r\n        path: '/employee/role/remove/:id', name: 'employee-role-form-remove', component: EmployeeRoleForm\r\n    }, {\r\n        path: '/employee/role/:id', name: 'employee-role-form', component: EmployeeRoleForm\r\n    }, {path: '/employee/role', name: 'employee-role', component: EmployeeRole}\r\n\r\n\r\n    , {\r\n        path: '/employee/exam/new', name: 'employee-exam-form-new', component: EmployeeExamForm\r\n    }, {\r\n        path: '/employee/exam/view/:id', name: 'employee-exam-form-view', component: EmployeeExamForm\r\n    }, {\r\n        path: '/employee/exam/remove/:id', name: 'employee-exam-form-remove', component: EmployeeExamForm\r\n    }, {\r\n        path: '/employee/exam/:id', name: 'employee-exam-form', component: EmployeeExamForm\r\n    }, {path: '/employee/exam', name: 'employee-exam', component: EmployeeExam}, {\r\n        path: '/employee/setting/param/view/:id',\r\n        name: 'employee-setting-param-form-view',\r\n        component: EmployeeSettingParamForm\r\n    }, {\r\n        path: '/employee/setting/param/:id', name: 'employee-setting-param-form-', component: EmployeeSettingParamForm\r\n    }, {path: '/employee/setting/param', name: 'employee-setting-param', component: EmployeeSettingParam}\r\n\r\n    , {path: '/employee/setting', name: 'employee-setting', component: EmployeeSetting}\r\n\r\n    , {path: '/employee/report', name: 'employee-report', component: EmployeeReport}\r\n\r\n    /*Path curto sempre no final do módulo*/, {\r\n        path: '/employee/new', name: 'employee-record-form-new', component: EmployeeEmployeeForm\r\n    }, {\r\n        path: '/employee/view/:id', name: 'employee-record-form-view', component: EmployeeEmployeeForm\r\n    }, {\r\n        path: '/employee/remove/:id', name: 'employee-record-form-remove', component: EmployeeEmployeeForm\r\n    }, {\r\n        path: '/employee/:id', name: 'employee-record-form', component: EmployeeEmployeeForm\r\n    }, {path: '/employee', name: 'employee-record', component: EmployeeEmployee}\r\n\r\n]","/*production*/\r\nconst CustomProductionOrder = () => import('@/views/custom/polimix/production/PolimixProductionOrder')\r\nconst CustomProductionOrderForm = () => import('@/views/custom/polimix/production/PolimixProductionOrderForm')\r\nconst CustomProductionOrderStep = () => import('@/views/custom/polimix/production/PolimixProductionOrderStep')\r\nconst CustomProductionOrderStepForm = () => import('@/views/custom/polimix/production/PolimixProductionOrderStepForm')\r\nconst CustomProductionReport = () => import('@/views/custom/polimix/production/PolimixProductionReport')\r\nconst CustomProductionKanban = () => import('@/views/custom/polimix/production/PolimixProductionKanban')\r\n\r\n/*Qualidade*/\r\nconst CustomQualityAppraisal = () => import('@/views/custom/polimix/quality/PolimixQualityAppraisal')\r\nconst CustomQualityAppraisalForm = () => import('@/views/custom/polimix/quality/PolimixQualityAppraisalForm')\r\nconst CustomQualityParamByLot = () => import('@/views/custom/polimix/quality/PolimixQualityParamByLot')\r\nconst CustomQualityParamByLotForm = () => import('@/views/custom/polimix/quality/PolimixQualityParamByLotForm')\r\n\r\n/*stock*/\r\nconst CustomStockProduct = () => import('@/views/custom/polimix/stock/PolimixStockProduct')\r\nconst CustomStockProductManualForm = () => import('@/views/custom/polimix/stock/PolimixStockProductManualForm')\r\nconst CustomStockReport = () => import('@/views/custom/polimix/stock/PolimixStockReport')\r\n\r\n\r\nexport default {\r\n    remove: [\r\n        \"production-order\",\r\n        \"production-order-form-new\",\r\n        \"production-order-form-view\",\r\n        \"production-order-form-remove\",\r\n        \"production-order-form\",\r\n        \"production-order-step-form-view\",\r\n        \"production-order-step-form\",\r\n        \"production-order-step\",\r\n        \"production-report\",\r\n        \"stock-report\",\r\n        \"stock-product\",\r\n        \"stock-product-form-new\",\r\n    ],\r\n    routes: [\r\n        {\r\n            path: '/custom/production/kanban',\r\n            name: 'custom-polimix-production-kanban',\r\n            component: CustomProductionKanban\r\n        },\r\n        /*---------------------------------------------------*/\r\n        {\r\n            path: '/custom/production/order/new',\r\n            name: 'custom-polimix-production-order-form-new',\r\n            component: CustomProductionOrderForm\r\n        }, {\r\n            path: '/custom/production/order/view/:id',\r\n            name: 'custom-polimix-production-order-form-view',\r\n            component: CustomProductionOrderForm\r\n        }, {\r\n            path: '/custom/production/order/remove/:id',\r\n            name: 'custom-polimix-production-order-form-remove',\r\n            component: CustomProductionOrderForm\r\n        }, {\r\n            path: '/custom/production/order/:id',\r\n            name: 'custom-polimix-production-order-form',\r\n            component: CustomProductionOrderForm\r\n        },\r\n        {\r\n            path: '/custom/production/order',\r\n            name: 'custom-polimix-production-order',\r\n            component: CustomProductionOrder\r\n        }\r\n        /*---------------------------------------------------*/\r\n        , {\r\n            path: '/custom/production/order-step/view/:id',\r\n            name: 'custom-polimix-production-order-step-form-view',\r\n            component: CustomProductionOrderStepForm\r\n        }, {\r\n            path: '/custom/production/order-step/:id',\r\n            name: 'custom-polimix-production-order-step-form',\r\n            component: CustomProductionOrderStepForm\r\n        }, {\r\n            path: '/custom/production/order-step',\r\n            name: 'custom-polimix-production-order-step',\r\n            component: CustomProductionOrderStep\r\n        }\r\n        /*---------------------------------------------------*/\r\n\r\n        , {\r\n            path: '/custom/polimix/quality-appraisal/new',\r\n            name: 'custom-polimix-quality-appraisal-form-new',\r\n            component: CustomQualityAppraisalForm\r\n        }, {\r\n            path: '/custom/polimix/quality-appraisal/view/:id',\r\n            name: 'custom-polimix-quality-appraisal-form-view',\r\n            component: CustomQualityAppraisalForm\r\n        }, {\r\n            path: '/custom/polimix/quality-appraisal/remove/:id',\r\n            name: 'custom-polimix-quality-appraisal-form-remove',\r\n            component: CustomQualityAppraisalForm\r\n        }, {\r\n            path: '/custom/polimix/quality-appraisal/:id',\r\n            name: 'custom-polimix-quality-appraisal-form',\r\n            component: CustomQualityAppraisalForm\r\n        }\r\n        , {\r\n            path: '/custom/polimix/quality-appraisal',\r\n            name: 'custom-polimix-quality-appraisal',\r\n            component: CustomQualityAppraisal\r\n        }, {\r\n            path: '/custom/polimix/quality-param-by-lot/new',\r\n            name: 'custom-polimix-quality-param-by-lot-form-new',\r\n            component: CustomQualityParamByLotForm\r\n        }, {\r\n            path: '/custom/polimix/quality-param-by-lot/view/:id',\r\n            name: 'custom-polimix-quality-param-by-lot-form-view',\r\n            component: CustomQualityParamByLotForm\r\n        }, {\r\n            path: '/custom/polimix/quality-param-by-lot/remove/:id',\r\n            name: 'custom-polimix-quality-param-by-lot-form-remove',\r\n            component: CustomQualityParamByLotForm\r\n        }, {\r\n            path: '/custom/polimix/quality-param-by-lot/:id',\r\n            name: 'custom-polimix-quality-param-by-lot-form',\r\n            component: CustomQualityParamByLotForm\r\n        }, {\r\n            path: '/custom/polimix/quality-param-by-lot',\r\n            name: 'custom-polimix-quality-param-by-lot',\r\n            component: CustomQualityParamByLot\r\n        }, {\r\n            path: '/custom/production/report',\r\n            name: 'custom-polimix-production-report',\r\n            component: CustomProductionReport\r\n        },\r\n        {path: '/custom/stock/report', name: 'custom-polimix-stock-report', component: CustomStockReport}\r\n        , {\r\n            path: '/custom/stock/product/manual',\r\n            name: 'custom-polimix-stock-product-form-new',\r\n            component: CustomStockProductManualForm\r\n        }\r\n        , {path: '/custom/stock/product', name: 'custom-polimix-stock-product', component: CustomStockProduct}\r\n\r\n    ]\r\n}","const CustomSPObras = () => import('@/views/custom/consorciolmm/ConsorcioLmmSPObras')\r\nconst CustomSPObrasForm = () => import('@/views/custom/consorciolmm/ConsorcioLmmSPObrasForm')\r\nconst CustomChecklistReport = () => import('@/views/custom/consorciolmm/ConsorcioLmmChecklistReport')\r\n\r\nexport default {\r\n    remove: [\r\n        \"checklist-report\",\r\n    ],\r\n    routes: [\r\n        {\r\n            path: '/custom/checklist/spobras/view/:id',\r\n            name: 'custom-consorciolmm-checklist-spobras-form-view',\r\n            component: CustomSPObrasForm\r\n        }, {\r\n            path: '/custom/checklist/spobras/:id',\r\n            name: 'custom-consorciolmm-checklist-spobras-form',\r\n            component: CustomSPObrasForm\r\n        },\r\n        {\r\n            path: '/custom/checklist/spobras',\r\n            name: 'custom-consorciolmm-checklist-spobras',\r\n            component: CustomSPObras\r\n        },\r\n        {path: '/custom/checklist/report', name: 'custom-consorciolmm-checklist-report', component: CustomChecklistReport},\r\n\r\n    ]\r\n}\r\n","/*const CymacoQuote = () => import('@/views/custom/cymaco/CymacoQuote')\r\nconst CymacoQuoteForm = () => import('@/views/custom/cymaco/CymacoQuoteForm')*/\r\n\r\nexport default {\r\n\r\n    remove: [],\r\n    routes: [],\r\n\r\n    /*remove: [\r\n        \"business-quote\",\r\n        \"business-quote-form-new\",\r\n        \"business-quote-form-view\",\r\n        \"business-quote-form-remove\",\r\n        \"business-quote-form\",\r\n    ],\r\n    routes: [\r\n        {\r\n            path: '/custom/business/quote/new',\r\n            name: 'custom-cymaco-business-quote-form-new',\r\n            component: CymacoQuoteForm\r\n        }, {\r\n            path: '/custom/business/quote/view/:id',\r\n            name: 'custom-cymaco-business-quote-form-view',\r\n            component: CymacoQuoteForm\r\n        }, {\r\n            path: '/custom/business/quote/remove/:id',\r\n            name: 'custom-cymaco-business-quote-form-remove',\r\n            component: CymacoQuoteForm\r\n        }, {\r\n            path: '/custom/business/quote/:id',\r\n            name: 'custom-cymaco-business-quote-form',\r\n            component: CymacoQuoteForm\r\n        },\r\n        {\r\n            path: '/custom/business/quote',\r\n            name: 'custom-cymaco-business-quote',\r\n            component: CymacoQuote\r\n        }\r\n\r\n    ]*/\r\n}\r\n","import polimix from \"../custom/polimix\"\r\nimport consorciolmm from \"../custom/consorciolmm\"\r\nimport cymaco from \"../custom/cymaco\";\r\n\r\nconst customers = {\r\n    polimix,\r\n    consorciolmm,\r\n    cymaco\r\n}\r\n\r\n//LOGAR NOVAMENTE PARA FUNCIONAR!!!\r\n\r\nlet routes = [] //Rotas que serão inseridas fora do padrão\r\nlet remove = [] //Rotas que serão removidas do padrão\r\n\r\nif (localStorage.getItem('account')) {\r\n\r\n    const account = JSON.parse(localStorage.getItem('account'))\r\n    const domain = account.domain\r\n\r\n    if (account.custom) {\r\n        if (customers[domain]) {\r\n            routes = customers[domain].routes\r\n            remove = customers[domain].remove\r\n        } else {\r\n            console.log(\"Módulo custom: \" + domain + \" não importado e/ou não inserido no array customers\")\r\n            alert('Falha módulo não registrado')\r\n        }\r\n    }\r\n}\r\n\r\nexport default {\r\n    routes,\r\n    remove\r\n}\r\n","import RoutesGeneral from './modules/general'\r\nimport RoutesArch from './modules/view'\r\nimport RoutesProduction from './modules/core'\r\nimport RoutesERP from './modules/erp'\r\nimport RoutesCustom from './modules/custom'\r\n\r\n\r\n//Telas que não necessitam esta logado (raiz)\r\nconst Login = () => import('../views/Login')\r\nconst Recovery = () => import('../views/Recovery')\r\nconst ReportByPartPublic = () => import('../views/ReportByPartPublic')\r\nconst ReportByPartPublicFiles = () => import('../views/ReportByPartPublicFiles')\r\nconst ReportView = () => import('@/views/modules/ReportView')\r\nconst Default = () => import('../views/Default')\r\n\r\nlet routes = RoutesGeneral\r\n\r\nif (localStorage.getItem('account')) {\r\n\r\n    const account = JSON.parse(localStorage.getItem('account'))\r\n    let removeByCustom = []\r\n\r\n    if (account.module === 'production')\r\n        routes = routes.concat(RoutesProduction)\r\n\r\n    if (account.module === 'arch')\r\n        routes = routes.concat(RoutesArch)\r\n\r\n    //if (account.module === 'erp') {\r\n        //Por enquanto o módulo de produção é o único que poderá ser vendido com ERP\r\n        routes = routes.concat(RoutesERP)\r\n    //}\r\n\r\n    if (account.custom) {\r\n        routes = routes.concat(RoutesCustom.routes)\r\n        removeByCustom = RoutesCustom.remove\r\n    }\r\n\r\n\r\n    for (const remove of removeByCustom) {\r\n        const indexRemove = routes.findIndex(a => a.name === remove)\r\n\r\n        if (indexRemove >= 0)\r\n            routes.splice(indexRemove, 1)\r\n\r\n    }\r\n\r\n\r\n}\r\n\r\n\r\nexport default [\r\n    {\r\n        path: '/login',\r\n        component: Login,\r\n        name: 'login'\r\n    },\r\n    {\r\n        path: '/recovery',\r\n        component: Recovery,\r\n        name: 'recovery'\r\n    },\r\n    {\r\n        path: '/r/:tokenReport',\r\n        component: ReportByPartPublic,\r\n        name: 'report-by-part-public'\r\n    },\r\n    {\r\n        path: '/r/:tokenReport/:tokenDownload',\r\n        component: ReportByPartPublicFiles,\r\n        name: 'report-by-part-public-files'\r\n    },\r\n    {\r\n        path: '/report-view',\r\n        component: ReportView,\r\n        name: 'report-view'\r\n    },\r\n    {\r\n        path: '/',\r\n        component: Default,\r\n        name: 'default',\r\n        meta: {requiresAuth: true},\r\n        props: true,\r\n        children: routes\r\n    },\r\n    {\r\n        path: '*',\r\n        redirect: '/'\r\n    }\r\n\r\n]","import Vue from 'vue'\r\nimport Router from 'vue-router';\r\nimport Routes from '@/router/routes'\r\n\r\nVue.use(Router)\r\n\r\nconst router = new Router({\r\n    mode: 'history',\r\n    /*beforeEach(to, from, next) {\r\n        console.log(to)\r\n        console.log(from)\r\n        next()\r\n    },*/\r\n    routes: Routes\r\n})\r\n\r\n/*\r\nDemora mais, pois sempre será verificado no localstore em toda a requisição, deixando mais lento o processamento.\r\nrouter.beforeEach((to, from, next) => {\r\n\r\n    //console.log('origem:' + from.name)\r\n\r\n    let isAuthenticated = false\r\n\r\n    if (localStorage.getItem('account')) {\r\n        //console.log('possui')\r\n        let account = JSON.parse(localStorage.getItem('account'))\r\n\r\n        if (account.token !== '') {\r\n            isAuthenticated = true\r\n        }\r\n\r\n    } else {\r\n        //console.log('nao possui')\r\n    }\r\n\r\n    if ((to.name !== 'login' && to.name !== 'recovery') && !isAuthenticated) next({name: 'login'})\r\n    else next()\r\n\r\n})*/\r\n\r\nexport default router\r\n","import Vue from 'vue'\r\nimport Vuex from 'vuex'\r\n\r\nVue.use(Vuex)\r\n\r\nexport default new Vuex.Store({\r\n    state: {\r\n        count: 0,\r\n        menuFixed: true,\r\n        menuFixedOld: true,\r\n        menuHover: false,\r\n        menuClicked: false,\r\n        openMenuMobile:false,\r\n        isLoadingPage: true,\r\n        blackoutShow: false,\r\n        disabledButtonSubmit: false,\r\n        groupUser:[],\r\n        currentPage: {\r\n            pageId: 0,\r\n            moduleId: 0,\r\n            menuPageId: 0,\r\n            name: \"\",\r\n            path: \"\",\r\n            pageTitle: \"\",\r\n            singularTitle: \"\",\r\n            viewDefaultReportId: 0,\r\n        },\r\n        currentPageSettings: {\r\n            menuButtons: {\r\n                right: false\r\n            }\r\n        },\r\n        lastPage:{\r\n            name: \"\",\r\n            path: \"\",\r\n            query: {},\r\n        },\r\n        languages: [\r\n            {\r\n                type: \"en\",\r\n                name: \"English\"\r\n            },\r\n            {\r\n                type: \"es\",\r\n                name: \"Español\"\r\n            },\r\n            {\r\n                type: \"pt-BR\",\r\n                name: \"Português\"\r\n            }\r\n        ],\r\n        account: {\r\n            domain: \"\",\r\n            name: \"\",\r\n            login: \"\",\r\n            authorization: \"\",\r\n            token: \"\",\r\n            tempPassword: false,\r\n            module: \"\",\r\n            custom: false,\r\n        },\r\n        template: {\r\n            colorPrimary: \"\",\r\n            colorSecondary: \"\",\r\n            colorLight: \"\",\r\n            logoSmall: \"\",\r\n            logoMedium: \"\",\r\n            logoLarge: \"\",\r\n            logoWhite: \"\",\r\n            font: \"\"\r\n        }\r\n    },\r\n    mutations: {\r\n        testeMutation(state) {\r\n            state.count++\r\n        },\r\n        setAccount(state, account) {\r\n            state.account = account\r\n        },\r\n        setToggleMenuFixed(state) {\r\n            state.menuFixed = !state.menuFixed;\r\n            state.menuFixedOld = state.menuFixed;\r\n\r\n        },\r\n        setMenuFixed(state, fixed) {\r\n            state.menuFixed = fixed;\r\n        },\r\n        setOpenMenuMobile(state, open) {\r\n            state.openMenuMobile = open;\r\n        },\r\n        setGroupUser(state, groupUser){\r\n            state.groupUser = groupUser\r\n        },\r\n        setIsLoadingPage(state, isLoadingPage) {\r\n            state.isLoadingPage = isLoadingPage;\r\n        },\r\n        setMenuFixedOld(state, fixed) {\r\n            state.menuFixedOld = fixed;\r\n        },\r\n        setMenuHover(state, fixed) {\r\n            state.menuHover = fixed;\r\n        },\r\n        setItemMenuClicked(state) {\r\n            state.menuClicked = true;\r\n            setTimeout(() => {\r\n                state.menuClicked = false;\r\n            }, 500)\r\n        },\r\n        setCurrentPage(state, currentPage) {\r\n            state.currentPage = currentPage\r\n        },\r\n        setPageMenuButtonsRight(state, right) {\r\n            state.currentPageSettings.menuButtons.right = right\r\n        },\r\n        setDisabledButtonSubmit(state, disabled) {\r\n            state.disabledButtonSubmit = disabled\r\n        },\r\n        setPageBlackoutShow(state, blackoutShow) {\r\n            state.blackoutShow = blackoutShow\r\n        },\r\n        setLastPage(state, lastPage) {\r\n            state.lastPage = lastPage\r\n        },\r\n    },\r\n    actions: {\r\n        teste({commit}) {\r\n            return new Promise((resolve) => {\r\n                setTimeout(() => {\r\n                    commit('testeMutation')\r\n                    resolve()\r\n                }, 2000)\r\n            })\r\n        }\r\n\r\n    },\r\n    getters: {\r\n        getLanguages(state) {\r\n            return state.languages\r\n        },\r\n        getCurrentPageSettings(state) {\r\n            return state.currentPageSettings\r\n        },\r\n        getGroupUser(state){\r\n          return state.groupUser\r\n        },\r\n        getCurrentPage(state) {\r\n            return state.currentPage\r\n        },\r\n        getPageMenuButtonsRight(state) {\r\n            return state.currentPageSettings.menuButtons.right\r\n        },\r\n        getMenuFixed(state) {\r\n            return state.menuFixed\r\n        },\r\n        getMenuFixedOld(state) {\r\n            return state.menuFixedOld\r\n        },\r\n        getMenuHover(state) {\r\n            return state.menuHover\r\n        },\r\n        getMenuClicked(state) {\r\n            return state.menuClicked\r\n        },\r\n        getOpenMenuMobile(state) {\r\n            return state.openMenuMobile\r\n        },\r\n        getIsLoadingPage(state) {\r\n            return state.isLoadingPage\r\n        },\r\n        getItemMenuActiveId(state) {\r\n            return state.currentPage.menuPageId\r\n        },\r\n        getPageBlackoutShow(state) {\r\n            return state.blackoutShow\r\n        },\r\n        getDisabledButtonSubmit(state) {\r\n            return state.disabledButtonSubmit\r\n        },\r\n        getAccountUser(state) {\r\n            //localStorage.getItem('account')\r\n            return state.account\r\n        },\r\n        getLastPage(state) {\r\n            return state.lastPage\r\n        },\r\n    }\r\n})\r\n","var render, staticRenderFns\nimport script from \"./t-wrapped.vue?vue&type=script&lang=js&\"\nexport * from \"./t-wrapped.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","var render, staticRenderFns\nimport script from \"./t-form-wrapped.vue?vue&type=script&lang=js&\"\nexport * from \"./t-form-wrapped.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"app-main__outer\",attrs:{\"id\":\"content-page-current\"}},[_c('div',{staticClass:\"app-main__inner\"},[_vm._t(\"header\"),(_vm.hasBlackout)?_c('div',{staticClass:\"d-flex justify-content-center align-items-center\",staticStyle:{\"position\":\"fixed\",\"width\":\"100%\",\"height\":\"100%\",\"background-color\":\"#FFFFFF\",\"opacity\":\"0.5\",\"z-index\":\"2\"},attrs:{\"id\":\"blackout\"}},[_vm._m(0)]):_vm._e(),(_vm.hasLoadingPage)?_c('div',{staticClass:\"d-flex h-100-header justify-content-center align-items-center\"},[_vm._m(1)]):_c('div',{staticClass:\"row\",attrs:{\"id\":\"page-content\"}},[_vm._t(\"default\")],2)],2),_vm._t(\"footer\")],2)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"loader\",staticStyle:{\"scale\":\"1.5\"}},[_c('div',{staticClass:\"ball-clip-rotate-multiple\"},[_c('div'),_c('div')])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"loader-wrapper\"},[_c('div',{staticClass:\"loader\"},[_c('div',{staticClass:\"ball-pulse-sync\"},[_c('div'),_c('div'),_c('div')])])])}]\n\nexport { render, staticRenderFns }","<template>\r\n\r\n  <div class=\"app-main__outer\" id=\"content-page-current\">\r\n\r\n    <div class=\"app-main__inner\">\r\n\r\n      <slot name=\"header\"></slot>\r\n\r\n\r\n      <div  v-if=\"hasBlackout\" class=\"d-flex justify-content-center align-items-center\" style=\"position: fixed; width: 100%; height: 100%; background-color: #FFFFFF; opacity: 0.5; z-index: 2\" id=\"blackout\">\r\n\r\n        <div class=\"loader\" style=\"scale: 1.5\">\r\n          <div class=\"ball-clip-rotate-multiple\">\r\n            <div></div>\r\n            <div></div>\r\n          </div>\r\n        </div>\r\n\r\n\r\n      </div>\r\n\r\n      <div class=\"d-flex h-100-header justify-content-center align-items-center\" v-if=\"hasLoadingPage\">\r\n\r\n        <div class=\"loader-wrapper\">\r\n          <div class=\"loader\">\r\n            <div class=\"ball-pulse-sync\">\r\n              <div></div>\r\n              <div></div>\r\n              <div></div>\r\n            </div>\r\n          </div>\r\n        </div>\r\n\r\n\r\n      </div>\r\n\r\n      <div class=\"row\" v-else id=\"page-content\">\r\n        <slot></slot>\r\n      </div>\r\n\r\n    </div>\r\n\r\n    <slot name=\"footer\"></slot>\r\n\r\n  </div>\r\n\r\n</template>\r\n\r\n<script>\r\nexport default {\r\n  name: \"t-page\",\r\n  props: {},\r\n  data() {\r\n    return {\r\n      //page: {}\r\n    }\r\n  },\r\n  computed: {\r\n\r\n    hasBlackout(){\r\n      return this.$store.getters.getPageBlackoutShow\r\n    },\r\n\r\n    hasLoadingPage() {\r\n      return this.$store.getters.getIsLoadingPage\r\n    }\r\n\r\n  }\r\n}\r\n</script>\r\n\r\n<style>\r\n\r\n</style>\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./t-page.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./t-page.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./t-page.vue?vue&type=template&id=0771f7eb&\"\nimport script from \"./t-page.vue?vue&type=script&lang=js&\"\nexport * from \"./t-page.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"container-title-page\"},[_c('div',{staticClass:\"flex-grow-1 title-page\"},[_vm._v(_vm._s(_vm.title))]),_c('div',{staticClass:\"header-buttons\"},[_vm._t(\"default\")],2)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <div class=\"container-title-page\">\n\n    <div class=\"flex-grow-1 title-page\">{{ title }}</div>\n\n    <div class=\"header-buttons\">\n\n      <slot>\n\n\n      </slot>\n\n    </div>\n\n  </div>\n</template>\n<style>\n\n\n</style>\n<script>\nexport default {\n  name: 't-page-title',\n  props: {\n    title: {}\n  }\n}\n</script>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./t-page-title.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./t-page-title.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./t-page-title.vue?vue&type=template&id=2074e577&\"\nimport script from \"./t-page-title.vue?vue&type=script&lang=js&\"\nexport * from \"./t-page-title.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _vm._m(0)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"app-page-title\"},[_c('div',{staticClass:\"page-title-wrapper\"})])}]\n\nexport { render, staticRenderFns }","<template>\n\n  <div class=\"app-page-title\">\n    <div class=\"page-title-wrapper\">\n    </div>\n  </div>\n\n</template>\n<script>\nexport default {\n  name: 't-header',\n  props: {\n    page: {\n      type:Object,\n      required: false\n    }\n  }\n}\n</script>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./t-header.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./t-header.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./t-header.vue?vue&type=template&id=632aa126&\"\nimport script from \"./t-header.vue?vue&type=script&lang=js&\"\nexport * from \"./t-header.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"app-wrapper-footer\"},[_c('div',{staticClass:\"app-footer\"},[_c('div',{staticClass:\"app-footer__inner\"},[_vm._t(\"default\")],2)])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <div class=\"app-wrapper-footer\">\n    <div class=\"app-footer\">\n      <div class=\"app-footer__inner\"><slot></slot></div>\n    </div>\n  </div>\n</template>\n<script>\nexport default {\n  name: 't-footer'\n}\n</script>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./t-footer.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./t-footer.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./t-footer.vue?vue&type=template&id=1a1c6fab&\"\nimport script from \"./t-footer.vue?vue&type=script&lang=js&\"\nexport * from \"./t-footer.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-modal',{ref:\"modal\",attrs:{\"id\":_vm.id,\"title\":_vm.title,\"cancel-title\":\"Cancelar\"},on:{\"show\":_vm.onShow,\"hidden\":_vm.onHidden,\"ok\":_vm.handleOk},scopedSlots:_vm._u([{key:\"modal-footer\",fn:function(ref){\nvar ok = ref.ok;\nvar cancel = ref.cancel;\nreturn [_c('t-button',{attrs:{\"text\":\"Cancelar\",\"sending\":_vm.onSending,\"secondary\":\"\"},on:{\"click\":function($event){return cancel()}}}),_c('t-button',{attrs:{\"text\":_vm.okText,\"sending\":_vm.onSending,\"primary\":\"\"},on:{\"click\":function($event){return ok()}}})]}}])},[_c('validation-observer',{ref:\"validation\"},[_c('b-form',{ref:\"form\",on:{\"submit\":function($event){$event.preventDefault();return _vm.onSubmit.apply(null, arguments)}}},[_c('t-form-wrapped',{attrs:{\"command\":_vm.command,\"status\":_vm.onStatus}},[_vm._t(\"default\")],2)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\n  <b-modal\n      :id=\"id\"\n      ref=\"modal\"\n      :title=\"title\"\n      cancel-title=\"Cancelar\"\n      @show=\"onShow\"\n      @hidden=\"onHidden\"\n      @ok=\"handleOk\">\n\n    <validation-observer ref=\"validation\">\n\n      <b-form @submit.prevent=\"onSubmit\" ref=\"form\">\n\n        <t-form-wrapped :command=\"command\" :status=\"onStatus\">\n          <slot></slot>\n        </t-form-wrapped>\n\n      </b-form>\n\n    </validation-observer>\n\n    <template #modal-footer=\"{ ok, cancel }\">\n\n      <t-button @click=\"cancel()\" text=\"Cancelar\" :sending=\"onSending\" secondary/>\n      <t-button @click=\"ok()\" :text=\"okText\" :sending=\"onSending\" primary/>\n\n    </template>\n\n  </b-modal>\n\n</template>\n<script>\nexport default {\n  name: 't-dialog-confirm',\n  data() {\n    return {\n      status: \"\",\n    }\n  },\n  props: {\n    id: String,\n    title: String,\n    okText: {\n      type: String,\n      default: 'Excluir'\n    },\n    command: {\n      type: String,\n      default: 'insert'\n    },\n  },\n  computed: {\n    onStatus() {\n      return this.status\n    },\n    onSending() {\n      return this.status === \"sending\"\n    },\n  },\n  methods: {\n\n    onShow() {\n      this.$emit('show')\n    },\n    onHidden() {\n      this.$emit('hidden')\n    },\n    handleOk(bvModalEvt) {\n\n      bvModalEvt.preventDefault()\n      this.onSubmit()\n\n    },\n    onSubmit() {\n\n\n        this.$emit('onSubmit')\n\n    }\n\n\n  }\n}\n</script>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./t-dialog-confirm.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./t-dialog-confirm.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./t-dialog-confirm.vue?vue&type=template&id=dae92e26&\"\nimport script from \"./t-dialog-confirm.vue?vue&type=script&lang=js&\"\nexport * from \"./t-dialog-confirm.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('fragment',[_c('b-table',{attrs:{\"striped\":\"\",\"items\":_vm.items}}),_vm._v(\" Interno: \"+_vm._s(_vm.botao.src)+\" \")],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export default class ButtonEntity {\r\n    //Pesquisar exemplo por: botao: ButtonEntity\r\n    constructor(src) {\r\n        if (src) {\r\n            this.src = src;\r\n        }\r\n    }\r\n    getSrc() {\r\n        return this.src;\r\n    }\r\n}\r\n","<template>\n\n  <fragment>\n    <b-table striped :items=\"items\"></b-table>\n    Interno: {{botao.src}}\n  </fragment>\n\n</template>\n<script>\nimport ButtonEntity from \"@/model/entities/resource/entity/ButtonEntity\";\n\nexport default {\n  name: 't-list',\n  props: {\n    items: {\n      type: Array,\n      required: false\n    },\n    botao: ButtonEntity\n  }\n}\n</script>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./t-list.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./t-list.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./t-list.vue?vue&type=template&id=3508b28e&\"\nimport script from \"./t-list.vue?vue&type=script&lang=js&\"\nexport * from \"./t-list.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',[_c('b-button-group',{staticClass:\"listActions float-right\"},[_vm._t(\"default\"),(_vm.userAuth.validation.validationRead)?_c('b-button',{class:{'opacity-0':_vm.disableRead},attrs:{\"disabled\":_vm.disableRead,\"size\":\"sm\",\"variant\":\"outline\"},on:{\"click\":_vm.onReadAction}},[_c('b-icon',{attrs:{\"icon\":\"search\",\"variant\":\"primary\"}})],1):_vm._e(),(_vm.userAuth.validation.validationDelete)?_c('b-button',{class:{'opacity-0':_vm.disableDelete},attrs:{\"disabled\":_vm.disableDelete,\"size\":\"sm\",\"variant\":\"outline\"},on:{\"click\":_vm.onDeleteAction}},[_c('b-icon',{attrs:{\"icon\":\"trash\",\"variant\":\"danger\"}})],1):_vm._e()],2)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <span>\n\n      <b-button-group class=\"listActions float-right\">\n\n        <slot></slot>\n\n        <b-button\n            v-if=\"userAuth.validation.validationRead\"\n            :disabled=\"disableRead\" @click=\"onReadAction\" :class=\"{'opacity-0':disableRead}\" size=\"sm\"\n            variant=\"outline\">\n        <b-icon icon=\"search\" variant=\"primary\"></b-icon>\n      </b-button>\n\n        <!--\n        Botão update tem prioridade na exibição do link principal\n        <b-button v-b-tooltip.hover title=\"Editar\" v-if=\"userAuth.validation.validationUpdate\" size=\"sm\" variant=\"outline\">\n          <b-icon icon=\"pencil\" variant=\"primary\"></b-icon>\n        </b-button>\n        -->\n\n      <b-button\n          v-if=\"userAuth.validation.validationDelete\"\n          :disabled=\"disableDelete\" @click=\"onDeleteAction\" :class=\"{'opacity-0':disableDelete}\"\n          size=\"sm\" variant=\"outline\">\n        <b-icon icon=\"trash\" variant=\"danger\"></b-icon>\n      </b-button>\n\n\n    </b-button-group>\n\n  </span>\n</template>\n<script>\n\nimport ui from \"@/assets/scripts/ui\";\nimport {crudGeneral} from \"@/services/resource/GeneralCRUD.service\";\n\nexport default {\n  name: 't-list-actions-default',\n  data() {\n    return {\n      linkView: \"\",\n      linkDelete: \"\",\n      localIdRead: 0,\n    }\n  },\n  props: {\n    disableRead: {\n      type: Boolean,\n      default: false,\n    },\n    disableDelete: {\n      type: Boolean,\n      default: false,\n    },\n    userAuth: {\n      type: Object,\n      required: true\n    },\n    formPath: {\n      type: String,\n    },\n    id: {\n      type: Number,\n      default: 0,\n      required: true\n    },\n    deleteByConfirmId: {\n      type: Number,\n      default: 0,\n    },\n  },\n  methods: {\n\n    generateLinks(){\n\n      this.localIdRead = this.id\n\n      this.linkView = \"/\" + this.formPath + \"/view/\" + this.id\n\n      this.linkDelete = \"/\" + this.formPath + \"/remove/\" + this.id\n\n    },\n\n    async onReadAction() {\n      await ui.goPath(this, this.linkView)\n    },\n\n    async onDeleteAction() {\n      if (this.deleteByConfirmId > 0) {\n\n        ui.msgConfirmDelete(this, async () => {\n\n          await crudGeneral.remove(this.formPath, this.deleteByConfirmId).then(() => {\n\n            ui.toast(this, \"Informação\", \"Exclusão realizada com sucesso!\")\n            this.$emit(\"reload\")\n\n          }).catch(error => alert(error))\n        })\n      } else {\n        await ui.goPath(this, this.linkDelete)\n      }\n    }\n  },\n  mounted() {\n\n   this.generateLinks()\n\n  },\n  watch:{\n\n    id(){\n      this.generateLinks()\n    }\n\n  }\n\n}\n</script>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./t-list-actions-default.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./t-list-actions-default.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./t-list-actions-default.vue?vue&type=template&id=291ea6f0&\"\nimport script from \"./t-list-actions-default.vue?vue&type=script&lang=js&\"\nexport * from \"./t-list-actions-default.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.userAuth.validation.validationUpdate)?_c('b-link',{staticClass:\"link-main\",attrs:{\"to\":'/' + _vm.path + '/' + _vm.id}},[_c('t-table-field',{attrs:{\"formatter\":_vm.formatter,\"label\":_vm.label}})],1):_c('span',[_c('t-table-field',{attrs:{\"formatter\":_vm.formatter,\"label\":_vm.label}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <b-link class=\"link-main\" v-if=\"userAuth.validation.validationUpdate\" :to=\"'/' + path + '/' + id\">\n    <t-table-field :formatter=\"formatter\" :label=\"label\"/>\n  </b-link>\n  <span v-else>\n    <t-table-field :formatter=\"formatter\" :label=\"label\"/>\n  </span>\n</template>\n<script>\n\n\nexport default {\n  name: 't-list-link-primary',\n  data() {\n    return {}\n  },\n  props: {\n    userAuth: {\n      type: Object,\n      required: true\n    },\n    path: {\n      type: String,\n      required: true\n    },\n    id: {\n      type: Number,\n      required: true\n    },\n    label: {\n      type: [String, Number],\n      required: true\n    },\n    formatter: {\n      type: String,\n      default: \"\",\n    },\n  },\n  methods: {\n\n\n    async editItem() {\n\n      //console.log(this.$route.query)\n\n    }\n\n  }\n}\n</script>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./t-list-link-primary.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./t-list-link-primary.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./t-list-link-primary.vue?vue&type=template&id=1c2cbfe2&\"\nimport script from \"./t-list-link-primary.vue?vue&type=script&lang=js&\"\nexport * from \"./t-list-link-primary.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-col',{attrs:{\"cols\":\"12\"}},[_c('div',{staticClass:\"main-card card p-2 h-100-header\",attrs:{\"id\":\"container_pages\"}},[_c('div',{staticClass:\"card-body\",attrs:{\"id\":\"card-page\"}},[(_vm.breadcrumb)?_c('b-row',[_c('b-breadcrumb',{attrs:{\"items\":_vm.breadcrumb}})],1):_vm._e(),_vm._t(\"title\",function(){return [_c('t-page-title',{attrs:{\"title\":_vm.currentPage.pageTitle}},[_vm._t(\"title-buttons\")],2)]}),_c('div',{staticClass:\"mt-4\"},[_vm._t(\"default\")],2)],2)])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <b-col cols=\"12\">\n\n    <div class=\"main-card card p-2 h-100-header\" id=\"container_pages\">\n\n      <div class=\"card-body\" id=\"card-page\">\n\n        <b-row v-if=\"breadcrumb\">\n          <b-breadcrumb :items=\"breadcrumb\"></b-breadcrumb>\n        </b-row>\n\n        <slot name=\"title\">\n          <t-page-title :title=\"currentPage.pageTitle\">\n            <slot name=\"title-buttons\"></slot>\n          </t-page-title>\n        </slot>\n\n        <div class=\"mt-4\">\n\n          <slot>\n\n          </slot>\n\n        </div>\n\n      </div>\n\n    </div>\n  </b-col>\n</template>\n<style>\n</style>\n<script>\nexport default {\n  name: 't-page-general',\n  props: {\n    currentPage: Object,\n    userAuth: Object,\n    breadcrumb: Array\n  },\n  data() {\n    return {\n      localIsLoadingPage: false,\n    }\n  },\n  mounted() {\n\n  },\n  methods: {},\n  computed: {\n\n  },\n  watch: {},\n}\n</script>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./t-page-general.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./t-page-general.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./t-page-general.vue?vue&type=template&id=6126bb30&\"\nimport script from \"./t-page-general.vue?vue&type=script&lang=js&\"\nexport * from \"./t-page-general.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-col',{attrs:{\"cols\":\"12\"}},[_c('div',{staticClass:\"main-card card p-2 h-100-header\",attrs:{\"id\":\"container_pages\"}},[_c('div',{staticClass:\"card-body\",attrs:{\"id\":\"card-page\"}},[_vm._t(\"breadcrumb\"),(_vm.breadcrumb !== undefined && _vm.breadcrumb.length > 0 && _vm.breadcrumb !== null)?_c('b-row',[_c('b-breadcrumb',{attrs:{\"items\":_vm.breadcrumb}})],1):_vm._e(),_c('t-page-title',{attrs:{\"title\":_vm.title}},[_c('t-page-list-right-buttons',{attrs:{\"disable-edit-field\":_vm.disableEditField,\"disable-edit-view\":_vm.disableEditView,\"user-auth\":_vm.userAuth},on:{\"onMountAgain\":function($event){return _vm.onMountAgain()}},scopedSlots:_vm._u([{key:\"add-items\",fn:function(){return [_vm._t(\"right-buttons-add-items\")]},proxy:true}],null,true)})],1),_c('b-row',[_c('b-col',{staticClass:\"ml-0 mr-0\",attrs:{\"cols\":\"12\"}},[_c('div',{staticClass:\"form-inline page-list-search\"},[_vm._t(\"search\")],2)])],1),_c('div',{staticClass:\"mt-4\"},[_c('t-msg',{attrs:{\"query\":_vm.msgReturnQueryCode,\"auto-hide\":\"\",\"gender-feminine\":_vm.msgReturnGenderFeminine,\"title\":_vm.msgResultFormTitle()}}),_vm._t(\"default\")],2),_c('b-row',{staticClass:\"mt-3\"},[(_vm.totalPages > 1)?_c('b-col',{attrs:{\"cols\":\"6\"}},[_c('t-pagination',{attrs:{\"total-pages\":_vm.totalPages},on:{\"getPage\":_vm.getPage}})],1):_vm._e(),(_vm.totalElements > 0)?_c('b-col',{staticClass:\"text-right\",attrs:{\"cols\":_vm.totalPages === 1 ? 12 : 6}},[_c('small',[_vm._v(\"Total \"+_vm._s(_vm.totalElements)+\" \"+_vm._s(_vm.localTitleItems))])]):_vm._e()],1)],2)])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('b-modal',{ref:\"modalFields\",attrs:{\"size\":\"lg\",\"id\":\"modal-fields\",\"hide-footer\":\"\",\"title\":\"Editar campos customizados\"},on:{\"hide\":function($event){return _vm.onMountAgain('fields')}},model:{value:(_vm.modalFields),callback:function ($$v) {_vm.modalFields=$$v},expression:\"modalFields\"}},[(_vm.modalFields)?_c('PageField',{attrs:{\"name\":_vm.pageTitle,\"foreign-key\":_vm.pageId}}):_vm._e()],1),_c('b-modal',{attrs:{\"size\":\"lg\",\"id\":\"modal-view\",\"hide-footer\":\"\",\"title\":\"Editar visualização\"},on:{\"hide\":function($event){return _vm.onMountAgain('view')}},model:{value:(_vm.modalView),callback:function ($$v) {_vm.modalView=$$v},expression:\"modalView\"}},[(_vm.modalView)?_c('PageView',{attrs:{\"name\":_vm.pageTitle,\"foreign-key\":_vm.pageId}}):_vm._e()],1),(_vm.hasAccess())?_c('b-dropdown',{staticStyle:{\"display\":\"block !important\"},attrs:{\"id\":\"dropdown-right\",\"toggle-class\":\"p-1\",\"no-caret\":\"\",\"dropleft\":\"\",\"variant\":\"outline-gray\"},scopedSlots:_vm._u([{key:\"button-content\",fn:function(){return [_c('b-icon-three-dots-vertical')]},proxy:true}],null,false,357261731)},[(!_vm.disableEditField && _vm.relationAccessSubValidation('sub-action-general-edit-field'))?_c('b-dropdown-item',{on:{\"click\":function($event){return _vm.openModalFields()}}},[_vm._v(\" Campos Customizados \")]):_vm._e(),(!_vm.disableEditView && _vm.relationAccessSubValidation('sub-action-general-edit-view'))?_c('b-dropdown-item',{on:{\"click\":function($event){return _vm.openModalView()}}},[_vm._v(\" Editar Exibição \")]):_vm._e(),_vm._t(\"add-items\")],2):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\n  <div>\n\n    <b-modal size=\"lg\" @hide=\"onMountAgain('fields')\" ref=\"modalFields\" v-model=\"modalFields\" id=\"modal-fields\" hide-footer\n             title=\"Editar campos customizados\">\n      <PageField v-if=\"modalFields\" :name=\"pageTitle\" :foreign-key=\"pageId\"/>\n    </b-modal>\n\n    <b-modal size=\"lg\" @hide=\"onMountAgain('view')\" v-model=\"modalView\" id=\"modal-view\" hide-footer\n             title=\"Editar visualização\">\n      <PageView v-if=\"modalView\" :name=\"pageTitle\" :foreign-key=\"pageId\"/>\n    </b-modal>\n\n    <b-dropdown v-if=\"hasAccess()\" id=\"dropdown-right\" toggle-class=\"p-1\" style=\"display: block !important;\" no-caret dropleft variant=\"outline-gray\">\n\n      <template #button-content>\n        <b-icon-three-dots-vertical></b-icon-three-dots-vertical>\n      </template>\n\n\n      <b-dropdown-item @click=\"openModalFields()\" v-if=\"!disableEditField && relationAccessSubValidation('sub-action-general-edit-field')\">\n        Campos Customizados\n      </b-dropdown-item>\n      <b-dropdown-item @click=\"openModalView()\" v-if=\"!disableEditView && relationAccessSubValidation('sub-action-general-edit-view')\">\n        Editar Exibição\n      </b-dropdown-item>\n\n      <slot name=\"add-items\"></slot>\n\n\n    </b-dropdown>\n\n  </div>\n\n\n</template>\n<script>\nimport PageField from \"@/views/modules/general/PageField\"\nimport PageView from \"@/views/modules/general/PageView\"\n\nexport default {\n  name: 't-page-list-right-buttons',\n  components: {PageField, PageView},\n  data() {\n    return {\n      pageTitle: \"\",\n      pageId: 0,\n      modalFields: false,\n      modalView: false,\n\n    }\n  },\n  props: {\n    userAuth: Object,\n    disableEditField: Boolean,\n    disableEditView: Boolean,\n  },\n  mounted() {\n    this.pageTitle = this.userAuth.currentPage.pageTitle\n    this.pageId = this.userAuth.currentPage.pageId\n  },\n\n  methods: {\n\n    onMountAgain(){\n      this.$emit(\"onMountAgain\")\n    },\n\n    hasAccess() {\n      return this.relationAccessSubValidation('sub-action-general-edit-field') || this.relationAccessSubValidation('sub-action-general-edit-view')\n    },\n\n    relationAccessSubValidation(subValidationTag) {\n      let e = this.userAuth.subValidations.find(el => el.subValidationTag === subValidationTag);\n      return !!e;\n    },\n\n    openModalFields() {\n      this.modalFields = true\n    },\n\n    openModalView() {\n      this.modalView = true\n    },\n\n  }\n}\n</script>","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./t-page-list-right-buttons.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./t-page-list-right-buttons.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./t-page-list-right-buttons.vue?vue&type=template&id=2e93da10&\"\nimport script from \"./t-page-list-right-buttons.vue?vue&type=script&lang=js&\"\nexport * from \"./t-page-list-right-buttons.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","<template>\n\n  <b-col cols=\"12\">\n\n    <div class=\"main-card card p-2 h-100-header\" id=\"container_pages\">\n\n      <div class=\"card-body\" id=\"card-page\">\n\n        <slot name=\"breadcrumb\">\n\n        </slot>\n\n        <b-row v-if=\"breadcrumb !== undefined && breadcrumb.length > 0 && breadcrumb !== null\">\n          <b-breadcrumb :items=\"breadcrumb\"></b-breadcrumb>\n        </b-row>\n\n        <t-page-title :title=\"title\">\n\n          <t-page-list-right-buttons @onMountAgain=\"onMountAgain()\"\n                                     :disable-edit-field=\"disableEditField\"\n                                     :disable-edit-view=\"disableEditView\"\n                                     :user-auth=\"userAuth\">\n            <template #add-items>\n              <slot name=\"right-buttons-add-items\"></slot>\n            </template>\n          </t-page-list-right-buttons>\n\n        </t-page-title>\n\n        <b-row>\n\n          <b-col cols=\"12\" class=\"ml-0 mr-0\">\n\n            <div class=\"form-inline page-list-search\">\n\n              <slot name=\"search\">\n\n              </slot>\n\n            </div>\n\n          </b-col>\n\n        </b-row>\n\n        <div class=\"mt-4\">\n\n          <t-msg :query=\"msgReturnQueryCode\" auto-hide :gender-feminine=\"msgReturnGenderFeminine\"\n                 :title=\"msgResultFormTitle()\"/>\n\n          <slot>\n\n          </slot>\n\n\n        </div>\n\n        <b-row class=\"mt-3\">\n\n          <b-col cols=\"6\" v-if=\"totalPages > 1\">\n            <t-pagination @getPage=\"getPage\" :total-pages=\"totalPages\"></t-pagination>\n          </b-col>\n\n          <b-col :cols=\"totalPages === 1 ? 12 : 6\" v-if=\"totalElements > 0\" class=\"text-right\">\n            <small>Total {{ totalElements }} {{ localTitleItems }}</small>\n          </b-col>\n\n        </b-row>\n\n\n      </div>\n\n    </div>\n  </b-col>\n\n</template>\n<style>\n.page-list-search > .btn:not(:last-child) {\n  margin-right: 1rem !important\n}\n</style>\n<script>\nimport TPageListRightButtons from \"@/components/template/page/t-page-list-right-buttons\";\n\nexport default {\n  name: 't-page-list',\n  components: {TPageListRightButtons},\n  props: {\n    userAuth: Object,\n    breadcrumb: Array,\n    title: String,\n    disableEditField: Boolean,\n    disableEditView: Boolean,\n    totalPages: {\n      type: Number,\n      default: 0\n    },\n    totalElements: {\n      type: Number,\n      default: 0\n    },\n    titleItems: {\n      type: String,\n      default: \"\"\n    },\n    msgReturnTitle: {\n      type: String,\n      default: \"\"\n    },\n    msgReturnGenderFeminine: Boolean,\n  },\n  data() {\n    return {\n      localTitleItems: \"\",\n      msgReturnQueryCode: {\n        codSuccess: 0,\n        codError: 0,\n        returnMessage: '',\n      },\n    }\n  },\n  mounted() {\n\n    if (this.titleItems !== '') {\n      this.localTitleItems = this.titleItems\n    } else {\n\n      if (this.userAuth && this.userAuth.currentPage && this.userAuth.currentPage.singularTitle) {\n\n        const singular = this.userAuth.currentPage.singularTitle\n\n        if ((singular.indexOf(\"s\", singular.length - 1) === -1) && (singular.indexOf(\"ão\", singular.length - 2) === -1)) {\n          this.localTitleItems = singular + \"s\"\n        } else {\n          this.localTitleItems = singular\n        }\n\n      } else {\n        this.localTitleItems = 'registros'\n      }\n    }\n\n    if (this.$route.query.codSuccess) {\n      this.msgReturnQueryCode.codSuccess = parseInt(this.$route.query.codSuccess)\n    } else if (this.$route.query.codError) {\n      this.msgReturnQueryCode.codError = parseInt(this.$route.query.codError)\n    }\n\n    if (this.$route.query.returnMessage) {\n      this.msgReturnQueryCode.returnMessage = this.$route.query.returnMessage\n    }\n\n  },\n  methods: {\n\n\n    msgResultFormTitle() {\n      return this.msgReturnTitle !== '' ? this.msgReturnTitle : this.userAuth.currentPage.singularTitle\n    }\n    ,\n\n    onMountAgain() {\n\n      let page = this.$route.query.page\n\n      if (page === '0') {\n        page = '1'\n      }\n\n      this.$emit(\"getPage\", page, true)\n    }\n    ,\n\n    getPage(page) {\n      this.$emit(\"getPage\", page)\n    }\n    ,\n\n  }\n  ,\n  computed: {\n\n    page() {\n      return this.$route.query.page\n    }\n  }\n  ,\n  watch: {\n\n    isLoadingPage() {\n\n      console.log(\"Is loading alterado: \" + this.isLoadingPage)\n    }\n\n  }\n  ,\n}\n</script>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./t-page-list.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./t-page-list.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./t-page-list.vue?vue&type=template&id=2920313a&\"\nimport script from \"./t-page-list.vue?vue&type=script&lang=js&\"\nexport * from \"./t-page-list.vue?vue&type=script&lang=js&\"\nimport style0 from \"./t-page-list.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-col',{attrs:{\"cols\":\"12\"}},[_c('b-row',[_c('b-col',{staticClass:\"d-flex flex-lg-column\"},[_c('div',{staticClass:\"main-card card p-2 h-100-header\",attrs:{\"id\":\"container_pages\"}},[_c('div',{staticClass:\"card-body\",attrs:{\"id\":\"card-page\"}},[(_vm.goBackTo !== '')?_c('b-row',[_c('router-link',{staticClass:\"ml-3 text-secondary\",attrs:{\"to\":{ name: _vm.goBackTo, query: _vm.checkLastQuery()}}},[_c('b-icon-arrow-left-circle',{staticClass:\"mr-1\"}),_vm._v(\" \"+_vm._s(_vm.goBackTitle)+\" \")],1)],1):(_vm.localGoBackPath !== '')?_c('b-row',[_c('router-link',{staticClass:\"ml-3 text-secondary\",attrs:{\"to\":{ path: _vm.localGoBackPath, query: _vm.checkLastQuery()}}},[_c('b-icon-arrow-left-circle',{staticClass:\"mr-1\"}),_vm._v(\" \"+_vm._s(_vm.goBackTitle)+\" \")],1)],1):(_vm.breadcrumb)?_c('b-row',[_c('b-breadcrumb',{attrs:{\"items\":_vm.breadcrumb}})],1):_vm._e(),_c('b-modal',{attrs:{\"id\":\"modalGeneralErrors\",\"title\":\"Erros encontrados:\",\"ok-only\":\"\"},scopedSlots:_vm._u([{key:\"modal-footer\",fn:function(ref){\nvar ok = ref.ok;\nreturn [_c('t-button',{attrs:{\"text\":\"Corrigir Erros\",\"danger\":\"\"},on:{\"click\":function($event){return ok()}}})]}}]),model:{value:(_vm.hasGeneralErrors),callback:function ($$v) {_vm.hasGeneralErrors=$$v},expression:\"hasGeneralErrors\"}},_vm._l((_vm.generalErrors),function(error){return _c('div',{key:error,staticClass:\"p-2 border-bottom mb-2\"},[_c('span',{staticClass:\"text-danger\"},[_c('b-icon-x-circle-fill',{staticClass:\"mr-2\"}),_c('span',{domProps:{\"innerHTML\":_vm._s(error.replace(/\\n/g,'<br />'))}})],1)])}),0),_c('transition',{attrs:{\"mode\":\"out-in\",\"enter-active-class\":\"animated fadeIn\"}},[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.busy),expression:\"!busy\"}]},[_c('transition',{attrs:{\"mode\":\"out-in\",\"enter-active-class\":\"animated fadeIn\"}},[_c('div',[(_vm.title !== '')?_c('t-page-title',{attrs:{\"title\":_vm.title}},[_vm._t(\"title-buttons\"),(_vm.onSubmitText && _vm.onSubmitText.length > 0 && !_vm.submitBottom)?_c('t-button',{staticClass:\"ml-2\",attrs:{\"text\":_vm.onSubmitText,\"is-invalid\":_vm.isInvalid && _vm.status === 'subject',\"sending\":_vm.onSending,\"primary\":_vm.isButtonPrimary,\"danger\":!_vm.isButtonPrimary,\"submit\":\"\",\"submit-fake\":\"\"},on:{\"click\":function($event){return _vm.onSubmit()}}}):_vm._e()],2):_vm._e(),_vm._t(\"header\"),(_vm.tabs)?_c('div',[_c('b-row',[_c('b-col',{class:_vm.localClassTab},[_c('b-tabs',{ref:\"containerTabs\",staticClass:\"tabs-form\",attrs:{\"id\":_vm.idTab,\"content-class\":\"mt-3\",\"align\":\"left\"},on:{\"activate-tab\":_vm.checkValidateTabs},model:{value:(_vm.tabIndex),callback:function ($$v) {_vm.tabIndex=$$v},expression:\"tabIndex\"}},[_c('validation-observer',{ref:\"validation\",scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar invalid = ref.invalid;\nvar errors = ref.errors;\nreturn [_c('span',{staticClass:\"display-none\"},[_vm._v(\" \"+_vm._s(_vm.errorList = errors)+\" \"+_vm._s(_vm.isInvalid = invalid)+\" \")]),_c('form',{staticClass:\"fadeIn\",on:{\"submit\":function($event){$event.preventDefault();return _vm.onSubmit.apply(null, arguments)}}},[_c('b-card',{class:{'mode-card':_vm.card,'mode-tabs':!_vm.card}},[_c('t-form-wrapped',{attrs:{\"command\":_vm.command,\"status\":_vm.localStatus}},[_vm._t(\"default\",null,{\"status\":_vm.localStatus,\"isInvalid\":_vm.isInvalid,\"errors\":_vm.errorList})],2)],1)],1)]}}],null,true)}),_vm._t(\"out-of-form\")],2)],1),_vm._t(\"after-tabs\")],2)],1):_c('div',[_c('validation-observer',{ref:\"validation\",scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar invalid = ref.invalid;\nvar errors = ref.errors;\nreturn [_c('span',{staticClass:\"display-none\"},[_vm._v(\" \"+_vm._s(_vm.errorList = errors)+\" \"+_vm._s(_vm.isInvalid = invalid)+\" \")]),_c('form',{staticClass:\"fadeIn\",on:{\"submit\":function($event){$event.preventDefault();return _vm.onSubmit.apply(null, arguments)}}},[(_vm.multiCards)?_c('div',{staticClass:\"pl-2 pr-2 pt-0 mt-0\"},[_c('t-form-wrapped',{attrs:{\"command\":_vm.command,\"status\":_vm.localStatus}},[_vm._t(\"default\",null,{\"status\":_vm.localStatus,\"isInvalid\":_vm.isInvalid,\"errors\":_vm.errorList})],2)],1):_c('b-card',{class:{'mode-card':_vm.card,'mode-tabs':!_vm.card}},[_c('t-form-wrapped',{attrs:{\"command\":_vm.command,\"status\":_vm.localStatus}},[_vm._t(\"default\",null,{\"status\":_vm.localStatus,\"isInvalid\":_vm.isInvalid,\"errors\":_vm.errorList})],2)],1)],1)]}}],null,true)}),_vm._t(\"out-of-form\")],2),(_vm.$slots.footer || (_vm.onSubmitText && _vm.submitBottom) || (_vm.onSubmitText && _vm.submitTopAndBottom))?_c('div',{staticClass:\"clearfix border border-top-0 p-3 mb-3 page-form-footer d-flex\",class:{'multi-cards-footer':_vm.multiCards},staticStyle:{\"background-color\":\"#f8f8f8\",\"border-bottom-left-radius\":\"5px\",\"border-bottom-right-radius\":\"5px\",\"border-top-left-radius\":\"0px\",\"border-top-right-radius\":\"0px\",\"margin-top\":\"-3px\"},attrs:{\"id\":\"form-footer-buttons\"}},[(_vm.onSubmitText && _vm.onSubmitText.length > 0 && (_vm.submitBottom || _vm.submitTopAndBottom))?_c('t-button',{attrs:{\"text\":_vm.onSubmitText,\"is-invalid\":_vm.isInvalid && _vm.status === 'subject',\"sending\":_vm.onSending,\"submit\":\"\",\"submit-fake\":\"\",\"primary\":_vm.isButtonPrimary,\"danger\":!_vm.isButtonPrimary},on:{\"click\":function($event){return _vm.onSubmit()}}}):_vm._e(),_vm._t(\"footer\")],2):_vm._e()],2)])],1)]),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.busy),expression:\"busy\"}],staticClass:\"container_loading_form\"},[_c('div',{staticClass:\"container_loading_form_card\"},[(_vm.title !=='')?_c('div',{staticClass:\"container-title-page\"},[_c('div',{staticClass:\"gradient flex-grow-1 title-page\"},[_c('div',{staticClass:\"gradient element-80\",staticStyle:{\"height\":\"24px\"}})])]):_vm._e(),_c('div',{staticClass:\"gradient element-60\",staticStyle:{\"height\":\"200px\"}}),_c('div',{staticClass:\"gradient element-80\"}),_c('div',{staticClass:\"gradient element-80\"})])])],1)])]),(_vm.panel)?_c('b-col',{staticClass:\"col-2 d-none d-xxl-block border-left\"},[_vm._v(\" Painel Auxiliar para informações rápidas como últimos pedidos do cliente, e informações de inteligência \")]):_vm._e()],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\n  <b-col cols=\"12\">\n\n    <b-row>\n\n      <b-col class=\"d-flex flex-lg-column\">\n\n        <div class=\"main-card card p-2 h-100-header\" id=\"container_pages\">\n\n          <div class=\"card-body\" id=\"card-page\">\n\n            <b-row v-if=\"goBackTo !== ''\">\n\n              <router-link class=\"ml-3 text-secondary\"\n                           :to=\"{ name: goBackTo, query: checkLastQuery()}\">\n                <b-icon-arrow-left-circle class=\"mr-1\"></b-icon-arrow-left-circle>\n                {{ goBackTitle }}\n              </router-link>\n\n            </b-row>\n\n            <b-row v-else-if=\"localGoBackPath !== ''\">\n\n              <router-link class=\"ml-3 text-secondary\"\n                           :to=\"{ path: localGoBackPath, query: checkLastQuery()}\">\n                <b-icon-arrow-left-circle class=\"mr-1\"></b-icon-arrow-left-circle>\n                {{ goBackTitle }}\n              </router-link>\n\n            </b-row>\n\n            <b-row v-else-if=\"breadcrumb\">\n              <b-breadcrumb :items=\"breadcrumb\"></b-breadcrumb>\n            </b-row>\n\n            <b-modal v-model=\"hasGeneralErrors\" id=\"modalGeneralErrors\" title=\"Erros encontrados:\" ok-only>\n\n              <div v-for=\"error in generalErrors\" :key=\"error\" class=\"p-2 border-bottom mb-2\">\n                <span class=\"text-danger\">\n                  <b-icon-x-circle-fill class=\"mr-2\"/>\n                  <span v-html=\"error.replace(/\\n/g,'<br />')\"></span>\n                </span>\n              </div>\n\n\n              <template #modal-footer=\"{ ok }\">\n\n                <t-button @click=\"ok()\" text=\"Corrigir Erros\" danger/>\n\n              </template>\n\n\n              <!--                  <div v-if=\"generalErrors.length > 0\" aria-labelledby=\"swal2-title\" aria-describedby=\"swal2-content\"\n                                     class=\"swal2-popup swal2-modal swal2-show\" tabindex=\"-1\" style=\"display: flex; padding: 0px\">\n                                  <div class=\"swal2-header\" style=\"scale:0.7\">\n                                    <ul class=\"swal2-progresssteps\" style=\"display: none;\"></ul>\n                                    <div class=\"swal2-icon swal2-error swal2-animate-error-icon\" style=\"display: flex;\"><span\n                                        class=\"swal2-x-mark\"><span class=\"swal2-x-mark-line-left\"></span><span\n                                        class=\"swal2-x-mark-line-right\"></span></span></div>\n                                    <div class=\"swal2-icon swal2-success\" style=\"display: none;\">\n                                      <div class=\"swal2-success-circular-line-left\" style=\"background-color: rgb(255, 255, 255);\"></div>\n                                      <span class=\"swal2-success-line-tip\"></span> <span class=\"swal2-success-line-long\"></span>\n                                      <div class=\"swal2-success-ring\"></div>\n                                      <div class=\"swal2-success-fix\" style=\"background-color: rgb(255, 255, 255);\"></div>\n                                      <div class=\"swal2-success-circular-line-right\"\n                                           style=\"background-color: rgb(255, 255, 255);\"></div>\n                                    </div>\n                                    <img class=\"swal2-image\" style=\"display: none;\">\n                                    <h2 class=\"swal2-title\" id=\"swal2-title\" style=\"display: flex;\">Corrija o seguintes erros antes de continuar:</h2>\n\n\n                                  </div>\n\n\n                                </div>-->\n\n            </b-modal>\n\n\n            <transition mode=\"out-in\"\n                        enter-active-class=\"animated fadeIn\">\n\n              <div v-show=\"!busy\">\n\n\n                <transition mode=\"out-in\"\n                            enter-active-class=\"animated fadeIn\">\n\n\n                  <div>\n\n                    <t-page-title v-if=\"title !== ''\" :title=\"title\">\n                      <slot name=\"title-buttons\"></slot>\n                      <t-button class=\"ml-2\" v-if=\"onSubmitText && onSubmitText.length > 0 && !submitBottom\"\n                                :text=\"onSubmitText\"\n                                :is-invalid=\"isInvalid && status === 'subject'\" :sending=\"onSending\" @click=\"onSubmit()\"\n                                :primary=\"isButtonPrimary\" :danger=\"!isButtonPrimary\" submit submit-fake/>\n                    </t-page-title>\n\n                    <slot name=\"header\"></slot>\n\n                    <div v-if=\"tabs\">\n\n                      <b-row>\n\n                        <b-col :class=\"localClassTab\">\n\n                          <b-tabs :id=\"idTab\" @activate-tab=\"checkValidateTabs\" v-model=\"tabIndex\" ref=\"containerTabs\"\n                                  content-class=\"mt-3\" class=\"tabs-form\" align=\"left\">\n\n                            <!--------------DUPLICAÇÃO PARA EVITAR COMPLEXIDADE----------------->\n                            <validation-observer ref=\"validation\" v-slot=\"{invalid,errors}\">\n                          <span class=\"display-none\">\n                            {{ errorList = errors }}\n                            {{ isInvalid = invalid }}\n                          </span>\n                              <form @submit.prevent=\"onSubmit\" class=\"fadeIn\">\n\n                                <b-card :class=\"{'mode-card':card,'mode-tabs':!card}\">\n\n                                  <t-form-wrapped :command=\"command\" :status=\"localStatus\">\n\n                                    <slot :status=\"localStatus\" ref=\"content-inner-form\" :isInvalid=\"isInvalid\"\n                                          :errors=\"errorList\"></slot>\n\n\n                                  </t-form-wrapped>\n                                </b-card>\n                              </form>\n                            </validation-observer>\n\n                            <slot name=\"out-of-form\"></slot>\n                            <!------------------------------------------------------------------->\n\n                          </b-tabs>\n\n                        </b-col>\n\n                        <slot name=\"after-tabs\"></slot>\n\n                      </b-row>\n\n\n                    </div>\n\n\n                    <div v-else>\n\n                      <!--------------DUPLICAÇÃO PARA EVITAR COMPLEXIDADE----------------->\n                      <validation-observer ref=\"validation\" v-slot=\"{invalid,errors}\">\n                          <span class=\"display-none\">\n                            {{ errorList = errors }}\n                            {{ isInvalid = invalid }}\n                          </span>\n                        <form @submit.prevent=\"onSubmit\" class=\"fadeIn\">\n\n                          <div v-if=\"multiCards\" class=\"pl-2 pr-2 pt-0 mt-0\">\n\n                            <t-form-wrapped :command=\"command\" :status=\"localStatus\">\n                              <slot :status=\"localStatus\" :isInvalid=\"isInvalid\" :errors=\"errorList\"></slot>\n                            </t-form-wrapped>\n\n                          </div>\n\n                          <b-card\n                              v-else\n                              :class=\"{'mode-card':card,'mode-tabs':!card}\">\n\n                            <t-form-wrapped :command=\"command\" :status=\"localStatus\">\n\n                              <slot :status=\"localStatus\" ref=\"content-inner-form\" :isInvalid=\"isInvalid\"\n                                    :errors=\"errorList\"></slot>\n\n                            </t-form-wrapped>\n                          </b-card>\n\n                        </form>\n                      </validation-observer>\n\n                      <slot name=\"out-of-form\"></slot>\n                      <!------------------------------------------------------------------->\n\n                    </div>\n\n\n                    <div v-if=\"$slots.footer || (onSubmitText && submitBottom) || (onSubmitText && submitTopAndBottom)\"\n                         class=\"clearfix border border-top-0 p-3 mb-3 page-form-footer d-flex\"\n                         :class=\"{'multi-cards-footer':multiCards}\"\n                         style=\"background-color: #f8f8f8; border-bottom-left-radius: 5px; border-bottom-right-radius: 5px; border-top-left-radius: 0px;border-top-right-radius: 0px;margin-top: -3px;\"\n                         id=\"form-footer-buttons\">\n\n                      <t-button v-if=\"onSubmitText && onSubmitText.length > 0 && (submitBottom || submitTopAndBottom)\"\n                                :text=\"onSubmitText\"\n                                :is-invalid=\"isInvalid && status === 'subject'\" :sending=\"onSending\" submit submit-fake\n                                :primary=\"isButtonPrimary\" :danger=\"!isButtonPrimary\" @click=\"onSubmit()\"/>\n\n                      <slot name=\"footer\"></slot>\n\n                    </div>\n\n                  </div>\n\n\n                </transition>\n\n\n              </div>\n            </transition>\n\n\n            <div class=\"container_loading_form\" v-show=\"busy\">\n\n              <div class=\"container_loading_form_card\">\n\n                <div class=\"container-title-page\" v-if=\"title !==''\">\n                  <div class=\"gradient flex-grow-1 title-page\">\n                    <div class=\"gradient element-80\" style=\"height: 24px;\"></div>\n                  </div>\n                </div>\n\n\n                <div class=\"gradient element-60\" style=\"height: 200px;\"></div>\n\n                <div class=\"gradient element-80\"></div>\n\n\n                <div class=\"gradient element-80\"></div>\n\n              </div>\n\n\n            </div>\n\n\n          </div>\n\n        </div>\n\n      </b-col>\n\n      <b-col class=\"col-2 d-none d-xxl-block border-left\" v-if=\"panel\">\n        Painel Auxiliar para informações rápidas como últimos pedidos do cliente, e informações de inteligência\n      </b-col>\n\n    </b-row>\n\n  </b-col>\n\n\n</template>\n<script>\nimport ui from \"@/assets/scripts/ui\"\n\nexport default {\n  name: 't-page-form',\n  data() {\n    return {\n      hasGeneralErrors: false,\n      localStatus: \"\",\n      localGoBackPath: \"\",\n      errorList: [],\n      isInvalid: false,\n      tabIndex: 0,\n      localClassTab: \"\",\n    }\n  },\n  props: {\n    status: String,\n    submitExternal: {\n      type: String,\n      default: \"\",\n    },\n    title: {\n      type: String,\n      default: \"\",\n    },\n    submitText: String,\n    submitTextNotDefault: {//Texto submit fora do padrão, por tanto não irá utilizar o command para composição.\n      type: Boolean,\n      default: false\n    },\n    multiCards: Boolean,\n    submitTopAndBottom: Boolean,\n    submitBottom: {\n      type: Boolean,\n      default: false\n    },\n    insertGeneralFieldsAfterPositionInput: {\n      type: Number,\n      default: 0,\n    },\n    checkErrorsAgain: Boolean,\n    idTab: {\n      type: String,\n      default: \"\"\n    },\n    classTab: {},\n    busy: {\n      type: Boolean,\n      default: false,\n    },\n    generalErrors: Array,\n    goBackTitle: String,\n    goBackTo: {//Retorna pelo nome da página\n      type: String,\n      default: \"\",\n    },\n    goBackPath: {//Retorno pelo path da página\n      type: String,\n      default: \"\",\n    },\n    panel: {\n      type: Boolean,\n      default: false\n    },\n    breadcrumb: Array,\n    url: String,\n    tabs: {\n      type: Boolean,\n      default: false,\n    },\n    card: {\n      type: Boolean,\n      default: false\n    },\n    command: {\n      type: String,\n      default: 'insert'\n    },\n    name: {\n      type: String,\n      default: 'formDefault'\n    },\n    setTabIndex: {\n      type: Number,\n      default: 0,\n    }\n\n  },\n  computed: {\n\n    onSending() {\n      return this.status === \"sending\"\n    },\n    onSubmitText() {\n      if (this.command === 'view') {\n        return ''\n      } else {\n\n        if (this.command !== '' && !this.submitTextNotDefault) {\n          return this.t(this.command) + ' ' + this.submitText\n        } else {\n          return this.submitText\n        }\n      }\n    },\n    isButtonPrimary() {\n      return this.command !== 'delete';\n    },\n    getLastPage() {\n      return this.$store.getters.getLastPage\n    }\n\n  },\n  watch: {\n\n    busy(value) {\n\n      if (!value)\n        this.setTabByHash()\n\n    },\n\n    setTabIndex(value) {\n      this.tabIndex = value\n    },\n\n    submitExternal(value) {\n\n      if (value === 'submit') {\n        this.onSubmit()\n      }\n\n    },\n\n    //Resposta obtida pelo backend informando da alteração\n    checkErrorsAgain(value) {\n\n      if (value && this.tabs) {\n\n        const tabsList = this.$refs.containerTabs._data.tabs\n\n        for (let i = 0; i < tabsList.length; i++) {\n\n          setTimeout(() => {\n\n            //Verifica somente em tabs que possuem campos e não componentes adicionais evitando sobrecarga no carregamento\n            if (tabsList[i].$children !== null && tabsList[i].$children.length > 0) {\n\n              this.tabIndex = i\n\n              if (i === tabsList.length - 1) {\n\n                setTimeout(() => {\n                  //Somente agora após atualização geral é chamada a função de verificação e irá setar a primeira tab com erro\n                  this.checkErrorsTabs()\n                }, 200)\n\n              }\n\n            }\n\n\n          }, (50 * (i + 1)))\n\n\n        }\n\n      }\n\n    },\n\n    status(value) {\n      this.localStatus = value\n    },\n\n    goBackPath(value) {\n      this.setGoBackPath(value)\n    },\n\n\n    errorList() {\n\n      if (this.isInvalid && this.tabs && this.localStatus === 'subject') {\n        this.checkTab(this.tabIndex)\n      }\n\n    },\n\n    isInvalid() {\n      if (this.tabs && this.localStatus === 'subject')\n        this.checkTab(this.tabIndex)\n    },\n\n    generalErrors() {\n      this.hasGeneralErrors = this.generalErrors && this.generalErrors.length > 0\n    },\n\n\n  },\n  mounted() {\n\n    if (this.classTab === undefined || this.classTab === null) {\n      this.localClassTab = {'col-12': true}\n    } else {\n      this.localClassTab = this.classTab\n    }\n\n    this.hasGeneralErrors = this.generalErrors && this.generalErrors.length > 0\n    this.localStatus = this.status\n    this.setGoBackPath(this.goBackPath)\n    this.setTabByHash()\n\n\n  },\n  methods: {\n\n    setTabByHash() {\n\n      if (!this.busy) {\n\n        let hash = window.location.hash\n\n        if (hash !== undefined && hash !== null && hash !== '') {\n\n          hash = hash.replace(\"#\", \"\")\n\n          setTimeout(() => {\n\n            const tabsList = this.$refs.containerTabs._data.tabs\n\n            for (let i = 0; i < tabsList.length; i++) {\n\n              const tabId = tabsList[i]._props.id\n\n              if (tabId !== undefined && tabId !== null && tabId !== '') {\n\n                if (tabId === hash)\n                  this.tabIndex = i\n\n              }\n\n            }\n\n          }, 100)\n\n        }\n\n      }\n\n\n    },\n\n    setGoBackPath(path) {\n\n      let p = path\n\n      if (p.substring(1, 1) !== '/') {\n        //Coloca uma barra no início\n        p = \"/\" + p\n      }\n\n      if (p.substring(p.length - 1) === '/') {\n        //Retira a barra final\n        p = p.substring(0, p.length - 1)\n      }\n\n      this.localGoBackPath = p\n    },\n\n    checkLastQuery() {\n\n      if (this.goBackTo !== '') {\n        return this.goBackTo === this.getLastPage.name ? this.getLastPage.query : null\n      } else if (this.localGoBackPath !== '') {\n        return this.localGoBackPath === this.getLastPage.path ? this.getLastPage.query : null\n      }\n\n    },\n\n    async checkErrorsTabs() {\n\n      let setFirstTabError = false\n      const tabsList = this.$refs.containerTabs._data.tabs\n\n      for (let i = 0; i < tabsList.length; i++) {\n\n        if (tabsList[i].$children !== null && tabsList[i].$children.length > 0) {\n\n          //Checa somente em tabs que possuem inputs filhos e não aquelas de que possuem um formulario interno, evitando sobrecarregamento\n\n          const isError = this.checkTab(i)\n\n          if (!setFirstTabError && isError) {\n            setFirstTabError = true\n            this.tabIndex = i\n          }\n        }\n\n      }\n\n    },\n\n    checkValidateTabs(newTabIndex, prevTabIndex) {\n      if (this.status === 'subject') {\n        this.checkTab(prevTabIndex)\n      }\n    },\n\n    checkTab(index) {\n\n      const navTab = this.$refs.containerTabs.$refs.nav.children[index]\n      const contentTab = this.$refs.containerTabs._data.tabs[index].$el.getElementsByClassName('is-invalid')\n      let isError = false\n\n\n      //Valores padrões (não possui erro)\n      navTab.getElementsByClassName('container-error-tab').item(0).classList.add('not-error')\n      navTab.getElementsByClassName('title-tab-normal').item(0).classList.add('not-error')\n      navTab.getElementsByClassName('nav-link').item(0).classList.remove('nav-has-error')\n\n      if (contentTab && contentTab.length > 0) {\n\n        isError = true\n\n        //console.log('Possui erros na tab '+i)\n        navTab.getElementsByClassName('container-error-tab').item(0).classList.remove('not-error')\n        navTab.getElementsByClassName('title-tab-normal').item(0).classList.remove('not-error')\n        navTab.getElementsByClassName('nav-link').item(0).classList.add('nav-has-error')\n\n        //let a = this.$refs.containerTabs.$slots.default[i]\n        //console.log(a)\n\n      }\n\n      return isError\n\n\n    },\n\n    async onSubmit() {\n\n\n      //Avisa o pai que mudou o status para submetido\n      this.localStatus = \"subject\"\n\n\n      if (this.command === 'delete') {\n\n        if (this.tabs) {\n          await this.checkErrorsTabs()\n        }\n\n        ui.msgConfirmDelete(this, () => {\n          this.$emit('onSubmit')\n        })\n\n\n      } else {\n\n        this.$refs.validation.validate().then(async success => {\n\n          if (this.tabs) {\n            await this.checkErrorsTabs()\n          }\n\n          if (success) {\n            this.$emit('onSubmit')\n          } else {\n            ui.msgErrorForm(this, this.$refs.validation)\n          }\n\n        });\n\n      }\n\n\n    },\n  }\n}\n</script>\n<style>\n\n.multi-cards-footer {\n  margin-top: -35px !important;\n}\n\n.page-form-footer > button:not(:last-child), .page-form-footer > div:not(:last-child) {\n  margin-right: .5rem !important\n}\n\n.form-validation .TextInput {\n  padding-right: 5px;\n  padding-left: 5px;\n}\n\n.tab-pane > .card {\n  border-bottom-left-radius: 0px !important;\n  border-bottom-right-radius: 0px !important;\n}\n\n.mode-tabs {\n  border: none !important;\n}\n\n.mode-card > .card-body {\n  padding-left: 2rem;\n  padding-right: 2rem;\n}\n\n.mode-card .form-control {\n  margin-bottom: 0.5rem !important;\n}\n\n.mode-card:not(:last-child) {\n  border-bottom-left-radius: 0px !important;\n  border-bottom-right-radius: 0px !important;\n}\n\n.mode-tabs > .card-body {\n  padding: 0px;\n}\n\n.header-buttons .btn {\n  margin: 0px;\n}\n\n.container_loading_form_card .gradient {\n  animation-duration: 1.8s;\n  animation-fill-mode: forwards;\n  animation-iteration-count: infinite;\n  animation-name: placeHolderShimmer;\n  animation-timing-function: linear;\n  background: #f6f7f8;\n  background: linear-gradient(to right, #fafafa 8%, #f4f4f4 38%, #fafafa 54%);\n  background-size: 1000px 640px;\n\n  position: relative;\n\n}\n\n@keyframes placeHolderShimmer {\n  0% {\n    background-position: -468px 0\n  }\n  100% {\n    background-position: 468px 0\n  }\n}\n</style>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./t-page-form.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./t-page-form.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./t-page-form.vue?vue&type=template&id=82548938&\"\nimport script from \"./t-page-form.vue?vue&type=script&lang=js&\"\nexport * from \"./t-page-form.vue?vue&type=script&lang=js&\"\nimport style0 from \"./t-page-form.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.type === 'R')?_c('b-col',{attrs:{\"cols\":\"12\"}},[_c('b-row',[_c('b-col',{staticClass:\"d-flex flex-lg-column\"},[_c('div',{staticClass:\"main-card card p-2 h-100-header\",attrs:{\"id\":\"container_pages\"}},[_c('div',{staticClass:\"card-body\",attrs:{\"id\":\"card-page\"}},[(_vm.goBackTo !== '')?_c('b-row',[_c('router-link',{staticClass:\"ml-3 text-secondary\",attrs:{\"to\":{ name: _vm.goBackTo, query: _vm.checkLastQuery()}}},[_c('b-icon-arrow-left-circle',{staticClass:\"mr-1\"}),_vm._v(\" \"+_vm._s(_vm.goBackTitle)+\" \")],1)],1):(_vm.breadcrumb)?_c('b-row',[_c('b-breadcrumb',{attrs:{\"items\":_vm.breadcrumb}})],1):_vm._e(),_c('transition',{attrs:{\"mode\":\"out-in\",\"enter-active-class\":\"animated fadeIn\"}},[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.busy),expression:\"!busy\"}]},[_c('transition',{attrs:{\"mode\":\"out-in\",\"enter-active-class\":\"animated fadeIn\"}},[_c('div',[(_vm.title !== '')?_c('t-page-title',{attrs:{\"title\":_vm.title}},[_vm._t(\"title-buttons\"),_vm._t(\"title\")],2):_vm._e(),_vm._t(\"header\"),_c('div',{domProps:{\"innerHTML\":_vm._s(_vm.report)}})],2)])],1)]),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.busy),expression:\"busy\"}],staticClass:\"container_loading_form\"},[_c('div',{staticClass:\"container_loading_form_card\"},[(_vm.title !=='')?_c('div',{staticClass:\"container-title-page\"},[_c('div',{staticClass:\"gradient flex-grow-1 title-page\"},[_c('div',{staticClass:\"gradient element-80\",staticStyle:{\"height\":\"24px\"}})])]):_vm._e(),_c('div',{staticClass:\"gradient element-60\",staticStyle:{\"height\":\"200px\"}}),_c('div',{staticClass:\"gradient element-80\"}),_c('div',{staticClass:\"gradient element-80\"})])])],1)])])],1)],1):(_vm.type === 'D' && !_vm.loaded)?_c('div',{staticClass:\"d-flex w-100 h-100-header justify-content-center align-items-center\"},[_c('div',{staticClass:\"loader-wrapper\"},[_c('div',{staticClass:\"loader\"},[_c('div',{staticClass:\"ball-pulse-sync\"},[_c('div'),_c('div'),_c('div')])])])]):(_vm.type === 'D' && _vm.loaded)?_c('div',{staticClass:\"col-12 mt-4\",domProps:{\"innerHTML\":_vm._s(_vm.report)}}):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import {crudGeneral} from \"@/services/resource/GeneralCRUD.service\"\r\nimport ApexCharts from \"apexcharts\";\r\nimport ui from \"@/assets/scripts/ui\";\r\n\r\nexport default {\r\n    ui,\r\n    data() {\r\n        return {\r\n            busy: true,\r\n            report: \"\",\r\n            loaded:false,\r\n            charts: {\r\n                qtd: 0,\r\n                data: []\r\n            },\r\n        }\r\n    },\r\n    props: {\r\n        reportId: {\r\n            type: Number,\r\n            default: 0,\r\n        },\r\n        type: {\r\n            type: String,\r\n            default: \"R\",\r\n        },\r\n        title: {\r\n            type: String,\r\n            default: \"\",\r\n        },\r\n        goBackTitle: String,\r\n        goBackTo: {\r\n            type: String,\r\n            default: \"\",\r\n        },\r\n        breadcrumb: Array,\r\n        primaryKey: Number,//Enviar quando desejar reordenar listagem\r\n        foreignKey: Number,//Enviar quando desejar reordenar listagem\r\n        primaryKeyColumn: String,//Enviar quando desejar reordenar listagem\r\n        foreignKeyColumn: String,//Enviar quando desejar reordenar listagem\r\n\r\n    },\r\n    async mounted() {\r\n\r\n\r\n    },\r\n    methods: {\r\n\r\n        async mountedReport(params) {\r\n\r\n            //await this.mountedDefault(true, true, 'report')\r\n\r\n            let url = \"general/report/generate?platform=web&reportId=\" + this.reportId + \"&type=\" + this.type + \"&format=html\"\r\n            if (params && Array.from(params).length > 0) {\r\n                url += `&${params}`\r\n            }\r\n\r\n            if (this.primaryKey > 0)\r\n                url += `&primaryKey=${this.primaryKey}`\r\n\r\n\r\n            await crudGeneral.get(url)\r\n                .then(response => {\r\n\r\n                    const reportRender = ui.reportRender(response.data)\r\n\r\n                    this.report = reportRender.report\r\n                    this.charts = reportRender.charts\r\n\r\n                    if (this.charts.length > 0) {\r\n\r\n                        setTimeout(() => {\r\n\r\n                            for (const chart of this.charts) {\r\n                                new ApexCharts(document.getElementById(chart.id), chart).render()\r\n                            }\r\n\r\n                        }, 100)\r\n\r\n                    }\r\n\r\n                    this.busy = false\r\n\r\n                    //Armazena somente a primeira vez que carregou, utilizado em dashboards\r\n                    if(!this.loaded){\r\n                        this.loaded = true\r\n                    }\r\n\r\n                })\r\n                .catch(error => {\r\n\r\n                    this.busy = false\r\n\r\n                    if (error.response) {\r\n\r\n                        if (error.response.status === 500) {\r\n                            ui.msg(this, 'Informação', error.response.data.general)\r\n                        }\r\n                    }\r\n                })\r\n\r\n\r\n        },\r\n\r\n\r\n    },\r\n\r\n\r\n}\r\n\r\n\r\n","<template>\n\n\n  <b-col cols=\"12\" v-if=\"type === 'R'\">\n\n    <b-row>\n\n      <b-col class=\"d-flex flex-lg-column\">\n\n        <div class=\"main-card card p-2 h-100-header\" id=\"container_pages\">\n\n          <div class=\"card-body\" id=\"card-page\">\n\n            <b-row v-if=\"goBackTo !== ''\">\n\n              <router-link class=\"ml-3 text-secondary\"\n                           :to=\"{ name: goBackTo, query: checkLastQuery()}\">\n                <b-icon-arrow-left-circle class=\"mr-1\"></b-icon-arrow-left-circle>\n                {{ goBackTitle }}\n              </router-link>\n\n            </b-row>\n\n            <b-row v-else-if=\"breadcrumb\">\n              <b-breadcrumb :items=\"breadcrumb\"></b-breadcrumb>\n            </b-row>\n\n            <transition mode=\"out-in\"\n                        enter-active-class=\"animated fadeIn\">\n\n              <div v-show=\"!busy\">\n\n                <transition mode=\"out-in\"\n                            enter-active-class=\"animated fadeIn\">\n\n\n                  <div>\n\n                    <t-page-title v-if=\"title !== ''\" :title=\"title\">\n                      <slot name=\"title-buttons\"></slot>\n                      <slot name=\"title\"></slot>\n                    </t-page-title>\n\n                    <slot name=\"header\"></slot>\n\n                    <div v-html=\"report\"></div>\n\n\n                  </div>\n\n\n                </transition>\n\n\n              </div>\n            </transition>\n\n\n            <div class=\"container_loading_form\" v-show=\"busy\">\n\n              <div class=\"container_loading_form_card\">\n\n                <div class=\"container-title-page\" v-if=\"title !==''\">\n                  <div class=\"gradient flex-grow-1 title-page\">\n                    <div class=\"gradient element-80\" style=\"height: 24px;\"></div>\n                  </div>\n                </div>\n\n\n                <div class=\"gradient element-60\" style=\"height: 200px;\"></div>\n\n                <div class=\"gradient element-80\"></div>\n\n\n                <div class=\"gradient element-80\"></div>\n\n              </div>\n\n\n            </div>\n\n\n          </div>\n\n        </div>\n\n      </b-col>\n\n\n    </b-row>\n\n  </b-col>\n\n\n  <div v-else-if=\"type === 'D' && !loaded\" class=\"d-flex w-100 h-100-header justify-content-center align-items-center\">\n\n    <div class=\"loader-wrapper\">\n      <div class=\"loader\">\n        <div class=\"ball-pulse-sync\">\n          <div></div>\n          <div></div>\n          <div></div>\n        </div>\n      </div>\n    </div>\n\n  </div>\n\n  <div v-else-if=\"type === 'D' && loaded\" v-html=\"report\" class=\"col-12 mt-4\">\n\n  </div>\n\n</template>\n<script>\nimport pageReportMixin from \"@/mixins/page/pageReportMixin\";\n\nexport default {\n  name: 't-page-report',\n  mixins: [pageReportMixin],\n  data() {\n    return {\n      intervalRefresh: null,\n      routeName: \"\",\n    }\n  },\n  methods: {\n    mountedPrepare() {\n\n      if(this.type === 'D'){\n        this.routeName = this.$route.name\n      }\n\n    },\n    async mountedContinued() {\n\n      if (this.intervalRefresh == null) {\n\n        this.intervalRefresh = setInterval(async () => {\n\n          if(this.$route.name !== this.routeName){\n            clearInterval(this.intervalRefresh)\n          }else{\n            await this.mountedReport()\n          }\n\n        }, 120000)\n\n      }\n\n    },\n\n    checkLastQuery() {\n      return this.goBackTo === this.getLastPage.name ? this.getLastPage.query : null\n    },\n\n  },\n\n  async mounted() {\n\n    this.mountedPrepare()\n\n    await this.mountedReport()\n\n    await this.mountedContinued()\n\n\n  },\n  computed: {\n\n    getLastPage() {\n      return this.$store.getters.getLastPage\n    }\n\n  },\n}\n</script>\n<style>\n.container_loading_form_card .gradient {\n  animation-duration: 1.8s;\n  animation-fill-mode: forwards;\n  animation-iteration-count: infinite;\n  animation-name: placeHolderShimmer;\n  animation-timing-function: linear;\n  background: #f6f7f8;\n  background: linear-gradient(to right, #fafafa 8%, #f4f4f4 38%, #fafafa 54%);\n  background-size: 1000px 640px;\n\n  position: relative;\n\n}\n\n@keyframes placeHolderShimmer {\n  0% {\n    background-position: -468px 0\n  }\n  100% {\n    background-position: 468px 0\n  }\n}\n</style>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./t-page-report.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./t-page-report.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./t-page-report.vue?vue&type=template&id=958ceedc&\"\nimport script from \"./t-page-report.vue?vue&type=script&lang=js&\"\nexport * from \"./t-page-report.vue?vue&type=script&lang=js&\"\nimport style0 from \"./t-page-report.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-card',{staticClass:\"card-form\",class:{'ml-0':_vm.unshaded,'mr-0':_vm.unshaded}},[_c('b-card-header',{staticClass:\"header-form\"},[(_vm.iconFolder)?_c('b-icon-folder'):_vm._e(),(_vm.iconBox)?_c('b-icon-box'):_vm._e(),(_vm.iconCardHeading)?_c('b-icon-card-heading'):_vm._e(),(_vm.iconTruck)?_c('b-icon-truck'):_vm._e(),(_vm.iconBuilding)?_c('b-icon-building'):_vm._e(),(_vm.iconCashStack)?_c('b-icon-cash-stack'):_vm._e(),(_vm.iconInfoSquare)?_c('b-icon-info-square'):_vm._e(),(_vm.iconChatRightText)?_c('b-icon-chat-right-text'):_vm._e(),_vm._t(\"icon\"),_vm._v(\" \"+_vm._s(_vm.title)+\" \"),(_vm.help.length > 0)?_c('t-help',{staticClass:\"ml-2\",attrs:{\"title\":_vm.help}}):_vm._e()],2),_c('b-card-body',[_vm._t(\"default\")],2)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <b-card class=\"card-form\" :class=\"{'ml-0':unshaded,'mr-0':unshaded}\">\n\n    <b-card-header class=\"header-form\">\n\n      <b-icon-folder v-if=\"iconFolder\"></b-icon-folder>\n      <b-icon-box v-if=\"iconBox\"></b-icon-box>\n      <b-icon-card-heading v-if=\"iconCardHeading\"></b-icon-card-heading>\n      <b-icon-truck v-if=\"iconTruck\"></b-icon-truck>\n      <b-icon-building v-if=\"iconBuilding\"></b-icon-building>\n      <b-icon-cash-stack v-if=\"iconCashStack\"></b-icon-cash-stack>\n      <b-icon-info-square v-if=\"iconInfoSquare\"></b-icon-info-square>\n      <b-icon-chat-right-text v-if=\"iconChatRightText\"></b-icon-chat-right-text>\n\n      <slot name=\"icon\"></slot>\n      {{ title }}\n      <t-help class=\"ml-2\" :title=\"help\" v-if=\"help.length > 0\"/>\n\n    </b-card-header>\n\n\n    <!--ATENÇÃO SOMENTE UTILIZAR O SLOT PADRÃO, POIS CASO CONTRÁRIO COM MAIS SLOTS DARÁ PAU NO VALIDADOR-->\n    <b-card-body>\n      <slot/>\n    </b-card-body>\n\n  </b-card>\n\n</template>\n<style>\n</style>\n<script>\nexport default {\n  name: 't-form-card',\n  data() {\n    return {\n      hasSlotHeader: false,\n    }\n  },\n  props: {\n    iconFolder: Boolean,\n    iconBox: Boolean,\n    iconChatRightText: Boolean,\n    iconCardHeading: Boolean,\n    iconTruck: Boolean,\n    iconInfoSquare: Boolean,\n    iconBuilding: Boolean,\n    iconCashStack: Boolean,\n    unshaded: Boolean, //Card solto e não aninhado com outros cards\n    title: {\n      type: String,\n      default: \"\"\n    },\n    help: {\n      type: String,\n      default: \"\"\n    },\n\n  },\n  mounted() {\n    //Validação de slote deve ser feito neste padrão\n    this.hasSlotHeader = !!this.$slots.header\n  },\n  methods: {},\n\n}\n</script>\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./t-form-card.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./t-form-card.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./t-form-card.vue?vue&type=template&id=3a08270a&\"\nimport script from \"./t-form-card.vue?vue&type=script&lang=js&\"\nexport * from \"./t-form-card.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-tab',{staticClass:\"container-tab-form\",attrs:{\"active\":_vm.active,\"lazy\":_vm.lazy,\"id\":_vm.hash,\"disabled\":_vm.disabled},on:{\"click\":function($event){return _vm.setHash()}},scopedSlots:_vm._u([{key:\"title\",fn:function(){return [_c('div',{staticClass:\"container-error-tab text-danger not-error\"},[_c('b-spinner',{attrs:{\"type\":\"grow\",\"small\":\"\"}}),_vm._v(\" \"+_vm._s(_vm.title))],1),_c('div',{staticClass:\"title-tab-normal not-error\"},[_vm._v(_vm._s(_vm.title))])]},proxy:true}])},[_c('b-card',{staticClass:\"form-card\",staticStyle:{\"padding-bottom\":\"0px\"}},[_vm._t(\"default\")],2)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\n  <b-tab :active=\"active\" :lazy=\"lazy\" :id=\"hash\" @click=\"setHash()\" class=\"container-tab-form\" :disabled=\"disabled\">\n    <template #title>\n      <div class=\"container-error-tab text-danger not-error\"><b-spinner type=\"grow\" small></b-spinner> {{title}}</div>\n      <div class=\"title-tab-normal not-error\">{{title}}</div>\n    </template>\n    <b-card style=\"padding-bottom: 0px\" class=\"form-card\">\n      <slot></slot>\n    </b-card>\n  </b-tab>\n</template>\n<script>\nexport default {\n  props: {\n    title: {\n      type: String,\n      default: \"\"\n    },\n    hash: {\n      type: String,\n      default: \"\"\n    },\n    disabled:Boolean,\n    lazy:Boolean,\n    active: Boolean,\n  },\n  methods: {\n    setHash(){\n\n      this.$emit('onClick')\n\n      if(this.hash !== ''){\n        window.location.hash = '#'+this.hash;\n      }else{\n        window.location.hash = '#default'\n      }\n    }\n  }\n}\n</script>\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./t-form-tab.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./t-form-tab.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./t-form-tab.vue?vue&type=template&id=c37f127a&\"\nimport script from \"./t-form-tab.vue?vue&type=script&lang=js&\"\nexport * from \"./t-form-tab.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[(!_vm.onlySearch)?_c('b-modal',{attrs:{\"id\":\"modalGeneralErrors\",\"title\":\"Erros encontrados:\",\"ok-only\":\"\"},scopedSlots:_vm._u([{key:\"modal-footer\",fn:function(ref){\nvar ok = ref.ok;\nreturn [_c('t-button',{attrs:{\"text\":\"Corrigir Erros\",\"danger\":\"\"},on:{\"click\":function($event){return ok()}}})]}}],null,false,2360992145),model:{value:(_vm.hasGeneralErrors),callback:function ($$v) {_vm.hasGeneralErrors=$$v},expression:\"hasGeneralErrors\"}},_vm._l((_vm.generalErrors),function(error){return _c('div',{key:error,staticClass:\"p-2 border-bottom mb-2\"},[_c('span',{staticClass:\"text-danger\"},[_c('b-icon-x-circle-fill',{staticClass:\"mr-2\"}),_c('span',{domProps:{\"innerHTML\":_vm._s(error.replace(/\\n/g,'<br />'))}})],1)])}),0):_vm._e(),_c('transition',{attrs:{\"mode\":\"out-in\",\"enter-active-class\":\"animated fadeInFast\"}},[_c('b-row',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.busy),expression:\"!busy\"}],staticClass:\"fadeIn\",attrs:{\"cols\":\"12\"}},_vm._l((_vm.fieldsCustomizable),function(item){return _c('t-field-customized',{key:item.fieldId,attrs:{\"field\":item,\"only-search\":_vm.onlySearch,\"big-search\":_vm.bigSearch,\"non-conformance\":_vm.getNonConformance(item.fieldId),\"command\":_vm.command,\"status\":_vm.status},on:{\"onPressEnter\":_vm.onPressEnter},model:{value:(item.value),callback:function ($$v) {_vm.$set(item, \"value\", $$v)},expression:\"item.value\"}})}),1)],1),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.busy),expression:\"busy\"}],staticClass:\"container_loading_form\"},[_vm._m(0)])],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"container_loading_form_card\",staticStyle:{\"height\":\"350px\"}},[_c('div',{staticClass:\"gradient element-100\",staticStyle:{\"height\":\"30px\"}}),_c('div',{staticClass:\"gradient element-100\",staticStyle:{\"height\":\"100px\"}})])}]\n\nexport { render, staticRenderFns }","<template>\n\n  <div>\n\n\n    <b-modal v-if=\"!onlySearch\" v-model=\"hasGeneralErrors\" id=\"modalGeneralErrors\" title=\"Erros encontrados:\" ok-only>\n\n      <div v-for=\"error in generalErrors\" :key=\"error\" class=\"p-2 border-bottom mb-2\">\n        <span class=\"text-danger\">\n          <b-icon-x-circle-fill class=\"mr-2\"/>\n          <span v-html=\"error.replace(/\\n/g,'<br />')\"></span>\n        </span>\n      </div>\n\n      <template #modal-footer=\"{ ok }\">\n        <t-button @click=\"ok()\" text=\"Corrigir Erros\" danger/>\n      </template>\n\n    </b-modal>\n\n    <transition mode=\"out-in\"\n                enter-active-class=\"animated fadeInFast\">\n\n      <b-row v-show=\"!busy\" class=\"fadeIn\" cols=\"12\">\n\n        <t-field-customized v-for=\"item in fieldsCustomizable\" :key=\"item.fieldId\"\n                            @onPressEnter=\"onPressEnter\"\n                            :field=\"item\" v-model=\"item.value\" :only-search=\"onlySearch\" :big-search=\"bigSearch\"\n                            :non-conformance=\"getNonConformance(item.fieldId)\"\n                            :command=\"command\" :status=\"status\"/>\n\n      </b-row>\n\n    </transition>\n\n    <div class=\"container_loading_form\" v-show=\"busy\">\n\n      <div class=\"container_loading_form_card\" style=\"height: 350px\">\n\n        <div class=\"gradient element-100\" style=\"height: 30px\"></div>\n\n        <div class=\"gradient element-100\" style=\"height: 100px\"></div>\n\n      </div>\n\n    </div>\n\n\n  </div>\n\n</template>\n<script>\nimport tFieldCustomized from \"@/components/template/form/input/t-field-customized\";\n\nexport default {\n  name: 't-page-form-field-customized',\n  components: {tFieldCustomized},\n  data() {\n    return {\n      hasGeneralErrors: false,\n      drag: false,\n      type: \"\",\n      errorList: [],\n      isInvalid: false,\n    }\n  },\n  props: {\n    status: {\n      type: String,\n      default: ''\n    },\n    command: {\n      type: String,\n      default: 'insert'\n    },\n    errorField: Object,\n    generalErrors: Array,\n    onlySearch: {\n      type: Boolean,\n      default: false,\n    },\n    bigSearch: Boolean,\n    fieldsCustomizable: Array,\n    nonConformanceFields: {\n      type: Array,\n    },\n    title: String,\n    userAuth: Object,\n    items: Array,\n    primaryKey: Number,\n    foreignKey: Number,\n    foreignKeyColumn: {\n      type: String,\n      required: false,\n    },\n    primaryKeyColumn: {\n      type: String,\n      required: false,\n    },\n    busy: {//busy principal\n      type: Boolean,\n      default: false,\n    },\n  },\n  mounted() {\n\n    this.hasGeneralErrors = this.generalErrors && this.generalErrors.length > 0\n\n  },\n  methods: {\n\n    onPressEnter() {\n      //Envia informando que o enter foi pressinado\n      this.$emit(\"onPressEnter\")\n    },\n\n    getNonConformance(fieldId){\n\n      if(this.nonConformanceFields !== undefined && this.nonConformanceFields !== null && this.nonConformanceFields.length > 0){\n        return this.nonConformanceFields.find(a => a.fieldId === fieldId)\n      }\n\n    }\n\n\n\n  }\n}\n</script>\n<style scoped>\n</style>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./t-page-form-field-customized.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./t-page-form-field-customized.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./t-page-form-field-customized.vue?vue&type=template&id=d0f3ce54&scoped=true&\"\nimport script from \"./t-page-form-field-customized.vue?vue&type=script&lang=js&\"\nexport * from \"./t-page-form-field-customized.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"d0f3ce54\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-pagination-nav',{attrs:{\"link-gen\":_vm.linkGen,\"number-of-pages\":_vm.totalPages,\"use-router\":\"\"},on:{\"change\":_vm.clickPage}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <b-pagination-nav :link-gen=\"linkGen\" @change=\"clickPage\" :number-of-pages=\"totalPages\"\n                    use-router></b-pagination-nav>\n</template>\n<script>\nexport default {\n  name: 't-pagination',\n  props: {\n    totalPages: Number,\n    notLinkGen: Boolean,\n\n  },\n  methods: {\n    clickPage(page) {\n      this.$emit('getPage', page)\n    },\n    linkGen(pageNum) {\n\n      if(!this.notLinkGen){\n\n        let query = ''\n\n        Object.entries(this.$route.query).forEach(([key, value]) => {\n\n          if (key !== 'page' && key!== 'codSuccess' && key!== 'codError') {\n            query += `&${key}=${value}`\n          }\n\n        });\n\n        //console.log('Query ' + JSON.stringify(this.$route.query))\n        return `?page=${pageNum}${query}`\n\n      }\n\n\n    },\n  }\n}\n</script>\n<style>\n</style>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./t-pagination.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./t-pagination.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./t-pagination.vue?vue&type=template&id=dd83ee74&\"\nimport script from \"./t-pagination.vue?vue&type=script&lang=js&\"\nexport * from \"./t-pagination.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('t-dialog-form',{ref:\"dialog_form\",attrs:{\"title\":_vm.title,\"status\":'',\"cancel-text\":\"Limpar\",\"ok-text\":_vm.okText,\"id\":_vm.id,\"command\":'insert',\"large\":_vm.bigSearch},on:{\"onSubmit\":_vm.onSubmit,\"onCancel\":_vm.onClearSearch}},[_c('div',{staticClass:\"p-2\"},[_vm._t(\"default\"),(_vm.fieldsCustom !== null)?_c('t-page-form-field-customized',{attrs:{\"only-search\":\"\",\"big-search\":_vm.bigSearch,\"fields-customizable\":_vm.fieldsCustom},on:{\"onPressEnter\":_vm.onSubmit}}):_vm._e(),_vm._t(\"after-fields-custom\"),(_vm.searchForm.hasOwnProperty('status'))?_c('t-input-search',{attrs:{\"label\":\"Status\",\"options\":_vm.statusOptions,\"select\":\"\"},model:{value:(_vm.searchForm.status),callback:function ($$v) {_vm.$set(_vm.searchForm, \"status\", $$v)},expression:\"searchForm.status\"}}):_vm._e()],2)]),_c('div',{staticClass:\"position-relative form-group\"},[_c('div',{staticClass:\"input-group-icon\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model.trim\",value:(_vm.searchForm.default),expression:\"searchForm.default\",modifiers:{\"trim\":true}}],staticClass:\"form-control\",staticStyle:{\"max-width\":\"250px\"},attrs:{\"type\":\"text\",\"placeholder\":_vm.placeholder},domProps:{\"value\":(_vm.searchForm.default)},on:{\"keyup\":_vm.onSearchDefault,\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.searchForm, \"default\", $event.target.value.trim())},\"blur\":function($event){return _vm.$forceUpdate()}}}),_c('i',{staticClass:\"input-icon pe-7s-search\",staticStyle:{\"font-size\":\"18px\"}}),(_vm.hasAdvancedFilter())?_c('div',{staticClass:\"input-group-append\",staticStyle:{\"margin-left\":\"-3px\",\"margin-top\":\"0\",\"scale\":\"0.95\"}},[_c('t-button',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.filteredAdvanced),expression:\"!filteredAdvanced\"},{name:\"b-tooltip\",rawName:\"v-b-tooltip.hover.ds500\",modifiers:{\"hover\":true,\"ds500\":true}}],staticClass:\"btn-light\",attrs:{\"light\":\"\",\"title\":\"Pesquisa avançada\"},on:{\"click\":function($event){return _vm.openSearchDialog()}}},[_c('b-icon-sliders')],1),_c('t-button',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.filteredAdvanced),expression:\"filteredAdvanced\"},{name:\"b-tooltip\",rawName:\"v-b-tooltip.hover.ds500\",modifiers:{\"hover\":true,\"ds500\":true}}],staticStyle:{\"margin-left\":\"1px\"},attrs:{\"outline-primary\":\"\",\"title\":\"Filtros aplicados\"},on:{\"click\":function($event){return _vm.openSearchDialog()}}},[_c('b-icon-funnel')],1)],1):_vm._e()])])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\n  <div>\n\n    <t-dialog-form :title=\"title\" :status=\"''\" cancel-text=\"Limpar\" :ok-text=\"okText\"\n                   :id=\"id\" :command=\"'insert'\" :large=\"bigSearch\"\n                   ref=\"dialog_form\" @onSubmit=\"onSubmit\" @onCancel=\"onClearSearch\">\n\n      <div class=\"p-2\">\n\n        <slot></slot>\n\n        <!-- onPressEnter funcionará apenas para campos que não conflitam -->\n        <t-page-form-field-customized\n            v-if=\"fieldsCustom !== null\"\n            @onPressEnter=\"onSubmit\"\n            only-search :big-search=\"bigSearch\"\n            :fields-customizable=\"fieldsCustom\"\n        />\n\n        <slot name=\"after-fields-custom\"></slot>\n\n        <t-input-search label=\"Status\" v-if=\"searchForm.hasOwnProperty('status')\" :options=\"statusOptions\" select\n                        v-model=\"searchForm.status\"/>\n\n      </div>\n    </t-dialog-form>\n\n    <div class=\"position-relative form-group\">\n\n      <div class=\"input-group-icon\">\n\n\n        <input\n            type=\"text\"\n            style=\"max-width: 250px\"\n            :placeholder=\"placeholder\"\n            @keyup=\"onSearchDefault\"\n            v-model.trim=\"searchForm.default\"\n            class=\"form-control\">\n\n        <i class=\"input-icon pe-7s-search\"\n           style=\"font-size: 18px\"></i>\n\n        <div class=\"input-group-append\" v-if=\"hasAdvancedFilter()\"\n             style=\"margin-left: -3px;margin-top: 0; scale: 0.95;\">\n\n\n          <t-button @click=\"openSearchDialog()\" light class=\"btn-light\" v-show=\"!filteredAdvanced\" v-b-tooltip.hover.ds500 title=\"Pesquisa avançada\">\n            <b-icon-sliders></b-icon-sliders>\n          </t-button>\n\n          <t-button @click=\"openSearchDialog()\" style=\"margin-left: 1px\" v-show=\"filteredAdvanced\" outline-primary v-b-tooltip.hover.ds500 title=\"Filtros aplicados\">\n            <b-icon-funnel></b-icon-funnel>\n          </t-button>\n\n        </div>\n\n      </div>\n\n    </div>\n\n  </div>\n\n</template>\n<script>\nimport tDialogForm from \"@/components/template/dialog/t-dialog-form\";\n\nexport default {\n  name: 't-content-header-search-default',\n  components: {tDialogForm},\n  props: {\n    value: {\n      type: null,\n      default: \"\"\n    },\n    placeholder: {\n      type: String,\n      default: \"\"\n    },\n    bigSearch: Boolean,\n    searchForm: {\n      type: Object,\n      required: true\n    },\n    filteredDefault: {\n      type: Boolean,\n      default: false,\n    },\n    filteredAdvanced: {\n      type: Boolean,\n      default: false,\n    },\n    fieldsCustom: {\n      type: Array,\n      default: null\n    },\n  },\n  data() {\n    return {\n      id: \"modal-advanced-search\",\n      title: \"Filtro Avançado\",\n      okText: \"Filtrar\",\n      statusOptions: [{value: 1, text: 'Ativos'}, {value: 2, text: 'Inativos'}],\n    }\n  },\n  methods: {\n\n    hasAdvancedFilter() {\n\n      let hasAdvancedFilter = false\n\n      Object.entries(this.searchForm).every(([key]) => {\n\n        if (key !== 'default') {\n          hasAdvancedFilter = true\n          return false\n        } else {\n          return true\n        }\n      })\n\n      return hasAdvancedFilter\n\n    },\n\n    onSearchDefault() {\n      this.$emit('searchChange', this.searchForm.default)\n    },\n\n    onClearSearch() {\n      this.$emit(\"onClearSearch\")\n    },\n\n    openSearchDialog() {\n      this.$bvModal.show(this.id)\n    },\n\n    async onSubmit() {\n\n      this.$bvModal.hide(this.id)\n      this.$emit('searchChange', this.searchForm.default)\n    },\n\n\n  },\n  watch: {},\n  /*computed: {\n    search: {\n      get: function () {\n        return this.name\n      },\n      set: function (value) {\n        this.$emit('searchChange', value)\n      }\n    }\n  },*/\n\n}\n</script>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./t-content-header-search-default.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./t-content-header-search-default.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./t-content-header-search-default.vue?vue&type=template&id=d78e3ca8&\"\nimport script from \"./t-content-header-search-default.vue?vue&type=script&lang=js&\"\nexport * from \"./t-content-header-search-default.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","var render = function () {\nvar _obj;\nvar _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('t-wrapped',{attrs:{\"show\":_vm.cols !== '' || _vm.formInline}},[_c('div',{class:( _obj = {}, _obj['col-md-'+_vm.cols] = _vm.cols!=='', _obj['button-form-inline'] = _vm.formInline, _obj )},[_c('b-button',{directives:[{name:\"b-tooltip\",rawName:\"v-b-tooltip.hover\",value:(_vm.localTitle),expression:\"localTitle\",modifiers:{\"hover\":true}}],class:{'btn-shadow':_vm.primary || _vm.outlinePrimary,'btn-submit':_vm.submit,'no-icon':_vm.noIcon,'sending':_vm.sending,'is-button-primary-invalid':_vm.isInvalid, 'button-disabled':!_vm.hasAccess},attrs:{\"id\":'btn-'+_vm.text,\"disabled\":_vm.localDisabled || _vm.sending || _vm.disabledSubmitButton,\"title\":_vm.localTitle,\"size\":_vm.localSize,\"target\":_vm.target,\"type\":_vm.type,\"to\":_vm.to && _vm.to.length > 0 ? _vm.localTo : null,\"variant\":_vm.variant},on:{\"click\":_vm.onClick}},[_vm._t(\"default\",function(){return [(_vm.submit)?_c('span',{staticClass:\"d-flex\"},[(_vm.isInvalid)?_c('span',{staticClass:\"mr-2\"},[_c('b-tooltip',{attrs:{\"target\":'btn-'+_vm.text,\"title\":_vm.t('msg-check-all-errors-before-continued')}}),_c('i',{staticClass:\"icon icon ion-android-close opacity-7\",staticStyle:{\"color\":\"#FFFFFF\"}})],1):(!_vm.sending && !_vm.noIcon)?_c('span',{staticClass:\"mr-2\"},[(_vm.danger)?_c('i',{staticClass:\"icon icon-anim-pulse icon ion-android-close opacity-7\"}):_c('i',{staticClass:\"icon icon-anim-pulse icon ion-android-done-all opacity-7\"})]):(_vm.sending)?_c('div',{staticClass:\"img-loading\"},[_c('div',{staticClass:\"loader\"},[_c('div',{staticClass:\"ball-clip-rotate-multiple\"},[_c('div',{staticStyle:{\"width\":\"15px\",\"height\":\"15px\",\"left\":\"0px\",\"top\":\"0px\",\"border-color\":\"#00f0bd\"}}),_c('div',{staticStyle:{\"width\":\"15px\",\"height\":\"15px\",\"left\":\"0px\",\"top\":\"0px\",\"border-color\":\"#00f0bd\"}})])])]):_vm._e(),_vm._v(\" \"+_vm._s(_vm._f(\"commandLabel\")(_vm.command))+\" \"+_vm._s(_vm.text)+\" \")]):_c('span',[(_vm.hasIcon)?[(_vm.iconList)?_c('b-icon-list'):(_vm.iconPencil)?_c('b-icon-pencil'):(_vm.iconSearch)?_c('b-icon-search'):(_vm.iconPlus)?_c('b-icon-plus',{staticStyle:{\"scale\":\"1.4\",\"height\":\"19px\"}}):_vm._e()]:_vm._e(),_vm._v(\" \"+_vm._s(_vm._f(\"commandLabel\")(_vm.command))+\" \"+_vm._s(_vm.text)+\" \")],2)]}),(!_vm.submit && _vm.sending && _vm.enableLoader)?_c('div',{staticClass:\"fade-enter-active\",staticStyle:{\"position\":\"relative\",\"float\":\"right\",\"width\":\"25px\"}},[_c('div',{staticClass:\"loader\",staticStyle:{\"position\":\"absolute\",\"right\":\"10px\",\"top\":\"0px\"}},[_c('div',{staticClass:\"ball-clip-rotate-multiple\"},[_c('div',{staticStyle:{\"width\":\"15px\",\"height\":\"15px\",\"left\":\"0px\",\"top\":\"0px\",\"border-color\":\"#575757\"}}),_c('div',{staticStyle:{\"width\":\"15px\",\"height\":\"15px\",\"left\":\"0px\",\"top\":\"0px\",\"border-color\":\"#d2d2d2\"}})])])]):_vm._e()],2)],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\n  <t-wrapped :show=\"cols !== '' || formInline\">\n\n\n    <div :class=\"{['col-md-'+cols]:cols!=='','button-form-inline':formInline}\">\n\n      <b-button :id=\"'btn-'+text\"\n                :class=\"{'btn-shadow':primary || outlinePrimary,'btn-submit':submit,'no-icon':noIcon,'sending':sending,'is-button-primary-invalid':isInvalid, 'button-disabled':!hasAccess}\"\n                @click=\"onClick\"\n                :disabled=\"localDisabled || sending || disabledSubmitButton\"\n                :title=\"localTitle\"\n                :size=\"localSize\"\n                :target=\"target\"\n                v-b-tooltip.hover=\"localTitle\"\n                :type=\"type\" :to=\"to && to.length > 0 ? localTo : null\" :variant=\"variant\">\n\n        <slot>\n\n          <span class=\"d-flex\" v-if=\"submit\">\n\n             <span class=\"mr-2\" v-if=\"isInvalid\">\n               <b-tooltip :target=\"'btn-'+text\" :title=\"t('msg-check-all-errors-before-continued')\"></b-tooltip>\n                <i class=\"icon icon ion-android-close opacity-7\" style=\"color: #FFFFFF\"></i>\n            </span>\n\n            <span class=\"mr-2\" v-else-if=\"!sending && !noIcon\">\n              <i v-if=\"danger\" class=\"icon icon-anim-pulse icon ion-android-close opacity-7\"></i>\n              <i v-else class=\"icon icon-anim-pulse icon ion-android-done-all opacity-7\"></i>\n            </span>\n\n            <div class=\"img-loading\" v-else-if=\"sending\">\n\n              <div class=\"loader\">\n                <div class=\"ball-clip-rotate-multiple\">\n                  <div style=\"width: 15px; height: 15px; left: 0px; top:0px; border-color: #00f0bd\"></div>\n                  <div\n                      style=\"width: 15px; height: 15px; left: 0px; top: 0px; border-color: #00f0bd\"></div>\n                </div>\n              </div>\n\n            </div>\n\n            {{ command | commandLabel }} {{ text }}\n\n          </span>\n\n          <span v-else>\n             <template v-if=\"hasIcon\">\n               <b-icon-list v-if=\"iconList\"/>\n               <b-icon-pencil v-else-if=\"iconPencil\"/>\n               <b-icon-search v-else-if=\"iconSearch\"/>\n               <b-icon-plus style=\"scale:1.4; height: 19px\" v-else-if=\"iconPlus\"/>\n            </template>\n            {{ command | commandLabel }} {{ text }}\n          </span>\n\n\n        </slot>\n\n\n        <div style=\"position: relative; float: right; width: 25px\" class=\"fade-enter-active\"\n             v-if=\"!submit && sending && enableLoader\">\n\n          <div class=\"loader\" style=\"position: absolute; right: 10px; top:0px\">\n            <div class=\"ball-clip-rotate-multiple\">\n              <div style=\"width: 15px; height: 15px; left: 0px; top:0px; border-color: #575757\"></div>\n              <div\n                  style=\"width: 15px; height: 15px; left: 0px; top: 0px; border-color: #d2d2d2\"></div>\n            </div>\n          </div>\n\n        </div>\n\n\n      </b-button>\n\n    </div>\n\n  </t-wrapped>\n\n</template>\n<script>\nexport default {\n  name: 't-button',\n  data() {\n    return {\n      type: \"button\",\n      variant: \"\",\n      hasIcon: false,\n      localDisabled: false,\n      localSize: \"\",\n      localTitle: \"\",\n      localTo: {},\n    }\n  },\n  props: {\n    formInline: Boolean,\n    sending: Boolean,\n    enableLoader: Boolean,\n    small: Boolean,\n    large: Boolean,\n    target: {\n      type: String,\n      default: \"none\",\n    },\n    cols: {\n      type: String,\n      default: \"\"\n    },\n    command: {\n      type: String,\n      default: \"\"\n    },\n    disabled: Boolean,\n    to: {\n      type: String,\n      default: \"\",\n    },\n    title: { //tipForm tipform\n      type: String,\n      default: \"\"\n    },\n    text: {\n      type: String,\n      default: \"\",\n    },\n    hasAccess: {\n      type: Boolean,\n      default: true\n    },\n    noIcon: {\n      type: Boolean,\n      default: false,\n    },\n    isInvalid: Boolean,\n    submit: Boolean,\n    submitFake: Boolean,\n    primary: Boolean,\n    secondary: Boolean,\n    danger: Boolean,\n    success: Boolean,\n    warning: Boolean,\n    focus: Boolean,\n    light: Boolean,\n    outlinePrimary: Boolean,\n    outlineSecondary: Boolean,\n    outlineDanger: Boolean,\n    outlineSuccess: Boolean,\n    outlineWarning: Boolean,\n    outlineFocus: Boolean,\n    outlineLight: Boolean,\n    iconSearch: Boolean,\n    iconList: Boolean,\n    iconPlus: Boolean,\n    iconPencil: Boolean,\n    iconDetail: Boolean,\n  },\n  mounted() {\n    this.applyRules()\n  },\n  watch: {\n    hasAccess() {\n      this.applyRules()\n    },\n    primary() {\n      this.applyRules()\n    },\n    secondary() {\n      this.applyRules()\n    },\n    danger() {\n      this.applyRules()\n    },\n    success() {\n      this.applyRules()\n    },\n    warning() {\n      this.applyRules()\n    },\n    disabled() {\n      this.applyRules()\n    },\n\n  },\n  methods: {\n    onClick() {\n      this.$emit(\"click\")\n    },\n    applyRules() {\n\n      this.localDisabled = this.disabled\n      this.localTitle = this.title\n\n\n      if (this.small) {\n        this.localSize = \"sm\"\n      } else if (this.large) {\n        this.localSize = \"lg\"\n      } else {\n        this.localSize = \"md\"\n      }\n\n      if (!this.hasAccess) {\n        //Não possui acesso, desabilita e insere o tipform indicando que não possui acesso\n        //this.localDisabled = true\n        this.localTitle = this.t('notHaveAccess')\n      }\n\n      if (this.to.length > 0 && this.hasAccess) {\n        this.localTo.name = this.to\n      }\n\n      if (this.submit && !this.submitFake) {\n        this.type = \"submit\"\n      }\n\n      if (this.iconList || this.iconPlus || this.iconPencil || this.iconSearch) {\n        this.hasIcon = true\n      }\n\n      if (this.hasIcon && this.text.length === 0) {\n        //Valor padrão quando há somente ícone sem texto\n        this.variant = \"outline-secondary\"\n\n      } else {\n        //Valor padrão quando não há ícones utilizados\n        this.variant = \"outline-primary\"\n      }\n\n      if (this.primary) {\n        this.variant = \"primary\"\n      } else if (this.secondary) {\n        this.variant = \"secondary\"\n      } else if (this.danger) {\n        this.variant = \"danger\"\n      } else if (this.success) {\n        this.variant = \"success\"\n      } else if (this.warning) {\n        this.variant = \"warning\"\n      } else if (this.focus) {\n        this.variant = \"focus\"\n      } else if (this.light) {\n        this.variant = \"light\"\n      } else if (this.outlinePrimary) {\n        this.variant = \"outline-primary\"\n      } else if (this.outlineSecondary) {\n        this.variant = \"outline-secondary\"\n      } else if (this.outlineDanger) {\n        this.variant = \"outline-danger\"\n      } else if (this.outlineWarning) {\n        this.variant = \"outline-warning\"\n      } else if (this.outlineFocus) {\n        this.variant = \"outline-focus\"\n      } else if (this.outlineLight) {\n        this.variant = \"outline-light\"\n      }\n\n    }\n\n  },\n\n  computed: {\n\n    disabledSubmitButton() {\n\n      if (this.type === 'submit') {\n        return this.$store.getters.getDisabledButtonSubmit\n      } else {\n        return false\n      }\n\n    },\n  }\n}\n</script>\n<style>\n.button-disabled:hover {\n  cursor: auto !important;\n}\n\n.btn-outline-primary.button-disabled {\n  color: #333;\n}\n\n.btn-outline-primary.button-disabled:hover {\n  background-color: #e1e1e1 !important;\n  color: #676767;\n}\n\n.is-button-primary-invalid {\n  border-color: #d92550 !important;\n  background-color: #d92550 !important;\n  opacity: 0.8 !important;\n}\n\n.btn-submit:not(.no-icon) {\n  padding-left: 30px !important;\n  padding-right: 35px;\n}\n\n.btn-submit.no-icon {\n  padding-left: 15px !important;\n}\n\n.btn-submit.sending:not(.no-icon) {\n  padding-left: 51px !important;\n}\n\n.btn-submit.sending.no-icon {\n  padding-left: 51px !important;\n}\n\n.btn-submit.sending.no-icon .ball-clip-rotate-multiple div {\n  border-color: #6f30ff !important;\n}\n\n.btn-submit.btn-outline-primary.sending {\n  background-color: #f1f1f1;\n}\n\n\n.btn-submit .img-loading {\n  width: 25px;\n  height: 25px;\n  position: absolute;\n  left: 28px;\n  top: 9px;\n  transition: all 0.5s ease-in-out;\n}\n\n\n.btn-submit .img-loading img {\n  position: absolute;\n  left: -25px;\n  top: -12px;\n  width: 45px;\n  height: 45px;\n}\n\n\n.button-form-inline {\n  margin-bottom: 1rem;\n}\n\n@media (min-width: 768px) {\n  .button-form-inline {\n    margin-top: 21px;\n  }\n}\n\n</style>\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./t-button.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./t-button.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./t-button.vue?vue&type=template&id=c6554f80&\"\nimport script from \"./t-button.vue?vue&type=script&lang=js&\"\nexport * from \"./t-button.vue?vue&type=script&lang=js&\"\nimport style0 from \"./t-button.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('button',{staticClass:\"btn-pill btn-shadow btn-wide fsize-1 btn btn-primary\",class:{'mb-2':_vm.marginBottom, 'mr-2':_vm.marginRight, 'disabled-external':_vm.disabled},attrs:{\"type\":\"submit\",\"disabled\":_vm.disabled || _vm.clicked},on:{\"click\":function($event){$event.preventDefault();return _vm.save()}}},[(_vm.clicked)?_c('div',{staticClass:\"img-loading\"},[_vm._m(0)]):_vm._e(),_vm._v(\" \"+_vm._s(_vm.text)+\" \")])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"loader\"},[_c('div',{staticClass:\"ball-clip-rotate-multiple\"},[_c('div',{staticStyle:{\"width\":\"15px\",\"height\":\"15px\",\"border-color\":\"rgb(255, 255, 255) transparent\"}}),_c('div',{staticStyle:{\"width\":\"15px\",\"height\":\"15px\",\"left\":\"-20px\",\"top\":\"-20px\",\"border-color\":\"#fff transparent #fff transparent\"}})])])}]\n\nexport { render, staticRenderFns }","<template>\r\n\r\n\r\n    <button type=\"submit\" @click.prevent=\"save()\"\r\n            :class=\"{'mb-2':marginBottom, 'mr-2':marginRight, 'disabled-external':disabled}\"\r\n            class=\"btn-pill btn-shadow btn-wide fsize-1 btn btn-primary\" :disabled=\"disabled || clicked\">\r\n\r\n\r\n        <div class=\"img-loading\" v-if=\"clicked\">\r\n\r\n            <div class=\"loader\">\r\n                <div class=\"ball-clip-rotate-multiple\">\r\n                    <div style=\"width: 15px; height: 15px; border-color: rgb(255, 255, 255) transparent;\"></div>\r\n                    <div style=\"width: 15px; height: 15px; left: -20px; top: -20px; border-color: #fff transparent #fff transparent;\"></div>\r\n                </div>\r\n            </div>\r\n\r\n        </div>\r\n        {{text}}\r\n\r\n    </button>\r\n\r\n</template>\r\n\r\n<script>\r\n    export default {\r\n        name: \"v-button\",\r\n        props: {\r\n            disabled: {\r\n                type: Boolean,\r\n                default: false\r\n            },\r\n            marginBottom: {\r\n                type: Boolean,\r\n                default: true\r\n            },\r\n            marginRight: {\r\n                type: Boolean,\r\n                default: true\r\n            },\r\n            text: {\r\n                type: String,\r\n                default: 'Salvar'\r\n            },\r\n            clicked: {\r\n                type: Boolean,\r\n                default: false\r\n            }\r\n        },\r\n        methods: {\r\n            save() {\r\n                this.$emit('save')\r\n            }\r\n        }\r\n\r\n\r\n    }\r\n</script>\r\n\r\n<style scoped>\r\n    .img-loading {\r\n        width: 25px;\r\n        height: 25px;\r\n        position: absolute;\r\n        left: 0px;\r\n        transition: all 0.5s ease-in-out;\r\n    }\r\n\r\n    .img-loading img {\r\n        position: absolute;\r\n        left: -25px;\r\n        top: -12px;\r\n        width: 45px;\r\n        height: 45px;\r\n    }\r\n\r\n    button {\r\n        transition: all 0.5s ease-in-out;\r\n        line-height: 19px;\r\n    }\r\n\r\n    button[disabled] {\r\n        padding-left: 32px;\r\n    }\r\n\r\n    button[disabled].disabled-external {\r\n        padding-left: 2rem;\r\n    }\r\n\r\n    button[disabled] .img-loading {\r\n        left: 45px;\r\n        top: 32px;\r\n    }\r\n\r\n    button[disabled].disabled-external .img-loading {\r\n        left: 0;\r\n        top: 0;\r\n    }\r\n</style>\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./t-button-save.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./t-button-save.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./t-button-save.vue?vue&type=template&id=350611ec&scoped=true&\"\nimport script from \"./t-button-save.vue?vue&type=script&lang=js&\"\nexport * from \"./t-button-save.vue?vue&type=script&lang=js&\"\nimport style0 from \"./t-button-save.vue?vue&type=style&index=0&id=350611ec&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"350611ec\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"position-relative d-inline-block dropdown-custom\",on:{\"mouseover\":_vm.onOver,\"mouseleave\":_vm.onLeave}},[_c('b-dropdown',{ref:\"dropdown\",attrs:{\"no-caret\":_vm.noCaret,\"toggle-class\":_vm.toggleClass,\"variant\":_vm.variant},scopedSlots:_vm._u([{key:\"button-content\",fn:function(){return [_vm._t(\"button-content\",function(){return [(_vm.iconSettings)?_c('b-icon',{attrs:{\"icon\":\"gear-fill\",\"aria-hidden\":\"true\"}}):_vm._e()]})]},proxy:true}],null,true)},[_vm._l((_vm.itemsRelationPages),function(item){return _c('b-dropdown-item',{key:item.pageRelationId,attrs:{\"disabled\":item.accessGeneral === false,\"to\":{name:item.name}}},[_vm._v(\" \"+_vm._s(item.pageTitle)+\" \")])}),_vm._t(\"default\")],2)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\n  <div class=\"position-relative d-inline-block dropdown-custom\" @mouseover=\"onOver\" @mouseleave=\"onLeave\">\n\n    <b-dropdown ref=\"dropdown\" :no-caret=\"noCaret\" :toggle-class=\"toggleClass\"\n                :variant=\"variant\">\n\n      <template #button-content>\n        <slot name=\"button-content\">\n          <b-icon v-if=\"iconSettings\" icon=\"gear-fill\" aria-hidden=\"true\"></b-icon>\n        </slot>\n      </template>\n\n      <b-dropdown-item v-for=\"item in itemsRelationPages\" :key=\"item.pageRelationId\"\n                       :disabled=\"item.accessGeneral === false\" :to=\"{name:item.name}\">\n        {{ item.pageTitle }}\n      </b-dropdown-item>\n\n\n      <slot></slot>\n\n    </b-dropdown>\n\n  </div>\n\n</template>\n<script>\nexport default {\n  props: {\n    noCaret: {\n      type: Boolean,\n      default: false,\n    },\n    toggleClass: {\n      type: String,\n      default: \"\",\n    },\n    itemsRelationPages: Array,\n    iconSettings: Boolean,\n    variant: {\n      type: String,\n      default: \"\",\n    }\n  },\n  methods: {\n    onOver() {\n      this.$refs.dropdown.visible = true;\n    },\n    onLeave() {\n      this.$refs.dropdown.visible = false;\n    }\n  }\n}\n</script>\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./t-dropdown.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./t-dropdown.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./t-dropdown.vue?vue&type=template&id=b775dcb8&\"\nimport script from \"./t-dropdown.vue?vue&type=script&lang=js&\"\nexport * from \"./t-dropdown.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","var render = function () {\nvar _obj;\nvar _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('t-wrapped',{attrs:{\"show\":(_vm.row || _vm.cols === '12' && !_vm.hidden) && !_vm.notRow}},[_c('b-row',[_c('ValidationProvider',{ref:\"provider\",staticClass:\"TextInput\",class:( _obj = {}, _obj['col-md-' + _vm.cols] = !_vm.notRow && _vm.cols && !_vm.hidden, _obj['input-hidden'] = _vm.hidden, _obj['has-color-palette'] = (_vm.colorReduced || _vm.colorSketch) && _vm.showColors, _obj['type-input-'+_vm.type] = true, _obj ),attrs:{\"tag\":\"div\",\"vid\":_vm.vid,\"name\":_vm.name || _vm.label,\"rules\":_vm.localRules,\"persist\":true},scopedSlots:_vm._u([{key:\"default\",fn:function(validationContext){\nvar _obj, _obj$1, _obj$2, _obj$3, _obj$4, _obj$5, _obj$6, _obj$7, _obj$8, _obj$9, _obj$10, _obj$11, _obj$12, _obj$13;\nreturn [_c('b-form-group',{staticStyle:{\"position\":\"relative\"}},[(_vm.range)?_c('div',[(_vm.label !== '' && !_vm.hideLabel && _vm.type !== 'checked')?_c('label',{staticClass:\"d-flex justify-content-between align-content-end\",attrs:{\"for\":_vm.label}},[_c('div',[_vm._v(_vm._s(_vm.localLabel))]),(_vm.innerValue > 0)?_c('div',[_c('b',[_vm._v(_vm._s(_vm._f(\"number\")(_vm.innerValue))+\"%\")])]):_c('div',[_c('b',[_vm._v(\"0%\")])]),(_vm.help.length > 0)?_c('t-help',{attrs:{\"title\":_vm.help}}):_vm._e()],1):_vm._e()]):_c('div',[(_vm.label !== '' && !_vm.hideLabel && _vm.type !== 'checked')?_c('label',{attrs:{\"for\":_vm.label}},[_c('div',[_vm._v(_vm._s(_vm.localLabel))])]):_vm._e(),(_vm.help.length > 0)?_c('t-help',{attrs:{\"title\":_vm.help}}):_vm._e()],1),_c('t-wrapped',{attrs:{\"show\":_vm.hasSlotGroupInputPrepend || _vm.hasSlotGroupInputAppend}},[_c('b-input-group',{class:{'input-has-append':_vm.hasSlotGroupInputAppend},scopedSlots:_vm._u([(_vm.hasSlotGroupInputPrepend)?{key:\"prepend\",fn:function(){return [_c('div',{staticClass:\"input-group-text\"},[_vm._t(\"input-group-prepend\")],2)]},proxy:true}:null,(_vm.hasSlotGroupInputAppend)?{key:\"append\",fn:function(){return [_vm._t(\"input-group-append\")]},proxy:true}:null],null,true)},[(_vm.hasSlotInputIcon || _vm.hasIconByMask)?_c('div',{staticClass:\"input-icon-group\",class:( _obj = {'input-icon-focused':_vm.inputIsFocus}, _obj[_vm.classIconGroup] = _vm.classIconGroup !== '', _obj )},[_vm._t(\"input-icon\",function(){return [(_vm.date && !_vm.dateRemoveCalendar && _vm.type !== 'fixed')?_c('b-icon-calendar'):_vm._e()]})],2):_vm._e(),(_vm.type === 'fixed')?[_c('div',{staticClass:\"vs--disabled_label form-control\",class:( _obj$1 = {'text-bold':_vm.bold, 'bg-fixed-focus':_vm.highlight,'text-right':_vm.number || _vm.money || _vm.percent,'bg-fixed-normal':!_vm.highlight}, _obj$1[_vm.classInput] = _vm.classInput !== '', _obj$1 )},[(_vm.select || _vm.selectCommon || _vm.radio)?_c('span',[_vm._v(_vm._s(_vm.selectText)+\" \")]):(_vm.lpad !== '' || _vm.lpad > 0)?_c('span',[_vm._v(_vm._s(_vm._f(\"lpad\")(_vm.innerValue,_vm.lpad)))]):(_vm.date)?_c('span',[_vm._v(_vm._s(_vm._f(\"date\")(_vm.innerValue)))]):(_vm.datetime)?_c('span',[_vm._v(_vm._s(_vm._f(\"datetime\")(_vm.innerValue)))]):(_vm.number || _vm.range)?_c('span',[_vm._v(_vm._s(_vm._f(\"number\")(_vm.innerValue)))]):(_vm.money)?_c('span',[_vm._v(_vm._s(_vm._f(\"money\")(_vm.innerValue)))]):(_vm.percent)?_c('span',[_vm._v(_vm._s(_vm._f(\"percent\")(_vm.innerValue,_vm.localDecimals)))]):_c('span',[_vm._v(_vm._s(_vm.innerValue))])]),(_vm.addError!=='')?_c('b-form-invalid-feedback',{staticStyle:{\"display\":\"inherit\"}},[_vm._v(\" \"+_vm._s(_vm.addError)+\" \")]):_vm._e()]:_vm._e(),(_vm.type === 'hidden')?[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.innerValue),expression:\"innerValue\"}],attrs:{\"type\":\"hidden\"},domProps:{\"value\":(_vm.innerValue)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.innerValue=$event.target.value}}})]:_vm._e(),(_vm.type === 'file')?[_c('b-form-file',{attrs:{\"capture\":\"\",\"autofocus\":_vm.focus,\"id\":_vm.localInputId,\"state\":_vm.getValidationState(validationContext),\"placeholder\":_vm.placeholder,\"multiple\":\"\",\"drop-placeholder\":\"Arraste para aqui o arquivo\"},on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }$event.preventDefault();},\"keydown\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }$event.preventDefault();}},model:{value:(_vm.innerValue),callback:function ($$v) {_vm.innerValue=$$v},expression:\"innerValue\"}})]:_vm._e(),(_vm.type === 'range')?[_c('b-form-input',{ref:\"input\",staticClass:\"form-range\",class:( _obj$2 = {}, _obj$2[_vm.classInput] = _vm.classInput !== '', _obj$2 ),attrs:{\"type\":\"range\",\"id\":_vm.localInputId,\"autofocus\":_vm.focus,\"autocomplete\":_vm.autocomplete,\"disabled\":_vm.disabledCheck,\"placeholder\":_vm.placeholder,\"state\":_vm.getValidationState(validationContext)},on:{\"focusin\":_vm.onFocusInInput,\"focusout\":_vm.onFocusOutInput},model:{value:(_vm.innerValue),callback:function ($$v) {_vm.innerValue=$$v},expression:\"innerValue\"}})]:_vm._e(),(_vm.type === 'text')?[_c('div',{staticClass:\"input-template\",staticStyle:{\"position\":\"relative\"}},[(!_vm.maskApply && !_vm.submitted)?_c('b-form-input',{ref:\"input\",class:( _obj$3 = {'upperCase':_vm.localUpper,'lowerCase':_vm.localLower, 'hasSlotInputIcon':_vm.hasSlotInputIcon,'padding-input-color':(_vm.colorReduced || _vm.colorSketch)}, _obj$3[_vm.classInput] = _vm.classInput !== '', _obj$3 ),attrs:{\"id\":_vm.localInputId,\"autocomplete\":_vm.autocomplete,\"type\":_vm.password || _vm.passwordSecurity ? 'password' : 'text',\"autofocus\":_vm.focus,\"disabled\":_vm.disabledCheck,\"placeholder\":_vm.placeholder,\"state\":_vm.getValidationState(validationContext)},on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }$event.preventDefault();},\"keydown\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }$event.preventDefault();},\"focusin\":_vm.onFocusInInput,\"focusout\":_vm.onFocusOutInput},model:{value:(_vm.innerValue),callback:function ($$v) {_vm.innerValue=$$v},expression:\"innerValue\"}}):(_vm.submitted)?_c('b-form-input',{ref:\"input\",staticClass:\"input-submited\",class:( _obj$4 = {'upperCase':_vm.localUpper,'lowerCase':_vm.localLower, 'hasSlotInputIcon':_vm.hasSlotInputIcon}, _obj$4[_vm.classInput] = _vm.classInput !== '', _obj$4 ),attrs:{\"id\":_vm.localInputId,\"autofocus\":_vm.focus,\"autocomplete\":_vm.autocomplete,\"disabled\":_vm.disabledCheck,\"placeholder\":_vm.placeholder,\"state\":_vm.getValidationState(validationContext)},on:{\"focusin\":_vm.onFocusInInput,\"focusout\":_vm.onFocusOutInput},model:{value:(_vm.innerValue),callback:function ($$v) {_vm.innerValue=$$v},expression:\"innerValue\"}}):(_vm.date || _vm.datetime)?_c('date-picker',{ref:\"datePicker\",attrs:{\"title-format\":\"DD/MM/YYYY\",\"format\":\"DD/MM/YYYY\",\"append-to-body\":false,\"value-type\":\"format\",\"clearable\":false},scopedSlots:_vm._u([{key:\"icon-calendar\",fn:function(){return [_vm._v(\" \")]},proxy:true},{key:\"input\",fn:function(){\nvar _obj;\nreturn [_c('b-form-input',{class:( _obj = {'input-with-icon':_vm.hasIconByMask,'hasSlotInputIcon':_vm.hasSlotInputIcon}, _obj[_vm.classInput] = _vm.classInput !== '', _obj ),attrs:{\"id\":_vm.localInputId,\"autofocus\":_vm.focus,\"autocomplete\":_vm.autocomplete,\"disabled\":_vm.disabledCheck,\"placeholder\":_vm.placeholder,\"state\":_vm.getValidationState(validationContext)},on:{\"keyup\":[function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }$event.preventDefault();return _vm.setDateAndClose.apply(null, arguments)},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"tab\",9,$event.key,\"Tab\")){ return null; }return _vm.closeDatePicker.apply(null, arguments)},_vm.dateRemoveByRegex],\"keydown\":[function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }$event.preventDefault();return _vm.setDateAndClose.apply(null, arguments)},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"tab\",9,$event.key,\"Tab\")){ return null; }return _vm.closeDatePicker.apply(null, arguments)},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"esc\",27,$event.key,[\"Esc\",\"Escape\"])){ return null; }return _vm.closeDatePicker.apply(null, arguments)},_vm.dateRemoveByRegex],\"focusin\":_vm.onFocusInInput,\"focusout\":_vm.onFocusOutInput},model:{value:(_vm.innerDate),callback:function ($$v) {_vm.innerDate=$$v},expression:\"innerDate\"}})]},proxy:true}],null,true),model:{value:(_vm.innerDate),callback:function ($$v) {_vm.innerDate=$$v},expression:\"innerDate\"}}):(_vm.cnpjOrCpf)?_c('b-form-input',{directives:[{name:\"mask\",rawName:\"v-mask\",value:(['###.###.###-##', '##.###.###/####-##']),expression:\"['###.###.###-##', '##.###.###/####-##']\"}],ref:\"input\",attrs:{\"id\":_vm.localInputId,\"autofocus\":_vm.focus,\"autocomplete\":_vm.autocomplete,\"disabled\":_vm.disabledCheck,\"placeholder\":_vm.placeholder,\"state\":_vm.getValidationState(validationContext)},on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }$event.preventDefault();},\"keydown\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }$event.preventDefault();},\"focusin\":_vm.onFocusInInput,\"focusout\":_vm.onFocusOutInput},model:{value:(_vm.innerValue),callback:function ($$v) {_vm.innerValue=$$v},expression:\"innerValue\"}}):(_vm.cnpj)?_c('b-form-input',{directives:[{name:\"mask\",rawName:\"v-mask\",value:('##.###.###/####-##'),expression:\"'##.###.###/####-##'\"}],ref:\"input\",class:( _obj$5 = {'input-with-icon':_vm.hasIconByMask,'hasSlotInputIcon':_vm.hasSlotInputIcon}, _obj$5[_vm.classInput] = _vm.classInput !== '', _obj$5 ),attrs:{\"id\":_vm.localInputId,\"autofocus\":_vm.focus,\"autocomplete\":_vm.autocomplete,\"disabled\":_vm.disabledCheck,\"placeholder\":_vm.placeholder,\"state\":_vm.getValidationState(validationContext)},on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }$event.preventDefault();},\"keydown\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }$event.preventDefault();},\"focusin\":_vm.onFocusInInput,\"focusout\":_vm.onFocusOutInput},model:{value:(_vm.innerValue),callback:function ($$v) {_vm.innerValue=$$v},expression:\"innerValue\"}}):(_vm.cpf)?_c('b-form-input',{directives:[{name:\"mask\",rawName:\"v-mask\",value:('###.###.###-##'),expression:\"'###.###.###-##'\"}],ref:\"input\",class:( _obj$6 = {'input-with-icon':_vm.hasIconByMask,'hasSlotInputIcon':_vm.hasSlotInputIcon}, _obj$6[_vm.classInput] = _vm.classInput !== '', _obj$6 ),attrs:{\"id\":_vm.localInputId,\"autofocus\":_vm.focus,\"autocomplete\":_vm.autocomplete,\"disabled\":_vm.disabledCheck,\"placeholder\":_vm.placeholder,\"state\":_vm.getValidationState(validationContext)},on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }$event.preventDefault();},\"keydown\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }$event.preventDefault();},\"focusin\":_vm.onFocusInInput,\"focusout\":_vm.onFocusOutInput},model:{value:(_vm.innerValue),callback:function ($$v) {_vm.innerValue=$$v},expression:\"innerValue\"}}):(_vm.cep)?_c('b-form-input',{directives:[{name:\"mask\",rawName:\"v-mask\",value:('#####-###'),expression:\"'#####-###'\"}],ref:\"input\",class:( _obj$7 = {'input-with-icon':_vm.hasIconByMask,'hasSlotInputIcon':_vm.hasSlotInputIcon}, _obj$7[_vm.classInput] = _vm.classInput !== '', _obj$7 ),attrs:{\"id\":_vm.localInputId,\"autofocus\":_vm.focus,\"autocomplete\":_vm.autocomplete,\"disabled\":_vm.disabledCheck,\"placeholder\":_vm.placeholder,\"state\":_vm.getValidationState(validationContext)},on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }$event.preventDefault();},\"keydown\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }$event.preventDefault();},\"focusin\":_vm.onFocusInInput,\"focusout\":_vm.onFocusOutInput},model:{value:(_vm.innerValue),callback:function ($$v) {_vm.innerValue=$$v},expression:\"innerValue\"}}):(_vm.tel)?_c('b-form-input',{directives:[{name:\"mask\",rawName:\"v-mask\",value:(['(##) ####-####', '(##) #####-####']),expression:\"['(##) ####-####', '(##) #####-####']\"}],ref:\"input\",class:( _obj$8 = {'input-with-icon':_vm.hasIconByMask,'hasSlotInputIcon':_vm.hasSlotInputIcon}, _obj$8[_vm.classInput] = _vm.classInput !== '', _obj$8 ),attrs:{\"id\":_vm.localInputId,\"autofocus\":_vm.focus,\"autocomplete\":_vm.autocomplete,\"disabled\":_vm.disabledCheck,\"placeholder\":_vm.placeholder,\"state\":_vm.getValidationState(validationContext)},on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }$event.preventDefault();},\"keydown\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }$event.preventDefault();},\"focusin\":_vm.onFocusInInput,\"focusout\":_vm.onFocusOutInput},model:{value:(_vm.innerValue),callback:function ($$v) {_vm.innerValue=$$v},expression:\"innerValue\"}}):(_vm.time)?_c('b-form-input',{directives:[{name:\"mask\",rawName:\"v-mask\",value:(['##:##']),expression:\"['##:##']\"}],ref:\"input\",attrs:{\"id\":_vm.localInputId,\"autofocus\":_vm.focus,\"autocomplete\":_vm.autocomplete,\"disabled\":_vm.disabledCheck,\"placeholder\":_vm.placeholder,\"state\":_vm.getValidationState(validationContext)},on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }$event.preventDefault();},\"keydown\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }$event.preventDefault();},\"focusin\":_vm.onFocusInInput,\"focusout\":_vm.onFocusOutInput},model:{value:(_vm.innerValue),callback:function ($$v) {_vm.innerValue=$$v},expression:\"innerValue\"}}):(_vm.url)?_c('b-form-input',{ref:\"input\",class:( _obj$9 = {'input-with-icon':_vm.hasIconByMask,'hasSlotInputIcon':_vm.hasSlotInputIcon}, _obj$9[_vm.classInput] = _vm.classInput !== '', _obj$9 ),attrs:{\"disabled\":_vm.disabledCheck,\"autocomplete\":_vm.autocomplete,\"placeholder\":_vm.placeholder,\"state\":_vm.getValidationState(validationContext)},on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }$event.preventDefault();},\"keydown\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }$event.preventDefault();},\"focusin\":_vm.onFocusInInput,\"focusout\":_vm.onFocusOutInput},model:{value:(_vm.innerValue),callback:function ($$v) {_vm.innerValue=$$v},expression:\"innerValue\"}}):(_vm.money)?_c('div',{staticClass:\"input-group\"},[_c('money',_vm._b({ref:\"input\",staticClass:\"text-right form-control\",class:( _obj$10 = {'is-invalid':_vm.checkInvalid(validationContext),'input-with-icon':_vm.hasIconByMask,'hasSlotInputIcon':_vm.hasSlotInputIcon}, _obj$10[_vm.classInput] = _vm.classInput !== '', _obj$10 ),attrs:{\"id\":_vm.localInputId,\"autofocus\":_vm.focus,\"autocomplete\":_vm.autocomplete,\"disabled\":_vm.disabledCheck},nativeOn:{\"focus\":function($event){return _vm.onFocusInInput.apply(null, arguments)},\"blur\":function($event){return _vm.onFocusOutInput.apply(null, arguments)}},model:{value:(_vm.innerNumeric),callback:function ($$v) {_vm.innerNumeric=$$v},expression:\"innerNumeric\"}},'money',_vm.moneyConfig,false)),_c('span',{staticClass:\"v-money-currency\"},[_vm._v(\"R$\")])],1):(_vm.percent)?_c('div',{staticClass:\"input-group\"},[_c('money',{ref:\"input\",staticClass:\"text-right form-control\",class:( _obj$11 = {'is-invalid':_vm.checkInvalid(validationContext),'input-with-icon':_vm.hasIconByMask,'hasSlotInputIcon':_vm.hasSlotInputIcon}, _obj$11[_vm.classInput] = _vm.classInput !== '', _obj$11 ),attrs:{\"id\":_vm.localInputId,\"autofocus\":_vm.focus,\"autocomplete\":_vm.autocomplete,\"disabled\":_vm.disabledCheck,\"decimal\":\",\",\"thousands\":\".\",\"sufix\":\"%\",\"precision\":_vm.localDecimals,\"masked\":false},nativeOn:{\"focus\":function($event){return _vm.onFocusInInput.apply(null, arguments)},\"blur\":function($event){return _vm.onFocusOutInput.apply(null, arguments)}},model:{value:(_vm.innerValue),callback:function ($$v) {_vm.innerValue=$$v},expression:\"innerValue\"}}),_c('span',{staticClass:\"v-money-percent\"},[_vm._v(\"%\")])],1):(_vm.number)?_c('b-form-input',{ref:\"input\",class:( _obj$12 = {'text-right':_vm.localDecimals > 0, 'input-with-icon':_vm.hasIconByMask,'hasSlotInputIcon':_vm.hasSlotInputIcon}, _obj$12[_vm.classInput] = _vm.classInput !== '', _obj$12 ),attrs:{\"id\":_vm.localInputId,\"autofocus\":_vm.focus,\"autocomplete\":_vm.autocomplete,\"disabled\":_vm.disabledCheck,\"placeholder\":_vm.placeholder,\"state\":_vm.getValidationState(validationContext),\"maxlength\":9,\"max\":2147483647},on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }$event.preventDefault();},\"keydown\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }$event.preventDefault();},\"focusin\":_vm.onFocusInInput,\"focusout\":_vm.onFocusOutInput,\"blur\":_vm.checkNumericValue},model:{value:(_vm.innerValue),callback:function ($$v) {_vm.innerValue=$$v},expression:\"innerValue\"}}):_vm._e(),((_vm.colorReduced || _vm.colorSketch))?_c('div',{staticClass:\"show-palette-color\",style:({'background-color':_vm.innerValue})}):_vm._e(),(_vm.colorReduced && _vm.showColors)?_c('div',{staticStyle:{\"width\":\"300px\"},on:{\"mouseover\":_vm.onPaletteOver,\"mouseleave\":_vm.onPaletteLeave}},[(_vm.showColors)?_c('twitter-picker',{ref:\"palette\",attrs:{\"value\":_vm.innerValue},on:{\"input\":_vm.updateColor}}):_vm._e()],1):(_vm.colorSketch && _vm.showColors)?_c('div',{staticStyle:{\"width\":\"300px\"},on:{\"mouseover\":_vm.onPaletteOver,\"mouseleave\":_vm.onPaletteLeave}},[(_vm.showColors)?_c('sketch-picker',{ref:\"palette\",attrs:{\"value\":_vm.innerValue},on:{\"input\":_vm.updateColor}}):_vm._e()],1):_vm._e()],1)]:_vm._e(),(_vm.type === 'textarea')?[_c('b-form-textarea',{ref:\"input\",class:( _obj$13 = {'upperCase':_vm.localUpper,'lowerCase':_vm.localLower}, _obj$13[_vm.classInput] = _vm.classInput !== '', _obj$13 ),attrs:{\"rows\":_vm.rows,\"autofocus\":_vm.focus,\"id\":_vm.localInputId,\"disabled\":_vm.disabledCheck,\"placeholder\":_vm.placeholder,\"state\":_vm.getValidationState(validationContext)},on:{\"focusin\":_vm.onFocusInTextarea,\"focusout\":_vm.onFocusOutTextarea},model:{value:(_vm.innerValue),callback:function ($$v) {_vm.innerValue=$$v},expression:\"innerValue\"}}),(_vm.enableOptimizeAi)?_c('b-row',[(_vm.enableOptimizeAi)?_c('b-col',{staticClass:\"mt-1 mb-2\",attrs:{\"cols\":\"9\"}},[_c('t-button',{attrs:{\"small\":\"\"},on:{\"click\":function($event){return _vm.optimizeIA()}}},[_c('b-icon-stars',{staticClass:\"mr-2\"}),_vm._v(\" Otimizar com IA \")],1)],1):_vm._e(),(_vm.innerValue !== null)?_c('small',{staticClass:\"small-right mt-1 col-3\"},[_vm._v(\" \"+_vm._s(_vm.innerValue.length + \"/\" + _vm.maxLength))]):_vm._e()],1):_c('b-row',[_c('small',{staticClass:\"small-left mt-1 col-9\"},[(_vm.localSmall !== null && _vm.localSmall.length > 0)?_c('span',[_vm._v(\" \"+_vm._s(_vm.localSmall)+\" \")]):_vm._e()]),(_vm.innerValue !== null)?_c('small',{staticClass:\"small-right mt-1 col-3\"},[_vm._v(\" \"+_vm._s(_vm.innerValue.length + \"/\" + _vm.maxLength))]):_vm._e()])]:_vm._e(),(_vm.type === 'select')?[(_vm.multiSelectOptionGrouped)?_c('multiselect',{ref:\"multiselect\",class:{'is-invalid':_vm.checkInvalid(validationContext)},attrs:{\"options\":_vm.localOptions,\"disabled\":_vm.disabledCheck,\"loading\":_vm.busy,\"state\":_vm.getValidationState(validationContext),\"placeholder\":_vm.placeholder,\"group-values\":\"options\",\"selectLabel\":\"\",\"showLabels\":false,\"group-label\":\"groupLabel\",\"track-by\":\"value\",\"label\":\"text\"},on:{\"search-change\":_vm.onMultiSelectSearch,\"select\":_vm.onMultiSelectSelected,\"remove\":_vm.onMultiSelectRemove},scopedSlots:_vm._u([{key:\"noResult\",fn:function(){return [_vm._t(\"no-options\",function(){return [_vm._v(_vm._s(_vm.t('no-options')))]},{\"search\":_vm.multiSelectSearch})]},proxy:true},(!_vm.disabledCheck)?{key:\"clear\",fn:function(){return [(_vm.checkExistsValueSelect())?_c('div',{staticClass:\"multiselect__clear\",on:{\"mousedown\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.multiSelectClear()}}}):_vm._e()]},proxy:true}:null],null,true),model:{value:(_vm.multiSelectObject),callback:function ($$v) {_vm.multiSelectObject=$$v},expression:\"multiSelectObject\"}}):_c('multiselect',{ref:\"multiselect\",class:{'is-invalid':_vm.checkInvalid(validationContext)},attrs:{\"options\":_vm.localOptions,\"disabled\":_vm.disabledCheck,\"loading\":_vm.busy,\"state\":_vm.getValidationState(validationContext),\"selectLabel\":\"\",\"showLabels\":false,\"placeholder\":_vm.placeholder,\"track-by\":\"value\",\"label\":\"text\"},on:{\"search-change\":_vm.onMultiSelectSearch,\"select\":_vm.onMultiSelectSelected,\"remove\":_vm.onMultiSelectRemove},scopedSlots:_vm._u([(_vm.selectImages)?{key:\"singleLabel\",fn:function(ref){\nvar option = ref.option;\nreturn [_c('div',{staticClass:\"d-flex\"},[_c('div',{staticClass:\"mr-2\",staticStyle:{\"width\":\"20px\",\"height\":\"20px\",\"border-radius\":\"5px\"},style:({'background-image':option.appendage})}),_c('div',{staticClass:\"option__small\"},[_vm._v(_vm._s(option.text))])])]}}:null,(_vm.selectImages)?{key:\"option\",fn:function(ref){\nvar option = ref.option;\nreturn [_c('div',{staticClass:\"d-flex\"},[_c('div',{staticClass:\"mr-2\",staticStyle:{\"width\":\"25px\",\"height\":\"25px\",\"border-radius\":\"7px\"},style:({'background-image':option.appendage})}),_c('div',{staticClass:\"option__small\",staticStyle:{\"line-height\":\"30px\"}},[_vm._v(_vm._s(option.text))])])]}}:null,{key:\"noResult\",fn:function(){return [_vm._t(\"no-options\",function(){return [_vm._v(_vm._s(_vm.t('no-options')))]},{\"search\":_vm.multiSelectSearch})]},proxy:true},{key:\"noOptions\",fn:function(){return [_vm._t(\"no-options\",function(){return [_vm._v(_vm._s(_vm.t('no-options')))]},{\"search\":_vm.multiSelectSearch})]},proxy:true},(!_vm.disabledCheck)?{key:\"clear\",fn:function(){return [(_vm.value > 0 || _vm.value !== '')?_c('div',{staticClass:\"multiselect__clear\",on:{\"mousedown\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.multiSelectClear()}}}):_vm._e()]},proxy:true}:null],null,true),model:{value:(_vm.multiSelectObject),callback:function ($$v) {_vm.multiSelectObject=$$v},expression:\"multiSelectObject\"}})]:_vm._e(),(_vm.type === 'selectCommon')?[_c('b-form-select',{staticClass:\"form-control\",attrs:{\"autofocus\":_vm.focus,\"id\":_vm.localInputId,\"disabled\":_vm.disabledCheck,\"options\":_vm.localOptions,\"placeholder\":_vm.placeholder,\"state\":_vm.getValidationState(validationContext)},model:{value:(_vm.innerValue),callback:function ($$v) {_vm.innerValue=$$v},expression:\"innerValue\"}})]:_vm._e(),(_vm.type === 'radio')?[_c('b-form-radio-group',{staticClass:\"form-control height-auto\",class:{'is-invalid':_vm.checkInvalid(validationContext), 'height-auto':_vm.stacked},attrs:{\"id\":_vm.localInputId,\"disabled\":_vm.disabledCheck,\"options\":_vm.localOptions,\"value-field\":\"value\",\"text-field\":\"text\",\"stacked\":_vm.stacked,\"size\":_vm.radioButton ? 'sm' : '',\"button-variant\":_vm.radioButton ? 'outline-focus' : '',\"buttons\":_vm.radioButton,\"state\":_vm.getValidationState(validationContext)},on:{\"change\":_vm.onClickRadio},model:{value:(_vm.innerValue),callback:function ($$v) {_vm.innerValue=$$v},expression:\"innerValue\"}})]:_vm._e(),(_vm.type === 'checked')?[_c('b-form-checkbox',{class:{'is-invalid':_vm.checkInvalid(validationContext)},attrs:{\"id\":_vm.localInputId,\"disabled\":_vm.disabledCheck,\"state\":_vm.getValidationState(validationContext)},model:{value:(_vm.innerValue),callback:function ($$v) {_vm.innerValue=$$v},expression:\"innerValue\"}},[_vm._v(_vm._s(_vm.label)+\" \")])]:_vm._e(),(_vm.type === 'checkbox')?[_c('b-form-checkbox-group',{staticClass:\"form-control\",class:{'is-invalid':_vm.checkInvalid(validationContext)},attrs:{\"id\":_vm.localInputId,\"disabled\":_vm.disabledCheck,\"options\":_vm.localOptions,\"value-field\":\"value\",\"text-field\":\"text\",\"state\":_vm.getValidationState(validationContext)},model:{value:(_vm.innerValue),callback:function ($$v) {_vm.innerValue=$$v},expression:\"innerValue\"}})]:_vm._e()],2)],1),_vm._t(\"default\"),(_vm.localSmall && _vm.localSmall.length > 0 && _vm.type!=='textarea')?_c('small',[_c('em',{domProps:{\"innerHTML\":_vm._s(_vm.localSmall)}})]):_vm._e(),(_vm.type==='select' && _vm.formStatus !== '')?_c('b-form-invalid-feedback',{class:{'display-none':_vm.getValidationState(validationContext)},staticStyle:{\"display\":\"inherit\"}},[_vm._v(\" \"+_vm._s(validationContext.errors[0])+\" \")]):_c('b-form-invalid-feedback',{attrs:{\"state\":_vm.getValidationState(validationContext)}},[_vm._v(\" \"+_vm._s(validationContext.errors[0])+\" \")])],2)]}}],null,true)})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\n  <t-wrapped :show=\"(row || cols === '12' && !hidden) && !notRow\">\n\n    <b-row>\n\n      <ValidationProvider\n          class=\"TextInput\"\n          tag=\"div\"\n          :class=\"{['col-md-' + cols] : !notRow && cols && !hidden,'input-hidden':hidden, 'has-color-palette':(colorReduced || colorSketch) && showColors, ['type-input-'+type]:true}\"\n          :vid=\"vid\"\n          :name=\"name || label\"\n          :rules=\"localRules\"\n          :persist=\"true\"\n          ref=\"provider\"\n          v-slot=\"validationContext\"\n      >\n\n        <b-form-group style=\"position: relative\">\n\n          <div v-if=\"range\">\n\n            <label v-if=\"label !== '' && !hideLabel && type !== 'checked'\" :for=\"label\"\n                   class=\"d-flex justify-content-between align-content-end\">\n\n              <div>{{ localLabel }}</div>\n\n              <div v-if=\"innerValue > 0\"><b>{{ innerValue | number }}%</b></div>\n              <div v-else><b>0%</b></div>\n\n              <t-help :title=\"help\" v-if=\"help.length > 0\"/>\n\n            </label>\n\n\n          </div>\n\n          <div v-else>\n\n            <label v-if=\"label !== '' && !hideLabel && type !== 'checked'\" :for=\"label\">\n\n              <div>{{ localLabel }}</div>\n\n\n            </label>\n\n            <t-help :title=\"help\" v-if=\"help.length > 0\"/>\n\n          </div>\n\n          <t-wrapped :show=\"hasSlotGroupInputPrepend || hasSlotGroupInputAppend\">\n\n            <b-input-group :class=\"{'input-has-append':hasSlotGroupInputAppend}\">\n\n              <div class=\"input-icon-group\"\n                   :class=\"{'input-icon-focused':inputIsFocus, [classIconGroup] : classIconGroup !== ''}\"\n                   v-if=\"hasSlotInputIcon || hasIconByMask\">\n                <slot name=\"input-icon\">\n                  <b-icon-calendar v-if=\"date && !dateRemoveCalendar && type !== 'fixed'\"></b-icon-calendar>\n                </slot>\n              </div>\n\n              <template #prepend v-if=\"hasSlotGroupInputPrepend\">\n                <div class=\"input-group-text\">\n                  <slot name=\"input-group-prepend\"></slot>\n                </div>\n              </template>\n\n              <template v-if=\"type === 'fixed'\">\n\n                <div class=\"vs--disabled_label form-control\"\n                     :class=\"{'text-bold':bold, 'bg-fixed-focus':highlight,'text-right':number || money || percent,'bg-fixed-normal':!highlight, [classInput] : classInput !== ''}\">\n                  <span v-if=\"select || selectCommon || radio\">{{ selectText }} </span>\n                  <span v-else-if=\"lpad !== '' || lpad > 0\">{{ innerValue | lpad(lpad) }}</span>\n                  <span v-else-if=\"date\">{{ innerValue | date }}</span>\n                  <span v-else-if=\"datetime\">{{ innerValue | datetime }}</span>\n                  <span v-else-if=\"number || range\">{{ innerValue | number }}</span>\n                  <span v-else-if=\"money\">{{ innerValue | money }}</span>\n                  <span v-else-if=\"percent\">{{ innerValue | percent(localDecimals) }}</span>\n\n                  <span v-else>{{ innerValue }}</span>\n                </div>\n\n                <b-form-invalid-feedback v-if=\"addError!==''\" style=\"display: inherit\">\n                  {{ addError }}\n                </b-form-invalid-feedback>\n\n              </template>\n\n\n              <template v-if=\"type === 'hidden'\">\n\n                <input type=\"hidden\" v-model=\"innerValue\"/>\n\n              </template>\n\n              <template v-if=\"type === 'file'\">\n\n                <b-form-file\n                    capture\n                    :autofocus=\"focus\"\n                    @keyup.enter.prevent\n                    @keydown.enter.prevent\n                    :id=\"localInputId\"\n                    v-model=\"innerValue\"\n                    :state=\"getValidationState(validationContext)\"\n                    :placeholder=\"placeholder\"\n                    multiple\n                    drop-placeholder=\"Arraste para aqui o arquivo\"\n                ></b-form-file>\n\n              </template>\n\n              <template v-if=\"type === 'range'\">\n\n                <b-form-input\n                    :class=\"{[classInput] : classInput !== ''}\"\n                    class=\"form-range\"\n                    @focusin=\"onFocusInInput\"\n                    @focusout=\"onFocusOutInput\"\n                    ref=\"input\"\n                    v-model=\"innerValue\"\n                    type=\"range\"\n                    :id=\"localInputId\"\n                    :autofocus=\"focus\"\n                    :autocomplete=\"autocomplete\"\n                    :disabled=\"disabledCheck\"\n                    :placeholder=\"placeholder\"\n                    :state=\"getValidationState(validationContext)\"\n                ></b-form-input>\n\n\n              </template>\n\n\n              <template v-if=\"type === 'text'\">\n\n                <div style=\"position: relative\" class=\"input-template\">\n\n                  <!--Caso a mascara não tenho sido aplicada já desenha na tela-->\n                  <b-form-input v-if=\"!maskApply && !submitted\"\n                                v-model=\"innerValue\"\n                                @keyup.enter.prevent\n                                @keydown.enter.prevent\n                                @focusin=\"onFocusInInput\"\n                                @focusout=\"onFocusOutInput\"\n                                ref=\"input\"\n                                :class=\"{'upperCase':localUpper,'lowerCase':localLower, 'hasSlotInputIcon':hasSlotInputIcon,'padding-input-color':(colorReduced || colorSketch), [classInput] : classInput !== ''}\"\n                                :id=\"localInputId\"\n                                :autocomplete=\"autocomplete\"\n                                :type=\"password || passwordSecurity ? 'password' : 'text'\"\n                                :autofocus=\"focus\"\n                                :disabled=\"disabledCheck\"\n                                :placeholder=\"placeholder\"\n                                :state=\"getValidationState(validationContext)\"\n                  ></b-form-input>\n\n\n                  <!-- funciona apenas se não houver mascara aplicada -->\n                  <b-form-input v-else-if=\"submitted\"\n                                v-model=\"innerValue\"\n                                @focusin=\"onFocusInInput\"\n                                @focusout=\"onFocusOutInput\"\n                                ref=\"input\"\n                                :class=\"{'upperCase':localUpper,'lowerCase':localLower, 'hasSlotInputIcon':hasSlotInputIcon, [classInput] : classInput !== ''}\"\n                                class=\"input-submited\"\n                                :id=\"localInputId\"\n                                :autofocus=\"focus\"\n                                :autocomplete=\"autocomplete\"\n                                :disabled=\"disabledCheck\"\n                                :placeholder=\"placeholder\"\n                                :state=\"getValidationState(validationContext)\"\n\n                  ></b-form-input>\n\n\n                  <date-picker v-else-if=\"date || datetime\" title-format=\"DD/MM/YYYY\" format=\"DD/MM/YYYY\"\n                               :append-to-body=\"false\" ref=\"datePicker\"\n                               value-type=\"format\" :clearable=\"false\" v-model=\"innerDate\">\n\n                    <template #icon-calendar>&nbsp;</template>\n\n                    <template #input>\n\n                      <b-form-input\n                          :class=\"{'input-with-icon':hasIconByMask,'hasSlotInputIcon':hasSlotInputIcon, [classInput] : classInput !== ''}\"\n                          @keyup.enter.prevent=\"setDateAndClose\"\n                          @keydown.enter.prevent=\"setDateAndClose\"\n                          @keyup.tab=\"closeDatePicker\"\n                          @keydown.tab=\"closeDatePicker\"\n                          @keydown.esc=\"closeDatePicker\"\n                          @keyup=\"dateRemoveByRegex\"\n                          @keydown=\"dateRemoveByRegex\"\n                          @focusin=\"onFocusInInput\"\n                          @focusout=\"onFocusOutInput\"\n                          v-model=\"innerDate\"\n                          :id=\"localInputId\"\n                          :autofocus=\"focus\"\n                          :autocomplete=\"autocomplete\"\n                          :disabled=\"disabledCheck\"\n                          :placeholder=\"placeholder\"\n                          :state=\"getValidationState(validationContext)\"\n                      >\n                      </b-form-input>\n\n                    </template>\n\n                  </date-picker>\n\n\n                  <!--                  <date-pick ref=\"datePicker\" v-else-if=\"date || datetime\"\n                                               :nextMonthCaption=\"datePiker.nextMonthCaption\"\n                                               :setTimeCaption=\"datePiker.setTimeCaption\"\n                                               :weekdays=\"datePiker.weekdays\" :months=\"datePiker.months\"\n                                               :prevMonthCaption=\"datePiker.prevMonthCaption\"\n                                               style=\"display: block;width: 100%\"\n                                               :placeholder=\"placeholder\"\n                                               v-model=\"innerDate\">\n\n                                      <template #default=\"{toggle}\" v-if=\"!dateRemoveCalendar\">\n\n                                        <b-form-input\n                                            :class=\"{'input-with-icon':hasIconByMask, [classInput] : classInput !== ''}\"\n                                            v-mask=\"'##/##/####'\"\n                                            @keyup.enter.prevent=\"setCurrentDate\"\n                                            @keydown.enter.prevent=\"setCurrentDate\"\n                                            @focus=\"toggle\"\n                                            @focusin=\"onFocusInInput\"\n                                            @focusout=\"onFocusOutInput\"\n                                            v-model=\"innerValue\"\n                                            :id=\"localInputId\"\n                                            :autofocus=\"focus\"\n                                            :autocomplete=\"autocomplete\"\n                                            :disabled=\"disabledCheck\"\n                                            :placeholder=\"placeholder\"\n                                            :state=\"getValidationState(validationContext)\"\n                                        >\n                                        </b-form-input>\n\n                                      </template>\n\n                                      <template #default v-else>\n\n                                        <b-form-input\n                                            :class=\"{'input-with-icon':hasIconByMask}\"\n                                            v-mask=\"'##/##/####'\"\n                                            @keyup.enter.prevent=\"setCurrentDate\"\n                                            @keydown.enter.prevent=\"setCurrentDate\"\n                                            @focusin=\"onFocusInInput\"\n                                            @focusout=\"onFocusOutInput\"\n                                            @blur=\"checkDateValue()\"\n                                            ref=\"input\"\n                                            v-model=\"innerValue\"\n                                            :id=\"localInputId\"\n                                            :autofocus=\"focus\"\n                                            :autocomplete=\"autocomplete\"\n                                            :disabled=\"disabledCheck\"\n                                            :placeholder=\"placeholder\"\n                                            :state=\"getValidationState(validationContext)\"\n                                        >\n                                        </b-form-input>\n\n\n                                      </template>\n\n                                    </date-pick>-->\n\n\n                  <b-form-input v-else-if=\"cnpjOrCpf\"\n                                v-mask=\"['###.###.###-##', '##.###.###/####-##']\"\n                                @keyup.enter.prevent\n                                @keydown.enter.prevent\n                                @focusin=\"onFocusInInput\"\n                                @focusout=\"onFocusOutInput\"\n                                ref=\"input\"\n                                v-model=\"innerValue\"\n                                :id=\"localInputId\"\n                                :autofocus=\"focus\"\n                                :autocomplete=\"autocomplete\"\n                                :disabled=\"disabledCheck\"\n                                :placeholder=\"placeholder\"\n                                :state=\"getValidationState(validationContext)\"\n                  ></b-form-input>\n\n                  <b-form-input v-else-if=\"cnpj\"\n                                v-mask=\"'##.###.###/####-##'\"\n                                :class=\"{'input-with-icon':hasIconByMask,'hasSlotInputIcon':hasSlotInputIcon, [classInput] : classInput !== ''}\"\n                                @keyup.enter.prevent\n                                @keydown.enter.prevent\n                                @focusin=\"onFocusInInput\"\n                                @focusout=\"onFocusOutInput\"\n                                ref=\"input\"\n                                v-model=\"innerValue\"\n                                :id=\"localInputId\"\n                                :autofocus=\"focus\"\n                                :autocomplete=\"autocomplete\"\n                                :disabled=\"disabledCheck\"\n                                :placeholder=\"placeholder\"\n                                :state=\"getValidationState(validationContext)\"\n                  ></b-form-input>\n\n                  <b-form-input v-else-if=\"cpf\"\n                                v-mask=\"'###.###.###-##'\"\n                                :class=\"{'input-with-icon':hasIconByMask,'hasSlotInputIcon':hasSlotInputIcon, [classInput] : classInput !== ''}\"\n                                @keyup.enter.prevent\n                                @keydown.enter.prevent\n                                @focusin=\"onFocusInInput\"\n                                @focusout=\"onFocusOutInput\"\n                                ref=\"input\"\n                                v-model=\"innerValue\"\n                                :id=\"localInputId\"\n                                :autofocus=\"focus\"\n                                :autocomplete=\"autocomplete\"\n                                :disabled=\"disabledCheck\"\n                                :placeholder=\"placeholder\"\n                                :state=\"getValidationState(validationContext)\"\n                  ></b-form-input>\n\n                  <b-form-input v-else-if=\"cep\"\n                                v-mask=\"'#####-###'\"\n                                :class=\"{'input-with-icon':hasIconByMask,'hasSlotInputIcon':hasSlotInputIcon, [classInput] : classInput !== ''}\"\n                                @keyup.enter.prevent\n                                @keydown.enter.prevent\n                                @focusin=\"onFocusInInput\"\n                                @focusout=\"onFocusOutInput\"\n                                ref=\"input\"\n                                v-model=\"innerValue\"\n                                :id=\"localInputId\"\n                                :autofocus=\"focus\"\n                                :autocomplete=\"autocomplete\"\n                                :disabled=\"disabledCheck\"\n                                :placeholder=\"placeholder\"\n                                :state=\"getValidationState(validationContext)\"\n                  ></b-form-input>\n\n                  <b-form-input v-else-if=\"tel\"\n                                v-mask=\"['(##) ####-####', '(##) #####-####']\"\n                                :class=\"{'input-with-icon':hasIconByMask,'hasSlotInputIcon':hasSlotInputIcon, [classInput] : classInput !== ''}\"\n                                @keyup.enter.prevent\n                                @keydown.enter.prevent\n                                @focusin=\"onFocusInInput\"\n                                @focusout=\"onFocusOutInput\"\n                                ref=\"input\"\n                                v-model=\"innerValue\"\n                                :id=\"localInputId\"\n                                :autofocus=\"focus\"\n                                :autocomplete=\"autocomplete\"\n                                :disabled=\"disabledCheck\"\n                                :placeholder=\"placeholder\"\n                                :state=\"getValidationState(validationContext)\"\n                  ></b-form-input>\n\n                  <b-form-input v-else-if=\"time\"\n                                v-mask=\"['##:##']\"\n                                @keyup.enter.prevent\n                                @keydown.enter.prevent\n                                @focusin=\"onFocusInInput\"\n                                @focusout=\"onFocusOutInput\"\n                                ref=\"input\"\n                                v-model=\"innerValue\"\n                                :id=\"localInputId\"\n                                :autofocus=\"focus\"\n                                :autocomplete=\"autocomplete\"\n                                :disabled=\"disabledCheck\"\n                                :placeholder=\"placeholder\"\n                                :state=\"getValidationState(validationContext)\"\n                  ></b-form-input>\n\n\n                  <b-form-input\n                      v-else-if=\"url\"\n                      v-model=\"innerValue\"\n                      :class=\"{'input-with-icon':hasIconByMask,'hasSlotInputIcon':hasSlotInputIcon, [classInput] : classInput !== ''}\"\n                      @keyup.enter.prevent\n                      @keydown.enter.prevent\n                      @focusin=\"onFocusInInput\"\n                      @focusout=\"onFocusOutInput\"\n                      ref=\"input\"\n                      :disabled=\"disabledCheck\"\n                      :autocomplete=\"autocomplete\"\n                      :placeholder=\"placeholder\"\n                      :state=\"getValidationState(validationContext)\"/>\n\n\n                  <div v-else-if=\"money\" class=\"input-group\">\n\n                    <money\n                        class=\"text-right form-control\"\n                        :class=\"{'is-invalid':checkInvalid(validationContext),'input-with-icon':hasIconByMask,'hasSlotInputIcon':hasSlotInputIcon, [classInput] : classInput !== ''}\"\n                        @focus.native=\"onFocusInInput\"\n                        @blur.native=\"onFocusOutInput\"\n                        ref=\"input\"\n                        v-model=\"innerNumeric\"\n                        :id=\"localInputId\"\n                        :autofocus=\"focus\"\n                        :autocomplete=\"autocomplete\"\n                        :disabled=\"disabledCheck\"\n                        v-bind=\"moneyConfig\"\n                    ></money>\n\n                    <span class=\"v-money-currency\">R$</span>\n\n\n                  </div>\n\n                  <div v-else-if=\"percent\" class=\"input-group\">\n\n                    <money\n                        class=\"text-right form-control\"\n                        :class=\"{'is-invalid':checkInvalid(validationContext),'input-with-icon':hasIconByMask,'hasSlotInputIcon':hasSlotInputIcon, [classInput] : classInput !== ''}\"\n                        @focus.native=\"onFocusInInput\"\n                        @blur.native=\"onFocusOutInput\"\n                        ref=\"input\"\n                        v-model=\"innerValue\"\n                        :id=\"localInputId\"\n                        :autofocus=\"focus\"\n                        :autocomplete=\"autocomplete\"\n                        :disabled=\"disabledCheck\"\n                        decimal=\",\"\n                        thousands=\".\"\n                        sufix=\"%\"\n                        :precision=\"localDecimals\"\n                        :masked=\"false\"\n                    />\n\n                    <span class=\"v-money-percent\">%</span>\n\n                  </div>\n\n\n                  <b-form-input\n                      v-else-if=\"number\"\n                      :class=\"{'text-right':localDecimals > 0, 'input-with-icon':hasIconByMask,'hasSlotInputIcon':hasSlotInputIcon, [classInput] : classInput !== ''}\"\n                      @keyup.enter.prevent\n                      @keydown.enter.prevent\n                      @focusin=\"onFocusInInput\"\n                      @focusout=\"onFocusOutInput\"\n                      @blur=\"checkNumericValue\"\n                      ref=\"input\"\n                      v-model=\"innerValue\"\n                      :id=\"localInputId\"\n                      :autofocus=\"focus\"\n                      :autocomplete=\"autocomplete\"\n                      :disabled=\"disabledCheck\"\n                      :placeholder=\"placeholder\"\n                      :state=\"getValidationState(validationContext)\"\n                      :maxlength=\"9\"\n                      :max=\"2147483647\"\n                  ></b-form-input>\n\n\n                  <div v-if=\"(colorReduced || colorSketch)\" :style=\"{'background-color':innerValue}\"\n                       class=\"show-palette-color\"></div>\n\n                  <div v-if=\"colorReduced && showColors\" style=\"width: 300px;\" @mouseover=\"onPaletteOver\"\n                       @mouseleave=\"onPaletteLeave\">\n                    <twitter-picker ref=\"palette\" v-if=\"showColors\" @input=\"updateColor\" :value=\"innerValue\"/>\n                  </div>\n\n                  <div v-else-if=\"colorSketch && showColors\" style=\"width: 300px;\" @mouseover=\"onPaletteOver\"\n                       @mouseleave=\"onPaletteLeave\">\n                    <sketch-picker ref=\"palette\" v-if=\"showColors\" @input=\"updateColor\" :value=\"innerValue\"/>\n                  </div>\n\n                </div>\n\n              </template>\n\n              <template v-if=\"type === 'textarea'\">\n\n                <b-form-textarea\n                    v-model=\"innerValue\"\n                    :rows=\"rows\"\n                    :autofocus=\"focus\"\n                    :id=\"localInputId\"\n                    :class=\"{'upperCase':localUpper,'lowerCase':localLower,[classInput] : classInput !== ''}\"\n                    :disabled=\"disabledCheck\"\n                    :placeholder=\"placeholder\"\n\n                    @focusin=\"onFocusInTextarea\"\n                    @focusout=\"onFocusOutTextarea\"\n                    ref=\"input\"\n                    :state=\"getValidationState(validationContext)\"/>\n\n                <b-row v-if=\"enableOptimizeAi\">\n\n                  <b-col cols=\"9\" v-if=\"enableOptimizeAi\" class=\"mt-1 mb-2\">\n\n                    <t-button small @click=\"optimizeIA()\">\n                      <b-icon-stars class=\"mr-2\"/>\n                      Otimizar com IA\n                    </t-button>\n\n                  </b-col>\n\n                  <small class=\"small-right mt-1 col-3\" v-if=\"innerValue !== null\"> {{\n                      innerValue.length + \"/\" + maxLength\n                    }}</small>\n\n                </b-row>\n\n                <b-row v-else>\n\n                  <small class=\"small-left mt-1 col-9\">\n                      <span v-if=\"localSmall !== null && localSmall.length > 0\">\n                        {{\n                          localSmall\n                        }}\n                      </span>\n                  </small>\n\n                  <small class=\"small-right mt-1 col-3\" v-if=\"innerValue !== null\"> {{\n                      innerValue.length + \"/\" + maxLength\n                    }}</small>\n\n                </b-row>\n\n              </template>\n\n              <template v-if=\"type === 'select'\">\n\n                <multiselect\n                    v-if=\"multiSelectOptionGrouped\"\n                    v-model=\"multiSelectObject\" :options=\"localOptions\"\n                    :disabled=\"disabledCheck\"\n                    :class=\"{'is-invalid':checkInvalid(validationContext)}\"\n                    :loading=\"busy\"\n                    ref=\"multiselect\"\n                    :state=\"getValidationState(validationContext)\"\n                    @search-change=\"onMultiSelectSearch\"\n                    @select=\"onMultiSelectSelected\" @remove=\"onMultiSelectRemove\"\n                    :placeholder=\"placeholder\"\n                    group-values=\"options\" selectLabel=\"\" :showLabels=\"false\"\n                    group-label=\"groupLabel\" track-by=\"value\" label=\"text\">\n\n                  <template #noResult>\n                    <slot name=\"no-options\" :search=\"multiSelectSearch\">{{ t('no-options') }}</slot>\n                  </template>\n\n                  <!--BUG QUANDO UTILIZADO VALUE DO TIPO TEXT, ONDE NÃO É EXIBIDO O BOTÃO CLEAR, CORREÇÃO MANUAL ATRAVÉS DE INSERÇÃO OPÇÃO NOVA '' TODOS-->\n                  <template #clear v-if=\"!disabledCheck\">\n                    <div class=\"multiselect__clear\" v-if=\"checkExistsValueSelect()\"\n                         @mousedown.prevent.stop=\"multiSelectClear()\"></div>\n                  </template>\n\n                </multiselect>\n\n\n                <multiselect\n                    v-else\n                    v-model=\"multiSelectObject\" :options=\"localOptions\"\n                    :disabled=\"disabledCheck\"\n                    :class=\"{'is-invalid':checkInvalid(validationContext)}\"\n                    :loading=\"busy\"\n                    ref=\"multiselect\"\n                    :state=\"getValidationState(validationContext)\"\n                    @search-change=\"onMultiSelectSearch\"\n                    @select=\"onMultiSelectSelected\" @remove=\"onMultiSelectRemove\"\n                    selectLabel=\"\" :showLabels=\"false\"\n                    :placeholder=\"placeholder\" track-by=\"value\" label=\"text\">\n\n                  <template v-if=\"selectColors\" #singleLabel=\"{option}\">\n                    <div class=\"d-flex\">\n                      <div class=\"mr-2\" style=\"width: 20px; height: 20px; border-radius: 5px;\"\n                           :style=\"{'background-color':option.appendage}\"></div>\n                      <div class=\"option__small\">{{ option.text }}</div>\n                    </div>\n                  </template>\n\n\n                  <template v-if=\"selectColors\" #option=\"{option}\">\n\n                    <div class=\"d-flex\">\n                      <div class=\"mr-2\" style=\"width: 25px; height: 25px; border-radius: 7px;\"\n                           :style=\"{'background-color':option.appendage}\"></div>\n                      <div class=\"option__small\" style=\"line-height: 30px\">{{ option.text }}</div>\n                    </div>\n                  </template>\n\n                  <template v-if=\"selectImages\" #singleLabel=\"{option}\">\n                    <div class=\"d-flex\">\n                      <div class=\"mr-2\" style=\"width: 20px; height: 20px; border-radius: 5px;\"\n                           :style=\"{'background-image':option.appendage}\"></div>\n                      <div class=\"option__small\">{{ option.text }}</div>\n                    </div>\n                  </template>\n\n\n                  <template v-if=\"selectImages\" #option=\"{option}\">\n\n                    <div class=\"d-flex\">\n                      <div class=\"mr-2\" style=\"width: 25px; height: 25px; border-radius: 7px;\"\n                           :style=\"{'background-image':option.appendage}\"></div>\n                      <div class=\"option__small\" style=\"line-height: 30px\">{{ option.text }}</div>\n                    </div>\n                  </template>\n\n                  <template #noResult>\n                    <slot name=\"no-options\" :search=\"multiSelectSearch\">{{ t('no-options') }}</slot>\n                  </template>\n\n                  <template #noOptions>\n\n                    <slot name=\"no-options\" :search=\"multiSelectSearch\">{{ t('no-options') }}</slot>\n                  </template>\n\n                  <template #clear v-if=\"!disabledCheck\">\n                    <div class=\"multiselect__clear\" v-if=\"value > 0 || value !== ''\"\n                         @mousedown.prevent.stop=\"multiSelectClear()\"></div>\n                  </template>\n\n                </multiselect>\n\n              </template>\n\n              <template v-if=\"type === 'selectCommon'\">\n\n                <b-form-select\n                    v-model=\"innerValue\"\n                    :autofocus=\"focus\"\n                    :id=\"localInputId\"\n                    :disabled=\"disabledCheck\"\n                    :options=\"localOptions\"\n                    :placeholder=\"placeholder\"\n                    :state=\"getValidationState(validationContext)\"\n                    class=\"form-control\"\n\n                ></b-form-select>\n\n              </template>\n\n              <template v-if=\"type === 'radio'\">\n\n\n                <b-form-radio-group\n                    :id=\"localInputId\"\n                    v-model=\"innerValue\"\n                    :disabled=\"disabledCheck\"\n                    :options=\"localOptions\"\n                    class=\"form-control height-auto\"\n                    @change=\"onClickRadio\"\n                    :class=\"{'is-invalid':checkInvalid(validationContext), 'height-auto':stacked}\"\n                    value-field=\"value\"\n                    text-field=\"text\"\n                    :stacked=\"stacked\"\n                    :size=\"radioButton ? 'sm' : ''\"\n                    :button-variant=\"radioButton ? 'outline-focus' : ''\"\n                    :buttons=\"radioButton\"\n                    :state=\"getValidationState(validationContext)\"\n\n                ></b-form-radio-group>\n\n\n              </template>\n\n              <template v-if=\"type === 'checked'\">\n\n                <b-form-checkbox\n                    :id=\"localInputId\"\n                    v-model=\"innerValue\"\n                    :disabled=\"disabledCheck\"\n                    :class=\"{'is-invalid':checkInvalid(validationContext)}\"\n                    :state=\"getValidationState(validationContext)\"\n                >{{ label }}\n                </b-form-checkbox>\n\n              </template>\n\n              <template v-if=\"type === 'checkbox'\">\n\n\n                <b-form-checkbox-group\n                    :id=\"localInputId\"\n                    v-model=\"innerValue\"\n                    :disabled=\"disabledCheck\"\n                    :options=\"localOptions\"\n                    class=\"form-control\"\n                    :class=\"{'is-invalid':checkInvalid(validationContext)}\"\n                    value-field=\"value\"\n                    text-field=\"text\"\n                    :state=\"getValidationState(validationContext)\"\n\n                ></b-form-checkbox-group>\n\n              </template>\n\n              <template #append v-if=\"hasSlotGroupInputAppend\">\n                <slot name=\"input-group-append\"></slot>\n              </template>\n\n\n            </b-input-group>\n\n          </t-wrapped>\n\n          <slot></slot>\n\n          <small v-if=\"localSmall && localSmall.length > 0 && type!=='textarea'\"><em v-html=\"localSmall\"></em></small>\n\n          <b-form-invalid-feedback v-if=\"type==='select' && formStatus !== ''\" style=\"display: inherit\"\n                                   :class=\"{'display-none':getValidationState(validationContext)}\">\n            {{ validationContext.errors[0] }}\n          </b-form-invalid-feedback>\n\n          <b-form-invalid-feedback v-else :state=\"getValidationState(validationContext)\">\n            {{ validationContext.errors[0] }}\n          </b-form-invalid-feedback>\n\n        </b-form-group>\n\n      </ValidationProvider>\n\n    </b-row>\n\n  </t-wrapped>\n\n</template>\n<script>\nimport ui from \"@/assets/scripts/ui\";\nimport http from \"@/services/config/http-common\"\n\nexport default {\n  name: 't-input',\n  props: {\n    busy: Boolean,\n    multiple: Boolean,\n    colorReduced: Boolean,\n    colorSketch: Boolean,\n    classInput: {\n      type: String,\n      default: \"\"\n    },\n    classIconGroup: {\n      type: String,\n      default: \"\"\n    },\n    acceptZero: Boolean,\n    iid: {\n      type: String,\n      default: \"\"\n    },\n    formStatus: {\n      type: String,\n      default: \"\"\n    },\n    formCommand: {\n      type: String,\n      default: 'insert'\n    },\n    addError: {\n      type: String,\n      default: \"\"\n    },\n    submitted: Boolean, //Aceita submit no enter do campo\n    focus: Boolean, //Setar o foco no campo\n    radioButton: Boolean,//Converte Radio em um Button\n    stacked: Boolean,\n    help: {\n      type: String,\n      default: \"\"\n    },\n    small: { //Texto auxiliar por baixo do input\n      type: String,\n      default: \"\",\n    },\n    notRow: {\n      type: Boolean,\n      default: false\n    },\n\n    codeLabel: Boolean,\n    firstDefault: Boolean, //todo NAO ESTÁ FUNCIONANDO\n    highlight: Boolean, //Utilizado quando é fixo, sendo para deixar mais evidente o campo que o normal\n    bold: Boolean, //Utilizado quando é fixo, sendo para deixar mais evidente o campo que o normal\n    fixed: Boolean, //Fixado em todos os comandos\n    fixedInsert: Boolean, //Fixado somente na inclusão\n    fixedExceptInsert: Boolean, //Fixado em todos os comandos, exceto insert que deverá ser oculto\n    hidden: Boolean,\n    text: Boolean,\n    textarea: Boolean,\n    enableOptimizeAi: Boolean,\n    select: Boolean,\n    selectColors: Boolean,\n    selectImages: Boolean, /*Não utilizado e implemetado 100%*/\n    selectCommon: Boolean,\n    radio: Boolean,\n    range: Boolean,\n    checked: Boolean, //Checked unitário\n    checkbox: Boolean, //Checked Array\n    upload: Boolean, //Aceito os formatos, pdf, xls, xlsx, jpg, jpeg, png, doc, docx\n    uploadImage: Boolean, //Aceito somente jpg, jpeg, png\n    uploadMaxSize: { //Tamanho máximo do upload aceito, por padrão será 5, porém só será usado quando estiver marcado upload ou upload-image\n      type: String,\n      default: \"5\"\n    },\n    uploadMaxFiles: { //Qtd. máxima de arquivos aceitos, utilizado somente quando marcado como upload ou upload-image\n      type: String,\n      default: \"1\"\n    },\n    password: Boolean,\n    passwordSecurity: Boolean,\n    date: Boolean,\n    datetime: Boolean,\n    time: Boolean,\n    dateRemoveCalendar: Boolean,\n    email: Boolean,\n    emailMultiple: Boolean,\n    url: Boolean,\n    tel: Boolean,\n    number: Boolean,\n    percent: Boolean,\n    money: Boolean,\n    cep: Boolean,\n    cnpjOrCpf: Boolean, //Mascara de CNPJ ou CPF dinamica\n    cnpj: Boolean,\n    cpf: Boolean,\n    api: Boolean, //Aplicação de api para campos como CEP, CNPJ e Placa\n    dateNow: Boolean,\n    minLength: {\n      type: String,\n      default: \"0\"\n    },\n    maxLength: {\n      type: String,\n      default: \"255\"\n    },\n    lpad: {/*VALIDO SOMENTE PARA EXIBIÇÕES DO FIXED*/\n      type: [Number, String],\n      default: \"\"\n    },\n    decimals: {\n      type: [String, Number],\n      default: \"\"\n    },\n    vid: {\n      type: String,\n      default: undefined\n    },\n    name: {\n      type: String,\n      default: \"\"\n    },\n    disabled: {\n      type: Boolean,\n      default: false\n    },\n    label: {\n      type: String,\n      default: \"\"\n    },\n    hideLabel: {\n      type: Boolean,\n      default: false,\n    },\n    rules: {\n      type: [Object, String],\n      default: \"\"\n    },\n    required: {\n      type: Boolean,\n      default: false\n    },\n    notAutocomplete: Boolean,\n    placeholder: {\n      type: String,\n      default: \"\"\n    },\n    rows: {\n      type: [Number, String],\n      default: 2,\n    },\n    value: {\n      type: null,\n      default: \"\"\n    },\n    enableOptionAllText: {\n      type: String,\n      default: '',\n    },\n    options: [],\n    disableUniqueSelect: Boolean,//Quando desejar retirar o comportamente padrão de inclusões e onde há select, vir selecionado o único item da lista.\n    cols: {\n      type: [String, Number],\n      default: \"12\"\n    },\n    row: {\n      type: Boolean,\n      default: false\n    },\n    upper: Boolean,\n    lower: Boolean,\n    onlyNumbers: Boolean,\n    onlyLetters: Boolean,\n    onlyLettersAndNumbers: Boolean,\n  },\n  data() {\n    return {\n      validityEnabled: true,\n      oldValue: \"\",\n      applyConvertingMoney: false,\n      localInputId: \"\",\n      localUpper: \"\",\n      localLower: \"\",\n      localAddError: \"\",\n      localSmall: \"\",\n      localRules: \"\",\n      localLabel: \"\",\n      localDecimals: 0,\n      localOptions: [],\n      inputIsFocus: false,\n      maskApply: false,\n      hasError: false,\n      hasIconByMask: false,\n      localBusy: false,\n      innerValue: \"\",\n      innerNumeric: null,\n      innerDate: \"\",\n      autocomplete: \"\",\n      type: String,\n      maskSize: 0,\n      isInputNumeric: false,\n      currentDate: \"\",\n      multiSelectSearch: \"\",\n      multiSelectObject: [],\n      multiSelectOptionGrouped: false,\n      hasSlotInputIcon: false,\n      hasSlotGroupInputPrepend: false,\n      hasSlotGroupInputAppend: false,\n      showColors: false,\n      paletteInOver: false,\n      initialValueSet: false,\n\n      moneyConfig: {\n        decimal: ',',\n        thousands: '.',\n        prefix: '',\n        precision: 2,\n        masked: false // Define se o valor é armazenado como string ou número\n      }\n\n    }\n  },\n  mounted() {\n\n\n    this.hasSlotInputIcon = !!this.$slots[\"input-icon\"]\n    this.hasSlotGroupInputPrepend = !!this.$slots[\"input-group-prepend\"]\n    this.hasSlotGroupInputAppend = !!this.$slots[\"input-group-append\"]\n\n    this.localDecimals = parseInt(this.decimals)\n\n    if (this.iid !== '') {\n      this.localInputId = this.iid\n    } else {\n\n      let label = this.label\n\n      if (label === null) {\n        label = ''\n      }\n\n      this.localInputId = label.replace(/[^a-zA-Z\\d]/g, '') + \"_\" + ui.generateRandomNumber(1000, 9999);\n    }\n\n\n    if (this.date || this.datetime) {\n\n      this.currentDate = ui.convertDateBR(new Date(), this.datetime)\n\n      //Seta a data padrão do dia atual somente nestas condições a seguir\n      //todo está apresentando falha quando utilizando em conjunto com disable ou fixed-except-insert, por tanto evitar o uso do date-now quando houver atributo\n      if (this.dateNow && this.formCommand === 'insert' && this.innerValue === '' && !this.fixedExceptInsert) {\n        this.setCurrentDate(false)\n      }\n\n\n    }\n\n    if ((this.percent || this.money) && this.decimals === '') {\n      //2 casas decimais por padrão quando não especificado\n      this.localDecimals = 2\n    }\n\n    /*-------------------*/\n    this.applyRules()\n\n    this.innerValue = this.value\n\n    /*console.log('rules:'+this.localRules)*/\n\n\n  },\n  computed: {\n\n\n    selectText() {\n\n      if (this.localOptions && this.localOptions.length && this.localOptions.length > 0 && this.innerValue !== \"\" && this.innerValue !== null) {\n\n        this.multiSelectSetValue()\n        return this.multiSelectObject.text\n\n      } else {\n        return \"\"\n      }\n    },\n\n    disabledCheck() {\n      return this.disabled || this.formStatus === \"sending\" || this.localBusy\n    },\n\n\n  },\n  watch: {\n\n\n    select() {\n      this.applyRules()\n    },\n\n    disabled(v) {\n\n      if (v && this.$refs.multiselect) {\n        this.$refs.multiselect.deactivate()\n      }\n\n    },\n\n    options() {\n      this.checkOptions()\n    },\n\n    formCommand() {\n\n      this.applyFixed()\n      this.checkIsRequired()\n      this.checkLabel()\n\n    },\n\n    /*\n    * Necessário aplicar nos props que possuem validação especial, pois o input pode estar condicionado e não ter sido montado com a mascara corretamente*/\n    cnpj() {\n      this.applyRules()\n    },\n    cpf() {\n      this.applyRules()\n    },\n    cep() {\n      this.applyRules()\n    },\n    /*------------------------*/\n\n    addError(value) {\n\n      this.localAddError = value\n      //Necessário, pois não estava atualizando corretamente as mensagens de erro\n      setTimeout(() => this.applyRules(), 200)\n\n    },\n\n    small(v) {\n      this.localSmall = v\n    },\n\n    label() {\n      this.checkLabel()\n    },\n\n    required() {\n      this.checkIsRequired()\n      this.checkLabel()\n    },\n\n    fixed() {\n      this.applyRules()\n    },\n\n    fixedInsert() {\n      this.applyRules()\n    },\n\n    //Deverá estar sempre no padrão da conta no caso: DD/MM/YYYY, já o innerValue, deverá estar sempre no padrão: YYYY-MM-DD\n    innerDate(value, old) {\n\n      let d = value\n\n      //Data válida, podendo ser YYYY-MM-DD ou DD/MM/YYYY\n      if (d !== null && d !== '' && d.length === 10) {\n\n        if (value.indexOf('/') > 0) {\n          //Está no padrão esperado e padronizado: DD/MM/YYYY\n\n          const dataArray = value.split('/')\n\n          let date = new Date(dataArray[2], dataArray[1] - 1, dataArray[0]);\n\n          //const date = new Date(value)\n          let dateIso\n          if (this.datetime) {\n            dateIso = date.toISOString()\n          } else {\n            dateIso = date.toISOString().split('T')[0]\n          }\n\n          this.innerValue = dateIso\n\n        } else {\n\n          //Converte para o padrão brasileiro e centralizar sempre as origens em padrão brasileiro\n          //Fazendo isso será chamado novamente, porém já formatado no padrão esperado para innerDate que sempre contem a data para o cliente e não aquela armazenada\n          this.innerDate = ui.convertDateBR(d, false)\n\n\n        }\n\n      } else {\n\n        if (value !== '' && value !== null && value !== undefined) {\n\n          if (value.length > old.length) {\n            //Aplicar somente quando estiver crescendo\n\n            if (value.length === 2 || value.length === 5) {\n              value += '/'\n            }\n\n          }\n        }\n        this.innerDate = value\n        this.innerValue = value\n      }\n\n    },\n\n    innerNumeric(value) {\n\n      //Retira o zero somente se não for obrigatório, pois será aceito o zero no\n      if (value) {\n\n        let round_number = value\n        let value_converted = value\n\n        if (this.localDecimals > 0) {\n\n          round_number = parseFloat(value.toFixed(this.localDecimals));\n\n          if (this.percent || this.money) {\n            //Campos que utilizam o v-money e precisam ter os decimais padronizados\n            value_converted = ui.convertNumber(round_number, this.localDecimals, \"pt-br\", true)\n          } else {\n            value_converted = ui.convertNumber(round_number, this.localDecimals, \"pt-br\")\n          }\n\n        }\n\n        /*console.log(\"Valor localDecimals recebido: \" + this.localDecimals)\n        console.log(\"Valor numerico recebido: \" + this.innerNumeric)\n        console.log(\"Valor Interno: \" + this.innerValue)\n        console.log(\"Valor numerico arredondado: \" + round_number)\n        console.log(\"Valor convertido convertido: \" + value_converted)*/\n\n        this.innerNumeric = round_number\n        this.innerValue = value_converted\n\n        //DEVE TRAVAR O RETORNO AQUI MESMO PARA EVITAR INCONSTÊNCIA ENTRE O VALOR EXTERNO E INTERNO\n        this.$emit(\"input\", round_number)\n        this.$emit(\"change\", round_number)\n\n\n\n      } else {\n\n        //Caso o valor antigo esteja em branco, continuará em branco\n        if (this.acceptZero) {\n          this.innerNumeric = 0\n          this.innerValue = \"0\"\n        } else {\n          this.innerValue = \"\"\n        }\n\n        this.$emit(\"input\", 0)\n        this.$emit(\"change\", 0)\n\n      }\n\n    },\n\n    decimals() {\n      this.applyRules()\n    },\n\n    innerValue(value) {\n\n      if (this.isInputNumeric) {\n\n\n        if (typeof value !== 'number' && value) {\n\n          //Deverá converter e emitir convertido\n          let v = String(value)\n\n          if (v === 'R$ 0,00' || v === '') {\n            v = 0\n          } else {\n            const convert = v.replace('R$', '').replace(/ /g, '').replace(/\\./g, '').replace(',', '.')\n            v = parseFloat(convert)\n          }\n\n          if (v !== this.innerNumeric) {\n\n            this.innerNumeric = v\n\n            this.$emit(\"input\", this.innerNumeric)\n            this.$emit(\"change\", this.innerNumeric)\n          }\n\n\n        } else {\n\n          this.innerNumeric = value\n\n          if (this.money || this.percent) {\n            this.$emit(\"input\", this.innerNumeric)\n            this.$emit(\"change\", this.innerNumeric)\n\n            /*console.log('okkk',this.innerNumeric)*/\n\n          }\n        }\n\n\n      } else if (this.date) {\n\n\n        if (value === null) {\n          this.innerValue = \"\"\n          value = \"\"\n        }\n\n        if ((value !== '' && (value.length === 10)) || value === '') {\n\n          //Somente emite para informar que há alteração\n          this.$emit(\"input\", value)\n\n          if (this.value !== value) {\n            this.$emit(\"change\", value)\n          }\n\n        }\n\n        //let d = value\n        /*if (d !== '' && d.length === 10 && d.indexOf('/') > 0) {\n\n          const dia = d.split(\"/\")[0];\n          const mes = d.split(\"/\")[1];\n          const ano = d.split(\"/\")[2];\n\n          const convert = ano + '-' + (\"0\" + mes).slice(-2) + '-' + (\"0\" + dia).slice(-2)\n\n          //Retorna para o objeto a data convertida\n          this.innerDate = convert\n\n          if (!this.dateRemoveCalendar) {\n            if (this.$refs.datePicker && this.$refs.datePicker.opened)\n              this.$refs.datePicker.close()\n          }\n\n          this.$emit(\"input\", convert)\n          this.$emit(\"change\", convert)\n\n        } else if (d === '') {\n\n          this.$emit(\"input\", '')\n        } else {\n          //Valor já no padrão correto, por tanto armazena com valor correto apenas\n          if (d !== '' && d.length === 10 && d.indexOf('-') > 0)\n            this.innerDate = d\n        }*/\n\n      } else if (this.datetime) {\n\n        let d = value\n\n\n        if (d !== '' && d !== null && d.indexOf('/') > 0) {\n          //Está no padrão brasileiro precisa converter\n\n          //todo pendente\n\n\n        } else {\n          //Valor já no padrão correto, por tanto armazena com valor correto apenas\n          if (d !== '' && d !== null && d.length === 29 && d.indexOf('-') > 0)\n            this.innerDate = d\n        }\n\n      } else {\n        //Tipos genéricos\n\n        this.$emit(\"input\", value);\n\n        if (this.innerValue !== this.value) {\n          this.$emit(\"change\", value)\n        }\n\n\n        this.multiSelectSetValue()\n\n      }\n\n    },\n    value(val) {\n\n\n      if (val !== this.innerValue && !this.isInputNumeric && !this.date) {\n        this.innerValue = val;\n      }\n\n      if (this.isInputNumeric) {\n\n        if (val !== this.innerNumeric && val !== null) {\n          this.innerNumeric = val\n        }\n\n\n      }\n\n      if (this.date) {\n\n        if (val !== this.innerDate) {\n\n          this.innerDate = val\n        }\n\n      }\n\n    }\n\n  },\n  created() {\n\n\n    if (this.value) {\n\n      //Seta o valor inicial\n      this.innerValue = this.value\n\n    }\n\n  },\n  methods: {\n\n    onClickRadio() {\n      this.$emit('click', this.innerValue)\n    },\n\n    onPaletteOver() {\n      this.paletteInOver = true\n    },\n\n    onPaletteLeave() {\n\n      this.paletteInOver = false\n\n      if (!this.inputIsFocus) {\n        this.showColors = false\n      }\n\n    },\n    async optimizeIA() {\n\n      if (this.value !== '') {\n\n        this.localBusy = true\n\n        await http.post(\"resources/IA\", {message: this.value})\n            .then(response => {\n              this.localBusy = false\n              this.innerValue = response.data.message\n            }).catch(\n                error => {\n                  console.log(error)\n                  this.localBusy = false\n                }\n            )\n      }\n\n    },\n\n    updateColor({hex}) {\n      this.innerValue = hex\n      this.showColors = false\n      this.paletteInOver = false\n    },\n\n    onMultiSelectRemove(selectedOption) {\n      this.value = selectedOption.value\n      this.validityEnabled = false\n\n      setTimeout(() => {\n        this.multiSelectObject = selectedOption\n      }, 50)\n\n      setTimeout(() => {\n        this.validityEnabled = true\n      }, 150)\n\n\n    },\n    onMultiSelectSearch(searchQuery) {\n      this.$emit(\"search\", searchQuery)\n      this.multiSelectSearch = searchQuery\n\n    },\n    onMultiSelectSelected(selectedOption) {\n      this.innerValue = selectedOption.value\n    },\n    checkExistsValueSelect() {\n\n      const valueString = \"\" + this.value\n\n      return valueString !== '' && valueString !== '0'\n\n    },\n    multiSelectClear() {\n\n      if (typeof this.value === 'string') {\n        this.innerValue = \"\"\n      } else {\n        this.innerValue = 0\n      }\n\n      this.multiSelectSearch = ''\n      this.multiSelectObject = []\n      this.$refs.multiselect.deactivate()\n\n\n    },\n    multiSelectSetValue() {\n\n\n      if (this.innerValue === 0)\n        this.multiSelectObject = []\n\n      if ((this.select || this.selectColors || this.selectImages || this.selectCommon || this.radio) && this.localOptions) {\n\n        let qtdElements = 0\n        let lastItem = {}\n\n        for (const option of this.localOptions) {\n\n          if (option.options && option.options.length > 0) {\n            //Possui formato com grupo\n\n            this.multiSelectOptionGrouped = true\n\n            //Verifica internamente somente se houver valor selecionado no v-model\n\n            for (const inside of option.options) {\n\n              qtdElements++\n              lastItem = inside\n\n              if (inside.value === this.innerValue && this.innerValue > 0) {\n                this.multiSelectObject = inside\n              }\n            }\n\n\n          } else {\n            //Não possui formato com grupo\n\n            qtdElements++\n            lastItem = option\n\n            this.multiSelectOptionGrouped = false\n\n            if (this.innerValue && option.value.toString() === this.innerValue.toString()) {\n              this.multiSelectObject = option\n            }\n\n          }\n\n        }\n\n\n        if (qtdElements === 1\n            && (this.innerValue === 0 || this.innerValue === \"\")\n            && this.formCommand === 'insert'\n            && !this.disableUniqueSelect) {\n          //Seleciona o unico elemento da lista neste caso\n\n          this.innerValue = lastItem.value\n          this.multiSelectObject = lastItem\n\n        }\n\n      }\n\n    },\n\n\n    applyFixed() {\n\n      if ((this.formCommand === \"view\" || this.formCommand === 'delete') && !this.hidden) {\n        this.type = \"fixed\"\n      } else if (this.fixedExceptInsert && this.formCommand !== \"insert\") {\n        this.type = \"fixed\"\n      } else if (this.fixedInsert && this.formCommand === \"insert\") {\n        this.type = \"fixed\"\n      }\n\n\n    },\n\n    applyManualError() {\n\n\n    },\n\n    applyRules() {\n\n      /*\n    * Aplicação de tipo rápida com booleanos*/\n\n\n      if (this.hidden) {\n        this.type = \"hidden\"\n      } else if (this.fixed) {\n        this.type = \"fixed\"\n      } else if (this.upload || this.uploadImage) {\n        this.type = \"file\"\n      } else if (this.textarea) {\n        this.type = \"textarea\"\n      } else if (this.select || this.selectColors || this.selectImages) {\n        this.type = \"select\"\n      } else if (this.selectCommon) {\n        this.type = \"selectCommon\"\n      } else if (this.radio) {\n        this.type = \"radio\"\n      } else if (this.checked) {\n        this.type = \"checked\"\n      } else if (this.range) {\n        this.type = \"range\"\n      } else if (this.checkbox) {\n        this.type = \"checkbox\"\n      } else {\n\n        this.type = \"text\"\n\n        //Informa de forma rápida que houve aplicação de máscara para agilizar renderização\n        if (\n            this.date\n            || this.url\n            || this.tel\n            || this.time\n            || this.number\n            || this.percent\n            || this.money\n            || this.cep\n            || this.cnpjOrCpf\n            || this.cnpj\n            || this.cpf\n\n        ) this.maskApply = true\n\n\n        //Mascaras que aplicam ícone automaticamente\n        if (\n            (this.date && !this.dateRemoveCalendar)\n        ) {\n          this.hasIconByMask = true\n        }\n\n        if (this.money || this.number || this.percent) {\n          this.isInputNumeric = true\n        }\n\n      }\n\n      this.localSmall = this.small\n      this.localUpper = this.upper\n      this.localLower = this.lower\n      this.localRules = this.rules\n\n\n      if (this.type === \"text\" || this.type === \"textarea\") {\n        //Regras de máscaras e outros para estes tipos apenas\n        this.localRules += \"|max:\" + this.maxLength\n\n        if (this.minLength !== \"\" && this.minLength !== \"0\") {\n          this.localRules += \"|min:\" + this.minLength\n        }\n\n        if (this.onlyNumbers) {\n          this.localRules += \"|only_numbers\"\n        } else if (this.onlyLetters) {\n          this.localRules += \"|only_letters\"\n        } else if (this.onlyLettersAndNumbers) {\n          this.localRules += \"|only_letters-and-numbers\"\n        }\n\n      }\n\n      if (this.date) {\n        /*this.localRules += \"|date\"*/\n      } else if (this.time) {\n        this.localRules += \"|time\"\n      } else if ((this.money || this.percent) && this.required && !this.acceptZero) {\n        this.localRules += \"|numeric_not_zero\"\n      } else if (this.cnpj) {\n        this.localRules += \"|cnpj\"\n        this.maskSize = 18 //Utilizado para validações quando terminar o preenchimento e enquanto esta com focus\n      } else if (this.cpf) {\n        this.localRules += \"|cpf\"\n        this.maskSize = 14 //Utilizado para validações quando terminar o preenchimento e enquanto esta com focus\n      } else if (this.cep) {\n        this.localRules += \"|cep\"\n        this.maskSize = 9\n      } else if (this.email) {\n        this.localRules += \"|email\"\n        this.localLower = true\n      } else if (this.emailMultiple) {\n        this.localRules += \"|email_multiple\"\n        this.localLower = true\n        this.localSmall = \"Insira mais que um e-mail separando por ;\"\n      } else if (this.url) {\n        this.localRules += \"|url\"\n        this.localLower = true\n      } else if (this.passwordSecurity) {\n        this.localRules += \"|password_security\"\n      } else if (this.colorReduced || this.colorSketch) {\n        this.localRules += \"|color\"\n        this.maskSize = 7 //Utilizado para validações quando terminar o preenchimento e enquanto esta com focus\n      }\n\n\n      //Regras manuais adicionadas para utilização de validação backend com campo específico\n      if (this.localAddError.length > 0) {\n        this.localRules += \"|manual_rule:\" + this.localAddError\n      }\n\n\n      if (this.notAutocomplete) {\n        //Remover autocomplete\n        this.autocomplete = \"off\"\n      } else {\n        this.autocomplete = this.password || this.passwordSecurity ? \"new-password\" : ''\n      }\n\n      this.applyFixed()\n      this.checkIsRequired()\n      this.checkLabel()\n      this.checkOptions()\n\n      this.innerValue = this.value\n\n\n    },\n\n    onFocusInInput() {\n      //Armazena o valor para saber se houve mudanças\n      this.oldValue = this.innerValue\n      this.inputIsFocus = true\n\n      if (this.colorReduced || this.colorSketch) {\n        this.showColors = true\n      }\n\n      if (this.isInputNumeric && this.innerNumeric === 0) {\n        //Deixa selecionado para facilitar a edição, pois se não dará pau\n        this.innerValue = \"\"\n        document.getElementById(this.localInputId).value = \"\"\n      }\n\n      this.$emit(\"focusin\")\n\n    },\n\n    onFocusInTextarea() {\n      //Armazena o valor para saber se houve mudanças\n      this.oldValue = this.innerValue\n\n      this.inputIsFocus = true\n      this.$emit(\"focusin\")\n\n    },\n\n    onFocusOutTextarea() {\n\n      if (this.innerValue !== null && this.innerValue !== '') {\n        this.innerValue = this.innerValue.trim()\n      }\n\n      this.inputIsFocus = false\n      this.$emit(\"focusout\")\n\n    },\n\n    onFocusOutInput() {\n\n      if (this.date || this.datetime) {\n\n        //Tempo necessário para obter o valor de innerDate atualizado pelo picker\n        setTimeout(() => {\n\n\n          if (this.innerDate.length !== 10 || this.innerDate.match(/^\\d{2}[./-]\\d{2}[./-]\\d{4}$/) === null) {\n            //Correção, pois a data esta incompleta\n            this.innerValue = ''\n            this.innerDate = ''\n          }\n\n        }, 200)\n\n\n      } else {\n\n        if (this.innerValue !== null && this.innerValue !== '' && isNaN(this.innerValue)) {\n\n          this.innerValue = this.innerValue.trim()\n\n          if (this.password || this.passwordSecurity || this.email || this.emailMultiple) {\n            //Retira tabs neste caso\n            this.innerValue = this.innerValue.replaceAll('\\t', '')\n          } else if (this.onlyLetters) {\n            this.innerValue = this.innerValue.replace(/[^a-zA-Z]/g, '')\n          } else if (this.onlyNumbers) {\n            this.innerValue = this.innerValue.replace(/\\D/g, '')\n          } else if (this.onlyLetters) {\n            this.innerValue = this.innerValue.replace(/[^a-zA-Z\\D]/g, '')\n          } else if (this.codeLabel) {\n            //Campos do tipo code Label não poderão ter espaço por regra geral\n            this.innerValue = this.innerValue.replaceAll(/ /g, '')\n            this.innerValue = this.innerValue.replaceAll('\\t', '')\n          } else {\n            //Substituir por espaço\n            this.innerValue = this.innerValue.replaceAll('\\t', ' ')\n\n            //Correção de espaços duplos entres\n            this.innerValue = this.innerValue.replaceAll(/  +/g, ' ')\n          }\n\n        }\n\n      }\n\n\n      let v = this.innerValue\n\n      if ((this.colorReduced || this.colorSketch) && !this.paletteInOver) {\n        this.showColors = false\n      }\n\n      if (this.localAddError.length > 0) {\n        //Retira erro manual para novo submit, pois este é utilizado somente uma vez para exibição ao usuário\n        this.localAddError = ''\n        this.applyRules()\n      }\n\n      if (this.localUpper && v != null) {\n        this.innerValue = v.toString().toUpperCase()\n      } else if (this.localLower && v != null) {\n        this.innerValue = v.toString().toLowerCase()\n      }\n\n\n      //Regras específicas\n      if (this.emailMultiple) {\n\n\n        if (v && v.length > 0) {\n\n          v = v.replace(/ /g, '').replace(/,/g, ';').replace(/;;/g, ';')\n\n          if (v.substring(v.length - 1) === \";\") {\n            v = v.substring(0, v.length - 1)\n          }\n\n          this.innerValue = v\n\n        }\n\n      }\n\n\n      if (this.api && this.cep && this.innerValue.length === this.maskSize && this.oldValue !== this.innerValue) {\n\n        const cep = this.innerValue.replace(/-/g, '')\n        this.localBusy = true\n\n        this.$http.get('https://viacep.com.br/ws/' + cep + '/json/')\n            .then(response => {\n\n              this.localBusy = false\n              const a = response.data\n\n              const address = {\n                id: a.ibge,\n                street: a.logradouro,\n                province: a.uf,\n                neighborhood: a.bairro,\n                city: a.localidade,\n              }\n\n              this.$emit(\"get\", address)\n\n\n            }).catch(\n            error => {\n              console.log(error)\n              this.localBusy = false\n            }\n        )\n\n      } else if (this.api && this.cnpj && this.innerValue.length === this.maskSize && this.oldValue !== this.innerValue && !this.hasError) {\n\n        //let cnpjValue = this.innerValue.replaceAll('.', '').replaceAll('/', '').replaceAll('-', '')\n\n        //this.localBusy = true\n\n        /*http.get('resource/CNPJ/' + cnpjValue)\n            .then(response => {\n\n              this.localBusy = false\n              this.$emit(\"get\", response.data)\n\n            }).catch(\n            error => {\n              console.log(error)\n              this.localBusy = false\n            }\n        )*/\n\n      }\n\n      this.inputIsFocus = false\n      this.$emit(\"focusout\")\n\n    },\n\n    checkNumericValue() {\n\n      this.innerValue = ui.convertNumber(this.innerNumeric, this.localDecimals, \"pt-br\")\n\n      //Tive que apelar, pois não trocava o valor interno de nenhuma forma\n      let v = this.innerValue\n\n      if (v === 0 && !this.acceptZero) {\n        //Caso o valor anterior seja nullo e o novo seja 0 irá deixar nullo novamente para deixar o campo input vazio com estado inicial.\n        this.innerValue = null\n        v = null\n      }\n\n      document.getElementById(this.localInputId).value = v\n\n    },\n\n    applyDateMask() {\n      /*  if(this.innerDate.length !== 10){\n\n          if(this.innerDate.length === 2){\n            this.innerDate += \"/\"\n          //}else if(this.innerDate.length === 4){\n          //  this.innerDate += \"/\"\n          }\n        }*/\n\n    },\n\n    dateRemoveByRegex() {\n\n      if (this.innerDate !== null && this.innerDate !== '') {\n        this.innerDate = this.innerDate.replace(/[^0-9/]/g, '').substring(0, 10)\n      }\n\n\n    },\n\n    closeDatePicker() {\n\n      if (this.$refs.datePicker && this.$refs.datePicker.closePopup)\n        this.$refs.datePicker.closePopup()\n\n\n    },\n\n    setDateAndClose() {\n      this.setCurrentDate(true)\n      this.closeDatePicker()\n    },\n\n    setCurrentDate(forceInsert) {\n\n      if (this.innerValue === '') {\n\n        setTimeout(() => {\n          this.checkDate(forceInsert)\n        }, 1000)\n\n      }\n\n    },\n\n    checkDate(forceInsert) {\n\n      if ((this.formCommand === 'insert' && this.innerValue === '') || forceInsert)\n        this.innerValue = ui.currentDate()\n\n\n    },\n\n\n    checkLabel() {\n\n      this.localLabel = this.label\n\n      if (typeof this.localRules === \"string\") {\n\n        if (this.localRules.indexOf('required') > -1) {\n          this.localLabel += ' *'\n        }\n\n      }\n\n    },\n\n    checkOptions() {\n\n      this.checkEnableAllOptions()\n\n\n      if (this.firstDefault && this.localOptions.length > 0 && this.formCommand === 'insert' && this.innerValue === '') {\n\n        if (this.type === 'selectCommon') {\n          this.innerValue = this.multiSelectObject.value\n        } else {\n          this.innerValue = this.localOptions[0].value\n        }\n\n      } else if (this.type === 'select') {\n        this.multiSelectSetValue();\n\n      }\n    },\n\n    checkEnableAllOptions() {\n\n\n      let newOptions = []\n\n      if (this.enableOptionAllText !== '') {\n        newOptions.push({\n          value: '',\n          text: this.enableOptionAllText,\n        })\n      }\n\n      if (this.options) {\n\n        for (const option of this.options) {\n          newOptions.push(option)\n        }\n\n      }\n\n      this.localOptions = newOptions\n\n    },\n\n\n    checkIsRequired() {\n\n      if (this.required && this.type !== 'fixed') {\n\n        if (this.localRules.indexOf('required') === -1) {\n          this.localRules += \"|required\"\n        }\n\n      } else {\n        this.localRules = this.localRules.replace('|required', '').replace('required', '')\n      }\n\n\n    },\n\n    handleDatePickerChange(value) {\n      console.log(value)\n    },\n\n    getValidationState({errors, validated, valid = null, failedRules}) {\n\n      if (errors.length > 0 && this.validityEnabled) {\n\n        const arrayImmediate = [\"max\", \"only_numbers\", \"only_letters\", \"only_letters-and-numbers\", \"password_security\", \"manual_rule\"]\n        const arrayMasks = [\"min\", \"cpf\", \"cnpj\", \"cep\", \"color\"]\n\n        //Verifica se há erros que devem ser apresentados mesmo antes do envio do formulário como limite de caracteres, minimo de valor ou maximo de valores. Podendo ser no onblur ou de forma imediata\n        const errorsBeforeSubject = Object.keys(failedRules).filter(rule => rule !== \"required\");\n\n        //Por padrão todos serão validados desta listagem após o blur, porém poderemos especificar se há validações imediatadas\n        const errorValidateImmediate = errorsBeforeSubject.filter(rule => arrayImmediate.includes(rule))\n\n        //Validações após saída do focus\n        const errorValidateBeforeFocus = errorsBeforeSubject.filter(rule => arrayMasks.includes(rule))\n\n        //Validações enquanto houver focus e se a mascara foi digitada até o final\n        const errorValidateImmediateAndMaskApply = errorsBeforeSubject.filter(rule => arrayMasks.includes(rule))\n\n        //Faz a validação antes do envio após sair do campo ou se deverá aplicar em tempo real\n        if (errorsBeforeSubject.length > 0 && (\n\n            //Validações imediatas\n            (!this.inputIsFocus || (errorValidateImmediate && errorValidateImmediate.length > 0)) ||\n\n            //Validações após saída do focus\n            (!this.inputIsFocus && errorValidateBeforeFocus) ||\n\n            //Validações imediatas, porém somente se tiver atingido a quantidade de caracteres da máscara\n            (!this.inputIsFocus && (errorValidateImmediateAndMaskApply && errorValidateImmediateAndMaskApply.length > 0 && this.maskSize === this.innerValue.length))\n\n        )) {\n\n          this.hasError = false\n          return false\n\n        } else {\n\n          this.hasError = !valid\n\n          if (errors.length > 0 && this.formStatus === \"subject\") {\n            return validated ? valid : null;\n          } else {\n            return null\n          }\n\n        }\n\n      }\n\n\n    },\n\n    checkInvalid(validationContext) {\n\n      let temp = this.getValidationState(validationContext)\n\n      //Somente neste caso é inválido, pois já foi verificado e o campo não foi preenchido. (quando retorna null significa que não foi validado ainda)\n      return temp === false\n\n    }\n  }\n}\n</script>\n<style>\n</style>\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./t-input.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./t-input.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./t-input.vue?vue&type=template&id=24f5faaa&\"\nimport script from \"./t-input.vue?vue&type=script&lang=js&\"\nexport * from \"./t-input.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"row ml-0\"},[(_vm.checked)?_c('label',{staticClass:\"p-1 text-success\"},[_vm._v(_vm._s(_vm.text)+\" ativo\")]):_c('label',{staticClass:\"p-1 text-secondary\"},[_vm._v(_vm._s(_vm.text)+\" inativo\")]),_c('b-form-checkbox',{staticClass:\"status-input-green\",attrs:{\"disabled\":_vm.formStatus === 'sending' || _vm.localDisabled,\"state\":true,\"size\":\"lg\",\"switch\":\"\"},model:{value:(_vm.checked),callback:function ($$v) {_vm.checked=$$v},expression:\"checked\"}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\n  <div class=\"row ml-0\">\n    <label class=\"p-1 text-success\" v-if=\"checked\">{{ text }} ativo</label>\n    <label class=\"p-1 text-secondary\" v-else>{{ text }} inativo</label>\n    <b-form-checkbox v-model=\"checked\" :disabled=\"formStatus === 'sending' || localDisabled\" class=\"status-input-green\"\n                     :state=\"true\" size=\"lg\" switch></b-form-checkbox>\n  </div>\n\n</template>\n<style>\n\n</style>\n<script>\nexport default {\n  name: 't-input-status',\n  props: {\n    formStatus: {\n      type: String,\n      default: \"\"\n    },\n    formCommand: {\n      type: String,\n      default: 'insert'\n    },\n    text: {\n      type: String,\n      default: \"Status\",\n    },\n    value: {\n      type: Number,\n      default: 0\n    },\n    disabled: {\n      type: Boolean,\n      default: false\n    }\n  },\n  data() {\n    return {\n      innerValue: 0,\n      localDisabled: false,\n      checked: false,\n    }\n  },\n  watch: {\n\n    formCommand() {\n      if (this.formCommand === 'view' || this.formCommand === 'delete') {\n        this.localDisabled = true\n      }\n    },\n\n    value(val) {\n\n      this.innerValue = val\n\n      if (this.innerValue === 1) {\n        this.checked = true\n      } else {\n        this.checked = false\n      }\n\n    },\n\n    checked(val) {\n\n      if (val) {\n        this.innerValue = 1\n\n      } else {\n        this.innerValue = 2\n      }\n\n      this.$emit(\"input\", this.innerValue);\n\n    }\n\n    /*innerValue(value) {\n\n      if (value === 1) {\n        this.checked = true\n      } else {\n        this.checked = false\n      }\n\n    },\n    */\n  },\n  mounted() {\n\n    this.localDisabled = this.disabled\n    this.innerValue = this.value;\n\n\n    if (this.innerValue === 1) {\n      this.checked = true\n    } else {\n      this.checked = false\n    }\n\n\n  },\n\n}\n</script>\n<style>\n\n</style>\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./t-input-status.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./t-input-status.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./t-input-status.vue?vue&type=template&id=1b176388&\"\nimport script from \"./t-input-status.vue?vue&type=script&lang=js&\"\nexport * from \"./t-input-status.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","var render = function () {\nvar _obj, _obj$1;\nvar _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{class:( _obj = {'row':_vm.enableRange || _vm.cols === '12'}, _obj['col-md-'+_vm.cols] = !_vm.enableRange && _vm.cols !== '12', _obj )},[(_vm.boolean)?_c('t-input',{staticClass:\"col-md-12\",attrs:{\"form-status\":_vm.formStatus,\"label\":_vm.label,\"radio\":\"\",\"not-row\":\"\",\"options\":_vm.booleanOptions,\"disable-unique-select\":\"\"},on:{\"change\":_vm.onChange},model:{value:(_vm.innerValueStart),callback:function ($$v) {_vm.innerValueStart=$$v},expression:\"innerValueStart\"}}):_vm._e(),(!_vm.boolean)?_c('t-input',{class:{'col-md-12':!_vm.enableRange && _vm.cols === '12'},attrs:{\"disable-unique-select\":\"\",\"label\":_vm.startLabel,\"cols\":_vm.startCols,\"not-row\":!_vm.enableRange,\"help\":_vm.help,\"small\":_vm.small,\"textarea\":_vm.textarea,\"select\":_vm.select,\"selectColors\":_vm.selectColors,\"selectCommon\":_vm.selectCommon,\"options\":_vm.options,\"radio\":_vm.radio,\"checked\":_vm.checked,\"checkbox\":_vm.checkbox,\"date\":_vm.date,\"time\":_vm.time,\"dateRemoveCalendar\":_vm.dateRemoveCalendar,\"email\":_vm.email,\"email-multiple\":_vm.emailMultiple,\"url\":_vm.url,\"tel\":_vm.tel,\"number\":_vm.number,\"range\":_vm.range,\"decimals\":_vm.decimals,\"percent\":_vm.percent,\"money\":_vm.money,\"cep\":_vm.cep,\"cnpjOrCpf\":_vm.cnpjOrCpf,\"cnpj\":_vm.cnpj,\"cpf\":_vm.cpf,\"disabled\":_vm.disabled,\"required\":_vm.required,\"form-status\":_vm.formStatus,\"placeholder\":_vm.localPlaceholder},on:{\"change\":_vm.onChange},model:{value:(_vm.innerValueStart),callback:function ($$v) {_vm.innerValueStart=$$v},expression:\"innerValueStart\"}}):_vm._e(),(_vm.enableRange)?_c('t-input',{class:( _obj$1 = {}, _obj$1['col-md-'+_vm.finishCols] = _vm.finishCols > 0, _obj$1 ),attrs:{\"disable-unique-select\":\"\",\"label\":_vm.finishLabel,\"cols\":_vm.finishCols,\"not-row\":!_vm.enableRange,\"help\":_vm.help,\"small\":_vm.small,\"textarea\":_vm.textarea,\"select\":_vm.select,\"selectColors\":_vm.selectColors,\"selectCommon\":_vm.selectCommon,\"radio\":_vm.radio,\"checked\":_vm.checked,\"checkbox\":_vm.checkbox,\"date\":_vm.date,\"time\":_vm.time,\"dateRemoveCalendar\":_vm.dateRemoveCalendar,\"email\":_vm.email,\"emailMultiple\":_vm.emailMultiple,\"url\":_vm.url,\"tel\":_vm.tel,\"number\":_vm.number,\"decimals\":_vm.decimals,\"percent\":_vm.percent,\"money\":_vm.money,\"cep\":_vm.cep,\"cnpjOrCpf\":_vm.cnpjOrCpf,\"cnpj\":_vm.cnpj,\"cpf\":_vm.cpf,\"disabled\":_vm.disabled,\"required\":_vm.required,\"form-status\":_vm.formStatus,\"placeholder\":_vm.localPlaceholder},model:{value:(_vm.innerValueFinish),callback:function ($$v) {_vm.innerValueFinish=$$v},expression:\"innerValueFinish\"}}):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\n  <div :class=\"{'row':enableRange || cols === '12',['col-md-'+cols]:!enableRange && cols !== '12'}\">\n\n    <t-input v-if=\"boolean\" :form-status=\"formStatus\" :label=\"label\" class=\"col-md-12\" v-model=\"innerValueStart\" radio not-row\n             :options=\"booleanOptions\" disable-unique-select @change=\"onChange\" />\n\n    <t-input v-if=\"!boolean\"\n             v-model=\"innerValueStart\"\n             disable-unique-select\n             :class=\"{'col-md-12':!enableRange && cols === '12'}\"\n             :label=\"startLabel\"\n             :cols=\"startCols\"\n             :not-row=\"!enableRange\"\n             :help=\"help\"\n             :small=\"small\"\n             :textarea=\"textarea\"\n             :select=\"select\"\n             :selectColors=\"selectColors\"\n             :selectCommon=\"selectCommon\"\n             :options=\"options\"\n             :radio=\"radio\"\n             :checked=\"checked\"\n             :checkbox=\"checkbox\"\n             :date=\"date\"\n             :time=\"time\"\n             :dateRemoveCalendar=\"dateRemoveCalendar\"\n             :email=\"email\"\n             :email-multiple=\"emailMultiple\"\n             :url=\"url\"\n             :tel=\"tel\"\n             :number=\"number\"\n             :range=\"range\"\n             :decimals=\"decimals\"\n             :percent=\"percent\"\n             :money=\"money\"\n             :cep=\"cep\"\n             :cnpjOrCpf=\"cnpjOrCpf\"\n             :cnpj=\"cnpj\"\n             :cpf=\"cpf\"\n             :disabled=\"disabled\"\n             :required=\"required\"\n             :form-status=\"formStatus\"\n             :placeholder=\"localPlaceholder\"\n             @change=\"onChange\"\n    />\n\n\n    <t-input\n        v-if=\"enableRange\"\n        v-model=\"innerValueFinish\"\n        disable-unique-select\n        :label=\"finishLabel\"\n        :class=\"{['col-md-'+finishCols]:finishCols > 0}\"\n        :cols=\"finishCols\"\n        :not-row=\"!enableRange\"\n        :help=\"help\"\n        :small=\"small\"\n        :textarea=\"textarea\"\n        :select=\"select\"\n        :selectColors=\"selectColors\"\n        :selectCommon=\"selectCommon\"\n        :radio=\"radio\"\n        :checked=\"checked\"\n        :checkbox=\"checkbox\"\n        :date=\"date\"\n        :time=\"time\"\n        :dateRemoveCalendar=\"dateRemoveCalendar\"\n        :email=\"email\"\n        :emailMultiple=\"emailMultiple\"\n        :url=\"url\"\n        :tel=\"tel\"\n        :number=\"number\"\n        :decimals=\"decimals\"\n        :percent=\"percent\"\n        :money=\"money\"\n        :cep=\"cep\"\n        :cnpjOrCpf=\"cnpjOrCpf\"\n        :cnpj=\"cnpj\"\n        :cpf=\"cpf\"\n        :disabled=\"disabled\"\n        :required=\"required\"\n        :form-status=\"formStatus\"\n        :placeholder=\"localPlaceholder\"\n    />\n\n  </div>\n\n</template>\n<script>\n//import ui from \"@/assets/scripts/ui\";\n\nexport default {\n  name: 't-input-search',\n  data() {\n    return {\n      innerValueStart: undefined,\n      innerValueFinish: undefined,\n      startLabel: \"\",\n      finishLabel: \"\",\n      startCols: 0,\n      finishCols: 0,\n      localPlaceholder: \"\",\n      defaultApplied:false,\n      booleanOptions: [{value: 1, text: 'Todos'}, {value: 2, text: this.textTrue}, {value: 3, text: this.textFalse}],\n    }\n  },\n  props: {\n    value: {\n      type: null,\n      default: \"\"\n    },\n    multiple:Boolean,\n    formStatus: String,\n    enableRange: {\n      type: Boolean,\n      default: false\n    },\n    placeholder: String,//Usado soment em select, quando se deseja mudar o padrão \"Todos\" por outro texto ou deixar '' para vazio\n    dateMonthly: Boolean, //Válido somente data 'date' com range habilitado, será preenchido a data inicial e final do mês atual\n    boolean: Boolean,\n    textTrue: {\n      type: String,\n      default: \"Sim\",\n    },\n    textFalse: {\n      type: String,\n      default: \"Não\",\n    },\n    /*Replicando alguns campos do input*/\n    /*------------------------------------------------------------*/\n    help: {\n      type: String,\n      default: \"\"\n    },\n    small: { //Texto auxiliar por baixo do input\n      type: String,\n      default: \"\",\n    },\n    textarea: Boolean,\n    select: Boolean,\n    selectColors: Boolean,\n    selectImages:Boolean,\n    selectCommon: Boolean,\n    radio: Boolean,\n    checked: Boolean, //Checked unitário\n    checkbox: Boolean,\n    date: Boolean,\n    time: Boolean,\n    dateRemoveCalendar: Boolean,\n    email: Boolean,\n    emailMultiple: Boolean,\n    url: Boolean,\n    tel: Boolean,\n    number: Boolean,\n    range: Boolean,\n    percent: Boolean,\n    money: Boolean,\n    cep: Boolean,\n    cnpjOrCpf: Boolean, //Mascara de CNPJ ou CPF dinamica\n    cnpj: Boolean,\n    cpf: Boolean,\n    decimals: {\n      type: [String, Number],\n      default: \"0\"\n    },\n    disabled: {\n      type: Boolean,\n      default: false\n    },\n    label: {\n      type: String,\n      default: \"\"\n    },\n    required: {\n      type: Boolean,\n      default: false\n    },\n    cols: {\n      type: [String, Number],\n      default: \"12\"\n    },\n    options: [],\n    /*------------------------------------------------------------*/\n  },\n  mounted() {\n\n    this.setValue(this.value)\n\n    this.startLabel = this.label\n\n    if (this.enableRange) {\n\n      this.startCols = this.cols\n\n      this.startLabel = this.startLabel + \" inicial\"\n      this.finishLabel = this.label + \" final\"\n      this.startCols = 6\n      this.finishCols = 6\n\n    } else {\n\n      if (this.cols !== '12') {\n        //Deixa como 12, pois formatará pelo cols a parte externa\n        this.startCols = '12'\n      }\n\n    }\n\n  },\n  methods: {\n\n    onChange(value){\n      //Por enquanto válido somente para inputs sem range\n      this.$emit(\"change\",value)\n    },\n\n\n    setValue(v) {\n\n      if (this.boolean) {\n\n        if (v === null) {\n          this.innerValueStart = 1\n        } else if (v) {\n          this.innerValueStart = 2\n        } else {\n          this.innerValueStart = 3\n        }\n\n      } else {\n\n        if (v === '') {\n          if (this.number) {\n            v = 0\n          }\n        }\n\n        if (this.enableRange) {\n\n          if (v === 0 && this.number) {\n\n            this.innerValueStart = 0\n            this.innerValueFinish = 0\n\n          } else if (v === '' && this.date) {\n\n            this.innerValueStart = \"\"\n            this.innerValueFinish = \"\"\n\n            //Prenche o período do mês atual por padrão\n            if (this.dateMonthly && !this.defaultApplied) {\n\n              this.defaultApplied = true\n\n              const today = new Date()\n              const lastDayOfMonth = new Date(today.getFullYear(), today.getMonth() + 1, 0)\n\n              const month = (today.getMonth() + 1).toString().padStart(2, \"0\")\n\n              this.innerValueStart = today.getFullYear() + \"-\" + month + \"-01\"\n              this.innerValueFinish = today.getFullYear() + \"-\" + month + \"-\" + lastDayOfMonth.getUTCDate().toString().padStart(2, \"0\")\n\n            }\n\n          } else {\n\n            if (this.date) {\n\n              if (v.indexOf(\":\") > -1) {\n\n                /*Valor inicial e final enviados*/\n                this.innerValueStart = v.substring(0, v.indexOf(\":\"))\n                this.innerValueFinish = v.substring(v.indexOf(\":\") + 1)\n\n              } else {\n                /*Somente valor inicial*/\n                this.innerValueStart = v\n              }\n\n            } else if (this.number) {\n\n              if (v.indexOf(\":\") > -1 && typeof v === 'string') {\n\n                /*Valor inicial e final enviados*/\n                const start = parseFloat(v.substring(0, v.indexOf(\":\")))\n                const finish = parseFloat(v.substring(v.indexOf(\":\") + 1))\n\n                this.innerValueStart = start\n                this.innerValueFinish = finish\n\n              } else {\n                /*Somente valor inicial, porém */\n                this.innerValueStart = parseFloat(v)\n                this.innerValueFinish = 0\n              }\n\n            }\n\n          }\n\n        } else {\n\n          this.innerValueStart = v\n        }\n\n        //if (this.select) {\n\n          this.localPlaceholder = \"Todos\"\n\n          if (this.placeholder !== undefined) {\n            this.localPlaceholder = this.placeholder\n          }\n        //}\n\n      }\n\n\n    }\n  },\n  watch: {\n\n    value(v) {\n      this.setValue(v)\n    },\n    innerValueStart(v) {\n\n      if (this.boolean) {\n\n        if (this.innerValueStart === 1) {\n          this.$emit(\"input\", null)\n        } else if (this.innerValueStart === 2) {\n          this.$emit(\"input\", true)\n        } else if (this.innerValueStart === 3) {\n          this.$emit(\"input\", false)\n        }\n\n      } else {\n\n        if (this.enableRange) {\n\n          //let invertRange = false /*Correção de range*/\n\n          if (this.date) {\n\n            /*Esta confusa esta inversão por aqui*/\n\n            /*if (this.innerValueFinish !== '') {\n\n              /!*Consistência sempre do menor para o maior*!/\n              const days = ui.dateDiff(v, this.innerValueFinish)\n\n              if (days < 0) {\n                invertRange = true\n              }\n\n            }*/\n\n          }\n\n          /*if (invertRange) {\n            const finish = v\n            v = this.innerValueFinish\n\n            this.innerValueStart = v\n            this.innerValueFinish = finish\n          }*/\n\n          if ((this.number && (v > 0 || this.innerValueFinish > 0)) || (this.date && (v !== '' || this.innerValueFinish !== ''))) {\n            //Possui algum dos valores preenchidos\n\n            if (this.innerValueFinish === undefined) {\n              this.innerValueFinish = \"\"\n              //}else if(this.date && this.innerValueFinish === undefined){\n              //  this.innerValueFinish = \"\"\n            }\n\n            this.$emit(\"input\", v + \":\" + this.innerValueFinish)\n\n          } else {\n\n            this.$emit(\"input\", v)\n          }\n\n        } else {\n          this.$emit(\"input\", v)\n        }\n\n      }\n\n    },\n    innerValueFinish(v) {\n\n      //let invertRange = false /*Correção de range*/\n\n      if (this.enableRange) {\n\n        if (this.innerValueStart !== '') {\n\n          if (this.date) {\n\n            /*Ficou confusa a inversão por aqui, por isso removido*/\n\n            /*/!*Consistência sempre do menor para o maior*!/\n            const days = ui.dateDiff(this.innerValueStart, v)\n\n            if (days < 0) {\n              invertRange = true\n            }*/\n\n          }\n\n\n\n          /*if (invertRange) {\n            const start = v\n            v = this.innerValueStart\n\n            this.innerValueStart = start\n          }*/\n\n        }\n\n        if ((this.number && (v > 0 || this.innerValueStart > 0)) || (this.date && (v !== '' || this.innerValueStart !== ''))) {\n          //Possui algum dos valores preenchidos\n          this.$emit(\"input\", this.innerValueStart + \":\" + v)\n        } else {\n          this.$emit(\"input\", v)\n        }\n\n      } else {\n\n        if(this.searchMin){\n          this.$emit(\"input\", \"min(\"+v+\")\")\n        }else{\n          this.$emit(\"input\", v)\n        }\n\n\n      }\n\n    }\n  }\n}\n</script>","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./t-input-search.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./t-input-search.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./t-input-search.vue?vue&type=template&id=aea0f8a4&\"\nimport script from \"./t-input-search.vue?vue&type=script&lang=js&\"\nexport * from \"./t-input-search.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[(_vm.mount)?_c('t-input-product-list',{attrs:{\"show\":_vm.modalSearch,\"product-code-full\":_vm.productCodeLabel},on:{\"onClose\":function($event){return _vm.onModalSearchClose()},\"onSelected\":_vm.onSelected}}):_vm._e(),_c('div',{staticClass:\"d-flex align-items-start\"},[_c('t-input',{attrs:{\"upper\":\"\",\"not-autocomplete\":\"\",\"add-error\":_vm.addError,\"form-status\":_vm.status,\"form-command\":_vm.command,\"required\":_vm.required,\"class-input\":\"input-with-search\",\"label\":\"Produto\"},on:{\"focusin\":_vm.searchFocusIn,\"focusout\":_vm.searchFocusOut},nativeOn:{\"keyup\":function($event){return _vm.executeFastSearch.apply(null, arguments)}},scopedSlots:_vm._u([{key:\"input-group-append\",fn:function(){return [_c('div',{staticStyle:{\"position\":\"absolute\",\"left\":\"-2px\",\"top\":\"35px\",\"background-color\":\"#8b1833\"}},[_c('div',{staticClass:\"rm-pointers dropdown-menu dropdown-menu-left not-transform\",class:{'show':_vm.fastSearchList.length > 0},staticStyle:{\"min-width\":\"200px\"},attrs:{\"tabindex\":\"-1\"}},_vm._l((_vm.fastSearchList),function(item,index){return _c('button',{key:index,staticClass:\"dropdown-item one-per-line\",class:{'item-dropdown-select': index === _vm.fastSearchCursor},attrs:{\"type\":\"button\",\"tabindex\":\"0\"},on:{\"click\":function($event){return _vm.setFastSearchByIndex(index)}}},[_c('div',{domProps:{\"innerHTML\":_vm._s(_vm.getDetailSearchList(item))}})])}),0)]),(_vm.command === 'insert' || _vm.command === 'update')?_c('t-button',{attrs:{\"icon-search\":\"\",\"outline-secondary\":\"\"},on:{\"click\":function($event){return _vm.openModalSearch()}}}):_vm._e()]},proxy:true}]),model:{value:(_vm.productCodeLabel),callback:function ($$v) {_vm.productCodeLabel=$$v},expression:\"productCodeLabel\"}}),(!_vm.disableName)?_c('b-col',{staticClass:\"text-left\",staticStyle:{\"margin-top\":\"22px\",\"padding-right\":\"0px\"}},[_c('div',{staticClass:\"vs--disabled_label form-control\",staticStyle:{\"margin-bottom\":\"8px\",\"text-overflow\":\"ellipsis\",\"overflow\":\"hidden\",\"height\":\"33px !important\"}},[_c('span',[_vm._v(_vm._s(_vm.name))])])]):_vm._e()],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[(_vm.galleryShow)?_c('t-gallery',{attrs:{\"images\":_vm.galleryImages,\"title\":\"Imagens do Produto\"},model:{value:(_vm.galleryShow),callback:function ($$v) {_vm.galleryShow=$$v},expression:\"galleryShow\"}}):_vm._e(),_c('b-modal',{ref:\"modal\",attrs:{\"size\":\"xl\",\"no-close-on-esc\":\"\",\"id\":\"modal-product-search\",\"no-close-on-backdrop\":\"\",\"title\":\"Buscar Produto\",\"hide-footer\":\"\"},on:{\"hide\":function($event){return _vm.closeSearch()}}},[_c('b-row',[_c('t-input',{attrs:{\"cols\":\"2\",\"label\":'Cód. '+ _vm.accountPrefix + '/Produto'},nativeOn:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.executeSearchInput.apply(null, arguments)}},model:{value:(_vm.form.default),callback:function ($$v) {_vm.$set(_vm.form, \"default\", $$v)},expression:\"form.default\"}}),_c('t-input',{attrs:{\"cols\":\"3\",\"label\":'Produto'},nativeOn:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.executeSearchInput.apply(null, arguments)}},model:{value:(_vm.form.name),callback:function ($$v) {_vm.$set(_vm.form, \"name\", $$v)},expression:\"form.name\"}}),_c('t-input-search',{attrs:{\"cols\":\"3\",\"options\":_vm.groupProductOptions,\"select\":\"\",\"label\":\"Grupo\"},on:{\"change\":_vm.changeGroupProduct},model:{value:(_vm.form.groupProductId),callback:function ($$v) {_vm.$set(_vm.form, \"groupProductId\", $$v)},expression:\"form.groupProductId\"}}),_c('t-input',{attrs:{\"cols\":\"2\",\"label\":\"Cód. Conversão\",\"help\":\"Código cadastrado na aba Códigos de Conversão do Produto, podendo ser: Cód. do Cliente/Grupo ou Mercado\"},nativeOn:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.executeSearchInput.apply(null, arguments)}},model:{value:(_vm.form.code),callback:function ($$v) {_vm.$set(_vm.form, \"code\", $$v)},expression:\"form.code\"}}),_c('t-button',{attrs:{\"cols\":\"2\",\"primary\":\"\",\"form-inline\":\"\"},on:{\"click\":_vm.executeSearchInput}},[_c('b-icon-search',{staticClass:\"mr-1\",staticStyle:{\"scale\":\"0.8\"}}),_vm._v(\" Filtrar \")],1)],1),_c('b-row'),(_vm.hasConditionalFields())?_c('b-row',[_c('b-col',{attrs:{\"cols\":\"12\"}},[(_vm.entityFieldCustomized('groupProduct').length > 0)?_c('t-page-form-field-customized',{ref:\"fieldsGroupProduct\",attrs:{\"only-search\":\"\",\"big-search\":\"\",\"fields-customizable\":_vm.entityFieldCustomized('groupProduct'),\"foreign-key\":_vm.form.groupProductId,\"foreign-key-column\":\"groupProductId\"},on:{\"onPressEnter\":_vm.executeSearchInput}}):_vm._e(),(_vm.entityFieldCustomized('model').length > 0)?_c('t-page-form-field-customized',{ref:\"fieldsModel\",attrs:{\"only-search\":\"\",\"big-search\":\"\",\"fields-customizable\":_vm.entityFieldCustomized('model'),\"foreign-key\":_vm.form.modelId,\"foreign-key-column\":\"modelId\"},on:{\"onPressEnter\":_vm.executeSearchInput}}):_vm._e()],1)],1):_vm._e(),_c('b-row',[_c('b-col',{attrs:{\"cols\":\"6\"}},[(_vm.enableAllFilters)?_c('b-row',[_c('t-input-search',{attrs:{\"cols\":\"4\",\"label\":\"Exclusividade\",\"options\":_vm.ProductExclusiveType.list,\"select\":\"\",\"required\":\"\"},model:{value:(_vm.form.typeExclusive),callback:function ($$v) {_vm.$set(_vm.form, \"typeExclusive\", $$v)},expression:\"form.typeExclusive\"}}),_c('b-col',{attrs:{\"cols\":\"8\"}},[_c('t-input-person',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.form.typeExclusive !== _vm.ProductExclusiveType.type.GROUP_CUSTOMER),expression:\"form.typeExclusive !== ProductExclusiveType.type.GROUP_CUSTOMER\"}],attrs:{\"customer\":\"\",\"disabled\":_vm.form.typeExclusive !== _vm.ProductExclusiveType.type.GROUP_CUSTOMER},model:{value:(_vm.form.customerId),callback:function ($$v) {_vm.$set(_vm.form, \"customerId\", $$v)},expression:\"form.customerId\"}}),_c('t-input-search',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.form.typeExclusive === _vm.ProductExclusiveType.type.GROUP_CUSTOMER),expression:\"form.typeExclusive === ProductExclusiveType.type.GROUP_CUSTOMER\"}],attrs:{\"label\":\"Grupo de Cliente\",\"options\":_vm.groupCustomerOptions,\"select\":\"\"},model:{value:(_vm.form.customerGroupId),callback:function ($$v) {_vm.$set(_vm.form, \"customerGroupId\", $$v)},expression:\"form.customerGroupId\"}})],1)],1):_vm._e()],1),(_vm.hasConditionalFields())?_c('b-col',{attrs:{\"cols\":\"2\"}},[_c('t-input',{attrs:{\"number\":\"\",\"decimals\":\"3\",\"label\":\"Margem\",\"help\":\"Margem padrão para pesquisar em campos marcados do tipo 'Medida'. Utilize as opções: +- (abaixo e acima), + (somente acima), - (somente abaixo). Para alterar a margem de pesquisa padrão acesse: 'Produtos > Configurações > Parâmetros\"},scopedSlots:_vm._u([{key:\"input-group-append\",fn:function(){return [_c('div',{staticClass:\"input-group-text\"},[_c('b-dropdown',{attrs:{\"size\":\"sm\",\"text\":_vm.searchMeasureLabel,\"variant\":\"link\"}},[_c('b-dropdown-item-button',{on:{\"click\":function($event){return _vm.setSearchMeasureType(1)}}},[_vm._v(\"+-\")]),_c('b-dropdown-item-button',{on:{\"click\":function($event){return _vm.setSearchMeasureType(2)}}},[_vm._v(\"+\")]),_c('b-dropdown-item-button',{on:{\"click\":function($event){return _vm.setSearchMeasureType(3)}}},[_vm._v(\"-\")])],1)],1)]},proxy:true}],null,false,1194091059),model:{value:(_vm.form.searchMeasureRange),callback:function ($$v) {_vm.$set(_vm.form, \"searchMeasureRange\", $$v)},expression:\"form.searchMeasureRange\"}})],1):_vm._e()],1),(_vm.enableAllFilters)?_c('b-row',{staticClass:\"mb-3\"},[(_vm.entityFieldCustomized('page').length > 0)?_c('b-col',{attrs:{\"cols\":\"12\"}},[_c('t-page-form-field-customized',{ref:\"fieldsGeneral\",attrs:{\"only-search\":\"\",\"big-search\":\"\",\"fields-customizable\":_vm.entityFieldCustomized('page'),\"foreign-key\":22,\"primary-key-column\":\"productId\",\"foreign-key-column\":\"pageId\"},on:{\"onPressEnter\":_vm.executeSearchInput}})],1):_vm._e(),_c('b-col',{attrs:{\"cols\":\"6\"}},[_c('b-row',[_c('t-input-search',{attrs:{\"cols\":\"6\",\"options\":_vm.featureOptions,\"select\":\"\",\"label\":\"Característica\"},model:{value:(_vm.form.featureId),callback:function ($$v) {_vm.$set(_vm.form, \"featureId\", $$v)},expression:\"form.featureId\"}}),_c('t-input-search',{attrs:{\"cols\":\"6\",\"options\":_vm.complementOptions,\"select\":\"\",\"label\":\"Acabamento\"},model:{value:(_vm.form.complementId),callback:function ($$v) {_vm.$set(_vm.form, \"complementId\", $$v)},expression:\"form.complementId\"}})],1)],1),_c('b-col',{attrs:{\"cols\":\"6\"}},[_c('t-keyword',{model:{value:(_vm.form.keyword),callback:function ($$v) {_vm.$set(_vm.form, \"keyword\", $$v)},expression:\"form.keyword\"}})],1)],1):_vm._e(),_c('div',{staticStyle:{\"overflow\":\"hidden\",\"position\":\"relative\",\"float\":\"left\",\"width\":\"100%\"}},[_c('t-table',{attrs:{\"show\":_vm.checkViewListTableDefault(),\"filtered\":_vm.filtered,\"busy\":!_vm.pageListIsLoaded,\"user-auth\":_vm.userAuth,\"items\":_vm.request.content,\"fields\":_vm.viewFieldsPageProduct,\"total-pages\":_vm.request.totalPages,\"total-elements\":_vm.request.totalElements,\"container-table-style\":[{'min-height':'250px'}],\"title-items\":\"Produtos\",\"link-primary-column\":\"productCodeLabel\",\"table-bordered\":\"\",\"table-striped\":\"\",\"disable-actions-column\":\"\",\"primary-key-column\":\"productId\"},on:{\"getPage\":_vm.getPageSearchList},scopedSlots:_vm._u([{key:\"first-column\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('b-link',{on:{\"click\":function($event){return _vm.selectItemList(item.productId)}}},[_vm._v(_vm._s(item.productCodeLabel))])]}},{key:\"item(name)\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('div',{domProps:{\"innerHTML\":_vm._s(_vm.highlightMeasures(item.name))}})]}},{key:\"item(firstFileName)\",fn:function(ref){\nvar item = ref.item;\nreturn [(item.firstFileName !== '')?_c('t-button',{attrs:{\"small\":\"\",\"outline-light\":\"\"},on:{\"click\":function($event){return _vm.openModalProductImages(item.productId)}}},[_c('t-image-blob',{staticClass:\"align-self-center\",staticStyle:{\"max-width\":\"50px\"},attrs:{\"src\":'product/item-file/image/'+item.productId+'/'+item.firstFileId+'/?variant=thumbnail'}})],1):_c('small',[_vm._v(\"-\")])]}},{key:\"item(qtyImagesGeneral)\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('t-button',{attrs:{\"small\":\"\"},on:{\"click\":function($event){return _vm.openModalProductImages(item.productId)}}},[_c('b-icon-camera')],1)]}}])})],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import http from '../../config/http-common';\r\n\r\n//Usado somente se for realmente necessário algo fora do padrão GeneralCRUD.service.js\r\nconst path = \"customer/group\"\r\n\r\nclass service {\r\n\r\n    selectList(params) {\r\n        return http.list(path + \"/selectList\",params);\r\n    }\r\n\r\n}\r\n\r\nexport default new service();\r\n\r\n\r\n","<template>\n\n  <div>\n\n    <t-gallery :images=\"galleryImages\" v-if=\"galleryShow\" v-model=\"galleryShow\" title=\"Imagens do Produto\"/>\n\n    <b-modal size=\"xl\" @hide=\"closeSearch()\" ref=\"modal\" no-close-on-esc id=\"modal-product-search\"\n             no-close-on-backdrop\n             title=\"Buscar Produto\" hide-footer>\n\n      <b-row>\n\n        <t-input cols=\"2\" v-model=\"form.default\" :label=\"'Cód. '+ accountPrefix + '/Produto'\"\n                 @keyup.enter.native=\"executeSearchInput\"/>\n\n\n        <t-input cols=\"3\" v-model=\"form.name\" :label=\"'Produto'\"\n                 @keyup.enter.native=\"executeSearchInput\"/>\n\n        <t-input-search cols=\"3\"\n                        v-model=\"form.groupProductId\"\n                        :options=\"groupProductOptions\"\n                        @change=\"changeGroupProduct\"\n                        select label=\"Grupo\"/>\n\n        <!--        <t-input-search\n                    cols=\"6\"\n                    :disabled=\"form.groupProductId === 0\"\n                    v-model=\"form.modelId\"\n                    :options=\"modelOptions\"\n                    @change=\"changeModel\"\n                    select label=\"Modelo\"/>-->\n\n\n        <t-input cols=\"2\" v-model=\"form.code\" label=\"Cód. Conversão\"\n                 help=\"Código cadastrado na aba Códigos de Conversão do Produto, podendo ser: Cód. do Cliente/Grupo ou Mercado\"\n                 @keyup.enter.native=\"executeSearchInput\"/>\n\n\n        <t-button @click=\"executeSearchInput\" cols=\"2\" primary form-inline>\n          <b-icon-search class=\"mr-1\" style=\"scale: 0.8\"></b-icon-search>\n          Filtrar\n        </t-button>\n\n\n        <!--        <t-input-search cols=\"2\"\n                                v-model=\"form.unitId\"\n                                :options=\"unitOptions\"\n                                select label=\"Un.\"/>-->\n\n      </b-row>\n\n      <b-row>\n\n\n        <!--        <t-input-search cols=\"2\" v-model=\"form.hasStock\" :options=\"yesOrNotOptionsAndAll\" label=\"Possui estoque\"\n                                select/>-->\n\n\n        <!--        <b-col cols=\"3\">\n\n                  <t-input-code-label compound disable-name v-model=\"form.compoundId\" />\n\n                </b-col>-->\n\n        <!--        <b-col cols=\"3\">\n\n                  <t-input-code-label material disable-name v-model=\"form.materialId\" />\n\n                </b-col>-->\n\n\n      </b-row>\n\n      <b-row v-if=\"hasConditionalFields()\">\n\n        <b-col cols=\"12\">\n\n          <t-page-form-field-customized\n              ref=\"fieldsGroupProduct\"\n              v-if=\"entityFieldCustomized('groupProduct').length > 0\"\n              @onPressEnter=\"executeSearchInput\"\n              only-search\n              big-search\n              :fields-customizable=\"entityFieldCustomized('groupProduct')\"\n              :foreign-key=\"form.groupProductId\" foreign-key-column=\"groupProductId\"\n          />\n\n\n          <t-page-form-field-customized\n              ref=\"fieldsModel\"\n              v-if=\"entityFieldCustomized('model').length > 0\"\n              @onPressEnter=\"executeSearchInput\"\n              only-search\n              big-search\n              :fields-customizable=\"entityFieldCustomized('model')\"\n              :foreign-key=\"form.modelId\" foreign-key-column=\"modelId\"\n          />\n\n        </b-col>\n\n      </b-row>\n\n\n      <b-row>\n\n\n        <b-col cols=\"6\">\n\n          <b-row v-if=\"enableAllFilters\">\n\n            <t-input-search cols=\"4\" v-model=\"form.typeExclusive\"\n                            label=\"Exclusividade\" :options=\"ProductExclusiveType.list\" select\n                            required/>\n\n            <b-col cols=\"8\">\n\n              <t-input-person customer\n                              v-show=\"form.typeExclusive !== ProductExclusiveType.type.GROUP_CUSTOMER\"\n                              v-model=\"form.customerId\"\n                              :disabled=\"form.typeExclusive !== ProductExclusiveType.type.GROUP_CUSTOMER\"/>\n\n\n              <t-input-search v-show=\"form.typeExclusive === ProductExclusiveType.type.GROUP_CUSTOMER\"\n                              v-model=\"form.customerGroupId\"\n                              label=\"Grupo de Cliente\"\n                              :options=\"groupCustomerOptions\" select/>\n\n            </b-col>\n\n\n          </b-row>\n\n        </b-col>\n\n        <b-col cols=\"2\" v-if=\"hasConditionalFields()\">\n\n          <t-input v-model=\"form.searchMeasureRange\" number decimals=\"3\" label=\"Margem\"\n                   help=\"Margem padrão para pesquisar em campos marcados do tipo 'Medida'. Utilize as opções: +- (abaixo e acima), + (somente acima), - (somente abaixo). Para alterar a margem de pesquisa padrão acesse: 'Produtos > Configurações > Parâmetros\">\n\n            <template #input-group-append>\n\n              <div class=\"input-group-text\">\n\n                <b-dropdown size=\"sm\" :text=\"searchMeasureLabel\" variant=\"link\">\n                  <b-dropdown-item-button @click=\"setSearchMeasureType(1)\">+-</b-dropdown-item-button>\n                  <b-dropdown-item-button @click=\"setSearchMeasureType(2)\">+</b-dropdown-item-button>\n                  <b-dropdown-item-button @click=\"setSearchMeasureType(3)\">-</b-dropdown-item-button>\n                </b-dropdown>\n\n\n              </div>\n\n            </template>\n\n          </t-input>\n\n        </b-col>\n\n        <!--        <b-col cols=\"3\" class=\"d-flex\">\n\n        &lt;!&ndash;          <t-button @click=\"enableAllFilters = !enableAllFilters\" outline-primary form-inline>\n                    <b-icon-plus/>\n                    Detalhes\n                  </t-button>&ndash;&gt;\n\n                  <t-button @click=\"executeSearchInput\" class=\"ml-3\" primary form-inline>\n                    <b-icon-search class=\"mr-1\" style=\"scale: 0.8\"></b-icon-search>\n                    Filtrar\n                  </t-button>\n\n\n                </b-col>-->\n\n\n      </b-row>\n\n      <b-row class=\"mb-3\" v-if=\"enableAllFilters\">\n\n        <b-col cols=\"12\" v-if=\"entityFieldCustomized('page').length > 0\">\n\n          <t-page-form-field-customized\n              ref=\"fieldsGeneral\"\n              @onPressEnter=\"executeSearchInput\"\n              only-search\n              big-search\n              :fields-customizable=\"entityFieldCustomized('page')\"\n              :foreign-key=\"22\" primary-key-column=\"productId\" foreign-key-column=\"pageId\"\n          />\n\n        </b-col>\n\n\n        <b-col cols=\"6\">\n\n          <b-row>\n\n            <t-input-search\n                cols=\"6\"\n                v-model=\"form.featureId\"\n                :options=\"featureOptions\"\n                select label=\"Característica\"/>\n\n\n            <t-input-search cols=\"6\"\n                            v-model=\"form.complementId\"\n                            :options=\"complementOptions\"\n                            select label=\"Acabamento\"/>\n\n\n          </b-row>\n\n\n        </b-col>\n\n        <b-col cols=\"6\">\n\n          <t-keyword v-model=\"form.keyword\"/>\n\n        </b-col>\n\n      </b-row>\n\n      <div style=\"overflow: hidden; position: relative; float: left; width: 100%\">\n\n\n        <t-table\n            @getPage=\"getPageSearchList\"\n            :show=\"checkViewListTableDefault()\"\n            :filtered=\"filtered\"\n            :busy=\"!pageListIsLoaded\"\n            :user-auth=\"userAuth\"\n            :items=\"request.content\"\n            :fields=\"viewFieldsPageProduct\"\n            :total-pages=\"request.totalPages\"\n            :total-elements=\"request.totalElements\"\n            :container-table-style=\"[{'min-height':'250px'}]\"\n            title-items=\"Produtos\"\n            link-primary-column=\"productCodeLabel\"\n            table-bordered\n            table-striped\n            disable-actions-column\n            primary-key-column=\"productId\">\n\n          <template #first-column=\"{item}\">\n            <b-link @click=\"selectItemList(item.productId)\">{{ item.productCodeLabel }}</b-link>\n          </template>\n\n          <template #item(name)=\"{item}\">\n            <div v-html=\"highlightMeasures(item.name)\"></div>\n          </template>\n\n          <template #item(firstFileName)=\"{item}\">\n\n            <t-button small v-if=\"item.firstFileName !== ''\" outline-light\n                      @click=\"openModalProductImages(item.productId)\">\n              <t-image-blob style=\"max-width: 50px;\"\n                            :src=\"'product/item-file/image/'+item.productId+'/'+item.firstFileId+'/?variant=thumbnail'\"\n                            class=\"align-self-center\"/>\n\n\n            </t-button>\n\n            <small v-else>-</small>\n\n          </template>\n\n\n          <template #item(qtyImagesGeneral)=\"{item}\">\n\n            <t-button small @click=\"openModalProductImages(item.productId)\">\n              <b-icon-camera/>\n            </t-button>\n\n          </template>\n\n\n        </t-table>\n\n      </div>\n\n    </b-modal>\n\n  </div>\n\n\n</template>\n<script>\n\nimport pageInputSearchListMixin from \"@/mixins/page/pageInputSearchListMixin\";\n\nimport productService from \"@/services/modules/product/Product.service\";\nimport groupProductService from \"@/services/modules/product/GroupProduct.service\"\nimport modelService from \"@/services/modules/product/Model.service\"\nimport complementService from \"@/services/modules/product/Complement.service\";\nimport featureService from \"@/services/modules/product/Feature.service\"\nimport groupCustomerService from \"@/services/modules/customer/GroupCustomer.service\";\nimport pageViewService from \"@/services/modules/setting/PageView.service\";\n\nimport ui from \"@/assets/scripts/ui\";\nimport unitService from \"@/services/modules/product/Unit.service\";\nimport ProductExclusiveType from \"@/model/types/modules/product/ProductExclusiveType\";\nimport TKeyword from \"@/components/template/form/input/t-keyword\";\nimport TGallery from \"@/components/template/page/t-gallery\";\nimport VarType from \"@/model/types/resource/VarType\";\nimport tImageBlob from \"@/components/template/theme/t-image-blob\";\n\n\nexport default {\n  name: 't-input-product-list',\n  mixins: [pageInputSearchListMixin],\n  components: {TKeyword, TGallery, tImageBlob},\n  data() {\n    return {\n      ProductExclusiveType,\n      path: \"product\", //Utilizar somente quando fora do padrão\n      id: \"modal-product-search\",\n      form: {\n        default: \"\",\n        groupProductId: 0,\n        name: \"\",\n        modelId: 0,\n        materialId: 0,\n        code: \"\",\n        typeExclusive: 0,\n        complementId: 0,\n        compoundId: 0,\n        featureId: 0,\n        unitId: 0,\n        customerId: 0,\n        customerGroupId: 0,\n        hasStock: '',\n        searchMeasureType: 1,\n        searchMeasureRange: 0.0,\n        keyword: [],//Sem o s para separar a busca do objeto do formulário\n      },\n      accountPrefix: \"\",\n      searchMeasureLabel: \"+-\",\n      galleryShow: false,\n      galleryImages: [],\n      viewFieldsPageProduct: [],\n      fieldsCustom: [],\n      groupProductOptions: [],\n      modelOptions: [],\n      unitOptions: [],\n      complementOptions: [],\n      featureOptions: [],\n      groupCustomerOptions: [],\n      measureTypeOptions: [{value: 1, text: '+-'}, {value: 2, text: '+'}, {value: 3, text: '-'}],\n      measureTextHighlight: [], //Textos das medidas personalizadas formatadas para destacar na listagem\n      fieldsCustomizable: [\n        {\n          entity: \"page\",\n          foreignKeyColumn: \"pageId\",\n          path: \"\",\n          fields: [],\n        },\n        {\n          entity: \"groupProduct\",\n          foreignKeyColumn: \"groupProductId\",\n          path: \"product/group-product\",\n          fields: [],\n        },\n        {\n          entity: \"model\",\n          foreignKeyColumn: \"modelId\",\n          path: \"product/model\",\n          fields: [],\n        }\n      ],\n    }\n  },\n\n  methods: {\n\n    mountedPrepare() {\n\n\n      this.accountPrefix = ui.getAccountPrefix()\n\n    },\n    async mountedContinued() {\n\n      //Campos da Listagem de Produtos (sempre pela página original, depois será verificado se há customização de campos)\n      /*SEMPRE IRÁ VERIFICAR SE HOUVE OVERRIDE, POR TANTO ENVIAR A PÁGINA ORIGINAL*/\n      await pageViewService.getViewFieldsByPage(22, true).then((response) => {\n        this.viewFieldsPageProduct = response\n      }).catch(error => this.responseError(error))\n\n      /* await settingParamService.getParamValueByTypeAndPosition(SettingType.type.TYPE_PRODUCT_SEARCH_MEASURE_RANGE_DEFAULT).then((value) => {\n         this.form.searchMeasureRange = value\n       }).catch(error => this.responseError(error))*/\n\n      await groupProductService.selectList(\"grouped\").then((list) => {\n        this.groupProductOptions = list\n      }).catch(error => this.responseError(error))\n\n\n      await complementService.selectList().then((list) => {\n        this.complementOptions = list\n      }).catch(error => this.responseError(error))\n\n\n      await featureService.selectList(\"grouped\").then((list) => {\n        this.featureOptions = list\n      }).catch(error => this.responseError(error))\n\n\n      await unitService.selectList().then((response) => {\n        this.unitOptions = response\n      }).catch(error => this.responseError(error))\n\n      await groupCustomerService.selectList().then((response) => {\n        this.groupCustomerOptions = response\n      }).catch(error => this.responseError(error))\n\n      await this.getFieldsCustomizableGeneralByPageId(22)\n      await this.getModelsByGroupProductId()\n\n      this.pageListIsLoaded = true\n\n\n    },\n\n    async executeAfterSearch() {\n\n      this.measureTextHighlight = []\n\n      if (this.entityFieldCustomized('groupProduct').length > 0) {\n\n        //Por enquanto implementado somente quando campos de Grupos e do tipo double\n        const fields = this.entityFieldCustomized('groupProduct')\n\n        for (const field of fields) {\n\n          if (field.var === VarType.type.DOUBLE) {\n\n            if (field.value > 0) {\n              this.measureTextHighlight.push(ui.convertNumber(field.value, field.decimalPrecision, \"pt-br\", true))\n            } else {\n              //Marca a posição não preenchida para replace correto e destaque conforme medida\n              this.measureTextHighlight.push(\"0\")\n            }\n\n          }\n        }\n\n      }\n\n    },\n    //--------------------------------------------------------------------------------------\n    //Início de métodos personalizados desta tela\n\n    highlightMeasures(text) {\n\n      let textHighLight = text\n      let measureTextFound = []\n\n      //Padrões aceitos:\n      //RET-0001 - 62,00 X 104,00 X 240,00 Cilindro Padrão\n      //13355455 - 62,00 - 104,00 - 240,00 Cilindro Padrão\n      //RET-0001 - 62,00 104,00 240,00 Cilindro Padrão\n      //RET-0001 62,00 104,00 240,00 Cilindro Padrão\n      //RET-0001 62,00/104,00/240,00 Cilindro Padrão\n      //RET-0001 62.00/104.00/240.00 Cilindro Padrão\n      //RET-0001 62.00/104.00/240.00 Cilindro Padrão\n\n      //Condição mímina é ter pelo menos 1 espaço e ter sido informada pelo menos 1 medida válida para pesquisa\n      if (text.indexOf(' ') > 0 && this.measureTextHighlight.length > 0) {\n\n        const measures = text.substring(text.indexOf(' '));\n        textHighLight = text.substring(0, text.indexOf(' ')) //Começa novamente com a primeira partte\n        let position = 0 //Posição da medida encontrada\n        const list = measures.split(' ')\n\n        for (let a of list) {\n\n          if ((a !== '' && a !== 'X' && a !== '/' && a !== '/') && (a.includes(',') || a.includes('.'))) {\n\n            textHighLight += '<span class=text-normal-position-' + position + '>' + a + '</span>' + ' '\n            position++\n            measureTextFound.push(a)\n\n          } else {\n            textHighLight += a + ' '\n          }\n\n          if (position > 0) {\n            //Medidas encontradas no texto\n\n            for (let i = 0; i < this.measureTextHighlight.length; i++) {\n\n              //Quantidade de medidas encontrass é igual ou superior a medida buscada\n              if (measureTextFound.length >= i) {\n\n                //Posição da medida encontrada com a posição da medida buscada são idênticas\n                if (measureTextFound[i] === this.measureTextHighlight[i]) {\n                  textHighLight = textHighLight.replace('text-normal-position-' + i, 'highlightSearched')\n                }\n\n              }\n\n            }\n\n          }\n\n        }\n      }\n\n      return textHighLight\n    },\n\n    openModalProductImages(id) {\n\n      productService.getImages(id).then((response) => {\n\n        this.galleryShow = true\n        this.galleryImages = response\n\n      }).catch(error => this.responseError(error))\n\n\n    }\n    ,\n\n    setSearchMeasureType(type) {\n\n      this.form.searchMeasureType = type\n\n      if (type === 1) {\n        this.searchMeasureLabel = \"+-\"\n      } else if (type === 2) {\n        this.searchMeasureLabel = \"+\"\n      } else {\n        this.searchMeasureLabel = \"-\"\n      }\n\n    }\n    ,\n\n\n    hasConditionalFields() {\n      return this.entityFieldCustomized('groupProduct').length > 0 || this.entityFieldCustomized('model').length > 0\n    }\n    ,\n\n\n    async getModelsByGroupProductId() {\n\n\n      if (this.form.groupProductId > 0) {\n\n        let params = new URLSearchParams()\n        params.set(\"status\", 1)\n        params.set(\"groupProductId\", this.form.groupProductId)\n\n        await modelService.selectList(params).then((list) => {\n          this.modelOptions = list\n        }).catch(error => this.responseError(error))\n\n      }\n\n    }\n    ,\n\n\n    async changeGroupProduct() {\n      this.form.modelId = 0 //Zera para poder consistir o valor\n      await this.getModelsByGroupProductId()\n      await this.getFieldsCustomizable('groupProduct')\n    }\n    ,\n\n    async changeModel() {\n      await this.getFieldsCustomizable('model')\n    }\n    ,\n\n\n    //--------------------------------------------------------------------------------------\n  },\n\n\n  async mounted() {\n\n    this.mountedPrepare()\n\n    await this.getPageSearchList(this.pageNumber, false)\n\n    await this.mountedContinued()\n\n  },\n\n}\n</script>","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./t-input-product-list.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./t-input-product-list.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./t-input-product-list.vue?vue&type=template&id=a0cd44ca&\"\nimport script from \"./t-input-product-list.vue?vue&type=script&lang=js&\"\nexport * from \"./t-input-product-list.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","<template>\n\n  <div>\n\n    <t-input-product-list v-if=\"mount\" :show=\"modalSearch\" :product-code-full=\"productCodeLabel\"\n                          @onClose=\"onModalSearchClose()\" @onSelected=\"onSelected\"/>\n\n\n    <div class=\"d-flex align-items-start\">\n\n      <t-input @focusin=\"searchFocusIn\" upper not-autocomplete @keyup.native=\"executeFastSearch\"\n               @focusout=\"searchFocusOut\" :add-error=\"addError\"\n               :form-status=\"status\" :form-command=\"command\" :required=\"required\" class-input=\"input-with-search\"\n               label=\"Produto\"\n               v-model=\"productCodeLabel\">\n\n        <template #input-group-append>\n\n          <div style=\"position: absolute; left: -2px; top: 35px; background-color: #8b1833\">\n\n            <div tabindex=\"-1\" :class=\"{'show':fastSearchList.length > 0}\"\n                 class=\"rm-pointers dropdown-menu dropdown-menu-left not-transform\" style=\"min-width: 200px;\">\n              <!--              <h6 tabindex=\"-1\" class=\"dropdown-header\">\n                              Busca\n                            </h6>-->\n              <button type=\"button\" v-for=\"(item,index) in fastSearchList\" :key=\"index\" tabindex=\"0\"\n                      @click=\"setFastSearchByIndex(index)\" :class=\"{'item-dropdown-select': index === fastSearchCursor}\"\n                      class=\"dropdown-item one-per-line\">\n\n\n                <div v-html=\"getDetailSearchList(item)\"></div>\n\n              </button>\n\n              <!--\n              <div tabindex=\"-1\" class=\"dropdown-divider\"></div>\n           <h6 tabindex=\"-1\" class=\"dropdown-header\">Últimas pesquisas</h6>\n              <button type=\"button\" tabindex=\"0\" class=\"dropdown-item active\">\n                Germany\n              </button>\n              <button type=\"button\" tabindex=\"0\" class=\"dropdown-item\">\n                Italy\n              </button>-->\n            </div>\n\n          </div>\n\n          <t-button icon-search outline-secondary\n                    v-if=\"command === 'insert' || command === 'update'\"\n                    @click=\"openModalSearch()\"/>\n        </template>\n\n      </t-input>\n\n      <b-col class=\"text-left\" v-if=\"!disableName\" style=\"margin-top: 22px;padding-right: 0px;\">\n\n        <div class=\"vs--disabled_label form-control\" style=\"margin-bottom: 8px; text-overflow: ellipsis; overflow: hidden; height: 33px !important\">\n          <span>{{ name }}</span>\n        </div>\n\n      </b-col>\n\n    </div>\n\n  </div>\n\n</template>\n<script>\nimport tInputProductList from \"@/components/template/form/finder/t-input-product-list\";\nimport productService from \"@/services/modules/product/Product.service\";\nimport ui from \"@/assets/scripts/ui\";\nimport functionsMixins from \"@/mixins/page/functionsMixins\";\nimport {crudGeneral} from \"@/services/resource/GeneralCRUD.service\";\n\nexport default {\n  name: 't-input-product',\n  components: {tInputProductList},\n  mixins: [functionsMixins],\n  data() {\n    return {\n      path: \"product\", //Utilizar somente quando fora do padrão\n      busy: false,\n      productId: 0,\n      productCodeLabel: \"\",\n      name: \"\",\n      enableFocusOutAction: true,\n      onSending: false,\n      mount: false,\n      modalSearch: false,\n      stopSearch: false,\n      fastSearchCursor: -1,//Posição do cursor\n      enableCloseFastSearch: true,//Trava fechamento da listagem para execução de alguma tarefa\n      fastSearchList: [],\n    }\n  },\n  props: {\n    value: {\n      type: null,\n      default: \"\"\n    },\n    disableName: Boolean,\n    addError: {\n      type: String,\n      default: \"\"\n    },\n    required: {/*ATENÇÃO PARA FUNCIONAR É NECESSÁRIO ENVIAR O STATUS E COMANDO*/\n      type: Boolean,\n      default: false\n    },\n    status: {\n      type: String,\n      default: \"\",\n    },\n    command: {\n      type: String,\n      default: \"insert\",\n    }\n  },\n  mounted() {\n    this.getProductResume(this.value)\n  },\n  methods: {\n\n    getDetailSearchList(item) {\n\n      return \"<div>\" + ui.highlightSearch(item.productCodeLabel, this.productCodeLabel) + \"</div><small>\" + ui.highlightSearch(item.name, this.productCodeLabel) + \"</small>\"\n\n    },\n\n    onModalSearchClose() {\n      this.modalSearch = false\n    },\n\n    onSelected(productId) {\n      this.onModalSearchClose()\n      this.$emit(\"input\", productId)\n    },\n\n    openModalSearch() {\n\n      document.activeElement.blur()\n\n      this.modalSearch = true\n\n      if (this.mount) {\n        this.$bvModal.show('modal-product-search')\n      } else {\n\n        this.mount = true\n\n        setTimeout(() => {\n          this.$bvModal.show('modal-product-search')\n        }, 200)\n\n      }\n\n    },\n\n    async getProductResume(productId) {\n\n      if (productId === 0) {\n        this.productCodeLabel = \"\"\n        this.name = \"\"\n      } else {\n\n        this.busy = true\n\n        await this.getResumeProduct('id', productId).then(() => {\n          this.setBlackout(false)\n        })\n\n      }\n\n    },\n\n    async setFastSearchByIndex(index) {\n\n\n      this.productCodeLabel = this.fastSearchList[index].productCodeLabel\n      this.enableFocusOutAction = false\n\n      await this.getProductId()\n\n      this.enableFocusOutAction = true\n\n\n    },\n\n    clearFastSearch() {\n      this.fastSearchCursor = -1\n      this.enableCloseFastSearch = true\n      this.fastSearchList = []\n    },\n\n    executeFastSearch(event) {\n\n      if (this.fastSearchList.length > 0 && !this.stopSearch) {\n\n        if (event.which === 27) {\n          //Parar de pesquisar e fechar\n\n          this.stopSearch = true\n          this.clearFastSearch()\n\n        } else if (event.which === 38) {\n          //Subir\n\n          this.fastSearchCursor--;\n\n          if (this.fastSearchCursor < 0) {\n            //Não inicializado e será o último\n            this.fastSearchCursor = this.fastSearchList.length - 1\n          }\n\n        } else if (event.which === 40) {\n          //Descer\n\n          this.fastSearchCursor++;\n\n          if (this.fastSearchCursor > (this.fastSearchList.length - 1)) {\n            //Não inicializado e será o último\n            this.fastSearchCursor = 0\n          }\n\n        } else if (event.which === 13) {\n\n          //Caso não selecionado, será subentendido o primeiro da lista\n          if (this.fastSearchCursor < 0)\n            this.fastSearchCursor = 0\n\n          this.productCodeLabel = this.fastSearchList[this.fastSearchCursor].productCodeLabel\n\n          setTimeout(() => {\n            document.activeElement.blur()\n          }, 50)\n\n\n        } else {\n          this.getFastSearchTop()\n        }\n\n      } else {\n        this.getFastSearchTop()\n      }\n\n    },\n\n    async getFastSearchTop() {\n\n      if (!this.stopSearch) {\n        if (this.productCodeLabel !== '') {\n\n          let params = new URLSearchParams()\n          params.set(\"default\", this.productCodeLabel)\n          params.set(\"top\", \"5\")\n\n          await crudGeneral.list(this.path + \"/resumeTop\", params)\n              .then(list => {\n                this.fastSearchList = list\n              })\n              .catch(error => {\n                console.log('Erro externo: ' + error)\n              })\n\n        } else {\n          this.clearFastSearch()\n        }\n      } else {\n\n        if (this.productCodeLabel === '') {\n          this.stopSearch = false\n          this.clearFastSearch()\n        }\n\n      }\n\n\n    },\n\n    searchFocusIn() {\n\n      //Desabilita o submit, caso existir para evitar que o produto ainda não tenha carregado ou esteja em alteração\n      this.setDisabledButtonSubmit(true)\n\n    },\n\n    async searchFocusOut() {\n\n      setTimeout(async () => {\n        this.stopSearch = false\n        this.clearFastSearch()\n\n        if (this.enableFocusOutAction) {\n          await this.getProductId()\n        }\n\n      }, 200)\n\n    },\n\n    async getProductId() {\n\n      if (this.productCodeLabel === '') {\n        this.productId = 0\n      } else {\n        await this.getResumeProduct('code', this.productCodeLabel)\n      }\n\n      this.$emit(\"input\", this.productId)\n\n      //Emite somente se for encontrado corretamente\n      if (this.productId > 0)\n        this.$emit(\"focusout\", this.productId)\n\n      //Saida do foco habilita novamente\n      setTimeout(() => {\n        //Tempo necessário para finalizar carregamento do produto\n        this.setDisabledButtonSubmit(false)\n      }, 500)\n\n    },\n\n    async getResumeProduct(type, param) {\n\n      await productService.getResume(type, param).then(resume => {\n\n        this.productId = resume.productId\n        this.productCodeLabel = resume.productCodeLabel\n        this.name = resume.name\n        this.busy = false\n\n        this.$emit(\"onResume\",resume)\n\n      }).catch(error => {\n\n        if (error.response) {\n          if (error.response.status === 500) {\n            ui.msg(this, 'Informação', error.response.data.message)\n          }\n        } else if (error !== '') {\n          ui.msg(this, \"Erro\", error)\n        }\n      })\n\n    }\n\n  },\n  watch: {\n    async value(v) {\n      await this.getProductResume(v)\n      this.$emit(\"change\", v)\n    },\n    /*modalSearch(v) {\n\n    }*/\n\n  },\n}\n</script>","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./t-input-product.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./t-input-product.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./t-input-product.vue?vue&type=template&id=56dca3d4&\"\nimport script from \"./t-input-product.vue?vue&type=script&lang=js&\"\nexport * from \"./t-input-product.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[(_vm.mount)?_c('t-input-code-label-list',{attrs:{\"show\":_vm.modalSearch,\"entity-page-id\":_vm.entityPageId,\"entity-path\":_vm.entityPath,\"code-label-key-column\":_vm.codeLabelKeyColumn,\"primary-key-column\":_vm.primaryKeyColumn,\"enable-import-model\":_vm.enableImportModel,\"add-search-params-default\":_vm.localAddSearchParamsDefault,\"title-items\":_vm.titleItems,\"type\":_vm.type,\"label\":_vm.label},on:{\"onClose\":function($event){return _vm.onModalSearchClose()},\"onSelected\":_vm.onSelected}}):_vm._e(),_c('div',{staticClass:\"d-flex align-items-start\"},[_c('t-input',{attrs:{\"upper\":\"\",\"not-autocomplete\":\"\",\"add-error\":_vm.addError,\"fixed\":_vm.localFixed,\"form-status\":_vm.status,\"form-command\":_vm.command,\"required\":_vm.required,\"class-input\":\"input-with-search\",\"label\":_vm.label,\"hide-label\":_vm.hideLabel},on:{\"focusin\":_vm.searchFocusIn,\"focusout\":_vm.searchFocusOut},nativeOn:{\"keyup\":function($event){return _vm.executeFastSearch.apply(null, arguments)}},scopedSlots:_vm._u([(!_vm.localFixed)?{key:\"input-group-append\",fn:function(){return [_c('div',{staticStyle:{\"position\":\"absolute\",\"left\":\"-2px\",\"top\":\"35px\",\"/*background-color\":\"#8b1833*/\"}},[_c('div',{staticClass:\"rm-pointers dropdown-menu dropdown-menu-left not-transform\",class:{'show':_vm.fastSearchList.length > 0},staticStyle:{\"min-width\":\"200px\"},attrs:{\"tabindex\":\"-1\"}},_vm._l((_vm.fastSearchList),function(item,index){return _c('button',{key:index,staticClass:\"dropdown-item one-per-line\",class:{'item-dropdown-select': index === _vm.fastSearchCursor},attrs:{\"type\":\"button\",\"tabindex\":\"0\"},on:{\"click\":function($event){return _vm.setFastSearchByIndex(index)}}},[_c('div',{domProps:{\"innerHTML\":_vm._s(_vm.getDetailSearchList(item))}})])}),0)]),(_vm.command === 'insert' || _vm.command === 'update')?_c('t-button',{attrs:{\"icon-search\":\"\",\"outline-secondary\":\"\"},on:{\"click\":function($event){return _vm.openModalSearch()}}}):_vm._e()]},proxy:true}:null],null,true),model:{value:(_vm.codeLabel),callback:function ($$v) {_vm.codeLabel=$$v},expression:\"codeLabel\"}}),(!_vm.disableName)?_c('b-col',{staticClass:\"text-left\",class:{'description-input-code-label-hide-label':_vm.hideLabel},staticStyle:{\"padding-right\":\"0px\",\"margin-top\":\"22px\"}},[_c('div',{staticClass:\"vs--disabled_label form-control\",staticStyle:{\"margin-bottom\":\"8px\",\"text-overflow\":\"ellipsis\",\"overflow\":\"hidden\",\"height\":\"33px !important\"}},[_c('span',[_vm._v(_vm._s(_vm.name))])])]):_vm._e()],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('t-dialog-import',{attrs:{\"type\":\"enterprise\",\"new-to\":'place-enterprise-form-new'},on:{\"onImported\":_vm.onDialogImported,\"onDuplicate\":_vm.openDialogDuplicate}}),(_vm.formDuplicateShow)?_c('t-dialog-duplicate',{attrs:{\"dialog-id\":\"modal-duplicate-enterprise\",\"origin\":_vm.formDuplicate.origin,\"path-server\":\"place/enterprise\",\"form-error\":_vm.formDuplicateError,\"title\":\"Empreendimento\"},on:{\"onSubmit\":_vm.onDuplicated},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar status = ref.status;\nreturn [_c('t-msg',{attrs:{\"info\":\"\"}},[_vm._v(\"Somente a estrutura de divisões, locais e ambientes serão duplicados.\")]),_c('t-input-code-label',{attrs:{\"required\":\"\",\"status\":status,\"command\":'insert',\"enterprise\":\"\"},model:{value:(_vm.formDuplicate.enterpriseId),callback:function ($$v) {_vm.$set(_vm.formDuplicate, \"enterpriseId\", $$v)},expression:\"formDuplicate.enterpriseId\"}}),_c('t-input',{attrs:{\"label\":\"Nome do novo Empreendimento\",\"status\":status,\"add-error\":_vm.formDuplicateError.name,\"required\":\"\"},model:{value:(_vm.formDuplicate.changeName),callback:function ($$v) {_vm.$set(_vm.formDuplicate, \"changeName\", $$v)},expression:\"formDuplicate.changeName\"}}),_c('b-form-checkbox',{staticClass:\"col-sm-12 ml-2 mb-3\",attrs:{\"switch\":\"\"},model:{value:(_vm.formDuplicate.enableCopyContentText),callback:function ($$v) {_vm.$set(_vm.formDuplicate, \"enableCopyContentText\", $$v)},expression:\"formDuplicate.enableCopyContentText\"}},[_vm._v(\" Habilitar duplicação de textos dos conteúdos? \"),_c('t-help',{attrs:{\"title\":\"Você poderá especificar se deseja copiar os dados contidos na aba 'Conteúdo'.\"}})],1),(_vm.formDuplicate.enableCopyContentText)?_c('b-form-checkbox',{staticClass:\"col-sm-12 ml-2 mb-3\",attrs:{\"switch\":\"\"},model:{value:(_vm.formDuplicate.enableCopyContentImage),callback:function ($$v) {_vm.$set(_vm.formDuplicate, \"enableCopyContentImage\", $$v)},expression:\"formDuplicate.enableCopyContentImage\"}},[_vm._v(\" Habilitar duplicação das imagens dos conteúdos? \"),_c('t-help',{attrs:{\"title\":\"Você poderá especificar se deseja copiar também as imagens dos conteúdos.\"}})],1):_vm._e()]}}],null,false,2847460316),model:{value:(_vm.formDuplicate),callback:function ($$v) {_vm.formDuplicate=$$v},expression:\"formDuplicate\"}}):_vm._e(),_c('b-modal',{ref:\"modal\",attrs:{\"size\":\"xl\",\"no-close-on-esc\":\"\",\"id\":_vm.id,\"no-close-on-backdrop\":\"\",\"title\":'Buscar ' + _vm.label,\"hide-footer\":\"\"},on:{\"hide\":function($event){return _vm.closeSearch()}}},[_c('b-row',[_c('t-input',{attrs:{\"cols\":\"3\",\"label\":'Cód. '+ _vm.label + ' / Descrição'},nativeOn:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.executeSearchInput.apply(null, arguments)}},model:{value:(_vm.form.default),callback:function ($$v) {_vm.$set(_vm.form, \"default\", $$v)},expression:\"form.default\"}}),(_vm.type === 'spotFolder' || _vm.type === 'environment' )?_c('t-input-code-label',{attrs:{\"enterprise\":\"\"},on:{\"change\":_vm.executeSearchInput},model:{value:(_vm.form.enterpriseId),callback:function ($$v) {_vm.$set(_vm.form, \"enterpriseId\", $$v)},expression:\"form.enterpriseId\"}}):_vm._e(),_c('b-col',{staticClass:\"d-flex\",attrs:{\"cols\":\"9\"}},[_c('t-button',{staticClass:\"ml-3\",attrs:{\"primary\":\"\",\"form-inline\":\"\"},on:{\"click\":_vm.executeSearchInput}},[_c('b-icon-search',{staticClass:\"mr-1\",staticStyle:{\"scale\":\"0.8\"}}),_vm._v(\" Filtrar \")],1),(_vm.enableImportModel)?_c('t-button',{staticClass:\"ml-3\",attrs:{\"form-inline\":\"\"},on:{\"click\":function($event){return _vm.openDialogForm('modal-import-enterprise')}}},[_c('b-icon-plus-circle',{staticClass:\"mr-1\",staticStyle:{\"scale\":\"0.8\"}}),_vm._v(\" Cadastrar Novo \")],1):_vm._e()],1)],1),_c('b-row',{staticClass:\"mb-3\"},[(_vm.entityFieldCustomized('page').length > 0)?_c('b-col',{attrs:{\"cols\":\"12\"}},[_c('t-page-form-field-customized',{ref:\"fieldsGeneral\",attrs:{\"only-search\":\"\",\"big-search\":\"\",\"fields-customizable\":_vm.entityFieldCustomized('page'),\"foreign-key\":_vm.entityPageId,\"primary-key-column\":_vm.primaryKeyColumn,\"foreign-key-column\":\"pageId\"},on:{\"onPressEnter\":_vm.executeSearchInput}})],1):_vm._e()],1),_c('div',{staticStyle:{\"overflow\":\"hidden\",\"position\":\"relative\",\"float\":\"left\",\"width\":\"100%\"}},[(_vm.type === 'environment' && _vm.form.enterpriseId === 0)?_c('t-msg',{attrs:{\"info\":\"\"}},[_vm._v(\"Selecione um empreendimento para listar os ambientes relacionados\")]):_c('t-table',{attrs:{\"show\":_vm.checkViewListTableDefault(),\"filtered\":_vm.filtered,\"busy\":!_vm.pageListIsLoaded,\"user-auth\":_vm.userAuth,\"items\":_vm.request.content,\"fields\":_vm.viewFieldsPageRelation,\"total-pages\":_vm.request.totalPages,\"total-elements\":_vm.request.totalElements,\"container-table-style\":[{'min-height':'250px'}],\"title-items\":_vm.titleItems,\"link-primary-column\":_vm.codeLabelKeyColumn,\"table-bordered\":\"\",\"table-striped\":\"\",\"disable-actions-column\":\"\",\"primary-key-column\":_vm.primaryKeyColumn},on:{\"getPage\":_vm.getPageSearchList},scopedSlots:_vm._u([{key:\"first-column\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('b-link',{on:{\"click\":function($event){return _vm.selectItemList(item[_vm.primaryKeyColumn])}}},[_vm._v(_vm._s(item[_vm.codeLabelKeyColumn]))])]}}])})],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\n  <div>\n\n    <t-dialog-import type=\"enterprise\"\n                     @onImported=\"onDialogImported\"\n                     @onDuplicate=\"openDialogDuplicate\"\n                     :new-to=\"'place-enterprise-form-new'\"/>\n\n\n    <t-dialog-duplicate dialog-id=\"modal-duplicate-enterprise\" v-if=\"formDuplicateShow\" :origin=\"formDuplicate.origin\"\n                        path-server=\"place/enterprise\" :form-error=\"formDuplicateError\" v-model=\"formDuplicate\"\n                        title=\"Empreendimento\" @onSubmit=\"onDuplicated\">\n\n      <template #default=\"{status}\">\n\n        <t-msg info>Somente a estrutura de divisões, locais e ambientes serão duplicados.</t-msg>\n\n        <t-input-code-label required :status=\"status\"\n                            :command=\"'insert'\" enterprise v-model=\"formDuplicate.enterpriseId\"/>\n\n        <t-input label=\"Nome do novo Empreendimento\" :status=\"status\" :add-error=\"formDuplicateError.name\"\n                 v-model=\"formDuplicate.changeName\" required/>\n\n\n        <b-form-checkbox class=\"col-sm-12 ml-2 mb-3\" v-model=\"formDuplicate.enableCopyContentText\" switch>\n          Habilitar duplicação de textos dos conteúdos?\n          <t-help\n              title=\"Você poderá especificar se deseja copiar os dados contidos na aba 'Conteúdo'.\"/>\n        </b-form-checkbox>\n\n        <b-form-checkbox class=\"col-sm-12 ml-2 mb-3\" v-if=\"formDuplicate.enableCopyContentText\"\n                         v-model=\"formDuplicate.enableCopyContentImage\" switch>\n          Habilitar duplicação das imagens dos conteúdos?\n          <t-help\n              title=\"Você poderá especificar se deseja copiar também as imagens dos conteúdos.\"/>\n        </b-form-checkbox>\n\n\n      </template>\n\n    </t-dialog-duplicate>\n\n\n    <b-modal size=\"xl\" @hide=\"closeSearch()\" ref=\"modal\" no-close-on-esc :id=\"id\"\n             no-close-on-backdrop\n             :title=\"'Buscar ' + label\" hide-footer>\n\n      <b-row>\n\n        <t-input cols=\"3\" v-model=\"form.default\" :label=\"'Cód. '+ label + ' / Descrição'\"\n                 @keyup.enter.native=\"executeSearchInput\"/>\n\n        <t-input-code-label v-if=\"type === 'spotFolder' || type === 'environment' \" enterprise\n                            @change=\"executeSearchInput\"\n                            v-model=\"form.enterpriseId\"/>\n\n\n        <b-col cols=\"9\" class=\"d-flex\">\n\n          <t-button @click=\"executeSearchInput\" class=\"ml-3\" primary form-inline>\n            <b-icon-search class=\"mr-1\" style=\"scale: 0.8\"></b-icon-search>\n            Filtrar\n          </t-button>\n\n          <t-button v-if=\"enableImportModel\" @click=\"openDialogForm('modal-import-enterprise')\" class=\"ml-3\" form-inline>\n            <b-icon-plus-circle class=\"mr-1\" style=\"scale: 0.8\"></b-icon-plus-circle>\n            Cadastrar Novo\n          </t-button>\n\n        </b-col>\n\n\n      </b-row>\n\n      <b-row class=\"mb-3\">\n\n        <b-col cols=\"12\" v-if=\"entityFieldCustomized('page').length > 0\">\n\n          <t-page-form-field-customized\n              ref=\"fieldsGeneral\"\n              @onPressEnter=\"executeSearchInput\"\n              only-search\n              big-search\n              :fields-customizable=\"entityFieldCustomized('page')\"\n              :foreign-key=\"entityPageId\" :primary-key-column=\"primaryKeyColumn\" foreign-key-column=\"pageId\"\n          />\n\n        </b-col>\n\n      </b-row>\n\n      <div style=\"overflow: hidden; position: relative; float: left; width: 100%\">\n\n        <t-msg info v-if=\"type === 'environment' && form.enterpriseId === 0\">Selecione um empreendimento para listar os ambientes relacionados</t-msg>\n\n        <t-table\n            v-else\n            @getPage=\"getPageSearchList\"\n            :show=\"checkViewListTableDefault()\"\n            :filtered=\"filtered\"\n            :busy=\"!pageListIsLoaded\"\n            :user-auth=\"userAuth\"\n            :items=\"request.content\"\n            :fields=\"viewFieldsPageRelation\"\n            :total-pages=\"request.totalPages\"\n            :total-elements=\"request.totalElements\"\n            :container-table-style=\"[{'min-height':'250px'}]\"\n            :title-items=\"titleItems\"\n            :link-primary-column=\"codeLabelKeyColumn\"\n            table-bordered\n            table-striped\n            disable-actions-column\n            :primary-key-column=\"primaryKeyColumn\">\n\n          <template #first-column=\"{item}\">\n            <b-link @click=\"selectItemList(item[primaryKeyColumn])\">{{ item[codeLabelKeyColumn] }}</b-link>\n          </template>\n\n\n        </t-table>\n\n      </div>\n\n    </b-modal>\n\n  </div>\n\n</template>\n<script>\nimport pageInputSearchListMixin from \"@/mixins/page/pageInputSearchListMixin\";\nimport pageViewService from \"@/services/modules/setting/PageView.service\";\n\nimport ProductExclusiveType from \"@/model/types/modules/product/ProductExclusiveType\";\nimport TDialogDuplicate from \"@/components/template/dialog/t-dialog-duplicate\";\nimport TDialogImport from \"@/components/template/dialog/t-dialog-import\";\n\nexport default {\n  name: 't-input-code-label-list',\n  mixins: [pageInputSearchListMixin],\n  components: {TDialogDuplicate, TDialogImport},\n  data() {\n    return {\n      ProductExclusiveType,\n      path: \"\", //Utilizando conforme vindo entityPath\n      id: \"modal-code-label-search\",\n      form: {\n        default: \"\",\n        enterpriseId: 0,\n        status: 1,\n\n      },\n      viewFieldsPageRelation: [],\n      fieldsCustom: [],\n      fieldsCustomizable: [\n        {\n          entity: \"page\",\n          foreignKeyColumn: \"pageId\",\n          path: \"\",\n          fields: [],\n        },\n      ],\n      formDuplicateShow: false,\n      formDuplicate: {\n        enterpriseId: 0,\n        origin: \"\",\n        changeName: \"\",\n        enableCopyContentText: true,\n        enableCopyContentImage: true,\n      },\n      formDuplicateError: {\n        name: \"\",\n      },\n    }\n  },\n\n  props: {\n    entityPageId: Number,\n    entityPath: String,\n    codeLabelKeyColumn: String,\n    primaryKeyColumn: String,\n    label: String,\n    enableImportModel: Boolean,\n    addSearchParamsDefault: {\n      type: Array,\n      default: () => [], // Usar uma função para garantir que cada instância receba um novo array\n    },\n    titleItems: String,\n    type: {\n      type: String,\n      default: \"\",\n    },\n  },\n\n  methods: {\n\n    mountedPrepare() {\n\n      this.searchParams.append(\"status\",\"1\")\n\n      this.path = this.entityPath\n      this.id += '-' + this.codeLabelKeyColumn\n\n      if(this.addSearchParamsDefault.length > 0){\n\n        this.addSearchParamsDefault.forEach(paramObj => {\n          Object.entries(paramObj).forEach(([key, value]) => {\n            this.searchParams.append(key,value)\n          })\n        });\n\n      }\n\n    },\n    async mountedContinued() {\n\n      //Campos da Listagem de Produtos (sempre pela página original, depois será verificado se há customização de campos)\n      /*SEMPRE IRÁ VERIFICAR SE HOUVE OVERRIDE, POR TANTO ENVIAR A PÁGINA ORIGINAL*/\n      await pageViewService.getViewFieldsByPage(this.entityPageId, true).then((response) => {\n        this.viewFieldsPageRelation = response\n      }).catch(error => this.responseError(error))\n\n\n      await this.getFieldsCustomizableGeneralByPageId(this.entityPageId)\n\n      this.pageListIsLoaded = true\n\n    },\n\n    async executeAfterSearch() {\n\n\n    },\n    //--------------------------------------------------------------------------------------\n    //Início de métodos personalizados desta tela\n    openDialogDuplicate(enterpriseId, origin) {\n\n      this.formDuplicateShow = true\n      this.formDuplicate.enterpriseId = enterpriseId\n      this.formDuplicate.origin = origin\n      this.formDuplicate.changeName = \"\"\n\n      this.openDialogForm('modal-duplicate-enterprise')\n\n    },\n\n    onDuplicated(item) {\n      this.formDuplicate.changeName = \"\"\n      this.$bvModal.hide('modal-duplicate-enterprise')\n      this.selectItemList(item.enterpriseId)\n    },\n    onDialogImported(item) {\n      this.$bvModal.hide('modal-import-models')\n      this.$bvModal.hide('modal-import-enterprise')\n      this.selectItemList(item.enterpriseId)\n    },\n\n    //--------------------------------------------------------------------------------------\n  },\n\n\n  async mounted() {\n\n    this.mountedPrepare()\n\n    if((this.type === 'environment' && this.form.enterpriseId > 0) || (this.type !== 'environment')){\n      await this.getPageSearchList(this.pageNumber, false)\n    }\n\n    await this.mountedContinued()\n\n  },\n\n}\n</script>","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./t-input-code-label-list.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./t-input-code-label-list.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./t-input-code-label-list.vue?vue&type=template&id=5c4c2aaa&\"\nimport script from \"./t-input-code-label-list.vue?vue&type=script&lang=js&\"\nexport * from \"./t-input-code-label-list.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","import pageDefaultMixin from \"@/mixins/page/pageDefaultMixin\";\r\nimport pageListMixin from \"@/mixins/page/pageListMixin\";\r\nimport {crudGeneral} from \"@/services/resource/GeneralCRUD.service\"\r\nimport ui from \"@/assets/scripts/ui\";\r\n\r\nexport default {\r\n    mixins: [pageDefaultMixin, pageListMixin],\r\n    data() {\r\n        return {\r\n            path: \"\",\r\n            busy: false,\r\n            exportId: 0,\r\n            codeLabel: \"\",\r\n            name: \"\",\r\n            enableFocusOutAction: true,\r\n            onSending: false,\r\n            mount: false,\r\n            modalSearch: false,\r\n            stopSearch: false,\r\n            fastSearchCursor: -1,//Posição do cursor\r\n            enableCloseFastSearch: true,//Trava fechamento da listagem para execução de alguma tarefa\r\n            fastSearchList: [],\r\n            modalId: \"\",\r\n            primaryKeyColumn: \"\",\r\n            codeLabelKeyColumn: \"\",\r\n            localFixed: false,\r\n        }\r\n    },\r\n    props: {\r\n        value: {\r\n            type: null,\r\n            default: \"\"\r\n        },\r\n        disableName: Boolean,\r\n        addError: {\r\n            type: String,\r\n            default: \"\"\r\n        },\r\n        required: {/*ATENÇÃO PARA FUNCIONAR É NECESSÁRIO ENVIAR O STATUS E COMANDO*/\r\n            type: Boolean,\r\n            default: false\r\n        },\r\n        status: {\r\n            type: String,\r\n            default: \"\",\r\n        },\r\n        fixed: Boolean,\r\n        command: {\r\n            type: String,\r\n            default: \"insert\",\r\n        }\r\n    },\r\n    mounted() {\r\n\r\n        this.getResume(this.value)\r\n        this.setFixed()\r\n\r\n    },\r\n    methods: {\r\n\r\n        setFixed() {\r\n\r\n            this.localFixed = this.fixed\r\n\r\n            if (this.command === 'delete' || this.command === 'view') {\r\n                this.localFixed = true\r\n            }\r\n\r\n        },\r\n\r\n        getDetailSearchList(item) {\r\n\r\n            return \"<div>\" + ui.highlightSearch(item[this.codeLabelKeyColumn], this.codeLabel) + \"</div><small>\" + ui.highlightSearch(item.name, this.codeLabel) + \"</small>\"\r\n\r\n        },\r\n\r\n        onModalSearchClose() {\r\n            this.modalSearch = false\r\n        },\r\n\r\n        onSelected(exportId) {\r\n            this.onModalSearchClose()\r\n            this.$emit(\"input\", exportId)\r\n        },\r\n\r\n        openModalSearch() {\r\n\r\n            document.activeElement.blur()\r\n\r\n            this.modalSearch = true\r\n\r\n            if (this.mount) {\r\n                this.$bvModal.show(this.modalId)\r\n            } else {\r\n\r\n                this.mount = true\r\n\r\n                setTimeout(() => {\r\n                    this.$bvModal.show(this.modalId)\r\n                }, 200)\r\n\r\n            }\r\n\r\n        },\r\n\r\n\r\n        async setFastSearchByIndex(index) {\r\n\r\n            this.codeLabel = this.fastSearchList[index][this.codeLabelKeyColumn]\r\n            this.enableFocusOutAction = false\r\n\r\n            await this.getExportId()\r\n\r\n            this.enableFocusOutAction = true\r\n\r\n\r\n        },\r\n\r\n        clearFastSearch() {\r\n            this.fastSearchCursor = -1\r\n            this.enableCloseFastSearch = true\r\n            this.fastSearchList = []\r\n        },\r\n\r\n        executeFastSearch(event) {\r\n\r\n            if (this.fastSearchList.length > 0 && !this.stopSearch) {\r\n\r\n                if (event.which === 27) {\r\n                    //Parar de pesquisar e fechar\r\n\r\n                    this.stopSearch = true\r\n                    this.clearFastSearch()\r\n\r\n                } else if (event.which === 38) {\r\n                    //Subir\r\n\r\n                    this.fastSearchCursor--;\r\n\r\n                    if (this.fastSearchCursor < 0) {\r\n                        //Não inicializado e será o último\r\n                        this.fastSearchCursor = this.fastSearchList.length - 1\r\n                    }\r\n\r\n                } else if (event.which === 40) {\r\n                    //Descer\r\n\r\n                    this.fastSearchCursor++;\r\n\r\n                    if (this.fastSearchCursor > (this.fastSearchList.length - 1)) {\r\n                        //Não inicializado e será o último\r\n                        this.fastSearchCursor = 0\r\n                    }\r\n\r\n                } else if (event.which === 13) {\r\n\r\n                    //Caso não selecionado, será subentendido o primeiro da lista\r\n                    if (this.fastSearchCursor < 0)\r\n                        this.fastSearchCursor = 0\r\n\r\n                    this.codeLabel = this.fastSearchList[this.fastSearchCursor][this.codeLabelKeyColumn]\r\n\r\n                    setTimeout(() => {\r\n                        document.activeElement.blur()\r\n                    }, 50)\r\n\r\n\r\n                } else {\r\n                    this.getFastSearchTop()\r\n                }\r\n\r\n            } else {\r\n                this.getFastSearchTop()\r\n            }\r\n\r\n        },\r\n\r\n        async getFastSearchTop() {\r\n\r\n            if (!this.stopSearch) {\r\n                if (this.codeLabel !== '') {\r\n\r\n                    let params = new URLSearchParams()\r\n                    params.set(\"default\", this.codeLabel)\r\n                    params.set(\"top\", \"5\")\r\n\r\n                    await crudGeneral.list(this.path + \"/resumeTop\", params)\r\n                        .then(list => {\r\n                            this.fastSearchList = list\r\n                        })\r\n                        .catch(error => {\r\n                            console.log('Erro externo: ' + error)\r\n                        })\r\n\r\n                } else {\r\n                    this.clearFastSearch()\r\n                }\r\n            } else {\r\n\r\n                if (this.codeLabel === '') {\r\n                    this.stopSearch = false\r\n                    this.clearFastSearch()\r\n                }\r\n\r\n            }\r\n\r\n\r\n        },\r\n\r\n        searchFocusIn() {\r\n\r\n            //Desabilita o submit, caso existir para evitar que o produto ainda não tenha carregado ou esteja em alteração\r\n            this.setDisabledButtonSubmit(true)\r\n\r\n        },\r\n\r\n        async searchFocusOut() {\r\n\r\n            setTimeout(async () => {\r\n                this.stopSearch = false\r\n                this.clearFastSearch()\r\n\r\n                if (this.enableFocusOutAction) {\r\n                    await this.getExportId()\r\n                }\r\n\r\n            }, 200)\r\n\r\n        },\r\n\r\n        async getExportId() {\r\n\r\n            if (this.codeLabel === '') {\r\n                this.exportId = 0\r\n            } else {\r\n                await this.getResumeCodeLabel('code', this.codeLabel)\r\n            }\r\n\r\n            this.$emit(\"input\", this.exportId)\r\n\r\n            //Emite somente se for encontrado corretamente\r\n            if (this.exportId > 0)\r\n                this.$emit(\"focusout\", this.exportId)\r\n\r\n            //Saida do foco habilita novamente\r\n            setTimeout(() => {\r\n                //Tempo necessário para finalizar carregamento do produto\r\n                this.setDisabledButtonSubmit(false)\r\n            }, 500)\r\n\r\n        },\r\n\r\n        async getResumeCodeLabel(type, param) {\r\n\r\n            await crudGeneral.getResume(this.path, type, param, false).then(resume => {\r\n\r\n                this.exportId = resume[this.primaryKeyColumn]\r\n                this.codeLabel = resume[this.codeLabelKeyColumn]\r\n                this.name = resume.name\r\n                this.busy = false\r\n                this.$emit(\"onResume\", resume)\r\n\r\n            }).catch(error => {\r\n\r\n                if (error.response) {\r\n                    if (error.response.status === 500) {\r\n                        ui.msg(this, 'Informação', error.response.data.message)\r\n                    }\r\n                } else if (error !== '') {\r\n                    ui.msg(this, \"Erro\", error)\r\n                }\r\n            })\r\n\r\n        }\r\n\r\n\r\n    },\r\n    watch: {\r\n        fixed(v) {\r\n            this.localFixed = v\r\n            this.setFixed()\r\n        },\r\n        command() {\r\n            this.setFixed()\r\n        },\r\n\r\n    },\r\n}\r\n\r\n\r\n","<template>\n\n  <div>\n\n    <t-input-code-label-list\n        v-if=\"mount\" :show=\"modalSearch\"\n        :entity-page-id=\"entityPageId\"\n        :entity-path=\"entityPath\"\n        :code-label-key-column=\"codeLabelKeyColumn\"\n        :primary-key-column=\"primaryKeyColumn\"\n        :enable-import-model=\"enableImportModel\"\n        :add-search-params-default=\"localAddSearchParamsDefault\"\n        :title-items=\"titleItems\"\n        :type=\"type\"\n        :label=\"label\"\n        @onClose=\"onModalSearchClose()\" @onSelected=\"onSelected\"/>\n\n    <div class=\"d-flex align-items-start\">\n\n      <t-input @focusin=\"searchFocusIn\" upper not-autocomplete @keyup.native=\"executeFastSearch\"\n               @focusout=\"searchFocusOut\" :add-error=\"addError\"\n               :fixed=\"localFixed\"\n               :form-status=\"status\" :form-command=\"command\" :required=\"required\" class-input=\"input-with-search\"\n               :label=\"label\"\n               :hide-label=\"hideLabel\"\n               v-model=\"codeLabel\">\n\n        <template #input-group-append v-if=\"!localFixed\">\n\n          <div style=\"position: absolute; left: -2px; top: 35px; /*background-color: #8b1833*/\">\n\n            <div tabindex=\"-1\" :class=\"{'show':fastSearchList.length > 0}\"\n                 class=\"rm-pointers dropdown-menu dropdown-menu-left not-transform\" style=\"min-width: 200px;\">\n\n              <button type=\"button\" v-for=\"(item,index) in fastSearchList\" :key=\"index\" tabindex=\"0\"\n                      @click=\"setFastSearchByIndex(index)\" :class=\"{'item-dropdown-select': index === fastSearchCursor}\"\n                      class=\"dropdown-item one-per-line\">\n\n\n                <div v-html=\"getDetailSearchList(item)\"></div>\n\n              </button>\n\n            </div>\n\n          </div>\n\n          <t-button icon-search outline-secondary\n                    v-if=\"command === 'insert' || command === 'update'\"\n                    @click=\"openModalSearch()\"/>\n        </template>\n\n      </t-input>\n\n\n      <b-col class=\"text-left\" v-if=\"!disableName\" style=\"padding-right: 0px;margin-top: 22px\"\n             :class=\"{'description-input-code-label-hide-label':hideLabel}\">\n\n        <div class=\"vs--disabled_label form-control\"\n             style=\"margin-bottom: 8px; text-overflow: ellipsis; overflow: hidden; height: 33px !important\">\n          <span>{{ name }}</span>\n        </div>\n\n      </b-col>\n\n    </div>\n\n  </div>\n\n</template>\n<script>\nimport tInputCodeLabelList from \"@/components/template/form/finder/t-input-code-label-list\";\nimport pageInputSearchInputMixin from \"@/mixins/page/pageInputSearchInputMixin\";\n\nexport default {\n  name: 't-input-code-label',\n  components: {tInputCodeLabelList},\n  mixins: [pageInputSearchInputMixin],\n  data() {\n    return {\n      modalId: \"modal-code-label-search\",//Será complementado com a coluna codeLabel para diferenciar quando usado vários na mesma tela\n      entityPageId: 0, //Pagina original sem override de acordo com o tipo informado\n      entityPath: \"\",\n      label: \"\",\n      titleItems: \"\",\n      type: \"\",\n      localAddSearchParamsDefault: [],\n    }\n  },\n  props: {\n    /*Tipos disponíveis para o campo code-label padrão*/\n    model: Boolean,\n    material: Boolean,\n    compound: Boolean,\n    machine: Boolean,\n    rawMaterial: Boolean,\n    instrument: Boolean,\n    component: Boolean,\n    enterprise: Boolean,\n    spotFolder: Boolean,\n    environment: Boolean,\n    occurrence: Boolean,\n    inspector: Boolean,\n    typePathology: Boolean,\n    typeBuildingMaterial: Boolean,\n    typeEquipment: Boolean,\n    typeChecklistItem: Boolean,\n    enableImportModel: Boolean,\n    lot: Boolean,\n    addSearchParamsDefault: {\n      type: Array,\n      default: () => [], // Usar uma função para garantir que cada instância receba um novo array\n    },\n    hideLabel: {\n      type: Boolean,\n      default: false,\n    },\n  },\n  mounted() {\n\n    /*ATENÇÃO POR CONSISTÊNCIA O USUÁRIO DEVERÁ TER PELO MENOS A VALIDAÇÃO DE ACESSO GERAL A PÁGINA, POIS NA PRÁTICA AS MESMAS INFORMAÇÕES EXIBIDAS SÃO LISTADAS*/\n\n\n    this.localAddSearchParamsDefault = this.addSearchParamsDefault\n\n    if (this.model) {\n      this.entityPageId = 8\n      this.primaryKeyColumn = \"modelId\"\n      this.codeLabelKeyColumn = \"modelCodeLabel\"\n      this.entityPath = \"product/model\"\n      this.label = \"Modelo\"\n      this.titleItems = \"Modelos\"\n      this.type = \"model\"\n    } else if (this.material) {\n      this.entityPageId = 136\n      this.primaryKeyColumn = \"materialId\"\n      this.codeLabelKeyColumn = \"materialCodeLabel\"\n      this.entityPath = \"product/material\"\n      this.label = \"Material\"\n      this.titleItems = \"Materiais\"\n      this.type = \"material\"\n    } else if (this.compound) {\n      this.entityPageId = 134\n      this.primaryKeyColumn = \"compoundId\"\n      this.codeLabelKeyColumn = \"compoundCodeLabel\"\n      this.entityPath = \"product/compound\"\n      this.label = \"Composto\"\n      this.titleItems = \"Compostos\"\n      this.type = \"compound\"\n    } else if (this.machine) {\n      this.entityPageId = 55\n      this.primaryKeyColumn = \"machineId\"\n      this.codeLabelKeyColumn = \"machineCodeLabel\"\n      this.entityPath = \"production/machine\"\n      this.label = \"Máquina\"\n      this.titleItems = \"Máquinas\"\n      this.type = \"machine\"\n    } else if (this.rawMaterial) {\n      this.entityPageId = 20\n      this.primaryKeyColumn = \"rawMaterialId\"\n      this.codeLabelKeyColumn = \"rawMaterialCodeLabel\"\n      this.entityPath = \"product/raw-material\"\n      this.label = \"Matéria-Prima\"\n      this.titleItems = \"Matérias-Prima\"\n      this.type = \"rawMaterial\"\n    } else if (this.instrument) {\n      this.entityPageId = 165\n      this.primaryKeyColumn = \"instrumentId\"\n      this.codeLabelKeyColumn = \"instrumentCodeLabel\"\n      this.entityPath = \"production/instrument\"\n      this.label = \"Instrumento\"\n      this.titleItems = \"Instrumentos\"\n      this.type = \"instrument\"\n    } else if (this.component) {\n      this.entityPageId = 52\n      this.primaryKeyColumn = \"componentId\"\n      this.codeLabelKeyColumn = \"componentCodeLabel\"\n      this.entityPath = \"product/component\"\n      this.label = \"Componente\"\n      this.titleItems = \"Componentes\"\n      this.type = \"component\"\n    } else if (this.enterprise) {\n      this.entityPageId = 192\n      this.primaryKeyColumn = \"enterpriseId\"\n      this.codeLabelKeyColumn = \"enterpriseCodeLabel\"\n      this.entityPath = \"place/enterprise\"\n      this.label = \"Empreendimento\"\n      this.titleItems = \"Empreendimentos\"\n      this.type = \"enterprise\"\n      this.localAddSearchParamsDefault.push({'modelEnterprise': 'false'})\n    } else if (this.spotFolder) {\n      this.entityPageId = 196\n      this.primaryKeyColumn = \"spotFolderId\"\n      this.codeLabelKeyColumn = \"spotFolderCodeLabel\"\n      this.entityPath = \"place/spot-folder\"\n      this.label = \"Pavimento\"\n      this.titleItems = \"Pavimentos\"\n      this.type = \"spotFolder\"\n    } else if (this.environment) {\n      this.entityPageId = 197\n      this.primaryKeyColumn = \"environmentId\"\n      this.codeLabelKeyColumn = \"environmentCodeLabel\"\n      this.entityPath = \"place/environment\"\n      this.label = \"Ambiente\"\n      this.titleItems = \"ambientes\"\n      this.type = \"environment\"\n    } else if (this.occurrence) {\n      this.entityPageId = 211\n      this.primaryKeyColumn = \"occurrenceId\"\n      this.codeLabelKeyColumn = \"occurrenceCodeLabel\"\n      this.entityPath = \"checklist/occurrence\"\n      this.label = \"Apontamento\"\n      this.titleItems = \"apontamentos\"\n      this.type = \"occurrence\"\n    } else if (this.inspector) {\n      this.entityPageId = 195\n      this.primaryKeyColumn = \"inspectorId\"\n      this.codeLabelKeyColumn = \"inspectorCodeLabel\"\n      this.entityPath = \"agent/inspector\"\n      this.label = \"Vistoriador\"\n      this.titleItems = \"Vistoriadores\"\n      this.type = \"inspector\"\n    } else if (this.typeChecklistItem) {\n      this.entityPageId = 189\n      this.primaryKeyColumn = \"typeChecklistItemId\"\n      this.codeLabelKeyColumn = \"typeChecklistItemCodeLabel\"\n      this.entityPath = \"checklist/type-item\"\n      this.label = \"Item\"\n      this.titleItems = \"Itens\"\n      this.type = \"typeChecklistItem\"\n    } else if (this.typePathology) {\n      this.entityPageId = 190\n      this.primaryKeyColumn = \"typePathologyId\"\n      this.codeLabelKeyColumn = \"typePathologyCodeLabel\"\n      this.entityPath = \"checklist/type-pathology\"\n      this.label = \"Patologia\"\n      this.titleItems = \"Patologias\"\n      this.type = \"typePathology\"\n    } else if (this.typeBuildingMaterial) {\n      this.entityPageId = 267\n      this.primaryKeyColumn = \"typeBuildingMaterialId\"\n      this.codeLabelKeyColumn = \"typeBuildingMaterialCodeLabel\"\n      this.entityPath = \"product/type-building-material\"\n      this.label = \"Material\"\n      this.titleItems = \"Materiais\"\n      this.type = \"typeBuildingMaterial\"\n    } else if (this.typeEquipment) {\n      this.entityPageId = 268\n      this.primaryKeyColumn = \"typeEquipmentId\"\n      this.codeLabelKeyColumn = \"typeEquipmentCodeLabel\"\n      this.entityPath = \"product/type-equipment\"\n      this.label = \"Equipamento\"\n      this.titleItems = \"Equipamentos\"\n      this.type = \"typeEquipment\"\n    } else if (this.lot) {\n      this.entityPageId = 104\n      this.primaryKeyColumn = \"lotId\"\n      this.codeLabelKeyColumn = \"lotCodeLabel\"\n      this.entityPath = \"production/lot\"\n      this.label = \"Lote\"\n      this.titleItems = \"Lotes\"\n      this.type = \"lot\"\n    }\n\n    this.modalId += '-' + this.codeLabelKeyColumn\n    this.path = this.entityPath\n\n  },\n  methods: {\n\n    async getResume(exportId) {\n\n      if (exportId === 0) {\n        this.codeLabel = \"\"\n        this.name = \"\"\n      } else {\n\n        this.busy = true\n\n        setTimeout(async () => {\n\n          await this.getResumeCodeLabel('id', exportId).then(() => {\n            this.setBlackout(false)\n          })\n\n        }, 100)\n\n      }\n\n    },\n\n  },\n  watch: {\n    async value(v) {\n      await this.getResume(v)\n      this.$emit(\"change\", v)\n    },\n  },\n\n}\n</script>","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./t-input-code-label.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./t-input-code-label.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./t-input-code-label.vue?vue&type=template&id=7850aea5&\"\nimport script from \"./t-input-code-label.vue?vue&type=script&lang=js&\"\nexport * from \"./t-input-code-label.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[(_vm.mount)?_c('t-input-person-list',{attrs:{\"show\":_vm.modalSearch,\"entity-person-type\":_vm.entityPersonType,\"product-code-full\":_vm.codeLabel},on:{\"onClose\":function($event){return _vm.onModalSearchClose()},\"onSelected\":_vm.onSelected}}):_vm._e(),_c('div',{staticClass:\"d-flex align-items-start\"},[_c('t-input',{attrs:{\"upper\":\"\",\"not-autocomplete\":\"\",\"fixed\":_vm.localFixed,\"form-status\":_vm.status,\"form-command\":_vm.command,\"required\":_vm.required,\"class-input\":\"input-with-search\",\"label\":_vm.text},on:{\"focusin\":_vm.searchFocusIn,\"focusout\":_vm.searchFocusOut},nativeOn:{\"keyup\":function($event){return _vm.executeFastSearch.apply(null, arguments)}},scopedSlots:_vm._u([(!_vm.localFixed)?{key:\"input-group-append\",fn:function(){return [_c('div',{staticStyle:{\"position\":\"absolute\",\"left\":\"-2px\",\"top\":\"35px\",\"background-color\":\"#8b1833\"}},[_c('div',{staticClass:\"rm-pointers dropdown-menu dropdown-menu-left not-transform\",class:{'show':_vm.fastSearchList.length > 0},staticStyle:{\"min-width\":\"200px\"},attrs:{\"tabindex\":\"-1\"}},_vm._l((_vm.fastSearchList),function(item,index){return _c('button',{key:index,staticClass:\"dropdown-item one-per-line\",class:{'item-dropdown-select': index === _vm.fastSearchCursor},attrs:{\"type\":\"button\",\"tabindex\":\"0\"},on:{\"click\":function($event){return _vm.setFastSearchByIndex(index)}}},[_c('div',{domProps:{\"innerHTML\":_vm._s(_vm.getDetailSearchList(item))}})])}),0)]),(_vm.command === 'insert' || _vm.command === 'update')?_c('t-button',{attrs:{\"icon-search\":\"\",\"outline-secondary\":\"\"},on:{\"click\":function($event){return _vm.openModalSearch()}}}):_vm._e()]},proxy:true}:null],null,true),model:{value:(_vm.codeLabel),callback:function ($$v) {_vm.codeLabel=$$v},expression:\"codeLabel\"}}),(!_vm.disableName)?_c('b-col',{staticClass:\"text-left\",staticStyle:{\"margin-top\":\"22px\",\"padding-right\":\"0px\"}},[_c('div',{staticClass:\"vs--disabled_label form-control\",staticStyle:{\"margin-bottom\":\"8px\",\"text-overflow\":\"ellipsis\",\"overflow\":\"hidden\",\"height\":\"33px !important\"}},[_c('span',[_vm._v(_vm._s(_vm.name))])])]):_vm._e()],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import Type from \"@/model/types/Type\";\r\n\r\nconst type = {\r\n    CUSTOMER: 1,\r\n    CREDITOR: 2,\r\n    SUPPLIER: 3,\r\n    EXECUTOR: 4,\r\n\r\n}\r\n\r\nconst list = [\r\n    {\r\n        value: type.CUSTOMER,\r\n        text: \"Cliente\",\r\n        path: \"customer\",\r\n        personId: \"customerId\",\r\n        personNumber: \"customerNumber\",\r\n    },\r\n    {\r\n        value: type.CREDITOR,\r\n        text: \"Credor\",\r\n        path: \"financial/creditor\",\r\n        personId: \"creditorId\",\r\n        personNumber: \"creditorNumber\",\r\n    },\r\n    {\r\n        value: type.SUPPLIER,\r\n        text: \"Fornecedor\",\r\n        path: \"financial/supplier\",\r\n        personId: \"supplierId\",\r\n        personNumber: \"personNumber\",\r\n    },\r\n\r\n    {\r\n        value: type.EXECUTOR,\r\n        text: \"Responsável\",\r\n        path: \"agent/executor\",\r\n        personId: \"executorId\",\r\n        personNumber: \"executorNumber\",\r\n    },\r\n\r\n\r\n]\r\n\r\nconst contains = function (typeInput) {\r\n    return Type.contains(list, typeInput)\r\n}\r\n\r\nconst getPath = function (type) {\r\n\r\n    if (type > 0) {\r\n\r\n        const path = list.find(a => a.value === type).path\r\n\r\n        if (path !== undefined) {\r\n            return path\r\n        } else {\r\n            return null\r\n        }\r\n\r\n    }\r\n\r\n    const path = list.find(a => a.value === type).path\r\n\r\n    if (path !== undefined) {\r\n        return path\r\n    } else {\r\n        return null\r\n    }\r\n\r\n}\r\n\r\nconst getText = function (type) {\r\n\r\n    if (type > 0) {\r\n\r\n        const text = list.find(a => a.value === type).text\r\n\r\n        if (text !== undefined) {\r\n            return text\r\n        } else {\r\n            return null\r\n        }\r\n\r\n    }\r\n\r\n\r\n}\r\n\r\nexport default {\r\n    type,\r\n    list,\r\n    contains,\r\n    getPath,\r\n    getText,\r\n}\r\n\r\n\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-modal',{ref:\"modal\",attrs:{\"size\":\"xl\",\"id\":_vm.id,\"no-close-on-backdrop\":\"\",\"title\":'Buscar ' + _vm.personType.text,\"hide-footer\":\"\"},on:{\"hide\":function($event){return _vm.closeSearch()}}},[_c('b-row',[_c('t-input',{attrs:{\"cols\":\"3\",\"label\":\"Nome\"},nativeOn:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.searchPersons.apply(null, arguments)}},model:{value:(_vm.form.name),callback:function ($$v) {_vm.$set(_vm.form, \"name\", $$v)},expression:\"form.name\"}}),_c('t-input',{attrs:{\"cols\":\"3\",\"label\":\"CNPJ/CPF\"},nativeOn:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.searchPersons.apply(null, arguments)}},model:{value:(_vm.form.federalTaxpayer),callback:function ($$v) {_vm.$set(_vm.form, \"federalTaxpayer\", $$v)},expression:\"form.federalTaxpayer\"}}),_c('t-input',{attrs:{\"cols\":\"3\",\"label\":\"Cidade\"},nativeOn:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.searchPersons.apply(null, arguments)}},model:{value:(_vm.form.city),callback:function ($$v) {_vm.$set(_vm.form, \"city\", $$v)},expression:\"form.city\"}}),_c('b-col',{attrs:{\"cols\":\"3\"}},[_c('t-button',{attrs:{\"primary\":\"\",\"form-inline\":\"\"},on:{\"click\":_vm.searchPersons}},[_c('b-icon-search',{staticClass:\"mr-1\",staticStyle:{\"scale\":\"0.8\"}}),_vm._v(\" Filtrar \")],1)],1)],1),_c('div',{staticStyle:{\"overflow\":\"hidden\",\"position\":\"relative\",\"float\":\"left\",\"width\":\"100%\"}},[_c('t-table',{attrs:{\"show\":_vm.checkViewListTableDefault(),\"filtered\":_vm.filtered,\"busy\":!_vm.pageListIsLoaded,\"user-auth\":_vm.userAuth,\"items\":_vm.request.content,\"fields\":_vm.fields,\"total-pages\":_vm.request.totalPages,\"total-elements\":_vm.request.totalElements,\"container-table-style\":[{'min-height':'250px'}],\"title-items\":_vm.personType.text + 's',\"link-primary-column\":_vm.personType.personNumber,\"table-bordered\":\"\",\"table-striped\":\"\",\"disable-actions-column\":\"\",\"primary-key-column\":_vm.personType.personId},on:{\"getPage\":_vm.getPageSearchPerson},scopedSlots:_vm._u([{key:\"first-column\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('b-link',{on:{\"click\":function($event){return _vm.selectPerson(item[_vm.personType.personId])}}},[_vm._v(_vm._s(_vm._f(\"lpad\")(item[_vm.personType.personNumber],4)))])]}}])})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\n  <b-modal size=\"xl\" @hide=\"closeSearch()\" ref=\"modal\" :id=\"id\"\n           no-close-on-backdrop\n           :title=\"'Buscar ' + personType.text\" hide-footer>\n\n    <b-row>\n\n      <t-input cols=\"3\" v-model=\"form.name\"  @keyup.enter.native=\"searchPersons\" label=\"Nome\"/>\n\n      <t-input cols=\"3\" v-model=\"form.federalTaxpayer\" @keyup.enter.native=\"searchPersons\"  label=\"CNPJ/CPF\"/>\n\n      <t-input cols=\"3\" v-model=\"form.city\" @keyup.enter.native=\"searchPersons\"  label=\"Cidade\"/>\n\n      <b-col cols=\"3\">\n        <t-button @click=\"searchPersons\" primary form-inline>\n          <b-icon-search class=\"mr-1\" style=\"scale: 0.8\"></b-icon-search>\n          Filtrar\n        </t-button>\n      </b-col>\n\n    </b-row>\n\n    <div style=\"overflow: hidden; position: relative; float: left; width: 100%\">\n      <t-table\n        @getPage=\"getPageSearchPerson\"\n        :show=\"checkViewListTableDefault()\"\n        :filtered=\"filtered\"\n        :busy=\"!pageListIsLoaded\"\n        :user-auth=\"userAuth\"\n        :items=\"request.content\"\n        :fields=\"fields\"\n        :total-pages=\"request.totalPages\"\n        :total-elements=\"request.totalElements\"\n        :container-table-style=\"[{'min-height':'250px'}]\"\n        :title-items=\"personType.text + 's'\"\n        :link-primary-column=\"personType.personNumber\"\n        table-bordered\n        table-striped\n        disable-actions-column\n        :primary-key-column=\"personType.personId\">\n\n      <template #first-column=\"{item}\">\n        <b-link @click=\"selectPerson(item[personType.personId])\">{{ item[personType.personNumber] | lpad(4) }}</b-link>\n      </template>\n\n    </t-table>\n    </div>\n\n  </b-modal>\n\n</template>\n<script>\n\nimport EntityPersonType from \"@/model/types/modules/general/EntityPersonType\";\nimport pageDefaultMixin from \"@/mixins/page/pageDefaultMixin\"\nimport pageListMixin from \"@/mixins/page/pageListMixin\";\nimport {crudGeneral} from \"@/services/resource/GeneralCRUD.service\"\n\nexport default {\n  mixins: [pageDefaultMixin, pageListMixin],\n  name: 't-input-person-list',\n  data() {\n    return {\n      id: \"modal-person-search\",\n      personType: {},\n      onSending: false,\n      pagePersonSearch: 1,//Declara aqui para não conflitar com pageNumber externo\n      searchParamsPerson: new URLSearchParams(), //declara aqui para não conflitar\n      filtered: false,\n      form: {\n        name: \"\",\n        federalTaxpayer: \"\",\n        city:\"\",\n      },\n      fields: [],\n    }\n  },\n\n  props: {\n    show: Boolean,\n    codeLabel: String,\n    entityPersonType: Number,\n  },\n  watch: {\n\n    show(v) {\n      if (v) {\n        this.searchPersons()\n      }\n    },\n    codeLabel(v) {\n      this.form.default = v\n    }\n  },\n  methods: {\n\n    mountedPrepare() {\n\n      this.personType = EntityPersonType.list.find(a => a.value === this.entityPersonType)\n      this.id += '-' + this.entityPersonType\n\n      this.fields = [\n        {key: this.personType.personNumber, label: 'Código'},\n        {key: \"name\", label: \"Nome Fantasia\"},\n        {key: \"companyName\", label: \"Razão Social\"},\n\n        {key: \"federalTaxpayer\", label: \"CNPJ/CPF\"},\n        {key: \"cityFull\", label: \"Cidade/UF\", columns:5},\n      ]\n\n\n      this.searchParamsPerson.append('pageSize', \"10\")\n\n    },\n    async mountedContinued() {\n\n\n      this.pageListIsLoaded = true\n\n\n    },\n    //--------------------------------------------------------------------------------------\n    //Início de métodos personalizados desta tela\n\n    closeSearch() {\n      this.$emit(\"onClose\")\n    },\n\n    async searchPersons() {\n\n      this.filtered = true\n\n      Object.keys(this.form).forEach(key => {\n\n        this.searchParamsPerson.delete(key)\n\n        if (this.form[key] !== '' && this.form[key] !== 0) {\n          this.searchParamsPerson.append(key, this.form[key])\n        }\n\n      })\n\n      await this.getPageSearchPerson(1)\n\n\n    },\n\n    async getPageSearchPerson(pageNumber, finishLoaded = true) {\n\n      this.pageListIsLoaded = false\n\n      //DEVERÁ MONTAR OS PARÂMETROS DINAMICAMENTE CONFORME OS CAMPOS FOREM MARCADOS COMO DE PESQUISA\n      await crudGeneral.getAll(this.personType.path, pageNumber, this.searchParamsPerson)\n          .then(response => {\n\n            this.request = response.data\n\n            if (finishLoaded)\n              this.pageListIsLoaded = true\n\n          })\n          .catch(error => {\n            console.log('Erro externo: ' + error)\n          })\n\n\n    },\n\n\n    changeName() {\n      this.pageListIsLoaded = false\n      this.timeSearchSend(() => this.searchPersons())\n      /*this.getFieldsCustomizable('model')*/\n    },\n\n\n    selectPerson(id) {\n\n      if (id > 0) {\n        this.$bvModal.hide(this.id)\n        this.$emit(\"onSelected\", id)\n      }\n\n    }\n    //--------------------------------------------------------------------------------------\n  },\n\n\n  async mounted() {\n\n    this.mountedPrepare()\n\n    await this.getPageSearchPerson(this.pagePersonSearch, false)\n\n    await this.mountedContinued()\n\n  },\n\n}\n</script>","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./t-input-person-list.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./t-input-person-list.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./t-input-person-list.vue?vue&type=template&id=2faf82bc&\"\nimport script from \"./t-input-person-list.vue?vue&type=script&lang=js&\"\nexport * from \"./t-input-person-list.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","import http from '../../config/http-common';\r\nimport EntityPersonType from \"@/model/types/modules/general/EntityPersonType\";\r\nclass service {\r\n\r\n    getResume(entityPersonType, type, param, allStatus = false) {\r\n\r\n        const path = EntityPersonType.getPath(entityPersonType);\r\n\r\n        return http.getResume(path,type,param,allStatus);\r\n\r\n\r\n    }\r\n\r\n}\r\n\r\nexport default new service()\r\n\r\n\r\n","<template>\n\n  <div>\n\n    <t-input-person-list v-if=\"mount\" :show=\"modalSearch\" :entity-person-type=\"entityPersonType\"\n                         :product-code-full=\"codeLabel\"\n                         @onClose=\"onModalSearchClose()\" @onSelected=\"onSelected\"/>\n\n\n    <div class=\"d-flex align-items-start\">\n\n      <t-input @focusin=\"searchFocusIn\" upper not-autocomplete @keyup.native=\"executeFastSearch\"\n               @focusout=\"searchFocusOut\"\n               :fixed=\"localFixed\"\n               :form-status=\"status\" :form-command=\"command\" :required=\"required\" class-input=\"input-with-search\"\n               :label=\"text\"\n               v-model=\"codeLabel\">\n\n        <template #input-group-append v-if=\"!localFixed\">\n\n          <div style=\"position: absolute; left: -2px; top: 35px; background-color: #8b1833\">\n\n            <div tabindex=\"-1\" :class=\"{'show':fastSearchList.length > 0}\"\n                 class=\"rm-pointers dropdown-menu dropdown-menu-left not-transform\" style=\"min-width: 200px;\">\n              <!--              <h6 tabindex=\"-1\" class=\"dropdown-header\">\n                              Busca\n                            </h6>-->\n              <button type=\"button\" v-for=\"(item,index) in fastSearchList\" :key=\"index\" tabindex=\"0\"\n                      @click=\"setFastSearchByIndex(index)\" :class=\"{'item-dropdown-select': index === fastSearchCursor}\"\n                      class=\"dropdown-item one-per-line\">\n\n                <div v-html=\"getDetailSearchList(item)\"></div>\n\n              </button>\n\n              <!--\n              <div tabindex=\"-1\" class=\"dropdown-divider\"></div>\n           <h6 tabindex=\"-1\" class=\"dropdown-header\">Últimas pesquisas</h6>\n              <button type=\"button\" tabindex=\"0\" class=\"dropdown-item active\">\n                Germany\n              </button>\n              <button type=\"button\" tabindex=\"0\" class=\"dropdown-item\">\n                Italy\n              </button>-->\n            </div>\n\n          </div>\n\n          <t-button icon-search outline-secondary\n                    v-if=\"command === 'insert' || command === 'update'\"\n                    @click=\"openModalSearch()\"/>\n        </template>\n\n      </t-input>\n\n      <b-col class=\"text-left\" v-if=\"!disableName\" style=\"margin-top: 22px;padding-right: 0px;\">\n\n        <div class=\"vs--disabled_label form-control\"\n             style=\"margin-bottom: 8px; text-overflow: ellipsis; overflow: hidden; height: 33px !important\">\n          <span>{{ name }}</span>\n        </div>\n\n      </b-col>\n\n    </div>\n\n  </div>\n\n</template>\n<script>\nimport EntityPersonType from \"@/model/types/modules/general/EntityPersonType\";\nimport tInputPersonList from \"@/components/template/form/finder/t-input-person-list\";\nimport personService from \"@/services/modules/general/Person.service\";\nimport ui from \"@/assets/scripts/ui\";\nimport functionsMixins from \"@/mixins/page/functionsMixins\";\nimport {crudGeneral} from \"@/services/resource/GeneralCRUD.service\";\n\n\nexport default {\n  name: 't-input-person',\n  components: {tInputPersonList},\n  mixins: [functionsMixins],\n  data() {\n    return {\n      modalId: \"modal-person-search\",\n      path: \"\",\n      text: \"\",\n      busy: false,\n      personId: 0,\n      codeLabel: \"\",\n      entityPersonType: 0,//Tipo da entidade de person montada (cliente, fornecedor, credor, etc.)\n      name: \"\",\n      onSending: false,\n      mount: false,\n      modalSearch: false,\n      fastSearchCursor: -1,//Posição do cursor\n      enableCloseFastSearch: true,//Trava fechamento da listagem para execução de alguma tarefa\n      fastSearchList: [],\n      localFixed:false,\n    }\n  },\n  props: {\n    value: {\n      type: null,\n      default: \"\"\n    },\n    disableName: Boolean,\n    required: {/*ATENÇÃO PARA FUNCIONAR É NECESSÁRIO ENVIAR O STATUS E COMANDO*/\n      type: Boolean,\n      default: false\n    },\n    status: {\n      type: String,\n      default: \"\",\n    },\n    command: {\n      type: String,\n      default: \"insert\",\n    },\n    fixed:Boolean,\n    customer: Boolean,\n    creditor: Boolean,\n    supplier: Boolean,\n    executor: Boolean,\n\n  },\n  mounted() {\n\n    if (this.customer) {\n      this.entityPersonType = EntityPersonType.type.CUSTOMER\n    } else if (this.creditor) {\n      this.entityPersonType = EntityPersonType.type.CREDITOR\n    } else if (this.supplier) {\n      this.entityPersonType = EntityPersonType.type.SUPPLIER\n    } else if (this.executor) {\n      this.entityPersonType = EntityPersonType.type.EXECUTOR\n    }\n\n    this.modalId += '-' + this.entityPersonType\n\n    this.path = EntityPersonType.getPath(this.entityPersonType)\n    this.text = EntityPersonType.getText(this.entityPersonType)\n\n    this.setFixed()\n    this.getPersonResume(this.value)\n\n  },\n  methods: {\n\n    setFixed() {\n      this.localFixed = this.fixed\n\n      if (this.command === 'delete' || this.command === 'view') {\n        this.localFixed = true\n      }\n\n    },\n\n    onModalSearchClose() {\n      this.modalSearch = false\n    },\n\n    onSelected(personId) {\n      this.onModalSearchClose()\n      this.$emit(\"input\", personId)\n    },\n\n    openModalSearch() {\n\n      document.activeElement.blur()\n\n      this.modalSearch = true\n\n      if (this.mount) {\n        this.$bvModal.show(this.modalId)\n      } else {\n\n        this.mount = true\n\n        setTimeout(() => {\n          this.$bvModal.show(this.modalId)\n        }, 200)\n\n      }\n\n    },\n\n    async getPersonResume(personId) {\n\n      if (personId === 0) {\n        this.codeLabel = \"\"\n        this.name = \"\"\n      } else {\n\n        this.busy = true\n\n        await this.getResumePerson('id', personId).then(() => {\n          this.setBlackout(false)\n        })\n\n      }\n\n    },\n\n    getDetailSearchList(item) {\n\n      const codeLabel = \"\" + this.codeLabel\n\n      if (codeLabel.indexOf(\".\") === -1 && !isNaN(codeLabel) &&\n          !isNaN(parseFloat(codeLabel))) {\n\n        //Não evidenciar pesquisa\n        const parts = [];\n\n        if (item.federalTaxpayer) parts.push(item.federalTaxpayer);\n        if (item.city) parts.push(item.city);\n        if (item.provinceAbbreviation) parts.push(item.provinceAbbreviation);\n        if (this.text && item.personNumber) parts.push(`Cód. ${this.text}: ${item.personNumber}`);\n\n        const subtitle = parts.join(' - ');\n\n\n        return \"<div>\" + item.name + \"</div><small>\" + subtitle + \"</small>\"\n\n      } else {\n\n        //Evidencia pesquisa\n\n        const parts = [];\n\n        if (item.federalTaxpayer) parts.push(ui.highlightSearch(item.federalTaxpayer, this.codeLabel));\n        if (item.city) parts.push(item.city);\n        if (item.provinceAbbreviation) parts.push(item.provinceAbbreviation);\n        if (this.text && item.personNumber) parts.push(`Cód. ${this.text}: ${item.personNumber}`);\n\n        const subtitle = parts.join(' - ');\n\n\n        return \"<div>\" + ui.highlightSearch(item.name, this.codeLabel) + \"</div><small>\" + subtitle + \"</small>\"\n\n      }\n\n    },\n\n\n    setFastSearchByIndex(index) {\n\n      this.codeLabel = this.fastSearchList[index].personNumber\n      this.getPersonId()\n\n    },\n\n    clearFastSearch() {\n      this.fastSearchCursor = -1\n      this.enableCloseFastSearch = true\n      this.fastSearchList = []\n    },\n\n    executeFastSearch(event) {\n\n      if (this.fastSearchList.length > 0) {\n\n        if (event.which === 38) {\n          //Subir\n\n          this.fastSearchCursor--;\n\n          if (this.fastSearchCursor < 0) {\n            //Não inicializado e será o último\n            this.fastSearchCursor = this.fastSearchList.length - 1\n          }\n\n        } else if (event.which === 40) {\n          //Descer\n\n          this.fastSearchCursor++;\n\n          if (this.fastSearchCursor > (this.fastSearchList.length - 1)) {\n            //Não inicializado e será o último\n            this.fastSearchCursor = 0\n          }\n\n        } else if (event.which === 13) {\n\n          //Caso não selecionado, será subentendido o primeiro da lista\n          if (this.fastSearchCursor < 0)\n            this.fastSearchCursor = 0\n\n          this.codeLabel = this.fastSearchList[this.fastSearchCursor].personNumber\n\n          document.activeElement.blur()\n\n        } else {\n          this.getFastSearchTop()\n        }\n\n      } else {\n        this.getFastSearchTop()\n      }\n\n    },\n\n    async getFastSearchTop() {\n\n      const codeLabel = \"\" + this.codeLabel\n\n      if (codeLabel !== '') {\n\n        let params = new URLSearchParams()\n\n        if (codeLabel.indexOf(\".\") === -1 && !isNaN(codeLabel) &&\n            !isNaN(parseFloat(codeLabel))) {\n\n          //Pesquisa pelo código do cliente\n          params.set(\"personNumber\", codeLabel)\n\n        } else {\n          //Pesquisa pelo default\n          params.set(\"default\", codeLabel)\n        }\n\n        params.set(\"top\", \"5\")\n\n        await crudGeneral.list(this.path + \"/resumeTop\", params)\n            .then(list => {\n              this.fastSearchList = list\n            })\n            .catch(error => {\n              console.log('Erro externo: ' + error)\n            })\n\n      } else {\n        this.clearFastSearch()\n      }\n\n    },\n\n    searchFocusIn() {\n\n      //Desabilita o submit, caso existir para evitar que o produto ainda não tenha carregado ou esteja em alteração\n      this.setDisabledButtonSubmit(true)\n\n    },\n\n    async searchFocusOut() {\n\n      setTimeout(() => {\n        this.clearFastSearch()\n      }, 100)\n\n\n      await this.getPersonId()\n    },\n\n    async getPersonId() {\n\n      if (this.codeLabel === '') {\n        this.personId = 0\n      } else {\n        await this.getResumePerson('code', this.codeLabel)\n      }\n\n      this.$emit(\"input\", this.personId)\n\n      //Emite somente se for encontrado corretamente\n      if (this.personId > 0)\n        this.$emit(\"focusout\", this.personId)\n\n      //Saida do foco habilita novamente\n      setTimeout(() => {\n        //Tempo necessário para finalizar carregamento do produto\n        this.setDisabledButtonSubmit(false)\n      }, 500)\n\n    },\n\n    async getResumePerson(type, param) {\n\n      await personService.getResume(this.entityPersonType, type, param).then(resume => {\n\n        this.personId = resume.personId\n        this.codeLabel = resume.personNumber\n        this.name = resume.name\n        this.busy = false\n\n      }).catch(error => {\n\n        if (error.response) {\n          if (error.response.status === 500) {\n            ui.msg(this, 'Informação', error.response.data.message)\n          }\n        } else if (error !== '') {\n          ui.msg(this, \"Erro\", error)\n        }\n      })\n\n    }\n\n  },\n  watch: {\n    async value(v) {\n      await this.getPersonResume(v)\n      this.$emit(\"change\", v)\n    },\n    fixed(v) {\n      this.localFixed = v\n      this.setFixed()\n    },\n    command() {\n      this.setFixed()\n    },\n    /*modalSearch(v) {\n\n    }*/\n\n  },\n}\n</script>","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./t-input-person.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./t-input-person.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./t-input-person.vue?vue&type=template&id=0c4fb1c2&\"\nimport script from \"./t-input-person.vue?vue&type=script&lang=js&\"\nexport * from \"./t-input-person.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[(_vm.mount)?_c('t-input-stock-list',{attrs:{\"show\":_vm.modalSearch,\"product-code-full\":_vm.productCodeLabel,\"only-out\":_vm.onlyOut,\"not-grouped\":_vm.notGrouped,\"show-origin-label\":_vm.showOriginLabel,\"stockItemType\":_vm.stockItemType},on:{\"onClose\":function($event){return _vm.onModalSearchClose()},\"onSelected\":_vm.onSelected}}):_vm._e(),_c('t-input',{attrs:{\"upper\":\"\",\"required\":_vm.required,\"class-input\":\"w-fixed-200\",\"label\":\"Produto\"},on:{\"focusout\":_vm.getStockItemId},scopedSlots:_vm._u([{key:\"input-group-append\",fn:function(){return [(_vm.command === 'insert' || _vm.command === 'update')?_c('t-button',{attrs:{\"icon-search\":\"\",\"outline-secondary\":\"\"},on:{\"click\":function($event){return _vm.openModalSearch()}}}):_vm._e()]},proxy:true}]),model:{value:(_vm.productCodeLabel),callback:function ($$v) {_vm.productCodeLabel=$$v},expression:\"productCodeLabel\"}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-modal',{ref:\"modal\",attrs:{\"size\":\"lg\",\"id\":\"modal-product-search\",\"no-close-on-backdrop\":\"\",\"title\":\"Buscar no Estoque\",\"hide-footer\":\"\"},on:{\"hide\":function($event){return _vm.closeSearch()}}},[_c('b-row',[_c('t-input',{attrs:{\"cols\":\"4\",\"label\":\"Código\"},on:{\"change\":_vm.changeName},model:{value:(_vm.form.default),callback:function ($$v) {_vm.$set(_vm.form, \"default\", $$v)},expression:\"form.default\"}}),_c('t-input',{attrs:{\"cols\":\"4\",\"options\":_vm.groupProductOptions,\"select\":\"\",\"label\":\"Grupo\"},on:{\"change\":_vm.changeGroupProduct},model:{value:(_vm.form.groupProductId),callback:function ($$v) {_vm.$set(_vm.form, \"groupProductId\", $$v)},expression:\"form.groupProductId\"}}),_c('t-input',{attrs:{\"cols\":\"4\",\"disabled\":_vm.form.groupProductId === 0,\"options\":_vm.modelOptions,\"select\":\"\",\"label\":\"Modelo\"},on:{\"change\":_vm.changeModel},model:{value:(_vm.form.modelId),callback:function ($$v) {_vm.$set(_vm.form, \"modelId\", $$v)},expression:\"form.modelId\"}})],1),_c('t-table',{attrs:{\"show\":_vm.checkViewListTableDefault(),\"filtered\":_vm.filtered,\"busy\":!_vm.pageListIsLoaded,\"user-auth\":_vm.userAuth,\"items\":_vm.request.content,\"fields\":_vm.fields,\"total-pages\":_vm.request.totalPages,\"total-elements\":_vm.request.totalElements,\"container-table-style\":[{'min-height':'250px'}],\"title-items\":\"Produtos\",\"link-primary-column\":\"productCodeLabel\",\"table-bordered\":\"\",\"disable-actions-column\":\"\",\"primary-key-column\":\"productId\"},on:{\"getPage\":_vm.getPageSearchProduct},scopedSlots:_vm._u([{key:\"first-column\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('b-link',{on:{\"click\":function($event){return _vm.selectProduct(item.productId)}}},[_vm._v(_vm._s(item.productCodeLabel))])]}}])})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\n  <b-modal size=\"lg\" @hide=\"closeSearch()\" ref=\"modal\" id=\"modal-product-search\"\n           no-close-on-backdrop\n           title=\"Buscar no Estoque\" hide-footer>\n\n    <b-row>\n\n      <t-input cols=\"4\" @change=\"changeName\" v-model=\"form.default\" label=\"Código\"/>\n\n      <t-input cols=\"4\"\n               v-model=\"form.groupProductId\"\n               :options=\"groupProductOptions\"\n               @change=\"changeGroupProduct\"\n               select label=\"Grupo\"/>\n\n      <t-input\n          cols=\"4\"\n          :disabled=\"form.groupProductId === 0\"\n          v-model=\"form.modelId\"\n          :options=\"modelOptions\"\n          @change=\"changeModel\"\n          select label=\"Modelo\"/>\n\n      <!--      <b-col cols=\"3\"><t-button @click=\"searchProducts\" primary form-inline>\n                    <b-icon-search class=\"mr-2\"></b-icon-search>\n                    Filtrar\n                  </t-button></b-col>-->\n\n    </b-row>\n\n\n    <t-table\n        @getPage=\"getPageSearchProduct\"\n        :show=\"checkViewListTableDefault()\"\n        :filtered=\"filtered\"\n        :busy=\"!pageListIsLoaded\"\n        :user-auth=\"userAuth\"\n        :items=\"request.content\"\n        :fields=\"fields\"\n        :total-pages=\"request.totalPages\"\n        :total-elements=\"request.totalElements\"\n        :container-table-style=\"[{'min-height':'250px'}]\"\n        title-items=\"Produtos\"\n        link-primary-column=\"productCodeLabel\"\n        table-bordered\n        disable-actions-column\n        primary-key-column=\"productId\">\n\n      <template #first-column=\"{item}\">\n        <b-link @click=\"selectProduct(item.productId)\">{{ item.productCodeLabel }}</b-link>\n      </template>\n\n    </t-table>\n\n\n  </b-modal>\n\n</template>\n<script>\n\nimport pageDefaultMixin from \"@/mixins/page/pageDefaultMixin\"\nimport pageListMixin from \"@/mixins/page/pageListMixin\";\nimport {crudGeneral} from \"@/services/resource/GeneralCRUD.service\"\n\nimport groupProductService from \"@/services/modules/product/GroupProduct.service\"\nimport modelService from \"@/services/modules/product/Model.service\"\n\nexport default {\n  mixins: [pageDefaultMixin, pageListMixin],\n  name: 't-input-product-list',\n  data() {\n    return {\n      path: \"stock\", //Utilizar somente quando fora do padrão\n      onSending: false,\n      pageProductSearch: 1,\n      searchParamsProduct: new URLSearchParams(),\n      filtered: false,\n      form: {\n        default: \"\",\n        groupProductId: 0,\n        modelId: 0,\n        notGrouped: this.notGrouped,\n        onlyOut: this.onlyOut,\n        onlyNewProduced: this.onlyNewProduced,\n        stockItemType: this.stockItemType,\n      },\n      fields: [\n        {key: \"productCodeLabel\", label: \"Código\"},\n        {key: \"originCodeLabel\", label: \"Origem\"},\n        {key: \"quantity\", label: \"Qtd. Disponível\"},\n        {key: \"name\", label: \"Produto\"},\n        {key: \"groupProduct\", label: \"Grupo\"},\n        {key: \"model\", label: \"Modelo\"},\n      ],\n      groupProductOptions: [],\n      modelOptions: [],\n    }\n  },\n\n  props: {\n    show: Boolean,\n    productCodeLabel: String,\n    originCodeLabel: String,\n    onlyOut: Boolean, //Filtrar somente saída de produtos\n    notGrouped: Boolean, //Não agrupar por produto, deixar item a item para escolha\n    showOriginLabel: Boolean, //Exibe o label pela Origem\n    onlyNewProduced: Boolean,\n    stockItemType:{\n      type:[Number,String],\n      default: \"\"\n    }\n  },\n  watch: {\n\n    show(v) {\n      if (v) {\n        this.searchProducts()\n      }\n    },\n    productCodeLabel(v) {\n      this.form.default = v\n    }\n  },\n  methods: {\n\n    mountedPrepare() {\n\n\n    },\n    async mountedContinued() {\n\n      await groupProductService.selectList(\"grouped\").then((list) => {\n        this.groupProductOptions = list\n      }).catch(error => this.responseError(error))\n\n      await this.getModelsByGroupProductId()\n\n      this.pageListIsLoaded = true\n\n    },\n    //--------------------------------------------------------------------------------------\n    //Início de métodos personalizados desta tela\n\n    closeSearch() {\n      this.$emit(\"onClose\")\n    },\n\n    async searchProducts() {\n\n      this.filtered = true\n\n      Object.keys(this.form).forEach(key => {\n\n        this.searchParamsProduct.delete(key)\n\n        if (this.form[key] !== '' && this.form[key] !== 0) {\n          this.searchParamsProduct.append(key, this.form[key])\n        }\n\n      })\n\n      await this.getPageSearchProduct(1)\n\n\n    },\n\n    async getPageSearchProduct(pageNumber, finishLoaded = true) {\n\n      this.pageListIsLoaded = false\n\n      //DEVERÁ MONTAR OS PARÂMETROS DINAMICAMENTE CONFORME OS CAMPOS FOREM MARCADOS COMO DE PESQUISA\n      await crudGeneral.getAll(this.path, pageNumber, this.searchParamsProduct)\n          .then(response => {\n\n            this.request = response.data\n\n            if (finishLoaded)\n              this.pageListIsLoaded = true\n\n          })\n          .catch(error => {\n            console.log('Erro externo: ' + error)\n          })\n\n\n    },\n\n    async getModelsByGroupProductId() {\n\n      if (this.form.groupProductId > 0) {\n\n        let params = new URLSearchParams()\n        params.set(\"status\", 1)\n        params.set(\"groupProductId\", this.form.groupProductId)\n\n        await modelService.selectList(params).then((list) => {\n          this.modelOptions = list\n        }).catch(error => this.responseError(error))\n\n      }\n\n    },\n\n    changeName() {\n      this.pageListIsLoaded = false\n      this.timeSearchSend(() => this.searchProducts())\n      /*this.getFieldsCustomizable('model')*/\n    },\n\n\n    async changeGroupProduct() {\n      this.form.modelId = 0 //Zera para poder consistir o valor\n      await this.getModelsByGroupProductId()\n      await this.searchProducts()\n      /*await this.getFieldsCustomizable('groupProduct')*/\n    },\n\n    async changeModel() {\n      await this.searchProducts()\n      /*this.getFieldsCustomizable('model')*/\n    },\n\n    selectProduct(id) {\n\n      if (id > 0) {\n        this.$bvModal.hide('modal-product-search')\n        this.$emit(\"onSelected\", id)\n      }\n\n    }\n    //--------------------------------------------------------------------------------------\n  },\n\n\n  async mounted() {\n\n    this.mountedPrepare()\n\n    await this.getPageSearchProduct(this.pageProductSearch, false)\n\n    await this.mountedContinued()\n\n  },\n\n}\n</script>","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./t-input-stock-list.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./t-input-stock-list.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./t-input-stock-list.vue?vue&type=template&id=15f1fe96&\"\nimport script from \"./t-input-stock-list.vue?vue&type=script&lang=js&\"\nexport * from \"./t-input-stock-list.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","<template>\n\n  <div>\n\n    <t-input-stock-list v-if=\"mount\" :show=\"modalSearch\"\n                        :product-code-full=\"productCodeLabel\"\n                        :only-out=\"onlyOut\"\n                        :not-grouped=\"notGrouped\"\n                        :show-origin-label=\"showOriginLabel\"\n                        :stockItemType=\"stockItemType\"\n                        @onClose=\"onModalSearchClose()\" @onSelected=\"onSelected\"/>\n\n      <t-input @focusout=\"getStockItemId\" upper :required=\"required\" class-input=\"w-fixed-200\" label=\"Produto\"\n               v-model=\"productCodeLabel\">\n\n        <template #input-group-append>\n          <t-button icon-search outline-secondary\n                    v-if=\"command === 'insert' || command === 'update'\"\n                    @click=\"openModalSearch()\"/>\n        </template>\n\n      </t-input>\n\n<!--      <b-col class=\"text-left\" style=\"margin-top: 22px;padding-right: 0px;\">\n\n        <div class=\"vs&#45;&#45;disabled_label form-control\" style=\"margin-bottom: 8px\">\n          <span>{{ label }}</span>\n        </div>\n\n      </b-col>-->\n\n\n  </div>\n\n</template>\n<script>\nimport tInputStockList from \"@/components/template/form/finder/t-input-stock-list\";\nimport productService from \"@/services/modules/product/Product.service\";\nimport ui from \"@/assets/scripts/ui\";\n\nexport default {\n  name: 't-input-stock',\n  components: {tInputStockList},\n  data() {\n    return {\n      busy: false,\n      stockProductId: 0,\n      productCodeLabel: \"\",\n      originCodeLabel: \"\",\n      productName: \"\",\n      model: \"\",\n      groupProduct: \"\",\n      unit: \"\",\n      onSending: false,\n      mount: false,\n      modalSearch: false,\n    }\n  },\n  props: {\n    value: {\n      type: null,\n      default: \"\"\n    },\n    required: {\n      type: Boolean,\n      default: false\n    },\n    command: {\n      type: String,\n      default: \"insert\",\n    },\n    onlyOut: Boolean, //Filtrar somente saída de produtos\n    notGrouped: Boolean, //Não agrupar por produto, deixar item a item para escolha\n    showOriginLabel: Boolean, //Exibe o label pela Origem\n    onlyNewProduced: Boolean,//Filtra stock somente de novas produções\n    stockItemType:{\n      type:[Number,String],\n      default: \"\"\n    }\n  },\n  mounted() {\n    this.getStockItemResume(this.value)\n  },\n  methods: {\n\n    onModalSearchClose() {\n      this.modalSearch = false\n    },\n\n    onSelected(stockProductId) {\n      this.onModalSearchClose()\n      this.$emit(\"input\", stockProductId)\n    },\n\n    openModalSearch() {\n\n      document.activeElement.blur()\n\n      this.modalSearch = true\n\n      if (this.mount) {\n        this.$bvModal.show('modal-product-search')\n      } else {\n\n        this.mount = true\n\n        setTimeout(() => {\n          this.$bvModal.show('modal-product-search')\n        }, 200)\n\n      }\n\n    },\n\n    async getStockItemResume(stockProductId) {\n\n      if (stockProductId === 0) {\n        this.productCodeLabel = \"\"\n        this.productName = \"\"\n        this.model = \"\"\n        this.groupProduct = \"\"\n        this.unit = \"\"\n\n      } else {\n\n        this.busy = true\n        await this.getResumeStock('id', stockProductId)\n\n      }\n\n    },\n\n    async getResumeStock(type, param) {\n\n      await productService.getResume(type, param).then(resume => {\n\n        this.stockProductId = resume.stockProductId\n        this.originCodeLabel = resume.originCodeLabel\n        this.productCodeLabel = resume.productCodeLabel\n        this.productName = resume.name\n        this.busy = false\n\n      }).catch(error => {\n\n        if (error.response) {\n\n          if (error.response.status === 500) {\n            ui.msg(this, 'Informação', error.response.data.message)\n          }\n        }\n      })\n\n    },\n\n    async getStockItemId() {\n\n      if (this.productCodeLabel === '') {\n        this.stockProductId = 0\n      } else {\n        await this.getResumeProduct('code', this.productCodeLabel)\n      }\n\n      this.$emit(\"input\", this.stockProductId)\n\n    },\n\n  },\n  watch: {\n    async value(v) {\n      await this.getStockItemResume(v)\n    },\n    modalSearch(v) {\n      console.log(v)\n    }\n\n  },\n\n}\n</script>","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./t-input-stock.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./t-input-stock.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./t-input-stock.vue?vue&type=template&id=6b0e2c4b&\"\nimport script from \"./t-input-stock.vue?vue&type=script&lang=js&\"\nexport * from \"./t-input-stock.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('transition',{attrs:{\"name\":\"fade\"}},[(!_vm.small)?_c('div',{staticClass:\"d-flex justify-content-center align-items-center p-5\"},[_c('div',{staticClass:\"loader\"},[_c('div',{staticClass:\"ball-scale-multiple\"},[_c('div'),_c('div'),_c('div')])])]):_c('div',[_c('div',{staticClass:\"loader\"},[_c('div',{staticClass:\"ball-clip-rotate-multiple\"},[_c('div',{staticStyle:{\"width\":\"15px\",\"height\":\"15px\",\"left\":\"0px\",\"top\":\"0px\",\"border-color\":\"var(--template-color-primary)\"}}),_c('div',{staticStyle:{\"width\":\"15px\",\"height\":\"15px\",\"left\":\"0px\",\"top\":\"0px\",\"border-color\":\"var(--template-color-primary)\"}})])])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n\r\n  <transition name=\"fade\">\r\n\r\n    <div v-if=\"!small\" class=\"d-flex justify-content-center align-items-center p-5\">\r\n\r\n\r\n      <div class=\"loader\">\r\n        <div class=\"ball-scale-multiple\">\r\n          <div></div>\r\n          <div></div>\r\n          <div></div>\r\n        </div>\r\n      </div>\r\n\r\n    </div>\r\n\r\n    <div v-else>\r\n\r\n      <div class=\"loader\">\r\n        <div class=\"ball-clip-rotate-multiple\">\r\n          <div style=\"width: 15px; height: 15px; left: 0px; top:0px; border-color: var(--template-color-primary)\" ></div>\r\n          <div\r\n              style=\"width: 15px; height: 15px; left: 0px; top: 0px; border-color: var(--template-color-primary)\"></div>\r\n        </div>\r\n      </div>\r\n\r\n    </div>\r\n\r\n\r\n  </transition>\r\n</template>\r\n\r\n<script>\r\nexport default {\r\n  name: \"t-loading\",\r\n  data() {\r\n    return {\r\n\r\n    }\r\n  },\r\n  props: {\r\n    show: Boolean,\r\n    small: Boolean,\r\n  },\r\n  mounted() {\r\n\r\n\r\n\r\n  },\r\n}\r\n</script>","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./t-loading.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./t-loading.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./t-loading.vue?vue&type=template&id=f8f9935a&\"\nimport script from \"./t-loading.vue?vue&type=script&lang=js&\"\nexport * from \"./t-loading.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('transition',{attrs:{\"name\":\"fade\"}},[_c('div',{class:{'alert-big':_vm.big}},[(_vm.show && _vm.info)?_c('div',{staticClass:\"alert alert-info\",class:{'fade':_vm.fade,'show':_vm.fade}},[_c('i',{staticClass:\"fa fa-info-circle mr-2\",attrs:{\"aria-hidden\":\"true\"}}),_vm._t(\"default\")],2):_vm._e(),(_vm.show && _vm.warning)?_c('div',{staticClass:\"alert alert-warning\",class:{'fade':_vm.fade,'show':_vm.fade}},[_c('i',{staticClass:\"fa fa-info-circle mr-2\",attrs:{\"aria-hidden\":\"true\"}}),_vm._t(\"default\")],2):_vm._e(),(_vm.show && _vm.success)?_c('div',{staticClass:\"alert alert-success\",class:{'fade':_vm.fade,'show':_vm.fade}},[_c('i',{staticClass:\"fa fa-info-circle mr-2\",attrs:{\"aria-hidden\":\"true\"}}),_vm._t(\"default\")],2):(_vm.show && _vm.query && _vm.query.codSuccess === 1)?_c('div',{staticClass:\"alert alert-success\",class:{'fade':_vm.fade,'show':_vm.fade}},[_c('i',{staticClass:\"fa fa-info-circle mr-2\",attrs:{\"aria-hidden\":\"true\"}}),_vm._t(\"default\",function(){return [_vm._v(_vm._s(_vm.title)+\" \"+_vm._s(_vm.tWithParams('inserted-with-success', {gender: _vm.localGender, plural: _vm.localPlural})))]})],2):(_vm.show && _vm.query && _vm.query.codSuccess === 100)?_c('div',{staticClass:\"alert alert-success\",class:{'fade':_vm.fade,'show':_vm.fade}},[_c('i',{staticClass:\"fa fa-info-circle mr-2\",attrs:{\"aria-hidden\":\"true\"}}),_vm._t(\"default\",function(){return [_vm._v(_vm._s(_vm.query.returnMessage))]})],2):(_vm.show && _vm.query && _vm.query.codSuccess === 2)?_c('div',{staticClass:\"alert alert-success\",class:{'fade':_vm.fade,'show':_vm.fade}},[_c('i',{staticClass:\"fa fa-info-circle mr-2\",attrs:{\"aria-hidden\":\"true\"}}),_vm._t(\"default\",function(){return [_vm._v(_vm._s(_vm.title)+\" \"+_vm._s(_vm.tWithParams('altered-with-success', {gender: _vm.localGender, plural: _vm.localPlural})))]})],2):(_vm.show && _vm.query && _vm.query.codSuccess === 3)?_c('div',{staticClass:\"alert alert-success\",class:{'fade':_vm.fade,'show':_vm.fade}},[_c('i',{staticClass:\"fa fa-info-circle mr-2\",attrs:{\"aria-hidden\":\"true\"}}),_vm._t(\"default\",function(){return [_vm._v(_vm._s(_vm.title)+\" \"+_vm._s(_vm.tWithParams('deleted-with-success', {gender: _vm.localGender, plural: _vm.localPlural})))]})],2):(_vm.show && _vm.query && _vm.query.codSuccess > 3)?_c('div',{staticClass:\"alert alert-success\",class:{'fade':_vm.fade,'show':_vm.fade}},[_c('i',{staticClass:\"fa fa-info-circle mr-2\",attrs:{\"aria-hidden\":\"true\"}}),_vm._t(\"default\")],2):(_vm.show && _vm.query && _vm.query.codError === 11)?_c('div',{staticClass:\"alert alert-danger\",class:{'fade':_vm.fade,'show':_vm.fade,'is-invalid-fast':_vm.invalidFast}},[_c('i',{staticClass:\"fa fa-info-circle mr-2\",attrs:{\"aria-hidden\":\"true\"}}),_vm._t(\"default\",function(){return [_vm._v(_vm._s(_vm.t('not-have-access-include') + _vm.title))]})],2):(_vm.show && _vm.query && _vm.query.codError === 12)?_c('div',{staticClass:\"alert alert-danger\",class:{'fade':_vm.fade,'show':_vm.fade,'is-invalid-fast':_vm.invalidFast}},[_c('i',{staticClass:\"fa fa-info-circle mr-2\",attrs:{\"aria-hidden\":\"true\"}}),_vm._t(\"default\",function(){return [_vm._v(_vm._s(_vm.t('not-have-access-change') + _vm.title))]})],2):(_vm.show && _vm.query && _vm.query.codError === 13)?_c('div',{staticClass:\"alert alert-danger\",class:{'fade':_vm.fade,'show':_vm.fade,'is-invalid-fast':_vm.invalidFast}},[_c('i',{staticClass:\"fa fa-info-circle mr-2\",attrs:{\"aria-hidden\":\"true\"}}),_vm._t(\"default\",function(){return [_vm._v(_vm._s(_vm.t('not-have-Access-delete') + _vm.title))]})],2):(_vm.show && _vm.query && _vm.query.codError === 14)?_c('div',{staticClass:\"alert alert-danger\",class:{'fade':_vm.fade,'show':_vm.fade,'is-invalid-fast':_vm.invalidFast}},[_c('i',{staticClass:\"fa fa-info-circle mr-2\",attrs:{\"aria-hidden\":\"true\"}}),_vm._t(\"default\",function(){return [_vm._v(_vm._s(_vm.t('not-have-access-view') + _vm.title))]})],2):(_vm.show && _vm.query && _vm.query.codError === 200)?_c('div',{staticClass:\"alert alert-danger\",class:{'fade':_vm.fade,'show':_vm.fade}},[_c('i',{staticClass:\"fa fa-info-circle mr-2\",attrs:{\"aria-hidden\":\"true\"}}),_vm._t(\"default\",function(){return [_vm._v(_vm._s(_vm.query.returnMessage))]})],2):((_vm.show && _vm.query && _vm.query.codError > 0) || _vm.danger)?_c('div',{staticClass:\"alert alert-danger\",class:{'fade':_vm.fade,'show':_vm.fade,'is-invalid-fast':_vm.invalidFast}},[_c('i',{staticClass:\"fa fa-info-circle mr-2\",attrs:{\"aria-hidden\":\"true\"}}),_vm._t(\"default\")],2):_vm._e()])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n\r\n  <transition name=\"fade\">\r\n\r\n\r\n    <div :class=\"{'alert-big':big}\">\r\n\r\n      <div class=\"alert alert-info\" :class=\"{'fade':fade,'show':fade}\" v-if=\"show && info\">\r\n        <i class=\"fa fa-info-circle mr-2\" aria-hidden=\"true\"></i>\r\n        <slot></slot>\r\n      </div>\r\n\r\n      <div class=\"alert alert-warning\" :class=\"{'fade':fade,'show':fade}\" v-if=\"show && warning\">\r\n        <i class=\"fa fa-info-circle mr-2\" aria-hidden=\"true\"></i>\r\n        <slot></slot>\r\n      </div>\r\n\r\n      <div class=\"alert alert-success\" :class=\"{'fade':fade,'show':fade}\" v-if=\"show && success\">\r\n        <i class=\"fa fa-info-circle mr-2\" aria-hidden=\"true\"></i>\r\n        <slot></slot>\r\n      </div>\r\n\r\n      <div class=\"alert alert-success\" :class=\"{'fade':fade,'show':fade}\"\r\n           v-else-if=\"show && query && query.codSuccess === 1\">\r\n        <i class=\"fa fa-info-circle mr-2\" aria-hidden=\"true\"></i>\r\n        <slot>{{ title }} {{ tWithParams('inserted-with-success', {gender: localGender, plural: localPlural}) }}</slot>\r\n      </div>\r\n\r\n      <div class=\"alert alert-success\" :class=\"{'fade':fade,'show':fade}\"\r\n           v-else-if=\"show && query && query.codSuccess === 100\">\r\n        <i class=\"fa fa-info-circle mr-2\" aria-hidden=\"true\"></i>\r\n        <slot>{{ query.returnMessage }}</slot>\r\n      </div>\r\n\r\n\r\n      <div class=\"alert alert-success\" :class=\"{'fade':fade,'show':fade}\"\r\n           v-else-if=\"show && query && query.codSuccess === 2\">\r\n        <i class=\"fa fa-info-circle mr-2\" aria-hidden=\"true\"></i>\r\n        <slot>{{ title }} {{ tWithParams('altered-with-success', {gender: localGender, plural: localPlural}) }}</slot>\r\n      </div>\r\n      <div class=\"alert alert-success\" :class=\"{'fade':fade,'show':fade}\"\r\n           v-else-if=\"show && query && query.codSuccess === 3\">\r\n        <i class=\"fa fa-info-circle mr-2\" aria-hidden=\"true\"></i>\r\n        <slot>{{ title }} {{ tWithParams('deleted-with-success', {gender: localGender, plural: localPlural}) }}</slot>\r\n      </div>\r\n      <div class=\"alert alert-success\" :class=\"{'fade':fade,'show':fade}\"\r\n           v-else-if=\"show && query && query.codSuccess > 3\">\r\n        <i class=\"fa fa-info-circle mr-2\" aria-hidden=\"true\"></i>\r\n        <slot></slot>\r\n      </div>\r\n\r\n      <div class=\"alert alert-danger\" :class=\"{'fade':fade,'show':fade,'is-invalid-fast':invalidFast}\"\r\n           v-else-if=\"show && query && query.codError === 11\">\r\n        <i class=\"fa fa-info-circle mr-2\" aria-hidden=\"true\"></i>\r\n        <slot>{{ t('not-have-access-include') + title }}</slot>\r\n      </div>\r\n      <div class=\"alert alert-danger\" :class=\"{'fade':fade,'show':fade,'is-invalid-fast':invalidFast}\"\r\n           v-else-if=\"show && query && query.codError === 12\">\r\n        <i class=\"fa fa-info-circle mr-2\" aria-hidden=\"true\"></i>\r\n        <slot>{{ t('not-have-access-change') + title }}</slot>\r\n      </div>\r\n      <div class=\"alert alert-danger\" :class=\"{'fade':fade,'show':fade,'is-invalid-fast':invalidFast}\"\r\n           v-else-if=\"show && query && query.codError === 13\">\r\n        <i class=\"fa fa-info-circle mr-2\" aria-hidden=\"true\"></i>\r\n        <slot>{{ t('not-have-Access-delete') + title }}</slot>\r\n      </div>\r\n      <div class=\"alert alert-danger\" :class=\"{'fade':fade,'show':fade,'is-invalid-fast':invalidFast}\"\r\n           v-else-if=\"show && query && query.codError === 14\">\r\n        <i class=\"fa fa-info-circle mr-2\" aria-hidden=\"true\"></i>\r\n        <slot>{{ t('not-have-access-view') + title }}</slot>\r\n      </div>\r\n\r\n      <div class=\"alert alert-danger\" :class=\"{'fade':fade,'show':fade}\"\r\n           v-else-if=\"show && query && query.codError === 200\">\r\n        <i class=\"fa fa-info-circle mr-2\" aria-hidden=\"true\"></i>\r\n        <slot>{{ query.returnMessage }}</slot>\r\n      </div>\r\n\r\n\r\n      <div class=\"alert alert-danger\" :class=\"{'fade':fade,'show':fade,'is-invalid-fast':invalidFast}\"\r\n           v-else-if=\"(show && query && query.codError > 0) || danger\">\r\n        <i class=\"fa fa-info-circle mr-2\" aria-hidden=\"true\"></i>\r\n        <slot></slot>\r\n      </div>\r\n\r\n    </div>\r\n\r\n\r\n  </transition>\r\n</template>\r\n\r\n<script>\r\nexport default {\r\n  name: \"t-msg\",\r\n  data() {\r\n    return {\r\n      localGender: \"a\",\r\n      localPlural: \"\",\r\n      localHideSeconds: 0,\r\n      show: true,\r\n    }\r\n  },\r\n  props: {\r\n    big: Boolean,\r\n    fade: Boolean,\r\n    invalidFast: Boolean,\r\n    title: String,\r\n    genderFeminine: Boolean,\r\n    msg: String,\r\n    autoHide: Boolean,\r\n    hideSeconds: [String, Number],\r\n    info: Boolean,\r\n    success: Boolean,\r\n    warning: Boolean,\r\n    danger: Boolean,\r\n    plural: Boolean,\r\n    query: Object,\r\n  },\r\n  mounted() {\r\n\r\n    if (this.genderFeminine) {\r\n      this.localGender = \"a\"\r\n    } else {\r\n      this.localGender = \"o\"\r\n    }\r\n\r\n    if (this.plural) {\r\n      this.localPlural = \"s\"\r\n    }\r\n\r\n    if (this.hideSeconds !== \"0\" && this.hideSeconds !== \"\") {\r\n      this.localHideSeconds = parseInt(this.hideSeconds)\r\n    }\r\n\r\n    if (this.autoHide) {\r\n      this.localHideSeconds = 5\r\n    }\r\n\r\n\r\n    if (this.localHideSeconds > 0 || (this.query && this.query.codSuccess > 0)) {\r\n      //Retira mensagem, após X segundos\r\n\r\n      setTimeout(() => {\r\n        this.show = false\r\n      }, this.localHideSeconds * 1000)\r\n\r\n    }\r\n\r\n\r\n  },\r\n}\r\n</script>\r\n\r\n<style scoped>\r\n\r\n</style>","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./t-msg.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./t-msg.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./t-msg.vue?vue&type=template&id=e89a7210&scoped=true&\"\nimport script from \"./t-msg.vue?vue&type=script&lang=js&\"\nexport * from \"./t-msg.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"e89a7210\",\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-link',{directives:[{name:\"b-tooltip\",rawName:\"v-b-tooltip.hover.html\",value:({ customClass: 'help-tooltip', title: _vm.title}),expression:\"{ customClass: 'help-tooltip', title: title}\",modifiers:{\"hover\":true,\"html\":true}}],staticClass:\"ml-1 text-black-75 opacity-6-hover\",attrs:{\"tabindex\":\"10000\"}},[_c('b-icon-info-circle')],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n\r\n  <b-link class=\"ml-1 text-black-75 opacity-6-hover\" tabindex=\"10000\"\r\n          v-b-tooltip.hover.html=\"{ customClass: 'help-tooltip', title: title}\">\r\n    <b-icon-info-circle></b-icon-info-circle>\r\n\r\n  </b-link>\r\n\r\n</template>\r\n\r\n<script>\r\nexport default {\r\n  name: \"t-help\",\r\n  data() {\r\n    return {}\r\n  },\r\n  props: {\r\n    title: {\r\n      type: String,\r\n      default: \"\"\r\n    },\r\n  },\r\n  methods:{\r\n    /*getTitle(){\r\n\r\n      if(this.$slots && this.$slots.default && this.$slots.default[0] && this.$slots.default[0].text){\r\n        return this.$slots.default[0].text\r\n      }else{\r\n        return this.title\r\n      }\r\n    }*/\r\n  }\r\n\r\n}\r\n</script>\r\n\r\n<style>\r\n\r\n</style>","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./t-help.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./t-help.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./t-help.vue?vue&type=template&id=8260d622&\"\nimport script from \"./t-help.vue?vue&type=script&lang=js&\"\nexport * from \"./t-help.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"w-100\"},[(_vm.localSubtitle === '')?_c('div',{staticClass:\"widget-content p-0 w-100\"},[_c('div',{staticClass:\"w-100 align-content-center\"},[_vm._v(_vm._s(_vm._f(\"number\")(_vm.scale))+\"%\")]),_c('div',{staticClass:\"progress-bar-xs progress w-100\"},[_c('div',{staticClass:\"progress-bar bg-info\",style:({'width':_vm.scale+'%'})})])]):_c('div',[_c('div',{staticClass:\"widget-content p-0\"},[_c('div',{staticClass:\"widget-content-outer\"},[_c('div',{staticClass:\"widget-content-wrapper\"},[_c('div',{staticClass:\"widget-content-left pr-2\"},[_c('div',{staticClass:\"widget-numbers fsize-1 text-info\"},[_vm._v(_vm._s(_vm.localSubtitle))])]),_c('div',{staticClass:\"widget-content-right w-100\"},[_c('div',{staticClass:\"progress-bar-xs progress\"},[_c('div',{staticClass:\"progress-bar bg-info\",style:({'width':_vm.scale+'%'})})])])])])])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n\r\n  <div class=\"w-100\">\r\n\r\n    <div v-if=\"localSubtitle === ''\" class=\"widget-content p-0 w-100\">\r\n\r\n        <div class=\"w-100 align-content-center\">{{scale | number}}%</div>\r\n        <div class=\"progress-bar-xs progress w-100\">\r\n\r\n          <div class=\"progress-bar bg-info\" :style=\"{'width':scale+'%'}\"></div>\r\n        </div>\r\n\r\n    </div>\r\n\r\n    <div v-else>\r\n\r\n      <div class=\"widget-content p-0\">\r\n        <div class=\"widget-content-outer\">\r\n          <div class=\"widget-content-wrapper\">\r\n\r\n            <div class=\"widget-content-left pr-2\">\r\n              <div class=\"widget-numbers fsize-1 text-info\">{{ localSubtitle }}</div>\r\n            </div>\r\n\r\n            <div class=\"widget-content-right w-100\">\r\n              <div class=\"progress-bar-xs progress\">\r\n                <div class=\"progress-bar bg-info\" :style=\"{'width':scale+'%'}\"></div>\r\n              </div>\r\n            </div>\r\n          </div>\r\n        </div>\r\n      </div>\r\n\r\n    </div>\r\n\r\n\r\n  </div>\r\n\r\n\r\n\r\n</template>\r\n\r\n<script>\r\nexport default {\r\n  name: \"t-progress-bar-line\",\r\n  data() {\r\n    return {\r\n      localSubtitle: \"\",\r\n      scale: 0,\r\n    }\r\n  },\r\n  props: {\r\n    progress: {\r\n      type: Number,\r\n      default: 0\r\n    },\r\n    total: {\r\n      type: Number,\r\n      default: 100\r\n    },\r\n    subtitle: {\r\n      type: [String, Number],\r\n      default: \"\"\r\n    },\r\n  },\r\n  mounted() {\r\n\r\n    this.setScale()\r\n\r\n    if (this.subtitle !== \"\" || this.subtitle > 0) {\r\n      this.localSubtitle = this.subtitle\r\n    }\r\n\r\n\r\n  },\r\n  watch: {\r\n\r\n    progress() {\r\n\r\n      this.setScale()\r\n\r\n    }\r\n\r\n  },\r\n  methods: {\r\n\r\n    setScale() {\r\n      this.scale = (this.progress / this.total) * 100\r\n    }\r\n\r\n  }\r\n\r\n}\r\n</script>\r\n\r\n<style>\r\n\r\n</style>","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./t-progress-bar-line.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./t-progress-bar-line.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./t-progress-bar-line.vue?vue&type=template&id=2bccd873&\"\nimport script from \"./t-progress-bar-line.vue?vue&type=script&lang=js&\"\nexport * from \"./t-progress-bar-line.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('iframe',{class:{'container-map-bordered':_vm.bordered},staticStyle:{\"border\":\"0\"},attrs:{\"width\":\"100%\",\"height\":\"300\",\"loading\":\"lazy\",\"allowfullscreen\":_vm.showLink,\"referrerpolicy\":\"no-referrer-when-downgrade\",\"src\":'https://www.google.com/maps/embed/v1/place?key=AIzaSyD-HSv3BZv4lvYyCnjO0SZQlPU_if_JLl4&q='+_vm.latitude+','+_vm.longitude+'&zoom='+_vm.zoom}})])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n\r\n  <div>\r\n\r\n    <iframe\r\n        width=\"100%\"\r\n        height=\"300\"\r\n        style=\"border:0\"\r\n        :class=\"{'container-map-bordered':bordered}\"\r\n        loading=\"lazy\"\r\n        :allowfullscreen=\"showLink\"\r\n        referrerpolicy=\"no-referrer-when-downgrade\"\r\n        :src=\"'https://www.google.com/maps/embed/v1/place?key=AIzaSyD-HSv3BZv4lvYyCnjO0SZQlPU_if_JLl4&q='+latitude+','+longitude+'&zoom='+zoom\">\r\n    </iframe>\r\n\r\n  </div>\r\n\r\n</template>\r\n\r\n<script>\r\nexport default {\r\n  name: \"t-map\",\r\n  data() {\r\n    return {}\r\n  },\r\n  props: {\r\n    latitude: {\r\n      type: Number,\r\n      default: 0\r\n    },\r\n    longitude: {\r\n      type: Number,\r\n      default: 0\r\n    },\r\n    showLink: Boolean,\r\n    zoom: {\r\n      type: [String, Number],\r\n      default: 9\r\n    },\r\n    bordered: Boolean,\r\n  },\r\n  mounted() {\r\n\r\n    this.setScale()\r\n\r\n    if (this.subtitle !== \"\" || this.subtitle > 0) {\r\n      this.localSubtitle = this.subtitle\r\n    } else {\r\n      this.localSubtitle = this.scale + \"%\"\r\n    }\r\n\r\n\r\n  },\r\n  methods: {\r\n\r\n    getLink() {\r\n\r\n      const link = \"https://www.openstreetmap.org/export/embed.html?bbox=\" + this.longitude + \",\" + this.latitude + \",\" + this.longitude + \",\" + this.latitude + \"&layer=mapnik&marker=\" + this.latitude + \",\" + this.longitude\r\n\r\n      console.log(link)\r\n      console.log(encodeURI(link))\r\n\r\n      return encodeURI(link)\r\n\r\n    },\r\n\r\n    setScale() {\r\n      this.scale = (this.progress / this.total) * 100\r\n    }\r\n\r\n  }\r\n\r\n}\r\n</script>\r\n\r\n<style>\r\n\r\n</style>","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./t-map.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./t-map.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./t-map.vue?vue&type=template&id=d0ff0bd2&\"\nimport script from \"./t-map.vue?vue&type=script&lang=js&\"\nexport * from \"./t-map.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.localShow)?_c('div',{ref:\"container\",staticClass:\"container-blackout\",class:{'container-blackout-white':_vm.white, 'opacity9':_vm.opacity9}},[_c('div',{staticClass:\"d-flex flex-column justify-content-center align-content-center\",staticStyle:{\"position\":\"absolute\",\"width\":\"100%\",\"height\":\"100%\",\"z-index\":\"1060\",\"overflow\":\"hidden\"}},[(_vm.busy)?_c('div',{staticClass:\"loader-wrapper align-self-center d-flex justify-content-center align-content-center mt-5\"},[_vm._m(0)]):_vm._e(),_c('transition',{attrs:{\"name\":\"slide-fade\"}},[(!_vm.busy)?_c('div',{staticClass:\"d-flex flex-column justify-content-center align-content-center\"},[_vm._t(\"buttons-top\",function(){return [_c('div',{staticClass:\"d-flex align-self-center p-1 mb-3\"},[_vm._t(\"buttons-top-appendage\"),_c('b-button',{attrs:{\"variant\":\"danger\"},on:{\"click\":_vm.close}},[_c('b-icon-box-arrow-in-down-left'),_vm._v(\" Fechar \")],1)],2)]}),_c('div',{staticClass:\"d-flex align-self-center p-1\"},[_vm._t(\"default\")],2),_vm._t(\"buttons-bottom\")],2):_vm._e()])],1),_c('div',{staticClass:\"blockUI blockOverlay\"})]):_vm._e()}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"loader\",staticStyle:{\"scale\":\"1.5\"}},[_c('div',{staticClass:\"ball-scale-multiple\"},[_c('div'),_c('div'),_c('div')])])}]\n\nexport { render, staticRenderFns }","<template>\r\n\r\n  <div ref=\"container\" class=\"container-blackout\" :class=\"{'container-blackout-white':white, 'opacity9':opacity9}\"\r\n       v-if=\"localShow\">\r\n\r\n    <div style=\"position: absolute; width: 100%; height: 100%; z-index: 1060; overflow: hidden;\"\r\n         class=\"d-flex flex-column justify-content-center align-content-center\">\r\n\r\n      <div v-if=\"busy\"\r\n           class=\"loader-wrapper align-self-center d-flex justify-content-center align-content-center mt-5\">\r\n        <div class=\"loader\" style=\"scale: 1.5\">\r\n          <div class=\"ball-scale-multiple\">\r\n            <div></div>\r\n            <div></div>\r\n            <div></div>\r\n          </div>\r\n        </div>\r\n      </div>\r\n\r\n      <transition name=\"slide-fade\">\r\n\r\n        <div v-if=\"!busy\" class=\"d-flex flex-column justify-content-center align-content-center\">\r\n\r\n          <slot name=\"buttons-top\">\r\n\r\n            <div class=\"d-flex align-self-center p-1 mb-3\">\r\n\r\n\r\n              <slot name=\"buttons-top-appendage\"></slot>\r\n\r\n              <b-button variant=\"danger\" @click=\"close\">\r\n                <b-icon-box-arrow-in-down-left/>\r\n                Fechar\r\n              </b-button>\r\n\r\n\r\n\r\n            </div>\r\n\r\n          </slot>\r\n\r\n\r\n          <div class=\"d-flex align-self-center p-1\">\r\n            <slot></slot>\r\n          </div>\r\n\r\n          <slot name=\"buttons-bottom\">\r\n\r\n          </slot>\r\n\r\n        </div>\r\n\r\n      </transition>\r\n\r\n    </div>\r\n\r\n    <div class=\"blockUI blockOverlay\"></div>\r\n\r\n\r\n  </div>\r\n\r\n\r\n</template>\r\n\r\n<script>\r\n\r\nexport default {\r\n  name: \"t-blackout\",\r\n  data() {\r\n    return {\r\n      localShow: false,\r\n    }\r\n  },\r\n  props: {\r\n    busy: Boolean,\r\n    value: Boolean,\r\n    white: Boolean,\r\n    opacity9: Boolean,\r\n    noCloseOnEsc: Boolean,\r\n  },\r\n  created() {\r\n\r\n    const escapeHandler = (e) => {\r\n      if (e.key === 'Escape' && !this.noCloseOnEsc) {\r\n        this.close()\r\n      }\r\n    }\r\n\r\n    document.addEventListener('keydown', escapeHandler);\r\n\r\n    this.$once('hook:destroyed', () => {\r\n      document.removeEventListener('keydown', escapeHandler);\r\n    });\r\n\r\n  },\r\n  mounted() {\r\n\r\n    this.localShow = this.value\r\n\r\n  },\r\n  computed: {},\r\n  methods: {\r\n\r\n    close() {\r\n      this.$emit(\"onClose\")\r\n      this.localShow = false\r\n      this.$emit(\"input\", false)\r\n    },\r\n\r\n  },\r\n  watch: {\r\n    value(value) {\r\n      this.localShow = value\r\n    },\r\n    localShow(value) {\r\n      if (value)\r\n        this.$emit(\"onOpen\")\r\n    },\r\n\r\n  }\r\n\r\n}\r\n</script>\r\n\r\n<style>\r\n.container-blackout-white .blockOverlay {\r\n  background-color: #FFFFFF;\r\n}\r\n\r\n.opacity9 .blockOverlay {\r\n  opacity: 0.9;\r\n}\r\n\r\n\r\n.container-blackout {\r\n  position: fixed;\r\n  width: 100%;\r\n  height: 100%;\r\n  left: 0;\r\n  top: 0;\r\n  z-index: 1040; /*ATENÇÃO SE AUMENTAR AQUI DARÁ CONFLITO NO MOMENTO DE INSERIR IMAGENS DE EVOLUÇÃO COM O DIALOGO DA VISTORIA > EVOLUÇÃO > Detalhes da Foto*/\r\n}\r\n</style>","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./t-blackout.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./t-blackout.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./t-blackout.vue?vue&type=template&id=573b1a24&\"\nimport script from \"./t-blackout.vue?vue&type=script&lang=js&\"\nexport * from \"./t-blackout.vue?vue&type=script&lang=js&\"\nimport style0 from \"./t-blackout.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","<script>\r\nexport default {\r\n  name: \"t-wrapped\",\r\n  functional: true,\r\n  props: {\r\n    'show':{\r\n      type: Boolean,\r\n      default: false\r\n    }\r\n  },\r\n  render(h, ctx) {\r\n\r\n    const children = ctx.children.filter(vnode => vnode.tag) // remove unnecessary text nodes\r\n\r\n    if (children.length !== 1) {\r\n      console.warn('This component accepts only one root node in its slot')\r\n    }\r\n    if (ctx.props.show) {\r\n      return children[0]\r\n    } else {\r\n      return children[0].children\r\n    }\r\n  }\r\n}\r\n</script>\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./t-wrapped.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./t-wrapped.vue?vue&type=script&lang=js&\"","<script>\r\n\r\nexport default {\r\n  name: \"t-form-wrapped\",\r\n  props: {\r\n    status: {\r\n      type: String,\r\n      default: \"\"\r\n    },\r\n    command: String,\r\n  },\r\n  data() {\r\n    return {}\r\n  },\r\n\r\n  render(h) {\r\n\r\n    function deepClone(vnodes, createElement, status, command) {\r\n\r\n      function cloneVNode(vnode) {\r\n\r\n        if (vnode.componentOptions && vnode.componentOptions.children) {\r\n\r\n          const clonedChildren = vnode.componentOptions.children && vnode.componentOptions.children\r\n              .map(vnode => cloneVNode(vnode));\r\n\r\n          const cloned = createElement(vnode.tag, vnode.data, clonedChildren);\r\n\r\n          cloned.text = vnode.text\r\n          cloned.children = null\r\n          cloned.isComment = vnode.isComment\r\n          cloned.componentInstance = vnode.componentInstance\r\n          cloned.componentOptions = vnode.componentOptions\r\n          cloned.componentOptions.children = clonedChildren\r\n          cloned.elm = vnode.elm\r\n          cloned.context = vnode.context\r\n          cloned.ns = vnode.ns\r\n          cloned.isStatic = vnode.isStatic\r\n          cloned.key = vnode.key\r\n          cloned.fixed = true\r\n\r\n          return cloned\r\n\r\n\r\n        } else {\r\n\r\n          const clonedChildren = vnode.children && vnode.children\r\n              .map(vnode => cloneVNode(vnode));\r\n\r\n          const cloned = createElement(vnode.tag, vnode.data, clonedChildren);\r\n\r\n          cloned.text = vnode.text\r\n          cloned.isComment = vnode.isComment\r\n          cloned.componentInstance = vnode.componentInstance\r\n          cloned.componentOptions = vnode.componentOptions\r\n          cloned.elm = vnode.elm\r\n          cloned.context = vnode.context\r\n          cloned.ns = vnode.ns\r\n          cloned.isStatic = vnode.isStatic\r\n          cloned.key = vnode.key\r\n\r\n\r\n          if (cloned.tag) {\r\n\r\n            if (cloned.tag.indexOf(\"t-input\") > -1 && cloned.componentOptions && cloned.componentOptions.propsData) {\r\n              cloned.componentOptions.propsData.formStatus = status\r\n              cloned.componentOptions.propsData.formCommand = command\r\n\r\n            }\r\n\r\n          }\r\n\r\n          return cloned;\r\n\r\n        }\r\n\r\n\r\n      }\r\n\r\n      const clonedVNodes = vnodes.map(vnode => cloneVNode(vnode))\r\n      return clonedVNodes;\r\n    }\r\n\r\n    return h('div', {}, [\r\n      h('div', {}, [...deepClone(this.$slots.default, h, this.status, this.command)])\r\n    ])\r\n\r\n  }\r\n\r\n}\r\n</script>\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./t-form-wrapped.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./t-form-wrapped.vue?vue&type=script&lang=js&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[(_vm.show)?_c('div',[_c('div',{style:(_vm.containerTableStyle)},[(_vm.busy)?_c('div',{staticClass:\"table-busy\"}):_vm._e(),_c('table',{staticClass:\"mb-0 table table-hover\",class:{'table-striped':_vm.tableStriped,'table-responsive':_vm.tableResponsive,'table-bordered':_vm.tableBordered, 'table-input-enabled': (_vm.enableRadio || _vm.enableChecked) &&  (_vm.command === 'insert' || _vm.command === 'update')},attrs:{\"aria-busy\":_vm.busy}},[_c('thead',[_c('tr',[((_vm.enableRadio || _vm.enableChecked) && (_vm.command === 'insert' || _vm.command === 'update'))?_c('th',[_c('div',{staticClass:\"d-flex align-content-center justify-content-center\"},[(_vm.enableChecked && _vm.onItems.length > 0)?_c('b-form-checkbox',{directives:[{name:\"b-tooltip\",rawName:\"v-b-tooltip.hover.ds500\",modifiers:{\"hover\":true,\"ds500\":true}}],staticClass:\"table-checked-all\",attrs:{\"checked\":_vm.onItems.length === _vm.valueChecked.length && _vm.valueChecked.length > 0,\"title\":\"Marcar ou Desmarcar todos\",\"indeterminate\":_vm.onItems.length !== _vm.valueChecked.length && _vm.valueChecked.length > 0},on:{\"change\":function($event){return _vm.selectAllItems()}}}):_vm._e()],1)]):_vm._e(),_vm._l((_vm.fields),function(field){\nvar _obj;\nreturn _c('th',{key:field.key,class:( _obj = {'table-head-search':_vm.enableSearch}, _obj[field.headerClass] = field.headerClass && field.headerClass !== '', _obj ),staticStyle:{\"vertical-align\":\"top\"}},[(_vm.enableSearch && (_vm.command === 'insert' || _vm.command === 'update') && _vm.checkShowSearch(field))?_c('div',[_c('t-input',{staticStyle:{\"max-width\":\"250px\"},attrs:{\"money\":field.formatter && field.formatter === 'money',\"percent\":field.formatter && field.formatter=== 'percent',\"help\":field.help,\"label\":field.label},model:{value:(field.search),callback:function ($$v) {_vm.$set(field, \"search\", $$v)},expression:\"field.search\"}})],1):_c('div',{staticClass:\"d-flex\"},[_vm._v(\" \"+_vm._s(field.label)+\" \"),(field.help !== undefined && field.help !== '')?_c('t-help',{attrs:{\"title\":field.help}}):_vm._e()],1)])}),(!_vm.disableActionsColumn)?_c('th'):_vm._e()],2)]),_c('tbody',_vm._l((_vm.paginatedItems),function(item,index){return _c('tr',{key:index,class:item.class,style:(_vm.checkBackgroundLine(item[_vm.localPrimaryKeyArrayIds]))},[((_vm.enableRadio || _vm.enableChecked) &&  (_vm.command === 'insert' || _vm.command === 'update'))?_c('td',{staticStyle:{\"width\":\"50px\",\"text-align\":\"center\"}},[(_vm.enableRadio)?_c('b-form-radio',{attrs:{\"name\":_vm.localTitleItems+'_RADIO',\"value\":item[_vm.localPrimaryKeyArrayIds]},model:{value:(_vm.valueRadio),callback:function ($$v) {_vm.valueRadio=$$v},expression:\"valueRadio\"}}):_c('b-form-checkbox',{attrs:{\"value\":item[_vm.localPrimaryKeyArrayIds]},model:{value:(_vm.valueChecked),callback:function ($$v) {_vm.valueChecked=$$v},expression:\"valueChecked\"}})],1):_vm._e(),_c('td',{staticClass:\"input-hover\",on:{\"click\":function($event){return _vm.onLineClick(item[_vm.localPrimaryKeyArrayIds])}}},[_vm._t(\"first-column\",function(){return [(!_vm.disableLinkPrimaryColumn)?_c('t-list-link-primary',{attrs:{\"formatter\":_vm.fields.find(function (a) { return a.key === _vm.linkPrimaryColumn; }).formatter,\"label\":item[_vm.linkPrimaryColumn],\"userAuth\":_vm.userAuth,\"id\":item[_vm.primaryKeyColumn],\"path\":_vm.userAuth.currentPage.path}}):_c('span',[_vm._v(_vm._s(item[_vm.linkPrimaryColumn]))])]},{\"item\":item,\"index\":index})],2),_vm._l((_vm.fields.filter(function (a) { return a.key !== _vm.linkPrimaryColumn; })),function(field){return _c('td',{key:field.key,staticClass:\"input-hover\",class:field.lineClass,on:{\"click\":function($event){return _vm.onLineClick(item[_vm.localPrimaryKeyArrayIds])}}},[_vm._t('item(' + field.key + ')',function(){return [_c('t-table-field',{attrs:{\"column\":field.key,\"formatter\":field.formatter,\"item\":item}})]},{\"item\":item,\"index\":index})],2)}),(!_vm.disableActionsColumn)?_c('td',[_vm._t(\"actions\",function(){return [_c('div',{staticClass:\"d-flex listActions justify-content-end\"},[_vm._t(\"append-actions\",null,{\"item\":item}),_c('t-list-actions-default',{attrs:{\"delete-by-confirm-id\":item[_vm.deleteByConfirmColumn],\"form-path\":_vm.userAuth.currentPage.path,\"id\":item[_vm.primaryKeyColumn],\"userAuth\":_vm.userAuth},on:{\"reload\":function($event){return _vm.reload()}}})],2)]},{\"item\":item})],2):_vm._e()],2)}),0)])]),(_vm.totalPages > 0)?_c('b-row',{staticClass:\"mt-3\"},[_c('b-col',{attrs:{\"cols\":\"6\"}},[(_vm.totalPages > 1)?_c('t-pagination',{attrs:{\"not-link-gen\":\"\",\"total-pages\":_vm.totalPages},on:{\"getPage\":_vm.clickPage}}):_vm._e()],1),(_vm.totalElements > 0)?_c('b-col',{staticClass:\"text-right mt-2\",attrs:{\"cols\":_vm.totalPages === 1 ? 12 : 6}},[_c('small',[_vm._v(\"Total \"+_vm._s(_vm.totalElements)+\" \"+_vm._s(_vm.localTitleItems))])]):_vm._e()],1):_vm._e(),(_vm.enablePagination && _vm.totalPagesComputed > 1)?_c('b-row',{staticClass:\"mt-3\"},[_c('b-col',{staticClass:\"d-flex justify-content-center\"},[_c('b-pagination',{attrs:{\"total-rows\":_vm.items.length,\"per-page\":_vm.pageSize,\"align\":\"center\"},on:{\"input\":_vm.changePage},model:{value:(_vm.currentPage),callback:function ($$v) {_vm.currentPage=$$v},expression:\"currentPage\"}})],1)],1):_vm._e()],1):_c('t-msg',{attrs:{\"warning\":\"\"}},[(_vm.filtered)?_c('span',[_vm._v(\"Nenhum registro encontrado para o filtro informado!\")]):_c('span',[_vm._v(\"Nenhum registro cadastrado!\")])])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <div>\n\n    <div v-if=\"show\">\n\n      <div :style=\"containerTableStyle\">\n\n        <div v-if=\"busy\" class=\"table-busy\"></div>\n\n        <table class=\"mb-0 table table-hover\"\n               :class=\"{'table-striped':tableStriped,'table-responsive':tableResponsive,'table-bordered':tableBordered, 'table-input-enabled': (enableRadio || enableChecked) &&  (command === 'insert' || command === 'update')}\"\n               :aria-busy=\"busy\">\n          <thead>\n          <tr>\n            <th v-if=\"(enableRadio || enableChecked) && (command === 'insert' || command === 'update')\">\n\n              <div class=\"d-flex align-content-center justify-content-center\">\n\n                <b-form-checkbox class=\"table-checked-all\"\n                                 v-if=\"enableChecked && onItems.length > 0\"\n                                 @change=\"selectAllItems()\"\n                                 :checked=\"onItems.length === valueChecked.length && valueChecked.length > 0\"\n                                 v-b-tooltip.hover.ds500 title=\"Marcar ou Desmarcar todos\"\n                                 :indeterminate=\"onItems.length !== valueChecked.length && valueChecked.length > 0\"/>\n\n              </div>\n\n\n            </th>\n            <th v-for=\"(field) in fields\" :key=\"field.key\" style=\"vertical-align: top;\" :class=\"{'table-head-search':enableSearch,[field.headerClass]:field.headerClass && field.headerClass !== ''}\">\n\n\n              <div v-if=\"enableSearch && (command === 'insert' || command === 'update') && checkShowSearch(field)\">\n                <t-input style=\"max-width: 250px\"\n                         :money=\"field.formatter && field.formatter === 'money'\"\n                         :percent=\"field.formatter && field.formatter=== 'percent'\"\n                         :help=\"field.help\"\n                         v-model=\"field.search\" :label=\"field.label\"/>\n              </div>\n              <div v-else class=\"d-flex\">\n                {{ field.label }}\n                <t-help v-if=\"field.help !== undefined && field.help !== ''\" :title=\"field.help\"/>\n              </div>\n\n            </th>\n            <th v-if=\"!disableActionsColumn\"></th>\n          </tr>\n          </thead>\n          <tbody>\n          <tr v-for=\"(item,index) in paginatedItems\" :key=\"index\" :class=\"item.class\"\n              :style=\"checkBackgroundLine(item[localPrimaryKeyArrayIds])\">\n\n            <td v-if=\"(enableRadio || enableChecked) &&  (command === 'insert' || command === 'update')\"\n                style=\"width: 50px; text-align: center\">\n\n              <b-form-radio v-if=\"enableRadio\" :name=\"localTitleItems+'_RADIO'\" v-model=\"valueRadio\"\n                            :value=\"item[localPrimaryKeyArrayIds]\"></b-form-radio>\n              <b-form-checkbox\n                  v-else\n                  v-model=\"valueChecked\"\n                  :value=\"item[localPrimaryKeyArrayIds]\"\n              />\n\n\n            </td>\n\n            <td @click=\"onLineClick(item[localPrimaryKeyArrayIds])\" class=\"input-hover\">\n\n              <slot name=\"first-column\" :item=\"item\" :index=\"index\">\n\n                <t-list-link-primary v-if=\"!disableLinkPrimaryColumn\"\n                                     :formatter=\"fields.find(a => a.key === linkPrimaryColumn).formatter\"\n                                     :label=\"item[linkPrimaryColumn]\" :userAuth=\"userAuth\" :id=\"item[primaryKeyColumn]\"\n                                     :path=\"userAuth.currentPage.path\"/>\n\n                <span v-else>{{ item[linkPrimaryColumn] }}</span>\n              </slot>\n\n            </td>\n\n            <td v-for=\"(field) in fields.filter(a => a.key !== linkPrimaryColumn)\" :key=\"field.key\"\n                @click=\"onLineClick(item[localPrimaryKeyArrayIds])\" :class=\"field.lineClass\" class=\"input-hover\">\n              <slot :name=\"'item(' + field.key + ')'\" :item=\"item\" :index=\"index\">\n                <t-table-field :column=\"field.key\" :formatter=\"field.formatter\" :item=\"item\"/>\n              </slot>\n            </td>\n\n            <td v-if=\"!disableActionsColumn\">\n\n              <slot name=\"actions\" :item=\"item\">\n                <div class=\"d-flex listActions justify-content-end\">\n                  <slot name=\"append-actions\" :item=\"item\"></slot>\n\n                  <t-list-actions-default @reload=\"reload()\" :delete-by-confirm-id=\"item[deleteByConfirmColumn]\"\n                                          :form-path=\"userAuth.currentPage.path\" :id=\"item[primaryKeyColumn]\"\n                                          :userAuth=\"userAuth\"/>\n\n                </div>\n\n              </slot>\n            </td>\n          </tr>\n          </tbody>\n        </table>\n\n      </div>\n\n      <!--Paginação interna da tabela de listgem nunca monta link somente retorna o número da página clicada-->\n      <b-row v-if=\"totalPages > 0\" class=\"mt-3\">\n\n        <b-col cols=\"6\">\n          <t-pagination v-if=\"totalPages > 1\" @getPage=\"clickPage\" not-link-gen\n                        :total-pages=\"totalPages\"></t-pagination>\n        </b-col>\n        <b-col :cols=\"totalPages === 1 ? 12 : 6\" v-if=\"totalElements > 0\" class=\"text-right mt-2\">\n          <small>Total {{ totalElements }} {{ localTitleItems }}</small>\n        </b-col>\n      </b-row>\n\n      <!-- Paginação -->\n\n      <b-row v-if=\"enablePagination && totalPagesComputed > 1\" class=\"mt-3\">\n        <b-col class=\"d-flex justify-content-center\">\n\n          <b-pagination\n              v-model=\"currentPage\"\n              :total-rows=\"items.length\"\n              :per-page=\"pageSize\"\n              @input=\"changePage\"\n              align=\"center\"\n          ></b-pagination>\n        </b-col>\n      </b-row>\n\n      <!--\n            <b-row v-else-if=\"enablePagination && totalPagesComputed > 1\" class=\"mt-3\">\n              <b-col class=\"d-flex justify-content-between\">\n                <button @click=\"changePage(currentPage - 1)\" :disabled=\"currentPage === 1\" class=\"btn btn-sm btn-primary\">Anterior</button>\n                <span>Página {{ currentPage }} de {{ totalPagesComputed }}</span>\n                <button @click=\"changePage(currentPage + 1)\" :disabled=\"currentPage >= totalPagesComputed\" class=\"btn btn-sm btn-primary\">Próximo</button>\n              </b-col>\n            </b-row>-->\n\n    </div>\n\n    <t-msg v-else warning>\n\n      <span v-if=\"filtered\">Nenhum registro encontrado para o filtro informado!</span>\n      <span v-else>Nenhum registro cadastrado!</span>\n\n    </t-msg>\n\n  </div>\n</template>\n<script>\n\nexport default {\n  name: 't-table',\n  data() {\n    return {\n      localTitleItems: \"\",\n      localPrimaryKeyArrayIds: \"\",\n      checkedAll: false,\n      indeterminate: true,\n      valueRadio: 0,\n      valueChecked: [],\n      colorLineSelected: \"#f1faff\", //Cor padrão quando selecionado\n      currentPage: 1, // Página atual\n\n    }\n  },\n  props: {\n    enablePagination: {type: Boolean, default: false}, // Habilita paginação\n    enableRadio: Boolean,//Habilita escolha única\n    enableChecked: Boolean,//Habilita escolha multipla\n    pageSize: {type: Number, default: 20},\n    fields: Array,\n    command: {\n      type: String,\n      default: 'insert'\n    },\n    userAuth: Object,\n    items: Array,\n    containerTableStyle: Array,\n    tableResponsive: Boolean,\n    tableBordered: Boolean,\n    tableStriped: Boolean,\n    show: {\n      type: Boolean,\n      default: true,\n    },\n    filtered: Boolean,\n    busy: Boolean,\n    primaryKeyColumn: String,\n    primaryKeyArrayIds: {\n      type: String,\n      default: \"\"\n    },\n    deleteByConfirmColumn: {\n      type: String,\n      default: \"\"\n    },\n    titleItems: {\n      type: String,\n      default: \"\"\n    },\n    totalPages: {\n      type: Number,\n      default: 0\n    },\n    totalElements: {\n      type: Number,\n      default: 0\n    },\n    linkPrimaryColumn: {\n      type: String,\n      default: \"name\"\n    },\n    disableLinkPrimaryColumn: {\n      type: Boolean,\n      default: false\n    },\n    disableActionsColumn: {\n      type: Boolean,\n      default: false\n    },\n    enableSearch: {\n      type: Boolean,\n      default: false\n    },\n    disableSearch: {\n      type: Array,\n      default: () => [],\n    },\n    value: {\n      type: null,\n      default: \"\"\n    },\n  },\n  mounted() {\n\n    this.setValue(this.value)\n\n    if (this.primaryKeyArrayIds !== '') {\n      //Especificado uma coluna id diferente do padrão de leitura para utilização de ações em massa\n      this.localPrimaryKeyArrayIds = this.primaryKeyArrayIds\n    } else {\n      this.localPrimaryKeyArrayIds = this.primaryKeyColumn\n    }\n\n    if (this.titleItems !== '') {\n      this.localTitleItems = this.titleItems\n    } else {\n\n      if (this.userAuth && this.userAuth.currentPage && this.userAuth.currentPage.singularTitle) {\n        this.localTitleItems = this.userAuth.currentPage.singularTitle + \"s\"\n      } else {\n        this.localTitleItems = 'registros'\n      }\n    }\n\n  },\n  methods: {\n\n    checkShowSearch(field) {\n\n      let show = true\n\n      if (this.disableSearch.length > 0) {\n\n        if (this.disableSearch.includes(field.key))\n          show = false\n\n      }\n\n      return show\n\n    },\n\n    selectAllItems() {\n\n      //Condição para remoção geral, será somente se todos estiverem marcados\n      if (this.onItems.length === this.valueChecked.length && this.valueChecked.length > 0) {\n        //Remover todos\n        this.valueChecked = []\n\n      } else {\n        //Selecionar todos\n\n        this.valueChecked = []\n\n        for (const item of this.onItems) {\n          this.valueChecked.push(item[this.localPrimaryKeyArrayIds])\n        }\n\n      }\n    },\n\n    checkBackgroundLine(id) {\n\n      let style = {}\n\n      if (this.command === 'insert' || this.command === 'update') {\n\n        if (this.enableChecked) {\n          if (this.valueChecked.includes(id)) {\n            style.backgroundColor = this.colorLineSelected\n          }\n\n\n        } else if (this.enableRadio) {\n          if (this.valueRadio === id) {\n            style.backgroundColor = this.colorLineSelected\n          }\n\n\n        }\n\n      }\n\n\n      return style\n    },\n\n    onLineClick(id) {\n\n      if (this.enableChecked && (this.command === 'insert' || this.command === 'update')) {\n\n        if (this.valueChecked.includes(id)) {\n          //Já existe por tanto remover\n          const indexRemove = this.valueChecked.indexOf(id);\n          this.valueChecked.splice(indexRemove, 1);\n\n        } else {\n          //Não existe, por tanto adicionar\n          this.valueChecked.push(id)\n        }\n\n      } else if (this.enableRadio) {\n        this.valueRadio = id\n      }\n\n\n    },\n\n    setValue(v) {\n      if (this.enableRadio) {\n        this.valueRadio = v\n      } else {\n        this.valueChecked = v\n      }\n\n    },\n\n    reload() {\n      this.$emit(\"reload\")\n    },\n\n    clickPage(page) {\n      this.$emit('getPage', page)\n    },\n    removeAccentuation(str) {\n      return str.normalize(\"NFD\").replace(/[\\u0300-\\u036f]/g, \"\");\n    },\n\n    changePage(page) {\n\n      if (page > 0 && page <= this.totalPagesComputed) {\n        this.currentPage = page;\n      }\n    }\n\n  },\n  watch: {\n    value(v) {\n      this.setValue(v)\n    },\n\n    valueChecked(v) {\n\n      this.$emit(\"input\", v)\n      this.$emit(\"change\", v)\n\n    },\n\n    valueRadio(v) {\n      this.$emit(\"input\", v)\n      this.$emit(\"change\", v)\n    }\n    /*modalSearch(v) {\n\n    }*/\n\n  },\n  computed: {\n\n    totalPagesComputed() {\n      return this.enablePagination ? Math.ceil(this.onItems.length / this.pageSize) : 1;\n    },\n    paginatedItems() {\n      if (!this.enablePagination) return this.onItems;\n      const start = (this.currentPage - 1) * this.pageSize;\n      return this.onItems.slice(start, start + this.pageSize);\n    },\n\n    onItems() {\n\n      if (this.command === 'view' || this.command === 'delete') {\n        return this.items.filter(item => this.valueChecked.includes(item[this.localPrimaryKeyArrayIds]))\n      } else {\n\n        let filteredItems = this.items\n\n        for (const field of this.fields) {\n\n          if (field.search !== undefined && field.search !== '') {\n\n            if (field.formatter !== undefined && field.formatter !== '' && (field.formatter === 'money' || field.formatter === 'percent')) {\n\n              if (field.search > 0) {\n\n                filteredItems = filteredItems.filter(item => {\n                  const itemValue = item[field.key];\n                  return itemValue.toString().includes(field.search);\n                });\n\n              }\n\n            } else {\n\n\n              // Remove acentuação da busca\n              const searchValue = this.removeAccentuation(field.search).toLowerCase();\n\n              // Aplica o filtro para cada campo com 'search' preenchido\n              filteredItems = filteredItems.filter(item => {\n                const itemValue = item[field.key] ? this.removeAccentuation(item[field.key]).toLowerCase() : '';\n                return itemValue.includes(searchValue);\n              });\n\n\n            }\n\n\n          }\n        }\n\n        return filteredItems\n\n\n      }\n\n\n    }\n\n  }\n}\n</script>\n<style>\n.table-checked-all .custom-control-label:before {\n  border-color: #00a1ee;\n  background-color: #7ecffc;\n\n}\n\n.table-checked-all .custom-control-input:checked ~ .custom-control-label::before, .table-checked-all .custom-control-input:indeterminate ~ .custom-control-label::before {\n  color: #fff;\n  border-color: #00a1ee !important;\n  background-color: #0075b0 !important;\n}\n\n.table-input-enabled tbody .input-hover:hover {\n  cursor: pointer;\n}\n\n</style>","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./t-table.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./t-table.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./t-table.vue?vue&type=template&id=d5081d5c&\"\nimport script from \"./t-table.vue?vue&type=script&lang=js&\"\nexport * from \"./t-table.vue?vue&type=script&lang=js&\"\nimport style0 from \"./t-table.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.column === 'status')?_c('div',[_vm._v(\" \"+_vm._s(_vm._f(\"statusLabel\")(_vm.item.status))+\" \")]):(_vm.formatter === null || _vm.formatter === undefined || _vm.formatter === '')?_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.checkReplaceLine())}}):(_vm.formatter === 'money')?_c('span',{staticClass:\"td-align-right\"},[_vm._v(_vm._s(_vm._f(\"money\")(_vm.getItemValue())))]):(_vm.formatter === 'number')?_c('span',{staticClass:\"td-align-right\"},[_vm._v(_vm._s(_vm._f(\"number\")(_vm.getItemValue())))]):(_vm.formatter === 'boolean')?_c('span',[_vm._v(_vm._s(_vm._f(\"yesOrNot\")(_vm.getItemValue())))]):(_vm.formatter === 'date')?_c('span',[_vm._v(_vm._s(_vm._f(\"date\")(_vm.getItemValue())))]):(_vm.formatter === 'datetime')?_c('span',[_vm._v(_vm._s(_vm._f(\"datetime\")(_vm.getItemValue())))]):(_vm.formatter === 'weightKg')?_c('span',[_vm._v(_vm._s(_vm._f(\"weightKg\")(_vm.getItemValue())))]):(_vm.formatter.indexOf('lpad') > -1)?_c('span',[_vm._v(_vm._s(_vm._f(\"lpad\")(_vm.getItemValue(),4)))]):(_vm.formatter === 'balance')?_c('span',{staticClass:\"td-align-right\",staticStyle:{\"font-weight\":\"bold\"}},[(_vm.getItemValue() > 0)?_c('span',{staticStyle:{\"color\":\"#3230d4\"}},[_vm._v(_vm._s(_vm._f(\"number\")(_vm.getItemValue())))]):(_vm.getItemValue() < 0)?_c('span',{staticStyle:{\"color\":\"#e00000\"}},[_vm._v(_vm._s(_vm._f(\"number\")(_vm.getItemValue())))]):_c('span',{staticStyle:{\"color\":\"#000\"}},[_vm._v(_vm._s(_vm._f(\"number\")(_vm.getItemValue())))])]):(_vm.formatter === 'color' &&  _vm.getItemValue() !== '')?_c('span',[_c('div',{staticClass:\"mb-2 mr-2 badge badge-dot badge-dot-xl\",style:({'background-color': _vm.getItemValue()})})]):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\n  <div v-if=\"column === 'status'\">\n    {{ item.status | statusLabel }}\n  </div>\n  <span v-else-if=\"formatter === null || formatter === undefined || formatter === ''\" v-html=\"checkReplaceLine()\"></span>\n  <span v-else-if=\"formatter === 'money'\" class=\"td-align-right\">{{ getItemValue() | money }}</span>\n  <span v-else-if=\"formatter === 'number'\" class=\"td-align-right\">{{ getItemValue() | number }}</span>\n  <span v-else-if=\"formatter === 'boolean'\">{{ getItemValue()  | yesOrNot }}</span>\n  <span v-else-if=\"formatter === 'date'\">{{ getItemValue()  | date }}</span>\n  <span v-else-if=\"formatter === 'datetime'\">{{ getItemValue()  | datetime }}</span>\n  <span v-else-if=\"formatter === 'weightKg'\">{{ getItemValue()  | weightKg }}</span>\n  <span v-else-if=\"formatter.indexOf('lpad') > -1\">{{ getItemValue() | lpad(4) }}</span>\n  <span v-else-if=\"formatter === 'balance'\" class=\"td-align-right\" style=\"font-weight: bold;\">\n\n    <span v-if=\"getItemValue() > 0\" style=\"color: #3230d4;\">{{ getItemValue()  | number }}</span>\n    <span v-else-if=\"getItemValue() < 0\" style=\"color: #e00000\">{{ getItemValue()  | number }}</span>\n    <span v-else style=\"color: #000\">{{ getItemValue()  | number }}</span>\n\n  </span>\n  <span v-else-if=\"formatter === 'color' &&  getItemValue() !== ''\">\n      <div class=\"mb-2 mr-2 badge badge-dot badge-dot-xl\" :style=\"{'background-color': getItemValue()}\">\n\n      </div>\n  </span>\n\n\n\n\n</template>\n<script>\nexport default {\n  name: 't-table-field',\n  data() {\n    return {\n    }\n  },\n  props: {\n    column: {\n      type: String,\n    },\n    formatter: {\n      type: String,\n      default: \"\",\n    },\n    label: { /*Quando utilizado significa que é um texto fixo para formatação*/\n      type: [String, Number],\n      default: \"\",\n    },\n    item: {\n      type: Object,\n    },\n  },\n  methods: {\n\n    checkReplaceLine(){\n\n      let value = this.getItemValue()\n\n      if(value !== null && value !== '' && value !== undefined && typeof value === 'string'){\n        value = value.replace(/\\n/g,'<br />')\n      }\n\n      return value\n\n\n    },\n\n    getItemValue() {\n\n\n      if (this.label !== '' || this.label > 0) {\n\n        return this.label\n\n      } else {\n\n        let item = this.item\n        const key = this.column\n\n        if (key.indexOf('field_') === 0) {\n          /*Fieldcustom*/\n\n          if (item.fieldsCustom && item.fieldsCustom[key]) {\n            return item.fieldsCustom[key]\n          } else {\n            return ''\n          }\n\n        } else if (key.indexOf('.') > -1) {\n\n          const obj = key.substring(0, key.indexOf(\".\"))\n          const attribute = key.substring(key.indexOf(\".\") + 1)\n\n          if (item[obj] && item[obj][attribute]) {\n            return item[obj][attribute]\n          } else {\n            return ''\n          }\n\n        } else {\n          return item[key]\n        }\n\n\n      }\n\n\n    }\n  }\n}\n</script>","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./t-table-field.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./t-table-field.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./t-table-field.vue?vue&type=template&id=3d20b865&\"\nimport script from \"./t-table-field.vue?vue&type=script&lang=js&\"\nexport * from \"./t-table-field.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"mb-3\",staticStyle:{\"max-width\":\"600px\",\"margin\":\"auto\"}},[(_vm.dialogRoutineShow)?_c('t-report-generate-dialog-routine-by-part',{attrs:{\"url\":_vm.urlDownload,\"server-onlaine-api\":_vm.dialogRoutineServerOnlaineApi,\"total-rows\":_vm.dialogRoutineTotalRows,\"total-parts\":_vm.dialogRoutineTotalParts}}):_vm._e(),_c('t-form-card',{attrs:{\"title\":_vm.title,\"help\":_vm.help}},[(_vm.onStatus === 'sending')?_c('div',{staticClass:\"d-flex justify-content-center\",staticStyle:{\"position\":\"absolute\",\"width\":\"100%\",\"height\":\"100%\",\"left\":\"0\",\"z-index\":\"3\",\"background-color\":\"rgba(255,255,255,0.5)\"}},[_c('transition',{attrs:{\"name\":\"fade\"}},[_c('div',{staticClass:\"d-flex justify-content-center align-items-center p-5\"},[_c('div',{staticClass:\"loader\"},[_c('div',{staticClass:\"ball-spin-fade-loader\"},[_c('div'),_c('div'),_c('div'),_c('div'),_c('div'),_c('div'),_c('div'),_c('div')])])])])],1):_vm._e(),_c('validation-observer',{ref:\"validation\",scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar invalid = ref.invalid;\nvar errors = ref.errors;\nreturn [_c('span',{staticClass:\"display-none\"},[_vm._v(\" \"+_vm._s(_vm.errorList = errors)+\" \"+_vm._s(_vm.isInvalid = invalid)+\" \")]),_c('form',{ref:\"form\",class:{'form-loading':_vm.busy},attrs:{\"action\":\"\",\"target\":\"_blank\",\"method\":\"post\",\"autocomplete\":\"off\"},on:{\"submit\":function($event){$event.preventDefault();return _vm.onSubmit.apply(null, arguments)}}},[_c('t-form-wrapped',{attrs:{\"status\":_vm.onStatus}},[_vm._t(\"default\",null,{\"status\":_vm.onStatus}),(_vm.enableSetting && _vm.showSetting)?_c('div',{staticClass:\"divider\"}):_vm._e(),(_vm.enableSetting && _vm.showSetting)?_vm._t(\"setting\",null,{\"status\":_vm.onStatus}):_vm._e(),(_vm.enableSetting && _vm.showSetting)?_c('div',{staticClass:\"divider\"}):_vm._e(),(_vm.groupedPeriodOptions.length > 1 || _vm.formatOptions.length > 1)?_c('div',{staticClass:\"pb-2\"},[_c('b-row',[(_vm.groupedPeriodOptions.length > 1)?_c('t-input',{attrs:{\"cols\":\"6\",\"radio\":\"\",\"radio-button\":\"\",\"label\":\"Agrupamento\",\"options\":_vm.groupedPeriodOptions},model:{value:(_vm.groupedPeriod),callback:function ($$v) {_vm.groupedPeriod=$$v},expression:\"groupedPeriod\"}}):_vm._e(),(_vm.formatOptions.length > 1)?_c('t-input',{attrs:{\"cols\":\"6\",\"radio\":\"\",\"radio-button\":\"\",\"label\":\"Formato\",\"options\":_vm.formatOptions},model:{value:(_vm.format),callback:function ($$v) {_vm.format=$$v},expression:\"format\"}}):_vm._e()],1)],1):_vm._e(),(_vm.enabledTotalByPeriod)?_c('div',{staticClass:\"mb-2 ml-2 pb-2 pt-2 border-top\"},[_c('b-form-checkbox',{attrs:{\"switch\":\"\"},model:{value:(_vm.totalByGrouped),callback:function ($$v) {_vm.totalByGrouped=$$v},expression:\"totalByGrouped\"}},[_vm._v(\" Totalizar resultados por período \"),_c('t-help',{attrs:{\"title\":_vm.totalByPeriodHelp}})],1)],1):_vm._e()],2),_c('div',{staticClass:\"d-flex align-items-center justify-content-center\"},[(_vm.enableSetting)?_c('t-button',{staticClass:\"mt-3 mr-2\",attrs:{\"light\":\"\",\"form-inline\":\"\"},on:{\"click\":function($event){_vm.showSetting = !_vm.showSetting}}},[_c('b-icon-gear',{staticClass:\"mr-2\"}),_vm._v(\" Configurar \")],1):_vm._e(),_c('t-button',{staticClass:\"mt-3 ml-0\",attrs:{\"primary\":\"\",\"form-inline\":\"\",\"submit-fake\":\"\",\"sending\":_vm.onSending},on:{\"click\":_vm.onSubmit}},[_c('b-icon-bar-chart',{staticClass:\"mr-2\"}),_vm._v(\" Gerar \"+_vm._s(_vm.localButtonTitle)+\" \")],1),(_vm.enableReportByPart)?_c('t-button',{staticClass:\"mt-3 ml-2\",attrs:{\"outline-primary\":\"\",\"form-inline\":\"\",\"submit-fake\":\"\",\"to\":\"my-report\"}},[_c('b-icon-card-heading',{staticClass:\"mr-2\"}),_vm._v(\" Histórico \")],1):_vm._e()],1)],1)]}}],null,true)})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-modal',{ref:\"modal\",attrs:{\"id\":\"modal-report-dialog-routine-by-part\",\"title\":\"Relatório Avançado\",\"cancel-title\":\"Cancelar\"},on:{\"show\":_vm.onShow,\"hidden\":_vm.onHidden,\"ok\":_vm.handleOk},scopedSlots:_vm._u([{key:\"modal-footer\",fn:function(ref){\nvar ok = ref.ok;\nreturn [_c('t-button',{attrs:{\"text\":\"Solicitar Relatório\",\"sending\":_vm.onSending,\"primary\":\"\"},on:{\"click\":function($event){return ok()}}})]}}])},[_c('validation-observer',{ref:\"validation\"},[_c('b-form',{ref:\"form\",on:{\"submit\":function($event){$event.preventDefault();return _vm.onSubmit.apply(null, arguments)}}},[_c('t-form-wrapped',{attrs:{\"command\":_vm.command,\"status\":_vm.onStatus}},[_c('b-card-title',[_vm._v(\"E-mail para aviso de relatório processado\")]),_c('t-input',{attrs:{\"label\":\"E-mail\",\"submitted\":\"\",\"email-multiple\":\"\",\"hide-label\":\"\"},model:{value:(_vm.email),callback:function ($$v) {_vm.email=$$v},expression:\"email\"}}),_vm._v(\" Iremos processar seu relatório dentro de aproxidamente 10 minutos. Você receberá um aviso quando estiver finalizado. \")],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\n  <b-modal\n      id=\"modal-report-dialog-routine-by-part\"\n      ref=\"modal\"\n      title=\"Relatório Avançado\"\n      cancel-title=\"Cancelar\"\n      @show=\"onShow\"\n      @hidden=\"onHidden\"\n      @ok=\"handleOk\">\n\n    <validation-observer ref=\"validation\">\n\n\n      <b-form @submit.prevent=\"onSubmit\" ref=\"form\">\n\n        <t-form-wrapped :command=\"command\" :status=\"onStatus\">\n          <b-card-title>E-mail para aviso de relatório processado</b-card-title>\n          <t-input label=\"E-mail\" v-model=\"email\" submitted email-multiple hide-label/>\n          Iremos processar seu relatório dentro de aproxidamente 10 minutos. Você receberá um aviso quando estiver\n          finalizado.\n\n        </t-form-wrapped>\n\n      </b-form>\n\n    </validation-observer>\n\n    <template #modal-footer=\"{ ok }\">\n\n      <t-button @click=\"ok()\" text=\"Solicitar Relatório\" :sending=\"onSending\" primary/>\n\n    </template>\n\n  </b-modal>\n\n</template>\n<script>\nimport ui from \"@/assets/scripts/ui\";\nimport http from \"@/services/config/http-common\";\n\nexport default {\n  name: 't-report-generate-dialog-routine-by-part',\n\n  data() {\n    return {\n      status: \"\",\n      email: \"\",\n    }\n  },\n  props: {\n    command: {\n      type: String,\n      default: 'insert'\n    },\n    url: String,\n    serverOnlaineApi: Boolean,\n    totalRows: Number,\n    totalParts: Number,\n  },\n  mounted() {\n    this.email = ui.getEmailUser()\n  },\n  computed: {\n    onStatus() {\n      return this.status\n    },\n    onSending() {\n      return this.status === \"sending\"\n    },\n  },\n  methods: {\n\n    onShow() {\n      this.$emit('show')\n    },\n    onHidden() {\n      this.$emit('hidden')\n    },\n    async handleOk(bvModalEvt) {\n\n      bvModalEvt.preventDefault()\n      await this.onSubmit()\n\n    },\n    async onSubmit() {\n\n      //Avisa o pai que mudou o status para submetido\n      this.status = \"subject\"\n\n      await this.$refs.validation.validate().then(async success => {\n\n        if (!success) {\n          return;\n        }\n\n        if (this.serverOnlaineApi) {\n\n          await http.get(this.url + \"&emailRoutineByPart=\"+this.email).then(() => {\n            this.status = \"subject\"\n            this.$bvModal.hide('modal-report-dialog-routine-by-part')\n            ui.msg(this, 'Relatório solicitado', \"Seu relatório foi solicitado com sucesso!<br />Caso desejar aguardar o processamento acesse: <br /><a href='/general/my-report'>Meus Relatórios</a> ou clique no botão 'Histórico'\")\n            this.$emit('onSubmit')\n\n\n          }).catch(() => {\n            ui.msgError(this, 'Desculpe, houve uma falha ao tentar adicionar seu relatório na fila de processamento, por favor tente novamente e caso o problema persistir informe nosso suporte técnico.')\n          })\n\n        } else {\n\n          let url = this.url.replace('general/report/generate?', 'general/report/stack-routine-by-part?totalRows=' + this.totalRows + '&totalParts=' + this.totalParts + \"&emailRoutineByPart=\" + this.email + \"&\")\n\n\n          await http.get(url).then(() => {\n\n            this.$bvModal.hide('modal-report-dialog-routine-by-part')\n            ui.msg(this, 'Relatório solicitado', \"Seu relatório foi solicitado com sucesso!<br />Por favor, aguarde até 10min para receber no e-mail informado.\")\n\n            this.$emit('onSubmit')\n\n          }).catch(() => {\n            ui.msgError(this, 'Desculpe, houve uma falha ao tentar adicionar seu relatório na fila de processamento, por favor tente novamente e caso o problema persistir informe nosso suporte técnico.')\n          })\n\n\n        }\n\n\n      });\n\n\n    }\n\n\n  }\n}\n</script>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./t-report-generate-dialog-routine-by-part.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./t-report-generate-dialog-routine-by-part.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./t-report-generate-dialog-routine-by-part.vue?vue&type=template&id=b3505800&\"\nimport script from \"./t-report-generate-dialog-routine-by-part.vue?vue&type=script&lang=js&\"\nexport * from \"./t-report-generate-dialog-routine-by-part.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","<template>\n\n  <div style=\"max-width: 600px; margin: auto\" class=\"mb-3\">\n\n    <t-report-generate-dialog-routine-by-part v-if=\"dialogRoutineShow\"\n                                              :url=\"urlDownload\"\n                                              :server-onlaine-api=\"dialogRoutineServerOnlaineApi\"\n                                              :total-rows=\"dialogRoutineTotalRows\"\n                                              :total-parts=\"dialogRoutineTotalParts\"\n    />\n\n    <t-form-card :title=\"title\" :help=\"help\">\n\n      <div v-if=\"onStatus === 'sending'\"\n           style=\"position: absolute; width: 100%; height: 100%; left: 0; z-index: 3; background-color: rgba(255,255,255,0.5)\"\n           class=\"d-flex justify-content-center\">\n\n        <transition name=\"fade\">\n\n          <div class=\"d-flex justify-content-center align-items-center p-5\">\n\n            <div class=\"loader\">\n              <div class=\"ball-spin-fade-loader\">\n                <div></div>\n                <div></div>\n                <div></div>\n                <div></div>\n                <div></div>\n                <div></div>\n                <div></div>\n                <div></div>\n              </div>\n            </div>\n\n\n          </div>\n\n\n        </transition>\n      </div>\n\n\n      <!--FICOU DIFICIL A INTERPRETAÇÃO NA MESMA TELA COM POPUP, POR ISSO DESABILITADA ESTA VISUALIZAÇÃO      -->\n      <!--      <b-modal @ok=\"handleOk\" ref=\"modalReport\" size=\"xl\" :title=\"title\" scrollable no-close-on-esc\n                     no-close-on-backdrop>\n              <div class=\"report_container_data\" id=\"section-to-print\" v-html=\"reportHtml\"></div>\n\n              <template #modal-footer=\"{ ok, cancel }\">\n\n                <t-button @click=\"cancel()\" class=\"mr-3\" text=\"Fechar\" outline-secondary/>\n                <t-button @click=\"ok()\" primary>\n                  <b-icon-printer class=\"mr-2\"/>\n                  Imprimir\n                </t-button>\n\n              </template>\n\n            </b-modal>-->\n\n      <validation-observer ref=\"validation\" v-slot=\"{invalid,errors}\">\n\n              <span class=\"display-none\">\n                {{ errorList = errors }}\n                {{ isInvalid = invalid }}\n              </span>\n\n        <form @submit.prevent=\"onSubmit\" action=\"\" target=\"_blank\" method=\"post\" autocomplete=\"off\"\n              :class=\"{'form-loading':busy}\" ref=\"form\">\n\n          <t-form-wrapped :status=\"onStatus\">\n            <slot :status=\"onStatus\"></slot>\n\n            <div class=\"divider\" v-if=\"enableSetting && showSetting\"></div>\n\n            <slot name=\"setting\" v-if=\"enableSetting && showSetting\" :status=\"onStatus\"></slot>\n\n            <div class=\"divider\" v-if=\"enableSetting && showSetting\"></div>\n\n\n            <div class=\"pb-2\" v-if=\"groupedPeriodOptions.length > 1 || formatOptions.length > 1\">\n\n              <b-row>\n\n                <t-input v-if=\"groupedPeriodOptions.length > 1\" cols=\"6\" radio radio-button label=\"Agrupamento\"\n                         v-model=\"groupedPeriod\" :options=\"groupedPeriodOptions\"/>\n\n                <t-input v-if=\"formatOptions.length > 1\" cols=\"6\" radio radio-button label=\"Formato\" v-model=\"format\"\n                         :options=\"formatOptions\"/>\n              </b-row>\n\n            </div>\n\n            <div v-if=\"enabledTotalByPeriod\" class=\"mb-2 ml-2 pb-2 pt-2 border-top\">\n\n              <b-form-checkbox v-model=\"totalByGrouped\"\n                               switch> Totalizar resultados por período\n                <t-help :title=totalByPeriodHelp />\n              </b-form-checkbox>\n\n            </div>\n\n\n          </t-form-wrapped>\n\n\n          <div class=\"d-flex align-items-center justify-content-center\">\n\n\n\n\n            <t-button light v-if=\"enableSetting\" form-inline @click=\"showSetting = !showSetting\"  class=\"mt-3 mr-2\">\n              <b-icon-gear class=\"mr-2\"/>\n              Configurar\n            </t-button>\n\n            <t-button primary form-inline submit-fake @click=\"onSubmit\" :sending=\"onSending\" class=\"mt-3 ml-0\">\n              <b-icon-bar-chart class=\"mr-2\"/>\n              Gerar {{ localButtonTitle }}\n            </t-button>\n\n            <t-button v-if=\"enableReportByPart\" outline-primary form-inline submit-fake to=\"my-report\"\n                      class=\"mt-3 ml-2\">\n              <b-icon-card-heading class=\"mr-2\"/>\n              Histórico\n            </t-button>\n\n          </div>\n\n\n        </form>\n\n      </validation-observer>\n\n    </t-form-card>\n\n\n  </div>\n\n\n</template>\n<script>\n\nimport functionsMixins from \"@/mixins/page/functionsMixins\";\nimport ui from \"@/assets/scripts/ui\";\nimport http from \"@/services/config/http-common\";\nimport tReportGenerateDialogRoutineByPart from \"@/components/template/theme/t-report-generate-dialog-routine-by-part\";\n\nexport default {\n  name: 't-report-generate',\n  components: {tReportGenerateDialogRoutineByPart},\n  mixins: [functionsMixins],\n  data() {\n    return {\n      form: {},\n      status: \"\",\n      urlDownload: \"\",\n      urlPrint: \"\",\n      groupedPeriod: \"\",\n      groupedPeriodOptions: [],\n      format: \"\",\n      formatOptions: [],\n      reportHtml: \"\",\n      totalByGrouped: false,\n      dialogRoutineShow: false,\n      dialogRoutineServerOnlaineApi: false,\n      dialogRoutineTotalRows: 0,\n      dialogRoutineTotalParts: 0,\n      localButtonTitle: \"\",\n      showSetting:false,\n    }\n  },\n  props: {\n    title: {\n      type: String,\n      default: ''\n    },\n    help: {\n      type: String,\n      default: \"\"\n    },\n    buttonTitle: {\n      type: String,\n      default: ''\n    },\n    /*Itens por padrão habilitados*/\n    defaultPdf: Boolean,\n    defaultXls: Boolean,\n    enableGenerateHtml: Boolean,\n    enableGeneratePdf: Boolean,\n    enableGenerateExcel: Boolean,\n    enableGenerateWord: Boolean,\n    enableReportByPart: Boolean,\n    enableSetting: Boolean,\n    javaReport: Boolean,\n    relationKey: {\n      type: Number,\n      default: 0\n    },\n    origin: {\n      type: String,\n      default: \"\"\n    },\n    /*----------------------------*/\n    /*Itens por padrão desabilitados*/\n    enableGroupedPeriod: Boolean,\n    enabledTotalByPeriod: Boolean,\n    totalByPeriodHelp: {\n      type: String,\n      default: 'Insere o totalizador de acordo com o tipo de agrupamento do período, exemplos: Diário, Mensal ou Anual.'\n    },\n    /*----------------------------*/\n    value: {\n      type: Object,\n      required: true,\n    },\n    command: {\n      type: String,\n      default: 'insert'\n    },\n    landscape: Boolean,\n    subValidationTag: String,\n    busy: {//busy principal\n      type: Boolean,\n      default: false,\n    },\n  },\n  async mounted() {\n\n    this.setValue(this.value)\n\n    if (this.buttonTitle !== '') {\n      this.localButtonTitle = this.buttonTitle\n    } else {\n      this.localButtonTitle = this.title\n    }\n\n    if (this.enableGroupedPeriod) {\n\n      //Agrupamento padrão de período, no futuro poderá ter diferentes ou mesmo excluir algum tipo.\n      this.groupedPeriodOptions.push({value: \"D\", text: \"Diário\"})\n      this.groupedPeriodOptions.push({value: \"M\", text: \"Mensal\"})\n      this.groupedPeriodOptions.push({value: \"Y\", text: \"Anual\"})\n\n      //O padrão será o primeiro da listagem\n      this.groupedPeriod = this.groupedPeriodOptions[0].value\n\n    }\n\n    if (this.enableGenerateHtml) {\n      this.formatOptions.push({value: \"html\", text: \"Visualizar\"})\n    }\n\n    if (this.enableGenerateExcel) {\n      this.formatOptions.push({value: \"xls\", text: \"Excel\"})\n    }\n\n    if (this.enableGeneratePdf) {\n      this.formatOptions.push({value: \"pdf\", text: \"PDF\"})\n    }\n\n    if (this.enableGenerateWord) {\n      this.formatOptions.push({value: \"docx\", text: \"Word\"})\n    }\n\n    //O padrão será o primeiro da listagem\n    if (this.defaultPdf) {\n      this.format = \"pdf\"\n    } else if (this.defaultXls) {\n      this.format = \"xls\"\n    } else {\n      this.format = this.formatOptions[0].value\n    }\n\n  },\n  methods: {\n\n    reportError(error) {\n\n      this.status = \"subject\"\n\n      if (error.response) {\n        if (error.response.status === 500) {\n          if (error.response.data) {\n            if (error.response.data.message) {\n              ui.msgError(this, 'Erro', error.response.data)\n            } else {\n              //console.log(error)\n              ui.msgError(this, error.response.data.general[0])\n            }\n          }\n        }\n      } else if (error !== '') {\n        ui.msgError(this, \"Erro\", error)\n      }\n    },\n\n    setValue(v) {\n      this.form = v\n    },\n\n    handleOk(bvModalEvt) {\n\n      bvModalEvt.preventDefault()\n\n      window.open(\"/\" + this.urlPrint)\n\n      /*let myWindow = window.open('', 'PRINT', 'height=400,width=600');\n      myWindow.document.write('<html><head><title>' + this.title + '</title>');\n      myWindow.document.write(\"<link rel='stylesheet' media='all' type='text/css' href='https://custom.onlaine.com.br/assets/css/template.css'>\")\n      myWindow.document.write(\"<link rel='stylesheet' media='all' type='text/css' href='https://custom.onlaine.com.br/assets/css/bootstrap-vue.css'>\")\n      myWindow.document.write('</head><body >');\n      myWindow.document.write('<h1>' + this.title + '</h1>');\n      myWindow.document.write(this.reportHtml);\n      myWindow.document.write('</body></html>');\n\n      myWindow.document.close(); // necessary for IE >= 10\n      myWindow.focus(); // necessary for IE >= 10*!/\n\n      myWindow.print();\n      myWindow.close();*/\n\n    },\n\n    async onSubmit() {\n\n      //Avisa o pai que mudou o status para submetido\n      this.status = \"subject\"\n\n      this.$refs.validation.validate().then(async success => {\n\n        if (!success) {\n          return;\n        }\n\n        //URL para geração\n        this.urlDownload = \"general/report/generate?platform=web&origin=\" + this.origin + \"&subValidationTag=\" + this.subValidationTag + \"&type=R&format=\" + this.format + \"&groupedPeriod=\" + this.groupedPeriod + \"&totalByGrouped=\" + this.totalByGrouped + \"&relationKey=\" + this.relationKey + \"&title=\" + encodeURI(this.title)\n\n\n        //URL em caso de impressão de HTML\n        this.urlPrint = \"report-view/?landscape=\" + this.landscape + \"&subValidationTag=\" + this.subValidationTag + \"&groupedPeriod=\" + this.groupedPeriod + \"&totalByGrouped=\" + this.totalByGrouped + \"&title=\" + encodeURI(this.title)\n\n        let params = new URLSearchParams()\n\n        Object.keys(this.form).forEach(key => {\n\n          if (this.form[key] !== '' && this.form[key] !== 0) {\n            params.append(key, this.form[key])\n          }\n\n        })\n\n        if (params && Array.from(params).length > 0) {\n          this.urlDownload += `&${params}`\n          this.urlPrint += `&${params}`\n        }\n\n        if (this.enableReportByPart) {\n          //Formato novo utilizando o próprio back-end\n          this.status = \"subject\"\n          this.dialogRoutineShow = true\n          this.dialogRoutineServerOnlaineApi = true\n          this.dialogRoutineTotalRows = 0\n          this.dialogRoutineTotalParts = 0\n          this.openModal('modal-report-dialog-routine-by-part')\n\n          return;\n        }\n\n\n        this.status = \"sending\"\n\n        if (this.format === 'html') {\n\n          //Abre em nova janela para nesta sim realizar o get e exibir\n          window.open(\"/\" + this.urlPrint)\n\n          this.status = \"subject\"\n\n        } else if (this.format === 'pdf' || this.format === 'xls' || this.format === 'docx') {\n\n          let nameFile = ui.nameFile(this.title, this.format)\n\n          //Correção para Excel mais moderno para este tipo de relatório\n          if (this.javaReport) {\n            if (this.format === 'xls') {\n              nameFile = ui.nameFile(this.title, 'xlsx')\n            }\n          }\n\n          await http.download(this.urlDownload, nameFile).then(() => {\n            this.status = \"subject\"\n          }).catch(error => {\n\n            const b = new Blob([error.response.data], {type: \"application/json\"}),\n                fr = new FileReader();\n\n            fr.onload = e => {\n\n              const objectError = JSON.parse(e.target.result)\n\n              if (error.response.status === 500) {\n                this.status = \"subject\"\n                ui.msgError(this, objectError.general[0])\n              } else if (error.response.status === 610) {\n\n                //Formato antigo utilizando o ASP como relatórios avançados por partes\n                this.status = \"subject\"\n                this.dialogRoutineShow = true\n                this.dialogRoutineServerOnlaineApi = false\n                this.dialogRoutineTotalRows = objectError.totalRows\n                this.dialogRoutineTotalParts = objectError.totalParts\n                this.openModal('modal-report-dialog-routine-by-part')\n\n              }\n\n\n            }\n\n            fr.readAsText(b);\n\n\n          })\n\n        }\n\n      })\n\n    },\n\n  },\n  computed: {\n    onStatus() {\n      return this.status\n    },\n    onSending() {\n      return this.status === \"sending\"\n    },\n  },\n  watch: {\n    value(v) {\n      this.setValue(v)\n    },\n    form(v) {\n      this.$emit(\"input\", v)\n    }\n  }\n}\n</script>\n<style>\n.report_container_data {\n  height: calc(100vh - (220px));\n  overflow: auto;\n}\n</style>","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./t-report-generate.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./t-report-generate.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./t-report-generate.vue?vue&type=template&id=7f981c22&\"\nimport script from \"./t-report-generate.vue?vue&type=script&lang=js&\"\nexport * from \"./t-report-generate.vue?vue&type=script&lang=js&\"\nimport style0 from \"./t-report-generate.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","import Vue from 'vue'\r\n\r\n\r\n//Somente os componentes globais e utilizados sempre\r\nimport tPage from \"./template/page/t-page\"\r\nimport tPageTitle from \"./template/page/t-page-title\"\r\nimport tHeader from \"./template/page/t-header\"\r\nimport tFooter from \"./template/page/t-footer\"\r\nimport tDialogConfirm from \"./template/dialog/t-dialog-confirm\"\r\nimport tList from \"./template/page/t-list\"\r\nimport tListActionsDefault from \"./template/page/t-list-actions-default\"\r\nimport tListLinkPrimary from \"./template/page/t-list-link-primary\"\r\nimport tPageGeneral from \"./template/page/t-page-general\"\r\nimport tPageList from \"./template/page/t-page-list\"\r\nimport tPageForm from \"./template/page/t-page-form\"\r\nimport tPageReport from \"./template/page/t-page-report\"\r\nimport tFormCard from \"./template/form/layout/t-form-card\"\r\nimport tFormTab from \"./template/form/layout/t-form-tab\"\r\nimport tPageFormFieldCustomized from \"./template/page/t-page-form-field-customized\"\r\nimport tPagination from \"./template/page/t-pagination\"\r\nimport tContentHeaderSearchDefault from \"./template/page/t-content-header-search-default\"\r\nimport tButton from \"./template/theme/t-button/t-button\"\r\nimport tButtonSave from \"./template/theme/t-button/t-button-save\"\r\nimport tDropdown from \"./template/theme/t-button/t-dropdown\"\r\nimport tInput from \"./template/form/input/t-input/t-input\"\r\nimport tInputStatus from \"./template/form/input/t-input-status\"\r\nimport tInputSearch from \"./template/form/input/t-input-search\"\r\nimport tInputProduct from \"./template/form/finder/t-input-product\"\r\nimport tInputCodeLabel from \"./template/form/finder/t-input-code-label\"\r\nimport tInputPerson from \"./template/form/finder/t-input-person\"\r\nimport tInputStock from \"./template/form/finder/t-input-stock\"\r\nimport tLoading from \"./template/theme/t-loading\"\r\nimport tMsg from \"./template/theme/t-msg\"\r\nimport tHelp from \"./template/theme/t-help\"\r\nimport tProgressBarLine from \"./template/theme/t-progress-bar-line\"\r\nimport tMap from \"./template/theme/t-map\"\r\nimport tBlackout from \"./template/theme/t-blackout\"\r\nimport tWrapped from \"./template/theme/t-wrapped\"\r\nimport tFormWrapped from \"./template/form/resource/t-form-wrapped\"\r\nimport tTable from \"./template/theme/t-table\"\r\nimport tTableField from \"./template/theme/t-table-field\"\r\nimport tReportGenerate from \"@/components/template/theme/t-report-generate\";\r\n\r\nimport vSelect from 'vue-select'\r\nimport 'vue-select/dist/vue-select.css'\r\n\r\nimport Multiselect from 'vue-multiselect'\r\nimport 'vue-multiselect/dist/vue-multiselect.min.css'\r\n\r\nimport draggable from 'vuedraggable'\r\n\r\n//Calendário de inputs pequenos\r\nimport DatePicker from 'vue2-datepicker';\r\nimport 'vue2-datepicker/index.css';\r\nimport 'vue2-datepicker/locale/pt-br';\r\n\r\n//Calendário grande aberto (usado em produções, etc)\r\nimport Calendar from 'v-calendar/lib/components/calendar.umd'\r\n\r\nVue.component('calendar', Calendar)\r\n\r\n\r\n//Registrar componentes globais de tamplate e que são muito utilizados\r\nVue.component('t-page', tPage)\r\nVue.component('t-page-title', tPageTitle)\r\nVue.component('t-header', tHeader)\r\nVue.component('t-footer', tFooter)\r\nVue.component('t-dialog-confirm', tDialogConfirm)\r\nVue.component('t-list', tList)\r\nVue.component('t-list-actions-default', tListActionsDefault)\r\nVue.component('t-list-link-primary', tListLinkPrimary)\r\nVue.component('t-page-general', tPageGeneral)\r\nVue.component('t-page-list', tPageList)\r\nVue.component('t-page-form', tPageForm)\r\nVue.component('t-page-report', tPageReport)\r\nVue.component('t-form-card', tFormCard)\r\nVue.component('t-form-tab', tFormTab)\r\nVue.component('t-page-form-field-customized', tPageFormFieldCustomized)\r\nVue.component('t-content-header-search-default', tContentHeaderSearchDefault)\r\nVue.component('t-pagination', tPagination)\r\nVue.component('t-button', tButton)\r\nVue.component('t-button-save', tButtonSave)\r\nVue.component('t-dropdown', tDropdown)\r\nVue.component('t-input', tInput)\r\nVue.component('t-input-status', tInputStatus)\r\nVue.component('t-input-search', tInputSearch)\r\nVue.component('t-input-product', tInputProduct)\r\nVue.component('t-input-code-label', tInputCodeLabel)\r\nVue.component('t-input-person', tInputPerson)\r\nVue.component('t-input-stock', tInputStock)\r\nVue.component('t-wrapped', tWrapped)\r\nVue.component('t-loading', tLoading)\r\nVue.component('t-msg', tMsg)\r\nVue.component('t-help', tHelp)\r\nVue.component('t-progress-bar-line', tProgressBarLine)\r\nVue.component('t-map', tMap)\r\nVue.component('t-blackout', tBlackout)\r\nVue.component('t-form-wrapped', tFormWrapped)\r\nVue.component('t-table', tTable)\r\nVue.component('t-table-field', tTableField)\r\nVue.component('t-report-generate', tReportGenerate)\r\nVue.component('v-select', vSelect)\r\nVue.component('multiselect', Multiselect)\r\nVue.component('draggable', draggable)\r\nVue.component('date-picker', DatePicker)\r\n\r\nexport default {\r\n    tPage,\r\n    tHeader,\r\n    tFooter,\r\n    tList,\r\n    tListActionsDefault,\r\n    tListLinkPrimary,\r\n    tPagination,\r\n    tContentHeaderSearchDefault,\r\n    tButtonSave,\r\n}\r\n\r\n\r\n\r\n\r\n","export default {\r\n    'en': {\r\n        'yes': 'Yes',\r\n        'no': 'No',\r\n        'insert': 'Insert',\r\n        'update': 'Update',\r\n        'delete': 'Delete',\r\n        'view': 'View',\r\n        'user': 'User',\r\n        'password': 'Password',\r\n        'invalid': 'is invalid',\r\n        'required-a': 'is required',\r\n        'required-o': 'is required',\r\n        'min-length': 'must have at least',\r\n        'characters': 'characters',\r\n        'language-select': 'Language',\r\n        'onlaine-slogan': 'Technology combined with lean production',\r\n        'tech':'Technology',\r\n        'login-invalid': 'Invalid login data, try again or',\r\n        'login-welcome-line-1': 'Welcome back',\r\n        'login-welcome-line-2': 'Please sign in to your account.',\r\n        'login-support-contact': 'Contact us',\r\n        'login-dont-have-an-account': 'Don\\'t have an account?',\r\n        'login-keep': 'Keep me logged in',\r\n        'login-button': 'Login to Enter',\r\n        'login-recover-password': 'Recover Password',\r\n        'login-logout': 'Please login again',\r\n        'module-data': 'Data',\r\n        'go-back':'Go back',\r\n        'go-back-list': \"Back to List\",\r\n        'next':'Next',\r\n        'form': \"Form\",\r\n        'list-of': \"Listing of \",\r\n        'all': \"All\",\r\n        'duplicate':\"Duplicate\",\r\n        'form-of': \"Form of \",\r\n        'no-record-found': \"No records found!\",\r\n        'no-options': \"No options found!\",\r\n        'not-have-access':'You do not have access',\r\n        'not-have-access-include':'You do not have access to include ',\r\n        'not-have-access-change':'You do not have access to change ',\r\n        'not-have-Access-delete':'You do not have access to delete ',\r\n        'not-have-access-view':'You do not have access to view ',\r\n        'inserted-with-success':'inserted with success!',\r\n        'altered-with-success':'altered with success!',\r\n        'deleted-with-success':'deleted with success!',\r\n        'confirm':'Confirm',\r\n        'error':'Error',\r\n        'msg-confirm-delete':'Are you sure you want to permanently delete it?',\r\n        'msg-check-all-errors-before-continued':'Check for errors before proceeding',\r\n    },\r\n    'es': {\r\n        'yes': 'Sí',\r\n        'no': 'No',\r\n        'insert': 'Insertar',\r\n        'update': 'Actualizar',\r\n        'delete': 'Eliminar',\r\n        'view': 'Visualizar',\r\n        'user': 'Usuario',\r\n        'password': 'Contraseña',\r\n        'invalid': 'no es válido',\r\n        'required-a': 'se requiere',\r\n        'required-o': 'se requiere',\r\n        'min-length': 'mínimo',\r\n        'characters': 'caracteres',\r\n        'language-select': 'Idioma',\r\n        'onlaine-slogan': 'Tecnología combinada con producción ajustada',\r\n        'tech':'Tecnología',\r\n        'login-invalid': 'Datos de inicio de sesión no válidos, inténtelo de nuevo o',\r\n        'login-welcome-line-1': 'Bienvenido de nuevo, ',\r\n        'login-welcome-line-2': 'Por favor, ingrese a su cuenta.',\r\n        'login-support-contact': 'Entre en contacto',\r\n        'login-dont-have-an-account': '¿No tienes una cuenta?',\r\n        'login-keep': 'Mantenme conectado',\r\n        'login-button': 'Inicio de sesión',\r\n        'login-recover-password': 'Recuperar contraseña',\r\n        'login-logout': 'Por favor inicie sesión de nuevo',\r\n        'module-data': 'Catastro',\r\n        'go-back':'Volver',\r\n        'go-back-list': \"Volver a la lista\",\r\n        'next':'Avançar',\r\n        'form': \"Forma\",\r\n        'list-of': \"Listado de \",\r\n        'all': \"Todos\",\r\n        'duplicate':\"Duplicar\",\r\n        'form-of': \"Forma de \",\r\n        'no-record-found': \"¡No se encontraron registros!\",\r\n        'no-options': \"¡No se encontraron opciones!\",\r\n        'not-have-access':'No tienes acceso',\r\n        'not-have-access-include':'No tienes acceso para incluir ',\r\n        'not-have-access-change':'No tienes acceso para cambiar ',\r\n        'not-have-Access-delete':'No tienes acceso para eliminar ',\r\n        'not-have-access-view':'No tienes acceso para ver ',\r\n        'inserted-with-success':'añadid%gender%%plural% con exito!',\r\n        'altered-with-success':'cambiad%gender%%plural% con exito!',\r\n        'deleted-with-success':'eliminad%gender%%plural% con exito!',\r\n        'confirm':'Confirmación',\r\n        'error':'Erro',\r\n        'msg-confirm-delete':'¿Está seguro de que desea eliminarlo de forma permanente?',\r\n        'msg-check-all-errors-before-continued':'Compruebe si hay errores antes de continuar',\r\n    },\r\n    'pt-BR': {\r\n        'yes': 'Sim',\r\n        'no': 'Não',\r\n        'insert': 'Inserir',\r\n        'update': 'Atualizar',\r\n        'delete': 'Excluir',\r\n        'view': 'Vista',\r\n        'user': 'Usuário',\r\n        'password': 'Senha',\r\n        'invalid': 'é inválido',\r\n        'required-a': 'é requerida',\r\n        'required-o': 'é requerido',\r\n        'min-length': 'mínimo de',\r\n        'characters': 'caracteres',\r\n        'language-select': 'Idioma',\r\n        'onlaine-slogan': 'Tecnologia aliada a produção enxuta',\r\n        'tech':'Tecnologia',\r\n        'login-invalid': 'Dados de login inválidos, tente novamente ou',\r\n        'login-welcome-line-1': 'Acesso a Plataforma',\r\n        'login-welcome-line-2': 'Realize o login da sua conta.',\r\n        'login-support-contact': 'Entre em Contato',\r\n        'login-dont-have-an-account': 'Não possui uma conta?',\r\n        'login-keep': 'Lembrar-me',\r\n        'login-button': 'Realizar Login',\r\n        'login-recover-password': 'Recuperar Senha',\r\n        'login-logout': 'Por favor, realize o login novamente',\r\n        'module-data': 'Cadastro',\r\n        'go-back':'Voltar',\r\n        'go-back-list': \"Voltar para Listagem\",\r\n        'next':'Avançar',\r\n        'form': \"Formulário\",\r\n        'list-of': \"Listagem de \",\r\n        'all': \"Todos\",\r\n        'duplicate':\"Duplicar\",\r\n        'form-of': \"Formulário de \",\r\n        'no-record-found': \"Nenhum registro encontrado!\",\r\n        'no-options': \"Nenhuma opção encontrada!\",\r\n        'not-have-access':'Você não possui acesso',\r\n        'not-have-access-include':'Você não possu acesso a inclusão ',\r\n        'not-have-access-change':'Você não possu acesso a alteração ',\r\n        'not-have-Access-delete':'Você não possu acesso a exclusão ',\r\n        'not-have-access-view':'Você não possu acesso a visualização ',\r\n        'inserted-with-success':'incluíd%gender%%plural% com sucesso!',\r\n        'altered-with-success':'alterad%gender%%plural% com sucesso!',\r\n        'deleted-with-success':'excluíd%gender%%plural% com sucesso!',\r\n        'confirm':'Confirmação',\r\n        'error':'Erro',\r\n        'msg-confirm-delete':'Tem certeza que deseja excluir definitivamente?',\r\n        'msg-check-all-errors-before-continued':'Verifique os erros antes de continuar',\r\n\r\n    }\r\n}\r\n\r\n\r\n","import {extend} from \"vee-validate\";\r\nimport ui from \"@/assets/scripts/ui\";\r\n\r\nconst messageDefault = \" inválido\"\r\n\r\nlet manualErrorMessage = \"\"\r\n\r\nconst manualRule = {\r\n\r\n    validate(value, args) {\r\n\r\n        manualErrorMessage = args[0]\r\n\r\n        return {\r\n            valid: false, // or false\r\n            data: {\r\n                required: true // or false\r\n            }\r\n        }\r\n    },\r\n\r\n    computesRequired: true,\r\n\r\n    message() {\r\n        return manualErrorMessage\r\n    }\r\n}\r\n\r\nconst timeRule = {\r\n\r\n    validate(value) {\r\n        return value.match(/^([0-1]?[0-9]|2[0-4]):([0-5][0-9])(:[0-5][0-9])?$/g)\r\n    },\r\n    message() {\r\n        return 'Horário inválido'\r\n    }\r\n\r\n}\r\n\r\nconst numericNotZeroRule = {\r\n\r\n    validate(value) {\r\n        return value > 0\r\n    },\r\n    message() {\r\n        return 'Valor deve ser maior que zero'\r\n    }\r\n\r\n}\r\n\r\n\r\n\r\nconst dateRule = {\r\n\r\n    validate(value) {\r\n\r\n        if (value && value !== \"\" && value.length === 10) {\r\n\r\n            let convert_date = value\r\n\r\n            if (convert_date.indexOf('T') < 0)\r\n                convert_date += 'T00:00:00'\r\n\r\n            const v = ui.convertDateBR(convert_date)\r\n\r\n            let ano_bissexto;\r\n            const expReg = /^(([0-2]\\d|[3][0-1])\\/([0]\\d|[1][0-2])\\/[1-2][0-9]\\d{2})$/;\r\n\r\n            if ((v.match(expReg)) && (v !== '')) {\r\n\r\n                const dia = v.substring(0, 2);\r\n                const mes = v.substring(3, 5);\r\n                const ano = v.substring(6, 10);\r\n\r\n\r\n                if (((!(ano % 4)) && (ano % 100)) || (!(ano % 400))) {\r\n                    ano_bissexto = true;\r\n                } else {\r\n                    ano_bissexto = false;\r\n                }\r\n\r\n                if ((mes == 4 || mes == 6 || mes == 9 || mes == 11) && dia > 30) {\r\n\r\n                    //Meses com dias inválidos\r\n                    return false\r\n\r\n                } else {\r\n                    if (!ano_bissexto && mes == 2 && dia > 28) {\r\n                        //\"Data incorreta! O mes especificado contem no máximo 28 dias.\\nInsira novamente\");\r\n\r\n                    } else {\r\n                        if (ano_bissexto && mes == 2 && dia > 29) {\r\n\r\n                            //\"Data incorreta! O mes especificado contem no máximo 29 dias.\\nInsira novamente\");\r\n                            return false\r\n\r\n                        } else {\r\n                            return true\r\n                        }\r\n                    }\r\n                }\r\n            } else {\r\n                //Data invalida geral\r\n                return false\r\n            }\r\n\r\n            return true\r\n        } else {\r\n            return true\r\n        }\r\n\r\n    }\r\n}\r\n\r\nconst urlRule = {\r\n\r\n    validate(value) {\r\n        return value.match(/(http(s)?:\\/\\/.)?(www\\.)?[-a-zA-Z0-9@:%._+~#=]{2,256}\\.[a-z]{2,6}\\b([-a-zA-Z0-9@:%_+.~#?&//=]*)/g)\r\n    },\r\n    message() {\r\n        return 'URL inválida'\r\n    }\r\n\r\n}\r\n\r\nconst passwordSecurityRule = {\r\n\r\n    validate(value) {\r\n        return value.match(/^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[!@#$%^&*])(?=.{8,})/g)\r\n    },\r\n    message() {\r\n        return 'Informe uma senha com no mínimo 8 caracteres, letras maiúsculas e minúsculas, números e pelo menos 1(um) caracter especial (#,@,?,...)'\r\n    }\r\n\r\n}\r\n\r\n\r\n\r\nconst emailMultipleRule = {\r\n\r\n    validate(value) {\r\n\r\n        let v = value\r\n        let validate = true\r\n        const filter = /^([\\w-]+(?:\\.[\\w-]+)*)@((?:[\\w-]+\\.)*\\w[\\w-]{0,66})\\.([a-z]{2,6}(?:\\.[a-z]{2})?)$/i;\r\n\r\n        if (v && v.length > 0) {\r\n\r\n            const matriz = v.replace(/,/g, ';').replace(/;;/g, ';').replace(/ /g, '').split(';');\r\n\r\n            for (let i = 0; i < matriz.length; i++) {\r\n\r\n                const email = matriz[i];\r\n\r\n                if (email !== \"\") {\r\n\r\n                    if (!filter.test(email)) {\r\n                        validate = false\r\n                    }\r\n\r\n                }\r\n            }\r\n\r\n            return validate\r\n\r\n        } else {\r\n            return true\r\n        }\r\n\r\n    }\r\n};\r\n\r\nconst cnpjRule = {\r\n\r\n    validate(value) {\r\n\r\n        if (!value) return false\r\n\r\n        // Aceita receber o valor como string, número ou array com todos os dígitos\r\n        const isString = typeof value === 'string'\r\n        const validTypes = isString || Number.isInteger(value) || Array.isArray(value)\r\n\r\n        // Elimina valor em formato inválido\r\n        if (!validTypes) return false\r\n\r\n        // Filtro inicial para entradas do tipo string\r\n        if (isString) {\r\n            // Limita ao máximo de 18 caracteres, para CNPJ formatado\r\n            if (value.length > 18) return false\r\n\r\n            // Teste Regex para veificar se é uma string apenas dígitos válida\r\n            const digitsOnly = /^\\d{14}$/.test(value)\r\n            // Teste Regex para verificar se é uma string formatada válida\r\n            const validFormat = /^\\d{2}.\\d{3}.\\d{3}\\/\\d{4}-\\d{2}$/.test(value)\r\n\r\n            // Se o formato é válido, usa um truque para seguir o fluxo da validação\r\n            if (digitsOnly || validFormat) true\r\n            // Se não, retorna inválido\r\n            else return false\r\n        }\r\n\r\n        // Guarda um array com todos os dígitos do valor\r\n        const match = value.toString().match(/\\d/g)\r\n        const numbers = Array.isArray(match) ? match.map(Number) : []\r\n\r\n        // Valida a quantidade de dígitos\r\n        if (numbers.length !== 14) return false\r\n\r\n        // Elimina inválidos com todos os dígitos iguais\r\n        const items = [...new Set(numbers)]\r\n        if (items.length === 1) return false\r\n\r\n        // Cálculo validador\r\n        const calc = (x) => {\r\n            const slice = numbers.slice(0, x)\r\n            let factor = x - 7\r\n            let sum = 0\r\n\r\n            for (let i = x; i >= 1; i--) {\r\n                const n = slice[x - i]\r\n                sum += n * factor--\r\n                if (factor < 2) factor = 9\r\n            }\r\n\r\n            const result = 11 - (sum % 11)\r\n\r\n            return result > 9 ? 0 : result\r\n        }\r\n\r\n        // Separa os 2 últimos dígitos de verificadores\r\n        const digits = numbers.slice(12)\r\n\r\n        // Valida 1o. dígito verificador\r\n        const digit0 = calc(12)\r\n        if (digit0 !== digits[0]) return false\r\n\r\n        // Valida 2o. dígito verificador\r\n        const digit1 = calc(13)\r\n        return digit1 === digits[1]\r\n\r\n    },\r\n    message(field) {\r\n        return field + messageDefault\r\n    }\r\n}\r\n\r\nconst cpfRule = {\r\n\r\n    validate(value) {\r\n\r\n        let cpf = value\r\n\r\n        // Validar se é String\r\n        if (typeof cpf !== 'string') return false\r\n\r\n        // Tirar formatação\r\n        cpf = cpf.replace(/[^\\d]+/g, '')\r\n\r\n        // Validar se tem tamanho 11 ou se é uma sequência de digitos repetidos\r\n        if (cpf.length !== 11 || !!cpf.match(/(\\d)\\1{10}/)) return false\r\n\r\n        // String para Array\r\n        cpf = cpf.split('')\r\n\r\n        const validator = cpf\r\n            // Pegar os últimos 2 digitos de validação\r\n            .filter((digit, index, array) => index >= array.length - 2 && digit)\r\n            // Transformar digitos em números\r\n            .map(el => +el)\r\n\r\n        const toValidate = pop => cpf\r\n            // Pegar Array de items para validar\r\n            .filter((digit, index, array) => index < array.length - pop && digit)\r\n            // Transformar digitos em números\r\n            .map(el => +el)\r\n\r\n        const rest = (count, pop) => (toValidate(pop)\r\n                // Calcular Soma dos digitos e multiplicar por 10\r\n                .reduce((soma, el, i) => soma + el * (count - i), 0) * 10)\r\n            // Pegar o resto por 11\r\n            % 11\r\n            // transformar de 10 para 0\r\n            % 10\r\n\r\n        return !(rest(10, 2) !== validator[0] || rest(11, 1) !== validator[1])\r\n\r\n\r\n    },\r\n    message(field) {\r\n        return field + messageDefault\r\n    }\r\n}\r\n\r\n\r\nconst cepRule = {\r\n\r\n    validate(value) {\r\n\r\n        if (value && value !== \"\" && value.length < 9) {\r\n            return false\r\n        } else {\r\n            return true\r\n        }\r\n    },\r\n    message(field) {\r\n        return field + messageDefault\r\n    }\r\n\r\n\r\n}\r\n\r\nconst colorRule = {\r\n\r\n    validate(value) {\r\n        return value.length === 7\r\n            && !isNaN(Number('0x' + value.replace('#','')))\r\n    },\r\n    message() {\r\n        return 'Aceito somente cores em hexadecimal'\r\n    }\r\n\r\n}\r\n\r\nconst numbersRule = {\r\n\r\n    validate(value) {\r\n        return value.match(/^\\d+$/i)\r\n    },\r\n    message() {\r\n        return 'Aceito somente números'\r\n    }\r\n\r\n}\r\n\r\nconst lettersRule = {\r\n\r\n    validate(value) {\r\n        return value.match(/^[A-Za-z]+$/)\r\n    },\r\n    message() {\r\n        return 'Aceito somente letras'\r\n    }\r\n\r\n}\r\n\r\nconst lettersAndNumbersRule = {\r\n\r\n    validate(value) {\r\n        return value.match(/^[A-Za-z\\d]+$/i);\r\n    },\r\n    message() {\r\n        return 'Aceito letras e números sem acentuação'\r\n    }\r\n\r\n}\r\n\r\nextend('manual_rule', manualRule);\r\nextend('numeric_not_zero', numericNotZeroRule);\r\nextend('date', dateRule);\r\nextend('time', timeRule);\r\nextend('email_multiple', emailMultipleRule);\r\nextend('url', urlRule);\r\nextend('cnpj', cnpjRule);\r\nextend('cpf', cpfRule);\r\nextend('cep', cepRule);\r\nextend('only_numbers', numbersRule);\r\nextend('only_letters', lettersRule);\r\nextend('only_letters-and-numbers', lettersAndNumbersRule);\r\nextend('color', colorRule);\r\nextend('password_security', passwordSecurityRule);\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","import Vue from 'vue'\r\nimport ui from \"@/assets/scripts/ui\";\r\n\r\nVue.filter('statusLabel', function (status) {\r\n\r\n    if (status === 1) {\r\n        return 'Ativo'\r\n    } else if (status === 2) {\r\n        return 'Inativo'\r\n    } else if (status === 90) {\r\n        return 'Cancelado'\r\n    }\r\n\r\n});\r\n\r\n\r\nVue.filter('yesOrNot', function (value) {\r\n\r\n    if (value === 1 || value === 'Y' || value) {\r\n        return 'Sim'\r\n    } else {\r\n        return 'Não'\r\n    }\r\n\r\n});\r\n\r\nVue.filter('weightKg', function (value) {\r\n\r\n    return value.toLocaleString('pt-br') + \" Kg\"\r\n\r\n});\r\n\r\nVue.filter('lpad', function (value, length) {\r\n\r\n    /*Permitido informar 0 para formatar por exemplo 0000*/\r\n    if (value !== '' && value !== null) {\r\n        return value.toString().padStart(length, \"0\")\r\n    }\r\n\r\n});\r\n\r\n\r\nVue.filter('commandLabel', function (command) {\r\n\r\n    if (command === 'insert') {\r\n        return 'Incluir'\r\n    } else if (command === 'update') {\r\n        return 'Alterar'\r\n    } else if (command === 'delete') {\r\n        return 'Excluir'\r\n    } else if (command === 'read') {\r\n        return 'Visualizar'\r\n    }\r\n\r\n});\r\n\r\nVue.filter('money', function (item) {\r\n\r\n    if (item !== null && typeof item == 'number') {\r\n        return item.toLocaleString('pt-br', {style: 'currency', currency: 'BRL'})\r\n    }\r\n\r\n});\r\n\r\nVue.filter('percent', function (value, decimals = 2) {\r\n\r\n    if (value === null || value === undefined || isNaN(value)) {\r\n        return '0,00%'; // Retorno padrão se o valor for inválido\r\n    }\r\n\r\n\r\n\r\n    // Garante que seja um número\r\n    let number = parseFloat(value);\r\n\r\n    // Formata o número com o número de casas decimais desejado\r\n    return number.toLocaleString('pt-BR', {\r\n        minimumFractionDigits: decimals,\r\n        maximumFractionDigits: decimals\r\n    }) + '%';\r\n});\r\n\r\nVue.filter('number', function (item, maximumSignificantDigits = null, minimumFractionDigits = null) {\r\n\r\n    if (item !== null) {\r\n\r\n        let options = {}\r\n        if (maximumSignificantDigits !== null)\r\n            options.maximumSignificantDigits = maximumSignificantDigits\r\n\r\n        if (minimumFractionDigits !== null)\r\n            options.minimumFractionDigits = minimumFractionDigits\r\n\r\n        if(options !== {}){\r\n            return item.toLocaleString('pt-br', options)\r\n        }else{\r\n            return item.toLocaleString('pt-br')\r\n        }\r\n\r\n    }\r\n\r\n});\r\n\r\n//Somente data dia mes ano\r\nVue.filter('date', function (item) {\r\n\r\n    if (item !== null && item !== \"\" && item) {\r\n\r\n        //console.log(item)\r\n\r\n        if (item.indexOf(\"T\") < 0) {\r\n            item += 'T00:00:00'\r\n        }\r\n\r\n        //todo Esta funcionando, porém precisa melhorar\r\n        item = item.replace('T00:00:00', 'T12:00:00')\r\n\r\n        return ui.convertDateBR(item)\r\n\r\n    }\r\n\r\n});\r\n\r\n//Somente data dia mes ano + horario\r\nVue.filter('datetime', function (item) {\r\n\r\n    if (item != null && item !== \"\" && item) {\r\n\r\n        if (item.indexOf(\"T\") < 0)\r\n            item += 'T00:00:00'\r\n\r\n        return ui.convertDateBR(item, true)\r\n\r\n    }\r\n\r\n});\r\n\r\n//Somente data dia mes ano + horario\r\nVue.filter('time', function (item) {\r\n\r\n    if (item != null && item !== \"\" && item) {\r\n\r\n        const date = new Date(item)\r\n        const convert = date.toLocaleString('pt-br', {timeZone: \"UTC\"}).split(\" \")[1]\r\n        return convert.substring(0, convert.lastIndexOf(\":\"))\r\n\r\n    }\r\n\r\n});\r\n\r\nVue.filter('minuteOrHour', function (item) {\r\n\r\n    if (item != null) {\r\n\r\n        let time = ''\r\n\r\n        if (item > 1440) {\r\n            //Exibe apenas a qtd. de dias em aberto\r\n            time = parseInt(item / 1440) + \" dias\"\r\n\r\n        } else if (item > 60) {\r\n            //Exibe a qtd. de horas e minutos\r\n            time = parseInt(item / 60) + \"h\"\r\n            time += item % 60 + \"min\"\r\n        } else {\r\n            //Somente minutos\r\n            time = item + \"min\"\r\n        }\r\n\r\n        return time\r\n\r\n    }\r\n\r\n});\r\n\r\nVue.directive('exemplo-diretiva', {\r\n    // Quando o elemento vinculado é inserido no DOM...\r\n    inserted: function (el) {\r\n\r\n        //Não funciona, pois são utilizados objetos vue ao invés de objetos comuns, sendo mais complexa a validação, pois podem ter filhos e assim por diante\r\n        console.log(el)\r\n\r\n\r\n    }\r\n})\r\n\r\n\r\n\r\n\r\n\r\n","import Vue from 'vue'\nimport VueMeta from 'vue-meta'\nimport app from './App.vue'\nimport router from \"./router\"\nimport store from \"./store/store\";\nimport components from './components/components-template'\nimport VueFormWizard from 'vue-form-wizard'\nimport 'vue-form-wizard/dist/vue-form-wizard.min.css'\nVue.use(VueFormWizard)\n\nimport Axios from 'axios'\nVue.prototype.$http = Axios;\n\n//Template\nimport './assets/css/template.css'\nimport {BootstrapVue, IconsPlugin} from 'bootstrap-vue'\nimport 'bootstrap-vue/dist/bootstrap-vue.css'\n\n//Tradução\nimport VueTranslate from 'vue-translate-plugin';\nimport Locales from \"./locales\"\n\n//Validação\nimport Vuelidate from 'vuelidate'\n\n//Gráficos\nimport VueApexCharts from 'vue-apexcharts'\nVue.use(VueApexCharts)\nVue.component('apexchart', VueApexCharts)\n\nimport {\n    ValidationObserver,\n    ValidationProvider,\n    extend,\n    localize\n} from \"vee-validate\";\n\nimport pt_BR from \"vee-validate/dist/locale/pt_BR.json\";\nimport * as rules from \"vee-validate/dist/rules\";\n\nlocalize(\"pt_BR\", pt_BR);\n\nObject.keys(rules).forEach(rule => {\n    extend(rule, rules[rule]);\n});\n\nimport './validate/customRules'\n\nVue.component(\"ValidationObserver\", ValidationObserver);\nVue.component(\"ValidationProvider\", ValidationProvider);\n\n//Fragment para utilização de elemento raiz sem div\nimport {Plugin} from 'vue-fragment'\n\n//Filtros\nimport './filters/filters-template'\n\nVue.use(require('vue-moment'));\n\nimport { Twitter, Sketch } from 'vue-color'\nVue.component('twitter-picker',Twitter)\nVue.component('sketch-picker',Sketch)\n\n//Mascaras\nimport VueTheMask from 'vue-the-mask'\nVue.use(VueTheMask)\n\nimport money from 'v-money'\nVue.use(money);\n//---\n\n\nVue.use(Plugin)\nVue.use(VueMeta)\nVue.use(Vuelidate)\nVue.use(BootstrapVue)\nVue.use(IconsPlugin)\nVue.use(VueTranslate)\nVue.use(components)\n\n\n//Utililizar\nVue.config.productionTip = false\nVue.locales(Locales);\n\nnew Vue({\n    store,\n    router,\n    render: h => h(app),\n}).$mount('#app')\n","import http from '../../config/http-common';\r\n\r\n//Usado somente se for realmente necessário algo fora do padrão GeneralCRUD.service.js\r\nconst path = \"setting/page-view\"\r\n\r\nclass service {\r\n\r\n\r\n    //Obtem listagem de campos, já remove da listagem a coluna status e somente registros ativos\r\n    //DEVERÁ SEMPRE INFORMAR A PÁGINA ORIGINAL SEM OVERRIDE\r\n    async getViewFieldsByPage(pageId,removeColumnStatus = false, removerOtherColumns = null){\r\n\r\n        let params = new URLSearchParams()\r\n        params.set(\"pageId\", pageId)\r\n        params.set(\"checkOverride\", \"true\") //ESTE MÉTODO É USADO PARA PESQUISAR SEM ESTAR NA PRÓPRIA PÁGINA, POR TANTO SEMPRE MANTER ESTE PARAM\r\n\r\n        let list = []\r\n\r\n        await http.list(path + \"/viewFields\",params).then((result) =>{\r\n\r\n            if(removeColumnStatus || removerOtherColumns !== null){\r\n\r\n                for(let item of result){\r\n\r\n                    let enableInsert = true\r\n\r\n                    if(removerOtherColumns !== null){\r\n                        if(removerOtherColumns.indexOf(item.key) >= 0){\r\n                            enableInsert = false\r\n                        }\r\n                    }\r\n\r\n                    if(item.key !== 'status' && removeColumnStatus && enableInsert){\r\n                        list.push(item)\r\n                    }\r\n                }\r\n\r\n            }\r\n\r\n        })\r\n\r\n        return list\r\n    }\r\n\r\n}\r\n\r\nexport default new service();\r\n\r\n","import {crudGeneral} from \"@/services/resource/GeneralCRUD.service\";\r\nimport ui from \"@/assets/scripts/ui\";\r\n\r\nexport default {\r\n    crudGeneral,\r\n    data() {\r\n        return {\r\n            command: 'insert',\r\n            status: \"\",\r\n            genKey: false, //Por padrão os formulários não possuem gerador de chave temporária\r\n            fieldKey: \"\",\r\n            form: {},\r\n            generalErrors: [],\r\n            pageFormIsLoaded: false,\r\n            checkErrorsComponent: false,\r\n            submitExternal: \"\",\r\n        }\r\n    },\r\n    props: {\r\n        /*Utilizada quando o formulário se torna um objeto Embeddable*/\r\n        enabledSubmit: {\r\n            type: Boolean,\r\n            default: true,\r\n        },\r\n    },\r\n    async mounted() {\r\n\r\n\r\n    },\r\n    methods: {\r\n\r\n        async injectFieldsForm() {\r\n            //Injeta campos customizaveis caso necessário na entidade\r\n            if (this.fieldsCustomizable.length > 0) {\r\n\r\n                let requestCustomized = []\r\n\r\n                for (const entity of this.fieldsCustomizable) {\r\n                    if (entity.fields !== null)\r\n                        requestCustomized.push(await this.requestFieldCustomized(entity.entity, entity.fields))\r\n                }\r\n\r\n                this.form.requestCustomized = requestCustomized\r\n\r\n            }\r\n        },\r\n\r\n\r\n        /*ATENÇÃO ESTE AQUI É DIFERENTE POIS É ACESSADO VIA EMBEDABLES*/\r\n        setFieldValue(entity, fieldId, value) {\r\n\r\n            if (this.fieldsCustomizable !== undefined) {\r\n\r\n                let entityField = this.fieldsCustomizable.find(a => a.entity === entity)\r\n\r\n                if (entityField !== undefined) {\r\n\r\n                    let field = entityField.fields.find(a => a.fieldId === fieldId)\r\n\r\n                    if (field !== undefined) {\r\n\r\n                        field.value = value\r\n                        entityField.fields.push(field)\r\n                        entityField.fields.pop()\r\n\r\n                    }\r\n\r\n                }\r\n\r\n            }\r\n\r\n        },\r\n\r\n        onSubmitExternal() {\r\n\r\n            this.submitExternal = \"\"\r\n\r\n            setTimeout(() => {\r\n\r\n                this.submitExternal = \"submit\"\r\n\r\n            }, 100)\r\n\r\n            setTimeout(() => {\r\n\r\n                this.submitExternal = \"\"\r\n\r\n            }, 200)\r\n\r\n\r\n        },\r\n\r\n\r\n        cancelUpdatedList() {\r\n            this.command = 'insert'\r\n            this.resetFormDefault(this.form, this.fieldsNotReset)\r\n            this.clearFieldsCustomizable()\r\n            this.defaultForm()\r\n        },\r\n\r\n        /**Utilizado para setar de algum componente externo os valores padrões do formulário de campos customizados*/\r\n\r\n\r\n\r\n        //Limpar o formulário de forma padrão, porém é opcional a chamada\r\n\r\n        async mountedForm(defaultValidation = true, finishLoaded = true, formInnerComponent = false) {\r\n\r\n            await this.mountedDefault(defaultValidation, true, 'form')\r\n\r\n            if (!formInnerComponent)//Utilizando por exemplo dentro de Tabs\r\n                await this.setInitiate()\r\n\r\n            if (defaultValidation) {\r\n                //Utilizado a validação padrão de formulários\r\n                this.setValidationDefault(this.userAuth.validation)\r\n            }\r\n\r\n\r\n            if (this.genKey && this.isInsert()) {\r\n\r\n                await crudGeneral.get(this.getPath() + \"/createId\").then(\r\n                    response => {\r\n\r\n\r\n                        this.form[this.fieldKey] = response.data.id\r\n                        this.genKey = false //Indica que a chave já foi criada\r\n                    }\r\n                ).catch(error => this.responseError(error))\r\n\r\n            }\r\n\r\n            //Obtem campos personalizáveis de inicialização, porém ao alterar os valores chave, poderá ser solicitado novamente a requisição\r\n            /*LER SOMENTE AQUI, POIS PRECISA TER LIDO A ENTIDADE PRINCIPAL PARA INJETAR OS VALORES CORRESPONDENTES*/\r\n            await this.getAllFieldsCustomizable();\r\n\r\n            if (finishLoaded)\r\n                this.pageFormIsLoaded = true\r\n\r\n        },\r\n\r\n        async clearFieldsCustomizable() {\r\n\r\n            if (this.fieldsCustomizable.length > 0) {\r\n\r\n                for (const entity of this.fieldsCustomizable) {\r\n\r\n                    for (let field of entity.fields) {\r\n                        field.value = null\r\n                    }\r\n\r\n                }\r\n\r\n            }\r\n\r\n\r\n        },\r\n\r\n        async getAllFieldsCustomizable() {\r\n\r\n            if (this.fieldsCustomizable.length > 0) {\r\n\r\n                for (const entity of this.fieldsCustomizable) {\r\n                    await this.getFieldsCustomizable(entity.entity)\r\n                }\r\n\r\n            }\r\n\r\n        },\r\n\r\n\r\n        async setInitiate(updateCommand = true) {\r\n\r\n\r\n            let getItem = true\r\n\r\n            if (this.$route.path.indexOf('/view/') > 0) {\r\n\r\n                if (updateCommand)\r\n                    this.command = \"view\"\r\n\r\n            } else if (this.$route.path.indexOf('/remove/') > 0) {\r\n\r\n                if (updateCommand)\r\n                    this.command = 'delete'\r\n\r\n            } else {\r\n\r\n                if ('id' in this.$route.params) {\r\n\r\n                    if (updateCommand)\r\n                        this.command = 'update'\r\n\r\n                } else {\r\n\r\n                    if (updateCommand)\r\n                        this.command = 'insert'\r\n                    getItem = false\r\n                }\r\n\r\n            }\r\n\r\n            if (getItem && this.command !== 'insert') {\r\n\r\n                //Crud enviado por tanto será um get padrão por id\r\n                await crudGeneral.getById(this.getPath(), this.$route.params.id).then(\r\n                    response => this.form = response.data\r\n                ).catch(error => this.responseError(error))\r\n            }\r\n\r\n        },\r\n\r\n        setValidationDefault(validation) {\r\n\r\n            if (this.isInsert() && !validation.validationCreate) {\r\n                this.setRedirect(this.getPath(), 0, this.command, 11, \"\", false)\r\n            } else if (this.isUpdate() && !validation.validationUpdate) {\r\n                this.setRedirect(this.getPath(), 0, this.command, 12, \"\", false)\r\n            } else if (this.command === 'delete' && !validation.validationDelete) {\r\n                this.setRedirect(this.getPath(), 0, this.command, 13, \"\", false)\r\n            } else if (this.command === \"view\" && !validation.validationRead) {\r\n                this.setRedirect(this.getPath(), 0, this.command, 14, \"\", false)\r\n            }\r\n\r\n        },\r\n\r\n\r\n        async setSendingDefault(callbackError) {\r\n\r\n            const id = this.form[this.fieldKey]\r\n\r\n            await this.setSending(\r\n                id,\r\n                (response) => {\r\n                    this.setRedirect(this.getPath(), response[this.fieldKey], this.command, 0, \"\", true)\r\n                },\r\n                (response) => {\r\n                    this.setRedirect(this.getPath(), response[this.fieldKey], this.command, 0, \"\", true)\r\n                }, (response) => {\r\n                    this.setRedirect(this.getPath(), response[this.fieldKey], this.command, 0, \"\", true)\r\n                },\r\n                callbackError\r\n            )\r\n\r\n        },\r\n\r\n        async setSending(id, callbackSuccess, callbackSuccessUpdate, callbackSuccessDelete, callbackError) {\r\n\r\n            this.status = \"sending\"\r\n            this.checkErrorsComponent = false\r\n\r\n            //Limpa campos de erros (caso existam)\r\n            if (this.error !== undefined) {\r\n                Object.keys(this.error).forEach(key => {\r\n                    this.error[key] = \"\"\r\n                })\r\n            }\r\n\r\n\r\n            await this.injectFieldsForm()\r\n            delete this.form.fieldsCustomized //Remove o quest original antes do envio oficial\r\n\r\n\r\n            if (this.command === 'delete') {\r\n\r\n                await crudGeneral.remove(this.getPath(), id).then(response => {\r\n\r\n                    if (callbackSuccessDelete !== undefined) {\r\n                        callbackSuccessDelete(response.data)\r\n                    } else {\r\n                        //Utilizar callbackpadrão, pois não foi declarado\r\n                        callbackSuccess(response.data)\r\n                    }\r\n\r\n                }).catch(error => this.responseError(error, callbackError))\r\n\r\n\r\n            } else {\r\n\r\n                //Crud enviado, por tanto será feito de forma automatica a inclusão e alteração\r\n                await crudGeneral.save(this.getPath(), this.command, this.form).then(response => {\r\n\r\n                    const data = response.data\r\n\r\n                    if (this.isInsert()) {\r\n                        callbackSuccess(data)\r\n                    } else if (this.isUpdate()) {\r\n\r\n                        if (callbackSuccessUpdate !== undefined) {\r\n                            callbackSuccessUpdate(data)\r\n                        } else {\r\n                            //Utilizar callbackpadrão, pois não foi declarado\r\n                            callbackSuccess(data)\r\n                        }\r\n                    }\r\n\r\n                }).catch(error => this.responseError(error, callbackError))\r\n\r\n            }\r\n\r\n        },\r\n\r\n        async onItemReadDefault(id, callback) {\r\n\r\n            this.listFormIsLoaded = false\r\n\r\n            await crudGeneral.getById(this.path, id).then(\r\n                async (response) => {\r\n\r\n                    this.command = 'update'\r\n                    this.form = response.data\r\n\r\n                    //Obtem campos personalizáveis de inicialização, porém ao alterar os valores chave, poderá ser solicitado novamente a requisição\r\n                    /*LER SOMENTE AQUI, POIS PRECISA TER LIDO A ENTIDADE PRINCIPAL PARA INJETAR OS VALORES CORRESPONDENTES*/\r\n                    await this.getAllFieldsCustomizable();\r\n\r\n                    this.listFormIsLoaded = true\r\n\r\n                    if (callback)\r\n                        callback()\r\n                }\r\n            ).catch(error => this.responseError(error))\r\n\r\n        },\r\n\r\n        async onItemDeleteDefault(id, callback) {\r\n\r\n\r\n            await crudGeneral.remove(this.path, id).then(\r\n                () => {\r\n\r\n                    this.actionDefaultAfterCRUD()\r\n\r\n                    if (callback)\r\n                        callback()\r\n                }\r\n            ).catch(error => ui.generalResponseError(this, error))\r\n\r\n        },\r\n\r\n\r\n        responseError(error, callback = null) {\r\n\r\n\r\n            //Retorna o status para o padrão de tentativa de subject enviado\r\n            this.status = \"subject\"\r\n            this.generalErrors = [] //Limpa os erros para poder atualiza-los novamente\r\n\r\n            if (error.response) {\r\n\r\n                if (error.response.status === 500) {\r\n\r\n                    if (error.response.data instanceof Blob) {\r\n\r\n                        const b = new Blob([error.response.data], {type: \"application/json\"}),\r\n                            fr = new FileReader();\r\n\r\n                        fr.onload = e => {\r\n\r\n                            const objectError = JSON.parse(e.target.result)\r\n\r\n                            if (error.response.status === 500) {\r\n                                ui.msgError(this, objectError.general[0], callback)\r\n                            }\r\n\r\n                        }\r\n\r\n                        fr.readAsText(b);\r\n\r\n                    } else {\r\n\r\n                        const general = error.response.data.general\r\n                        const fields = error.response.data.fields\r\n\r\n                        if (general && general.length > 0) {\r\n                            this.generalErrors = general\r\n                        }\r\n\r\n                        Object.keys(fields).forEach(key => {\r\n\r\n                            if (key.indexOf(\".\") > 0) {\r\n\r\n                                const obj = key.substring(0, key.indexOf(\".\"))\r\n                                const objField = key.replace(obj + \".\", '')\r\n\r\n                                if ([objField] in this[\"error_\" + obj]) {\r\n\r\n                                    //Limpa antes para poder enviar alerta de atualização e mesmo recebendo novamente o mesmo erro irá exibir\r\n                                    this[\"error_\" + obj][objField] = \"\"\r\n\r\n                                    //Seta informaçao com delay para possibilitar limpeza do campo anterior\r\n                                    setTimeout(() => this[\"error_\" + obj][objField] = fields[key], 50)\r\n\r\n\r\n                                } else {\r\n                                    alert('Falha encontrada campo relacionado: ' + key + ' - ' + fields[key] + ' por favor informe o suporte técnico da Onlaine')\r\n                                }\r\n\r\n                                //console.log(\"Objeto [\" + obj + \"]\")\r\n                                //console.log(\"Field [\" + objField + \"]\")\r\n\r\n                            } else {\r\n\r\n                                if ([key] in this.error) {\r\n\r\n                                    //Limpa antes para poder enviar alerta de atualização e mesmo recebendo novamente o mesmo erro irá exibir\r\n                                    this.error[key] = \"\"\r\n\r\n                                    //Seta informaçao com delay para possibilitar limpeza do campo anterior\r\n                                    setTimeout(() => this.error[key] = fields[key], 50)\r\n\r\n                                } else {\r\n                                    alert('Falha encontrada campo: ' + key + ' - ' + fields[key] + ' por favor informe o suporte técnico da Onlaine')\r\n                                }\r\n\r\n                            }\r\n\r\n                        });\r\n\r\n                        //Marca para os componentes de formulario realizarem nova verificação interna (usado principalmente em Tabs)\r\n                        this.checkErrorsComponent = true\r\n\r\n                        if (callback)\r\n                            callback(general)\r\n\r\n                    }\r\n\r\n\r\n                    //-----------------------------------------------------------------------------------------------------------\r\n\r\n\r\n                } else if (error.response.status === 400) {\r\n\r\n                    alert('Falha ao tentar enviar, por favor tente novamente ou informe nosso suporte técnico o seguinte erro: 400')\r\n                    console.warn(error.response);\r\n\r\n                }\r\n\r\n            } else if (error.request) {\r\n                // The request was made but no response was received\r\n                alert('Falha de conexão, verifique sua internet 4')\r\n                console.warn(error.request);\r\n            }\r\n\r\n        },\r\n\r\n        /*MÉTODOS USADOS EM COMPONENTES RESOURCE MÉTODOS*/\r\n        getEmbedAddressApi(el, address) {\r\n\r\n            this.form[el].street = address.street\r\n            this.form[el].neighborhood = address.neighborhood\r\n            this.form[el].provinceAbbreviation = address.provinceAbbreviation\r\n            this.form[el].cityId = address.cityId\r\n\r\n        },\r\n\r\n        getEmbedCNPJApi(elPerson, elAddress, cnpjAPI) {\r\n\r\n            //Person\r\n            if (cnpjAPI.person.name != null) {\r\n                this.form[elPerson].name = cnpjAPI.person.name.toUpperCase()\r\n            } else if (cnpjAPI.person.companyName != null) {\r\n                //Utiliza o mesmo nome da razão social\r\n                this.form[elPerson].name = cnpjAPI.person.companyName.toUpperCase()\r\n            }\r\n\r\n            this.form[elPerson].companyName = cnpjAPI.person.companyName\r\n            this.form[elPerson].federalTaxpayer = cnpjAPI.person.federalTaxpayer\r\n            this.form[elPerson].otherPersonalDocument = cnpjAPI.person.otherPersonalDocument\r\n            this.form[elPerson].provinceTaxpayer = cnpjAPI.person.provinceTaxpayer\r\n            this.form[elPerson].provinceTaxpayerExempted = cnpjAPI.person.provinceTaxpayerExempted\r\n\r\n            if (this.form[elPerson].companyName !== null)\r\n                this.form[elPerson].companyName = this.form[elPerson].companyName.toUpperCase()\r\n\r\n            if (cnpjAPI.person.cityTaxpayer !== null)\r\n                this.form[elPerson].cityTaxpayer = cnpjAPI.person.cityTaxpayer\r\n\r\n            if (this.form.invoiceEmail !== null)\r\n                this.form.invoiceEmail = cnpjAPI.invoiceEmail\r\n\r\n            if (this.form.invoiceBRSuframa !== null)\r\n                this.form.invoiceBRSuframa = cnpjAPI.invoiceBRSuframa\r\n\r\n            //---------------------------------------\r\n\r\n            //Address\r\n            this.form[elAddress].street = cnpjAPI.address.street\r\n            this.form[elAddress].number = cnpjAPI.address.number\r\n            this.form[elAddress].complement = cnpjAPI.address.complement\r\n            this.form[elAddress].neighborhood = cnpjAPI.address.neighborhood\r\n            this.form[elAddress].provinceAbbreviation = cnpjAPI.address.provinceAbbreviation\r\n            this.form[elAddress].cityId = cnpjAPI.address.cityId\r\n            this.form[elAddress].zipcode = cnpjAPI.address.zipcode\r\n            //---------------------------------------\r\n\r\n        },\r\n        /*-------------------------------------------------------------*/\r\n\r\n    },\r\n    computed: {\r\n\r\n        onSending() {\r\n            //Utilizado em inputs diretos no próprio formulário ao invés de usado no componente validation-input\r\n            return this.status === \"sending\"\r\n        },\r\n\r\n    },\r\n    watch: {\r\n\r\n        /*fieldsCustomizable(v){\r\n            console.log(v)\r\n        },*/\r\n\r\n\r\n    }\r\n}\r\n\r\n\r\n\r\n\r\n","export default {\r\n    /*baseURL: \"http://192.168.15.66:8000/v1/\",*/\r\n    baseURL : \"https://api.onlaine.com.br/v1/\",\r\n}","import http from './http-common';\r\n\r\nclass crudService {\r\n\r\n    list(path, params) {\r\n        return http.list(path, params)\r\n    }\r\n\r\n    get(path) {\r\n        return http.get(path)\r\n    }\r\n\r\n    getAll(path, page, params) {\r\n\r\n        return http.getAll(path, page, params)\r\n    }\r\n\r\n    getResume(path, type, param, allStatus = false) {\r\n        return http.getResume(path, type, param, allStatus);\r\n    }\r\n\r\n    getById(path, id, forceReadById = false) {\r\n        return http.getById(path, id, forceReadById)\r\n    }\r\n\r\n    getAssemble(path, type = '', params) {\r\n        return http.getAssemble(path, type, params)\r\n    }\r\n\r\n    create(path, data) {\r\n        return http.post(path, data)\r\n    }\r\n\r\n    update(path, data) {\r\n        return http.put(path, data)\r\n    }\r\n\r\n    save(path, command, data) {\r\n        if (command === 'insert') {\r\n            return this.create(path, data)\r\n        } else {\r\n            return this.update(path, data)\r\n        }\r\n    }\r\n\r\n    remove(path, id) {\r\n        return http.remove(path, id)\r\n    }\r\n\r\n\r\n}\r\n\r\nexport default new crudService();\r\n","import crudService from '../config/crudService';\r\n//Usado somente se for realmente necessário algo fora do padrão GeneralCRUD.service.js\r\n\r\nexport const crudGeneral = crudService;\r\nexport const classGeneralCRUD = {\r\n    //Algo fora do padrão, mas geral de acordo com este contexto\r\n}\r\n\r\nexport default {\r\n    crudGeneral,\r\n    classGeneralCRUD\r\n}\r\n","import http from '../../config/http-common';\r\n\r\n//Usado somente se for realmente necessário algo fora do padrão GeneralCRUD.service.js\r\nconst path = \"product/model\"\r\n\r\nclass service {\r\n\r\n    getModelsByGroupProductId(groupProductId) {\r\n\r\n        if (groupProductId > 0) {\r\n\r\n            let params = new URLSearchParams()\r\n            params.set(\"status\", \"1\")\r\n            params.set(\"groupProductId\", groupProductId)\r\n\r\n            return this.selectList(params)\r\n\r\n        }\r\n\r\n    }\r\n\r\n    getForceReadById(id){\r\n        return http.getById(path,id,true).then(response => response.data);\r\n    }\r\n\r\n    selectList(params) {\r\n        return http.list(path + \"/selectList\", params);\r\n    }\r\n\r\n\r\n}\r\n\r\nexport default new service();\r\n\r\n","import http from '../../config/http-common';\r\n\r\n//Usado somente se for realmente necessário algo fora do padrão GeneralCRUD.service.js\r\nconst path = \"product/unit\"\r\n\r\nclass service {\r\n\r\n    selectList(params) {\r\n        return http.list(path + \"/selectList\",params);\r\n    }\r\n\r\n}\r\n\r\nexport default new service();\r\n\r\n\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.address !== null)?_c('t-form-wrapped',{attrs:{\"command\":_vm.command,\"status\":_vm.status}},[_c('div',[_c('b-row',[_c('t-input',{attrs:{\"cols\":\"2\",\"label\":\"CEP\",\"cep\":\"\",\"api\":\"\",\"required\":!_vm.notRequired},on:{\"get\":_vm.setAddress},model:{value:(_vm.address.zipcode),callback:function ($$v) {_vm.$set(_vm.address, \"zipcode\", $$v)},expression:\"address.zipcode\"}}),_c('t-input',{attrs:{\"cols\":\"6\",\"label\":\"Endereço\",\"required\":!_vm.notRequired},model:{value:(_vm.address.street),callback:function ($$v) {_vm.$set(_vm.address, \"street\", $$v)},expression:\"address.street\"}}),_c('t-input',{ref:\"formNumber\",attrs:{\"cols\":\"2\",\"label\":\"Número\",\"required\":!_vm.notRequired},model:{value:(_vm.address.number),callback:function ($$v) {_vm.$set(_vm.address, \"number\", $$v)},expression:\"address.number\"}}),_c('t-input',{attrs:{\"cols\":\"2\",\"label\":\"Compl\"},model:{value:(_vm.address.complement),callback:function ($$v) {_vm.$set(_vm.address, \"complement\", $$v)},expression:\"address.complement\"}})],1),_c('b-row',[_c('t-input',{attrs:{\"cols\":\"2\",\"options\":_vm.countryStateOptions,\"label\":\"UF\",\"required\":!_vm.notRequired,\"select-common\":\"\"},on:{\"change\":_vm.onChangeCountryState},model:{value:(_vm.address.provinceAbbreviation),callback:function ($$v) {_vm.$set(_vm.address, \"provinceAbbreviation\", $$v)},expression:\"address.provinceAbbreviation\"}}),_c('t-input',{attrs:{\"cols\":\"5\",\"label\":\"Cidade\",\"busy\":!_vm.cityIsLoaded,\"options\":_vm.countryCityOptions,\"required\":!_vm.notRequired,\"select\":\"\"},on:{\"search\":_vm.getCities},scopedSlots:_vm._u([{key:\"no-options\",fn:function(){return [(_vm.address.provinceAbbreviation === '')?_c('span',[_vm._v(\"Selecione um UF\")]):_c('span',[_vm._v(\"Cidade não encontrada\")])]},proxy:true}],null,false,1043801979),model:{value:(_vm.address.cityId),callback:function ($$v) {_vm.$set(_vm.address, \"cityId\", $$v)},expression:\"address.cityId\"}}),_c('t-input',{attrs:{\"cols\":\"5\",\"label\":\"Bairro\",\"required\":!_vm.notRequired},model:{value:(_vm.address.neighborhood),callback:function ($$v) {_vm.$set(_vm.address, \"neighborhood\", $$v)},expression:\"address.neighborhood\"}})],1)],1)]):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n\r\n  <t-form-wrapped v-if=\"address !== null\" :command=\"command\" :status=\"status\">\r\n\r\n    <div>\r\n\r\n      <b-row>\r\n\r\n        <t-input cols=\"2\" v-model=\"address.zipcode\" label=\"CEP\" cep api @get=\"setAddress\" :required=\"!notRequired\"/>\r\n        <t-input cols=\"6\" v-model=\"address.street\" label=\"Endereço\" :required=\"!notRequired\"></t-input>\r\n        <t-input cols=\"2\" v-model=\"address.number\" ref=\"formNumber\" label=\"Número\" :required=\"!notRequired\"/>\r\n        <t-input cols=\"2\" v-model=\"address.complement\" label=\"Compl\"/>\r\n      </b-row>\r\n\r\n      <b-row>\r\n\r\n        <t-input cols=\"2\" v-model=\"address.provinceAbbreviation\" @change=\"onChangeCountryState\"\r\n                 :options=\"countryStateOptions\" label=\"UF\" :required=\"!notRequired\" select-common/>\r\n\r\n        <t-input cols=\"5\" v-model=\"address.cityId\" label=\"Cidade\" @search=\"getCities\"\r\n                 :busy=\"!cityIsLoaded\" :options=\"countryCityOptions\" :required=\"!notRequired\" select>\r\n          <template #no-options>\r\n            <span v-if=\"address.provinceAbbreviation === ''\">Selecione um UF</span>\r\n            <span v-else>Cidade não encontrada</span>\r\n          </template>\r\n        </t-input>\r\n\r\n        <t-input cols=\"5\" v-model=\"address.neighborhood\" label=\"Bairro\" :required=\"!notRequired\"/>\r\n\r\n      </b-row>\r\n\r\n    </div>\r\n\r\n\r\n  </t-form-wrapped>\r\n\r\n</template>\r\n\r\n<script>\r\nimport http from \"@/services/config/http-common\"\r\n\r\nexport default {\r\n  name: 'e-address',\r\n  data() {\r\n    return {\r\n      changeDefaultCity: true,\r\n      oldProvinceAbbreviation: \"\",\r\n      cityIsLoaded: true,\r\n      countryCityOptions: [],\r\n      countryStateOptions: [\r\n        {\r\n          value: \"\",\r\n          text: \"\",\r\n          defaultCity: 0\r\n        },\r\n        {\r\n          value: \"AC\",\r\n          text: \"AC - Acre\",\r\n          defaultCity: 1200401\r\n        },\r\n        {\r\n          value: \"AL\",\r\n          text: \"AL - Alagoas\",\r\n          defaultCity: 2704302\r\n        },\r\n        {\r\n          value: \"AM\",\r\n          text: \"AM - Amazonas\",\r\n          defaultCity: 1302603\r\n\r\n        },\r\n        {\r\n          value: \"AP\",\r\n          text: \"AP - Amapá\",\r\n          defaultCity: 1600303\r\n        },\r\n        {\r\n          value: \"BA\",\r\n          text: \"BA - Bahia\",\r\n          defaultCity: 2927408\r\n        },\r\n        {\r\n          value: \"CE\",\r\n          text: \"CE - Ceará\",\r\n          defaultCity: 2304400\r\n        },\r\n        {\r\n          value: \"DF\",\r\n          text: \"DF - Distrito Federal\",\r\n          defaultCity: 5300108\r\n        },\r\n        {\r\n          value: \"ES\",\r\n          text: \"ES - Espírito Santo\",\r\n          defaultCity: 3205309\r\n        },\r\n        {\r\n          value: \"GO\",\r\n          text: \"GO - Goiás\",\r\n          defaultCity: 5208707\r\n        },\r\n        {\r\n          value: \"MA\",\r\n          text: \"MA - Maranhão\",\r\n          defaultCity: 2111300\r\n        },\r\n        {\r\n          value: \"MG\",\r\n          text: \"MG - Minas Gerais\",\r\n          defaultCity: 3106200\r\n        },\r\n        {\r\n          value: \"MS\",\r\n          text: \"MS - Mato Grosso do Sul\",\r\n          defaultCity: 5002704\r\n        },\r\n        {\r\n          value: \"MT\",\r\n          text: \"MT - Mato Grosso\",\r\n          defaultCity: 5103403\r\n        },\r\n        {\r\n          value: \"PA\",\r\n          text: \"PA - Pará\",\r\n          defaultCity: 1501402\r\n        },\r\n        {\r\n          value: \"PB\",\r\n          text: \"PB - Paraíba\",\r\n          defaultCity: 2507507\r\n        },\r\n        {\r\n          value: \"PE\",\r\n          text: \"PE - Pernambuco\",\r\n          defaultCity: 2611606\r\n        },\r\n        {\r\n          value: \"PI\",\r\n          text: \"PI - Piauí\",\r\n          defaultCity: 2211001\r\n        },\r\n        {\r\n          value: \"PR\",\r\n          text: \"PR - Paraná\",\r\n          defaultCity: 4106902\r\n        },\r\n        {\r\n          value: \"RJ\",\r\n          text: \"RJ - Rio de Janeiro\",\r\n          defaultCity: 3304557\r\n        },\r\n        {\r\n          value: \"RN\",\r\n          text: \"RN - Rio Grande do Norte\",\r\n          defaultCity: 2408102\r\n        },\r\n        {\r\n          value: \"RO\",\r\n          text: \"RO - Rondônia\",\r\n          defaultCity: 1100205\r\n        },\r\n        {\r\n          value: \"RR\",\r\n          text: \"RR - Roraima\",\r\n          defaultCity: 1400100\r\n        },\r\n        {\r\n          value: \"RS\",\r\n          text: \"RS - Rio Grande do Sul\",\r\n          defaultCity: 4314902\r\n        },\r\n        {\r\n          value: \"SC\",\r\n          text: \"SC - Santa Catarina\",\r\n          defaultCity: 4205407\r\n        },\r\n        {\r\n          value: \"SE\",\r\n          text: \"SE - Sergipe\",\r\n          defaultCity: 2800308\r\n        },\r\n        {\r\n          value: \"SP\",\r\n          text: \"SP - São Paulo\",\r\n          defaultCity: 3550308\r\n        },\r\n        {\r\n          value: \"TO\",\r\n          text: \"TO - Tocantins\",\r\n          defaultCity: 1721000\r\n        }\r\n      ]\r\n    }\r\n  },\r\n  props: {\r\n    status: {\r\n      type: String,\r\n      required: true,\r\n    },\r\n    command: {\r\n      type: String,\r\n      required: true,\r\n    },\r\n    name: {\r\n      type: String,\r\n      default: \"address\", //Nome do objeto\r\n    },\r\n    notRequired: {\r\n      type: Boolean,\r\n      default: false,\r\n    },\r\n    address: {\r\n      type: Object,\r\n      default: null,\r\n    },\r\n    error: {\r\n      type: Object,\r\n    },\r\n  },\r\n  methods: {\r\n\r\n\r\n    onChangeCountryState(value) {\r\n\r\n\r\n      //Reseta para cidade capital se o estado já tivesse sido preenchido\r\n      if (this.oldProvinceAbbreviation !== value && this.changeDefaultCity) {\r\n        //JAMAIS UTILIZAR ESTA OPÇÃO, POIS SE NÃO IRÁ COMPLICAR COM USO DE OUTRAS APIS COMO CNPJWS\r\n        //this.address.cityId = this.countryStateOptions.find(item => item.value === this.address.provinceAbbreviation).defaultCity\r\n      }\r\n\r\n      this.changeDefaultCity = true //Libera alteração de cidade padrão novamente\r\n      this.oldProvinceAbbreviation = value\r\n\r\n      this.getCities();\r\n\r\n    },\r\n\r\n    async getCities(name = \"\") {\r\n\r\n\r\n      if (this.address.provinceAbbreviation == null || this.address.provinceAbbreviation === '')\r\n        return \"\"\r\n\r\n      this.cityIsLoaded = false\r\n\r\n      let params = new URLSearchParams()\r\n      params.set(\"abbreviation\", this.address.provinceAbbreviation)\r\n      params.set(\"name\", name)\r\n\r\n\r\n      http.list(\"general/country-city/selectList\", params).then((list) => {\r\n\r\n        this.countryCityOptions = list\r\n        this.cityIsLoaded = true\r\n\r\n      }).catch(error => this.responseError(error))\r\n\r\n\r\n    },\r\n\r\n    setAddress({id, street, province, neighborhood}) {\r\n\r\n      const newAddress = {\r\n        street: street,\r\n        provinceAbbreviation: province,\r\n        neighborhood: neighborhood,\r\n        cityId: id\r\n      }\r\n\r\n      this.changeDefaultCity = false //Bloqueia alteração para cidade default\r\n\r\n      this.$emit(\"getApi\", this.name, newAddress)\r\n      this.$refs.formNumber.$el.getElementsByTagName('input')[0].focus()\r\n\r\n    },\r\n\r\n  },\r\n  async mounted() {\r\n\r\n    if (this.address !== null) {\r\n      this.oldCityId = this.address.cityId\r\n      this.oldProvinceAbbreviation = this.address.provinceAbbreviation\r\n    }\r\n\r\n  },\r\n  watch: {\r\n    'address.provinceAbbreviation': {\r\n      handler: async function (after, before) {\r\n        if (after !== undefined && after !== null && after !== before) {\r\n\r\n          if (before !== '') {\r\n            this.address.cityId = 0\r\n          }\r\n\r\n          await this.getCities()\r\n        }\r\n      },\r\n      deep: true\r\n    }\r\n\r\n  }\r\n\r\n}\r\n</script>\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./e-address.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./e-address.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./e-address.vue?vue&type=template&id=4f7aa92c&\"\nimport script from \"./e-address.vue?vue&type=script&lang=js&\"\nexport * from \"./e-address.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[(_vm.showDialogModels)?_c('t-dialog-import-models',{attrs:{\"type\":_vm.type},on:{\"onSubmit\":_vm.onImported}}):_vm._e(),_c('b-modal',{ref:\"modal\",attrs:{\"id\":'modal-import-'+_vm.type,\"title\":\"Escolha uma opção desejada\",\"hide-footer\":\"\"},on:{\"show\":_vm.onShow,\"hidden\":_vm.onHidden}},[_c('div',{staticClass:\"grid-menu grid-menu-2col p-4\"},[_c('div',{staticClass:\"no-gutters row d-flex justify-content-center\"},[(!_vm.disableImport)?_c('div',{staticClass:\"col-sm-4\"},[_c('t-button',{staticClass:\"border-left border-top btn-icon-vertical btn-square btn-transition btn btn-outline-primary\",class:{'border-bottom':_vm.disableDuplicate},on:{\"click\":_vm.onImport}},[_c('i',{staticClass:\"lnr-magic-wand btn-icon-wrapper btn-icon-lg mb-3\"}),_vm._v(\" Importar Modelo \")])],1):_vm._e(),(!_vm.disableDuplicate)?_c('div',{staticClass:\"col-sm-4\"},[_c('t-button',{staticClass:\"border-right border-top border-bottom btn-icon-vertical btn-square btn-transition btn btn-outline-primary\",on:{\"click\":_vm.onDuplicate}},[_c('i',{staticClass:\"lnr-layers btn-icon-wrapper btn-icon-lg mb-3\"}),_vm._v(\" Duplicar \")])],1):_vm._e(),(!_vm.disableNew)?_c('div',{staticClass:\"col-sm-4\"},[_c('t-button',{staticClass:\"border-bottom border-top btn-icon-vertical btn-square btn-transition btn btn-outline-primary\",class:{'border-right':_vm.disableDuplicate},attrs:{\"to\":_vm.newTo}},[_c('i',{staticClass:\"lnr-file-empty btn-icon-wrapper btn-icon-lg mb-3\"}),_vm._v(\" Em branco \")])],1):_vm._e()])])])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[(_vm.type==='enterprise')?_c('EnterpriseImportDialog',{attrs:{\"foreign-key\":_vm.enterpriseId,\"reference\":_vm.reference},on:{\"onSubmit\":_vm.onEnterpriseImportDialog}}):_vm._e(),_c('b-modal',{ref:\"modal\",attrs:{\"size\":\"xl\",\"no-close-on-esc\":\"\",\"id\":\"modal-import-models\",\"no-close-on-backdrop\":\"\",\"ok-only\":\"\",\"title\":_vm.title + ' disponíveis'},on:{\"hide\":function($event){return _vm.closeSearch()},\"show\":_vm.onShow,\"ok\":_vm.handleOk},scopedSlots:_vm._u([{key:\"modal-footer\",fn:function(ref){\nvar ok = ref.ok;\nreturn [(_vm.type === 'enterprise')?_c('t-button',{staticClass:\"pr-5 pl-5\",attrs:{\"primary\":\"\"},on:{\"click\":function($event){return ok()}}},[_vm._v(\"Avançar com Importação \"),_c('b-icon-arrow-right',{staticClass:\"ml-2\"})],1):_c('t-button',{staticClass:\"pr-5 pl-5\",attrs:{\"text\":'Importar ' + _vm.title,\"sending\":_vm.onSending,\"submit\":\"\",\"primary\":\"\"},on:{\"click\":function($event){return ok()}}})]}}])},[_c('b-row',[_c('t-input',{attrs:{\"cols\":\"3\",\"label\":'Pesquisar'},nativeOn:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.executeSearchInput.apply(null, arguments)}},model:{value:(_vm.form.default),callback:function ($$v) {_vm.$set(_vm.form, \"default\", $$v)},expression:\"form.default\"}}),(_vm.type === 'type-pathology')?_c('t-input',{attrs:{\"cols\":\"3\",\"label\":\"Setor\"},nativeOn:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.executeSearchInput.apply(null, arguments)}},model:{value:(_vm.form.sector),callback:function ($$v) {_vm.$set(_vm.form, \"sector\", $$v)},expression:\"form.sector\"}}):_vm._e(),(_vm.type === 'regulation')?_c('t-input',{attrs:{\"cols\":\"3\",\"label\":\"Categoria\"},nativeOn:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.executeSearchInput.apply(null, arguments)}},model:{value:(_vm.form.typeRegulation),callback:function ($$v) {_vm.$set(_vm.form, \"typeRegulation\", $$v)},expression:\"form.typeRegulation\"}}):_vm._e(),_c('b-col',{attrs:{\"cols\":\"3\"}},[_c('t-button',{staticClass:\"ml-3\",attrs:{\"outline-secondary\":\"\",\"form-inline\":\"\"},on:{\"click\":_vm.executeSearchInput}},[_c('b-icon-search',{staticClass:\"mr-1\",staticStyle:{\"scale\":\"0.8\"}}),_vm._v(\" Filtrar \")],1)],1)],1),_c('div',{staticStyle:{\"overflow\":\"hidden\",\"position\":\"relative\",\"float\":\"left\",\"width\":\"100%\"}},[(_vm.msgInfo !== '')?_c('t-msg',{attrs:{\"info\":\"\"}},[_vm._v(_vm._s(_vm.msgInfo))]):_vm._e(),_c('t-table',{attrs:{\"show\":_vm.checkViewListTableDefault(),\"enable-radio\":_vm.unique,\"enable-checked\":!_vm.unique,\"filtered\":_vm.filtered,\"busy\":!_vm.pageListIsLoaded || _vm.onSending,\"user-auth\":_vm.userAuth,\"items\":_vm.request.content,\"fields\":_vm.fields,\"total-pages\":_vm.request.totalPages,\"total-elements\":_vm.request.totalElements,\"container-table-style\":[{'min-height':'250px'}],\"table-bordered\":\"\",\"table-striped\":\"\",\"primary-key-column\":_vm.primaryKeyColumn,\"link-primary-column\":_vm.linkPrimaryColumn,\"disable-actions-column\":\"\"},on:{\"getPage\":_vm.getPageSearchList},scopedSlots:_vm._u([{key:\"item(modelEnterprise)\",fn:function(ref){\nvar item = ref.item;\nreturn [(item.modelEnterprise)?_c('div',[_c('b-badge',{attrs:{\"variant\":\"info\"}},[_vm._v(\"Específico\")])],1):_c('div',[_vm._v(\" Padrão \")])]}}]),model:{value:(_vm.importedId),callback:function ($$v) {_vm.importedId=$$v},expression:\"importedId\"}})],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('t-dialog-form',{ref:\"dialog_form\",attrs:{\"generalErrors\":_vm.generalErrors,\"title\":_vm.title,\"large\":\"\",\"ok-text\":_vm.okText,\"status\":_vm.status,\"id\":_vm.id,\"command\":_vm.command},on:{\"show\":_vm.showModal,\"hidden\":_vm.resetModal,\"onSubmit\":_vm.onSubmit},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar status = ref.status;\nreturn [_c('b-card-title',[_vm._v(_vm._s(_vm.reference))]),_c('b-row',[_c('t-input',{attrs:{\"cols\":\"9\",\"add-error\":_vm.error.title,\"label\":\"Título do novo empreendimento\",\"focus\":\"\",\"required\":\"\"},model:{value:(_vm.form.title),callback:function ($$v) {_vm.$set(_vm.form, \"title\", $$v)},expression:\"form.title\"}}),_c('t-input',{attrs:{\"cols\":\"3\",\"add-error\":_vm.error.otherCodeLabel,\"label\":\"Cód. Interno\",\"help\":\"Utilize este campo caso desejar armazenar o código deste empreendimento de outro sistema seu como por exemplo o ERP da sua empresa\"},model:{value:(_vm.form.otherCodeLabel),callback:function ($$v) {_vm.$set(_vm.form, \"otherCodeLabel\", $$v)},expression:\"form.otherCodeLabel\"}})],1),_c('t-input-person',{attrs:{\"customer\":\"\",\"status\":status,\"command\":_vm.command,\"required\":\"\",\"add-error\":_vm.error.customerId},model:{value:(_vm.form.customerId),callback:function ($$v) {_vm.$set(_vm.form, \"customerId\", $$v)},expression:\"form.customerId\"}}),_c('b-link',{on:{\"click\":function($event){return _vm.importAddressCustomer()}}},[_vm._v(\"Importar endereço do cliente\")]),_c('e-address',{attrs:{\"address\":_vm.form.address,\"not-required\":\"\",\"command\":_vm.command,\"status\":status},on:{\"getApi\":_vm.getEmbedAddressApi}}),_c('b-card-title',{staticClass:\"mt-2\"},[_vm._v(\"Dados do Contato\")]),_c('b-row',[_c('t-input',{attrs:{\"cols\":\"8\",\"label\":\"Nome\"},model:{value:(_vm.form.contact.name),callback:function ($$v) {_vm.$set(_vm.form.contact, \"name\", $$v)},expression:\"form.contact.name\"}}),_c('t-input',{attrs:{\"cols\":\"4\",\"label\":\"Cargo\"},model:{value:(_vm.form.contact.department),callback:function ($$v) {_vm.$set(_vm.form.contact, \"department\", $$v)},expression:\"form.contact.department\"}})],1),_c('b-row',[_c('t-input',{attrs:{\"cols\":\"4\",\"tel\":\"\",\"label\":\"Tel\"},model:{value:(_vm.form.contact.tel),callback:function ($$v) {_vm.$set(_vm.form.contact, \"tel\", $$v)},expression:\"form.contact.tel\"}}),_c('t-input',{attrs:{\"cols\":\"4\",\"email\":\"\",\"label\":\"Email\"},model:{value:(_vm.form.contact.email),callback:function ($$v) {_vm.$set(_vm.form.contact, \"email\", $$v)},expression:\"form.contact.email\"}}),_c('t-input',{attrs:{\"cols\":\"4\",\"label\":\"Obs.\"},model:{value:(_vm.form.contact.note),callback:function ($$v) {_vm.$set(_vm.form.contact, \"note\", $$v)},expression:\"form.contact.note\"}})],1)]}}])})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\n  <t-dialog-form :generalErrors=\"generalErrors\" :title=\"title\" large :ok-text=\"okText\" @show=\"showModal\"\n                 @hidden=\"resetModal\" :status=\"status\" :id=\"id\" :command=\"command\"\n                 ref=\"dialog_form\" @onSubmit=\"onSubmit\">\n\n\n    <template #default=\"{status}\">\n\n      <b-card-title>{{reference}}</b-card-title>\n\n      <b-row>\n\n        <t-input v-model=\"form.title\" cols=\"9\" :add-error=\"error.title\" label=\"Título do novo empreendimento\" focus\n                 required/>\n\n        <t-input\n            cols=\"3\"\n            v-model=\"form.otherCodeLabel\"\n            :add-error=\"error.otherCodeLabel\"\n            label=\"Cód. Interno\"\n            help=\"Utilize este campo caso desejar armazenar o código deste empreendimento de outro sistema seu como por exemplo o ERP da sua empresa\"/>\n\n      </b-row>\n\n\n      <t-input-person customer :status=\"status\" :command=\"command\" required :add-error=\"error.customerId\"\n                      v-model=\"form.customerId\"/>\n\n      <b-link @click=\"importAddressCustomer()\">Importar endereço do cliente</b-link>\n\n\n      <e-address :address=\"form.address\" not-required :command=\"command\" :status=\"status\"\n                 @getApi=\"getEmbedAddressApi\"/>\n\n      <b-card-title class=\"mt-2\">Dados do Contato</b-card-title>\n\n      <b-row>\n\n        <t-input cols=\"8\" label=\"Nome\" v-model=\"form.contact.name\"  />\n        <t-input cols=\"4\" label=\"Cargo\" v-model=\"form.contact.department\"  />\n\n      </b-row>\n\n      <b-row>\n\n        <t-input cols=\"4\" tel label=\"Tel\" v-model=\"form.contact.tel\"  />\n        <t-input cols=\"4\" email label=\"Email\" v-model=\"form.contact.email\"  />\n        <t-input cols=\"4\" label=\"Obs.\" v-model=\"form.contact.note\"  />\n\n      </b-row>\n\n    </template>\n\n\n  </t-dialog-form>\n\n</template>\n<script>\nimport tDialogForm from \"@/components/template/dialog/t-dialog-form\";\nimport pageDialogFormMixin from \"@/mixins/page/pageDialogFormMixin\";\nimport eAddress from \"@/views/embed/general/e-address\";\nimport ui from \"@/assets/scripts/ui\";\nimport CustomerService from \"@/services/modules/customer/Customer.service\";\n\nexport default {\n  name: \"EnterpriseImportDialog\",\n  components: {tDialogForm, eAddress},\n  mixins: [pageDialogFormMixin],\n  data() {\n    return {\n      id: \"modal-enterprise-import\",\n      title: \"Importação de Empreendimento\",\n      okText: \"Importar Empreendimento\",\n      form: {\n        enterpriseId: 0,\n        title: \"\",\n        customerId: 0,\n        otherCodeLabel: \"\",\n        contact:{\n          name:\"\",\n          department: \"\",\n          tel: \"\",\n          email: \"\",\n          note:\"\",\n        },\n        address: {\n          /*Embed Address version: 1.0*/\n          country: \"BR\",\n          zipcode: \"\",\n          street: \"\",\n          number: \"\",\n          complement: \"\",\n          neighborhood: \"\",\n          provinceAbbreviation: \"\",\n          cityId: 0\n          /*-------------------------*/\n        },\n      },\n      error: {//Campos que podem receber retorno de erro do backend\n        title: \"\",\n        otherCodeLabel: \"\",\n      },\n      addContact:false,\n    }\n  },\n  methods: {\n\n    //Declaro sempre localmente, pois poderá realizar operações diferentes do padrão como setar algum valor padrão vindo de fora e que seria limpo pelo resetModal de forma dinamica\n    showModal() {\n\n      //Limpa os campos\n      this.resetModal()\n\n      //Setar alguma informações padrão por exemplo vindo de fora\n\n    },\n\n    async onSubmit() {\n\n      this.form.enterpriseId = this.foreignKey\n\n      await this.setInsertDialog(\"place/enterprise/import\", (item) => {\n\n        this.itemInserted = item\n\n        this.successInsert()\n\n      })\n\n    },\n\n    async importAddressCustomer() {\n\n      if (this.form.customerId > 0) {\n\n        if (this.form.address.street !== '') {\n          ui.msgConfirm(this, 'Confirmação de importação de endereço', 'Tem certeza que seja importar os dados?<br />Obs.: Os dados atuais de endereço serão substituidos.', async () => {\n            await this.importAddressCustomerAux()\n          })\n        } else {\n          await this.importAddressCustomerAux()\n        }\n\n      } else {\n\n        ui.msgError(this, 'Selecione um cliente antes de tentar importar o endereço')\n\n      }\n\n    },\n\n    async importAddressCustomerAux() {\n\n      await CustomerService.getResume('id', this.form.customerId).then(resume => {\n\n        this.form.address.street = resume.street\n        this.form.address.number = resume.number\n        this.form.address.neighborhood = resume.neighborhood\n        this.form.address.cityId = resume.cityId\n        this.form.address.complement = resume.complement\n        this.form.address.zipcode = resume.zipcode\n        this.form.address.provinceAbbreviation = resume.provinceAbbreviation\n\n\n      }).catch(error => {\n\n        if (error.response) {\n          if (error.response.status === 500) {\n            ui.msg(this, 'Informação', error.response.data.message)\n          }\n        } else if (error !== '') {\n          ui.msg(this, \"Erro\", error)\n        }\n      })\n\n    }\n\n  },\n  props: {\n    reference: String,\n  }\n}\n</script>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EnterpriseImportDialog.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EnterpriseImportDialog.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./EnterpriseImportDialog.vue?vue&type=template&id=177901cd&\"\nimport script from \"./EnterpriseImportDialog.vue?vue&type=script&lang=js&\"\nexport * from \"./EnterpriseImportDialog.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","<template>\n\n  <div>\n\n    <EnterpriseImportDialog :foreign-key=\"enterpriseId\" :reference=\"reference\" v-if=\"type==='enterprise'\" @onSubmit=\"onEnterpriseImportDialog\"/>\n\n    <b-modal size=\"xl\" @hide=\"closeSearch()\" ref=\"modal\" no-close-on-esc id=\"modal-import-models\"\n             no-close-on-backdrop\n             ok-only\n             @show=\"onShow\"\n             @ok=\"handleOk\"\n             :title=\"title + ' disponíveis'\">\n\n      <b-row>\n\n        <t-input cols=\"3\" v-model=\"form.default\" :label=\"'Pesquisar'\"\n                 @keyup.enter.native=\"executeSearchInput\"/>\n\n\n        <t-input cols=\"3\" v-model=\"form.sector\" v-if=\"type === 'type-pathology'\" label=\"Setor\"\n                 @keyup.enter.native=\"executeSearchInput\"/>\n\n        <t-input cols=\"3\" v-model=\"form.typeRegulation\" v-if=\"type === 'regulation'\" label=\"Categoria\"\n                 @keyup.enter.native=\"executeSearchInput\"/>\n\n\n        <b-col cols=\"3\">\n\n          <t-button @click=\"executeSearchInput\" class=\"ml-3\" outline-secondary form-inline>\n            <b-icon-search class=\"mr-1\" style=\"scale: 0.8\"></b-icon-search>\n            Filtrar\n          </t-button>\n\n        </b-col>\n\n      </b-row>\n\n\n      <div style=\"overflow: hidden; position: relative; float: left; width: 100%\">\n\n        <t-msg info v-if=\"msgInfo !== ''\">{{ msgInfo }}</t-msg>\n\n        <t-table\n            @getPage=\"getPageSearchList\"\n            :show=\"checkViewListTableDefault()\"\n            :enable-radio=\"unique\"\n            :enable-checked=\"!unique\"\n            v-model=\"importedId\"\n            :filtered=\"filtered\"\n            :busy=\"!pageListIsLoaded || onSending\"\n            :user-auth=\"userAuth\"\n            :items=\"request.content\"\n            :fields=\"fields\"\n            :total-pages=\"request.totalPages\"\n            :total-elements=\"request.totalElements\"\n            :container-table-style=\"[{'min-height':'250px'}]\"\n            table-bordered\n            table-striped\n            :primary-key-column=\"primaryKeyColumn\"\n            :link-primary-column=\"linkPrimaryColumn\"\n            disable-actions-column>\n\n          <template #item(modelEnterprise)=\"{item}\">\n\n            <div v-if=\"item.modelEnterprise\">\n              <b-badge variant=\"info\">Específico</b-badge>\n            </div>\n\n            <div v-else>\n              Padrão\n            </div>\n\n          </template>\n\n        </t-table>\n\n      </div>\n\n      <template #modal-footer=\"{ok}\">\n\n        <t-button @click=\"ok()\" v-if=\"type === 'enterprise'\" class=\"pr-5 pl-5\"\n                  primary>Avançar com Importação\n          <b-icon-arrow-right class=\"ml-2\"/>\n        </t-button>\n\n        <t-button @click=\"ok()\" v-else class=\"pr-5 pl-5\" :text=\"'Importar ' + title\"\n                  :sending=\"onSending\"\n                  submit\n                  primary/>\n\n      </template>\n\n    </b-modal>\n\n  </div>\n\n\n</template>\n<script>\n\nimport pageInputSearchListMixin from \"@/mixins/page/pageInputSearchListMixin\";\nimport ui from \"@/assets/scripts/ui\";\nimport EnterpriseImportDialog from \"@/views/modules/place/EnterpriseImportDialog\";\nimport {crudGeneral} from \"@/services/resource/GeneralCRUD.service\";\n\nexport default {\n  name: 't-dialog-import-models',\n  mixins: [pageInputSearchListMixin],\n  components: {EnterpriseImportDialog},\n  data() {\n    return {\n      status: \"\",\n      path: \"\", //Utilizando conforme vindo entityPath\n      importedId: [],\n      enterpriseId:0,\n      reference: \"\",\n      msgInfo: '',\n      form: {\n        default: \"\",\n        sector: \"\",\n        typeRegulation: \"\",\n      },\n      title: \"\",\n      unique: true,\n      primaryKeyColumn: \"\",\n      linkPrimaryColumn: \"\",\n      fields: [],\n    }\n  },\n  props: {\n    type: String,\n  },\n\n  computed: {\n    onStatus() {\n      return this.status\n    },\n  },\n  methods: {\n\n    async mountedPrepare() {\n\n      if (this.type === 'enterprise') {\n\n        this.unique = true\n        this.path = 'place/enterprise/import'\n        this.title = 'Empreendimento'\n        this.primaryKeyColumn = 'enterpriseId'\n        this.linkPrimaryColumn = \"title\"\n\n        this.fields = [\n          {key: \"title\", label: \"Empreendimento\"},\n          {key: \"modelEnterprise\", label: \"Tipo\"},\n          {key: \"note\", label: \"Informações\"},\n        ]\n\n      } else if (this.type === 'type-environment') {\n\n        this.unique = false\n        this.path = 'place/type-environment/import'\n        this.title = 'Modelo de Ambiente'\n        this.primaryKeyColumn = 'typeEnvironmentId'\n        this.linkPrimaryColumn = \"name\"\n        this.fields = [\n          {key: \"name\", label: \"Modelo de Ambiente\"},\n          {key: \"qtyItems\", label: \"Qtd. Itens\"},\n          {key: \"note\", label: \"Informações\"},\n        ]\n\n      } else if (this.type === 'type-pathology') {\n\n        this.unique = false\n        this.path = 'checklist/type-pathology/import'\n        this.title = 'Patologia'\n        this.primaryKeyColumn = 'typePathologyId'\n        this.linkPrimaryColumn = \"name\"\n        this.fields = [\n          {key: \"name\", label: \"Patologia\"},\n          {key: \"sector\", label: \"Setor\"},\n        ]\n\n      } else if (this.type === 'regulation') {\n\n        this.path = 'checklist/regulation/import'\n        this.title = 'Normas Técnicas'\n        this.primaryKeyColumn = 'regulationId'\n        this.linkPrimaryColumn = \"title\"\n        this.unique = false\n        this.fields = [\n          {key: \"name\", label: \"Norma\"},\n          {key: \"title\", label: \"Título\"},\n          {key: \"typeRegulation\", label: \"Categoria\"},\n          {key: \"note\", label: \"Informações\"},\n        ]\n\n      }\n\n      if (this.unique) {\n        this.importedId = 0\n        this.msgInfo = ''\n      } else {\n        this.importedId = []\n        this.searchParams.delete('pageSize')\n        this.searchParams.append('pageSize', \"20\")\n        this.msgInfo = 'Listagem somente de registros que não foram importados anteriormente'\n      }\n\n      this.pageNumber = 1\n\n      await this.getPageSearchList(this.pageNumber, false)\n\n      this.pageListIsLoaded = true\n\n    },\n\n    async onChosen() {\n\n      if (this.type === 'enterprise') {\n        this.openEnterpriseImportDialog()\n      } else {\n\n        let pathImport = this.path\n        let data = \"\"\n\n        if (this.unique) {\n          pathImport += \"/\" + this.importedId //Enviado no header\n        } else {\n          data = this.importedId //Enviado no corpo\n        }\n\n        this.onSending = true\n        let item\n\n        await crudGeneral.create(pathImport, data)\n            .then(response => {\n              item = response.data\n            })\n            .catch(error => {\n              console.log('Erro externo: ' + error)\n            })\n\n        this.onSending = false\n        this.$emit('onSubmit', item)\n\n      }\n\n    },\n    async executeAfterSearch() {\n\n    },\n\n    openEnterpriseImportDialog(){\n\n      this.enterpriseId = this.importedId\n      this.reference = this.request.content.find(a => a.enterpriseId === this.importedId).title\n\n      this.openModal('modal-enterprise-import')\n\n    },\n\n    onEnterpriseImportDialog(item) {\n\n      console.log('Empreendimento importado!')\n      this.$emit('onSubmit', item)\n\n    },\n\n    async onShow() {\n      await this.mountedPrepare()\n    },\n\n    async handleOk(bvModalEvt) {\n\n      bvModalEvt.preventDefault()\n\n      if (this.unique) {\n\n        if (this.importedId === 0) {\n          ui.msgError(this, 'Selecione o empreendimento desejado para importação');\n        } else {\n          await this.onChosen()\n        }\n\n      } else {\n\n        if (this.importedId === 0) {\n          ui.msgError(this, 'Selecione pelo menos 1 modelo de ambiente que deseja importar');\n        } else {\n          await this.onChosen()\n        }\n\n      }\n\n    },\n\n  },\n}\n</script>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./t-dialog-import-models.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./t-dialog-import-models.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./t-dialog-import-models.vue?vue&type=template&id=0cecf963&\"\nimport script from \"./t-dialog-import-models.vue?vue&type=script&lang=js&\"\nexport * from \"./t-dialog-import-models.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","<template>\n\n  <div>\n\n    <t-dialog-import-models v-if=\"showDialogModels\" @onSubmit=\"onImported\" :type=\"type\"/>\n\n    <b-modal\n        :id=\"'modal-import-'+type\"\n        ref=\"modal\"\n        title=\"Escolha uma opção desejada\"\n        @show=\"onShow\"\n        hide-footer\n        @hidden=\"onHidden\">\n\n      <div class=\"grid-menu grid-menu-2col p-4\">\n        <div class=\"no-gutters row d-flex justify-content-center\">\n\n\n          <div class=\"col-sm-4\" v-if=\"!disableImport\">\n            <t-button @click=\"onImport\"\n                      :class=\"{'border-bottom':disableDuplicate}\"\n                      class=\"border-left border-top btn-icon-vertical btn-square btn-transition btn btn-outline-primary\">\n              <i class=\"lnr-magic-wand btn-icon-wrapper btn-icon-lg mb-3\"> </i>\n              Importar Modelo\n            </t-button>\n\n          </div>\n\n          <div class=\"col-sm-4\" v-if=\"!disableDuplicate\">\n            <t-button @click=\"onDuplicate\"\n                      class=\"border-right border-top border-bottom btn-icon-vertical btn-square btn-transition btn btn-outline-primary\">\n              <i class=\"lnr-layers btn-icon-wrapper btn-icon-lg mb-3\"> </i>\n              Duplicar\n            </t-button>\n\n          </div>\n\n          <div class=\"col-sm-4\" v-if=\"!disableNew\">\n            <t-button :to=\"newTo\"\n                      :class=\"{'border-right':disableDuplicate}\"\n                      class=\"border-bottom border-top btn-icon-vertical btn-square btn-transition btn btn-outline-primary\">\n              <i class=\"lnr-file-empty btn-icon-wrapper btn-icon-lg mb-3\"> </i>\n              Em branco\n            </t-button>\n\n          </div>\n\n\n        </div>\n\n      </div>\n\n\n    </b-modal>\n\n  </div>\n\n</template>\n<script>\nimport TDialogImportModels from \"@/components/template/dialog/t-dialog-import-models\";\n\nexport default {\n  name: 't-dialog-import',\n  components: {TDialogImportModels},\n  data() {\n    return {\n      status: \"\",\n      showDialogModels: false,\n    }\n  },\n  props: {\n    type: String,\n    title: String,\n    disableImport: Boolean,\n    disableDuplicate: Boolean,\n    disableNew: Boolean,\n    newTo: String,\n\n  },\n  computed: {\n    onStatus() {\n      return this.status\n    },\n  },\n  methods: {\n\n    onShow() {\n\n      this.$emit('show')\n\n    },\n    onHidden() {\n      this.$emit('hidden')\n    },\n    onImport() {\n      this.showDialogModels = true\n\n      setTimeout(() => {\n        this.$bvModal.show('modal-import-models')\n      }, 100)\n\n\n    },\n    onImported(item) {\n      this.$emit('onImported', item)\n\n      //this.$bvModal.hide('modal-import-' + this.type)\n    },\n    onDuplicate() {\n      this.$bvModal.hide('modal-import-' + this.type)\n      this.$emit('onDuplicate')\n    },\n\n  }\n}\n</script>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./t-dialog-import.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./t-dialog-import.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./t-dialog-import.vue?vue&type=template&id=4ebfbb0f&\"\nimport script from \"./t-dialog-import.vue?vue&type=script&lang=js&\"\nexport * from \"./t-dialog-import.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('label',[_vm._v(\"Palavras-chave\")]),_c('b-form-tags',{staticStyle:{\"min-height\":\"60px\"},attrs:{\"tag-pills\":\"\",\"disabled\":_vm.status === 'sending' || _vm.disabled,\"add-button-text\":\"Adicionar\",\"duplicate-tag-text\":\"Tag duplicada\",\"placeholder\":\"\"},model:{value:(_vm.innerValue),callback:function ($$v) {_vm.innerValue=$$v},expression:\"innerValue\"}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <div>\n    <label>Palavras-chave</label>\n    <b-form-tags\n        v-model=\"innerValue\"\n        tag-pills\n        :disabled=\"status === 'sending' || disabled\"\n        add-button-text=\"Adicionar\"\n        duplicate-tag-text=\"Tag duplicada\"\n        placeholder=\"\"\n        style=\"min-height: 60px\"\n    ></b-form-tags>\n\n  </div>\n\n</template>\n<script>\nexport default {\n  name: 't-keyword',\n  data() {\n    return {\n      innerValue: [],\n    }\n  },\n  props: {\n    value: {\n      type: null,\n      default: \"\"\n    },\n    disabled: Boolean,\n    required: {\n      type: Boolean,\n      default: false\n    },\n    status: {\n      type: String,\n      default: \"\",\n    },\n    command: {\n      type: String,\n      default: \"insert\",\n    },\n  },\n  mounted() {\n    this.setValue(this.value)\n  },\n  methods: {\n    setValue(v) {\n      this.innerValue = v\n    }\n  },\n  watch: {\n\n    value(v) {\n      this.setValue(v)\n    },\n    innerValue(value) {\n      this.$emit(\"input\", value)\n    }\n  }\n}\n</script>\n<style>\n</style>","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./t-keyword.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./t-keyword.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./t-keyword.vue?vue&type=template&id=1bff1096&\"\nimport script from \"./t-keyword.vue?vue&type=script&lang=js&\"\nexport * from \"./t-keyword.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./t-page-form.vue?vue&type=style&index=0&lang=css&\"","import {crudGeneral} from \"@/services/resource/GeneralCRUD.service\";\r\n\r\nexport default {\r\n    crudGeneral,\r\n    data() {\r\n        return {\r\n            foreignKeyColumn: \"\",\r\n            fields: [],\r\n            listFormIsLoaded: true, //Formulário da listagem, por padrão na inclusão já virá carregado, pois virá em branco\r\n            showLoadingList: true, //Por padrão sempre exibe o loading da listagem quando necessário\r\n            listIsLoaded: false,\r\n            listParams: new URLSearchParams(),\r\n            items: [],\r\n            fieldsNotReset: [],\r\n            pathMethodComplement:\"\",\r\n        }\r\n    },\r\n    props: {\r\n        foreignKey: {\r\n            type: Number,\r\n            required: false,\r\n        },\r\n    },\r\n    async mounted() {\r\n\r\n\r\n    },\r\n    methods: {\r\n\r\n        onButtonSubmitText(command) {\r\n            return this.t(command)\r\n        },\r\n\r\n        defaultFormList() {\r\n\r\n            //Preenche os campos padrões que foram limpos após uma operação\r\n            this.form[this.foreignKeyColumn] = this.foreignKey\r\n\r\n        },\r\n\r\n        mountedPrepareFormListDefault() {\r\n\r\n            this.listParams.append(this.foreignKeyColumn, this.foreignKey.toString())\r\n\r\n        },\r\n\r\n        async mountedFormList() {\r\n            await this.mountedForm(false, false, true)\r\n        },\r\n\r\n        async getList(pageNumber) {\r\n\r\n            this.pageFormIsLoaded = true\r\n\r\n            if (this.showLoadingList)\r\n                this.listIsLoaded = false\r\n\r\n            this.status = \"\" //Zera o status geral\r\n\r\n            await crudGeneral.getAll(this.path + this.pathMethodComplement, pageNumber, this.listParams).then((response) => {\r\n                    this.items = response.data\r\n                    this.mountedList()\r\n                }\r\n            ).catch(error => this.responseError(error))\r\n\r\n        },\r\n\r\n        async setSendingFormListDefault(id) {\r\n\r\n            this.setSending(\r\n                id,\r\n                () => {\r\n                    this.clearFieldsCustomizable()\r\n                    this.actionDefaultAfterCRUD()\r\n                },\r\n                () => {\r\n                    this.clearFieldsCustomizable()\r\n                    this.actionDefaultAfterCRUD()\r\n                }, () => {\r\n                    this.clearFieldsCustomizable()\r\n                    this.actionDefaultAfterCRUD()\r\n                },\r\n            )\r\n\r\n        },\r\n\r\n        async actionDefaultAfterCRUD() {\r\n            this.command = 'insert'\r\n            await this.getList()\r\n            this.resetFormDefault(this.form, this.fieldsNotReset)\r\n            this.defaultForm()\r\n        }\r\n\r\n    },\r\n    computed: {},\r\n}","import Type from \"@/model/types/Type\";\r\n\r\nconst type = {\r\n    BOOLEAN : 1,\r\n    INTEGER : 2,\r\n    DOUBLE : 3,\r\n    STRING : 4,\r\n    DATE : 5\r\n}\r\n\r\nconst list = [\r\n    {value: 2, text: \"Inteiro\"},\r\n    {value: 3, text: \"Decimal\"},\r\n    {value: 4, text: \"Texto\"},\r\n    {value: 5, text: \"Data\"},\r\n    {value: 1, text: \"Sim/Não\"},\r\n]\r\n\r\nconst contains = function (typeInput) {\r\n    return Type.contains(list, typeInput)\r\n}\r\n\r\nexport default {\r\n    type,\r\n    list,\r\n    contains\r\n}","const contains = function (list, typeInput) {\r\n    return list.findIndex(e => e.value === typeInput) >= 0\r\n}\r\n\r\nconst getText = function (list,type) {\r\n    const a = list.find(e => e.value === type)\r\n\r\n    if(a !== undefined && a !== null){\r\n        return a.text\r\n    }else{\r\n        return ''\r\n    }\r\n}\r\n\r\nexport default {\r\n    contains,\r\n    getText\r\n}","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('b-card-title',{staticClass:\"ml-4 mb-3\"},[_vm._v(_vm._s(_vm.name))]),_c('t-page-form-field-customizable',{attrs:{\"command\":_vm.command,\"status\":_vm.status,\"path\":_vm.path,\"primaryKeyColumn\":_vm.primaryKeyColumn,\"foreign-key-column\":_vm.foreignKeyColumn,\"primary-key\":_vm.form.pageFieldId,\"foreign-key\":_vm.form.pageId,\"items\":_vm.items,\"user-auth\":_vm.userAuth,\"busy\":!_vm.pageFormIsLoaded,\"busy-form\":!_vm.listFormIsLoaded,\"busy-list\":!_vm.listIsLoaded,\"error-field\":_vm.error_fieldCustomizable,\"general-errors\":_vm.generalErrors},on:{\"onSubmit\":_vm.onSubmit,\"onItemRead\":_vm.onItemReadDefault,\"onItemDelete\":_vm.onItemDeleteDefault,\"onCancelUpdatedList\":_vm.cancelUpdatedField,\"onRequestList\":_vm.getList},model:{value:(_vm.form.fieldCustomizable),callback:function ($$v) {_vm.$set(_vm.form, \"fieldCustomizable\", $$v)},expression:\"form.fieldCustomizable\"}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\n  <div>\n\n    <b-card-title class=\"ml-4 mb-3\">{{ name }}</b-card-title>\n\n    <t-page-form-field-customizable\n        v-model=\"form.fieldCustomizable\" :command=\"command\" :status=\"status\"\n        :path=\"path\" :primaryKeyColumn=\"primaryKeyColumn\" :foreign-key-column=\"foreignKeyColumn\"\n        :primary-key=\"form.pageFieldId\" :foreign-key=\"form.pageId\"\n        :items=\"items\" :user-auth=\"userAuth\"\n        :busy=\"!pageFormIsLoaded\" :busy-form=\"!listFormIsLoaded\" :busy-list=\"!listIsLoaded\"\n        :error-field=\"error_fieldCustomizable\" :general-errors=\"generalErrors\"\n        @onSubmit=\"onSubmit\" @onItemRead=\"onItemReadDefault\" @onItemDelete=\"onItemDeleteDefault\"\n        @onCancelUpdatedList=\"cancelUpdatedField\" @onRequestList=\"getList\">\n\n    </t-page-form-field-customizable>\n\n  </div>\n\n\n</template>\n<script>\nimport pageDefaultMixin from \"@/mixins/page/pageDefaultMixin\"\nimport pageFormMixin from \"@/mixins/page/pageFormMixin\"\nimport pageFormListMixin from \"@/mixins/page/pageFormListMixin\";\nimport pageFormFieldMixin from \"@/mixins/page/pageFormFieldMixin\";\n\n\nimport tPageFormFieldCustomizable from \"@/components/template/page/t-page-form-field-customizable\";\nimport FieldCustomizableEntity from \"@/model/entities/resource/entity/FieldCustomizableEntity\";\n\nexport default {\n  mixins: [pageDefaultMixin, pageFormMixin, pageFormListMixin, pageFormFieldMixin],\n  components: {tPageFormFieldCustomizable},\n  name: 'PageField',\n  data() {\n    return {\n      path: \"setting/page-field\", //Utilizar somente quando fora do padrão\n      primaryKeyColumn: \"pageFieldId\",\n      foreignKeyColumn: \"pageId\", //Utilizar quando usar Tabs com outros componentes\n      form: {\n        pageId: this.foreignKey,\n        pageFieldId: 0,\n        fieldCustomizable: new FieldCustomizableEntity(),\n      },\n      //--------------------------------------------------------------------------------------\n      //Início de campos personalizados desta tela\n\n      error: {//Campos que podem receber retorno de erro do backend\n\n      },\n\n      //--------------------------------------------------------------------------------------\n    }\n  },\n  props: {\n    pageId: Number,\n    typeImage: Boolean,\n    name: String,\n  },\n  methods: {\n\n    defaultForm() {\n\n      //Preenche somente os campos que foram limpos após o reset\n      this.defaultFormField()\n\n\n    },\n\n    mountedPrepare() {\n\n      this.mountedPrepareFormListDefault()\n\n    },\n\n    async mountedContinued() {\n\n\n\n      await this.getList()\n\n    },\n\n    async onSubmit() {\n\n      this.path += \"?pageId=\" + this.foreignKey\n\n      await  this.setSending(\n          this.form.pageFieldId,\n          () => {\n            this.path = \"setting/page-field\"\n            this.actionDefaultAfterCRUD()\n          },\n          () => {\n            this.path = \"setting/page-field\"\n            this.actionDefaultAfterCRUD()\n          }, () => {\n            this.path = \"setting/page-field\"\n            this.actionDefaultAfterCRUD()\n          },\n      )\n\n    },\n\n    mountedList() {\n\n      // Manipulação da listagem após carregando\n      //--------------------------------------\n\n\n      //--------------------------------------\n\n      this.listIsLoaded = true\n\n    },\n    //--------------------------------------------------------------------------------------\n    //Início de métodos personalizados desta tela\n\n\n    //--------------------------------------------------------------------------------------\n  },\n  async mounted() {\n\n    this.mountedPrepare()\n\n    await this.mountedFormList()\n\n    await this.mountedContinued()\n\n  },\n}\n</script>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PageField.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PageField.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./PageField.vue?vue&type=template&id=6c623e52&\"\nimport script from \"./PageField.vue?vue&type=script&lang=js&\"\nexport * from \"./PageField.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('b-modal',{attrs:{\"id\":\"modalGeneralErrors\",\"title\":\"Erros encontrados:\",\"ok-only\":\"\"},scopedSlots:_vm._u([{key:\"modal-footer\",fn:function(ref){\nvar ok = ref.ok;\nreturn [_c('t-button',{attrs:{\"text\":\"Corrigir Erros\",\"danger\":\"\"},on:{\"click\":function($event){return ok()}}})]}}]),model:{value:(_vm.hasGeneralErrors),callback:function ($$v) {_vm.hasGeneralErrors=$$v},expression:\"hasGeneralErrors\"}},_vm._l((_vm.generalErrors),function(error){return _c('div',{key:error,staticClass:\"p-2 border-bottom mb-2\"},[_c('span',{staticClass:\"text-danger\"},[_c('b-icon-x-circle-fill',{staticClass:\"mr-2\"}),_c('span',{domProps:{\"innerHTML\":_vm._s(error.replace(/\\n/g,'<br />'))}})],1)])}),0),_c('transition',{attrs:{\"mode\":\"out-in\",\"enter-active-class\":\"animated fadeInFast\"}},[_c('b-col',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.busy),expression:\"!busy\"}],staticClass:\"fadeIn mb-2 list-table-transition\",attrs:{\"cols\":\"12\"}},[_c('transition',{attrs:{\"name\":\"fade-fast\"}},[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.checkValidation()),expression:\"checkValidation()\"}]},[_c('validation-observer',{ref:\"validationFormList\",scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar invalid = ref.invalid;\nvar errors = ref.errors;\nreturn [_c('span',{staticClass:\"display-none\"},[_vm._v(\" \"+_vm._s(_vm.errorList = errors)+\" \"+_vm._s(_vm.isInvalid = invalid)+\" \")]),_c('form',{ref:\"formList\",on:{\"submit\":function($event){$event.preventDefault();return _vm.onSubmit.apply(null, arguments)}}},[_c('t-form-wrapped',{attrs:{\"command\":_vm.command,\"status\":_vm.localStatus}},[_c('b-row',{class:{'form-loading':_vm.busyForm},staticStyle:{\"margin-left\":\"-5px\",\"margin-right\":\"-5px\"}},[_vm._t(\"default\",null,{\"status\":_vm.localStatus})],2)],1)],1)]}}],null,true)})],1)]),(_vm.items && _vm.items.length > 0 && !_vm.hideHeader)?_c('div',{staticClass:\"d-flex border form-list-header align-items-center\"},[(_vm.sortable)?_c('span',{staticStyle:{\"width\":\"45px\"}}):_c('span',{staticStyle:{\"width\":\"20px\"}}),_c('div',{staticClass:\"text flex-grow-1\"},[_c('b-row',_vm._l((_vm.fields.filter(function (a) {return 'label' in a})),function(field){\nvar _obj;\nreturn _c('div',{key:field.key,staticClass:\"col col-sm-12\",class:( _obj = {}, _obj['col-md-'+field.cols] = field.cols!=='', _obj['text-right'] = field.align === 'right', _obj['text-center'] = field.align === 'center', _obj )},[_vm._v(\" \"+_vm._s(field.label)+\" \")])}),0)],1),_c('span',{style:({'width': _vm.headerMarginRight})})]):_vm._e(),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.busyList),expression:\"!busyList\"}]},[_vm._t(\"list-container\",function(){return [_c('div',{staticClass:\"list-group\",class:{'hideHeader':_vm.hideHeader}},[_c('draggable',{attrs:{\"list\":_vm.items,\"handle\":\".handle\"},on:{\"end\":_vm.draggableEnd}},[_c('transition-group',{attrs:{\"type\":\"transition\",\"name\":!_vm.drag ? 'flip-list' : null}},_vm._l((_vm.items),function(item,index){return _c('li',{key:item[_vm.primaryKeyColumn],staticClass:\"list-group-item list-group-item-form-list line-hover\",class:item.class},[_c('div',{staticClass:\"d-flex align-content-center\",staticStyle:{\"word-break\":\"break-word\"}},[((_vm.sortable && _vm.sortableCheckColumn === '') || (_vm.sortable && item[_vm.sortableCheckColumn]))?_c('b-icon-justify',{staticClass:\"z-index-6 mr-2 mt-1 move handle\",staticStyle:{\"scale\":\"1.2\"}}):(_vm.sortable)?_c('b-icon-justify',{staticClass:\"z-index-6 mr-2 mt-1 opacity-1\",staticStyle:{\"scale\":\"1.2\"}}):_vm._e(),_c('div',{staticClass:\"text flex-grow-1 mr-3\",staticStyle:{\"word-break\":\"break-word\"}},[_c('b-row',{staticClass:\"align-content-center\"},[_vm._t(\"list-content\",function(){return _vm._l((_vm.fields.filter(function (a) {return 'label' in a})),function(field){\nvar _obj;\nreturn _c('b-col',{key:field[_vm.keyRead],staticClass:\"col-sm-12\",class:( _obj = {}, _obj['col-md-'+field.cols] = field.cols>0, _obj['text-right'] = field.align === 'right', _obj['text-center'] = field.align === 'center', _obj )},[_vm._t('item(' + field.key + ')',function(){return [_c('t-table-field',{attrs:{\"column\":field.key,\"item\":item,\"formatter\":field.formatter}})]},{\"item\":item})],2)})},{\"item\":item,\"index\":index})],2)],1),_c('div',[_vm._t(\"list-buttons\",null,{\"item\":item})],2),(_vm.enableChangeOrderUpDown && _vm.userAuth.validation.validationUpdate)?_c('div',{staticClass:\"d-flex justify-content-end align-content-center\",staticStyle:{\"min-width\":\"45px\"}},[_c('b-icon-arrow-up-square',{directives:[{name:\"show\",rawName:\"v-show\",value:(index > 0),expression:\"index > 0\"}],staticClass:\"opacity-6-hover mt-1 mr-2 hover\",on:{\"click\":function($event){return _vm.changeOrderByType(item[_vm.primaryKeyColumn],'Up')}}}),_c('b-icon-arrow-down-square',{directives:[{name:\"show\",rawName:\"v-show\",value:(index !== (_vm.items.length-1)),expression:\"index !== (items.length-1)\"}],staticClass:\"opacity-6-hover mt-1 mr-2 hover\",on:{\"click\":function($event){return _vm.changeOrderByType(item[_vm.primaryKeyColumn],'Down')}}})],1):_vm._e(),(!_vm.disableDefaultButtons)?_c('div',{staticStyle:{\"min-width\":\"50px\"}},[_vm._t(\"append-default-buttons\",null,{\"item\":item}),(_vm.userAuth.validation.validationUpdate)?_c('b-icon-pencil-square',{staticClass:\"opacity-6-hover mt-1 mr-2 hover\",staticStyle:{\"scale\":\"1.2\"},on:{\"click\":function($event){return _vm.itemRead(item[_vm.keyRead])}}}):_vm._e(),(_vm.userAuth.validation.validationDelete)?_c('b-icon-x-circle',{staticClass:\"opacity-6-hover text-danger mt-1 hover\",staticStyle:{\"scale\":\"1.2\"},on:{\"click\":function($event){return _vm.itemDelete(item[_vm.keyDelete])}}}):_vm._e()],2):_vm._e()],1),_vm._t(\"list-footer\",null,{\"item\":item})],2)}),0)],1),(!_vm.disableFooterLength && _vm.items !== undefined && _vm.items !== null && _vm.items.length > 0 && !_vm.pageable)?_c('div',{staticClass:\"text-right mt-1\"},[_vm._v(\"Qtd. itens: \"),_c('strong',[_vm._v(_vm._s(_vm.items.length))]),_vm._v(\" \"),_c('t-help',{attrs:{\"title\":\"Qtd. de itens diferentes na listagem, independente da quantidade individual de cada item.\"}})],1):_vm._e()],1)]}),(_vm.totalPages > 0 && _vm.pageable)?_c('b-row',{staticClass:\"mt-3\"},[_c('b-col',{attrs:{\"cols\":\"6\"}},[(_vm.totalPages > 1)?_c('t-pagination',{attrs:{\"not-link-gen\":\"\",\"total-pages\":_vm.totalPages},on:{\"getPage\":_vm.clickPage}}):_vm._e()],1),(_vm.totalElements > 0)?_c('b-col',{staticClass:\"text-right mt-2\",attrs:{\"cols\":_vm.totalPages === 1 ? 12 : 6}},[_c('small',[_vm._v(\"Total \"+_vm._s(_vm.totalElements)+\" \"+_vm._s(_vm.localTitleItems))])]):_vm._e()],1):_vm._e()],2),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.busyList),expression:\"busyList\"}],staticClass:\"container_loading_form\"},[_c('div',{staticClass:\"container_loading_form_card\",staticStyle:{\"height\":\"350px\"}},[_c('div',{staticClass:\"gradient element-100\",staticStyle:{\"height\":\"30px\",\"margin-top\":\"5px\"}}),_c('div',{staticClass:\"gradient element-100\",staticStyle:{\"height\":\"30px\",\"margin-top\":\"5px\"}}),_c('div',{staticClass:\"gradient element-100\",staticStyle:{\"height\":\"30px\",\"margin-top\":\"5px\"}})])])],1)],1),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.busy),expression:\"busy\"}],staticClass:\"container_loading_form\"},[_vm._m(0)])],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"container_loading_form_card\",staticStyle:{\"height\":\"350px\"}},[_c('div',{staticClass:\"gradient element-100\",staticStyle:{\"height\":\"50px\"}}),_c('div',{staticClass:\"gradient element-100\",staticStyle:{\"height\":\"30px\"}}),_c('div',{staticClass:\"gradient element-100\",staticStyle:{\"height\":\"100px\"}})])}]\n\nexport { render, staticRenderFns }","<template>\n\n  <div>\n\n    <b-modal v-model=\"hasGeneralErrors\" id=\"modalGeneralErrors\" title=\"Erros encontrados:\" ok-only>\n\n      <div v-for=\"error in generalErrors\" :key=\"error\" class=\"p-2 border-bottom mb-2\">\n        <span class=\"text-danger\">\n          <b-icon-x-circle-fill class=\"mr-2\"/>\n          <span v-html=\"error.replace(/\\n/g,'<br />')\"></span>\n        </span>\n      </div>\n\n      <template #modal-footer=\"{ ok }\">\n\n        <t-button @click=\"ok()\" text=\"Corrigir Erros\" danger/>\n\n      </template>\n\n    </b-modal>\n\n    <transition mode=\"out-in\"\n                enter-active-class=\"animated fadeInFast\">\n      <b-col v-show=\"!busy\" class=\"fadeIn mb-2 list-table-transition\" cols=\"12\">\n\n        <transition name=\"fade-fast\">\n\n          <div v-show=\"checkValidation()\">\n\n            <validation-observer ref=\"validationFormList\" v-slot=\"{invalid,errors}\">\n\n              <span class=\"display-none\">\n                {{ errorList = errors }}\n                {{ isInvalid = invalid }}\n              </span>\n\n              <form @submit.prevent=\"onSubmit\" ref=\"formList\">\n\n                <t-form-wrapped :command=\"command\" :status=\"localStatus\">\n\n                  <b-row style=\"margin-left: -5px; margin-right: -5px;\" :class=\"{'form-loading':busyForm}\">\n                    <slot :status=\"localStatus\"></slot>\n                  </b-row>\n\n                </t-form-wrapped>\n\n              </form>\n\n            </validation-observer>\n\n          </div>\n\n        </transition>\n\n\n        <div v-if=\"items && items.length > 0 && !hideHeader\" class=\"d-flex border form-list-header align-items-center\">\n\n          <span v-if=\"sortable\" style=\"width: 45px\"></span>\n          <span v-else style=\"width: 20px\"></span>\n\n\n          <div class=\"text flex-grow-1\">\n            <b-row>\n              <div class=\"col col-sm-12\" v-for=\"field in fields.filter((a) => {return 'label' in a})\" :key=\"field.key\"\n                     :class=\"{['col-md-'+field.cols]:field.cols!=='','text-right':field.align === 'right','text-center':field.align === 'center'}\">\n                {{ field.label }}\n              </div>\n            </b-row>\n          </div>\n\n          <span :style=\"{'width': headerMarginRight}\"></span>\n\n        </div>\n\n\n        <div v-show=\"!busyList\">\n\n          <slot name=\"list-container\">\n\n            <div class=\"list-group\" :class=\"{'hideHeader':hideHeader}\">\n\n              <!--Aplica a classe somente para evitar quebra de 2 listas ordenável e não ordenável -->\n              <draggable :list=\"items\"\n                         @end=\"draggableEnd\" handle=\".handle\">\n\n                <transition-group type=\"transition\" :name=\"!drag ? 'flip-list' : null\">\n\n                  <li\n                      class=\"list-group-item list-group-item-form-list line-hover\"\n                      :class=\"item.class\"\n                      v-for=\"(item,index) in items\"\n                      :key=\"item[primaryKeyColumn]\">\n\n                    <div class=\"d-flex align-content-center\" style=\"word-break: break-word\">\n\n                      <b-icon-justify\n                          v-if=\"(sortable && sortableCheckColumn === '') || (sortable && item[sortableCheckColumn])\"\n                          class=\"z-index-6 mr-2 mt-1 move handle\" style=\"scale:1.2\"/>\n                      <b-icon-justify v-else-if=\"sortable\" class=\"z-index-6 mr-2 mt-1 opacity-1\"\n                                      style=\"scale:1.2\"/>\n\n\n                      <div class=\"text flex-grow-1 mr-3\" style=\"word-break: break-word\">\n\n                        <b-row class=\"align-content-center\">\n\n                          <slot name=\"list-content\" :item=\"item\" :index=\"index\">\n\n                            <b-col\n                                :key=\"field[keyRead]\"\n                                v-for=\"field in fields.filter((a) => {return 'label' in a})\"\n                                class=\"col-sm-12\"\n                                :class=\"{['col-md-'+field.cols]:field.cols>0,'text-right':field.align === 'right','text-center':field.align === 'center'}\">\n\n                              <slot :name=\"'item(' + field.key + ')'\" :item=\"item\">\n                                <t-table-field :column=\"field.key\" :item=\"item\" :formatter=\"field.formatter\"/>\n                              </slot>\n\n                            </b-col>\n\n                          </slot>\n\n                        </b-row>\n\n                      </div>\n\n\n                      <div>\n                        <slot name=\"list-buttons\" :item=\"item\"></slot>\n                      </div>\n\n                      <div v-if=\"enableChangeOrderUpDown && userAuth.validation.validationUpdate\" style=\"min-width: 45px\" class=\"d-flex justify-content-end align-content-center\">\n\n                        <b-icon-arrow-up-square v-show=\"index > 0\" @click=\"changeOrderByType(item[primaryKeyColumn],'Up')\"\n                                                class=\"opacity-6-hover mt-1 mr-2 hover\"/>\n\n                        <b-icon-arrow-down-square v-show=\"index !== (items.length-1)\" @click=\"changeOrderByType(item[primaryKeyColumn],'Down')\"\n                                                  class=\"opacity-6-hover mt-1 mr-2 hover\"/>\n\n                      </div>\n\n                      <div style=\"min-width: 50px\" v-if=\"!disableDefaultButtons\">\n\n                        <slot name=\"append-default-buttons\" :item=\"item\"></slot>\n\n                        <b-icon-pencil-square v-if=\"userAuth.validation.validationUpdate\" @click=\"itemRead(item[keyRead])\"\n                                              class=\"opacity-6-hover mt-1 mr-2 hover\"\n                                              style=\"scale:1.2\"/>\n                        <b-icon-x-circle v-if=\"userAuth.validation.validationDelete\" @click=\"itemDelete(item[keyDelete])\"\n                                         class=\"opacity-6-hover text-danger mt-1 hover\"\n                                         style=\"scale:1.2\"/>\n                      </div>\n\n\n                    </div>\n\n                    <slot name=\"list-footer\" :item=\"item\"></slot>\n\n                  </li>\n\n                </transition-group>\n\n              </draggable>\n\n              <div v-if=\"!disableFooterLength && items !== undefined && items !== null && items.length > 0 && !pageable\" class=\"text-right mt-1\">Qtd. itens: <strong>{{ items.length }}</strong> <t-help title=\"Qtd. de itens diferentes na listagem, independente da quantidade individual de cada item.\" /></div>\n\n            </div>\n\n          </slot>\n\n          <b-row v-if=\"totalPages > 0 && pageable\" class=\"mt-3\">\n\n            <b-col cols=\"6\">\n              <t-pagination v-if=\"totalPages > 1\" @getPage=\"clickPage\" not-link-gen\n                            :total-pages=\"totalPages\"></t-pagination>\n            </b-col>\n            <b-col :cols=\"totalPages === 1 ? 12 : 6\" v-if=\"totalElements > 0\" class=\"text-right mt-2\">\n              <small>Total {{ totalElements }} {{ localTitleItems }}</small>\n            </b-col>\n\n          </b-row>\n\n\n\n        </div>\n\n        <div class=\"container_loading_form\" v-show=\"busyList\">\n\n          <div class=\"container_loading_form_card\" style=\"height: 350px\">\n\n            <div class=\"gradient element-100\" style=\"height: 30px; margin-top:5px\"></div>\n            <div class=\"gradient element-100\" style=\"height: 30px; margin-top:5px\"></div>\n            <div class=\"gradient element-100\" style=\"height: 30px; margin-top:5px\"></div>\n\n          </div>\n\n        </div>\n\n      </b-col>\n\n    </transition>\n\n    <div class=\"container_loading_form\" v-show=\"busy\">\n\n      <div class=\"container_loading_form_card\" style=\"height: 350px\">\n\n        <div class=\"gradient element-100\" style=\"height: 50px\"></div>\n\n        <div class=\"gradient element-100\" style=\"height: 30px\"></div>\n\n        <div class=\"gradient element-100\" style=\"height: 100px\"></div>\n\n      </div>\n\n    </div>\n\n\n  </div>\n\n</template>\n<script>\nimport ui from \"@/assets/scripts/ui\"\nimport http from \"@/services/config/http-common\";\n\nexport default {\n  name: 't-form-list',\n  data() {\n    return {\n      hasGeneralErrors: false,\n      drag: false,\n      localStatus: \"\",\n      errorList: [],\n      isInvalid: false,\n      keyRead: \"\",\n      keyDelete: \"\",\n      columnSize: 0,\n      dragging: false,\n      localTitleItems: \"\"\n    }\n  },\n  props: {\n    generalErrors: [],\n    status: String,\n    command: {\n      type: String,\n      default: 'insert'\n    },\n    title: String,\n    userAuth: Object,\n    items: [],\n    fields: [],\n    headerMarginRight:{\n      type: String,\n      default: '75px',\n    },\n    hideHeader: {\n      type: Boolean,\n      default: false,\n    },\n    sortable: Boolean,\n    disableDefaultButtons: Boolean,\n    enableChangeOrderUpDown:Boolean,\n    disableFooterLength:Boolean, //Desabilitar exibição do totalizador de itens da listagem\n      sortableCheckColumn: {\n      type: String,\n      default: \"\",\n    }, //Usado quando somente alguns itens da listagem são ordenáveis para isso deverá analisar qual campo se for true será sortable\n    path: String,\n    primaryKey: Number,//Enviar quando desejar reordenar listagem\n    foreignKey: Number,//Enviar quando desejar reordenar listagem\n    primaryKeyColumn: String,//Enviar quando desejar reordenar listagem\n    foreignKeyColumn: String,//Enviar quando desejar reordenar listagem\n    busy: {//busy principal\n      type: Boolean,\n      default: false,\n    },\n    busyForm: {//busy somente do formulário na parte superior\n      type: Boolean,\n      default: false,\n    },\n    busyList: {//busy somente da listagem\n      type: Boolean,\n      default: false,\n    },\n    titleItems: {\n      type: String,\n      default: \"\"\n    },\n    pageable:Boolean,\n    totalPages: {\n      type: Number,\n      default: 0\n    },\n    totalElements: {\n      type: Number,\n      default: 0\n    },\n  },\n  mounted() {\n\n    this.hasGeneralErrors = this.generalErrors && this.generalErrors.length > 0\n    this.keyRead = this.fields[0].keyRead\n    this.keyDelete = this.fields[0].keyDelete\n    this.localStatus = this.status\n\n    if (this.titleItems !== '') {\n      this.localTitleItems = this.titleItems\n    } else {\n\n      if (this.userAuth && this.userAuth.currentPage && this.userAuth.currentPage.singularTitle) {\n        this.localTitleItems = this.userAuth.currentPage.singularTitle + \"s\"\n      } else {\n        this.localTitleItems = 'registros'\n      }\n    }\n\n  },\n  computed: {\n\n\n    onSending() {\n      return this.status === \"sending\"\n    },\n\n\n  },\n  methods: {\n\n    checkValidation() {\n      //return ui.hasValidation(this.command,this.userAuth.validation)\n\n      return ((this.command === 'insert' && this.userAuth.validation.validationCreate) ||\n          (this.command === 'update' && this.userAuth.validation.validationUpdate) ||\n          (this.command === 'delete' && this.userAuth.validation.validationDelete) ||\n          (this.command === \"view\" && this.userAuth.validation.validationRead))\n\n    },\n\n    itemRead(id) {\n      this.$emit('onItemRead', id)\n\n    },\n    itemDelete(id) {\n\n      ui.msgConfirmDelete(this, () => {\n        this.$emit('onItemDelete', id)\n      })\n\n    },\n    setReset() {\n\n    },\n\n    orderItemsReduce() {\n\n      let newListOrder = []\n\n\n      for (const item of this.items) {\n\n        if (this.sortableCheckColumn === '' || item[this.sortableCheckColumn])\n          newListOrder.push(item[this.primaryKeyColumn])\n\n      }\n\n      return {\n        id: this.foreignKey,\n        orderList: newListOrder\n      }\n\n    },\n\n    changeOrderByType(id, type){\n\n      http.get(this.path + \"/change\"+type +\"/\"+id).then(() => {\n\n        this.$emit(\"onChangeOrder\") //Enviar para o componente principal informando que houve atualização na listagem\n\n        //Atualiza os indices conforme nova ordem\n        ui.toast(this, \"Ordem atualizada!\", \"Ordem alterada com sucesso\")\n\n      }).catch(async (error) => {\n        ui.generalResponseError(this,error)\n      })\n\n    },\n\n    draggableEnd() {\n\n      if (this.sortable) {\n\n        http.post(this.path + \"/changeOrder\", this.orderItemsReduce()).then(() => {\n\n          this.$emit(\"onChangeOrder\") //Enviar para o componente principal informando que houve atualização na listagem\n\n          //Atualiza os indices conforme nova ordem\n          ui.toast(this, \"Ordem atualizada!\", \"Ordem alterada com sucesso\")\n\n        }).catch(async () => {\n          this.$emit(\"onRequestList\") //Enviar para o componente principal solicitar atualização de listagem\n          ui.msgError(this, \"Erro ao tentar atualizar a ordem das imagens. Tente novamente e caso o problema persistir informe nosso suporte técnico.\");\n        })\n\n      }\n\n    },\n    onSubmit() {\n\n      //Avisa o pai que mudou o status para submetido\n      this.localStatus = \"subject\"\n      //this.$parent.status = \"subject\"\n\n      this.$refs.validationFormList.validate().then(success => {\n\n        //Bloqueia somente se não tiver tentato enviar nenhuma vez, depois disso será por conta do backend, pois\n        if (!success && this.status === '') {\n          return;\n        }\n\n        //console.log('Form validação básica padrão passou!')\n\n        this.$emit('onSubmit')\n\n\n      });\n\n    },\n    setSending() {\n      this.status = \"sending\"\n    },\n\n    reload() {\n      this.$emit(\"reload\")\n    },\n\n    clickPage(page) {\n      this.$emit('getPage', page)\n    },\n\n  },\n  watch: {\n\n    status(value) {\n      this.localStatus = value\n    },\n    generalErrors() {\n      this.hasGeneralErrors = this.generalErrors && this.generalErrors.length > 0\n    },\n  }\n}\n</script>\n<style>\n\n</style>\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./t-form-list.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./t-form-list.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./t-form-list.vue?vue&type=template&id=89ecce18&\"\nimport script from \"./t-form-list.vue?vue&type=script&lang=js&\"\nexport * from \"./t-form-list.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","import http from '../../config/http-common';\r\n\r\n//Usado somente se for realmente necessário algo fora do padrão GeneralCRUD.service.js\r\nconst path = \"product/feature\"\r\n\r\nclass service {\r\n\r\n    selectList(params) {\r\n        return http.list(path + \"/selectList\",params);\r\n    }\r\n\r\n    getForceReadById(id){\r\n        return http.getById(path,id,true).then(response => response.data);\r\n    }\r\n\r\n    getFeaturesByGroupProductId(groupProductId) {\r\n\r\n        if (groupProductId > 0) {\r\n\r\n            let params = new URLSearchParams()\r\n            params.set(\"grouped\", \"true\")\r\n            params.set(\"groupProductId\", groupProductId)\r\n            return http.list(path + \"/getAllByGroupProductId\",params);\r\n\r\n        }\r\n    }\r\n\r\n\r\n}\r\n\r\nexport default new service();\r\n\r\n","import axios from \"axios\";\r\nimport constants from \"@/constants\";\r\n\r\nfunction getToken(typeChange = \"\") {\r\n\r\n    const account = JSON.parse(localStorage.getItem('account'))\r\n    let headers\r\n    if (typeChange !== \"\") {\r\n        headers = new Map(Object.entries({'Content-type': typeChange}));\r\n    } else {\r\n        headers = new Map(Object.entries({'Content-type': 'application/json'}));\r\n    }\r\n\r\n    if (account && account.authorization) {\r\n        headers.set('Authorization', account.authorization);\r\n        headers.set('token', account.token);\r\n    }\r\n\r\n    return Object.fromEntries(headers)\r\n\r\n}\r\n\r\nexport let customAxios = axios.create({\r\n    baseURL: constants.baseURL,\r\n})\r\n\r\ncustomAxios.interceptors.response.use((response) => response, (error) => {\r\n\r\n    if (error.response && error.response.status === 401) {\r\n\r\n        const path = error.response.data.path\r\n\r\n        if (path !== \"/v1/login\" && path !== \"/v1/general/my-user/changePassword\") {\r\n            window.location.href = \"/login?logout=yes\";\r\n        }\r\n\r\n    } else if (error.response && error.response.status === 406) {\r\n\r\n        console.log(error.response)\r\n        alert('Você não possui acesso ao recurso que esta tentando acessar.')\r\n\r\n        //window.location.href = \"/home?msg=not-acceptable\";\r\n\r\n    }\r\n\r\n    return Promise.reject(error);\r\n\r\n})\r\n\r\nconst get = async function (path) {\r\n    return customAxios.get(path, {\r\n        headers: getToken()\r\n    });\r\n}\r\n\r\nconst getAssemble = async function (path, type, params) {\r\n\r\n    let url = \"/assemble\"\r\n\r\n    if (type !== '') {\r\n\r\n        url += \"?type=\" + type\r\n\r\n        if (params && Array.from(params).length > 0) {\r\n            url += `&${params}`\r\n        }\r\n\r\n    }\r\n\r\n    return customAxios.get(path + url, {\r\n        headers: getToken()\r\n    });\r\n}\r\n\r\n\r\nconst getAll = async function (path, pageNumber_ = 1, params) {\r\n\r\n    let pageNumber = 0;\r\n\r\n    if (isNaN(pageNumber_)) {\r\n        pageNumber = 1;\r\n    } else {\r\n        pageNumber = pageNumber_;\r\n    }\r\n\r\n    let url = `?page=${pageNumber}`\r\n\r\n    if (params && Array.from(params).length > 0) {\r\n        url += `&${params}`\r\n    }\r\n\r\n    return customAxios.get(path + url, {\r\n        headers: getToken()\r\n    });\r\n\r\n}\r\n\r\nconst getById = async function (path, id, forceReadById = false) {\r\n\r\n    let pathSend = path\r\n\r\n    if (path.substring(path.length - 1) !== '/') {\r\n        pathSend = pathSend + \"/\"\r\n    }\r\n\r\n    pathSend += id\r\n\r\n    if (forceReadById) {\r\n        pathSend += \"/?forceReadById=true&teste=SIM\"\r\n    }\r\n\r\n    return customAxios.get(pathSend, {\r\n        headers: getToken()\r\n    });\r\n}\r\n\r\nconst getResume = async function (path, type, param, allStatus = false) {\r\n\r\n    if (param !== undefined && param !== null) {\r\n\r\n        if ((type === \"id\" && param > 0) || (type === \"id\" && param !== '') || (type === 'code' && param !== '')) {\r\n\r\n            let pathSend = path + \"/resume/?type=\" + type + \"&id=\"\r\n\r\n            if (type === 'id') {\r\n                pathSend += param\r\n            } else {\r\n                pathSend += param\r\n            }\r\n\r\n            if (allStatus) {\r\n                pathSend += \"&allStatus=true\"\r\n            }\r\n\r\n\r\n            return customAxios.get(pathSend, {\r\n                headers: getToken()\r\n            }).then(response => {\r\n                return response.data\r\n            })\r\n\r\n\r\n        } else {\r\n            return Promise.reject(\"\")\r\n        }\r\n\r\n    } else {\r\n        return Promise.reject(\"\")\r\n    }\r\n\r\n\r\n}\r\n\r\n\r\nconst count = async function (path, foreignKey) {\r\n\r\n    let url = path + \"/count/?foreignKey=\" + foreignKey\r\n\r\n    return customAxios.get(url, {\r\n        headers: getToken()\r\n    }).then(response => {\r\n        return response.data\r\n    });\r\n}\r\n\r\n\r\nconst post = async function (path, data) {\r\n\r\n    return customAxios.post(path, data, {\r\n        headers: getToken()\r\n    })\r\n}\r\n\r\n\r\nconst put = async function (path, data) {\r\n    return customAxios.put(path, data, {\r\n        headers: getToken()\r\n    })\r\n}\r\n\r\nconst remove = async function (path, id) {\r\n\r\n    let pathSend = path\r\n\r\n    if (path.substring(path.length - 1) !== '/') {\r\n        pathSend = pathSend + \"/\"\r\n    }\r\n\r\n    return customAxios.delete(pathSend + id, {\r\n        headers: getToken()\r\n    });\r\n}\r\n\r\nconst uploadByMultipart = function (path, file, foreignKey, type, onUploadProgress) {\r\n\r\n    let formData = new FormData()\r\n    formData.append(\"id\", foreignKey)\r\n    formData.append(\"type\", type)\r\n    //formData.append(\"file\", file)\r\n\r\n    return customAxios.post(path, formData, {\r\n        headers: getToken(\"multipart/form-data\"), onUploadProgress\r\n    });\r\n\r\n}\r\n\r\nconst uploadByChunks = function (path, id, foreignKey, type, fileName, fileSize, fileType, chunk, chunks, file, subtitle, categoryId, otherForeignKey) {\r\n\r\n    const uploadChunk = {\r\n        id,\r\n        foreignKey,\r\n        type,\r\n        fileName,\r\n        fileSize,\r\n        fileType,\r\n        chunk,\r\n        chunks,\r\n        file,\r\n        subtitle,\r\n        categoryId,\r\n        otherForeignKey\r\n    }\r\n\r\n    return this.post(path,uploadChunk)\r\n\r\n\r\n    /*let formData = new FormData()\r\n    formData.append(\"id\", id)\r\n    formData.append(\"foreignKey\", foreignKey)\r\n    formData.append(\"type\", type) //I ou D\r\n    formData.append(\"fileName\", fileName)\r\n    formData.append(\"fileSize\", fileSize)\r\n    formData.append(\"fileType\", fileType)\r\n    formData.append(\"chunk\", chunk)\r\n    formData.append(\"chunks\", chunks)\r\n    formData.append(\"file\", chunkFile)\r\n    formData.append(\"subtitle\", \"Teste 123456\")\r\n    formData.append(\"category\", \"5\")\r\n    formData.append(\"otherForeignKey\", \"395\")\r\n\r\n    return customAxios.post(path, formData, {\r\n        headers: getToken(\"multipart/form-data\"),\r\n    });*/\r\n\r\n}\r\n\r\n\r\nconst download = async function (path, nameSalve) {\r\n\r\n    return customAxios.get(path, {\r\n        responseType: \"blob\", headers: getToken()\r\n    }).then(response => {\r\n        const url = window.URL.createObjectURL(new Blob([response.data]));\r\n        const link = document.createElement('a');\r\n        link.href = url;\r\n        link.setAttribute('download', nameSalve); //or any other extension\r\n        document.body.appendChild(link);\r\n        link.click();\r\n    })\r\n}\r\n\r\nconst image = async function (path) {\r\n\r\n    return customAxios.get(path, {\r\n        responseType: \"blob\", headers: getToken()\r\n    }).then(response => {\r\n        return URL.createObjectURL(response.data)\r\n    })\r\n}\r\n\r\nconst list = async function (path, params) {\r\n\r\n    let url = \"\"\r\n\r\n    if (params && Array.from(params).length > 0) {\r\n        url += `?${params}`\r\n    }\r\n\r\n    //console.log(\"url list: \" + url)\r\n\r\n    return await customAxios.get(path + url, {\r\n        headers: getToken()\r\n    }).then(response => {\r\n        return response.data\r\n    })\r\n\r\n}\r\n\r\nexport default {\r\n    customAxios,\r\n    get,\r\n    getAssemble,\r\n    getAll,\r\n    getById,\r\n    getResume,\r\n    post,\r\n    put,\r\n    remove,\r\n    list,\r\n    uploadByMultipart,\r\n    uploadByChunks,\r\n    download,\r\n    image,\r\n    count,\r\n};\r\n\r\n\r\n\r\n\r\n","import FieldCustomizableEntity from \"@/model/entities/resource/entity/FieldCustomizableEntity\";\r\n\r\nexport default {\r\n    data() {\r\n        return {\r\n            fieldCustomizable: new FieldCustomizableEntity(),\r\n            error:{},\r\n            error_fieldCustomizable: {\r\n                name: \"\",\r\n                type: \"\",\r\n            },\r\n            fieldsNotReset: [//Marca os nomes de colunas que não devem ser resetados\r\n                this.foreignKeyColumn,\r\n            ],\r\n        }\r\n    },\r\n    mounted() {\r\n\r\n    },\r\n    methods: {\r\n\r\n        defaultFormField(){\r\n\r\n            this.defaultFormList()\r\n            this.cancelUpdatedField()\r\n\r\n        },\r\n\r\n        cancelUpdatedField() {\r\n\r\n            this.command = \"insert\"\r\n            this.status = \"\"\r\n            this.form.orderList = 0\r\n            this.form.status = 1\r\n            this.form[this.primaryKeyColumn] = 0\r\n\r\n\r\n            //----------------------------------------\r\n            /*ATENÇÃO REPLICAR EM FieldCustomizableEntity.js*/\r\n            this.form.fieldCustomizable = {\r\n                fieldId: 0,\r\n                name: \"\",\r\n                type: \"I\",\r\n                var: 3,\r\n                mask: \"\",\r\n                decimalPrecision: 2,\r\n                length: 0,\r\n                columns: 6,\r\n                help: \"\",\r\n                note: \"\",\r\n                minAccepted: 0.0,\r\n                maxAccepted: 0.0,\r\n                createdShow: true,\r\n                createdEnabled: true,\r\n                updateShow: true,\r\n                updatedEnabled: true,\r\n                required: true,\r\n                acceptZero: false,\r\n                options: []\r\n                /*ATENÇÃO REPLICAR EM FieldCustomizableEntity.js*/\r\n            }\r\n            //----------------------------------------\r\n\r\n        },\r\n\r\n    },\r\n\r\n}\r\n\r\n\r\n","import pageDefaultMixin from \"@/mixins/page/pageDefaultMixin\";\r\nimport pageListMixin from \"@/mixins/page/pageListMixin\";\r\nimport {crudGeneral} from \"@/services/resource/GeneralCRUD.service\"\r\n\r\n\r\nexport default {\r\n    mixins: [pageDefaultMixin, pageListMixin],\r\n    data() {\r\n        return {\r\n            id: \"\",\r\n            onSending: false,\r\n            filtered: false,\r\n            enableAllFilters: false,\r\n        }\r\n    },\r\n    async mounted() {\r\n\r\n        this.searchParams.append('pageSize', \"10\")\r\n\r\n    },\r\n    methods: {\r\n\r\n        closeSearch() {\r\n            this.$emit(\"onClose\")\r\n        },\r\n\r\n        selectItemList(id) {\r\n\r\n            if (id > 0) {\r\n                this.$bvModal.hide(this.id)\r\n                this.$emit(\"onSelected\", id)\r\n            }\r\n\r\n        },\r\n\r\n        async executeAfterSearch(){\r\n\r\n        },\r\n\r\n        async executeSearchInput() {\r\n\r\n            this.pageListIsLoaded = false\r\n\r\n            await this.executeSearch(false, false)\r\n\r\n            await this.executeAfterSearch() //terá override na página que estiver utilizando\r\n\r\n\r\n        },\r\n\r\n        async getPageSearchList(pageNumber, finishLoaded = true) {\r\n\r\n            this.pageListIsLoaded = false\r\n\r\n            //DEVERÁ MONTAR OS PARÂMETROS DINAMICAMENTE CONFORME OS CAMPOS FOREM MARCADOS COMO DE PESQUISA\r\n            await crudGeneral.getAll(this.path, pageNumber, this.searchParams)\r\n                .then(response => {\r\n\r\n                    this.request = response.data\r\n\r\n                    if (finishLoaded)\r\n                        this.pageListIsLoaded = true\r\n\r\n                })\r\n                .catch(error => {\r\n                    console.log('Erro externo: ' + error)\r\n                })\r\n\r\n        },\r\n\r\n    },\r\n    props: {\r\n        show: Boolean,\r\n        codeLabel: String,\r\n    },\r\n    watch: {\r\n\r\n        show(v) {\r\n            if (v) {\r\n                this.executeSearchInput()\r\n            }\r\n        },\r\n        codeLabel(v) {\r\n            this.form.default = v\r\n        },\r\n\r\n    },\r\n\r\n}\r\n\r\n\r\n","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./t-blackout.vue?vue&type=style&index=0&lang=css&\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./t-table.vue?vue&type=style&index=0&lang=css&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('t-blackout',{attrs:{\"busy\":_vm.blackoutImageZoomBusy},on:{\"onOpen\":function($event){return _vm.onBlackoutImage(true)},\"onClose\":function($event){return _vm.onBlackoutImage(false)}},model:{value:(_vm.show),callback:function ($$v) {_vm.show=$$v},expression:\"show\"}},[_c('div',{staticClass:\"d-flex align-content-center justify-content-center overflow-hidden\",staticStyle:{\"max-width\":\"100vh\",\"max-height\":\"80vh\"}},[_c('div',{staticClass:\"d-flex justify-content-center flex-column\",staticStyle:{\"width\":\"100px\"}},[_c('i',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.blackoutImageIndex>0),expression:\"blackoutImageIndex>0\"}],staticClass:\"fa fa-arrow-circle-left opacity-6-hover hover\",staticStyle:{\"color\":\"#FFFFFF\",\"font-size\":\"40px\"},on:{\"click\":function($event){return _vm.openImage('L',0,false)}}})]),(_vm.images.length > 0)?_c('div',[_c('div',{staticClass:\"d-flex justify-content-center align-items-center\",staticStyle:{\"color\":\"#FFFFFF\",\"text-align\":\"center\"}},[_c('div',[_vm._v(_vm._s(_vm.blackoutImageIndex + 1)+\"/\"+_vm._s(_vm.images.length))]),(_vm.subtitle !== '')?_c('div',{staticClass:\"ml-2\"},[_vm._v(\"- \"+_vm._s(_vm.subtitle))]):_vm._e()]),(!_vm.blackoutImageZoomBusy)?_c('t-image-blob',{staticClass:\"align-self-center m-2\",attrs:{\"blob\":_vm.blackoutImageZoomImage}}):_vm._e()],1):_c('t-msg',{attrs:{\"warning\":\"\"}},[_vm._v(\"Nenhuma imagem encontrada!\")]),_c('div',{staticClass:\"d-flex justify-content-center flex-column\",staticStyle:{\"width\":\"100px\"}},[_c('i',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.blackoutImageIndex<(_vm.images.length-1)),expression:\"blackoutImageIndex<(images.length-1)\"}],staticClass:\"fa fa-arrow-circle-right opacity-6-hover hover\",staticStyle:{\"color\":\"#FFFFFF\",\"font-size\":\"40px\"},on:{\"click\":function($event){return _vm.openImage('R',0,false)}}})])],1)])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\n  <div>\n\n    <t-blackout @onOpen=\"onBlackoutImage(true)\" @onClose=\"onBlackoutImage(false)\" v-model=\"show\"\n                :busy=\"blackoutImageZoomBusy\">\n\n      <div class=\"d-flex align-content-center justify-content-center overflow-hidden\"\n           style=\"max-width: 100vh; max-height: 80vh\">\n\n        <div style=\"width: 100px\" class=\"d-flex justify-content-center flex-column\">\n          <i class=\"fa fa-arrow-circle-left opacity-6-hover hover\" v-show=\"blackoutImageIndex>0\"\n             @click=\"openImage('L',0,false)\" style=\"color: #FFFFFF; font-size: 40px\"></i>\n        </div>\n        <div v-if=\"images.length > 0\">\n          <div style=\"color: #FFFFFF; text-align: center\" class=\"d-flex justify-content-center align-items-center\">\n\n            <div>{{ blackoutImageIndex + 1 }}/{{ images.length }}</div>\n            <div v-if=\"subtitle !== ''\" class=\"ml-2\">- {{ subtitle }}</div>\n\n          </div>\n          <t-image-blob v-if=\"!blackoutImageZoomBusy\" class=\"align-self-center m-2\" :blob=\"blackoutImageZoomImage\"/>\n\n        </div>\n        <t-msg v-else warning>Nenhuma imagem encontrada!</t-msg>\n\n        <div style=\"width: 100px\" class=\"d-flex justify-content-center flex-column\">\n          <i class=\"fa fa-arrow-circle-right opacity-6-hover hover\" v-show=\"blackoutImageIndex<(images.length-1)\"\n             @click=\"openImage('R',0,false)\" style=\"color: #FFFFFF; font-size: 40px\"></i>\n        </div>\n\n      </div>\n\n    </t-blackout>\n\n\n  </div>\n\n</template>\n<script>\nimport tImageBlob from \"@/components/template/theme/t-image-blob\"\nimport http from \"@/services/config/http-common\";\n\nlet state;\nlet blackoutImageShow;\n\nconst handler_image_gallery = (e) => {\n\n  if (!blackoutImageShow) {\n    state = null //Nula para reduzir impacto de memoria\n  } else {\n\n    if (e.key === 'ArrowLeft') {\n      state.openImage(\"L\", 0, false)\n    } else if (e.key === 'ArrowRight') {\n      state.openImage(\"R\", 0, false)\n    }\n\n  }\n\n\n}\n\nexport default {\n  name: 't-gallery',\n  components: {tImageBlob},\n  data() {\n    return {\n      localImages: [],\n      blackoutImageZoom: true,\n      blackoutImageZoomBusy: false,\n      blackoutImageZoomImage: null,\n      blackoutImageIndex: -1,\n      subtitle: \"\",\n      show: false,\n    }\n  },\n  props: {\n    title: String,\n    images: Array,\n    value: {\n      type: null,\n      required: true,\n    },\n  },\n  mounted() {\n\n    this.localImages = this.images\n\n    this.openImage(false, 0, true)\n\n    this.setShow(this.value)\n\n  },\n  computed: {\n\n    onSending() {\n      return this.status === \"sending\"\n    },\n\n\n  },\n  methods: {\n\n    setShow(value) {\n      this.show = value\n    },\n\n    onBlackoutImage(show) {\n\n      blackoutImageShow = show\n\n      if (show) {\n        state = this\n        document.addEventListener('keydown', handler_image_gallery)\n      } else {\n        document.removeEventListener('keydown', handler_image_gallery)\n      }\n\n    },\n\n    openImage(changePosition, index, openBlackout) {\n\n      let indexImage = index\n\n      if (changePosition === 'L') {\n\n        if (this.blackoutImageIndex > 0) {\n          this.blackoutImageIndex--\n          indexImage = this.blackoutImageIndex\n        } else {\n          indexImage = this.images.length - 1\n        }\n\n\n      } else if (changePosition === 'R') {\n\n        if (this.blackoutImageIndex < this.images.length - 1) {\n          this.blackoutImageIndex++\n          indexImage = this.blackoutImageIndex\n        } else {\n          indexImage = 0\n        }\n\n      }\n\n      const path = this.localImages[indexImage].path\n      const subtitle = this.localImages[indexImage].subtitle\n\n      if (subtitle !== undefined && subtitle !== null)\n        this.subtitle = subtitle\n\n      this.blackoutImageIndex = indexImage\n      this.blackoutImageZoomImage = null\n      this.blackoutImageZoomBusy = true\n\n      if (openBlackout) {\n        this.blackoutImageZoom = true\n      } else {\n        this.blackoutImageZoomBusy = false\n      }\n\n      http.image(path).then((blob) => {\n        this.blackoutImageZoomImage = blob\n        this.blackoutImageZoomBusy = false\n      })\n\n    },\n\n\n  },\n  watch: {\n\n    images(value) {\n      this.localImages = value\n    },\n\n    show(value) {\n      this.$emit(\"input\", value)\n    },\n\n    async value(value) {\n      await this.setShow(value)\n      this.$emit(\"show\", value)\n    },\n\n  }\n}\n</script>\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./t-gallery.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./t-gallery.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./t-gallery.vue?vue&type=template&id=3579fbce&\"\nimport script from \"./t-gallery.vue?vue&type=script&lang=js&\"\nexport * from \"./t-gallery.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","import http from '../../config/http-common';\r\n\r\n//Usado somente se for realmente necessário algo fora do padrão GeneralCRUD.service.js\r\nconst path = \"product\"\r\n\r\nclass service {\r\n\r\n    selectList(params) {\r\n        return http.list(path + \"/selectList\", params);\r\n    }\r\n\r\n    getResume(type, param, allStatus = false) {\r\n\r\n        return http.getResume(path,type,param,allStatus);\r\n\r\n    }\r\n\r\n    getImages(id, type = \"I\", relation = \"all\") {\r\n\r\n        let params = new URLSearchParams()\r\n        params.append(\"productId\", id)\r\n        params.append(\"type\", type)\r\n        params.append(\"relation\", relation)\r\n\r\n        return http.list(path + \"/getImages\", params);\r\n\r\n\r\n    }\r\n}\r\n\r\nexport default new service()\r\n\r\n\r\n","import http from '../../config/http-common';\r\n\r\n//Usado somente se for realmente necessário algo fora do padrão GeneralCRUD.service.js\r\nconst path = \"product/group\"\r\n\r\nclass service {\r\n\r\n    selectList(params) {\r\n        return http.list(path + \"/selectList\",params);\r\n    }\r\n\r\n    getForceReadById(id){\r\n        return http.getById(path,id,true).then(response => response.data);\r\n    }\r\n\r\n    getGroupProductsByFamilyProductId(familyProductId) {\r\n\r\n        if (familyProductId > 0) {\r\n\r\n            let params = new URLSearchParams()\r\n            params.set(\"grouped\", \"true\")\r\n            params.set(\"familyProductId\", familyProductId)\r\n            return this.selectList(params)\r\n\r\n        }\r\n    }\r\n\r\n    getGroupProduct(groupProductId) {\r\n\r\n        if (groupProductId > 0) {\r\n\r\n            let params = new URLSearchParams()\r\n            params.set(\"grouped\", \"true\")\r\n            params.set(\"groupProductId\", groupProductId)\r\n            //return http.get(path+)\r\n\r\n        }\r\n    }\r\n\r\n}\r\n\r\nexport default new service();\r\n\r\n","import http from '../../config/http-common';\r\n\r\n//Usado somente se for realmente necessário algo fora do padrão GeneralCRUD.service.js\r\nconst path = \"product/complement\"\r\n\r\nclass service {\r\n\r\n    selectList(params) {\r\n        return http.list(path + \"/selectList\", params);\r\n    }\r\n\r\n    getComplementsByGroupProductId(groupProductId) {\r\n\r\n        if (groupProductId > 0) {\r\n\r\n            let params = new URLSearchParams()\r\n            params.set(\"status\", \"1\")\r\n            params.set(\"groupProductId\", groupProductId)\r\n\r\n            return http.list(path + \"/getAllByGroupProductId\", params);\r\n\r\n        }\r\n\r\n    }\r\n\r\n}\r\n\r\nexport default new service();\r\n\r\n","import CurrentPageEntity from \"@/model/entities/resource/entity/CurrentPageEntity\";\r\n\r\nexport default {\r\n    currentPage: CurrentPageEntity,\r\n    validation: {\r\n        validationCreate: false,\r\n        validationRead: false,\r\n        validationUpdate: false,\r\n        validationDelete: false\r\n    },\r\n    relationPages: [],\r\n    subValidations: [],\r\n    generalFieldsCustomizable: [],\r\n    viewFields: [],\r\n    renderRules:{},\r\n}","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('b-modal',{attrs:{\"id\":\"modalGeneralErrors\",\"no-close-on-esc\":\"\",\"no-close-on-backdrop\":\"\",\"title\":\"Erros encontrados:\",\"ok-only\":\"\"},scopedSlots:_vm._u([{key:\"modal-footer\",fn:function(ref){\nvar ok = ref.ok;\nreturn [_c('t-button',{attrs:{\"text\":\"Corrigir Erros\",\"danger\":\"\"},on:{\"click\":function($event){return ok()}}})]}}]),model:{value:(_vm.hasGeneralErrors),callback:function ($$v) {_vm.hasGeneralErrors=$$v},expression:\"hasGeneralErrors\"}},_vm._l((_vm.generalErrors),function(error){return _c('div',{key:error,staticClass:\"p-2 border-bottom mb-2\"},[_c('span',{staticClass:\"text-danger\"},[_c('b-icon-x-circle-fill',{staticClass:\"mr-2\"}),_c('span',{domProps:{\"innerHTML\":_vm._s(error.replace(/\\n/g,'<br />'))}})],1)])}),0),_c('b-modal',{ref:\"modal\",attrs:{\"id\":_vm.id,\"title\":_vm.title,\"cancel-title\":\"Cancelar\",\"size\":_vm.large ? 'lg' : 'md',\"busy\":_vm.busy,\"no-close-on-backdrop\":\"\",\"no-close-on-esc\":\"\",\"no-enforce-focus\":\"\"},on:{\"show\":_vm.onShow,\"hidden\":_vm.onHidden,\"cancel\":_vm.handleCancel,\"ok\":_vm.handleOk},scopedSlots:_vm._u([{key:\"modal-footer\",fn:function(ref){\nvar ok = ref.ok;\nvar cancel = ref.cancel;\nreturn [_c('div',{staticClass:\"d-flex w-100 justify-content-between ml-3 mr-3\"},[_c('t-button',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.hideSubmit && _vm.localCancelText !== ''),expression:\"!hideSubmit && localCancelText !== ''\"}],attrs:{\"text\":_vm.localCancelText,\"sending\":_vm.onSending,\"outline-secondary\":\"\"},on:{\"click\":function($event){return cancel()}}}),_vm._t(\"add-buttons\"),_c('t-button',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.hideSubmit),expression:\"!hideSubmit\"}],staticClass:\"pr-5 pl-5\",attrs:{\"disabled\":_vm.disabledSubmit,\"text\":_vm.localOkText,\"sending\":_vm.onSending,\"submit\":\"\",\"primary\":_vm.localVariant === 'primary',\"success\":_vm.localVariant === 'success',\"warning\":_vm.localVariant === 'warning',\"danger\":_vm.localVariant === 'danger'},on:{\"click\":function($event){return ok()}}})],2)]}}],null,true)},[(_vm.tabs)?_c('div',[_c('b-tabs',{ref:\"containerTabs\",staticClass:\"tabs-form\",attrs:{\"id\":\"dialog-form-tabs\",\"content-class\":\"mt-3\",\"align\":\"left\"},model:{value:(_vm.tabIndex),callback:function ($$v) {_vm.tabIndex=$$v},expression:\"tabIndex\"}},[_c('validation-observer',{ref:\"validation\",scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar invalid = ref.invalid;\nvar errors = ref.errors;\nreturn [_c('span',{staticClass:\"display-none\"},[_vm._v(\" \"+_vm._s(_vm.errorList = errors)+\" \"+_vm._s(_vm.isInvalid = invalid)+\" \")]),_c('form',{ref:\"form\",class:{'form-loading':_vm.busy},attrs:{\"autocomplete\":\"off\"},on:{\"submit\":function($event){$event.preventDefault();return _vm.onSubmit.apply(null, arguments)}}},[_c('t-form-wrapped',{attrs:{\"command\":_vm.command,\"status\":_vm.localStatus}},[_vm._t(\"default\",null,{\"status\":_vm.localStatus})],2)],1)]}}],null,true)}),_vm._t(\"out-of-form\")],2)],1):_c('div',[_c('validation-observer',{ref:\"validation\"},[_c('form',{ref:\"form\",class:{'form-loading':_vm.busy},attrs:{\"autocomplete\":\"off\"},on:{\"submit\":function($event){$event.preventDefault();return _vm.onSubmit.apply(null, arguments)}}},[_c('t-form-wrapped',{attrs:{\"command\":_vm.command,\"status\":_vm.localStatus}},[_vm._t(\"default\",null,{\"status\":_vm.localStatus})],2)],1)]),_vm._t(\"out-of-form\")],2)])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\n  <div>\n\n    <b-modal v-model=\"hasGeneralErrors\" id=\"modalGeneralErrors\" no-close-on-esc no-close-on-backdrop\n             title=\"Erros encontrados:\" ok-only>\n\n\n\n\n      <div v-for=\"error in generalErrors\" :key=\"error\" class=\"p-2 border-bottom mb-2\">\n        <span class=\"text-danger\">\n          <b-icon-x-circle-fill class=\"mr-2\"/>\n          <span v-html=\"error.replace(/\\n/g,'<br />')\"></span>\n        </span>\n      </div>\n\n      <template #modal-footer=\"{ ok }\">\n\n        <t-button @click=\"ok()\" text=\"Corrigir Erros\" danger/>\n\n      </template>\n\n    </b-modal>\n\n    <!--no-close-on-esc necessário para não conflitar com esc de inputs ou outros dialogos sobrepostos-->\n    <b-modal\n        :id=\"id\"\n        ref=\"modal\"\n        :title=\"title\"\n        cancel-title=\"Cancelar\"\n        :size=\"large ? 'lg' : 'md'\"\n        :busy=\"busy\"\n        no-close-on-backdrop\n        no-close-on-esc\n        no-enforce-focus\n        @show=\"onShow\"\n        @hidden=\"onHidden\"\n        @cancel=\"handleCancel\"\n        @ok=\"handleOk\">\n\n\n      <div v-if=\"tabs\">\n\n        <b-tabs id=\"dialog-form-tabs\" v-model=\"tabIndex\" ref=\"containerTabs\"\n                content-class=\"mt-3\" class=\"tabs-form\" align=\"left\">\n\n\n          <validation-observer ref=\"validation\" v-slot=\"{invalid,errors}\">\n\n              <span class=\"display-none\">\n                {{ errorList = errors }}\n                {{ isInvalid = invalid }}\n              </span>\n\n            <form @submit.prevent=\"onSubmit\" autocomplete=\"off\" ref=\"form\" :class=\"{'form-loading':busy}\">\n\n              <t-form-wrapped :command=\"command\" :status=\"localStatus\">\n                <slot :status=\"localStatus\"></slot>\n              </t-form-wrapped>\n\n            </form>\n\n          </validation-observer>\n\n          <slot name=\"out-of-form\"></slot>\n\n        </b-tabs>\n\n      </div>\n\n      <div v-else>\n\n        <validation-observer ref=\"validation\">\n\n          <form @submit.prevent=\"onSubmit\" autocomplete=\"off\" ref=\"form\" :class=\"{'form-loading':busy}\">\n\n            <t-form-wrapped :command=\"command\" :status=\"localStatus\">\n              <slot :status=\"localStatus\"></slot>\n            </t-form-wrapped>\n\n          </form>\n\n        </validation-observer>\n\n        <slot name=\"out-of-form\"></slot>\n\n      </div>\n\n\n      <template #modal-footer=\"{ok,cancel}\">\n\n        <div class=\"d-flex w-100 justify-content-between ml-3 mr-3\">\n          <t-button @click=\"cancel()\" :text=\"localCancelText\" :sending=\"onSending\"\n                    v-show=\"!hideSubmit && localCancelText !== ''\" outline-secondary/>\n\n          <slot name=\"add-buttons\"></slot>\n\n          <t-button @click=\"ok()\" class=\"pr-5 pl-5\" :disabled=\"disabledSubmit\" v-show=\"!hideSubmit\" :text=\"localOkText\"\n                    :sending=\"onSending\"\n                    submit\n                    :primary=\"localVariant === 'primary'\"\n                    :success=\"localVariant === 'success'\"\n                    :warning=\"localVariant === 'warning'\"\n                    :danger=\" localVariant === 'danger'\"/>\n        </div>\n\n      </template>\n\n    </b-modal>\n\n  </div>\n\n\n</template>\n<script>\nimport ui from \"@/assets/scripts/ui\";\n\nexport default {\n  name: 't-dialog-form',\n  data() {\n    return {\n      hasGeneralErrors: false,\n      localStatus: \"\",\n      localOkText: \"\",\n      localVariant: \"\",\n      localCancelText: \"Cancelar\",\n      size: \"md\",\n      errorList: [],\n      isInvalid: false,\n      tabIndex: 0,\n    }\n  },\n  props: {\n    generalErrors: Array,\n    id: String,\n    title: String,\n    status: String,\n    hideSubmit: Boolean,\n    disabledSubmit: Boolean,\n    large: {\n      type: Boolean,\n      default: false\n    },\n    tabs: {\n      type: Boolean,\n      default: false,\n    },\n    cancelText: {\n      type: String,\n      default: 'Cancelar'\n    },\n    okText: {\n      type: String,\n      default: 'Incluir'\n    },\n    command: {\n      type: String,\n      default: 'insert'\n    },\n    variant: {\n      type: String,\n      default: 'primary'\n    },\n    busy: {//busy principal\n      type: Boolean,\n      default: false,\n    },\n    setTabIndex: {\n      type: Number,\n      default: 0,\n    }\n  },\n  mounted() {\n    this.hasGeneralErrors = this.generalErrors && this.generalErrors.length > 0\n    this.localStatus = this.status\n    this.localOkText = this.okText\n    this.localVariant = this.variant\n    this.localCancelText = this.cancelText\n    this.tabIndex = this.setTabIndex\n\n  },\n  computed: {\n    onStatus() {\n      return this.status\n    },\n    onSending() {\n      return this.status === \"sending\"\n    },\n  },\n  methods: {\n\n    onShow() {\n      this.$emit('show')\n    },\n    onHidden() {\n      this.$emit('hidden')\n    },\n    handleCancel() {\n      this.$emit('onCancel')\n\n    },\n    handleOk(bvModalEvt) {\n\n      bvModalEvt.preventDefault()\n      this.onSubmit()\n\n    },\n    setReset() {\n\n    },\n    onSubmit() {\n\n      //Avisa o pai que mudou o status para submetido\n      this.localStatus = \"subject\"\n      this.$parent.status = \"subject\"\n\n      this.$refs.validation.validate().then(success => {\n\n        if (!success) {\n          ui.msgErrorForm(this, this.$refs.validation)\n          return;\n        }\n\n        //console.log('Form validação básica padrão passou!')\n\n        this.$emit('onSubmit')\n\n\n      });\n\n    },\n    checkValidation() {\n      //return ui.hasValidation(this.command,this.userAuth.validation)\n\n      return ((this.command === 'insert' && this.userAuth.validation.validationCreate) ||\n          (this.command === 'update' && this.userAuth.validation.validationUpdate) ||\n          (this.command === 'delete' && this.userAuth.validation.validationDelete) ||\n          (this.command === \"view\" && this.userAuth.validation.validationRead))\n\n    },\n\n  },\n  watch: {\n    status(value) {\n      this.localStatus = value\n    },\n    okText(value) {\n      this.localOkText = value\n    },\n    variant(value) {\n      this.localVariant = value\n    },\n    generalErrors() {\n      this.hasGeneralErrors = this.generalErrors && this.generalErrors.length > 0\n    },\n    setTabIndex(value) {\n      this.tabIndex = value\n    },\n  }\n}\n</script>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./t-dialog-form.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./t-dialog-form.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./t-dialog-form.vue?vue&type=template&id=099a3764&\"\nimport script from \"./t-dialog-form.vue?vue&type=script&lang=js&\"\nexport * from \"./t-dialog-form.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","import Type from \"@/model/types/Type\";\r\n\r\nconst type = {\r\n    INPUT: \"I\",\r\n    TEXTAREA: \"T\",\r\n    RADIO: \"R\",\r\n    SELECT: \"S\",\r\n    SELECT_COLOR: \"SC\",\r\n    CHECKBOX: \"C\",\r\n    LABEL: \"L\",\r\n}\r\n\r\nconst list = [\r\n    {value: \"I\", text: \"Comum\"},\r\n    {value: \"T\", text: \"Texto grande\"},\r\n    {value: \"S\", text: \"Lista de Texto\"},\r\n    {value: \"SC\", text: \"Lista de Cores\"},\r\n    {value: \"R\", text: \"Escolha única\"},\r\n    {value: \"L\", text: \"Título\"},\r\n    /*{value: \"C\", text: \"Escolha múltipla\"},NÃO IMPLEMENTADO*/\r\n]\r\n\r\nconst contains = function (typeInput) {\r\n    return Type.contains(list, typeInput)\r\n}\r\n\r\nconst isList = function (typeInput) {\r\n    return typeInput === type.RADIO || typeInput === type.SELECT || typeInput === type.SELECT_COLOR || typeInput === type.CHECKBOX\r\n}\r\n\r\nexport default {\r\n    type,\r\n    list,\r\n    contains,\r\n    isList\r\n}","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('t-dialog-form',{ref:\"dialog_form\",attrs:{\"generalErrors\":_vm.generalErrors,\"title\":_vm.t('duplicate') + ' ' +  _vm.title,\"ok-text\":_vm.okText,\"id\":_vm.id,\"command\":_vm.command,\"status\":_vm.status},on:{\"hidden\":_vm.onCloseDialog,\"onSubmit\":_vm.onSubmit}},[[(_vm.origin !== '')?_c('b-card-title',[_vm._v(\"Origem: \"+_vm._s(_vm.origin))]):_vm._e(),_c('validation-observer',{ref:\"validation\",scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar invalid = ref.invalid;\nvar errors = ref.errors;\nreturn [_c('span',{staticClass:\"display-none\"},[_vm._v(\" \"+_vm._s(_vm.errorList = errors)+\" \"+_vm._s(_vm.isInvalid = invalid)+\" \")]),_c('validation-observer',{ref:\"validation\"},[_c('b-form',{ref:\"form\",on:{\"submit\":function($event){$event.preventDefault();return _vm.onSubmit.apply(null, arguments)}}},[_c('t-form-wrapped',{attrs:{\"command\":_vm.command,\"status\":_vm.onStatus}},[_vm._t(\"default\",null,{\"status\":_vm.onStatus})],2)],1)],1)]}}],null,true)})]],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\n  <t-dialog-form :generalErrors=\"generalErrors\" :title=\"t('duplicate') + ' ' +  title\" :ok-text=\"okText\"\n                 @hidden=\"onCloseDialog\"\n                 :id=\"id\" :command=\"command\"\n                 :status=\"status\"\n                 ref=\"dialog_form\" @onSubmit=\"onSubmit\">\n\n    <template>\n\n      <b-card-title v-if=\"origin !== ''\">Origem: {{ origin }}</b-card-title>\n\n      <validation-observer ref=\"validation\" v-slot=\"{invalid,errors}\">\n\n              <span class=\"display-none\">\n                {{ errorList = errors }}\n                {{ isInvalid = invalid }}\n              </span>\n\n        <validation-observer ref=\"validation\">\n\n          <b-form @submit.prevent=\"onSubmit\" ref=\"form\">\n\n            <t-form-wrapped :command=\"command\" :status=\"onStatus\">\n              <slot :status=\"onStatus\"></slot>\n            </t-form-wrapped>\n\n          </b-form>\n\n        </validation-observer>\n\n      </validation-observer>\n\n\n\n    </template>\n\n  </t-dialog-form>\n\n</template>\n<script>\nimport tDialogForm from \"@/components/template/dialog/t-dialog-form\";\nimport pageDialogFormMixin from \"@/mixins/page/pageDialogFormMixin\";\n\nexport default {\n  name: \"t-dialog-duplicate\",\n  components: {tDialogForm},\n  mixins: [pageDialogFormMixin],\n  data() {\n    return {\n      id: \"modal-duplicate\",\n      okText: this.t('duplicate'),\n    }\n  },\n  props: {\n    value: {\n      type: Object,\n      default: null\n    },\n    dialogId:{\n      type:String,\n      default:\"\"\n    },\n    formError: {\n      type: Object,\n      default: null\n    },\n    origin: String,\n    pathServer: {\n      type: String,\n      required: true,\n    },\n    command: {\n      type: String,\n      default: 'insert'\n    },\n    title: String,\n  },\n  mounted() {\n\n    this.setValue()\n\n    if(this.dialogId !== ''){\n      this.id = this.dialogId\n    }\n\n  },\n  computed: {\n    onStatus() {\n      return this.status\n    },\n    onSending() {\n      return this.status === \"sending\"\n    },\n  },\n  methods: {\n\n    onCloseDialog() {\n\n      this.$emit(\"onClose\")\n\n    }\n    ,\n\n    setValue() {\n      this.form = this.value\n    }\n    ,\n\n    //Declaro sempre localmente, pois poderá realizar operações diferentes do padrão como setar algum valor padrão vindo de fora e que seria limpo pelo resetModal de forma dinamica\n    async showModal() {\n\n      //Limpa os campos\n      this.resetModal()\n\n\n    },\n\n    async onSubmit() {\n\n      //Validações específicas da tela\n\n      this.form = this.value\n      this.error = this.formError\n\n      await this.setInsertDialog(this.pathServer + \"/duplicate\", (item) => {\n\n        setTimeout(() => {\n\n          //Fecha e devolve os valores desejado para continuidade\n          this.$nextTick(() => {\n\n            this.status = \"\"\n            this.checkErrorsComponent = false\n\n            this.$bvModal.hide(this.id)\n            this.$emit('onSubmit', item)\n\n\n\n          });\n\n        }, 50)\n\n      })\n\n    }\n  }\n  ,\n  watch: {\n\n    value() {\n      this.setValue()\n    }\n\n  }\n\n}\n</script>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./t-dialog-duplicate.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./t-dialog-duplicate.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./t-dialog-duplicate.vue?vue&type=template&id=4309e86e&\"\nimport script from \"./t-dialog-duplicate.vue?vue&type=script&lang=js&\"\nexport * from \"./t-dialog-duplicate.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","import ui from \"@/assets/scripts/ui\";\r\nimport http from \"@/services/config/http-common\";\r\n\r\nexport default {\r\n    //Algo fora do padrão, mas geral de acordo com este contexto\r\n\r\n    methods: {\r\n\r\n        objValid(obj) {\r\n            return obj !== null && obj !== undefined && obj !== ''\r\n        },\r\n\r\n        infoDevelopment() {\r\n            ui.msgError(this, 'Recurso em desenvolvimento!')\r\n        },\r\n\r\n        copyToClipboard(text,inputId) {\r\n            if (!text) {\r\n                console.warn(\"Nenhum conteúdo para copiar!\");\r\n                return;\r\n            }\r\n\r\n            navigator.clipboard.writeText(text).then(() => {\r\n                ui.toast(this,'Texto copiado','Texto copiado com sucesso!')\r\n\r\n                const input = document.getElementById(inputId);\r\n\r\n                if (!input) {\r\n                    console.warn(\"Elemento não encontrado!\");\r\n                    return;\r\n                }\r\n\r\n                // Seleciona todo o texto\r\n                input.select();\r\n                input.setSelectionRange(0, input.value.length); // Para compatibilidade com dispositivos móveis\r\n\r\n                // Aguarda 1 segundo e então remove a seleção\r\n                setTimeout(() => {\r\n                    input.setSelectionRange(0, 0);\r\n                    input.blur(); // Remove o foco do campo\r\n                }, 1000);\r\n\r\n\r\n            }).catch(err => {\r\n                ui.msgError(this,'Falha ao tentar copiar texto: ' + err)\r\n            });\r\n        },\r\n\r\n        isInsert() {\r\n            return this.command === 'insert'\r\n        },\r\n\r\n        isUpdate() {\r\n            return this.command === 'update'\r\n        },\r\n\r\n        isView() {\r\n            return this.command === 'view'\r\n        },\r\n\r\n        isDelete() {\r\n            return this.command === 'delete'\r\n        },\r\n\r\n        convertArrayIdsToObject(arrayIds, primaryKeyColumn) {\r\n\r\n            let obj = []\r\n\r\n            for (const item of arrayIds) {\r\n                obj.push({[primaryKeyColumn]: item})\r\n            }\r\n            return obj\r\n\r\n        },\r\n\r\n        convertObjectToArrayIds(obj, primaryKeyColumn) {\r\n\r\n            let arrayIds = []\r\n\r\n            for (const item of obj) {\r\n                arrayIds.push(item[[primaryKeyColumn]])\r\n            }\r\n\r\n            return arrayIds\r\n\r\n        },\r\n\r\n        getRenderRule(param) {\r\n\r\n            if (this.userAuth.renderRules === undefined)\r\n                console.log('Parametro não definido')\r\n\r\n            if (param in this.userAuth.renderRules) {\r\n                return this.userAuth.renderRules[param]\r\n            } else {\r\n                return false\r\n            }\r\n\r\n        },\r\n\r\n\r\n        async downloadReport(reportId, primaryKey, name, ext = \"pdf\", title = \"\", params = \"\") {\r\n\r\n            const nameFile = ui.nameFile(name, ext)\r\n\r\n            await http.download(\"general/report/generate?type=R&platform=web&reportId=\" + reportId + \"&primaryKey=\" + primaryKey + \"&title=\" + title + params, nameFile)\r\n                .catch(error => ui.generalResponseError(this, error))\r\n\r\n        },\r\n\r\n\r\n        async downloadReportByTag(subValidationTag, primaryKey, name, ext = \"pdf\") {\r\n\r\n            const nameFile = ui.nameFile(name, ext)\r\n\r\n            await http.download(\"general/report/generate?type=R&platform=web&subValidationTag=\" + subValidationTag + \"&primaryKey=\" + primaryKey, nameFile)\r\n                .catch(error => ui.generalResponseError(this, error))\r\n\r\n        },\r\n\r\n        openModal(modal_id) {\r\n\r\n            //Tempo necessário caso seja necessário montar objeto\r\n            setTimeout(() => {\r\n                document.activeElement.blur()\r\n                this.$bvModal.show(modal_id)\r\n            }, 200)\r\n\r\n\r\n        },\r\n\r\n\r\n        openDialogForm(modal_id, noOptionValue = '') {\r\n\r\n            //Tempo necessário caso seja necessário montar objeto\r\n            setTimeout(() => {\r\n                document.activeElement.blur()\r\n\r\n                if (noOptionValue !== '')\r\n                    this.noOptionAdd = noOptionValue\r\n\r\n\r\n                this.$bvModal.show(modal_id)\r\n            }, 200)\r\n\r\n\r\n        },\r\n\r\n        async goPath(path, addQuery = null) {\r\n            await ui.goPath(this, path, addQuery)\r\n        },\r\n\r\n        async setRedirect(path, id, command, codError, addObjQuery, success) {\r\n\r\n            let objQuery = {}\r\n\r\n            //const lastPagePath = this.$store.getters.getLastPage.path\r\n            let pathSend = path\r\n\r\n            //if (pathSend === lastPagePath) {\r\n            //Retorna com a listagem filtrada\r\n            objQuery = this.$store.getters.getLastPage.query\r\n\r\n            //}\r\n\r\n\r\n            if (codError > 0) {\r\n                objQuery.codError = codError\r\n            } else {\r\n\r\n                if (command === 'insert') {\r\n                    if (success) {\r\n                        objQuery.codSuccess = 1\r\n                    } else {\r\n                        objQuery.codError = 1\r\n                    }\r\n                } else if (command === 'update') {\r\n                    if (success) {\r\n                        objQuery.codSuccess = 2\r\n                    } else {\r\n                        objQuery.codError = 2\r\n                    }\r\n                } else if (command === 'delete') {\r\n                    if (success) {\r\n                        objQuery.codSuccess = 3\r\n                    } else {\r\n                        objQuery.codSuccess = 3\r\n                    }\r\n                }\r\n\r\n            }\r\n\r\n\r\n            if (pathSend.substring(0, 1) !== '/') {\r\n                //Coloca a barra no início\r\n                pathSend = \"/\" + pathSend\r\n            }\r\n\r\n            if (pathSend.substring(pathSend.length - 1) === '/') {\r\n                //Retira a barra final\r\n                pathSend = pathSend.substring(0, pathSend.length - 1)\r\n            }\r\n\r\n\r\n            //ATENÇÃO SE O PATH SEND NÃO BATER EXATAMENTE IGUAL AO PATH DO ROUTER DARÁ PROBLEMA\r\n            await this.$router.push({path: pathSend, query: objQuery})\r\n\r\n\r\n        },\r\n\r\n        go(name) {\r\n            this.$router.push({name: name})\r\n        },\r\n\r\n        relationAccessPageGeneral(name) {\r\n\r\n            if (this.userAuth !== null && this.userAuth.relationPages !== undefined) {\r\n\r\n                let e = this.userAuth.relationPages.find(el => el.name === name);\r\n\r\n                if (e) {\r\n                    return e.accessGeneral\r\n                } else {\r\n                    return false;\r\n                }\r\n\r\n            }\r\n\r\n\r\n        },\r\n\r\n        relationAccessSubValidation(subValidationTag) {\r\n\r\n            if (this.userAuth && this.userAuth.subValidations) {\r\n                let e = this.userAuth.subValidations.find(el => el.subValidationTag === subValidationTag);\r\n\r\n                if (e) {\r\n                    return true\r\n                } else {\r\n                    return false\r\n                }\r\n            }\r\n\r\n\r\n        },\r\n\r\n        relationAccessPageTitle(name) {\r\n\r\n            let e = this.userAuth.relationPages.find(el => el.name === name);\r\n\r\n            if (e) {\r\n                return e.pageTitle;\r\n            } else {\r\n                return false;\r\n            }\r\n\r\n        },\r\n\r\n        setIsLoadingPage(isLoadingPage) {\r\n            this.$store.commit(\"setIsLoadingPage\", isLoadingPage)\r\n        },\r\n\r\n        setBlackout(show) {\r\n            this.$store.commit(\"setPageBlackoutShow\", show)\r\n        },\r\n\r\n        setDisabledButtonSubmit(disabled) {\r\n            this.$store.commit(\"setDisabledButtonSubmit\", disabled)\r\n        },\r\n\r\n\r\n        resetFormDefault(form, notReset = []) {\r\n\r\n            Object.keys(form).forEach(key => {\r\n\r\n                if (key.toString() !== 'status' && (!notReset.find((str) => str === key))) {\r\n\r\n                    if (form[key] && typeof form[key] === \"string\") {\r\n                        form[key] = \"\"\r\n                    } else if (form[key] && typeof form[key] === \"number\") {\r\n                        form[key] = 0\r\n                    } else if (form[key] && typeof form[key] === \"boolean\") {\r\n                        form[key] = false\r\n                    }\r\n\r\n                }\r\n\r\n            });\r\n\r\n        },\r\n\r\n        getPath() {\r\n\r\n            let pathSend = this.path\r\n\r\n            //Verifica se foi especificado algum path fora do padrão\r\n            if (pathSend === '') {\r\n\r\n                let path = this.$router.currentRoute.matched[1].path\r\n\r\n                if (path) {\r\n\r\n                    //Maior para o menor para evitar que os menores satisfação condinção incorretamente\r\n\r\n\r\n                    if (path.substring(path.length - 9) === '/view/:id') {\r\n                        pathSend = path.substring(1, path.length - 9)\r\n                    } else if (path.substring(path.length - 11) === '/remove/:id') {\r\n                        pathSend = path.substring(1, path.length - 11)\r\n                    } else if (path.substring(path.length - 4) === '/new') {\r\n                        pathSend = path.substring(1, path.length - 4)\r\n                    } else if (path.substring(path.length - 4) === '/:id') {\r\n                        pathSend = path.substring(1, path.length - 4)\r\n                    } else {\r\n                        pathSend = path\r\n                    }\r\n\r\n                } else {\r\n                    pathSend = this.$router.currentRoute.path\r\n                }\r\n\r\n            }\r\n\r\n            return pathSend\r\n\r\n        }\r\n    }\r\n}","import InputType from \"@/model/types/resource/InputType\";\r\nimport VarType from \"@/model/types/resource/VarType\";\r\n\r\nexport default {\r\n\r\n    prepareHTML(content = '', limit = 500) {\r\n        if (content !== '') {\r\n\r\n            // Corrigir todos os <strong> e </strong> por <b> e </b>\r\n            content = content.replace(/<strong>/gi, \"<b>\");\r\n            content = content.replace(/<\\/strong>/gi, \"</b>\");\r\n\r\n            // Limitar para até 500 caracteres (ou outro valor passado)\r\n            if (content.length > limit)\r\n                content = content.substring(0, limit);\r\n        }\r\n\r\n        return content;\r\n    },\r\n\r\n\r\n\r\n    teste(state, error) {\r\n\r\n        const b = new Blob([error.response.data], {type: \"application/json\"}),\r\n            fr = new FileReader();\r\n\r\n        fr.onload = e => {\r\n\r\n            const objectError = JSON.parse(e.target.result)\r\n\r\n            if (error.response.status === 500) {\r\n                this.msgError(state, objectError.general[0])\r\n            } else if (error.response.status === 610) {\r\n\r\n                this.status = \"subject\"\r\n                this.dialogRoutineShow = true\r\n                this.dialogRoutineTotalRows = objectError.totalRows\r\n                this.dialogRoutineTotalParts = objectError.totalParts\r\n                this.openModal('modal-report-dialog-routine-by-part')\r\n\r\n            }\r\n\r\n\r\n        }\r\n\r\n        fr.readAsText(b);\r\n\r\n    },\r\n\r\n\r\n    getAlternativeNativeValue(inputName) {\r\n\r\n        const alternativeArray = document.getElementsByName(inputName);\r\n        const alternativeChecked = Array.from(alternativeArray).find(radio => radio.checked);\r\n        let alternativeChosen = 0\r\n\r\n        if (alternativeChecked !== null && alternativeChecked !== undefined) {\r\n            alternativeChosen = parseInt(alternativeChecked.value)\r\n        }\r\n\r\n        return alternativeChosen\r\n\r\n    },\r\n\r\n\r\n    /**position inicia com 1 até 5*/\r\n    getParamFieldByPosition(form, position) {\r\n\r\n        const fieldName = form['field' + position + 'Name']\r\n        const fieldType = form['field' + position + 'Type']\r\n        const fieldVar = form['field' + position + 'Var']\r\n        const fieldMask = form['field' + position + 'Mask']\r\n        const fieldLength = form['field' + position + 'Length']\r\n        const fieldMinAccepted = form['field' + position + 'MinAccepted']\r\n        const fieldMaxAccepted = form['field' + position + 'MaxAccepted']\r\n        const fieldRequired = form['field' + position + 'Required']\r\n\r\n        let field = {\r\n            var: fieldVar, type: fieldType, name: fieldName, options: [], cols: 12\r\n        }\r\n\r\n        //Tipos Double por padrão terão 4 casas decimais para serem utilizadas nos parâmetros\r\n        if (fieldVar === 3) {\r\n            field.decimalPrecision = 4\r\n        }\r\n\r\n        if (fieldMask !== undefined && fieldMask !== null)\r\n            field.mask = fieldMask\r\n\r\n        if (fieldLength !== undefined && fieldLength !== null)\r\n            field.length = fieldLength\r\n\r\n        if (fieldMinAccepted !== undefined && fieldMinAccepted !== null)\r\n            field.minAccepted = fieldMinAccepted\r\n\r\n        if (fieldMaxAccepted !== undefined && fieldMaxAccepted !== null)\r\n            field.maxAccepted = fieldMaxAccepted\r\n\r\n        if (fieldRequired !== undefined && fieldRequired !== null)\r\n            field.required = fieldRequired\r\n\r\n\r\n        if (InputType.isList(fieldType)) {\r\n\r\n            let options = form['field' + position + 'Options']\r\n\r\n            if (options !== null && options !== undefined) {\r\n\r\n                options = options.split(\";\")\r\n\r\n                let fieldOptions = []\r\n\r\n\r\n                for (const o of options) {\r\n\r\n                    const option = o.split(\":\")\r\n\r\n                    let optionValue\r\n                    const optionText = option[1]\r\n\r\n                    if (fieldType === VarType.type.INTEGER) {\r\n                        optionValue = parseInt(option[0])\r\n                    } else {\r\n                        optionValue = \"\" + option[0]\r\n                    }\r\n\r\n                    fieldOptions.push({\r\n                        value: optionValue,\r\n                        text: optionText\r\n                    })\r\n\r\n\r\n                }\r\n\r\n                field.options = fieldOptions\r\n\r\n            }\r\n\r\n        }\r\n\r\n        return field\r\n\r\n    },\r\n\r\n    highlightSearch(text, search) {\r\n        const searchTxt = \"\" + search\r\n\r\n        if (text !== null && text !== undefined) {\r\n            return text.replace(new RegExp(searchTxt, \"ig\"), \"<span class='highlightSearched'>\" + searchTxt.toUpperCase() + \"</span>\");\r\n        } else {\r\n            return ''\r\n        }\r\n\r\n    },\r\n\r\n    goLink(url) {\r\n        location = url\r\n    },\r\n\r\n    focusById(id) {\r\n        if (document.getElementById(id) !== null)\r\n            document.getElementById(id).focus()\r\n    },\r\n\r\n    reload() {\r\n        location.reload()\r\n    },\r\n\r\n    lpad(value, length) {\r\n        /*Permitido informar 0 para formatar por exemplo 0000*/\r\n        if (value !== '' && value !== null) {\r\n            return value.toString().padStart(length, \"0\")\r\n        }\r\n    },\r\n\r\n    generateRandomNumber(min, max) {\r\n        return Math.floor(Math.random() * (max - min + 1) + min);\r\n    },\r\n\r\n\r\n    getPosition() {\r\n\r\n        if (navigator.geolocation) {\r\n\r\n            return new Promise((resolve, reject) =>\r\n                navigator.geolocation.getCurrentPosition(location => {\r\n                    resolve({\r\n                        latitude: location.coords.latitude,\r\n                        longitude: location.coords.longitude\r\n                    })\r\n                }, reject)\r\n            )\r\n        } else {\r\n            return Promise.reject()\r\n        }\r\n\r\n    },\r\n\r\n\r\n    getDevice() {\r\n\r\n        if (navigator !== null && navigator.appName !== null && navigator.appName !== undefined) {\r\n            return new Promise(resolve => {\r\n                resolve({\r\n                    appCodeName: navigator.appCodeName,\r\n                    appName: navigator.appName,\r\n                    platform: navigator.platform,\r\n                    userAgent: navigator.userAgent\r\n                })\r\n            })\r\n        } else {\r\n            return Promise.reject()\r\n        }\r\n\r\n    },\r\n\r\n    async goPath(state, path, addQuery) {\r\n\r\n        let pathSend = path\r\n        let query = {}\r\n        let redirectQuery = null\r\n\r\n        if (pathSend.substring(0, 1) !== '/') {\r\n            //Coloca a barra no início\r\n            pathSend = \"/\" + pathSend\r\n        }\r\n\r\n        if (pathSend.substring(pathSend.length - 1) === '/') {\r\n            //Retira a barra final\r\n            pathSend = pathSend.substring(0, pathSend.length - 1)\r\n        }\r\n\r\n        //ATENÇÃO SE O PATH SEND NÃO BATER EXATAMENTE IGUAL AO PATH DO ROUTER DARÁ PROBLEMA\r\n        const lastPagePath = state.$store.getters.getLastPage.path\r\n\r\n        if (pathSend === lastPagePath) {\r\n            //Retorna com a listagem filtrada\r\n            redirectQuery = state.$store.getters.getLastPage.query\r\n        }\r\n\r\n        if (addQuery !== null && redirectQuery !== null) {\r\n            query = Object.assign({}, addQuery, redirectQuery);\r\n        } else if (addQuery !== null) {\r\n            query = addQuery\r\n        } else if (redirectQuery !== null) {\r\n            query = redirectQuery\r\n        }\r\n\r\n        await state.$router.push({path: pathSend, query})\r\n\r\n    },\r\n\r\n    reportRender(r) {\r\n\r\n        let error = false\r\n        let charts = {}\r\n\r\n        if (r.search(/<script>/i) > -1) {\r\n\r\n            charts = r.substring(r.search(/<script>/i), r.search(/<\\/script>/i))\r\n\r\n            r = r.replace(charts, '')\r\n            r = r.replace(\"</script>\", \"\")\r\n\r\n            charts = charts.replace(/<script>/i, '')\r\n            charts = charts.replace('const charts = ', '')\r\n            charts = charts.replaceAll('\\n', '')\r\n\r\n            charts = JSON.parse(charts)\r\n\r\n            //Correção de funções enviadas\r\n            for (let chart of charts) {\r\n\r\n                //Conversão de funções String em functions nativas\r\n                if (chart.tooltip && chart.tooltip.y && chart.tooltip.y.formatter) {\r\n                    chart.tooltip.y.formatter = eval(chart.tooltip.y.formatter)\r\n                }\r\n\r\n\r\n            }\r\n\r\n            if (charts === '') {\r\n                error = true\r\n                console.log(\"ERRO ORIGEM RELATORIO JSON\")\r\n            }\r\n\r\n\r\n        }\r\n\r\n\r\n        return {\r\n            error,\r\n            report: r,\r\n            charts,\r\n        }\r\n\r\n\r\n    },\r\n\r\n\r\n    tagScript(src) {\r\n        return \"<script src=\" + src + \"></script>\"\r\n    },\r\n\r\n\r\n    dateDiff(startDate, finishDate) {\r\n\r\n        const _startDate = new Date(startDate)\r\n        const _finishDate = new Date(finishDate)\r\n\r\n        return Math.round((_finishDate - _startDate) / (1000 * 60 * 60 * 24));\r\n\r\n    },\r\n\r\n    //https://bootstrap-vue.org/docs/components/toast\r\n    toast(state, title = \"Informação\", message, variant = \"info\", toaster = \"b-toaster-bottom-right\", append = false, seconds = 3) {\r\n\r\n        const h = state.$createElement\r\n        const messageHTML = h('div', {domProps: {innerHTML: message}})\r\n\r\n        state.$bvToast.toast(messageHTML, {\r\n            title: title,\r\n            toaster: toaster,\r\n            variant: variant,\r\n            solid: true,\r\n            autoHideDelay: seconds * 1000,\r\n            appendToast: append\r\n        })\r\n    },\r\n\r\n    convertNumber(number, decimal, language, forceDecimals = false) {\r\n\r\n        if (number !== null && number !== 0 && number) {\r\n\r\n            let decimalUtilized = decimal;\r\n            let forceDecimalsUtilized = forceDecimals;\r\n\r\n            if (decimal > 0) {\r\n\r\n                const roundNumber = number - Math.floor(number);\r\n                const decimalNumber = parseFloat(roundNumber.toFixed(decimal));\r\n\r\n                if (decimalNumber > 0) {\r\n                    let decimalsLength = \"\" + decimalNumber\r\n                    decimalsLength = decimalsLength.split(\".\")[1].length\r\n                    decimalUtilized = decimalsLength\r\n                    forceDecimalsUtilized = true\r\n                }\r\n\r\n            }\r\n\r\n            if (forceDecimalsUtilized) {\r\n                //Exibe os decimais, mesmo que não tenha utilizado\r\n                return number.toLocaleString(language, {minimumFractionDigits: decimalUtilized});\r\n\r\n            } else {\r\n                //Exibe os decimais somente-se forem utilizados\r\n                return number.toLocaleString(language);\r\n            }\r\n\r\n\r\n            //new Intl.NumberFormat(language, { maximumSignificantDigits: decimal }).format(number);\r\n\r\n        } else {\r\n            return 0\r\n        }\r\n\r\n    },\r\n\r\n    convertDateBR(dateString, time = false) {\r\n\r\n        if (dateString !== null && dateString !== \"\" && dateString) {\r\n\r\n            let date\r\n\r\n            if (dateString instanceof Date) {\r\n                date = dateString\r\n            } else {\r\n                if (dateString.indexOf(\"T\") < 0) {\r\n                    dateString += 'T00:00:00'\r\n                }\r\n                date = new Date(dateString)\r\n            }\r\n\r\n            if (time) {\r\n                return date.toLocaleString('pt-br', {timeZone: \"America/Sao_Paulo\"}).toString().replace(/,/, '')\r\n            } else {\r\n                return date.toLocaleString('pt-br', {timeZone: \"America/Sao_Paulo\"}).toString().split(\" \")[0].replace(/,/, '')\r\n            }\r\n\r\n        }\r\n\r\n    },\r\n\r\n    msgConfirm(state, title = \"Tem certeza?\", msgConfirm, callback, okTitle = \"Continuar mesmo assim\") {\r\n\r\n        let title_\r\n        const ele = state.$createElement('div', {domProps: {innerHTML: msgConfirm}})\r\n\r\n        if (title !== '') {\r\n            title_ = title\r\n        } else {\r\n            title_ = 'Confirmação'\r\n        }\r\n\r\n        state.$bvModal.msgBoxConfirm(ele, {\r\n            title: title_,\r\n            okVariant: \"primary\",\r\n            okTitle: okTitle,\r\n            cancelTitle: 'Cancelar',\r\n            hideHeaderClose: false,\r\n        }).then(value => {\r\n\r\n            if (value) {\r\n                callback()\r\n            }\r\n\r\n        })\r\n\r\n    },\r\n\r\n\r\n    msgConfirmDelete(state, callback, msg = '') {\r\n\r\n        let msg_confirm_delete = state.t('msg-confirm-delete')\r\n\r\n        if (msg !== '') {\r\n            msg_confirm_delete = msg\r\n        }\r\n\r\n        const ele = state.$createElement('div', {domProps: {innerHTML: msg_confirm_delete}})\r\n\r\n        state.$bvModal.msgBoxConfirm(ele, {\r\n            title: state.t('confirm'),\r\n            okVariant: 'danger',\r\n            okTitle: state.t('delete'),\r\n            cancelTitle: state.t('no'),\r\n            hideHeaderClose: false,\r\n        }).then(value => {\r\n\r\n            if (value) {\r\n                callback()\r\n            }\r\n\r\n        })\r\n\r\n    },\r\n\r\n    msg(state, title, message, callback = null, size = '') {\r\n\r\n        const h = state.$createElement\r\n        const messageHTML = h('div', {domProps: {innerHTML: message}})\r\n\r\n        state.$bvModal.msgBoxOk(messageHTML, {\r\n            title: title,\r\n            okVariant: 'info',\r\n            size: size !== '' ? size : 'md',\r\n            okTitle: 'Ok',\r\n            hideHeaderClose: false,\r\n        }).then(value => {\r\n\r\n            if (value && callback) {\r\n                callback()\r\n            }\r\n\r\n        })\r\n\r\n    },\r\n\r\n    getAccountName() {\r\n\r\n        if (localStorage.getItem('account')) {\r\n            const account = JSON.parse(localStorage.getItem('account'))\r\n\r\n            if (account && account.accountName) {\r\n                return account.accountName\r\n            } else {\r\n                return ''\r\n            }\r\n\r\n        }\r\n\r\n    },\r\n\r\n    getAccountPrefix() {\r\n\r\n        if (localStorage.getItem('account')) {\r\n            const account = JSON.parse(localStorage.getItem('account'))\r\n\r\n            if (account && account.accountPrefix) {\r\n                return account.accountPrefix\r\n            } else {\r\n                return ''\r\n            }\r\n\r\n        }\r\n\r\n    },\r\n\r\n    getAccountModule() {\r\n\r\n        if (localStorage.getItem('account')) {\r\n            const account = JSON.parse(localStorage.getItem('account'))\r\n\r\n            if (account && account.module) {\r\n                return account.module\r\n            } else {\r\n                return ''\r\n            }\r\n\r\n        }\r\n\r\n    },\r\n\r\n    getAccountHelpDocURL() {\r\n\r\n        if (localStorage.getItem('account')) {\r\n            const account = JSON.parse(localStorage.getItem('account'))\r\n\r\n            if (account && account.helpDocUrl) {\r\n                return account.helpDocUrl\r\n            } else {\r\n                return ''\r\n            }\r\n\r\n        }\r\n\r\n    },\r\n\r\n    getNameUser() {\r\n\r\n        if (localStorage.getItem('account')) {\r\n            const account = JSON.parse(localStorage.getItem('account'))\r\n\r\n            if (account && account.name) {\r\n                return account.name\r\n            }\r\n\r\n        }\r\n\r\n    },\r\n\r\n    getEmailUser() {\r\n\r\n        const filter = /^([\\w-]+(?:\\.[\\w-]+)*)@((?:[\\w-]+\\.)*\\w[\\w-]{0,66})\\.([a-z]{2,6}(?:\\.[a-z]{2})?)$/i;\r\n\r\n        if (localStorage.getItem('account')) {\r\n            const account = JSON.parse(localStorage.getItem('account'))\r\n\r\n            if (account && account.login) {\r\n\r\n                //Retorna somente se for um e-mail válido (para casos onde o login é por código de acesso, retornará em branco\r\n                if (filter.test(account.login)) {\r\n                    return account.login\r\n                }\r\n\r\n            }\r\n\r\n        }\r\n\r\n    },\r\n\r\n    getTemplateLogo(size = \"small\") {\r\n\r\n        //Demais tamanhos não estão sendo armazenados, checar antes de usar\r\n\r\n        if (localStorage.getItem('template') && localStorage.getItem('template') !== \"undefined\") {\r\n\r\n            const template = JSON.parse(localStorage.getItem('template'))\r\n\r\n            if (size === \"small\" && template.logoSmall && template.logoSmall !== \"\") {\r\n                return template.logoSmall\r\n            }\r\n        }\r\n\r\n    },\r\n\r\n    setFavicon(icon) {\r\n\r\n        let link = document.querySelector(\"link[rel~='icon']\");\r\n        if (!link) {\r\n            link = document.createElement('link');\r\n            link.rel = 'icon';\r\n            document.head.appendChild(link);\r\n        }\r\n\r\n        link.href = link.href.replace('favicon', icon)\r\n    },\r\n\r\n    async generalResponseError(state, error, callback = null) {\r\n\r\n\r\n\r\n        if (error.response) {\r\n\r\n            if (error.response.status === 500) {\r\n\r\n                if (error.response.data instanceof Blob) {\r\n\r\n                    const b = new Blob([error.response.data], {type: \"application/json\"}),\r\n                        fr = new FileReader();\r\n\r\n                    fr.onload = e => {\r\n\r\n                        const objectError = JSON.parse(e.target.result)\r\n\r\n                        if (error.response.status === 500) {\r\n                            this.msgError(state, objectError.general, callback)\r\n                        }\r\n\r\n                    }\r\n\r\n                    fr.readAsText(b);\r\n\r\n                } else {\r\n                    this.msgError(state, error.response.data.general, callback)\r\n                }\r\n\r\n            }\r\n\r\n        }\r\n\r\n    },\r\n\r\n    msgErrorForm(state, errors, callback = null) {\r\n\r\n        /*console.log(errors)\r\n        Versão avançada com os detalhes\r\n       for(const error in this.$refs.validation.errors){\r\n\r\n         __ob__\r\n\r\n         if(!error.includes(\"__ob__\") && )\r\n         console.log(error)\r\n       }\r\n        */\r\n\r\n        this.msgError(state, \"Por favor verifique todos os campos destacados com erro antes de continuar.\", callback)\r\n    },\r\n\r\n    msgError(state, message, callback = null, title = '') {\r\n\r\n        const h = state.$createElement\r\n\r\n        let messageHTML\r\n\r\n        if (Array.isArray(message)) {\r\n\r\n            const arrayMessage = []\r\n\r\n            for (const item of message) {\r\n                arrayMessage.push(h('div', {\r\n                    domProps: {\r\n                        innerHTML: item,\r\n                        style: 'padding:5px; border-bottom:solid 1px #e1e1e1'\r\n                    }\r\n                }))\r\n            }\r\n\r\n            messageHTML = arrayMessage\r\n\r\n        } else {\r\n\r\n            messageHTML = h('div', {domProps: {innerHTML: message}})\r\n\r\n        }\r\n\r\n\r\n        let title_ = state.t('error')\r\n\r\n        if (title !== '' && title !== null)\r\n            title_ = title\r\n\r\n        state.$bvModal.msgBoxOk(messageHTML, {\r\n            title: title_,\r\n            okVariant: 'danger',\r\n            okTitle: 'Ok',\r\n            hideHeaderClose: false,\r\n        }).then(value => {\r\n\r\n            if (value && callback) {\r\n                callback()\r\n            }\r\n\r\n        })\r\n\r\n    },\r\n\r\n    randomIntFromInterval(min, max) { // min and max included\r\n        return Math.floor(Math.random() * (max - min + 1) + min)\r\n    },\r\n\r\n\r\n    formatZeroNumber(valor = \"\", qtyZeros) {\r\n\r\n        return String(valor).padStart(qtyZeros, '0');\r\n\r\n    },\r\n\r\n    currentYear() {\r\n        return this.currentDate().split('-')[0]\r\n    },\r\n\r\n    currentDate() {\r\n\r\n        const date = new Date()\r\n        //const offset = date.getTimezoneOffset() 180 é padrão para o Brasil, fazendo isso será setado com a data curta mais correta, pois dependendendo da horá será enviado como no dia seguinte.\r\n        const dateNow = new Date(date.getTime() - (180 * 60 * 1000))\r\n        return dateNow.toISOString().split('T')[0]\r\n\r\n    },\r\n\r\n    currentDateTime() {\r\n        return this.convertDateBR(new Date(), true)\r\n    },\r\n\r\n    currentHour() {\r\n        const date = new Date()\r\n        //const offset = date.getTimezoneOffset() 180 é padrão para o Brasil, fazendo isso será setado com a data curta mais correta, pois dependendendo da horá será enviado como no dia seguinte.\r\n        const dateNow = new Date(date.getTime() - (180 * 60 * 1000))\r\n        const time = dateNow.toISOString().split('T')[1].split(':')[0] + ':00'\r\n        return time\r\n\r\n\r\n    }\r\n    ,\r\n\r\n    defaultTemplate() {\r\n\r\n        const head = document.getElementsByTagName('head')[0]\r\n\r\n        if (head.children) {\r\n\r\n            for (const item of head.children) {\r\n\r\n                if (item.accessKey === \"customTemplate\") {\r\n                    item.remove()\r\n                }\r\n\r\n            }\r\n        }\r\n\r\n    },\r\n    customTemplate() {\r\n\r\n        if (localStorage.getItem('template') && localStorage.getItem('template') !== \"undefined\") {\r\n\r\n            const template = JSON.parse(localStorage.getItem('template'))\r\n            let style = document.createElement('style')\r\n            let styleRulers = \"\"\r\n\r\n            /** PERSONALIZAÇÃO POR CLIENTE */\r\n\r\n            if (template.colorPrimary && template.colorPrimary !== \"\") {\r\n                styleRulers +=\r\n                    \":root {\" +\r\n                    \"--template-color-primary: \" + template.colorPrimary + \"; \" +\r\n                    \"--template-color-secondary: \" + template.colorSecondary + \"; \" +\r\n                    \"--template-color-light: \" + template.colorLight + \"; \" +\r\n                    \"}\";\r\n            }\r\n\r\n            if (template.logoSmall && template.logoSmall !== \"\") {\r\n                styleRulers += \".app-logo { background-image: url(\" + template.logoSmall + \") !important; } \" +\r\n                    \".logo-src { background-image: url(\" + template.logoSmall + \") !important; } \"\r\n            }\r\n\r\n            style.accessKey = \"customTemplate\"\r\n            style.innerHTML = styleRulers\r\n            document.getElementsByTagName('head')[0].appendChild(style);\r\n\r\n\r\n        }\r\n\r\n    }\r\n    ,\r\n\r\n    /** Corrige o nome do arquivo removendo informações não válidas*/\r\n    nameFile(name, ext) {\r\n        if (name !== null && name !== '') {\r\n\r\n\r\n            let nameValid = name.toLowerCase().replace(/[/\\\\?%*:|\"<>]/g, '')\r\n            nameValid = nameValid.replaceAll(\"  \", \" \")\r\n            nameValid = nameValid.replaceAll(\" \", \"-\")\r\n            nameValid = nameValid.normalize(\"NFD\").replace(/[\\u0300-\\u036f]/g, \"\")\r\n            return nameValid + \".\" + ext\r\n        } else {\r\n            return \"\"\r\n        }\r\n    }\r\n    ,\r\n\r\n    logout(state) {\r\n\r\n        localStorage.removeItem('account')\r\n        state.$store.commit(\"setAccount\", null)\r\n\r\n        setTimeout(() => {\r\n            state.$router.push({name: 'login'})\r\n        }, 100)\r\n\r\n\r\n    }\r\n    ,\r\n\r\n\r\n}","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('transition',{attrs:{\"name\":\"fade\"}},[(_vm.blobUrl)?_c('div',{staticClass:\"image-blob\"},[_c('img',{ref:\"image\",attrs:{\"src\":_vm.blobUrl}})]):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n\r\n  <transition name=\"fade\">\r\n\r\n    <div class=\"image-blob\" v-if=\"blobUrl\">\r\n\r\n      <img ref=\"image\" :src=\"blobUrl\"/>\r\n\r\n    </div>\r\n\r\n  </transition>\r\n\r\n</template>\r\n\r\n<script>\r\nimport http from \"@/services/config/http-common\";\r\n\r\nexport default {\r\n  name: 't-image-blob',\r\n  data() {\r\n    return {\r\n      localSrc: \"\",\r\n      blobUrl: null,\r\n    }\r\n  },\r\n  props: {\r\n    showLoading: Boolean,\r\n    blob:null,\r\n    src: {\r\n      type: String,\r\n    },\r\n  },\r\n  methods: {\r\n\r\n    async load() {\r\n\r\n      return http.image(this.localSrc).then(blob => {\r\n        this.blobUrl = blob\r\n      })\r\n    }\r\n\r\n  },\r\n  async mounted() {\r\n\r\n    //Carregamento poderá ser interno ou externo\r\n\r\n    this.localSrc = this.src\r\n\r\n    if(this.localSrc && this.localSrc !== ''){\r\n      await this.load()\r\n    }else if(this.blob && this.blob !== \"\"){\r\n      this.blobUrl = this.blob\r\n    }\r\n\r\n\r\n  },\r\n  watch: {\r\n\r\n    src(){\r\n      this.load()\r\n    },\r\n\r\n    blob(){\r\n      this.blobUrl = this.blob\r\n    }\r\n\r\n    /*src: {\r\n      immediate: true,\r\n      handler(src) {\r\n        if (!src) return\r\n\r\n        load(src).then(blob => {\r\n          this.blobUrl = URL.createObjectURL(blob)\r\n        })\r\n      },\r\n    },*/\r\n  },\r\n}\r\n</script>\r\n\r\n<style scoped>\r\n</style>","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./t-image-blob.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./t-image-blob.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./t-image-blob.vue?vue&type=template&id=3a35cb4e&scoped=true&\"\nimport script from \"./t-image-blob.vue?vue&type=script&lang=js&\"\nexport * from \"./t-image-blob.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"3a35cb4e\",\n  null\n  \n)\n\nexport default component.exports","import http from '../../config/http-common';\r\n\r\n//Usado somente se for realmente necessário algo fora do padrão GeneralCRUD.service.js\r\nconst path = \"customer\"\r\n\r\nclass service {\r\n\r\n    selectList(params) {\r\n        return http.list(path + \"/selectList\",params);\r\n    }\r\n\r\n    getResume(type, param, allStatus = false) {\r\n\r\n        return http.getResume(path,type,param,allStatus);\r\n\r\n    }\r\n\r\n}\r\n\r\nexport default new service();\r\n\r\n\r\n","export default {\r\n    pageId: 0,\r\n    moduleId: 0,\r\n    setMenuPageId: 0, //Poderá ser diferente da atual, pois poderá ser uma página interna\r\n    name: \"\",\r\n    path: \"\",\r\n    pageTitle: \"\",\r\n    singularTitle: \"\",\r\n}","import functionsMixins from \"@/mixins/page/functionsMixins\";\r\nimport {crudGeneral} from \"@/services/resource/GeneralCRUD.service\";\r\nimport http from \"@/services/config/http-common\";\r\nimport VarType from \"@/model/types/resource/VarType\";\r\nimport CurrentPageEntity from \"@/model/entities/resource/entity/CurrentPageEntity\";\r\nimport UserAuthEntity from \"@/model/entities/resource/entity/UserAuthEntity\";\r\nimport ui from \"@/assets/scripts/ui\";\r\n\r\n\r\nexport default {\r\n    metaInfo() {\r\n        return {\r\n            title: this.getTitle\r\n        }\r\n    },\r\n    mixins: [functionsMixins],\r\n    data() {\r\n        return {\r\n            path: \"\",\r\n            generalResource: false, //Indica se a página é um recurso geral e por tanto não irá verificar em auth\r\n            assembleParams: null, //Parâmetros adicionais para montagem da página, sendo sobreposto localmente\r\n            breadcrumb: [],\r\n            enableGeneralFields: false,\r\n            fieldsCustomizable: [],\r\n            pageTitle: \"\", //Deixa fora para agilizar utilização em locais como breadcumbs\r\n            currentPage: CurrentPageEntity,\r\n            userAuth: UserAuthEntity,\r\n            yesOrNotOptions: [{value: \"Y\", text: this.t('yes')}, {value: \"N\", text: this.t('no')}],\r\n            yesOrNotOptionsAndAll: [{value: \"\", text: this.t('all')}, {value: \"Y\", text: this.t('yes')}, {\r\n                value: \"N\",\r\n                text: this.t('no')\r\n            }],\r\n            statusOptions: [{value: 1, text: 'Ativos'}, {value: 2, text: 'Inativos'}],\r\n            mountAgain: false,//Utilizar no padrão  v-if=\"!mountAgain\" para reload propriedade deverá ser utilizada na pagina para reload\r\n        }\r\n    },\r\n    methods: {\r\n\r\n        reload() {\r\n            this.mountAgain = true\r\n\r\n            setTimeout(() => {\r\n                this.mountAgain = false\r\n            }, 200)\r\n\r\n        },\r\n\r\n        setMenuPageId(menuPageId){\r\n            //Alterar a página ID do menu selecionada por outra (usado em override simples somente de página)\r\n            this.currentPage.menuPageId = menuPageId\r\n            this.$store.commit(\"setCurrentPage\", this.currentPage)\r\n        },\r\n\r\n        focusByRef(ref) {\r\n            if (this.$refs[ref] && this.$refs[ref].$el)\r\n                this.$refs[ref].$el.getElementsByTagName('input')[0].focus()\r\n        },\r\n\r\n        /*Sempre pageId original sem override, será verificado internamente se há override e depois a substituição*/\r\n        async getFieldsCustomizableGeneralByPageId(pageId) {\r\n\r\n            const entity = this.fieldsCustomizable.find(item => item.entity === 'page')\r\n\r\n            if (entity !== undefined) {\r\n\r\n                const pathSend = entity.path + \"setting/page-field/fieldsCustomizable/?pageId=\" + pageId\r\n                await http.get(pathSend).then((response) => {\r\n                    this.injectFieldsCustomizable(entity.entity, response.data)\r\n                })\r\n\r\n            }\r\n\r\n        },\r\n\r\n        async getFieldsCustomizable(type) {\r\n\r\n            const entity = this.fieldsCustomizable.find(item => item.entity === type)\r\n\r\n            if (entity !== undefined) {\r\n\r\n                if (type === 'page') {\r\n                    this.injectFieldsCustomizable(entity.entity, this.userAuth.generalFieldsCustomizable)\r\n                } else {\r\n\r\n\r\n                    const id = this.form[entity.foreignKeyColumn]\r\n\r\n                    if (id > 0) {\r\n\r\n                        const pathSend = entity.path + \"-field/fieldsCustomizable/?\" + type + \"Id=\" + id\r\n                        await http.get(pathSend).then((response) => {\r\n                            this.injectFieldsCustomizable(entity.entity, response.data)\r\n                        })\r\n                    }\r\n                }\r\n\r\n            } else {\r\n                console.log(\"Falha ao tentar localizar entidade informada\")\r\n            }\r\n\r\n        },\r\n\r\n        getViewFields(filterArray = []) {\r\n\r\n            const viewFields = this.userAuth.viewFields.filter(a => {\r\n\r\n                return filterArray.indexOf(a.key) === -1\r\n\r\n\r\n            })\r\n\r\n            return viewFields\r\n        },\r\n\r\n        injectFieldsCustomizable(type, arrayCustomizable) {\r\n\r\n            let arrayReturn = arrayCustomizable\r\n\r\n            if (this.form && this.form.fieldsCustomized !== undefined && arrayReturn != null && arrayReturn.length > 0) {\r\n\r\n                for (let fieldCustomizable of arrayReturn) {\r\n\r\n\r\n                    const fieldValue = this.form.fieldsCustomized.find(item => item.fieldId === fieldCustomizable.fieldId)\r\n                    let value\r\n\r\n\r\n                    if (fieldValue !== undefined) {\r\n\r\n                        if (fieldCustomizable.var === VarType.type.BOOLEAN) {\r\n\r\n                            if (fieldValue.integerValue === 1) {\r\n                                value = true\r\n                            } else {\r\n                                value = false\r\n                            }\r\n\r\n                        } else if (fieldCustomizable.var === VarType.type.INTEGER) {\r\n                            value = fieldValue.integerValue\r\n                        } else if (fieldCustomizable.var === VarType.type.DOUBLE) {\r\n                            value = fieldValue.doubleValue\r\n                        } else if (fieldCustomizable.var === VarType.type.STRING) {\r\n                            value = fieldValue.stringValue\r\n                        } else if (fieldCustomizable.var === VarType.type.DATE) {\r\n                            value = fieldValue.dateValue\r\n                        }\r\n\r\n                        fieldCustomizable.value = value\r\n\r\n                    }\r\n\r\n                }\r\n\r\n            }\r\n\r\n            this.fieldsCustomizable.find(item => item.entity === type).fields = arrayReturn\r\n\r\n        },\r\n\r\n        entityFieldCustomized(entity) {\r\n\r\n            const arrayEntity = this.fieldsCustomizable.filter(item => item.entity === entity)\r\n\r\n            if (arrayEntity.length > 0) {\r\n                return arrayEntity[0].fields\r\n            } else {\r\n                return null\r\n            }\r\n\r\n        },\r\n\r\n\r\n\r\n\r\n        async requestFieldCustomized(entity, fields, forSearchList = false) {\r\n\r\n            let requestEntity = {\r\n                entity: entity,\r\n                fields: [],\r\n            }\r\n\r\n\r\n            for (const field of fields) {\r\n\r\n                let type\r\n                let value = field.value\r\n                let hasValue = true\r\n\r\n\r\n                if (field.var === VarType.type.BOOLEAN) {\r\n                    //Booleano convertido para integer\r\n\r\n                    type = \"integer\"\r\n\r\n                    if (value === undefined || value == null) {\r\n                        value = 0\r\n                        hasValue = false\r\n                    } else {\r\n                        if (value) {\r\n                            value = 1\r\n                        } else {\r\n                            value = 0\r\n                        }\r\n                    }\r\n\r\n                } else if (field.var === VarType.type.INTEGER) {\r\n                    type = \"integer\"\r\n\r\n                    if (value === undefined || value == null) {\r\n                        value = 0\r\n                    }\r\n\r\n                    if (value === 0)\r\n                        hasValue = false\r\n\r\n\r\n                } else if (field.var === VarType.type.DOUBLE) {\r\n                    type = \"double\"\r\n\r\n                    if (value === undefined || value == null) {\r\n                        value = 0.0\r\n                    }\r\n\r\n                    if (value === 0.0)\r\n                        hasValue = false\r\n\r\n\r\n                } else if (field.var === VarType.type.STRING) {\r\n                    type = \"string\"\r\n\r\n                    if (value === undefined || value == null || value === \"\") {\r\n                        value = \"\"\r\n                        hasValue = false\r\n                    }\r\n\r\n\r\n                } else if (field.var === VarType.type.DATE) {\r\n                    type = \"date\"\r\n\r\n                    if (value === undefined || value == null) {\r\n                        value = \"\"\r\n                        hasValue = false\r\n                    }\r\n\r\n                }\r\n\r\n\r\n                if (forSearchList) {\r\n                    /*Padrão de envio para listas*/\r\n                    const item = {\r\n                        fieldId: field.fieldId,\r\n                        hasValue: hasValue,\r\n                        value: value\r\n                    }\r\n\r\n\r\n\r\n                    /*No caso das pesquisas somente envia se houver valor preenchido válido*/\r\n                    requestEntity.fields.push(item)\r\n\r\n                } else {\r\n                    /*Padrão de envio para formulários*/\r\n                    const item = {\r\n                        fieldId: field.fieldId,\r\n                        [type + \"Value\"]: value\r\n                    }\r\n                    requestEntity.fields.push(item)\r\n                }\r\n\r\n            }\r\n\r\n            return requestEntity\r\n\r\n        },\r\n\r\n        addNoOption(modal_id, search) {\r\n            this.openDialogForm(modal_id, search)\r\n        },\r\n\r\n        async executeDeleteByBulk(ids,msg, callBackSuccess,callBackError) {\r\n\r\n            ui.msgConfirmDelete(this, async() => {\r\n\r\n                const data = {\r\n                    ids\r\n                }\r\n\r\n                await http.post(this.getPath()+\"/deleteByBulk\", data)\r\n                    .then(response => {\r\n                        callBackSuccess(response)\r\n                    })\r\n                    .catch(error => {\r\n                        ui.generalResponseError(this,error,callBackError)\r\n                    });\r\n\r\n            }, msg)\r\n\r\n        },\r\n\r\n        async getUserAuth(setIsLoadingPage, setCurrentPage, type) {\r\n\r\n            if (!this.generalResource) {\r\n\r\n                await crudGeneral.getAssemble(this.getPath(), type, this.assembleParams)\r\n                    .then(response => {\r\n\r\n                        this.userAuth = response.data;\r\n                        this.currentPage = this.userAuth.currentPage\r\n\r\n                        if (setIsLoadingPage)\r\n                            this.setIsLoadingPage(false)\r\n\r\n                        if (setCurrentPage)\r\n                            this.$store.commit(\"setCurrentPage\", this.currentPage)\r\n\r\n\r\n                    })\r\n                    .catch(error => {\r\n                        console.log('Erro externo: ' + error)\r\n                    });\r\n\r\n            } else {\r\n\r\n                if (setCurrentPage) {\r\n                    /*Seta uma página em branco mesmo*/\r\n                    this.$store.commit(\"setCurrentPage\", CurrentPageEntity)\r\n                }\r\n\r\n                this.setIsLoadingPage(false)\r\n\r\n            }\r\n\r\n        },\r\n\r\n        async sendQueueWordReport(path, primaryKey, title) {\r\n\r\n            await http.post(path + \"/addWordReportQueue/\" + primaryKey).then(async () => {\r\n                ui.msg(this, 'Informação', '<b>'+title+'</b> enviado para fila de processamento do Word VBA, abre o arquivo do Word para processamento deste item.')\r\n            }).catch(error => {\r\n                this.responseError(error)\r\n            })\r\n\r\n        },\r\n\r\n        injectGeneralFields() {\r\n\r\n            /*Injeta o tipo geral de campos*/\r\n            this.fieldsCustomizable.push(\r\n                {\r\n                    entity: \"page\",\r\n                    foreignKeyColumn: \"pageId\",\r\n                    path: \"\",\r\n                    fields: [],\r\n                })\r\n\r\n        },\r\n\r\n\r\n        async mountedDefault(setIsLoadingPage = true, setCurrentPage = true, type = '') {\r\n\r\n            if (this.enableGeneralFields) {\r\n                this.injectGeneralFields()\r\n            }\r\n\r\n            if (setIsLoadingPage)\r\n                this.setIsLoadingPage(true)\r\n\r\n            await this.getUserAuth(setIsLoadingPage, setCurrentPage, type)\r\n        }\r\n\r\n    },\r\n    computed: {\r\n\r\n\r\n        getTitle() {\r\n\r\n            if (this.pageTitle !== '') {\r\n                return this.pageTitle\r\n            } else {\r\n                return this.$store.getters.getCurrentPage.pageTitle\r\n            }\r\n\r\n        },\r\n\r\n        menuClicked() {\r\n            return this.$store.getters.getMenuClicked\r\n        },\r\n        getIsLoadingPage() {\r\n            //!! força boleano\r\n            return !!this.$store.getters.getIsLoadingPage\r\n        },\r\n        getCurrentPage() {\r\n            return this.currentPage\r\n        },\r\n\r\n    },\r\n    async mounted() {\r\n\r\n\r\n    },\r\n\r\n}\r\n\r\n\r\n","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./t-report-generate.vue?vue&type=style&index=0&lang=css&\"","var render = function () {\nvar _obj;\nvar _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-col',{staticClass:\"col-sm-12\",class:( _obj = {}, _obj['col-md-'+_vm.checkColumns()] = !_vm.onlySearch || _vm.bigSearch, _obj['col-md-6'] = (_vm.onlySearch && !_vm.bigSearch) || _vm.checkColumns() === 6, _obj )},[_c('div',[(_vm.field.type===_vm.InputType.type.INPUT && _vm.field.var === _vm.VarType.type.BOOLEAN)?_c('b-form-checkbox',{staticClass:\"mb-1\",attrs:{\"switch\":\"\"},model:{value:(_vm.innerValue),callback:function ($$v) {_vm.innerValue=$$v},expression:\"innerValue\"}},[_vm._v(\" \"+_vm._s(_vm.field.name)+\" \"),_c('t-help',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.field.help.length > 0),expression:\"field.help.length > 0\"}],attrs:{\"title\":_vm.field.help}})],1):(_vm.field.type===_vm.InputType.type.INPUT && (_vm.field.var === _vm.VarType.type.INTEGER || _vm.field.var === _vm.VarType.type.DOUBLE))?_c('t-input',{class:{'text-danger':_vm.nonConformance!==null && _vm.nonConformance!==undefined && _vm.nonConformance.alertError !== undefined},attrs:{\"number\":\"\",\"not-autocomplete\":\"\",\"form-command\":_vm.command,\"form-status\":_vm.status,\"help\":_vm.field.help,\"small\":_vm.field.note,\"label\":_vm.field.name,\"decimals\":_vm.field.decimalPrecision,\"accept-zero\":_vm.field.acceptZero,\"class-input\":_vm.nonConformance!==null && _vm.nonConformance!==undefined && _vm.nonConformance.alertError !== undefined ? 'text-danger': '',\"add-error\":_vm.nonConformance!==null && _vm.nonConformance!==undefined && _vm.nonConformance.alertError !== undefined ? _vm.nonConformance.alertError : '',\"fixed\":_vm.checkIsFixed(),\"required\":_vm.checkIsRequired()},nativeOn:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.onPressEnter.apply(null, arguments)}},model:{value:(_vm.innerValue),callback:function ($$v) {_vm.innerValue=$$v},expression:\"innerValue\"}}):(_vm.field.type===_vm.InputType.type.INPUT && (_vm.field.var === _vm.VarType.type.STRING || _vm.field.var === _vm.VarType.type.DATE))?_c('t-input',{class:{'text-danger':_vm.nonConformance!==null && _vm.nonConformance!==undefined && _vm.nonConformance.alertError !== undefined},attrs:{\"not-autocomplete\":\"\",\"form-command\":_vm.command,\"form-status\":_vm.status,\"small\":_vm.field.note,\"help\":_vm.field.help,\"label\":_vm.field.name,\"date\":_vm.field.var === _vm.VarType.type.DATE,\"time\":_vm.field.mask === 'time',\"cep\":_vm.field.mask === 'zipcode',\"cnpj\":_vm.field.mask === 'br_cnpj',\"cpf\":_vm.field.mask === 'br_cpf',\"email\":_vm.field.mask === 'email',\"email-multiple\":_vm.field.mask === 'email_multiple',\"color-reduced\":_vm.field.mask === 'color',\"upper\":_vm.field.mask === 'upper',\"lower-reduced\":_vm.field.mask === 'lower',\"class-input\":_vm.nonConformance!==null && _vm.nonConformance!==undefined && _vm.nonConformance.alertError !== undefined ? 'text-danger': '',\"add-error\":_vm.nonConformance!==null && _vm.nonConformance!==undefined && _vm.nonConformance.alertError !== undefined ? _vm.nonConformance.alertError : '',\"fixed\":_vm.checkIsFixed(),\"required\":_vm.checkIsRequired()},model:{value:(_vm.innerValue),callback:function ($$v) {_vm.innerValue=$$v},expression:\"innerValue\"}}):(_vm.field.type===_vm.InputType.type.SELECT || _vm.field.type===_vm.InputType.type.SELECT_COLOR || _vm.field.type===_vm.InputType.type.RADIO)?_c('t-input',{class:{'text-danger':_vm.nonConformance!==null && _vm.nonConformance!==undefined && _vm.nonConformance.alertError !== undefined},attrs:{\"form-command\":_vm.command,\"form-status\":_vm.status,\"small\":_vm.field.note,\"help\":_vm.field.help,\"label\":_vm.field.name,\"options\":_vm.field.options,\"select\":_vm.field.type === _vm.InputType.type.SELECT || _vm.field.type === _vm.InputType.type.SELECT_COLOR,\"radio\":_vm.field.type === _vm.InputType.type.RADIO,\"select-colors\":_vm.field.type === _vm.InputType.type.SELECT_COLOR,\"class-input\":_vm.nonConformance!==null && _vm.nonConformance!==undefined && _vm.nonConformance.alertError !== undefined ? 'text-danger': '',\"add-error\":_vm.nonConformance!==null && _vm.nonConformance!==undefined && _vm.nonConformance.alertError !== undefined ? _vm.nonConformance.alertError : '',\"fixed\":_vm.checkIsFixed(),\"required\":_vm.checkIsRequired()},model:{value:(_vm.innerValue),callback:function ($$v) {_vm.innerValue=$$v},expression:\"innerValue\"}}):(_vm.field.type===_vm.InputType.type.TEXTAREA)?_c('t-input',{class:{'text-danger':_vm.nonConformance!==null && _vm.nonConformance!==undefined && _vm.nonConformance.alertError !== undefined},attrs:{\"textarea\":\"\",\"max-length\":\"1000\",\"form-command\":_vm.command,\"form-status\":_vm.status,\"small\":_vm.field.note,\"help\":_vm.field.help,\"label\":_vm.field.name,\"class-input\":_vm.nonConformance!==null && _vm.nonConformance!==undefined && _vm.nonConformance.alertError !== undefined ? 'text-danger': '',\"add-error\":_vm.nonConformance!==null && _vm.nonConformance!==undefined && _vm.nonConformance.alertError !== undefined ? _vm.nonConformance.alertError : '',\"fixed\":_vm.checkIsFixed(),\"required\":_vm.checkIsRequired()},model:{value:(_vm.innerValue),callback:function ($$v) {_vm.innerValue=$$v},expression:\"innerValue\"}}):(_vm.field.type===_vm.InputType.type.LABEL)?_c('div',[_c('b-card-title',{staticClass:\"border-bottom mt-2 mb-2 pb-2 pt-2\"},[_vm._v(_vm._s(_vm.field.name)+\" \"),(_vm.field.help !== undefined && _vm.field.help !== null && _vm.field.help !== '')?_c('t-help',{attrs:{\"title\":_vm.field.help}}):_vm._e()],1)],1):_vm._e()],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\n  <b-col class=\"col-sm-12\"\n         :class=\"{['col-md-'+checkColumns()]:!onlySearch || bigSearch,'col-md-6':(onlySearch && !bigSearch) || checkColumns() === 6}\">\n\n    <div>\n\n      <b-form-checkbox class=\"mb-1\" v-model=\"innerValue\"\n                       v-if=\"field.type===InputType.type.INPUT && field.var === VarType.type.BOOLEAN\" switch>\n        {{ field.name }}\n        <t-help\n            v-show=\"field.help.length > 0\"\n            :title=\"field.help\"/>\n      </b-form-checkbox>\n\n      <!--Input númerico-->\n      <t-input\n          v-else-if=\"field.type===InputType.type.INPUT && (field.var === VarType.type.INTEGER || field.var === VarType.type.DOUBLE)\"\n          v-model=\"innerValue\"\n          number\n          not-autocomplete\n          :form-command=\"command\"\n          :form-status=\"status\"\n          :help=\"field.help\"\n          :small=\"field.note\"\n          :label=\"field.name\"\n          :decimals=\"field.decimalPrecision\"\n          :accept-zero=\"field.acceptZero\"\n          :class=\"{'text-danger':nonConformance!==null && nonConformance!==undefined && nonConformance.alertError !== undefined}\"\n          :class-input=\"nonConformance!==null && nonConformance!==undefined && nonConformance.alertError !== undefined ? 'text-danger': ''\"\n          :add-error=\"nonConformance!==null && nonConformance!==undefined && nonConformance.alertError !== undefined ? nonConformance.alertError : ''\"\n          :fixed=\"checkIsFixed()\"\n          :required=\"checkIsRequired()\"\n          @keyup.enter.native=\"onPressEnter\"\n      />\n      <!--SOMENTE TEXTO NUMERICO POR ENQUANTO PODERÁ ENVIAR O ENTER, POIS OUTROS CAMPOS PODEM GERAR CONFLITO COMO O CAMPO DATA-->\n\n      <!--Input texto com máscaras-->\n      <!--todo deixar todos os tipos de mascaras dinamicos-->\n      <t-input\n          v-else-if=\"field.type===InputType.type.INPUT && (field.var === VarType.type.STRING || field.var === VarType.type.DATE)\"\n          v-model=\"innerValue\"\n          not-autocomplete\n          :form-command=\"command\"\n          :form-status=\"status\"\n          :small=\"field.note\"\n          :help=\"field.help\"\n          :label=\"field.name\"\n          :date=\"field.var === VarType.type.DATE\"\n          :time=\"field.mask === 'time'\"\n          :cep=\"field.mask === 'zipcode'\"\n          :cnpj=\"field.mask === 'br_cnpj'\"\n          :cpf=\"field.mask === 'br_cpf'\"\n          :email=\"field.mask === 'email'\"\n          :email-multiple=\"field.mask === 'email_multiple'\"\n          :color-reduced=\"field.mask === 'color'\"\n          :upper=\"field.mask === 'upper'\"\n          :lower-reduced=\"field.mask === 'lower'\"\n          :class=\"{'text-danger':nonConformance!==null && nonConformance!==undefined && nonConformance.alertError !== undefined}\"\n          :class-input=\"nonConformance!==null && nonConformance!==undefined && nonConformance.alertError !== undefined ? 'text-danger': ''\"\n          :add-error=\"nonConformance!==null && nonConformance!==undefined && nonConformance.alertError !== undefined ? nonConformance.alertError : ''\"\n          :fixed=\"checkIsFixed()\"\n          :required=\"checkIsRequired()\"\n      />\n\n      <!-- radio ou select-->\n      <t-input\n          v-else-if=\"field.type===InputType.type.SELECT || field.type===InputType.type.SELECT_COLOR || field.type===InputType.type.RADIO\"\n          v-model=\"innerValue\"\n          :form-command=\"command\"\n          :form-status=\"status\"\n          :small=\"field.note\"\n          :help=\"field.help\"\n          :label=\"field.name\"\n          :options=\"field.options\"\n          :select=\"field.type === InputType.type.SELECT || field.type === InputType.type.SELECT_COLOR\"\n          :radio=\"field.type === InputType.type.RADIO\"\n          :select-colors=\"field.type === InputType.type.SELECT_COLOR\"\n          :class=\"{'text-danger':nonConformance!==null && nonConformance!==undefined && nonConformance.alertError !== undefined}\"\n          :class-input=\"nonConformance!==null && nonConformance!==undefined && nonConformance.alertError !== undefined ? 'text-danger': ''\"\n          :add-error=\"nonConformance!==null && nonConformance!==undefined && nonConformance.alertError !== undefined ? nonConformance.alertError : ''\"\n          :fixed=\"checkIsFixed()\"\n          :required=\"checkIsRequired()\"\n      />\n\n      <t-input\n          v-else-if=\"field.type===InputType.type.TEXTAREA\"\n          v-model=\"innerValue\"\n          textarea\n          max-length=\"1000\"\n          :form-command=\"command\"\n          :form-status=\"status\"\n          :small=\"field.note\"\n          :help=\"field.help\"\n          :label=\"field.name\"\n          :class=\"{'text-danger':nonConformance!==null && nonConformance!==undefined && nonConformance.alertError !== undefined}\"\n          :class-input=\"nonConformance!==null && nonConformance!==undefined && nonConformance.alertError !== undefined ? 'text-danger': ''\"\n          :add-error=\"nonConformance!==null && nonConformance!==undefined && nonConformance.alertError !== undefined ? nonConformance.alertError : ''\"\n          :fixed=\"checkIsFixed()\"\n          :required=\"checkIsRequired()\"\n      />\n\n      <div v-else-if=\"field.type===InputType.type.LABEL\">\n        <b-card-title class=\"border-bottom mt-2 mb-2 pb-2 pt-2\">{{ field.name }}\n          <t-help v-if=\"field.help !== undefined && field.help !== null && field.help !== ''\" :title=\"field.help\"/>\n        </b-card-title>\n\n      </div>\n\n\n    </div>\n\n  </b-col>\n\n</template>\n<script>\nimport VarType from \"@/model/types/resource/VarType\";\nimport InputType from \"@/model/types/resource/InputType\";\n\nexport default {\n  name: 't-field-customized',\n  props: {\n    value: {\n      type: null,\n      default: null\n    },\n    field: {\n      type: Object\n    },\n    command: String,\n    status: String,\n    onlySearch: {\n      type: Boolean,\n      default: false,\n    },\n    bigSearch: Boolean,\n    nonConformance: Object,\n  },\n  data() {\n    return {\n      VarType,\n      InputType,\n      innerValue: \"\", //Não poderá ser nulo, pois caso contrário não trará as informações de alteração\n    }\n  },\n  mounted() {\n\n    if (this.field.type === InputType.type.TEXTAREA && this.value === null) {\n      this.innerValue = ''\n    } else {\n      this.innerValue = this.value\n    }\n\n\n  },\n  methods: {\n\n    onPressEnter() {\n\n      //Envia informando que o enter foi pressinado\n      this.$emit(\"onPressEnter\")\n\n    },\n\n    checkColumns() {\n\n      if (this.onlySearch && !this.bigSearch) {\n\n        if (this.field.columns < 6) {\n          //Menor que metade do layout, será sempre 6\n          return 12\n        } else {\n          return this.field.columns\n        }\n      } else {\n        return this.field.columns\n      }\n    },\n\n    checkIsFixed() {\n      return this.field.fixed && !this.onlySearch\n    },\n\n    checkIsRequired() {\n      return this.field.required && !this.onlySearch\n    }\n\n  },\n  watch: {\n    value(v) {\n      this.innerValue = v\n    },\n    innerValue(v) {\n\n      this.field.value = v\n      this.$emit(\"input\", v)\n    }\n  }\n}\n</script>\n<style>\n\n</style>\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./t-field-customized.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./t-field-customized.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./t-field-customized.vue?vue&type=template&id=40567ae9&\"\nimport script from \"./t-field-customized.vue?vue&type=script&lang=js&\"\nexport * from \"./t-field-customized.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports"],"sourceRoot":""}