create.blade.php 7.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152
  1. @extends('theme::layout.public')
  2. @section('seo_title')发起提问 - {{ Setting()->get('website_name') }} @endsection
  3. @section('css')
  4. <link href="{{ asset('/static/js/summernote/summernote.css')}}" rel="stylesheet">
  5. <link href="{{ asset('/static/js/select2/css/select2.min.css')}}" rel="stylesheet">
  6. <link href="{{ asset('/static/js/select2/css/select2-bootstrap.min.css')}}" rel="stylesheet">
  7. @endsection
  8. @section('content')
  9. <div class="row mt-10">
  10. <ol class="breadcrumb">
  11. <li><a href="{{ route('website.ask') }}">问答</a></li>
  12. <li class="active">发起提问</li>
  13. </ol>
  14. <div class="col-md-12 widget-form main">
  15. <form id="questionForm" method="POST" role="form" action="{{ route('ask.question.store') }}">
  16. <input type="hidden" id="editor_token" name="_token" value="{{ csrf_token() }}" />
  17. <input type="hidden" id="tags" name="tags" value="" />
  18. <input type="hidden" name="to_user_id" value="{{ $to_user_id }}" />
  19. <div class="form-group @if($errors->has('title')) has-error @endif">
  20. <label for="title">@if($toUser) 正在向 <a href="{{ route('auth.space.index',['id'=>$toUser->id]) }}">{{ $toUser->name }}</a> 提问 @else 请将您的问题告诉我们 @endif :</label>
  21. <input id="title" type="text" name="title" class="form-control input-lg" placeholder="请在这里概述您的问题" value="{{ old('title',$formData['subject']) }}" />
  22. @if($errors->has('title')) <p class="help-block">{{ $errors->first('title') }}</p> @endif
  23. </div>
  24. <div id="titleSuggest" class="panel hide widget-suggest panel-default">
  25. <div class="panel-body">
  26. <p>
  27. <strong>这些问题可能有你需要的答案</strong>
  28. <button type="button" class="widget-suggest-close btn btn-default btn-xs ml-10">关闭提示</button>
  29. </p>
  30. <ul id="suggest-list" class="list-unstyled widget-suggest-list"></ul>
  31. </div>
  32. </div>
  33. <div class="form-group @if($errors->has('description')) has-error @endif">
  34. <label for="question_editor">问题描述(选填)</label>
  35. <div id="question_editor">{!! old('description',$formData['content']) !!}</div>
  36. @if($errors->has('description')) <p class="help-block">{{ $errors->first('description') }}</p> @endif
  37. </div>
  38. <div class="row">
  39. <div class="col-md-5">
  40. <div class="form-group">
  41. <select name="category_id" id="category_id" class="form-control">
  42. <option value="0">请选择分类</option>
  43. @include('admin.category.option',['type'=>'questions','select_id'=>old('category_id',$formData['category_id'])])
  44. </select>
  45. </div>
  46. </div>
  47. <div class="col-md-7">
  48. <div class="form-group">
  49. <select id="select_tags" name="select_tags" class="form-control" multiple="multiple" >
  50. @foreach(array_filter(explode(",",old('select_tags',''))) as $tag)
  51. <option selected="selected">{{ $tag }}</option>
  52. @endforeach
  53. </select>
  54. </div>
  55. </div>
  56. </div>
  57. <div class="row mt-20">
  58. <div class="col-xs-12 col-md-10">
  59. <ul class="list-inline">
  60. @if( Setting()->get('code_create_question') )
  61. <li class="pull-right">
  62. @include('theme::layout.auth_captcha')
  63. </li>
  64. @endif
  65. <li>
  66. <select name="price">
  67. @foreach(trans_question_price() as $price)
  68. <option value="{{ $price }}">{{ $price }}</option>
  69. @endforeach
  70. </select>&nbsp;金币
  71. </li>
  72. <li><input type="checkbox" name="hide" value="1" />&nbsp;匿名</li>
  73. </ul>
  74. </div>
  75. <div class="col-xs-12 col-md-2">
  76. <input type="hidden" id="question_editor_content" name="description" value="{{ old('description',$formData['content']) }}" />
  77. <span class="text-muted" id="draftStatus"></span>
  78. <button type="submit" class="btn btn-primary pull-right" >发布问题</button>
  79. </div>
  80. </div>
  81. </form>
  82. </div>
  83. </div>
  84. @endsection
  85. @section('script')
  86. <script src="{{ asset('/static/js/summernote/summernote.min.js') }}"></script>
  87. <script src="{{ asset('/static/js/summernote/lang/summernote-zh-CN.min.js') }}"></script>
  88. <script type="text/javascript" src="{{ asset('/static/js/tipask/summernote-ext-attach.js') }}"></script>
  89. <script src="{{ asset('/static/js/select2/js/select2.min.js')}}"></script>
  90. <script type="text/javascript">
  91. var suggest_timer = null;
  92. $(document).ready(function() {
  93. $('#question_editor').summernote({
  94. lang: 'zh-CN',
  95. height: 180,
  96. placeholder:'您可以在这里继续补充问题细节',
  97. toolbar: [ {!! config('tipask.summernote.ask') !!} ],
  98. callbacks: {
  99. onChange:function (contents, $editable) {
  100. var code = $(this).summernote("code");
  101. $("#question_editor_content").val(code);
  102. $("#draftStatus").html('保存中...');
  103. $.post("{{ route('auth.draft.create',['type'=>'question']) }}",$("#questionForm").serialize(),function(msg){
  104. $("#draftStatus").html('已保存草稿');
  105. });
  106. },
  107. onImageUpload: function(files) {
  108. upload_editor_image(files[0],'question_editor');
  109. }
  110. }
  111. });
  112. /*suggest处理*/
  113. $("#title").keydown(function(){
  114. if(suggest_timer){
  115. clearTimeout(suggest_timer);
  116. }
  117. suggest_timer = setTimeout(function() {
  118. var title = $("#title").val();
  119. if( title.length > 1 ){
  120. $.ajax({
  121. url: '/question/suggest',
  122. type:'post',
  123. data:'word='+title,
  124. cache: false,
  125. success: function(html){
  126. if(html == ''){
  127. $("#suggest-list").html('<li>没有找到相似问题!</li>');
  128. return;
  129. }
  130. $(".widget-suggest").removeClass("hide");
  131. $("#suggest-list").html(html);
  132. }
  133. });
  134. }
  135. }, 500);
  136. });
  137. $(".widget-suggest-close").click(function(){
  138. $(".widget-suggest").addClass("hide");
  139. });
  140. });
  141. </script>
  142. @endsection