edit.blade.php 49 KB

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