job_anaysis.blade.php 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359
  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 person_job_warp">
  11. @include('statistics.module.section.left_menu')
  12. <div class="cq_rt index_right">
  13. <div class="inside_timer">
  14. @include('statistics.module.section.timer')
  15. </div>
  16. <div class="person_basic_total">
  17. <div class="box-cell line">
  18. <div class="line-one" style="padding-top:15px;">
  19. <div>个人会员总数<span>{{$all_member_num}}</span></div>
  20. <div>当前个人会员数量<span class="font-red">{{$current_member_num}}</span></div>
  21. </div>
  22. </div>
  23. <div class="box-cell">
  24. <div class="line-one" style="padding-top:15px;">
  25. <div>简历总数<span>{{$resume_all_nums}}</span></div>
  26. <div>当前简历数量<span class="font-red">{{$resume_current_nums}}</span></div>
  27. </div>
  28. </div>
  29. <div class="clear"></div>
  30. </div>
  31. <div class="char-box c3">
  32. <div class="char-title no-icon">职位大类TOP10</div>
  33. <div id="jobclassification1" style="width: 100%;height: 350px;"></div>
  34. </div>
  35. <div class="char-box c3">
  36. <div class="char-title no-icon">职位小类TOP10</div>
  37. <div id="jobclassification2" style="width: 100%;height: 350px;"></div>
  38. </div>
  39. <div class="char-box c3">
  40. <div class="char-title no-icon">按学历分布的薪资</div>
  41. <div id="salary" style="width: 100%;height: 285px;"></div>
  42. </div>
  43. <div class="char-box c3" style="height: 430px;">
  44. <div class="char-title no-icon">投递行业TOP10</div>
  45. <div id="apply" style="width: 100%;height: 385px;"></div>
  46. </div>
  47. <div class="clear"></div>
  48. </div>
  49. <div class="clear"></div>
  50. </div>
  51. @endsection
  52. @section('script')
  53. <script type="text/javascript">
  54. var colors = ['#2da1f9','#f9629a','#0063ed','#ec948a'];
  55. //职位大类TOP10
  56. var chartData1 = [];
  57. var chartName1 = [];
  58. @if($top_data)
  59. @foreach($top_data as $k => $v)
  60. chartData1.push('{{$v}}');
  61. chartName1.push("{{$top_name_data[$k] or ''}}");
  62. @endforeach
  63. @endif
  64. var myChart1 = echarts.init(document.getElementById('jobclassification1'));
  65. myChart1.setOption({
  66. color:colors,
  67. tooltip: {
  68. trigger: 'axis',
  69. axisPointer: { // 坐标轴指示器,坐标轴触发有效
  70. type: 'shadow' // 默认为直线,可选为:'line' | 'shadow'
  71. }
  72. },
  73. grid: {
  74. top: '40',
  75. left: '40',
  76. right: '40',
  77. bottom: '18',
  78. containLabel: true
  79. },
  80. xAxis: [{
  81. type: 'category',
  82. boundaryGap:true,
  83. axisTick:{
  84. alignWithLabel:true
  85. },
  86. axisLabel:{
  87. interval: 0, //坐标轴刻度标签的显示间隔 , 0 强制显示所有标签。
  88. //rotate:-45, //刻度标签旋转的角度
  89. margin:10,
  90. textStyle: {
  91. color: '#333333',
  92. fontSize:10
  93. },
  94. formatter: function(params, index) {
  95. var splitNum=[6, 6, 8, 10]
  96. var newParamsName = "";
  97. var splitNumber = 7;
  98. var paramsNameNumber = params && params.length;
  99. if (paramsNameNumber && paramsNameNumber <= 4) {
  100. splitNumber = splitNum[0] || 4;
  101. } else if (paramsNameNumber >= 5 && paramsNameNumber <= 7) {
  102. splitNumber = splitNum[1] || 4;
  103. } else if (paramsNameNumber >= 8 && paramsNameNumber <= 9) {
  104. splitNumber = splitNum[2] || 4;
  105. } else if (paramsNameNumber >= 10 && paramsNameNumber <= 14) {
  106. splitNumber = splitNum[3] || 5;
  107. } else if (paramsNameNumber >= 15 && paramsNameNumber <= 16) {
  108. splitNumber = splitNum[4] || 6;
  109. } else if (paramsNameNumber >= 17 && paramsNameNumber <= 20) {
  110. splitNumber = splitNum[5] || 6;
  111. } else {
  112. params = params && params.slice(0, 21);
  113. }
  114. var provideNumber = splitNumber; //一行显示几个字
  115. var rowNumber = Math.ceil(paramsNameNumber / provideNumber) || 0;
  116. if (paramsNameNumber > provideNumber) {
  117. for (var p = 0; p < rowNumber; p++) {
  118. var tempStr = "";
  119. var start = p * provideNumber;
  120. var end = start + provideNumber;
  121. if (p == rowNumber - 1) {
  122. tempStr = params.substring(start, paramsNameNumber);
  123. } else {
  124. tempStr = params.substring(start, end) + "\n";
  125. }
  126. newParamsName += tempStr;
  127. }
  128. } else {
  129. newParamsName = params;
  130. }
  131. return newParamsName;
  132. }
  133. },
  134. data: chartName1
  135. }],
  136. yAxis: [{
  137. type: 'value',
  138. name: '',
  139. axisLabel: {
  140. formatter: '{value}'
  141. }
  142. }],
  143. series: [{
  144. type: 'bar',
  145. barMaxWidth: '40',
  146. data: chartData1
  147. }]
  148. });
  149. //职位小类TOP10
  150. var chartData2 = [];
  151. var chartName2 = [];
  152. @if($second_data)
  153. @foreach($second_data as $k => $v)
  154. chartData2.push('{{$v}}');
  155. chartName2.push("{{$second_name_data[$k] or ''}}");
  156. @endforeach
  157. @endif
  158. var myChart2 = echarts.init(document.getElementById('jobclassification2'));
  159. myChart2.setOption({
  160. color:colors[3],
  161. tooltip: {
  162. trigger: 'axis',
  163. axisPointer: { // 坐标轴指示器,坐标轴触发有效
  164. type: 'shadow' // 默认为直线,可选为:'line' | 'shadow'
  165. }
  166. },
  167. grid: {
  168. top: '40',
  169. left: '40',
  170. right: '40',
  171. bottom: '18',
  172. containLabel: true
  173. },
  174. xAxis: [{
  175. type: 'category',
  176. boundaryGap:true,
  177. axisTick:{
  178. alignWithLabel:true
  179. },
  180. axisLabel:{
  181. interval: 0, //坐标轴刻度标签的显示间隔 , 0 强制显示所有标签。
  182. rotate:-45, //刻度标签旋转的角度
  183. margin:10,
  184. textStyle: {
  185. color: '#333333',
  186. fontSize:10
  187. }
  188. },
  189. data: chartName2
  190. }],
  191. yAxis: [{
  192. type: 'value',
  193. name: '',
  194. axisLabel: {
  195. formatter: '{value}'
  196. }
  197. }],
  198. series: [{
  199. type: 'bar',
  200. barMaxWidth: '40',
  201. data: chartData2
  202. }]
  203. });
  204. //按学历分布的薪资
  205. var chartData3 = [];
  206. var chartName3 = [];
  207. @if($wage_data)
  208. @foreach($wage_data as $k => $v)
  209. chartData3.push('{{$v}}');
  210. chartName3.push("{{$edu_data[$k] or ''}}");
  211. @endforeach
  212. @endif
  213. var colors1 = ["#ec948a","#eab374","#54b7ea","#61c5d0","#a9e0d4","#bddb89","#44d4b0","#99b5ff","#797bac","#8bc0df"];
  214. var myChart3 = echarts.init(document.getElementById('salary'));
  215. myChart3.setOption({
  216. color:'#ff5b82',
  217. tooltip: {
  218. trigger: 'axis',
  219. axisPointer: { // 坐标轴指示器,坐标轴触发有效
  220. type: 'shadow' // 默认为直线,可选为:'line' | 'shadow'
  221. }
  222. },
  223. grid: {
  224. top: '40',
  225. left: '40',
  226. right: '40',
  227. bottom: '18',
  228. containLabel: true
  229. },
  230. xAxis: [{
  231. type: 'category',
  232. //show:false,
  233. boundaryGap:true,
  234. axisTick:{
  235. alignWithLabel:true
  236. },
  237. axisLabel:{
  238. interval: 0, //坐标轴刻度标签的显示间隔 , 0 强制显示所有标签。
  239. rotate:-45, //刻度标签旋转的角度
  240. textStyle: {
  241. color: '#333333',
  242. fontSize:10
  243. },
  244. },
  245. data: chartName3
  246. }],
  247. yAxis: [{
  248. type: 'value',
  249. name: '',
  250. min:0,
  251. splitNumber:6,
  252. minInterval:3000,
  253. axisLabel: {
  254. formatter: '{value}元'
  255. }
  256. }],
  257. series: [{
  258. name:'薪资',
  259. type: 'bar',
  260. barMaxWidth: '40',
  261. label: {
  262. normal: {
  263. show: false,
  264. textStyle: {
  265. color: '#fff',
  266. fontSize: 14
  267. }
  268. }
  269. },
  270. data: chartData3
  271. }]
  272. });
  273. //投递行业TOP10
  274. var chartData4 = [];
  275. var chartName4 = [];
  276. @if($apply_name)
  277. @foreach($apply_name as $k => $v)
  278. chartName4.push('{{$v}}');
  279. chartData4.push("{{$apply_data[$k] or ''}}");
  280. @endforeach
  281. @endif
  282. var myChart4 = echarts.init(document.getElementById('apply'));
  283. myChart4.setOption({
  284. color:'#eab374',
  285. tooltip: {
  286. trigger: 'axis',
  287. axisPointer: { // 坐标轴指示器,坐标轴触发有效
  288. type: 'shadow' // 默认为直线,可选为:'line' | 'shadow'
  289. }
  290. },
  291. grid: {
  292. top: '40',
  293. left: '40',
  294. right: '40',
  295. bottom: '18',
  296. containLabel: true
  297. },
  298. xAxis: [{
  299. type: 'category',
  300. boundaryGap:true,
  301. axisTick:{
  302. alignWithLabel:true
  303. },
  304. axisLabel:{
  305. interval: 0, //坐标轴刻度标签的显示间隔 , 0 强制显示所有标签。
  306. rotate:-45, //刻度标签旋转的角度
  307. margin:10,
  308. textStyle: {
  309. color: '#333333',
  310. fontSize:10
  311. }
  312. },
  313. data: chartName4
  314. }],
  315. yAxis: [{
  316. type: 'value',
  317. name: '',
  318. axisLabel: {
  319. formatter: '{value}'
  320. }
  321. }],
  322. series: [{
  323. name:'投递简历数量',
  324. type: 'bar',
  325. barMaxWidth: '40',
  326. data: chartData4
  327. }]
  328. });
  329. </script>
  330. @endsection