pushList.blade.php 6.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172
  1. @extends('admin.layouts')
  2. @section('css')
  3. <link href="/assets/global/vendor/bootstrap-table/bootstrap-table.min.css" type="text/css" rel="stylesheet">
  4. <link href="/assets/global/vendor/bootstrap-markdown/bootstrap-markdown.min.css" type="text/css" rel="stylesheet">
  5. <link href="/assets/global/fonts/font-awesome/font-awesome.min.css" type="text/css" rel="stylesheet">
  6. @endsection
  7. @section('content')
  8. <div class="page-content container-fluid">
  9. <div class="panel">
  10. <div class="panel-heading">
  11. <h3 class="panel-title">推送消息列表</h3>
  12. <div class="panel-actions">
  13. <button class="btn btn-primary" data-toggle="modal" data-target="#send_modal"><i class="icon wb-plus"></i>推送消息</button>
  14. </div>
  15. </div>
  16. <div class="panel-body">
  17. <div class="form-row">
  18. <div class="form-group col-lg-3 col-sm-6">
  19. <select class="form-control" name="status" id="status" onChange="Search()">
  20. <option value="" @if(Request::get('status') == '') selected hidden @endif>状态</option>
  21. <option value="0" @if(Request::get('status') == '0') selected hidden @endif>待发送</option>
  22. <option value="-1" @if(Request::get('status') == '-1') selected hidden @endif>失败</option>
  23. <option value="1" @if(Request::get('status') == '1') selected hidden @endif>成功</option>
  24. </select>
  25. </div>
  26. <div class="form-group col-lg-2 col-sm-6 btn-group">
  27. <button class="btn btn-primary" onclick="Search()">搜索</button>
  28. <a href="/marketing/pushList" class="btn btn-danger">重置</a>
  29. </div>
  30. </div>
  31. <div class="alert alert-info alert-dismissible" role="alert">
  32. <button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">×</span></button>
  33. 仅会推送给关注了您的消息通道的用户 <a href="/admin/system" class="alert-link" target="_blank">设置PushBear</a>.
  34. </div>
  35. <table class="text-md-center" data-toggle="table" data-mobile-responsive="true">
  36. <thead class="thead-default">
  37. <tr>
  38. <th> #</th>
  39. <th> 消息标题</th>
  40. <th> 消息内容</th>
  41. <th> 推送状态</th>
  42. <th> 推送时间</th>
  43. <th> 错误信息</th>
  44. </tr>
  45. </thead>
  46. <tbody>
  47. @if ($list->isEmpty())
  48. <tr>
  49. <td colspan="6">暂无数据</td>
  50. </tr>
  51. @else
  52. @foreach($list as $vo)
  53. <tr>
  54. <td> {{$vo->id}} </td>
  55. <td> {{$vo->title}} </td>
  56. <td> {{$vo->content}} </td>
  57. <td> {{$vo->status_label}} </td>
  58. <td> {{$vo->created_at}} </td>
  59. <td> {{$vo->error}} </td>
  60. </tr>
  61. @endforeach
  62. @endif
  63. </tbody>
  64. </table>
  65. </div>
  66. <div class="panel-footer">
  67. <div class="row">
  68. <div class="col-sm-4">
  69. 共 <code>{{$list->total()}}</code> 条推送消息
  70. </div>
  71. <div class="col-sm-8">
  72. <nav class="Page navigation float-right">
  73. {{$list->links()}}
  74. </nav>
  75. </div>
  76. </div>
  77. </div>
  78. </div>
  79. </div>
  80. <!-- 推送消息 -->
  81. <div id="send_modal" class="modal fade" tabindex="-1" data-focus-on="input:first" data-backdrop="static" data-keyboard="false">
  82. <div class="modal-dialog modal-lg modal-center">
  83. <div class="modal-content">
  84. <div class="modal-header">
  85. <button type="button" class="close" data-dismiss="modal" aria-label="Close">
  86. <span aria-hidden="true">×</span>
  87. </button>
  88. <h4 class="modal-title">推送消息</h4>
  89. </div>
  90. <div class="modal-body">
  91. <div class="alert alert-danger" style="display: none;" id="msg"></div>
  92. <form action="#" method="post" class="form-horizontal">
  93. <div class="form-body">
  94. <div class="form-group">
  95. <div class="row">
  96. <label for="title" class="col-md-2 control-label"> 标题 </label>
  97. <div class="col-md-6">
  98. <input type="text" class="form-control" name="title" id="title" placeholder="">
  99. </div>
  100. </div>
  101. </div>
  102. <div class="form-group">
  103. <div class="row">
  104. <label for="content" class="col-md-2 control-label"> 内容 </label>
  105. <div class="col-md-9">
  106. <textarea class="form-control" rows="10" name="content" id="content" data-provide="markdown" data-iconlibrary="fa"></textarea>
  107. </div>
  108. </div>
  109. </div>
  110. </div>
  111. </form>
  112. </div>
  113. <div class="modal-footer">
  114. <button class="btn btn-danger" data-dismiss="modal">取消</button>
  115. <button class="btn btn-primary" onclick="return send();">推送</button>
  116. </div>
  117. </div>
  118. </div>
  119. </div>
  120. @endsection
  121. @section('script')
  122. <script src="/assets/global/vendor/bootstrap-table/bootstrap-table.min.js" type="text/javascript"></script>
  123. <script src="/assets/global/vendor/bootstrap-table/extensions/mobile/bootstrap-table-mobile.min.js" type="text/javascript"></script>
  124. <script src="/assets/global/vendor/bootstrap-markdown/bootstrap-markdown.js" type="text/javascript"></script>
  125. <script src="/assets/global/vendor/marked/marked.js" type="text/javascript"></script>
  126. <script src="/assets/global/vendor/to-markdown/to-markdown.js" type="text/javascript"></script>
  127. <script type="text/javascript">
  128. // 发送通道消息
  129. function send() {
  130. const title = $("#title").val();
  131. if (title.trim() === '') {
  132. $("#msg").show().html("标题不能为空");
  133. $("#title").focus();
  134. return false;
  135. }
  136. $.ajax({
  137. url: '/marketing/addPushMarketing',
  138. type: "POST",
  139. data: {_token: '{{csrf_token()}}', title: title, content: $("#content").val()},
  140. beforeSend: function () {
  141. $("#msg").show().html("正在添加...");
  142. },
  143. success: function (ret) {
  144. if (ret.status === 'fail') {
  145. $("#msg").show().html(ret.message);
  146. return false;
  147. }
  148. $("#send_modal").modal("hide");
  149. },
  150. error: function () {
  151. $("#msg").show().html("请求错误,请重试");
  152. },
  153. complete: function () {
  154. }
  155. });
  156. }
  157. // 关闭modal触发
  158. $('#send_modal').on('hide.bs.modal', function () {
  159. window.location.reload();
  160. });
  161. function Search() {
  162. window.location.href = "/marketing/pushList?status=" + $("#status").val();
  163. }
  164. </script>
  165. @endsection