job_analysis.blade.php 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425
  1. @extends('statistics.module.layouts.content')
  2. @push('meta')
  3. @endpush
  4. @push('css')
  5. @endpush
  6. @push('js')
  7. <script src="{{ theme_asset('app/js/echarts.common.min.js') }}"></script>
  8. @endpush
  9. @section('content')
  10. <div class="wide container company_recruitment_warp">
  11. @include('statistics.module.section.left_menu')
  12. <div class="cq_rt index_right">
  13. <div class="inside_timer">@include('statistics.module.section.timer')</div>
  14. <div class="index_summary_two">
  15. <div class="box-cell line">
  16. <div class="line-one">
  17. <div>企业总数<span>{{$all_company_num}}</span></div>
  18. <div>当前企业数量<span class="font-red">{{$current_company_num}}</span></div>
  19. </div>
  20. </div>
  21. <div class="box-cell line">
  22. <div class="line-one">
  23. <div>职位总数<span>{{$all_jobs_num}}</span></div>
  24. <div>当前职位数量<span class="font-red">{{$current_jobs_num}}</span></div>
  25. </div>
  26. </div>
  27. <div class="box-cell">
  28. <div class="line-one">
  29. <div>招聘总人数<span>{{$all_job_amount}}</span></div>
  30. <div>当前招聘人数<span class="font-red">{{$current_job_amount}}</span></div>
  31. </div>
  32. </div>
  33. <div class="clear"></div>
  34. </div>
  35. <div class="char-box c4">
  36. <div class="char-title no-icon">行业需求TOP10</div>
  37. <div id="demand" style="width: 100%;height: 275px;"></div>
  38. </div>
  39. <div class="char-box c4">
  40. <div class="char-title no-icon">职业大类TOP10+工资</div>
  41. <div id="jobclassification1" style="width: 100%;height: 275px;"></div>
  42. </div>
  43. <div class="char-box c4">
  44. <div class="char-title no-icon">职业小类TOP10+工资</div>
  45. <div id="jobclassification2" style="width: 100%;height: 275px;"></div>
  46. </div>
  47. <div class="char-box c4">
  48. <div class="char-title no-icon">学历分布</div>
  49. <div id="education" style="width: 100%;height: 275px;"></div>
  50. </div>
  51. <div class="char-box c4" style="width:900px;">
  52. <div class="char-title no-icon">工作经验</div>
  53. <div id="experience" style="width: 100%;height: 275px;"></div>
  54. </div>
  55. <div class="clear"></div>
  56. </div>
  57. <div class="clear"></div>
  58. </div>
  59. @endsection
  60. @section('script')
  61. <script type="text/javascript">
  62. var colorList =["#80a7d6","#bab6d3","#8ae0be","#fc766a","#f1d660","#d497df","#f88c8c","#f8b08c","#b2f88c","#8bc0df"];
  63. var genderColorList=["#4d8dff","#ff6992"]
  64. // 行业需求TOP10
  65. var chartData1 = [];
  66. var chartName1 = [];
  67. @if($trade_data)
  68. @foreach($trade_data as $k => $v)
  69. chartData1.push({value:"{{$v['num']}}",name:"{{$v['name']}}"});
  70. chartName1.push("{{$v['name']}}");
  71. @endforeach
  72. @endif
  73. var myChart1 = echarts.init(document.getElementById('demand'));
  74. myChart1.setOption({
  75. tooltip: {
  76. trigger: 'item',
  77. formatter: "{a} <br/>{b}: {c} ({d}%)"
  78. },
  79. legend: {
  80. //orient: 'vertical',
  81. textStyle:{
  82. color:'#555555',
  83. fontSize: 12,
  84. },
  85. left:10,
  86. top:5,
  87. bottom:5,
  88. itemWidth:15,
  89. itemHeight:8,
  90. data:chartName1
  91. },
  92. series: [
  93. {
  94. name:'行业需求TOP10',
  95. type:'pie',
  96. radius: ['30%', '55%'],
  97. center: ['50%', '70%'],
  98. clockwise :true,
  99. z:10,
  100. itemStyle: {
  101. normal: {
  102. color: function(params) {
  103. return colorList[params.dataIndex]
  104. },
  105. }
  106. },
  107. label: {
  108. show:false
  109. },
  110. labelLine: {
  111. normal: {
  112. length: 20,
  113. length2: 0,
  114. lineStyle:{
  115. width:2
  116. }
  117. }
  118. },
  119. data:chartData1
  120. }
  121. ]
  122. });
  123. // 职业大类TOP10+工资
  124. var chartData2 = [];
  125. var chartName2 = [];
  126. var chartData22 = [];
  127. @if($topclass_amount)
  128. @foreach($topclass_amount as $k=>$v)
  129. chartData2.push("{{$v}}");
  130. chartName2.push("{{$topclass_name[$k] or ''}}");
  131. chartData22.push("{{$topclass_wage[$k] or ''}}");
  132. @endforeach
  133. @endif
  134. var myChart2 = echarts.init(document.getElementById('jobclassification1'));
  135. myChart2.setOption({
  136. /*color: ['#ff5b82'],*/
  137. tooltip: {
  138. trigger: 'axis',
  139. axisPointer: {
  140. type: 'shadow'
  141. }
  142. },
  143. legend: {
  144. data: ['需求人数','平均工资']
  145. },
  146. grid: {
  147. top:'20',
  148. left: '5',
  149. right: '30',
  150. bottom: '10',
  151. containLabel: true
  152. },
  153. xAxis: {
  154. type: 'value',
  155. show:false,
  156. boundaryGap: [0, 0.01]
  157. },
  158. yAxis: {
  159. type: 'category',
  160. inverse:true, //是否反向坐标轴
  161. data: chartName2,
  162. axisLine:{
  163. show:false //是否显示坐标轴轴线
  164. },
  165. axisTick:{
  166. show:false //是否显示坐标轴刻度
  167. }
  168. },
  169. series: [
  170. { name:'需求人数',
  171. type: 'bar',
  172. barMaxWidth: '12',
  173. stack: '总量',
  174. label: {
  175. normal: {
  176. show: false,
  177. textStyle: {
  178. //color: '#000',
  179. fontSize: 12
  180. },
  181. //position: 'right',
  182. formatter: function(data) {
  183. // return chartData2[data.dataIndex]+'元'
  184. }
  185. }
  186. },
  187. data: chartData2
  188. },
  189. {
  190. name:'平均工资',
  191. type: 'bar',
  192. barMaxWidth: '12',
  193. stack: '总量',
  194. label: {
  195. normal: {
  196. show: true,
  197. textStyle: {
  198. //color: '#000',
  199. fontSize: 12
  200. },
  201. position: 'right',
  202. formatter: function(data) {
  203. return chartData22[data.dataIndex]+'元'
  204. }
  205. }
  206. },
  207. data: chartData22
  208. }
  209. ]
  210. });
  211. // 职业小类TOP10+工资
  212. var chartData3 = [];
  213. var chartName3 = [];
  214. var chartData33 = [];
  215. @if($subclass_amount)
  216. @foreach($subclass_amount as $k=>$v)
  217. chartData3.push("{{$v}}");
  218. chartName3.push("{{$subclass_name[$k] or ''}}");
  219. chartData33.push("{{$subclass_wage[$k] or ''}}");
  220. @endforeach
  221. @endif
  222. var myChart3 = echarts.init(document.getElementById('jobclassification2'));
  223. myChart3.setOption({
  224. tooltip: {
  225. trigger: 'axis',
  226. axisPointer: {
  227. type: 'shadow'
  228. }
  229. },
  230. legend: {
  231. data: ['需求人数','平均工资']
  232. },
  233. grid: {
  234. top:'20',
  235. left: '5',
  236. right: '30',
  237. bottom: '10',
  238. containLabel: true
  239. },
  240. xAxis: {
  241. type: 'value',
  242. show:false,
  243. boundaryGap: [0, 0.01]
  244. },
  245. yAxis: {
  246. type: 'category',
  247. inverse:true, //是否反向坐标轴
  248. data: chartName3,
  249. axisLine:{
  250. show:false //是否显示坐标轴轴线
  251. },
  252. axisTick:{
  253. show:false //是否显示坐标轴刻度
  254. }
  255. },
  256. series: [
  257. { name:'需求人数',
  258. type: 'bar',
  259. barMaxWidth: '12',
  260. stack: '总量',
  261. label: {
  262. normal: {
  263. show: false,
  264. textStyle: {
  265. fontSize: 12
  266. },
  267. formatter: function(data) {
  268. // return chartData2[data.dataIndex]+'元'
  269. }
  270. }
  271. },
  272. data: chartData3
  273. },
  274. {
  275. name:'平均工资',
  276. type: 'bar',
  277. barMaxWidth: '12',
  278. stack: '总量',
  279. label: {
  280. normal: {
  281. show: true,
  282. textStyle: {
  283. fontSize: 12
  284. },
  285. position: 'right',
  286. formatter: function(data) {
  287. return chartData33[data.dataIndex]+'元'
  288. }
  289. }
  290. },
  291. data: chartData33
  292. }
  293. ]
  294. });
  295. var colors = ['#2da1f9','#f9629a','#0063ed','#ff9b19'];
  296. //学历分布
  297. var chartData4 = [];
  298. var chartName4 = [];
  299. @if($edu_data)
  300. @foreach($edu_data as $k=>$v)
  301. chartData4.push("{{$v}}");
  302. chartName4.push("{{$edu_names[$k] or ''}}");
  303. @endforeach
  304. @endif
  305. var myChart4 = echarts.init(document.getElementById('education'));
  306. myChart4.setOption({
  307. color:colors,
  308. tooltip: {
  309. trigger: 'axis',
  310. axisPointer: { // 坐标轴指示器,坐标轴触发有效
  311. type: 'shadow' // 默认为直线,可选为:'line' | 'shadow'
  312. }
  313. },
  314. grid: {
  315. top: '20',
  316. left: '8',
  317. right: '8',
  318. bottom: '18',
  319. containLabel: true
  320. },
  321. xAxis: [{
  322. type: 'category',
  323. boundaryGap:true,
  324. axisTick:{
  325. alignWithLabel:true
  326. },
  327. axisLabel:{
  328. interval: 0, //坐标轴刻度标签的显示间隔 , 0 强制显示所有标签。
  329. rotate:-45, //刻度标签旋转的角度
  330. margin:10,
  331. textStyle: {
  332. color: '#333333',
  333. fontSize:10
  334. }
  335. },
  336. data: chartName4
  337. }],
  338. yAxis: [{
  339. type: 'value',
  340. name: '',
  341. axisLabel: {
  342. formatter: '{value}'
  343. }
  344. }],
  345. series: [{
  346. name:'职位数量',
  347. type: 'bar',
  348. barMaxWidth: '40',
  349. data: chartData4
  350. }]
  351. });
  352. //工作经验
  353. var chartData5 = [];
  354. var chartName5 = [];
  355. @if($exp_data)
  356. @foreach($exp_data as $k => $v)
  357. chartData5.push("{{$v}}");
  358. chartName5.push("{{$exp_names[$k]}}");
  359. @endforeach
  360. @endif
  361. var myChart5 = echarts.init(document.getElementById('experience'));
  362. myChart5.setOption({
  363. color:colors,
  364. tooltip: {
  365. trigger: 'axis',
  366. axisPointer: { // 坐标轴指示器,坐标轴触发有效
  367. type: 'shadow' // 默认为直线,可选为:'line' | 'shadow'
  368. }
  369. },
  370. grid: {
  371. top: '20',
  372. left: '8',
  373. right: '8',
  374. bottom: '18',
  375. containLabel: true
  376. },
  377. xAxis: [{
  378. type: 'category',
  379. boundaryGap:true,
  380. axisTick:{
  381. alignWithLabel:true
  382. },
  383. axisLabel:{
  384. interval: 0, //坐标轴刻度标签的显示间隔 , 0 强制显示所有标签。
  385. rotate:-45, //刻度标签旋转的角度
  386. margin:10,
  387. textStyle: {
  388. color: '#333333',
  389. fontSize:10
  390. }
  391. },
  392. data: chartName5
  393. }],
  394. yAxis: [{
  395. type: 'value',
  396. name: '',
  397. axisLabel: {
  398. formatter: '{value}'
  399. }
  400. }],
  401. series: [{
  402. name:'职位数量',
  403. type: 'bar',
  404. barMaxWidth: '40',
  405. data: chartData5
  406. }]
  407. });
  408. </script>
  409. @endsection