index.html 7.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178
  1. <div class="layui-fluid">
  2. <div class="layui-card">
  3. <div class="layui-form layui-form-pane layui-card-header layuiadmin-card-header-auto">
  4. <div class="layui-form-item">
  5. <div class="layui-inline">
  6. <label class="layui-form-label">状态</label>
  7. <div class="layui-input-block">
  8. <select name="status">
  9. <option value="">全部状态</option>
  10. {volist name="status_list" id="v"}
  11. <option value="{$key}">{$v}</option>
  12. {/volist}
  13. </select>
  14. </div>
  15. </div>
  16. <div class="layui-inline">
  17. <button class="layui-btn" lay-submit lay-filter="{$lay_btn}">
  18. <i class="layui-icon layui-icon-search layuiadmin-button-btn"></i>
  19. </button>
  20. </div>
  21. </div>
  22. </div>
  23. <div class="layui-card-body">
  24. <div style="padding-bottom: 10px;">
  25. <button class="layui-btn layuiadmin-btn" data-type="add">添加</button>
  26. </div>
  27. <table id="{$lay_table}" lay-filter="{$lay_table}"></table>
  28. <script type="text/html" id="setOption">
  29. {{# d.option.forEach(function(v){ }}
  30. <button class="layui-btn layui-btn-normal layui-btn-sm">{{ v }}</button>
  31. {{# }) }}
  32. </script>
  33. <script type="text/html" id="setTpl">
  34. <a class="layui-btn layui-btn-normal layui-btn-xs" lay-event="edit">
  35. <i class="layui-icon layui-icon-edit"></i>编辑
  36. </a>
  37. <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">
  38. <i class="layui-icon layui-icon-delete"></i>删除
  39. </a>
  40. <a class="layui-btn layui-btn-normal layui-btn-xs" lay-event="qrcode">
  41. <i class="layui-icon layui-icon-picture-fine"></i>查看二维码
  42. </a>
  43. <a class="layui-btn layui-btn-normal layui-btn-xs" lay-event="num">
  44. <i class="layui-icon layui-icon-form"></i>查看票数
  45. </a>
  46. <a class="layui-btn layui-btn-normal layui-btn-xs" lay-event="apply">
  47. <i class="layui-icon layui-icon-table"></i>投票明细
  48. </a>
  49. </script>
  50. </div>
  51. </div>
  52. </div>
  53. <script>
  54. layui.use(['index', 'admin', 'form', 'table'], function () {
  55. const $ = layui.$;
  56. const admin = layui.admin;
  57. const form = layui.form;
  58. const table = layui.table;
  59. form.render();
  60. table.render({
  61. elem: '#{$lay_table}',
  62. url: "{:url('vote/listVote')}",
  63. cols: [
  64. [
  65. {field: 'title', title: '标题', width: 200},
  66. {field: 'option', title: '选项', toolbar: '#setOption'},
  67. {field: 'status_text', title: '状态', width: 80, align: 'center'},
  68. {field: 'start_time', title: '开始时间', width: 160, align: 'center'},
  69. {field: 'end_time', title: '结束时间', width: 160, align: 'center'},
  70. {field: 'create_time', title: '创建时间', width: 160, align: 'center'},
  71. {title: '操作', width: 430, align: 'center', fixed: 'right', toolbar: '#setTpl'}
  72. ]
  73. ],
  74. page: true,
  75. limit: 50,
  76. cellMinWidth: 150,
  77. text: '对不起,加载出现异常!'
  78. });
  79. form.on('submit({$lay_btn})', function (data) {
  80. table.reload('{$lay_table}', {
  81. where: data.field,
  82. page: {
  83. curr: 1
  84. }
  85. });
  86. });
  87. //事件
  88. const active = {
  89. add: function () {
  90. const index = layer.open({
  91. type: 2,
  92. title: '添加活动',
  93. content: "{:url('vote/voteForm')}",
  94. maxmin: true,
  95. area: ['550px', '550px']
  96. });
  97. layer.full(index);
  98. }
  99. };
  100. //监听工具条
  101. table.on('tool({$lay_table})', function (obj) {
  102. const data = obj.data;
  103. if (obj.event === 'del') {
  104. layer.confirm('确定删除吗?', function (index) {
  105. admin.req({
  106. url: "{:url('vote/delVote')}",
  107. data: {
  108. id: data.id
  109. },
  110. done: function (res) {
  111. layui.table.reload('{$lay_table}');
  112. }
  113. });
  114. layer.close(index);
  115. });
  116. } else if (obj.event === 'edit') {
  117. const index = layer.open({
  118. type: 2,
  119. title: '编辑活动',
  120. content: "{:url('vote/voteForm')}?id=" + data.id,
  121. maxmin: true,
  122. area: ['550px', '550px']
  123. });
  124. layer.full(index);
  125. } else if (obj.event === 'qrcode') {
  126. admin.req({
  127. url: "{:url('vote/qrcodeVote')}?id=" + data.id,
  128. data: {
  129. id: data.id
  130. },
  131. done: function (res) {
  132. layer.photos({
  133. photos: {
  134. "title": "二维码", //相册标题
  135. "id": 1, //相册id
  136. "start": 0, //初始显示的图片序号,默认0
  137. "data": [ //相册包含的图片,数组格式
  138. {
  139. "alt": "二维码",
  140. "pid": 0, //图片id
  141. "src": res.data, //原图地址
  142. }
  143. ]
  144. }
  145. });
  146. }
  147. });
  148. } else if (obj.event === 'num') {
  149. layer.open({
  150. type: 2,
  151. title: '查看票数',
  152. content: "{:url('vote/showNum')}?id=" + data.id,
  153. maxmin: true,
  154. area: ['550px', '550px']
  155. });
  156. } else if (obj.event === 'apply') {
  157. layer.open({
  158. type: 2,
  159. title: '投票明细',
  160. content: "{:url('vote/applyVote')}?id=" + data.id,
  161. maxmin: true,
  162. area: ['700px', '550px']
  163. });
  164. }
  165. });
  166. $('.layui-btn.layuiadmin-btn').on('click', function () {
  167. const type = $(this).data('type');
  168. active[type] ? active[type].call(this) : '';
  169. });
  170. });
  171. </script>