index.js 80 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380
  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. // paymentShow:false, // 定薪酬弹窗
  8. twinkle7: [],
  9. twinkle8: [],
  10. twinkleR6: [],
  11. showTip: false,
  12. showTip2: false,
  13. showTip3: false,
  14. showTip4: false,
  15. titleShow: false,
  16. tipNum: '',
  17. tipData: tipData,
  18. titleData: titleData,
  19. time: '',
  20. year: '2022',
  21. config1: {
  22. number: [100],
  23. content: '{nt}个',
  24. },
  25. centerData: '',
  26. storageRecordConfig: {
  27. header: ['', '时间', '所属集团', '工作情况'],
  28. headerBGC: '#05507b33',
  29. oddRowBGC: '#69c0ff0f',
  30. // waitTime: '50000',
  31. evenRowBGC: '',
  32. headerHeight: '40',
  33. columnWidth: [150, 150],
  34. rowNum: 4,
  35. align: ['right', 'center', 'center', 'center'],
  36. data: [
  37. // ['<span class="lightOut"><span class="light red"></span></span>', '2022年1月', '山西焦煤', '已经开展高层次人才引进工作'],
  38. // ['<span class="lightOut"><span class="light yellow"></span></span>', '2022年2月', '山西文旅', '不能按期完成序时进度'],
  39. // ['<span class="lightOut"><span class="light green"></span></span>', '2022年3月', '大地控股', '已经实现中长期激励机制贯彻'],
  40. // ['<span class="lightOut"><span class="light red"></span></span>', '2022年4月', '国际能源', '薪酬结果没有做到公开'],
  41. // ['<span class="lightOut"><span class="light yellow"></span></span>', '2022年5月', '山西焦煤', '已经开展高层次人才引进工作'],
  42. // ['<span class="lightOut"><span class="light green"></span></span>', '2022年6月', '山西焦煤', '不能按期完成序时进度'],
  43. ['<span class="lightOut"><span class=" light green "></span></span>', ' 2022.12.07 ', ' 山西焦煤 ', ' “退二进一”完成情况表现优秀 '],
  44. ['<span class="lightOut"><span class=" light green "></span></span>', ' 2023.01.04 ', ' 山西焦煤 ', ' 总部机构压减成效明显 '],
  45. ['<span class="lightOut"><span class=" light green "></span></span>', ' 2023.01.05 ', ' 晋能控股 ', ' 总部人员压减成效突出 '],
  46. ['<span class="lightOut"><span class=" light green "></span></span>', ' 2023.01.06 ', ' 晋能控股 ', ' 中层管理人数改革成效显著 '],
  47. ['<span class="lightOut"><span class=" light green "></span></span>', ' 2022.12.07 ', ' 晋能控股 ', ' 管理级次压缩成效明显 '],
  48. ['<span class="lightOut"><span class=" light red "></span></span>', ' 2023.01.08 ', ' 华阳新材 ', ' 六定未按要求下穿到全级次企业 '],
  49. ['<span class="lightOut"><span class=" light green "></span></span>', ' 2022.11.07 ', ' 潞安化工 ', ' 全员劳动生产率提高明显 '],
  50. ['<span class="lightOut"><span class=" light green "></span></span>', ' 2023.01.10 ', ' 建投集团 ', ' 深入开展中层管理人员竞聘上岗 '],
  51. ['<span class="lightOut"><span class=" light green "></span></span>', ' 2023.01.11 ', ' 华舰体育 ', ' 集团人数增长速度较快 '],
  52. ['<span class="lightOut"><span class=" light green "></span></span>', ' 2023.01.12 ', ' 华舰体育 ', ' 人员增速显著高于全员劳动生产率增速 '],
  53. ['<span class="lightOut"><span class=" light green "></span></span>', ' 2022.09.07 ', ' 国际能源 ', ' 全员劳动生产率增速显著高于人员增速 '],
  54. ['<span class="lightOut"><span class=" light green "></span></span>', ' 2023.01.15 ', ' 山西焦煤 ', ' 人工成本利润率增长且总人数下降 '],
  55. ['<span class="lightOut"><span class=" light green "></span></span>', ' 2023.01.15 ', ' 晋能控股 ', ' 人工成本利润率增长且总人数下降 '],
  56. ['<span class="lightOut"><span class=" light green "></span></span>', ' 2023.01.15 ', ' 华阳新材 ', ' 人工成本利润率增长且总人数下降 '],
  57. ['<span class="lightOut"><span class=" light green "></span></span>', ' 2023.01.15 ', ' 太重集团 ', ' 人工成本利润率增长且总人数下降 '],
  58. ['<span class="lightOut"><span class=" light green "></span></span>', ' 2023.01.15 ', ' 国际能源 ', ' 人工成本利润率增长且总人数下降 '],
  59. ['<span class="lightOut"><span class=" light green "></span></span>', ' 2023.01.15 ', ' 华远陆港 ', ' 人工成本利润率增长且总人数下降 '],
  60. ['<span class="lightOut"><span class=" light green "></span></span>', ' 2023.01.15 ', ' 交控集团 ', ' 人工成本利润率增长且总人数下降 '],
  61. ['<span class="lightOut"><span class=" light green "></span></span>', ' 2023.01.15 ', ' 云时代 ', ' 人工成本利润率增长且总人数下降 '],
  62. ['<span class="lightOut"><span class=" light yellow "></span></span>', ' 2023.01.16 ', ' 文旅集团 ', ' 人工成本利润率显著降低 '],
  63. ['<span class="lightOut"><span class=" light yellow "></span></span>', ' 2023.01.17 ', ' 航产集团 ', ' 人工成本利润率显著降低 '],
  64. ['<span class="lightOut"><span class=" light red "></span></span>', ' 2023.01.18 ', ' 大地控股 ', ' 中层管理人员任命不符合六定要求 '],
  65. ['<span class="lightOut"><span class=" light green "></span></span>', ' 2022.11.07 ', ' 交控集团 ', ' “退二进一”完成情况表现优秀 '],
  66. ['<span class="lightOut"><span class=" light green "></span></span>', ' 2023.01.20 ', ' 太重集团 ', ' 开展管理人员末等调整和不胜任退出 '],
  67. ['<span class="lightOut"><span class=" light yellow "></span></span>', ' 2022.12.07 ', ' 华舰体育 ', ' 六定相关文件未按要求备案 '],
  68. ['<span class="lightOut"><span class=" light yellow "></span></span>', ' 2022.12.07 ', ' 文旅集团 ', ' 六定相关文件未按要求备案 '],
  69. ['<span class="lightOut"><span class=" light yellow "></span></span>', ' 2022.12.07 ', ' 水控集团 ', ' 六定相关文件未按要求备案 '],
  70. ],
  71. // data: [
  72. // ['<span style-"display:inline-block; width:15px;height:15px;border-radius:50%;background-color:green;"></span>', '2022年1月', '山西焦煤', '已经开展高层次人才引进工作'],
  73. // ['2022年2月', '山西文旅', '不能按期完成序时进度'],
  74. // ['2022年3月', '大地控股', '已经实现中长期激励机制贯彻'],
  75. // ['2022年4月', '国际能源', '薪酬结果没有做到公开'],
  76. // ['2022年5月', '山西焦煤', '已经开展高层次人才引进工作'],
  77. // ['2022年6月', '山西焦煤', '不能按期完成序时进度'],
  78. // ],
  79. },
  80. storageRecordConfig2: {
  81. header: ['', '企业名称', '预警内容', '累计未获取数据日期'],
  82. headerBGC: '#05507b33',
  83. oddRowBGC: '#05507b33',
  84. evenRowBGC: '',
  85. headerHeight: '40',
  86. columnWidth: [150],
  87. rowNum: 4,
  88. align: ['center', 'center', 'center', 'center', 'center'],
  89. data: [
  90. ['<span class="lightOut"><span class=" light green "></span></span>', ' 华新燃气 ', ' 本季度数据更新及时准确 ', ' - '],
  91. ['<span class="lightOut"><span class=" light green "></span></span>', ' 云时代 ', ' 本季度数据更新及时准确 ', ' '],
  92. ['<span class="lightOut"><span class=" light red "></span></span>', ' 大地控股 ', ' 六定长效机制情况未更新 ', ' 30 '],
  93. ['<span class="lightOut"><span class=" light yellow "></span></span>', ' 建设投资 ', ' 六定长效机制12月数据未获取 ', ' 15 '],
  94. ['<span class="lightOut"><span class=" light yellow "></span></span>', ' 交控集团 ', ' 经营业绩考核12月数据未获取 ', ' 15 '],
  95. ['<span class="lightOut"><span class=" light yellow "></span></span>', ' 太重集团 ', ' 经营业绩考核12月数据未获取 ', ' 15 '],
  96. ['<span class="lightOut"><span class=" light yellow "></span></span>', ' 文旅集团 ', ' 经营业绩考核12月数据未获取 ', ' 15 '],
  97. ['<span class="lightOut"><span class=" light yellow "></span></span>', ' 水务集团 ', ' 经营业绩考核12月数据未获取 ', ' 15 '],
  98. ['<span class="lightOut"><span class=" light yellow "></span></span>', ' 航产集团 ', ' 经营业绩考核12月数据未获取 ', ' 15 '],
  99. ['<span class="lightOut"><span class=" light yellow "></span></span>', ' 华舰体育 ', ' 经营业绩考核12月数据未获取 ', ' 15 '],
  100. ['<span class="lightOut"><span class=" light yellow "></span></span>', ' 文旅集团 ', ' 六定长效机制情况数据更新错误 ', ' - '],
  101. ]
  102. // [
  103. // ['<span class="lightOut"><span class=" light green "></span></span>', ' 华新燃气 ', ' 本季度数据更新及时准确 ', ' 四季度 ', ' - '],
  104. // ['<span class="lightOut"><span class=" light green "></span></span>', ' 云时代 ', ' 本季度数据更新及时准确 ', ' 四季度 ', ' '],
  105. // ['<span class="lightOut"><span class=" light red "></span></span>', ' 大地控股 ', ' 六定长效机制情况未更新 ', ' 2022.12.01-12.31 ', ' 30 '],
  106. // ['<span class="lightOut"><span class=" light yellow "></span></span>', ' 建设投资 ', ' 六定长效机制12月数据未获取 ', ' 2022.12.01-12.31 ', ' 15 '],
  107. // ['<span class="lightOut"><span class=" light yellow "></span></span>', ' 交控集团 ', ' 经营业绩考核12月数据未获取 ', ' 2022.12.01-12.31 ', ' 15 '],
  108. // ['<span class="lightOut"><span class=" light yellow "></span></span>', ' 太重集团 ', ' 经营业绩考核12月数据未获取 ', ' 2022.12.01-12.31 ', ' 15 '],
  109. // ['<span class="lightOut"><span class=" light yellow "></span></span>', ' 文旅集团 ', ' 经营业绩考核12月数据未获取 ', ' 2022.12.01-12.31 ', ' 15 '],
  110. // ['<span class="lightOut"><span class=" light yellow "></span></span>', ' 水务集团 ', ' 经营业绩考核12月数据未获取 ', ' 2022.12.01-12.31 ', ' 15 '],
  111. // ['<span class="lightOut"><span class=" light yellow "></span></span>', ' 航产集团 ', ' 经营业绩考核12月数据未获取 ', ' 2022.12.01-12.31 ', ' 15 '],
  112. // ['<span class="lightOut"><span class=" light yellow "></span></span>', ' 华舰体育 ', ' 经营业绩考核12月数据未获取 ', ' 2022.12.01-12.31 ', ' 15 '],
  113. // ['<span class="lightOut"><span class=" light yellow "></span></span>', ' 文旅集团 ', ' 六定长效机制情况数据更新错误 ', ' 2022.12.01-12.31 ', ' - '],
  114. // ]
  115. ,
  116. },
  117. companyList: companyList,
  118. commonOption: {
  119. title: {
  120. text: 'xxx',
  121. x: 'center',
  122. y: '3%',
  123. textStyle: {
  124. color: '#69C0FF',
  125. fontSize: 24,
  126. },
  127. },
  128. tooltip: {
  129. trigger: 'axis',
  130. textStyle: { fontSize: 18 },
  131. axisPointer: {
  132. type: 'cross',
  133. label: {
  134. fontSize: 18,
  135. },
  136. },
  137. },
  138. grid: {
  139. top: '22%',
  140. right: '5%',
  141. left: '8%',
  142. bottom: '20%',
  143. },
  144. legend: {
  145. data: '',
  146. top: '12%',
  147. right: '5%',
  148. textStyle: {
  149. color: 'rgba(250,250,250,0.6)',
  150. fontSize: 16,
  151. },
  152. },
  153. xAxis: {
  154. data: companyList.map(item => item.name),
  155. axisLine: {
  156. show: false, //隐藏X轴轴线
  157. lineStyle: {
  158. color: '#005094',
  159. width: 1,
  160. },
  161. },
  162. axisTick: {
  163. show: false, //隐藏X轴刻度
  164. },
  165. axisLabel: {
  166. show: true,
  167. rotate: 50,
  168. textStyle: {
  169. color: 'rgba(255,255,255,0.6)', //X轴文字颜色
  170. fontSize: 16,
  171. },
  172. },
  173. },
  174. yAxis: [
  175. {
  176. type: 'value',
  177. nameTextStyle: {
  178. color: '#ebf8ac',
  179. fontSize: 16,
  180. },
  181. splitLine: {
  182. show: true,
  183. lineStyle: {
  184. color: '#68b4dd66',
  185. type: 'dashed',
  186. },
  187. },
  188. axisLine: {
  189. show: false,
  190. },
  191. axisLabel: {
  192. show: true,
  193. textStyle: {
  194. color: 'rgba(250,250,250,0.6)',
  195. fontSize: 16,
  196. },
  197. },
  198. },
  199. ],
  200. },
  201. }
  202. },
  203. beforeMount () {
  204. dataL7[0].forEach((item, index) => {
  205. if (dataL7[1][index] < 0 && dataL7[0][index] > 0) {
  206. let obj = { value: [companyList[index].name, dataL7[0][index]], symbolSize: 15 }
  207. this.twinkle7.push(obj)
  208. }
  209. })
  210. // if (dataL8[1][params.dataIndex] < 0 && params.value > 0) {
  211. dataL8[0].forEach((item, index) => {
  212. if (dataL8[1][index] < 0 && dataL8[0][index] > 0) {
  213. let obj = { value: [companyList[index].name, dataL8[0][index]], symbolSize: 15 }
  214. this.twinkle8.push(obj)
  215. }
  216. })
  217. // params.value > 0 && fjxdataL2[0][params.dataIndex] < 0
  218. fjxdataL2[0].forEach((item, index) => {
  219. if (fjxdataL2[1][index] > 0 && fjxdataL2[0][index] < 0) {
  220. let obj = { value: [companyList[index].name, fjxdataL2[1][index]], symbolSize: 15 }
  221. this.twinkleR6.push(obj)
  222. }
  223. })
  224. console.log(this.twinkleR6)
  225. },
  226. mounted () {
  227. this.time = formatDate()
  228. this.timer = setInterval(() => {
  229. this.time = formatDate()
  230. }, 1000)
  231. this.centerData = data
  232. // 左侧图表
  233. this.initChartL1()
  234. this.initChartL2()
  235. this.initChartL3()
  236. this.initChartL4()
  237. this.initChartL5()
  238. this.initChartL6()
  239. this.initChartL7()
  240. this.initChartL8()
  241. // 中间图表
  242. this.initChartC1()
  243. this.initChartC2()
  244. // 右侧图表
  245. this.initChartR1()
  246. this.initChartR2()
  247. this.initChartR3()
  248. this.initChartR4()
  249. this.initChartR5()
  250. this.initChartR6()
  251. this.initChartR7()
  252. this.initChartR8()
  253. },
  254. beforeDestroy () {
  255. if (this.timer) {
  256. clearInterval(this.timer)
  257. }
  258. },
  259. methods: {
  260. handleTitleShow () {
  261. this.titleShow = true
  262. this.showTip = false
  263. this.showTip2 = false
  264. // this.paymentShow = false
  265. },
  266. // handlepaymentShow () {
  267. // this.paymentShow = true
  268. // this.titleShow = false
  269. // this.showTip = false
  270. // this.showTip2 = false
  271. // },
  272. showTipClose () {
  273. // this.paymentShow = false
  274. this.showTip = false
  275. this.showTip2 = false
  276. this.titleShow = false
  277. },
  278. handleShowTip (index, type) {
  279. if (type == 'analysis') {
  280. this.tipData = tipData.analysis
  281. } else if(type == 'focus'){
  282. this.tipData = tipData.focus
  283. } else if(type == 'topThree'){
  284. this.tipData = tipData.topThree
  285. } else if(type == 'totlePeople'){
  286. this.tipData = tipData.totlePeople
  287. }else if(type == 'beforeReform'){
  288. this.tipData = tipData.beforeReform
  289. }else if(type == 'reformRegistered'){
  290. this.tipData = tipData.reformRegistered
  291. }else if(type == 'reforAveRemuneration'){
  292. this.tipData = tipData.reforAveRemuneration
  293. }
  294. this.showTip2 = false
  295. this.showTip = true
  296. this.titleShow = false
  297. this.tipNum = index
  298. },
  299. handleShowTip2 (index) {
  300. this.showTip = false
  301. this.showTip2 = true
  302. this.titleShow = false
  303. this.tipNum = index
  304. },
  305. handleGoPage (url) {
  306. if (url.length) {
  307. window.location.href = url
  308. }
  309. },
  310. numFormat (value) {
  311. if (!value) return '0'
  312. var intPart = Number(value).toFixed(0) // 获取整数部分
  313. var intPartFormat = intPart.toString().replace(/(\d)(?=(?:\d{3})+$)/g, '$1,') // 将整数部分逢三一断
  314. var floatPart = '.00' // 预定义小数部分
  315. var value2Array = value.toString().split('.')
  316. // =2表示数据有小数位
  317. if (value2Array.length === 2) {
  318. floatPart = value2Array[1].toString() // 拿到小数部分
  319. if (floatPart.length === 1) {
  320. // 补0
  321. return intPartFormat + '.' + floatPart + '0'
  322. } else {
  323. return intPartFormat + '.' + floatPart
  324. }
  325. } else {
  326. return intPartFormat
  327. }
  328. },
  329. initChartL1 () {
  330. let myChart = echarts.init(this.$refs['echartL1'])
  331. let option = {
  332. ..._.cloneDeep(this.commonOption),
  333. series: [
  334. {
  335. name: '总部机构数核定上限',
  336. type: 'line',
  337. // yAxisIndex: 1, //使用的 y 轴的 index,在单个图表实例中存在多个 y轴的时候有用
  338. smooth: true, //平滑曲线显示
  339. showAllSymbol: true, //显示所有图形。
  340. symbol: 'circle', //标记的图形为实心圆
  341. symbolSize: 8, //标记的大小
  342. smooth: false,
  343. itemStyle: {
  344. //折线拐点标志的样式
  345. color: '#fbe138',
  346. borderColor: '#fbe138',
  347. width: 2,
  348. shadowColor: '#fbe138',
  349. shadowBlur: 4,
  350. },
  351. lineStyle: {
  352. color: '#fbe138',
  353. width: 2,
  354. },
  355. data: dataL1[2],
  356. },
  357. {
  358. name: '六定改革前总部机构数',
  359. type: 'bar',
  360. barWidth: 15,
  361. itemStyle: {
  362. normal: {
  363. color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
  364. {
  365. offset: 0,
  366. color: '#43ede3',
  367. },
  368. {
  369. offset: 1,
  370. color: '#082550',
  371. },
  372. ]),
  373. },
  374. },
  375. data: dataL1[0],
  376. },
  377. {
  378. name: '当前各省属企业总部机构数',
  379. type: 'bar',
  380. barWidth: 15,
  381. itemStyle: {
  382. normal: {
  383. color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
  384. {
  385. offset: 0,
  386. color: '#69c0ff',
  387. },
  388. {
  389. offset: 1,
  390. color: '#082550',
  391. },
  392. ]),
  393. },
  394. },
  395. data: dataL1[1],
  396. },
  397. ],
  398. // tooltip: {
  399. // trigger: 'item',
  400. // position: 'top'
  401. // },
  402. }
  403. option.title.text = '各省属企业总部机构数'
  404. option.legend.data = ['六定改革前总部机构数', '当前各省属企业总部机构数', '总部机构数核定上限']
  405. option.yAxis.push({
  406. splitLine: {
  407. show: false,
  408. },
  409. axisLine: {
  410. show: false,
  411. },
  412. })
  413. myChart.setOption(option)
  414. },
  415. initChartL2 () {
  416. let myChart = echarts.init(this.$refs['echartL2'])
  417. let option = {
  418. ..._.cloneDeep(this.commonOption),
  419. color: ['#69c0ff'],
  420. series: [
  421. {
  422. name: '当前共享服务中心/事业部数',
  423. type: 'bar',
  424. barWidth: 15,
  425. label: {
  426. normal: {
  427. show: true,
  428. position: 'top',
  429. textStyle: {
  430. color: '#69c0ff',
  431. fontStyle: 'normal',
  432. textAlign: 'left',
  433. fontSize: 16,
  434. },
  435. formatter: function (data) {
  436. if (data.name == '华阳新材') {
  437. return data.value
  438. } else {
  439. return ''
  440. }
  441. }
  442. }
  443. },
  444. itemStyle: {
  445. color: params => {
  446. if (params.value > dataL2[1][params.dataIndex]) {
  447. return new echarts.graphic.LinearGradient(0, 0, 0, 1, [
  448. {
  449. offset: 0,
  450. color: 'red',
  451. },
  452. {
  453. offset: 1,
  454. color: '#082550',
  455. },
  456. ])
  457. } else {
  458. return new echarts.graphic.LinearGradient(0, 0, 0, 1, [
  459. {
  460. offset: 0,
  461. color: '#69c0ff',
  462. },
  463. {
  464. offset: 1,
  465. color: '#082550',
  466. },
  467. ])
  468. }
  469. },
  470. },
  471. data: dataL2[0],
  472. },
  473. {
  474. name: '共享服务中心/事业部核定上限',
  475. type: 'line',
  476. // yAxisIndex: 1, //使用的 y 轴的 index,在单个图表实例中存在多个 y轴的时候有用
  477. smooth: true, //平滑曲线显示
  478. showAllSymbol: true, //显示所有图形。
  479. symbol: 'circle', //标记的图形为实心圆
  480. symbolSize: 8, //标记的大小
  481. smooth: false,
  482. label: {
  483. normal: {
  484. show: true,
  485. position: 'top',
  486. textStyle: {
  487. color: '#fbe138',
  488. fontStyle: 'normal',
  489. textAlign: 'left',
  490. fontSize: 16,
  491. },
  492. formatter: function (data) {
  493. if (data.name == '华阳新材') {
  494. return data.value
  495. } else {
  496. return ''
  497. }
  498. }
  499. }
  500. },
  501. itemStyle: {
  502. //折线拐点标志的样式
  503. color: '#fbe138',
  504. borderColor: '#fbe138',
  505. width: 2,
  506. shadowColor: '#fbe138',
  507. shadowBlur: 4,
  508. },
  509. lineStyle: {
  510. color: '#fbe138',
  511. width: 2,
  512. },
  513. data: dataL2[1],
  514. },
  515. ],
  516. }
  517. option.title.text = '各省属企业共享服务中心/事业部数'
  518. option.legend.data = ['当前共享服务中心/事业部数', '共享服务中心/事业部核定上限']
  519. option.yAxis.push({
  520. splitLine: {
  521. show: false,
  522. },
  523. axisLine: {
  524. show: false,
  525. },
  526. })
  527. myChart.setOption(option)
  528. },
  529. initChartL3 () {
  530. let myChart = echarts.init(this.$refs['echartL3'])
  531. let option = {
  532. ..._.cloneDeep(this.commonOption),
  533. series: [
  534. {
  535. name: '当前管理人员数',
  536. type: 'bar',
  537. barWidth: 15,
  538. itemStyle: {
  539. normal: {
  540. color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
  541. {
  542. offset: 0,
  543. color: '#5e7ae9',
  544. },
  545. {
  546. offset: 1,
  547. color: '#082550',
  548. },
  549. ]),
  550. },
  551. },
  552. data: dataL3[0],
  553. },
  554. {
  555. name: '管理人员数占总人数比值',
  556. type: 'line',
  557. yAxisIndex: 1,
  558. smooth: true, //平滑曲线显示
  559. showAllSymbol: true, //显示所有图形。
  560. symbol: 'circle', //标记的图形为实心圆
  561. symbolSize: 8, //标记的大小
  562. smooth: false,
  563. itemStyle: {
  564. //折线拐点标志的样式
  565. color: '#fbe138',
  566. borderColor: '#fbe138',
  567. width: 2,
  568. shadowColor: '#fbe138',
  569. shadowBlur: 4,
  570. },
  571. lineStyle: {
  572. color: '#fbe138',
  573. width: 2,
  574. },
  575. markLine: {
  576. data: [
  577. {
  578. name: '管理人员数占总人数的合理比值线',
  579. yAxis: 15,
  580. lineStyle: {
  581. color: '#fff',
  582. },
  583. label: {
  584. formatter: '{b}',
  585. position: 'middle',
  586. color: '#fff',
  587. fontSize: 16,
  588. },
  589. },
  590. ],
  591. label: {
  592. distance: [20, 8],
  593. },
  594. },
  595. data: dataL3[1],
  596. },
  597. ],
  598. }
  599. option.title.text = '各省属企业管理人员数'
  600. option.legend.data = ['当前管理人员数', '管理人员数占总人数比值']
  601. option.yAxis[0] = {
  602. type: 'log',
  603. min: 1,
  604. logBase: 10,
  605. axisLine: {
  606. show: false,
  607. },
  608. splitLine: {
  609. show: true,
  610. lineStyle: {
  611. color: '#68b4dd66',
  612. type: 'dashed',
  613. },
  614. },
  615. axisLabel: {
  616. show: true,
  617. formatter: function (value) {
  618. return value === 1 ? 0 : value
  619. },
  620. textStyle: {
  621. color: 'rgba(250,250,250,0.6)',
  622. },
  623. },
  624. }
  625. option.yAxis.push({
  626. type: 'value',
  627. max: 15,
  628. axisLine: {
  629. show: false,
  630. },
  631. splitLine: {
  632. show: false,
  633. },
  634. axisLabel: {
  635. show: true,
  636. formatter: '{value} %',
  637. textStyle: {
  638. color: 'rgba(250,250,250,0.6)',
  639. },
  640. },
  641. })
  642. option.tooltip.formatter = '{a0}:{c0}' + '<br/>' + '{a1}:{c1}' + '%'
  643. myChart.setOption(option)
  644. },
  645. initChartL4 () {
  646. let myChart = echarts.init(this.$refs['echartL4'])
  647. let option = {
  648. ..._.cloneDeep(this.commonOption),
  649. series: [
  650. {
  651. name: '六定改革前总部中层管理人数',
  652. type: 'bar',
  653. barWidth: 15,
  654. label: {
  655. normal: {
  656. show: true,
  657. position: 'top',
  658. textStyle: {
  659. color: '#69c0ff',
  660. fontStyle: 'normal',
  661. textAlign: 'left',
  662. fontSize: 16,
  663. },
  664. formatter: function (data) {
  665. if (data.name == '云时代') {
  666. return data.value
  667. } else {
  668. return ''
  669. }
  670. }
  671. }
  672. },
  673. itemStyle: {
  674. normal: {
  675. color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
  676. {
  677. offset: 0,
  678. color: '#69c0ff',
  679. },
  680. {
  681. offset: 1,
  682. color: '#082550',
  683. },
  684. ]),
  685. },
  686. },
  687. data: dataL4[0],
  688. },
  689. {
  690. name: '当前总部中层管理人数',
  691. type: 'bar',
  692. barWidth: 15,
  693. label: {
  694. normal: {
  695. show: true,
  696. position: 'top',
  697. textStyle: {
  698. color: '#6480f3',
  699. fontStyle: 'normal',
  700. textAlign: 'left',
  701. fontSize: 16,
  702. },
  703. formatter: function (data) {
  704. if (data.name == '云时代') {
  705. return data.value
  706. } else {
  707. return ''
  708. }
  709. }
  710. }
  711. },
  712. itemStyle: {
  713. normal: {
  714. color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
  715. {
  716. offset: 0,
  717. color: '#6480f3',
  718. },
  719. {
  720. offset: 1,
  721. color: '#082550',
  722. },
  723. ]),
  724. },
  725. },
  726. data: dataL4[1],
  727. },
  728. {
  729. name: '总部中层管理人数核定上限',
  730. type: 'line',
  731. yAxisIndex: 1,
  732. smooth: true, //平滑曲线显示
  733. showAllSymbol: true, //显示所有图形。
  734. symbol: 'circle', //标记的图形为实心圆
  735. symbolSize: 8, //标记的大小
  736. smooth: false,
  737. label: {
  738. normal: {
  739. show: true,
  740. position: 'top',
  741. textStyle: {
  742. color: '#fbe138',
  743. fontStyle: 'normal',
  744. textAlign: 'left',
  745. fontSize: 16,
  746. },
  747. formatter: function (data) {
  748. if (data.name == '云时代') {
  749. return data.value
  750. } else {
  751. return ''
  752. }
  753. }
  754. }
  755. },
  756. itemStyle: {
  757. //折线拐点标志的样式
  758. color: '#fbe138',
  759. borderColor: '#fbe138',
  760. width: 2,
  761. shadowColor: '#fbe138',
  762. shadowBlur: 4,
  763. },
  764. lineStyle: {
  765. color: '#fbe138',
  766. width: 2,
  767. },
  768. data: dataL4[2],
  769. },
  770. ],
  771. }
  772. option.title.text = '各省属企业总部中层管理人数'
  773. option.legend.data = ['六定改革前总部中层管理人数', '当前总部中层管理人数', '总部中层管理人数核定上限']
  774. option.legend.show = true
  775. option.yAxis.push({
  776. splitLine: {
  777. show: false,
  778. },
  779. axisLine: {
  780. show: false,
  781. },
  782. })
  783. myChart.setOption(option)
  784. },
  785. initChartL5 () {
  786. let myChart = echarts.init(this.$refs['echartL5'])
  787. let option = {
  788. ..._.cloneDeep(this.commonOption),
  789. series: [
  790. {
  791. name: '各省属企业总人数',
  792. type: 'bar',
  793. barWidth: 15,
  794. label: {
  795. normal: {
  796. show: true,
  797. position: 'top',
  798. lineHeight: '25',
  799. textStyle: {
  800. color: '#69c0ff',
  801. fontStyle: 'normal',
  802. textAlign: 'left',
  803. fontSize: 16,
  804. },
  805. formatter: function (data) {
  806. if (data.name == '华阳新材' || data.name == '华舰体育') {
  807. return data.value
  808. } else {
  809. return ''
  810. }
  811. }
  812. }
  813. },
  814. itemStyle: {
  815. normal: {
  816. color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
  817. {
  818. offset: 0,
  819. color: '#69c0ff',
  820. },
  821. {
  822. offset: 1,
  823. color: '#082550',
  824. },
  825. ]),
  826. },
  827. },
  828. data: dataL5[0],
  829. },
  830. {
  831. name: '去年同期人数变化率',
  832. type: 'line',
  833. yAxisIndex: 1, //使用的 y 轴的 index,在单个图表实例中存在多个 y轴的时候有用
  834. smooth: true, //平滑曲线显示
  835. showAllSymbol: true, //显示所有图形。
  836. symbol: 'circle', //标记的图形为实心圆
  837. symbolSize: 8, //标记的大小
  838. smooth: false,
  839. label: {
  840. normal: {
  841. show: true,
  842. position: 'bottom',
  843. lineHeight: '25',
  844. textStyle: {
  845. color: '#b889ea',
  846. fontStyle: 'normal',
  847. textAlign: 'left',
  848. fontSize: 16,
  849. },
  850. formatter: function (data) {
  851. if (data.name == '华阳新材' || data.name == '华舰体育') {
  852. return data.value
  853. } else {
  854. return ''
  855. }
  856. }
  857. }
  858. },
  859. itemStyle: {
  860. //折线拐点标志的样式
  861. color: '#b889ea',
  862. borderColor: '#b889ea',
  863. width: 2,
  864. shadowColor: '#b889ea',
  865. shadowBlur: 4,
  866. },
  867. lineStyle: {
  868. color: '#b889ea',
  869. width: 2,
  870. },
  871. data: dataL5[1],
  872. },
  873. ],
  874. }
  875. option.title.text = '各省属企业总人数'
  876. option.legend.data = ['各省属企业总人数', '去年同期人数变化率']
  877. option.legend.show = true
  878. option.yAxis[0] = {
  879. type: 'value',
  880. // type: 'log',
  881. min: 1,
  882. // logBase: 10,
  883. axisLine: {
  884. show: false,
  885. },
  886. splitLine: {
  887. show: true,
  888. lineStyle: {
  889. color: '#68b4dd66',
  890. type: 'dashed',
  891. },
  892. },
  893. axisLabel: {
  894. show: true,
  895. formatter: function (value) {
  896. return value === 1 ? 0 : value
  897. },
  898. textStyle: {
  899. color: 'rgba(250,250,250,0.6)',
  900. },
  901. },
  902. }
  903. option.yAxis.push({
  904. type: 'value',
  905. axisLine: {
  906. show: false,
  907. },
  908. splitLine: {
  909. show: false,
  910. },
  911. axisLabel: {
  912. show: true,
  913. formatter: '{value} %',
  914. textStyle: {
  915. color: 'rgba(250,250,250,0.6)',
  916. },
  917. },
  918. })
  919. option.tooltip.formatter = '{a0}:{c0}' + '<br/>' + '{a1}:{c1}' + '%'
  920. myChart.setOption(option)
  921. },
  922. initChartL6 () {
  923. let myChart = echarts.init(this.$refs['echartL6'])
  924. let option = {
  925. ..._.cloneDeep(this.commonOption),
  926. series: [
  927. {
  928. name: '总部员额数',
  929. type: 'bar',
  930. barWidth: 15,
  931. itemStyle: {
  932. normal: {
  933. barBorderRadius: [10, 10, 0, 0],
  934. color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
  935. {
  936. offset: 0,
  937. color: '#43ede3',
  938. },
  939. {
  940. offset: 1,
  941. color: '#082550',
  942. },
  943. ]),
  944. },
  945. },
  946. data: dataL6[0],
  947. },
  948. {
  949. name: '总部员额数核定上限',
  950. type: 'line',
  951. yAxisIndex: 1, //使用的 y 轴的 index,在单个图表实例中存在多个 y轴的时候有用
  952. smooth: true, //平滑曲线显示
  953. showAllSymbol: true, //显示所有图形。
  954. symbol: 'circle', //标记的图形为实心圆
  955. symbolSize: 8, //标记的大小
  956. smooth: false,
  957. itemStyle: {
  958. //折线拐点标志的样式
  959. color: '#fbe138',
  960. borderColor: '#fbe138',
  961. width: 2,
  962. shadowColor: '#fbe138',
  963. shadowBlur: 4,
  964. },
  965. lineStyle: {
  966. color: '#fbe138',
  967. width: 2,
  968. },
  969. data: dataL6[1],
  970. },
  971. ],
  972. }
  973. option.title.text = '各省属企业总部员额数'
  974. option.legend.data = ['总部员额数', '总部员额数核定上限']
  975. option.legend.show = true
  976. option.yAxis.push({
  977. splitLine: {
  978. show: false,
  979. },
  980. axisLine: {
  981. show: false,
  982. },
  983. })
  984. myChart.setOption(option)
  985. },
  986. initChartL7 () {
  987. let myChart = echarts.init(this.$refs['echartL7'])
  988. let that = this
  989. let option = {
  990. ..._.cloneDeep(this.commonOption),
  991. color: ['#43ede3'],
  992. series: [
  993. {
  994. name: '人数变化',
  995. type: 'line',
  996. smooth: true, //平滑曲线显示
  997. showAllSymbol: true, //显示所有图形。
  998. symbol: 'circle', //标记的图形为实心圆
  999. symbolSize: 15, //标记的大小
  1000. smooth: false,
  1001. label: {
  1002. normal: {
  1003. show: true,
  1004. position: 'bottom',
  1005. lineHeight: '35',
  1006. textStyle: {
  1007. color: '#43ede3',
  1008. fontStyle: 'normal',
  1009. textAlign: 'left',
  1010. fontSize: 16,
  1011. },
  1012. formatter: function (data) {
  1013. if (data.name == '文旅集团' || data.name == "大地控股" || data.name == '华舰体育') {
  1014. return data.value
  1015. } else {
  1016. return ''
  1017. }
  1018. }
  1019. }
  1020. },
  1021. itemStyle: {
  1022. color: params => {
  1023. if (dataL7[1][params.dataIndex] < 0 && params.value > 0) {
  1024. return 'red'
  1025. } else {
  1026. return '#43ede3'
  1027. }
  1028. },
  1029. },
  1030. lineStyle: {
  1031. color: '#43ede3',
  1032. width: 2,
  1033. },
  1034. data: dataL7[0],
  1035. },
  1036. {
  1037. name: '劳动生产率同比变化',
  1038. type: 'line',
  1039. yAxisIndex: 1,
  1040. smooth: true, //平滑曲线显示
  1041. showAllSymbol: true, //显示所有图形。
  1042. symbol: 'circle', //标记的图形为实心圆
  1043. symbolSize: 8, //标记的大小
  1044. smooth: false,
  1045. label: {
  1046. normal: {
  1047. show: true,
  1048. position: 'top',
  1049. lineHeight: '25',
  1050. textStyle: {
  1051. color: '#b889ea',
  1052. fontStyle: 'normal',
  1053. textAlign: 'left',
  1054. fontSize: 16,
  1055. },
  1056. formatter: function (data) {
  1057. if (data.name == '文旅集团' || data.name == "大地控股" || data.name == '华舰体育') {
  1058. return data.value
  1059. } else {
  1060. return ''
  1061. }
  1062. }
  1063. }
  1064. },
  1065. itemStyle: {
  1066. //折线拐点标志的样式
  1067. color: '#b889ea',
  1068. borderColor: '#b889ea',
  1069. width: 2,
  1070. shadowColor: '#b889ea',
  1071. shadowBlur: 4,
  1072. },
  1073. data: dataL7[1],
  1074. },
  1075. {
  1076. type: 'effectScatter',
  1077. coordinateSystem: 'cartesian2d',
  1078. showEffectOn: 'render',
  1079. rippleEffect: {
  1080. period: 10,
  1081. scale: 4,
  1082. brushType: 'stroke'
  1083. },
  1084. hoverAnimation: true,
  1085. itemStyle: {
  1086. color: 'red'
  1087. },
  1088. lineStyle: {
  1089. color: '#43ede3',
  1090. width: 2,
  1091. },
  1092. data: that.twinkle7,
  1093. },
  1094. ],
  1095. }
  1096. option.title.text = '人数变化和全员劳动生产率变化分析'
  1097. option.legend.data = ['人数变化', '劳动生产率同比变化']
  1098. option.legend.show = true
  1099. option.yAxis[0].axisLabel.formatter = '{value} %'
  1100. option.tooltip.formatter = '{a0}:{c0}' + '%' + '<br/>' + '{a1}:{c1}' + '%'
  1101. option.yAxis.push({
  1102. type: 'value',
  1103. axisLine: {
  1104. show: false,
  1105. },
  1106. splitLine: {
  1107. show: false,
  1108. },
  1109. axisLabel: {
  1110. show: true,
  1111. formatter: '{value} %',
  1112. textStyle: {
  1113. color: 'rgba(250,250,250,0.6)',
  1114. },
  1115. splitLine: {
  1116. show: false,
  1117. },
  1118. axisLabel: {
  1119. show: true,
  1120. formatter: '{value} %',
  1121. textStyle: {
  1122. color: 'rgba(250,250,250,0.6)',
  1123. },
  1124. },
  1125. },
  1126. })
  1127. myChart.setOption(option)
  1128. },
  1129. initChartL8 () {
  1130. let myChart = echarts.init(this.$refs['echartL8'])
  1131. let option = {
  1132. ..._.cloneDeep(this.commonOption),
  1133. color: ['#43ede3'],
  1134. series: [
  1135. {
  1136. name: '人数变化',
  1137. type: 'line',
  1138. smooth: true, //平滑曲线显示
  1139. showAllSymbol: true, //显示所有图形。
  1140. symbol: 'circle', //标记的图形为实心圆
  1141. symbolSize: 15, //标记的大小
  1142. smooth: false,
  1143. label: {
  1144. normal: {
  1145. show: true,
  1146. position: 'bottom',
  1147. lineHeight: '20',
  1148. textStyle: {
  1149. color: '#43ede3',
  1150. fontStyle: 'normal',
  1151. textAlign: 'left',
  1152. fontSize: 16,
  1153. },
  1154. formatter: function (data) {
  1155. if (data.name == '文旅集团' || data.name == '大地控股') {
  1156. return data.value
  1157. } else {
  1158. return ''
  1159. }
  1160. }
  1161. }
  1162. },
  1163. itemStyle: {
  1164. color: params => {
  1165. if (dataL8[1][params.dataIndex] < 0 && params.value > 0) {
  1166. return 'red'
  1167. } else {
  1168. return '#43ede3'
  1169. }
  1170. },
  1171. },
  1172. lineStyle: {
  1173. color: '#43ede3',
  1174. width: 2,
  1175. },
  1176. data: dataL8[0],
  1177. },
  1178. {
  1179. name: '人工成本利润率同比变化',
  1180. type: 'line',
  1181. smooth: true, //平滑曲线显示
  1182. showAllSymbol: true, //显示所有图形。
  1183. symbol: 'circle', //标记的图形为实心圆
  1184. symbolSize: 15, //标记的大小
  1185. smooth: false,
  1186. label: {
  1187. normal: {
  1188. show: true,
  1189. position: 'top',
  1190. lineHeight: '30',
  1191. textStyle: {
  1192. color: '#b889ea',
  1193. fontStyle: 'normal',
  1194. textAlign: 'left',
  1195. fontSize: 16,
  1196. },
  1197. formatter: function (data) {
  1198. if (data.name == '文旅集团' || data.name == '大地控股') {
  1199. return data.value
  1200. } else {
  1201. return ''
  1202. }
  1203. }
  1204. }
  1205. },
  1206. itemStyle: {
  1207. //折线拐点标志的样式
  1208. color: '#b889ea',
  1209. borderColor: '#b889ea',
  1210. width: 2,
  1211. shadowColor: '#b889ea',
  1212. shadowBlur: 4,
  1213. },
  1214. lineStyle: {
  1215. color: '#b889ea',
  1216. width: 2,
  1217. },
  1218. data: dataL8[1],
  1219. },
  1220. {
  1221. type: 'effectScatter',
  1222. coordinateSystem: 'cartesian2d',
  1223. showEffectOn: 'render',
  1224. rippleEffect: {
  1225. period: 10,
  1226. scale: 4,
  1227. brushType: 'stroke'
  1228. },
  1229. hoverAnimation: true,
  1230. itemStyle: {
  1231. color: 'red'
  1232. },
  1233. lineStyle: {
  1234. color: '#43ede3',
  1235. width: 2,
  1236. },
  1237. data: this.twinkle8,
  1238. },
  1239. // {
  1240. // type: 'effectScatter',
  1241. // coordinateSystem: 'cartesian2d',
  1242. // showEffectOn: 'render',
  1243. // rippleEffect: {
  1244. // period: 10,
  1245. // scale: 4,
  1246. // brushType: 'stroke'
  1247. // },
  1248. // hoverAnimation: true,
  1249. // itemStyle: {
  1250. // color: 'red'
  1251. // },
  1252. // lineStyle: {
  1253. // color: '#43ede3',
  1254. // width: 2,
  1255. // },
  1256. // data: that.twinkle,
  1257. // },
  1258. ],
  1259. // tooltip: {
  1260. // trigger: 'axis',
  1261. // formatter(params){
  1262. // console.log(params)
  1263. // return params[0]
  1264. // }
  1265. // }
  1266. }
  1267. option.title.text = '人数变化和人工成本利润率变化分析'
  1268. option.legend.data = ['人数变化', '人工成本利润率同比变化']
  1269. option.legend.show = true
  1270. option.yAxis[0].axisLabel.formatter = '{value} %'
  1271. option.tooltip.formatter = '{a0}:{c0}' + '%' + '<br/>' + '{a1}:{c1}' + '%'
  1272. myChart.setOption(option)
  1273. },
  1274. // 中间图表---------------------------------------------开始
  1275. initChartC1 () {
  1276. let myChart = echarts.init(this.$refs['echartC1'])
  1277. let option = {
  1278. ..._.cloneDeep(this.commonOption),
  1279. color: ['#69c0ff'],
  1280. series: [
  1281. {
  1282. name: '全员劳动生产率(万/人)',
  1283. type: 'bar',
  1284. barWidth: 15,
  1285. label: {
  1286. normal: {
  1287. show: true,
  1288. position: 'top',
  1289. textStyle: {
  1290. color: '#69c0ff',
  1291. fontStyle: 'normal',
  1292. textAlign: 'left',
  1293. fontSize: 16,
  1294. },
  1295. formatter: function (data) {
  1296. if (data.name == '国际能源' || data.name == '汾酒集团') {
  1297. return data.value
  1298. } else {
  1299. return ''
  1300. }
  1301. }
  1302. }
  1303. },
  1304. itemStyle: {
  1305. color: params => {
  1306. if (params.value < 0 && c1[1][params.dataIndex] < 0) {
  1307. return 'red'
  1308. } else if (params.value < 0) {
  1309. return 'yellow'
  1310. } else {
  1311. return new echarts.graphic.LinearGradient(0, 0, 0, 1, [
  1312. {
  1313. offset: 0,
  1314. color: '#69c0ff',
  1315. },
  1316. {
  1317. offset: 1,
  1318. color: '#082550',
  1319. },
  1320. ])
  1321. }
  1322. },
  1323. },
  1324. // markPoint:{
  1325. // symbolSize: 1,
  1326. // symbolOffset: [0, '50%'],
  1327. // label:{
  1328. // show: true,
  1329. // fontSize:18,
  1330. // color: '#fff',
  1331. // backgroundColor: 'rgba(38,48,59,0.6)',
  1332. // borderColor: '#aaa',
  1333. // borderWidth: 1,
  1334. // borderRadius: 4,
  1335. // padding: [4, 10],
  1336. // lineHeight: 26,
  1337. // position: 'top',
  1338. // distance: 20,
  1339. // // formatter: data =>{
  1340. // // console.log('11',data)
  1341. // // },
  1342. // formatter: [
  1343. // '{a|这段文本采用样式a}',
  1344. // '这段用默认样式{x|这段用样式x}'
  1345. // ].join('\n'),
  1346. // rich: {
  1347. // a: {
  1348. // color: 'yellow',
  1349. // lineHeight: 10
  1350. // },
  1351. // b: {
  1352. // // backgroundColor: {
  1353. // // image: './images/alert.png'
  1354. // // },
  1355. // height: 40
  1356. // },
  1357. // x: {
  1358. // fontSize: 18,
  1359. // borderColor: '#449933',
  1360. // borderRadius: 4
  1361. // },
  1362. // }
  1363. // },
  1364. // // itemStyle: {
  1365. // // color: 'rgba(38,48,59,0.6)'
  1366. // // },
  1367. // data:[{value:'117.48', xAxis: '国际能源', yAxis: 127 },{value:'138.83', xAxis: '汾酒集团', yAxis: 148 }]
  1368. // },
  1369. markLine: {
  1370. data: [
  1371. {
  1372. name: '省属企业平均水平',
  1373. yAxis: 50.13,
  1374. lineStyle: {
  1375. color: '#fff',
  1376. },
  1377. label: {
  1378. formatter: '{b}',
  1379. position: 'end',
  1380. padding: [20, 100, 10, 10],
  1381. fontSize: 16,
  1382. color: '#fff',
  1383. },
  1384. },
  1385. // {
  1386. // name: '',
  1387. // yAxis: 0,
  1388. // lineStyle: {
  1389. // color: '#fff',
  1390. // },
  1391. // label: {
  1392. // formatter: '{b}',
  1393. // position: 'end',
  1394. // fontSize: 16,
  1395. // color: '#fff',
  1396. // },
  1397. // },
  1398. {
  1399. name: '央企平均水平',
  1400. yAxis: 69.4,
  1401. lineStyle: {
  1402. color: '#fff',
  1403. },
  1404. label: {
  1405. formatter: '{b}',
  1406. position: 'end',
  1407. padding: [-4, 150, 10, 10],
  1408. color: '#fff',
  1409. fontSize: 16,
  1410. },
  1411. },
  1412. ],
  1413. label: {
  1414. distance: [50, 0],
  1415. },
  1416. },
  1417. data: c1[0],
  1418. },
  1419. {
  1420. name: '全员劳动生产率同比',
  1421. type: 'line',
  1422. yAxisIndex: 1,
  1423. smooth: true, //平滑曲线显示
  1424. showAllSymbol: true, //显示所有图形。
  1425. symbol: 'circle', //标记的图形为实心圆
  1426. symbolSize: 8, //标记的大小
  1427. smooth: false,
  1428. itemStyle: {
  1429. //折线拐点标志的样式
  1430. color: '#B889EA',
  1431. borderColor: '#B889EA',
  1432. width: 2,
  1433. shadowColor: '#B889EA',
  1434. shadowBlur: 4,
  1435. },
  1436. lineStyle: {
  1437. color: '#B889EA',
  1438. width: 2,
  1439. },
  1440. label: {
  1441. normal: {
  1442. show: true,
  1443. position: 'top',
  1444. textStyle: {
  1445. color: '#B889EA',
  1446. fontStyle: 'normal',
  1447. textAlign: 'left',
  1448. fontSize: 16,
  1449. },
  1450. formatter: function (data) {
  1451. if (data.name == '国际能源' || data.name == '汾酒集团') {
  1452. return data.value + '%'
  1453. } else {
  1454. return ''
  1455. }
  1456. }
  1457. }
  1458. },
  1459. // data: [50, 40, 60, 20, 45, 30, 60, 100, 45, 40, 50, 20, 60, 80, 45, 70, 50, 40],
  1460. data: c1[1],
  1461. },
  1462. ],
  1463. }
  1464. option.title.text = '各省属企业全员劳动生产率'
  1465. // option.legend.data = [ '全员劳动生产率(万/人)','全员劳动生产率同比']
  1466. option.legend.show = true
  1467. option.grid.right = '15%'
  1468. option.tooltip.formatter = '{a0}:{c0}' + '<br/>' + '{a1}:{c1}' + '%'
  1469. option.yAxis.push({
  1470. type: 'value',
  1471. axisLine: {
  1472. show: false,
  1473. },
  1474. splitLine: {
  1475. show: false,
  1476. },
  1477. axisLabel: {
  1478. show: true,
  1479. formatter: '{value} %',
  1480. textStyle: {
  1481. color: 'rgba(250,250,250,0.6)',
  1482. },
  1483. },
  1484. })
  1485. myChart.setOption(option)
  1486. // tools.loopShowTooltip(myChart, option, {
  1487. // nterval: 2000,
  1488. // loopSeries: true,
  1489. // })
  1490. },
  1491. initChartC2 () {
  1492. let myChart = echarts.init(this.$refs['echartC2'])
  1493. let option = {
  1494. ..._.cloneDeep(this.commonOption),
  1495. color: ['#69c0ff'],
  1496. series: [
  1497. {
  1498. name: '人工成本利润率',
  1499. type: 'bar',
  1500. barWidth: 15,
  1501. label: {
  1502. normal: {
  1503. show: true,
  1504. position: 'top',
  1505. textStyle: {
  1506. color: '#fff',
  1507. fontStyle: 'normal',
  1508. textAlign: 'left',
  1509. fontSize: 16,
  1510. },
  1511. formatter: function (data) {
  1512. if (data.name == '国际能源' || data.name == '文旅集团' || data.name == '航产集团' || data.name == '华舰体育') {
  1513. return data.value
  1514. } else {
  1515. return ''
  1516. }
  1517. }
  1518. }
  1519. },
  1520. markLine: {
  1521. data: [
  1522. {
  1523. name: '省属企业平均水平',
  1524. yAxis: 67.09,
  1525. lineStyle: {
  1526. color: '#fff',
  1527. },
  1528. label: {
  1529. formatter: '{b}',
  1530. position: 'end',
  1531. padding: [24, 100, 10, 10],
  1532. fontSize: 16,
  1533. color: '#fff',
  1534. },
  1535. },
  1536. {
  1537. name: '央企平均水平',
  1538. yAxis: 81,
  1539. lineStyle: {
  1540. color: '#fff',
  1541. },
  1542. label: {
  1543. formatter: '{b}',
  1544. position: 'end',
  1545. padding: [-24, 200, 10, 10],
  1546. color: '#fff',
  1547. fontSize: 16,
  1548. },
  1549. },
  1550. ],
  1551. label: {
  1552. distance: [50, 0],
  1553. },
  1554. },
  1555. itemStyle: {
  1556. color: params => {
  1557. if (params.value < 0 && c2[0][params.dataIndex] < 0) {
  1558. return 'red'
  1559. } else if (params.value < 0) {
  1560. return 'yellow'
  1561. } else {
  1562. return new echarts.graphic.LinearGradient(0, 0, 0, 1, [
  1563. {
  1564. offset: 0,
  1565. color: '#69c0ff',
  1566. },
  1567. {
  1568. offset: 1,
  1569. color: '#082550',
  1570. },
  1571. ])
  1572. }
  1573. },
  1574. },
  1575. data: c2[1],
  1576. },
  1577. {
  1578. name: '人工成本利润率同比',
  1579. type: 'line',
  1580. yAxisIndex: 1, //使用的 y 轴的 index,在单个图表实例中存在多个 y轴的时候有用
  1581. smooth: true, //平滑曲线显示
  1582. showAllSymbol: true, //显示所有图形。
  1583. symbol: 'circle', //标记的图形为实心圆
  1584. symbolSize: 8, //标记的大小
  1585. smooth: false,
  1586. label: {
  1587. normal: {
  1588. show: true,
  1589. position: 'top',
  1590. lineHeight: '30',
  1591. textStyle: {
  1592. color: '#b889ea',
  1593. fontStyle: 'normal',
  1594. textAlign: 'left',
  1595. fontSize: 16,
  1596. },
  1597. formatter: function (data) {
  1598. if (data.name == '国际能源' || data.name == '文旅集团' || data.name == '航产集团' || data.name == '华舰体育') {
  1599. return data.value + '%'
  1600. } else {
  1601. return ''
  1602. }
  1603. }
  1604. }
  1605. },
  1606. itemStyle: {
  1607. //折线拐点标志的样式
  1608. color: '#B889EA',
  1609. borderColor: '#B889EA',
  1610. width: 2,
  1611. shadowColor: '#B889EA',
  1612. shadowBlur: 4,
  1613. },
  1614. lineStyle: {
  1615. color: '#B889EA',
  1616. width: 2,
  1617. },
  1618. data: c2[0],
  1619. },
  1620. ],
  1621. }
  1622. option.title.text = '各省属企业人工成本利润率'
  1623. option.legend.show = true
  1624. option.grid.right = '15%'
  1625. option.yAxis[0].axisLabel.formatter = '{value} %'
  1626. option.tooltip.formatter = '{a0}:{c0}' + '%' + '<br/>' + '{a1}:{c1}' + '%'
  1627. option.yAxis.push({
  1628. type: 'value',
  1629. axisLine: {
  1630. show: false,
  1631. },
  1632. splitLine: {
  1633. show: false,
  1634. },
  1635. axisLabel: {
  1636. show: true,
  1637. formatter: '{value} %',
  1638. textStyle: {
  1639. color: 'rgba(250,250,250,0.6)',
  1640. },
  1641. },
  1642. })
  1643. myChart.setOption(option)
  1644. // tools.loopShowTooltip(myChart, option, {
  1645. // nterval: 2000,
  1646. // loopSeries: true,
  1647. // })
  1648. },
  1649. // 右侧图表---------------------------------------------开始
  1650. initChartR1 () {
  1651. let myChart = echarts.init(this.$refs['echartR1'])
  1652. let commonOptions = this.commonOption
  1653. commonOptions.yAxis[0].splitNumber = 2
  1654. let dataTemp = []
  1655. let dataTemp2 = []
  1656. dataR1[0].forEach(item => {
  1657. dataTemp.push(item + 1)
  1658. })
  1659. dataR1[1].forEach(item => {
  1660. dataTemp2.push(item + 1)
  1661. })
  1662. let option = {
  1663. ..._.cloneDeep(commonOptions),
  1664. series: [
  1665. {
  1666. name: '招聘需求公告次数',
  1667. type: 'bar',
  1668. barWidth: 15,
  1669. itemStyle: {
  1670. normal: {
  1671. color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
  1672. {
  1673. offset: 0,
  1674. color: '#69c0ff',
  1675. },
  1676. {
  1677. offset: 1,
  1678. color: '#082550',
  1679. },
  1680. ]),
  1681. },
  1682. },
  1683. data: dataTemp,
  1684. },
  1685. {
  1686. name: '招聘需求公告累计招聘人次',
  1687. type: 'bar',
  1688. barWidth: 15,
  1689. itemStyle: {
  1690. normal: {
  1691. color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
  1692. {
  1693. offset: 0,
  1694. color: '#43ede3',
  1695. },
  1696. {
  1697. offset: 1,
  1698. color: '#082550',
  1699. },
  1700. ]),
  1701. },
  1702. },
  1703. data: dataTemp2,
  1704. },
  1705. ],
  1706. }
  1707. option.title.text = '各省属企业招聘需求公示人次'
  1708. option.legend.data = ['招聘需求公告次数', '招聘需求公告累计招聘人次']
  1709. option.legend.show = true
  1710. option.tooltip.formatter = function (value) {
  1711. return value[0].axisValue + ':' + (value[0].value - 1) + '<br>' + value[1].axisValue + ':' + (value[1].value - 1)
  1712. }
  1713. option.yAxis[0] = {
  1714. type: 'log',
  1715. min: 1,
  1716. logBase: 10,
  1717. axisLine: {
  1718. show: false,
  1719. },
  1720. splitLine: {
  1721. show: true,
  1722. lineStyle: {
  1723. color: '#68b4dd66',
  1724. type: 'dashed',
  1725. },
  1726. },
  1727. axisLabel: {
  1728. show: true,
  1729. formatter: function (value) {
  1730. return value === 1 ? 0 : value
  1731. },
  1732. textStyle: {
  1733. color: 'rgba(250,250,250,0.6)',
  1734. },
  1735. },
  1736. }
  1737. myChart.setOption(option)
  1738. },
  1739. initChartR2 () {
  1740. let myChart = echarts.init(this.$refs['echartR2'])
  1741. let commonOptions = this.commonOption
  1742. commonOptions.yAxis[0].splitNumber = 2
  1743. let dataTemp = []
  1744. let dataTemp2 = []
  1745. dataR2[0].forEach(item => {
  1746. dataTemp.push(item + 1)
  1747. })
  1748. dataR2[1].forEach(item => {
  1749. dataTemp2.push(item + 1)
  1750. })
  1751. let option = {
  1752. ..._.cloneDeep(commonOptions),
  1753. series: [
  1754. {
  1755. name: '录用结果公示次数',
  1756. type: 'bar',
  1757. barWidth: 15,
  1758. itemStyle: {
  1759. normal: {
  1760. color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
  1761. {
  1762. offset: 0,
  1763. color: '#69c0ff',
  1764. },
  1765. {
  1766. offset: 1,
  1767. color: '#082550',
  1768. },
  1769. ]),
  1770. },
  1771. },
  1772. data: dataTemp,
  1773. },
  1774. {
  1775. name: '录用结果公示累计公示人数',
  1776. type: 'bar',
  1777. barWidth: 15,
  1778. itemStyle: {
  1779. normal: {
  1780. color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
  1781. {
  1782. offset: 0,
  1783. color: '#45DAD1',
  1784. },
  1785. {
  1786. offset: 1,
  1787. color: '#082550',
  1788. },
  1789. ]),
  1790. },
  1791. },
  1792. data: dataTemp2,
  1793. },
  1794. ],
  1795. }
  1796. option.title.text = '各省属企业录用结果公示人次'
  1797. option.legend.data = ['录用结果公示次数', '录用结果公示累计公示人数']
  1798. option.legend.show = true
  1799. option.tooltip.formatter = function (value) {
  1800. return value[0].axisValue + ':' + (value[0].value - 1) + '<br>' + value[1].axisValue + ':' + (value[1].value - 1)
  1801. }
  1802. option.yAxis[0] = {
  1803. type: 'log',
  1804. min: 1,
  1805. logBase: 10,
  1806. axisLine: {
  1807. show: false,
  1808. },
  1809. splitLine: {
  1810. show: true,
  1811. lineStyle: {
  1812. color: '#68b4dd66',
  1813. type: 'dashed',
  1814. },
  1815. },
  1816. axisLabel: {
  1817. show: true,
  1818. formatter: function (value) {
  1819. return value === 1 ? 0 : value
  1820. },
  1821. textStyle: {
  1822. color: 'rgba(250,250,250,0.6)',
  1823. },
  1824. },
  1825. }
  1826. myChart.setOption(option)
  1827. },
  1828. initChartR3 () {
  1829. let myChart = echarts.init(this.$refs['echartR3'])
  1830. let commonOptions = this.commonOption
  1831. commonOptions.yAxis[0].splitNumber = 2
  1832. let option = {
  1833. ..._.cloneDeep(commonOptions),
  1834. color: ['#45DAD1'],
  1835. series: [
  1836. {
  1837. name: '2022年利润(万)',
  1838. type: 'bar',
  1839. barWidth: 15,
  1840. label: {
  1841. normal: {
  1842. show: true,
  1843. position: 'bottom',
  1844. textStyle: {
  1845. color: '#69c0ff',
  1846. fontStyle: 'normal',
  1847. textAlign: 'left',
  1848. fontSize: 14,
  1849. },
  1850. formatter: function (data) {
  1851. if (data.name == "国际能源" || data.name == '文旅集团' || data.name == '航产集团' || data.name == '华舰体育') {
  1852. return data.value
  1853. } else {
  1854. return ''
  1855. }
  1856. }
  1857. }
  1858. },
  1859. itemStyle: {
  1860. normal: {
  1861. color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
  1862. {
  1863. offset: 0,
  1864. color: '#69c0ff',
  1865. },
  1866. {
  1867. offset: 1,
  1868. color: '#082550',
  1869. },
  1870. ]),
  1871. },
  1872. },
  1873. data: dataR3[0],
  1874. },
  1875. {
  1876. name: '2022年累计招聘数',
  1877. type: 'bar',
  1878. barWidth: 15,
  1879. yAxisIndex: 1,
  1880. label: {
  1881. normal: {
  1882. show: true,
  1883. position: 'top',
  1884. textStyle: {
  1885. color: '#45DAD1',
  1886. fontStyle: 'normal',
  1887. textAlign: 'right',
  1888. fontSize: 14,
  1889. },
  1890. formatter: function (data) {
  1891. if (data.name == "国际能源" || data.name == '文旅集团' || data.name == '航产集团' || data.name == '华舰体育') {
  1892. return data.value
  1893. } else {
  1894. return ''
  1895. }
  1896. }
  1897. }
  1898. },
  1899. itemStyle: {
  1900. color: params => {
  1901. if (params.value > 0 && dataR3[0][params.dataIndex] < 0) {
  1902. return 'red'
  1903. } else {
  1904. return new echarts.graphic.LinearGradient(0, 0, 0, 1, [
  1905. {
  1906. offset: 0,
  1907. color: '#45DAD1',
  1908. },
  1909. {
  1910. offset: 1,
  1911. color: '#082550',
  1912. },
  1913. ])
  1914. }
  1915. },
  1916. },
  1917. // itemStyle: {
  1918. // normal: {
  1919. // color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
  1920. // {
  1921. // offset: 0,
  1922. // color: '#45DAD1',
  1923. // },
  1924. // {
  1925. // offset: 1,
  1926. // color: '#082550',
  1927. // },
  1928. // ]),
  1929. // },
  1930. // },
  1931. data: dataR3[1],
  1932. },
  1933. ],
  1934. }
  1935. option.title.text = '各省属企业年利润与当年累计招聘人数'
  1936. option.legend.data = ['2022年利润(万)', '2022年累计招聘数']
  1937. option.legend.show = true
  1938. option.yAxis[0] = {
  1939. max: function (value) {
  1940. if (Math.abs(value.max) > Math.abs(value.min)) {
  1941. return (Math.abs(value.max) * 1.2).toFixed(2)
  1942. } else {
  1943. return (Math.abs(value.min) * 1.2).toFixed(2)
  1944. }
  1945. },
  1946. min: function (value) {
  1947. if (Math.abs(value.max) > Math.abs(value.min)) {
  1948. return (-Math.abs(value.max) * 1.2).toFixed(2)
  1949. } else {
  1950. return (-Math.abs(value.min) * 1.2).toFixed(2)
  1951. }
  1952. },
  1953. type: 'value',
  1954. axisLine: {
  1955. show: false,
  1956. },
  1957. splitLine: {
  1958. show: true,
  1959. lineStyle: {
  1960. color: '#68b4dd66',
  1961. type: 'dashed',
  1962. },
  1963. },
  1964. axisLabel: {
  1965. show: true,
  1966. formatter: function (value) {
  1967. return value === 1 ? 0 : value
  1968. },
  1969. textStyle: {
  1970. color: 'rgba(250,250,250,0.6)',
  1971. },
  1972. },
  1973. }
  1974. option.yAxis.push({
  1975. splitLine: {
  1976. show: false,
  1977. },
  1978. axisLine: {
  1979. show: false,
  1980. },
  1981. axisLabel: {
  1982. show: true,
  1983. formatter: '{value}',
  1984. textStyle: {
  1985. color: 'rgba(250,250,250,0.6)',
  1986. },
  1987. },
  1988. max: function (value) {
  1989. if (Math.abs(value.max) > Math.abs(value.min)) {
  1990. return (Math.abs(value.max) * 1.2).toFixed(2)
  1991. } else {
  1992. return (Math.abs(value.min) * 1.2).toFixed(2)
  1993. }
  1994. },
  1995. min: function (value) {
  1996. if (Math.abs(value.max) > Math.abs(value.min)) {
  1997. return (-Math.abs(value.max) * 1.2).toFixed(2)
  1998. } else {
  1999. return (-Math.abs(value.min) * 1.2).toFixed(2)
  2000. }
  2001. },
  2002. })
  2003. myChart.setOption(option)
  2004. },
  2005. initChartR4 () {
  2006. let myChart = echarts.init(this.$refs['echartR4'])
  2007. let commonOptions = this.commonOption
  2008. commonOptions.yAxis[0].splitNumber = 2
  2009. let option = {
  2010. ..._.cloneDeep(commonOptions),
  2011. series: [
  2012. {
  2013. name: '2022年退出人数',
  2014. type: 'bar',
  2015. barWidth: 15,
  2016. itemStyle: {
  2017. normal: {
  2018. color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
  2019. {
  2020. offset: 0,
  2021. color: '#69c0ff',
  2022. },
  2023. {
  2024. offset: 1,
  2025. color: '#082550',
  2026. },
  2027. ]),
  2028. },
  2029. },
  2030. data: dataR4[0],
  2031. },
  2032. {
  2033. name: '2022年累计招聘人数',
  2034. type: 'bar',
  2035. barWidth: 15,
  2036. itemStyle: {
  2037. normal: {
  2038. color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
  2039. {
  2040. offset: 0,
  2041. color: '#45DAD1',
  2042. },
  2043. {
  2044. offset: 1,
  2045. color: '#082550',
  2046. },
  2047. ]),
  2048. },
  2049. },
  2050. data: dataR4[1],
  2051. },
  2052. ],
  2053. }
  2054. option.title.text = '各省属企业"退二进一"完成情况'
  2055. option.legend.data = ['2022年退出人数', '2022年累计招聘人数']
  2056. option.legend.show = true
  2057. option.yAxis[0] = {
  2058. //type: 'log',
  2059. //min: 1,
  2060. //logBase: 3,
  2061. axisLine: {
  2062. show: false,
  2063. },
  2064. splitLine: {
  2065. show: true,
  2066. lineStyle: {
  2067. color: '#68b4dd66',
  2068. type: 'dashed',
  2069. },
  2070. },
  2071. axisLabel: {
  2072. show: true,
  2073. formatter: function (value) {
  2074. return value === 1 ? 0 : value
  2075. },
  2076. textStyle: {
  2077. color: 'rgba(250,250,250,0.6)',
  2078. },
  2079. },
  2080. }
  2081. myChart.setOption(option)
  2082. },
  2083. initChartR5 () {
  2084. let myChart = echarts.init(this.$refs['echartR5'])
  2085. let option = {
  2086. ..._.cloneDeep(this.commonOption),
  2087. series: [
  2088. {
  2089. name: '去年同期在岗职工平均薪酬',
  2090. type: 'bar',
  2091. barWidth: 15,
  2092. markLine: {
  2093. data: [
  2094. {
  2095. name: '省属企业平均水平',
  2096. yAxis: 9333.33,
  2097. lineStyle: {
  2098. color: '#fff',
  2099. },
  2100. label: {
  2101. formatter: '{b}',
  2102. position: 'middle',
  2103. fontSize: 16,
  2104. color: '#fff',
  2105. },
  2106. }
  2107. ],
  2108. label: {
  2109. distance: [50, 0],
  2110. },
  2111. },
  2112. itemStyle: {
  2113. normal: {
  2114. color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
  2115. {
  2116. offset: 0,
  2117. color: '#6682F5',
  2118. },
  2119. {
  2120. offset: 1,
  2121. color: '#082550',
  2122. },
  2123. ]),
  2124. },
  2125. },
  2126. data: fjxdataL1[0],
  2127. },
  2128. {
  2129. name: '在岗职工平均薪酬',
  2130. type: 'bar',
  2131. barWidth: 15,
  2132. itemStyle: {
  2133. normal: {
  2134. color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
  2135. {
  2136. offset: 0,
  2137. color: '#69c0ff',
  2138. },
  2139. {
  2140. offset: 1,
  2141. color: '#082550',
  2142. },
  2143. ]),
  2144. },
  2145. },
  2146. data: fjxdataL1[1],
  2147. },
  2148. ],
  2149. }
  2150. option.title.text = '各省属企业在岗职工平均薪酬'
  2151. option.legend.data = ['去年同期在岗职工平均薪酬', '在岗职工平均薪酬']
  2152. option.legend.show = true
  2153. option.yAxis.push({
  2154. splitLine: {
  2155. show: false,
  2156. },
  2157. axisLine: {
  2158. show: false,
  2159. },
  2160. })
  2161. myChart.setOption(option)
  2162. },
  2163. initChartR6 () {
  2164. let myChart = echarts.init(this.$refs['echartR6'])
  2165. let option = {
  2166. ..._.cloneDeep(this.commonOption),
  2167. color: ['#69c0ff'],
  2168. series: [
  2169. {
  2170. name: '2022年利润累计涨幅率',
  2171. type: 'line',
  2172. smooth: true, //平滑曲线显示
  2173. showAllSymbol: true, //显示所有图形。
  2174. symbol: 'circle', //标记的图形为实心圆
  2175. symbolSize: 8, //标记的大小
  2176. smooth: false,
  2177. label: {
  2178. normal: {
  2179. show: true,
  2180. lineHeight: '20',
  2181. position: 'top',
  2182. textStyle: {
  2183. color: '#B889EA',
  2184. fontStyle: 'normal',
  2185. textAlign: 'left',
  2186. fontSize: 16,
  2187. },
  2188. formatter: function (data) {
  2189. if (data.name == '文旅集团') {
  2190. return data.value
  2191. } else {
  2192. return ''
  2193. }
  2194. }
  2195. }
  2196. },
  2197. itemStyle: {
  2198. //折线拐点标志的样式
  2199. color: '#B889EA',
  2200. borderColor: '#B889EA',
  2201. width: 2,
  2202. shadowColor: '#B889EA',
  2203. shadowBlur: 4,
  2204. },
  2205. lineStyle: {
  2206. color: '#B889EA',
  2207. width: 2,
  2208. },
  2209. data: fjxdataL2[0],
  2210. },
  2211. {
  2212. name: '2022年薪酬累计涨幅率',
  2213. type: 'line',
  2214. smooth: true, //平滑曲线显示
  2215. showAllSymbol: true, //显示所有图形。
  2216. symbol: 'circle', //标记的图形为实心圆
  2217. symbolSize: 12, //标记的大小
  2218. smooth: false,
  2219. label: {
  2220. normal: {
  2221. show: true,
  2222. position: 'top',
  2223. lineHeight: '35',
  2224. textStyle: {
  2225. color: '#69c0ff',
  2226. fontStyle: 'normal',
  2227. textAlign: 'left',
  2228. fontSize: 16,
  2229. },
  2230. formatter: function (data) {
  2231. if (data.name == '文旅集团') {
  2232. return data.value
  2233. } else {
  2234. return ''
  2235. }
  2236. }
  2237. }
  2238. },
  2239. itemStyle: {
  2240. color: params => {
  2241. if (params.value > 0 && fjxdataL2[0][params.dataIndex] < 0) {
  2242. return 'yellow'
  2243. } else {
  2244. return new echarts.graphic.LinearGradient(0, 0, 0, 1, [
  2245. {
  2246. offset: 0,
  2247. color: '#69c0ff',
  2248. },
  2249. {
  2250. offset: 1,
  2251. color: '#082550',
  2252. },
  2253. ])
  2254. }
  2255. },
  2256. },
  2257. lineStyle: {
  2258. color: '#69C0FF',
  2259. width: 2,
  2260. },
  2261. data: fjxdataL2[1],
  2262. },
  2263. {
  2264. type: 'effectScatter',
  2265. coordinateSystem: 'cartesian2d',
  2266. showEffectOn: 'render',
  2267. rippleEffect: {
  2268. period: 10,
  2269. scale: 4,
  2270. brushType: 'stroke'
  2271. },
  2272. hoverAnimation: true,
  2273. itemStyle: {
  2274. color: 'yellow'
  2275. },
  2276. lineStyle: {
  2277. color: '#43ede3',
  2278. width: 2,
  2279. },
  2280. data: this.twinkleR6,
  2281. },
  2282. ],
  2283. }
  2284. option.title.text = '各省属企业利润与薪酬变动情况'
  2285. option.legend.data = ['2022年利润累计涨幅率', '2022年薪酬累计涨幅率']
  2286. option.tooltip.formatter = '{a0}:{c0}' + '%' + '<br/>' + '{a1}:{c1}' + '%'
  2287. option.yAxis[0].axisLabel.formatter = '{value} %'
  2288. myChart.setOption(option)
  2289. },
  2290. initChartR7 () {
  2291. let myChart = echarts.init(this.$refs['echartR7'])
  2292. let option = {
  2293. ..._.cloneDeep(this.commonOption),
  2294. series: [
  2295. {
  2296. name: '全员绩效考核完成率',
  2297. type: 'bar',
  2298. barWidth: 15,
  2299. itemStyle: {
  2300. normal: {
  2301. color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
  2302. {
  2303. offset: 0,
  2304. color: '#B889EA',
  2305. },
  2306. {
  2307. offset: 1,
  2308. color: '#082550',
  2309. },
  2310. ]),
  2311. },
  2312. },
  2313. data: fjxdataL3[0],
  2314. },
  2315. ],
  2316. }
  2317. option.title.text = '各省属企业全员绩效考核'
  2318. option.legend.show = true
  2319. option.tooltip = {
  2320. trigger: 'axis',
  2321. formatter: '{a0}:{c0}' + '%'
  2322. },
  2323. option.yAxis[0].axisLabel = {
  2324. show: true,
  2325. formatter: '{value} %',
  2326. textStyle: {
  2327. color: 'rgba(250,250,250,0.6)',
  2328. },
  2329. }
  2330. myChart.setOption(option)
  2331. },
  2332. initChartR8 () {
  2333. let myChart = echarts.init(this.$refs['echartR8'])
  2334. let option = {
  2335. ..._.cloneDeep(this.commonOption),
  2336. series: [
  2337. {
  2338. name: '任期制契约化完成率',
  2339. type: 'bar',
  2340. barWidth: 15,
  2341. itemStyle: {
  2342. normal: {
  2343. color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
  2344. {
  2345. offset: 0,
  2346. color: '#43ede3',
  2347. },
  2348. {
  2349. offset: 1,
  2350. color: '#082550',
  2351. },
  2352. ]),
  2353. },
  2354. },
  2355. data: fjxdataL4[0],
  2356. },
  2357. ],
  2358. }
  2359. option.title.text = '各省属企业任期制契约化管理'
  2360. option.legend.show = true
  2361. option.tooltip.formatter = '{a0}:{c0}' + '%'
  2362. option.yAxis[0].axisLabel.formatter = '{value} %'
  2363. myChart.setOption(option)
  2364. },
  2365. },
  2366. })