已废弃
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

143 lines
5.6 KiB

2 years ago
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>用户功能</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, maximum-scale=1">
<link rel="stylesheet" href="/static/lib/layui-v2.8.6/css/layui.css" media="all">
2 years ago
<link rel="stylesheet" href="/static/lib/font-awesome-4.7.0/css/font-awesome.min.css" media="all">
<link rel="stylesheet" href="/static/css/public.css" media="all">
</head>
<body>
<style>
.layui-colla-content:before, .layui-colla-content:after {
content: "";
display: block;
clear: both;
}
.layuimini-container {
background-color: #efefef;
}
.layuimini-authority-content-item a i {
background-color: #efefef;
}
</style>
<div class="layuimini-container">
<div class="layuimini-main">
<div class="layuimini-authority" id="layuimini-authority">
</div>
</div>
</div>
<script src="/static/lib/layui-v2.8.6/layui.js" charset="utf-8"></script>
2 years ago
<script src="/static/js/lay-config.js?v=1.0.4" charset="utf-8"></script>
<script>
layui.use(['layer', 'miniTab', 'element'], function () {
var $ = layui.jquery,
layer = layui.layer,
element = layui.element,
miniTab = layui.miniTab;
miniTab.listen();
$(function () {
$.ajax({
url: "/getUserAuthorization",
type: 'get',
dataType: 'json',
contentType: "application/json;charset=utf-8",
success: function (res) {
let menuList = res.data;
let menuItem = createMenuList(menuList);
$("#layuimini-authority").append(menuItem);
element.render();
}
})
});
// 用于构造菜单列表
function createMenuList(data) {
// 如果存在菜单
if (data.length > 0) {
// 定义结果
let result = '';
// 定义暂存结果
let tempItemForApplication = '';
let tempItemForAnalyse = '';
let tempItemForCreate = '';
let tempItemForSystem = '';
for (let i = 0; i < data.length; i++) {
// 遍历子菜单
let childListElement = data[i];
if (childListElement.url.indexOf("my_") !== -1) {
// 如果是我的任务,我的申请跳过
continue;
}
if (childListElement.name.indexOf("申请") !== -1) {
// 如果是申请相关操作
tempItemForApplication = createChildMenuItem(childListElement, tempItemForApplication, '业务操作','first');
} else if (childListElement.name.indexOf("查询") !== -1 || childListElement.name.indexOf("可视化") !== -1) {
// 如果是查询可视化等操作
tempItemForAnalyse = createChildMenuItem(childListElement, tempItemForAnalyse, '查询分析','second');
} else if (childListElement.name.indexOf("创建") !== -1) {
// 如果是创建相关操作
tempItemForCreate = createChildMenuItem(childListElement, tempItemForCreate, '基础设置','third');
} else if (childListElement.name.indexOf("赋权") !== -1 || childListElement.name.indexOf("发布") !== -1) {
tempItemForSystem = createChildMenuItem(childListElement, tempItemForSystem, '系统管理','fourthly');
}
if (i === data.length - 1) {
tempItemForApplication += "</div></div></div>";
tempItemForAnalyse += "</div></div></div>";
tempItemForCreate += "</div></div></div>";
tempItemForSystem += "</div></div></div>";
result = tempItemForApplication+tempItemForAnalyse+tempItemForCreate+tempItemForSystem;
}
}
return result;
}
}
// 用于构造子菜单按钮
function createChildMenuItem(data, result, title,classItem) {
if (result.indexOf("layui-collapse") === -1) {
// 如果没有面板
let resultChild = '<div class="layui-collapse '+classItem+'"> ' +
'<div class="layui-colla-item">' +
'<h2 class="layui-colla-title">' + title + '</h2>' +
'<div class="layui-colla-content layui-show" >';
result += resultChild;
}
// 构造标签
let childItem_out = '<div class="layuimini-authority-content-item layuimini-qiuck-module">';
let childItem_a = '<a href="javascript:;" layuimini-content-href="' + data.url + '" data-title="' + data.name + '" data-icon="' + data.icon + '">';
// let childItem_i = '<i class="' + data.icon + '"></i>';
let childItem_i = '<img alt='+data.name+' class="authorityMenuImg" src="' + data.icon + '"/>';
let childItem_cite = ' <cite>' + data.name + '</cite></a></div>';
result += childItem_out + childItem_a + childItem_i + childItem_cite;
return result;
}
$('body').on('click', '[data-refresh]', function () {
location.reload();
})
});
</script>
</body>
</html>