datalist.html 6.7 KB

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