{"version":3,"sources":["webpack:///./node_modules/eslint-loader/index.js"],"names":["state","orders_store","actions","getters","mutations","UpdateOderDetails","delivery_methods","DeliveryMethods","products","products_list","map","item","clone_deep","selected_items_model","updated_items","snackbar","modal_change_products_amount","modal_delete_products","modal_change_delivery","new_delivery_details","update_delivery_details","tc","cart_store","transport_companies","da","delivery_addresses","wh","warehouses","delivery_types","delivery_methods_select","id","order_details","organization","get_warehouses","get_transport_companies","get_delivery_adresses","products_sorted","this","length","organization_id","e","value","push","filter","product","UPD_ORDER_DETAILS","form","resetValidation","product_updated","find_product","updated_product","find","quantity","update_orders_details","del","delivery_address_id","transport_company_id","warehouse_id","delivery_type","text","name","tc_n","address","key","prod","new_da_det","n_add","new_tc_det","n_tc","new_wh_det","n_wh","delivery","delivery_address","transport_company","warehouse","n_dt","new_dt","DeliveryMethodsTranslate","new_dt_det","slug","DELIVERY_TC","data","update_func","update_order","order_id","updating_items","code","ResponseStatuses","Success","UPDATED","forEach","handle_exact_update","update_local_products_deleted","update_local_products_amount","update_local_products_delivery","close_modal_update_product","clear_selected","Vue","__decorate","Ref","Watch","Component"],"mappings":"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","file":"js/home818.1b1e2218.js","sourcesContent":["import {\n Component, Watch, Ref, Vue,\n} from 'vue-property-decorator';\nimport { clone_deep } from '@/utils';\nimport { orders_store, cart_store } from '@/store';\nimport {\n delivery_methods_select,\n DeliveryMethods,\n ResponseStatuses,\n DeliveryMethodsTranslate,\n} from '@/enums';\nimport { WareHouse, VForm } from '@/types';\nimport { DeliveryAddress, TransportCompany } from '@/modules/organizations/types';\nimport { update_delivery_details } from '../services';\nimport { Orders } from '../types';\n\nconst {\n state, actions, getters, mutations,\n} = orders_store;\n\n@Component\nexport default class UpdateOderDetails extends Vue {\n @Ref()\n readonly form!: VForm;\n\n // получение данных о складах, транспортных компаниях, адресах доставки\n async mounted() {\n const id = state.order_details?.organization?.id || '';\n\n if (id) {\n await cart_store.actions.get_warehouses(id);\n await cart_store.actions.get_transport_companies(id);\n await cart_store.actions.get_delivery_adresses(id);\n }\n }\n\n // данные, необходимые для работы с обновлением заказа\n\n delivery_methods = DeliveryMethods;\n\n get order_details() {\n return state.order_details;\n }\n\n get organization_id() {\n return state.order_details?.organization?.id || '';\n }\n\n get products_list() {\n return getters.products_sorted;\n }\n\n products = this.products_list.map((item: Orders.OrderProductInfo) => clone_deep(item));\n\n // модели данных, необходимые для работы с обновлением заказа\n selected_items_model: Orders.OrderProductInfo[] = [];\n updated_items: Orders.OrderProductInfo[] = [];\n\n // работа со снэкбаром выбора нескольких заказов для обновления\n\n snackbar = false;\n\n @Watch('selected_items_model')\n handle_change_selected_items_model() {\n this.snackbar = !!this.selected_items_model.length;\n }\n\n @Watch('organization_id')\n async get_data_on_delivery() {\n if (this.organization_id) {\n await cart_store.actions.get_transport_companies(this.organization_id);\n await cart_store.actions.get_delivery_adresses(this.organization_id);\n }\n }\n\n handle_select_product(e: { item: Orders.OrderProductInfo; value: boolean }) {\n if (e.value) this.selected_items_model.push(e.item);\n else {\n this.selected_items_model = this.selected_items_model.filter(\n (product) => product.id !== e.item.id,\n );\n }\n }\n\n clear_selected() {\n this.snackbar = false;\n this.selected_items_model = [];\n }\n\n // общая функция обновления локальных сведений о заказе\n\n update_orders_details() {\n mutations.UPD_ORDER_DETAILS(this.products);\n }\n\n // работа с модальным окном направленяи запроса на изменение заказа\n\n modal_change_products_amount = false;\n modal_delete_products = false;\n modal_change_delivery = false;\n\n get order_id() {\n return this.order_details.id;\n }\n\n close_modal_update_product() {\n if (this.modal_change_delivery) this.form.resetValidation();\n this.modal_change_products_amount = false;\n this.modal_delete_products = false;\n this.modal_change_delivery = false;\n this.updated_items = [];\n this.new_delivery_details = update_delivery_details();\n }\n\n // изменение количества\n change_products_amount() {\n this.updated_items = this.selected_items_model.map((item) => clone_deep(item));\n this.modal_change_products_amount = true;\n }\n\n change_product_amount(item: Orders.OrderProductInfo) {\n this.updated_items = [clone_deep(item)];\n this.modal_change_products_amount = true;\n }\n\n update_local_products_amount(product_updated: Orders.OrderProductInfo) {\n const find_product = (product: Orders.OrderProductInfo) => product.id === product_updated.id;\n const updated_product = this.products.find(find_product);\n\n if (updated_product) {\n updated_product.quantity = product_updated.quantity;\n this.update_orders_details();\n }\n }\n\n // удаление товаров\n delete_products() {\n this.updated_items = this.selected_items_model.map((item) => clone_deep(item));\n this.modal_delete_products = true;\n }\n\n delete_product(item: Orders.OrderProductInfo) {\n this.updated_items = [clone_deep(item)];\n this.modal_delete_products = true;\n }\n\n update_local_products_deleted(del: Orders.OrderProductInfo) {\n const find_product = (product: Orders.OrderProductInfo) => product.id === del.id;\n const updated_product = this.products.find(find_product);\n\n if (updated_product) {\n updated_product.quantity = 0;\n this.update_orders_details();\n }\n }\n\n // изменение доставки\n new_delivery_details: Orders.OrderDeliveryUpdated = update_delivery_details();\n tc = cart_store.state.transport_companies;\n da = cart_store.state.delivery_addresses;\n wh = cart_store.state.warehouses;\n delivery_types = delivery_methods_select;\n get n_add() {\n return this.new_delivery_details.delivery_address_id;\n }\n\n get n_tc() {\n return this.new_delivery_details.transport_company_id;\n }\n\n get n_wh() {\n return this.new_delivery_details.warehouse_id;\n }\n\n get n_dt() {\n return this.new_delivery_details.delivery_type;\n }\n\n change_delivery_products() {\n this.updated_items = this.selected_items_model.map((item) => clone_deep(item));\n this.modal_change_delivery = true;\n }\n\n change_delivery_product(item: Orders.OrderProductInfo) {\n this.updated_items = [clone_deep(item)];\n this.modal_change_delivery = true;\n }\n\n get warehouses() {\n return cart_store.state.warehouses.map((item: WareHouse) => ({\n text: item.name,\n value: item.id,\n }));\n }\n\n get transport_companies() {\n const tc_n = 'name_transport_company';\n\n return this.tc.map((item: TransportCompany) => ({ text: item[tc_n], value: item.id }));\n }\n\n get delivery_addresses() {\n return this.da.map((item: DeliveryAddress) => ({ text: item.address, value: item.id }));\n }\n\n upd_delivery_details(key: keyof Orders.OrderDeliveryUpdated, value: unknown) {\n this.new_delivery_details[key] = value;\n }\n\n update_local_products_delivery(prod: Orders.OrderProductInfo) {\n const new_da_det = this.da.find((da: DeliveryAddress) => da.id === this.n_add);\n const new_tc_det = this.tc.find((tc: TransportCompany) => tc.id === this.n_tc);\n const new_wh_det = this.wh.find((wh: WareHouse) => wh.id === this.n_wh);\n\n const find_product = (product: Orders.OrderProductInfo) => product.id === prod.id;\n const updated_product = this.products.find(find_product);\n\n if (updated_product) {\n updated_product.delivery.delivery_address = new_da_det ?? updated_product.delivery.delivery_address;\n updated_product.delivery.transport_company = new_tc_det ?? updated_product.delivery.transport_company;\n updated_product.delivery.warehouse = new_wh_det ?? updated_product.delivery.warehouse;\n\n if (this.n_dt) {\n const new_dt = DeliveryMethodsTranslate[this.n_dt];\n const new_dt_det = { name: new_dt, slug: this.new_delivery_details.delivery_type };\n\n updated_product.delivery.delivery_type = new_dt_det;\n }\n this.update_orders_details();\n }\n }\n\n get can_send_request() {\n if (this.new_delivery_details.delivery_type === this.delivery_methods.DELIVERY_TC) {\n return !!this.n_add && !!this.n_tc && !!this.n_wh && !!this.n_dt;\n }\n return !!this.n_wh && !!this.n_dt;\n }\n\n // общий обработчик обновления заказа\n\n async handle_exact_update(\n data: Orders.UpdatedOrderDetails[],\n update_func: (prod: Orders.OrderProductInfo) => void,\n ) {\n const code = await actions.update_order({ id: this.order_id, updating_items: data });\n\n if (code === ResponseStatuses.Success.UPDATED) {\n this.updated_items.forEach((item) => update_func(item));\n }\n }\n\n async update_order() {\n if (this.modal_delete_products) {\n const data = this.updated_items.map((item) => ({ id: item.id, quantity: 0 }));\n\n await this.handle_exact_update(data, this.update_local_products_deleted);\n }\n if (this.modal_change_products_amount) {\n const data = this.updated_items.map((item) => ({ id: item.id, quantity: item.quantity }));\n\n await this.handle_exact_update(data, this.update_local_products_amount);\n }\n if (this.modal_change_delivery) {\n const data = this.updated_items.map((item) => ({\n ...this.new_delivery_details,\n id: item.id,\n }));\n\n await this.handle_exact_update(data, this.update_local_products_delivery);\n }\n this.close_modal_update_product();\n this.clear_selected();\n }\n}\n"],"sourceRoot":""}