bjzshz.vue 54 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951
  1. <template>
  2. <div>
  3. <!-- 阴影背景
  4. <div class="bj_left"><img src="@/assets/images/sprhbj-left.png"/></div>
  5. <div class="bj_right"><img src="@/assets/images/sprhbj-right.png"/></div>-->
  6. <div class="bj_bottom"><img src="@/assets/images/sprhbj-bottom.png"/></div>
  7. <!--头部开始-->
  8. <div class="header">
  9. <h1>城市运行一网统管指挥中心</h1>
  10. </div>
  11. <!--头部结束-->
  12. <!-- 小头部 开始 -->
  13. <div class="nav_min">
  14. <div class="top_txt">
  15. <b>汽开区</b>
  16. <!-- <span>小雨</span>-->
  17. <!-- <span>9~16℃</span>-->
  18. </div>
  19. <div class="top_txt top_txt2">
  20. <span>{{ currentTime }}</span>
  21. <!-- <span>星期六</span>
  22. <b>11:16:58</b> -->
  23. </div>
  24. </div>
  25. <!-- 小头部 结束 -->
  26. <!-- 中间内容 开始 -->
  27. <div class="qkq_con">
  28. <!--左侧开始-->
  29. <div class="con_left_e">
  30. <div class="con_div">
  31. <div class="qkq_tit txt_t">2024年上半年办理渠道统计</div>
  32. <div class="qkq_qkq_div clearfix">
  33. <div id="qkq_bj5"></div>
  34. </div>
  35. </div>
  36. <div class="con_div">
  37. <div class="qkq_tit txt_t">2024年上半年即办率统计</div>
  38. <div class="qkq_qkq_div clearfix">
  39. <div class="qkq_hz qkq_hz2 fl">
  40. <p>即办件:<b>{{ HandlingDocuments.instantProcessingQuantity }}</b></p>
  41. <p>承诺件:<b>{{ HandlingDocuments.promisedQuantity }}</b></p>
  42. </div>
  43. <div id="qkq_bj2" class="fr"></div>
  44. </div>
  45. </div>
  46. <div class="con_div">
  47. <div class="qkq_tit txt_t">2024年上半年新办企业数</div>
  48. <div id="qkq_bj1"></div>
  49. </div>
  50. </div>
  51. <div class="con_left_f">
  52. <div class="con_div">
  53. <div class="qkq_tit txt_t">2024年上半年好差评统计</div>
  54. <div id="qkq_bj4"></div>
  55. </div>
  56. <div class="con_div">
  57. <div class="qkq_tit txt_t">2024年上半年办结率统计</div>
  58. <!-- <div class="qkq_bjzs_con fl">
  59. <h4>{{ HallHandling.hallTotal }}</h4>
  60. <p>大厅办件总数</p>
  61. <div class="qkq_bjzs_bg"></div>
  62. </div> -->
  63. <div class="qkq_bjzs_txt clearfix fl">
  64. <div class="qkq_bjzs_txt_fl">
  65. <div class="qkq_bjs qkq_bjss">
  66. <p><b>{{ CompletionRate.completedQuantity }}</b><i>办件数</i></p>
  67. </div>
  68. <div class="qkq_bjs qkq_bjss">
  69. <p><b>{{ CompletionRate.numberOfProcessedItems }}</b><i>办结数</i></p>
  70. </div>
  71. <div class="qkq_bjs">
  72. <div id="qkq_bjs_01"></div>
  73. </div>
  74. </div>
  75. </div>
  76. <div class="clear"></div>
  77. </div>
  78. <div class="con_div">
  79. <div class="qkq_tit txt_t">2024年上半年高频事项Top5</div>
  80. <div class="qkq_sxtop">
  81. <p v-for="(item, index) in HighFrequencyMatters" :key="index">
  82. <a><i>{{ index + 1 }}</i>{{ item.eventName }}</a><span>{{ item.eventCount }}件</span>
  83. </p>
  84. </div>
  85. </div>
  86. </div>
  87. <div class="con_left_g">
  88. <div class="con_div qkq_bjzs">
  89. <div class="qkq_tit txt_t">工程建设项目审批</div>
  90. <div class="qkq_gc_con clearfix">
  91. <div class="qkq_gc_div">
  92. <p>建设用地(含临时建设用地)规划许可证</p>
  93. <p><b>6</b>个</p>
  94. </div>
  95. <div class="qkq_gc_div">
  96. <p>年度平均审批用时项目用时</p>
  97. <p><b>40</b>天</p>
  98. </div>
  99. <div class="qkq_gc_div">
  100. <p>建设工程(含临时建设工程)规划许可证</p>
  101. <p><b>11</b>个</p>
  102. </div>
  103. <div class="qkq_gc_div">
  104. <p>年度平均审批用时立项用地阶段</p>
  105. <p><b>13</b>天</p>
  106. </div>
  107. <div class="qkq_gc_div">
  108. <p>建筑工程施工许可证</p>
  109. <p><b>21</b>个</p>
  110. </div>
  111. <div class="qkq_gc_div">
  112. <p>年度平均审批用时工程规划阶段</p>
  113. <p><b>8</b>天</p>
  114. </div>
  115. <div class="qkq_gc_div">
  116. <p>市政公用办理项目数</p>
  117. <p><b>52</b>个</p>
  118. </div>
  119. <div class="qkq_gc_div">
  120. <p>年度平均审批用时施工许可阶段</p>
  121. <p><b>2</b>天</p>
  122. </div>
  123. <div class="qkq_gc_div">
  124. <p>联合验收项目数</p>
  125. <p><b>25</b>个</p>
  126. </div>
  127. <div class="qkq_gc_div">
  128. <p>年度平均审批用时竣工验收阶段</p>
  129. <p><b>17</b>天</p>
  130. </div>
  131. </div>
  132. </div>
  133. <div class="con_div">
  134. <div class="qkq_tit txt_t">公安政务服务数据统计</div>
  135. <div id="qkq_bj3"></div>
  136. </div>
  137. </div>
  138. <!--左侧结束-->
  139. </div>
  140. <!-- 中间内容 结束 -->
  141. <!--底部开始-->
  142. <div class="footer">
  143. <div class="nav-bottom">
  144. <div class="nav-bottom-left">
  145. <div class="nav-li-left" @click="handleNavigation('jjyx')">
  146. <span>经济运行</span>
  147. </div>
  148. <div class="nav-li-left" @click="handleNavigation('csgl')">
  149. <span>城市管理</span>
  150. </div>
  151. <div class="nav-li-left" @click="handleNavigation('jtzl')">
  152. <span>交通治理</span>
  153. </div>
  154. <div class="nav-li-left" @click="handleNavigation('jczl')">
  155. <span>基层治理</span>
  156. </div>
  157. </div>
  158. <div class="nav-home-middle" @click="homePage('weather')">
  159. <img src="@/assets/images/home-btn.png"/>
  160. <a>返回首页</a>
  161. </div>
  162. <div class="nav-bottom-right">
  163. <div class="nav-li-right" @click="handleNavigation('yshj_new')">
  164. <span>营商环境</span>
  165. </div>
  166. <div class="nav-li-right on" @click="handleNavigation('bjzshz')">
  167. <span>政务运行</span>
  168. </div>
  169. <div class="nav-li-right" @click="handleNavigation('aqyj')">
  170. <span>安全应急</span>
  171. </div>
  172. <div class="nav-li-right" @click="handleNavigation('fwyq')">
  173. <span>服务一汽</span>
  174. </div>
  175. </div>
  176. </div>
  177. </div>
  178. <!--底部开始-->
  179. </div>
  180. </template>
  181. <script>
  182. import * as echarts from 'echarts'
  183. import $ from 'jquery'
  184. import jQuery from 'jquery'
  185. import "@/assets/images/qkq_body.css";
  186. import "@/assets/images/qkq_index.css";
  187. import "@/assets/images/qkq_sprh.css";
  188. import {
  189. getCameraList
  190. } from "@/api/system/camera";
  191. import supermap from "@/views/supermap/supermap";
  192. import {
  193. lastOneBadList,
  194. lastOneBusinessList,
  195. lastOneRateList,
  196. lastOneHandlingList,
  197. lastOneDocumentsList, lastOneMattersList, lastOnePdocumentsList, visualizationChannelList
  198. } from "@/api/system/zwyx";
  199. export default {
  200. name: "bjzshz",
  201. components: {
  202. supermap
  203. },
  204. data() {
  205. return {
  206. dropdownVisible: false,
  207. HandlingDocuments: {},
  208. BadReview: {},
  209. Business: {},
  210. CompletionRate: {},
  211. HallHandling: {},
  212. HighFrequencyMatters: {},
  213. PublicSecurityDocuments: {},
  214. channel: [],
  215. sltProps: null,
  216. currentTime: '',
  217. btnOne: true,
  218. btnTwo: false,
  219. };
  220. // 可根据实际情况添加更多设备列表
  221. },
  222. created() {
  223. this.lastOneBadList();
  224. this.lastOneBusinessList();
  225. this.lastOneRateList();
  226. this.lastOneHandlingList();
  227. this.lastOneDocumentsList();
  228. this.lastOneMattersList();
  229. this.lastOnePdocumentsList();
  230. this.visualizationChannelList();
  231. },
  232. mounted() {
  233. // this.qkq_bj1();
  234. // this.qkq_bj2();
  235. //
  236. // this.qkq_bj3();
  237. // this.qkq_bj4();
  238. // this.qkq_bj5();
  239. // this.qkq_bjs_01();
  240. this.getCurrentTime();
  241. // 每秒刷新时间
  242. setInterval(() => {
  243. this.getCurrentTime();
  244. }, 1000);
  245. },
  246. methods: {
  247. sltHandle() {
  248. this.btnOne = true
  249. this.btnTwo = false
  250. this.$refs.supermap.getSupermap(null, null, null, "slt", null, null)
  251. },
  252. yxtHandle() {
  253. this.btnTwo = true
  254. this.btnOne = false
  255. this.$refs.supermap.getSupermap(null, null, null, "yxt", null, null)
  256. },
  257. handleNavigation(route) {
  258. this.$router.push({
  259. path: route
  260. });
  261. },
  262. homePage(route) {
  263. this.$router.push({
  264. path: route
  265. });
  266. },
  267. visualizationChannelList() {
  268. visualizationChannelList().then(response => {
  269. this.channel = response.data;
  270. this.qkq_bj5(this.channel)
  271. })
  272. },
  273. //查询新办企业可视化
  274. lastOneBusinessList() {
  275. lastOneBusinessList().then(response => {
  276. this.Business = response.data;
  277. this.qkq_bj1(this.Business)
  278. })
  279. },
  280. //查询好差评可视化
  281. lastOneBadList() {
  282. lastOneBadList().then(response => {
  283. this.BadReview = response.data;
  284. this.qkq_bj4(this.BadReview)
  285. })
  286. },
  287. //查询办结率可视化
  288. lastOneRateList() {
  289. lastOneRateList().then(response => {
  290. this.CompletionRate = response.data;
  291. this.qkq_bjs_01(this.CompletionRate);
  292. })
  293. },
  294. //查询大厅办件可视化
  295. lastOneHandlingList() {
  296. lastOneHandlingList().then(response => {
  297. this.HallHandling = response.data;
  298. })
  299. },
  300. //查询即办件可视化
  301. lastOneDocumentsList() {
  302. lastOneDocumentsList().then(response => {
  303. this.HandlingDocuments = response.data;
  304. this.qkq_bj2(this.HandlingDocuments)
  305. })
  306. },
  307. //查询高频事项可视化
  308. lastOneMattersList() {
  309. lastOneMattersList().then(response => {
  310. this.HighFrequencyMatters = response.data;
  311. })
  312. },
  313. //查询公安办件可视化
  314. lastOnePdocumentsList() {
  315. lastOnePdocumentsList().then(response => {
  316. this.PublicSecurityDocuments = response.data;
  317. this.qkq_bj3(this.PublicSecurityDocuments)
  318. })
  319. },
  320. toggleDropdown(event) {
  321. this.dropdownVisible = !this.dropdownVisible;
  322. },
  323. qkq_bj1(val) {
  324. //新办企业数
  325. var myChart = echarts.init(document.getElementById('qkq_bj1'));
  326. let labelData = val.labelData;
  327. let data = val.valueNewEnterprises;
  328. var json = {
  329. chart0: {
  330. xcategory: labelData,
  331. low: data,
  332. lowLine: [],
  333. }
  334. };
  335. var zrUtil = echarts.util;
  336. zrUtil.each(json.chart0.xcategory, function (item, index) {
  337. json.chart0.lowLine.push([{
  338. coord: [index, json.chart0.low[index]]
  339. }, {
  340. coord: [index + 1, json.chart0.low[index + 1]]
  341. }]);
  342. });
  343. var option = {
  344. grid: {
  345. top: 30,
  346. left: 10,
  347. right: 10,
  348. bottom: 0,
  349. containLabel: true,
  350. },
  351. tooltip: {
  352. trigger: 'axis',
  353. axisPointer: {
  354. lineStyle: {
  355. color: {
  356. type: 'linear',
  357. x: 0,
  358. y: 0,
  359. x2: 0,
  360. y2: 1,
  361. colorStops: [
  362. {
  363. offset: 0,
  364. color: 'rgba(255,255,255,0)', // 0% 处的颜色
  365. },
  366. {
  367. offset: 0.5,
  368. color: 'rgba(255,255,255,1)', // 100% 处的颜色
  369. },
  370. {
  371. offset: 1,
  372. color: 'rgba(255,255,255,0)', // 100% 处的颜色
  373. },
  374. ],
  375. global: false, // 缺省为 false
  376. },
  377. },
  378. },
  379. },
  380. xAxis: [
  381. {
  382. type: 'category',
  383. boundaryGap: false,
  384. axisLabel: {
  385. formatter: '{value}',
  386. fontSize: 14,
  387. margin: 20,
  388. textStyle: {
  389. color: '#7ec7ff',
  390. },
  391. },
  392. axisLine: {
  393. lineStyle: {
  394. color: '#243753',
  395. },
  396. },
  397. splitLine: {
  398. show: false,
  399. lineStyle: {
  400. color: '#243753',
  401. },
  402. },
  403. axisTick: {
  404. show: false,
  405. },
  406. data: labelData,
  407. },
  408. ],
  409. yAxis: [
  410. {
  411. boundaryGap: false,
  412. type: 'value',
  413. axisLabel: {
  414. textStyle: {
  415. color: '#7ec7ff',
  416. },
  417. },
  418. nameTextStyle: {
  419. color: '#fff',
  420. fontSize: 12,
  421. lineHeight: 40,
  422. },
  423. splitLine: {
  424. lineStyle: {
  425. color: '#243753',
  426. },
  427. },
  428. axisLine: {
  429. show: true,
  430. lineStyle: {
  431. color: '#283352',
  432. },
  433. },
  434. axisTick: {
  435. show: false,
  436. },
  437. },
  438. ],
  439. series: [
  440. {
  441. name: '报名',
  442. type: 'line',
  443. smooth: true,
  444. showSymbol: true,
  445. symbolSize: 8,
  446. zlevel: 3,
  447. itemStyle: {
  448. color: '#19a3df',
  449. borderColor: '#a3c8d8',
  450. },
  451. areaStyle: {
  452. normal: {
  453. color: new echarts.graphic.LinearGradient(
  454. 0,
  455. 0,
  456. 0,
  457. 1,
  458. [
  459. {
  460. offset: 0,
  461. color: 'rgba(88,255,255,0.2)',
  462. },
  463. {
  464. offset: 0.8,
  465. color: 'rgba(88,255,255,0)',
  466. },
  467. ],
  468. false
  469. ),
  470. },
  471. },
  472. data: data,
  473. },
  474. {
  475. name: '实施计划',
  476. type: 'lines',
  477. coordinateSystem: 'cartesian2d',
  478. zlevel: 1,
  479. smooth: true,
  480. symbol: 'circle',
  481. effect: {
  482. show: true,
  483. smooth: true,
  484. period: 2,
  485. symbolSize: 8
  486. },
  487. lineStyle: {
  488. normal: {
  489. color: '#19a3df',
  490. width: 0,
  491. opacity: 0,
  492. curveness: 0,
  493. }
  494. },
  495. data: json.chart0.lowLine
  496. }
  497. ],
  498. };
  499. if (option) {
  500. myChart.setOption(option);
  501. }
  502. },
  503. qkq_bj2(val) {
  504. var myChart = echarts.init(document.getElementById('qkq_bj2'));
  505. var getmax = 100;
  506. //要改变的数据
  507. var getvalue = val.immediateRate;
  508. var option = {
  509. grid: {
  510. top: 0,
  511. bottom: 0,
  512. left: 0
  513. },
  514. angleAxis: {
  515. show: false,
  516. max: (getmax * 360) / 270, //-45度到225度,二者偏移值是270度除360度
  517. type: 'value',
  518. startAngle: 225, //极坐标初始角度
  519. splitLine: {
  520. show: false,
  521. },
  522. },
  523. barMaxWidth: 20, //圆环宽度
  524. radiusAxis: {
  525. show: false,
  526. type: 'category',
  527. },
  528. //圆环位置和大小
  529. polar: {
  530. center: ['50%', '50%'],
  531. radius: '170%',
  532. },
  533. series: [
  534. {
  535. type: 'bar',
  536. data: [
  537. {
  538. //上层圆环,显示数据
  539. value: getvalue,
  540. itemStyle: {
  541. color: '#2AD2FB',
  542. },
  543. },
  544. ],
  545. barGap: '-100%', //柱间距离,上下两层圆环重合
  546. coordinateSystem: 'polar',
  547. roundCap: true, //顶端圆角
  548. z: 3, //圆环层级,同zindex
  549. },
  550. {
  551. //下层圆环,显示最大值
  552. type: 'bar',
  553. data: [
  554. {
  555. value: getmax,
  556. itemStyle: {
  557. color: '#164B9F',
  558. opacity: 1,
  559. borderWidth: 0,
  560. },
  561. },
  562. ],
  563. barGap: '-100%',
  564. coordinateSystem: 'polar',
  565. roundCap: true,
  566. z: 1,
  567. },
  568. //仪表盘
  569. {
  570. type: 'gauge',
  571. startAngle: 225, //起始角度,同极坐标
  572. endAngle: -45, //终止角度,同极坐标
  573. axisLine: {
  574. show: false,
  575. },
  576. splitLine: {
  577. show: false,
  578. },
  579. axisTick: {
  580. show: false,
  581. },
  582. axisLabel: {
  583. show: false,
  584. },
  585. splitLabel: {
  586. show: false,
  587. },
  588. pointer: {
  589. // 分隔线
  590. shadowColor: 'auto', //默认透明
  591. shadowBlur: 5,
  592. length: '50%',
  593. width: '2',
  594. show: false,
  595. },
  596. itemStyle: {
  597. color: '#1598FF',
  598. borderColor: '#1598FF',
  599. borderWidth: 6,
  600. },
  601. detail: {
  602. formatter: function (params) {
  603. // return '完成率\n'+getvalue + '%';
  604. return `{wcl|即办率\n}{number|${getvalue + '%'}}`;
  605. },
  606. rich: {
  607. number: {
  608. fontSize: 25,
  609. textAlign: 'center',
  610. },
  611. wcl: {
  612. fontSize: 16,
  613. textAlign: 'center',
  614. },
  615. },
  616. color: '#fff',
  617. lineHeight: 30,
  618. offsetCenter: ['0', '0'],
  619. },
  620. title: {
  621. show: false,
  622. },
  623. data: [
  624. {
  625. value: getvalue,
  626. },
  627. ],
  628. },
  629. {
  630. name: '外部刻度',
  631. type: 'gauge',
  632. // center: ['20%', '50%'],
  633. radius: '70%',
  634. min: 0, //最小刻度
  635. max: 100, //最大刻度
  636. splitNumber: 10, //刻度数量
  637. startAngle: 225,
  638. endAngle: -45,
  639. axisLine: {
  640. show: true,
  641. lineStyle: {
  642. width: 1,
  643. color: [[1, 'rgba(0,0,0,0)']],
  644. },
  645. }, //仪表盘轴线
  646. axisLabel: {
  647. show: false,
  648. color: '#4d5bd1',
  649. distance: 25,
  650. }, //刻度标签。
  651. axisTick: {
  652. show: true,
  653. splitNumber: 7,
  654. lineStyle: {
  655. color: '#086CAF', //用颜色渐变函数不起作用
  656. width: 2,
  657. },
  658. length: -8,
  659. }, //刻度样式
  660. splitLine: {
  661. show: false,
  662. length: -20,
  663. lineStyle: {
  664. color: '#C7CBCF', //用颜色渐变函数不起作用
  665. },
  666. }, //分隔线样式
  667. detail: {
  668. show: false,
  669. },
  670. pointer: {
  671. show: false,
  672. },
  673. },
  674. ],
  675. };
  676. myChart.setOption(option);
  677. if (option) {
  678. myChart.setOption(option);
  679. }
  680. },
  681. qkq_bj3(val) {
  682. var myChart = echarts.init(document.getElementById('qkq_bj3'));
  683. var labelData = val.labelData;
  684. var data1 = val.valueForeigners;
  685. var data2 = val.valuePassport;
  686. var data3 = val.valueHongKong;
  687. var data4 = val.valueTaiwan;
  688. var json1 = {
  689. chart0: {
  690. xcategory: labelData,
  691. low: data1,
  692. lowLine: [],
  693. }
  694. };
  695. var zrUtil = echarts.util;
  696. zrUtil.each(json1.chart0.xcategory, function (item, index) {
  697. json1.chart0.lowLine.push([{
  698. coord: [index, json1.chart0.low[index]]
  699. }, {
  700. coord: [index + 1, json1.chart0.low[index + 1]]
  701. }]);
  702. });
  703. var option = {
  704. title: {
  705. text: '',
  706. textStyle: {
  707. align: 'center',
  708. color: '#fff',
  709. fontSize: 20,
  710. },
  711. top: '5%',
  712. left: 'center',
  713. },
  714. tooltip: {
  715. trigger: 'axis',
  716. axisPointer: { // 坐标轴指示器,坐标轴触发有效
  717. type: 'shadow' // 默认为直线,可选为:'line' | 'shadow'
  718. }
  719. },
  720. grid: {
  721. left: '2%',
  722. right: '4%',
  723. bottom: '14%',
  724. top: '16%',
  725. containLabel: true
  726. },
  727. legend: {
  728. data: ['护', '港', '台', "外国人"],
  729. right: 10,
  730. top: 12,
  731. textStyle: {
  732. color: "#fff"
  733. },
  734. itemWidth: 12,
  735. itemHeight: 10,
  736. // itemGap: 35
  737. },
  738. xAxis: {
  739. type: 'category',
  740. data: labelData,
  741. axisLine: {
  742. lineStyle: {
  743. color: 'white'
  744. }
  745. },
  746. axisLabel: {
  747. // interval: 0,
  748. // rotate: 40,
  749. textStyle: {
  750. fontFamily: 'Microsoft YaHei'
  751. }
  752. },
  753. },
  754. yAxis: {
  755. type: 'value',
  756. max: '1200',
  757. axisLine: {
  758. show: false,
  759. lineStyle: {
  760. color: 'white'
  761. }
  762. },
  763. splitLine: {
  764. show: true,
  765. lineStyle: {
  766. color: 'rgba(255,255,255,0.3)'
  767. }
  768. },
  769. axisLabel: {}
  770. },
  771. "dataZoom": [{
  772. "show": true,
  773. "height": 8,
  774. "xAxisIndex": [
  775. 0
  776. ],
  777. bottom: '8%',
  778. "start": 10,
  779. "end": 90,
  780. handleIcon: 'path://M306.1,413c0,2.2-1.8,4-4,4h-59.8c-2.2,0-4-1.8-4-4V200.8c0-2.2,1.8-4,4-4h59.8c2.2,0,4,1.8,4,4V413z',
  781. handleSize: '110%',
  782. handleStyle: {
  783. color: "#d3dee5",
  784. },
  785. textStyle: {
  786. color: "#fff"
  787. },
  788. borderColor: "#90979c"
  789. }, {
  790. "type": "inside",
  791. "show": true,
  792. "height": 15,
  793. "start": 1,
  794. "end": 35
  795. }],
  796. series: [{
  797. name: '护',
  798. type: 'bar',
  799. barWidth: '15%',
  800. itemStyle: {
  801. normal: {
  802. color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{
  803. offset: 0,
  804. color: '#fccb05'
  805. }, {
  806. offset: 1,
  807. color: '#f5804d'
  808. }]),
  809. barBorderRadius: 12,
  810. },
  811. emphasis: {
  812. barBlur: 20, // 流光效果宽度
  813. barShadowBlur: 20, // 阴影的宽度
  814. color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{
  815. offset: 0,
  816. color: '#fccb05'
  817. }, {
  818. offset: 1,
  819. color: '#f5804d'
  820. }]) // 流光效果的颜色
  821. }
  822. },
  823. data: data2
  824. },
  825. {
  826. name: '港',
  827. type: 'bar',
  828. barWidth: '15%',
  829. itemStyle: {
  830. normal: {
  831. color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{
  832. offset: 0,
  833. color: '#8bd46e'
  834. }, {
  835. offset: 1,
  836. color: '#09bcb7'
  837. }]),
  838. barBorderRadius: 11,
  839. },
  840. emphasis: {
  841. barBlur: 20,
  842. barShadowBlur: 20,
  843. color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{
  844. offset: 0,
  845. color: '#8bd46e'
  846. }, {
  847. offset: 1,
  848. color: '#09bcb7'
  849. }])
  850. }
  851. },
  852. data: data3
  853. },
  854. {
  855. name: '台',
  856. type: 'bar',
  857. barWidth: '15%',
  858. itemStyle: {
  859. normal: {
  860. color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{
  861. offset: 0,
  862. color: '#248ff7'
  863. }, {
  864. offset: 1,
  865. color: '#6851f1'
  866. }]),
  867. barBorderRadius: 11,
  868. },
  869. emphasis: {
  870. barBlur: 20,
  871. barShadowBlur: 20,
  872. color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{
  873. offset: 0,
  874. color: '#248ff7'
  875. }, {
  876. offset: 1,
  877. color: '#6851f1'
  878. }])
  879. }
  880. },
  881. data: data4
  882. }, {
  883. name: "外国人",
  884. type: "line",
  885. symbolSize: 10,
  886. symbol: 'circle',
  887. itemStyle: {
  888. normal: {
  889. color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{
  890. offset: 0,
  891. color: '#0000ff'
  892. }, {
  893. offset: 1,
  894. color: '#00ffff'
  895. }]),
  896. barBorderRadius: 0,
  897. label: {
  898. show: true,
  899. position: "top",
  900. formatter: function (p) {
  901. return p.value > 0 ? (p.value) : '';
  902. }
  903. }
  904. }
  905. },
  906. data: data1
  907. }, {
  908. name: '外国人',
  909. type: 'lines',
  910. coordinateSystem: 'cartesian2d',
  911. zlevel: 1,
  912. smooth: true,
  913. symbol: 'circle',
  914. effect: {
  915. show: true,
  916. smooth: true,
  917. period: 4,
  918. symbolSize: 8
  919. },
  920. lineStyle: {
  921. normal: {
  922. color: '#00ffff',
  923. width: 0,
  924. opacity: 0,
  925. curveness: 0,
  926. }
  927. },
  928. data: json1.chart0.lowLine,
  929. },]
  930. };
  931. if (option) {
  932. myChart.setOption(option);
  933. }
  934. },
  935. qkq_bj4(val) {
  936. var myChart = echarts.init(document.getElementById('qkq_bj4'));
  937. var zdslColorList = ['#D0A00E', '#34DA62', '#00C0E9', '#0096F3', '#33CCFF'];
  938. // 假设这是满意度数据的最大值,用于流光效果的终点
  939. var maxSatisfaction = Math.max(...[100, 100, 100, 100, 100]);
  940. let valueData = val.valueData;
  941. let labelData = val.labelData;
  942. var option = {
  943. grid: {
  944. top: '5%',
  945. left: '3%',
  946. right: '3%',
  947. bottom: '0',
  948. containLabel: true
  949. },
  950. tooltip: {
  951. backgroundColor: 'rgba(65,114,231,0.8)',
  952. show: false,
  953. },
  954. xAxis: {
  955. show: false,
  956. type: 'value'
  957. },
  958. yAxis: [{
  959. type: 'category',
  960. data: labelData,
  961. axisLabel: {
  962. show: true,
  963. textStyle: {
  964. color: '#ADD6FF',
  965. fontSize: '12'
  966. }
  967. },
  968. splitLine: {
  969. show: false
  970. },
  971. axisTick: {
  972. show: false
  973. },
  974. axisLine: {
  975. show: false
  976. },
  977. },
  978. {
  979. splitLine: {
  980. show: false
  981. },
  982. axisTick: {
  983. show: false
  984. },
  985. axisLine: {
  986. show: false
  987. },
  988. axisLabel: {
  989. show: true,
  990. textStyle: {
  991. color: '#ADD6FF',
  992. fontSize: '12'
  993. }
  994. },
  995. data: valueData
  996. }
  997. ],
  998. series: [{
  999. name: "满意度", // bar图的外边框
  1000. type: "bar",
  1001. barWidth: "40%",
  1002. yAxisIndex: 0,
  1003. data: valueData.map((item, i) => {
  1004. return {
  1005. value: item,
  1006. itemStyle: {
  1007. color: "rgba(0,0,0,0)",
  1008. barBorderColor: zdslColorList[i],
  1009. borderWidth: 1,
  1010. shadowColor: "#17209c",
  1011. shadowBlur: 4
  1012. }
  1013. }
  1014. }),
  1015. },
  1016. {
  1017. name: "满意度", //这个是Bar图
  1018. type: 'bar',
  1019. yAxisIndex: 1,
  1020. barWidth: "40%",
  1021. data: valueData
  1022. },
  1023. {
  1024. name: '流光效果',
  1025. type: 'lines',
  1026. zlevel: 1, // 确保流光在条形图之上
  1027. coordinateSystem: 'cartesian2d',
  1028. data: valueData.map((item, index) => {
  1029. return {
  1030. coords: [
  1031. [0, index],
  1032. [item / maxSatisfaction * 100, index] // 将满意度数据转换为百分比形式,以适应x轴的范围
  1033. ]
  1034. };
  1035. }),
  1036. effect: {
  1037. show: true,
  1038. period: 5,
  1039. trailLength: 0.5, //控制拖尾长度
  1040. symbolSize: [15, 2],
  1041. symbol: this.$store.state.common.echarts_baseStreamer,
  1042. loop: true,
  1043. color: '#fff' //流光颜色
  1044. },
  1045. lineStyle: {
  1046. width: 0,
  1047. opacity: 0.6,
  1048. curveness: 0
  1049. },
  1050. }
  1051. ],
  1052. itemStyle: {
  1053. color: function (params) {
  1054. return zdslColorList[params.dataIndex]
  1055. }
  1056. }
  1057. }
  1058. if (option) {
  1059. myChart.setOption(option);
  1060. }
  1061. },
  1062. qkq_bj5(val) {
  1063. var myChart = echarts.init(document.getElementById('qkq_bj5'));
  1064. var data = val.valueData;
  1065. var className = val.labelData;
  1066. var colorList = ['#39B3FF', '#47E0E0', '#7891D9', '#83D978', '#C7A530', '#FF8439'];
  1067. var defaultData = [100, 100, 100, 100, 100, 100];
  1068. var option = {
  1069. legend: {
  1070. data: ['渠道'],
  1071. icon: 'circle',
  1072. bottom: 10,
  1073. textStyle: {
  1074. color: '#ffffff'
  1075. },
  1076. show: false
  1077. },
  1078. grid: {
  1079. left: '5%',
  1080. right: '5%',
  1081. bottom: '5%',
  1082. top: '10%',
  1083. containLabel: true
  1084. },
  1085. tooltip: {
  1086. trigger: 'axis',
  1087. axisPointer: {
  1088. type: 'shadow'
  1089. },
  1090. formatter: function (params) {
  1091. return params[0].name + '<br/>' +
  1092. "<span style='display:inline-block;margin-right:5px;border-radius:10px;width:9px;height:9px;background-color:rgba(36,207,233,0.9)'></span>" +
  1093. // params[0].seriesName + ' : ' + Number((params[0].value.toFixed(4) / 10000).toFixed(2)).toLocaleString() + ' <br/>'
  1094. params[0].seriesName + ' : ' + params[0].value
  1095. }
  1096. },
  1097. xAxis: {
  1098. type: 'value',
  1099. axisLine: {
  1100. show: false
  1101. },
  1102. splitLine: {
  1103. show: false
  1104. },
  1105. },
  1106. yAxis: [{
  1107. type: 'category',
  1108. inverse: true,
  1109. axisLabel: {
  1110. show: true,
  1111. textStyle: {
  1112. color: '#fff'
  1113. },
  1114. },
  1115. splitLine: {
  1116. show: false
  1117. },
  1118. axisTick: {
  1119. show: false
  1120. },
  1121. axisLine: {
  1122. show: false
  1123. },
  1124. data: className
  1125. }, {
  1126. type: 'category',
  1127. inverse: true,
  1128. axisTick: 'none',
  1129. axisLine: 'none',
  1130. show: true,
  1131. axisLabel: {
  1132. textStyle: {
  1133. color: '#ffffff',
  1134. fontSize: '12'
  1135. },
  1136. formatter: function (value) {
  1137. return value;
  1138. },
  1139. },
  1140. data: data
  1141. }],
  1142. series: [{
  1143. name: '渠道',
  1144. type: 'bar',
  1145. zlevel: 1,
  1146. itemStyle: {
  1147. normal: {
  1148. barBorderRadius: 0,
  1149. // color: new echarts.graphic.LinearGradient(0, 0, 1, 0, [{
  1150. // offset: 0,
  1151. // color: 'rgb(57,89,255,1)'
  1152. // }, {
  1153. // offset: 1,
  1154. // color: 'rgb(46,200,207,1)'
  1155. // }]),
  1156. color: (params) => {
  1157. return colorList[params.dataIndex]
  1158. }
  1159. },
  1160. },
  1161. barWidth: 20,
  1162. data: data
  1163. }
  1164. ]
  1165. };
  1166. if (option) {
  1167. myChart.setOption(option);
  1168. }
  1169. },
  1170. qkq_bjs_01(val) {
  1171. var myChart = echarts.init(document.getElementById('qkq_bjs_01'));
  1172. let angle = 0; //角度,用来做简单的动画效果的
  1173. let max = 100;
  1174. let value = val.completionRate;
  1175. let rate = Math.round((value * 100) / max);
  1176. var option = {
  1177. title: [
  1178. {
  1179. text: '{a|办结率}\n{b|' + rate + '%}',
  1180. show: true,
  1181. x: 'center',
  1182. y: 'center',
  1183. textStyle: {
  1184. rich: {
  1185. a: {
  1186. fontSize: 18,
  1187. color: '#fff',
  1188. padding: [10, 0, 25, 0],
  1189. },
  1190. b: {
  1191. fontSize: 28,
  1192. color: '#00b6fd',
  1193. fontFamily: 'alibabaPuhuiM',
  1194. },
  1195. },
  1196. },
  1197. },
  1198. ],
  1199. polar: {
  1200. center: ['50%', '50%'],
  1201. radius: ['60%', '75%'],
  1202. },
  1203. angleAxis: {
  1204. max: max,
  1205. show: false,
  1206. },
  1207. radiusAxis: {
  1208. type: 'category',
  1209. show: true,
  1210. axisLabel: {
  1211. show: false,
  1212. },
  1213. axisLine: {
  1214. show: false,
  1215. },
  1216. axisTick: {
  1217. show: false,
  1218. },
  1219. },
  1220. series: [
  1221. {
  1222. name: '外1圈装饰',
  1223. type: 'pie',
  1224. zlevel: 1,
  1225. silent: true,
  1226. radius: ['98%', '97%'],
  1227. hoverAnimation: false,
  1228. color: "rgba(88,142,197,0.5)",
  1229. // animation:false, //charts3 no
  1230. label: {
  1231. normal: {
  1232. show: false
  1233. },
  1234. },
  1235. labelLine: {
  1236. normal: {
  1237. show: false
  1238. }
  1239. },
  1240. data: [1]
  1241. },
  1242. {
  1243. name: '外2圈装饰',
  1244. type: 'pie',
  1245. zlevel: 2,
  1246. silent: true,
  1247. radius: ['90%', '91%'],
  1248. startAngle: 0,
  1249. hoverAnimation: false,
  1250. // animation:false, //charts3 no
  1251. label: {
  1252. normal: {
  1253. show: false
  1254. },
  1255. },
  1256. labelLine: {
  1257. normal: {
  1258. show: false
  1259. }
  1260. },
  1261. data: [{
  1262. name: '',
  1263. value: 10,
  1264. itemStyle: {
  1265. normal: {
  1266. color: "rgba(88,142,197,0.5)",
  1267. borderWidth: 0,
  1268. borderColor: "rgba(0,0,0,0)"
  1269. }
  1270. }
  1271. },
  1272. {
  1273. name: '',
  1274. value: 8,
  1275. itemStyle: {
  1276. normal: {
  1277. color: "rgba(0,0,0,0)",
  1278. borderWidth: 0,
  1279. borderColor: "rgba(0,0,0,0)"
  1280. }
  1281. }
  1282. },
  1283. {
  1284. name: '',
  1285. value: 10,
  1286. itemStyle: {
  1287. normal: {
  1288. color: "rgba(88,142,197,0.5)",
  1289. borderWidth: 0,
  1290. borderColor: "rgba(0,0,0,0)"
  1291. }
  1292. }
  1293. },
  1294. {
  1295. name: '',
  1296. value: 8,
  1297. itemStyle: {
  1298. normal: {
  1299. color: "rgba(0,0,0,0)",
  1300. borderWidth: 0,
  1301. borderColor: "rgba(0,0,0,0)"
  1302. }
  1303. }
  1304. },
  1305. {
  1306. name: '',
  1307. value: 10,
  1308. itemStyle: {
  1309. normal: {
  1310. color: "rgba(88,142,197,0.5)",
  1311. borderWidth: 0,
  1312. borderColor: "rgba(0,0,0,0)"
  1313. }
  1314. }
  1315. },
  1316. {
  1317. name: '',
  1318. value: 8,
  1319. itemStyle: {
  1320. normal: {
  1321. color: "rgba(0,0,0,0)",
  1322. borderWidth: 0,
  1323. borderColor: "rgba(0,0,0,0)"
  1324. }
  1325. }
  1326. },
  1327. {
  1328. name: '',
  1329. value: 10,
  1330. itemStyle: {
  1331. normal: {
  1332. color: "rgba(88,142,197,0.5)",
  1333. borderWidth: 0,
  1334. borderColor: "rgba(0,0,0,0)"
  1335. }
  1336. }
  1337. },
  1338. {
  1339. name: '',
  1340. value: 8,
  1341. itemStyle: {
  1342. normal: {
  1343. color: "rgba(0,0,0,0)",
  1344. borderWidth: 0,
  1345. borderColor: "rgba(0,0,0,0)"
  1346. }
  1347. }
  1348. }
  1349. ]
  1350. },
  1351. {
  1352. name: '外3圈装饰',
  1353. type: 'pie',
  1354. zlevel: 3,
  1355. silent: true,
  1356. radius: ['88%', '87%'],
  1357. label: {
  1358. normal: {
  1359. show: false
  1360. },
  1361. },
  1362. labelLine: {
  1363. normal: {
  1364. show: false
  1365. }
  1366. },
  1367. data: [{
  1368. name: '',
  1369. value: 8,
  1370. itemStyle: {
  1371. normal: {
  1372. color: "rgba(0,0,0,0)",
  1373. borderWidth: 0,
  1374. borderColor: "rgba(0,0,0,0)"
  1375. }
  1376. }
  1377. },
  1378. {
  1379. name: '',
  1380. value: 10,
  1381. itemStyle: {
  1382. normal: {
  1383. color: "rgba(88,142,197,0.5)",
  1384. borderWidth: 0,
  1385. borderColor: "rgba(0,0,0,0)"
  1386. }
  1387. }
  1388. },
  1389. {
  1390. name: '',
  1391. value: 8,
  1392. itemStyle: {
  1393. normal: {
  1394. color: "rgba(0,0,0,0)",
  1395. borderWidth: 0,
  1396. borderColor: "rgba(0,0,0,0)"
  1397. }
  1398. }
  1399. },
  1400. {
  1401. name: '',
  1402. value: 10,
  1403. itemStyle: {
  1404. normal: {
  1405. color: "rgba(88,142,197,0.5)",
  1406. borderWidth: 0,
  1407. borderColor: "rgba(0,0,0,0)"
  1408. }
  1409. }
  1410. },
  1411. {
  1412. name: '',
  1413. value: 8,
  1414. itemStyle: {
  1415. normal: {
  1416. color: "rgba(0,0,0,0)",
  1417. borderWidth: 0,
  1418. borderColor: "rgba(0,0,0,0)"
  1419. }
  1420. }
  1421. },
  1422. {
  1423. name: '',
  1424. value: 10,
  1425. itemStyle: {
  1426. normal: {
  1427. color: "rgba(88,142,197,0.5)",
  1428. borderWidth: 0,
  1429. borderColor: "rgba(0,0,0,0)"
  1430. }
  1431. }
  1432. },
  1433. {
  1434. name: '',
  1435. value: 8,
  1436. itemStyle: {
  1437. normal: {
  1438. color: "rgba(0,0,0,0)",
  1439. borderWidth: 0,
  1440. borderColor: "rgba(0,0,0,0)"
  1441. }
  1442. }
  1443. },
  1444. {
  1445. name: '',
  1446. value: 10,
  1447. itemStyle: {
  1448. normal: {
  1449. color: "rgba(88,142,197,0.5)",
  1450. borderWidth: 0,
  1451. borderColor: "rgba(0,0,0,0)"
  1452. }
  1453. }
  1454. },
  1455. ]
  1456. },
  1457. {
  1458. name: '外4圈装饰',
  1459. type: 'pie',
  1460. zlevel: 4,
  1461. silent: true,
  1462. radius: ['84%', '83%'],
  1463. label: {
  1464. normal: {
  1465. show: false
  1466. },
  1467. },
  1468. labelLine: {
  1469. normal: {
  1470. show: false
  1471. }
  1472. },
  1473. data: [{
  1474. name: '',
  1475. value: 1,
  1476. itemStyle: {
  1477. normal: {
  1478. color: "rgb(126,190,255)",
  1479. borderWidth: 0,
  1480. borderColor: "rgba(0,0,0,0)"
  1481. }
  1482. }
  1483. },
  1484. {
  1485. name: '',
  1486. value: 1,
  1487. itemStyle: {
  1488. normal: {
  1489. color: "rgba(0,0,0,0)",
  1490. borderWidth: 0,
  1491. borderColor: "rgba(0,0,0,0)"
  1492. }
  1493. }
  1494. },
  1495. {
  1496. name: '',
  1497. value: 1,
  1498. itemStyle: {
  1499. normal: {
  1500. color: "rgb(126,190,255)",
  1501. borderWidth: 0,
  1502. borderColor: "rgba(0,0,0,0)"
  1503. }
  1504. }
  1505. },
  1506. {
  1507. name: '',
  1508. value: 1,
  1509. itemStyle: {
  1510. normal: {
  1511. color: "rgba(0,0,0,0)",
  1512. borderWidth: 0,
  1513. borderColor: "rgba(0,0,0,0)"
  1514. }
  1515. }
  1516. },
  1517. {
  1518. name: '',
  1519. value: 1,
  1520. itemStyle: {
  1521. normal: {
  1522. color: "rgb(126,190,255)",
  1523. borderWidth: 0,
  1524. borderColor: "rgba(0,0,0,0)"
  1525. }
  1526. }
  1527. },
  1528. {
  1529. name: '',
  1530. value: 1,
  1531. itemStyle: {
  1532. normal: {
  1533. color: "rgba(0,0,0,0)",
  1534. borderWidth: 0,
  1535. borderColor: "rgba(0,0,0,0)"
  1536. }
  1537. }
  1538. },
  1539. {
  1540. name: '',
  1541. value: 1,
  1542. itemStyle: {
  1543. normal: {
  1544. color: "rgb(126,190,255)",
  1545. borderWidth: 0,
  1546. borderColor: "rgba(0,0,0,0)"
  1547. }
  1548. }
  1549. },
  1550. {
  1551. name: '',
  1552. value: 1,
  1553. itemStyle: {
  1554. normal: {
  1555. color: "rgba(0,0,0,0)",
  1556. borderWidth: 0,
  1557. borderColor: "rgba(0,0,0,0)"
  1558. }
  1559. }
  1560. },
  1561. {
  1562. name: '',
  1563. value: 1,
  1564. itemStyle: {
  1565. normal: {
  1566. color: "rgb(126,190,255)",
  1567. borderWidth: 0,
  1568. borderColor: "rgba(0,0,0,0)"
  1569. }
  1570. }
  1571. },
  1572. {
  1573. name: '',
  1574. value: 1,
  1575. itemStyle: {
  1576. normal: {
  1577. color: "rgba(0,0,0,0)",
  1578. borderWidth: 0,
  1579. borderColor: "rgba(0,0,0,0)"
  1580. }
  1581. }
  1582. },
  1583. {
  1584. name: '',
  1585. value: 1,
  1586. itemStyle: {
  1587. normal: {
  1588. color: "rgb(126,190,255)",
  1589. borderWidth: 0,
  1590. borderColor: "rgba(0,0,0,0)"
  1591. }
  1592. }
  1593. },
  1594. {
  1595. name: '',
  1596. value: 1,
  1597. itemStyle: {
  1598. normal: {
  1599. color: "rgba(0,0,0,0)",
  1600. borderWidth: 0,
  1601. borderColor: "rgba(0,0,0,0)"
  1602. }
  1603. }
  1604. },
  1605. {
  1606. name: '',
  1607. value: 1,
  1608. itemStyle: {
  1609. normal: {
  1610. color: "rgb(126,190,255)",
  1611. borderWidth: 0,
  1612. borderColor: "rgba(0,0,0,0)"
  1613. }
  1614. }
  1615. },
  1616. {
  1617. name: '',
  1618. value: 1,
  1619. itemStyle: {
  1620. normal: {
  1621. color: "rgba(0,0,0,0)",
  1622. borderWidth: 0,
  1623. borderColor: "rgba(0,0,0,0)"
  1624. }
  1625. }
  1626. },
  1627. {
  1628. name: '',
  1629. value: 1,
  1630. itemStyle: {
  1631. normal: {
  1632. color: "rgb(126,190,255)",
  1633. borderWidth: 0,
  1634. borderColor: "rgba(0,0,0,0)"
  1635. }
  1636. }
  1637. },
  1638. {
  1639. name: '',
  1640. value: 1,
  1641. itemStyle: {
  1642. normal: {
  1643. color: "rgba(0,0,0,0)",
  1644. borderWidth: 0,
  1645. borderColor: "rgba(0,0,0,0)"
  1646. }
  1647. }
  1648. },
  1649. {
  1650. name: '',
  1651. value: 1,
  1652. itemStyle: {
  1653. normal: {
  1654. color: "rgb(126,190,255)",
  1655. borderWidth: 0,
  1656. borderColor: "rgba(0,0,0,0)"
  1657. }
  1658. }
  1659. },
  1660. {
  1661. name: '',
  1662. value: 1,
  1663. itemStyle: {
  1664. normal: {
  1665. color: "rgba(0,0,0,0)",
  1666. borderWidth: 0,
  1667. borderColor: "rgba(0,0,0,0)"
  1668. }
  1669. }
  1670. },
  1671. {
  1672. name: '',
  1673. value: 1,
  1674. itemStyle: {
  1675. normal: {
  1676. color: "rgb(126,190,255)",
  1677. borderWidth: 0,
  1678. borderColor: "rgba(0,0,0,0)"
  1679. }
  1680. }
  1681. },
  1682. {
  1683. name: '',
  1684. value: 1,
  1685. itemStyle: {
  1686. normal: {
  1687. color: "rgba(0,0,0,0)",
  1688. borderWidth: 0,
  1689. borderColor: "rgba(0,0,0,0)"
  1690. }
  1691. }
  1692. },
  1693. {
  1694. name: '',
  1695. value: 1,
  1696. itemStyle: {
  1697. normal: {
  1698. color: "rgb(126,190,255)",
  1699. borderWidth: 0,
  1700. borderColor: "rgba(0,0,0,0)"
  1701. }
  1702. }
  1703. },
  1704. {
  1705. name: '',
  1706. value: 1,
  1707. itemStyle: {
  1708. normal: {
  1709. color: "rgba(0,0,0,0)",
  1710. borderWidth: 0,
  1711. borderColor: "rgba(0,0,0,0)"
  1712. }
  1713. }
  1714. },
  1715. {
  1716. name: '',
  1717. value: 1,
  1718. itemStyle: {
  1719. normal: {
  1720. color: "rgb(126,190,255)",
  1721. borderWidth: 0,
  1722. borderColor: "rgba(0,0,0,0)"
  1723. }
  1724. }
  1725. },
  1726. {
  1727. name: '',
  1728. value: 1,
  1729. itemStyle: {
  1730. normal: {
  1731. color: "rgba(0,0,0,0)",
  1732. borderWidth: 0,
  1733. borderColor: "rgba(0,0,0,0)"
  1734. }
  1735. }
  1736. }
  1737. ]
  1738. },
  1739. {
  1740. name: '外5圈装饰',
  1741. type: 'pie',
  1742. zlevel: 5,
  1743. silent: true,
  1744. radius: ['80%', '78%'],
  1745. color: ["#fc8d89", "#46d3f3", "rgba(203,203,203,.2)"],
  1746. startAngle: 50,
  1747. hoverAnimation: false,
  1748. // animation:false, //charts3 no
  1749. label: {
  1750. normal: {
  1751. show: false
  1752. },
  1753. },
  1754. data: [50, 20, 40]
  1755. },
  1756. {
  1757. name: '',
  1758. type: 'bar',
  1759. roundCap: true,
  1760. showBackground: true,
  1761. backgroundStyle: {
  1762. color: 'rgba(19, 84, 146, .4)',
  1763. },
  1764. data: [value],
  1765. coordinateSystem: 'polar',
  1766. itemStyle: {
  1767. normal: {
  1768. color: new echarts.graphic.LinearGradient(0, 1, 0, 0, [
  1769. {
  1770. offset: 0,
  1771. color: '#005DCF',
  1772. },
  1773. {
  1774. offset: 1,
  1775. color: '#00CCFF',
  1776. },
  1777. ]),
  1778. },
  1779. },
  1780. },
  1781. {
  1782. name: '',
  1783. type: 'gauge',
  1784. radius: '54%',
  1785. axisLine: {
  1786. lineStyle: {
  1787. color: [
  1788. [
  1789. 1,
  1790. new echarts.graphic.LinearGradient(0, 1, 0, 0, [
  1791. {
  1792. offset: 0,
  1793. color: 'rgba(0, 182, 253, 0)',
  1794. },
  1795. {
  1796. offset: 0.5,
  1797. color: 'rgba(0, 182, 253, .2)',
  1798. },
  1799. {
  1800. offset: 1,
  1801. color: 'rgba(0, 182, 253, .4)',
  1802. },
  1803. ]),
  1804. ],
  1805. ],
  1806. width: 1,
  1807. },
  1808. },
  1809. axisLabel: {
  1810. show: false,
  1811. },
  1812. axisTick: {
  1813. show: false,
  1814. },
  1815. splitLine: {
  1816. show: false,
  1817. },
  1818. itemStyle: {
  1819. show: false,
  1820. },
  1821. detail: {
  1822. show: false,
  1823. },
  1824. data: [],
  1825. pointer: {
  1826. show: false,
  1827. },
  1828. },
  1829. ],
  1830. };
  1831. if (option) {
  1832. myChart.setOption(option);
  1833. }
  1834. var timer;
  1835. function doing() {
  1836. let option = myChart.getOption();
  1837. option.series[3].startAngle = option.series[3].startAngle - 1;
  1838. myChart.setOption(option);
  1839. }
  1840. function startTimer() {
  1841. timer = setInterval(doing, 100);
  1842. }
  1843. // function stopTimer() {
  1844. // clearInterval(timer);
  1845. // xzTimer = null;
  1846. // }
  1847. setTimeout(startTimer, 500);
  1848. },
  1849. getCurrentTime() {
  1850. const now = new Date();
  1851. const year = now.getFullYear();
  1852. const month = now.getMonth() + 1;
  1853. const date = now.getDate();
  1854. const day = now.getDay();
  1855. const weekDays = ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六'];
  1856. const hour = now.getHours();
  1857. const minute = now.getMinutes();
  1858. const second = now.getSeconds();
  1859. const formattedMonth = month < 10 ? `0${month}` : month;
  1860. const formattedDate = date < 10 ? `0${date}` : date;
  1861. const formattedHour = hour < 10 ? `0${hour}` : hour;
  1862. const formattedMinute = minute < 10 ? `0${minute}` : minute;
  1863. const formattedSecond = second < 10 ? `0${second}` : second;
  1864. this.currentTime =
  1865. `${year}年${formattedMonth}月${formattedDate}日 ${weekDays[day]} ${formattedHour}:${formattedMinute}:${formattedSecond}`;
  1866. },
  1867. }
  1868. };
  1869. // import '@/assets/images/leftnav.js';
  1870. $(function () {
  1871. var Accordion = function (el, multiple) {
  1872. this.el = el || {};
  1873. this.multiple = multiple || false;
  1874. // Variables privadas
  1875. var links = this.el.find('.link');
  1876. // Evento
  1877. links.on('click', {
  1878. el: this.el,
  1879. multiple: this.multiple
  1880. }, this.dropdown)
  1881. };
  1882. Accordion.prototype.dropdown = function (e) {
  1883. var $el = e.data.el;
  1884. let $this = $(this);
  1885. let $next = $this.next();
  1886. $next.slideToggle();
  1887. $this.parent().toggleClass('open');
  1888. if (!e.data.multiple) {
  1889. $el.find('.submenu').not($next).slideUp().parent().removeClass('open');
  1890. }
  1891. };
  1892. var accordion = new Accordion($('#accordion'), false);
  1893. $('.submenu li').click(function () {
  1894. $(this).addClass('current').siblings('li').removeClass('current');
  1895. });
  1896. });
  1897. </script>
  1898. <style>
  1899. /* 添加你的CSS样式 */
  1900. </style>