ajax_ticket.blade.php 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267
  1. <form id="J_ticketWrap" enctype="multipart/form-data" class="form-horizontal" action="{{ route('recruit.create_ticket') }}" method="post">
  2. <input type="hidden" name="_token" value="{{ csrf_token() }}" />
  3. <input type="hidden" name="recruit_id" value="{{ $recruit->id }}">
  4. <div class="box-body">
  5. <div class="nav-tabs-custom">
  6. <ul class="nav nav-tabs">
  7. @if(in_array('3',explode(',',$recruit->step)))
  8. <li>
  9. <a href="#tab-form-1" data-toggle="tab">
  10. 笔试 <i class="fa fa-exclamation-circle text-red hide"></i>
  11. </a>
  12. </li>
  13. @endif
  14. @if(in_array('4',explode(',',$recruit->step)))
  15. <li>
  16. <a href="#tab-form-2" data-toggle="tab">
  17. 上机 <i class="fa fa-exclamation-circle text-red hide"></i>
  18. </a>
  19. </li>
  20. @endif
  21. @if(in_array('5',explode(',',$recruit->step)))
  22. <li>
  23. <a href="#tab-form-3" data-toggle="tab">
  24. 面试 <i class="fa fa-exclamation-circle text-red hide"></i>
  25. </a>
  26. </li>
  27. @endif
  28. </ul>
  29. <div class="tab-content fields-group">
  30. @if(in_array('3',explode(',',$recruit->step)))
  31. <div class="tab-pane" id="tab-form-1" style="width: 1000px">
  32. @if($recruit->pen_ticket_type < 0)
  33. <div class="notice">
  34. 您已设置不需要准考证,请返回招考编辑页更改设置。
  35. </div>
  36. @else
  37. @if(empty($recruit->pen_ticket_content))
  38. <div class="notice">
  39. 您未设置笔试准考证模板,请联系技术人员上传。
  40. </div>
  41. @else
  42. @if($recruit->pen_ticket_status > 0)
  43. <div class="notice">
  44. 笔试准考证正在生成中或已生成,暂不允许操作,有疑问请联系技术人员。
  45. </div>
  46. @else
  47. <div class="tips">
  48. <p>
  49. 1.生成准考证前您可以下载已经上传的模板,确认是否有误!
  50. </p>
  51. <p>
  52. 2.生成准考证的模板变量包括:({{ $recruit->pen_ticket_field }}),非ex开头的将自动抓取报名表里面的数据。
  53. </p>
  54. <p>
  55. 3.最终生成的准考证为pdf格式。
  56. </p>
  57. <p>
  58. 4.该生成操作目前不可逆,请谨慎操作。
  59. </p>
  60. <p>
  61. 5.自动生成准考证仅能从准考证号、考室号、座位号三个进行生成,其余字段请确保模板中已存在。
  62. </p>
  63. <p>
  64. 6.<a href="{{ route('recruit.ticket_data_template',['recruit_id' => $recruit->id,'type' => 'pen']) }}" target="_blank">点我下载</a>准考证导入信息模板。
  65. </p>
  66. <p>
  67. 7.每间考场人数的设置仅在选择自动生成模式时有效。
  68. </p>
  69. </div>
  70. <div class="form-group">
  71. <label for="type" class="col-sm-2 astrisk control-label">准考证生成方式:</label>
  72. <div class="col-sm-8">
  73. <label class="radio-inline">
  74. <input type="radio" name="pen[type]" value="0" data-ref="pen" class="minimal type" style="position: absolute; opacity: 0;">&nbsp;不需要数据&nbsp;&nbsp;
  75. </label>
  76. <label class="radio-inline">
  77. <input type="radio" name="pen[type]" value="1" data-ref="pen" class="minimal type" checked="" style="position: absolute; opacity: 0;">&nbsp;自动生成&nbsp;&nbsp;
  78. </label>
  79. <label class="radio-inline">
  80. <input type="radio" name="pen[type]" value="2" data-ref="pen" class="minimal type" style="position: absolute; opacity: 0;">&nbsp;模板上传&nbsp;&nbsp;
  81. </label>
  82. </div>
  83. </div>
  84. <div class="form-group ">
  85. <label for="apply_start" class="col-sm-2 astrisk control-label">打印时间段</label>
  86. <div class="col-sm-8">
  87. <div class="row" style="width: 470px">
  88. <div class="col-lg-6">
  89. <div class="input-group">
  90. <span class="input-group-addon"><i class="fa fa-calendar"></i></span>
  91. <input type="text" name="pen[ex_start]" value="" class="form-control ex_start" style="width: 200px"></div>
  92. </div>
  93. <div class="col-lg-6">
  94. <div class="input-group">
  95. <span class="input-group-addon"><i class="fa fa-calendar"></i></span>
  96. <input type="text" name="pen[ex_end]" value="" class="form-control ex_end" style="width: 200px"></div>
  97. </div>
  98. </div>
  99. </div>
  100. </div>
  101. <div id="pen_autoCreate">
  102. <div class="form-group">
  103. <label for="auto_each_number" class="col-sm-2 control-label">每间考场人数</label>
  104. <div class="col-sm-5">
  105. <div class="input-group">
  106. <span class="input-group-addon"><i class="fa fa-pencil fa-fw"></i></span>
  107. <input type="text" id="auto_each_number" name="pen[auto_each_number]" value="35" class="form-control auto_each_number" placeholder="输入每间考场人数">
  108. </div>
  109. </div>
  110. </div>
  111. </div>
  112. <div id="pen_fetchCreate" style="display: none">
  113. <div class="form-group ">
  114. <label for="test" class="col-sm-2 control-label">准考证数据</label>
  115. <div class="col-sm-8">
  116. <div class="file-input file-input-new">
  117. <input type="file" name="pen[data]" />
  118. </div>
  119. </div>
  120. </div>
  121. </div>
  122. @endif
  123. @endif
  124. @endif
  125. </div>
  126. @endif
  127. @if(in_array('4',explode(',',$recruit->step)))
  128. <div class="tab-pane" id="tab-form-2">
  129. {{-- todo--}}
  130. </div>
  131. @endif
  132. @if(in_array('5',explode(',',$recruit->step)))
  133. <div class="tab-pane" id="tab-form-3" style="width: 1000px">
  134. @if($recruit->face_ticket_type < 0)
  135. <div class="notice">
  136. 您已设置不需要准考证,请返回招考编辑页更改设置。
  137. </div>
  138. @else
  139. @if(empty($recruit->face_ticket_content))
  140. <div class="notice">
  141. 您未设置面试准考证模板,请联系技术人员上传。
  142. </div>
  143. @else
  144. @if($recruit->face_ticket_status > 0)
  145. <div class="notice">
  146. 面试准考证正在生成中或已生成,暂不允许操作,有疑问请联系技术人员。
  147. </div>
  148. @else
  149. <div class="tips">
  150. <p>
  151. 1.生成准考证前您可以下载已经上传的模板,确认是否有误!
  152. </p>
  153. <p>
  154. 2.生成准考证的模板变量包括:({{ $recruit->face_ticket_field }}),非ex开头的将自动抓取报名表里面的数据。
  155. </p>
  156. <p>
  157. 3.最终生成的准考证为pdf格式。
  158. </p>
  159. <p>
  160. 4.该生成操作目前不可逆,请谨慎操作。
  161. </p>
  162. <p>
  163. 5.自动生成准考证仅能从准考证号、考室号、座位号三个进行生成,其余字段请确保模板中已存在。
  164. </p>
  165. <p>
  166. 6.<a href="{{ route('recruit.ticket_data_template',['recruit_id' => $recruit->id,'type' => 'face']) }}" target="_blank">点我下载</a>准考证导入信息模板。
  167. </p>
  168. <p>
  169. 7.每间考场人数的设置仅在选择自动生成模式时有效。
  170. </p>
  171. </div>
  172. <div class="form-group">
  173. <label for="type" class="col-sm-2 astrisk control-label">准考证生成方式:</label>
  174. <div class="col-sm-8">
  175. <label class="radio-inline">
  176. <input type="radio" name="face[type]" value="0" data-ref="face" class="minimal type" checked="" style="position: absolute; opacity: 0;">&nbsp;不需要准考证&nbsp;&nbsp;
  177. </label>
  178. <label class="radio-inline">
  179. <input type="radio" name="face[type]" value="1" data-ref="face" class="minimal type" style="position: absolute; opacity: 0;">&nbsp;自动生成&nbsp;&nbsp;
  180. </label>
  181. <label class="radio-inline">
  182. <input type="radio" name="face[type]" value="2" data-ref="face" class="minimal type" style="position: absolute; opacity: 0;">&nbsp;模板上传&nbsp;&nbsp;
  183. </label>
  184. </div>
  185. </div>
  186. <div id="face_autoCreate" style="display: none">
  187. <div class="form-group">
  188. <label for="auto_each_number" class="col-sm-2 control-label">每间考场人数</label>
  189. <div class="col-sm-5">
  190. <div class="input-group">
  191. <span class="input-group-addon"><i class="fa fa-pencil fa-fw"></i></span>
  192. <input type="text" id="auto_each_number" name="face[auto_each_number]" value="35" class="form-control auto_each_number" placeholder="输入每间考场人数">
  193. </div>
  194. </div>
  195. </div>
  196. </div>
  197. <div id="face_fetchCreate" style="display: none">
  198. <div class="form-group ">
  199. <label for="test" class="col-sm-2 control-label">准考证数据</label>
  200. <div class="col-sm-8">
  201. <div class="file-input file-input-new">
  202. <input type="file" name="face[data]" />
  203. </div>
  204. </div>
  205. </div>
  206. </div>
  207. @endif
  208. @endif
  209. @endif
  210. </div>
  211. @endif
  212. </div>
  213. </div>
  214. </div>
  215. </form>
  216. <link rel="stylesheet" href="/vendor/laravel-admin/AdminLTE/plugins/iCheck/all.css">
  217. <link rel="stylesheet" href="/vendor/laravel-admin/bootstrap-fileinput/css/fileinput.min.css">
  218. <script src="/vendor/laravel-admin/AdminLTE/plugins/iCheck/icheck.min.js"></script>
  219. <script src="/vendor/laravel-admin/bootstrap-fileinput/js/plugins/canvas-to-blob.min.js"></script>
  220. <script src="/vendor/laravel-admin/bootstrap-fileinput/js/fileinput.min.js"></script>
  221. <style>
  222. p{
  223. text-indent: 20px;
  224. }
  225. .notice{
  226. text-align: center;
  227. line-height: 80px;
  228. color: #404446;
  229. font-size: 22px;
  230. }
  231. </style>
  232. <script>
  233. $(function(){
  234. $(".nav-tabs").find('li:first-child').addClass('active');
  235. $(".tab-content").find('div:first-child').addClass('active');
  236. $('.type').iCheck({radioClass:'iradio_minimal-blue'});
  237. $('.type').on('ifChecked',function(e){
  238. var type = $(this).data('ref');
  239. if($(this).val() == 1){
  240. $("#"+ type +"_autoCreate").css('display','block');
  241. $("#"+ type +"_fetchCreate").css('display','none');
  242. }else if($(this).val() == 2){
  243. $("#"+ type +"_autoCreate").css('display','none');
  244. $("#"+ type +"_fetchCreate").css('display','block');
  245. } else if($(this).val() == 0) {
  246. $("#"+ type +"_autoCreate").css('display','none');
  247. $("#"+ type +"_fetchCreate").css('display','none');
  248. }
  249. });
  250. $('.ex_start').datetimepicker({"format":"YYYY-MM-DD HH:mm:ss","locale":"zh-CN"});
  251. $('.ex_end').datetimepicker({"format":"YYYY-MM-DD HH:mm:ss","locale":"zh-CN","useCurrent":false});
  252. $(".ex_start").on("dp.change", function (e) {
  253. $('.ex_end').data("DateTimePicker").minDate(e.date);
  254. });
  255. $(".ex_end").on("dp.change", function (e) {
  256. $('.ex_start').data("DateTimePicker").maxDate(e.date);
  257. });
  258. });
  259. </script>