star.html 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183
  1. {extend name="../../base/view/common/base" /}
  2. <!-- 主体 -->
  3. {block name="body"}
  4. <div class="p-page">
  5. {include file="message/msgmenu" /}
  6. <div style="margin-left:172px;">
  7. <form class="layui-form gg-form-bar border-t border-x">
  8. <div class="layui-input-inline" style="width:200px">
  9. <input type="text" autocomplete="off" name="range_time" readonly class="layui-input tool-time" data-range="~" placeholder="接收日期">
  10. </div>
  11. <div class="layui-input-inline" style="width:128px">
  12. <select name="types">
  13. <option value="">选择消息类型</option>
  14. <option value="1">系统消息</option>
  15. <option value="2">个人消息</option>
  16. </select>
  17. </div>
  18. <div class="layui-input-inline" style="width:300px">
  19. <input type="text" name="keywords" placeholder="关键字" class="layui-input" autocomplete="off"/>
  20. </div>
  21. <div class="layui-input-inline" style="width:150px;">
  22. <button class="layui-btn layui-btn-normal" lay-submit="" lay-filter="webform"><i class="layui-icon layui-icon-search mr-1"></i>搜索</button>
  23. <button type="reset" class="layui-btn layui-btn-reset" lay-filter="reset">清空</button>
  24. </div>
  25. </form>
  26. <table class="layui-hide" id="test" lay-filter="test"></table>
  27. </div>
  28. </div>
  29. <script type="text/html" id="toolbarDemo">
  30. <div class="layui-btn-container">
  31. <div class="layui-btn-group">
  32. <button class="layui-btn layui-btn-sm" lay-event="add"><i class="layui-icon">&#xe61f;</i>新建消息</button>
  33. <button class="layui-btn layui-btn-normal layui-btn-sm" lay-event="unstar"><i class="layui-icon">&#xe67b;</i>取消星标</button>
  34. <button class="layui-btn layui-btn-warm layui-btn-sm" lay-event="read"><i class="layui-icon">&#xe605;</i>设为已读</button>
  35. <button class="layui-btn layui-btn-danger layui-btn-sm" lay-event="del"><i class="layui-icon">&#xe640;</i>批量删除</button>
  36. </div>
  37. </div>
  38. </script>
  39. {/block}
  40. <!-- /主体 -->
  41. <!-- 脚本 -->
  42. {block name="script"}
  43. <script>
  44. const moduleInit = ['tool'];
  45. function gouguInit() {
  46. var table = layui.table, tool = layui.tool ,form = layui.form;
  47. layui.pageTable = table.render({
  48. elem: '#test',
  49. toolbar: '#toolbarDemo',
  50. defaultToolbar:false,
  51. title:'标星信息',
  52. url: "/home/message/star", //数据接口
  53. page: true ,//开启分页
  54. limit: 20,
  55. cellMinWidth: 80,
  56. height: 'full-114',
  57. cols: [[ //表头
  58. {type:'checkbox',fixed:'left'},
  59. {field: 'msg_type', title: '消息类型',width:90,align:'center',templet: function (d) {
  60. var html = '<span class="yellow">系统消息</span>';
  61. if(d.from_uid > 0){
  62. html = '<span class="blue">个人消息</span>';
  63. }
  64. return html;
  65. }
  66. },
  67. {field: 'from_name', title: '发件人', width:100,align:'center'},
  68. {field: 'title', title: '消息主题',minWidth:240},
  69. {field: 'create_time', title: '发件时间', align:'center',width:160},
  70. {field: 'read_time', title: '是否已读',align:'center', width:90,templet:function(d){
  71. var html='<span style="color:#5FB878">已读</span>';
  72. if(d.read_time==0){
  73. html='<span style="color:#FF5722">未读</span>';
  74. }
  75. return html;
  76. }},
  77. {field: 'right', title: '操作',fixed:'right', width:160, align:'center',templet: function (d) {
  78. let html='<div class="layui-btn-group">';
  79. let btn1='<span class="layui-btn layui-btn-xs layui-btn-normal" lay-event="view">查看</span>';
  80. let btn2='<span class="layui-btn layui-btn-xs" lay-event="reply">回复</span>';
  81. let btn3='<span class="layui-btn layui-btn-xs layui-btn-normal" lay-event="resend">转发</span>';
  82. let btn4='<button class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</button></div>';
  83. if(d.from_uid == 0){
  84. return html+btn1+btn4+'</div>'
  85. }
  86. else{
  87. return html+btn1+btn2+btn3+btn4+'</div>'
  88. }
  89. }
  90. }
  91. ]]
  92. });
  93. //监听行工具事件
  94. table.on('tool(test)', function(obj){
  95. var data = obj.data;
  96. if(obj.event === 'del'){
  97. layer.confirm('确定该信息要放入垃圾箱吗?', {icon: 3, title:'提示'}, function(index){
  98. let callback = function (e) {
  99. layer.msg(e.msg);
  100. if(e.code==0){
  101. layui.pageTable.reload();
  102. }
  103. }
  104. tool.delete("/home/message/check", {
  105. ids: data.id,type:2,
  106. }, callback);
  107. layer.close(index);
  108. });
  109. }
  110. if(obj.event === 'view'){
  111. tool.side('/home/message/read?id='+data.id);
  112. return;
  113. }
  114. if(obj.event === 'reply'){
  115. tool.side('/home/message/reply?msg_id='+data.id);
  116. return;
  117. }
  118. if(obj.event === 'resend'){
  119. tool.side('/home/message/resend?msg_id='+data.id);
  120. return;
  121. }
  122. });
  123. //表头工具栏事件
  124. table.on('toolbar(test)', function(obj){
  125. var checkStatus = table.checkStatus(obj.config.id); //获取选中行状态
  126. var data = checkStatus.data;
  127. if (obj.event === 'add') {
  128. tool.side("/home/message/add");
  129. return;
  130. }
  131. if(data.length==0){
  132. layer.msg('请选择要操作的消息');
  133. return false;
  134. }
  135. var idArray=[],msg='是否执行该操作?',type=0;
  136. for(var i=0;i<data.length;i++){
  137. idArray.push(data[i].id);
  138. }
  139. switch(obj.event){
  140. case 'read':
  141. msg = '确定把选中的信息设为已读吗?';
  142. type = 1;
  143. break;
  144. case 'del':
  145. msg = '确定把选中的信息要放入垃圾箱吗?';
  146. type = 2;
  147. break;
  148. case 'unstar':
  149. msg = '确定把选中的信息取消星标吗?';
  150. type = 6;
  151. break;
  152. };
  153. layer.confirm(msg, {
  154. icon: 3,
  155. title: '提示'
  156. }, function (index) {
  157. let callback = function (e) {
  158. layer.msg(e.msg);
  159. if(e.code==0){
  160. layui.pageTable.reload();
  161. }
  162. }
  163. tool.delete("/home/message/check", {
  164. ids: idArray.join(','),
  165. type:type,
  166. }, callback);
  167. layer.close(index);
  168. });
  169. });
  170. //监听搜索提交
  171. form.on('submit(webform)', function(data){
  172. layui.pageTable.reload({where:data.field,page:{curr:1}});
  173. return false;
  174. });
  175. }
  176. </script>
  177. {/block}
  178. <!-- /脚本 -->