213 lines
7.2 KiB
JavaScript
213 lines
7.2 KiB
JavaScript
$(function () {
|
|
$('.checkbox-use-subnetmask').iCheck({
|
|
checkboxClass: 'icheckbox_flat-red'
|
|
});
|
|
});
|
|
|
|
var progress = 0;
|
|
var totals = 0;
|
|
|
|
function _search(e) {
|
|
common.modalBlock(true);
|
|
$.ajax({
|
|
url: $(e).attr('data-href'),
|
|
type: 'POST',
|
|
data: {
|
|
SubnetMask: $("input[name='SubnetMask']").val()
|
|
},
|
|
success: function (data) {
|
|
common.modalBlock(false);
|
|
$("#table-device").html(data.form);
|
|
$("#totals").html(data.totals);
|
|
$("#add-button-enabled").removeClass("hidden");
|
|
$("#add-button-disabled").addClass("hidden");
|
|
common.checkboxInit("device");
|
|
},
|
|
error: function (jqXHR, textStatus, errorThrown) {
|
|
common.modalBlock(false);
|
|
alert("Có lỗi xảy ra! hãy kiểm tra lại service!");
|
|
}
|
|
});
|
|
}
|
|
|
|
function _process(e) {
|
|
var lists = [];
|
|
$.each($("input[name='checkbox-device']:checked"), function () {
|
|
lists.push($(this).val());
|
|
});
|
|
if (lists.length == 0) {
|
|
alert("Vui lòng lựa chọn đối tượng!");
|
|
return;
|
|
}
|
|
common.modalBlock(true);
|
|
$.ajax({
|
|
url: $(e).attr('data-href'),
|
|
type: 'POST',
|
|
data: {
|
|
lists: lists
|
|
},
|
|
success: function (data) {
|
|
common.modalBlock(false);
|
|
common.modalOpen(data.form, false, data.title);
|
|
$("#close-modal").attr("disabled", true);
|
|
$("#modalHeader").find("button").remove();
|
|
totals = data.lists.length;
|
|
for (var i = 0; i < totals; i++) {
|
|
_import(data.lists[i]);
|
|
}
|
|
},
|
|
error: function (jqXHR, textStatus, errorThrown) {
|
|
common.modalBlock(false);
|
|
common.ajaxError();
|
|
}
|
|
});
|
|
}
|
|
|
|
function _import(data) {
|
|
$.ajax({
|
|
url: $("input[name='import_url']").val(),
|
|
type: 'POST',
|
|
data: {
|
|
data: data
|
|
},
|
|
success: function (data) {
|
|
var html = "";
|
|
if (data.status) {
|
|
html = "<span class='text-green'><i class='fa fa-check'></i> Thêm thiết bị <b>" + data.IP + "</b> thành công.</span><br>";
|
|
} else {
|
|
html = "<span class='text-red'><i class='fa fa-remove'></i> Thêm thiết bị <b>" + data.IP + "</b> thất bại.</span><br>";
|
|
}
|
|
$("#logs-response").append(html);
|
|
$("#checkbox-" + data.SN).html("");
|
|
$("#status-" + data.SN).find("label").removeClass("hidden");
|
|
progress++;
|
|
var percent = parseInt(progress / totals * 100);
|
|
$("#progress").attr("aria-valuenow", percent);
|
|
$("#progress").attr("style", "width: " + percent + "%");
|
|
$("#progress").html(percent + "%");
|
|
if (percent >= 100) {
|
|
progress = 0;
|
|
$("#close-modal").attr("disabled", false);
|
|
}
|
|
},
|
|
error: function (jqXHR, textStatus, errorThrown) {
|
|
common.ajaxError();
|
|
}
|
|
});
|
|
}
|
|
|
|
function _form(e) {
|
|
var lists = [];
|
|
$.each($("input[name='checkbox-device']: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'),
|
|
type: 'POST',
|
|
data: {
|
|
data: lists[0]
|
|
},
|
|
success: function (data) {
|
|
common.modalBlock(false);
|
|
common.modalOpen(data.form, false, data.title);
|
|
},
|
|
error: function (jqXHR, textStatus, errorThrown) {
|
|
common.modalBlock(false);
|
|
common.ajaxError();
|
|
}
|
|
});
|
|
}
|
|
|
|
function validateChangeIP() {
|
|
var error = 0;
|
|
var Ip = $("input[name='IpNew']").val();
|
|
if (Ip === "") {
|
|
common.error("ip", "Địa chỉ IP mới không được để trống");
|
|
error++;
|
|
} else if (!common.validateIp(Ip)) {
|
|
common.error("ip", "Định dạng địa chỉ IP không đúng");
|
|
error++;
|
|
} else {
|
|
common.success("ip");
|
|
}
|
|
|
|
var SubnetMask = $("input[name='SubnetMask']").val();
|
|
if (SubnetMask === "") {
|
|
common.error("subnet_mask", "Subnet mask không được để trống");
|
|
error++;
|
|
} else if (!common.validateIp(SubnetMask)) {
|
|
common.error("subnet_mask", "Định dạng Subnet mask không đúng");
|
|
error++;
|
|
} else {
|
|
common.success("subnet_mask");
|
|
}
|
|
|
|
var Gateway = $("input[name='Gateway']").val();
|
|
if (Gateway === "") {
|
|
common.error("gateway", "Gateway không được để trống");
|
|
error++;
|
|
} else if (!common.validateIp(Gateway)) {
|
|
common.error("gateway", "Định dạng Gateway không đúng");
|
|
error++;
|
|
} else {
|
|
common.success("gateway");
|
|
}
|
|
return error == 0 ? true : false;
|
|
}
|
|
|
|
function changeIP(e) {
|
|
if (validateChangeIP()) {
|
|
common.modalBlock(true);
|
|
$.ajax({
|
|
url: $(e).attr('data-href'),
|
|
type: 'POST',
|
|
data: {
|
|
IpOld: $("input[name='IpOld']").val(),
|
|
IpNew: $("input[name='IpNew']").val(),
|
|
SubnetMask: $("input[name='SubnetMaskDevice']").val(),
|
|
Gateway: $("input[name='Gateway']").val(),
|
|
MAC: $("input[name='MAC']").val()
|
|
},
|
|
success: function (data) {
|
|
common.modalBlock(false);
|
|
var SN = $("input[name='SN']").val();
|
|
if (data.status) {
|
|
notification.success("Đổi IP thiết bị thành công", 1000);
|
|
$("#myModal").modal("hide");
|
|
$("#ip-" + SN).html($("input[name='IpNew']").val());
|
|
$("#subnet-mask-" + SN).html($("input[name='SubnetMaskDevice']").val());
|
|
$("#gateway-" + SN).html($("input[name='Gateway']").val());
|
|
var params = {
|
|
MAC: $("input[name='MAC']").val(),
|
|
IP: $("input[name='IpNew']").val(),
|
|
NetMask: $("input[name='SubnetMaskDevice']").val(),
|
|
GATEIPAddress: $("input[name='Gateway']").val(),
|
|
SN: $("input[name='SN']").val(),
|
|
Device: $("input[name='Device']").val(),
|
|
Ver: $("input[name='Ver']").val()
|
|
};
|
|
$("#checkbox-" + SN).find("input").val(JSON.stringify(params));
|
|
} else {
|
|
if (data.type === "ip") {
|
|
common.error("ip", "Địa chỉ ip đã tồn tại");
|
|
} 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);
|
|
alert("Có lỗi xảy ra! hãy kiểm tra lại service!");
|
|
}
|
|
});
|
|
}
|
|
} |