dialog.blade.php 3.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. <a class="btn btn-sm btn-primary " data-toggle="modal" data-target="#dialog-{{$uniqid}}" title="{{$button}}">
  2. <i class="fa fa-gratipay"></i>
  3. <span class="hidden-xs">{{$button}}</span>
  4. </a>
  5. <div class="modal fade" id="dialog-{{$uniqid}}" tabindex="-1" role="dialog" aria-labelledby="ModalLabel-{{$uniqid}}">
  6. <div class="modal-dialog" role="document">
  7. <div class="modal-content">
  8. <div class="modal-header">
  9. <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
  10. <h4 class="modal-title" id="myModalLabel">{{$title}}</h4>
  11. </div>
  12. <div class="modal-body">
  13. {!! $form !!}
  14. </div>
  15. <div class="modal-footer">
  16. <button type="button" class="btn btn-default" data-dismiss="modal"><span class="glyphicon glyphicon-remove" aria-hidden="true"></span>{{$dialog_cancel}}</button>
  17. @if($is_form===true)
  18. <button type="button" id="dialog-submit-{{$uniqid}}" class="btn btn-primary" data-loading-text="提交中..."><span class="glyphicon glyphicon-floppy-disk" aria-hidden="true"></span>{{$dialog_ok}}</button>
  19. @endif
  20. </div>
  21. </div>
  22. </div>
  23. </div>
  24. @if($is_form===true)
  25. <script>
  26. $(function () {
  27. $('#dialog-submit-{{$uniqid}}').on('click', function () {
  28. $(this).button('loading');
  29. submit_data={};
  30. form_data=$('#dialog-form-{{$uniqid}}').serializeArray();
  31. $.each(form_data,function () {
  32. submit_data[this.name]=this.value;
  33. });
  34. submit_data['_token']=LA.token;
  35. @if ($is_batch === true)
  36. var id = selectedRows().join();
  37. submit_data['ids']=id;
  38. @endif
  39. $('#dialog-{{$uniqid}}').modal('handleUpdate')
  40. $.ajax({
  41. method: 'post',
  42. url: $('#dialog-form-{{$uniqid}}').attr("action"),
  43. data: submit_data,
  44. complete:function() {
  45. $('#dialog-submit-{{$uniqid}}').button('reset');
  46. },
  47. success: function (data) {
  48. $('#dialog-{{$uniqid}}').modal('hide');
  49. setTimeout(function () {
  50. $.pjax.reload('#pjax-container');
  51. },500);
  52. },
  53. error: function (data) {
  54. if(data.status==422){
  55. //console.log(data);
  56. $.each(data.responseJSON.errors,function (key,val) {
  57. showPopover(key,val);
  58. });
  59. }
  60. }
  61. });
  62. });
  63. var selectedRows = function () {
  64. var selected = [];
  65. $('.grid-row-checkbox:checked').each(function(){
  66. selected.push($(this).data('id'));
  67. });
  68. return selected;
  69. }
  70. function showPopover(id,message) {
  71. $('#'+id).popover({
  72. content:message,
  73. trigger:'manual',
  74. placement:'top',
  75. delay:{ show: 500, hide: 500 }
  76. });
  77. $('#'+id).popover('show');
  78. $('#'+id).on('shown.bs.popover', function () {
  79. setTimeout(function () {
  80. $('#'+id).popover('hide');
  81. $('#'+id).popover('destroy');
  82. },1500)
  83. })
  84. }
  85. });
  86. </script>
  87. @endif