notice.html 9.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <title>公告管理</title>
  6. <meta name="renderer" content="webkit">
  7. <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
  8. <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0">
  9. <link rel="stylesheet" href="../../layuiadmin/layui/css/layui.css" media="all">
  10. <link rel="stylesheet" href="../../layuiadmin/style/admin.css" media="all">
  11. </head>
  12. <body>
  13. <div class="layui-fluid">
  14. <div class="layui-card">
  15. <div class="layui-card-body" pad15>
  16. <div class="layui-row layui-col-space15">
  17. <div class="layui-col-md12">
  18. <div class="LAY-btns" style="margin-bottom: 10px;">
  19. <button class="layui-btn layui-btn-sm" data-permission="office.add_notice" id="btn_add"><i class="layui-icon layui-icon-add-circle"></i>添加</button>
  20. <button class="layui-btn layui-btn-sm" data-permission="office.add_notice" id="btn_upload"><i class="layui-icon layui-icon-add-circle"></i>上传附件</button>
  21. <button class="layui-btn layui-btn-sm" id="btn_query"><i class="layui-icon layui-icon-search"></i>查询</button>
  22. </div>
  23. <table class="layui-hide" id="datagrid" lay-filter="datagrid-operate"></table>
  24. <script type="text/html" id="datagrid-operate-bar">
  25. <div class="layui-btn-group">
  26. <a class="layui-btn layui-btn-xs" data-permission="office.add_notice" lay-event="edit">修改</a>
  27. <a class="layui-btn layui-btn-xs" lay-event="detail">查看</a>
  28. <a class="layui-btn layui-btn-xs" lay-event="answer">回复</a>
  29. <a class="layui-btn layui-btn-xs" lay-event="files">附件</a>
  30. <a class="layui-btn layui-btn-xs" data-permission="office.view_browserecord" lay-event="browserecord">浏览记录</a>
  31. <a class="layui-btn layui-btn-danger layui-btn-xs" data-permission="office.delete_notice" lay-event="delete">删除</a>
  32. </div>
  33. </script>
  34. </div>
  35. </div>
  36. </div>
  37. </div>
  38. </div>
  39. <div id="dlg_query" style="display: none">
  40. <div class="layui-card-body" pad15>
  41. <form class="layui-form" lay-filter="query-form-element">
  42. <div class="layui-row layui-col-space10 layui-form-item">
  43. <div class="layui-col-xs12 layui-col-sm12">
  44. <label class="layui-form-label">部门:</label>
  45. <div class="layui-input-block">
  46. <input type="text" name="company" autocomplete="off" class="layui-input">
  47. </div>
  48. </div>
  49. <div class="layui-col-xs12 layui-col-sm12">
  50. <label class="layui-form-label">标题:</label>
  51. <div class="layui-input-block">
  52. <input type="text" name="title" autocomplete="off" class="layui-input">
  53. </div>
  54. </div>
  55. </div>
  56. <div class="layui-form-item" style="display: none">
  57. <button id="query_search" class="layui-btn" lay-submit lay-filter="query-form-element">查询</button>
  58. </div>
  59. </form>
  60. </div>
  61. </div>
  62. <script src="../../layuiadmin/layui/layui.js?t=1"></script>
  63. <script>
  64. var _params = '';
  65. layui.config({
  66. base: '../../../layuiadmin/' //静态资源所在路径
  67. }).extend({
  68. index: 'lib/index' //主入口模块
  69. }).use(['index', 'table'], function(){
  70. var $ = layui.$
  71. ,form = layui.form;
  72. var table = layui.table;
  73. table.render({
  74. elem: '#datagrid'
  75. ,url: '/office/notice/data/'
  76. ,cols: [[
  77. {type:'checkbox',width:50}
  78. ,{field:'department_name', title:'部门', width:120}
  79. ,{field:'priority_text', title:'优先级',width: 100}
  80. ,{field:'title', title:'标题', width:230}
  81. ,{field:'create_user_text', title:'发布人', width:100}
  82. ,{field:'receiver_count', title:'接收人数',width: 100}
  83. ,{field:'hits', title:'查看次数', width:100}
  84. ,{field:'reply_count', title:'回复人数',width: 100}
  85. ,{field:'null', title:'回复率',minWidth: 100}
  86. ,{field:'create_time', title:'发布时间', width:180}
  87. ,{field:'dendline', title:'截止时间', width:160}
  88. ,{width:280, align:'left', fixed: 'right', toolbar: '#datagrid-operate-bar'}
  89. ]]
  90. ,page: true
  91. ,height: 'full-104'
  92. ,done: function () {
  93. layui.index.removeNoPermButtons();
  94. }
  95. });
  96. //监听工具条
  97. table.on('tool(datagrid-operate)', function(obj){
  98. var data = obj.data;
  99. if(obj.event === 'edit'){
  100. table.editdata = data;
  101. layer.open({
  102. type: 2,
  103. title: '修改',
  104. shadeClose: false,
  105. area: ['550px', '85%'],
  106. btn: ['保存', '取消'],
  107. yes: function(index, dom){
  108. layui.onSubmitChild = function (data) {
  109. layer.close(index);
  110. table.reload('datagrid',{});
  111. };
  112. layui.submitChild();
  113. },
  114. btn2: function(index, layero){
  115. layer.close(index);//关闭当前按钮
  116. },
  117. content: 'notice_edit.html?id='+data.id
  118. });
  119. }else if(obj.event === 'answer'){
  120. table.editdata = data;
  121. layer.open({
  122. type: 2,
  123. title: '回复',
  124. shadeClose: false,
  125. area: ['80%', '85%'],
  126. btn: ['回复', '取消'],
  127. yes: function(index, dom){
  128. layui.onSubmitChild = function (data) {
  129. layer.close(index);
  130. table.reload('datagrid',{});
  131. };
  132. layui.submitChild();
  133. },
  134. btn2: function(index, layero){
  135. layer.close(index);//关闭当前按钮
  136. },
  137. content: 'notice_answer.html?id='+data.id
  138. });
  139. }else if(obj.event === 'files'){
  140. layer.open({
  141. type: 2,
  142. title: '查看附件',
  143. area: ['90%', '90%'],
  144. content: 'notice_files.html?id=' + data.id
  145. });
  146. }else if(obj.event === 'detail'){
  147. table.editdata = data;
  148. layer.open({
  149. type: 2,
  150. title: '查看['+ data.title + ']',
  151. shadeClose: true,
  152. area: ['80%', '80%'],
  153. content: 'notice_detail.html?id='+data.id
  154. });
  155. }else if(obj.event === 'browserecord'){
  156. table.editdata = data;
  157. layer.open({
  158. type: 2,
  159. title: '查看['+ data.title + ']',
  160. shadeClose: true,
  161. area: ['80%', '80%'],
  162. content: 'notice_browserecord.html?id='+data.id
  163. });
  164. }else if(obj.event === 'delete'){
  165. layer.confirm('确定要删除吗?', function(index){
  166. layer.close(index);
  167. layui.admin.req({
  168. url: '/office/notice/delete/?id='+data.id
  169. ,done: function(res){
  170. table.reload('datagrid',{});
  171. }
  172. });
  173. });
  174. }
  175. });
  176. $('#btn_upload').on('click', function(){
  177. var checkStatus = table.checkStatus('datagrid')
  178. ,data = checkStatus.data;
  179. if (data.length == 0) {
  180. layer.msg('请至少选择一条记录');
  181. return false;
  182. }
  183. var ids = [];
  184. for (var i in data) {
  185. ids.push(data[i].id)
  186. }
  187. layer.open({
  188. type: 2,
  189. title: '上传',
  190. area: ['600px', '450px'],
  191. btn: ['保存', '取消'],
  192. yes: function(index, dom){
  193. layui.onSubmitChild = function (data) {
  194. layer.close(index);
  195. table.reload('datagrid',{});
  196. };
  197. layui.submitChild();
  198. },
  199. btn2: function(index, layero){
  200. layer.close(index);//关闭当前按钮
  201. },
  202. content: 'notice_upload.html?ids=' + ids
  203. });
  204. });
  205. $('#btn_add').on('click', function(){
  206. layer.open({
  207. type: 2,
  208. title: '添加',
  209. shadeClose: false,
  210. area: ['550px', '85%'],
  211. btn: ['保存', '取消'],
  212. yes: function(index, dom){
  213. layui.onSubmitChild = function (data) {
  214. layer.close(index);
  215. table.reload('datagrid',{});
  216. };
  217. layui.submitChild();
  218. },
  219. btn2: function(index, layero){
  220. layer.close(index);//关闭当前按钮
  221. },
  222. content: 'notice_edit.html'
  223. });
  224. });
  225. $('#btn_query').on('click', function(){
  226. layer.open({
  227. type: 1,
  228. shadeClose: true,
  229. area: ['500px', '250px'],
  230. title: '查询',
  231. btn: ['查询'],
  232. yes: function(index, dom){
  233. $('#query_search').click();
  234. },
  235. content: $('#dlg_query')
  236. });
  237. });
  238. form.on('submit(query-form-element)', function(data){
  239. //layer.msg(JSON.stringify(data.field));
  240. _params = data.field;
  241. table.reload('datagrid', {
  242. where: data.field,
  243. page:{curr:1}
  244. });
  245. layer.closeAll();
  246. return false;
  247. });
  248. });
  249. </script>
  250. </body>
  251. </html>