126 lines
4.5 KiB
JavaScript
126 lines
4.5 KiB
JavaScript
$(function () {
|
|
$("#schedule-department-tree").height($("#create-schedule-main").height() - 28);
|
|
$("#schedule-door-lists").height($("#create-schedule-main").height() - 28);
|
|
common.checkboxInit("door-schedule");
|
|
});
|
|
|
|
var schedule = {};
|
|
schedule.tree = function (e) {
|
|
var stt = $(e).attr("data-stt");
|
|
if (stt === "true") {
|
|
$(e).removeClass("fa-minus-square-o").addClass("fa-plus-square-o").attr("data-stt", "false");
|
|
$("#sub-department-schedule-" + $(e).attr("data")).addClass("hidden");
|
|
} else {
|
|
$(e).removeClass("fa-plus-square-o").addClass("fa-minus-square-o").attr("data-stt", "true");
|
|
$("#sub-department-schedule-" + $(e).attr("data")).removeClass("hidden");
|
|
}
|
|
};
|
|
schedule.chooseDepartment = function (e) {
|
|
common.modalBlock(true);
|
|
$.ajax({
|
|
url: $(e).attr("data-href"),
|
|
type: 'POST',
|
|
success: function (data) {
|
|
common.modalBlock(false);
|
|
$("#schedule-search-staff").html(data);
|
|
$(".department-schedule").removeClass("department-schedule-active");
|
|
$(e).addClass("department-schedule-active");
|
|
$("#staff-list").on('pjax:success', function () {
|
|
common.checkboxInit("staff-schedule");
|
|
});
|
|
common.checkboxInit("staff-schedule");
|
|
},
|
|
error: function (jqXHR, textStatus, errorThrown) {
|
|
common.modalBlock(false);
|
|
common.ajaxError();
|
|
}
|
|
});
|
|
};
|
|
schedule.searchStaff = function (e) {
|
|
common.modalBlock(true);
|
|
$.ajax({
|
|
url: $(e).attr("data-href"),
|
|
type: 'POST',
|
|
data: {
|
|
key: $(e).val()
|
|
},
|
|
success: function (data) {
|
|
common.modalBlock(false);
|
|
$("#schedule-search-staff").html(data);
|
|
$(".department-schedule").removeClass("department-schedule-active");
|
|
common.checkboxInit("staff-schedule");
|
|
},
|
|
error: function (jqXHR, textStatus, errorThrown) {
|
|
common.modalBlock(false);
|
|
common.ajaxError();
|
|
}
|
|
});
|
|
};
|
|
schedule.setSchedule = function (e) {
|
|
var staffs = [];
|
|
$.each($("input[name='checkbox-staff-schedule']:checked"), function () {
|
|
if ($(this).val() !== "0") {
|
|
staffs.push($(this).val());
|
|
}
|
|
});
|
|
if (staffs.length == 0) {
|
|
alert("Hãy chọn nhân viên");
|
|
return;
|
|
}
|
|
var doors = [];
|
|
$.each($("input[name='checkbox-door-schedule']:checked"), function () {
|
|
if ($(this).val() !== "0") {
|
|
doors.push($(this).val());
|
|
}
|
|
});
|
|
if (doors.length == 0) {
|
|
alert("Hãy chọn cửa");
|
|
return;
|
|
}
|
|
|
|
common.modalBlock(true);
|
|
$.ajax({
|
|
url: $(e).attr("data-href"),
|
|
type: 'POST',
|
|
data: {
|
|
schedule: $("select[name='ScheduleLists']").val(),
|
|
doors: doors,
|
|
staffs: staffs
|
|
},
|
|
success: function (data) {
|
|
common.modalBlock(false);
|
|
notification.success("Đã lưu thông tin", 1000);
|
|
$.each($("input[name='checkbox-staff-schedule']:checked"), function () {
|
|
if ($(this).val() !== "0") {
|
|
var id = $(this).val();
|
|
$("#schedule-staff-results-" + id).html(data.schedule);
|
|
var alert = "";
|
|
var hidden = "";
|
|
if (data.doors.length <= 2) {
|
|
alert = "<div id='short-{$model->id}'>" + data.doors.join("<br>") + "</div>";
|
|
} else {
|
|
alert = "<div id='short-" + id + "'>" + data.doors[0] + "<br>" + data.doors[1] + "<a href='#' onclick='openDoorList(this, true);return false;' data='" + id + "'><i class='fa fa-chevron-down'></i> Xem thêm</a></div>";
|
|
hidden = "<div id='full-" + id + "' class='hidden'>" + data.doors.join("<br>") + "<a href='#' onclick='openDoorList(this, false);return false;' data='" + id + "'><i class='fa fa-chevron-up'></i> Thu gọn</a></div>";
|
|
}
|
|
$("#schedule-door-results-" + id).html(alert + hidden);
|
|
}
|
|
});
|
|
|
|
},
|
|
error: function (jqXHR, textStatus, errorThrown) {
|
|
common.modalBlock(false);
|
|
common.ajaxError();
|
|
}
|
|
});
|
|
};
|
|
|
|
function openDoorList(e, stt) {
|
|
var id = $(e).attr("data");
|
|
if (stt) {
|
|
$("#short-" + id).addClass("hidden");
|
|
$("#full-" + id).removeClass("hidden");
|
|
} else {
|
|
$("#short-" + id).removeClass("hidden");
|
|
$("#full-" + id).addClass("hidden");
|
|
}
|
|
} |