{"version":3,"sources":["webpack:///./src/views/catalogues/equipment/equipmentTab/plywoodProcessing/equipmentPlywoodProcessingProcessGroupLink/EquipmentPlywoodProcessingProcessGroupLink.vue?aa13","webpack:///./src/views/catalogues/equipment/equipmentTab/plywoodProcessing/equipmentPlywoodProcessingProcessGroupLink/EquipmentPlywoodProcessingProcessGroupLink.vue","webpack:///./src/views/catalogues/equipment/equipmentTab/plywoodProcessing/equipmentPlywoodProcessingProcessGroupLink/EquipmentPlywoodProcessingProcessGroupLink.vue?6acf","webpack:///./src/views/catalogues/equipment/equipmentTab/plywoodProcessing/equipmentPlywoodProcessingProcessGroupLink/EquipmentPlywoodProcessingProcessGroupLink.vue?fb66"],"names":["registerHooks","loading","data","items","initialItems","this","getData","to","from","next","hasUnsavedChanges","$refs","confirm","open","text","callback","timerId","setTimeout","$http","get","$api","catalogues","equipmentPlywoodProcessingProcessGroupLink","params","$route","query","getItems","clearTimeout","Rows","Columns","Items","result","i","length","row","j","cell","IdColumn","Id","IdRow","checked","findIndex","item","checkLoadState","push","post","components","CCheckbox","CConfirmDialog","CSimpleTable","component","_vm","_h","$createElement","_c","_self","attrs","cardLoading","_e","staticClass","_l","hItem","key","_v","_s","Description","tItem","k","model","value","$$v","$set","expression","ref","on","save","$t","reset","scopedSlots","_u","fn","_g","VBtn","VCard","VCardActions","VCardText","VCardTitle","VDivider","VIcon","VSpacer","VTooltip"],"mappings":"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","file":"js/chunk-2d0e5830.239fa2f9.js","sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-card',{attrs:{\"loading\":_vm.cardLoading,\"disabled\":_vm.loading}},[(!_vm.data)?_c('v-card-title'):_vm._e(),_c('v-divider'),(_vm.data)?_c('v-card-text',{staticClass:\"pa-0\"},[_c('c-simple-table',{attrs:{\"dense\":\"\",\"light\":\"\"}},[_c('thead',[_c('tr',[_c('th'),_vm._l((_vm.data.Columns),function(hItem,i){return _c('th',{key:i},[_vm._v(\" \"+_vm._s(hItem.Description)+\" \")])})],2)]),_c('tbody',_vm._l((_vm.items),function(tItem,j){return _c('tr',{key:j},[_c('td',[_vm._v(_vm._s(_vm.data.Rows[j].Description))]),_vm._l((tItem),function(cell,k){return _c('td',{key:k},[_c('c-checkbox',{attrs:{\"initial-value\":_vm.initialItems[j][k].checked,\"dense\":\"\"},model:{value:(cell.checked),callback:function ($$v) {_vm.$set(cell, \"checked\", $$v)},expression:\"cell.checked\"}})],1)})],2)}),0)]),_c('c-confirm-dialog',{ref:\"confirm\"})],1):_vm._e(),(_vm.data)?_c('v-card-actions',[_c('v-btn',{attrs:{\"text\":\"\",\"small\":\"\",\"color\":\"success\",\"disabled\":_vm.loading || !_vm.hasUnsavedChanges},on:{\"click\":_vm.save}},[_vm._v(\" \"+_vm._s(_vm.$t('Common.Save'))+\" \")]),_c('v-btn',{attrs:{\"text\":\"\",\"small\":\"\",\"color\":\"error\",\"disabled\":_vm.loading || !_vm.hasUnsavedChanges},on:{\"click\":_vm.reset}},[_vm._v(\" \"+_vm._s(_vm.$t('Common.Cancel'))+\" \")]),_c('v-spacer'),_c('v-tooltip',{attrs:{\"bottom\":\"\",\"open-delay\":\"350\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('v-btn',_vm._g({attrs:{\"icon\":\"\",\"text\":\"\",\"color\":\"plywood\",\"disabled\":_vm.loading},on:{\"click\":_vm.getData}},on),[_c('v-icon',[_vm._v(\"mdi-refresh\")])],1)]}}],null,false,3441156399)},[_c('span',[_vm._v(_vm._s(_vm.$t('Common.Update')))])])],1):_vm._e()],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\r\nimport {Component, Vue} from 'vue-property-decorator';\r\nimport {cloneDeep, isEqual} from 'lodash';\r\nimport CSimpleTable from '@/components/base/table/CSimpleTable.vue';\r\nimport CConfirmDialog from '@/components/base/dialog/CConfirmDialog.vue';\r\nimport CCheckbox from '@/components/base/checkbox/CCheckbox.vue';\r\n\r\nComponent.registerHooks(['beforeRouteEnter', 'beforeRouteLeave', 'beforeRouteUpdate']);\r\n@Component({\r\n components: {CCheckbox, CConfirmDialog, CSimpleTable},\r\n})\r\nexport default class EquipmentPlywoodProcessingProcessGroupLink extends Vue {\r\n private loading: boolean = false;\r\n private data: any = null;\r\n private items: any = null;\r\n private initialItems: any = null;\r\n\r\n get hasUnsavedChanges() {\r\n return !isEqual(this.items, this.initialItems);\r\n }\r\n\r\n get cardLoading() {\r\n return this.loading ? 'plywood lighten-1' : null;\r\n }\r\n\r\n created() {\r\n this.getData();\r\n }\r\n beforeRouteLeave(to: any, from: any, next: any) {\r\n if (this.hasUnsavedChanges)\r\n (this.$refs.confirm as any).open(\r\n {\r\n text: 'У вас есть несохраненные изменения, вы уверены, что хотите перейти?',\r\n },\r\n {\r\n callback: () => {\r\n next();\r\n },\r\n },\r\n );\r\n else next();\r\n }\r\n\r\n async getData() {\r\n const timerId = setTimeout(() => (this.loading = true), 100);\r\n try {\r\n const {data} = await this.$http.get(\r\n `${this.$api.catalogues.equipmentPlywoodProcessingProcessGroupLink}/GetAll`,\r\n {\r\n params: {\r\n ...this.$route.query,\r\n },\r\n },\r\n );\r\n this.data = data;\r\n this.items = this.getItems(data);\r\n this.initialItems = cloneDeep(this.items);\r\n } finally {\r\n clearTimeout(timerId);\r\n this.loading = false;\r\n }\r\n }\r\n\r\n getItems(data: any) {\r\n let Rows = data.Rows;\r\n let Columns = data.Columns;\r\n let Items = data.Items;\r\n let result = [];\r\n\r\n for (let i = 0; i < Rows.length; i++) {\r\n let row = [];\r\n for (let j = 0; j < Columns.length; j++) {\r\n let cell: any = {\r\n IdColumn: Columns[j].Id,\r\n IdRow: Rows[i].Id,\r\n Id: j + 1,\r\n };\r\n let checked: boolean = false;\r\n let index = Items.findIndex(\r\n (item: any) => item.IdColumn === cell.IdColumn && item.IdRow === cell.IdRow,\r\n );\r\n\r\n if (index > -1) checked = true;\r\n\r\n cell.checked = checked;\r\n cell.checkLoadState = checked;\r\n\r\n row.push(cell);\r\n }\r\n\r\n result.push(row);\r\n }\r\n return result;\r\n }\r\n\r\n reset() {\r\n this.items = cloneDeep(this.initialItems);\r\n }\r\n\r\n async save() {\r\n if (!this.hasUnsavedChanges) return;\r\n let result = [];\r\n for (let i = 0; i < this.items.length; i++) {\r\n let row = this.items[i];\r\n for (let j = 0; j < row.length; j++) {\r\n let cell = row[j];\r\n if (cell.checked) {\r\n let {IdColumn, IdRow} = cell;\r\n result.push({IdColumn, IdRow});\r\n }\r\n }\r\n }\r\n const timerId = setTimeout(() => (this.loading = true), 100);\r\n try {\r\n const {data} = await this.$http.post(\r\n `${this.$api.catalogues.equipmentPlywoodProcessingProcessGroupLink}/Save`,\r\n result,\r\n {\r\n params: {\r\n ...this.$route.query,\r\n },\r\n },\r\n );\r\n this.data = data;\r\n this.items = this.getItems(data);\r\n this.initialItems = cloneDeep(this.items);\r\n } finally {\r\n clearTimeout(timerId);\r\n this.loading = false;\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!./EquipmentPlywoodProcessingProcessGroupLink.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!./EquipmentPlywoodProcessingProcessGroupLink.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./EquipmentPlywoodProcessingProcessGroupLink.vue?vue&type=template&id=f3c9c388&\"\nimport script from \"./EquipmentPlywoodProcessingProcessGroupLink.vue?vue&type=script&lang=ts&\"\nexport * from \"./EquipmentPlywoodProcessingProcessGroupLink.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 { VDivider } from 'vuetify/lib/components/VDivider';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VTooltip } from 'vuetify/lib/components/VTooltip';\ninstallComponents(component, {VBtn,VCard,VCardActions,VCardText,VCardTitle,VDivider,VIcon,VSpacer,VTooltip})\n"],"sourceRoot":""}