datalist.html 6.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144
  1. {extend name="../../base/view/common/base" /}
  2. {block name="body"}
  3. <div class="p-page">
  4. <div class="layui-tab layui-tab-brief">
  5. <ul class="layui-tab-title">
  6. <li class="layui-this" data-type="1">费项维度</li>
  7. <li data-type="2">退款项</li>
  8. <li data-type="3">退款原因</li>
  9. </ul>
  10. </div>
  11. <table class="layui-hide" id="table_fee_refund_cate" lay-filter="table_fee_refund_cate"></table>
  12. </div>
  13. <script type="text/html" id="toolbarDemo">
  14. <div class="layui-btn-container">
  15. <button class="layui-btn layui-btn-sm add-new" type="button">+ 添加</button>
  16. </div>
  17. </script>
  18. {/block}
  19. {block name="script"}
  20. <script>
  21. const moduleInit = ['tool'];
  22. var currentType = 1;
  23. function gouguInit() {
  24. var table = layui.table, tool = layui.tool;
  25. layui.pageTable = table.render({
  26. elem: '#table_fee_refund_cate',
  27. toolbar: '#toolbarDemo',
  28. url: '/finance/feerefundcate/datalist',
  29. where: { type: currentType },
  30. page: false,
  31. limit: 999,
  32. cellMinWidth: 80,
  33. cols: [[
  34. { field: 'id', width: 80, title: 'ID', align: 'center' },
  35. { field: 'title', title: '名称' },
  36. { field: 'value', width: 80, title: '值', align: 'center' },
  37. { field: 'is_other', width: 90, title: '其他项', align: 'center', templet: function (d) {
  38. return d.is_other == 1 ? '<span class="layui-badge layui-bg-blue">是</span>' : '-';
  39. }},
  40. { field: 'sort', width: 80, title: '排序', align: 'center' },
  41. { field: 'status', title: '状态', width: 80, align: 'center', templet: function (d) {
  42. return d.status == 1 ? '<span class="green">启用</span>' : '<span class="yellow">禁用</span>';
  43. }},
  44. { width: 160, title: '操作', align: 'center', templet: function (d) {
  45. var edit = '<a class="layui-btn layui-btn-normal layui-btn-xs" lay-event="edit">编辑</a>';
  46. var disable = '<a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="disable">禁用</a>';
  47. var enable = '<a class="layui-btn layui-btn-xs" lay-event="open">启用</a>';
  48. var del = '<a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</a>';
  49. var toggle = d.status == 1 ? disable : enable;
  50. return '<div class="layui-btn-group">' + edit + toggle + del + '</div>';
  51. }}
  52. ]]
  53. });
  54. table.on('tool(table_fee_refund_cate)', function (obj) {
  55. if (obj.event === 'edit') {
  56. editCate(obj.data);
  57. }
  58. if (obj.event === 'disable') {
  59. layer.confirm('确定要禁用该记录吗?', { icon: 3 }, function (index) {
  60. tool.post('/finance/feerefundcate/set', { id: obj.data.id, status: 0 }, function (e) {
  61. layer.msg(e.msg);
  62. if (e.code == 0) layui.pageTable.reload();
  63. });
  64. layer.close(index);
  65. });
  66. }
  67. if (obj.event === 'open') {
  68. layer.confirm('确定要启用该记录吗?', { icon: 3 }, function (index) {
  69. tool.post('/finance/feerefundcate/set', { id: obj.data.id, status: 1 }, function (e) {
  70. layer.msg(e.msg);
  71. if (e.code == 0) layui.pageTable.reload();
  72. });
  73. layer.close(index);
  74. });
  75. }
  76. if (obj.event === 'del') {
  77. layer.confirm('确定要删除该记录吗?', { icon: 3 }, function (index) {
  78. tool.delete('/finance/feerefundcate/del', { id: obj.data.id }, function (e) {
  79. layer.msg(e.msg);
  80. if (e.code == 0) layui.pageTable.reload();
  81. });
  82. layer.close(index);
  83. });
  84. }
  85. });
  86. // Tab 切换
  87. $('body').on('click', '.layui-tab-title li', function () {
  88. currentType = $(this).data('type');
  89. layui.pageTable.reload({ where: { type: currentType }, page: { curr: 1 } });
  90. });
  91. $('body').on('click', '.add-new', function () {
  92. editCate();
  93. });
  94. function editCate(row) {
  95. row = row || {};
  96. var isEdit = row.id > 0;
  97. var id = row.id || 0;
  98. var title = row.title || '';
  99. var value = (row.value === undefined || row.value === null) ? '' : row.value;
  100. var sort = row.sort || 0;
  101. var isOther = row.is_other == 1;
  102. layer.open({
  103. type: 1,
  104. title: isEdit ? '编辑' : '添加',
  105. area: ['360px', 'auto'],
  106. content: '<div style="padding:20px">'
  107. + '<div class="layui-form-item"><label>名称</label>'
  108. + '<input id="cate_title" class="layui-input" value="' + title + '" placeholder="请输入名称"></div>'
  109. + '<div class="layui-form-item" style="margin-top:10px"><label>值(同类型内唯一)</label>'
  110. + '<input id="cate_value" class="layui-input" type="number" value="' + value + '" placeholder="请输入数字值"></div>'
  111. + '<div class="layui-form-item" style="margin-top:10px"><label>排序</label>'
  112. + '<input id="cate_sort" class="layui-input" type="number" value="' + sort + '"></div>'
  113. + '<div class="layui-form-item" style="margin-top:10px"><label><input id="cate_is_other" type="checkbox"' + (isOther ? ' checked' : '') + '> 标记为「其他」项(申请时选中需填备注)</label></div>'
  114. + '</div>',
  115. btn: ['确定', '取消'],
  116. yes: function (index) {
  117. var val = $('#cate_title').val();
  118. var vval = $('#cate_value').val();
  119. var sval = $('#cate_sort').val();
  120. var other = $('#cate_is_other').prop('checked') ? 1 : 0;
  121. if (!val) { layer.msg('请填写名称'); return; }
  122. if (vval === '' || isNaN(vval)) { layer.msg('请填写数字值'); return; }
  123. var tool = layui.tool;
  124. tool.post('/finance/feerefundcate/add',
  125. { id: id, type: currentType, title: val, value: vval, sort: sval, is_other: other },
  126. function (e) {
  127. layer.msg(e.msg);
  128. if (e.code == 0) { layer.close(index); layui.pageTable.reload(); }
  129. }
  130. );
  131. }
  132. });
  133. }
  134. }
  135. </script>
  136. {/block}