cache.html 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117
  1. {extend name="base"/}
  2. {block name="resources"}
  3. <style>
  4. .cache-item {display: flex;justify-content: space-between;width: 800px;padding: 20px 0;margin-left: 20px; border-bottom: 1px solid#E6E6E6;}
  5. .cache-item .item-content .item-content-title {display: flex;align-items: center;font-size: 14px;}
  6. .cache-item .item-content .item-content-title input {margin-right: 10px;width: 16px;height: 16px;}
  7. .cache-item .item-content .item-content-desc {margin-left: 25px;font-size: 14px;margin-top: 5px; color: #888;}
  8. .cache-all-btn {width: 820px;display: flex;justify-content: space-between;margin-top: 45px;}
  9. .all-check{margin:10px 20px 20px;}
  10. </style>
  11. {/block}
  12. {block name="main"}
  13. <div class="layui-card card-common card-brief layui-form">
  14. <div class="layui-card-header">
  15. <span class="card-title">缓存管理</span>
  16. </div>
  17. <div>
  18. <div class="all-check" onclick="all_checked()">
  19. <input type="checkbox" name="all_checked" value="" lay-skin="primary" title="全选" class="all_checked"/>
  20. </div>
  21. {foreach $cache_list as $k => $val}
  22. <div class="cache-item">
  23. <div class="item-content">
  24. <div class="item-content-title" onclick="checked_item()">
  25. <input type="checkbox" name="cache_checked" title="{$val.name}" lay-filter="cache_checked" value="{$val.key}" lay-skin="primary">
  26. </div>
  27. <p class="item-content-desc over-hide-second">{$val.desc}</p>
  28. </div>
  29. <button type="button" class="layui-btn" onclick="clear_cache('{$val.key}')">{$val.btn}</button>
  30. </div>
  31. {/foreach}
  32. <div class="cache-all-btn">
  33. <div class="clear"></div>
  34. <div>
  35. <!--<button type="button" class="layui-btn text-color">取消</button>-->
  36. <button type="button" class="layui-btn" onclick="clear_cache('multi')">一键清理刷新</button>
  37. </div>
  38. </div>
  39. </div>
  40. </div>
  41. {/block}
  42. {block name="script"}
  43. <script>
  44. var laytpl, form, element,repeat_flag = false; //防重复标识
  45. layui.use(['form'], function() {
  46. form = layui.form;
  47. form.render();
  48. });
  49. function clear_cache(key) {
  50. if(key == 'multi') {
  51. var checked_arr = [];
  52. $("input[name='cache_checked']").each(function (val, index) {
  53. if($(this).siblings("div").hasClass('layui-form-checked')){
  54. checked_arr.push($(this).val());
  55. }
  56. });
  57. if (checked_arr.length == 0){
  58. layer.msg('请勾选需要刷新的数据');
  59. return;
  60. }
  61. checked_arr.push('all');
  62. key = checked_arr.toString();
  63. }
  64. if (repeat_flag) return;
  65. repeat_flag = true;
  66. var index = layer.load(2);
  67. $.ajax({
  68. url: ns.url("shop/system/cache"),
  69. data: {
  70. key
  71. },
  72. type: "POST",
  73. dataType: "JSON",
  74. success: function(res) {
  75. layer.msg(res.message);
  76. repeat_flag = false;
  77. layer.close(index);
  78. }
  79. });
  80. }
  81. function checked_item(){
  82. var num = 0;
  83. $('input[name=cache_checked]').each(function(){
  84. if($(this).siblings("div").hasClass('layui-form-checked')){
  85. num++;
  86. }
  87. });
  88. if(num<$('input[name=cache_checked]').length){
  89. $('input[name=all_checked]').siblings("div").removeClass('layui-form-checked')
  90. }else{
  91. $('input[name=all_checked]').siblings("div").addClass('layui-form-checked')
  92. }
  93. }
  94. function all_checked(){
  95. var num = 0;
  96. $('input[name=cache_checked]').each(function(){
  97. if($(this).siblings("div").hasClass('layui-form-checked')){
  98. num++;
  99. }
  100. });
  101. if(num<$('input[name=cache_checked]').length){
  102. $('input[name=all_checked]').siblings("div").addClass('layui-form-checked');
  103. $('input[name=cache_checked]').each(function(){
  104. $(this).siblings("div").addClass('layui-form-checked')
  105. });
  106. }else{
  107. $('input[name=all_checked]').siblings("div").removeClass('layui-form-checked');
  108. $('input[name=cache_checked]').each(function(){
  109. $(this).siblings("div").removeClass('layui-form-checked')
  110. });
  111. }
  112. }
  113. </script>
  114. {/block}