{"version":3,"sources":["webpack:///./src/configs/constants.ts","webpack:///./src/views/Login.vue?5c50","webpack:///./src/assets/images/bg.jpg","webpack:///./src/views/navbar/NavBar.vue?aabc","webpack:///./src/utils/DescriptionsContainer.ts","webpack:///./src/mixins/DescriptionsContainerMixin.ts","webpack:///./src/api/journals/plan/index.ts","webpack:///./src/assets/images/logo.png","webpack:///./src/mixins/dialog/DialogMixin.ts","webpack:///./src/views/Login.vue?ba1c","webpack:///./src/views/Login.vue?3df2","webpack:///./src/views/Login.vue?0e2d","webpack:///./src/views/Login.vue?0195","webpack:///./src/views/navbar/NavBar.vue?6cb3","webpack:///./src/views/navbar/ChangePasswordDialog.vue","webpack:///./src/views/navbar/ChangePasswordDialog.vue?0ea8","webpack:///./src/views/navbar/ChangePasswordDialog.vue?4edd","webpack:///./src/views/navbar/ChangePasswordDialog.vue?b896","webpack:///./src/views/navbar/UserMenu.vue","webpack:///./src/views/navbar/UserMenu.vue?29f1","webpack:///./src/views/navbar/UserMenu.vue?9732","webpack:///./src/views/navbar/UserMenu.vue?94ac","webpack:///./src/views/navbar/NavBar.vue?d9b1","webpack:///./src/views/navbar/NavBar.vue?4f73","webpack:///./src/views/navbar/NavBar.vue?0e48","webpack:///./src/App.vue","webpack:///./src/App.vue?633e","webpack:///./src/App.vue?0fef","webpack:///./src/App.vue?866f","webpack:///./src/views/NotFound.vue","webpack:///./src/views/NotFound.vue?ecb5","webpack:///./src/views/NotFound.vue?fa4b","webpack:///./src/views/NotFound.vue?5073","webpack:///./src/configs/ApiConfig.ts","webpack:///./src/router/routes/journals.ts","webpack:///./src/router/routes/catalogues.ts","webpack:///./src/router/routes/administration.ts","webpack:///./src/router/index.ts","webpack:///./src/plugins/i18n.ts","webpack:///./src/plugins/vuetify.ts","webpack:///./src/plugins/toasted.ts","webpack:///./src/plugins/tippy.ts","webpack:///./src/store/modules/loginModule.ts","webpack:///./src/store/modules/planEditModule.ts","webpack:///./src/store/modules/planEditResultModule.ts","webpack:///./src/api/index.ts","webpack:///./src/store/modules/planModule.ts","webpack:///./src/api/journals/plan/edit/index.ts","webpack:///./src/api/journals/plan/edit/result/index.ts","webpack:///./src/store/modules/PlanEditResultEditModule.ts","webpack:///./src/store/index.ts","webpack:///./src/main.ts","webpack:///./src/utils/index.ts","webpack:///./src/enums/EquipmentCategoryEnum.ts"],"names":["PAGINATION_ROW_COUNT_SIZES","module","exports","http","this","container","url","config","detected","find","item","request","response","_get","getSortFn","descriptions","map","Map","entries","index","set","Id","desMap","get","then","data","_getDescriptionsMap","a","b","push","descriptionsContainer","$http","str","postfix","fetchPlan","pageIndex","rowCount","params","fetchCreate","fetchSaveCreate","post","Item","fetchDownload","idPlan","responseType","fetchDelete","id","fetchDeleteAll","DialogMixin","dialog","loading","cancelRequest","options","init","timerId","setTimeout","clearTimeout","cancel","clear","value","$nextTick","onClickOutside","active","Array","from","document","querySelectorAll","el","classList","contains","focus","initialData","userName","password","rememberMe","name","organization","email","phone","commentary","callback","tab","loginForm","Object","assign","demoForm","wrongLoginOrPassword","setWrongLoginOrPassword","$refs","login","validate","console","log","demo","requestDemo","$toasted","success","icon","duration","$t","deep","computed","methods","component","_vm","_h","$createElement","_c","_self","attrs","staticClass","on","$event","changeLanguage","i18n","$i18n","culture","_v","model","$$v","expression","_l","key","_s","staticStyle","ref","preventDefault","stopPropagation","onLogin","v","$set","onRequestDemo","test","_e","VBtn","VCard","VCardSubtitle","VCardText","VCheckbox","VCol","VContainer","VForm","VImg","VRow","VSpacer","VTab","VTabItem","VTabs","VTabsItems","VTextField","VTextarea","changing","invalidOldPassword","showValidation","passwordNotMatchMsg","form","passwordsNotMatch","oldPassword","newPassword","close","resetValidation","repeatPassword","inheritAttrs","_b","type","indexOf","_k","keyCode","$attrs","invalidOldPasswordMessage","onChange","VCardActions","VCardTitle","VDialog","VDivider","userMenu","changePasswordDialog","open","lang","locale","components","ChangePasswordDialog","scopedSlots","_u","fn","_g","onChangeLanguage","onChangePassword","VIcon","VList","VListItem","VListItemIcon","VListItemTitle","VMenu","equipmentPiece","path","$api","catalogues","equipmentType","equipmentSettings","warehouseVeneerEquipmentTypeLink","warehousePlywoodEquipmentTypeLink","plywoodProductionDistribution","show","items","childrens","woodSpecie","veneerOuterGrade","veneerSize","veneerThickness","veneerSpecie","veneerWetness","veneerMaxUsedShiftCountOfStorage","veneerPatchingGrade","veneer","plywoodSize","plywoodThickness","plywoodGrade","plywoodSpecie","plywoodSurface","plywoodWaterResistance","complectationRule","warehousePlywood","warehouseVeneer","shiftTml","daySchedule","orderCustomProperty","journals","plan","order","schedule","scheduleEquipmentActivity","plywoodPriceList","warehousePlywoodState","warehousePlywoodAudit","warehouseVeneerState","warehouseVeneerAudit","equipment","defaultItems","settings","administration","user","role","userRoleLink","rolePolicyLink","adminItems","company","needDivider","companies","noNeedTranslation","Description","click","changeCompany","class","idCurrentCompany","adminUser","logging","isAdmin","equipmentTypes","length","route","equipmentTab","query","idEquipmentType","$route","props","exact","immediate","UserMenu","menu","i","j","child","unique_name","logout","VAppBar","VToolbar","VToolbarItems","VToolbarTitle","VTooltip","errorSnackbar","errorSnackbarMsg","DescriptionsContainerMixin","Login","NavBar","VApp","VMain","VProgressCircular","VSnackbar","api","localization","timeZone","modularity","measureUnit","common","boolean","solve","planShift","planEquipment","planWarehousePlywood","planWarehouseVeneer","planWarehouseIncomeVeneer","planOrder","planResSummaryOrderBalance","planResSummaryPlywoodBalance","planResSummaryWarehouseVeneer","planResSummaryIndicator","planResByShiftWarehouseVeneer","planResByShiftOrderBalance","planResByShiftPlywoodBalance","planResByShiftRecommendation","planResByShiftEquipmentVeneerProcessGroupItemDist","planResByShiftEquipmentVeneerProcessGroupItem","planResByShiftPlywoodEquipmentGroupPlywood","planResByShiftPlywoodEquipmentGroupPlywoodCmpl","planResByShiftPlywoodEquipmentGroupPlywoodCmplTrans","planres","optimizationType","planDaySchedule","settingsEquipment","tenonGroove","veneerCategory","veneerKind","veneerType","orderPriority","calculationType","planOrderType","planPriorityOrderType","plywoodSurfaceType","plywoodProcessingEquipmentType","veneerProcessingEquipmentType","veneerProductionEquipmentType","plywoodProductionEquipmentType","plywoodProductionSupportEquipmentType","plywoodGroupBy","veneerGroupBy","veneerEquipmentProcess","veneerEquipmentProcessLink","veneerEquipmentGroup","veneerEquipmentGroupLink","veneerEquipmentProcessGroupLink","plywoodProcessingProcess","equipmentPlywoodProcessingProcessLink","plywoodProcessingProcessGroup","equipmentPlywoodProcessingProcessGroupLink","plywoodProcessingProcessGroupLink","plywoodProductionSupportEquipment","plywoodProductionEquipment","plywoodProductionProcess","veneerProductionEquipment","veneerProcessingEquipment","plywoodProcessingEquipment","roleEnum","children","alias","Equipment","slice","equipmentCategory","VeneerProductionEquipment","VeneerProcessingEquipment","use","routes","mode","base","fallbackLocale","silentTranslationWarn","theme","customProperties","themes","light","plywood","dark","position","keepOnHover","iconPack","placement","animation","httpClient","idCompany","namespaced","state","mutations","setLoading","bool","actions","commit","dispatch","Promise","resolve","Token","root","RefreshToken","undefined","status","refreshToken","currentPageIndex","currentRowCount","getters","pagination","Paging","Items","setPlan","setCurrentPageIndex","setCurrentRowCount","count","getData","reject","PageIndex","create","download","delete","page","size","Dependencies","deleteAll","is400ErrorHandled","initialState","planEdit","solveProgressTimer","warehousePlywoodDescriptions","warehouseVeneerDescriptions","hasUnsavedChanges","planCalculationCount","disabledTabs","hasResult","IdLastPlanRes","setPlanEdit","setSolve","setSolveProgressTimer","timer","setWarehouseVeneer","setWarehousePlywood","setHasUnsavedChanges","clearState","increasePlanCalculationCount","setDisabledTabs","getExtendedView","externalData","needCopy","JSON","parse","getCopy","getSolveProgress","needUpdateExtendedView","IsFinalState","State","Message","solveRun","error","solveCancel","payload","all","clearSolveProgressTimer","getWarehouseVeneerDescriptions","getWarehousePlywoodDescriptions","approvePlan","disapprovePlan","idResultConfig","result","currentConfig","isEditing","resultConfigsDescriptions","equipmentTypesFromCatalogue","shifts","Shifts","EquipmentTypes","hasOwnConfig","setResult","setCurrentConfig","setIsEditing","setResultConfigsDescriptions","desc","setEquipmentTypeFromCatalogue","getResult","CurrentConfig","getResultConfig","setResultConfig","idResult","getResultConfigsDescriptions","getEquipmentTypesFromCatalogue","activeTabs","currentTabs","updateActiveTabs","tabs","updateCurrentTabs","store","Store","token","authorized","planResultIsEditing","atob","split","CompanyDescriptions","EquipmentTypeDescriptions","IdCurrentCompany","hideableProperties","HideableProperties","setAuthorized","setStatus","setPlanResultIsEditing","setToken","defaults","headers","Authorization","getLocalization","Culture","setLocaleMessage","Dictionary","getStatus","location","reload","setupHttpInterceptor","modules","planEditResult","planEditResultEdit","refreshRequest","clearRefreshRequestId","interceptors","retry","newRequest","showError","toasted","productionTip","baseURL","defineProperties","prototype","router","vuetify","render","h","$mount","getRefreshToken","localStorage","getItem","setRefreshToken","setItem","removeItem","parseToDescriptions","isArray","Name","generateId","Math","random","toString","substr","EquipmentCategory"],"mappings":"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","file":"js/app.79bc566f.js","sourcesContent":["export const PAGINATION_ROW_COUNT_SIZES: ReadonlyArray = [20, 50, 100];\r\n","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/vuetify-loader/lib/loader.js??ref--22-0!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Login.vue?vue&type=style&index=0&lang=scss&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/vuetify-loader/lib/loader.js??ref--22-0!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Login.vue?vue&type=style&index=0&lang=scss&\"","module.exports = __webpack_public_path__ + \"img/bg.70a8bdad.jpg\";","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/vuetify-loader/lib/loader.js??ref--22-0!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NavBar.vue?vue&type=style&index=0&lang=scss&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/vuetify-loader/lib/loader.js??ref--22-0!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NavBar.vue?vue&type=style&index=0&lang=scss&\"","import {AxiosInstance, AxiosResponse, AxiosRequestConfig} from 'axios';\r\nimport {isEqual} from 'lodash';\r\n\r\ntype ContainerItem = {\r\n request: {\r\n url: string;\r\n config?: AxiosRequestConfig;\r\n };\r\n response: Promise>;\r\n getSortFn: () => {};\r\n};\r\n\r\ntype Description = {\r\n Id: number;\r\n Description: string;\r\n};\r\n\r\nexport default class DescriptionsContainer {\r\n container: ContainerItem[];\r\n http: AxiosInstance;\r\n\r\n constructor(http: AxiosInstance) {\r\n this.container = [];\r\n this.http = http;\r\n }\r\n\r\n get(url: string, config?: AxiosRequestConfig) {\r\n const detected = this.container.find(item => item.request.url === url && isEqual(item.request.config, config));\r\n if (detected) return detected.response;\r\n else {\r\n return this._get(url, config).response;\r\n }\r\n }\r\n\r\n getSortFn(url: string, config?: AxiosRequestConfig) {\r\n const detected = this.container.find(item => item.request.url === url && isEqual(item.request.config, config));\r\n if (detected) return detected.getSortFn();\r\n else {\r\n return this._get(url, config).getSortFn();\r\n }\r\n }\r\n\r\n _getDescriptionsMap(descriptions: Array<{Id: number; Description: string}>) {\r\n let map = new Map();\r\n for (const [index, item] of descriptions.entries()) {\r\n map.set(item.Id, index);\r\n }\r\n return map;\r\n }\r\n\r\n _get(url: string, config?: AxiosRequestConfig) {\r\n const response = this.http.get(url, config);\r\n\r\n let desMap: any;\r\n response.then(({data}) => {\r\n desMap = this._getDescriptionsMap(data);\r\n });\r\n let item = {\r\n request: {\r\n url,\r\n config,\r\n },\r\n response,\r\n getSortFn: () => (a: number, b: number) => {\r\n return desMap.get(a) - desMap.get(b);\r\n },\r\n };\r\n this.container.push(item);\r\n return item;\r\n }\r\n}\r\n","import {Component, Provide, Vue} from 'vue-property-decorator';\r\nimport DescriptionsContainer from '@/utils/DescriptionsContainer';\r\n\r\n@Component\r\nexport default class DescriptionsContainerMixin extends Vue {\r\n protected descriptionsContainer: DescriptionsContainer | null = null;\r\n\r\n @Provide()\r\n getDescriptionsContainer() {\r\n if (this.descriptionsContainer) return this.descriptionsContainer;\r\n else {\r\n this.descriptionsContainer = new DescriptionsContainer(this.$http);\r\n return this.descriptionsContainer;\r\n }\r\n }\r\n\r\n addDescriptionPostfix(str: string, postfix: string = 'GetDescriptions') {\r\n return `${str}/${postfix}`;\r\n }\r\n}\r\n","import {httpClient} from '@/main';\r\nimport PlanModel, {DialogData} from '@/models/PlanModel';\r\n\r\nexport const fetchPlan = (pageIndex: number, rowCount: number) =>\r\n httpClient.get('plan/getAll', {\r\n params: {\r\n pageIndex,\r\n rowCount,\r\n },\r\n });\r\nexport const fetchCreate = () => httpClient.get('plan/getCreate');\r\nexport const fetchSaveCreate = (data: DialogData) => httpClient.post<{[key: string]: any}>('plan/create', data.Item);\r\nexport const fetchDownload = (idPlan: number) =>\r\n httpClient.get(`solve/download`, {\r\n params: {\r\n idPlan,\r\n },\r\n responseType: 'blob',\r\n });\r\nexport const fetchDelete = (id: number, pageIndex: number, rowCount: number) =>\r\n httpClient.post('plan/delete', null, {\r\n params: {\r\n id,\r\n pageIndex,\r\n rowCount,\r\n },\r\n });\r\n\r\nexport const fetchDeleteAll = () => httpClient.post('plan/deleteAll');\r\n","module.exports = __webpack_public_path__ + \"img/logo.5c8b7ba5.png\";","import {Component, Prop, Vue, Watch} from 'vue-property-decorator';\r\nimport {AxiosPromise, CancelTokenSource} from 'axios';\r\n\r\n@Component\r\nexport default class DialogMixin extends Vue {\r\n protected dialog: boolean = false;\r\n protected loading: boolean = false;\r\n protected cancelRequest: CancelTokenSource | null = null;\r\n protected options: any = null;\r\n protected data: any = null;\r\n\r\n open(data: any, options: any) {\r\n this.options = options;\r\n this.init(data);\r\n this.dialog = true;\r\n }\r\n\r\n async openAsync(request: AxiosPromise, cancelRequest: CancelTokenSource, options: any) {\r\n this.dialog = true;\r\n this.cancelRequest = cancelRequest;\r\n this.options = options;\r\n const timerId = setTimeout(() => {\r\n this.loading = true;\r\n }, 100);\r\n try {\r\n const {data} = await request;\r\n this.init(data);\r\n } finally {\r\n clearTimeout(timerId);\r\n this.loading = false;\r\n }\r\n }\r\n\r\n close() {\r\n this.dialog = false;\r\n if (this.loading && this.cancelRequest) {\r\n this.cancelRequest.cancel();\r\n this.cancelRequest = null;\r\n }\r\n this.options = null;\r\n setTimeout(() => {\r\n this.loading = false;\r\n this.clear();\r\n }, 175);\r\n }\r\n\r\n init(data: any) {\r\n this.data = data;\r\n }\r\n clear() {\r\n this.data = null;\r\n }\r\n\r\n @Watch('dialog')\r\n onValueChange(value: boolean) {\r\n if (value)\r\n this.$nextTick().then(() => {\r\n this.onClickOutside();\r\n });\r\n }\r\n\r\n onClickOutside() {\r\n const focusable = Array.from(document.querySelectorAll('.v-dialog__content'));\r\n const active = focusable.find(el => el.classList.contains('v-dialog__content--active'));\r\n active && (active as HTMLElement).focus();\r\n }\r\n}\r\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport {Component, Vue, Watch} from 'vue-property-decorator';\r\nimport {mapActions, mapMutations, mapState} from 'vuex';\r\n\r\nconst initialData = {\r\n loginForm: {\r\n userName: null,\r\n password: null,\r\n rememberMe: false,\r\n },\r\n demoForm: {\r\n name: null,\r\n organization: null,\r\n email: null,\r\n phone: null,\r\n commentary: null,\r\n callback: false,\r\n },\r\n};\r\n\r\n@Component({\r\n computed: {\r\n ...mapState('login', ['loading', 'wrongLoginOrPassword']),\r\n },\r\n methods: {\r\n ...mapActions(['changeLanguage']),\r\n ...mapActions('login', ['login', 'logout', 'requestDemo']),\r\n ...mapMutations('login', ['setWrongLoginOrPassword']),\r\n },\r\n})\r\nexport default class Login extends Vue {\r\n private tab = 0;\r\n private loginForm = Object.assign({}, initialData.loginForm);\r\n private demoForm = Object.assign({}, initialData.demoForm);\r\n\r\n public loading!: boolean;\r\n public wrongLoginOrPassword!: boolean;\r\n public login!: Function;\r\n public logout!: Function;\r\n public changeLanguage!: Function;\r\n public setWrongLoginOrPassword!: Function;\r\n public requestDemo!: Function;\r\n\r\n get items() {\r\n return [\r\n this.$t('Main.Authorization'),\r\n this.$t('Systems.Account.DemoVersion'),\r\n this.$t('Systems.Account.Contacts'),\r\n ];\r\n }\r\n\r\n @Watch('loginForm', {deep: true})\r\n onLoginFormChange() {\r\n if (this.wrongLoginOrPassword) this.setWrongLoginOrPassword(false);\r\n }\r\n\r\n async onLogin() {\r\n if (!this.loginForm.userName || !this.loginForm.password) return;\r\n const valid = (this.$refs.login as any).validate();\r\n if (valid) {\r\n try {\r\n await this.login(this.loginForm);\r\n } catch (e) {\r\n console.log(e);\r\n }\r\n }\r\n }\r\n\r\n async onRequestDemo() {\r\n if (!this.demoForm.name || !this.demoForm.email) return;\r\n const valid = (this.$refs.demo as any).validate();\r\n if (valid) {\r\n try {\r\n await this.requestDemo(this.demoForm);\r\n this.demoForm = Object.assign({}, initialData.demoForm);\r\n this.tab = 0;\r\n this.$toasted.success('Demo request was sent successful', {\r\n icon: 'mdi-message-alert',\r\n duration: 4000,\r\n });\r\n } catch (e) {\r\n console.log(e);\r\n }\r\n }\r\n }\r\n}\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/vuetify-loader/lib/loader.js??ref--22-0!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Login.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/vuetify-loader/lib/loader.js??ref--22-0!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Login.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Login.vue?vue&type=template&id=7698beba&\"\nimport script from \"./Login.vue?vue&type=script&lang=ts&\"\nexport * from \"./Login.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./Login.vue?vue&type=style&index=0&lang=scss&\"\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\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardSubtitle } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCheckbox } from 'vuetify/lib/components/VCheckbox';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VForm } from 'vuetify/lib/components/VForm';\nimport { VImg } from 'vuetify/lib/components/VImg';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VTab } from 'vuetify/lib/components/VTabs';\nimport { VTabItem } from 'vuetify/lib/components/VTabs';\nimport { VTabs } from 'vuetify/lib/components/VTabs';\nimport { VTabsItems } from 'vuetify/lib/components/VTabs';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\nimport { VTextarea } from 'vuetify/lib/components/VTextarea';\ninstallComponents(component, {VBtn,VCard,VCardSubtitle,VCardText,VCheckbox,VCol,VContainer,VForm,VImg,VRow,VSpacer,VTab,VTabItem,VTabs,VTabsItems,VTextField,VTextarea})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"login\"}},[_c('v-img',{staticClass:\"login-bg\",attrs:{\"src\":require('@/assets/images/bg.jpg'),\"min-height\":\"100%\",\"min-width\":\"100%\",\"alt\":\"login background\"}}),_c('v-card',{staticClass:\"login-card mt-3\",attrs:{\"min-width\":\"540px\",\"dark\":\"\",\"disabled\":_vm.loading}},[_c('v-card-text',[_c('v-container',[_c('v-row',[_c('v-col',{staticClass:\"language-container text-right\"},[_c('v-btn',{staticClass:\"lang\",attrs:{\"text\":\"\",\"x-small\":\"\"},on:{\"click\":function($event){return _vm.changeLanguage({i18n: _vm.$i18n, culture: 'ru-RU'})}}},[_vm._v(\"RUS\")]),_c('span',[_vm._v(\" / \")]),_c('v-btn',{staticClass:\"lang\",attrs:{\"text\":\"\",\"x-small\":\"\"},on:{\"click\":function($event){return _vm.changeLanguage({i18n: _vm.$i18n, culture: 'en-US'})}}},[_vm._v(\"ENG\")])],1)],1),_c('v-row',[_c('v-col',{staticClass:\"d-flex justify-center\"},[_c('v-img',{attrs:{\"src\":require('@/assets/images/logo.png'),\"max-width\":\"400px\"}})],1)],1),_c('v-row',[_c('v-col',[_c('v-tabs',{attrs:{\"background-color\":\"transparent\",\"color\":\"plywood\",\"grow\":\"\",\"dark\":\"\"},model:{value:(_vm.tab),callback:function ($$v) {_vm.tab=$$v},expression:\"tab\"}},_vm._l((_vm.items),function(item){return _c('v-tab',{key:item,attrs:{\"disabled\":_vm.loading}},[_vm._v(\" \"+_vm._s(item)+\" \")])}),1),_c('v-tabs-items',{staticStyle:{\"background\":\"transparent\"},model:{value:(_vm.tab),callback:function ($$v) {_vm.tab=$$v},expression:\"tab\"}},[_c('v-tab-item',[_c('v-card',{staticClass:\"tab-card\",attrs:{\"color\":\"transparent\",\"flat\":\"\",\"dark\":\"\"}},[_c('v-card-subtitle',{staticClass:\"text-right\"},[_vm._v(\" \"+_vm._s('* ' + _vm.$t('Systems.Account.IndicatesRequired'))+\" \")]),_c('v-card-text',[_c('v-form',{ref:\"login\",on:{\"submit\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.onLogin($event)}}},[_c('v-text-field',{attrs:{\"placeholder\":_vm.$t('Enumeration.RoleEnumUser') + '*',\"required\":\"\",\"color\":\"plywood\",\"solo\":\"\",\"dense\":\"\",\"light\":\"\",\"error\":_vm.wrongLoginOrPassword,\"rules\":[function (v) { return !!v; }]},model:{value:(_vm.loginForm.userName),callback:function ($$v) {_vm.$set(_vm.loginForm, \"userName\", $$v)},expression:\"loginForm.userName\"}}),_c('v-text-field',{attrs:{\"type\":\"password\",\"placeholder\":_vm.$t('Systems.Account.Password') + '*',\"required\":\"\",\"color\":\"plywood\",\"solo\":\"\",\"dense\":\"\",\"light\":\"\",\"error-messages\":_vm.wrongLoginOrPassword\n ? _vm.$t('Systems.Account.IncorrectCredentials')\n : null},model:{value:(_vm.loginForm.password),callback:function ($$v) {_vm.$set(_vm.loginForm, \"password\", $$v)},expression:\"loginForm.password\"}}),_c('div',{staticClass:\"d-flex align-center\"},[_c('v-checkbox',{attrs:{\"label\":_vm.$t('Systems.Account.RememberMe'),\"color\":\"plywood\",\"dark\":\"\",\"dense\":\"\"},model:{value:(_vm.loginForm.rememberMe),callback:function ($$v) {_vm.$set(_vm.loginForm, \"rememberMe\", $$v)},expression:\"loginForm.rememberMe\"}}),_c('v-spacer'),_c('v-btn',{attrs:{\"type\":\"submit\",\"color\":\"plywood\",\"dark\":\"\",\"loading\":_vm.loading}},[_vm._v(_vm._s(_vm.$t('Systems.Account.LogOn')))])],1)],1)],1)],1)],1),_c('v-tab-item',[_c('v-card',{staticClass:\"tab-card\",attrs:{\"color\":\"transparent\",\"flat\":\"\",\"dark\":\"\"}},[_c('v-card-subtitle',{staticClass:\"text-right\"},[_vm._v(\" \"+_vm._s('* ' + _vm.$t('Systems.Account.IndicatesRequired'))+\" \")]),_c('v-card-text',[_c('v-form',{ref:\"demo\",on:{\"submit\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.onRequestDemo($event)}}},[_c('v-text-field',{attrs:{\"placeholder\":_vm.$t('Systems.Account.UserName') + '*',\"required\":\"\",\"color\":\"plywood\",\"solo\":\"\",\"clearable\":\"\",\"dense\":\"\",\"light\":\"\",\"rules\":[function (v) { return !!v; }]},model:{value:(_vm.demoForm.name),callback:function ($$v) {_vm.$set(_vm.demoForm, \"name\", $$v)},expression:\"demoForm.name\"}}),_c('v-text-field',{attrs:{\"placeholder\":_vm.$t('Systems.Account.Company'),\"color\":\"plywood\",\"solo\":\"\",\"clearable\":\"\",\"dense\":\"\",\"light\":\"\"},model:{value:(_vm.demoForm.organization),callback:function ($$v) {_vm.$set(_vm.demoForm, \"organization\", $$v)},expression:\"demoForm.organization\"}}),_c('v-text-field',{attrs:{\"type\":\"email\",\"placeholder\":_vm.$t('Systems.Account.Email') + '*',\"required\":\"\",\"color\":\"plywood\",\"solo\":\"\",\"clearable\":\"\",\"dense\":\"\",\"light\":\"\",\"rules\":[\n function (v) { return !!v; },\n function (v) { return /.+@.+\\..+/.test(v) || _vm.$t('Systems.User.EmailErrMsg'); } ]},model:{value:(_vm.demoForm.email),callback:function ($$v) {_vm.$set(_vm.demoForm, \"email\", $$v)},expression:\"demoForm.email\"}}),_c('v-text-field',{attrs:{\"type\":\"tel\",\"placeholder\":_vm.$t('Systems.Account.Phone'),\"required\":\"\",\"color\":\"plywood\",\"solo\":\"\",\"clearable\":\"\",\"dense\":\"\",\"light\":\"\"},model:{value:(_vm.demoForm.phone),callback:function ($$v) {_vm.$set(_vm.demoForm, \"phone\", $$v)},expression:\"demoForm.phone\"}}),_c('v-textarea',{attrs:{\"no-resize\":\"\",\"color\":\"plywood\",\"solo\":\"\",\"dense\":\"\",\"clearable\":\"\",\"placeholder\":_vm.$t('Systems.Account.Comment'),\"light\":\"\"},model:{value:(_vm.demoForm.commentary),callback:function ($$v) {_vm.$set(_vm.demoForm, \"commentary\", $$v)},expression:\"demoForm.commentary\"}}),_c('div',{staticClass:\"d-flex align-center\"},[_c('v-checkbox',{attrs:{\"label\":_vm.$t('Systems.Account.Callback'),\"color\":\"plywood\",\"dark\":\"\",\"dense\":\"\"},model:{value:(_vm.demoForm.callback),callback:function ($$v) {_vm.$set(_vm.demoForm, \"callback\", $$v)},expression:\"demoForm.callback\"}}),_c('v-spacer'),_c('v-btn',{attrs:{\"type\":\"submit\",\"color\":\"plywood\",\"loading\":_vm.loading,\"dark\":\"\"}},[_vm._v(_vm._s(_vm.$t('Systems.Account.SubmitButton')))])],1)],1)],1)],1)],1),_c('v-tab-item',[_c('v-card',{staticClass:\"tab-card\",attrs:{\"color\":\"transparent\",\"flat\":\"\",\"dark\":\"\"}},[_c('v-card-text',[(_vm.tab === 2)?_c('div',{staticClass:\"contacts\"},[_c('h3',[_c('b',[_vm._v(\"E-mails:\")])]),_c('a',{attrs:{\"href\":\"mailto:asalivonik@opti-soft.ru\"}},[_vm._v(\"asalivonik@opti-soft.ru — \"+_vm._s(_vm.$t('Systems.Account.AleksandrSalivonik')))]),_c('br'),_c('a',{attrs:{\"href\":\"mailto:mspirichev@opti-soft.ru\"}},[_vm._v(\"mspirichev@opti-soft.ru — \"+_vm._s(_vm.$t('Systems.Account.MaksimSpirichev')))]),_c('br'),_c('a',{attrs:{\"href\":\"mailto:sales@opti-soft.ru\"}},[_vm._v(\"sales@opti-soft.ru\")]),_c('p'),_c('h3',[_c('b',[_vm._v(_vm._s(_vm.$t('Systems.Account.AddressHeader'))+\":\")])]),_c('p',[_vm._v(\" \"+_vm._s(_vm.$t('Systems.Account.AddressPart1'))),_c('br'),_vm._v(\" \"+_vm._s(_vm.$t('Systems.Account.AddressPart2'))+\" \")]),_c('h3',[_c('b',[_vm._v(_vm._s(_vm.$t('Systems.Account.Phones'))+\":\")])]),_c('p',[_c('a',{attrs:{\"href\":\"tel:8142713213\"}},[_vm._v(\"(8142) 713213\")]),_vm._v(\" - \"+_vm._s(_vm.$t('Systems.Account.AleksandrSalivonik'))+\" \"),_c('br'),_c('a',{attrs:{\"href\":\"tel:8142713224\"}},[_vm._v(\"(8142) 713224\")]),_vm._v(\" - \"+_vm._s(_vm.$t('Systems.Account.MaksimSpirichev'))+\" \")])]):_vm._e()])],1)],1)],1)],1)],1)],1)],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('v-app-bar',{attrs:{\"app\":\"\",\"dense\":\"\",\"color\":\"white\",\"absolute\":\"\"}},[_c('v-toolbar-title',{staticClass:\"toolbar-title\"},[_vm._v(\"Opti-Plywood\")]),_c('v-toolbar',{staticClass:\"navbar-toolbar\",attrs:{\"dense\":\"\",\"flat\":\"\"}},[_c('v-toolbar-items',{staticClass:\"d-flex flex-grow-1 align-center\"},[_c('v-btn',{attrs:{\"text\":\"\"}},[_vm._v(_vm._s(_vm.$t('Main.HomePage')))]),_vm._l((_vm.menus),function(menu,i){return [(menu.show)?_c('v-menu',{key:(\"\" + (menu.name) + i),attrs:{\"offset-y\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('v-btn',_vm._g({attrs:{\"text\":\"\"}},on),[_vm._v(_vm._s(_vm.$t(menu.name))+\" \"),_c('v-icon',[_vm._v(\"mdi-menu-down\")])],1)]}}],null,true),model:{value:(menu.open),callback:function ($$v) {_vm.$set(menu, \"open\", $$v)},expression:\"menu.open\"}},[_c('v-list',[_vm._l((menu.items),function(item,j){return [(item.needDivider)?_c('v-divider',{key:((item.name) + \" divider\")}):_vm._e(),(item.childrens)?_c('v-menu',{key:(\"\" + (item.name) + j),attrs:{\"close-delay\":\"125\",\"offset-x\":\"\",\"open-on-hover\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('v-list-item',_vm._g({},on),[_c('v-list-item-title',[_vm._v(_vm._s(_vm.$t(item.name)))]),_c('v-list-item-icon',[_c('v-icon',[_vm._v(\"mdi-menu-right\")])],1)],1)]}}],null,true)},[_c('v-list',[_vm._l((item.childrens),function(child,i){return [(child.needDivider)?_c('v-divider',{key:i}):_vm._e(),_c('v-list-item',_vm._g(_vm._b({key:(\"\" + (child.name) + i),class:child.class,attrs:{\"to\":child.route || child.path},on:{\"click\":function($event){menu.open = false}}},'v-list-item',child.props,false),child.on),[_c('v-list-item-title',[_vm._v(_vm._s(child.noNeedTranslation ? child.name : _vm.$t(child.name)))])],1)]})],2)],1):_c('v-list-item',{key:(\"\" + (item.name) + j),attrs:{\"to\":item.path},on:{\"click\":function () {}}},[_c('v-list-item-title',[_vm._v(_vm._s(item.noNeedTranslation ? item.name : _vm.$t(item.name)))])],1)]})],2)],1):_vm._e()]}),_c('v-spacer'),_c('span',{staticClass:\"mr-6\"},[_vm._v(_vm._s(_vm.$t('Common.YouLoggedAs'))+\", \"),_c('b',[_vm._v(_vm._s(_vm.user.unique_name))])]),_c('user-menu',{attrs:{\"user\":_vm.user}}),_c('v-tooltip',{attrs:{\"bottom\":\"\",\"open-delay\":\"500\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('v-btn',_vm._g({attrs:{\"text\":\"\",\"icon\":\"\",\"color\":\"plywood\"},on:{\"click\":_vm.logout}},on),[_c('v-icon',[_vm._v(\"mdi-exit-to-app\")])],1)]}}])},[_c('span',[_vm._v(_vm._s(_vm.$t('Common.Exit')))])])],2)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport {Component, Watch, Mixins} from 'vue-property-decorator';\r\nimport DialogMixin from '@/mixins/dialog/DialogMixin';\r\n\r\n@Component({\r\n inheritAttrs: false,\r\n})\r\nexport default class ChangePasswordDialog extends Mixins(DialogMixin) {\r\n private changing: boolean = false;\r\n private invalidOldPassword: boolean = false;\r\n private showValidation: boolean = false;\r\n\r\n get invalidOldPasswordMessage() {\r\n return this.invalidOldPassword ? this.$t('Common.Messages.InvalidPassword') : null;\r\n }\r\n\r\n get passwordsNotMatch() {\r\n return this.showValidation ? this.data.newPassword !== this.data.repeatPassword : false;\r\n }\r\n\r\n get passwordNotMatchMsg() {\r\n return this.passwordsNotMatch ? this.$t('Common.Messages.PasswordsNotMatch') : null;\r\n }\r\n\r\n @Watch('data.oldPassword')\r\n onOldPasswordChange() {\r\n if (this.invalidOldPassword) this.invalidOldPassword = false;\r\n }\r\n\r\n async onChange() {\r\n if (this.invalidOldPassword || this.passwordNotMatchMsg) return;\r\n const form = this.$refs.form as any;\r\n if (!this.showValidation) this.showValidation = true;\r\n\r\n const valid = form.validate();\r\n if (valid && !this.passwordsNotMatch && !this.invalidOldPassword) {\r\n const timerId = setTimeout(() => (this.changing = true), 100);\r\n try {\r\n const {data} = await this.$http.post('/login/ChangePassword', {\r\n oldPassword: this.data.oldPassword,\r\n newPassword: this.data.newPassword,\r\n });\r\n // eslint-disable-next-line no-constant-condition\r\n if (false) {\r\n this.invalidOldPassword = true;\r\n } else {\r\n this.close();\r\n }\r\n } catch {\r\n this.close();\r\n } finally {\r\n clearTimeout(timerId);\r\n if (this.changing) this.changing = false;\r\n }\r\n }\r\n }\r\n\r\n clear() {\r\n this.showValidation = false;\r\n (this.$refs.form as any).resetValidation();\r\n }\r\n\r\n close() {\r\n this.dialog = false;\r\n this.options = null;\r\n setTimeout(() => {\r\n this.clear();\r\n }, 175);\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/vuetify-loader/lib/loader.js??ref--22-0!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ChangePasswordDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/vuetify-loader/lib/loader.js??ref--22-0!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ChangePasswordDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ChangePasswordDialog.vue?vue&type=template&id=64447838&\"\nimport script from \"./ChangePasswordDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./ChangePasswordDialog.vue?vue&type=script&lang=ts&\"\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\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardActions } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VDialog } from 'vuetify/lib/components/VDialog';\nimport { VDivider } from 'vuetify/lib/components/VDivider';\nimport { VForm } from 'vuetify/lib/components/VForm';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VBtn,VCard,VCardActions,VCardText,VCardTitle,VDialog,VDivider,VForm,VTextField})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-dialog',_vm._b({attrs:{\"value\":_vm.dialog,\"persistent\":\"\",\"scrollable\":\"\",\"no-click-animation\":\"\",\"width\":\"350px\"},on:{\"keydown\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"esc\",27,$event.key,[\"Esc\",\"Escape\"])){ return null; }return _vm.close($event)},\"click:outside\":_vm.onClickOutside}},'v-dialog',_vm.$attrs,false),[_c('v-card',[_c('v-card-title',{staticClass:\"justify-center\"},[_vm._v(_vm._s(_vm.$t('Common.ChangePassword')))]),_c('v-divider'),(_vm.data)?_c('v-card-text',{staticClass:\"d-flex flex-column\"},[_c('v-form',{ref:\"form\",staticClass:\"pt-3\"},[_c('v-text-field',{attrs:{\"type\":\"password\",\"color\":\"plywood lighten-1\",\"label\":_vm.$t('Common.OldPassword'),\"error-messages\":_vm.invalidOldPasswordMessage},model:{value:(_vm.data.oldPassword),callback:function ($$v) {_vm.$set(_vm.data, \"oldPassword\", $$v)},expression:\"data.oldPassword\"}}),_c('v-text-field',{attrs:{\"type\":\"password\",\"color\":\"plywood lighten-1\",\"label\":_vm.$t('Common.NewPassword'),\"rules\":[function (v) { return /^.{6,}|^$/.test(v) || _vm.$t('Common.Messages.PasswordError'); }],\"validate-on-blur\":\"\"},model:{value:(_vm.data.newPassword),callback:function ($$v) {_vm.$set(_vm.data, \"newPassword\", $$v)},expression:\"data.newPassword\"}}),_c('v-text-field',{attrs:{\"type\":\"password\",\"color\":\"plywood lighten-1\",\"label\":_vm.$t('Common.RepeatNewPassword'),\"error-messages\":_vm.passwordNotMatchMsg},model:{value:(_vm.data.repeatPassword),callback:function ($$v) {_vm.$set(_vm.data, \"repeatPassword\", $$v)},expression:\"data.repeatPassword\"}})],1)],1):_vm._e(),_c('v-divider'),(_vm.data)?_c('v-card-actions',{staticClass:\"justify-center\"},[_c('v-btn',{attrs:{\"color\":\"green darken-1\",\"disabled\":_vm.changing,\"text\":\"\"},on:{\"click\":_vm.onChange}},[_vm._v(_vm._s(_vm.$t('Common.Change')))]),_c('v-btn',{ref:\"cancel\",attrs:{\"color\":\"red darken-1\",\"text\":\"\"},on:{\"click\":_vm.close}},[_vm._v(_vm._s(_vm.$t('Common.Cancel')))])],1):_vm._e()],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport {Component, Vue} from 'vue-property-decorator';\r\nimport ChangePasswordDialog from './ChangePasswordDialog.vue';\r\nimport {mapActions} from 'vuex';\r\n\r\n@Component({\r\n components: {\r\n ChangePasswordDialog,\r\n },\r\n methods: {\r\n ...mapActions(['changeLanguage']),\r\n },\r\n})\r\nexport default class UserMenu extends Vue {\r\n private userMenu: boolean = false;\r\n public changeLanguage!: Function;\r\n\r\n onChangePassword() {\r\n (this.$refs.changePasswordDialog as any).open(\r\n {\r\n oldPassword: '',\r\n newPassword: '',\r\n repeatPassword: '',\r\n },\r\n null,\r\n );\r\n this.userMenu = false;\r\n }\r\n\r\n onChangeLanguage(lang: string) {\r\n if (lang === this.$i18n.locale) return;\r\n this.userMenu = false;\r\n this.changeLanguage({i18n: this.$i18n, culture: lang});\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/vuetify-loader/lib/loader.js??ref--22-0!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserMenu.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/vuetify-loader/lib/loader.js??ref--22-0!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserMenu.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./UserMenu.vue?vue&type=template&id=e0d56b2c&\"\nimport script from \"./UserMenu.vue?vue&type=script&lang=ts&\"\nexport * from \"./UserMenu.vue?vue&type=script&lang=ts&\"\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\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VList } from 'vuetify/lib/components/VList';\nimport { VListItem } from 'vuetify/lib/components/VList';\nimport { VListItemIcon } from 'vuetify/lib/components/VList';\nimport { VListItemTitle } from 'vuetify/lib/components/VList';\nimport { VMenu } from 'vuetify/lib/components/VMenu';\ninstallComponents(component, {VBtn,VIcon,VList,VListItem,VListItemIcon,VListItemTitle,VMenu})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('v-menu',{attrs:{\"close-on-content-click\":false,\"offset-y\":\"\",\"right\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('v-btn',_vm._g({attrs:{\"color\":\"plywood\",\"text\":\"\",\"icon\":\"\"}},on),[_c('v-icon',[_vm._v(\"mdi-settings\")])],1)]}}]),model:{value:(_vm.userMenu),callback:function ($$v) {_vm.userMenu=$$v},expression:\"userMenu\"}},[_c('v-list',[_c('v-menu',{attrs:{\"offset-x\":\"\",\"open-on-hover\":\"\",\"left\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('v-list-item',_vm._g({},on),[_c('v-list-item-icon',{staticStyle:{\"margin-right\":\"10px\"}},[_c('v-icon',[_vm._v(\"mdi-menu-left\")])],1),_c('v-list-item-title',[_vm._v(\" \"+_vm._s(_vm.$t('Common.Language'))+\" \")])],1)]}}])},[_c('v-list',[_c('v-list-item',{attrs:{\"input-value\":_vm.$i18n.locale === 'ru-RU'},on:{\"click\":function($event){return _vm.onChangeLanguage('ru-RU')}}},[_c('v-list-item-title',[_vm._v(\"RU\")])],1),_c('v-list-item',{attrs:{\"input-value\":_vm.$i18n.locale === 'en-US'},on:{\"click\":function($event){return _vm.onChangeLanguage('en-US')}}},[_c('v-list-item-title',[_vm._v(\"EN\")])],1)],1)],1),_c('v-list-item',{on:{\"click\":_vm.onChangePassword}},[_c('v-list-item-title',[_vm._v(\" \"+_vm._s(_vm.$t('Common.ChangePassword'))+\" \")])],1)],1)],1),_c('change-password-dialog',{ref:\"changePasswordDialog\"})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport {Component, Watch, Vue} from 'vue-property-decorator';\r\nimport {mapGetters, mapActions} from 'vuex';\r\nimport UserMenu from './UserMenu.vue';\r\n\r\n@Component({\r\n components: {\r\n UserMenu,\r\n },\r\n computed: {\r\n ...mapGetters(['user', 'companies', 'equipmentTypes', 'idCurrentCompany', 'isAdmin']),\r\n },\r\n methods: {\r\n ...mapActions('login', ['logout']),\r\n ...mapActions(['changeCompany']),\r\n },\r\n})\r\nexport default class NavBar extends Vue {\r\n public user!: any;\r\n public companies!: any[];\r\n public equipmentTypes!: any[];\r\n public isAdmin!: boolean;\r\n public idCurrentCompany!: number;\r\n public logout!: Function;\r\n public changeCompany!: Function;\r\n\r\n private equipmentPiece = [\r\n {\r\n name: 'Catalogues.Equipments.EquipmentType.NameSingle',\r\n path: this.$api.catalogues.equipmentType,\r\n },\r\n {\r\n name: 'Catalogues.Equipments.Settings.SettingsEquipment.NameMultiple',\r\n path: this.$api.catalogues.equipmentSettings,\r\n },\r\n {\r\n name: 'Catalogues.Equipments.WarehouseVeneerEquipmentTypeLink.NameSingle',\r\n path: this.$api.catalogues.warehouseVeneerEquipmentTypeLink,\r\n },\r\n {\r\n name: 'Catalogues.Equipments.WarehousePlywoodEquipmentTypeLink.NameSingle',\r\n path: this.$api.catalogues.warehousePlywoodEquipmentTypeLink,\r\n },\r\n {\r\n name: 'Catalogues.Equipments.PlywoodProductionProcesses.PlywoodProductionDistribution.NameSingle',\r\n path: this.$api.catalogues.plywoodProductionDistribution,\r\n },\r\n ];\r\n\r\n private catalogues = {\r\n name: 'Main.Catalogues',\r\n open: false,\r\n show: true,\r\n items: [\r\n {\r\n name: 'Catalogues.Equipments.Equipment.NameSingle',\r\n childrens: [...this.equipmentPiece],\r\n },\r\n {\r\n name: 'Main.Wood',\r\n childrens: [\r\n {\r\n name: 'Catalogues.WoodSpecie.NameSingle',\r\n path: this.$api.catalogues.woodSpecie,\r\n },\r\n ],\r\n },\r\n {\r\n name: 'Catalogues.Veneers.Veneer.NameSingle',\r\n childrens: [\r\n {\r\n name: 'Catalogues.Veneers.VeneerOuterGrade.NameSingle',\r\n path: this.$api.catalogues.veneerOuterGrade,\r\n },\r\n {\r\n name: 'Catalogues.Veneers.VeneerSize.NameSingle',\r\n path: this.$api.catalogues.veneerSize,\r\n },\r\n {\r\n name: 'Catalogues.Veneers.VeneerThickness.NameSingle',\r\n path: this.$api.catalogues.veneerThickness,\r\n },\r\n {\r\n name: 'Catalogues.Veneers.VeneerSpecie.NameSingle',\r\n path: this.$api.catalogues.veneerSpecie,\r\n },\r\n {\r\n name: 'Catalogues.Veneers.VeneerWetness.NameSingle',\r\n path: this.$api.catalogues.veneerWetness,\r\n },\r\n {\r\n name: 'Catalogues.Veneers.VeneerMaxUsedShiftCountOfStorage.NameSingle',\r\n path: this.$api.catalogues.veneerMaxUsedShiftCountOfStorage,\r\n },\r\n {\r\n name: 'Catalogues.Veneers.VeneerPatchingGrade.NameSingle',\r\n path: this.$api.catalogues.veneerPatchingGrade,\r\n },\r\n {\r\n name: 'Catalogues.Veneers.Veneer.NameSingle',\r\n path: this.$api.catalogues.veneer,\r\n },\r\n ],\r\n },\r\n {\r\n name: 'Main.Plywood',\r\n childrens: [\r\n {\r\n name: 'Catalogues.Plywoods.PlywoodSize.NameSingle',\r\n path: this.$api.catalogues.plywoodSize,\r\n },\r\n {\r\n name: 'Catalogues.Plywoods.PlywoodThickness.NameSingle',\r\n path: this.$api.catalogues.plywoodThickness,\r\n },\r\n {\r\n name: 'Catalogues.Plywoods.PlywoodGrade.NameSingle',\r\n path: this.$api.catalogues.plywoodGrade,\r\n },\r\n {\r\n name: 'Catalogues.Plywoods.PlywoodSpecie.NameSingle',\r\n path: this.$api.catalogues.plywoodSpecie,\r\n },\r\n {\r\n name: 'Catalogues.Plywoods.PlywoodSurface.NameSingle',\r\n path: this.$api.catalogues.plywoodSurface,\r\n },\r\n {\r\n name: 'Catalogues.Plywoods.PlywoodWaterResistance.NameSingle',\r\n path: this.$api.catalogues.plywoodWaterResistance,\r\n },\r\n {\r\n name: 'Catalogues.ComplectationRule.NameMultiple',\r\n path: this.$api.catalogues.complectationRule,\r\n },\r\n ],\r\n },\r\n {\r\n name: 'Catalogues.Warehouses.Warehouse.NameSingle',\r\n childrens: [\r\n {\r\n name: 'Catalogues.Warehouses.WarehousePlywood.NameSingle',\r\n path: this.$api.catalogues.warehousePlywood,\r\n },\r\n {\r\n name: 'Catalogues.Warehouses.WarehouseVeneer.NameSingle',\r\n path: this.$api.catalogues.warehouseVeneer,\r\n },\r\n ],\r\n },\r\n {\r\n name: 'Catalogues.ShiftTml.Shift',\r\n childrens: [\r\n {\r\n name: 'Catalogues.ShiftTml.NameSingle',\r\n path: this.$api.catalogues.shiftTml,\r\n },\r\n {\r\n name: 'Catalogues.DaySchedule.NameSingle',\r\n path: this.$api.catalogues.daySchedule,\r\n },\r\n ],\r\n },\r\n {\r\n name: 'Catalogues.OrderCustomProperty.NameMultiple',\r\n path: this.$api.catalogues.orderCustomProperty,\r\n },\r\n ],\r\n };\r\n\r\n private journals = {\r\n name: 'Main.Journals',\r\n open: false,\r\n show: true,\r\n items: [\r\n {name: 'Documents.Plan.NameMultiple', path: this.$api.journals.plan},\r\n {\r\n name: 'Documents.Order.NameMultiple',\r\n path: this.$api.journals.order,\r\n },\r\n {\r\n name: 'Documents.Schedule.NameSingle',\r\n path: this.$api.journals.schedule,\r\n },\r\n {\r\n name: 'Catalogues.EquipmentActivity.NameSingle',\r\n path: this.$api.journals.scheduleEquipmentActivity,\r\n },\r\n {\r\n name: 'Documents.PlywoodPriceList.NameMultiple',\r\n path: this.$api.journals.plywoodPriceList,\r\n },\r\n {\r\n name: 'Documents.WarehousePlywoodState.NameMultiple',\r\n path: this.$api.journals.warehousePlywoodState,\r\n },\r\n {\r\n name: 'Documents.WarehousePlywoodAudit.NameMultiple',\r\n path: this.$api.journals.warehousePlywoodAudit,\r\n },\r\n {\r\n name: 'Documents.WarehouseVeneerState.NameMultiple',\r\n path: this.$api.journals.warehouseVeneerState,\r\n },\r\n {\r\n name: 'Documents.WarehouseVeneerAudit.NameMultiple',\r\n path: this.$api.journals.warehouseVeneerAudit,\r\n },\r\n ],\r\n };\r\n\r\n get administration() {\r\n const defaultItems = [\r\n {\r\n name: 'Systems.Settings.NameMultiple',\r\n path: this.$api.settings,\r\n },\r\n {\r\n name: 'Systems.User.NameMultiple',\r\n path: this.$api.administration.user,\r\n },\r\n {\r\n name: 'Systems.Role.NameMultiple',\r\n path: this.$api.administration.role,\r\n },\r\n {\r\n name: 'Systems.UserRoleLink.NameMultiple',\r\n path: this.$api.administration.userRoleLink,\r\n },\r\n {\r\n name: 'Systems.RolePolicyLink.NameMultiple',\r\n path: this.$api.administration.rolePolicyLink,\r\n },\r\n ];\r\n\r\n const adminItems = [\r\n {\r\n name: 'Systems.Company.NameMultiple',\r\n path: this.$api.administration.company,\r\n needDivider: true,\r\n },\r\n {\r\n name: 'Systems.Company.SwitchCompany',\r\n childrens: this.companies?.map(item => ({\r\n noNeedTranslation: true,\r\n name: item.Description,\r\n on: {\r\n click: () => this.changeCompany(item.Id),\r\n },\r\n class: {\r\n 'v-list-item--active': item.Id === this.idCurrentCompany,\r\n },\r\n })),\r\n },\r\n {\r\n name: 'Systems.User.NameMultiple',\r\n path: this.$api.administration.adminUser,\r\n },\r\n {\r\n name: 'Systems.Logging.NameMultiple',\r\n path: this.$api.administration.logging,\r\n },\r\n ];\r\n\r\n return {\r\n name: 'Main.Administration',\r\n open: false,\r\n show: true,\r\n items: this.isAdmin ? [...defaultItems, ...adminItems] : [...defaultItems],\r\n };\r\n }\r\n\r\n get menus() {\r\n return [this.catalogues, this.journals, this.administration];\r\n }\r\n\r\n get equipment() {\r\n if (this.equipmentTypes.length === 0) return [...this.equipmentPiece];\r\n return [\r\n ...this.equipmentPiece,\r\n ...this.equipmentTypes.map((item: any, index: number) => ({\r\n needDivider: index === 0,\r\n noNeedTranslation: true,\r\n name: item.Description,\r\n route: {\r\n path: this.$api.catalogues.equipmentTab,\r\n query: {\r\n idEquipmentType: item.Id,\r\n },\r\n },\r\n class: {\r\n 'v-list-item--active': this.$route.query.idEquipmentType == item.Id,\r\n },\r\n props: {\r\n exact: true,\r\n },\r\n })),\r\n ];\r\n }\r\n\r\n @Watch('equipment', {deep: true, immediate: true})\r\n onPreparedEquipmentTypesChange(value: any) {\r\n this.catalogues.items[0].childrens = this.equipment as any;\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/vuetify-loader/lib/loader.js??ref--22-0!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NavBar.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/vuetify-loader/lib/loader.js??ref--22-0!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NavBar.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./NavBar.vue?vue&type=template&id=16db484a&\"\nimport script from \"./NavBar.vue?vue&type=script&lang=ts&\"\nexport * from \"./NavBar.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./NavBar.vue?vue&type=style&index=0&lang=scss&\"\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\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VAppBar } from 'vuetify/lib/components/VAppBar';\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VDivider } from 'vuetify/lib/components/VDivider';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VList } from 'vuetify/lib/components/VList';\nimport { VListItem } from 'vuetify/lib/components/VList';\nimport { VListItemIcon } from 'vuetify/lib/components/VList';\nimport { VListItemTitle } from 'vuetify/lib/components/VList';\nimport { VMenu } from 'vuetify/lib/components/VMenu';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VToolbar } from 'vuetify/lib/components/VToolbar';\nimport { VToolbarItems } from 'vuetify/lib/components/VToolbar';\nimport { VToolbarTitle } from 'vuetify/lib/components/VToolbar';\nimport { VTooltip } from 'vuetify/lib/components/VTooltip';\ninstallComponents(component, {VAppBar,VBtn,VDivider,VIcon,VList,VListItem,VListItemIcon,VListItemTitle,VMenu,VSpacer,VToolbar,VToolbarItems,VToolbarTitle,VTooltip})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport {Component, Mixins} from 'vue-property-decorator';\r\nimport {mapState, mapActions} from 'vuex';\r\nimport Login from '@/views/Login.vue';\r\nimport NavBar from '@/views/navbar/NavBar.vue';\r\nimport DescriptionsContainerMixin from '@/mixins/DescriptionsContainerMixin';\r\n\r\n@Component({\r\n components: {\r\n Login,\r\n NavBar,\r\n },\r\n computed: {\r\n ...mapState(['authorized', 'loading']),\r\n },\r\n methods: {\r\n ...mapActions(['init']),\r\n },\r\n})\r\nexport default class App extends Mixins(DescriptionsContainerMixin) {\r\n private errorSnackbar: boolean = false;\r\n private errorSnackbarMsg: string = '';\r\n\r\n public loading!: boolean;\r\n public authorized!: boolean;\r\n public init!: Function;\r\n\r\n async created() {\r\n this.init(this.$i18n);\r\n }\r\n}\r\n","import mod from \"-!../node_modules/cache-loader/dist/cjs.js??ref--14-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/ts-loader/index.js??ref--14-3!../node_modules/vuetify-loader/lib/loader.js??ref--22-0!../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=ts&\"; export default mod; export * from \"-!../node_modules/cache-loader/dist/cjs.js??ref--14-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/ts-loader/index.js??ref--14-3!../node_modules/vuetify-loader/lib/loader.js??ref--22-0!../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=ts&\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=049a2574&\"\nimport script from \"./App.vue?vue&type=script&lang=ts&\"\nexport * from \"./App.vue?vue&type=script&lang=ts&\"\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\n\n/* vuetify-loader */\nimport installComponents from \"!../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VApp } from 'vuetify/lib/components/VApp';\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VMain } from 'vuetify/lib/components/VMain';\nimport { VProgressCircular } from 'vuetify/lib/components/VProgressCircular';\nimport { VSnackbar } from 'vuetify/lib/components/VSnackbar';\ninstallComponents(component, {VApp,VBtn,VContainer,VIcon,VMain,VProgressCircular,VSnackbar})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-app',{staticStyle:{\"min-width\":\"1024px\",\"min-height\":\"768px\"}},[(!_vm.loading)?[(_vm.authorized)?[_c('nav-bar'),_c('v-main',[_c('v-container',{attrs:{\"fluid\":\"\"}},[_c('router-view')],1)],1)]:_c('login')]:_c('div',{staticClass:\"flex-grow-1 d-flex justify-center align-center\"},[_c('v-progress-circular',{attrs:{\"indeterminate\":\"\",\"color\":\"plywood\"}})],1),_c('v-snackbar',{attrs:{\"multi-line\":\"\",\"vertical\":\"\",\"color\":\"error\",\"top\":\"\",\"right\":\"\",\"timeout\":4500},model:{value:(_vm.errorSnackbar),callback:function ($$v) {_vm.errorSnackbar=$$v},expression:\"errorSnackbar\"}},[_c('h4',[_vm._v(\"Request Error\")]),_vm._v(\" \"+_vm._s(_vm.errorSnackbarMsg)+\" \"),_c('v-btn',{attrs:{\"dark\":\"\",\"text\":\"\",\"icon\":\"\"},on:{\"click\":function($event){_vm.errorSnackbar = false}}},[_c('v-icon',[_vm._v(\"mdi-close\")])],1)],1)],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\r\nimport {Component, Vue} from 'vue-property-decorator';\r\n\r\n@Component\r\nexport default class NotFound extends Vue {}\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/vuetify-loader/lib/loader.js??ref--22-0!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NotFound.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/vuetify-loader/lib/loader.js??ref--22-0!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NotFound.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./NotFound.vue?vue&type=template&id=5214e4a4&\"\nimport script from \"./NotFound.vue?vue&type=script&lang=ts&\"\nexport * from \"./NotFound.vue?vue&type=script&lang=ts&\"\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._v(\"Not found\")])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export interface ApiInterface {\r\n login: string;\r\n localization: string;\r\n settings: string;\r\n timeZone: string;\r\n modularity: string;\r\n measureUnit: string;\r\n common: {\r\n boolean: string;\r\n };\r\n catalogues: {\r\n shiftTml: string;\r\n plywoodSize: string;\r\n plywoodGrade: string;\r\n plywoodThickness: string;\r\n optimizationType: string;\r\n planDaySchedule: string;\r\n settingsEquipment: string;\r\n equipmentType: string;\r\n warehousePlywood: string;\r\n plywoodSpecie: string;\r\n plywoodSurface: string;\r\n plywoodWaterResistance: string;\r\n tenonGroove: string;\r\n warehouseVeneer: string;\r\n veneerCategory: string;\r\n veneerKind: string;\r\n veneerOuterGrade: string;\r\n veneerPatchingGrade: string;\r\n veneerSize: string;\r\n veneerSpecie: string;\r\n veneerThickness: string;\r\n veneerType: string;\r\n veneerWetness: string;\r\n orderPriority: string;\r\n calculationType: string;\r\n planOrderType: string;\r\n planPriorityOrderType: string;\r\n woodSpecie: string;\r\n veneerMaxUsedShiftCountOfStorage: string;\r\n veneer: string;\r\n plywoodSurfaceType: string;\r\n complectationRule: string;\r\n daySchedule: string;\r\n orderCustomProperty: string;\r\n veneerProcessingEquipmentType: string;\r\n plywoodProcessingEquipmentType: string;\r\n veneerProductionEquipmentType: string;\r\n plywoodProductionEquipmentType: string;\r\n plywoodProductionSupportEquipmentType: string;\r\n plywoodGroupBy: string;\r\n veneerGroupBy: string;\r\n equipmentSettings: string;\r\n warehouseVeneerEquipmentTypeLink: string;\r\n warehousePlywoodEquipmentTypeLink: string;\r\n plywoodProductionDistribution: string;\r\n equipmentTab: string;\r\n veneerEquipmentProcess: string;\r\n veneerEquipmentProcessLink: string;\r\n veneerEquipmentGroup: string;\r\n veneerEquipmentGroupLink: string;\r\n veneerEquipmentProcessGroupLink: string;\r\n equipmentPlywoodProcessingProcessLink: string;\r\n plywoodProcessingProcess: string;\r\n plywoodProcessingProcessGroup: string;\r\n equipmentPlywoodProcessingProcessGroupLink: string;\r\n plywoodProcessingProcessGroupLink: string;\r\n plywoodProductionSupportEquipment: string;\r\n plywoodProductionEquipment: string;\r\n plywoodProductionProcess: string;\r\n veneerProductionEquipment: string;\r\n veneerProcessingEquipment: string;\r\n plywoodProcessingEquipment: string;\r\n roleEnum: string;\r\n };\r\n journals: {\r\n plan: string;\r\n solve: string;\r\n schedule: string;\r\n planShift: string;\r\n planEquipment: string;\r\n planWarehousePlywood: string;\r\n planWarehouseVeneer: string;\r\n planWarehouseIncomeVeneer: string;\r\n planOrder: string;\r\n planResSummaryOrderBalance: string;\r\n planResSummaryPlywoodBalance: string;\r\n planResSummaryWarehouseVeneer: string;\r\n planResSummaryIndicator: string;\r\n planResByShiftWarehouseVeneer: string;\r\n planResByShiftOrderBalance: string;\r\n planResByShiftPlywoodBalance: string;\r\n planResByShiftRecommendation: string;\r\n planResByShiftEquipmentVeneerProcessGroupItemDist: string;\r\n PlanResByShiftEquipmentVeneerProcessGroupItem: string;\r\n planResByShiftPlywoodEquipmentGroupPlywood: string;\r\n planResByShiftPlywoodEquipmentGroupPlywoodCmpl: string;\r\n planResByShiftPlywoodEquipmentGroupPlywoodCmplTrans: string;\r\n order: string;\r\n plywoodPriceList: string;\r\n scheduleEquipmentActivity: string;\r\n planres: string;\r\n warehousePlywoodState: string;\r\n warehousePlywoodAudit: string;\r\n warehouseVeneerState: string;\r\n warehouseVeneerAudit: string;\r\n };\r\n administration: {\r\n user: string;\r\n role: string;\r\n userRoleLink: string;\r\n rolePolicyLink: string;\r\n company: string;\r\n adminUser: string;\r\n logging: string;\r\n };\r\n}\r\n\r\nexport const api = {\r\n login: '/login',\r\n localization: '/localization',\r\n settings: '/settings',\r\n timeZone: '/timezone',\r\n modularity: '/modularity',\r\n measureUnit: '/measureUnit',\r\n common: {\r\n boolean: '/boolean',\r\n },\r\n journals: {\r\n plan: '/plan',\r\n solve: '/solve',\r\n schedule: '/schedule',\r\n planShift: '/planshift',\r\n planEquipment: '/planequipment',\r\n planWarehousePlywood: '/planwarehouseplywood',\r\n planWarehouseVeneer: '/planwarehouseveneer',\r\n planWarehouseIncomeVeneer: '/planwarehouseincomeveneer',\r\n planOrder: '/planorder',\r\n planResSummaryOrderBalance: '/planressummaryorderbalance',\r\n planResSummaryPlywoodBalance: '/planressummaryplywoodbalance',\r\n planResSummaryWarehouseVeneer: '/planressummarywarehouseveneer',\r\n planResSummaryIndicator: '/planressummaryindicator',\r\n planResByShiftWarehouseVeneer: '/planresbyshiftwarehouseveneer',\r\n planResByShiftOrderBalance: '/planresbyshiftorderbalance',\r\n planResByShiftPlywoodBalance: '/planresbyshiftplywoodbalance',\r\n planResByShiftRecommendation: '/planresbyshiftrecommendation',\r\n planResByShiftEquipmentVeneerProcessGroupItemDist: '/planresbyshiftequipmentveneerprocessgroupitemdist',\r\n planResByShiftEquipmentVeneerProcessGroupItem: '/planresbyshiftequipmentveneerprocessgroupitem',\r\n planResByShiftPlywoodEquipmentGroupPlywood: '/planresbyshiftplywoodequipmentgroupplywood',\r\n planResByShiftPlywoodEquipmentGroupPlywoodCmpl: '/planresbyshiftplywoodequipmentgroupplywoodcmpl',\r\n planResByShiftPlywoodEquipmentGroupPlywoodCmplTrans: '/planresbyshiftplywoodequipmentgroupplywoodcmpltrans',\r\n order: '/order',\r\n plywoodPriceList: '/plywoodpricelist',\r\n scheduleEquipmentActivity: '/scheduleequipmentactivity',\r\n planres: '/planres',\r\n warehousePlywoodState: '/warehouseplywoodstate',\r\n warehousePlywoodAudit: '/warehouseplywoodaudit',\r\n warehouseVeneerState: '/warehouseveneerstate',\r\n warehouseVeneerAudit: '/warehouseveneeraudit',\r\n },\r\n catalogues: {\r\n shiftTml: '/shifttml',\r\n plywoodSize: '/plywoodsize',\r\n plywoodGrade: '/plywoodgrade',\r\n plywoodThickness: '/plywoodthickness',\r\n optimizationType: '/optimizationtype',\r\n planDaySchedule: '/plandayschedule',\r\n settingsEquipment: '/settingsequipment',\r\n equipmentType: '/equipmenttype',\r\n warehousePlywood: '/warehouseplywood',\r\n plywoodSurface: '/plywoodsurface',\r\n plywoodSpecie: '/plywoodspecie',\r\n plywoodWaterResistance: '/plywoodwaterresistance',\r\n tenonGroove: '/tenongroove',\r\n warehouseVeneer: '/warehouseveneer',\r\n veneerCategory: '/veneercategory',\r\n veneerKind: '/veneerkind',\r\n veneerOuterGrade: '/veneeroutergrade',\r\n veneerPatchingGrade: '/veneerpatchinggrade',\r\n veneerSize: '/veneersize',\r\n veneerSpecie: '/veneerspecie',\r\n veneerThickness: '/veneerthickness',\r\n veneerType: '/veneertype',\r\n veneerWetness: '/veneerwetness',\r\n orderPriority: '/orderpriority',\r\n calculationType: '/calculationtype',\r\n planOrderType: '/planordertype',\r\n planPriorityOrderType: '/planpriorityordertype',\r\n woodSpecie: '/woodspecie',\r\n veneerMaxUsedShiftCountOfStorage: '/veneermaxusedshiftcountofstorage',\r\n veneer: '/veneer',\r\n plywoodSurfaceType: '/plywoodsurfacetype',\r\n complectationRule: '/complectationrule',\r\n daySchedule: '/dayschedule',\r\n orderCustomProperty: '/ordercustomproperty',\r\n plywoodProcessingEquipmentType: '/plywoodProcessingEquipmentType',\r\n veneerProcessingEquipmentType: '/veneerprocessingequipmenttype',\r\n veneerProductionEquipmentType: '/veneerproductionequipmenttype',\r\n plywoodProductionEquipmentType: '/plywoodproductionequipmenttype',\r\n plywoodProductionSupportEquipmentType: '/plywoodproductionsupportequipmenttype',\r\n plywoodGroupBy: '/plywoodgroupby',\r\n veneerGroupBy: '/veneergroupby',\r\n equipmentSettings: '/settingsequipment',\r\n warehouseVeneerEquipmentTypeLink: '/warehouseveneerequipmenttypelink',\r\n warehousePlywoodEquipmentTypeLink: '/warehouseplywoodequipmenttypelink',\r\n plywoodProductionDistribution: '/plywoodproductiondistribution',\r\n equipmentTab: '/equipmenttab',\r\n veneerEquipmentProcess: '/veneerprocess',\r\n veneerEquipmentProcessLink: '/equipmentveneerprocesslink',\r\n veneerEquipmentGroup: '/veneerprocessgroup',\r\n veneerEquipmentGroupLink: '/veneerprocessgrouplink',\r\n veneerEquipmentProcessGroupLink: '/equipmentveneerprocessgrouplink',\r\n plywoodProcessingProcess: '/plywoodProcessingProcess',\r\n equipmentPlywoodProcessingProcessLink: '/equipmentplywoodprocessingprocesslink',\r\n plywoodProcessingProcessGroup: '/plywoodprocessingprocessgroup',\r\n equipmentPlywoodProcessingProcessGroupLink: '/equipmentplywoodprocessingprocessgrouplink',\r\n plywoodProcessingProcessGroupLink: '/plywoodprocessingprocessgrouplink',\r\n plywoodProductionSupportEquipment: '/plywoodproductionsupportequipment',\r\n plywoodProductionEquipment: '/plywoodproductionequipment',\r\n plywoodProductionProcess: '/plywoodproductionprocess',\r\n veneerProductionEquipment: '/veneerproductionequipment',\r\n veneerProcessingEquipment: '/veneerprocessingequipment',\r\n plywoodProcessingEquipment: '/plywoodprocessingequipment',\r\n roleEnum: '/roleenum',\r\n },\r\n administration: {\r\n user: '/user',\r\n role: '/role',\r\n userRoleLink: '/userRoleLink',\r\n rolePolicyLink: '/rolePolicyLink',\r\n company: '/company',\r\n adminUser: '/adminUser',\r\n logging: '/logging',\r\n },\r\n};\r\n\r\nexport default api;\r\n","import api from '@/configs/ApiConfig';\r\nconst Plan = () => import(/* webpackChunkName: \"plan\" */ '@/views/journals/plan/Plan.vue');\r\nconst Schedule = () => import(/* webpackChunkName: \"schedule\" */ '@/views/journals/schedule/Schedule.vue');\r\nconst PlanEdit = () => import(/* webpackChunkName: \"planEdit\" */ '@/views/journals/planEdit/PlanEdit.vue');\r\n\r\nconst Order = () => import(/* webpackChunkName: \"order\" */ '@/views/journals/order/Order.vue');\r\n\r\nconst PlywoodPriceList = () =>\r\n import(/* webpackChunkName: \"plywoodPriceList\" */ '@/views/journals/plywoodPriceList/PlywoodPriceList.vue');\r\n\r\nconst ScheduleEquipmentActivity = () =>\r\n import(\r\n /* webpackChunkName: \"scheduleEquipmentActivity\" */ '@/views/journals/scheduleEquipmentActivity/ScheduleEquipmentActivity.vue'\r\n );\r\n\r\nconst warehousePlywoodState = () =>\r\n import(\r\n /* webpackChunkName: \"warehousePlywoodState\" */ '@/views/journals/warehousePlywoodState/WarehousePlywoodState.vue'\r\n );\r\n\r\nconst warehousePlywoodAudit = () =>\r\n import(\r\n /* webpackChunkName: \"warehousePlywoodAudit\" */ '@/views/journals/warehousePlywoodAudit/WarehousePlywoodAudit.vue'\r\n );\r\n\r\nconst warehouseVeneerState = () =>\r\n import(\r\n /* webpackChunkName: \"warehouseVeneerState\" */ '@/views/journals/warehouseVeneerState/WarehouseVeneerState.vue'\r\n );\r\n\r\nconst warehouseVeneerAudit = () =>\r\n import(\r\n /* webpackChunkName: \"warehouseVeneerAudit\" */ '@/views/journals/warehouseVeneerAudit/WarehouseVeneerAudit.vue'\r\n );\r\n\r\nexport default [\r\n {\r\n name: 'plan',\r\n path: api.journals.plan,\r\n component: Plan,\r\n },\r\n {\r\n name: 'schedule',\r\n path: api.journals.schedule,\r\n component: Schedule,\r\n },\r\n {\r\n name: 'planEdit',\r\n path: '/planedit/:idPlan',\r\n component: PlanEdit,\r\n props: true,\r\n children: [\r\n {\r\n path: 'settings',\r\n component: () => import('@/views/journals/planEdit/planEditTabs/settings/PlanEditSettings.vue'),\r\n props: true,\r\n },\r\n {\r\n path: 'shift',\r\n component: () => import('@/views/journals/planEdit/planEditTabs/shift/PlanEditShift.vue'),\r\n props: true,\r\n },\r\n {\r\n path: 'equipment',\r\n component: () => import('@/views/journals/planEdit/planEditTabs/equipment/PlanEditEquipment.vue'),\r\n props: true,\r\n },\r\n {\r\n path: 'warehouseveneer',\r\n component: () =>\r\n import('@/views/journals/planEdit/planEditTabs/warehouseVeneer/PlanEditWarehouseVeneer.vue'),\r\n props: true,\r\n children: [\r\n {\r\n path: '',\r\n component: () =>\r\n import(\r\n '@/views/journals/planEdit/planEditTabs/warehouseVeneer/PlanEditWarehouseVeneerFlexGrid.vue'\r\n ),\r\n props: true,\r\n },\r\n {\r\n path: ':idWarehouseVeneer',\r\n component: () =>\r\n import(\r\n '@/views/journals/planEdit/planEditTabs/warehouseVeneer/PlanEditWarehouseVeneerFlexGrid.vue'\r\n ),\r\n props: true,\r\n },\r\n ],\r\n },\r\n {\r\n path: 'warehouseplywood',\r\n component: () =>\r\n import('@/views/journals/planEdit/planEditTabs/warehousePlywood/PlanEditWarehousePlywood.vue'),\r\n props: true,\r\n children: [\r\n {\r\n path: '',\r\n component: () =>\r\n import(\r\n '@/views/journals/planEdit/planEditTabs/warehousePlywood/PlanEditWarehousePlywoodFlexGrid.vue'\r\n ),\r\n props: true,\r\n },\r\n {\r\n path: ':idWarehousePlywood',\r\n component: () =>\r\n import(\r\n '@/views/journals/planEdit/planEditTabs/warehousePlywood/PlanEditWarehousePlywoodFlexGrid.vue'\r\n ),\r\n props: true,\r\n },\r\n ],\r\n },\r\n {\r\n path: 'plywoodorder',\r\n component: () => import('@/views/journals/planEdit/planEditTabs/plywoodOrder/PlanEditPlywoodOrder.vue'),\r\n props: true,\r\n },\r\n {\r\n path: 'result',\r\n alias: 'result/*',\r\n component: () => import('@/views/journals/planEdit/planEditTabs/result/PlanEditResult.vue'),\r\n props: true,\r\n },\r\n ],\r\n },\r\n {\r\n name: 'order',\r\n path: api.journals.order,\r\n component: Order,\r\n },\r\n {\r\n name: 'plywoodPriceList',\r\n path: api.journals.plywoodPriceList,\r\n component: PlywoodPriceList,\r\n },\r\n {\r\n name: 'scheduleEquipmentActivity',\r\n path: api.journals.scheduleEquipmentActivity,\r\n component: ScheduleEquipmentActivity,\r\n },\r\n {\r\n name: 'warehousePlywoodState',\r\n path: api.journals.warehousePlywoodState,\r\n component: warehousePlywoodState,\r\n },\r\n {\r\n name: 'warehousePlywoodAudit',\r\n path: api.journals.warehousePlywoodAudit,\r\n component: warehousePlywoodAudit,\r\n },\r\n {\r\n name: 'warehouseVeneerState',\r\n path: api.journals.warehouseVeneerState,\r\n component: warehouseVeneerState,\r\n },\r\n {\r\n name: 'warehouseVeneerState',\r\n path: api.journals.warehouseVeneerAudit,\r\n component: warehouseVeneerAudit,\r\n },\r\n];\r\n","import api from '@/configs/ApiConfig';\r\nimport equipmentCategoryConfig from '@/enums/EquipmentCategoryEnum';\r\n\r\nconst WoodSpecie = () =>\r\n import(/* webpackChunkName: \"woodSpecie\" */ '@/views/catalogues/wood/woodSpeie/WoodSpecie.vue');\r\n\r\nconst VeneerOuterGrade = () =>\r\n import(\r\n /* webpackChunkName: \"veneerOuterGrade\" */ '@/views/catalogues/veneer/veneerOuterGrade/VeneerOuterGrade.vue'\r\n );\r\n\r\nconst VeneerSize = () =>\r\n import(/* webpackChunkName: \"veneerSize\" */ '@/views/catalogues/veneer/veneerSize/VeneerSize.vue');\r\n\r\nconst VeneerThickness = () =>\r\n import(/* webpackChunkName: \"veneerThickness\" */ '@/views/catalogues/veneer/veneerThickness/VeneerThickness.vue');\r\n\r\nconst VeneerSpecie = () =>\r\n import(/* webpackChunkName: \"veneerSpecie\" */ '@/views/catalogues/veneer/veneerSpecie/VeneerSpecie.vue');\r\n\r\nconst VeneerWetness = () =>\r\n import(/* webpackChunkName: \"veneerWetness\" */ '@/views/catalogues/veneer/veneerWetness/VeneerWetness.vue');\r\n\r\nconst VeneerMaxUsedShiftCountOfStorage = () =>\r\n import(\r\n /* webpackChunkName: \"veneerMaxUsedShiftCountOfStorage\" */ '@/views/catalogues/veneer/veneerMaxUsedShiftCountOfStorage/VeneerMaxUsedShiftCountOfStorage.vue'\r\n );\r\n\r\nconst VeneerPatchingGrade = () =>\r\n import(\r\n /* webpackChunkName: \"veneerPatchingGrade\" */ '@/views/catalogues/veneer/veneerPatchingGrade/VeneerPatchingGrade.vue'\r\n );\r\n\r\nconst Veneer = () => import(/* webpackChunkName: \"veneer\" */ '@/views/catalogues/veneer/Veneer.vue');\r\n\r\nconst PlywoodSize = () =>\r\n import(/* webpackChunkName: \"plywoodSize\" */ '@/views/catalogues/plywood/plywoodSize/PlywoodSize.vue');\r\n\r\nconst PlywoodThickness = () =>\r\n import(\r\n /* webpackChunkName: \"plywoodThickness\" */ '@/views/catalogues/plywood/plywoodThickness/PlywoodThickness.vue'\r\n );\r\n\r\nconst PlywoodGrade = () =>\r\n import(/* webpackChunkName: \"plywoodGrade\" */ '@/views/catalogues/plywood/plywoodGrade/PlywoodGrade.vue');\r\n\r\nconst PlywoodSpecie = () =>\r\n import(/* webpackChunkName: \"plywoodSpecie\" */ '@/views/catalogues/plywood/plywoodSpecie/PlywoodSpecie.vue');\r\n\r\nconst PlywoodSurface = () =>\r\n import(/* webpackChunkName: \"plywoodSurface\" */ '@/views/catalogues/plywood/plywoodSurface/PlywoodSurface.vue');\r\n\r\nconst PlywoodWaterResistance = () =>\r\n import(\r\n /* webpackChunkName: \"plywoodWaterResistance\" */ '@/views/catalogues/plywood/plywoodWaterResistance/PlywoodWaterResistance.vue'\r\n );\r\n\r\nconst ComplectationRule = () =>\r\n import(\r\n /* webpackChunkName: \"complectationRule\" */ '@/views/catalogues/plywood/complectationRule/ComplectationRule.vue'\r\n );\r\n\r\nconst WarehouseVeneer = () =>\r\n import(\r\n /* webpackChunkName: \"warehouseVeneer\" */ '@/views/catalogues/warehouse/warehouseVeneer/WarehouseVeneer.vue'\r\n );\r\n\r\nconst WarehousePlywood = () =>\r\n import(\r\n /* webpackChunkName: \"warehousePlywood\" */ '@/views/catalogues/warehouse/warehousePlywood/WarehousePlywood.vue'\r\n );\r\n\r\nconst ShiftTml = () => import(/* webpackChunkName: \"shiftTml\" */ '@/views/catalogues/shift/shiftTml/ShiftTml.vue');\r\n\r\nconst DaySchedule = () =>\r\n import(/* webpackChunkName: \"daySchedule\" */ '@/views/catalogues/shift/daySchedule/DaySchedule.vue');\r\n\r\nconst OrderCustomProperty = () =>\r\n import(\r\n /* webpackChunkName: \"orderCustomProperty\" */ '@/views/catalogues/orderCustomProperty/OrderCustomProperty.vue'\r\n );\r\n\r\nconst EquipmentType = () =>\r\n import(/* webpackChunkName: \"equipmentType\" */ '@/views/catalogues/equipment/equipmentType/EquipmentType.vue');\r\n\r\nconst EquipmentSettings = () =>\r\n import(\r\n /* webpackChunkName: \"equipmentSettings\" */ '@/views/catalogues/equipment/equipmentSettings/EquipmentSettings.vue'\r\n );\r\n\r\nconst WarehouseVeneerEquipmentTypeLink = () =>\r\n import(\r\n /* webpackChunkName: \"warehouseVeneerEquipmentTypeLink\" */ '@/views/catalogues/equipment/warehouseVeneerEquipmentTypeLink/WarehouseVeneerEquipmentTypeLink.vue'\r\n );\r\n\r\nconst WarehousePlywoodEquipmentTypeLink = () =>\r\n import(\r\n /* webpackChunkName: \"warehousePlywoodEquipmentTypeLink\" */ '@/views/catalogues/equipment/warehousePlywoodEquipmentTypeLink/WarehousePlywoodEquipmentTypeLink.vue'\r\n );\r\n\r\nconst PlywoodProductionDistribution = () =>\r\n import(\r\n /* webpackChunkName: \"plywoodProductionDistribution\" */ '@/views/catalogues/equipment/plywoodProductionDistribution/PlywoodProductionDistribution.vue'\r\n );\r\n\r\nconst EquipmentTab = () =>\r\n import(/* webpackChunkName: \"equipmentTab\" */ '@/views/catalogues/equipment/equipmentTab/EquipmentTab.vue');\r\n\r\nconst Equipment = () =>\r\n import(\r\n /* webpackChunkName: \"equipmentTab-equipment\" */ '@/views/catalogues/equipment/equipmentTab/equipment/Equipment.vue'\r\n );\r\n\r\nconst VeneerEquipmentProcess = () =>\r\n import(\r\n /* webpackChunkName: \"equipmentTab-veneerEquipmentProcess\" */ '@/views/catalogues/equipment/equipmentTab/veneerEquipmentProcess/VeneerEquipmentProcess.vue'\r\n );\r\n\r\nconst PlywoodProductionEquipment = () =>\r\n import(\r\n /* webpackChunkName: \"equipmentTab-plywoodProductionEquipment\" */ '@/views/catalogues/equipment/equipmentTab/plywoodProductionEquipment/PlywoodProductionEquipment.vue'\r\n );\r\n\r\nconst PlywoodProcessingEquipment = () =>\r\n import('@/views/catalogues/equipment/equipmentTab/plywoodProcessingEquipment/PlywoodProcessingEquipment.vue');\r\n\r\nconst PlywoodProcessingProcess = () =>\r\n import(\r\n '@/views/catalogues/equipment/equipmentTab/plywoodProcessing/plywoodProcessingProcess/PlywoodProcessingProcess.vue'\r\n );\r\n\r\nconst EquipmentPlywoodProcessingProcessLink = () =>\r\n import(\r\n '@/views/catalogues/equipment/equipmentTab/plywoodProcessing/equipmentPlywoodProcessingProcessLink/EquipmentPlywoodProcessingProcessLink.vue'\r\n );\r\n\r\nconst EquipmentPlywoodProcessingProcessGroupLink = () =>\r\n import(\r\n '@/views/catalogues/equipment/equipmentTab/plywoodProcessing/equipmentPlywoodProcessingProcessGroupLink/EquipmentPlywoodProcessingProcessGroupLink.vue'\r\n );\r\n\r\nconst PlywoodProcessingProcessGroupLink = () =>\r\n import(\r\n '@/views/catalogues/equipment/equipmentTab/plywoodProcessing/plywoodProcessingProcessGroupLink/PlywoodProcessingProcessGroupLink.vue'\r\n );\r\nconst PlywoodProcessingProcessGroup = () =>\r\n import(\r\n '@/views/catalogues/equipment/equipmentTab/plywoodProcessing/plywoodProcessingProcessGroup/PlywoodProcessingProcessGroup.vue'\r\n );\r\nconst PlywoodProductionProcess = () =>\r\n import(\r\n /* webpackChunkName: \"equipmentTab-plywoodProductionProcess\" */ '@/views/catalogues/equipment/equipmentTab/plywoodProductionProcess/PlywoodProductionProcess.vue'\r\n );\r\n\r\nconst VeneerEquipmentProcessLink = () =>\r\n import(\r\n /* webpackChunkName: \"equipmentTab-veneerEquipmentProcessLink\" */ '@/views/catalogues/equipment/equipmentTab/veneerEquipmentProcessLink/VeneerEquipmentProcessLink.vue'\r\n );\r\n\r\nconst VeneerEquipmentGroupLink = () =>\r\n import(\r\n /* webpackChunkName: \"equipmentTab-veneerEquipmentGroupLink\" */ '@/views/catalogues/equipment/equipmentTab/veneerEquipmentGroupLink/VeneerEquipmentGroupLink.vue'\r\n );\r\n\r\nconst VeneerEquipmentProcessGroupLink = () =>\r\n import(\r\n /* webpackChunkName: \"equipmentTab-veneerEquipmentProcessGroupLink\" */ '@/views/catalogues/equipment/equipmentTab/veneerEquipmentProcessGroupLink/VeneerEquipmentProcessGroupLink.vue'\r\n );\r\n\r\nconst PlywoodProductionSupportEquipment = () =>\r\n import(\r\n /* webpackChunkName: \"equipmentTab-plywoodProductionSupportEquipment\" */ '@/views/catalogues/equipment/equipmentTab/plywoodProductionSupportEquipment/PlywoodProductionSupportEquipment.vue'\r\n );\r\n\r\nconst VeneerEquipmentGroup = () =>\r\n import(\r\n /* webpackChunkName: \"equipmentTab-veneerEquipmentGroup\" */ '@/views/catalogues/equipment/equipmentTab/veneerEquipmentGroup/VeneerEquipmentGroup.vue'\r\n );\r\n\r\nexport default [\r\n {\r\n name: 'woodSpecie',\r\n path: api.catalogues.woodSpecie,\r\n component: WoodSpecie,\r\n },\r\n {\r\n name: 'veneerOuterGrade',\r\n path: api.catalogues.veneerOuterGrade,\r\n component: VeneerOuterGrade,\r\n },\r\n {\r\n name: 'veneerSize',\r\n path: api.catalogues.veneerSize,\r\n component: VeneerSize,\r\n },\r\n {\r\n name: 'veneerThickness',\r\n path: api.catalogues.veneerThickness,\r\n component: VeneerThickness,\r\n },\r\n {\r\n name: 'veneerSpecie',\r\n path: api.catalogues.veneerSpecie,\r\n component: VeneerSpecie,\r\n },\r\n {\r\n name: 'veneerWetness',\r\n path: api.catalogues.veneerWetness,\r\n component: VeneerWetness,\r\n },\r\n {\r\n name: 'veneerMaxUsedShiftCountOfStorage',\r\n path: api.catalogues.veneerMaxUsedShiftCountOfStorage,\r\n component: VeneerMaxUsedShiftCountOfStorage,\r\n },\r\n {\r\n name: 'veneerPatchingGrade',\r\n path: api.catalogues.veneerPatchingGrade,\r\n component: VeneerPatchingGrade,\r\n },\r\n {\r\n name: 'veneer',\r\n path: api.catalogues.veneer,\r\n component: Veneer,\r\n },\r\n {\r\n name: 'plywoodSize',\r\n path: api.catalogues.plywoodSize,\r\n component: PlywoodSize,\r\n },\r\n {\r\n name: 'plywoodThickness',\r\n path: api.catalogues.plywoodThickness,\r\n component: PlywoodThickness,\r\n },\r\n {\r\n name: 'plywoodGrade',\r\n path: api.catalogues.plywoodGrade,\r\n component: PlywoodGrade,\r\n },\r\n {\r\n name: 'plywoodSpecie',\r\n path: api.catalogues.plywoodSpecie,\r\n component: PlywoodSpecie,\r\n },\r\n {\r\n name: 'plywoodSurface',\r\n path: api.catalogues.plywoodSurface,\r\n component: PlywoodSurface,\r\n },\r\n {\r\n name: 'plywoodWaterResistance',\r\n path: api.catalogues.plywoodWaterResistance,\r\n component: PlywoodWaterResistance,\r\n },\r\n {\r\n name: 'complectationRule',\r\n path: api.catalogues.complectationRule,\r\n component: ComplectationRule,\r\n },\r\n {\r\n name: 'warehouseVeneer',\r\n path: api.catalogues.warehouseVeneer,\r\n component: WarehouseVeneer,\r\n },\r\n {\r\n name: 'warehousePlywood',\r\n path: api.catalogues.warehousePlywood,\r\n component: WarehousePlywood,\r\n },\r\n {\r\n name: 'shiftTml',\r\n path: api.catalogues.shiftTml,\r\n component: ShiftTml,\r\n },\r\n {\r\n name: 'daySchedule',\r\n path: api.catalogues.daySchedule,\r\n component: DaySchedule,\r\n },\r\n {\r\n name: 'cataloguesEquipmentType',\r\n path: api.catalogues.equipmentType,\r\n component: EquipmentType,\r\n },\r\n {\r\n name: 'equipmentSettings',\r\n path: api.catalogues.equipmentSettings,\r\n component: EquipmentSettings,\r\n },\r\n {\r\n name: 'warehouseVeneerEquipmentTypeLink',\r\n path: api.catalogues.warehouseVeneerEquipmentTypeLink,\r\n component: WarehouseVeneerEquipmentTypeLink,\r\n },\r\n {\r\n name: 'warehousePlywoodEquipmentTypeLink',\r\n path: api.catalogues.warehousePlywoodEquipmentTypeLink,\r\n component: WarehousePlywoodEquipmentTypeLink,\r\n },\r\n {\r\n name: 'plywoodProductionDistribution',\r\n path: api.catalogues.plywoodProductionDistribution,\r\n component: PlywoodProductionDistribution,\r\n },\r\n {\r\n name: 'orderCustomProperty',\r\n path: api.catalogues.orderCustomProperty,\r\n component: OrderCustomProperty,\r\n },\r\n {\r\n name: 'equipmentTab',\r\n path: api.catalogues.equipmentTab,\r\n component: EquipmentTab,\r\n children: [\r\n {\r\n name: 'equipmentTab-veneerProductionEquipment',\r\n path: api.catalogues.veneerProductionEquipment.slice(1),\r\n component: Equipment,\r\n props: () => ({equipmentCategory: equipmentCategoryConfig.VeneerProductionEquipment}),\r\n },\r\n {\r\n name: 'equipmentTab-veneerProcessingEquipment',\r\n path: api.catalogues.veneerProcessingEquipment.slice(1),\r\n component: Equipment,\r\n props: () => ({equipmentCategory: equipmentCategoryConfig.VeneerProcessingEquipment}),\r\n },\r\n {\r\n name: 'equipmentTab-veneerEquipmentProcess',\r\n path: api.catalogues.veneerEquipmentProcess.slice(1),\r\n component: VeneerEquipmentProcess,\r\n },\r\n {\r\n name: 'equipmentTab-plywoodProductionEquipment',\r\n path: api.catalogues.plywoodProductionEquipment.slice(1),\r\n component: PlywoodProductionEquipment,\r\n },\r\n {\r\n name: 'equipmentTab-plywoodProductionProcess',\r\n path: api.catalogues.plywoodProductionProcess.slice(1),\r\n component: PlywoodProductionProcess,\r\n },\r\n {\r\n name: 'equipmentTab-veneerEquipmentProcessLink',\r\n path: api.catalogues.veneerEquipmentProcessLink.slice(1),\r\n component: VeneerEquipmentProcessLink,\r\n },\r\n {\r\n name: 'equipmentTab-veneerEquipmentGroupLink',\r\n path: api.catalogues.veneerEquipmentGroupLink.slice(1),\r\n component: VeneerEquipmentGroupLink,\r\n },\r\n {\r\n name: 'equipmentTab-veneerEquipmentProcessGroupLink',\r\n path: api.catalogues.veneerEquipmentProcessGroupLink.slice(1),\r\n component: VeneerEquipmentProcessGroupLink,\r\n },\r\n {\r\n name: 'equipmentTab-plywoodProductionSupportEquipment',\r\n path: api.catalogues.plywoodProductionSupportEquipment.slice(1),\r\n component: PlywoodProductionSupportEquipment,\r\n },\r\n {\r\n name: 'equipmentTab-veneerEquipmentGroup',\r\n path: api.catalogues.veneerEquipmentGroup.slice(1),\r\n component: VeneerEquipmentGroup,\r\n },\r\n {\r\n name: 'equipmentTab-plywoodProcessing-plywoodProcessingEquipment',\r\n path: api.catalogues.plywoodProcessingEquipment.slice(1),\r\n component: PlywoodProcessingEquipment,\r\n },\r\n {\r\n name: 'equipmentTab-plywoodProcessing-plywoodProcessingProcess',\r\n path: api.catalogues.plywoodProcessingProcess.slice(1),\r\n component: PlywoodProcessingProcess,\r\n },\r\n {\r\n name: 'equipmentTab-plywoodProcessing-equipmentPlywoodProcessingProcessLink',\r\n path: api.catalogues.equipmentPlywoodProcessingProcessLink.slice(1),\r\n component: EquipmentPlywoodProcessingProcessLink,\r\n },\r\n {\r\n name: 'equipmentTab-plywoodProcessing-equipmentPlywoodProcessingProcessGroupLink',\r\n path: api.catalogues.equipmentPlywoodProcessingProcessGroupLink.slice(1),\r\n component: EquipmentPlywoodProcessingProcessGroupLink,\r\n },\r\n {\r\n name: 'equipmentTab-plywoodProcessing-plywoodProcessingProcessGroupLink',\r\n path: api.catalogues.plywoodProcessingProcessGroupLink.slice(1),\r\n component: PlywoodProcessingProcessGroupLink,\r\n },\r\n {\r\n name: 'equipmentTab-plywoodProcessing-plywoodProcessingProcessGroup',\r\n path: api.catalogues.plywoodProcessingProcessGroup.slice(1),\r\n component: PlywoodProcessingProcessGroup,\r\n },\r\n ],\r\n },\r\n];\r\n","import api from '@/configs/ApiConfig';\r\nconst User = () => import(/*webpackChunkName: \"user\"*/ '@/views/administration/user/User.vue');\r\n\r\nconst Role = () => import(/*webpackChunkName: \"company\"*/ '@/views/administration/role/Role.vue');\r\n\r\nconst UserRoleLink = () => import(/*webpackChunkName: \"user\"*/ '@/views/administration/userRoleLink/UserRoleLink.vue');\r\n\r\nconst RolePolicyLink = () =>\r\n import(/*webpackChunkName: \"user\"*/ '@/views/administration/rolePolicyLink/RolePolicyLink.vue');\r\n\r\nconst Company = () => import(/*webpackChunkName: \"company\"*/ '@/views/administration/company/Company.vue');\r\n\r\nconst AdminUser = () => import(/*webpackChunkName: \"user\"*/ '@/views/administration/adminUser/AdminUser.vue');\r\n\r\nconst Logging = () => import(/*webpackChunkName: \"logging\"*/ '@/views/administration/logging/Logging.vue');\r\n\r\nexport default [\r\n {\r\n name: 'user',\r\n path: api.administration.user,\r\n component: User,\r\n },\r\n {\r\n name: 'role',\r\n path: api.administration.role,\r\n component: Role,\r\n },\r\n {\r\n name: 'userRoleLink',\r\n path: api.administration.userRoleLink,\r\n component: UserRoleLink,\r\n },\r\n {\r\n name: 'rolePolicyLink',\r\n path: api.administration.rolePolicyLink,\r\n component: RolePolicyLink,\r\n },\r\n {\r\n name: 'company',\r\n path: api.administration.company,\r\n component: Company,\r\n },\r\n {\r\n name: 'adminUser',\r\n path: api.administration.adminUser,\r\n component: AdminUser,\r\n },\r\n {\r\n name: 'logging',\r\n path: api.administration.logging,\r\n component: Logging,\r\n },\r\n];\r\n","import Vue from 'vue';\r\nimport VueRouter from 'vue-router';\r\nimport NotFound from '../views/NotFound.vue';\r\nimport journalsRoutes from './routes/journals';\r\nimport cataloguesRoutes from './routes/catalogues';\r\nimport administrationRoutes from './routes/administration';\r\n\r\nVue.use(VueRouter);\r\n\r\nconst routes: any = [\r\n {\r\n path: '/home',\r\n alias: '/',\r\n name: 'home',\r\n component: () => import(/* webpackChunkName: \"home\" */ '../views/Home.vue'),\r\n },\r\n {\r\n name: 'settings',\r\n path: '/settings',\r\n component: () => import(/*webpackChunkName: \"settings\"*/ '@/views/settings/Settings.vue'),\r\n },\r\n ...journalsRoutes,\r\n ...cataloguesRoutes,\r\n ...administrationRoutes,\r\n {\r\n path: '*',\r\n component: NotFound,\r\n },\r\n];\r\n\r\nconst router = new VueRouter({\r\n mode: 'history',\r\n base: process.env.BASE_URL,\r\n routes,\r\n});\r\n\r\nexport default router;\r\n","import Vue from 'vue';\r\nimport VueI18n from 'vue-i18n';\r\n\r\nVue.use(VueI18n);\r\n\r\nexport default new VueI18n({\r\n locale: process.env.VUE_APP_I18N_LOCALE || 'en',\r\n fallbackLocale: process.env.VUE_APP_I18N_FALLBACK_LOCALE || 'en',\r\n silentTranslationWarn: true,\r\n});\r\n","import Vue from 'vue';\r\nimport Vuetify from 'vuetify/lib';\r\n\r\nVue.use(Vuetify);\r\n\r\nexport default new Vuetify({\r\n theme: {\r\n options: {\r\n customProperties: true,\r\n },\r\n themes: {\r\n light: {\r\n plywood: '#a25d4d',\r\n },\r\n dark: {\r\n plywood: '#a25d4d',\r\n },\r\n },\r\n },\r\n});\r\n","import Vue from 'vue';\r\nimport Toasted from 'vue-toasted';\r\n\r\nVue.use(Toasted, {\r\n position: 'bottom-left',\r\n duration: 2000,\r\n keepOnHover: true,\r\n iconPack: 'mdi',\r\n});\r\n","import Vue from 'vue';\r\nimport VueTippy, {TippyComponent} from 'vue-tippy';\r\n\r\nVue.use(VueTippy, {\r\n placement: 'bottom',\r\n theme: 'google',\r\n animation: 'scale',\r\n});\r\n\r\nVue.component('tippy', TippyComponent);\r\n","import {Module} from 'vuex';\r\nimport {RootState} from '@/store';\r\nimport {login, logout, requestDemo} from '@/api';\r\nimport {setRefreshToken} from '@/utils';\r\nimport {DemoForm} from '@/models/LoginModel';\r\n\r\ntype LoginState = {\r\n loading: boolean;\r\n wrongLoginOrPassword: boolean;\r\n};\r\n\r\nconst LoginModule: Module = {\r\n namespaced: true,\r\n state: {\r\n loading: false,\r\n wrongLoginOrPassword: false,\r\n },\r\n mutations: {\r\n setLoading: (state, bool) => (state.loading = bool),\r\n setWrongLoginOrPassword: (state, bool) => (state.wrongLoginOrPassword = bool),\r\n },\r\n actions: {\r\n login: ({commit, dispatch}, loginForm) => {\r\n return new Promise(async resolve => {\r\n commit('setLoading', true);\r\n try {\r\n const {data} = await login(loginForm);\r\n commit('setToken', data.Token, {root: true});\r\n setRefreshToken(data.RefreshToken);\r\n await dispatch('getStatus', undefined, {root: true});\r\n commit('setAuthorized', true, {root: true});\r\n resolve();\r\n } catch (e) {\r\n if (e?.response.status === 404) commit('setWrongLoginOrPassword', true);\r\n throw e;\r\n } finally {\r\n commit('setLoading', false);\r\n }\r\n });\r\n },\r\n logout: async ({commit}) => {\r\n try {\r\n await logout();\r\n commit('setAuthorized', false, {root: true});\r\n commit('setStatus', null, {root: true});\r\n commit('setToken', null, {root: true});\r\n setRefreshToken(null);\r\n } catch (e) {\r\n console.log(e);\r\n }\r\n },\r\n requestDemo: ({commit}, form: DemoForm) => {\r\n return new Promise(async resolve => {\r\n commit('setLoading', true);\r\n try {\r\n await requestDemo(form);\r\n resolve();\r\n } finally {\r\n commit('setLoading', false);\r\n }\r\n });\r\n },\r\n },\r\n};\r\n\r\nexport default LoginModule;\r\n","import {Module} from 'vuex';\r\nimport {RootState} from '@/store';\r\nimport PlanEditModel, {SolveModel, WarehouseDescription} from '@/models/PlanEditModel';\r\nimport {\r\n fetchApprove,\r\n fetchCopyData,\r\n fetchData,\r\n fetchDisapprove,\r\n fetchSolveCancel,\r\n fetchSolveProgress,\r\n fetchSolveRun,\r\n fetchWarehousePlywood,\r\n fetchWarehouseVeneer,\r\n} from '@/api/journals/plan/edit';\r\n\r\ntype PlanEditState = {\r\n loading: boolean;\r\n planEdit: PlanEditModel | null;\r\n solve: SolveModel | null;\r\n solveProgressTimer: number | null;\r\n warehousePlywoodDescriptions: WarehouseDescription[] | null;\r\n warehouseVeneerDescriptions: WarehouseDescription[] | null;\r\n hasUnsavedChanges: boolean;\r\n planCalculationCount: number;\r\n disabledTabs: boolean;\r\n};\r\n\r\nconst initialState = {\r\n planEdit: null,\r\n loading: false,\r\n solve: null,\r\n solveProgressTimer: null,\r\n warehousePlywoodDescriptions: null,\r\n warehouseVeneerDescriptions: null,\r\n hasUnsavedChanges: false,\r\n planCalculationCount: 0,\r\n disabledTabs: false,\r\n};\r\n\r\nconst getInitialState = () => initialState;\r\n\r\nconst PlanEditModule: Module = {\r\n namespaced: true,\r\n state: {\r\n planEdit: null,\r\n loading: false,\r\n solve: null,\r\n solveProgressTimer: null,\r\n warehousePlywoodDescriptions: null,\r\n warehouseVeneerDescriptions: null,\r\n hasUnsavedChanges: false,\r\n planCalculationCount: 0,\r\n disabledTabs: false,\r\n },\r\n getters: {\r\n hasResult: state => !!state.planEdit?.IdLastPlanRes,\r\n },\r\n mutations: {\r\n setPlanEdit: (state, data) => {\r\n state.planEdit = data;\r\n },\r\n setLoading: (state, bool) => {\r\n state.loading = bool;\r\n },\r\n setSolve: (state, data) => {\r\n state.solve = data;\r\n },\r\n setSolveProgressTimer: (state, timer) => {\r\n state.solveProgressTimer = timer;\r\n },\r\n setWarehouseVeneer: (state, descriptions) => (state.warehouseVeneerDescriptions = descriptions),\r\n setWarehousePlywood: (state, descriptions) => (state.warehousePlywoodDescriptions = descriptions),\r\n setHasUnsavedChanges: (state, bool) => (state.hasUnsavedChanges = bool),\r\n clearState: state => Object.assign(state, getInitialState()),\r\n increasePlanCalculationCount: state => (state.planCalculationCount += 1),\r\n setDisabledTabs: (state, bool) => (state.disabledTabs = bool),\r\n },\r\n actions: {\r\n getExtendedView: ({commit, dispatch}, {externalData, id, needCopy}) => {\r\n return new Promise(async (resolve, reject) => {\r\n if (externalData) {\r\n commit('setPlanEdit', JSON.parse(externalData));\r\n resolve();\r\n }\r\n try {\r\n let data;\r\n if (needCopy) data = await dispatch('getCopy', id);\r\n else {\r\n const response = await fetchData(id);\r\n data = response.data;\r\n }\r\n commit('setPlanEdit', data);\r\n resolve();\r\n } catch (e) {\r\n reject(e);\r\n }\r\n });\r\n },\r\n getCopy: ({commit, state}, id: number) => {\r\n return new Promise(async (resolve, reject) => {\r\n commit('setLoading', true);\r\n try {\r\n const {data} = await fetchCopyData(id);\r\n resolve(data);\r\n } catch (e) {\r\n reject(e);\r\n } finally {\r\n commit('setLoading', false);\r\n }\r\n });\r\n },\r\n getSolveProgress: (\r\n {commit, state, dispatch},\r\n {id, needUpdateExtendedView}: {id: number; needUpdateExtendedView: boolean | undefined},\r\n ) => {\r\n return new Promise(async (resolve, reject) => {\r\n try {\r\n const {data} = await fetchSolveProgress(id);\r\n commit('setSolve', data);\r\n if (!data.IsFinalState) {\r\n commit('setPlanEdit', Object.assign(state.planEdit, {State: data.Message}));\r\n commit(\r\n 'setSolveProgressTimer',\r\n setTimeout(() => dispatch('getSolveProgress', {id, needUpdateExtendedView: true}), 500),\r\n );\r\n } else if (needUpdateExtendedView) {\r\n await dispatch('getExtendedView', {id});\r\n if (state.planEdit?.IdLastPlanRes) {\r\n await dispatch('planEditResult/getResult', state.planEdit.IdLastPlanRes, {root: true});\r\n commit('increasePlanCalculationCount');\r\n }\r\n }\r\n resolve();\r\n } catch (e) {\r\n reject(e);\r\n }\r\n });\r\n },\r\n solveRun: async ({commit, dispatch}, id: number) => {\r\n try {\r\n const {data} = await fetchSolveRun(id);\r\n commit('setSolve', data);\r\n dispatch('getSolveProgress', {id});\r\n } catch (e) {\r\n console.error(e);\r\n }\r\n },\r\n solveCancel: async ({commit}, id: number) => {\r\n try {\r\n const {data} = await fetchSolveCancel(id);\r\n commit('setSolve', data);\r\n } catch (e) {\r\n console.error(e);\r\n }\r\n },\r\n init: async ({commit, dispatch, state}, payload: {externalData: string; id: number; needCopy: boolean}) => {\r\n commit('setLoading', true);\r\n try {\r\n dispatch('getWarehouseVeneerDescriptions');\r\n dispatch('getWarehousePlywoodDescriptions');\r\n if (payload.needCopy) {\r\n await dispatch('getExtendedView', payload);\r\n await dispatch('getSolveProgress', {id: state.planEdit?.Id});\r\n } else {\r\n await Promise.all([\r\n dispatch('getExtendedView', payload),\r\n dispatch('getSolveProgress', {id: payload.id}),\r\n ]);\r\n }\r\n } finally {\r\n commit('setLoading', false);\r\n }\r\n },\r\n clearSolveProgressTimer: ({commit, state}) => {\r\n if (state.solveProgressTimer) {\r\n clearTimeout(state.solveProgressTimer);\r\n commit('setSolveProgressTimer', null);\r\n }\r\n },\r\n getWarehouseVeneerDescriptions: ({commit}) => {\r\n return new Promise(async (resolve, reject) => {\r\n try {\r\n const {data} = await fetchWarehouseVeneer();\r\n commit('setWarehouseVeneer', data);\r\n resolve();\r\n } catch (e) {\r\n reject(e);\r\n }\r\n });\r\n },\r\n getWarehousePlywoodDescriptions: ({commit}) => {\r\n return new Promise(async (resolve, reject) => {\r\n try {\r\n const {data} = await fetchWarehousePlywood();\r\n commit('setWarehousePlywood', data);\r\n resolve();\r\n } catch (e) {\r\n reject(e);\r\n }\r\n });\r\n },\r\n approvePlan: ({commit}, id: number) => {\r\n return new Promise(async (resolve, reject) => {\r\n try {\r\n const {data} = await fetchApprove(id);\r\n commit('setPlanEdit', data);\r\n resolve();\r\n } catch (e) {\r\n reject(e);\r\n }\r\n });\r\n },\r\n disapprovePlan: ({commit}, id: number) => {\r\n return new Promise(async (resolve, reject) => {\r\n try {\r\n const {data} = await fetchDisapprove(id);\r\n commit('setPlanEdit', data);\r\n resolve();\r\n } catch (e) {\r\n reject(e);\r\n }\r\n });\r\n },\r\n },\r\n};\r\n\r\nexport default PlanEditModule;\r\n","import {Module} from 'vuex';\r\nimport {RootState} from '@/store';\r\nimport PlanEditResultModel, {PlanEditResultCurrentConfig} from '@/models/PlanEditResultModel';\r\nimport {\r\n fetchEquipmentTypesFormCatalogue,\r\n fetchResult,\r\n fetchResultConfig,\r\n fetchResultConfigsDescriptions,\r\n fetchSetResultConfig,\r\n} from '@/api/journals/plan/edit/result';\r\nimport {WarehouseDescription} from '@/models/PlanEditModel';\r\n\r\ntype PlanEditResultState = {\r\n loading: boolean;\r\n result: PlanEditResultModel | null;\r\n currentConfig: PlanEditResultCurrentConfig | null;\r\n isEditing: boolean;\r\n resultConfigsDescriptions: PlanEditResultCurrentConfig[] | null;\r\n equipmentTypesFromCatalogue: WarehouseDescription[] | null;\r\n};\r\n\r\nconst initialState = {\r\n loading: false,\r\n result: null,\r\n currentConfig: null,\r\n isEditing: false,\r\n resultConfigsDescriptions: null,\r\n equipmentTypesFromCatalogue: null,\r\n};\r\n\r\nconst getInitialState = () => initialState;\r\n\r\nconst PlanEditResultModule: Module = {\r\n namespaced: true,\r\n state: {\r\n loading: false,\r\n result: null,\r\n currentConfig: null,\r\n isEditing: false,\r\n resultConfigsDescriptions: null,\r\n equipmentTypesFromCatalogue: null,\r\n },\r\n getters: {\r\n shifts: state => state.result?.Shifts,\r\n equipmentTypes: state => state.result?.EquipmentTypes,\r\n hasOwnConfig: state => !!state.currentConfig,\r\n },\r\n mutations: {\r\n setResult: (state, data) => {\r\n state.result = data;\r\n },\r\n setLoading: (state, bool) => {\r\n state.loading = bool;\r\n },\r\n setCurrentConfig: (state, config) => {\r\n state.currentConfig = config;\r\n },\r\n setIsEditing: (state, bool) => (state.isEditing = bool),\r\n setResultConfigsDescriptions: (state, desc) => (state.resultConfigsDescriptions = desc),\r\n clearState: state => Object.assign(state, getInitialState()),\r\n setEquipmentTypeFromCatalogue: (state, descriptions) => (state.equipmentTypesFromCatalogue = descriptions),\r\n },\r\n actions: {\r\n getResult: ({commit}, idPlan) => {\r\n return new Promise(async (resolve, reject) => {\r\n try {\r\n const {data} = await fetchResult(idPlan);\r\n commit('setResult', data);\r\n commit('setCurrentConfig', data.CurrentConfig);\r\n resolve();\r\n } catch (e) {\r\n console.error(e);\r\n reject(e);\r\n }\r\n });\r\n },\r\n getResultConfig: ({commit}, idPlan) => {\r\n return new Promise(async (resolve, reject) => {\r\n try {\r\n const {data} = await fetchResultConfig(idPlan);\r\n commit('setCurrentConfig', data);\r\n resolve();\r\n } catch (e) {\r\n reject(e);\r\n }\r\n });\r\n },\r\n setResultConfig: async ({commit}, {idResultConfig, idResult}) => {\r\n try {\r\n const {data} = await fetchSetResultConfig(idResult, idResultConfig);\r\n commit('setCurrentConfig', data);\r\n } catch (e) {\r\n throw e;\r\n }\r\n },\r\n getResultConfigsDescriptions: ({commit}) => {\r\n return new Promise(async (resolve, reject) => {\r\n try {\r\n const {data} = await fetchResultConfigsDescriptions();\r\n commit('setResultConfigsDescriptions', data);\r\n resolve();\r\n } catch (e) {\r\n reject(e);\r\n }\r\n });\r\n },\r\n getEquipmentTypesFromCatalogue: ({commit}) => {\r\n return new Promise(async (resolve, reject) => {\r\n try {\r\n const {data} = await fetchEquipmentTypesFormCatalogue();\r\n commit('setEquipmentTypeFromCatalogue', data);\r\n resolve();\r\n } catch (e) {\r\n reject(e);\r\n }\r\n });\r\n },\r\n init: async ({commit, dispatch}, idPlan) => {\r\n commit('setLoading', true);\r\n try {\r\n await Promise.all([\r\n dispatch('getResult', idPlan),\r\n dispatch('getResultConfigsDescriptions'),\r\n dispatch('getEquipmentTypesFromCatalogue'),\r\n ]);\r\n } finally {\r\n commit('setLoading', false);\r\n }\r\n },\r\n },\r\n};\r\n\r\nexport default PlanEditResultModule;\r\n","import {httpClient} from '@/main';\r\nimport {Localization, Status} from '@/models/AppModel';\r\nimport {getRefreshToken} from '@/utils';\r\nimport {DemoForm, LoginForm, LoginSuccess} from '@/models/LoginModel';\r\n\r\nexport const fetchLocalization = () => httpClient.get('localization/getLocalization');\r\nexport const changeLanguage = (culture: string) =>\r\n httpClient.post('localization/setCulture', null, {\r\n params: {\r\n culture,\r\n },\r\n });\r\nexport const fetchStatus = () => httpClient.get('login/getStatus');\r\nexport const changeCompany = (idCompany: number) =>\r\n httpClient.post('login/changeCompany', null, {\r\n params: {\r\n idCompany,\r\n },\r\n });\r\nexport const login = ({userName, password, rememberMe}: LoginForm) =>\r\n httpClient.post('login/login', {\r\n userName,\r\n password,\r\n rememberMe,\r\n });\r\nexport const logout = () =>\r\n httpClient.get('login/logout', {\r\n params: {\r\n refreshToken: getRefreshToken(),\r\n },\r\n });\r\nexport const refresh = () =>\r\n httpClient.get('login/refresh', {\r\n params: {\r\n refreshToken: getRefreshToken(),\r\n },\r\n });\r\nexport const requestDemo = (form: DemoForm) =>\r\n httpClient.post('login/customerRequestDemo', {\r\n ...form,\r\n });\r\n","import {Module} from 'vuex';\r\nimport {RootState} from '@/store';\r\nimport {fetchCreate, fetchDelete, fetchDeleteAll, fetchDownload, fetchPlan} from '@/api/journals/plan';\r\nimport PlanModel, {DialogData} from '@/models/PlanModel';\r\nimport {PAGINATION_ROW_COUNT_SIZES} from '@/configs/constants';\r\n\r\ntype PlanState = {\r\n loading: boolean;\r\n plan: null | PlanModel;\r\n currentPageIndex: number;\r\n currentRowCount: number;\r\n};\r\n\r\nconst PlanModule: Module = {\r\n namespaced: true,\r\n state: {\r\n loading: false,\r\n plan: null,\r\n currentPageIndex: 1,\r\n currentRowCount: PAGINATION_ROW_COUNT_SIZES[0],\r\n },\r\n getters: {\r\n pagination: state => state.plan?.Paging,\r\n items: state => state.plan?.Items,\r\n },\r\n mutations: {\r\n setLoading: (state, bool) => (state.loading = bool),\r\n setPlan: (state, data) => (state.plan = data),\r\n setCurrentPageIndex: (state, index) => (state.currentPageIndex = index),\r\n setCurrentRowCount: (state, count) => (state.currentRowCount = count),\r\n },\r\n actions: {\r\n getData: ({commit, state}, {pageIndex, rowCount}) => {\r\n if (state.loading) return;\r\n return new Promise(async (resolve, reject) => {\r\n commit('setLoading', true);\r\n commit('setCurrentPageIndex', pageIndex);\r\n commit('setCurrentRowCount', rowCount);\r\n try {\r\n const {data} = await fetchPlan(pageIndex, rowCount);\r\n commit('setPlan', data);\r\n commit('setCurrentPageIndex', data.Paging.PageIndex);\r\n resolve();\r\n } finally {\r\n commit('setLoading', false);\r\n }\r\n });\r\n },\r\n create: ({commit, state}) => {\r\n if (state.loading) return;\r\n return new Promise(async (resolve, reject) => {\r\n commit('setLoading', true);\r\n try {\r\n const {data} = await fetchCreate();\r\n resolve(data);\r\n } catch (e) {\r\n reject(e);\r\n } finally {\r\n commit('setLoading', false);\r\n }\r\n });\r\n },\r\n download: ({commit, state}, id: number) => {\r\n if (state.loading) return;\r\n return new Promise(async (resolve, reject) => {\r\n commit('setLoading', true);\r\n try {\r\n const response = await fetchDownload(id);\r\n resolve(response);\r\n } catch (e) {\r\n reject(e);\r\n } finally {\r\n commit('setLoading', false);\r\n }\r\n });\r\n },\r\n delete: ({commit, state}, {id, page, size}) => {\r\n if (state.loading) return;\r\n return new Promise(async (resolve, reject) => {\r\n try {\r\n const {data} = await fetchDelete(id, page, size);\r\n if (data.Dependencies) resolve(data.Dependencies);\r\n else {\r\n commit('setPlan', data);\r\n resolve(null);\r\n }\r\n } catch (e) {\r\n reject(e);\r\n }\r\n });\r\n },\r\n deleteAll: ({commit, state}) => {\r\n if (state.loading) return;\r\n return new Promise(async (resolve, reject) => {\r\n try {\r\n const {data} = await fetchDeleteAll();\r\n if (data.Dependencies) resolve(data.Dependencies);\r\n else {\r\n commit('setPlan', data);\r\n resolve(null);\r\n }\r\n } catch (e) {\r\n reject(e);\r\n }\r\n });\r\n },\r\n },\r\n};\r\n\r\nexport default PlanModule;\r\n","import {httpClient} from '@/main';\r\nimport PlanEditModel, {SolveModel, WarehouseDescription} from '@/models/PlanEditModel';\r\n\r\nexport const fetchData = (id: number) =>\r\n httpClient.get('plan/getExtendedView', {\r\n params: {\r\n id,\r\n },\r\n });\r\n\r\nexport const fetchCopyData = (id: number) =>\r\n httpClient.post('plan/copy', null, {\r\n params: {\r\n id,\r\n },\r\n });\r\n\r\nexport const fetchSolveRun = (idPlan: number) =>\r\n httpClient.post('solve/run', null, {\r\n params: {\r\n idPlan,\r\n },\r\n });\r\n\r\nexport const fetchSolveCancel = (idPlan: number) =>\r\n httpClient.post('solve/cancel', null, {\r\n params: {\r\n idPlan,\r\n },\r\n });\r\n\r\nexport const fetchSolveProgress = (idPlan: number) =>\r\n httpClient.get('solve/progress', {\r\n params: {\r\n idPlan,\r\n },\r\n });\r\n\r\nexport const fetchWarehousePlywood = () => httpClient.get('warehousePlywood/getDescriptions');\r\nexport const fetchWarehouseVeneer = () => httpClient.get('warehouseVeneer/getDescriptions');\r\nexport const fetchApprove = (id: number) =>\r\n httpClient.get('plan/Approve', {\r\n params: {\r\n id,\r\n },\r\n is400ErrorHandled: true,\r\n } as any);\r\nexport const fetchDisapprove = (id: number) =>\r\n httpClient.get('plan/Disapprove', {\r\n params: {\r\n id,\r\n },\r\n is400ErrorHandled: true,\r\n } as any);\r\n","import {httpClient} from '@/main';\r\nimport PlanEditResultModel from '@/models/PlanEditResultModel';\r\nimport {WarehouseDescription} from '@/models/PlanEditModel';\r\n\r\nexport const fetchResult = (id: number) =>\r\n httpClient.get('planRes/getExtendedView', {\r\n params: {\r\n id,\r\n },\r\n });\r\n\r\nexport const fetchResultConfig = (id: number) =>\r\n httpClient.get('planRes/getCurrentConfig', {\r\n params: {\r\n id,\r\n },\r\n });\r\n\r\nexport const fetchSetResultConfig = (id: number, idResultConfig: number) =>\r\n httpClient.post('planRes/setCurrentConfig', null, {\r\n params: {\r\n id,\r\n idResultConfig,\r\n },\r\n });\r\n\r\nexport const fetchResultConfigsDescriptions = () => httpClient.get('resultConfig/getDescriptions');\r\n\r\nexport const fetchEquipmentTypesFormCatalogue = () =>\r\n httpClient.get('equipmentType/getDescriptions');\r\n","import {Module} from 'vuex';\r\nimport {RootState} from '@/store';\r\nimport PlanEditResultConfigTabTypesEnum from '@/enums/PlanEditResultConfigTabTypesEnum';\r\n\r\ntype PlanEditResultEditState = {\r\n activeTabs: PlanEditResultConfigTabTypesEnum[];\r\n currentTabs: Array>;\r\n};\r\n\r\nconst PlanEditResultEditModule: Module = {\r\n namespaced: true,\r\n state: {\r\n activeTabs: [],\r\n currentTabs: [],\r\n },\r\n getters: {},\r\n mutations: {\r\n updateActiveTabs: (state, tabs) => (state.activeTabs = tabs),\r\n updateCurrentTabs: (state, tabs) => (state.currentTabs = tabs),\r\n clear: state => {\r\n state.activeTabs = [];\r\n state.currentTabs = [];\r\n },\r\n },\r\n actions: {},\r\n};\r\n\r\nexport default PlanEditResultEditModule;\r\n","import Vue from 'vue';\r\nimport Vuex, {Commit} from 'vuex';\r\nimport {httpClient} from '@/main';\r\nimport {AxiosPromise} from 'axios';\r\nimport {changeCompany, changeLanguage, fetchLocalization, fetchStatus, refresh} from '@/api';\r\nimport VueI18n from 'vue-i18n';\r\nimport {getRefreshToken, setRefreshToken} from '@/utils';\r\nimport {Status} from '@/models/AppModel';\r\nimport LoginModule from '@/store/modules/loginModule';\r\nimport PlanModule from './modules/planModule';\r\nimport PlanEditModule from '@/store/modules/planEditModule';\r\nimport PlanEditResultModule from '@/store/modules/planEditResultModule';\r\nimport PlanEditResultEditModule from '@/store/modules/PlanEditResultEditModule';\r\n\r\nVue.use(Vuex);\r\n\r\nexport type RootState = {\r\n loading: boolean;\r\n token: string | null;\r\n authorized: boolean;\r\n status: Status | null;\r\n planResultIsEditing: boolean;\r\n};\r\n\r\nexport const store = new Vuex.Store({\r\n state: {\r\n loading: false,\r\n token: null,\r\n authorized: false,\r\n status: null,\r\n planResultIsEditing: false,\r\n },\r\n getters: {\r\n isAdmin: (state, getters) => getters.user && 'allowAdminApp' in getters.user,\r\n user: state => (state.token ? JSON.parse(atob(state.token.split('.')[1])) : null),\r\n companies: state => state.status?.CompanyDescriptions,\r\n equipmentTypes: state => state.status?.EquipmentTypeDescriptions,\r\n idCurrentCompany: state => state.status?.IdCurrentCompany,\r\n hideableProperties: state => state.status?.HideableProperties,\r\n },\r\n mutations: {\r\n setAuthorized: (state, status) => (state.authorized = status),\r\n setStatus: (state, status) => (state.status = status),\r\n setPlanResultIsEditing: (state, bool) => (state.planResultIsEditing = bool),\r\n setToken: (state, token) => {\r\n httpClient.defaults.headers.Authorization = `Bearer ${token}`;\r\n state.token = token;\r\n },\r\n setLoading: (state, bool) => (state.loading = bool),\r\n },\r\n actions: {\r\n getLocalization: ({commit}, i18n: VueI18n) => {\r\n return new Promise(async resolve => {\r\n const {data} = await fetchLocalization();\r\n i18n.locale = data.Culture;\r\n i18n.setLocaleMessage(data.Culture, data.Dictionary);\r\n resolve();\r\n });\r\n },\r\n getStatus: ({commit}) => {\r\n return new Promise(async (resolve, reject) => {\r\n try {\r\n const {data} = await fetchStatus();\r\n commit('setStatus', data);\r\n commit('setAuthorized', true);\r\n resolve();\r\n } catch (e) {\r\n reject(e);\r\n }\r\n });\r\n },\r\n changeLanguage: async ({commit}, {i18n, culture}: {i18n: VueI18n; culture: string}) => {\r\n if (i18n.locale === culture) return;\r\n try {\r\n const {data} = await changeLanguage(culture);\r\n i18n.locale = data.Culture;\r\n i18n.setLocaleMessage(data.Culture, data.Dictionary);\r\n } catch (e) {\r\n console.log(e);\r\n }\r\n },\r\n changeCompany: async ({commit}, idCompany: number) => {\r\n try {\r\n await changeCompany(idCompany);\r\n location.reload();\r\n } catch (e) {\r\n console.log(e);\r\n }\r\n },\r\n init: async ({commit, dispatch}, i18n: VueI18n) => {\r\n commit('setLoading', true);\r\n try {\r\n await dispatch('getLocalization', i18n);\r\n setupHttpInterceptor(commit);\r\n try {\r\n await dispatch('getStatus');\r\n } catch (e) {\r\n if (e?.response.status === 401) {\r\n commit('setAuthorized', false);\r\n setRefreshToken(null);\r\n }\r\n throw e;\r\n }\r\n } finally {\r\n commit('setLoading', false);\r\n }\r\n },\r\n },\r\n modules: {\r\n login: LoginModule,\r\n plan: PlanModule,\r\n planEdit: PlanEditModule,\r\n planEditResult: PlanEditResultModule,\r\n planEditResultEdit: PlanEditResultEditModule,\r\n },\r\n});\r\n\r\nfunction setupHttpInterceptor(commit: Commit) {\r\n let refreshRequest: null | AxiosPromise = null,\r\n clearRefreshRequestId: any = null;\r\n httpClient.interceptors.response.use(undefined, async error => {\r\n if (error?.response.status === 401 && error.config.url !== 'login/refresh' && !error.config.retry) {\r\n if (!getRefreshToken()) return Promise.reject(error);\r\n if (!refreshRequest) refreshRequest = refresh();\r\n const {data} = await refreshRequest;\r\n commit('setToken', data);\r\n\r\n const newRequest = {\r\n ...error.config,\r\n retry: true,\r\n };\r\n\r\n newRequest.headers.Authorization = `Bearer ${data}`;\r\n\r\n if (!clearRefreshRequestId)\r\n clearRefreshRequestId = setTimeout(() => {\r\n refreshRequest = null;\r\n clearRefreshRequestId = null;\r\n }, 10e3);\r\n return httpClient.request(newRequest);\r\n } else if (error?.response.status === 401) {\r\n commit('setAuthorized', false);\r\n }\r\n\r\n let showError = true;\r\n if (error.response.status === 400 && error.config?.is400ErrorHandled) showError = false;\r\n if (showError)\r\n Vue.toasted.error(error, {\r\n icon: 'mdi-message-alert',\r\n });\r\n\r\n return Promise.reject(error);\r\n });\r\n}\r\n","import Vue from 'vue';\r\nimport App from './App.vue';\r\nimport router from './router';\r\nimport i18n from './plugins/i18n';\r\nimport vuetify from './plugins/vuetify';\r\nimport './plugins/toasted';\r\nimport './plugins/tippy';\r\nimport axios, {AxiosInstance} from 'axios';\r\nimport {api, ApiInterface} from '@/configs/ApiConfig';\r\nimport '@mdi/font/css/materialdesignicons.min.css';\r\nimport 'roboto-fontface/css/roboto/roboto-fontface.css';\r\nimport './sass/index.scss';\r\nimport './sass/v-tippy__google.scss';\r\nimport {store} from './store';\r\n\r\nVue.config.productionTip = false;\r\n\r\nexport const httpClient = axios.create({\r\n baseURL: '/',\r\n});\r\n\r\ndeclare module 'vue/types/vue' {\r\n interface Vue {\r\n $api: ApiInterface;\r\n $http: AxiosInstance;\r\n }\r\n}\r\n\r\nObject.defineProperties(Vue.prototype, {\r\n $api: {\r\n get() {\r\n return api;\r\n },\r\n },\r\n $http: {\r\n get() {\r\n return httpClient;\r\n },\r\n },\r\n});\r\n\r\nnew Vue({\r\n router,\r\n i18n,\r\n vuetify,\r\n store,\r\n render: h => h(App),\r\n}).$mount('#app');\r\n","const REFRESH_TOKEN: string = 'refresh_token';\r\n\r\nexport function getRefreshToken() {\r\n return localStorage.getItem(REFRESH_TOKEN);\r\n}\r\nexport function setRefreshToken(value: string | null) {\r\n if (value) localStorage.setItem(REFRESH_TOKEN, value);\r\n else localStorage.removeItem(REFRESH_TOKEN);\r\n}\r\n\r\nexport function parseToDescriptions(data: Array<{Id: number; Name: string}>): Array<{Id: number; Description: string}> {\r\n if (!Array.isArray(data)) throw 'input data is not array';\r\n return data.map(item => ({Id: item.Id, Description: item.Name}));\r\n}\r\n\r\nexport function generateId() {\r\n // Math.random should be unique because of its seeding algorithm.\r\n // Convert it to base 36 (numbers + letters), and grab the first 9 characters\r\n // after the decimal.\r\n return (\r\n '_' +\r\n Math.random()\r\n .toString(36)\r\n .substr(2, 9)\r\n );\r\n}\r\n","enum EquipmentCategory {\r\n VeneerProductionEquipment,\r\n VeneerProcessingEquipment,\r\n PlywoodProductionEquipment,\r\n PlywoodProductionSupportEquipment,\r\n PlywoodProcessingEquipment,\r\n}\r\n\r\nexport default EquipmentCategory;\r\n"],"sourceRoot":""}