index.js 47 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530
  1. let barImg =
  2. 'data:image/png;base64,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'
  3. let app = new Vue({
  4. el: '#app',
  5. data () {
  6. return {
  7. showTip: false,
  8. tipNum: '',
  9. time: '',
  10. year: '2022',
  11. config1: {
  12. number: [100],
  13. content: '{nt}个',
  14. },
  15. centerData: '',
  16. storageRecordConfig: {
  17. header: ['时间', '所属集团', '工作情况'],
  18. headerBGC: '#05507b33',
  19. oddRowBGC: '#69c0ff0f',
  20. evenRowBGC: '',
  21. headerHeight: '40',
  22. rowNum: 4,
  23. align: ['center'],
  24. data: [
  25. ['2022年1月', '山西焦煤', '已经开展高层次人才引进工作'],
  26. ['2022年2月', '山西文旅', '不能按期完成序时进度'],
  27. ['2022年3月', '大地控股', '已经实现中长期激励机制贯彻'],
  28. ['2022年4月', '国际能源', '薪酬结果没有做到公开'],
  29. ['2022年5月', '山西焦煤', '已经开展高层次人才引进工作'],
  30. ['2022年6月', '山西焦煤', '不能按期完成序时进度'],
  31. ],
  32. },
  33. storageRecordConfig2: {
  34. header: ['企业名称', '预警内容', '数据抓取日期', '累计未获取数据日期'],
  35. headerBGC: '#05507b33',
  36. oddRowBGC: '#05507b33',
  37. evenRowBGC: '',
  38. headerHeight: '40',
  39. rowNum: 4,
  40. align: ['center', 'center', 'center', 'center'],
  41. data: [
  42. ['山西焦煤', '经营业绩考核延迟更新', '2022.12.01-12.31', '3天'],
  43. ['山西文旅', '六定长效机制情况未更新', '2022.12.01-12.31', '7天'],
  44. ['大地控股', '经营业绩考核延迟更新', '2022.12.01-12.31', '3天'],
  45. ['国际能源', '六定长效机制情况未更新', '2022.12.01-12.31', '1天'],
  46. ['山西焦煤', '经营业绩考核延迟更新', '2022.12.01-12.31', '3天'],
  47. ['山西焦煤', '六定长效机制情况未更新', '2022.12.01-12.31', '3天'],
  48. ],
  49. },
  50. companyList: companyList,
  51. commonOption: {
  52. title: {
  53. text: 'xxx',
  54. x: 'center',
  55. y: '3%',
  56. textStyle: {
  57. color: '#69C0FF',
  58. fontSize: 24,
  59. },
  60. },
  61. tooltip: {
  62. trigger: 'axis',
  63. axisPointer: {
  64. type: 'shadow',
  65. },
  66. },
  67. grid: {
  68. top: '22%',
  69. right: '5%',
  70. left: '8%',
  71. bottom: '20%',
  72. },
  73. legend: {
  74. data: '',
  75. top: '12%',
  76. right: '5%',
  77. textStyle: {
  78. color: 'rgba(250,250,250,0.6)',
  79. fontSize: 16,
  80. },
  81. },
  82. xAxis: {
  83. data: companyList.map(item => item.name),
  84. axisLine: {
  85. show: false, //隐藏X轴轴线
  86. lineStyle: {
  87. color: '#005094',
  88. width: 1,
  89. },
  90. },
  91. axisTick: {
  92. show: false, //隐藏X轴刻度
  93. },
  94. axisLabel: {
  95. show: true,
  96. rotate: 50,
  97. textStyle: {
  98. color: 'rgba(255,255,255,0.6)', //X轴文字颜色
  99. fontSize: 16,
  100. },
  101. },
  102. },
  103. yAxis: [
  104. {
  105. type: 'value',
  106. nameTextStyle: {
  107. color: '#ebf8ac',
  108. fontSize: 16,
  109. },
  110. splitLine: {
  111. show: true,
  112. lineStyle: {
  113. color: '#68b4dd66',
  114. type: 'dashed',
  115. },
  116. },
  117. axisLine: {
  118. show: false,
  119. },
  120. axisLabel: {
  121. show: true,
  122. textStyle: {
  123. color: 'rgba(250,250,250,0.6)',
  124. fontSize: 16,
  125. },
  126. },
  127. },
  128. ],
  129. },
  130. }
  131. },
  132. mounted () {
  133. this.time = formatDate()
  134. this.timer = setInterval(() => {
  135. this.time = formatDate()
  136. }, 1000)
  137. this.centerData = data
  138. // 左侧图表
  139. this.initChartL1()
  140. this.initChartL2()
  141. this.initChartL3()
  142. this.initChartL4()
  143. this.initChartL5()
  144. this.initChartL6()
  145. this.initChartL7()
  146. this.initChartL8()
  147. // 中间图表
  148. this.initChartC1()
  149. this.initChartC2()
  150. // 右侧图表
  151. this.initChartR1()
  152. this.initChartR2()
  153. this.initChartR3()
  154. this.initChartR4()
  155. this.initChartR5()
  156. this.initChartR6()
  157. this.initChartR7()
  158. this.initChartR8()
  159. },
  160. beforeDestroy () {
  161. if (this.timer) {
  162. clearInterval(this.timer);
  163. }
  164. },
  165. methods: {
  166. handleShowTip(index){
  167. this.showTip = true
  168. this.tipNum = index
  169. },
  170. numFormat (value) {
  171. if (!value) return '0'
  172. var intPart = Number(value).toFixed(0) // 获取整数部分
  173. var intPartFormat = intPart.toString().replace(/(\d)(?=(?:\d{3})+$)/g, '$1,') // 将整数部分逢三一断
  174. var floatPart = '.00' // 预定义小数部分
  175. var value2Array = value.toString().split('.')
  176. // =2表示数据有小数位
  177. if (value2Array.length === 2) {
  178. floatPart = value2Array[1].toString() // 拿到小数部分
  179. if (floatPart.length === 1) {
  180. // 补0
  181. return intPartFormat + '.' + floatPart + '0'
  182. } else {
  183. return intPartFormat + '.' + floatPart
  184. }
  185. } else {
  186. return intPartFormat
  187. }
  188. },
  189. initChartL1 () {
  190. let myChart = echarts.init(this.$refs['echartL1'])
  191. let option = {
  192. ..._.cloneDeep(this.commonOption),
  193. series: [
  194. {
  195. name: '总部机构数核定上限',
  196. type: 'line',
  197. yAxisIndex: 1, //使用的 y 轴的 index,在单个图表实例中存在多个 y轴的时候有用
  198. smooth: true, //平滑曲线显示
  199. showAllSymbol: true, //显示所有图形。
  200. symbol: 'circle', //标记的图形为实心圆
  201. symbolSize: 8, //标记的大小
  202. smooth: false,
  203. itemStyle: {
  204. //折线拐点标志的样式
  205. color: '#fbe138',
  206. borderColor: '#fbe138',
  207. width: 2,
  208. shadowColor: '#fbe138',
  209. shadowBlur: 4,
  210. },
  211. lineStyle: {
  212. color: '#fbe138',
  213. width: 2,
  214. },
  215. data: dataL1[2],
  216. },
  217. {
  218. name: '六定改革前总部机构数',
  219. type: 'bar',
  220. barWidth: 15,
  221. itemStyle: {
  222. normal: {
  223. color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
  224. {
  225. offset: 0,
  226. color: '#43ede3',
  227. },
  228. {
  229. offset: 1,
  230. color: '#082550',
  231. },
  232. ]),
  233. },
  234. },
  235. data: dataL1[0],
  236. },
  237. {
  238. name: '当前各省属企业总部机构数',
  239. type: 'bar',
  240. barWidth: 15,
  241. itemStyle: {
  242. normal: {
  243. color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
  244. {
  245. offset: 0,
  246. color: '#69c0ff',
  247. },
  248. {
  249. offset: 1,
  250. color: '#082550',
  251. },
  252. ]),
  253. },
  254. },
  255. data: dataL1[1],
  256. },
  257. ],
  258. }
  259. option.title.text = '当前各省属企业总部机构数'
  260. option.legend.data = ['六定改革前总部机构数', '当前各省属企业总部机构数', '总部机构数核定上限']
  261. option.yAxis.push({
  262. splitLine: {
  263. show: false,
  264. },
  265. axisLine: {
  266. show: false,
  267. },
  268. })
  269. myChart.setOption(option)
  270. },
  271. initChartL2 () {
  272. let myChart = echarts.init(this.$refs['echartL2'])
  273. let option = {
  274. ..._.cloneDeep(this.commonOption),
  275. series: [
  276. {
  277. name: '当前共享服务中心/事业部数',
  278. type: 'bar',
  279. barWidth: 15,
  280. itemStyle: {
  281. normal: {
  282. color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
  283. {
  284. offset: 0,
  285. color: '#69c0ff',
  286. },
  287. {
  288. offset: 1,
  289. color: '#082550',
  290. },
  291. ]),
  292. },
  293. },
  294. data: dataL2[0]
  295. },
  296. {
  297. name: '共享服务中心/事业部核定上限',
  298. type: 'line',
  299. yAxisIndex: 1, //使用的 y 轴的 index,在单个图表实例中存在多个 y轴的时候有用
  300. smooth: true, //平滑曲线显示
  301. showAllSymbol: true, //显示所有图形。
  302. symbol: 'circle', //标记的图形为实心圆
  303. symbolSize: 8, //标记的大小
  304. smooth: false,
  305. itemStyle: {
  306. //折线拐点标志的样式
  307. color: '#fbe138',
  308. borderColor: '#fbe138',
  309. width: 2,
  310. shadowColor: '#fbe138',
  311. shadowBlur: 4,
  312. },
  313. lineStyle: {
  314. color: '#fbe138',
  315. width: 2,
  316. },
  317. data: dataL2[1],
  318. },
  319. ],
  320. }
  321. option.title.text = '各省属企业共享服务中心/事业部数'
  322. option.legend.data = ['当前共享服务中心/事业部数', '共享服务中心/事业部核定上限']
  323. option.yAxis.push({
  324. splitLine: {
  325. show: false,
  326. },
  327. axisLine: {
  328. show: false,
  329. },
  330. })
  331. myChart.setOption(option)
  332. },
  333. initChartL3 () {
  334. let myChart = echarts.init(this.$refs['echartL3'])
  335. console.log(this.commonOption, "this.commonOption")
  336. let option = {
  337. ..._.cloneDeep(this.commonOption),
  338. series: [
  339. {
  340. name: '当前管理人员数',
  341. type: 'bar',
  342. barWidth: 15,
  343. itemStyle: {
  344. normal: {
  345. color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
  346. {
  347. offset: 0,
  348. color: '#5e7ae9',
  349. },
  350. {
  351. offset: 1,
  352. color: '#082550',
  353. },
  354. ]),
  355. },
  356. },
  357. data: dataL3[0],
  358. },
  359. {
  360. name: '管理人员数占总人数比值',
  361. type: 'line',
  362. yAxisIndex: 1,
  363. smooth: true, //平滑曲线显示
  364. showAllSymbol: true, //显示所有图形。
  365. symbol: 'circle', //标记的图形为实心圆
  366. symbolSize: 8, //标记的大小
  367. smooth: false,
  368. itemStyle: {
  369. //折线拐点标志的样式
  370. color: '#fbe138',
  371. borderColor: '#fbe138',
  372. width: 2,
  373. shadowColor: '#fbe138',
  374. shadowBlur: 4,
  375. },
  376. lineStyle: {
  377. color: '#fbe138',
  378. width: 2,
  379. },
  380. markLine: {
  381. data: [
  382. {
  383. name: '管理人员数占总人数的合理比值线',
  384. yAxis: 15,
  385. lineStyle: {
  386. color: '#fff',
  387. },
  388. label: {
  389. formatter: '{b}',
  390. position: 'middle',
  391. color: '#fff',
  392. fontSize: 16
  393. },
  394. },
  395. ],
  396. label: {
  397. distance: [20, 8],
  398. },
  399. },
  400. data: dataL3[1],
  401. },
  402. ],
  403. }
  404. option.title.text = '各省属企业管理人员数'
  405. option.legend.data = ['当前管理人员数', '管理人员数占总人数比值']
  406. option.yAxis[0] = {
  407. type: 'log',
  408. min:1,
  409. logBase:10,
  410. axisLine: {
  411. show: false,
  412. },
  413. splitLine: {
  414. show: false,
  415. },
  416. axisLabel: {
  417. show: true,
  418. formatter: function(value) {
  419. return value === 1 ? 0 : value
  420. },
  421. textStyle: {
  422. color: 'rgba(250,250,250,0.6)',
  423. },
  424. },
  425. }
  426. option.yAxis.push({
  427. type: 'value',
  428. max: 15,
  429. axisLine: {
  430. show: false,
  431. },
  432. splitLine: {
  433. show: false,
  434. },
  435. axisLabel: {
  436. show: true,
  437. formatter: '{value} %',
  438. textStyle: {
  439. color: 'rgba(250,250,250,0.6)',
  440. },
  441. },
  442. })
  443. myChart.setOption(option)
  444. },
  445. initChartL4 () {
  446. let myChart = echarts.init(this.$refs['echartL4'])
  447. let option = {
  448. ..._.cloneDeep(this.commonOption),
  449. series: [
  450. {
  451. name: '六定改革前总部中层管理人数',
  452. type: 'bar',
  453. barWidth: 15,
  454. itemStyle: {
  455. normal: {
  456. color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
  457. {
  458. offset: 0,
  459. color: '#69c0ff',
  460. },
  461. {
  462. offset: 1,
  463. color: '#082550',
  464. },
  465. ]),
  466. },
  467. },
  468. data: dataL4[0],
  469. },
  470. {
  471. name: '当前总部中层管理人数',
  472. type: 'bar',
  473. barWidth: 15,
  474. itemStyle: {
  475. normal: {
  476. color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
  477. {
  478. offset: 0,
  479. color: '#6480f3',
  480. },
  481. {
  482. offset: 1,
  483. color: '#082550',
  484. },
  485. ]),
  486. },
  487. },
  488. data: dataL4[1],
  489. },
  490. ],
  491. }
  492. option.title.text = '各省属企业总部中层管理人数'
  493. option.legend.data = ['六定改革前总部中层管理人数', '当前总部中层管理人数']
  494. option.legend.show = true
  495. option.yAxis.push({
  496. splitLine: {
  497. show: false,
  498. },
  499. axisLine: {
  500. show: false,
  501. },
  502. })
  503. myChart.setOption(option)
  504. },
  505. initChartL5 () {
  506. let myChart = echarts.init(this.$refs['echartL5'])
  507. let option = {
  508. ..._.cloneDeep(this.commonOption),
  509. series: [
  510. {
  511. name: '各省属企业总人数',
  512. type: 'bar',
  513. barWidth: 15,
  514. itemStyle: {
  515. normal: {
  516. color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
  517. {
  518. offset: 0,
  519. color: '#69c0ff',
  520. },
  521. {
  522. offset: 1,
  523. color: '#082550',
  524. },
  525. ]),
  526. },
  527. },
  528. data: dataL5[0],
  529. },
  530. {
  531. name: '去年同期人数变化率',
  532. type: 'line',
  533. yAxisIndex: 1, //使用的 y 轴的 index,在单个图表实例中存在多个 y轴的时候有用
  534. smooth: true, //平滑曲线显示
  535. showAllSymbol: true, //显示所有图形。
  536. symbol: 'circle', //标记的图形为实心圆
  537. symbolSize: 8, //标记的大小
  538. smooth: false,
  539. itemStyle: {
  540. //折线拐点标志的样式
  541. color: '#b889ea',
  542. borderColor: '#b889ea',
  543. width: 2,
  544. shadowColor: '#b889ea',
  545. shadowBlur: 4,
  546. },
  547. lineStyle: {
  548. color: '#b889ea',
  549. width: 2,
  550. },
  551. data: dataL5[1],
  552. },
  553. ],
  554. }
  555. option.title.text = '各省属企业总人数'
  556. option.legend.data = ['各省属企业总人数', '去年同期人数变化率']
  557. option.legend.show = true
  558. option.yAxis[0] = {
  559. type: 'log',
  560. min: 1,
  561. logBase: 10,
  562. axisLine: {
  563. show: false,
  564. },
  565. splitLine: {
  566. show: false,
  567. },
  568. axisLabel: {
  569. show: true,
  570. formatter: function(value) {
  571. return value === 1 ? 0 : value
  572. },
  573. textStyle: {
  574. color: 'rgba(250,250,250,0.6)',
  575. },
  576. },
  577. }
  578. option.yAxis.push({
  579. type: 'value',
  580. axisLine: {
  581. show: false,
  582. },
  583. splitLine: {
  584. show: false,
  585. },
  586. axisLabel: {
  587. show: true,
  588. formatter: '{value} %',
  589. textStyle: {
  590. color: 'rgba(250,250,250,0.6)',
  591. },
  592. },
  593. })
  594. myChart.setOption(option)
  595. },
  596. initChartL6 () {
  597. let myChart = echarts.init(this.$refs['echartL6'])
  598. let option = {
  599. ..._.cloneDeep(this.commonOption),
  600. series: [
  601. {
  602. name: '总部员额数',
  603. type: 'bar',
  604. barWidth: 15,
  605. itemStyle: {
  606. normal: {
  607. barBorderRadius: [10, 10, 0, 0],
  608. color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
  609. {
  610. offset: 0,
  611. color: '#43ede3',
  612. },
  613. {
  614. offset: 1,
  615. color: '#082550',
  616. },
  617. ]),
  618. },
  619. },
  620. data: dataL6[0],
  621. },
  622. {
  623. name: '总部员额数核定上限',
  624. type: 'line',
  625. yAxisIndex: 1, //使用的 y 轴的 index,在单个图表实例中存在多个 y轴的时候有用
  626. smooth: true, //平滑曲线显示
  627. showAllSymbol: true, //显示所有图形。
  628. symbol: 'circle', //标记的图形为实心圆
  629. symbolSize: 8, //标记的大小
  630. smooth: false,
  631. itemStyle: {
  632. //折线拐点标志的样式
  633. color: '#fbe138',
  634. borderColor: '#fbe138',
  635. width: 2,
  636. shadowColor: '#fbe138',
  637. shadowBlur: 4,
  638. },
  639. lineStyle: {
  640. color: '#fbe138',
  641. width: 2,
  642. },
  643. data: dataL6[1],
  644. }
  645. ],
  646. }
  647. option.title.text = '各省属企业总部员额数'
  648. option.legend.data = ['总部员额数', '总部员额数核定上限']
  649. option.legend.show = true
  650. option.yAxis.push({
  651. splitLine: {
  652. show: false,
  653. },
  654. axisLine: {
  655. show: false,
  656. },
  657. })
  658. myChart.setOption(option)
  659. },
  660. initChartL7 () {
  661. let myChart = echarts.init(this.$refs['echartL7'])
  662. let option = {
  663. ..._.cloneDeep(this.commonOption),
  664. series: [
  665. {
  666. name: '人数变化',
  667. type: 'line',
  668. smooth: true, //平滑曲线显示
  669. showAllSymbol: true, //显示所有图形。
  670. symbol: 'circle', //标记的图形为实心圆
  671. symbolSize: 8, //标记的大小
  672. smooth: false,
  673. itemStyle: {
  674. //折线拐点标志的样式
  675. color: '#43ede3',
  676. borderColor: '#43ede3',
  677. width: 2,
  678. shadowColor: '#43ede3',
  679. shadowBlur: 4,
  680. },
  681. lineStyle: {
  682. color: '#43ede3',
  683. width: 2,
  684. },
  685. data: dataL7[0],
  686. },
  687. {
  688. name: '劳动生产率同比变化',
  689. type: 'line',
  690. yAxisIndex: 1,
  691. smooth: true, //平滑曲线显示
  692. showAllSymbol: true, //显示所有图形。
  693. symbol: 'circle', //标记的图形为实心圆
  694. symbolSize: 8, //标记的大小
  695. smooth: false,
  696. itemStyle: {
  697. //折线拐点标志的样式
  698. color: '#b889ea',
  699. borderColor: '#b889ea',
  700. width: 2,
  701. shadowColor: '#b889ea',
  702. shadowBlur: 4,
  703. },
  704. lineStyle: {
  705. color: '#b889ea',
  706. width: 2,
  707. },
  708. data: dataL7[1],
  709. },
  710. ],
  711. }
  712. option.title.text = '人数变化和全员劳动生产率变化分析'
  713. option.legend.data = ['人数变化', '劳动生产率同比变化']
  714. option.legend.show = true
  715. option.yAxis[0].axisLabel.formatter = '{value} %',
  716. option.yAxis.push({
  717. type: 'value',
  718. axisLine: {
  719. show: false,
  720. },
  721. splitLine: {
  722. show: false,
  723. },
  724. axisLabel: {
  725. show: true,
  726. formatter: '{value} %',
  727. textStyle: {
  728. color: 'rgba(250,250,250,0.6)',
  729. },
  730. },
  731. })
  732. myChart.setOption(option)
  733. },
  734. initChartL8 () {
  735. let myChart = echarts.init(this.$refs['echartL8'])
  736. let option = {
  737. ..._.cloneDeep(this.commonOption),
  738. series: [
  739. {
  740. name: '人数变化',
  741. type: 'line',
  742. smooth: true, //平滑曲线显示
  743. showAllSymbol: true, //显示所有图形。
  744. symbol: 'circle', //标记的图形为实心圆
  745. symbolSize: 8, //标记的大小
  746. smooth: false,
  747. itemStyle: {
  748. //折线拐点标志的样式
  749. color: '#43ede3',
  750. borderColor: '#43ede3',
  751. width: 2,
  752. shadowColor: '#43ede3',
  753. shadowBlur: 4,
  754. },
  755. lineStyle: {
  756. color: '#43ede3',
  757. width: 2,
  758. },
  759. data: dataL8[0],
  760. },
  761. {
  762. name: '人工成本利润率同比变化',
  763. type: 'line',
  764. smooth: true, //平滑曲线显示
  765. showAllSymbol: true, //显示所有图形。
  766. symbol: 'circle', //标记的图形为实心圆
  767. symbolSize: 8, //标记的大小
  768. smooth: false,
  769. itemStyle: {
  770. //折线拐点标志的样式
  771. color: '#b889ea',
  772. borderColor: '#b889ea',
  773. width: 2,
  774. shadowColor: '#b889ea',
  775. shadowBlur: 4,
  776. },
  777. lineStyle: {
  778. color: '#b889ea',
  779. width: 2,
  780. },
  781. data: dataL8[1],
  782. },
  783. ],
  784. }
  785. option.title.text = '人数变化和人工成本利润率变化分析'
  786. option.legend.data = ['人数变化','人工成本利润率同比变化']
  787. option.legend.show = true
  788. option.yAxis[0].axisLabel.formatter = '{value} %',
  789. myChart.setOption(option)
  790. },
  791. // 中间图表---------------------------------------------开始
  792. initChartC1 () {
  793. let myChart = echarts.init(this.$refs['echartC1'])
  794. let option = {
  795. ..._.cloneDeep(this.commonOption),
  796. series: [
  797. {
  798. name: '全员劳动生产率(万/人)',
  799. type: 'bar',
  800. barWidth: 12,
  801. smooth: true, //平滑曲线显示
  802. showAllSymbol: true, //显示所有图形。
  803. symbol: 'circle', //标记的图形为实心圆
  804. symbolSize: 8, //标记的大小
  805. smooth: false,
  806. itemStyle: {
  807. //折线拐点标志的样式
  808. color: '#69c0ff',
  809. borderColor: '#69c0ff',
  810. width: 2,
  811. shadowColor: '#69c0ff',
  812. shadowBlur: 4,
  813. },
  814. lineStyle: {
  815. color: '#69c0ff',
  816. width: 2,
  817. },
  818. // data: [60, 50, 80, 80, 90, 55, 40, 60, 50, 80, 90, 55, 40, 60, 50, 90, 55, 40],
  819. data: c1[0],
  820. },
  821. {
  822. name: '全员劳动生产率同比',
  823. yAxisIndex: 1,
  824. type: 'line',
  825. itemStyle: {
  826. normal: {
  827. color: '#B889EA',
  828. },
  829. },
  830. markLine: {
  831. data: [
  832. {
  833. name: '省属企业平均水平',
  834. yAxis: 50.13,
  835. lineStyle: {
  836. color: '#fff',
  837. },
  838. label: {
  839. formatter: '{b}',
  840. position: 'middle',
  841. fontSize: 16,
  842. color: '#fff',
  843. },
  844. },
  845. {
  846. name: '',
  847. yAxis: 0,
  848. lineStyle: {
  849. color: '#fff',
  850. },
  851. label: {
  852. formatter: '{b}',
  853. position: 'end',
  854. fontSize: 16,
  855. color: '#fff',
  856. },
  857. },
  858. {
  859. name: '央企平均水平',
  860. yAxis: 69.4,
  861. lineStyle: {
  862. type: 'dashed',
  863. color: '#fff',
  864. },
  865. label: {
  866. formatter: '{b}',
  867. position: 'end',
  868. color: '#fff',
  869. fontSize: 16,
  870. },
  871. },
  872. ],
  873. label: {
  874. distance: [20, 8],
  875. },
  876. },
  877. // data: [50, 40, 60, 20, 45, 30, 60, 100, 45, 40, 50, 20, 60, 80, 45, 70, 50, 40],
  878. data: c1[1],
  879. },
  880. ],
  881. }
  882. option.title.text = '当前各省属企业全员劳动生产率'
  883. option.legend.data = ['全员劳动生产率同比', '全员劳动生产率(万/人)']
  884. option.legend.show = true
  885. option.grid.right = '15%'
  886. option.yAxis.push({
  887. type: 'value',
  888. axisLine: {
  889. show: false,
  890. },
  891. splitLine: {
  892. show: false,
  893. },
  894. axisLabel: {
  895. show: true,
  896. formatter: '{value} %',
  897. textStyle: {
  898. color: 'rgba(250,250,250,0.6)',
  899. },
  900. },
  901. })
  902. myChart.setOption(option)
  903. },
  904. initChartC2 () {
  905. let myChart = echarts.init(this.$refs['echartC2'])
  906. let option = {
  907. ..._.cloneDeep(this.commonOption),
  908. series: [
  909. {
  910. name: '人工成本利润同比',
  911. type: 'line',
  912. yAxisIndex: 1, //使用的 y 轴的 index,在单个图表实例中存在多个 y轴的时候有用
  913. smooth: true, //平滑曲线显示
  914. showAllSymbol: true, //显示所有图形。
  915. symbol: 'circle', //标记的图形为实心圆
  916. symbolSize: 8, //标记的大小
  917. smooth: false,
  918. itemStyle: {
  919. //折线拐点标志的样式
  920. color: '#B889EA',
  921. borderColor: '#B889EA',
  922. width: 2,
  923. shadowColor: '#B889EA',
  924. shadowBlur: 4,
  925. },
  926. lineStyle: {
  927. color: '#B889EA',
  928. width: 2,
  929. },
  930. // data: [60, 50, 80, 80, 90, 55, 40, 60, 50, 80, 90, 55, 40, 60, 50, 90, 55, 40],
  931. data: c2[0],
  932. markLine: {
  933. data: [
  934. {
  935. name: '省属企业平均水平',
  936. yAxis: 67.09,
  937. lineStyle: {
  938. color: '#fff',
  939. },
  940. label: {
  941. formatter: '{b}',
  942. position: 'end',
  943. color: '#fff',
  944. },
  945. },
  946. {
  947. name: '央企平均水平',
  948. yAxis: 81,
  949. lineStyle: {
  950. color: '#fff',
  951. },
  952. label: {
  953. formatter: '{b}',
  954. position: 'middle',
  955. color: '#fff',
  956. },
  957. },
  958. ],
  959. label: {
  960. distance: [20, 8],
  961. },
  962. },
  963. },
  964. {
  965. name: '人工成本利润率',
  966. type: 'bar',
  967. barWidth: 15,
  968. itemStyle: {
  969. normal: {
  970. color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
  971. {
  972. offset: 0,
  973. color: '#69c0ff',
  974. },
  975. {
  976. offset: 1,
  977. color: '#082550',
  978. },
  979. ]),
  980. },
  981. },
  982. itemStyle: {
  983. color: params => {
  984. if( params.value < 0 && c2[0][params.dataIndex] < 0) {
  985. return 'red'
  986. } else if(c2[0][params.dataIndex] < 0) {
  987. return 'yellow'
  988. } else {
  989. return '#69c0ff'
  990. }
  991. },
  992. },
  993. data: c2[1]
  994. },
  995. ],
  996. }
  997. option.title.text = '人工成本利润率'
  998. option.legend.data = ['人工成本利润同比', '人工成本利润率']
  999. option.legend.show = true
  1000. option.grid.right = '15%'
  1001. option.yAxis[0].axisLabel.formatter = '{value} %',
  1002. option.yAxis.push({
  1003. splitLine: {
  1004. show: false,
  1005. },
  1006. axisLine: {
  1007. show: false,
  1008. },
  1009. })
  1010. myChart.setOption(option)
  1011. },
  1012. // 右侧图表---------------------------------------------开始
  1013. initChartR1 () {
  1014. let myChart = echarts.init(this.$refs['echartR1'])
  1015. let commonOptions = this.commonOption
  1016. commonOptions.yAxis[0].splitNumber = 2
  1017. let dataTemp = []
  1018. let dataTemp2 = []
  1019. dataR1[0].forEach(item => {
  1020. dataTemp.push(item+1);
  1021. });
  1022. dataR1[1].forEach(item => {
  1023. dataTemp2.push(item+1);
  1024. });
  1025. let option = {
  1026. ..._.cloneDeep(commonOptions),
  1027. series: [
  1028. {
  1029. name: '招聘需求公告次数',
  1030. type: 'bar',
  1031. barWidth: 15,
  1032. itemStyle: {
  1033. normal: {
  1034. color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
  1035. {
  1036. offset: 0,
  1037. color: '#69c0ff',
  1038. },
  1039. {
  1040. offset: 1,
  1041. color: '#082550',
  1042. },
  1043. ]),
  1044. },
  1045. },
  1046. data: dataTemp,
  1047. },
  1048. {
  1049. name: '招聘需求公告累计招聘人次',
  1050. type: 'bar',
  1051. barWidth: 15,
  1052. itemStyle: {
  1053. normal: {
  1054. color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
  1055. {
  1056. offset: 0,
  1057. color: '#43ede3',
  1058. },
  1059. {
  1060. offset: 1,
  1061. color: '#082550',
  1062. },
  1063. ]),
  1064. },
  1065. },
  1066. data: dataTemp2,
  1067. },
  1068. ],
  1069. }
  1070. option.title.text = '当前各省属企业招聘需求公示人次'
  1071. option.legend.data = ['招聘需求公告次数', '招聘需求公告累计招聘人次']
  1072. option.legend.show = true
  1073. option.tooltip.formatter = function(value){
  1074. return value[0].axisValue+':'+ (value[0].value -1)+'<br>'+
  1075. value[1].axisValue+':'+ (value[1].value-1)
  1076. }
  1077. option.yAxis[0] = {
  1078. type: 'log',
  1079. min: 1,
  1080. logBase: 10,
  1081. axisLine: {
  1082. show: false,
  1083. },
  1084. splitLine: {
  1085. show: false,
  1086. },
  1087. axisLabel: {
  1088. show: true,
  1089. formatter: function(value) {
  1090. return value === 1 ? 0 : value
  1091. },
  1092. textStyle: {
  1093. color: 'rgba(250,250,250,0.6)',
  1094. },
  1095. },
  1096. }
  1097. myChart.setOption(option)
  1098. },
  1099. initChartR2 () {
  1100. let myChart = echarts.init(this.$refs['echartR2'])
  1101. let commonOptions = this.commonOption
  1102. commonOptions.yAxis[0].splitNumber = 2
  1103. let option = {
  1104. ..._.cloneDeep(commonOptions),
  1105. series: [
  1106. {
  1107. name: '录用结果公示次数',
  1108. type: 'bar',
  1109. barWidth: 15,
  1110. itemStyle: {
  1111. normal: {
  1112. color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
  1113. {
  1114. offset: 0,
  1115. color: '#69c0ff',
  1116. },
  1117. {
  1118. offset: 1,
  1119. color: '#082550',
  1120. },
  1121. ]),
  1122. },
  1123. },
  1124. data: dataR2[0],
  1125. },
  1126. {
  1127. name: '录用结果公示累计公示人数',
  1128. type: 'bar',
  1129. barWidth: 15,
  1130. itemStyle: {
  1131. normal: {
  1132. color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
  1133. {
  1134. offset: 0,
  1135. color: '#45DAD1',
  1136. },
  1137. {
  1138. offset: 1,
  1139. color: '#082550',
  1140. },
  1141. ]),
  1142. },
  1143. },
  1144. data: dataR2[1],
  1145. },
  1146. ],
  1147. }
  1148. option.title.text = '当前各省属企业录用结果公示人次'
  1149. option.legend.data = ['录用结果公示次数', '录用结果公示累计公示人数']
  1150. option.legend.show = true
  1151. option.yAxis[0] = {
  1152. type: 'log',
  1153. min: 1,
  1154. logBase: 10,
  1155. axisLine: {
  1156. show: false,
  1157. },
  1158. splitLine: {
  1159. show: false,
  1160. },
  1161. axisLabel: {
  1162. show: true,
  1163. formatter: function(value) {
  1164. return value === 1 ? 0 : value
  1165. },
  1166. textStyle: {
  1167. color: 'rgba(250,250,250,0.6)',
  1168. },
  1169. },
  1170. }
  1171. myChart.setOption(option)
  1172. },
  1173. initChartR3 () {
  1174. let myChart = echarts.init(this.$refs['echartR3'])
  1175. let commonOptions = this.commonOption
  1176. commonOptions.yAxis[0].splitNumber = 2
  1177. let option = {
  1178. ..._.cloneDeep(commonOptions),
  1179. series: [
  1180. {
  1181. name: '2022年利润(万)',
  1182. type: 'bar',
  1183. barWidth: 15,
  1184. itemStyle: {
  1185. normal: {
  1186. color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
  1187. {
  1188. offset: 0,
  1189. color: '#69c0ff',
  1190. },
  1191. {
  1192. offset: 1,
  1193. color: '#082550',
  1194. },
  1195. ]),
  1196. },
  1197. },
  1198. data: dataR3[0],
  1199. },
  1200. {
  1201. name: '2022年累计招聘数',
  1202. type: 'bar',
  1203. barWidth: 15,
  1204. itemStyle: {
  1205. normal: {
  1206. color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
  1207. {
  1208. offset: 0,
  1209. color: '#45DAD1',
  1210. },
  1211. {
  1212. offset: 1,
  1213. color: '#082550',
  1214. },
  1215. ]),
  1216. },
  1217. },
  1218. data: dataR3[1],
  1219. },
  1220. ],
  1221. }
  1222. option.title.text = '各省属企业年利润与当年累计招聘人数'
  1223. option.legend.data = ['2022年利润(万)', '2022年累计招聘数']
  1224. option.legend.show = true
  1225. option.yAxis[0] = {
  1226. type: 'log',
  1227. min: 1,
  1228. logBase: 10,
  1229. axisLine: {
  1230. show: false,
  1231. },
  1232. splitLine: {
  1233. show: false,
  1234. },
  1235. axisLabel: {
  1236. show: true,
  1237. formatter: function(value) {
  1238. return value === 1 ? 0 : value
  1239. },
  1240. textStyle: {
  1241. color: 'rgba(250,250,250,0.6)',
  1242. },
  1243. },
  1244. }
  1245. myChart.setOption(option)
  1246. },
  1247. initChartR4 () {
  1248. let myChart = echarts.init(this.$refs['echartR4'])
  1249. let commonOptions = this.commonOption
  1250. commonOptions.yAxis[0].splitNumber = 2
  1251. let option = {
  1252. ..._.cloneDeep(commonOptions),
  1253. series: [
  1254. {
  1255. name: '2022年退出人数',
  1256. type: 'bar',
  1257. barWidth: 15,
  1258. itemStyle: {
  1259. normal: {
  1260. color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
  1261. {
  1262. offset: 0,
  1263. color: '#69c0ff',
  1264. },
  1265. {
  1266. offset: 1,
  1267. color: '#082550',
  1268. },
  1269. ]),
  1270. },
  1271. },
  1272. data: dataR4[0],
  1273. },
  1274. {
  1275. name: '2022年累计招聘人数',
  1276. type: 'bar',
  1277. barWidth: 15,
  1278. itemStyle: {
  1279. normal: {
  1280. color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
  1281. {
  1282. offset: 0,
  1283. color: '#45DAD1',
  1284. },
  1285. {
  1286. offset: 1,
  1287. color: '#082550',
  1288. },
  1289. ]),
  1290. },
  1291. },
  1292. data: dataR4[1],
  1293. },
  1294. ],
  1295. }
  1296. option.title.text = '各省属企业"退二进一"完成情况'
  1297. option.legend.data = ['2022年退出人数', '2022年累计招聘人数']
  1298. option.legend.show = true
  1299. option.yAxis[0] = {
  1300. type: 'log',
  1301. min: 1,
  1302. logBase: 10,
  1303. axisLine: {
  1304. show: false,
  1305. },
  1306. splitLine: {
  1307. show: false,
  1308. },
  1309. axisLabel: {
  1310. show: true,
  1311. formatter: function(value) {
  1312. return value === 1 ? 0 : value
  1313. },
  1314. textStyle: {
  1315. color: 'rgba(250,250,250,0.6)',
  1316. },
  1317. },
  1318. }
  1319. myChart.setOption(option)
  1320. },
  1321. initChartR5 () {
  1322. let myChart = echarts.init(this.$refs['echartR5'])
  1323. let option = {
  1324. ..._.cloneDeep(this.commonOption),
  1325. series: [
  1326. {
  1327. name: '去年同期在岗职工平均薪酬',
  1328. type: 'bar',
  1329. barWidth: 15,
  1330. itemStyle: {
  1331. normal: {
  1332. color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
  1333. {
  1334. offset: 0,
  1335. color: '#6682F5',
  1336. },
  1337. {
  1338. offset: 1,
  1339. color: '#082550',
  1340. },
  1341. ]),
  1342. },
  1343. },
  1344. data: fjxdataL1[0],
  1345. },
  1346. {
  1347. name: '在岗职工平均薪酬',
  1348. type: 'bar',
  1349. barWidth: 15,
  1350. itemStyle: {
  1351. normal: {
  1352. color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
  1353. {
  1354. offset: 0,
  1355. color: '#69c0ff',
  1356. },
  1357. {
  1358. offset: 1,
  1359. color: '#082550',
  1360. },
  1361. ]),
  1362. },
  1363. },
  1364. data: fjxdataL1[1],
  1365. },
  1366. ],
  1367. }
  1368. option.title.text = '各省属企业在岗职工平均薪酬'
  1369. option.legend.data = ['去年同期在岗职工平均薪酬', '在岗职工平均薪酬']
  1370. option.legend.show = true
  1371. option.yAxis.push({
  1372. splitLine: {
  1373. show: false,
  1374. },
  1375. axisLine: {
  1376. show: false,
  1377. },
  1378. })
  1379. myChart.setOption(option)
  1380. },
  1381. initChartR6 () {
  1382. let myChart = echarts.init(this.$refs['echartR6'])
  1383. let option = {
  1384. ..._.cloneDeep(this.commonOption),
  1385. series: [
  1386. {
  1387. name: '2022年利润累计涨幅率',
  1388. type: 'line',
  1389. smooth: true, //平滑曲线显示
  1390. showAllSymbol: true, //显示所有图形。
  1391. symbol: 'circle', //标记的图形为实心圆
  1392. symbolSize: 8, //标记的大小
  1393. smooth: false,
  1394. itemStyle: {
  1395. //折线拐点标志的样式
  1396. color: '#B889EA',
  1397. borderColor: '#B889EA',
  1398. width: 2,
  1399. shadowColor: '#B889EA',
  1400. shadowBlur: 4,
  1401. },
  1402. lineStyle: {
  1403. color: '#B889EA',
  1404. width: 2,
  1405. },
  1406. data: fjxdataL2[0],
  1407. },
  1408. {
  1409. name: '2022年薪酬累计涨幅率',
  1410. type: 'line',
  1411. barWidth: 15,
  1412. itemStyle: {
  1413. normal: {
  1414. color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
  1415. {
  1416. offset: 0,
  1417. color: '#69C0FF',
  1418. },
  1419. {
  1420. offset: 1,
  1421. color: '#082550',
  1422. },
  1423. ]),
  1424. },
  1425. },
  1426. data: fjxdataL2[1],
  1427. },
  1428. ],
  1429. }
  1430. option.title.text = '各省属企业月利润与月薪酬变动情况'
  1431. option.legend.data = ['2022年利润累计涨幅率', '2022年薪酬累计涨幅率']
  1432. option.yAxis.push({
  1433. splitLine: {
  1434. show: false,
  1435. },
  1436. axisLine: {
  1437. show: false,
  1438. },
  1439. })
  1440. myChart.setOption(option)
  1441. },
  1442. initChartR7 () {
  1443. let myChart = echarts.init(this.$refs['echartR7'])
  1444. let option = {
  1445. ..._.cloneDeep(this.commonOption),
  1446. series: [
  1447. {
  1448. name: '全员绩效考核完成率',
  1449. type: 'bar',
  1450. barWidth: 15,
  1451. itemStyle: {
  1452. normal: {
  1453. color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
  1454. {
  1455. offset: 0,
  1456. color: '#B889EA',
  1457. },
  1458. {
  1459. offset: 1,
  1460. color: '#082550',
  1461. },
  1462. ]),
  1463. },
  1464. },
  1465. data: fjxdataL3[0],
  1466. },
  1467. ],
  1468. }
  1469. option.title.text = '各省属企业全员绩效考核'
  1470. // option.legend.data = ['劳动合同签约完成率', '目标值']
  1471. option.yAxis.push({
  1472. splitLine: {
  1473. show: false,
  1474. },
  1475. axisLine: {
  1476. show: false,
  1477. },
  1478. })
  1479. myChart.setOption(option)
  1480. },
  1481. initChartR8 () {
  1482. let myChart = echarts.init(this.$refs['echartR8'])
  1483. let option = {
  1484. ..._.cloneDeep(this.commonOption),
  1485. series: [
  1486. {
  1487. name: '任期制考核完成率',
  1488. type: 'bar',
  1489. barWidth: 15,
  1490. itemStyle: {
  1491. normal: {
  1492. color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
  1493. {
  1494. offset: 0,
  1495. color: '#43ede3',
  1496. },
  1497. {
  1498. offset: 1,
  1499. color: '#082550',
  1500. },
  1501. ]),
  1502. },
  1503. },
  1504. data: fjxdataL4[0],
  1505. },
  1506. ],
  1507. }
  1508. option.title.text = '各省属企业任期制考核'
  1509. option.yAxis.push({
  1510. splitLine: {
  1511. show: false,
  1512. },
  1513. axisLine: {
  1514. show: false,
  1515. },
  1516. })
  1517. myChart.setOption(option)
  1518. },
  1519. },
  1520. })