export.html 6.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221
  1. {extend name="base"/}
  2. {block name="resources"}
  3. <style>
  4. .layui-card-header{background-color:#f8f8f8}
  5. .export-view{
  6. /*width:1000px;*/
  7. margin:30px 0 30px 0;
  8. }
  9. .apply-time{
  10. float:left;
  11. }
  12. .export-select{float:left;}
  13. .download-button{
  14. float:right;
  15. }
  16. .export-list-view{
  17. font-size:12px;
  18. }
  19. .empty-content{margin:20px auto;text-align:center;}
  20. .export-foot-operation{overflow:hidden;margin-top:15px;}
  21. .export-page{
  22. float:right;
  23. }
  24. .export-content-bar{
  25. float:left;
  26. padding-top: 6px;
  27. margin-left: 15px;
  28. }
  29. .export-foot-operation .layui-btn {
  30. padding: 0px 5px;
  31. font-size: 12px;
  32. line-height: 2 !important;
  33. height: auto;
  34. display: inline-block;
  35. }
  36. .layui-unselect.layui-form-checkbox{
  37. margin-top:-5px;
  38. }
  39. </style>
  40. {/block}
  41. {block name="main"}
  42. <div class="layui-layout layui-layout-admin">
  43. <div class="export-view">
  44. <div class="body-content">
  45. <div id="export_list"></div>
  46. <div class="export-foot-operation">
  47. <div class="export-content-bar layui-form bg-color-light-gray">
  48. <input type="checkbox" name="export_select" lay-filter="allChoose" lay-skin="primary" title="全选">
  49. </div>
  50. <button class="layui-btn layui-btn-primary" onclick="deleteExport()">批量删除</button>
  51. <div class='export-page' id="export_page"></div>
  52. </div>
  53. </div>
  54. </div>
  55. </div>
  56. {/block}
  57. {block name="script"}
  58. <script type="text/html" id="exportHtml">
  59. {{# layui.each(d.data.list, function(index, item){ }}
  60. <div class="layui-card export-list-view">
  61. <div class="layui-card-header">
  62. <div class="layui-form export-select">
  63. <input type="checkbox" name="check[]" value="{{item.export_id}}" lay-skin="primary" title="">
  64. </div>
  65. <div class="apply-time">
  66. 导出时间:{{ ns.time_to_date(item.create_time) }}
  67. </div>
  68. <div class="download-button">
  69. {{# if(item.status == 0){ }}
  70. <span>正在导出中,请耐心等待…</span>
  71. {{# }else{ }}
  72. {{# if(item.path != ''){ }}
  73. <a class="text-color" href="{{ ns.img(item.path) }}">下载</a>
  74. {{#}}}
  75. <a class="text-color" href="javascript:void(0)"data-export_id ="{{item.export_id}}" onclick="deleteExport(this)">删除</a>
  76. {{#}}}
  77. </div>
  78. </div>
  79. <div class="layui-card-body">
  80. <div class="layui-row layui-col-space10">
  81. {{# layui.each(JSON.parse(item.condition), function(condition_index, condition_item){ }}
  82. <div class="layui-col-md3">
  83. {{condition_item.name}}:{{condition_item.value || '-'}}
  84. </div>
  85. {{# }); }}
  86. </div>
  87. </div>
  88. </div>
  89. {{# }); }}
  90. {{# if(d.data.list.length === 0){ }}
  91. <div class="layui-card export-list-view">
  92. <div class="layui-card-header">
  93. <div class="apply-time">
  94. 订单导出记录
  95. </div>
  96. </div>
  97. <div class="layui-card-body">
  98. <div class="layui-row layui-col-space10">
  99. <div class="layui-col-md3">
  100. 暂无导出记录
  101. </div>
  102. </div>
  103. </div>
  104. </div>
  105. {{# } }}
  106. </script>
  107. <script>
  108. var laypage,form;
  109. layui.use(['form', 'laytpl', 'laypage'], function() {
  110. form = layui.form;
  111. laytpl = layui.laytpl;
  112. form.render();
  113. exportList(1,10);
  114. laypage = layui.laypage;
  115. /**
  116. * 全选
  117. */
  118. form.on("checkbox(allChoose)", function(data) {
  119. $("input[name='check[]']").each(function() {
  120. this.checked = data.elem.checked;
  121. });
  122. form.render('checkbox');
  123. })
  124. });
  125. function exportList(page, limit){
  126. $.ajax({
  127. url: '{:addon_url("shop/orderrefund/export")}',
  128. data: {
  129. limit,
  130. page
  131. },
  132. dataType: 'JSON',
  133. type: 'POST',
  134. success: function(res) {
  135. var export_template = $("#exportHtml").html();
  136. if(res.code >= 0){
  137. laytpl(export_template).render(res, function (html) {
  138. $("#export_list").html(html);
  139. })
  140. }
  141. //执行一个laypage实例
  142. laypage.render({
  143. elem: 'export_page', //注意,这里的 test1 是 ID,不用加 # 号
  144. count: res.data.count,
  145. curr: page, //当前页
  146. limit: limit,
  147. jump: function(obj, first){
  148. //obj包含了当前分页的所有参数,比如:
  149. //首次不执行
  150. if(!first){
  151. exportList(obj.curr, obj.limit);
  152. //do something
  153. form.render();
  154. }
  155. }
  156. });
  157. form.render();
  158. }
  159. });
  160. }
  161. /**
  162. * 删除记录
  163. */
  164. var flag_delete = false;
  165. function deleteExport(data) {
  166. var export_ids = [];
  167. if (!data) {
  168. $("input[name='check[]']:checked").each(function(index, item) {
  169. export_ids.push($(item).val());
  170. });
  171. }else{
  172. export_ids.push($(data).attr("data-export_id"));
  173. }
  174. export_ids = export_ids.toString();
  175. layer.confirm('确定要删除选择的订单导出记录吗。', {
  176. btn: ['确定', '取消']
  177. }, function() {
  178. if (flag_delete) return;
  179. flag_delete = true;
  180. $.ajax({
  181. type: "POST",
  182. async: true,
  183. url: ns.url("shop/orderrefund/deleteExport"),
  184. data: {
  185. export_ids: export_ids,
  186. },
  187. dataType: "JSON",
  188. success: function(data) {
  189. layer.msg(data.message);
  190. if (data.code == 0) {
  191. location.reload();
  192. }else{
  193. flag_delete = false;
  194. }
  195. }
  196. });
  197. }, function() {
  198. layer.close();
  199. });
  200. }
  201. </script>
  202. {/block}