{"version":3,"sources":["webpack:///./src/modules/repairs/components/repair-detail/RepairStages.vue?84be","webpack:///./node_modules/eslint-loader/index.js","webpack:///./src/modules/repairs/components/repair-detail/RepairStages.vue?1bac","webpack:///./src/modules/repairs/components/repair-detail/RepairStages.vue?a932","webpack:///./node_modules/cache-loader/dist/cjs.js","webpack:///./src/modules/repairs/components/repair-detail/RepairStages.vue?26a9","webpack:///./src/modules/repairs/components/repair-detail/RepairStages.vue"],"names":["module","exports","warning_text","repair_orders_cols","text","value","width","sortable","is_visible","cellClass","repair_details_alert_text","repair_details_alert_email","repair_components_headers","new_repair_components_headers","repair_stages_headers","products_tab_headers","products_modal_headers","align","product_new_repair_headers","slice","repair_documents_headers","tabs","main_info_cols","field","client_cols","add_components_elements","title","cancel","proceed","attach_doc_alert","unfilled_diagnostics_alert","repairs_reports_cols","reports_alert_text","report_repair_cols","report_products_cols","warranty_data_cols","warranty_alert_text","return_zips_cols","render","_vm","this","_h","$createElement","_c","_self","attrs","cols","repair_stages","prevent_sort","loading","scopedSlots","_u","key","fn","ref","item","staticClass","_v","_s","status","name","_f","created_at","comment","class","$style","may_edit","on","$event","show_comment_modal","can_delete_stage","del_handler","select","stages","length","handle_click_stage","model","callback","$$v","new_stage","expression","_e","can_add_stage","proceed_add_repair_stage","close_comment_modal","proxy","editable_comment","can_proceed_add_comment","proceed_add_comment","comment_modal","validate_modal","validate_modal_title","validate_modal_text","staticRenderFns","repairs_store","modules","repairs_info","state","actions","RepairStagesTab","editable_stage","id","$route","params","get_repair_stages","get_repair_diagnostics","repair_details","slug","current_stage","RepairStatuses","DIAGNOSTICS_AWAITING","repair_statuses","filter","DIAGNOSTICS_IN_PROCESS","CONFIRMATIOIN_AWAITING","COMPONENT_AWAITING","REPAIR_IN_PROCESS","REPAIR_FINISHED","DISPATCHED","CANCELED","diagnostics","repair_stage","stage","active_stage","disactive_current_stage","Object","values","map","el","some","filled_diagnostics","validate_diagnostics","is_repair_finished_stage","add_repair_stage","repair_id","payload","code","ResponseStatuses","Success","CREATED","update_repair_data","delete_repair_stage","UPDATED","upd_repair_stage","get_repair_by_id","Vue","Component","components","Table","Select","TextField","SimpleDialog","Textarea","injectStyles","context","locals","component","VBtn","VIcon"],"mappings":"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","file":"js/home1274.6cb23bed.js","sourcesContent":["// extracted by mini-css-extract-plugin\nmodule.exports = {\"v-application\":\"RepairStages_v-application_1UOc3\",\"text-h1\":\"RepairStages_text-h1_3qOTr\",\"text-h2\":\"RepairStages_text-h2_2sWGQ\",\"select\":\"RepairStages_select_1J-ia\",\"text\":\"RepairStages_text_3t_P-\"};","import { TableCol, OptionalCol } from '@/types';\nimport { VerticalTableCol } from '@/components/vertical-table/types';\n\nexport const warning_text = 'Требуется загрузить подписанную с клиентом печатную форму заказ-наряда. Если печатная форма не будет прикреплена в заказ-наряд до 5 числа следующего с даты установки этапа работ “Работы завершены” месяца, то этап работ “Работы завершены” будет автоматически удален из заказ-наряда.';\n\n// id/nomenclature/created_at/serial_number/repair_type/operation_type/status\nexport const repair_orders_cols: OptionalCol[] = [\n {\n text: '№ заказ-наряда',\n value: 'id',\n width: '150px',\n sortable: true,\n is_visible: false,\n },\n {\n text: 'Серийный номер',\n value: 'serial_number',\n width: '150px',\n sortable: true,\n is_visible: false,\n },\n // {\n // text: 'Информация о гарантии',\n // value: 'warranty',\n // width: '150px',\n // sortable: true,\n // is_visible: false,\n // },\n {\n text: 'Номенклатура',\n value: 'nomenclature',\n width: '400px',\n sortable: true,\n is_visible: false,\n },\n {\n text: 'Этап работ',\n value: 'status',\n width: '150px',\n sortable: true,\n is_visible: false,\n },\n {\n text: 'Дата создания заказ-наряда',\n value: 'created_at',\n width: '200px',\n sortable: true,\n cellClass: 'cell-text-top',\n is_visible: false,\n },\n {\n text: 'Дата окончания заказ-наряда',\n value: 'end_at',\n width: '200px',\n sortable: true,\n is_visible: false,\n },\n {\n text: 'Дата обновления',\n value: 'updated_at',\n width: '150px',\n sortable: true,\n is_visible: false,\n },\n {\n text: 'Статус согласования',\n value: 'approval_status',\n width: '200px',\n sortable: true,\n cellClass: 'cell-text-top',\n is_visible: false,\n },\n {\n text: 'Клиент',\n value: 'client_name',\n width: '200px',\n sortable: true,\n is_visible: false,\n },\n {\n text: 'Тип ремонта',\n value: 'repair_type',\n width: '150px',\n sortable: true,\n is_visible: false,\n },\n {\n text: 'Вид операции',\n value: 'operation_type',\n width: '150px',\n sortable: true,\n is_visible: false,\n },\n // {\n // text: '',\n // value: 'data-table-expand',\n // width: '5%',\n // cellClass: 'px-4 py-3 text-body-1',\n // is_visible: false,\n // },\n];\n\nexport const repair_details_alert_text = 'По всем возникшим вопросам обращайтесь в службу поддержки по почте';\nexport const repair_details_alert_email = 'asc@atol.ru';\n\nexport const repair_components_headers: TableCol[] = [\n {\n text: 'Наименование комплектации',\n value: 'name',\n sortable: false,\n },\n {\n text: 'Комментарий',\n value: 'comment',\n sortable: false,\n },\n {\n text: 'Действие',\n value: 'action',\n sortable: false,\n },\n];\n\nexport const new_repair_components_headers: TableCol[] = [\n {\n text: 'Наименование комплектации',\n value: 'nomenclature',\n width: '100px',\n sortable: false,\n },\n {\n text: 'Комментарий',\n value: 'comment',\n width: '100px',\n sortable: false,\n },\n {\n text: 'Действие',\n value: 'action',\n width: '10%',\n sortable: false,\n },\n];\n\nexport const repair_stages_headers: TableCol[] = [\n {\n text: 'Этап работ',\n value: 'status',\n sortable: false,\n },\n {\n text: 'Исполнитель',\n value: 'full_name',\n sortable: false,\n },\n {\n text: 'Дата',\n value: 'created_at',\n sortable: false,\n },\n {\n text: 'Комментарий',\n value: 'comment',\n sortable: false,\n },\n {\n text: 'Действие',\n value: 'action',\n sortable: false,\n },\n];\nexport const products_tab_headers: TableCol[] = [\n {\n text: 'Номенклатура',\n value: 'nomenclature',\n width: '500px',\n sortable: false,\n },\n {\n text: 'Серийный номер',\n value: 'serial_number',\n width: '250px',\n sortable: false,\n },\n {\n text: 'Количество',\n value: 'quantity',\n width: '150px',\n sortable: false,\n },\n {\n text: 'Цена по прайсу',\n value: 'catalogue_price',\n width: '250px',\n sortable: false,\n },\n {\n text: 'Цена установленная',\n value: 'price_set',\n width: '250px',\n sortable: false,\n },\n {\n text: 'Сумма',\n value: 'full_price',\n width: '200px',\n sortable: false,\n },\n {\n text: 'Действие',\n value: 'action',\n width: '150px',\n sortable: false,\n },\n];\n\nexport const products_modal_headers: TableCol[] = [\n {\n text: 'Код',\n align: 'start',\n value: 'product_code',\n width: '84px',\n sortable: false,\n },\n {\n text: 'Номенклатура',\n value: 'nomenclature',\n width: '416px',\n sortable: false,\n },\n {\n text: 'Товарная категория',\n align: 'start',\n value: 'category_name',\n width: '146px',\n sortable: false,\n },\n {\n text: 'Цена',\n align: 'start',\n value: 'price',\n width: '124px',\n sortable: false,\n },\n {\n text: 'Действие',\n value: 'action',\n width: '150px',\n sortable: false,\n },\n];\n\nexport const product_new_repair_headers: TableCol[] = [\n ...products_tab_headers.slice(0, 2),\n {\n text: 'Срок гарантии',\n value: 'warranty_period',\n width: '100px',\n sortable: false,\n },\n ...products_tab_headers.slice(-1),\n];\n\nexport const repair_documents_headers: TableCol[] = [\n {\n text: 'Название',\n value: 'name',\n sortable: false,\n },\n {\n text: 'Дата добавления',\n value: 'created_at',\n sortable: false,\n },\n {\n text: 'Действие',\n value: 'document_actions',\n sortable: false,\n },\n];\n\nexport const tabs: string[] = [\n 'Основная информация',\n 'Комплектация',\n 'Диагностика',\n 'Этапы работ',\n 'Установленные ЗИП',\n 'Документы',\n];\n\nexport const main_info_cols: VerticalTableCol[] = [\n {\n field: 'id_number',\n text: 'Номер заказ-наряда',\n },\n {\n field: 'create_at',\n text: 'Дата создания заказ-наряда',\n },\n {\n field: 'organization_name',\n text: 'Организация',\n },\n {\n field: 'contract',\n text: 'Договор',\n },\n {\n field: 'serial_number',\n text: 'Серийный номер',\n },\n {\n field: 'operation_type',\n text: 'Вид операции',\n },\n {\n field: 'nomenclature',\n text: 'Номенклатура',\n },\n // {\n // field: 'custom_nomenclature',\n // text: 'Информация о созданном заказ-наряде',\n // },\n {\n field: 'approval_status',\n text: 'Статус согласования проведения работ',\n },\n {\n field: 'accepted_at',\n text: 'Дата согласования',\n },\n];\n\nexport const client_cols: VerticalTableCol[] = [\n {\n field: 'name_client_company',\n text: 'Наименование клиента',\n },\n {\n field: 'contact_person',\n text: 'ФИО контактного лица',\n },\n {\n field: 'telephone',\n text: 'Телефон',\n },\n {\n field: 'address',\n text: 'Адрес',\n },\n];\n\nexport const add_components_elements: Record = {\n title: 'Добавление комплектации',\n cancel: 'Отменить',\n proceed: 'Добавить комлектацию',\n};\n\nexport const attach_doc_alert: Record = {\n title: 'Прикрепите документ',\n text: 'После завершения работ прикрепите подписанную скан-копию заказ-наряда во вкладке \"Документы\"',\n};\n\nexport const unfilled_diagnostics_alert: Record = {\n title: 'Ошибка',\n text: 'Заполните все поля во вкладке \"Диагностика\"',\n};\n\nexport const repairs_reports_cols: TableCol[] = [];\n\nexport const reports_alert_text = 'Для отображения списка заказ-нарядов, по которым необходимо сформировать отчет, заполните поля “Организация”, “Месяц” и “Год”. По результатам заполнения данных полей отобразится список заказ-нарядов, которые были завершены в указанный период и имеют статус согласования “Согласован”.';\n\nexport const report_repair_cols: TableCol[] = [\n {\n text: 'Организация',\n value: 'organization_name',\n width: '215px',\n sortable: false,\n },\n {\n text: 'Номенклатура',\n value: 'nomenclature',\n width: '215px',\n sortable: false,\n },\n {\n text: 'Серийный номер',\n value: 'serial_number',\n width: '215px',\n sortable: false,\n },\n {\n text: 'Тип ремонта',\n value: 'repair_type',\n width: '215px',\n sortable: false,\n },\n {\n text: 'Стоимость услуг',\n value: 'repair_price_rub',\n width: '215px',\n sortable: false,\n },\n {\n text: 'Кол-во ЗИП',\n value: 'zip_products_count',\n width: '215px',\n sortable: false,\n },\n {\n text: 'Стоимость установленных ЗИП',\n value: 'zip_price_rub',\n width: '215px',\n sortable: false,\n },\n {\n text: 'Общая стоимость',\n value: 'total_price_rub',\n width: '215px',\n sortable: false,\n },\n];\n\nexport const report_products_cols: TableCol[] = [\n {\n text: '№',\n value: 'id',\n width: '255px',\n sortable: false,\n },\n {\n text: 'Код',\n value: 'product.product_code',\n width: '255px',\n sortable: false,\n },\n {\n text: 'Номенклатура',\n value: 'product.nomenclature',\n width: '255px',\n sortable: false,\n },\n {\n text: 'Количество',\n value: 'quantity',\n width: '255px',\n sortable: false,\n },\n {\n text: 'Цена',\n value: 'catalogue_price',\n width: '200px',\n sortable: false,\n },\n {\n text: 'Цена установленная',\n value: 'price_set',\n width: '255px',\n sortable: false,\n },\n {\n text: 'Сумма',\n value: 'full_price',\n width: '255px',\n sortable: false,\n },\n];\n\nexport const warranty_data_cols: TableCol[] = [\n {\n text: 'Номенклатура',\n value: 'nomenclature',\n width: '700px',\n sortable: false,\n },\n {\n text: 'Серийный номер',\n value: 'number',\n width: '100px',\n sortable: false,\n },\n {\n text: 'Срок гарантии',\n value: 'expired_date',\n width: '100px',\n sortable: false,\n },\n {\n text: 'Гарантийный талон',\n value: 'warranty_ticket',\n width: '100px',\n sortable: false,\n },\n];\n\nexport const warranty_alert_text = 'Для проверки условий гарантии укажите серийный номер устройства';\n\nexport const return_zips_cols: OptionalCol[] = [\n {\n text: '№ заказ-наряда',\n value: 'order_side_number',\n width: '150px',\n is_visible: false,\n },\n {\n text: 'код',\n value: 'product_code',\n width: '200px',\n is_visible: false,\n },\n {\n text: 'деталь',\n value: 'nomenclature',\n width: '400px',\n is_visible: false,\n },\n {\n text: 'Статус',\n value: 'status',\n width: '200px',\n is_visible: false,\n },\n {\n text: 'кол-во',\n value: 'quantity',\n width: '140px',\n is_visible: false,\n },\n {\n text: 'организация',\n value: 'organization',\n width: '150px',\n is_visible: false,\n },\n {\n text: 'серия номенклатуры',\n value: 'serial_number',\n width: '150px',\n is_visible: false,\n },\n {\n text: 'дата замены',\n value: 'replaced_at',\n width: '140px',\n is_visible: false,\n },\n {\n text: 'дата отправки',\n value: 'sent_at',\n width: '150px',\n is_visible: false,\n },\n];\n","export { default } from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-0-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-0-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-0-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-0-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RepairStages.vue?vue&type=style&index=0&module=true&lang=scss&\"; export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-0-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-0-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-0-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-0-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RepairStages.vue?vue&type=style&index=0&module=true&lang=scss&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('Table',{attrs:{\"headers\":_vm.cols,\"items\":_vm.repair_stages,\"custom-sort\":_vm.prevent_sort,\"no-data-text\":\"Этапы не добавлены\",\"loading\":_vm.loading,\"hide-default-footer\":\"\",\"not_resizeble\":\"\"},scopedSlots:_vm._u([{key:\"item.status\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('td',{staticClass:\"py-2\"},[_vm._v(\" \"+_vm._s(item.status ? item.status.name : '')+\" \")])]}},{key:\"item.created_at\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('td',{staticClass:\"py-2\"},[_vm._v(\" \"+_vm._s(_vm._f(\"date\")(item.created_at))+\" \")])]}},{key:\"item.comment\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('tr',{staticClass:\"py-2\"},[_c('td',[(item.comment)?_c('span',[_vm._v(_vm._s(item.comment))]):_c('span',{class:_vm.$style.text},[_vm._v(\"Укажите Ваш комментарий\")])]),_c('td',[_c('v-btn',{staticClass:\"ml-2\",attrs:{\"icon\":\"\",\"small\":\"\",\"color\":\"accent darken-4\",\"disabled\":!_vm.may_edit,\"title\":\"Редактировать\"},on:{\"click\":function($event){return _vm.show_comment_modal(item)}}},[_c('v-icon',[_vm._v(\"mdi-pencil-outline\")])],1)],1)])]}},{key:\"item.action\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('td',{staticClass:\"py-2\"},[_c('tr',[_c('v-btn',{attrs:{\"icon\":\"\",\"color\":\"secondary darken-4\",\"disabled\":!_vm.can_delete_stage(item),\"title\":\"Удалить\"},on:{\"click\":function($event){return _vm.del_handler(item)}}},[_c('v-icon',[_vm._v(\"mdi-delete-outline\")])],1)],1)])]}}],null,true)}),(_vm.may_edit)?_c('Select',{class:[_vm.$style.select, 'mt-6'],attrs:{\"items\":_vm.stages,\"label\":\"Этап работ\",\"background-color\":\"#fff\",\"hide-details\":\"\",\"clearable\":\"\",\"blue_icon\":\"\",\"dense\":\"\",\"disabled\":!_vm.stages.length},on:{\"input\":function($event){return _vm.handle_click_stage($event)}},model:{value:(_vm.new_stage),callback:function ($$v) {_vm.new_stage=$$v},expression:\"new_stage\"}}):_vm._e(),(_vm.may_edit)?_c('v-btn',{staticClass:\"mt-6\",attrs:{\"color\":\"accent darken-4\",\"depressed\":\"\",\"type\":\"submit\",\"disabled\":!_vm.can_add_stage},on:{\"click\":_vm.proceed_add_repair_stage}},[_vm._v(\" Добавить этап работ \")]):_vm._e(),_c('SimpleDialog',{attrs:{\"max-width\":\"564\"},on:{\"close\":_vm.close_comment_modal},scopedSlots:_vm._u([{key:\"title\",fn:function(){return [_vm._v(\" Укажите Ваш комментарий \")]},proxy:true},{key:\"text\",fn:function(){return [_c('Textarea',{attrs:{\"label\":\"Комментарий\",\"counter\":250,\"maxlength\":250,\"rows\":1},model:{value:(_vm.editable_comment),callback:function ($$v) {_vm.editable_comment=$$v},expression:\"editable_comment\"}})]},proxy:true},{key:\"actions\",fn:function(){return [_c('td',{staticClass:\"py-2\"},[_c('v-btn',{attrs:{\"text\":\"\"},on:{\"click\":_vm.close_comment_modal}},[_vm._v(\" Отмена \")]),_c('v-btn',{staticClass:\"mr-2\",attrs:{\"color\":\"accent darken-4\",\"depressed\":\"\",\"disabled\":!_vm.can_proceed_add_comment},on:{\"click\":_vm.proceed_add_comment}},[_vm._v(\" Сохранить \")])],1)]},proxy:true}]),model:{value:(_vm.comment_modal),callback:function ($$v) {_vm.comment_modal=$$v},expression:\"comment_modal\"}}),_c('SimpleDialog',{attrs:{\"max-width\":\"564\",\"bts_align\":\"center\",\"center_title\":\"\"},on:{\"close\":function($event){_vm.validate_modal = false}},scopedSlots:_vm._u([{key:\"title\",fn:function(){return [_vm._v(\" \"+_vm._s(_vm.validate_modal_title)+\" \")]},proxy:true},{key:\"text\",fn:function(){return [_vm._v(\" \"+_vm._s(_vm.validate_modal_text)+\" \")]},proxy:true},{key:\"actions\",fn:function(){return [_c('td',{staticClass:\"py-2\"},[_c('v-btn',{attrs:{\"color\":\"accent darken-4\",\"depressed\":\"\"},on:{\"click\":function($event){_vm.validate_modal = false}}},[_vm._v(\" Закрыть \")])],1)]},proxy:true}]),model:{value:(_vm.validate_modal),callback:function ($$v) {_vm.validate_modal=$$v},expression:\"validate_modal\"}})],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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { prevent_sort } from '@/utils';\nimport { repairs_store, global_store } from '@/store';\nimport { Table, Select, TextField } from '@/components';\nimport {\n RepairStatuses, ResponseStatuses, repair_statuses, ColsStorage,\n} from '@/enums';\nimport { Component, Vue, Watch } from 'vue-property-decorator';\nimport { TableCol } from '@/types';\nimport { repair_stages_headers, attach_doc_alert, unfilled_diagnostics_alert } from '../../consts';\nimport { Repairs } from '../../types';\n\nconst { state, actions } = repairs_store.modules.repairs_info;\n\n@Component({\n components: {\n Table,\n Select,\n TextField,\n SimpleDialog: () => import('@/components/dialogs/simple/SimpleDialog.vue'),\n Textarea: () => import('@/components/global/inputs/textarea/Textarea.vue'),\n\n },\n})\nexport default class RepairStagesTab extends Vue {\n async mounted() {\n this.loading = true;\n const id = this.$route.params?.id;\n\n if (id) {\n await actions.get_repair_stages(id);\n await actions.get_repair_diagnostics(id);\n }\n this.loading = false;\n }\n\n prevent_sort = prevent_sort;\n cols = repair_stages_headers;\n loading = false;\n editable_comment: string | null = '';\n new_stage = '';\n comment_modal = false;\n editable_stage: Repairs.Stage | null = null;\n validate_modal = false;\n validate_modal_title = '';\n validate_modal_text = '';\n\n get repair_stages() {\n return state.repair_stages;\n }\n\n get repair_id() {\n return this.$route.params?.id;\n }\n\n get repair_details() {\n return state.repair_details;\n }\n\n get current_stage() {\n return this.repair_details?.status ? this.repair_details?.status.slug : '';\n }\n\n get stages() {\n switch (this.current_stage) {\n case RepairStatuses.DIAGNOSTICS_AWAITING:\n return repair_statuses.filter(\n (status: { text: string; value: RepairStatuses }) =>\n status.value === RepairStatuses.DIAGNOSTICS_IN_PROCESS,\n );\n case RepairStatuses.DIAGNOSTICS_IN_PROCESS:\n return repair_statuses.filter(\n (status: { text: string; value: RepairStatuses }) =>\n status.value === RepairStatuses.CONFIRMATIOIN_AWAITING\n || status.value === RepairStatuses.COMPONENT_AWAITING\n || status.value === RepairStatuses.REPAIR_IN_PROCESS\n || status.value === RepairStatuses.REPAIR_FINISHED,\n );\n case RepairStatuses.CONFIRMATIOIN_AWAITING:\n return repair_statuses.filter(\n (status: { text: string; value: RepairStatuses }) =>\n status.value === RepairStatuses.COMPONENT_AWAITING\n || status.value === RepairStatuses.REPAIR_IN_PROCESS\n || status.value === RepairStatuses.REPAIR_FINISHED,\n );\n case RepairStatuses.COMPONENT_AWAITING:\n return repair_statuses.filter(\n (status: { text: string; value: RepairStatuses }) =>\n status.value === RepairStatuses.REPAIR_IN_PROCESS,\n );\n case RepairStatuses.REPAIR_IN_PROCESS:\n return repair_statuses.filter(\n (status: { text: string; value: RepairStatuses }) =>\n status.value === RepairStatuses.REPAIR_FINISHED,\n );\n case RepairStatuses.REPAIR_FINISHED:\n return repair_statuses.filter(\n (status: { text: string; value: RepairStatuses }) =>\n status.value === RepairStatuses.DISPATCHED,\n );\n default:\n return [];\n }\n }\n\n get can_add_stage() {\n return !!this.new_stage && this.may_edit;\n }\n\n get can_proceed_add_comment() {\n return this.editable_comment !== this.editable_stage?.comment && !this.loading;\n }\n\n get may_edit() {\n return (\n this.current_stage !== RepairStatuses.DISPATCHED\n && this.current_stage !== RepairStatuses.CANCELED\n );\n }\n\n get disactive_current_stage() {\n return (\n this.current_stage === RepairStatuses.REPAIR_FINISHED\n || this.current_stage === RepairStatuses.DISPATCHED\n || this.current_stage === RepairStatuses.CANCELED\n );\n }\n\n get diagnostics() {\n return state.diagnostics;\n }\n\n can_delete_stage(repair_stage: Repairs.Stage) {\n const stage = repair_stage.status?.slug;\n const active_stage = stage === RepairStatuses.DIAGNOSTICS_IN_PROCESS\n || stage === RepairStatuses.CONFIRMATIOIN_AWAITING\n || stage === RepairStatuses.COMPONENT_AWAITING\n || stage === RepairStatuses.REPAIR_IN_PROCESS;\n\n return active_stage && !this.disactive_current_stage;\n }\n\n validate_diagnostics(diagnostics: Repairs.Diagnostics) {\n return Object.values(diagnostics).map((el) => !!el).some((el) => el === false);\n }\n\n async proceed_add_repair_stage() {\n const filled_diagnostics = !this.validate_diagnostics(this.diagnostics);\n const is_repair_finished_stage = this.new_stage === RepairStatuses.REPAIR_FINISHED;\n\n if (!filled_diagnostics && is_repair_finished_stage) {\n this.validate_modal_title = unfilled_diagnostics_alert.title;\n this.validate_modal_text = unfilled_diagnostics_alert.text;\n this.validate_modal = true;\n } else {\n await this.add_repair_stage();\n }\n }\n\n async add_repair_stage() {\n if (this.new_stage) {\n const id = this.repair_id;\n const payload = { status: this.new_stage as RepairStatuses };\n\n this.loading = true;\n const code = await actions.add_repair_stage({ id, payload });\n\n if (code === ResponseStatuses.Success.CREATED) {\n this.update_repair_data();\n }\n this.loading = false;\n this.new_stage = '';\n }\n }\n\n async del_handler(item: Repairs.Stage) {\n if (typeof item.id !== 'undefined') {\n this.loading = true;\n const code = await actions.delete_repair_stage(item.id);\n\n if (code === ResponseStatuses.Success.UPDATED) {\n this.update_repair_data();\n }\n this.loading = false;\n }\n }\n\n async proceed_add_comment() {\n if (this.editable_stage?.id) {\n this.loading = true;\n const { id } = this.editable_stage;\n const code = await actions.upd_repair_stage({\n id,\n payload: { comment: this.editable_comment },\n });\n\n if (code === ResponseStatuses.Success.UPDATED) {\n await this.update_repair_data();\n }\n }\n this.close_comment_modal();\n this.loading = false;\n }\n\n async update_repair_data() {\n const id = this.repair_id;\n\n await actions.get_repair_stages(id);\n await actions.get_repair_by_id(id);\n }\n\n show_comment_modal(item: Repairs.Stage) {\n this.editable_stage = item;\n this.editable_comment = item.comment;\n this.comment_modal = true;\n }\n\n close_comment_modal() {\n this.editable_comment = '';\n this.comment_modal = false;\n this.editable_stage = null;\n }\n\n handle_click_stage(stage: string) {\n if (stage === RepairStatuses.REPAIR_FINISHED) {\n this.validate_modal_title = attach_doc_alert.title;\n this.validate_modal_text = attach_doc_alert.text;\n this.validate_modal = true;\n }\n }\n}\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RepairStages.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RepairStages.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./RepairStages.vue?vue&type=template&id=fa53b9ee&\"\nimport script from \"./RepairStages.vue?vue&type=script&lang=ts&\"\nexport * from \"./RepairStages.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./RepairStages.vue?vue&type=style&index=0&module=true&lang=scss&\"\n\n\n\n\nfunction injectStyles (context) {\n \n this[\"$style\"] = (style0.locals || style0)\n\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 injectStyles,\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';\ninstallComponents(component, {VBtn,VIcon})\n"],"sourceRoot":""}