2019-06-11 20:53:40 +08:00
|
|
|
|
<!DOCTYPE html>
|
2019-06-14 16:34:12 +08:00
|
|
|
|
<html lang="zh" xmlns:th="http://www.thymeleaf.org">
|
2019-06-11 20:53:40 +08:00
|
|
|
|
<head>
|
2019-06-14 16:34:12 +08:00
|
|
|
|
<th:block th:include="include :: header('修改服务器模板')"/>
|
2019-06-11 20:53:40 +08:00
|
|
|
|
</head>
|
|
|
|
|
|
<body class="white-bg">
|
2019-06-14 16:34:12 +08:00
|
|
|
|
<div class="wrapper wrapper-content animated fadeInRight ibox-content">
|
|
|
|
|
|
<form class="form-horizontal m" id="form-tmplServer-edit" th:object="${tmplServer}">
|
|
|
|
|
|
<input id="serverId" name="serverId" th:field="*{serverId}" type="hidden">
|
|
|
|
|
|
<div class="form-group">
|
|
|
|
|
|
<label class="col-sm-3 control-label">服务器品牌:</label>
|
|
|
|
|
|
<div class="col-sm-8">
|
|
|
|
|
|
<input id="serverBrand" name="serverBrand" th:field="*{serverBrand}" class="form-control" type="text">
|
|
|
|
|
|
</div>
|
|
|
|
|
|
</div>
|
|
|
|
|
|
<div class="form-group">
|
|
|
|
|
|
<label class="col-sm-3 control-label">服务器型号:</label>
|
|
|
|
|
|
<div class="col-sm-8">
|
|
|
|
|
|
<input id="serverType" name="serverType" th:field="*{serverType}" class="form-control" type="text">
|
|
|
|
|
|
</div>
|
|
|
|
|
|
</div>
|
|
|
|
|
|
<div class="form-group">
|
|
|
|
|
|
<label class="col-sm-3 control-label">CPU主频:</label>
|
|
|
|
|
|
<div class="col-sm-8">
|
|
|
|
|
|
<input id="cpuFreq" name="cpuFreq" th:field="*{cpuFreq}" class="form-control" type="text">
|
|
|
|
|
|
</div>
|
|
|
|
|
|
</div>
|
|
|
|
|
|
<div class="form-group">
|
|
|
|
|
|
<label class="col-sm-3 control-label">CPU数量:</label>
|
|
|
|
|
|
<div class="col-sm-8">
|
|
|
|
|
|
<input id="cpuNum" name="cpuNum" th:field="*{cpuNum}" class="form-control" min=1 type="number">
|
|
|
|
|
|
</div>
|
|
|
|
|
|
</div>
|
|
|
|
|
|
<div class="form-group">
|
|
|
|
|
|
<label class="col-sm-3 control-label">IPMI端口:</label>
|
|
|
|
|
|
<div class="col-sm-8">
|
|
|
|
|
|
<input id="ipmiPort" name="ipmiPort" th:field="*{ipmiPort}" class="form-control" type="text">
|
|
|
|
|
|
</div>
|
|
|
|
|
|
</div>
|
|
|
|
|
|
<div class="form-group">
|
|
|
|
|
|
<label class="col-sm-3 control-label">服务器电源数量:</label>
|
|
|
|
|
|
<div class="col-sm-8">
|
|
|
|
|
|
<input id="powerNum" name="powerNum" th:field="*{powerNum}" class="form-control" min=1 type="number">
|
|
|
|
|
|
</div>
|
|
|
|
|
|
</div>
|
|
|
|
|
|
<div class="form-group">
|
|
|
|
|
|
<label class="col-sm-3 control-label">服务器raid卡:</label>
|
|
|
|
|
|
<div class="col-sm-8">
|
|
|
|
|
|
<input id="raidCard" name="raidCard" th:field="*{raidCard}" class="form-control" type="text">
|
|
|
|
|
|
</div>
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
<!--网卡类型字典-->
|
|
|
|
|
|
<div class="form-group" th:with="type=${@dict.getType('dict_netcard_type')}">
|
|
|
|
|
|
<div class="col-sm-6" th:each="dict : ${type}">
|
|
|
|
|
|
<div class="col-md-12">
|
|
|
|
|
|
<div class="form-group">
|
|
|
|
|
|
<label class="col-sm-6 control-label" th:text="${dict.dictLabel}"></label>
|
|
|
|
|
|
<div class="col-sm-5">
|
|
|
|
|
|
<input type="number" min="0" max="100" th:id="${dict.dictCode}"
|
2019-06-14 20:11:30 +08:00
|
|
|
|
class="form-control serverNetcard"
|
2019-06-14 16:34:12 +08:00
|
|
|
|
placeholder="单位(个)">
|
|
|
|
|
|
</div>
|
|
|
|
|
|
</div>
|
|
|
|
|
|
</div>
|
|
|
|
|
|
</div>
|
|
|
|
|
|
</div>
|
2019-06-16 21:31:55 +08:00
|
|
|
|
<!--硬盘类型字典-->
|
|
|
|
|
|
<div class="form-group" th:with="type=${@dict.getType('dict_disk_type')}">
|
|
|
|
|
|
<div class="col-sm-6" th:each="dict : ${type}">
|
|
|
|
|
|
<div class="col-md-12">
|
|
|
|
|
|
<div class="form-group">
|
|
|
|
|
|
<label class="col-sm-6 control-label" th:text="${dict.dictLabel}"></label>
|
|
|
|
|
|
<div class="col-sm-5">
|
|
|
|
|
|
<input type="number" min="0" max="100" th:id="${dict.dictCode}"
|
|
|
|
|
|
class="form-control serverDisk"
|
|
|
|
|
|
placeholder="单位(个)">
|
|
|
|
|
|
</div>
|
|
|
|
|
|
</div>
|
|
|
|
|
|
</div>
|
|
|
|
|
|
</div>
|
|
|
|
|
|
</div>
|
2019-06-14 16:34:12 +08:00
|
|
|
|
</form>
|
|
|
|
|
|
</div>
|
|
|
|
|
|
<div th:include="include::footer"></div>
|
|
|
|
|
|
<script type="text/javascript" th:inline="javascript">
|
|
|
|
|
|
var prefix = ctx + "template/tmplServer";
|
2019-06-16 21:31:55 +08:00
|
|
|
|
$("#form-tmplServer-edit").validate({
|
2019-06-15 01:33:38 +08:00
|
|
|
|
onkeyup: false,
|
2019-06-14 16:34:12 +08:00
|
|
|
|
rules: {
|
|
|
|
|
|
serverBrand: {
|
|
|
|
|
|
required: true,
|
|
|
|
|
|
minlength: 1,
|
|
|
|
|
|
maxlength: 20
|
|
|
|
|
|
},
|
|
|
|
|
|
serverType: {
|
|
|
|
|
|
required: true,
|
|
|
|
|
|
minlength: 1,
|
|
|
|
|
|
maxlength: 20
|
|
|
|
|
|
},
|
|
|
|
|
|
cpuFreq: {
|
|
|
|
|
|
required: true,
|
|
|
|
|
|
minlength: 1,
|
|
|
|
|
|
maxlength: 10
|
|
|
|
|
|
},
|
|
|
|
|
|
cpuNum: {
|
|
|
|
|
|
required: true,
|
|
|
|
|
|
minlength: 1,
|
|
|
|
|
|
maxlength: 2
|
|
|
|
|
|
},
|
|
|
|
|
|
ipmiPort: {
|
|
|
|
|
|
required: true,
|
|
|
|
|
|
minlength: 1,
|
|
|
|
|
|
maxlength: 2
|
|
|
|
|
|
},
|
|
|
|
|
|
powerNum: {
|
|
|
|
|
|
required: true,
|
|
|
|
|
|
minlength: 1,
|
|
|
|
|
|
maxlength: 2
|
|
|
|
|
|
},
|
|
|
|
|
|
raidCard: {
|
|
|
|
|
|
required: true,
|
|
|
|
|
|
minlength: 1,
|
|
|
|
|
|
maxlength: 2
|
2019-06-16 21:31:55 +08:00
|
|
|
|
}
|
2019-06-14 16:34:12 +08:00
|
|
|
|
},
|
|
|
|
|
|
focusCleanup: true
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
function submitHandler() {
|
|
|
|
|
|
if ($.validate.form()) {
|
|
|
|
|
|
var data = $('#form-tmplServer-edit').serializeArray();
|
2019-06-14 20:11:30 +08:00
|
|
|
|
var serverNetcards = [];
|
|
|
|
|
|
$(".serverNetcard").each(function () {
|
|
|
|
|
|
serverNetcards.push({"id": $(this).attr("id"), "value": $(this).val()});
|
|
|
|
|
|
});
|
|
|
|
|
|
var serverDisks = [];
|
|
|
|
|
|
$(".serverDisk").each(function () {
|
|
|
|
|
|
serverDisks.push({"id": $(this).attr("id"), "value": $(this).val()});
|
2019-06-14 16:34:12 +08:00
|
|
|
|
});
|
|
|
|
|
|
var obj = {
|
|
|
|
|
|
"name": "foreignKeyInfo",
|
2019-06-14 20:11:30 +08:00
|
|
|
|
"value": JSON.stringify({
|
|
|
|
|
|
"serverNetcards": serverNetcards,
|
|
|
|
|
|
"serverDisks": serverDisks
|
|
|
|
|
|
})
|
2019-06-14 16:34:12 +08:00
|
|
|
|
};
|
|
|
|
|
|
data.push(obj);
|
|
|
|
|
|
$.operate.save(prefix + "/edit", data);
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/*
|
2019-06-16 21:31:55 +08:00
|
|
|
|
* 修改时手动回显ServerNetcardNum、ServerDiskNum
|
2019-06-14 16:34:12 +08:00
|
|
|
|
*/
|
|
|
|
|
|
$(function () {
|
|
|
|
|
|
var serverNetcards = [[${tmplServer}]].serverNetcards;
|
|
|
|
|
|
$.each(serverNetcards, function (index, netcard) {
|
|
|
|
|
|
$("#" + netcard.serverNetcardType).val(netcard.serverNetcardNum);
|
|
|
|
|
|
});
|
2019-06-16 21:31:55 +08:00
|
|
|
|
var serverDisks = [[${tmplServer}]].serverDisks;
|
|
|
|
|
|
$.each(serverDisks, function (index, disk) {
|
|
|
|
|
|
$("#" + disk.serverDiskType).val(disk.serverDiskNum);
|
|
|
|
|
|
});
|
2019-06-14 16:34:12 +08:00
|
|
|
|
});
|
|
|
|
|
|
</script>
|
2019-06-11 20:53:40 +08:00
|
|
|
|
</body>
|
|
|
|
|
|
</html>
|