index.blade.php 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385
  1. @extends('mobile.module.layouts.ic')
  2. @push('meta')
  3. @endpush
  4. @push('css')
  5. <link href="{{ theme_asset('mobile/css/personal.css') }}" rel="stylesheet">
  6. <link href="{{ theme_asset('mobile/css/nprogress.css') }}" rel="stylesheet">
  7. <style>
  8. .form-item{width:100%;background-color:#FFFFFF;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;-khtml-user-select:none;user-select:none;}
  9. .form-item .pic{float:left;height:100%;border-bottom:1px #FFFFFF solid;width:.4rem;}
  10. .form-item .tit{float:left;height:100%;border-bottom:1px #F2F2F2 solid;width:2.44rem;font-weight:700}
  11. .form-item .describe{position:relative;float:left;height:100%;border-bottom:1px #F2F2F2 solid;width:3.9rem;text-align:right;color:#999999;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;}
  12. </style>
  13. @endpush
  14. @push('js')
  15. @endpush
  16. @section('content')
  17. {{-- 头部--}}
  18. <div class="headernavfixed">
  19. <div class="headernav font18">
  20. <div class="title">
  21. <div class="n-tit-box">
  22. 招聘会报名
  23. </div>
  24. <div class="return js-back for-event"></div>
  25. </div>
  26. </div>
  27. </div>
  28. <form action="" id="form">
  29. <input type="hidden" name="pid" value="{{$id}}">
  30. <div class="list_height plist-txt qs-relative">
  31. <div class="pic"></div>
  32. <div class="tit font14">照片<span class="font_red_light">*</span></div>
  33. <div class="describe font13">
  34. <div class="avatar">
  35. <img id="avatars" src="{{asset('themes/default/assets/mobile/images/no_photo_male.png')}}">
  36. </div>
  37. </div>
  38. <div class="arrow"></div>
  39. <div class="clear"></div>
  40. <input type="hidden" id="avatar" name="avatar" value="">
  41. <input type="file" id="browseFile" class="browseFile">
  42. </div>
  43. <div class="list_height plist-txt notarrow">
  44. <div class="pic"></div>
  45. <div class="tit font14">姓名<span class="font_red_light">*</span></div>
  46. <div class="describe font13">
  47. <input type="text" id="realname" name="realname" placeholder="请输入姓名" value="">
  48. </div>
  49. <div class="arrow"></div>
  50. <div class="clear"></div>
  51. </div>
  52. <div class="list_height plist-txt notarrow">
  53. <div class="pic"></div>
  54. <div class="tit font14">性别<span class="font_red_light">*</span></div>
  55. <div id="sex" class="describe font13">
  56. <div class="radio-group x2">
  57. <div class="radio-cell">
  58. <label for="radio4">男</label>
  59. <input id="radio4" name="sex" type="radio" value="1" title="男" checked="checked">
  60. </div>
  61. <div class="radio-cell">
  62. <label for="radio5">女</label>
  63. <input id="radio5" name="sex" type="radio" value="0" title="女">
  64. </div>
  65. <div class="clear"></div>
  66. </div>
  67. </div>
  68. <div class="arrow"></div>
  69. <div class="clear"></div>
  70. </div>
  71. <div class="list_height plist-txt notarrow">
  72. <div class="pic"></div>
  73. <div class="tit font14">手机号码<span class="font_red_light">*</span></div>
  74. <div class="describe font13">
  75. <input type="text" id="mobile" name="mobile" placeholder="请输入联系方式" value="">
  76. </div>
  77. <div class="arrow"></div>
  78. <div class="clear"></div>
  79. </div>
  80. <div class="list_height plist-txt notarrow">
  81. <div class="pic"></div>
  82. <div class="tit font14">出生年份<span class="font_red_light">*</span></div>
  83. <div class="describe font13">
  84. <input readonly required id="birthday" name="birthday" type="text" placeholder="请选择年月日" value="">
  85. </div>
  86. <div class="arrow"></div>
  87. <div class="clear"></div>
  88. </div>
  89. <div class="list_height plist-txt js-actionParent">
  90. <div class="pic"></div>
  91. <div class="tit font14">籍贯<span class="font_red_light">*</span></div>
  92. <div class="describe font13 qs-temp js-showActionSheet" data-type="city2" data-base="QS_city_parent" data-source="QS_city" data-multiple="false" data-num="0" data-link="false" data-level="3" data-addjob="true">
  93. <span class="qs-temp-txt-city2" data-otxt="">请选择</span>
  94. <input class="qs-temp-code-city2" name="native_place" id="native_place" type="hidden" value="">
  95. </div>
  96. <div class="arrow"></div>
  97. <div class="clear"></div>
  98. <!--BEGIN actionSheet-->
  99. <div>
  100. <div class="qs-mask" style="display: none"></div>
  101. <div class="qs-actionsheet js-actionsheet">
  102. <div class="qs-actionsheet-menu">
  103. <div class="con-filter">
  104. <div class="f-selected-group f-selected-group-city2">
  105. <div class="s-bar">
  106. <div class="qs-btn qs-btn-inline qs-btn-small qs-btn-border-gray qs-left js-cancelActionSheet">取消</div>
  107. <div class="clear"></div>
  108. </div>
  109. <div class="s-list qs-hidden"></div>
  110. </div>
  111. <div class="f-box f-box-city2"></div>
  112. </div>
  113. </div>
  114. </div>
  115. </div>
  116. </div>
  117. <div class="list_height plist-txt">
  118. <div class="pic"></div>
  119. <div class="tit font14">是否应届<span class="font_red_light">*</span></div>
  120. <div class="describe font13">
  121. <span class="for-select"></span>
  122. <select id="fresh" name="fresh">
  123. <option value="">请选择</option>
  124. <option value="1">是</option>
  125. <option value="0">否</option>
  126. </select>
  127. </div>
  128. <div class="arrow"></div>
  129. <div class="clear"></div>
  130. </div>
  131. <div class="list_height plist-txt">
  132. <div class="pic"></div>
  133. <div class="tit font14">当前学历<span class="font_red_light">*</span></div>
  134. <div class="describe font13">
  135. <span class="for-select"></span>
  136. <select id="education" name="education">
  137. <option value="">请选择</option>
  138. @foreach($category['other']['AIX_education'] as $key => $val )
  139. <option value="{{ explode(',',$val)[0] }}" >{{ explode(',',$val)[1] }}</option>
  140. @endforeach
  141. </select>
  142. </div>
  143. <div class="arrow"></div>
  144. <div class="clear"></div>
  145. </div>
  146. <div class="list_height plist-txt notarrow">
  147. <div class="pic"></div>
  148. <div class="tit font14">毕业学校<span class="font_red_light">*</span></div>
  149. <div class="describe font13">
  150. <input type="text" id="school" name="school" placeholder="请输入毕业学校" value="">
  151. </div>
  152. <div class="arrow"></div>
  153. <div class="clear"></div>
  154. </div>
  155. <div class="list_height plist-txt notarrow">
  156. <div class="pic"></div>
  157. <div class="tit font14">院系<span class="font_red_light">*</span></div>
  158. <div class="describe font13">
  159. <input type="text" id="dep" name="dep" placeholder="请输入院系" value="">
  160. </div>
  161. <div class="arrow"></div>
  162. <div class="clear"></div>
  163. </div>
  164. <div class="list_height plist-txt js-actionParent">
  165. <div class="pic"></div>
  166. <div class="tit font14">专业<span class="font_red_light">*</span></div>
  167. <div class="describe font13 qs-temp-level-major js-showActionSheet" data-type="major" data-base="QS_major_parent" data-source="QS_major" data-multiple="false" data-num="0" data-link="false">
  168. <span class="qs-temp-txt-major" data-otxt="请选择">请选择</span>
  169. <input class="qs-temp-code-major" name="pro_type" id="pro_type" type="hidden" value="" />
  170. </div>
  171. <div class="arrow"></div>
  172. <div class="clear"></div>
  173. <!--BEGIN actionSheet-->
  174. <div>
  175. <div class="qs-mask" style="display: none"></div>
  176. <div class="qs-actionsheet js-actionsheet">
  177. <div class="qs-actionsheet-menu">
  178. <div class="con-filter">
  179. <div class="f-selected-group f-selected-group-major">
  180. <div class="s-bar">
  181. <div class="qs-btn qs-btn-inline qs-btn-small qs-btn-border-gray qs-left js-cancelActionSheet">取消</div>
  182. <div class="clear"></div>
  183. </div>
  184. <div class="s-list qs-hidden"></div>
  185. </div>
  186. <div class="f-box f-box-major"></div>
  187. </div>
  188. </div>
  189. </div>
  190. </div>
  191. </div>
  192. <div class="list_height plist-txt notarrow">
  193. <div class="pic"></div>
  194. <div class="tit font14">具体专业<span class="font_red_light">*</span></div>
  195. <div class="describe font13">
  196. <input type="text" id="pro_text" name="pro_text" placeholder="请输入具体专业" value="">
  197. </div>
  198. <div class="arrow"></div>
  199. <div class="clear"></div>
  200. </div>
  201. <div class="list_height form-item">
  202. <div class="pic"></div>
  203. <div class="tit font14">简历</div>
  204. <div class="describe font13">
  205. <span id="uploadPicButton">双击上传文件</span>
  206. <input type="file" id="uploadFile" accept="application/msword,application/vnd.openxmlformats-officedocument.wordprocessingml.document,application/vnd.ms-excel,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet,application/vnd.ms-powerpoint,application/vnd.openxmlformats-officedocument.presentationml.presentation,text/plain,application/pdf" style="display: none;">
  207. </div>
  208. <div class="arrow"></div>
  209. <div class="clear"></div>
  210. <input type="hidden" id="attachment" name="attachment" value="">
  211. </div>
  212. <div class="btn-spacing">
  213. <button type="submit" class="qs-btn qs-btn-blue qs-btn-linear-orange bd4 font16 b-big">保存</button>
  214. </div>
  215. </form>
  216. @endsection
  217. @section('script')
  218. <script src="{{ theme_asset('mobile/js/mobileBUGFix.mini.js') }}"></script>
  219. <script src="{{ theme_asset('mobile/js/qsCategory.js') }}"></script>
  220. <script src="{{ theme_asset('mobile/js/LocalResizeIMG.js') }}"></script>
  221. <script src="{{ theme_asset('mobile/js/nprogress.js') }}"></script>
  222. <script src="{{ theme_asset('mobile/js/rolldate.min.js') }}"></script>
  223. <script>
  224. new Rolldate({
  225. el: '#birthday',
  226. format: 'YYYY-MM-DD',
  227. beginYear: 1900,
  228. endYear: 2100,
  229. value: "",
  230. })
  231. var default_district = '<?php echo $defaultCity;?>';
  232. var str_major = '<?php echo json_encode($category['major']['first']);?>';
  233. var QS_major_parent = eval(str_major);
  234. for(var i = 0;i <QS_major_parent.length;i ++){
  235. QS_major_parent[i].step_size = 0;
  236. }
  237. var major = '<?php echo json_encode($category['major']['sec']);?>';
  238. var QS_major = eval('('+major+')');
  239. for(var i = 0;i <QS_major.length;i ++){
  240. QS_major[i].step_size = 0;
  241. }
  242. var str = '<?php echo json_encode($category['jobs']['first']);?>';
  243. var QS_jobs_parent = eval(str);
  244. for(var i = 0;i <QS_jobs_parent.length;i ++){
  245. QS_jobs_parent[i].step_size = 0;
  246. }
  247. var jobs = '<?php echo json_encode($category['jobs']['sec']);?>';
  248. var QS_jobs = eval('('+jobs+')');
  249. for(var i = 0;i <QS_jobs.length;i ++){
  250. QS_jobs[i].step_size = 0;
  251. }
  252. var district = '<?php echo json_encode($category['district']['first']);?>';
  253. var QS_city_parent = eval(district);
  254. for(var i = 0;i <QS_city_parent.length;i ++){
  255. QS_city_parent[i].step_size = 0;
  256. }
  257. var districts = '<?php echo json_encode($category['district']['person']);?>';
  258. var QS_city = eval('('+districts+')');
  259. for(var i = 0;i <QS_city.length;i ++){
  260. QS_city[i].step_size = 0;
  261. }
  262. var other = '<?php echo json_encode($category['other']['AIX_trade']);?>';
  263. var QS_trade = eval(other);
  264. for(var i = 0;i <QS_trade.length;i ++){
  265. QS_trade[i].step_size = 0;
  266. }
  267. $(function(){
  268. $(".js-showActionSheet").on("click", function(){
  269. var $iosActionsheet = $(this).closest('.js-actionParent').find('.js-actionsheet');
  270. var $iosMask = $(this).closest('.js-actionParent').find('.qs-mask');
  271. $iosActionsheet.removeClass('qs-actionsheet-toggle');
  272. $iosActionsheet.addClass('qs-actionsheet-toggle');
  273. $iosMask.fadeIn(200);
  274. $iosMask.on('click', hideActionSheet);
  275. $(this).closest('.js-actionParent').find('.js-cancelActionSheet').on('click', hideActionSheet);
  276. $(this).closest('.js-actionParent').find('.qs-actionsheet-cell').on('click', hideActionSheet);
  277. function hideActionSheet() {
  278. $(this).closest('.js-actionParent').find('.js-actionsheet').removeClass('qs-actionsheet-toggle');
  279. $(this).closest('.js-actionParent').find('.qs-mask').fadeOut(200);
  280. }
  281. });
  282. });
  283. $('#browseFile').localResizeIMG({
  284. width: 400,
  285. quality: 1,
  286. success: function (result) {
  287. var submitData={
  288. pic1:result.clearBase64,
  289. };
  290. NProgress.start();
  291. $.ajax({
  292. headers: {'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')},
  293. type: "POST",
  294. url: "{{ route('mobile.ic.teach.uploadHead') }}",
  295. data: submitData,
  296. dataType:"json",
  297. success: function(result){
  298. console.log(result);
  299. if(result.status == 1){
  300. $('#avatars').attr('src','/storage/'+result.data);
  301. $('#avatar').val('/storage/'+result.data);
  302. }else{
  303. qsToast({type:2,context:'上传失败!'});
  304. }
  305. NProgress.done();
  306. },
  307. complete :function(XMLHttpRequest, textStatus){},
  308. error:function(XMLHttpRequest, textStatus, errorThrown){ //上传失败
  309. qsToast({type:2,context: '头像上传失败!'});
  310. }
  311. });
  312. }
  313. });
  314. $('#form').on('submit', function() {
  315. var data = $(this).serialize();
  316. $.ajax({
  317. headers: {'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')},
  318. url: "{{ route('mobile.ic.teach.save') }}",
  319. type: 'POST',
  320. dataType: 'json',
  321. data: data,
  322. success : function(result){
  323. if (result.status == 1) {
  324. alert('提交成功');
  325. location.href = "{{route('mobile.ic.index')}}";
  326. } else {
  327. qsToast({type:2,context: result.msg});
  328. }
  329. },
  330. error: function (errorData) {
  331. if (errorData.status==422) {//验证错误
  332. $.each(JSON.parse(errorData.response).errors,function (key,val) {
  333. qsToast({type:2,context: val[0]});
  334. return false;
  335. });
  336. }
  337. else if(errorData.status==400) {//业务错误
  338. qsToast({type:2,context: JSON.parse(errorData.response).message});
  339. return false;
  340. }
  341. }
  342. })
  343. return false;
  344. });
  345. $('#uploadPicButton').click(function(){
  346. $('#uploadFile').click();
  347. });
  348. $('#uploadFile').on('change',function(event) {
  349. $('#uploadPicButton').html('正在上传文件中');
  350. let file = this.files[0];
  351. let formData = new FormData();
  352. formData.append('files',file);
  353. $.ajax({
  354. url: "{{route('mobile.spring.uploadfile')}}",
  355. type: 'POST',
  356. data: formData,
  357. async: true,
  358. cache: false,
  359. contentType: false,
  360. processData: false,
  361. success: function(data) {
  362. if (data.status == 0) {
  363. alert(data.msg);
  364. $('#uploadPicButton').html('上传失败,重新选择');
  365. } else {
  366. $('#uploadPicButton').html(data.filename);
  367. $('#attachment').val(data.path);
  368. }
  369. }
  370. });
  371. });
  372. </script>
  373. @endsection