jobfair_com.blade.php 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406
  1. @extends('module.layouts.content')
  2. @push('meta')
  3. @endpush
  4. @push('css')
  5. <link href="{{ theme_asset('app/css/common.css') }}" rel="stylesheet">
  6. <link href="{{theme_asset('app/css/jobfair/newjobfair.css')}}" rel="stylesheet"/>
  7. <link rel="stylesheet" type="text/css" href="{{ theme_asset('app/css/company/company_ajax_dialog.css')}}"/>
  8. <link rel="stylesheet" type="text/css" href="{{ theme_asset('app/css/common_ajax_dialog.css')}}"/>
  9. <style>
  10. .school_table table{border-collapse:collapse;}
  11. .school_table td,.jobfairshow_1.jobfair_fuwai_1 th{border: #666666 1px solid;padding-left: 8px;}
  12. .school_table table a{color: #666666;text-decoration: none;}
  13. .school_table table a:hover{color: #0087ff;}
  14. </style>
  15. @endpush
  16. @push('js')
  17. <script type="text/javascript" src="https://api.map.baidu.com/api?v=2.0&ak={{ subsite_config('aix.system.map.map.map_ak') }}&s=1"></script>
  18. @endpush
  19. @section('content')
  20. <div class="newjobfair">
  21. {{--banner信息--}}
  22. <div class="jobfairshow_top_info">
  23. <div class="top_info_des">
  24. <div class="j_name">{{ $jobfair->title }}</div>
  25. <div class="top_info_l">
  26. <div class="t1">举办时间:{{date('Y年m月d日',$jobfair->holddate_start)}} - {{date('Y年m月d日',$jobfair->holddate_end)}}({{date('H:i',$jobfair->holddate_start)}}-{{date('H:i',$jobfair->holddate_end)}})</div>
  27. <div class="t2">举办地点:{{ $jobfair->address }}</div>
  28. <div class="t3">联系方式:{{ $jobfair->phone }}</div>
  29. <div class="t3">预订时间:{{date('Y年m月d日 H:i',$jobfair->predetermined_start)}} - {{date('Y年m月d日 H:i',$jobfair->predetermined_end)}}</div>
  30. </div>
  31. <div class="top_info_r">
  32. <div class="online_order_btn">
  33. @if($jobfair->predetermined_end > time())
  34. @if(!$jobfair->is_appointment)
  35. <a class="">在线预订</a>
  36. @else
  37. <a class="btn_disabled">已预定</a>
  38. @endif
  39. @else
  40. <a class="btn_disabled">停止预订</a>
  41. @endif
  42. </div>
  43. <div class="other_info">
  44. <div class="t1">参会企业:<span>{{ count($jobfairCompany) }}</span>家</div>
  45. <div class="t2">需求人数:<span>{{$needPersonCount}}</span>人</div>
  46. </div>
  47. </div>
  48. <div class="clear"></div>
  49. </div>
  50. @if(get_subsite_open())
  51. <span class="subsite">来源:{{$jobfair->sitename or '总站'}}</span>
  52. @endif
  53. </div>
  54. <div class="jobfair_detail_show">
  55. <div class="tabs">
  56. <ul>
  57. <li class="active">招聘会信息</li>
  58. <li>参会企业</li>
  59. <li>交通线路</li>
  60. </ul>
  61. </div>
  62. <div class="tabs_show">
  63. {{--招聘会信息--}}
  64. <div class="tabs_show_item newjobfairitem" style="display: block;">
  65. <div class="txt">
  66. {!! nl2br($jobfair->jobfair_introduction) !!}
  67. </div>
  68. <div class="stit">招聘会时间,地点</div>
  69. <div class="txt">
  70. 举办时间:{{date('Y年m月d日 H:i',$jobfair->holddate_start)}} - {{date('Y年m月d日 H:i',$jobfair->holddate_end)}}<br />
  71. 预定时间:{{date('Y年m月d日 H:i',$jobfair->predetermined_start)}} - {{date('Y年m月d日 H:i',$jobfair->predetermined_end)}}<br />
  72. 举办地点:{{ $jobfair->address }}
  73. </div>
  74. <div class="stit">摊位设置及费用</div>
  75. <div class="txt">
  76. 展位数量/剩余:{{ $jobfair->number }}/{{ $jobfair->countSurplus }}<br />
  77. 摊位设置及费用:@if($jobfair->is_commonweal ==3) 免费 @elseif ($jobfair->is_commonweal ==2) {{ $jobfair->predetermined_point }}积分 @else {{ $jobfair->jobsfair_num }}场次 @endif
  78. </div>
  79. <div class="stit">参会报名办法</div>
  80. <div class="txt">官网报名</div>
  81. @if($jobfair->school_id)
  82. <div class="stit">高校信息</div>
  83. <div class="txt school_table">
  84. <table>
  85. <tr>
  86. <th width="10%">高校名称</th>
  87. <th width="10%">校徽</th>
  88. <th width="33%">简介</th>
  89. <th width="33%">优势专业</th>
  90. <th width="14%">其他信息</th>
  91. </tr>
  92. @foreach($schools as $school)
  93. <tr>
  94. <td align="center"><a href="{{$school->url}}" target="_blank">{{$school->name}}</a></td>
  95. <td align="center"><img src="{{upload_asset($school->logo)}}" width="150px"></td>
  96. <td align="center">{{strip_tags($school->introduce) }} </td>
  97. <td align="center">{{$school->major}}</td>
  98. <td align="center">{{$school->remarks}}</td>
  99. </tr>
  100. @endforeach
  101. </table>
  102. </div>
  103. @endif
  104. </div>
  105. {{--参会企业--}}
  106. <div class="tabs_show_item" id="join_com" data-v="false">
  107. @if($jobfairCompany->isNotEmpty())
  108. <div id="waterfall_main" class="waterfall_main list load_more_body">
  109. @foreach($jobfairCompany as $key=>$val)
  110. <div class="wf_box wf_element">
  111. <div>
  112. <a href="{{ route('jobfairout.company',['jobfair_id'=>$val->jobfair_id,'company_id'=>$val->company_id]) }}" target="_blank" class="comName">{{ $val->companys->companyname or '' }}</a>
  113. </div>
  114. <p>
  115. @if(!$val->jobfairPutJob->isEmpty())
  116. @foreach($val->jobfairPutJob as $ke => $va)
  117. <a href="{{ route('jobfairout.show.quarters',['id'=>$va->id]) }}" target="_blank" title="{{ $va->jobs->jobs_name }}">{{ $va->jobs->jobs_name }}({{ $va->jobs->amount or '若干' }})</a>
  118. @endforeach
  119. @else
  120. <a href="javascript:;" style="color:#999">暂无职位</a>
  121. @endif
  122. </p>
  123. </div>
  124. @endforeach
  125. </div>
  126. @if($more)
  127. <div class="load_more_footer">
  128. <span page="1" jobfair_id="{{ $jobfair->id }}">加载更多</span>
  129. </div>
  130. @endif
  131. @endif
  132. </div>
  133. {{--交通线路--}}
  134. <div class="tabs_show_item" id="map_item" data-v="false">
  135. <div class="map" id="container" style="width:1130px;margin: 0 auto;height:400px;"></div>
  136. </div>
  137. </div>
  138. </div>
  139. </div>
  140. @endsection
  141. @section('script')
  142. <script type="text/javascript" src="{{ theme_asset('app/js/jquery.disappear.tooltip.js') }}"></script>
  143. <script type="text/javascript" src="{{theme_asset('app/js/jquery.cxscroll.js')}}"></script>
  144. <script>
  145. var filter = {
  146. expr: function(o){
  147. var cls = this.replace(o.item || ".wf_element"),
  148. leftCls = this.replace(o.leftItem || ".wf_temp"),
  149. rightCls = this.replace(o.rightItem || ".wf_rank");
  150. $.extend($.expr[':'],{
  151. node:function(a){
  152. return $(a).hasClass(cls);
  153. },
  154. leftNode: function(a){
  155. return $(a).hasClass(leftCls);
  156. },
  157. rightNode: function(a){
  158. return $(a).hasClass(rightCls);
  159. }
  160. });
  161. },
  162. replace: function(cls){
  163. var regExp = /[.#]/g,
  164. whitespace = /\s/g;
  165. if(whitespace.test(cls)){
  166. cls = cls.split(' ')[0];
  167. }
  168. return cls.replace(regExp, '');
  169. }
  170. }
  171. function Waterfall(o){
  172. this.target = o.target || $('#waterfall_main');
  173. this.targetItem = o.targetItem || '.wf_box';
  174. this.colWidth = o.colWidth || 0;
  175. this.colCount = o.colCount || 4;
  176. filter.expr(o);
  177. this.init();
  178. }
  179. Waterfall.prototype = {
  180. init:function(){
  181. var self = this,
  182. col = [],
  183. nodes = self.target.find(":node"),
  184. leftNodes = self.target.find(":leftNode"),
  185. rightNodes = self.target.find(":rightNode"),
  186. nodeLen = nodes.length,
  187. leftLen = leftNodes.length,
  188. rightLen = rightNodes.length;
  189. for(var i = 0; i < self.colCount; i++){
  190. col[i] = 0;
  191. if(i == 0 && leftLen){
  192. for(var j = 0; j < leftLen; j++){
  193. col[i] += leftNodes.eq(j).outerHeight(true);
  194. }
  195. }
  196. if(i == self.colCount - 1 && rightLen){
  197. for(var j = 0; j < rightLen; j++){
  198. col[i] += rightNodes.eq(j).outerHeight(true);
  199. }
  200. }
  201. }
  202. nodes.each(function(){
  203. this.h = $(this).outerHeight(true);
  204. if($(this).hasClass(filter.replace(self.targetItem))){
  205. var ming = self.getMinCol(col);
  206. $(this).css({"left": ming * self.colWidth, "top": col[ming]});
  207. col[ming] += this.h;
  208. }
  209. });
  210. self.target.css('height', self.maxHeight(col));
  211. },
  212. setColWidth:function(wid){
  213. this.colWidth = wid;
  214. },
  215. setColCount:function(col){
  216. this.colCount = col;
  217. },
  218. maxHeight:function(arr){
  219. var len = arr.length,temp = arr[0];
  220. for(var i= 1; i < len; i++){
  221. if(temp < arr[i]){
  222. temp = arr[i];
  223. }
  224. }
  225. return temp;
  226. },
  227. getMinCol:function(arr){
  228. var ca = arr,cl = ca.length,temp = ca[0],minc = 0;
  229. for(var ci = 0; ci < cl; ci++){
  230. if(temp > ca[ci]){
  231. temp = ca[ci];
  232. minc = ci;
  233. }
  234. }
  235. return minc;
  236. }
  237. };
  238. var content = $('#waterfall_main');
  239. var item = content.find('.wf_element'),
  240. itemWidth = item.outerWidth(),/*取瀑布流元素宽*/
  241. contentWidth = 1162, /*取容器宽*/
  242. list_sum = parseInt(contentWidth / itemWidth),
  243. list_sum_margin = list_sum - 1, /*取元素间距的值*/
  244. left = (contentWidth - itemWidth * list_sum) / list_sum_margin;
  245. if(itemWidth * list_sum > contentWidth){
  246. list_sum -= 1;
  247. left = contentWidth - itemWidth * list_sum;
  248. }
  249. var colWidth = itemWidth + left;
  250. var waterfall = new Waterfall({
  251. //设定列宽度
  252. "colWidth": colWidth,
  253. //设定显示列数
  254. "colCount": 2
  255. });
  256. content.on('mouseenter', '.wf_box', function(){
  257. $(this).addClass('wf_hov');
  258. }).on('mouseleave', '.wf_box', function(){
  259. $(this).removeClass('wf_hov');
  260. });
  261. $(function () {
  262. function map() {
  263. var map = new BMap.Map("container"); // 创建地图实例
  264. var opts = {
  265. width : 300, // 信息窗口宽度
  266. height: 60, // 信息窗口高度
  267. }
  268. var infoWindow = new BMap.InfoWindow("举办地址:{{ $jobfair->address }}<br />举办开始时间:{{date('Y年m月d日 H:i:s',$jobfair->holddate_start)}}", opts); // 创建信息窗口对象
  269. var point = new BMap.Point('{{ $jobfair->map_x }}','{{ $jobfair->map_y }}'); // 创建点坐标
  270. map.centerAndZoom(point, 16);
  271. var qs_marker = new BMap.Marker(point); // 创建标注
  272. map.addOverlay(qs_marker);
  273. map.openInfoWindow(infoWindow,point);
  274. map.setCenter(point);
  275. map.addControl(new BMap.NavigationControl());//添加鱼骨
  276. map.enableScrollWheelZoom();//启用滚轮放大缩小,默认禁用。
  277. }
  278. //banner上在线预订按钮
  279. $(".online_order_btn a").on('click',function(){
  280. var status = "{{$jobfair->predetermined_ok}}";
  281. if(status == 0){
  282. disapperTooltip("remind", '该招聘会已停止预定');
  283. return false;
  284. }
  285. var $this = $(this);
  286. var jobfair_id = "{{ $jobfair->id }}";
  287. var url = "{{ route('jobfairout.appoint.save') }}";
  288. $.getJSON(url,{jobfair_id:jobfair_id},function (res) {
  289. if (res.status == 1) {
  290. var qsDialog = $(this).dialog({
  291. title: '预定招聘会',
  292. loading: true,
  293. border: false,
  294. footer:true,
  295. yes: function() {
  296. $.post(url,{jobfair_id:jobfair_id,_token:"{{ csrf_token() }}"},function(result){
  297. if(result.status==1){
  298. var qsDialog1 = $(this).dialog({
  299. title: '预定成功',
  300. loading: true,
  301. border: false,
  302. footer:true,
  303. yes: function() {
  304. window.location = "{{ route('jobfairout.enact') }}";
  305. }
  306. });
  307. qsDialog1.setContent(result.msg);
  308. }else{
  309. disapperTooltip("remind", result.msg);
  310. }
  311. });
  312. }
  313. });
  314. qsDialog.setContent(res.msg);
  315. } else {
  316. disapperTooltip("remind", res.msg);
  317. if(res.type == 1){
  318. var qsDialogSon = $(this).dialog({
  319. title: '企业会员登录',
  320. loading: true,
  321. border: false,
  322. footer:false,
  323. });
  324. qsDialogSon.setContent(res.html);
  325. }
  326. }
  327. })
  328. });
  329. // 招聘会tab切换
  330. $(".jobfair_detail_show .tabs li").click(function () {
  331. var index = $(this).index();
  332. $(this).addClass("active").siblings().removeClass("active");
  333. $(".tabs_show .tabs_show_item").eq(index).slideDown().siblings().slideUp();
  334. if($("#join_com").is(":visible") && !$("#join_com").data("v")){
  335. waterfall.init();
  336. $("#join_com").data("v","true");
  337. }
  338. if($("#map_item").is(":visible") && !$("#map_item").data("v")){
  339. map();
  340. $("#map_item").data("v","true");
  341. }
  342. })
  343. @if($more)
  344. /**
  345. * 监听网页滚动事件
  346. */
  347. var f = true;
  348. $(window).on("scroll",function () {
  349. var isShow = $("#join_com").is(":visible");
  350. if($(".load_more_footer span").hasClass("end")){
  351. return false;
  352. }
  353. var h = document.documentElement.clientHeight || document.body.clientHeight;
  354. var sh = document.documentElement.scrollTop || document.body.scrollTop;
  355. var t1 = document.querySelector(".load_more_footer").offsetTop- sh;
  356. //可视区域
  357. if (t1 < h && isShow && f ) {
  358. s();
  359. }else{
  360. //console.log("hidden")
  361. }
  362. });
  363. var s = function () {
  364. var page = $(".load_more_footer span").attr('page');
  365. $.ajax({
  366. type:"get",
  367. url:"{{ route('jobfairout.show.com',['id'=>$jobfair->id]) }}",
  368. data:{
  369. page:page
  370. },
  371. beforeSend:function () {
  372. f = false;
  373. $(".load_more_footer span").html('正在加载').addClass("loading");
  374. },
  375. success:function (result) {
  376. if(result.status==1){
  377. $(".load_more_body").append(result.data);
  378. $(".load_more_footer span").attr('page',parseInt(page)+1);
  379. $(".load_more_footer span").html('加载更多').removeClass("loading");
  380. waterfall.init();
  381. }else {
  382. $(".load_more_footer span").html('-----没有更多了-----').removeClass("loading").addClass("end");
  383. }
  384. },
  385. complete:function () {
  386. f = true;
  387. }
  388. })
  389. }
  390. @endif
  391. })
  392. </script>
  393. @endsection