eleFire.js 34 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891
  1. /*
  2. 电气火灾页面echarts配置
  3. */
  4. // 数据请求传参
  5. getListData2(getSearchParamObj());
  6. // getListData2();
  7. function getListData2(queryParam = {}) {
  8. ajaxRequest(ELE_FIRE_DATA, "POST", queryParam, function(result) {
  9. if (result.totalCount != 0) {
  10. //数据统计
  11. var data_statistics = result.RESULT[0].data_statistics;
  12. $('.total').html(data_statistics.alarm_number);
  13. $('.solved').html(data_statistics.processing_number);
  14. $('.unsolve').html(data_statistics.unprocessed_number);
  15. // 环状饼图定制 (数据统计计算)
  16. (function() {
  17. // 实例化对象
  18. var myChart = echarts.init(document.querySelector(".bar-3d .chart"));
  19. // 生成扇形的曲面参数方程,用于 series-surface.parametricEquation
  20. function getParametricEquation(startRatio, endRatio, isSelected, isHovered, k, height) {
  21. // 计算
  22. let midRatio = (startRatio + endRatio) / 2;
  23. let startRadian = startRatio * Math.PI * 2;
  24. let endRadian = endRatio * Math.PI * 2;
  25. let midRadian = midRatio * Math.PI * 2;
  26. // 如果只有一个扇形,则不实现选中效果。
  27. if (startRatio === 0 && endRatio === 1) {
  28. isSelected = false;
  29. }
  30. // 通过扇形内径/外径的值,换算出辅助参数 k(默认值 1/3)
  31. k = typeof k !== 'undefined' ? k : 1 / 3;
  32. // 计算选中效果分别在 x 轴、y 轴方向上的位移(未选中,则位移均为 0)
  33. let offsetX = isSelected ? Math.cos(midRadian) * 0.1 : 0;
  34. let offsetY = isSelected ? Math.sin(midRadian) * 0.1 : 0;
  35. // 计算高亮效果的放大比例(未高亮,则比例为 1)
  36. let hoverRate = isHovered ? 1.05 : 1;
  37. // 返回曲面参数方程
  38. return {
  39. u: {
  40. min: -Math.PI,
  41. max: Math.PI * 3,
  42. step: Math.PI / 32
  43. },
  44. v: {
  45. min: 0,
  46. max: Math.PI * 2,
  47. step: Math.PI / 20
  48. },
  49. x: function(u, v) {
  50. if (u < startRadian) {
  51. return offsetX + Math.cos(startRadian) * (1 + Math.cos(v) * k) * hoverRate;
  52. }
  53. if (u > endRadian) {
  54. return offsetX + Math.cos(endRadian) * (1 + Math.cos(v) * k) * hoverRate;
  55. }
  56. return offsetX + Math.cos(u) * (1 + Math.cos(v) * k) * hoverRate;
  57. },
  58. y: function(u, v) {
  59. if (u < startRadian) {
  60. return offsetY + Math.sin(startRadian) * (1 + Math.cos(v) * k) * hoverRate;
  61. }
  62. if (u > endRadian) {
  63. return offsetY + Math.sin(endRadian) * (1 + Math.cos(v) * k) * hoverRate;
  64. }
  65. return offsetY + Math.sin(u) * (1 + Math.cos(v) * k) * hoverRate;
  66. },
  67. z: function(u, v) {
  68. if (u < -Math.PI * 0.5) {
  69. return Math.sin(u);
  70. }
  71. if (u > Math.PI * 2.5) {
  72. return Math.sin(u);
  73. }
  74. return Math.sin(v) > 0 ? 1 : -1;
  75. }
  76. };
  77. }
  78. // 生成模拟 3D 饼图的配置项
  79. function getPie3D(pieData, internalDiameterRatio) {
  80. let series = [];
  81. let sumValue = 0;
  82. let startValue = 0;
  83. let endValue = 0;
  84. let legendData = [];
  85. let k = typeof internalDiameterRatio !== 'undefined' ? (1 - internalDiameterRatio) / (1 + internalDiameterRatio) : 1 / 3;
  86. // 为每一个饼图数据,生成一个 series-surface 配置
  87. for (let i = 0; i < pieData.length; i++) {
  88. sumValue += pieData[i].value;
  89. let seriesItem = {
  90. name: typeof pieData[i].name === 'undefined' ? `series${i}` : pieData[i].name,
  91. type: 'surface',
  92. parametric: true,
  93. wireframe: {
  94. show: false
  95. },
  96. pieData: pieData[i],
  97. pieStatus: {
  98. selected: false,
  99. hovered: false,
  100. k: k
  101. }
  102. };
  103. if (typeof pieData[i].itemStyle != 'undefined') {
  104. let itemStyle = {};
  105. typeof pieData[i].itemStyle.color != 'undefined' ? itemStyle.color = pieData[i].itemStyle.color : null;
  106. typeof pieData[i].itemStyle.opacity != 'undefined' ? itemStyle.opacity = pieData[i].itemStyle.opacity : null;
  107. seriesItem.itemStyle = itemStyle;
  108. }
  109. series.push(seriesItem);
  110. }
  111. // 使用上一次遍历时,计算出的数据和 sumValue,调用 getParametricEquation 函数,
  112. // 向每个 series-surface 传入不同的参数方程 series-surface.parametricEquation,也就是实现每一个扇形。
  113. for (let i = 0; i < series.length; i++) {
  114. endValue = startValue + series[i].pieData.value;
  115. // console.log(series[i]);
  116. series[i].pieData.startRatio = startValue / sumValue;
  117. series[i].pieData.endRatio = endValue / sumValue;
  118. series[i].parametricEquation = getParametricEquation(series[i].pieData.startRatio, series[i].pieData.endRatio, false, false, k, series[i].pieData.value);
  119. startValue = endValue;
  120. legendData.push(series[i].name);
  121. }
  122. // 准备待返回的配置项,把准备好的 legendData、series 传入。
  123. let option = {
  124. tooltip: {
  125. backgroundColor: '#12DFE0',
  126. formatter: params => {
  127. if (params.seriesName !== 'mouseoutSeries') {
  128. // return `${params.seriesName}<br/><span style="display:inline-block;margin-right:5px;border-radius:10px;width:10px;height:10px;background-color:${params.color};"></span>${option.series[params.seriesIndex].pieData.value}%`;
  129. return `${params.seriesName}: ${option.series[params.seriesIndex].pieData.value}%`;
  130. }
  131. }
  132. },
  133. xAxis3D: {
  134. min: -1,
  135. max: 1
  136. },
  137. yAxis3D: {
  138. min: -1,
  139. max: 1
  140. },
  141. zAxis3D: {
  142. min: -1,
  143. max: 1
  144. },
  145. grid3D: {
  146. show: false,
  147. boxHeight: 40,
  148. top: '-10%',
  149. // bottom: '80%',
  150. // environment: '../images/3d-bg.png', //aa背景色
  151. viewControl: {
  152. distance: 170, //aa距离
  153. alpha: 21, //aa角度
  154. beta: 60, //aa角度
  155. zoomSensitivity: false //是否开启缩放和平移
  156. },
  157. },
  158. series: series
  159. };
  160. return option;
  161. }
  162. // 传入数据生成 option
  163. var option = getPie3D([{
  164. name: '已处理率',
  165. value: data_statistics.treatment_rate,
  166. itemStyle: {
  167. opacity: 0.5,
  168. color: 'rgba(0,127,244,.8)',
  169. }
  170. }, {
  171. name: '未处理率',
  172. value: data_statistics.untreated_rate,
  173. itemStyle: {
  174. opacity: 0.5,
  175. color: 'rgba(209,126,23,.8)',
  176. }
  177. }
  178. ], 2);
  179. // 把配置给实例对象
  180. myChart.setOption(option);
  181. window.addEventListener("resize", function() {
  182. myChart.resize();
  183. });
  184. })();
  185. // 折线图定制 (数据离散率挖掘)
  186. (function() {
  187. let dispersion_rate = result.RESULT[0].dispersion_rate;
  188. // 结论数据渲染
  189. var items = '';
  190. var conclusion = dispersion_rate.conclusion
  191. for (x in conclusion) {
  192. xIndex = x.substr(x.length - 1, 1);
  193. items += `<p>${xIndex}、${conclusion[x]}</p>`
  194. }
  195. $('.divergence .summaryDetail').html(items);
  196. // 三相电压
  197. let a = [];
  198. let b = [];
  199. let c = [];
  200. let lectric_current = dispersion_rate.electric_current;
  201. lectric_current.forEach(function(item, index) {
  202. a.push(item.variance)
  203. b.push(item.standard_deviation)
  204. c.push(item.average_value)
  205. });
  206. // 三相电流
  207. let a2 = [];
  208. let b2 = [];
  209. let c2 = [];
  210. let leakage_current = dispersion_rate.leakage_current;
  211. leakage_current.forEach(function(item, index) {
  212. a2.push(item.variance)
  213. b2.push(item.standard_deviation)
  214. c2.push(item.average_value)
  215. });
  216. // 三相温度
  217. let a3 = [];
  218. let b3 = [];
  219. let c3 = [];
  220. let temperature = dispersion_rate.temperature;
  221. temperature.forEach(function(item, index) {
  222. a3.push(item.variance)
  223. b3.push(item.standard_deviation)
  224. c3.push(item.average_value)
  225. });
  226. // 漏电电流
  227. let a4 = [];
  228. let b4 = [];
  229. let c4 = [];
  230. let voltage = dispersion_rate.voltage;
  231. voltage.forEach(function(item, index) {
  232. a4.push(item.variance)
  233. b4.push(item.standard_deviation)
  234. c4.push(item.average_value)
  235. });
  236. var sortData = [{
  237. sortName: "三相电压",
  238. data: [a, b, c]
  239. },
  240. {
  241. sortName: "三相电流",
  242. data: [a2, b2, c2]
  243. },
  244. {
  245. sortName: "三相温度",
  246. data: [a3, b3, c3]
  247. }, {
  248. sortName: "漏电电流",
  249. data: [a4, b4, c4]
  250. },
  251. ];
  252. var xData = function() {
  253. var data = [];
  254. for (var i = 1; i < lectric_current.length + 1; i++) {
  255. data.push(i);
  256. }
  257. return data;
  258. }();
  259. // 1. 实例化对象
  260. var myChart = echarts.init(document.querySelector(".divergence .chart"));
  261. // 2.指定配置
  262. var option = {
  263. color: [{
  264. colorStops: [{
  265. offset: 0,
  266. color: '#F9860C' // 0% 处的颜色
  267. }, {
  268. offset: 1,
  269. color: '#fff' // 100% 处的颜色
  270. }],
  271. },
  272. {
  273. colorStops: [{
  274. offset: 0,
  275. color: '#07E1F1' // 0% 处的颜色
  276. }, {
  277. offset: 1,
  278. color: '#0456CB' // 100% 处的颜色
  279. }],
  280. },
  281. {
  282. colorStops: [{
  283. offset: 0,
  284. color: '#11F90C' // 0% 处的颜色
  285. }, {
  286. offset: 1,
  287. color: '#3FC713' // 100% 处的颜色
  288. }],
  289. }
  290. ],
  291. tooltip: {
  292. trigger: "axis",
  293. textStyle: {
  294. align: 'left' //图例左对齐
  295. },
  296. backgroundColor: '#12DFE0',
  297. formatter: '{a0}: {c0}<br />{a1}: {c1}<br />{a2}: {c2}<br />时间:' + chooseTime + ''
  298. },
  299. legend: {
  300. // 如果series 对象有name 值,则 legend可以不用写data
  301. itemGap: 20,
  302. itemHeight: 2,
  303. itemWidth: 15,
  304. icon: 'rect',
  305. textStyle: {
  306. color: "#fff"
  307. },
  308. top: "bottom",
  309. },
  310. grid: {
  311. top: "0%",
  312. left: "1%",
  313. right: "1%",
  314. bottom: "15%",
  315. show: true, // 显示边框
  316. borderWidth: '0', //去除边框
  317. containLabel: true // 包含刻度文字在内
  318. },
  319. xAxis: {
  320. type: "category",
  321. boundaryGap: false,
  322. data: xData,
  323. axisTick: {
  324. show: false // 去除刻度线
  325. },
  326. axisLabel: {
  327. color: "#AADDFF" // 文本颜色
  328. },
  329. axisLine: {
  330. lineStyle: {
  331. color: 'rgba(255,255,255,.3)'
  332. }
  333. },
  334. splitNumber: 8,
  335. splitLine: {
  336. show: false
  337. },
  338. splitArea: {
  339. show: true,
  340. areaStyle: {
  341. color: ["rgba(250,250,250,0.05)", "rgba(250,250,250,0.0)"]
  342. }
  343. }
  344. },
  345. yAxis: {
  346. // scale: true,
  347. // min: 'dataMin',
  348. type: "value",
  349. axisTick: {
  350. show: false // 去除刻度线
  351. },
  352. axisLabel: {
  353. show: false // 去除文本
  354. },
  355. axisLine: {
  356. show: false // 去除轴线
  357. },
  358. splitLine: {
  359. lineStyle: {
  360. color: "#012f4a" // 分割线颜色
  361. }
  362. }
  363. },
  364. series: [{
  365. symbol: "none",
  366. name: "方差",
  367. type: "line",
  368. data: a
  369. },
  370. {
  371. symbol: "none",
  372. name: "标准差",
  373. type: "line",
  374. data: b
  375. }, {
  376. symbol: "none",
  377. name: "平均值",
  378. type: "line",
  379. data: c
  380. }
  381. ]
  382. };
  383. myChart.setOption(option);
  384. window.addEventListener("resize", function() {
  385. myChart.resize();
  386. });
  387. // 点击切换效果
  388. $(".divergence .tab-line").on("click", "a", function() {
  389. $(this).addClass('active').siblings().removeClass('active')
  390. var obj = sortData[$(this).index()];
  391. option.series[0].data = obj.data[0];
  392. option.series[1].data = obj.data[1];
  393. option.series[2].data = obj.data[2];
  394. // 重新渲染
  395. myChart.setOption(option);
  396. });
  397. })();
  398. // 折线图定制 (电老化分析)
  399. (function() {
  400. // console.log(result.RESULT[0].electrical_aging)
  401. let electrical_aging = result.RESULT[0].electrical_aging;
  402. // 结论数据渲染
  403. var items = '';
  404. var conclusion = electrical_aging.conclusion
  405. for (x in conclusion) {
  406. xIndex = x.substr(x.length - 1, 1);
  407. items += `<p>${xIndex}、${conclusion[x]}</p>`
  408. }
  409. $('.oldAnalysis .summaryDetail').html(items);
  410. // 异常设备监控电缆数据
  411. let a = [];
  412. let b = [];
  413. let abnormal_equipment = electrical_aging.abnormal_equipment;
  414. abnormal_equipment.forEach(function(item, index) {
  415. a.push(item.electric_current)
  416. b.push(item.voltage)
  417. });
  418. // 漏电告警数据
  419. let a2 = [];
  420. let b2 = [];
  421. let leakage_alarm = electrical_aging.leakage_alarm;
  422. leakage_alarm.forEach(function(item, index) {
  423. a2.push(item.electric_current)
  424. b2.push(item.voltage)
  425. });
  426. var sortData = [{
  427. sortName: "异常设备",
  428. data: [a, b]
  429. },
  430. {
  431. sortName: "漏电告警",
  432. data: [a2, b2]
  433. }
  434. ];
  435. var xData = function() {
  436. var data = [];
  437. for (var i = 1; i < leakage_alarm.length + 1; i++) {
  438. data.push(i);
  439. }
  440. return data;
  441. }();
  442. // 1. 实例化对象
  443. var myChart = echarts.init(document.querySelector(".oldAnalysis .chart"));
  444. // 2.指定配置
  445. var option = {
  446. color: ["#FF9C00", "#0096FF"], // 通过这个color修改两条线的颜色
  447. tooltip: {
  448. trigger: "axis",
  449. textStyle: {
  450. align: 'left' //图例左对齐
  451. },
  452. backgroundColor: '#12DFE0',
  453. formatter: '{a0}: {c0}<br />{a1}: {c1}<br />时间:' + chooseTime + ''
  454. },
  455. legend: {
  456. // 如果series 对象有name 值,则 legend可以不用写data
  457. itemGap: 20,
  458. itemHeight: 2,
  459. itemWidth: 15,
  460. icon: 'rect',
  461. textStyle: {
  462. color: "#fff"
  463. },
  464. top: "bottom",
  465. },
  466. grid: {
  467. top: "0%",
  468. left: "1%",
  469. right: "1%",
  470. bottom: "15%",
  471. show: true, // 显示边框
  472. borderWidth: '0', //去除边框
  473. containLabel: true // 包含刻度文字在内
  474. },
  475. xAxis: {
  476. type: "category",
  477. boundaryGap: false,
  478. data: xData,
  479. axisTick: {
  480. show: false // 去除刻度线
  481. },
  482. axisLabel: {
  483. color: "#AADDFF" // 文本颜色
  484. },
  485. axisLine: {
  486. show: false // 去除轴线
  487. }
  488. },
  489. yAxis: {
  490. type: "value",
  491. axisTick: {
  492. show: false // 去除刻度线
  493. },
  494. axisLabel: {
  495. show: false // 去除文本
  496. },
  497. axisLine: {
  498. show: false // 去除轴线
  499. },
  500. splitLine: {
  501. lineStyle: {
  502. color: "#012f4a" // 分割线颜色
  503. }
  504. }
  505. },
  506. series: [{
  507. symbol: "none",
  508. name: "电流",
  509. type: "line",
  510. smooth: true, // true 可以让我们的折线显示带有弧度
  511. areaStyle: {
  512. normal: {
  513. color: new echarts.graphic.LinearGradient(
  514. 0,
  515. 0,
  516. 0,
  517. 1, [{
  518. offset: 0,
  519. color: "rgba(255,156,0, 0.4)"
  520. },
  521. {
  522. offset: 0.8,
  523. color: "rgba(255,156,0, 0.3)"
  524. }
  525. ],
  526. false
  527. ),
  528. shadowColor: "rgba(0, 0, 0, 0.1)"
  529. }
  530. },
  531. data: sortData[0].data[0]
  532. },
  533. {
  534. symbol: "none",
  535. name: "电压",
  536. type: "line",
  537. smooth: true,
  538. areaStyle: {
  539. normal: {
  540. color: new echarts.graphic.LinearGradient(
  541. 0,
  542. 0,
  543. 0,
  544. 1, [{
  545. offset: 0,
  546. color: "rgba(0,150,255,0.5)"
  547. },
  548. {
  549. offset: 0.8,
  550. color: "rgba(0,150,255, 0.1)"
  551. }
  552. ],
  553. false
  554. ),
  555. shadowColor: "rgba(0, 0, 0, 0.1)"
  556. }
  557. },
  558. data: sortData[0].data[1]
  559. }
  560. ]
  561. };
  562. myChart.setOption(option);
  563. window.addEventListener("resize", function() {
  564. myChart.resize();
  565. });
  566. // 点击切换效果
  567. $(".oldAnalysis .tab-line").on("click", "a", function() {
  568. $(this).addClass('active').siblings().removeClass('active')
  569. var obj = sortData[$(this).index()];
  570. option.series[0].data = obj.data[0];
  571. option.series[1].data = obj.data[1];
  572. // 重新渲染
  573. myChart.setOption(option);
  574. });
  575. })();
  576. // 折线图定制 (热老化分析)
  577. (function() {
  578. let thermal_aging = result.RESULT[0].thermal_aging;
  579. // 结论数据渲染
  580. var items = '';
  581. var conclusion = thermal_aging.conclusion
  582. for (x in conclusion) {
  583. xIndex = x.substr(x.length - 1, 1);
  584. items += `<p>${xIndex}、${conclusion[x]}</p>`
  585. }
  586. $('.hotAnalysis .summaryDetail').html(items);
  587. // 热老化
  588. let a = [];
  589. let b = [];
  590. let c = [];
  591. let visualization = thermal_aging.visualization;
  592. visualization.forEach(function(item, index) {
  593. a.push(item.generation_temperature)
  594. b.push(item.ambient_temperature)
  595. c.push(item.Cable_temperature)
  596. });
  597. var sortData = [{
  598. data: [
  599. // 三个数组是因为有3条线
  600. a, b, c
  601. ]
  602. }];
  603. var xData = function() {
  604. var data = [];
  605. for (var i = 1; i < visualization.length + 1; i++) {
  606. data.push(i);
  607. }
  608. return data;
  609. }();
  610. // 1. 实例化对象
  611. var myChart = echarts.init(document.querySelector(".hotAnalysis .chart"));
  612. // 2.指定配置
  613. var option = {
  614. color: ["#05EEE7", "#9999FF", "#FE92B3"], // 通过这个color修改三条线的颜色
  615. tooltip: {
  616. trigger: "axis",
  617. textStyle: {
  618. align: 'left' //图例左对齐
  619. },
  620. backgroundColor: '#12DFE0',
  621. formatter: '{a0}: {c0}°C<br />{a1}: {c1}°C<br />{a2}: {c2}°C<br />时间:' + chooseTime + ''
  622. },
  623. legend: {
  624. // 如果series 对象有name 值,则 legend可以不用写data
  625. itemGap: 20,
  626. itemHeight: 2,
  627. itemWidth: 15,
  628. icon: 'rect',
  629. textStyle: {
  630. color: "#fff"
  631. },
  632. top: "bottom",
  633. },
  634. grid: {
  635. top: "0%",
  636. left: "1%",
  637. right: "1%",
  638. bottom: "15%",
  639. show: true, // 显示边框
  640. borderWidth: '0', //去除边框
  641. containLabel: true // 包含刻度文字在内
  642. },
  643. xAxis: {
  644. type: "category",
  645. boundaryGap: false,
  646. data: xData,
  647. axisTick: {
  648. show: false // 去除刻度线
  649. },
  650. axisLabel: {
  651. color: "#AADDFF" // 文本颜色
  652. },
  653. axisLine: {
  654. show: false // 去除轴线
  655. }
  656. },
  657. yAxis: {
  658. type: "value",
  659. axisTick: {
  660. show: false // 去除刻度线
  661. },
  662. axisLabel: {
  663. show: false // 去除文本
  664. },
  665. axisLine: {
  666. show: false // 去除轴线
  667. },
  668. splitLine: {
  669. lineStyle: {
  670. color: "#012f4a" // 分割线颜色
  671. }
  672. }
  673. },
  674. series: [{
  675. symbol: "none",
  676. name: "线缆产生的温度",
  677. type: "line",
  678. smooth: true, // true 可以让我们的折线显示带有弧度
  679. areaStyle: {
  680. normal: {
  681. color: new echarts.graphic.LinearGradient(
  682. 0,
  683. 0,
  684. 0,
  685. 1, [{
  686. offset: 0,
  687. color: "rgba(5,238,231,.6)"
  688. },
  689. {
  690. offset: 0.8,
  691. color: "rgba(5,238,231, 0.4)"
  692. }
  693. ],
  694. false
  695. ),
  696. }
  697. },
  698. data: sortData[0].data[0]
  699. },
  700. {
  701. symbol: "none",
  702. name: "环境温度",
  703. type: "line",
  704. smooth: true,
  705. areaStyle: {
  706. normal: {
  707. color: new echarts.graphic.LinearGradient(
  708. 0,
  709. 0,
  710. 0,
  711. 1, [{
  712. offset: 0,
  713. color: "rgba(153,153,255,.6)"
  714. },
  715. {
  716. offset: 0.8,
  717. color: "rgba(153,153,255, 0.4)"
  718. }
  719. ],
  720. false
  721. ),
  722. }
  723. },
  724. data: sortData[0].data[1]
  725. },
  726. {
  727. symbol: "none",
  728. name: "线缆温度",
  729. type: "line",
  730. smooth: true,
  731. areaStyle: {
  732. normal: {
  733. color: new echarts.graphic.LinearGradient(
  734. 0,
  735. 0,
  736. 0,
  737. 1, [{
  738. offset: 0,
  739. color: "rgba(255,147,180,.6)"
  740. },
  741. {
  742. offset: 0.8,
  743. color: "rgba(255,147,180, 0.4)"
  744. }
  745. ],
  746. false
  747. ),
  748. }
  749. },
  750. data: sortData[0].data[2]
  751. }
  752. ]
  753. };
  754. myChart.setOption(option);
  755. window.addEventListener("resize", function() {
  756. myChart.resize();
  757. });
  758. })();
  759. } else {
  760. alert('暂无数据')
  761. }
  762. }, function(errorMsg) {
  763. alert("请求数据失败!");
  764. }, 2)
  765. };
  766. function getSearchParamObj() {
  767. let queryParam = {};
  768. let buildingVal = $('#building').val();
  769. let chooseTime = $('#chooseTime').val();
  770. queryParam.company_code = buildingVal;
  771. queryParam.generation_time = chooseTime;
  772. return queryParam;
  773. }