403Webshell
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 :
current_dir [ Writeable] document_root [ Writeable]

 

Command :


[ Back ]     

Current File : /home/bitrix/ext_www/rospirotorg.ru/bitrix/js/lpost/delivery/FormDeliveryOrderEdit/src/store.js
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");
        },
    }
});



Youez - 2016 - github.com/yon3zu
LinuXploit