277 lines
		
	
	
		
			12 KiB
		
	
	
	
		
			Cheetah
		
	
	
	
	
	
			
		
		
	
	
			277 lines
		
	
	
		
			12 KiB
		
	
	
	
		
			Cheetah
		
	
	
	
	
	
| {{template "header"}}
 | |
| 
 | |
| <div class="layui-body layui-bg-gray">
 | |
|     <div class="layui-card">
 | |
|         <form class="layui-form">
 | |
|             {{.CsrfTokenField}}
 | |
|             <input type="hidden" name="ID" value="{{.Item.ID}}" />
 | |
| 
 | |
|             <div class="layui-tab layui-tab-card rhino-form">
 | |
|                 <ul class="layui-tab-title">
 | |
|                     <li class="layui-this">基础信息</li>
 | |
|                     <li>其它</li>
 | |
|                 </ul>
 | |
| 
 | |
|                 <div class="layui-tab-content">
 | |
|                     <div class="layui-tab-item layui-show">
 | |
|                         <div class="layui-form-item">
 | |
|                             <label class="layui-form-label">名称</label>
 | |
|                             <div class="layui-input-inline">
 | |
|                                 <input type="text" id="Name" name="Name" value="{{.Item.Name}}" lay-verify="required"
 | |
|                                     autocomplete="off" placeholder="请输入名称" class="layui-input" />
 | |
|                             </div>
 | |
|                         </div>
 | |
|                         <div class="layui-form-item">
 | |
|                             <label class="layui-form-label">显示名称</label>
 | |
|                             <div class="layui-input-inline">
 | |
|                                 <input type="text" id="DisplayName" name="DisplayName" value="{{.Item.DisplayName}}"
 | |
|                                     lay-verify="required" autocomplete="off" placeholder="请输入显示名称"
 | |
|                                     class="layui-input" />
 | |
|                             </div>
 | |
|                         </div>
 | |
|                         <div class="layui-form-item">
 | |
|                             <label class="layui-form-label">类型</label>
 | |
|                             <div class="layui-input-inline">
 | |
|                                 <select id="Type" name="Type">
 | |
|                                     {{if eq .Item.Type "node"}}
 | |
|                                     <option value="node" selected>菜单节点</option>
 | |
|                                     {{else}}
 | |
|                                     <option value="node">菜单节点</option>
 | |
|                                     {{end}}
 | |
|                                     {{if eq .Item.Type "menu"}}
 | |
|                                     <option value="menu" selected>菜单</option>
 | |
|                                     {{else}}
 | |
|                                     <option value="menu">菜单</option>
 | |
|                                     {{end}}
 | |
|                                     {{if eq .Item.Type "btn"}}
 | |
|                                     <option value="btn" selected>按钮</option>
 | |
|                                     {{else}}
 | |
|                                     <option value="btn">按钮</option>
 | |
|                                     {{end}}
 | |
|                                 </select>
 | |
|                             </div>
 | |
|                         </div>
 | |
|                         <div class="layui-form-item">
 | |
|                             <label class="layui-form-label">菜单URL</label>
 | |
|                             <div class="layui-input-inline">
 | |
|                                 <input type="text" id="Url" name="Url" value="{{.Item.Url}}" autocomplete="off"
 | |
|                                     placeholder="请输入菜单URL" class="layui-input" style="width: 400px;" />
 | |
|                             </div>
 | |
|                         </div>
 | |
|                         <div class="layui-form-item">
 | |
|                             <label class="layui-form-label">图标</label>
 | |
|                             <div class="layui-input-inline">
 | |
|                                 <input type="text" id="IconPicker" name="Avatar" value="{{.Item.Avatar}}"
 | |
|                                     autocomplete="off" placeholder="请输入菜单图标" class="layui-input" />
 | |
|                             </div>
 | |
|                         </div>
 | |
|                         <div class="layui-form-item">
 | |
|                             <label class="layui-form-label">样式</label>
 | |
|                             <div class="layui-input-inline">
 | |
|                                 <input type="text" id="Style" name="Style" value="{{.Item.Style}}" autocomplete="off"
 | |
|                                     placeholder="请输入样式" class="layui-input" style="width: 400px;" />
 | |
|                             </div>
 | |
|                         </div>
 | |
|                         <div class="layui-form-item">
 | |
