feedback.js 3.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. define(['jquery', 'table', 'form'], function($, Table, Form) {
  2. var Controller = {
  3. index: function() {
  4. Table.init = { table_elem: '#currentTable', table_render_id: 'currentTable' };
  5. function getFilters() {
  6. return {
  7. feedback_type: $('#feedback_type').val(),
  8. lang: $('#lang').val(),
  9. rating: $('#rating').val(),
  10. ip: $('#ip').val(),
  11. source_page: $('#source_page').val(),
  12. createtime_start: $('#createtime_start').val(),
  13. createtime_end: $('#createtime_end').val()
  14. };
  15. }
  16. Table.render({
  17. init: Table.init,
  18. toolbar: ['refresh'],
  19. url: 'feedback/index',
  20. cols: [[
  21. {type:'checkbox', width:50},
  22. {field:'id', width:80, title:'ID', sort:true},
  23. {field:'feedback_type_text', width:120, title:'评价栏目'},
  24. {field:'rating', width:90, title:'评分', templet:function(d){ return (d.rating || 0) + ' 星'; }},
  25. {field:'lang', width:90, title:'语言'},
  26. {field:'ip', width:140, title:'IP'},
  27. {field:'source_page', minWidth:260, title:'来源页面'},
  28. {field:'user_agent', minWidth:260, title:'User-Agent'},
  29. {field:'createtime', width:170, title:'提交时间', templet: Table.formatter.datetime},
  30. {field:'operate', title:'操作', width:110, fixed:'right', templet:function(d){
  31. return '<a href="javascript:;" class="layui-btn layui-btn-xs layui-btn-danger" data-id="'+d.id+'" data-event="delete">删除</a>';
  32. }}
  33. ]],
  34. page: {}
  35. });
  36. $('#searchBtn').on('click', function() {
  37. layui.table.reload('currentTable', { where: getFilters(), page: {curr: 1} });
  38. });
  39. $('#resetBtn').on('click', function() {
  40. $('#feedback_type,#lang,#rating,#ip,#source_page,#createtime_start,#createtime_end').val('');
  41. layui.form.render('select');
  42. layui.table.reload('currentTable', { where: {}, page: {curr: 1} });
  43. });
  44. $('#deleteBtn').on('click', function() {
  45. var rows = layui.table.checkStatus('currentTable').data || [];
  46. if (!rows.length) { layer.msg('请先勾选评价记录'); return; }
  47. var ids = rows.map(function(i){ return i.id; });
  48. layer.confirm('确认删除选中的 ' + ids.length + ' 条评价记录吗?此操作不可恢复。', {icon:3, title:'警告'}, function(index) {
  49. $.post('feedback/del', {ids: ids}, function(res) {
  50. layer.msg(res.msg || (res.code===1 ? '删除成功' : '删除失败'));
  51. if (res.code === 1) layui.table.reload('currentTable');
  52. }, 'json').fail(function(){ layer.msg('删除请求失败'); });
  53. layer.close(index);
  54. });
  55. });
  56. $(document).on('click', '[data-event="delete"]', function() {
  57. var id = $(this).data('id');
  58. layer.confirm('确认删除这条评价记录吗?此操作不可恢复。', {icon:3, title:'警告'}, function(index) {
  59. $.post('feedback/del', {ids: [id]}, function(res) {
  60. layer.msg(res.msg || (res.code===1 ? '删除成功' : '删除失败'));
  61. if (res.code === 1) layui.table.reload('currentTable');
  62. }, 'json').fail(function(){ layer.msg('删除请求失败'); });
  63. layer.close(index);
  64. });
  65. });
  66. Table.api.bindevent();
  67. Form.api.bindevent($('form.layui-form'));
  68. }
  69. };
  70. return Controller;
  71. });