Your IP : 216.73.217.77


Current Path : /home/users/unlimited/www/egrocer.codeskitter.site/resources/js/views/Seller/Commissions/
Upload File :
Current File : /home/users/unlimited/www/egrocer.codeskitter.site/resources/js/views/Seller/Commissions/Edit.vue

<template>
    <b-modal ref="my-modal" :title="modal_title" @hidden="$emit('modalClose')" no-fade static>
        <div slot="modal-footer">
            <b-button variant="primary" @click="$refs['dummy_submit'].click()" :disabled="isLoading">Save
                <b-spinner v-if="isLoading" small label="Spinning"></b-spinner>
            </b-button>
            <b-button variant="secondary" @click="hideModal">Cancel</b-button>
        </div>
        <form ref="my-form" @submit.prevent="saveRecord">
            <div class="row">
                <div class="col-md-1"><h6 class="modal-title">ID</h6></div>
                <div class="col-md-2"><h6 class="modal-title">Category Name</h6></div>
                <div class="col-md-9">
                    <h6 class="modal-title">Commission(%)
                        <br><small>[Keep blank if you want to apply global Commission for particular category]</small></h6>
                </div>
            </div>
            <template v-for="sellerCommission in sellerCommissions">
                <div class="row mt-1">
                    <div class="col-md-1">
                        {{ sellerCommission.category_id }}
                    </div>
                    <div class="col-md-2">
                        {{ sellerCommission.category_name }}
                    </div>
                    <div class="col-md-9">
                        <input type="number" class="form-control" v-model="sellerCommission.commission" :placeholder="'Enter Commission of '+sellerCommission.category_name">
                    </div>
                </div>
            </template>
            <button ref="dummy_submit" style="display:none;"></button>
        </form>
    </b-modal>
</template>

<script>
import axios from 'axios';

export default {
    props: ['record'],
    data : function(){
        return {
            isLoading: false,
            sellerCommissions : null
        };
    },
    created: function () {
        this.getSellerCommissions();
    },
    computed: {
        modal_title: function(){
            return "Set Category Wise Saller Commission";
        },
    },
    methods: {
        showModal() {
            this.$refs['my-modal'].show()
        },
        hideModal() {
            this.$refs['my-modal'].hide()
        },
        getSellerCommissions(){
            this.isLoading = true
            let seller_id = (this.record.seller_id)?this.record.seller_id:this.record.id;
            axios.get(this.$apiUrl + '/seller_commissions/formData/'+seller_id)
                .then((response) => {
                    this.isLoading = false
                    let data = response.data;
                    this.sellerCommissions = data.data
                });
        },
        saveRecord: function(){
            let vm = this;
            this.isLoading = true;
            let formData = this.sellerCommissions;
            let url = this.$apiUrl + '/seller_commissions/save';
            axios.post(url, formData).then(res => {
                let data = res.data;
                if (data.status === 1) {
                    this.$eventBus.$emit('commissionsSaved', data.message);
                    this.hideModal();
                }else{
                    vm.showError(data.message);
                    vm.isLoading = false;
                }
            }).catch(error => {
                vm.isLoading = false;
                if (error.request.statusText) {
                    this.showError(error.request.statusText);
                }else if (error.message) {
                    this.showError(error.message);
                } else {
                    this.showError("Something went wrong!");
                }
            });
        }
    },
    mounted(){
        this.showModal();
    }
}
</script>
<style scoped>

</style>