add.html 5.39 KB
<!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-frontMenu-add">
			<input id="treeId" name="parentId" type="hidden" th:value="${menu.menuId}" />

			<div class="form-group">
				<label class="col-sm-3 control-label ">上级菜单:</label>
				<div class="input-group">
					<input class="form-control" type="text" onclick="selectMenuTree()" id="treeName" readonly="true" th:value="${menu.menuName}">
					<span class="input-group-addon"><i class="fa fa-search"></i></span>
				</div>
			</div>
			<div class="form-group">
				<label class="col-sm-3 control-label">菜单类型:</label>
				<div class="col-sm-8">
					<label class="radio-box"> <input type="radio" name="menuType" value="M" /> 目录 </label>
					<label class="radio-box"> <input type="radio" name="menuType" value="C" /> 菜单 </label>
					<label class="radio-box"> <input type="radio" name="menuType" value="F" /> 按钮 </label>
				</div>
			</div>
			<div class="form-group">	
				<label class="col-sm-3 control-label">菜单名称:</label>
				<div class="col-sm-8">
					<input id="menuName" name="menuName" 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="route" name="route" 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="url" name="url" 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="orderNum" name="orderNum" class="form-control" type="text">
				</div>
			</div>

			<div class="form-group">
				<label class="col-sm-3 control-label">菜单状态:</label>
				<div class="col-sm-8">
					<div class="radio-box" th:each="dict : ${@dict.getType('sys_show_hide')}">
						<input type="radio" th:id="${dict.dictCode}" name="visible" th:value="${dict.dictValue}" th:checked="${dict.isDefault == 'Y' ? true : false}">
						<label th:for="${dict.dictCode}" th:text="${dict.dictLabel}"></label>
					</div>
				</div>
			</div>
			<div class="form-group">	
				<label class="col-sm-3 control-label">备注:</label>
				<div class="col-sm-8">
					<input id="remark" name="remark" class="form-control" type="text">
				</div>
			</div>
		</form>
	</div>
    <div th:include="include::footer"></div>
    <script type="text/javascript">
		var prefix = ctx + "business/frontMenu";

		$("#form-menu-add").validate({
			onkeyup: false,
			rules:{
				menuType:{
					required:true,
				},
				menuName:{
					remote: {
						url: prefix + "/checkMenuNameUnique",
						type: "post",
						dataType: "json",
						data: {
							"parentId": function() {
								return $("input[name='parentId']").val();
							},
							"menuName" : function() {
								return $.common.trim($("#menuName").val());
							}
						},
						dataFilter: function(data, type) {
							return $.validate.unique(data);
						}
					}
				},
				orderNum:{
					digits:true
				},
			},
			messages: {
				"menuName": {
					remote: "菜单已经存在"
				}
			},
			focusCleanup: true
		});
		
		function submitHandler() {
	        if ($.validate.form()) {
	        	// alert($('#form-frontMenu-add').serialize())
	            $.operate.save(prefix + "/add", $('#form-frontMenu-add').serialize());
	        }
	    }

		$(function() {
			$("input[name='icon']").focus(function() {
				$(".icon-drop").show();
			});
			$("#form-menu-add").click(function(event) {
				var obj = event.srcElement || event.target;
				if (!$(obj).is("input[name='icon']")) {
					$(".icon-drop").hide();
				}
			});
			$(".icon-drop").find(".ico-list i").on("click", function() {
				$('#icon').val($(this).attr('class'));
			});
			$('input').on('ifChecked', function(event){
				var menuType = $(event.target).val();
				if (menuType == "M") {
					$("#url").parents(".form-group").hide();
					$("#perms").parents(".form-group").hide();
					$("#icon").parents(".form-group").show();
					$("#target").parents(".form-group").hide();
				} else if (menuType == "C") {
					$("#url").parents(".form-group").show();
					$("#perms").parents(".form-group").show();
					$("#icon").parents(".form-group").hide();
					$("#target").parents(".form-group").show();
				} else if (menuType == "F") {
					$("#url").parents(".form-group").hide();
					$("#perms").parents(".form-group").show();
					$("#icon").parents(".form-group").hide();
					$("#target").parents(".form-group").hide();
				}
			});
		});

		/*菜单管理-新增-选择菜单树*/
		function selectMenuTree() {
			var treeId = $("#treeId").val();
			var menuId = treeId > 0 ? treeId : 1;
			var url = prefix + "/selectMenuTree/" + menuId;
			var options = {
				title: '菜单选择',
				width: "380",
				url: url,
				callBack: doSubmit
			};
			$.modal.openOptions(options);
		}

		function doSubmit(index, layero){
			var body = layer.getChildFrame('body', index);
			$("#treeId").val(body.find('#treeId').val());
			$("#treeName").val(body.find('#treeName').val());
			layer.close(index);
		}
	</script>
</body>
</html>