Server_AccessControl/web/js/assign.js

128 lines
4.7 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);
$("input[name='currentDepartment']").val($(e).attr("data"));
$("#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,
currentDepartment: $("input[name='currentDepartment']").val()
},
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] + "<br><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>") + "<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");
}
}