fix:更新已知bug,优化代码

This commit is contained in:
Ying
2022-11-28 19:11:12 +08:00
parent f6aee95cfc
commit 9445b206a2
1378 changed files with 53759 additions and 20789 deletions

View File

@@ -0,0 +1,262 @@
<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>

View File

@@ -172,7 +172,7 @@
<div class="layui-card">
<div class="layui-card-body">
<div class="layui-tab layui-tab-brief" lay-filter="userInfoTab">
<div class="layui-tab layui-tab-brief" lay-filter="userDataTab">
<ul class="layui-tab-title">
<li class="layui-this">{:__('基本信息')}</li>
<li>{:__('账号绑定')}</li>
@@ -287,7 +287,7 @@
admin.callback.imgHead = function(clickthis, colletction) {
var res = colletction.res;
if (res.code == 200) { // 查找元素
if (res.code === 200) { // 查找元素
jquery('.imgHead').attr('src',res.url);
// // 执行后端投递工作
// jquery.post('{:url("/system/admin/modify")}',{

View File

@@ -294,16 +294,8 @@
}
})
// var rules = _ajax('cates');
// if (typeof rules.code != "undefined") {
// return layer.msg(rules.msg,'info');
// }
}
});
});
</script>

View File

@@ -1,129 +1,54 @@
<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($list['msg'])})</li>
<li id="comment" >{:__('私信')}({:count($list['comment'])})</li>
<li id="things" >{:__('待办')}({:count($list['things'])})</li>
</ul>
<div class="layui-tab-content" style="padding: 5px 0px;">
<div class="layui-tab-item layui-show">
<div class="layui-message-list" >
<volist name="list['msg']" id="vo">
<a class="layui-message-list-item" href="javascript:;">
<img class="layui-message-item-icon" src="__ADMINIMAGES__message.png">
<!-- <i class="layui-message-item-icon layui-icon layui-icon-email"></i> -->
<div class="layui-message-item-right">
<h2 class="layui-message-item-title">{$vo.title}</h2>
<p class="layui-message-item-text">{$vo.create_time}</p>
</div>
</a>
</volist>
<!-- // 重定位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}" class="face" width="20"> </span>{$detail.nickname}</div>
<div class="time"><span class="times">时间:</span>{$detail.create_time}</div>
</div>
<!-- // 列表为空 -->
<div class="layui-message-list-empty" <empty name="$list['msg']"> style="display:black;" <else/> style="display:none;" </empty> >
<img src="__ADMINIMAGES__noting.png"><div>{:__('没有通知')}</div>
</div>
<!-- // 底部操作 -->
<notempty name="$list['msg']">
<div class="layui-message-footer">
<a href="javascript:;" class="clear" data-type="msg">{:__('清空通知')}</a><span>|</span><a href="javascript:;" class="more">{:__('查看更多')}</a>
</div>
</notempty>
</div>
<div class="layui-tab-item">
<div class="layui-message-list" >
<volist name="list['comment']" id="vo">
<a class="layui-message-list-item" href="javascript:;">
<img class="layui-message-item-icon" src="__ADMINIMAGES__head.png">
<div class="layui-message-item-right">
<h2 class="layui-message-item-title">{$vo.title}</h2>
<p class="layui-message-item-text">{$vo.content}</p>
<p class="layui-message-item-text">{$vo.create_time}</p>
</div>
</a>
</volist>
</div>
<!-- // 列表为空 -->
<div class="layui-message-list-empty" <empty name="$list['comment']"> style="display:black;" <else/> style="display:none;" </empty> >
<img src="__ADMINIMAGES__noting.png"><div>{:__('没有私信')}</div>
</div>
<notempty name="$list['msg']">
<div class="layui-message-footer">
<a href="javascript:;" class="clear"data-type="comment">{:__('清空私信')}</a><span>|</span><a href="javascript:;" class="more">{:__('查看更多')}</a>
</div>
</notempty>
<div id="layui-info">{$detail.content|raw}</div>
</div>
<div class="layui-tab-item">
<div class="layui-message-list" >
<volist name="list['things']" id="vo">
<a class="layui-message-list-item" href="javascript:;">
<div class="layui-message-item-right">
<eq name="$vo['type']" value="0">
<span class="layui-badge pull-right">{:__('待完成')}</span>
<else/>
<span class="layui-badge layui-bg-gray pull-right">{:__('已完成')}</span>
</eq>
<h2 class="layui-message-item-title">{$vo.title}</h2>
<p class="layui-message-item-text">{$vo.create_time}</p>
</div>
</a>
</volist>
<a id="more" class="layui-message-btn-more" href="javascript:;">{:__('更多')}</a>
</div>
<!-- // 列表为空 -->
<div class="layui-message-list-empty" <empty name="$list['things']"> style="display:black;" <else/> style="display:none;" </empty> >
<img src="__ADMINIMAGES__noting.png"><div>{:__('没有待办')}</div>
</div>
<notempty name="$list['things']">
<div class="layui-message-footer">
<a href="javascript:;" class="clear" data-type="things">{:__('清空待办')}</a><span>|</span><a href="javascript:;" class="more">{:__('查看更多')}</a>
</div>
</notempty>
<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" />
<script>
layui.use(['element'], function () {
var $ = layui.jquery;
var element = layui.element;
// 加载更多
$('#more').click(function (obj) {
layer.msg('没有更多了','info');
})
// 清空消息点击事件
$('.clear').click(function (obj) {
var that = $(this), typeElem = that.data('type');
var findElem = $('#' + typeElem);
// 删除元素
that.parent().prev().prev().remove();
that.parent().prev().show();
that.parent().remove();
// 替换标题
findElem.text(findElem.text().replace(/\([^\)]*\)/,''));
// 执行AJAX请求...
});
});
</script>

View File

@@ -0,0 +1,26 @@
<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" />

View File

@@ -47,7 +47,7 @@
<form class="layui-form" lay-filter="editforms" >
<input type="text" name="id" hidden="">
<div class="layui-form-item">
<label class="layui-form-label"><span style="color: red; ">* </span>{:__('')}</label>
<label class="layui-form-label">{:__('上级菜单')}</label>
<div class="layui-input-inline">
<div id="treeNode" name="pid" lay-filter="treeNode" ></div>
</div>
@@ -82,7 +82,7 @@
</div>
<div class="layui-form-item">
<label class="layui-form-label">{:__('路由地址')}</label>
<label class="layui-form-label"><span style="color: red; ">* </span>{:__('')}</label>
<div class="layui-input-inline">
<input name="router" placeholder="{:__('/system/Target/index')}" type="text" class="layui-input router" lay-verify="required" />
</div>

View File

@@ -0,0 +1,32 @@
<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" />

View File

@@ -64,6 +64,8 @@
url:'{:url('/system/Dictionary/index')}?pid=0',
toolbar: '#toolbar',
defaultToolbar: [],
limit: 20,
id:'lay-tree'}"
lay-filter="lay-tree" >
<thead>

View File

@@ -122,19 +122,7 @@
// 表格排序
done: function(obj) {
console.log(obj)
// let ids = [];
// for (const k in obj.cache) {
// ids.push(obj.cache[k].id)
// }
// $.post("/central.php/system/archives/sort.html",{
// ids : ids
// }, function(res) {
// if (res.code == 200) {
// layer.msg(res.msg);
// } else {
// layer.error(res.msg);
// }
// })
}
}
,done: function(res, curr, count) {