v2版本正式上线测试版

This commit is contained in:
george
2018-07-13 17:53:34 +08:00
parent 092ecf605b
commit 7bbe5585d8
661 changed files with 40153 additions and 2053 deletions

View File

@@ -1,158 +1,174 @@
<!-- 新增服务器 -->
<div class="container-fluid">
<div class="info-center">
<!--title-->
<div class="info-center">
<div class="page-header">
<div class="pull-left">
<h4>{{.pageTitle}}</h4>
</div>
<div class="pull-right">
<!-- <button type="button" class="btn btn-mystyle btn-sm refresh">刷新</button>
<button type="button" class="btn btn-mystyle btn-sm reback">返回</button> -->
</div>
</div>
</div>
<div class="layui-layout layui-layout-admin" style="padding-left: 40px;margin-top: 20px;">
<div style="margin: 10px 0px">
<blockquote class="layui-elem-quote">
说明提交之前请先测试服务器资源是否可以连通
</blockquote>
</div>
<form class="layui-form" action="" method="post" >
<!--content-list-->
<div class="content-list">
<form action="{{urlfor "ServerController.Add"}}" method="post" class="form-horizontal">
<div class="form-group" style="margin-top: 15px">
<label class="col-sm-3 control-label" for="server_name">服务器名</label>
<div class="col-sm-3" >
<input type="text" class="form-control input-sm" placeholder="" name="server_name" value="" required />
<div class="layui-form-item">
<label class="layui-form-label mw200">所属分组</label>
<div class="layui-input-inline">
<select name="group_id" lay-verify="required">
{{range $k, $v := .serverGroup}}
<option value="{{$k}}">{{$v}}</option>
{{end}}
</select>
</div>
<div class="col-sm-6" style="padding-top:5px;">
<div class="layui-form-mid layui-word-aux"></div>
</div>
<div class="layui-form-item">
<label class="layui-form-label mw200">服务器名称</label>
<div class="layui-input-inline mw400">
<input type="text" name="server_name" id="server_name" lay-verify="required" autocomplete="off" placeholder="服务器名称" class="layui-input" value="">
</div>
<div class="layui-form-mid layui-word-aux"></div>
</div>
<div class="form-group" style="margin-top: 15px">
<label class="col-sm-3 control-label" for="server_account">登录账</label>
<div class="col-sm-3" >
<input type="text" class="form-control input-sm" placeholder="root" name="server_account" value="" required />
</div>
<div class="col-sm-6" style="padding-top:5px;">
</div>
</div>
<div class="form-group" style="margin-top: 15px">
<label class="col-sm-3 control-label" for="server_ip">服务器IP</label>
<div class="col-sm-3" >
<input type="text" class="form-control input-sm" placeholder="" name="server_ip" value="" required />
</div>
<div class="col-sm-6" style="padding-top:5px;">
<div class="layui-form-item">
<label class="layui-form-label mw200">登录账</label>
<div class="layui-input-inline mw400">
<input type="text" name="server_account" id="server_account" lay-verify="required" autocomplete="off" placeholder="root" class="layui-input" value="">
</div>
<div class="layui-form-mid layui-word-aux"></div>
</div>
<div class="form-group" style="margin-top: 15px">
<label class="col-sm-3 control-label" for="port">服务器ssh端口</label>
<div class="col-sm-3" >
<input type="text" class="form-control input-sm" placeholder="22" name="port" value="" required />
<div class="layui-form-item">
<label class="layui-form-label mw200">IP地址</label>
<div class="layui-input-inline mw400">
<input type="text" name="server_ip" id="server_ip" lay-verify="required" autocomplete="off" placeholder="192.168.1.12" class="layui-input" value="">
</div>
<div class="col-sm-6" style="padding-top:5px;">
<div class="layui-form-mid layui-word-aux"></div>
</div>
<div class="layui-form-item" style="display: none">
<label class="layui-form-label mw200">外网IP</label>
<div class="layui-input-inline mw400">
<input type="text" name="server_outer_ip" id="server_outer_ip" lay-verify="required" autocomplete="off" placeholder="200.200.200.12" class="layui-input" value="">
</div>
<div class="layui-form-mid layui-word-aux"></div>
</div>
<div class="layui-form-item">
<label class="layui-form-label mw200">端口号</label>
<div class="layui-input-inline mw400">
<input type="text" name="port" id="port" lay-verify="required" autocomplete="off" placeholder="22" class="layui-input" value="">
</div>
<div class="layui-form-mid layui-word-aux"></div>
</div>
<div class="form-group" style="margin-top: 15px">
<label class="col-sm-3 control-label" for="type">验证类型</label>
<div class="col-sm-6" >
<label class="radio-inline">
<input type="radio" name="type" value="0" > 密码
</label>
<label class="radio-inline">
<input type="radio" name="type" value="1" checked > 密钥
</label>
</div>
<div class="col-sm-3" style="padding-top:5px;">
<div class="layui-form-item">
<label class="layui-form-label mw200">验证登录类型</label>
<div class="layui-input-inline mw400">
<input type="radio" name="type" lay-verify="type" value="0" title="密码" checked>
<input type="radio" name="type" lay-verify="type" value="1" title="密钥" >
</div>
<div class="layui-form-mid layui-word-aux"></div>
</div>
<div class="form-group hide" style="margin-top: 15px" id="password">
<label class="col-sm-3 control-label" for="password">服务器密码</label>
<div class="col-sm-3" >
<input type="text" class="form-control input-sm" placeholder="" name="password" value="" />
</div>
<div class="col-sm-6" style="padding-top:5px;">
<div class="layui-form-item password">
<label class="layui-form-label mw200">密码</label>
<div class="layui-input-inline mw400">
<input type="text" name="password" id="password" lay-verify="" autocomplete="off" placeholder="服务器登录密码" class="layui-input" value="">
</div>
<div class="layui-form-mid layui-word-aux"></div>
</div>
<div class="form-group " style="margin-top: 15px" id="private_key_src">
<label class="col-sm-3 control-label" for="private_key_src">钥地址</label>
<div class="col-sm-3" >
<input type="text" class="form-control input-sm" placeholder="/Users/haodaquan/.ssh/pp_rsa" name="private_key_src" value="" />
</div>
<div class="col-sm-6" style="padding-top:5px;">
<div class="layui-form-item key" style="display:none;">
<label class="layui-form-label mw200">钥地址</label>
<div class="layui-input-inline mw400">
<input type="text" name="public_key_src" id="public_key_src" lay-verify="" autocomplete="off" placeholder="/Users/haodaquan/.ssh/pp_rsa.pub" class="layui-input" value="">
</div>
<div class="layui-form-mid layui-word-aux"><span id="des" style="cursor: pointer">说明</span></div>
</div>
<div class="form-group " style="margin-top: 15px" id="public_key_src">
<label class="col-sm-3 control-label" for="public_key_src">钥地址</label>
<div class="col-sm-3" >
<input type="text" class="form-control input-sm" placeholder="/Users/haodaquan/.ssh/pp_rsa.pub" name="public_key_src" value="" />
</div>
<div class="col-sm-6" style="padding-top:5px;">
<i style="font-size: 12px">公钥和私钥地址请在本地服务器生成,命令ssh-keygen -t rsa -f pp_rsa</i>
<div class="layui-form-item key" style="display:none;">
<label class="layui-form-label mw200">钥地址</label>
<div class="layui-input-inline mw400">
<input type="text" name="private_key_src" id="private_key_src" lay-verify="" autocomplete="off" placeholder="/Users/haodaquan/.ssh/pp_rsa" class="layui-input" value="">
</div>
<div class="layui-form-mid layui-word-aux"></div>
</div>
<div class="form-group" style="margin-top: 15px">
<label class="col-sm-3 control-label" for="detail">说明</label>
<div class="col-sm-5" >
<textarea name="detail" class="form-control" id="detail" rows="3"></textarea>
<div class="layui-form-item">
<label class="layui-form-label mw200">资源说明</label>
<div class="layui-input-inline mw400">
<textarea name="detail" id="detail" placeholder="请输入内容" class="layui-textarea"></textarea>
</div>
<div class="col-sm-4" style="padding-top:5px;">
</div>
<input type="hidden" name="id" id="id" value="0">
<div class="layui-form-item">
<label class="layui-form-label mw200"></label>
<div class="layui-input-inline mw400">
<button class="layui-btn" lay-submit="" lay-filter="sub">立即提交</button>
<button type="reset" class="layui-btn layui-btn-primary">重置</button>
<button class="layui-btn layui-btn-primary" id="test" lay-filter="test">测试</button>
</div>
</div>
<br />
<div class="modal-footer" style="text-align:center">
<button type="submit" class="btn btn-primary submit_attr_button">保存</button>
<button type="button" class="btn btn-default reback">返回</button>
</div>
</form>
</div>
</form>
</div>
<script>
$(function () {
$("form").submit(function () {
// $(".alert").hide();
$("button[type='submit']").attr('disabled', true);
$.post('{{urlfor "ServerController.Add"}}', $(this).serialize(), function (out) {
var $;
layui.use(['form','element','layer','jquery'],function(){
var form = layui.form; //只有执行了这一步,部分表单元素才会自动修饰成功
var $ = layui.jquery;
var error_info = "{{.flash.error}}";
if(error_info){
layer.msg(error_info,{icon: 2,shade:0.3},function () {
window.history.go(-1)
})
return;
}
form.on('radio', function(data){
if(data.value==1){
$(".key").show();
$(".password").hide();
}else{
$(".password").show();
$(".key").hide();
}
});
$("#des").on('click',function () {
layer.tips('公钥和私钥地址请在本地服务器生成,命令ssh-keygen -t rsa -f pp_rsa', '#des', {
tips: [1, '#0FA6D8'] //还可配置颜色
});
})
form.on('submit(sub)', function(data){
var form_data = $("form").serialize();
$.post('{{urlfor "ServerController.AjaxSave"}}', form_data, function (out) {
if (out.status == 0) {
window.location.href = '{{urlfor "ServerController.List"}}';
layer.msg("操作成功",{icon: 1},function () {
window.history.go(-1)
})
} else {
alert_message(out.msg,"alert-danger","alert-success");
$("button[type='submit']").attr('disabled', false);
layer.msg(out.message)
}
}, "json");
return false;
});
$("input[name='type']").click(function () {
if ($(this).val() > 0) {
$("#password").addClass('hide');
$("#public_key_src").removeClass('hide');
$("#private_key_src").removeClass('hide');
} else {
$("#password").removeClass('hide');
$("#public_key_src").addClass('hide');
$("#private_key_src").addClass('hide');
}
$("#test").on('click', function(data){
layer.load();
var form_data = $("form").serialize();
$.post('{{urlfor "ServerController.AjaxTestServer"}}', form_data, function (out) {
layer.msg(out.message)
}, "json");
setTimeout(function(){
layer.closeAll('loading');
}, 2000);
return false;
});
//但是如果你的HTML是动态生成的自动渲染就会失效
//因此你需要在相应的地方,执行下述方法来手动渲染,跟这类似的还有 element.init();
form.render();
});
</script>