212 lines
5.9 KiB
JavaScript
212 lines
5.9 KiB
JavaScript
(function () {
|
|
'use strict';
|
|
angular
|
|
.module('app')
|
|
.controller('ShiftsCtrl', ShiftsCtrl);
|
|
|
|
ShiftsCtrl.$inject = ['$scope', '$filter', 'smartRequest', 'Notification'];
|
|
function ShiftsCtrl($scope, $filter, smartRequest, Notification) {
|
|
var date = new Date();
|
|
var formatted = ('0' + date.getDate()).slice(-2) + '.' + ('0' + (date.getMonth() + 1)).slice(-2) + '.' + date.getFullYear();
|
|
date.setDate(date.getDate() - 1);
|
|
var formatted_yesterday = ('0' + date.getDate()).slice(-2) + '.' + ('0' + (date.getMonth() + 1)).slice(-2) + '.' + date.getFullYear();
|
|
|
|
$scope.start_date = formatted;
|
|
$scope.end_date = formatted_yesterday;
|
|
$scope.response = false;
|
|
$scope.shifts = [];
|
|
$scope.report_delete = [];
|
|
$scope.countOfPages = 1;
|
|
$scope.currentPage = 1;
|
|
$scope.statistic = {};
|
|
$scope.staffs = [];
|
|
|
|
$scope.add = function() {
|
|
$scope.reImport = {};
|
|
$('#reImport').modal();
|
|
};
|
|
|
|
$scope.create = function() {
|
|
var start_date = document.getElementById("startDate").value;
|
|
var end_date = document.getElementById("endDate").value;
|
|
console.log(start_date, end_date);
|
|
smartRequest.get('v1/import?start_date=' + encodeURIComponent(start_date) + '&end_date=' + encodeURIComponent(end_date), function(data) {
|
|
$scope.response = data.message;
|
|
if (data.message == 'shifts not found') {
|
|
Notification.error('Смены не найдены');
|
|
} else {
|
|
Notification.success('Задача создана');
|
|
$scope.update();
|
|
}
|
|
});
|
|
$('#reImport').modal('toggle');
|
|
};
|
|
|
|
$scope.update = function () {
|
|
smartRequest.get('shift/list?page=' + $scope.currentPage, function (data) {
|
|
$scope.shifts = data.shifts;
|
|
$scope.countOfPages = data.pages;
|
|
$scope.pages = $scope.makePages();
|
|
});
|
|
smartRequest.get('v1/settings?code=11', function (data) {
|
|
$scope.delete_shift_value = data.value;
|
|
});
|
|
};
|
|
|
|
$scope.deleteShift = function (shift) {
|
|
$('#preload-modal').modal();
|
|
Notification.primary('Дождитесь удаления! Страница обновится автоматически.');
|
|
smartRequest.post('v1/deletedata', {
|
|
value: 'delete_shift',
|
|
shift_id: shift.id
|
|
}, function (data) {
|
|
$scope.status = data.status;
|
|
$scope.message = data.message;
|
|
if (data.status == 'success') {
|
|
Notification.success(data.message);
|
|
setTimeout(function() {
|
|
//location.reload();
|
|
$scope.update();
|
|
$('#preload-modal').modal('hide');
|
|
}, 1000);
|
|
}
|
|
if ($scope.status == 'error') {
|
|
Notification.error(data.message);
|
|
}
|
|
});
|
|
};
|
|
|
|
$scope.reportDelete = function (shift) {
|
|
smartRequest.get('report/deleted?shift_id=' + shift.id, function (data) {
|
|
$scope.report_delete = data.deleted;
|
|
$scope.report_delete.total_sum = data.total_sum;
|
|
$scope.report_delete.total_count = data.total_count;
|
|
|
|
$scope.start_date = shift.opened;
|
|
$scope.end_date = shift.closed;
|
|
|
|
$('#report-delete').modal();
|
|
});
|
|
};
|
|
|
|
$scope.reportRealisation = function (shift) {
|
|
smartRequest.get('report/realisation?shift_id=' + shift.id, function (data) {
|
|
|
|
$scope.report_realisation = data.printers;
|
|
$scope.return_printers = data.ret_prints;
|
|
|
|
$scope.report_realisation.total_count = data.total_count;
|
|
$scope.report_realisation.total_sum = data.total_sum;
|
|
|
|
$scope.start_date = shift.opened;
|
|
$scope.end_date = shift.closed;
|
|
|
|
$('#report-realisation').modal();
|
|
});
|
|
};
|
|
|
|
$scope.reportStatistic = function (shift) {
|
|
smartRequest.get('report/statistics?shift_id=' + shift.id, function (data) {
|
|
$scope.statistic = data.statistic;
|
|
$scope.start_date = shift.opened;
|
|
$scope.end_date = shift.closed;
|
|
|
|
$('#report-statistic').modal();
|
|
});
|
|
};
|
|
|
|
$scope.reportStaff = function (shift) {
|
|
smartRequest.get('report/staff?shift_id=' + shift.id, function (data) {
|
|
$scope.staffs = data.staffs;
|
|
$scope.start_date = shift.opened;
|
|
$scope.end_date = shift.closed;
|
|
|
|
$('#report-staff').modal();
|
|
});
|
|
};
|
|
|
|
$scope.reportPay = function (shift) {
|
|
smartRequest.get('report/payment?shift_id=' + shift.id, function (data) {
|
|
|
|
$scope.printers = data.printers;
|
|
$scope.start_date = shift.opened;
|
|
$scope.end_date = shift.closed;
|
|
|
|
$('#report-payment').modal();
|
|
}, function (data) {
|
|
$scope.update();
|
|
});
|
|
};
|
|
|
|
$scope.reportOut = function (shift) {
|
|
smartRequest.get('v1/outorders?shift_id=' + shift.id, function (data) {
|
|
$scope.response = data.message;
|
|
if (data.message == 'false') {
|
|
Notification.error('Внешние заказы не найдены');
|
|
} else {
|
|
$scope.orders = data.orders;
|
|
$scope.shift = data.shift;
|
|
$scope.total = data.total;
|
|
|
|
$('#report-out').modal();
|
|
}
|
|
|
|
}, function (data) {
|
|
$scope.update();
|
|
});
|
|
};
|
|
|
|
$scope.restoreShift = function (shift) {
|
|
$('#preload-modal').modal();
|
|
Notification.primary('Дождитесь загрузки! Страница обновится автоматически.');
|
|
smartRequest.post('v1/restoreshift', {
|
|
shift_id: shift.id
|
|
}, function (data) {
|
|
$scope.status = data.status;
|
|
$scope.response = data.message;
|
|
if (data.status == 'success') {
|
|
Notification.success(data.message);
|
|
setTimeout(function() {
|
|
location.reload();
|
|
}, 1000);
|
|
}
|
|
if ($scope.status == 'error') {
|
|
Notification.error(data.message);
|
|
}
|
|
});
|
|
};
|
|
|
|
$scope.popup = function(data) {
|
|
var mywindow = window.open();
|
|
mywindow.document.write(data);
|
|
|
|
mywindow.print();
|
|
mywindow.close();
|
|
};
|
|
|
|
$scope.printElem = function(elem) {
|
|
$scope.popup($('<div/>').append($(elem).clone()).html());
|
|
};
|
|
|
|
$scope.makePages = function () {
|
|
return Array.from({ length: $scope.countOfPages }, (v, k) => k + 1);
|
|
};
|
|
|
|
$scope.showPage = function (index) {
|
|
$scope.currentPage = index;
|
|
$scope.update();
|
|
};
|
|
|
|
$scope.nextPage = function () {
|
|
$scope.currentPage++;
|
|
$scope.update();
|
|
};
|
|
|
|
$scope.prevPage = function () {
|
|
$scope.currentPage--;
|
|
$scope.update();
|
|
};
|
|
|
|
$scope.update();
|
|
}
|
|
})(); |