240 lines
9.5 KiB
JavaScript
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();
|
|
}
|
|
});
|
|
}
|
|
} |