cplist.blade.php 9.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262
  1. @extends('cp.web.layouts.admin')
  2. @section('content')
  3. <div class="row">
  4. <div class="col-lg-12">
  5. <h1 class="page-header">cp列表</h1>
  6. </div>
  7. <!-- /.col-lg-12 -->
  8. </div>
  9. <div class="panel">
  10. @if (session('message'))
  11. <div class="alert alert-success" role="alert">{{session('message')}}</div>
  12. @endif
  13. @if(($errors->has('message')))
  14. <div class="alert alert-danger" role="alert">{{$errors->first('message')}}</div>
  15. @endif
  16. <form action='{{url("manage/cplist")}}' method="get">
  17. <div class="form-group">
  18. <label>cp</label>
  19. <input class="form-control" name="cp" value="{{ @$param['cp'] }}">
  20. </div>
  21. <button type="submit" class="btn btn-success">查询</button>
  22. <a type="button" class="btn btn-success createCp" data-title="添加cp">添加cp</a>
  23. </form>
  24. </div>
  25. <div class="panel panel-default">
  26. <div class="panel-heading">
  27. 列表
  28. </div>
  29. <!-- /.panel-heading -->
  30. <div class="panel-body">
  31. <div class="dataTable_wrapper">
  32. <table class="table table-striped table-bordered table-hover" id="dataTables-example" style="text-align: center">
  33. <tr>
  34. <th>id</th>
  35. <th>cp</th>
  36. <th>创建时间</th>
  37. <th>操作</th>
  38. </tr>
  39. @foreach ($data as $record)
  40. <tr >
  41. <td>{{ $record->id }}</td>
  42. <td>{{ $record->username }}</td>
  43. <td>{{ $record->created_at }}</td>
  44. <td>{{ $record->created_at }}</td>
  45. </tr>
  46. @endforeach
  47. </table>
  48. </div>
  49. <div class="paging">
  50. 总计:{{ $data->total() }}
  51. {{ $data->links() }}
  52. </div>
  53. </div>
  54. </div>
  55. <div class="modal fade " id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" >
  56. <div class="modal-dialog" role="document">
  57. <div class="modal-content">
  58. <div class="modal-header">
  59. <button type="button" class="close js-modal-close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
  60. <h4 class="modal-title" id="myModalLabel">文章内容</h4>
  61. </div>
  62. <div class="modal-body">
  63. <form class="form js-ajax-from">
  64. </form>
  65. </div>
  66. <div class="modal-footer">
  67. </div>
  68. </div>
  69. </div>
  70. </div>
  71. @endsection
  72. @push('script')
  73. <script >
  74. $(function () {
  75. adduhtml = '<div class="form-group addu"><label for="username">cp名</label><input type="text" class="form-control" id="username" name="username" placeholder="cp名"> <span class="alert alert-danger js-error-msg" style="display: none"></span></div>';
  76. new AlertWindow({
  77. "startEle":".createCp",
  78. "startAjax":false,
  79. "closeEle":".js-modal-close",
  80. "saveEle":".js-ajax-add",
  81. "endAjax":{
  82. "requiredata":["username"],
  83. "url":"/manage/createCp",
  84. "type":"post"
  85. },
  86. "formHtml":adduhtml,
  87. "saveHtml":'<button type="button" class="btn btn-default js-modal-close" data-dismiss="modal">关闭</button><button type="button" class="btn btn-primary js-ajax-add">提交</button>',
  88. });
  89. });
  90. function AlertWindow(obj) {
  91. $.ajaxSetup({
  92. headers: {
  93. 'X-CSRF-TOKEN': $('meta[name="_token"]').attr('content')
  94. }
  95. });
  96. this.startEle = obj.startEle || '.js-alert-start';
  97. this.startAjax = obj.startAjax || false;
  98. this.endAjax = obj.endAjax || false;
  99. this.closeEle = obj.closeEle || ".js-modal-close";
  100. this.saveEle = obj.saveEle || ".js-modal-save";
  101. this.errorEle = obj.errorEle || ".js-error-msg";
  102. this.oStartEle = $(this.startEle);
  103. this.formHtml = obj.formHtml;
  104. this.saveHtml =obj.saveHtml;
  105. this.__init__();
  106. }
  107. AlertWindow.prototype.__init__ = function () {
  108. fromOldHtml = '';
  109. //打开
  110. var that = this;
  111. var editid = '';
  112. if(that.startAjax){
  113. that.oStartEle.on('click',function (e) {
  114. e.preventDefault();
  115. var data = {};
  116. if(that.startAjax.data){
  117. data[that.startAjax.data.key] = $(this).data(that.startAjax.data.key);
  118. }
  119. $.ajax({
  120. url:that.startAjax.url,
  121. type:that.startAjax.type || 'get',
  122. data:data,
  123. dataType:'json',
  124. success:function (res) {
  125. if(res.code == 1){
  126. //$(that.startAjax.target).html(res.data)
  127. that.formHtml = res.data;
  128. var title = $(this).data('title') || '编辑';
  129. editid = $(this).data('id');
  130. that.show(title);
  131. }
  132. },
  133. });
  134. })
  135. }else{
  136. that.oStartEle.on('click',function (e) {
  137. e.preventDefault();
  138. var title = $(this).data('title') || '编辑';
  139. editid = $(this).data('id');
  140. that.show(title);
  141. })
  142. }
  143. //提交
  144. console.log(that.saveEle);
  145. $("#myModal .modal-footer").on('click',that.saveEle,function () {
  146. var data = $('.js-ajax-from').serializeArray();
  147. var res = that.formcheck(data,that.endAjax.requiredata) ;
  148. if(!( res === true )){
  149. $('.'+res).addClass('has-error');
  150. $(that.errorEle).html("不能为空").css({"display":"inline"});
  151. return false;
  152. }
  153. //console.log(that.endAjax);
  154. //console.log(data);
  155. var newdata = {};
  156. for(var k in data){
  157. newdata[data[k]['name']] = data[k]['value'];
  158. }
  159. console.log(editid);
  160. if(editid){
  161. newdata['id'] = editid;
  162. }
  163. console.log(newdata);
  164. //return ;
  165. $.ajax({
  166. url:that.endAjax.url,
  167. type:"post",
  168. data:newdata,
  169. dataType:'json',
  170. success:function (response) {
  171. //console.log(response)
  172. if(response.code){
  173. that.hide();
  174. setTimeout(function () {
  175. var html = '<div class="alert alert-success" role="alert">'+response.msg+'</div>';
  176. $('.js-prepend').prepend(html);
  177. setTimeout(function () {
  178. window.location.reload();
  179. },300)
  180. },10)
  181. }else {
  182. $('.'+res).addClass('has-error');
  183. $(that.errorEle).html(response.msg).css({"display":"inline"});
  184. return false;
  185. }
  186. },
  187. fail:function () {
  188. $(that.errorEle).html("error").css({"display":"inline"});
  189. return false;
  190. }
  191. })
  192. });
  193. //关闭
  194. $(that.closeEle).on('click',function () {
  195. that.hide(that.saveClass);
  196. /*setTimeout(function () {
  197. window.location.reload();
  198. },100)*/
  199. })
  200. };
  201. AlertWindow.prototype.show = function (title) {
  202. $("#myModal .modal-footer").html(this.saveHtml);
  203. $('#myModal .js-ajax-from').html(this.formHtml);
  204. $('body').addClass('modal-open');
  205. $('#myModal').addClass('in').css({"display":"block"});
  206. if(title){
  207. $('#myModalLabel').html(title);
  208. }
  209. //$(".form_datetime").datetimepicker({format: 'yyyy-mm-dd hh:ii'});
  210. };
  211. AlertWindow.prototype.hide = function () {
  212. $("#myModal .modal-footer").html("");
  213. $('body').removeClass('modal-open');
  214. $('#myModal').removeClass('in').css({"display":"none"});
  215. };
  216. AlertWindow.prototype.ajax = function (obj) {
  217. //console.log(obj)
  218. $.ajax({
  219. obj
  220. });
  221. };
  222. AlertWindow.prototype.formcheck = function (form,require) {
  223. //console.log(require);
  224. if(!require.length)
  225. return true;
  226. for(var i = 0;i<require.length;i++){
  227. if( form[i].name == require[i] && form[i].value == '')
  228. return require[i];
  229. }
  230. return true;
  231. }
  232. </script>
  233. @endpush