Vue.config.devtools = true; Vue.component('v-select', VueSelect.VueSelect); var reqobj = {}; /*var getinterval = setInterval(function(){ //console.log($('.additional-info .stagebar').length); if($('.additional-info .stagebar').length > 0){ get_bar_obj(); getReSearchObjectsCounts(); clearInterval(getinterval); } }, 500);*/ //Получение бара function get_bar_obj(){ $('.stagebar').each(function(index){ if($(this).data("req")){ var req_id = $(this).data("req"); var funnel_id = $(this).data("funnel"); var stage = $(this).data("stage"); reqobj[req_id] = new Vue({ el: '#stagebar__'+req_id, components: { Multiselect: window.VueMultiselect.default, vuejsDatepicker: window.vuejsDatepicker }, data(){ return { agency_id: $('#session_agency_id').val(), user_id: $('#session_user_id').val(), steps:[], reqId: req_id, funnelId: funnel_id, stage: stage, bars: 1, funnels: [], selectFunnel: funnel_id, OpenIndicator: { render: createElement => createElement('span', { class: { 'vueToggleSpan': true } }), }, is_edit_funnel: false } }, methods:{ //Получение бара воронки getBarFunnel(reqId) { axios.post('/ajax/ajax_vue_requisitions.php',{ request: 'get_bar_funnel', funnel_id: this.funnelId, req_id: reqId, stage: stage, agency_id: this.agency_id }, ) .then((response)=> { this.steps = response.data; this.bars = this.steps.bar.length; this.funnels = response.data.funnels; }) .catch(function (error) { console.log(error); }); }, closeEdit(){ this.is_edit_funnel = false; this.selectFunnel = this.funnelId; }, saveFunnel(){ if(!this.isEmpty(this.selectFunnel)){ axios.post('/ajax/ajax_vue_requisitions.php',{ request: 'funnel_change', new_funnel_id: this.selectFunnel, old_funnel_id: this.funnelId, req_id: this.reqId, agency_id: this.agency_id, user_id: this.user_id }, ) .then((response)=> { //console.log(response.data); this.funnelId = this.selectFunnel; this.getBarFunnel(this.reqId); this.closeEdit(); }) .catch(function (error) { console.log(error); }); } }, //Проверка на пустоту isEmpty(data) { if (typeof (data) === 'object') { if (JSON.stringify(data) === '{}' || JSON.stringify(data) === '[]') { return true; } else if (!data) { return true; } return false; } else if (typeof (data) === 'string') { if (!data.trim()) { return true; } return false; } else if (typeof (data) === 'undefined') { return true; } else { return false; } }, }, mounted() { }, created: function() { $('.editFunnelObject').removeClass('hidden'); this.getBarFunnel(this.reqId); $("#stagebar__"+this.reqId).show(); } }) } }); }