199 lines
7.8 KiB
HTML
Executable File
199 lines
7.8 KiB
HTML
Executable File
<!DOCTYPE html>
|
||
<html lang="zh" xmlns:th="http://www.thymeleaf.org">
|
||
<head>
|
||
<th:block th:include="include :: header('修改服务器模板')"/>
|
||
</head>
|
||
<body class="white-bg">
|
||
<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">内存类型:</label>
|
||
<div class="col-sm-8">
|
||
<select name="memoryType" th:with="type=${@dict.getType('dict_memory_type')}">
|
||
<option value="">请选择单根内存大小</option>
|
||
<option th:each="dict : ${type}" th:text="${dict.dictLabel}"
|
||
th:value="${dict.dictCode}">
|
||
</option>
|
||
</select>
|
||
</div>
|
||
</div>
|
||
<div class="form-group">
|
||
<label class="col-sm-3 control-label">内存个数:</label>
|
||
<div class="col-sm-8">
|
||
<input name="memoryNum" type="number"
|
||
class="form-control"
|
||
placeholder="单位(个)">
|
||
</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}"
|
||
class="form-control serverNetcard"
|
||
placeholder="单位(个)">
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<!--硬盘类型字典-->
|
||
<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>
|
||
</form>
|
||
</div>
|
||
<div th:include="include::footer"></div>
|
||
<script type="text/javascript" th:inline="javascript">
|
||
var prefix = ctx + "template/tmplServer";
|
||
$("#form-tmplServer-edit").validate({
|
||
onkeyup: false,
|
||
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
|
||
}
|
||
},
|
||
focusCleanup: true
|
||
});
|
||
|
||
function submitHandler() {
|
||
if ($.validate.form()) {
|
||
var data = $('#form-tmplServer-edit').serializeArray();
|
||
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()});
|
||
});
|
||
var serverMemorys = [];
|
||
serverMemorys.push({
|
||
"id": $("select[name='memoryType']").val(),
|
||
"value": $("input[name='memoryNum']").val()
|
||
});
|
||
var obj = {
|
||
"name": "foreignKeyInfo",
|
||
"value": JSON.stringify({
|
||
"serverNetcards": serverNetcards,
|
||
"serverDisks": serverDisks,
|
||
"serverMemorys": serverMemorys
|
||
})
|
||
};
|
||
data.push(obj);
|
||
$.operate.save(prefix + "/edit", data);
|
||
}
|
||
}
|
||
|
||
/*
|
||
* 修改时手动回显ServerNetcardNum、ServerDiskNum
|
||
*/
|
||
$(function () {
|
||
var serverNetcards = [[${tmplServer}]].serverNetcards;
|
||
$.each(serverNetcards, function (index, netcard) {
|
||
$("#" + netcard.serverNetcardType).val(netcard.serverNetcardNum);
|
||
});
|
||
var serverDisks = [[${tmplServer}]].serverDisks;
|
||
$.each(serverDisks, function (index, disk) {
|
||
$("#" + disk.serverDiskType).val(disk.serverDiskNum);
|
||
});
|
||
var serverMemorys = [[${tmplServer}]].serverMemorys;
|
||
$.each(serverMemorys, function (index, memory) {
|
||
$("select[name='memoryType']").val(memory.serverMemoryType.dictCode);
|
||
$("input[name='memoryNum']").val(memory.serverMemoryNum);
|
||
});
|
||
});
|
||
</script>
|
||
</body>
|
||
</html>
|