newIndex.js 36 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949
  1. let app = new Vue({
  2. el: "#app",
  3. data() {
  4. return {
  5. config5: {
  6. waitTime: 2000,
  7. header: ["单位名称", "平均工资涨幅", ''],
  8. data: [
  9. ["山焦财务", '<span class="red"><span class="listText">-12%</span><span class="redImg"></span></span>'],
  10. ["山焦担保", '<span class="green"><span class="listText">4%</span><span class="greedImg"></span></span>'],
  11. ["山焦股份", '<span class="green"><span class="listText">6%</span><span class="greedImg"></span></span>'],
  12. ["山焦国华", '<span class="green"><span class="listText">20%</span><span class="greedImg"></span></span>'],
  13. ["山焦国华", '<span class="green"><span class="listText">9%</span><span class="greedImg"></span></span>'],
  14. ["山焦财务", '<span class="red"><span class="listText">-1%</span><span class="redImg"></span></span>'],
  15. ["山焦担保", '<span class="green"><span class="listText">4%</span><span class="greedImg"></span></span>'],
  16. ["山焦股份", '<span class="green"><span class="listText">6%</span><span class="greedImg"></span></span>'],
  17. ["山焦国华", '<span class="green"><span class="listText">20%</span><span class="greedImg"></span></span>'],
  18. ["山焦国华", '<span class="green"><span class="listText">9%</span><span class="greedImg"></span></span>']
  19. ],
  20. align: ["center", "center"],
  21. headerBGC: "#153A62",
  22. oddRowBGC: "#061F42",
  23. evenRowBGC: "#0C284A",
  24. },
  25. config1: {
  26. waitTime: 2000,
  27. rowNum: 1,
  28. data: [
  29. ["山焦财务", '<span class="red"><span class="listText">-12%</span><span class="redImg"></span></span>'],
  30. ["山焦担保", '<span class="green"><span class="listText">4%</span><span class="greedImg"></span></span>'],
  31. ["山焦股份", '<span class="green"><span class="listText">6%</span><span class="greedImg"></span></span>'],
  32. ["山焦国华", '<span class="green"><span class="listText">20%</span><span class="greedImg"></span></span>'],
  33. ["山焦国华", '<span class="green"><span class="listText">9%</span><span class="greedImg"></span></span>'],
  34. ["山焦财务", '<span class="red"><span class="listText">-1%</span><span class="redImg"></span></span>'],
  35. ["山焦担保", '<span class="green"><span class="listText">4%</span><span class="greedImg"></span></span>'],
  36. ["山焦股份", '<span class="green"><span class="listText">6%</span><span class="greedImg"></span></span>'],
  37. ["山焦国华", '<span class="green"><span class="listText">20%</span><span class="greedImg"></span></span>'],
  38. ["山焦国华", '<span class="green"><span class="listText">9%</span><span class="greedImg"></span></span>']
  39. ],
  40. align: ["center", "center"],
  41. headerBGC: "#153A62",
  42. oddRowBGC: "#061F42",
  43. evenRowBGC: "#0C284A",
  44. },
  45. }
  46. },
  47. mounted() {
  48. this.$nextTick(() => {
  49. let organization = this.$refs.organization
  50. this.initOrganization(organization, "组织分布")
  51. let mobilize = this.$refs.mobilize
  52. this.initOrganization(mobilize,)
  53. let industry = this.$refs.industry
  54. this.initOrganization(industry, "产业分布")
  55. let sequence = this.$refs.sequence
  56. this.initOrganization(sequence, "", { x: ["管理序列", "技术序列", "操作序列"], y: [1200, 680, 562] })
  57. let serviceAge = this.$refs.serviceAge
  58. this.initLineEcharts(serviceAge)
  59. let level = this.$refs.level
  60. this.initLineElseEcharts(level)
  61. let initChartR1 = this.$refs.initChartR1
  62. this.initChartR1(initChartR1)
  63. let initChartsBig = this.$refs.initChartsBig
  64. this.initChartsBig(initChartsBig)
  65. let leftEnd = this.$refs.leftEnd
  66. this.initOrganization(leftEnd)
  67. let echarts90 = this.$refs.echarts90
  68. this.initLineElseEcharts(echarts90)
  69. })
  70. },
  71. methods: {
  72. initOrganization(el, title = "", data = { x: ["集团本部", "山焦财务", "山焦担保", "山焦股份", "山焦国华", "山焦机电", "山焦人力", "山焦民爆", "山焦事业", "山焦投资"], y: [1200, 680, 562, 268, 717, 843, 987, 126, 723, 569] }) {
  73. let chart = echarts.init(el);
  74. let option = {
  75. title: {
  76. top: 5,
  77. left: "center",
  78. text: title,
  79. textStyle: {
  80. color: "#5EB7FF",
  81. fontWeight: "normal",
  82. fontSize: 32
  83. }
  84. },
  85. grid: {
  86. top: 60,
  87. right: 40,
  88. left: 105,
  89. bottom: 40,
  90. },
  91. tooltip: {
  92. show: true,
  93. trigger: "axis",
  94. axisPointer: {
  95. // 坐标轴指示器,坐标轴触发有效
  96. type: "shadow", // 默认为直线,可选为:'line' | 'shadow'
  97. },
  98. },
  99. xAxis: {
  100. data: data.x,
  101. axisTick: {
  102. show: false,
  103. },
  104. // x轴的字体颜色
  105. axisLabel: {
  106. interval: 0,
  107. // rotate: 40,
  108. textStyle: {
  109. color: "white",
  110. fontSize: 30,
  111. },
  112. },
  113. //y轴线的颜色以及宽度
  114. axisLine: {
  115. show: true,
  116. lineStyle: {
  117. color: "#1E5389",
  118. width: 1,
  119. type: "solid",
  120. },
  121. },
  122. },
  123. yAxis: {
  124. name: "单位/个",
  125. axisTick: {
  126. lineStyle: {
  127. color: "#18416F",
  128. },
  129. },
  130. // y轴的字体颜色
  131. axisLabel: {
  132. textStyle: {
  133. color: "white",
  134. fontSize: 30,
  135. },
  136. },
  137. nameTextStyle: {
  138. fontSize: 30,
  139. },
  140. splitLine: {
  141. show: true,
  142. lineStyle: {
  143. color: "#204561",
  144. width: 1,
  145. type: "dotted",
  146. },
  147. },
  148. //y轴线的颜色以及宽度
  149. axisLine: {
  150. show: true,
  151. lineStyle: {
  152. color: "#1E5389",
  153. width: 1,
  154. type: "solid",
  155. },
  156. },
  157. },
  158. series: [
  159. {
  160. name: "",
  161. type: "bar",
  162. data: data.y,
  163. showBackground: true,
  164. backgroundStyle: {
  165. color: "#18416F",
  166. },
  167. barWidth: "30%",
  168. itemStyle: {
  169. barBorderRadius: [30, 30, 0, 0],
  170. color: new echarts.graphic.LinearGradient(0, 1, 0, 0, [
  171. {
  172. offset: 0,
  173. color: "#02355C",
  174. }, //柱图渐变色
  175. {
  176. offset: 1,
  177. color: "#40A9FF",
  178. },
  179. ]),
  180. },
  181. }
  182. ],
  183. legend: {
  184. data: ["入池人数", "出池人数"],
  185. textStyle: {
  186. // 图列内容样式
  187. color: "#fff", // 字体颜色
  188. // fontSize: "10",
  189. },
  190. right: 30,
  191. icon: "roundRect",
  192. // 小图标的宽高
  193. itemHeight: 5,
  194. },
  195. };
  196. chart.setOption(option);
  197. tools.loopShowTooltip(chart, option, {
  198. nterval: 2000,
  199. loopSeries: true,
  200. });
  201. },
  202. initLineEcharts(el) {
  203. let chart = echarts.init(el);
  204. let option = {
  205. grid: {
  206. top: 15,
  207. right: 15,
  208. left: 45,
  209. bottom: 45,
  210. },
  211. tooltip: {
  212. show: true,
  213. trigger: "axis",
  214. axisPointer: {
  215. lineStyle: {
  216. color: "#ddd",
  217. },
  218. },
  219. },
  220. legend: {
  221. textStyle: {
  222. // 图列内容样式
  223. color: "#fff", // 字体颜色
  224. // fontSize: "10",
  225. },
  226. right: 30,
  227. icon: "roundRect",
  228. // 小图标的宽高
  229. itemHeight: 5
  230. },
  231. xAxis: {
  232. type: "category",
  233. data: ["5年以下", "6-10年", "11-15年", "16-20年", '21-25年', '26-30年', '30年以上'],
  234. boundaryGap: false,
  235. splitLine: {
  236. show: false,
  237. interval: "auto",
  238. },
  239. axisTick: {
  240. show: false,
  241. },
  242. axisLine: {
  243. lineStyle: {
  244. color: "#7ECEF4",
  245. },
  246. },
  247. axisLabel: {
  248. interval: 0,
  249. rotate: 40,
  250. margin: 10,
  251. textStyle: {
  252. // fontSize: 10,
  253. color: "#fff",
  254. },
  255. },
  256. },
  257. yAxis: {
  258. type: "value",
  259. splitLine: {
  260. show: true,
  261. lineStyle: {
  262. color: "#204561",
  263. width: 1,
  264. type: "dotted",
  265. },
  266. },
  267. axisTick: {
  268. show: false,
  269. },
  270. axisLine: {
  271. lineStyle: {
  272. color: "#7ECEF4",
  273. },
  274. },
  275. axisLabel: {
  276. margin: 10,
  277. textStyle: {
  278. fontSize: 10,
  279. color: "#fff",
  280. },
  281. },
  282. },
  283. series: [
  284. {
  285. name: "",
  286. type: "line",
  287. smooth: false,
  288. showSymbol: true, // 节点长显
  289. symbol: 'image://' + 'data:image/png;base64,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',
  290. symbolSize: 30,
  291. data: ["1100", "400", "608", "811", '358', '698', '125', '765'],
  292. areaStyle: {
  293. normal: {
  294. color: new echarts.graphic.LinearGradient(
  295. 0,
  296. 0,
  297. 0,
  298. 1,
  299. [
  300. {
  301. offset: 0,
  302. color: "#40A9FF",
  303. },
  304. {
  305. offset: 1,
  306. color: "#051F41",
  307. },
  308. ],
  309. false
  310. ),
  311. },
  312. },
  313. itemStyle: {
  314. normal: {
  315. color: "#40A9FF",
  316. },
  317. },
  318. lineStyle: {
  319. normal: {
  320. width: 2,
  321. },
  322. },
  323. }, {
  324. name: "",
  325. type: "line",
  326. smooth: false,
  327. showSymbol: true, // 节点长显
  328. symbol: 'image://' + 'data:image/png;base64,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',
  329. symbolSize: 30,
  330. data: ["100", "900", "68", "981", '1358', '628', '525', '565'],
  331. areaStyle: {
  332. normal: {
  333. color: new echarts.graphic.LinearGradient(
  334. 0,
  335. 0,
  336. 0,
  337. 1,
  338. [
  339. {
  340. offset: 0,
  341. color: "#45DAD1",
  342. },
  343. {
  344. offset: 1,
  345. color: "#051F41",
  346. },
  347. ],
  348. false
  349. ),
  350. },
  351. },
  352. itemStyle: {
  353. normal: {
  354. color: "#45DAD1",
  355. },
  356. },
  357. lineStyle: {
  358. normal: {
  359. width: 2,
  360. },
  361. },
  362. }
  363. ],
  364. };
  365. chart.setOption(option);
  366. tools.loopShowTooltip(chart, option, {
  367. nterval: 2000,
  368. loopSeries: true,
  369. });
  370. },
  371. initLineElseEcharts(el) {
  372. let chart = echarts.init(el);
  373. let option = {
  374. grid: {
  375. top: 15,
  376. right: 15,
  377. left: 45,
  378. bottom: 45,
  379. },
  380. tooltip: {
  381. show: true,
  382. trigger: "axis",
  383. axisPointer: {
  384. lineStyle: {
  385. color: "#ddd",
  386. },
  387. },
  388. },
  389. legend: {
  390. textStyle: {
  391. // 图列内容样式
  392. color: "#fff", // 字体颜色
  393. // fontSize: "10",
  394. },
  395. right: 30,
  396. icon: "roundRect",
  397. // 小图标的宽高
  398. itemHeight: 5
  399. },
  400. xAxis: {
  401. type: "category",
  402. data: ["5年以下", "6-10年", "11-15年", "16-20年", '21-25年', '26-30年', '30年以上'],
  403. boundaryGap: false,
  404. splitLine: {
  405. show: false,
  406. interval: "auto",
  407. },
  408. axisTick: {
  409. show: false,
  410. },
  411. axisLine: {
  412. lineStyle: {
  413. color: "#7ECEF4",
  414. },
  415. },
  416. axisLabel: {
  417. interval: 0,
  418. rotate: 40,
  419. margin: 10,
  420. textStyle: {
  421. // fontSize: 10,
  422. color: "#fff",
  423. },
  424. },
  425. },
  426. yAxis: {
  427. type: "value",
  428. splitLine: {
  429. show: true,
  430. lineStyle: {
  431. color: "#204561",
  432. width: 1,
  433. type: "dotted",
  434. },
  435. },
  436. axisTick: {
  437. show: false,
  438. },
  439. axisLine: {
  440. lineStyle: {
  441. color: "#7ECEF4",
  442. },
  443. },
  444. axisLabel: {
  445. margin: 10,
  446. textStyle: {
  447. fontSize: 10,
  448. color: "#fff",
  449. },
  450. },
  451. },
  452. series: [
  453. {
  454. name: "",
  455. type: "line",
  456. smooth: false,
  457. showSymbol: true, // 节点长显
  458. symbol: 'image://' + 'data:image/png;base64,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',
  459. symbolSize: 30,
  460. data: ["1100", "400", "608", "811", '358', '698', '125', '765'],
  461. areaStyle: {
  462. normal: {
  463. color: new echarts.graphic.LinearGradient(
  464. 0,
  465. 0,
  466. 0,
  467. 1,
  468. [
  469. {
  470. offset: 0,
  471. color: "#40A9FF",
  472. },
  473. {
  474. offset: 1,
  475. color: "#051F41",
  476. },
  477. ],
  478. false
  479. ),
  480. },
  481. },
  482. itemStyle: {
  483. normal: {
  484. color: "#40A9FF",
  485. },
  486. },
  487. lineStyle: {
  488. normal: {
  489. width: 2,
  490. },
  491. },
  492. }
  493. ],
  494. };
  495. chart.setOption(option);
  496. tools.loopShowTooltip(chart, option, {
  497. nterval: 2000,
  498. loopSeries: true,
  499. });
  500. },
  501. initChartR1(el) {
  502. let myChart = echarts.init(el)
  503. data = echarts2;
  504. arrName = getArrayValue(data, "name");
  505. arrValue = getArrayValue(data, "value");
  506. sumValue = eval(arrValue.join("+"));
  507. objData = array2obj(data, "name");
  508. optionData = getData(data);
  509. function getArrayValue(array, key) {
  510. var key = key || "value";
  511. var res = [];
  512. if (array) {
  513. array.forEach(function (t) {
  514. res.push(t[key]);
  515. });
  516. }
  517. return res;
  518. }
  519. function array2obj(array, key) {
  520. var resObj = {};
  521. for (var i = 0; i < array.length; i++) {
  522. resObj[array[i][key]] = array[i];
  523. }
  524. return resObj;
  525. }
  526. function getData(data) {
  527. var res = {
  528. series: [],
  529. yAxis: [],
  530. };
  531. for (let i = 0; i < data.length; i++) {
  532. // console.log([70 - i * 15 + '%', 67 - i * 15 + '%']);
  533. res.series.push({
  534. name: "",
  535. type: "pie",
  536. clockWise: false, //顺时加载
  537. hoverAnimation: false, //鼠标移入变大
  538. radius: [53 - i * 15 + "%", 48 - i * 15 + "%"],
  539. center: ["35%", "50%"],
  540. label: {
  541. show: false,
  542. },
  543. itemStyle: {
  544. label: {
  545. show: false,
  546. },
  547. labelLine: {
  548. show: false,
  549. },
  550. borderWidth: 5,
  551. },
  552. data: [
  553. {
  554. value: data[i].value,
  555. name: data[i].name,
  556. },
  557. {
  558. value: sumValue - data[i].value,
  559. name: "",
  560. itemStyle: {
  561. color: "rgba(0,0,0,0)",
  562. borderWidth: 0,
  563. },
  564. tooltip: {
  565. show: false,
  566. },
  567. hoverAnimation: false,
  568. },
  569. ],
  570. });
  571. res.series.push({
  572. name: "",
  573. type: "pie",
  574. silent: true,
  575. z: 1,
  576. clockWise: false, //顺时加载
  577. hoverAnimation: false, //鼠标移入变大
  578. radius: [53 - i * 15 + "%", 48 - i * 15 + "%"],
  579. center: ["35%", "50%"],
  580. label: {
  581. show: false,
  582. },
  583. itemStyle: {
  584. label: {
  585. show: false,
  586. },
  587. labelLine: {
  588. show: false,
  589. },
  590. borderWidth: 5,
  591. },
  592. data: [
  593. {
  594. value: 7.5,
  595. itemStyle: {
  596. color: "rgb(3, 31, 62)",
  597. borderWidth: 0,
  598. },
  599. tooltip: {
  600. show: false,
  601. },
  602. hoverAnimation: false,
  603. },
  604. {
  605. value: 2.5,
  606. name: "",
  607. itemStyle: {
  608. color: "rgba(0,0,0,0)",
  609. borderWidth: 0,
  610. },
  611. tooltip: {
  612. show: false,
  613. },
  614. hoverAnimation: false,
  615. },
  616. ],
  617. });
  618. res.yAxis.push(((data[i].value / sumValue) * 100).toFixed(2) + "%");
  619. }
  620. return res;
  621. }
  622. let option = {
  623. graphic: {
  624. elements: [{
  625. type: 'image',//需要填充图片,配置image,如果不需要图片可以配置其他的, text, circle, sector, ring, polygon, polyline, rect, line, bezierCurve, arc, group,
  626. style: {
  627. image: './images/loop.png', //这里添加图片地址
  628. width: 320,
  629. height: 320
  630. },
  631. left: '150',//
  632. top: 'middle' //配置图片居中
  633. }]
  634. },
  635. legend: {
  636. show: true,
  637. icon: "circle",
  638. top: "center",
  639. left: "70%",
  640. data: arrName,
  641. width: 50,
  642. formatter: function (name) {
  643. return (
  644. "{title|" + name + "}\n{value|" + objData[name].value + "} {title|项}"
  645. );
  646. },
  647. textStyle: {
  648. rich: {
  649. title: {
  650. fontSize: 32,
  651. lineHeight: 30,
  652. color: "rgb(0, 178, 246)",
  653. },
  654. value: {
  655. fontSize: 32,
  656. lineHeight: 40,
  657. color: "#fff",
  658. },
  659. },
  660. },
  661. },
  662. tooltip: {
  663. show: false,
  664. normal: {
  665. show: false,
  666. trigger: "item",
  667. label: {
  668. margin: 10, // label 距离轴的距离
  669. color: '#FFF', // 文字的颜色
  670. fontStyle: 'normal', // 文字字体的风格('normal',无样式;'italic',斜体;'oblique',倾斜字体)
  671. fontWeight: 'normal', // 文字字体的粗细('normal',无样式;'bold',加粗;'bolder',加粗的基础上再加粗;'lighter',变细;数字定义粗细也可以,取值范围100至700)
  672. fontSize: '30', // 文字字体大小
  673. lineHeight: '50', // 行高
  674. },
  675. },
  676. // formatter: "{a}<br>{b}:{c}({d}%)666",
  677. textStyle: {
  678. color: '#FFF', // 文字的颜色
  679. fontStyle: 'normal', // 文字字体的风格('normal',无样式;'italic',斜体;'oblique',倾斜字体)
  680. fontWeight: 'normal', // 文字字体的粗细('normal',无样式;'bold',加粗;'bolder',加粗的基础上再加粗;'lighter',变细;数字定义粗细也可以,取值范围100至700)
  681. },
  682. formatter: data => {
  683. console.log(data)
  684. // 小圆点
  685. return `<br /><span style="display:inline-block;border-radius:50%;margin-right:10px; width:7px;height:7px;background-color:blue"></span>${data.name}:${data.percent}`
  686. },
  687. },
  688. color: [
  689. "rgb(24, 183, 142)",
  690. "rgb(1, 179, 238)",
  691. "rgb(22, 75, 205)",
  692. "rgb(52, 52, 176)",
  693. ],
  694. grid: {
  695. top: "21%",
  696. bottom: "48%",
  697. left: "36%",
  698. containLabel: false,
  699. },
  700. yAxis: [
  701. {
  702. type: "category",
  703. inverse: true,
  704. axisLine: {
  705. show: false,
  706. },
  707. axisTick: {
  708. show: false,
  709. },
  710. axisLabel: {
  711. interval: 0,
  712. inside: true,
  713. textStyle: {
  714. color: "#fff",
  715. fontSize: 24,
  716. },
  717. show: true,
  718. },
  719. data: optionData.yAxis,
  720. },
  721. ],
  722. xAxis: [
  723. {
  724. show: false,
  725. },
  726. ],
  727. series: optionData.series,
  728. }
  729. myChart.setOption(option)
  730. tools.loopShowTooltip(myChart, option, {
  731. nterval: 2000,
  732. loopSeries: true,
  733. });
  734. },
  735. initChartsBig(el) {
  736. let chart = echarts.init(el);
  737. let option = {
  738. backgroundColor: "#0B1837",
  739. color: ["#EAEA26", "#906BF9", "#FE5656", "#01E17E", "#3DD1F9", "#FFAD05"],
  740. // title: {
  741. // text: '网络/安全设备',
  742. // left: '60',
  743. // top: 0,
  744. // textAlign: 'center',
  745. // textStyle: {
  746. // color: '#fff',
  747. // fontSize: 14,
  748. // fontWeight: 0
  749. // }
  750. // },
  751. grid: {
  752. left: -100,
  753. top: 50,
  754. bottom: 10,
  755. right: 10,
  756. containLabel: true
  757. },
  758. tooltip: {
  759. trigger: 'item',
  760. textStyle:{
  761. fontSize: 50
  762. },
  763. formatter: "{b} : {c} ({d}%)"
  764. },
  765. legend: {
  766. type: "scroll",
  767. orient: "vartical",
  768. // x: "right",
  769. top: "center",
  770. right: "15",
  771. // bottom: "0%",
  772. itemWidth: 30,
  773. itemHeight: 12,
  774. itemGap: 16,
  775. textStyle: {
  776. color: '#A3E2F4',
  777. fontSize: 30,
  778. fontWeight: 0
  779. },
  780. data: ['IDS', 'VPN', '交换机', '防火墙', 'WAF', '堡垒机']
  781. },
  782. polar: {},
  783. angleAxis: {
  784. interval: 1,
  785. type: 'category',
  786. data: [],
  787. z: 10,
  788. axisLine: {
  789. show: false,
  790. lineStyle: {
  791. color: "#0B4A6B",
  792. width: 1,
  793. type: "solid"
  794. },
  795. },
  796. axisLabel: {
  797. interval: 0,
  798. show: true,
  799. color: "#0B4A6B",
  800. margin: 8,
  801. fontSize: 16
  802. },
  803. },
  804. radiusAxis: {
  805. min: 40,
  806. max: 120,
  807. interval: 20,
  808. axisLine: {
  809. show: false,
  810. lineStyle: {
  811. color: "#0B3E5E",
  812. width: 1,
  813. type: "solid"
  814. },
  815. },
  816. axisLabel: {
  817. formatter: '{value} %',
  818. show: false,
  819. padding: [0, 0, 20, 0],
  820. color: "#0B3E5E",
  821. fontSize: 30
  822. },
  823. splitLine: {
  824. lineStyle: {
  825. color: "#0B3E5E",
  826. width: 2,
  827. type: "solid"
  828. }
  829. }
  830. },
  831. calculable: true,
  832. series: [{
  833. type: 'pie',
  834. radius: ["5%", "10%"],
  835. hoverAnimation: false,
  836. labelLine: {
  837. normal: {
  838. show: false,
  839. length: 30,
  840. length2: 55
  841. },
  842. emphasis: {
  843. show: false
  844. }
  845. },
  846. data: [{
  847. name: '',
  848. value: 0,
  849. tooltip:{show: false},
  850. itemStyle: {
  851. normal: {
  852. color: "#0B4A6B"
  853. }
  854. }
  855. }]
  856. }, {
  857. type: 'pie',
  858. radius: ["90%", "95%"],
  859. hoverAnimation: false,
  860. labelLine: {
  861. normal: {
  862. show: false,
  863. length: 30,
  864. length2: 55
  865. },
  866. emphasis: {
  867. show: false
  868. }
  869. },
  870. name: "",
  871. data: [{
  872. name: '',
  873. value: 0,
  874. tooltip:{show: false},
  875. itemStyle: {
  876. normal: {
  877. color: "#0B4A6B"
  878. }
  879. }
  880. }]
  881. }, {
  882. stack: 'a',
  883. type: 'pie',
  884. radius: ['20%', '80%'],
  885. roseType: 'area',
  886. zlevel: 10,
  887. label: {
  888. normal: {
  889. show: true,
  890. formatter: "{c}",
  891. textStyle: {
  892. fontSize: 35,
  893. },
  894. position: 'outside'
  895. },
  896. emphasis: {
  897. show: true
  898. }
  899. },
  900. labelLine: {
  901. normal: {
  902. show: true,
  903. length: 20,
  904. length2: 55
  905. },
  906. emphasis: {
  907. show: false
  908. }
  909. },
  910. data: [{
  911. value: 10,
  912. name: 'IDS'
  913. },
  914. {
  915. value: 5,
  916. name: 'VPN'
  917. },
  918. {
  919. value: 15,
  920. name: '交换机'
  921. },
  922. {
  923. value: 25,
  924. name: '防火墙'
  925. },
  926. {
  927. value: 20,
  928. name: 'WAF'
  929. },
  930. {
  931. value: 35,
  932. name: '堡垒机'
  933. }
  934. ]
  935. },]
  936. }
  937. chart.setOption(option);
  938. tools.loopShowTooltip(chart, option, {
  939. nterval: 2000,
  940. loopSeries: true,
  941. });
  942. }
  943. },
  944. })