refactor: 重构权限服务类
This commit is contained in:
@@ -1,262 +0,0 @@
|
||||
<include file="/public/header" />
|
||||
<link href="__STATICADMIN__css/message.css" rel="stylesheet" type="text/css" />
|
||||
<div class="layui-tab layui-tab-brief" >
|
||||
|
||||
<ul class="layui-tab-title" style="text-align: center;">
|
||||
<li class="layui-this" id="msg" >{:__('通知')}({$count['notice']})</li>
|
||||
<li>{:__('私信')}({$count['message']})</li>
|
||||
<li>{:__('待办')}({$count['todo']})</li>
|
||||
</ul>
|
||||
|
||||
<div class="layui-tab-content" style="padding: 5px 0px;">
|
||||
<div class="layui-tab-item layui-show">
|
||||
<ul id="notice" class="layui-instant-list" >
|
||||
<volist name="list['notice']" id="vo">
|
||||
<a data-id="{$vo.id}" data-type="notice" class="layui-instant-list-item active_{$vo.status}" href="javascript:;">
|
||||
<img class="layui-instant-item-icon" src="__ADMINIMAGES__message.png">
|
||||
<div class="layui-instant-item-right">
|
||||
<h2 class="layui-instant-item-title">{$vo.title}</h2>
|
||||
<p class="layui-instant-item-text">{$vo.create_time}</p>
|
||||
</div>
|
||||
</a>
|
||||
</volist>
|
||||
</ul>
|
||||
|
||||
<!-- // 列表为空 -->
|
||||
<div class="layui-instant-list-empty" <empty name="$list['notice']"> style="display:black;" <else/> style="display:none;" </empty> >
|
||||
<img src="__ADMINIMAGES__noting.png"><div>{:__('没有通知')}</div>
|
||||
</div>
|
||||
|
||||
<!-- // 底部操作 -->
|
||||
<notempty name="$list['notice']">
|
||||
<div class="layui-instant-footer">
|
||||
<a href="javascript:;" class="instant-clear" data-type="notice">{:__('清空通知')}</a>
|
||||
<span>|</span>
|
||||
<a href="javascript:;" class="instant-reads" data-type="notice">{:__('全部已读')}</a>
|
||||
</div>
|
||||
</notempty>
|
||||
</div>
|
||||
|
||||
<div class="layui-tab-item">
|
||||
|
||||
<ul id="message" class="layui-instant-list" >
|
||||
<volist name="list['message']" id="vo">
|
||||
<a data-id="{$vo.id}" data-type="message" class="layui-instant-list-item active_{$vo.status}" href="javascript:;">
|
||||
<img class="layui-instant-item-icon" src="{$vo.face|default='__ADMINIMAGES__head.png'}" >
|
||||
<div class="layui-instant-item-right">
|
||||
<h2 class="layui-instant-item-title">{$vo.title}</h2>
|
||||
<p class="layui-instant-item-text">{$vo.create_time}</p>
|
||||
</div>
|
||||
</a>
|
||||
</volist>
|
||||
</ul>
|
||||
|
||||
<!-- // 列表为空 -->
|
||||
<div class="layui-instant-list-empty" <empty name="$list['message']"> style="display:black;" <else/> style="display:none;" </empty> >
|
||||
<img src="__ADMINIMAGES__noting.png"><div>{:__('没有私信')}</div>
|
||||
</div>
|
||||
<notempty name="$list['message']">
|
||||
<div class="layui-instant-footer">
|
||||
<a href="javascript:;" class="instant-clear" data-type="message">{:__('清空私信')}</a>
|
||||
<span>|</span>
|
||||
<a href="javascript:;" class="instant-reads" data-type="message">{:__('全部已读')}</a>
|
||||
</div>
|
||||
</notempty>
|
||||
</div>
|
||||
|
||||
<div class="layui-tab-item">
|
||||
<ul id="todo" class="layui-instant-list" >
|
||||
<volist name="list['todo']" id="vo">
|
||||
<a data-id="{$vo.id}" data-type="todo" class="layui-instant-list-item active_{$vo.status}" href="javascript:;">
|
||||
<div class="layui-instant-item-right">
|
||||
<eq name="$vo['status']" value="0">
|
||||
<span class="layui-badge pull-right">{:__('待完成')}</span>
|
||||
<else/>
|
||||
<eq name="$vo['status']" value="3">
|
||||
<span class="layui-badge layui-bg-green pull-right">{:__('进行中')}</span>
|
||||
<else/>
|
||||
<span class="layui-badge layui-bg-gray pull-right">{:__('已完成')}</span>
|
||||
</eq>
|
||||
</eq>
|
||||
<h2 class="layui-instant-item-title">{$vo.title}</h2>
|
||||
<p class="layui-instant-item-text">{$vo.create_time}</p>
|
||||
</div>
|
||||
</a>
|
||||
</volist>
|
||||
</ul>
|
||||
|
||||
<!-- // 列表为空 -->
|
||||
<div class="layui-instant-list-empty" <empty name="$list['todo']"> style="display:black;" <else/> style="display:none;" </empty> >
|
||||
<img src="__ADMINIMAGES__noting.png"><div>{:__('没有待办')}</div>
|
||||
</div>
|
||||
<notempty name="$list['todo']">
|
||||
<div class="layui-instant-footer">
|
||||
<a href="javascript:;" class="instant-clear" data-type="todo">{:__('清空待办')}</a>
|
||||
<span>|</span>
|
||||
<a href="javascript:;" class="instant-reads" data-type="todo">{:__('全部完成')}</a>
|
||||
</div>
|
||||
</notempty>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<include file="/public/footer" />
|
||||
|
||||
<script>
|
||||
layui.use(['element'], function () {
|
||||
let $ = layui.jquery;
|
||||
let layer = layui.layer;
|
||||
let flow = layui.flow;
|
||||
let instantItem = {
|
||||
notice: {
|
||||
title: '{:__('我的通知')}',
|
||||
anim: 2,
|
||||
},
|
||||
message: {
|
||||
title: '{:__('我的私信')}',
|
||||
anim: 0,
|
||||
},
|
||||
todo: {
|
||||
title: '{:__('我的待办')}',
|
||||
anim: 0,
|
||||
},
|
||||
};
|
||||
|
||||
// 执行通知流加载
|
||||
$.each(instantItem, function (index, type) {
|
||||
|
||||
flow.load({
|
||||
elem: '#' + index,
|
||||
done: function (page, next) {
|
||||
let list = [];
|
||||
let url = "{:url('/system/admin/bells')}?type=" + index + "&page=" + page;
|
||||
$.get(url, function (res) {
|
||||
let data = res.data;
|
||||
if (page >= 2) {
|
||||
layui.each(data.data, function (key, item) {
|
||||
let html = '';
|
||||
switch (index) {
|
||||
case 'notice':
|
||||
html += '<a data-id="' + item.id + '" data-type="notice" class="layui-instant-list-item active_' + item.status + '" href="javascript:;">';
|
||||
html += '<img class="layui-instant-item-icon" src="__ADMINIMAGES__message.png">';
|
||||
html += '<div class="layui-instant-item-right">';
|
||||
html += '<h2 class="layui-instant-item-title">' + item.title + '</h2>';
|
||||
html += '<p class="layui-instant-item-text">' + item.create_time + '</p>';
|
||||
html += '</div>';
|
||||
html += '</a>';
|
||||
break;
|
||||
case 'message':
|
||||
html += '<a data-id="' + item.id + '" data-type="message" class="layui-instant-list-item active_' + item.status + '" href="javascript:;">';
|
||||
|
||||
html += '<img class="layui-instant-item-icon" src="' + item.face + '">';
|
||||
html += '<div class="layui-instant-item-right">';
|
||||
html += '<h2 class="layui-instant-item-title">' + item.title + '</h2>';
|
||||
html += '<p class="layui-instant-item-text">' + item.create_time + '</p>';
|
||||
html += '</div>';
|
||||
html += '</a>';
|
||||
break;
|
||||
case 'todo':
|
||||
html += '<a data-id="' + item.id + '" data-type="todo" class="layui-instant-list-item active_' + item.status + '" href="javascript:;">';
|
||||
html += '<div class="layui-instant-item-right">';
|
||||
if (item.status === 0) {
|
||||
html += '<span class="layui-badge pull-right">待完成</span>';
|
||||
} else if (item.status === 3) {
|
||||
html += '<span class="layui-badge layui-bg-green pull-right">进行中</span>';
|
||||
} else {
|
||||
html += '<span class="layui-badge layui-bg-gray pull-right">已完成</span>';
|
||||
}
|
||||
html += '<h2 class="layui-instant-item-title">' + item.title + '</h2>';
|
||||
html += '<p class="layui-instant-item-text">' + item.create_time + '</p>';
|
||||
html += '</div>';
|
||||
html += '</a>';
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
list.push(html);
|
||||
});
|
||||
}
|
||||
next(list.join(''), page < data.last_page);
|
||||
});
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
// 打开新窗口
|
||||
$('.layui-instant-list').on('click', '.layui-instant-list-item', function () {
|
||||
|
||||
let that = this;
|
||||
$(that).addClass('active_open');
|
||||
$(that).removeClass('active_0').addClass('active_1');
|
||||
let id = $(that).attr('data-id');
|
||||
let type = $(that).attr('data-type');
|
||||
let openURL = "{:url('/system/admin/readNotice')}?type=" + type + "&id=" + id;
|
||||
|
||||
parent.layer.open({
|
||||
id: type + id,
|
||||
type: 2,
|
||||
title: instantItem[type].title,
|
||||
shade: 0,
|
||||
maxmin: true,
|
||||
isOutAnim: false,
|
||||
area: ['600px', '400px'],
|
||||
offset: type === 'notice' ? 'rb' : 'none', // 可选位置
|
||||
anim: instantItem[type].anim, // 可选动画
|
||||
content: [openURL, 'no'],
|
||||
success: function (layero, index) {
|
||||
$('body').on('click', '.active_open', function (e) {
|
||||
parent.layer.close(index);
|
||||
$(that).removeClass('active_open');
|
||||
})
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
// 清空消息点击事件
|
||||
$('.instant-clear').click(function (obj) {
|
||||
var that = $(this), type = that.data('type');
|
||||
var findElem = $('#' + type);
|
||||
|
||||
// 删除元素
|
||||
that.parent().prev().prev().remove();
|
||||
that.parent().prev().show();
|
||||
that.parent().remove();
|
||||
// 替换标题
|
||||
findElem.text(findElem.text().replace(/\([^\)]*\)/,''));
|
||||
// 执行AJAX请求...
|
||||
$.ajax({
|
||||
url: "{:url('/system/admin/clearNotice')}",
|
||||
type: 'post',
|
||||
data: {type: type},
|
||||
success: function (res) {
|
||||
if (res.code === 200) {
|
||||
layer.msg(res.msg);
|
||||
} else {
|
||||
layer.error(res.msg);
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
// 一键已读
|
||||
$('.instant-reads').click(function (obj) {
|
||||
var that = $(this), type = that.data('type');
|
||||
// 执行AJAX请求...
|
||||
$.ajax({
|
||||
url: "{:url('/system/admin/readAllNotice')}",
|
||||
type: 'post',
|
||||
data: {type: type},
|
||||
success: function (res) {
|
||||
if (res.code === 200) {
|
||||
layer.msg(res.msg);
|
||||
$('.layui-instant-list-item').removeClass('active_0').addClass('active_1');
|
||||
} else {
|
||||
layer.error(res.msg);
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
});
|
||||
</script>
|
||||
@@ -165,7 +165,7 @@
|
||||
}
|
||||
|
||||
jquery.ajax({
|
||||
url:'{:url("/system/Admin/getPermissions")}',
|
||||
url:'{:url("/system/AdminGroup/getRuleCateTree")}',
|
||||
type:'post',
|
||||
dataType:'json',
|
||||
data:{
|
||||
@@ -237,7 +237,7 @@
|
||||
}
|
||||
|
||||
jquery.ajax({
|
||||
url:'{:url("/system/Admin/getPermissions")}',
|
||||
url:'{:url("/system/AdminGroup/getRuleCateTree")}',
|
||||
type:'post',
|
||||
dataType:'json',
|
||||
data:{
|
||||
@@ -292,9 +292,7 @@
|
||||
})
|
||||
}
|
||||
})
|
||||
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
</script>
|
||||
|
||||
@@ -358,7 +358,7 @@
|
||||
event = tableThis.event;
|
||||
|
||||
layui.$.ajax({
|
||||
url:'{:url("/system/Admin/getPermissions")}',
|
||||
url:'{:url("/system/Admin/getRuleCateTree")}',
|
||||
type:'post',
|
||||
dataType:'json',
|
||||
data:{
|
||||
@@ -383,7 +383,7 @@
|
||||
// 增加节点数据
|
||||
post.field[event] = tree.getChecked('authTree', true);
|
||||
// 开始POST提交数据
|
||||
layui.$.post("{:url('/system/admin/edit" + event + "')}",
|
||||
layui.$.post("{:url('/system/Admin/edit" + event + "')}",
|
||||
post.field, function (res) {
|
||||
if (res.code === 200) {
|
||||
// 更新本地规则
|
||||
|
||||
@@ -1,54 +0,0 @@
|
||||
<include file="/public/header" />
|
||||
<link href="__STATICADMIN__css/message.css" rel="stylesheet" type="text/css" />
|
||||
<!-- // 重定位Style -->
|
||||
<style>
|
||||
.face {
|
||||
margin-bottom: 3px;
|
||||
}
|
||||
</style>
|
||||
<div id="instant-content" class="layui-card">
|
||||
<div class="layui-card-body">
|
||||
<div class="layui-panel">
|
||||
<div class="layui-card-header">
|
||||
<div class="title"><span class="titles"><img src="{$detail.face|default=''}" class="face" width="20"> </span>{$detail.nickname|default='隐藏用户'}</div>
|
||||
<div class="time"><span class="times">时间:</span>{$detail.create_time}</div>
|
||||
</div>
|
||||
<div id="layui-info">{$detail.content|raw}</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-footer">
|
||||
<!-- 底部固定区域 -->
|
||||
<button type="button" class="layui-btn layui-btn-normal" lay-open data-title="回复私信" data-url="#replyForms" data-area="500px,350px" >回复</button>
|
||||
<button type="button" class="layui-btn layui-btn-danger" sa-event="closeDialog" >关闭</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script type="text/html" id="replyForms">
|
||||
<div class="layui-fluid layui-bg-white" >
|
||||
<form action="{:url('/system/admin/saveNotice')}" class="layui-form">
|
||||
<input type="text" name="type" value="message" hidden>
|
||||
<input type="text" name="admin_id" value="{$detail.send_id}" hidden>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label"><span style="color: red; ">* </span>{:__('标题')}</label>
|
||||
<div class="layui-input-block" >
|
||||
|
||||
<input type="text" name="title" class="layui-input" lay-verify="required" value="" placeholder="请输入私信标题">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label"><span style="color: red; ">* </span>{:__('回复内容')}</label>
|
||||
<div class="layui-input-block">
|
||||
<textarea name="content" class="layui-textarea" lay-verify="required" placeholder="请输入私信内容"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-footer layui-form-item layui-center " >
|
||||
<button class="layui-btn layui-btn-primary" type="button" sa-event="closePageDialog" >{:__('取消')}</button>
|
||||
<button class="layui-btn" lay-filter="submitPage" lay-submit>{:__('提交')}</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</script>
|
||||
|
||||
<include file="/public/footer" />
|
||||
@@ -1,26 +0,0 @@
|
||||
<include file="/public/header" />
|
||||
<link href="__STATICADMIN__css/message.css" rel="stylesheet" type="text/css" />
|
||||
<!-- // 重定位Style -->
|
||||
<style></style>
|
||||
<div id="instant-content" class="layui-card">
|
||||
<div class="layui-card-body">
|
||||
<div class="layui-panel">
|
||||
<div class="layui-card-header">
|
||||
<div class="title"><span class="titles">🔔 </span>{$detail.title}</div>
|
||||
<div class="time"><span class="times">时间:</span>{$detail.create_time}</div>
|
||||
</div>
|
||||
<div id="layui-info">{$detail.content|raw}</div>
|
||||
<div class="layui-banner">
|
||||
<p>本消息属系统通知,来源于业务流程管理系统,请勿回复</p>
|
||||
<p>在系统使用过程中,如果有问题请联系网站运维组:## </p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-footer">
|
||||
<!-- 底部固定区域 -->
|
||||
<button type="button" class="layui-btn layui-btn-danger" sa-event="closeDialog" >关闭</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<include file="/public/footer" />
|
||||
@@ -21,7 +21,7 @@
|
||||
</div>
|
||||
<div class="layui-inline" >
|
||||
<!-- // 默认搜索 -->
|
||||
<button class="layui-btn icon-btn"
|
||||
<button class="layui-btn icon-btn" type="submit"
|
||||
lay-filter="treeSearch" lay-submit><i class="layui-icon layui-icon-search"></i>{:__('搜索')}
|
||||
</button>
|
||||
<!-- // 打开添加页面 -->
|
||||
@@ -336,17 +336,8 @@
|
||||
jquery.post(_pageUrl,
|
||||
post.field, function(res){
|
||||
if (res.code === 200) {
|
||||
|
||||
layer.msg(res.msg);
|
||||
|
||||
// 更新列数据
|
||||
if (typeof(tableThis) !== 'undefined') {
|
||||
if (tableThis.event === 'edit')
|
||||
tableThis.update(JSON.parse(JSON.stringify(post.field)));
|
||||
}else { // 添加则更新列表
|
||||
renderTable(tableURL);
|
||||
}
|
||||
|
||||
treeTable.reloadData('lay-tableList');
|
||||
// 调用接口更新菜单
|
||||
top.layui.admin.reloadLayout();
|
||||
|
||||
|
||||
@@ -1,32 +0,0 @@
|
||||
<include file="/public/header" />
|
||||
<link href="__STATICADMIN__css/message.css" rel="stylesheet" type="text/css" />
|
||||
<!-- // 重定位Style -->
|
||||
<style>
|
||||
.face {
|
||||
margin-bottom: 3px;
|
||||
}
|
||||
</style>
|
||||
<div id="instant-content" class="layui-card">
|
||||
<div class="layui-card-body">
|
||||
<div class="layui-panel">
|
||||
<div class="layui-card-header">
|
||||
<div class="title">{$detail.title}</div>
|
||||
<div class="time"><span class="times">任务创建于:</span>{$detail.create_time}</div>
|
||||
</div>
|
||||
<div id="layui-info">{$detail.content|raw}</div>
|
||||
<div class="layui-banner">
|
||||
<p>本消息属系统工作流待办流程管理</p>
|
||||
<p>在系统使用过程中,如果有问题请联系网站运维组 </p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-footer">
|
||||
<!-- 底部固定区域 -->
|
||||
<button type="button" class="layui-btn layui-btn-checked" lay-ajax data-url="{:url('/system/admin/saveNotice')}?id={$detail.id}&status=3" >进行中</button>
|
||||
<button type="button" class="layui-btn layui-btn-primary" lay-ajax data-url="{:url('/system/admin/saveNotice')}?id={$detail.id}&status=1" >已完成</button>
|
||||
<button type="button" class="layui-btn layui-btn-danger" sa-event="closeDialog" >关闭</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<include file="/public/footer" />
|
||||
36
app/admin/view/system/admin_notice/add.html
Normal file
36
app/admin/view/system/admin_notice/add.html
Normal file
@@ -0,0 +1,36 @@
|
||||
<include file="/public/header" />
|
||||
<div class="layui-fluid layui-bg-white">
|
||||
<form action="{:url('/system/AdminNotice/add')}" class="layui-form">
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label"><span style="color: red; ">* </span>{:__('收件人')}</label>
|
||||
<div class="layui-input-block">
|
||||
<select name="admin_id" lay-verify="required" lay-search>
|
||||
<option value=""></option>
|
||||
<volist name="adminList" id="vo">
|
||||
<option value="{$vo.id}">{$vo.name}</option>
|
||||
</volist>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label"><span style="color: red; ">* </span>{:__('标题')}</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="title" class="layui-input" lay-verify="required" value="" placeholder="请输入私信标题">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label"><span style="color: red; ">* </span>{:__('回复内容')}</label>
|
||||
<div class="layui-input-block">
|
||||
<textarea name="content" class="layui-textarea" placeholder="请输入私信内容"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-footer layui-form-item layui-center ">
|
||||
<button class="layui-btn layui-btn-primary" type="button" sa-event="closePageDialog">{:__('取消')}
|
||||
</button>
|
||||
<button class="layui-btn" lay-filter="submitIframe" lay-submit>{:__('提交')}</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<include file="/public/footer" />
|
||||
@@ -237,14 +237,7 @@
|
||||
post.field, function(res){
|
||||
if (res.code === 200) {
|
||||
layer.msg(res.msg);
|
||||
// 更新列数据
|
||||
if (typeof(tableThis) !== 'undefined') {
|
||||
if (tableThis.event === 'edit')
|
||||
tableThis.update(JSON.parse(JSON.stringify(post.field)));
|
||||
}else { // 添加则更新列表
|
||||
renderTable(tableURL);
|
||||
}
|
||||
|
||||
treeTable.reloadData('lay-tableList');
|
||||
// 关闭当前窗口
|
||||
layer.close(colletction.index);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user