replyTicket.blade.php 9.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184
  1. @extends('user.layouts')
  2. @section('css')
  3. <link href="/assets/global/plugins/datatables/datatables.min.css" rel="stylesheet" type="text/css" />
  4. <link href="/assets/global/plugins/datatables/plugins/bootstrap/datatables.bootstrap.css" rel="stylesheet" type="text/css" />
  5. @endsection
  6. @section('title', '控制面板')
  7. @section('content')
  8. <!-- BEGIN CONTENT BODY -->
  9. <div class="page-content">
  10. <!-- BEGIN PAGE BREADCRUMB -->
  11. <ul class="page-breadcrumb breadcrumb">
  12. <li>
  13. <a href="{{url('user/ticketList')}}">我的工单</a>
  14. <i class="fa fa-circle"></i>
  15. </li>
  16. </ul>
  17. <!-- END PAGE BREADCRUMB -->
  18. <!-- BEGIN PAGE BASE CONTENT -->
  19. <div class="row">
  20. <div class="col-md-12">
  21. <div class="portlet light portlet-fit bordered">
  22. <div class="portlet-title">
  23. <div class="caption">
  24. <i class="icon-question font-green"></i>
  25. <span class="caption-subject bold font-green uppercase"> {{$ticket->title}} </span>
  26. </div>
  27. <div class="actions">
  28. @if($ticket->status != 2)
  29. <div class="btn-group btn-group-devided" data-toggle="buttons">
  30. <a class="btn red btn-outline sbold" data-toggle="modal" href="#closeTicket"> 关闭 </a>
  31. </div>
  32. @endif
  33. </div>
  34. </div>
  35. <div class="portlet-body">
  36. <div class="timeline">
  37. <div class="timeline-item">
  38. <div class="timeline-badge">
  39. <div class="timeline-icon">
  40. <i class="icon-user font-green-haze"></i>
  41. </div>
  42. </div>
  43. <div class="timeline-body">
  44. <div class="timeline-body-arrow"></div>
  45. <div class="timeline-body-head">
  46. <div class="timeline-body-head-caption">
  47. <span class="timeline-body-alerttitle font-blue-madison">我</span>
  48. <span class="timeline-body-time font-grey-cascade"> {{$ticket->created_at}} </span>
  49. </div>
  50. <div class="timeline-body-head-actions"></div>
  51. </div>
  52. <div class="timeline-body-content">
  53. <span class="font-grey-cascade"> {!! $ticket->content !!} </span>
  54. </div>
  55. </div>
  56. </div>
  57. @if (!$replyList->isEmpty())
  58. @foreach ($replyList as $reply)
  59. <div class="timeline-item">
  60. <div class="timeline-badge">
  61. @if ($reply->user->is_admin)
  62. <img class="timeline-badge-userpic" src="/assets/images/avatar.jpg">
  63. @else
  64. <div class="timeline-icon">
  65. <i class="icon-user font-green-haze"></i>
  66. </div>
  67. @endif
  68. </div>
  69. <div class="timeline-body">
  70. <div class="timeline-body-arrow"></div>
  71. <div class="timeline-body-head">
  72. <div class="timeline-body-head-caption">
  73. @if($reply->user->is_admin)
  74. <a href="javascript:;" class="timeline-body-title font-red-intense">管理员</a>
  75. @else
  76. <span class="timeline-body-alerttitle font-blue-madison">我</span>
  77. @endif
  78. <span class="timeline-body-time font-grey-cascade"> {{$reply->created_at}} </span>
  79. </div>
  80. <div class="timeline-body-head-actions"></div>
  81. </div>
  82. <div class="timeline-body-content">
  83. <span class="font-grey-cascade"> {!! $reply->content !!} </span>
  84. </div>
  85. </div>
  86. </div>
  87. @endforeach
  88. @endif
  89. </div>
  90. @if($ticket->status != 2)
  91. <hr />
  92. <div class="row">
  93. <div class="col-md-12">
  94. <script id="editor" type="text/plain" style="padding-bottom:10px;"></script>
  95. <button class="btn blue" type="button" onclick="replyTicket()"> 回 复 </button>
  96. </div>
  97. </div>
  98. @endif
  99. </div>
  100. </div>
  101. <!-- 关闭工单弹窗 -->
  102. <div class="modal fade" id="closeTicket" tabindex="-1" role="basic" aria-hidden="true">
  103. <div class="modal-dialog">
  104. <div class="modal-content">
  105. <div class="modal-header">
  106. <button type="button" class="close" data-dismiss="modal" aria-hidden="true"></button>
  107. <h4 class="modal-title">关闭工单</h4>
  108. </div>
  109. <div class="modal-body"> 您确定要关闭该工单吗? </div>
  110. <div class="modal-footer">
  111. <button type="button" class="btn dark btn-outline" data-dismiss="modal">取消</button>
  112. <button type="button" class="btn red" onclick="closeTicket()">确定</button>
  113. </div>
  114. </div>
  115. <!-- /.modal-content -->
  116. </div>
  117. <!-- /.modal-dialog -->
  118. </div>
  119. </div>
  120. </div>
  121. <!-- END PAGE BASE CONTENT -->
  122. </div>
  123. <!-- END CONTENT BODY -->
  124. @endsection
  125. @section('script')
  126. <script src="/assets/global/plugins/bootbox/bootbox.min.js" type="text/javascript"></script>
  127. <script src="/js/ueditor/ueditor.config.js" type="text/javascript" charset="utf-8"></script>
  128. <script src="/js/ueditor/ueditor.all.js" type="text/javascript" charset="utf-8"></script>
  129. <script type="text/javascript">
  130. @if($ticket->status != 2)
  131. // 百度富文本编辑器
  132. var ue = UE.getEditor('editor', {
  133. toolbars:[['source','undo','redo','bold','italic','underline','insertimage','insertvideo','lineheight','fontfamily','fontsize','justifyleft','justifycenter','justifyright','justifyjustify','forecolor','backcolor','link','unlink']],
  134. wordCount:true, //关闭字数统计
  135. elementPathEnabled : false, //是否启用元素路径
  136. maximumWords:300, //允许的最大字符数
  137. initialContent:'', //初始化编辑器的内容
  138. initialFrameWidth:null, //初始化宽度
  139. autoClearinitialContent:false, //是否自动清除编辑器初始内容
  140. });
  141. @endif
  142. // 关闭工单
  143. function closeTicket() {
  144. $.ajax({
  145. type: "POST",
  146. url: "{{url('user/closeTicket')}}",
  147. async: true,
  148. data: {_token:'{{csrf_token()}}', id:'{{$ticket->id}}'},
  149. dataType: 'json',
  150. success: function (ret) {
  151. if (ret.status == 'success') {
  152. window.location.href = '{{url('user/ticketList')}}';
  153. } else {
  154. bootbox.alert(ret.message);
  155. }
  156. }
  157. });
  158. }
  159. // 回复工单
  160. function replyTicket() {
  161. var content = UE.getEditor('editor').getContent();
  162. $.ajax({
  163. type: "POST",
  164. url: "{{url('user/replyTicket')}}",
  165. async: true,
  166. data: {_token:'{{csrf_token()}}', id:'{{$ticket->id}}', content:content},
  167. dataType: 'json',
  168. success: function (ret) {
  169. if (ret.status == 'success') {
  170. window.location.reload();
  171. } else {
  172. bootbox.alert(ret.message);
  173. }
  174. }
  175. });
  176. }
  177. </script>
  178. @endsection