mirror of https://github.com/jumpserver/jumpserver
197 lines
8.2 KiB
HTML
197 lines
8.2 KiB
HTML
{% extends 'base.html' %}
|
|
{% load mytags %}
|
|
{% block content %}
|
|
{% include 'nav_cat_bar.html' %}
|
|
|
|
<div class="wrapper wrapper-content animated fadeInRight">
|
|
<div class="row">
|
|
<div class="col-lg-12">
|
|
<div class="ibox float-e-margins" id="all">
|
|
<div class="ibox-title">
|
|
<h5> 主机详细信息列表</h5>
|
|
<div class="ibox-tools">
|
|
<a class="collapse-link">
|
|
<i class="fa fa-chevron-up"></i>
|
|
</a>
|
|
<a class="dropdown-toggle" data-toggle="dropdown" href="#">
|
|
<i class="fa fa-wrench"></i>
|
|
</a>
|
|
<a class="close-link">
|
|
<i class="fa fa-times"></i>
|
|
</a>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="ibox-content">
|
|
<div>
|
|
<a target="_blank" href="/jasset/asset_add/" class="btn btn-sm btn-primary "> 添加 </a>
|
|
<form id="search_form" method="get" action="" class="pull-right mail-search">
|
|
<div class="input-group">
|
|
<input type="text" class="form-control input-sm" id="search_input" name="keyword" placeholder="Search">
|
|
<input type="text" style="display: none">
|
|
<div class="input-group-btn">
|
|
<button type="submit" class="btn btn-sm btn-primary">
|
|
- 搜索 -
|
|
</button>
|
|
</div>
|
|
</div>
|
|
</form>
|
|
</div>
|
|
|
|
<form id="contents_form" name="contents_form">
|
|
<table class="table table-striped table-bordered table-hover " id="editable" name="editable">
|
|
<thead>
|
|
<tr>
|
|
<th class="text-center">
|
|
<input id="checkall" type="checkbox" class="i-checks" name="checkall" value="checkall" data-editable='false' onclick="check_all('contents_form')">
|
|
</th>
|
|
<th class="text-center" name="ip"> IP地址 </th>
|
|
<th class="text-center"> 端口号 </th>
|
|
<th class="text-center"> 所属主机组 </th>
|
|
<th class="text-center"> 使用默认管理 </th>
|
|
<th class="text-center"> 激活 </th>
|
|
<th class="text-center" name="comment"> 备注 </th>
|
|
<th class="text-center"> 操作 </th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
{% for asset in assets.object_list %}
|
|
<tr class="gradeX">
|
|
<td class="text-center" name="id" value="{{ asset.id }}" data-editable='false'>
|
|
<input name="id" value="{{ asset.id }}" type="checkbox" class="i-checks">
|
|
</td>
|
|
<td class="text-center"> {{ asset.ip }} </td>
|
|
<td class="text-center"> {{ asset.port }} </td>
|
|
<td class="text-center">{{ asset.port }}</td>
|
|
<td class="text-center"> {{ asset.use_default_auth|bool2str }} </td>
|
|
<td class="text-center"> {{ asset.is_active|bool2str }} </td>
|
|
<td class="text-center"> {{ asset.comment }} </td>
|
|
<td class="text-center" data-editable='false'>
|
|
<a href="/jasset/asset_detail/?id={{ asset.id }}" class="btn btn-xs btn-primary">详情</a>
|
|
{% ifnotequal session_role_id 0 %}
|
|
<a href="/jasset/asset_edit/?id={{ asset.id }}" class="btn btn-xs btn-info">编辑</a>
|
|
<a value="/jasset/asset_del/?id={{ asset.id }}" class="btn btn-xs btn-danger asset_del">删除</a>
|
|
{% endifnotequal %}
|
|
</td>
|
|
</tr>
|
|
{% endfor %}
|
|
</tbody>
|
|
</table>
|
|
<div class="row">
|
|
<div class="col-sm-6">
|
|
<input type="button" id="del_button" class="btn btn-danger btn-sm" name="del_button" value="删除" onclick="del('contents_form')" />
|
|
<input type="button" id="alter_button" class="btn btn-warning btn-sm" name="alter_button" value="修改" onclick="alter('contents_form')" />
|
|
</div>
|
|
{% include 'paginator.html' %}
|
|
</div>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
{% endblock %}
|
|
|
|
{% block self_footer_js %}
|
|
<script>
|
|
$('table td').on('change', function(env, id){
|
|
var url = "/jasset/show_all_ajax/?env=" + env + "&id=" + id;
|
|
console.log(url);
|
|
$.ajax({
|
|
type: "GET",
|
|
url: url,
|
|
// data: $("#search_form").serialize(),
|
|
success: function (data) {
|
|
$("#j_dept_"+id).html(data);
|
|
}
|
|
});
|
|
});
|
|
|
|
$(document).ready(function(){
|
|
$('#editable').editableTableWidget({editor: $('<textarea>')});
|
|
$('.asset_del').click(function(){
|
|
var row = $(this).closest('tr');
|
|
$.get(
|
|
$(this).attr('value'),
|
|
{},
|
|
function(data){
|
|
alert(data);
|
|
row.remove()
|
|
}
|
|
)
|
|
})
|
|
});
|
|
|
|
|
|
function alter(form) {
|
|
selectData = GetTableDataBox();
|
|
console.log(selectData[0])
|
|
if (selectData[1] != 0) {
|
|
$.ajax({
|
|
type: "post",
|
|
url: "/jasset/host_edit/batch/",
|
|
data: {"editable": selectData[0], "len_table": selectData[1]},
|
|
success: function (data) {
|
|
alert("修改成功");
|
|
window.open("/jasset/host_list/", "_self");
|
|
error: window.open("/jasset/host_list/", "_self");
|
|
}
|
|
});
|
|
}
|
|
}
|
|
|
|
function del(form) {
|
|
var checkboxes = document.getElementById(form);
|
|
var id_list = {};
|
|
var j = 0;
|
|
for (var i = 0; i < checkboxes.elements.length; i++) {
|
|
if (checkboxes.elements[i].type == "checkbox" && checkboxes.elements[i].checked == true && checkboxes.elements[i].value != "checkall") {
|
|
id_list[j] = checkboxes.elements[i].value;
|
|
j++;
|
|
}
|
|
}
|
|
if (confirm("确定删除")) {
|
|
$.ajax({
|
|
type: "POST",
|
|
url: "/jasset/host_del/multi/",
|
|
data: {"id_list": id_list, "len_list": j},
|
|
success: function (data) {
|
|
window.open("/jasset/host_list/", "_self");
|
|
}
|
|
});
|
|
}
|
|
}
|
|
|
|
{# function host_search(){#}
|
|
{# $.ajax({#}
|
|
{# type: "GET",#}
|
|
{# url: "/jasset/search/",#}
|
|
{# data: $("#search_form").serialize(),#}
|
|
{# success: function (data) {#}
|
|
{# $("#contents_form").html(data);#}
|
|
{# }#}
|
|
{# });#}
|
|
{# }#}
|
|
|
|
$("#search_input").keydown(function(e){
|
|
if(e.keyCode==13){
|
|
host_search()
|
|
}
|
|
});
|
|
|
|
function show_all(env, id) {
|
|
var url = "/jasset/show_all_ajax/?env=" + env + "&id=" + id;
|
|
console.log(url);
|
|
$.ajax({
|
|
type: "GET",
|
|
url: url,
|
|
// data: $("#search_form").serialize(),
|
|
success: function (data) {
|
|
$("#j_group_" + id).html(data);
|
|
|
|
}
|
|
});
|
|
}
|
|
</script>
|
|
|
|
{% endblock %} |