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>
 |