datalist.html 6.8 KB

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