|                             <label class="layui-form-label">上级菜单</label>
 | |
|                             <div class="layui-input-inline">
 | |
|                                 <div id="classTree"></div>
 | |
|                                 <input type="hidden" id="ParentID" name="ParentID" value="{{.Item.ParentID}}" />
 | |
|                             </div>
 | |
|                         </div>
 | |
|                         <div class="layui-form-item">
 | |
|                             <label class="layui-form-label">是否可见</label>
 | |
|                             <div class="layui-input-inline">
 | |
|                                 {{if .Item.Visible}}
 | |
|                                 <input type="radio" id="Visible" name="Visible" value="true" title="可见" checked />
 | |
|                                 {{else}}
 | |
|                                 <input type="radio" id="Visible" name="Visible" value="true" title="可见" />
 | |
|                                 {{end}}
 | |
|                                 {{if not .Item.Visible}}
 | |
|                                 <input type="radio" id="Visible" name="Visible" value="false" title="不可见" checked />
 | |
|                                 {{else}}
 | |
|                                 <input type="radio" id="Visible" name="Visible" value="false" title="不可见" />
 | |
|                                 {{end}}
 | |
|                             </div>
 | |
|                         </div>
 | |
|                         <div class="layui-form-item">
 | |
|                             <label class="layui-form-label">是否列表</label>
 | |
|                             <div class="layui-input-inline">
 | |
|                                 {{if .Item.IsList}}
 | |
|                                 <input type="radio" id="IsList" name="IsList" value="true" title="是" checked />
 | |
|                                 {{else}}
 | |
|                                 <input type="radio" id="IsList" name="IsList" value="true" title="是" />
 | |
|                                 {{end}}
 | |
|                                 {{if not .Item.IsList}}
 | |
|                                 <input type="radio" id="IsList" name="IsList" value="false" title="否" checked />
 | |
|                                 {{else}}
 | |
|                                 <input type="radio" id="IsList" name="IsList" value="false" title="否" />
 | |
|                                 {{end}}
 | |
|                             </div>
 | |
|                         </div>
 | |
|                         <div class="layui-form-item">
 | |
|                             <label class="layui-form-label">排序</label>
 | |
|                             <div class="layui-input-inline">
 | |
|                                 <input type="number" id="Sort" name="Sort" value="{{.Item.Sort}}" lay-affix="number"
 | |
|                                     min="1" class="layui-input" />
 | |
|                             </div>
 | |
|                         </div>
 | |
|                         <div class="layui-form-item">
 | |
|                             <label class="layui-form-label">状态</label>
 | |
|                             <div class="layui-input-inline">
 | |
|                                 <select id="Status" name="Status">
 | |
|                                     {{if eq .Item.Status 0}}
 | |
|                                     <option value="0" selected>正常</option>
 | |
|                                     {{else}}
 | |
|                                     <option value="0">正常</option>
 | |
|                                     {{end}}
 | |
|                                     {{if eq .Item.Status -1}}
 | |
|                                     <option value="-1" selected>删除</option>
 | |
|                                     {{else}}
 | |
|                                     <option value="-1">删除</option>
 | |
|                                     {{end}}
 | |
|                                 </select>
 | |
|                             </div>
 | |
|                         </div>
 | |
|                     </div>
 | |
|                     <div class="layui-tab-item">
 | |
|                         {{if gt .Item.ID 0}}
 | |
|                         <div class="layui-form-item">
 | |
|                             <div class="layui-form-label">创建时间</div>
 | |
|                             <div class="layui-form-label" style="width:400px;text-align:left;">
 | |
|                                 {{dateFormat .Item.CreatedAt}}
 | |
|                             </div>
 | |
|                         </div>
 | |
|                         <div class="layui-form-item">
 | |
|                             <div class="layui-form-label">更新时间</div>
 | |
|                             <div class="layui-form-label" style="width:400px;text-align:left;">
 | |
|                                 {{dateFormat .Item.UpdatedAt}}
 | |
|                             </div>
 | |
|                         </div>
 | |
|                         {{end}}
 | |
|                     </div>
 | |
|                 </div>
 | |
|             </div>
 | |
| 
 | |
|             <div class="layui-form-item layui-fixbar btn-fixbar-box">
 | |
|                 <div class="layui-input-block">
 | |
