{"version":3,"sources":["webpack:///./src/views/journals/planEdit/planEditTabs/result/PlanEditResultTabs.vue?e940","webpack:///./src/views/journals/planEdit/planEditTabs/result/PlanEditResultTabContent.vue","webpack:///./src/views/journals/planEdit/planEditTabs/result/PlanEditResultTabContent.vue?0018","webpack:///./src/views/journals/planEdit/planEditTabs/result/PlanEditResultTabContent.vue?1666","webpack:///./src/views/journals/planEdit/planEditTabs/result/PlanEditResultTabContent.vue?42d9","webpack:///./src/views/journals/planEdit/planEditTabs/result/PlanEditResultTabs.vue","webpack:///./src/views/journals/planEdit/planEditTabs/result/PlanEditResultTabs.vue?218e","webpack:///./src/views/journals/planEdit/planEditTabs/result/PlanEditResultTabs.vue?b09c"],"names":["PlanEditResultMixin","components","PlanResultItem","_vm","this","_h","$createElement","_c","_self","_l","item","i","_g","key","attrs","tabData","route","$listeners","tabIndex","tab","invalidRouteData","localRoute","childRoute","value","routeData","parseRoute","replace","oldValue","realTabs","find","index","$emit","tabConfigIndex","hasSubTabs","getActualTab","type","PlanEditResultConfigTabTypesEnum","Equipment","result","EquipmentTypes","map","name","Name","data","idEquipmentType","Id","idEquipmentCategory","IdEquipmentCategory","content","Shift","Shifts","shift","shiftIndex","ShiftIndex","WarehouseVeneer","warehouseVeneerDescriptions","wv","Description","idWarehouseVeneer","WarehousePlywood","warehousePlywoodDescriptions","wp","idWarehousePlywood","groups","typeIndex","findIndex","match","tabs","User","getSpecificTabs","componentKey","PlanEditResultConfigComponentsEnum","Tabs","Object","assign","immediate","TabContent","computed","staticClass","on","$event","onTabClick","_v","_s","tabKey","localTabData","onUpdateRoute","_e","VCard","VTab","VTabs"],"mappings":"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","file":"js/chunk-2d22fd9c.ff46fce1.js","sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-card',[_c('v-tabs',{staticClass:\"mb-2\",attrs:{\"value\":_vm.tabIndex,\"color\":\"plywood\",\"grow\":\"\",\"show-arrows\":\"\"}},_vm._l((_vm.realTabs),function(tab,i){return _c('v-tab',{key:i,on:{\"click\":function($event){return _vm.onTabClick(i)}}},[_vm._v(\" \"+_vm._s(tab.name)+\" \")])}),1),_c('div',{staticClass:\"pa-2\"},[_c('keep-alive',[(_vm.tab)?_c('tab-content',{key:_vm.tabKey,attrs:{\"content\":_vm.tab.content,\"tab-data\":_vm.localTabData,\"route\":_vm.childRoute},on:{\"update:route\":_vm.onUpdateRoute}}):_vm._e()],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport {Component, Prop, Mixins} from 'vue-property-decorator';\r\nimport PlanEditResultMixin from '@/mixins/plan/edit/PlanEditResultMixin';\r\nimport PlanResultItem from './PlanEdtiResultItem.vue';\r\n\r\n@Component({\r\n components: {\r\n PlanResultItem,\r\n },\r\n})\r\nexport default class TabContent extends Mixins(PlanEditResultMixin) {\r\n @Prop() content!: any[];\r\n @Prop() route!: string;\r\n @Prop() tabData!: any;\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!./PlanEditResultTabContent.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!./PlanEditResultTabContent.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./PlanEditResultTabContent.vue?vue&type=template&id=6565833a&\"\nimport script from \"./PlanEditResultTabContent.vue?vue&type=script&lang=ts&\"\nexport * from \"./PlanEditResultTabContent.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._l((_vm.content),function(item,i){return _c('plan-result-item',_vm._g({key:i,attrs:{\"data\":item,\"tab-data\":_vm.tabData,\"route\":_vm.route}},_vm.$listeners))}),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\r\nimport {Component, Prop, Watch, Vue} from 'vue-property-decorator';\r\nimport TabContent from './PlanEditResultTabContent.vue';\r\nimport {flatten} from 'lodash';\r\nimport {cloneDeep} from 'lodash';\r\nimport PlanEditResultConfigTabTypesEnum from '@/enums/PlanEditResultConfigTabTypesEnum';\r\nimport {mapState} from 'vuex';\r\nimport {WarehouseDescription} from '@/models/PlanEditModel';\r\nimport PlanEditResultModel from '@/models/PlanEditResultModel';\r\nimport {PlanEditResultConfigTab} from '@/models/PlanEditResultConfigModel';\r\nimport PlanEditResultConfigComponentsEnum from '@/enums/PlanEditResultConfigComponentsEnum';\r\n\r\n@Component({\r\n components: {\r\n TabContent,\r\n },\r\n computed: {\r\n ...mapState('planEdit', ['warehouseVeneerDescriptions', 'warehousePlywoodDescriptions']),\r\n ...mapState('planEditResult', ['result']),\r\n },\r\n})\r\nexport default class Tabs extends Vue {\r\n @Prop() tabs!: PlanEditResultConfigTab[];\r\n @Prop() depth!: number;\r\n @Prop() route!: string;\r\n @Prop() tabData!: any;\r\n\r\n private tabIndex: number = -1;\r\n private tab: PlanEditResultConfigTab | null = null;\r\n private invalidRouteData: boolean = false;\r\n private localRoute: string | undefined = '';\r\n private childRoute: string | undefined = '';\r\n\r\n public warehouseVeneerDescriptions!: WarehouseDescription[];\r\n public warehousePlywoodDescriptions!: WarehouseDescription[];\r\n public result!: PlanEditResultModel;\r\n\r\n get realTabs() {\r\n return flatten(\r\n this.tabs.map((tab, index) => {\r\n let item = cloneDeep(tab);\r\n if (item.type === PlanEditResultConfigTabTypesEnum.User) {\r\n item.tabConfigIndex = index;\r\n return item;\r\n }\r\n return this.getSpecificTabs(item, index) as [];\r\n }),\r\n );\r\n }\r\n\r\n get hasSubTabs() {\r\n return !!(\r\n this.tab && this.tab.content.find(item => item.componentKey === PlanEditResultConfigComponentsEnum.Tabs)\r\n );\r\n }\r\n\r\n get tabKey() {\r\n return this.tab ? this.tab.name + this.tabIndex : '';\r\n }\r\n\r\n get localTabData() {\r\n return this.tabData ? Object.assign({}, this.tabData, this.tab?.data) : this.tab?.data;\r\n }\r\n\r\n @Watch('route', {immediate: true})\r\n onRouteChange(value: string) {\r\n let routeData = this.parseRoute(value);\r\n if (routeData) {\r\n this.localRoute = routeData[0];\r\n if (this.localRoute) this.childRoute = this.route.replace(this.localRoute, '/');\r\n else this.childRoute = '';\r\n }\r\n }\r\n\r\n @Watch('tabIndex')\r\n onTabIndexChange(value: number, oldValue: number) {\r\n let tab = this.realTabs.find((item, index) => index === value);\r\n if (tab) {\r\n this.tab = tab;\r\n this.$emit('update:route', `/${tab.tabConfigIndex}/${value}${this.hasSubTabs ? this.childRoute : ''}`);\r\n }\r\n }\r\n\r\n created() {\r\n this.tabIndex = this.getActualTab();\r\n }\r\n\r\n activated() {\r\n if (!this.hasSubTabs) this.$emit('update:route', `/${this.tab?.tabConfigIndex}/${this.tabIndex}`);\r\n }\r\n\r\n getSpecificTabs(tab: PlanEditResultConfigTab, tabConfigIndex: number) {\r\n switch (tab.type) {\r\n case PlanEditResultConfigTabTypesEnum.Equipment:\r\n return this.result.EquipmentTypes.map(type => ({\r\n name: type.Name,\r\n data: {\r\n idEquipmentType: type.Id,\r\n idEquipmentCategory: type.IdEquipmentCategory,\r\n },\r\n type: PlanEditResultConfigTabTypesEnum.Equipment,\r\n content: tab.content,\r\n tabConfigIndex,\r\n }));\r\n case PlanEditResultConfigTabTypesEnum.Shift:\r\n return this.result.Shifts.map(shift => ({\r\n name: shift.Name,\r\n data: {\r\n shiftIndex: shift.ShiftIndex,\r\n },\r\n type: PlanEditResultConfigTabTypesEnum.Shift,\r\n content: tab.content,\r\n tabConfigIndex,\r\n }));\r\n case PlanEditResultConfigTabTypesEnum.WarehouseVeneer:\r\n return this.warehouseVeneerDescriptions.map(wv => ({\r\n name: wv.Description,\r\n data: {\r\n idWarehouseVeneer: wv.Id,\r\n },\r\n type: PlanEditResultConfigTabTypesEnum.WarehouseVeneer,\r\n content: tab.content,\r\n tabConfigIndex,\r\n }));\r\n case PlanEditResultConfigTabTypesEnum.WarehousePlywood:\r\n return this.warehousePlywoodDescriptions.map(wp => ({\r\n name: wp.Description,\r\n data: {\r\n idWarehousePlywood: wp.Id,\r\n },\r\n type: PlanEditResultConfigTabTypesEnum.WarehousePlywood,\r\n content: tab.content,\r\n tabConfigIndex,\r\n }));\r\n default:\r\n return [];\r\n }\r\n }\r\n\r\n async onTabClick(index: number) {\r\n if (this.tabIndex === index) return;\r\n this.tabIndex = index;\r\n }\r\n\r\n getActualTab() {\r\n if (this.route) {\r\n let routeData: any = this.parseRoute(this.route);\r\n if (routeData) {\r\n let {typeIndex, index} = routeData?.groups;\r\n let tabIndex = this.realTabs.findIndex((item, i) => i == index && item.tabConfigIndex == typeIndex);\r\n if (tabIndex !== -1) return tabIndex;\r\n }\r\n }\r\n return 0;\r\n }\r\n\r\n parseRoute(route: string) {\r\n return route.match(/^\\/?(?\\d+)\\/(?\\d+)\\/?/);\r\n }\r\n\r\n onUpdateRoute(route: string) {\r\n return this.$emit('update:route', `/${this.tab?.tabConfigIndex}/${this.tabIndex}${route}`);\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!./PlanEditResultTabs.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!./PlanEditResultTabs.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./PlanEditResultTabs.vue?vue&type=template&id=4604a5cc&\"\nimport script from \"./PlanEditResultTabs.vue?vue&type=script&lang=ts&\"\nexport * from \"./PlanEditResultTabs.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 { VCard } from 'vuetify/lib/components/VCard';\nimport { VTab } from 'vuetify/lib/components/VTabs';\nimport { VTabs } from 'vuetify/lib/components/VTabs';\ninstallComponents(component, {VCard,VTab,VTabs})\n"],"sourceRoot":""}