jobs_add.blade.php 46 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024
  1. @extends('app.hardware.layout.hardware')
  2. @push('meta')
  3. @endpush
  4. @push('css')
  5. <link rel="stylesheet" href="{{theme_asset('app/css/pad/bootstrap.min.css')}}" />
  6. <link rel="stylesheet" href="{{theme_asset('app/css/pad/common.css')}}"/>
  7. <link rel="stylesheet" href="{{theme_asset('app/css/pad/company.css')}}"/>
  8. <link rel="stylesheet" href="{{theme_asset('app/css/pad/style.css')}}" />
  9. <link rel="stylesheet" href="{{theme_asset('app/css/pad/jobs_manager.css')}}"/>
  10. <style type="text/css">
  11. body{
  12. overflow: auto;
  13. color: #fff;
  14. max-width: none;
  15. }
  16. select{ color: #000; }
  17. .global-header{ margin-bottom: 35px; }
  18. </style>
  19. @endpush
  20. @push('js')
  21. <script type="text/javascript" src="{{theme_asset('app/js/pad/rem.js')}}"></script>
  22. <script type="text/javascript" src="{{theme_asset('app/js/pad/zepto.min.js')}}"></script>
  23. @endpush
  24. @section('content')
  25. <header class="global-header">
  26. <div class="header-left" style="display:none;">
  27. <a href="javascript:history.go(-1);" class="header-back" id="pageback"><i class="w-icon w-icon-back"></i></a>
  28. </div>
  29. <div class="menu_title"><span class="title-only">新增职位</span></div>
  30. <div class="header-right">
  31. <a href="javascript:history.go(-1);" class="header-back" id="pageback"><i class="w-icon w-icon-home"></i></a>
  32. </div>
  33. </header>
  34. <div style="width: 1024px;margin: 0 auto;">
  35. <div class="list_height plist-txt notarrow color1" style="margin-top:97px;">
  36. <div class="pic"></div>
  37. <div class="tit font14">职位名称</div>
  38. <div class="describe"><input type="text" id="jobs_name" placeholder="请输入职位名称" value="" class="font13">
  39. </div>
  40. <div class="arrow"></div>
  41. <div class="clear"></div>
  42. </div>
  43. <div class="list_height plist-txt notarrow color2">
  44. <div class="pic"></div>
  45. <div class="tit font14">招聘人数</div>
  46. <div class="describe"><input type="number" id="amount" placeholder="请输入招聘人数" value="" class="font13">
  47. </div>
  48. <div class="arrow"></div>
  49. <div class="clear"></div>
  50. </div>
  51. <div class="list_height plist-txt color1">
  52. <div class="pic"></div>
  53. <div class="tit font14">职位性质</div>
  54. <div class="describe font13 qs-relative">
  55. <div class="for-select">请选择</div>
  56. <select id="nature" name="nature">
  57. @foreach($category['other']['AIX_jobs_nature'] as $key =>$val)
  58. <option value="{{ explode(',',$val)[0] }}">{{ explode(',',$val)[1] }}</option>
  59. @endforeach
  60. </select>
  61. </div>
  62. <div class="arrow"></div>
  63. <div class="clear"></div>
  64. </div>
  65. <div class="list_height plist-txt color2">
  66. <div class="pic"></div>
  67. <div class="tit font14">用工形式</div>
  68. <div class="describe font13 qs-relative">
  69. <div class="for-select">请选择</div>
  70. <select id="ygxs" name="yhxs">
  71. @foreach($category['other']['AIX_ygxs'] as $key =>$val)
  72. <option value="{{ explode(',',$val)[0] }}">{{ explode(',',$val)[1] }}</option>
  73. @endforeach
  74. </select>
  75. </div>
  76. <div class="arrow"></div>
  77. <div class="clear"></div>
  78. </div>
  79. <div class="list_height plist-txt color1" id="X_wage" style="display: none">
  80. <div class="pic"></div>
  81. <div class="tit font14">小时工薪资</div>
  82. <div class="describe font13 qs-relative">
  83. <a href="#describe" id="X_wage" class="describe font13 X_wage">
  84. 请填写小时工薪资
  85. </a>
  86. </div>
  87. <div class="arrow"></div>
  88. <div class="clear"></div>
  89. </div>
  90. <script id="xsgWrap" type="text/html">
  91. <div class="headernavfixed">
  92. <div class="headernav font10"><div class="title">时薪<div class="return js-back"></div></div></div>
  93. </div>
  94. <div class="split-block"></div>
  95. <div class="list_height plist-txt notarrow color1">
  96. <div class="pic"></div>
  97. <div class="tit font14">时薪(元/小时)</div>
  98. <div class="describe font12">
  99. <input type="text" id="tpl_xsg_wage" placeholder="小时工薪资" value="" class="font13">
  100. </div>
  101. <div class="arrow"></div>
  102. <div class="clear"></div>
  103. </div>
  104. <div class="split-block"></div>
  105. <div class="btn-spacing">
  106. <div id="xsg_wage_btn" class="qs-btn qs-btn-blue font10" title="确定">确定</div>
  107. </div>
  108. </script>
  109. <script>
  110. $('#ygxs').change(function(){
  111. if($(this).val() == 363){
  112. $("#X_wage").css('display','block');
  113. $('.wage_hidden').val(0);
  114. $('#minwage').val(0);
  115. $('#maxwage').val(0);
  116. $(".wage").hide();
  117. $("#J_wage").hide();
  118. $(".syq").hide();
  119. }else{
  120. $("#X_wage").css('display','none');
  121. $(".wage").show();
  122. $(".syq").show();
  123. $('#minwage').val(0);
  124. $('#maxwage').val(0);
  125. $('.J_wage').html('请输入自定义薪资');
  126. }
  127. });
  128. let xsgWrap = '';
  129. $(".X_wage").on('click', function() {
  130. xsgWrap = $('#xsgWrap').html();
  131. var $this = $(this),
  132. baseTxt = $this.text();
  133. popWin.init({
  134. from:"right",
  135. html:xsgWrap,
  136. handle:function(){
  137. if ($('#minwage').val()<1500) {
  138. $('#tpl_xsg_wage').val($('#minwage').val());
  139. }
  140. $('#xsg_wage_btn').on('click',function(){
  141. var tpl_xsg_wage = $('#tpl_xsg_wage').val()==''?0:parseFloat($('#tpl_xsg_wage').val());
  142. if (!$('.js-d-switch').hasClass('active')) {
  143. if (!tpl_xsg_wage) {
  144. qsToast({type:2,context: '请填写小时工薪资'});
  145. return false;
  146. }
  147. if (tpl_xsg_wage != "" && !regularOneFloat.test(tpl_xsg_wage)) {
  148. qsToast({type:2,context: '薪资应为数字'});
  149. return false;
  150. }
  151. if (tpl_xsg_wage <= 16.5 ){
  152. qsToast({type:2,context: '薪资不得低于16.5'});
  153. return false;
  154. }
  155. }
  156. if(!$('.js-d-switch').hasClass('active')){
  157. $('#minwage').val($('#tpl_xsg_wage').val());
  158. $('#maxwage').val($('#tpl_xsg_wage').val());
  159. $('#wage').val(0);
  160. $('.X_wage').html(tpl_xsg_wage);
  161. }
  162. history.back();
  163. });
  164. }
  165. })
  166. });
  167. </script>
  168. <div class="list_height plist-txt color1 syq">
  169. <div class="pic"></div>
  170. <div class="tit font14">试用期</div>
  171. <div class="describe font13 qs-relative">
  172. <div class="for-select">请选择</div>
  173. <select id="syq" name="syq">
  174. @foreach($category['other']['zs_syq'] as $item)
  175. <option value="{{explode(',',$item)[0]}}">{{explode(',',$item)[1]}}</option>
  176. @endforeach
  177. </select>
  178. </div>
  179. <div class="arrow"></div>
  180. <div class="clear"></div>
  181. </div>
  182. <div class="list_height plist-txt color1" id="S_wage" style="display: none">
  183. <div class="pic"></div>
  184. <div class="tit font14">试用期薪资</div>
  185. <div class="describe font13 qs-relative">
  186. <input type="text" id="syq_min" name="syq_min" />
  187. </div>
  188. <div class="clear"></div>
  189. </div>
  190. <script>
  191. $("#syq").change(function () {
  192. let cur_val = $(this).val();
  193. let wage = $('#wage').val();
  194. if (cur_val == 367 || cur_val == 0 || wage ==-1){
  195. $("#S_wage").hide();
  196. $("#syq_min").val(0);
  197. }else {
  198. $("#S_wage").show();
  199. $("#syq_min").val(0);
  200. }
  201. });
  202. </script>
  203. <div class="list_height plist-txt color2">
  204. <div class="pic"></div>
  205. <div class="tit font14">技能等级</div>
  206. <div class="describe font13 qs-relative">
  207. <div class="for-select">请选择</div>
  208. <select id="techlevel" name="techlevel">
  209. @foreach(array_reverse($category['other']['AIX_techlevel']) as $item)
  210. <option value="{{explode(',',$item)[0]}}">{{explode(',',$item)[1]}}</option>
  211. @endforeach
  212. </select>
  213. </div>
  214. <div class="arrow"></div>
  215. <div class="clear"></div>
  216. </div>
  217. <div class="list_height plist-txt color1">
  218. <div class="pic"></div>
  219. <div class="tit font14">性别要求</div>
  220. <div class="describe font13 qs-relative">
  221. <div class="for-select">请选择</div>
  222. <select id="sex" name="sex">
  223. <option value="0">不限</option>
  224. <option value="1">男</option>
  225. <option value="2">女</option>
  226. </select>
  227. </div>
  228. <div class="arrow"></div>
  229. <div class="clear"></div>
  230. </div>
  231. <div class="list_height plist-txt js-actionParent color2">
  232. <div class="pic"></div>
  233. <div class="tit font14">职位类别</div>
  234. <div class="describe font13 qs-temp js-showActionSheet" data-type="jobs" data-base="QS_jobs_parent" data-source="QS_jobs" data-multiple="false" data-num="0" data-link="false">
  235. <span class="qs-temp-txt-jobs" data-otxt="请选择职位类别">请选择职位类别</span>
  236. <input class="qs-temp-code-jobs" type="hidden" id="jobcategory" value="">
  237. </div>
  238. <div class="arrow"></div>
  239. <div class="clear"></div>
  240. <!--BEGIN actionSheet-->
  241. <div>
  242. <div class="qs-mask" style="display: none"></div>
  243. <div class="qs-actionsheet js-actionsheet">
  244. <div class="qs-actionsheet-menu">
  245. <div class="con-filter">
  246. <div class="f-selected-group f-selected-group-jobs">
  247. <div class="s-bar">
  248. <div class="qs-btn qs-btn-inline qs-btn-small qs-btn-border-gray qs-left js-cancelActionSheet">取消</div>
  249. <div class="clear"></div>
  250. </div>
  251. <div class="s-list qs-hidden"></div>
  252. </div>
  253. <div class="f-box f-box-jobs"></div>
  254. </div>
  255. </div>
  256. </div>
  257. </div>
  258. </div>
  259. <div class="list_height plist-txt color1">
  260. <div class="pic"></div>
  261. <div class="tit font14">职位描述</div>
  262. <a href="#describe" class="describe font13 describeText">
  263. 请输入职位描述
  264. </a>
  265. <div class="arrow"></div>
  266. <div class="clear"></div>
  267. </div>
  268. <div class="list_height plist-txt color2 wage">
  269. <div class="pic"></div>
  270. <div class="tit font14">薪资待遇</div>
  271. <div class="describe font13 qs-relative">
  272. <div class="for-select">请选择</div>
  273. <select id="wage" name="wage">
  274. <option value="-1">面议</option>
  275. <option value="0">自定义</option>
  276. @foreach($category['other']['AIX_wage'] as $key => $val )
  277. <option value="{{ explode(',',$val)[0] }}">{{ explode(',',$val)[1] }}</option>
  278. @endforeach
  279. </select>
  280. </div>
  281. <div class="arrow"></div>
  282. <div class="clear"></div>
  283. </div>
  284. <div class="list_height plist-txt color1" id="J_wage" style="display: none">
  285. <div class="pic"></div>
  286. <div class="tit font14">薪资待遇</div>
  287. <div class="describe font13 qs-relative">
  288. <a href="#describe" class="describe font13 J_wage">
  289. 请输入薪资待遇
  290. </a>
  291. </div>
  292. <div class="arrow"></div>
  293. <div class="clear"></div>
  294. </div>
  295. <div class="list_height plist-txt color1">
  296. <div class="pic"></div>
  297. <div class="tit font14">学历要求</div>
  298. <div class="describe font13 qs-relative">
  299. <div class="for-select">请选择</div>
  300. <select id="education" name="education">
  301. <option value="0">不限</option>
  302. @foreach($category['other']['AIX_education'] as $key => $val )
  303. <option value="{{ explode(',',$val)[0] }}">{{ explode(',',$val)[1] }}</option>
  304. @endforeach
  305. </select>
  306. </div>
  307. <div class="arrow"></div>
  308. <div class="clear"></div>
  309. </div>
  310. <div class="list_height plist-txt color2">
  311. <div class="pic"></div>
  312. <div class="tit font14">工作经验</div>
  313. <div class="describe font13 qs-relative">
  314. <div class="for-select">请选择</div>
  315. <select id="experience" name="experience">
  316. <option value="0">不限</option>
  317. @foreach($category['other']['AIX_experience'] as $key => $val )
  318. <option value="{{ explode(',',$val)[0] }}">{{ explode(',',$val)[1] }}</option>
  319. @endforeach
  320. </select>
  321. </div>
  322. <div class="arrow"></div>
  323. <div class="clear"></div>
  324. </div>
  325. <div class="list_height plist-txt color1">
  326. <div class="pic"></div>
  327. <div class="tit font14">年龄要求</div>
  328. <div class="describe font13 qs-relative">
  329. <a href="#describe" class="describe font13 J_age">
  330. 请输入年龄
  331. </a>
  332. </div>
  333. <div class="arrow"></div>
  334. <div class="clear"></div>
  335. </div>
  336. <div class="list_height plist-txt js-actionParent color2 city-select">
  337. <div class="pic"></div>
  338. <div class="tit font14">工作地区</div>
  339. <div class="describe font13 qs-temp js-showActionSheet" data-type="city" data-base="QS_city_parent" data-source="QS_city" data-multiple="false" data-num="0" data-link="false">
  340. <span class="qs-temp-txt-city" data-otxt="请选择工作地区">请选择工作地区</span>
  341. <input class="qs-temp-code-city" type="hidden" id="districtcategory" value="{{$district}}">
  342. </div>
  343. <div class="arrow"></div>
  344. <div class="clear"></div>
  345. <!--BEGIN actionSheet-->
  346. <div>
  347. <div class="qs-mask" style="display: none"></div>
  348. <div class="qs-actionsheet js-actionsheet">
  349. <div class="qs-actionsheet-menu">
  350. <div class="con-filter">
  351. <div class="f-selected-group f-selected-group-city">
  352. <div class="s-bar">
  353. <div class="qs-btn qs-btn-inline qs-btn-small qs-btn-border-gray qs-left js-cancelActionSheet">取消</div>
  354. <div class="clear"></div>
  355. </div>
  356. <div class="s-list qs-hidden"></div>
  357. </div>
  358. <div class="f-box f-box-city"></div>
  359. </div>
  360. </div>
  361. </div>
  362. </div>
  363. </div>
  364. <div class="list_height plist-txt last js-actionParent color1">
  365. <div class="pic"></div>
  366. <div class="tit font14">职位亮点</div>
  367. <a href="#tagStr" class="describe font13 J_tag">请选择职位亮点</a>
  368. <div class="arrow"></div>
  369. <div class="clear"></div>
  370. </div>
  371. <div class="list_height plist-txt color2">
  372. <div class="pic"></div>
  373. <div class="tit font14">联系方式</div>
  374. <div class="describe font13 qs-relative">
  375. <div class="for-select">请选择</div>
  376. <select id="basis_contact" name="basis_contact">
  377. <option value="0" selected>默认使用企业资料的联系方式</option>
  378. @foreach($contacts as $val)
  379. <option value="{{$val->id}}">{{$val->contact}}</option>
  380. @endforeach
  381. </select>
  382. </div>
  383. <div class="arrow arrow_bottom"></div>
  384. <div class="clear"></div>
  385. </div>
  386. {{--<div class="list_height plist-txt color2">--}}
  387. {{--<div class="pic"></div>--}}
  388. {{--<div class="tit font14">职称要求</div>--}}
  389. {{--<div class="describe font13 qs-relative">--}}
  390. {{--<div class="for-select">请选择</div>--}}
  391. {{--<select id="techlevel" name="techlevel">--}}
  392. {{--<option value="0" >不限</option>--}}
  393. {{--@foreach($category['other']['AIX_zhicheng'] as $key => $val )--}}
  394. {{--<option value="{{ explode(',',$val)[0] }}">{{ explode(',',$val)[1] }}</option>--}}
  395. {{--@endforeach--}}
  396. {{--</select>--}}
  397. {{--</div>--}}
  398. {{--<div class="arrow"></div>--}}
  399. {{--<div class="clear"></div>--}}
  400. {{--</div>--}}
  401. {{--<div class="list_height plist-txt notarrow color1" id="techlevel_box">--}}
  402. {{--<div class="pic"></div>--}}
  403. {{--<div class="tit font14">具体职称</div>--}}
  404. {{--<div class="describe font13">--}}
  405. {{--<input type="text" id="zcname" placeholder="请输入具体职称" value="" maxlength="20">--}}
  406. {{--</div>--}}
  407. {{--<div class="arrow"></div>--}}
  408. {{--<div class="clear"></div>--}}
  409. {{--</div>--}}
  410. <div class="btn-spacing">
  411. <input type="hidden" id="id" value="">
  412. <input type="hidden" id="contents" value="">
  413. <input type="hidden" id="minwage" value="">
  414. <input type="hidden" id="maxwage" value="">
  415. <input type="hidden" id="minage" value="">
  416. <input type="hidden" id="maxage" value="">
  417. <input type="hidden" id="wage" value="">
  418. <input type="hidden" id="tag" value="">
  419. <input type="hidden" id="isSelectDistrict" value="0">
  420. <div id="J_release" class="qs-btn qs-btn-blue font10" title="发布职位">发布职位</div>
  421. </div>
  422. <div class="split-block"></div>
  423. </div>
  424. @endsection
  425. <script src="{{theme_asset('app/js/pad/fastclick.js')}}"></script>
  426. @section('script')
  427. <script>
  428. //职位类别
  429. var jobs_parent = '<?php echo json_encode($category['jobs']['first']);?>';
  430. var QS_jobs_parent = eval(jobs_parent);
  431. for(var i = 0;i <QS_jobs_parent.length;i ++){
  432. QS_jobs_parent[i].step_size = 0;
  433. }
  434. var jobs = '<?php echo json_encode($category['jobs']['sec']);?>';
  435. var jobs = JSON.parse(jobs)
  436. var QS_jobs = jobs;
  437. for(var i = 0;i <QS_jobs.length;i ++){
  438. QS_jobs[i].step_size = 0;
  439. }
  440. //工作地区
  441. var city_parent = '<?php echo json_encode($category['district']['first']);?>';
  442. var QS_city_parent = eval(city_parent);
  443. for(var i = 0;i <QS_city_parent.length;i ++){
  444. QS_city_parent[i].step_size = 0;
  445. }
  446. var city = '<?php echo json_encode($category['district']['sec']);?>';
  447. var QS_city = JSON.parse(city);
  448. for(var i = 0;i <QS_city.length;i ++){
  449. QS_city[i].step_size = 0;
  450. }
  451. //企业福利
  452. var jobtag = '<?php echo json_encode($category['other']['AIX_jobtag']);?>';
  453. var QS_jobtag = eval(jobtag);
  454. for(var i = 0;i <QS_jobtag.length;i ++){
  455. QS_jobtag[i].step_size = 0;
  456. }
  457. $('#wage').change(function(){
  458. let sqy = $('#syq').val();
  459. if($(this).val() == 0){
  460. $("#J_wage").css('display','block');
  461. }else{
  462. $("#J_wage").css('display','none');
  463. }
  464. if($(this).val() == -1 || sqy ==367){
  465. $('#S_wage').hide();
  466. }else{
  467. $('#S_wage').show();
  468. }
  469. });
  470. </script>
  471. <script>
  472. window.addEventListener( "load", function() {
  473. FastClick.attach(document.body);
  474. }, false );
  475. </script>
  476. <script src="{{theme_asset('app/js/pad/qsToast.js')}}"></script>
  477. <script src="{{theme_asset('app/js/pad/QSpopout.js')}}"></script>
  478. <script src="{{theme_asset('app/js/pad/QSfilter.js')}}"></script>
  479. <script src="{{theme_asset('app/js/pad/zepto.hwSlider.js')}}"></script>
  480. <script src="{{theme_asset('app/js/pad/scrollTo.js')}}"></script>
  481. <script type="text/javascript" src="{{ theme_asset('app/js/regular.js') }}"></script>
  482. <script>
  483. $('.js-back').on('click', function () {
  484. history.back();
  485. });
  486. $('.rbtn').on('click', function() {
  487. forCloseNav();
  488. })
  489. $('.t-mask').on('click', function () {
  490. forCloseNav();
  491. })
  492. $('.h-navclose').on('click', function () {
  493. forCloseNav();
  494. })
  495. function forCloseNav() {
  496. if ($('.topnavshow').hasClass('qs-actionsheet-toggle')) {
  497. $('.t-mask').hide();
  498. $('.topnavshow').removeClass('qs-actionsheet-toggle');
  499. } else {
  500. $('.t-mask').show();
  501. $('.topnavshow').addClass('qs-actionsheet-toggle');
  502. }
  503. }
  504. // 处理select
  505. $('select').on('change', function () {
  506. $(this).prev().text($(this).find('option').not(function(){ return !this.selected }).text());
  507. })
  508. $('select').each(function () {
  509. $(this).prev().text($(this).find('option').not(function(){ return !this.selected }).text());
  510. })
  511. </script>
  512. <script src="{{theme_asset('app/js/pad/popWin.js')}}"></script>
  513. <script src="{{theme_asset('app/js/pad/qsCategory.js')}}"></script>
  514. <script id="tagWrap" type="text/html">
  515. <div class="headernavfixed">
  516. <div class="headernav font12"><div class="title">职位亮点<div class="return js-back"></div></div></div>
  517. </div>
  518. <div class="split-block"></div>
  519. <div class="edittag">
  520. <div class="tit font12">最多可以选6项
  521. </div>
  522. <div id="J_tagWrap">
  523. <div class="J_tagPage">
  524. @foreach($category['other']['AIX_jobtag'] as $key => $val)
  525. <div class="tag" tid="{{ explode(',',$val)[0] }}" title="{{ explode(',',$val)[1] }}">{{ explode(',',$val)[1] }}</div>
  526. @endforeach
  527. </div>
  528. </div>
  529. <div class="clear"></div>
  530. <div class="tagbtns">
  531. <div id="J_savetag" class="qs-btn qs-btn-blue font10">保存</div>
  532. </div>
  533. </div>
  534. </script>
  535. <!--薪资待遇-->
  536. <script id="wageWrap" type="text/html">
  537. <div class="headernavfixed">
  538. <div class="headernav font10"><div class="title">薪资待遇<div class="return js-back"></div></div></div>
  539. </div>
  540. <div class="split-block"></div>
  541. <div class="list_height plist-txt notarrow color1">
  542. <div class="pic"></div>
  543. <div class="tit font14">最低薪资(元/月)</div>
  544. <div class="describe font12">
  545. <input type="number" id="tpl_minwage" placeholder="最低薪资" value="" class="font13" min="1">
  546. </div>
  547. <div class="arrow"></div>
  548. <div class="clear"></div>
  549. </div>
  550. <div class="list_height plist-txt notarrow color2">
  551. <div class="pic"></div>
  552. <div class="tit font14">最高薪资(元/月)</div>
  553. <div class="describe font12">
  554. <input type="number" id="tpl_maxwage" placeholder="最高薪资" value="" class="font13">
  555. </div>
  556. <div class="arrow"></div>
  557. <div class="clear"></div>
  558. </div>
  559. <div class="split-block"></div>
  560. <div class="btn-spacing">
  561. <div id="wageBtn" class="qs-btn qs-btn-blue font10" title="确定">确定</div>
  562. </div>
  563. </script>
  564. <!--年龄-->
  565. <script id="ageWrap" type="text/html">
  566. <div class="headernavfixed">
  567. <div class="headernav font10"><div class="title">年龄要求<div class="return js-back"></div></div></div>
  568. </div>
  569. <div class="split-block"></div>
  570. <div class="list_height plist-txt notarrow color1">
  571. <div class="pic"></div>
  572. <div class="tit font14">最低年龄</div>
  573. <div class="describe font12">
  574. <input type="text" id="tpl_minage" placeholder="最低年龄" value="" class="font13">
  575. </div>
  576. <div class="arrow"></div>
  577. <div class="clear"></div>
  578. </div>
  579. <div class="list_height plist-txt notarrow color2">
  580. <div class="pic"></div>
  581. <div class="tit font14">最高年龄</div>
  582. <div class="describe font12">
  583. <input type="text" id="tpl_maxage" placeholder="最高年龄" value="" class="font13">
  584. </div>
  585. <div class="arrow"></div>
  586. <div class="clear"></div>
  587. </div>
  588. <div class="split-block"></div>
  589. <div class="btn-spacing">
  590. <div id="ageBtn" class="qs-btn qs-btn-blue font10" title="确定">确定</div>
  591. </div>
  592. </script>
  593. <!--职位描述模板-->
  594. <script type="text/html" id="tpl-describe">
  595. <div class="headernavfixed">
  596. <div class="headernav font10"><div class="title">职位描述<div class="return js-back"></div></div></div>
  597. </div>
  598. <div class="split-block"></div>
  599. <div class="com-introduce">
  600. <textarea placeholder="请输入职位描述" id="tpl_contents"></textarea>
  601. </div>
  602. <div class="com-introduce-tip color1">
  603. <div class="text-num">最多可输入2000字</div>
  604. <div class="J_empty text-clear">清空</div>
  605. <div class="clear"></div>
  606. </div>
  607. <div class="split-block"></div>
  608. <div class="btn-spacing">
  609. <div id="contentsBtn" class="qs-btn qs-btn-blue font10" title="确定">确定</div>
  610. </div>
  611. <div class="split-block"></div>
  612. </script>
  613. <!--<script src="../public/js/inobounce.js"></script>-->
  614. <script type="text/javascript">
  615. $(function(){
  616. $(".js-showActionSheet").on("click", function(){
  617. var $iosActionsheet = $(this).closest('.js-actionParent').find('.js-actionsheet');
  618. var $iosMask = $(this).closest('.js-actionParent').find('.qs-mask');
  619. $iosActionsheet.removeClass('qs-actionsheet-toggle');
  620. $iosActionsheet.addClass('qs-actionsheet-toggle').trigger('focus');
  621. $iosMask.fadeIn(200);
  622. $iosMask.on('click', hideActionSheet);
  623. $(this).closest('.js-actionParent').find('.js-cancelActionSheet').on('click', hideActionSheet);
  624. $(this).closest('.js-actionParent').find('.qs-actionsheet-cell').on('click', hideActionSheet);
  625. function hideActionSheet() {
  626. $(this).closest('.js-actionParent').find('.js-actionsheet').removeClass('qs-actionsheet-toggle');
  627. $(this).closest('.js-actionParent').find('.qs-mask').fadeOut(200);
  628. }
  629. });
  630. });
  631. var describeTemp = $('#tpl-describe').html();
  632. $(".describeText").on('click', function() {
  633. var $this = $(this),
  634. baseTxt = $this.text();
  635. popWin.init({
  636. from:"right",
  637. html:describeTemp,
  638. handle:function(){
  639. if ($('#contents').val().length) {
  640. $('#tpl_contents').val($('#contents').val());
  641. }
  642. $('.J_empty').on('click',function(){
  643. $('#tpl_contents').val('');
  644. });
  645. $('#contentsBtn').on('click',function(){
  646. if ($.trim($('#tpl_contents').val()) == "") {
  647. qsToast({type:2,context: '请填写职位描述'});
  648. return false;
  649. }
  650. $('#contents').val($('#tpl_contents').val());
  651. $('.describeText').html($('#tpl_contents').val());
  652. history.back();
  653. });
  654. }
  655. })
  656. });
  657. var tagWrap = $('#tagWrap').html();
  658. $(".J_tag").on('click', function() {
  659. var $this = $(this),
  660. baseTxt = $this.text();
  661. popWin.init({
  662. from:"right",
  663. html:tagWrap,
  664. handle:function(){
  665. var tpl_tagvalueArray = $('#tag').val();
  666. $.each(tpl_tagvalueArray.split(','),function(k,v){
  667. $('.tag[tid="'+v+'"]').addClass('select');
  668. });
  669. $('#J_tagWrap .tag,#J_taglist .tag').on('click',function(){
  670. if($(this).hasClass('select')){
  671. $(this).removeClass('select');
  672. }else{
  673. if($('.tag.select').length >= 6){
  674. qsToast({type:2,context: '职位亮点最多可以选6项!'});
  675. return false;
  676. }
  677. $(this).addClass('select');
  678. }
  679. });
  680. var n = 0;
  681. $('.J_more').on('click',function(){
  682. n++;
  683. if(n>$('.J_tagPage').length-1){
  684. n=0;
  685. }
  686. $('.J_tagPage').eq(n).removeClass('qs-hidden').siblings().addClass('qs-hidden');
  687. });
  688. $('#J_savetag').on('click',function(){
  689. var tagvalueArray = $('.tag.select').map(function(){
  690. return $(this).attr('tid');
  691. }).get().join(',');
  692. var tagcnvalueArray = $('.tag.select').map(function(){
  693. return $(this).attr('title');
  694. }).get().join(',');
  695. $('#tag').val(tagvalueArray);
  696. $('.J_tag').html(tagcnvalueArray);
  697. history.back();
  698. });
  699. }
  700. })
  701. });
  702. var wageWrap = '';
  703. $(".J_wage").on('click', function() {
  704. wageWrap = $('#wageWrap').html();
  705. var $this = $(this),
  706. baseTxt = $this.text();
  707. popWin.init({
  708. from:"right",
  709. html:wageWrap,
  710. handle:function(){
  711. if ($('#minwage').val()) {
  712. $('#tpl_minwage').val($('#minwage').val());
  713. }
  714. if ($('#maxwage').val()) {
  715. $('#tpl_maxwage').val($('#maxwage').val());
  716. }
  717. $('#wageBtn').on('click',function(){
  718. var tpl_minwage = $('#tpl_minwage').val()==''?0:parseInt($('#tpl_minwage').val());
  719. var tpl_maxwage = $('#tpl_maxwage').val()==''?0:parseInt($('#tpl_maxwage').val());
  720. if (!$('.js-d-switch').hasClass('active')) {
  721. if (!tpl_minwage) {
  722. qsToast({type:2,context: '请填写最低薪资'});
  723. return false;
  724. }
  725. if (tpl_minwage != "" && !regularTelLast.test(tpl_minwage)) {
  726. qsToast({type:2,context: '薪资应为数字'});
  727. return false;
  728. }
  729. if (!tpl_maxwage) {
  730. qsToast({type:2,context: '请填写最高薪资'});
  731. return false;
  732. }
  733. var config_wage_min = "{{config('aix.companyset.comset.com_set.wage_min')}}";
  734. if(tpl_minwage < parseInt(config_wage_min)) {
  735. qsToast({type:2,context: '最低薪资不能小于'+config_wage_min});
  736. return false;
  737. }
  738. if (tpl_maxwage > 999999){
  739. qsToast({type:2,context: '最高薪资超系统上限'});
  740. return false;
  741. }
  742. if (tpl_maxwage != "" && !regularTelLast.test(tpl_maxwage)) {
  743. qsToast({type:2,context: '薪资应为数字'});
  744. return false;
  745. }
  746. if (tpl_minwage != "" && tpl_maxwage != "" && parseInt(tpl_minwage) > parseInt(tpl_maxwage)) {
  747. qsToast({type:2,context: '最低薪资不能大于最高薪资'});
  748. return false;
  749. }
  750. if((parseInt(tpl_minwage)%10)!=0 ||(parseInt(tpl_maxwage)%10)!=0) {
  751. qsToast({type:2,context: '最高薪资与最低薪资为10倍数'});
  752. return false;
  753. }
  754. }
  755. if(!$('.js-d-switch').hasClass('active')){
  756. $('#minwage').val($('#tpl_minwage').val());
  757. $('#maxwage').val($('#tpl_maxwage').val());
  758. $('.J_wage').html(tpl_minwage+'-'+tpl_maxwage);
  759. }
  760. history.back();
  761. });
  762. }
  763. })
  764. });
  765. var ageWrap = $('#ageWrap').html();
  766. $(".J_age").on('click', function() {
  767. var $this = $(this),
  768. baseTxt = $this.text();
  769. popWin.init({
  770. from:"right",
  771. html:ageWrap,
  772. handle:function(){
  773. if ($('#minage').val()) {
  774. $('#tpl_minage').val($('#minage').val());
  775. }
  776. if ($('#maxage').val()) {
  777. $('#tpl_maxage').val($('#maxage').val());
  778. }
  779. $('#ageBtn').on('click',function(){
  780. var tpl_minage = $('#tpl_minage').val()==''?'':parseInt($('#tpl_minage').val());
  781. var tpl_maxage = $('#tpl_maxage').val()==''?'':parseInt($('#tpl_maxage').val());
  782. if (!$('.js-d-switch').hasClass('active')) {
  783. if ((tpl_minage && !tpl_maxage) || (!tpl_minage && tpl_maxage)) {
  784. qsToast({type:2,context: '请填写最低年龄或最大年龄'});
  785. return false;
  786. }
  787. if (tpl_minage != "" && !regularTelLast.test(tpl_minage)) {
  788. qsToast({type:2,context: '年龄应为数字'});
  789. return false;
  790. }
  791. if (tpl_maxage != "" && !regularTelLast.test(tpl_maxage)) {
  792. qsToast({type:2,context: '年龄应为数字'});
  793. return false;
  794. }
  795. if (tpl_minage != "" && tpl_maxage != "" && parseInt(tpl_minage) > parseInt(tpl_maxage)) {
  796. qsToast({type:2,context: '最低年龄不能大于最高年龄'});
  797. return false;
  798. }
  799. if (tpl_maxage != "" && parseInt(tpl_maxage) > 65) {
  800. qsToast({type:2,context: '最高年龄不能超过65周岁'});
  801. return false;
  802. }
  803. if (tpl_minage != "" && parseInt(tpl_minage) < 16) {
  804. qsToast({type:2,context: '最低年龄不能低于16周岁'});
  805. return false;
  806. }
  807. }
  808. if(!$('.js-d-switch').hasClass('active')){
  809. $('#minage').val($('#tpl_minage').val());
  810. $('#maxage').val($('#tpl_maxage').val());
  811. if(tpl_minage && tpl_maxage){
  812. $('.J_age').html(tpl_minage+'-'+tpl_maxage);
  813. }else{
  814. $('#minage').val();
  815. $('#maxage').val();
  816. $('.J_age').html('不限');
  817. }
  818. }else{
  819. $('#minage').val();
  820. $('#maxage').val();
  821. $('.J_age').html('不限');
  822. }
  823. history.back();
  824. });
  825. }
  826. })
  827. });
  828. $('.city-select').on('click','.level3Group .f-item',function () {
  829. $('#isSelectDistrict').val(1);
  830. });
  831. $('#J_release').click(function(){
  832. var id = $.trim($('#id').val());
  833. var jobsnameValue = $.trim($('#jobs_name').val());
  834. var jobcategoryValue = $.trim($('#jobcategory').val());
  835. var districtcategoryValue = $.trim($('#districtcategory').val());
  836. var isSelectDistrict = $('#isSelectDistrict').val();//工作地区是否选择
  837. var minwageValue = $.trim($('#minwage').val());
  838. var maxwageValue = $.trim($('#maxwage').val());
  839. var tagValue = $.trim($('#tag').val());
  840. var contentsValue = $.trim($('#contents').val());
  841. var wageValue = $('#wage').val();
  842. var sex = $.trim($('#sex').val());
  843. var education = $.trim($('#education').val());
  844. var experience = $.trim($('#experience').val());
  845. var minageValue = $.trim($('#minage').val());
  846. var maxageValue = $.trim($('#maxage').val());
  847. var amountValue = $.trim($('#amount').val());
  848. var nature = $("#nature").val();
  849. var ygxs = $.trim($('#ygxs').val());
  850. var techlevel = $('#techlevel').val();
  851. var syq = $('#syq').val();
  852. var syq_min = $('#syq_min').val();
  853. // var zcname = $('#zcname').val();
  854. var basis_contact = $('#basis_contact').val();
  855. if (jobsnameValue == "") {
  856. qsToast({type:2,context: '请填写职位名称'});
  857. return false;
  858. }
  859. if (amountValue == "") {
  860. qsToast({type:2,context: '请填写招聘人数'});
  861. return false;
  862. }
  863. if (amountValue) {
  864. if (!regularTelLast.test(amountValue)) {
  865. qsToast({type:2,context: '招聘人数应为数字'});
  866. return false;
  867. }
  868. if (amountValue > 99) {
  869. qsToast({type:2,context: '招聘人数不能大于99'});
  870. return false;
  871. }
  872. if (amountValue < 1) {
  873. qsToast({type:2,context: '招聘人数不能小于1'});
  874. return false;
  875. }
  876. }
  877. if (jobcategoryValue == "") {
  878. qsToast({type:2,context: '请选择职位类别'});
  879. return false;
  880. }
  881. if (contentsValue == ""){
  882. qsToast({type:2,context: '请输入职位描述'});
  883. return false;
  884. }
  885. if (districtcategoryValue == "" || isSelectDistrict=="0") {
  886. qsToast({type:2,context: '请选择工作地区'});
  887. return false;
  888. }
  889. if ($('#wage').val() == 0) {
  890. if (!minwageValue || !maxwageValue || minwageValue==0 || maxwageValue==0) {
  891. qsToast({type:2,context: '请填写薪资'});
  892. return false;
  893. }
  894. if (minwageValue != "" && !regularTelLast.test(minwageValue)) {
  895. qsToast({type: 2, context: '薪资应为数字'});
  896. return false;
  897. }
  898. if (maxwageValue != "" && !regularTelLast.test(maxwageValue)) {
  899. qsToast({type: 2, context: '薪资应为数字'});
  900. return false;
  901. }
  902. if (minwageValue != "" && maxwageValue != "" && parseInt(minwageValue) > parseInt(maxwageValue)) {
  903. qsToast({type: 2, context: '最低薪资不能大于最高薪资'});
  904. return false;
  905. }
  906. }
  907. if ($('#syq').val() != 0 && $('#syq').val() != 367 && $('#wage').val() != -1) {
  908. if (!$('#syq_min').val() || $('#syq_min').val()==0) {
  909. qsToast({type:2,context: '请填写试用期薪资'});
  910. return false;
  911. }
  912. if ($('#syq_min').val() != "" && !regularTelLast.test($('#syq_min').val())) {
  913. qsToast({type: 2, context: '试用期薪资应为数字且不能大于6位'});
  914. return false;
  915. }
  916. var config_wage_min = "{{config('aix.companyset.comset.com_set.wage_min')}}";
  917. if ($('#syq_min').val() <parseInt(config_wage_min)) {
  918. qsToast({type: 2, context: "试用期薪资不得低于"+parseInt(config_wage_min)+"元/月"});
  919. return false;
  920. }
  921. //三种情况 1.小时工时,不判断 2.非自定义工资时,取wage控件最小值 3.自定义薪资时,取填写的最小值
  922. if(ygxs!=363){
  923. var xzfw= $("#wage").find("option:selected").text();
  924. if((parseInt(syq_min)%10)!=0) {
  925. qsToast({type: 2, context: "试用期薪资为10倍数!"});
  926. return false;
  927. }
  928. if (xzfw=='自定义' && minwageValue!=''&& minwageValue>0 && parseInt(syq_min) < parseInt(minwageValue)*0.8){
  929. qsToast({type: 2, context: "试用期薪资不得低于正式工资的80%"});
  930. return false;
  931. }else if(xzfw!='自定义' && wageValue!=61 && parseInt(syq_min) <parseInt(xzfw.split("~")[0])*0.8){
  932. qsToast({type:2,context: "试用期薪资不得低于正式工资的80%"});
  933. return false;
  934. }else if(xzfw!='自定义' && wageValue==61 && parseInt(syq_min) <8000){
  935. qsToast({type:2,context: "薪资选择10000以上时,试用期薪资不得低于8000"});
  936. return false;
  937. }
  938. }
  939. }
  940. $(this).html('正在保存...');
  941. $(this).addClass('qs-btn-border-disabled');
  942. $.ajax({
  943. headers: {'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')},
  944. url: "{{route('hardware.pad.job.add.save')}}",
  945. type: 'POST',
  946. dataType: 'json',
  947. data: {
  948. id:id,
  949. jobs_name: jobsnameValue,
  950. amount:amountValue ? amountValue : 0,
  951. jobcategory: jobcategoryValue,
  952. district: districtcategoryValue,
  953. wage: wageValue,
  954. wage_min: minwageValue,
  955. wage_max: maxwageValue,
  956. tag: tagValue,
  957. jobs_content: contentsValue,
  958. basis_contact: basis_contact,
  959. sex: sex,
  960. education: education,
  961. experience: experience,
  962. minage: minageValue,
  963. maxage: maxageValue,
  964. // zcid:techlevel,
  965. // zc_name:zcname,
  966. nature:nature,
  967. ygxs:ygxs,
  968. techlevel:techlevel,
  969. syq:syq,
  970. syq_min:syq_min,
  971. },
  972. success:function(result){
  973. if (result.status == 1) {
  974. qsToast({type:1,context: result.msg});
  975. setTimeout(function () {
  976. location.href = "{{route('hardware.pad.jobs.list')}}";
  977. }, 2000);
  978. } else {
  979. qsToast({type:2,context: result.msg});
  980. }
  981. },
  982. error:function(errorData){
  983. if (errorData.status==422) {//验证错误
  984. $.each(JSON.parse(errorData.responseText).errors,function (key,val) {
  985. qsToast({type:2,context: val[0]});
  986. });
  987. }
  988. else if(errorData.status==400) {//业务错误
  989. qsToast({type:2,context: errorData.responseJSON.message});
  990. }
  991. }
  992. });
  993. });
  994. </script>
  995. @endsection