ajax_ticket.blade.php 17 KB

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