Update sửa đổi địa chỉ IP ở phần Thêm thiết bị
This commit is contained in:
parent
fbb8a80da8
commit
7204a46da7
|
@ -502,4 +502,38 @@ class DeviceController extends Controller {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function actionChangeIpSearchForm() {
|
||||||
|
Yii::$app->response->format = "json";
|
||||||
|
if (Yii::$app->request->post()) {
|
||||||
|
$data = json_decode(Yii::$app->request->post("data"), true);
|
||||||
|
return [
|
||||||
|
"title" => Html::tag("i", "", ["class" => "fa fa-pencil"]) . " Thay đổi địa chỉ IP",
|
||||||
|
"form" => $this->renderPartial("change-ip-search", [
|
||||||
|
"data" => $data,
|
||||||
|
"url" => Url::to(["change-ip-search"])
|
||||||
|
])
|
||||||
|
];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public function actionChangeIpSearch() {
|
||||||
|
Yii::$app->response->format = "json";
|
||||||
|
if (Yii::$app->request->post()) {
|
||||||
|
$data = Yii::$app->request->post();
|
||||||
|
if ($data["IpOld"] !== $data["IpNew"]) {
|
||||||
|
$res = common::requestToCardService("/ModifyIPAddress", [
|
||||||
|
"OldIPAddress" => $data["IpOld"],
|
||||||
|
"NewIPAddress" => $data["IpNew"],
|
||||||
|
"NetMask" => $data["SubnetMask"],
|
||||||
|
"GATEIPAddress" => $data["Gateway"],
|
||||||
|
"MAC" => $data["MAC"]
|
||||||
|
]);
|
||||||
|
if ($res == 0) {
|
||||||
|
return ["status" => true];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return ["status" => true];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
52
views/device/change-ip-search.tpl
Normal file
52
views/device/change-ip-search.tpl
Normal file
|
@ -0,0 +1,52 @@
|
||||||
|
<style>
|
||||||
|
.input-group-addon{
|
||||||
|
width: 140px;
|
||||||
|
text-align: left;
|
||||||
|
}
|
||||||
|
.input-group{
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
.select2{
|
||||||
|
width: 100% !important;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
<div class="form-group">
|
||||||
|
<div class="input-group">
|
||||||
|
<div class="input-group-addon">Địa chỉ IP cũ</div>
|
||||||
|
<input type="text" class="form-control" value="{$data.IP|default:""}" name="IpOld" readonly="">
|
||||||
|
</div>
|
||||||
|
<span class="help-block hidden"></span>
|
||||||
|
</div>
|
||||||
|
<div class="form-group" id="ip">
|
||||||
|
<div class="input-group">
|
||||||
|
<div class="input-group-addon">Địa chỉ IP mới</div>
|
||||||
|
<input type="text" class="form-control" value="{$data.IP|default:""}" name="IpNew">
|
||||||
|
</div>
|
||||||
|
<span class="help-block hidden"></span>
|
||||||
|
</div>
|
||||||
|
<div class="form-group" id="subnet_mask">
|
||||||
|
<div class="input-group">
|
||||||
|
<div class="input-group-addon">Subnet Mask</div>
|
||||||
|
<input type="text" class="form-control" value="{$data.NetMask|default:""}" name="SubnetMaskDevice">
|
||||||
|
</div>
|
||||||
|
<span class="help-block hidden"></span>
|
||||||
|
</div>
|
||||||
|
<div class="form-group" id="gateway">
|
||||||
|
<div class="input-group">
|
||||||
|
<div class="input-group-addon">Gateway</div>
|
||||||
|
<input type="text" class="form-control" value="{$data.GATEIPAddress|default:""}" name="Gateway">
|
||||||
|
</div>
|
||||||
|
<span class="help-block hidden"></span>
|
||||||
|
</div>
|
||||||
|
<input type="hidden" value="{$data.MAC}" name="MAC">
|
||||||
|
<input type="hidden" value="{$data.SN}" name="SN">
|
||||||
|
<input type="hidden" value="{$data.Device}" name="Device">
|
||||||
|
<input type="hidden" value="{$data.Ver}" name="Ver">
|
||||||
|
<div class="text-right">
|
||||||
|
<button class="btn btn-primary" onclick="changeIP(this);" data-href="{$url}">
|
||||||
|
<i class="fa fa-floppy-o"></i> Lưu
|
||||||
|
</button>
|
||||||
|
<button class="btn btn-default" data-dismiss="modal">
|
||||||
|
<span class="fa fa-remove"></span> Hủy
|
||||||
|
</button>
|
||||||
|
</div>
|
|
@ -20,9 +20,9 @@
|
||||||
{/if}
|
{/if}
|
||||||
</td>
|
</td>
|
||||||
<td>{$d.MAC|default:""}</td>
|
<td>{$d.MAC|default:""}</td>
|
||||||
<td>{$d.IP|default:""}</td>
|
<td id="ip-{$d.SN}">{$d.IP|default:""}</td>
|
||||||
<td>{$d.NetMask|default:""}</td>
|
<td id="subnet-mask-{$d.SN}">{$d.NetMask|default:""}</td>
|
||||||
<td>{$d.GATEIPAddress|default:""}</td>
|
<td id="gateway-{$d.SN}">{$d.GATEIPAddress|default:""}</td>
|
||||||
<td>{$d.SN|default:""}</td>
|
<td>{$d.SN|default:""}</td>
|
||||||
<td>{$d.Device|default:""}</td>
|
<td>{$d.Device|default:""}</td>
|
||||||
<td class="text-center" id="status-{$d.SN}">
|
<td class="text-center" id="status-{$d.SN}">
|
||||||
|
|
|
@ -16,6 +16,9 @@
|
||||||
<label class="action-button hidden" id='add-button-enabled' onclick="_process(this);" data-href='{Url::to(['process'])}'>
|
<label class="action-button hidden" id='add-button-enabled' onclick="_process(this);" data-href='{Url::to(['process'])}'>
|
||||||
<i class="fa fa-plus fa-1-5x"></i> Thêm thiết bị
|
<i class="fa fa-plus fa-1-5x"></i> Thêm thiết bị
|
||||||
</label>
|
</label>
|
||||||
|
<label class="action-button" onclick="_form(this);" data-href="{Url::to(['change-ip-search-form'])}">
|
||||||
|
<i class="fa fa-pencil fa-1-5x"></i> Thay đổi địa chỉ IP
|
||||||
|
</label>
|
||||||
</div>
|
</div>
|
||||||
<div id="table-device">
|
<div id="table-device">
|
||||||
<table class="table table-bordered table-hover table-striped" style="background:#fff;">
|
<table class="table table-bordered table-hover table-striped" style="background:#fff;">
|
||||||
|
|
|
@ -94,4 +94,120 @@ function _import(data) {
|
||||||
common.ajaxError();
|
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!");
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
Loading…
Reference in New Issue
Block a user