Server_AccessControl/web/js/schedule.js

240 lines
9.5 KiB
JavaScript

$(function () {
common.checkboxInit("schedule");
$("#schedule-list").on('pjax:success', function () {
common.checkboxInit("schedule");
});
});
function _create(e) {
common.modalBlock(true);
$.ajax({
url: $(e).attr('data-href'),
type: 'POST',
success: function (data) {
common.modalBlock(false);
common.modalOpen(data.form, true, data.title);
common.dateTimePickerByClass("select-picker", "HH:mm");
},
error: function (jqXHR, textStatus, errorThrown) {
common.modalBlock(false);
common.ajaxError();
}
});
}
function openFormTimePicker(e) {
if (saveCurrentPos()) {
var id = $(e).attr("data-id");
$("#data-" + id).addClass("hidden");
$("#form-" + id).removeClass("hidden");
$("input[name='CurrentPos']").val(id);
}
}
function _copy(e) {
if (saveCurrentPos()) {
var fromDay = $(e).attr("data-from");
var targetDay = $(e).attr("data-target");
var fDay1 = $("input[name='From" + fromDay + "1']").val();
var tDay1 = $("input[name='To" + fromDay + "1']").val();
if (fDay1 !== "00:00" || tDay1 !== "00:00") {
var html = `<span style="cursor: pointer;" onclick="openFormTimePicker(this);" data-id="` + targetDay + `1">` + fDay1 + ` - ` + tDay1 + `</span>`;
$("#data-" + targetDay + "1").html(html);
$("input[name='From" + targetDay + "1']").val(fDay1);
$("input[name='To" + targetDay + "1']").val(tDay1);
}
var fDay2 = $("input[name='From" + fromDay + "2']").val();
var tDay2 = $("input[name='To" + fromDay + "2']").val();
if (fDay2 !== "00:00" || tDay2 !== "00:00") {
var html = `<span style="cursor: pointer;" onclick="openFormTimePicker(this);" data-id="` + targetDay + `2">` + fDay2 + ` - ` + tDay2 + `</span>`;
$("#data-" + targetDay + "2").html(html);
$("input[name='From" + targetDay + "2']").val(fDay2);
$("input[name='To" + targetDay + "2']").val(tDay2);
}
var fDay3 = $("input[name='From" + fromDay + "3']").val();
var tDay3 = $("input[name='To" + fromDay + "3']").val();
if (fDay3 !== "00:00" || tDay3 !== "00:00") {
var html = `<span style="cursor: pointer;" onclick="openFormTimePicker(this);" data-id="` + targetDay + `3">` + fDay3 + ` - ` + tDay3 + `</span>`;
$("#data-" + targetDay + "3").html(html);
$("input[name='From" + targetDay + "3']").val(fDay3);
$("input[name='To" + targetDay + "3']").val(tDay3);
}
}
}
function saveCurrentPos() {
var currentID = $("input[name='CurrentPos']").val();
if (currentID !== "") {
var f = $("input[name='From" + currentID + "']").val();
var t = $("input[name='To" + currentID + "']").val();
if (convertTime(f) > convertTime(t)) {
alert("Mốc thời gian lựa chọn chưa đúng!");
return false;
}
if (f !== "00:00" || t !== "00:00") {
var html = `<span style="cursor: pointer;" onclick="openFormTimePicker(this);" data-id="` + currentID + `">` + f + ` - ` + t + `</span>`;
$("#data-" + currentID).html(html);
} else if (f === "00:00" && t === "00:00") {
var html = `<i class="fa fa-plus fa-1-5x text-green" style="cursor: pointer;" onclick="openFormTimePicker(this);" data-id="` + currentID + `"></i>`;
$("#data-" + currentID).html(html);
}
}
$(".time-picker-data").removeClass("hidden");
$(".time-picker-form").addClass("hidden");
return true;
}
function convertTime(time) {
var split = time.split(":");
return parseInt(split[0]) * 60 + parseInt(split[1]);
}
function validate() {
var error = 0;
var Name = $("input[name='Name']").val();
if (Name === "") {
common.error("name", "Tên lịch trình không được để trống");
error++;
} else {
common.success("name");
}
return error == 0 ? true : false;
}
function save(e) {
if (validate() && saveCurrentPos()) {
common.modalBlock(true);
$.ajax({
url: $(e).attr('data-href'),
type: 'POST',
data: {
Name: $("input[name='Name']").val(),
Description: $("input[name='Description']").val(),
FromMon1: $("input[name='FromMon1']").val(),
ToMon1: $("input[name='ToMon1']").val(),
FromMon2: $("input[name='FromMon2']").val(),
ToMon2: $("input[name='ToMon2']").val(),
FromMon3: $("input[name='FromMon3']").val(),
ToMon3: $("input[name='ToMon3']").val(),
FromTue1: $("input[name='FromTue1']").val(),
ToTue1: $("input[name='ToTue1']").val(),
FromTue2: $("input[name='FromTue2']").val(),
ToTue2: $("input[name='ToTue2']").val(),
FromTue3: $("input[name='FromTue3']").val(),
ToTue3: $("input[name='ToTue3']").val(),
FromWed1: $("input[name='FromWed1']").val(),
ToWed1: $("input[name='ToWed1']").val(),
FromWed2: $("input[name='FromWed2']").val(),
ToWed2: $("input[name='ToWed2']").val(),
FromWed3: $("input[name='FromWed3']").val(),
ToWed3: $("input[name='ToWed3']").val(),
FromThu1: $("input[name='FromThu1']").val(),
ToThu1: $("input[name='ToThu1']").val(),
FromThu2: $("input[name='FromThu2']").val(),
ToThu2: $("input[name='ToThu2']").val(),
FromThu3: $("input[name='FromThu3']").val(),
ToThu3: $("input[name='ToThu3']").val(),
FromFri1: $("input[name='FromFri1']").val(),
ToFri1: $("input[name='ToFri1']").val(),
FromFri2: $("input[name='FromFri2']").val(),
ToFri2: $("input[name='ToFri2']").val(),
FromFri3: $("input[name='FromFri3']").val(),
ToFri3: $("input[name='ToFri3']").val(),
FromSat1: $("input[name='FromSat1']").val(),
ToSat1: $("input[name='ToSat1']").val(),
FromSat2: $("input[name='FromSat2']").val(),
ToSat2: $("input[name='ToSat2']").val(),
FromSat3: $("input[name='FromSat3']").val(),
ToSat3: $("input[name='ToSat3']").val(),
FromSun1: $("input[name='FromSun1']").val(),
ToSun1: $("input[name='ToSun1']").val(),
FromSun2: $("input[name='FromSun2']").val(),
ToSun2: $("input[name='ToSun2']").val(),
FromSun3: $("input[name='FromSun3']").val(),
ToSun3: $("input[name='ToSun3']").val()
},
success: function (data) {
common.modalBlock(false);
if (data.status) {
notification.success("Đã lưu thông tin", 1000);
$.pjax.reload({container: '#schedule-list'});
$("#schedule-list").on('pjax:success', function () {
common.checkboxInit("schedule");
});
$("#myModal").modal("hide");
} else {
notification.danger("Có lỗi xảy ra, không lưu được dữ liệu!", 1000);
}
},
error: function (jqXHR, textStatus, errorThrown) {
common.modalBlock(false);
common.ajaxError();
}
});
}
}
function _form(e) {
var lists = [];
$.each($("input[name='checkbox-schedule']:checked"), function () {
lists.push($(this).val());
});
if (lists.length == 0) {
alert("Vui lòng lựa chọn đối tượng để thay đổi!");
return;
}
if (lists.length > 1) {
alert("Tác vụ này không thể lựa chọn nhiều hơn một đối tượng!");
return;
}
common.modalBlock(true);
$.ajax({
url: $(e).attr('data-href') + "?id=" + lists[0],
type: 'POST',
success: function (data) {
common.modalBlock(false);
common.modalOpen(data.form, true, data.title);
common.dateTimePickerByClass("select-picker", "HH:mm");
},
error: function (jqXHR, textStatus, errorThrown) {
common.modalBlock(false);
common.ajaxError();
}
});
}
function _delete(e) {
var lists = [];
$.each($("input[name='checkbox-schedule']:checked"), function () {
lists.push($(this).val());
});
if (lists.length == 0) {
alert("Vui lòng lựa chọn đối tượng để xóa!");
return;
}
if (confirm("Bạn có chắc chắn muốn xóa các đối tượng đã lựa chọn không?")) {
common.modalBlock(true);
$.ajax({
url: $(e).attr('data-href'),
type: 'POST',
data: {
lists: lists
},
success: function (data) {
common.modalBlock(false);
notification.danger("Đã xóa dữ liệu", 1000);
$.pjax.reload({container: '#schedule-list'});
$("#schedule-list").on('pjax:success', function () {
common.checkboxInit("schedule");
});
},
error: function (jqXHR, textStatus, errorThrown) {
common.modalBlock(false);
common.ajaxError();
}
});
}
}