Server IP : 80.87.202.40 / Your IP : 216.73.216.169 Web Server : Apache System : Linux rospirotorg.ru 5.14.0-539.el9.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Dec 5 22:26:13 UTC 2024 x86_64 User : bitrix ( 600) PHP Version : 8.2.27 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /home/bitrix/ext_www/rospirotorg.ru/bitrix/js/lpost/delivery/FormDeliveryOrderEdit/src/ |
Upload File : |
import {createStore} from 'ui.vue.vuex'; import fieldDateTimeSelect from "./js/Components/FieldDateTimeSelect"; export default BX.Vuex.createStore({ state() { return { fieldOrderStatus: { type: "string", value: "create" }, fieldOrderId: { type: "string", value: "create" }, fieldStoreId: { code: "storeId", type: "string", value: 10 }, fieldCityName: { type: "string", value: "create" }, fieldSumPayment: { type: "string", value: 0 }, fieldSumPrePayment: { type: "string", value: 0 }, fieldSumDelivery: { type: "string", value: 0 }, fieldSumTotal: { type: "string", value: 0 }, profile: { value: null, valueList: [ ] }, zonePropertyList: [ ], pvzPropertyList: [ ], propertyList: [ ], coords: "0,0" } }, mutations: { }, actions: { async fetchSetting(ctx, orderId) { return new Promise((resolve, reject) => { BX.ajax.runAction("lpost:delivery.api.ControllerFormDeliveryEdit.getSetting", { data: { orderId: orderId }, }).then( e => { ctx.state.zonePropertyList = e.data.zonePropertyList; ctx.state.pvzPropertyList = e.data.pvzPropertyList; ctx.state.propertyList = e.data.propertyList; ctx.getters.fieldProfile.value = e.data.profileId; ctx.getters.fieldProfile.valueList = e.data.profileList; ctx.getters.fieldOrderId.value = e.data.orderId; ctx.getters.fieldOrderStatus.value = e.data.orderStatus; ctx.getters.fieldSumTotal.value = e.data.sumTotal; ctx.getters.fieldSumDelivery.value = e.data.sumDelivery; ctx.getters.fieldSumPrePayment.value = e.data.sumPrePayment; ctx.getters.fieldSumPayment.value = e.data.sumPayment; ctx.getters.fieldStoreId.value = e.data.storeId; ctx.getters.fieldCityName.value = e.data.cityName; resolve(true); }) }) }, async reCalcSumZoneDelivery(ctx, address) { return new Promise((resolve, reject) => { BX.ajax.runAction("lpost:delivery.api.ControllerFormDeliveryEdit.calculateSumDeliveryZone", { data: { orderId: ctx.getters.fieldOrderId.value, profileId: ctx.getters.fieldProfile.value, address, }, }).then( e => { ctx.getters.fieldSumTotal.value = e.data.sumTotal; ctx.getters.fieldSumDelivery.value = e.data.sumDelivery; ctx.getters.fieldDateTimeDeliveryList.valueList = e.data.date_time_delivery; ctx.getters.fieldDateTimeDeliveryList.valueDate = e.data.date_time_delivery[0].DateDelive; ctx.getters.fieldDateTimeDeliveryList.valueTime = e.data.date_time_delivery[0].Intervals[0].TimeFrom + ',' + e.data.date_time_delivery[0].Intervals[0].TimeTo; resolve(true); }) }); }, async reCalcSumPVZDelivery(ctx, pickupId) { return new Promise((resolve, reject) => { BX.ajax.runAction("lpost:delivery.api.ControllerFormDeliveryEdit.calculateSumDeliveryPVZ", { data: { orderId: ctx.getters.fieldOrderId.value, profileId: ctx.getters.fieldProfile.value, pickupId }, }).then( e => { ctx.getters.fieldSumTotal.value = e.data.sumTotal; ctx.getters.fieldSumDelivery.value = e.data.sumDelivery; resolve(true); }) }); }, async requestSave(ctx) { let fieldList = []; let propertyList = []; if(ctx.getters.activeProfileType === "pvz"){ fieldList = ctx.getters.pvzPropertyFieldList; } if(ctx.getters.activeProfileType === "zone"){ fieldList = ctx.getters.zonePropertyFieldList; } fieldList = fieldList.concat(ctx.getters.propertyFieldList); for(let key in fieldList) { if(fieldList[key].code === "date_time_delivery"){ propertyList["zone_date_day"] = fieldList[key].valueDate propertyList["zone_date_time"] = fieldList[key].valueTime continue; } propertyList[fieldList[key].code] = fieldList[key].value; } propertyList['coords'] = ctx.getters.fieldCoords.coords; BX.ajax.runAction("lpost:delivery.api.ControllerFormDeliveryEdit.save", { data: { orderId: ctx.getters.fieldOrderId.value, profileId: ctx.getters.fieldProfile.value, profileType: ctx.getters.activeProfileType, sumDelivery: ctx.getters.fieldSumDelivery.value, sumTotal: ctx.getters.fieldSumTotal.value, propertyList, }, }).then( e => { location.reload(); }) } }, getters: { fieldOrderStatus(state) { return state.fieldOrderStatus; }, fieldOrderId(state) { return state.fieldOrderId; }, fieldCityName(state) { return state.fieldCityName; }, fieldStoreId(state) { return state.fieldStoreId; }, fieldProfile(state) { return state.profile; }, activeProfileType(state) { let profile = state.profile.valueList.find(field => { return parseInt(field.id) == parseInt(state.profile.value) }); return profile.type ?? "zone"; }, activeFieldProfile(state) { return state.profile.valueList.find(field => { return parseInt(field.id) == parseInt(state.profile.value) }); }, pvzPropertyFieldList(state) { return state.pvzPropertyList; }, zonePropertyFieldList(state) { return state.zonePropertyList; }, propertyFieldList(state) { return state.propertyList; }, fieldSumTotal(state) { return state.fieldSumTotal; }, fieldSumPayment(state) { return state.fieldSumPayment; }, fieldSumPrePayment(state) { return state.fieldSumPrePayment; }, fieldSumDelivery(state) { return state.fieldSumDelivery; }, fieldDateTimeDeliveryList(state) { return state.zonePropertyList.find(property => property.type === "date-time-select"); }, fieldCoords(state) { return state.zonePropertyList.find(property => property.type === "address"); }, } });