update Device full CRUD

This commit is contained in:
2020-10-13 13:40:49 +07:00
parent 64e62ca3ce
commit 03e03c7e13
20 changed files with 1170 additions and 77 deletions

View File

@@ -0,0 +1,41 @@
<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="{$model->ip_address|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="{$model->ip_address|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="{$model->subnet_mask|default:""}" name="SubnetMask">
</div>
<span class="help-block hidden"></span>
</div>
<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>

View File

@@ -0,0 +1,36 @@
<table class="table table-bordered table-hover table-striped" style="background:#fff;">
<thead>
<tr>
<th style="width: 5%;" class="text-center"><input type='checkbox' value='0' class='checkbox-device' id='checkall-device'></th>
<th>Địa chỉ MAC</th>
<th>Địa chỉ IP</th>
<th>Subnet Mask</th>
<th>Gateway</th>
<th>Serial</th>
<th>Loại thiết bị</th>
<th>Trạng thái</th>
</tr>
</thead>
<tbody>
{foreach from=$datas item=d}
<tr>
<td class="text-center" id="checkbox-{$d.SN}">
{if !in_array($d.IP,$deviceIpLists)}
<input type='checkbox' value='{json_encode($d)}' name='checkbox-device' class='checkbox-device'>
{/if}
</td>
<td>{$d.MAC|default:""}</td>
<td>{$d.IP|default:""}</td>
<td>{$d.NetMask|default:""}</td>
<td>{$d.GATEIPAddress|default:""}</td>
<td>{$d.SN|default:""}</td>
<td>{$d.Device|default:""}</td>
<td class="text-center" id="status-{$d.SN}">
<label class="text-green {if !in_array($d.IP,$deviceIpLists)}hidden{/if}">
<i class="fa fa-check"></i> Đã thêm
</label>
</td>
</tr>
{/foreach}
</tbody>
</table>

56
views/device/form.tpl Normal file
View File

@@ -0,0 +1,56 @@
<style>
.input-group-addon{
width: 140px;
text-align: left;
}
.input-group{
width: 100%;
}
.select2{
width: 100% !important;
}
</style>
<div class="form-group" id="name">
<div class="input-group">
<div class="input-group-addon">Tên thiết bị <i class="text-red">*</i></div>
<input type="text" class="form-control" value="{$model->name|default:""}" name="Name">
</div>
<span class="help-block hidden"></span>
</div>
<div class="form-group">
<div class="input-group">
<div class="input-group-addon">Khu vực</div>
<select class="form-control" name="Area" id="Area">
{html_options options=$areaArray selected=$model->area_id|default:1}
</select>
</div>
</div>
<div class="form-group" id="ip">
<div class="input-group">
<div class="input-group-addon">Địa chỉ IP <i class="text-red">*</i></div>
<input type="text" class="form-control" value="{$model->ip_address|default:""}" name="Ip" {if $model->ip_address!=""}readonly=""{/if}>
</div>
<span class="help-block hidden"></span>
</div>
<div class="alert alert-success hidden" id='success'>
<i class="fa fa-check"></i> Kết nối thành công!
</div>
<div class="alert alert-danger hidden" id='error'>
<i class="fa fa-remove"></i> Kết nối thất bại!
</div>
<div class="row">
<div class="col-md-6">
<a href="{yii\helpers\Url::to(['check-connection'])}" onclick="checkConnection(this);
return false;" class="text-bold">
<u>Kiểm tra kết nối</u>
</a>
</div>
<div class="col-md-6 text-right">
<button class="btn btn-primary" onclick="save(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>
</div>

View File

@@ -2,15 +2,12 @@
{use class="yii\helpers\Url"}
{use class="yii\grid\GridView"}
{use class="yii\widgets\Pjax" type="block"}
{*use class="app\assets\DepartmentAsset"}
{DepartmentAsset::register($this)|void*}
{use class="app\assets\DeviceAsset"}
{DeviceAsset::register($this)|void}
{block name='content'}
<div class="device-index">
<div class="" style="font-size: 15px;">
<label class="action-button" onclick="common.form(this, '');" data-href="{Url::to(['tree'])}">
<i class="fa fa-sitemap fa-1-5x"></i> Cây thư mục
</label>
<label class="action-button" onclick="common.form(this, 'department');" data-href="{Url::to(['create'])}">
<label class="action-button" onclick="common.form(this, 'device');" data-href="{Url::to(['create'])}">
<i class="fa fa-plus-square fa-1-5x"></i> Thêm
</label>
<label class="action-button" onclick="_form(this);" data-href="{Url::to(['update'])}">
@@ -19,8 +16,8 @@
<label class="action-button" onclick="_delete(this);" data-href="{Url::to(['delete'])}">
<i class="fa fa-trash fa-1-5x"></i> Xóa
</label>
<label class="action-button" onclick="$('#file').trigger('click');">
<i class="fa fa-upload fa-1-5x"></i> Nhập
<label class="action-button" onclick="_form(this);" data-href="{Url::to(['change-ip'])}">
<i class="fa fa-pencil fa-1-5x"></i> Thay đổi địa chỉ IP
</label>
<label class="action-button" onclick="_export(this);" data-href="{Url::to(['export'])}">
<i class="fa fa-download fa-1-5x"></i> Xuất
@@ -50,18 +47,36 @@
'headerOptions' => ['class' => 'text-center', 'style' => 'width:3%']
],
[
'header' => "<input type='checkbox' value='0' class='checkbox-department' id='checkall-department'>",
'header' => "<input type='checkbox' value='0' class='checkbox-device' id='checkall-device'>",
'format' => 'raw',
'contentOptions' => ['class' => 'text-center'],
'headerOptions' => ['class' => 'text-center', 'style' => 'width:3%'],
'value' => \app\helpers\CommonGrid::checkbox("device")
'value' => \app\helpers\CommonGrid::checkbox("device", false)
],
'name',
'serial',
'ip_address',
'status',
'type',
'area_id',
[
'attribute' => 'status',
'format' => 'raw',
'filter' => $statusArray,
'contentOptions' => ['class' => 'text-center'],
'value' => \app\helpers\DeviceGrid::status($statusArray)
],
[
'attribute' => 'type',
'format' => 'raw',
'filter' => $typeArray,
'contentOptions' => ['class' => 'text-center'],
'value' => \app\helpers\DeviceGrid::type($typeArray)
],
[
'attribute' => 'area_id',
'format' => 'raw',
'filter' => $areaArray,
'contentOptions' => ['class' => 'text-center'],
'value' => \app\helpers\DeviceGrid::area($areaArray)
],
[
'attribute' => 'created_at',
'value' => \app\helpers\CommonGrid::createdAt()

13
views/device/process.tpl Normal file
View File

@@ -0,0 +1,13 @@
<div class="well" style="height: 300px;overflow-y: scroll;" id="logs-response">
</div>
<div class="progress">
<div class="progress-bar progress-bar-primary progress-bar-striped" id='progress' role="progressbar" aria-valuenow="0" aria-valuemin="0" aria-valuemax="100" style="width: 0%">
0%
</div>
</div>
<div class="text-right">
<button class="btn btn-default" data-dismiss="modal" disabled="" id="close-modal">
<span class="fa fa-remove"></span> Đóng
</button>
</div>

47
views/device/search.tpl Normal file
View File

@@ -0,0 +1,47 @@
{extends file=$smarty.current_dir|cat:'/../extends.tpl'}
{use class="yii\helpers\Url"}
{use class="yii\grid\GridView"}
{use class="app\assets\DeviceSearchAsset"}
{DeviceSearchAsset::register($this)|void}
{block name='content'}
<div class="device-index">
<input type='hidden' name='import_url' value="{Url::to(['import'])}">
<div class="" style="font-size: 15px;">
<label class="action-button" onclick="_search(this);" data-href='{Url::to(['search'])}'>
<i class="fa fa-search fa-1-5x"></i> Tìm kiếm theo TCP/IP
</label>
<label class="action-button-disabled" id='add-button-disabled'>
<i class="fa fa-plus fa-1-5x"></i> Thêm thiết bị
</label>
<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ị
</label>
</div>
<div id="table-device">
<table class="table table-bordered table-hover table-striped" style="background:#fff;">
<thead>
<tr>
<th></th>
<th>Địa chỉ MAC</th>
<th>Địa chỉ IP</th>
<th>Subnet Mask</th>
<th>Gateway</th>
<th>Serial</th>
<th>Loại thiết bị</th>
<th>Trạng thái</th>
</tr>
</thead>
</table>
</div>
<div class="row" style="padding: 0 10px;">
<div class="col-md-6">
<input type='checkbox' value='0' class='checkbox-use-subnetmask' checked="">
Sử dụng Subnet Mask
<input type='text' value="255.255.255.255" name='SubnetMask'>
</div>
<div class="col-md-6 text-right">
<i class="fa fa-info-circle"></i> Tìm thấy <b id='totals'>0</b> thiết bị
</div>
</div>
</div>
{/block}