277 lines
		
	
	
		
			11 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			277 lines
		
	
	
		
			11 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php /*a:3:{s:55:"E:\Demo\PHP\yunzer\app\admin\view\yunzer\buttoninfo.php";i:1745855804;s:51:"E:\Demo\PHP\yunzer\app\admin\view\public\header.php";i:1746890051;s:49:"E:\Demo\PHP\yunzer\app\admin\view\public\tail.php";i:1745855804;}*/ ?>
 | |
| <!DOCTYPE html>
 | |
| <html>
 | |
| 	<head>
 | |
| 		<title><?php echo htmlentities((string) $config['admin_name']); ?></title>
 | |
| 		<meta name="renderer" content="webkit">
 | |
| 		<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
 | |
| 		<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0">
 | |
| 		<link rel="stylesheet" type="text/css" href="/static/layui/css/layui.css" media="all"/>
 | |
| 		<link rel="stylesheet" type="text/css" href="/static/css/moban.css" media="all"/>
 | |
| 		<link rel="stylesheet" type="text/css" href="/static/css/wangeditor.css" media="all"/>
 | |
| 		<style type="text/css">
 | |
| 			.header span{background:#009688;margin-left:30px;padding:10px;color:#ffffff;}
 | |
| 			.header div{border-bottom:solid 2px #009688;margin-top: 8px;}
 | |
| 			.header button{float:right;margin-top:-5px;}
 | |
| 			.pagination {
 | |
| 				display: inline-block;
 | |
| 				padding-left: 0;
 | |
| 				margin: 20px 0;
 | |
| 				border-radius: 4px;
 | |
| 			}
 | |
| 			.pagination > li {
 | |
| 				display: inline;
 | |
| 			}
 | |
| 			.pagination > li > a,
 | |
| 			.pagination > li > span {
 | |
| 				position: relative;
 | |
| 				float: left;
 | |
| 				padding: 6px 12px;
 | |
| 				margin-left: -1px;
 | |
| 				line-height: 1.42857143;
 | |
| 				color: #337ab7;
 | |
| 				text-decoration: none;
 | |
| 				background-color: #fff;
 | |
| 				border: 1px solid #ddd;
 | |
| 			}
 | |
| 			.pagination > li:first-child > a,
 | |
| 			.pagination > li:first-child > span {
 | |
| 				margin-left: 0;
 | |
| 				border-top-left-radius: 4px;
 | |
| 				border-bottom-left-radius: 4px;
 | |
| 			}
 | |
| 			.pagination > li:last-child > a,
 | |
| 			.pagination > li:last-child > span {
 | |
| 				border-top-right-radius: 4px;
 | |
| 				border-bottom-right-radius: 4px;
 | |
| 			}
 | |
| 			.pagination > li > a:hover,
 | |
| 			.pagination > li > span:hover,
 | |
| 			.pagination > li > a:focus,
 | |
| 			.pagination > li > span:focus {
 | |
| 				z-index: 2;
 | |
| 				color: #23527c;
 | |
| 				background-color: #eee;
 | |
| 				border-color: #ddd;
 | |
| 			}
 | |
| 			.pagination > .active > a,
 | |
| 			.pagination > .active > span,
 | |
| 			.pagination > .active > a:hover,
 | |
| 			.pagination > .active > span:hover,
 | |
| 			.pagination > .active > a:focus,
 | |
| 			.pagination > .active > span:focus {
 | |
| 				z-index: 3;
 | |
| 				color: #fff;
 | |
| 				cursor: default;
 | |
| 				background-color: #337ab7;
 | |
| 				border-color: #337ab7;
 | |
| 			}
 | |
| 			.pagination > .disabled > span,
 | |
| 			.pagination > .disabled > span:hover,
 | |
| 			.pagination > .disabled > span:focus,
 | |
| 			.pagination > .disabled > a,
 | |
| 			.pagination > .disabled > a:hover,
 | |
| 			.pagination > .disabled > a:focus {
 | |
| 				color: #777;
 | |
| 				cursor: not-allowed;
 | |
| 				background-color: #fff;
 | |
| 				border-color: #ddd;
 | |
| 			}
 | |
| 			.close-img { background: url(/static/images/close_img.png); background-size: 20px 20px; width:20px; height: 20px; position: absolute; right: 5px; top: 5px; z-index: 2;}
 | |
| 		</style>
 | |
| 		<script type="text/javascript" src="/static/layui/layui.js"></script>
 | |
| 		<script type="text/javascript">
 | |
| 			layui.use(['layer','form','table','laydate','element','upload'],function(){
 | |
| 				layer = layui.layer;		// layui 弹框
 | |
| 				form = layui.form;			// layui form表单
 | |
| 				table = layui.table;		// layui 表格
 | |
| 				laydate = layui.laydate;	// layui 时间框
 | |
| 				element = layui.element;	// layui element
 | |
| 				upload = layui.upload;		// layui 上传
 | |
| 				$ = layui.jquery;			// layui jquery
 | |
| 			})
 | |
| 		</script>
 | |
| 	</head>
 | |
| 	<body style="padding:10px; box-sizing: border-box;">
 | |
| <div class="layui-card">
 | |
|     <div class="layui-card-header">
 | |
|         <div class="layui-row">
 | |
|             <div class="layui-col-md6">
 | |
|                 <div class="layui-breadcrumb">
 | |
|                     <a href="<?php echo htmlentities((string) $config['admin_route']); ?>Yunzer/menuInfo"><i class="layui-icon layui-icon-menu-fill"></i> 上级菜单</a>
 | |
|                     <a><cite>本级菜单</cite></a>
 | |
|                 </div>
 | |
|             </div>
 | |
|             <div class="layui-col-md6" style="text-align: right;">
 | |
|                 <button type="button" class="layui-btn layui-btn-normal layui-btn-sm" onclick="add(<?php echo htmlentities((string) $smid); ?>)">
 | |
|                     <i class="layui-icon layui-icon-add-1"></i> 添加按钮
 | |
|                 </button>
 | |
|             </div>
 | |
|         </div>
 | |
|     </div>
 | |
|     <div class="layui-card-body">
 | |
|         <div class="layui-row layui-col-space15">
 | |
|             <div class="layui-col-md3">
 | |
|                 <div class="layui-card">
 | |
|                     <div class="layui-card-header"><i class="layui-icon layui-icon-tree"></i> 菜单结构</div>
 | |
|                     <div class="layui-card-body" id="menuTree">
 | |
|                         <!-- 树形结构将在这里渲染 -->
 | |
|                     </div>
 | |
|                 </div>
 | |
|             </div>
 | |
|             <div class="layui-col-md9">
 | |
|                 <table class="layui-table" lay-skin="line">
 | |
|                     <thead>
 | |
|                         <tr>
 | |
|                             <th>排序</th>
 | |
|                             <th>类型</th>
 | |
|                             <th>按钮名</th>
 | |
|                             <th>图标</th>
 | |
|                             <th>状态</th>
 | |
|                             <th>操作</th>
 | |
|                         </tr>
 | |
|                     </thead>
 | |
|                     <tbody>
 | |
|                         <?php if(is_array($lists) || $lists instanceof \think\Collection || $lists instanceof \think\Paginator): $i = 0; $__LIST__ = $lists;if( count($__LIST__)==0 ) : echo "" ;else: foreach($__LIST__ as $key=>$vo): $mod = ($i % 2 );++$i;?>
 | |
|                             <tr>
 | |
|                                 <td><span class="layui-badge layui-bg-gray"><?php echo htmlentities((string) $vo['sort']); ?></span></td>
 | |
|                                 <td>
 | |
|                                     <?php if(($vo['type']==1)): ?>
 | |
|                                         <span class="layui-badge layui-bg-blue">功能模块</span> <?php echo htmlentities((string) $vo['src']); elseif(($vo['type']==2)): ?>
 | |
|                                         <span class="layui-badge layui-bg-green">超链接</span> <?php echo htmlentities((string) $vo['src']); ?>
 | |
|                                     <?php endif; ?>
 | |
|                                 </td>
 | |
|                                 <td><b><?php echo htmlentities((string) $vo['label']); ?></b></td>
 | |
|                                 <td><i class="layui-icon <?php echo htmlentities((string) $vo['icon_class']); ?>"></i> <?php echo htmlentities((string) $vo['icon_class']); ?></td>
 | |
|                                 <td>
 | |
|                                     <?php if(($vo['status']==1)): ?>
 | |
|                                         <span class="layui-badge layui-bg-green">开启</span>
 | |
|                                     <?php else: ?>
 | |
|                                         <span class="layui-badge layui-bg-red">禁用</span>
 | |
|                                     <?php endif; ?>
 | |
|                                 </td>
 | |
|                                 <td>
 | |
|                                     <div class="layui-btn-group">
 | |
|                                         <button type="button" class="layui-btn layui-btn-xs" onclick="edit(<?php echo htmlentities((string) $vo['smid']); ?>)">
 | |
|                                             <i class="layui-icon layui-icon-edit"></i> 编辑
 | |
|                                         </button>
 | |
|                                         <button type="button" class="layui-btn layui-btn-xs layui-btn-danger" onclick="del(<?php echo htmlentities((string) $vo['smid']); ?>)">
 | |
|                                             <i class="layui-icon layui-icon-delete"></i> 删除
 | |
|                                         </button>
 | |
|                                     </div>
 | |
|                                 </td>
 | |
|                             </tr>
 | |
|                         <?php endforeach; endif; else: echo "" ;endif; ?>
 | |
|                     </tbody>
 | |
|                 </table>
 | |
|             </div>
 | |
|         </div>
 | |
|     </div>
 | |
| </div>
 | |
| 
 | |
| <script type="text/javascript">
 | |
|     layui.use(['layer', 'tree'], function(){
 | |
|         layer = layui.layer;
 | |
|         $ = layui.jquery;
 | |
|         var tree = layui.tree;
 | |
|         
 | |
|         // 构建树形结构数据
 | |
|         var treeData = [{
 | |
|             title: '当前菜单',
 | |
|             id: <?php echo htmlentities((string) $smid); ?>,
 | |
|             spread: true,
 | |
|             children: []
 | |
|         }];
 | |
|         
 | |
|         // 将按钮数据添加到树中
 | |
|         <?php if(is_array($lists) || $lists instanceof \think\Collection || $lists instanceof \think\Paginator): $i = 0; $__LIST__ = $lists;if( count($__LIST__)==0 ) : echo "" ;else: foreach($__LIST__ as $key=>$vo): $mod = ($i % 2 );++$i;?>
 | |
|             treeData[0].children.push({
 | |
|                 title: '<?php echo htmlentities((string) $vo['label']); ?>',
 | |
|                 id: <?php echo htmlentities((string) $vo['smid']); ?>,
 | |
|                 icon: 'layui-icon <?php echo htmlentities((string) $vo['icon_class']); ?>'
 | |
|             });
 | |
|         <?php endforeach; endif; else: echo "" ;endif; ?>
 | |
|         
 | |
|         // 渲染树形结构
 | |
|         tree.render({
 | |
|             elem: '#menuTree',
 | |
|             data: treeData,
 | |
|             showLine: true,
 | |
|             click: function(obj){
 | |
|                 var data = obj.data;
 | |
|                 if(data.id != <?php echo htmlentities((string) $smid); ?>) {
 | |
|                     edit(data.id);
 | |
|                 }
 | |
|             }
 | |
|         });
 | |
|     });
 | |
|     
 | |
|     // 添加
 | |
|     function add(smid){
 | |
|         layer.open({
 | |
|             type: 2,
 | |
|             title: '添加按钮',
 | |
|             shade: 0.3,
 | |
|             area: ['550px','550px'],
 | |
|             content: '<?php echo htmlentities((string) $config["admin_route"]); ?>yunzer/buttonadd?smid='+smid
 | |
|         });
 | |
|     }
 | |
|     
 | |
|     // 编辑
 | |
|     function edit(smid){
 | |
|         layer.open({
 | |
|             type: 2,
 | |
|             title: '编辑按钮',
 | |
|             shade: 0.3,
 | |
|             area: ['550px','550px'],
 | |
|             content: '<?php echo htmlentities((string) $config["admin_route"]); ?>yunzer/buttonedit?smid='+smid
 | |
|         });
 | |
|     }
 | |
|     
 | |
|     // 删除
 | |
|     function del(smid){
 | |
|         layer.confirm('确定要删除吗?', {
 | |
|             icon: 3,
 | |
|             btn: ['确定','取消']
 | |
|         }, function(){
 | |
|             $.post('<?php echo htmlentities((string) $config["admin_route"]); ?>yunzer/buttondel',{'smid':smid},function(res){
 | |
|                 if(res.code>0){
 | |
|                     layer.alert(res.msg,{icon:2});
 | |
|                 }else{
 | |
|                     layer.msg(res.msg,{icon:1});
 | |
|                     setTimeout(function(){window.location.reload();},1000);
 | |
|                 }
 | |
|             },'json');
 | |
|         });
 | |
|     }
 | |
| </script>
 | |
| 	</body>
 | |
| </html>
 | |
| <script type="text/javascript">
 | |
| 	// 显示图片
 | |
| 	function show_img(obj){
 | |
| 		var imgurl = $(obj).attr('src');
 | |
| 		var res = getMousePos();
 | |
| 		var html = '<div style="background:#fff;position:absolute;width:200px;border:solid 1px #cdcdcd;border-radius:6px;padding:2px;left:'+res.x+'px;top:'+res.y+'px;z-index:1000" id="preview">\
 | |
| 				<img style="width:100%;border-radius:6px;" src="'+imgurl+'">\
 | |
| 			</div>';
 | |
| 		$('body').append(html);
 | |
| 	}
 | |
| 	// 隐藏图片
 | |
| 	function hide_img(){
 | |
| 		$('#preview').remove();
 | |
| 	}
 | |
| 	// 图片位置计算
 | |
| 	function getMousePos(event) {
 | |
| 		var e = event || window.event;
 | |
| 		var scrollX = document.documentElement.scrollLeft || document.body.scrollLeft;
 | |
| 		var scrollY = document.documentElement.scrollTop || document.body.scrollTop;
 | |
| 		var x = e.pageX || e.clientX + scrollX;
 | |
| 		var y = e.pageY || e.clientY + scrollY;
 | |
| 		return { 'x': x, 'y': y };
 | |
| 	}
 | |
| 	// 删除图片
 | |
| 	function deleteImage(path,obj){
 | |
| 		$(obj).closest('.upload_pic_li').remove();
 | |
| 	}
 | |
| </script>
 | 