|                     {{ submitBtn .AuthorizeMenus "save"}}
 | |
|                     <button type="button" class="pear-btn pear-btn-sm" lay-on="close">
 | |
|                         <i class="layui-icon layui-icon-close"></i>关闭
 | |
|                     </button>
 | |
|                 </div>
 | |
|             </div>
 | |
| 
 | |
|         </form>
 | |
|     </div>
 | |
| </div>
 | |
| 
 | |
| {{define "css"}}
 | |
| <style>
 | |
|     .layui-body {
 | |
|         padding: 15px;
 | |
|         left: 0;
 | |
|     }
 | |
| </style>
 | |
| {{end}}
 | |
| 
 | |
| {{define "js"}}
 | |
| <script>
 | |
|     layui.use(['form', 'jquery', 'iconPicker', 'xmSelect', 'util'], function () {
 | |
|         let form = layui.form;
 | |
|         let $ = layui.jquery;
 | |
|         let iconPicker = layui.iconPicker;
 | |
|         let util = layui.util;
 | |
| 
 | |
|         createClassTree();
 | |
| 
 | |
|         // 图标选择器
 | |
|         iconPicker.render({
 | |
|             elem: '#IconPicker',
 | |
|             url: '/layui/font/iconfont.svg',
 | |
|             type: 'fontClass'
 | |
|         });
 | |
| 
 | |
|         // 创建菜单分类树
 | |
|         function createClassTree() {
 | |
|             $.ajax({
 | |
|                 url: '/system/menu/tree',
 | |
|                 type: 'get',
 | |
|                 success: function (result) {
 | |
|                     success(result);
 | |
|                 }
 | |
|             });
 | |
| 
 | |
|             function success(data) {
 | |
|                 var $ParentId = $('#ParentID');
 | |
| 
 | |
|                 xmSelect.render({
 | |
|                     el: '#classTree',
 | |
|                     radio: true,
 | |
|                     height: 'auto',
 | |
|                     initValue: [$ParentId.val()],    // 初始化选中值
 | |
|                     prop: {
 | |
|                         name: 'title',
 | |
|                         value: 'id'
 | |
|                     },
 | |
|                     data: data,
 | |
|                     tree: {
 | |
|                         // 是否显示树状结构
 | |
|                         show: true,
 | |
|                         // 是否严格遵守父子模式
 | |
|                         strict: false,
 | |
|                         // 是否开启极简模式
 | |
|                         simple: false
 | |
|                     },
 | |
|                     model: {
 | |
|                         label: {
 | |
|                             block: {
 | |
|                                 showIcon: false // 隐藏删除按钮
 | |
|                             }
 | |
|                         }
 | |
|                     },
 | |
|                     // 选中事件
 | |
|                     on: function (data) {
 | |
|                         if (data.isAdd) {
 | |
|                             $ParentId.val(data.arr[0].id);
 | |
|                         }
 | |
|                     }
 | |
|                 });
 | |
|             }
 | |
|         }
 | |
| 
 | |
|         // 表单提交
 | |
|         form.on('submit(save)', function (data) {
 | |
|             $.ajax({
 | |
|                 url: '/system/menu/save',
 | |
|                 type: 'post',
 | |
|                 dataType: 'json',
 | |
|                 data: data.field,
 | |
|                 success: function (result) {
 | |
|                     if (result.success) {
 | |
|                         layer.msg(result.msg, { icon: 1, time: 1000 }, function () {
 | |
|                             parent.layer.close(parent.layer.getFrameIndex(window.name)); // 关闭当前页
 | |
|                             parent.layui.table.reload("tablelist", {
 | |
|                                 page: { curr: 1 },
 | |
|                             });
 | |
|                         });
 | |
|                     } else {
 | |
|                         parent.layer.msg(result.msg, { icon: 2 })
 | |
|                     }
 | |
|                 }
 | |
|             });
 | |
| 
 | |
|             return false;
 | |
|         });
 | |
| 
 | |
|         // 事件绑定
 | |
|         util.on("lay-on", {
 | |
|             "close": function () {
 | |
|                 window.parent.layer.close(parent.layer.getFrameIndex(window.name));
 | |
|             }
 | |
|         });
 | |
|     });
 | |
| </script>
 | |
| {{end}}
 | |
| 
 | |
| {{template "footer" .}} |