acd2f986e73b718ba40199ea64e8d908d2a423e5.svn-base 82 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116
  1. <template>
  2. <div class="mainBox" id="mainBox">
  3. <div class="mainHeader">
  4. <div class="header-left">
  5. <div class="date-down myselect" @click="showHideDate">
  6. <div class="myselect">年度</div>
  7. <div class="myselect">{{selectDateName}}</div>
  8. <div class="myselect"><i :class="iconDate"></i></div>
  9. <ul class="myselect" v-if="isDateVisible">
  10. <li class="myselect" style="overflow: hidden;text-overflow: ellipsis;white-space: nowrap;" @click.stop="dateChange(item.year,item.year)" v-for="item in yearList" :title="item.year">{{item.year}}</li>
  11. </ul>
  12. </div>
  13. <div class="date-down " @click="showHideType">
  14. <div class="myselect">批次</div>
  15. <div class="myselect">{{selectBatchName}}</div>
  16. <div class="myselect"><i :class="iconBatch"></i></div>
  17. <ul class="myselect" v-if="isBatchVisible">
  18. <li class="myselect" style="overflow: hidden;text-overflow: ellipsis;white-space: nowrap;" @click.stop="batchChange(item.adName,item.batch)" v-for="item in batchList" :title="item.adName">{{item.batch}}{{item.adName}}</li>
  19. </ul>
  20. </div>
  21. <!-- <el-select v-model="selectDate" placeholder="请选择" size="mini" @change="dateChange">-->
  22. <!-- <el-option-->
  23. <!-- v-for="item in options"-->
  24. <!-- :key="item.value"-->
  25. <!-- :label="item.label"-->
  26. <!-- :value="item.value">-->
  27. <!-- </el-option>-->
  28. <!-- </el-select>-->
  29. <!-- <el-select v-model="selectBatch" placeholder="请选择" size="mini" @change="batchChange">-->
  30. <!-- <el-option-->
  31. <!-- v-for="item in dcTypeList"-->
  32. <!-- :key="item.inspType"-->
  33. <!-- :label="item.inspName"-->
  34. <!-- :value="item.inspType">-->
  35. <!-- </el-option>-->
  36. <!-- </el-select>-->
  37. </div>
  38. <div class="header-middle">{{title}}</div>
  39. <div class="header-right">
  40. <div class="hourMs">{{currentTimestap}}</div>
  41. <div class="timeContent">
  42. <div class="timeOrWeek times">{{currentTime}}</div>
  43. <div class="timeOrWeek weeks">{{currentWeek}}</div>
  44. </div>
  45. <div class="turnBtn" @click="slideHeader">{{turnName}}</div>
  46. </div>
  47. </div>
  48. <div class="mainContent" id="mainContent">
  49. <div class="mainContent-left">
  50. <div class="mainContent-left-top">
  51. <div class="mainContent-left-top-left">
  52. <div class="summary-item">
  53. <div class="summary-item-col">
  54. <div class="summary-title">
  55. <img src="../../assets/person.png">
  56. <div class="summary-text">
  57. <span class="summary-pointer">人员</span>
  58. <span class="summary-group">单位:(个)</span>
  59. </div>
  60. <!-- <img src="../../assets/right.png">-->
  61. </div>
  62. <div class="summary-content">
  63. <countTo :startVal='0' :endVal='statiscsData.PERSIZE' :duration='2000'></countTo>
  64. </div>
  65. </div>
  66. <div class="summary-item-col">
  67. <div class="summary-title">
  68. <img src="../../assets/question.png">
  69. <div class="summary-text">
  70. <span class="summary-pointer">问题数</span>
  71. <span class="summary-group">单位:(个)</span>
  72. </div>
  73. <!-- <img src="../../assets/right.png">-->
  74. </div>
  75. <div class="summary-content">
  76. <countTo :startVal='0' :endVal='statiscsData.PBLMSIZE' :duration='2000'></countTo>
  77. </div>
  78. </div>
  79. </div>
  80. <div class="summary-item">
  81. <div class="summary-item-col">
  82. <div class="summary-title">
  83. <img src="../../assets/group.png">
  84. <div class="summary-text">
  85. <span class="summary-pointer">组</span>
  86. <span class="summary-group">单位:(个)</span>
  87. </div>
  88. <!-- <img src="../../assets/right.png">-->
  89. </div>
  90. <div class="summary-content">
  91. <countTo :startVal='0' :endVal='statiscsData.GROUPSIZE' :duration='2000'></countTo>
  92. </div>
  93. </div>
  94. <div class="summary-item-col">
  95. <div class="summary-title">
  96. <img src="../../assets/zgnum.png">
  97. <div class="summary-text">
  98. <span class="summary-pointer">整改数</span>
  99. <span class="summary-group">单位:(个)</span>
  100. </div>
  101. <!-- <img src="../../assets/right.png">-->
  102. </div>
  103. <div class="summary-content">
  104. <countTo :startVal='0' :endVal='statiscsData.MENDSIZE' :duration='2000'></countTo>
  105. </div>
  106. </div>
  107. </div>
  108. <div class="summary-item">
  109. <div class="summary-item-col">
  110. <div class="summary-title">
  111. <img src="../../assets/object.png">
  112. <div class="summary-text">
  113. <span class="summary-pointer">工程</span>
  114. <span class="summary-group">单位:(个)</span>
  115. </div>
  116. <!-- <img src="../../assets/right.png">-->
  117. </div>
  118. <div class="summary-content">
  119. <countTo :startVal='0' :endVal='statiscsData.OBJSIZE' :duration='2000'></countTo>
  120. </div>
  121. </div>
  122. <div class="summary-item-col">
  123. <div class="summary-title">
  124. <img src="../../assets/xhNum.png">
  125. <div class="summary-text">
  126. <span class="summary-pointer">销号数</span>
  127. <span class="summary-group">单位:(个)</span>
  128. </div>
  129. <!-- <img src="../../assets/right.png">-->
  130. </div>
  131. <div class="summary-content">
  132. <countTo :startVal='0' :endVal='statiscsData.PBLMLOGSIZE' :duration='2000'></countTo>
  133. </div>
  134. </div>
  135. </div>
  136. </div>
  137. <div class="mainContent-left-top-right">
  138. <div class="shortcutkey">
  139. <ul>
  140. <li @click="hrefClick('/queryResults')">成果查询</li>
  141. <li @click="hrefClick('/inspection_resultTable')">汇总成果</li>
  142. <li @click="hrefClick('inspection_chart')">汇总统计</li>
  143. <li @click="hrefClick('/report_jcbg_doc')">稽察报告</li>
  144. </ul>
  145. </div>
  146. <div class="mapEchart" id="chart1"></div>
  147. </div>
  148. </div>
  149. <div class="mainContent-left-bottom">
  150. <div class="echarts-bottom">
  151. <div class="echarts-bottom-title"><span>稽察专业分类问题数</span></div>
  152. <div class="echarts-bottom-content" id="chart2"></div>
  153. </div>
  154. <!-- <div class="echarts-bottom">-->
  155. <!-- <div class="echarts-bottom-title"><span>督查对象区域分布</span></div>-->
  156. <!-- <div class="echarts-bottom-content" id="chart3"></div>-->
  157. <!-- </div>-->
  158. <div class="echarts-bottom">
  159. <div class="echarts-bottom-title"><span>稽察地市问题分布</span></div>
  160. <div class="echarts-bottom-content" id="chart4"></div>
  161. </div>
  162. <div class="echarts-bottom">
  163. <div class="echarts-bottom-title"><span>问题等级统计</span></div>
  164. <div class="echarts-bottom-content" id="chart5"></div>
  165. </div>
  166. </div>
  167. </div>
  168. <div class="mainContent-right">
  169. <div class="mainContent-right-top">
  170. <div class="echarts-bottom-title"><span>通知公告</span></div>
  171. <div class="echarts-bottom-content tzgg">
  172. <ul class="cms-news">
  173. <li v-if="messageList!=null && messageList.length>0" v-for="(item,index) in messageList" @click="showMessage(item)" :title="item.title">{{item.title}}</li>
  174. </ul>
  175. </div>
  176. </div>
  177. <div class="mainContent-right-bottom">
  178. <div class="echarts-bottom-title"><span>工程问题详细</span></div>
  179. <div class="echarts-bottom-content proPblm">
  180. <ul>
  181. <li v-if="projectList!=null && projectList.length>0" v-for="(item,index) in projectList" @click="showProPblmDetail(item)"><i class="el-icon-s-opportunity"></i><div :title="item.name">{{item.name?item.name:item.ojbNm}}</div><span>{{formatDateTime(item.intm)}}</span></li>
  182. </ul>
  183. </div>
  184. </div>
  185. <!-- <div class="mainContent-right-style1">-->
  186. <!-- <div class="echarts-bottom-title"><span>近期面貌</span></div>-->
  187. <!-- <div class="echarts-bottom-content" ref="banner">-->
  188. <!-- <el-carousel :height="bannerHeight" id="nearFace1">-->
  189. <!-- <el-carousel-item v-if="nearFaceList!=null && nearFaceList.length>0" v-for="(item,index) in nearFaceList" >-->
  190. <!--&lt;!&ndash; <a :href="`${hostUrl}/${item.filePath}`" target="_blank" style="position: relative;display: block;;width: 100%;height:100%;">&ndash;&gt;-->
  191. <!-- <div class="titleCar" :title="item.objName">{{item.objName}}</div>-->
  192. <!-- <img :src="`${urlReplace(item.filePath)}`" :alt="item.objName" style="width: 100%;height:100%;">-->
  193. <!--&lt;!&ndash; </a>&ndash;&gt;-->
  194. <!-- </el-carousel-item>-->
  195. <!-- </el-carousel>-->
  196. <!-- </div>-->
  197. <!-- </div>-->
  198. <!-- <div class="mainContent-right-style">-->
  199. <!-- <div class="echarts-bottom-title"><span>问题图片</span></div>-->
  200. <!-- <div class="echarts-bottom-content">-->
  201. <!-- <el-carousel :height="bannerHeight">-->
  202. <!-- <el-carousel-item v-if="questionImgList!=null && questionImgList.length>0" v-for="(item,index) in questionImgList">-->
  203. <!-- <a :href="`${hostUrl}/${item.filePath}`" target="_blank"><img :src="`${hostUrl}/${item.filePath}`"></a>-->
  204. <!-- </el-carousel-item>-->
  205. <!-- </el-carousel>-->
  206. <!-- </div>-->
  207. <!-- </div>-->
  208. <!-- <div class="mainContent-right-style2">-->
  209. <!-- <div class="echarts-bottom-title"><span>问题视频</span></div>-->
  210. <!-- <div class="echarts-bottom-content">-->
  211. <!-- <el-carousel :height="bannerHeight">-->
  212. <!-- <el-carousel-item v-if="questionVideoList!=null && questionVideoList.length>0" v-for="(item,index) in questionVideoList">-->
  213. <!-- <a :href="`${hostUrl}/${item.filePath}`" target="_blank" style="position: relative;display: block;width: 100%;height:100%;">-->
  214. <!-- <div class="titleCar" :title="item.objName">{{item.objName}}</div>-->
  215. <!-- <video :src="`${urlReplace(item.filePath)}`" controls="controls" style="width:100%;height:100%;"></video>-->
  216. <!-- </a>-->
  217. <!-- </el-carousel-item>-->
  218. <!-- </el-carousel>-->
  219. <!-- </div>-->
  220. <!-- </div>-->
  221. </div>
  222. </div>
  223. <proPblmDetail v-if="proPblmVisible" :proPblmId="proPblmId" :title="proTitle" @closeDialog="closeDialog"></proPblmDetail>
  224. <showMessage v-if="showMessageVisible" :clctzUrl="clctzUrl" @closeDialog="closeMessageDialog"></showMessage>
  225. <personList v-if="isShowPersonList" :param="personParam" @closeDialogPerson="closeDialogPerson"></personList>
  226. <groupList v-if="isShowGroupList" :param="groupParam" @closeDialogGroup="closeDialogGroup"></groupList>
  227. <objList v-if="isShowObjList" :param="objParam" @closeDialogObj="closeDialogObj"></objList>
  228. <pblmList v-if="isShowPblmList" :param="pblmParam" @closeDialogPblm="closeDialogPblm"></pblmList>
  229. </div>
  230. </template>
  231. <script>
  232. import {hostUrl} from '@util/global_variable.js'
  233. import countTo from 'vue-count-to';
  234. import Viewer from 'viewerjs';
  235. import 'viewerjs/dist/viewer.css';
  236. import echarts from "echarts";
  237. // import 'echarts-gl';
  238. import '@util/echarts-gl.min.js';
  239. import axios from 'axios' //引入axios
  240. import request from "@util/gw_ajax_request.js";
  241. import {formatDate,formatDateTimstamp} from "@util/gw_date.js"
  242. import proPblmDetail from "./proPblmDetail"
  243. import showMessage from "./showMessage"
  244. import personList from "./personList_jc";
  245. import groupList from "./groupList_jc";
  246. import objList from "./objList_jc";
  247. import pblmList from "./pblmList_jc";
  248. import {
  249. getMessage,
  250. getJcPblmCount,
  251. getYear,
  252. getBatch,
  253. getJcData,
  254. getJcTotalData,
  255. getTopTacPblm,
  256. getQuestionImgList,
  257. getTopTacPblmvideo,
  258. getJcDataProject
  259. } from "../../api/homeMainView.js";
  260. export default {
  261. components: {
  262. countTo,
  263. proPblmDetail,
  264. showMessage,
  265. personList,
  266. groupList,
  267. objList,
  268. pblmList
  269. },
  270. props: [],
  271. data() {
  272. //这里存放数据
  273. return {
  274. currentHeight:window.innerHeight,
  275. title:"福建水利监管可视化",
  276. turnvalue:"0",
  277. fullvalue:"0",
  278. turnName:"全屏",
  279. selectDate:new Date().getFullYear().toString(),
  280. selectDateName:new Date().getFullYear().toString(),
  281. isDateVisible:false,
  282. selectBatch:"",
  283. selectBatchName:"全部",
  284. isBatchVisible:false,
  285. iconDown:"el-icon-arrow-down myselect",
  286. iconUp:"el-icon-arrow-up myselect",
  287. iconBatch:"el-icon-arrow-down myselect",
  288. iconDate:"el-icon-arrow-down myselect",
  289. chart1:null,
  290. chart2:null,
  291. // chart3:null,
  292. chart4:null,
  293. chart5:null,
  294. currentTimestap:"",
  295. currentWeek:"",
  296. currentTime:"",
  297. //督察类别
  298. batchList:[],
  299. yearList:[],
  300. //统计看板数据
  301. statiscsData:{
  302. GROUPSIZE: 0,//组
  303. MENDSIZE: 0,//整改
  304. OBJSIZE: 0,//工程
  305. PBLMLOGSIZE: 0,//归档数
  306. PBLMSIZE: 0,//问题数
  307. PERSIZE: 0//人员个数
  308. },
  309. //地图数据
  310. chartMapData:{
  311. mapPercent:[],
  312. geoCoordMap:{},
  313. geoCoordMapList:[],
  314. },
  315. //督察类别数量
  316. chartDcTypeData:{
  317. count:0,
  318. dataList:[]
  319. },
  320. chartObjData:{
  321. xData:[],
  322. dataList:[]
  323. },
  324. chartPblmData:{
  325. xData:[],
  326. dataList:[]
  327. },
  328. chartMendPblmData:{
  329. xData:[],
  330. dataList:[]
  331. },
  332. chartPblmTypeData:{
  333. info:0,
  334. warn:0,
  335. fatal:0,
  336. error:0
  337. },
  338. messageList:[],
  339. bannerList:[],
  340. bannerHeight:"0",
  341. addvcdList:[],
  342. adCode:"",
  343. adName:"",
  344. nearFaceList:[],
  345. questionImgList:[],
  346. questionVideoList:[],
  347. timerData:null,
  348. proPblmVisible:false,
  349. proPblmId:"",
  350. projectList:[],
  351. proTitle:"",
  352. adCode:"",
  353. showMessageVisible:false,
  354. clctzUrl:"",
  355. personParam:{},
  356. isShowPersonList:false,
  357. groupParam:{},
  358. isShowGroupList:false,
  359. isShowObjList:false,
  360. objParam:{},
  361. isShowPblmList:false,
  362. pblmParam:{}
  363. }
  364. },
  365. //监听属性 类似于data概念
  366. computed: {
  367. formatDateTime() {
  368. return formatDateTimstamp
  369. },
  370. hostUrl(){
  371. return hostUrl
  372. },
  373. organNm() {
  374. return localStorage.getItem('currentOrgNm') ? localStorage.getItem('currentOrgNm') : ''
  375. },
  376. organCode() {
  377. return localStorage.getItem('currentRlcode') ? localStorage.getItem('currentRlcode') : ''
  378. },
  379. currentOrgId() {
  380. return localStorage.getItem('currentOrgId') ? localStorage.getItem('currentOrgId') : ''
  381. },
  382. },
  383. //监控data中的数据变化
  384. watch: {
  385. },
  386. //生命周期 - 创建完成(可以访问当前this实例)
  387. created() {
  388. this.initYear();
  389. this.initBatch();
  390. let currentOrgId = localStorage.getItem("currentOrgId")
  391. if(currentOrgId == '041'){
  392. this.title = '水利稽察'
  393. }else if(this.organCode.indexOf("33")>-1){
  394. this.title = localStorage.getItem("currentOrgNm")+'水利稽察数字化应用'
  395. }else if(localStorage.getItem('currentRlcode').substring(0,2)=='37'){
  396. this.title = '山东省水利稽察信息系统'
  397. }else if(currentOrgId == '055'){
  398. this.title = '海南水务稽察平台'
  399. }else if (localStorage.getItem('currentRlcode').substring(0,2)=='44') {
  400. this.title = '广东省水利稽察'
  401. }else{
  402. this.title = localStorage.getItem("currentOrgNm")+'水利稽察'
  403. }
  404. },
  405. //生命周期 - 挂载完成(可以访问DOM元素)
  406. mounted() {
  407. var _self = this;
  408. document.addEventListener('click',function(e){
  409. if(e.target.className!='myselect'){
  410. _self.isDateVisible = false;
  411. _self.isBatchVisible = false;
  412. _self.iconDate = _self.iconDown;
  413. _self.iconBatch = _self.iconDown;
  414. }
  415. })
  416. setInterval(function(){ _self.myTimer() }, 1000);
  417. this.initStatiscsData(null);
  418. this.initData();
  419. this.initData1();
  420. this.initMessage();
  421. this.getProjectList(null);
  422. // this.initNearFace(this.organCode);
  423. // this.initQuestionImg(this.organCode);
  424. // this.initQuestionVideo(this.organCode);
  425. this.$nextTick(function () {
  426. // var height= this.$refs.banner.offsetHeight;
  427. // this.bannerHeight = height+"px";
  428. var _self = this;
  429. window.onresize = function() {
  430. // var height= _self.$refs.banner.offsetHeight;
  431. // _self.bannerHeight = height+"px";
  432. _self.resizeCharts();
  433. }
  434. });
  435. this.timerData = setInterval(this.IntervalData, 600000);
  436. },
  437. //方法集合
  438. methods: {
  439. closeDialogPerson(){
  440. this.isShowPersonList = false;
  441. this.personParam = {};
  442. },
  443. closeDialogGroup(){
  444. this.isShowGroupList = false;
  445. this.groupParam = {};
  446. },
  447. closeDialogObj(){
  448. this.isShowObjList = false;
  449. this.objParam = {};
  450. },
  451. closeDialogPblm(){
  452. this.isShowPblmList = false;
  453. this.pblmParam = {};
  454. },
  455. showPerson(){
  456. this.isShowPersonList = true;
  457. this.personParam["year"] = this.selectDate;
  458. this.personParam["batch"] = this.selectBatch;
  459. this.personParam["adCode"] = this.adCode;
  460. },
  461. showGroup(){
  462. this.isShowGroupList = true;
  463. this.groupParam["year"] = this.selectDate;
  464. this.groupParam["batch"] = this.selectBatch;
  465. this.groupParam["adCode"] = this.adCode;
  466. },
  467. showObj(){
  468. this.isShowObjList = true;
  469. this.objParam["year"] = this.selectDate;
  470. this.objParam["batch"] = this.selectBatch;
  471. this.objParam["adCode"] = this.adCode;
  472. },
  473. showPblm(){
  474. this.isShowPblmList = true;
  475. this.pblmParam["year"] = this.currentCode;
  476. this.pblmParam["batch"] = this.selectDate;
  477. this.pblmParam["adCode"] = this.selectType;
  478. },
  479. hrefClick(path){
  480. this.$router.push({
  481. path: path,
  482. query:{
  483. date:this.selectDate,
  484. batch:this.selectBatch,
  485. adCode:this.adCode
  486. }
  487. });
  488. },
  489. getProjectList(adCode){
  490. this.projectList = [];
  491. var params = {
  492. year:this.selectDate,
  493. batch:this.selectBatch,
  494. adCode:adCode
  495. }
  496. request.post(`/tac/insp/year/batch/obj/getObjPage`,params).then(res=>{
  497. if(res.success){
  498. this.loading = false
  499. this.projectList = res.data.list
  500. }else{
  501. this.loading = false
  502. this.$message.error(res.message)
  503. }
  504. }).catch(err=>{
  505. this.$message.error(err)
  506. })
  507. },
  508. closeDialog(){
  509. this.proPblmVisible = false;
  510. this.proPblmId = "";
  511. },
  512. closeMessageDialog(){
  513. this.showMessageVisible = false;
  514. },
  515. showProPblmDetail(item){
  516. this.proPblmVisible = true;
  517. this.proPblmId = item.id;
  518. this.proTitle = item.name?item.name:item.ojbNm;
  519. },
  520. showMessage(item) {
  521. if(item.clcUrl){
  522. this.clctzUrl=this.hostUrl + item.clcUrl;
  523. this.showMessageVisible=true;
  524. }
  525. },
  526. urlReplace(d){
  527. return this.hostUrl;
  528. },
  529. showHideDate(){
  530. this.isDateVisible = !this.isDateVisible;
  531. this.iconDate = (this.iconDate==this.iconDown?this.iconUp:this.iconDown);
  532. },
  533. showHideType(){
  534. this.isBatchVisible = !this.isBatchVisible;
  535. this.iconBatch = (this.iconBatch==this.iconDown?this.iconUp:this.iconDown);
  536. },
  537. IntervalData(){
  538. this.initStatiscsData(null);
  539. this.initData();
  540. this.initData1();
  541. this.initMessage();
  542. this.initNearFace(this.organCode);
  543. this.initQuestionImg(this.organCode);
  544. this.initQuestionVideo(this.organCode);
  545. },
  546. resizeCharts(){
  547. this.chart1.resize();
  548. this.chart2.resize();
  549. // this.chart3.resize();
  550. this.chart4.resize();
  551. this.chart5.resize();
  552. },
  553. initMessage(){
  554. var _self = this;
  555. getMessage({pageNum:1,pageSize:10,app:"2"}).then((res) => {
  556. _self.messageList = res.data.list;
  557. });
  558. },
  559. initNearFace(adCode){
  560. var _self = this;
  561. getTopTacPblm(adCode).then((res) => {
  562. _self.nearFaceList = res.data;
  563. _self.$nextTick(function(){
  564. var ViewerDom = document.getElementById('nearFace1');
  565. var viewer = new Viewer(ViewerDom, {
  566. })
  567. });
  568. });
  569. },
  570. initQuestionImg(adCode){
  571. var _self = this;
  572. getQuestionImgList(adCode,this.selectBatch).then((res) => {
  573. _self.questionImgList = res.data;
  574. });
  575. },
  576. initQuestionVideo(adCode){
  577. var _self = this;
  578. getTopTacPblmvideo(adCode).then((res) => {
  579. _self.questionVideoList = res.data;
  580. });
  581. },
  582. dateChange(name,value){
  583. this.selectDate = value;
  584. this.selectDateName = name;
  585. this.iconDate = this.iconDown;
  586. this.isDateVisible = false;
  587. this.initBatch();
  588. this.initData();
  589. this.initData1();
  590. this.initStatiscsData(null);
  591. this.getProjectList(null);
  592. this.adCode = "";
  593. },
  594. batchChange(name,value){
  595. this.selectBatch = (value=="全部"?"":value);
  596. this.selectBatchName = value=="全部"?"全部":(value+" "+"("+name+")");
  597. this.iconBatch = this.iconDown;
  598. this.isBatchVisible = false;
  599. this.initData();
  600. this.initData1();
  601. this.initStatiscsData(null);
  602. this.getProjectList(null);
  603. this.adCode = "";
  604. // this.initNearFace(this.organCode);
  605. // this.initQuestionImg(this.organCode);
  606. // this.initQuestionVideo(this.organCode);
  607. },
  608. toVal(val){
  609. if(val!=null && val!=""){
  610. return val.toFixed(2)
  611. }
  612. return 0;
  613. },
  614. initData(){
  615. var _self = this;
  616. _self.chartPblmTypeData.info = 0;
  617. _self.chartPblmTypeData.warn = 0;
  618. _self.chartPblmTypeData.fatal = 0;
  619. _self.chartPblmTypeData.error = 0;
  620. _self.chartObjData.xData = [];
  621. _self.chartObjData.dataList = [];
  622. _self.chartPblmData.xData = [];
  623. _self.chartPblmData.dataList = [];
  624. _self.chartMendPblmData.xData = [];
  625. _self.chartMendPblmData.dataList = [];
  626. _self.chartMapData.mapPercent = [];
  627. _self.chartMapData.geoCoordMap = [];
  628. _self.chartMapData.geoCoordMapList = [];
  629. _self.addvcdList = [];
  630. getJcData({year:_self.selectDate,batch:_self.selectBatch,objType:"008"}).then((res) => {
  631. if(res.data!=null && res.data.length>0){
  632. for(var i = 0;i<res.data.length;i++){
  633. if(res.data[i].adName!="合计"){
  634. _self.chartObjData.xData.push(res.data[i].adName);
  635. _self.chartObjData.dataList.push(res.data[i].objSize);
  636. _self.chartPblmData.xData.push(res.data[i].adName);
  637. _self.chartPblmData.dataList.push(res.data[i].pblmSize);
  638. _self.chartMendPblmData.xData.push(res.data[i].adName);
  639. _self.chartMendPblmData.dataList.push(res.data[i].mendSize);
  640. var obj = {
  641. name:res.data[i].adName,
  642. value:_self.toVal(res.data[i].mendSizeRant)
  643. }
  644. _self.addvcdList.push({
  645. name:res.data[i].adName,
  646. value:res.data[i].adCode,
  647. });
  648. _self.chartMapData.mapPercent.push(obj);
  649. _self.chartMapData.geoCoordMap[res.data[i].adName] = [res.data[i].lgtd,res.data[i].lttd];
  650. _self.chartMapData.geoCoordMapList.push({
  651. name:res.data[i].adName,
  652. value:res.data[i].pblmSize
  653. });
  654. }else{
  655. _self.chartPblmTypeData.info = res.data[i].infoPlbm;
  656. _self.chartPblmTypeData.warn = res.data[i].warmPlbm;
  657. _self.chartPblmTypeData.fatal = res.data[i].errorPlbm;
  658. _self.chartPblmTypeData.error = res.data[i].errorsPlbm;
  659. }
  660. }
  661. }
  662. _self.initChart1();
  663. // _self.initChart3();
  664. _self.initChart4();
  665. _self.initChart5();
  666. });
  667. },
  668. initDataCity(adCode){
  669. var _self = this;
  670. _self.chartPblmTypeData.info = 0;
  671. _self.chartPblmTypeData.warn = 0;
  672. _self.chartPblmTypeData.fatal = 0;
  673. _self.chartPblmTypeData.error = 0;
  674. _self.chartObjData.xData = [];
  675. _self.chartObjData.dataList = [];
  676. getJcData({year:_self.selectDate,batch:_self.selectBatch,adCode:adCode,objType:"008"}).then((res) => {
  677. if(res.data!=null && res.data.length>0){
  678. for(var i = 0;i<res.data.length;i++){
  679. if(res.data[i].adName!="合计"){
  680. _self.chartObjData.xData.push(res.data[i].adName);
  681. _self.chartObjData.dataList.push(res.data[i].objSize);
  682. }else{
  683. _self.chartPblmTypeData.info = res.data[i].infoPlbm;
  684. _self.chartPblmTypeData.warn = res.data[i].warmPlbm;
  685. _self.chartPblmTypeData.fatal = res.data[i].errorPlbm;
  686. _self.chartPblmTypeData.error = res.data[i].errorsPlbm;
  687. }
  688. }
  689. }
  690. // _self.initChart3();
  691. // _self.initChart4();
  692. _self.initChart5();
  693. });
  694. },
  695. getDataProjectPblm(adCode){
  696. var _self = this;
  697. _self.chartPblmData.xData = [];
  698. _self.chartPblmData.dataList = [];
  699. _self.chartMendPblmData.xData = [];
  700. _self.chartMendPblmData.dataList = [];
  701. getJcDataProject({year:_self.selectDate,batch:_self.selectBatch,adCode:adCode,objType:"008"}).then((res) => {
  702. if(res.data!=null && res.data.length>0){
  703. for(var i = 0;i<res.data.length;i++){
  704. if(res.data[i].name!="合计"){
  705. _self.chartPblmData.xData.push(res.data[i].name);
  706. _self.chartPblmData.dataList.push(res.data[i].count);
  707. _self.chartMendPblmData.xData.push(res.data[i].name);
  708. _self.chartMendPblmData.dataList.push(res.data[i].mendSize==undefined?0:res.data[i].mendSize);
  709. }
  710. }
  711. }
  712. // _self.initChart3();
  713. _self.initChart4();
  714. });
  715. },
  716. initData1(){
  717. var _self = this;
  718. _self.chartDcTypeData.dataList = [];
  719. _self.chartDcTypeData.count = 0;
  720. getJcPblmCount(_self.selectDate,_self.selectBatch,_self.organCode).then((res) => {
  721. if(res.data!=null && res.data.length>0){
  722. for(var i = 0;i<res.data.length;i++){
  723. var obj = {
  724. name: res.data[i].NAME+""+res.data[i].VALUE+"个",
  725. value: res.data[i].VALUE
  726. }
  727. _self.chartDcTypeData.dataList.push(obj);
  728. _self.chartDcTypeData.count+=res.data[i].VALUE;
  729. }
  730. }
  731. _self.initChart2();
  732. });
  733. },
  734. initData1City(adCode){
  735. var _self = this;
  736. _self.chartDcTypeData.dataList = [];
  737. _self.chartDcTypeData.count = 0;
  738. getJcPblmCount(_self.selectDate,_self.selectBatch,adCode).then((res) => {
  739. if(res.data!=null && res.data.length>0){
  740. for(var i = 0;i<res.data.length;i++){
  741. var obj = {
  742. name: res.data[i].NAME+""+res.data[i].VALUE+"个",
  743. value: res.data[i].VALUE
  744. }
  745. _self.chartDcTypeData.dataList.push(obj);
  746. _self.chartDcTypeData.count+=res.data[i].VALUE;
  747. }
  748. }
  749. _self.initChart2();
  750. });
  751. },
  752. initStatiscsData(adCode){
  753. var _self = this;
  754. var obj = {
  755. year:_self.selectDate,
  756. batch:_self.selectBatch,
  757. adCode:adCode
  758. }
  759. _self.statiscsData = {
  760. GROUPSIZE: 0,//组
  761. MENDSIZE: 0,//整改
  762. OBJSIZE: 0,//工程
  763. PBLMLOGSIZE: 0,//归档数
  764. PBLMSIZE: 0,//问题数
  765. PERSIZE: 0//人员个数
  766. }
  767. getJcTotalData(obj).then((res) => {
  768. if(res.data!=null){
  769. _self.statiscsData.GROUPSIZE = parseInt(res.data.GROUPSIZE==null?0:res.data.GROUPSIZE);
  770. _self.statiscsData.MENDSIZE = parseInt(res.data.MENDSIZE==null?0:res.data.MENDSIZE);
  771. _self.statiscsData.OBJSIZE = parseInt(res.data.OBJSIZE==null?0:res.data.OBJSIZE);
  772. _self.statiscsData.PBLMLOGSIZE = parseInt(res.data.PBLMLOGSIZE==null?0:res.data.PBLMLOGSIZE);
  773. _self.statiscsData.PBLMSIZE = parseInt(res.data.PBLMSIZE==null?0:res.data.PBLMSIZE);
  774. _self.statiscsData.PERSIZE = parseInt(res.data.PERSIZE==null?0:res.data.PERSIZE);
  775. }
  776. });
  777. },
  778. initYear(){
  779. var _self = this;
  780. _self.yearList = [];
  781. getYear().then((res) => {
  782. if(res.data!=null && res.data.length>0){
  783. _self.yearList = res.data;
  784. }
  785. });
  786. },
  787. initBatch(){
  788. var _self = this;
  789. _self.batchList = [];
  790. // getBatch().then((res) => {
  791. // if(res.data!=null && res.data.length>0){
  792. // _self.batchList = res.data;
  793. // _self.batchList.push({batch:"全部",id:""})
  794. // }
  795. // });
  796. var params = {
  797. year:this.selectDate,
  798. }
  799. request.post(`/tac/insp/year/batch/area/areasListByBatch`,params).then(res=>{
  800. if(res.success){
  801. if(res.data!=null && res.data.length>0){
  802. _self.batchList = res.data;
  803. }
  804. _self.batchList.push({batch:"全部",adName:""})
  805. }else{
  806. }
  807. })
  808. },
  809. slideHeader(){
  810. if(this.turnvalue=='0'){
  811. var docElm = document.documentElement;
  812. //W3C
  813. if(docElm.requestFullscreen) {
  814. docElm.requestFullscreen();
  815. }
  816. //FireFox
  817. else if(docElm.mozRequestFullScreen) {
  818. docElm.mozRequestFullScreen();
  819. }
  820. //Chrome等
  821. else if(docElm.webkitRequestFullScreen) {
  822. docElm.webkitRequestFullScreen();
  823. }
  824. //IE11
  825. else if(docElm.msRequestFullscreen) {
  826. docElm.msRequestFullscreen();
  827. }
  828. document.getElementById("mainBox").style.height = window.screen.height+"px";
  829. this.turnvalue = "1";
  830. this.turnName = "收缩";
  831. this.$emit('turnHandle',"1");
  832. this.resizeCharts();
  833. }else{
  834. this.$nextTick(function () {
  835. // //W3C
  836. if (document.exitFullscreen) {
  837. document.exitFullscreen();
  838. }
  839. //FireFox
  840. else if (document.mozCancelFullScreen) {
  841. document.mozCancelFullScreen();
  842. }
  843. //Chrome等
  844. else if (document.webkitCancelFullScreen) {
  845. document.webkitCancelFullScreen();
  846. }
  847. //IE11
  848. else if (document.msExitFullscreen) {
  849. document.msExitFullscreen();
  850. }
  851. })
  852. document.getElementById("mainBox").style.height = (this.currentHeight-86)+"px";
  853. this.turnvalue = "0";
  854. this.$emit('turnHandle',"0");
  855. this.turnName = "全屏";
  856. }
  857. },
  858. initAddVcdFeatures(){
  859. let geoJsonName = this.organCode.substr(0, 6) + ".json";
  860. return axios.get('/src/assets/addvGeoData/' + geoJsonName);
  861. },
  862. async initChart1() {
  863. var _self = this;
  864. var convertData = function () {
  865. var res = [];
  866. for (var i = 0; i < _self.chartMapData.geoCoordMapList.length; i++) {
  867. var geoCoord = _self.chartMapData.geoCoordMap[_self.chartMapData.geoCoordMapList[i].name];
  868. if (geoCoord) {
  869. res.push({
  870. name: _self.chartMapData.geoCoordMapList[i].name,
  871. value: geoCoord.concat(_self.chartMapData.geoCoordMapList[i].value)
  872. });
  873. }
  874. }
  875. return res;
  876. };
  877. this.chart1 = echarts.init(document.getElementById('chart1'));
  878. var jsonAddvcd = await this.initAddVcdFeatures();
  879. echarts.registerMap(this.organNm, jsonAddvcd.data);
  880. let option = {
  881. title:{
  882. text:this.organCode.substr(0, 2)=="66"?'各师问题数量分布':'各市问题数量分布',
  883. left:'center',
  884. padding: 20,
  885. textStyle:{
  886. color:'rgb(62,215,213)',
  887. }
  888. },
  889. tooltip: {
  890. trigger: 'axis',
  891. },
  892. geo3D: {
  893. map: this.organNm,
  894. show: true,
  895. zlevel: 15,
  896. boxWidth:80,
  897. boxHeight:30,
  898. label: {
  899. show:true,
  900. formatter:function(params){
  901. var content='',
  902. content=params.name;
  903. return content;
  904. },
  905. distance:0,
  906. textStyle:{
  907. color:'#ffffff',
  908. fontWeight : 'bold',
  909. fontSize :17,
  910. backgroundColor: 'rgba(255,255,255,0)'
  911. },
  912. },
  913. viewControl: { // 用于鼠标的旋转,缩放等视角控制。
  914. distance: 100, // [ default: 100 ] 默认视角距离主体的距离,对于 grid3D 和 geo3D 等其它组件来说是距离中心原点的距离,对于 globe 来说是距离地球表面的距离。在 projection 为'perspective'的时候有效。
  915. minDistance: 40, // [ default: 40 ] 视角通过鼠标控制能拉近到主体的最小距离。在 projection 为'perspective'的时候有效。
  916. maxDistance: 400, // [ default: 400 ] 视角通过鼠标控制能拉远到主体的最大距离。在 projection 为'perspective'的时候有效。
  917. alpha: 40, // 视角绕 x 轴,即上下旋转的角度。配合 beta 可以控制视角的方向。[ default: 40 ]
  918. beta: 15, // 视角绕 y 轴,即左右旋转的角度。[ default: 0 ]
  919. minAlpha: -360, // 上下旋转的最小 alpha 值。即视角能旋转到达最上面的角度。[ default: 5 ]
  920. maxAlpha: 360, // 上下旋转的最大 alpha 值。即视角能旋转到达最下面的角度。[ default: 90 ]
  921. minBeta: -360, // 左右旋转的最小 beta 值。即视角能旋转到达最左的角度。[ default: -80 ]
  922. maxBeta: 360, // 左右旋转的最大 beta 值。即视角能旋转到达最右的角度。[ default: 80 ]
  923. center: [0,0,0], // 视角中心点,旋转也会围绕这个中心点旋转,默认为[0,0,0]。
  924. animation: true, // 是否开启动画。[ default: true ]
  925. animationDurationUpdate: 1000, // 过渡动画的时长。[ default: 1000 ]
  926. animationEasingUpdate: 'cubicInOut' // 过渡动画的缓动效果。[ default: cubicInOut ]
  927. },
  928. light: {
  929. main: {
  930. shadow: true,
  931. shadowQuality: 'ultra',
  932. },
  933. },
  934. //地面的背景颜色
  935. groundPlane: {
  936. show: true,
  937. color:'transparent'
  938. },
  939. //特效设置
  940. postEffect: {
  941. enable:false
  942. },
  943. itemStyle: {
  944. areaColor: '#1b4474',
  945. color:'#1b4474',
  946. borderColor: 'rgb(62,215,213)',
  947. borderWidth: 1
  948. },
  949. //鼠标 hover 高亮时图形和标签的样式
  950. emphasis:{
  951. label:{
  952. show:true,
  953. distance:10
  954. },
  955. itemStyle: {
  956. color:'#15244a',
  957. }
  958. }
  959. },
  960. series: [
  961. {
  962. type: 'bar3D',
  963. coordinateSystem: 'geo3D',
  964. zlevel: 1,
  965. barSize: 0.5,
  966. shading: 'lambert',
  967. itemStyle: {
  968. color: '#c2f151'
  969. },
  970. label: {
  971. show: true,
  972. position: 'top',
  973. textStyle: {
  974. color: '#c2f151',
  975. backgroundColor: 'transparent'
  976. },
  977. formatter: function(params) {
  978. return params.value[2]
  979. }
  980. },
  981. data:convertData()
  982. }
  983. ]
  984. };
  985. this.chart1.clear()
  986. this.chart1.setOption(option);
  987. var _self = this;
  988. this.chart1.on('click', function (params) {
  989. if(params.name!=_self.adName){
  990. _self.adName = params.name;
  991. for(var i = 0;i<_self.addvcdList.length;i++){
  992. if(_self.addvcdList[i].name==params.name){
  993. _self.initDataCity(_self.addvcdList[i].value);
  994. _self.initData1City(_self.addvcdList[i].value);
  995. _self.initNearFace(_self.addvcdList[i].value);
  996. _self.initQuestionImg(_self.addvcdList[i].value);
  997. _self.initQuestionVideo(_self.addvcdList[i].value);
  998. _self.getProjectList(_self.addvcdList[i].value);
  999. _self.getDataProjectPblm(_self.addvcdList[i].value);
  1000. _self.initStatiscsData(_self.addvcdList[i].value);
  1001. _self.adCode = _self.addvcdList[i].value
  1002. }
  1003. }
  1004. }
  1005. });
  1006. },
  1007. myTimer(){
  1008. var d = new Date();
  1009. this.currentTimestap = (d.getHours()<=9?'0'+d.getHours():d.getHours())+":"+(d.getMinutes()<=9?'0'+d.getMinutes():d.getMinutes())+":"+(d.getSeconds()<=9?'0'+d.getSeconds():d.getSeconds());
  1010. this.currentTime = d.getFullYear()+"/"+(d.getMonth()+1)+"/"+d.getDate();
  1011. var weeks = new Array("星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六");
  1012. this.currentWeek = weeks[d.getDay()];
  1013. },
  1014. initChart2(){
  1015. this.chart2 = echarts.init(document.getElementById('chart2'));
  1016. var option = {
  1017. tooltip: {
  1018. trigger: 'axis',
  1019. },
  1020. title: {
  1021. text: this.chartDcTypeData.count,
  1022. textStyle: {
  1023. color: '#ffffff',
  1024. fontSize: 14
  1025. },
  1026. subtext: '问题总数',
  1027. subtextStyle: {
  1028. color: '#ffffff',
  1029. fontSize: 14
  1030. },
  1031. itemGap: 10,
  1032. left: '13%',
  1033. top: '40%'
  1034. },
  1035. // color: ['#2872ea','#95ff2b','#01dc8a','#02f5e9'],
  1036. color:[
  1037. '#2872ea','#95ff2b','#01dc8a','#02f5e9',
  1038. '#3593ff', '#5587d3', '#679ccd', '#41afff', '#40e0d0',
  1039. '#4b3eff', '#0cffd5', '#afeea7', '#05d089', '#ffd700',
  1040. '#6c8e37', '#4ea397', '#3cb371', '#6db8a9', '#7bd9a5',
  1041. '#15a7ff', '#9de0ff', '#9da7ff', '#4cbbfe', '#7dc3fe',
  1042. '#1658bb', '#433e7c', '#11ddf4', '#009db2', '#024b51',
  1043. '#0d61cf', '#127619', '#e7be36', '#26ccd8', '#3685fe',
  1044. '#4065ef', '#5160f5', '#f7b13f', '#f9e264', '#50c48f'
  1045. ],
  1046. tooltip: {
  1047. trigger: "item",
  1048. formatter: "{b}"
  1049. },
  1050. legend: {
  1051. selectedMode:false,
  1052. type: 'scroll',
  1053. orient:'vertical',
  1054. icon: 'circle', //图例形状
  1055. top:'15%',
  1056. bottom:'15%',
  1057. left:'55%',
  1058. itemWidth: 10, // 图例标记的图形宽度。[ default: 25 ]
  1059. itemHeight: 10, // 图例标记的图形高度。[ default: 14 ]
  1060. itemGap: 10, // 图例每项之间的间隔。[ default: 10 ]横向布局时为水平间隔,纵向布局时为纵向间隔。
  1061. textStyle: {
  1062. fontSize: 14,
  1063. color: '#ffffff',
  1064. },
  1065. pageButtonPosition:'start',
  1066. pageIconColor: '#31586C', //翻页下一页的三角按钮颜色
  1067. pageIconInactiveColor: '#31586C', //翻页(即翻页到头时)
  1068. pageIconSize: 10, //翻页按钮大小
  1069. pageFormatter: '',//隐藏翻页的数字
  1070. pageButtonItemGap: -6,//翻页按钮的两个之间的间距
  1071. label: {
  1072. normal: {
  1073. show: true,
  1074. position: 'inner',
  1075. formatter: function (name) {
  1076. return (name.length > 8 ? (name.slice(0, 8) + "...") : name);
  1077. },
  1078. fontSize: 12
  1079. }
  1080. }
  1081. },
  1082. series: [{
  1083. type: "pie",
  1084. data: this.chartDcTypeData.dataList,
  1085. radius: ['45%', '52%'],
  1086. center: ["20%", "50%"],
  1087. labelLine: {
  1088. show: false
  1089. },
  1090. label:{
  1091. show: false
  1092. }
  1093. }]
  1094. };
  1095. this.chart2.clear();
  1096. this.chart2.setOption(option);
  1097. },
  1098. // initChart3(){
  1099. // this.chart3 = echarts.init(document.getElementById('chart3'));
  1100. // var option= {
  1101. // tooltip: {
  1102. // trigger: 'axis',
  1103. // },
  1104. // grid: {
  1105. // top: '20%',
  1106. // left: '7%',
  1107. // right: '2%',
  1108. // bottom: '10%',
  1109. // containLabel: true
  1110. // },
  1111. // dataZoom: [{
  1112. // borderColor:'#3e7b92',
  1113. // backgroundColor:'rgba(108,217,255,0)', //组件的背景
  1114. // type: 'slider', //图表下方的伸缩条
  1115. // show: true, //是否显示
  1116. // height:8,
  1117. // realtime: true, //拖动时,是否实时更新系列的视图
  1118. // start: 0, //伸缩条开始位置(1-100),可以随时更改
  1119. // end: 99, //伸缩条结束位置(1-100),可以随时更改
  1120. // bottom:"5",
  1121. // textStyle:{
  1122. // color:'#31586C'
  1123. // }
  1124. // }],
  1125. // // legend: {
  1126. // // data: ['未督察','已督察'],
  1127. // // right: "3%",
  1128. // // top:"4%",
  1129. // // textStyle: {
  1130. // // color: "#AAE0FC",
  1131. // // fontSize: 12
  1132. // // },
  1133. // // itemWidth: 5, // 设置宽度
  1134. // // itemHeight:10, // 设置高度
  1135. // // itemGap: 10 // 设置间距
  1136. // // },
  1137. // xAxis: [{
  1138. // data: this.chartObjData.xData,
  1139. // axisLabel: {
  1140. // margin: 10,
  1141. // color: '#437d9b',
  1142. // textStyle: {
  1143. // fontSize: 12
  1144. // },
  1145. // },
  1146. // axisLine: {
  1147. // lineStyle: {
  1148. // color: '#437d9b',
  1149. // }
  1150. // },
  1151. // axisTick: {
  1152. // show: false
  1153. // },
  1154. // }],
  1155. // yAxis: [{
  1156. // name:"督察对象/个",
  1157. // type:'value',
  1158. // axisLabel: {
  1159. // color: '#437d9b',
  1160. // textStyle: {
  1161. // fontSize: 12
  1162. // },
  1163. // },
  1164. // axisLine: {
  1165. // show:true,
  1166. // lineStyle:{
  1167. // color:'#437d9b' //更改坐标轴颜色
  1168. // }
  1169. // },
  1170. // axisTick: {
  1171. // show: false
  1172. // },
  1173. // splitLine: {
  1174. // lineStyle: {
  1175. // color: '#31586C',
  1176. // }
  1177. // }
  1178. // }],
  1179. // series: [
  1180. // {
  1181. // name: "对象数",
  1182. // type: 'bar',
  1183. // data: this.chartObjData.dataList,
  1184. // barWidth: '8px',
  1185. // itemStyle: {
  1186. // normal: {
  1187. // color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{
  1188. // offset: 0,
  1189. // color: '#72FAFE' // 0% 处的颜色
  1190. // }, {
  1191. // offset: 1,
  1192. // color: '#04BEFE' // 100% 处的颜色
  1193. // }], false)
  1194. // }
  1195. // },
  1196. // }
  1197. // // ,{
  1198. // // name: "已督察",
  1199. // // type: 'bar',
  1200. // // data: getlkrs,
  1201. // // barWidth: '8px',
  1202. // // itemStyle: {
  1203. // // normal: {
  1204. // // color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{
  1205. // // offset: 0,
  1206. // // color: '#06DD8D' // 0% 处的颜色
  1207. // // }, {
  1208. // // offset: 1,
  1209. // // color: '#78FFCF' // 100% 处的颜色
  1210. // // }], false)
  1211. // // }
  1212. // // },
  1213. // // }
  1214. // ]
  1215. // }
  1216. // this.chart3.clear();
  1217. // this.chart3.setOption(option);
  1218. // },
  1219. initChart4(){
  1220. this.chart4 = echarts.init(document.getElementById('chart4'));
  1221. var option= {
  1222. tooltip: {
  1223. trigger: 'axis',
  1224. },
  1225. grid: {
  1226. top: '20%',
  1227. left: '0%',
  1228. right: '0%',
  1229. bottom: '10%',
  1230. containLabel: true
  1231. },
  1232. dataZoom: [{
  1233. borderColor:'#3e7b92',
  1234. backgroundColor:'rgba(107,219,255,0)', //组件的背景
  1235. type: 'slider', //图表下方的伸缩条
  1236. show: true, //是否显示
  1237. height:12,
  1238. realtime: true, //拖动时,是否实时更新系列的视图
  1239. start: 0, //伸缩条开始位置(1-100),可以随时更改
  1240. end: 99, //伸缩条结束位置(1-100),可以随时更改
  1241. bottom:"5",
  1242. textStyle:{
  1243. color:'#ffffff'
  1244. }
  1245. }],
  1246. xAxis: [{
  1247. data:this.chartPblmData.xData,
  1248. axisLabel: {
  1249. margin: 10,
  1250. color: '#ffffff',
  1251. textStyle: {
  1252. fontSize: 16
  1253. },
  1254. },
  1255. axisLine: {
  1256. lineStyle: {
  1257. color: '#437d9b',
  1258. }
  1259. },
  1260. axisTick: {
  1261. show: false
  1262. },
  1263. }],
  1264. yAxis: [{
  1265. name:"问题/个",
  1266. type:'value',
  1267. nameTextStyle:{
  1268. color:"#ffffff",
  1269. fontSize:16,
  1270. },
  1271. axisLabel: {
  1272. color: '#ffffff',
  1273. textStyle: {
  1274. fontSize: 16
  1275. },
  1276. },
  1277. axisLine: {
  1278. show:true,
  1279. lineStyle:{
  1280. color:'#437d9b', //更改坐标轴颜色
  1281. }
  1282. },
  1283. axisTick: {
  1284. show: false
  1285. },
  1286. splitLine: {
  1287. lineStyle: {
  1288. color: '#31586C',
  1289. }
  1290. }
  1291. }],
  1292. series: [
  1293. {
  1294. name: "问题数",
  1295. type: 'bar',
  1296. data: this.chartPblmData.dataList,
  1297. barWidth: '12px',
  1298. itemStyle: {
  1299. normal: {
  1300. color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{
  1301. offset: 0,
  1302. color: '#72FAFE' // 0% 处的颜色
  1303. }, {
  1304. offset: 1,
  1305. color: '#04BEFE' // 100% 处的颜色
  1306. }], false)
  1307. }
  1308. }
  1309. },
  1310. {
  1311. name: "整改数",
  1312. type: 'bar',
  1313. data: this.chartMendPblmData.dataList,
  1314. barWidth: '12px',
  1315. itemStyle: {
  1316. normal: {
  1317. color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{
  1318. offset: 0,
  1319. color: '#72fefb' // 0% 处的颜色
  1320. }, {
  1321. offset: 1,
  1322. color: '#98cdfe' // 100% 处的颜色
  1323. }], false)
  1324. }
  1325. }
  1326. }
  1327. ]
  1328. }
  1329. this.chart4.clear();
  1330. this.chart4.setOption(option);
  1331. },
  1332. initChart5(){
  1333. this.chart5 = echarts.init(document.getElementById('chart5'));
  1334. // var data = [
  1335. // {
  1336. // name: "一般问题"+this.chartPblmTypeData.info+"(个)",
  1337. // value: this.chartPblmTypeData.info
  1338. // },
  1339. // {
  1340. // name: "较严重问题"+this.chartPblmTypeData.warn+"(个)",
  1341. // value: this.chartPblmTypeData.warn
  1342. // },
  1343. // {
  1344. // name: "严重问题"+this.chartPblmTypeData.fatal+"(个)",
  1345. // value: this.chartPblmTypeData.fatal
  1346. // },
  1347. // {
  1348. // name: "特别严重问题"+this.chartPblmTypeData.error+"(个)",
  1349. // value: this.chartPblmTypeData.error
  1350. // }
  1351. // ];
  1352. // var sumValue = this.chartPblmTypeData.info+this.chartPblmTypeData.warn+this.chartPblmTypeData.fatal+this.chartPblmTypeData.error;
  1353. // var optionData = {
  1354. // series: [],
  1355. // yAxis: []
  1356. // };
  1357. // for (let i = 0; i < data.length; i++) {
  1358. // optionData.series.push({
  1359. // name: '个数',
  1360. // type: 'pie',
  1361. // clockWise: true,
  1362. // z: 2,
  1363. // hoverAnimation: false,
  1364. // radius: [83 - i * 15 + '%', 77 - i * 15 + '%'],
  1365. // center: ["50%", "55%"],
  1366. // label: {
  1367. // show: true,
  1368. // formatter: '{d}%',
  1369. // color: 'RGB(246,175,101)',
  1370. // fontSize: 10,
  1371. // position: 'inside'
  1372. // },
  1373. // labelLine: {
  1374. // show: false
  1375. // },
  1376. // data: [{
  1377. // value: data[i].value,
  1378. // name: data[i].name
  1379. // }, {
  1380. // value: sumValue - data[i].value,
  1381. // name: '',
  1382. // itemStyle: {
  1383. // color: "rgba(0,0,0,0)",
  1384. // borderWidth: 0
  1385. // },
  1386. // tooltip: {
  1387. // show: false
  1388. // },
  1389. // label: {
  1390. // show: false
  1391. // },
  1392. // hoverAnimation: false
  1393. // }]
  1394. // });
  1395. // optionData.series.push({
  1396. // name: '背景线',
  1397. // type: 'pie',
  1398. // silent: true,
  1399. // z: 1,
  1400. // clockWise: true,
  1401. // hoverAnimation: false,
  1402. // radius: [81 - i * 15 + '%', 79 - i * 15 + '%'],
  1403. // center: ["50%", "55%"],
  1404. // label: {
  1405. // show: false
  1406. // },
  1407. // itemStyle: {
  1408. // label: {
  1409. // show: false,
  1410. // },
  1411. // labelLine: {
  1412. // show: false
  1413. // },
  1414. // borderWidth: 5,
  1415. // },
  1416. // data: [{
  1417. // value: 100,
  1418. // itemStyle: {
  1419. // color: "#003a5c",
  1420. // borderWidth: 0
  1421. // },
  1422. // tooltip: {
  1423. // show: false
  1424. // },
  1425. // hoverAnimation: false
  1426. // }]
  1427. // });
  1428. // optionData.yAxis.push(data[i].name);
  1429. // }
  1430. // var option = {
  1431. // color: [{
  1432. // type: 'linear',
  1433. // x: 0,
  1434. // y: 0,
  1435. // x2: 1,
  1436. // y2: 1,
  1437. // colorStops: [{
  1438. // offset: 0,
  1439. // color: '#00385e'
  1440. // }, {
  1441. // offset: 1,
  1442. // color: 'rgba(1,232,254,1)'
  1443. // }],
  1444. // global: false
  1445. // }],
  1446. // grid: {
  1447. // top: '10%',
  1448. // bottom: '54%',
  1449. // left: "50%",
  1450. // containLabel: false
  1451. // },
  1452. // yAxis: [{
  1453. // type: 'category',
  1454. // inverse: true,
  1455. // z: 3,
  1456. // axisLine: {
  1457. // show: false
  1458. // },
  1459. // axisTick: {
  1460. // show: false
  1461. // },
  1462. // axisLabel: {
  1463. // interval: 0,
  1464. // inside: false,
  1465. // textStyle: {
  1466. // color: "#437d9b",
  1467. // fontSize: 12,
  1468. // },
  1469. // show: true
  1470. // },
  1471. // data: optionData.yAxis
  1472. // }],
  1473. // xAxis: [{
  1474. // show: false
  1475. // }],
  1476. // series: optionData.series
  1477. // };
  1478. // var option = {
  1479. // tooltip: {
  1480. // trigger: 'item'
  1481. // },
  1482. // legend: {
  1483. // orient:'vertical',
  1484. // icon: 'circle', //图例形状
  1485. // bottom:'20%',
  1486. // right:'3%',
  1487. // itemWidth: 10, // 图例标记的图形宽度。[ default: 25 ]
  1488. // itemHeight: 10, // 图例标记的图形高度。[ default: 14 ]
  1489. // itemGap: 10, // 图例每项之间的间隔。[ default: 10 ]横向布局时为水平间隔,纵向布局时为纵向间隔。
  1490. // textStyle: {
  1491. // fontSize: 12,
  1492. // color: '#66FBF9',
  1493. // }
  1494. // },
  1495. // series: [
  1496. // {
  1497. // name:'问题严重程度',
  1498. // type:'funnel',
  1499. // left: '5%',
  1500. // width: '50%',
  1501. // minSize: '0%',
  1502. // maxSize: '100%',
  1503. // sort: 'ascending',
  1504. // top:20,
  1505. // bottom:20,
  1506. // label: {
  1507. // show:false,
  1508. // position: 'inside'
  1509. // },
  1510. // itemStyle: {
  1511. // borderColor: '#fff',
  1512. // borderWidth: 1
  1513. // },
  1514. // emphasis: {
  1515. // label: {
  1516. // show:false,
  1517. // fontSize: 20
  1518. // }
  1519. // },
  1520. // data: [
  1521. // {value:this.chartPblmTypeData.info, name: '一般问题',itemStyle:{normal:{color:'#95ff2b'}}},
  1522. // {value:this.chartPblmTypeData.warn, name: '较严重问题',itemStyle:{normal:{color:'#00dd8a'}}},
  1523. // {value:this.chartPblmTypeData.fatal, name: '严重问题',itemStyle:{normal:{color:'#ffe425'}}},
  1524. // {value:this.chartPblmTypeData.error, name: '特别严重问题',itemStyle:{normal:{color:'#01d8da'}}},
  1525. // ]
  1526. // }
  1527. // ]
  1528. // };
  1529. var option = {
  1530. color: ['#56dcfd', '#ffeb3b', '#f2c5ff', '#f5839e'],
  1531. tooltip : {
  1532. trigger: 'item',
  1533. formatter: "{a} <br/>{b} : {c} ({d}%)"
  1534. },
  1535. series : [
  1536. {
  1537. name:'问题严重程度',
  1538. type:'pie',
  1539. labelLine:{
  1540. normal:{
  1541. length:1
  1542. }
  1543. },
  1544. label: {
  1545. normal: {
  1546. // position: 'inside',
  1547. formatter: function(params) {
  1548. return params.name+" ("+params.value+"个)"
  1549. },
  1550. }
  1551. },
  1552. radius : ['45%', '52%'],
  1553. data:[
  1554. {value:this.chartPblmTypeData.info, name:'一般'},
  1555. {value:this.chartPblmTypeData.warn, name:'较重'},
  1556. {value:this.chartPblmTypeData.fatal, name:'严重'}
  1557. /* , {value:this.chartPblmTypeData.error, name:'特重'}*/
  1558. ]
  1559. }
  1560. ]
  1561. };
  1562. this.chart5.setOption(option);
  1563. }
  1564. },
  1565. beforeCreate() {
  1566. }, //生命周期 - 创建之前
  1567. beforeMount() {
  1568. }, //生命周期 - 挂载之前
  1569. beforeUpdate() {
  1570. }, //生命周期 - 更新之前
  1571. updated() {
  1572. }, //生命周期 - 更新之后
  1573. beforeDestroy() {
  1574. clearInterval(this.timerData);
  1575. }, //生命周期 - 销毁之前
  1576. destroyed() {
  1577. }, //生命周期 - 销毁完成
  1578. activated() {
  1579. } //如果页面有keep-alive缓存功能,这个函数会触发
  1580. };
  1581. </script>
  1582. <style scoped>
  1583. .mainBox{
  1584. width: 100%;
  1585. height:100%;
  1586. background: url("../../assets/bjdc.png") no-repeat;
  1587. background-size: 100% 100%;
  1588. }
  1589. .mainHeader{
  1590. width: 100%;
  1591. height:65px;
  1592. background: url("../../assets/headerdc.png") no-repeat;
  1593. background-size: 100% 100%;
  1594. min-width:1366px ;
  1595. min-height:65px ;
  1596. border-bottom: 1px dashed grey;
  1597. display: flex;
  1598. }
  1599. .header-left{
  1600. width:30%;
  1601. height:100%;
  1602. display: flex;
  1603. align-items: center;
  1604. }
  1605. .proPblm{
  1606. overflow: auto;
  1607. }
  1608. .proPblm ul{
  1609. list-style: none;
  1610. }
  1611. .proPblm ul li{
  1612. width: 100%;
  1613. height:40px;
  1614. display: flex;
  1615. align-items: center;
  1616. color:#fffffa;
  1617. font-size: 15px;
  1618. border-bottom:1px solid #003d5e;
  1619. cursor: pointer;
  1620. }
  1621. .proPblm ul li div{
  1622. width: calc(100% - 110px);
  1623. height:100%;
  1624. line-height: 40px;
  1625. padding-left: 5px;
  1626. padding-right: 5px;
  1627. text-overflow:ellipsis;
  1628. overflow:hidden;
  1629. white-space:nowrap;
  1630. }
  1631. .proPblm ul li i{
  1632. color: #c2f151;
  1633. font-size: 16px;
  1634. }
  1635. .proPblm ul li:hover{
  1636. color: #1890ff !important;
  1637. }
  1638. /*.header-left .el-select{*/
  1639. /* padding-left: 20px !important;*/
  1640. /* border-radius: 10px !important;*/
  1641. /*}*/
  1642. /*.header-left .el-input__inner{*/
  1643. /* border: 1px solid #001C2E;*/
  1644. /* outline: none !important;*/
  1645. /* background: #001C2E;*/
  1646. /* box-shadow: 0px 0px 32px 0px rgba(131, 219, 255, 0.3);*/
  1647. /* border-radius: 16px;*/
  1648. /*}*/
  1649. /*.el-scrollbar{*/
  1650. /* background: #001C2E !important;*/
  1651. /*}*/
  1652. /*.el-select-dropdown {*/
  1653. /* border: 1px solid #004266 !important;*/
  1654. /*}*/
  1655. /*.el-select-dropdown__item.hover, .el-select-dropdown__item:hover {*/
  1656. /* background-color: #002e4e !important;*/
  1657. /*}*/
  1658. /*.header-left .el-select .el-input.is-focus .el-input__inner {*/
  1659. /* border-color: #001C2E;*/
  1660. /*}*/
  1661. .header-middle{
  1662. width:40%;
  1663. height:100%;
  1664. font-size: 32px;
  1665. font-family: Microsoft YaHei;
  1666. font-weight: bold;
  1667. color: #5D9AF5;
  1668. line-height: 44px;
  1669. background: linear-gradient(180deg, #EFF3F5 0%, #8AC5CF 100%);
  1670. -webkit-background-clip: text;
  1671. -webkit-text-fill-color: transparent;
  1672. line-height: 65px;
  1673. text-align: center;
  1674. }
  1675. .header-right{
  1676. width:30%;
  1677. height:100%;
  1678. display: flex;
  1679. align-items: center;
  1680. justify-content: center;
  1681. }
  1682. .hourMs{
  1683. width: 100px;
  1684. height:100%;
  1685. line-height: 65px;
  1686. font-size: 24px;
  1687. font-family: Microsoft YaHei;
  1688. font-weight: bold;
  1689. color: #FFFFFF;
  1690. }
  1691. .timeContent{
  1692. height:100%;
  1693. margin-left: 15px;
  1694. display: flex;
  1695. }
  1696. .timeOrWeek{
  1697. height:100%;
  1698. line-height:65px;
  1699. }
  1700. .times{
  1701. font-size: 24px;
  1702. font-family: Microsoft YaHei;
  1703. font-weight: bold;
  1704. color: #5D9AF5;
  1705. line-height: 65px;
  1706. }
  1707. .weeks{
  1708. font-size: 24px;
  1709. font-family: Microsoft YaHei;
  1710. font-weight: bold;
  1711. color: #C1F051;
  1712. line-height: 65px;
  1713. margin-left: 20px;
  1714. }
  1715. /*.el-popper[x-placement^=bottom] .popper__arrow::after {*/
  1716. /* border-bottom-color: #01456a !important;*/
  1717. /*}*/
  1718. /*.el-popper[x-placement^=bottom] .popper__arrow {*/
  1719. /* border-bottom-color: #01456a !important;*/
  1720. /*}*/
  1721. .mainContent{
  1722. width: 100%;
  1723. height:calc(100% - 64px);
  1724. display: flex;
  1725. }
  1726. .mainContent-left{
  1727. width: calc(100% - 315px);
  1728. height:100%;
  1729. }
  1730. .mainContent-right{
  1731. width: 315px;
  1732. height:100%;
  1733. }
  1734. .mainContent-left-top{
  1735. width: 100%;
  1736. height:60%;
  1737. display: flex;
  1738. }
  1739. .mainContent-left-bottom{
  1740. width: 100%;
  1741. height:40%;
  1742. display: flex;
  1743. }
  1744. .mainContent-left-top-left{
  1745. width: 400px;
  1746. height:100%;
  1747. }
  1748. .mainContent-left-top-right{
  1749. width: calc(100% - 400px);
  1750. height:100%;
  1751. position: relative;
  1752. }
  1753. .summary-item {
  1754. width: 100%;
  1755. height: calc(33.33% - 20px);
  1756. margin-top: 20px;
  1757. display: flex;
  1758. }
  1759. .summary-item div.summary-item-col:first-child{
  1760. margin-left: 15px;
  1761. }
  1762. .summary-item div.summary-item-col:nth-child(2){
  1763. margin-left: 100px;
  1764. }
  1765. .summary-item-col{
  1766. width: 140px;
  1767. height:100%;
  1768. }
  1769. .summary-title{
  1770. width: 140px;
  1771. height:50px;
  1772. display: flex;
  1773. }
  1774. .summary-title img:first-child{
  1775. width: 40px;
  1776. height:40px;
  1777. border:1px dashed #66FBF9
  1778. }
  1779. .summary-text{
  1780. width: 80px;
  1781. height:50px;
  1782. text-align: center;
  1783. display: grid;
  1784. }
  1785. .summary-title img:nth-child(3){
  1786. width: 20px;
  1787. height:20px;
  1788. border:1px dashed #66FBF9
  1789. }
  1790. .summary-pointer{
  1791. font-size: 20px;
  1792. font-family: Microsoft YaHei;
  1793. font-weight: bold;
  1794. color: #66FBF9;
  1795. line-height: 20px;
  1796. background: linear-gradient(180deg, #FFFFFF 0%, #ADE8FA 100%);
  1797. -webkit-background-clip: text;
  1798. -webkit-text-fill-color: transparent;
  1799. }
  1800. .summary-group{
  1801. font-size: 12px;
  1802. font-family: Microsoft YaHei;
  1803. font-weight: 400;
  1804. color: #C1F053;
  1805. line-height: 0px;
  1806. }
  1807. .summary-content{
  1808. font-size: 30px;
  1809. font-family: Bahnschrift;
  1810. font-weight: bold;
  1811. color: #C2F151;
  1812. height: calc(100% - 50px);
  1813. text-align: center;
  1814. display: flex;
  1815. align-items: center;
  1816. justify-content: center;
  1817. }
  1818. .echarts-bottom:first-child{
  1819. width: calc(25% - 15px);
  1820. height:100%;
  1821. margin-left: 15px;
  1822. }
  1823. /*.echarts-bottom:nth-child(2){*/
  1824. /* width: calc(30% - 15px);*/
  1825. /* height:100%;*/
  1826. /* margin-left: 15px;*/
  1827. /*}*/
  1828. .echarts-bottom:nth-child(2){
  1829. width: calc(50% - 15px);
  1830. height:100%;
  1831. margin-left: 15px;
  1832. }
  1833. .echarts-bottom:nth-child(3){
  1834. width: calc(25% - 20px);
  1835. height:100%;
  1836. margin-left: 15px;
  1837. }
  1838. .echarts-bottom-title{
  1839. width: 100%;
  1840. height:20px;
  1841. border-bottom: 5px solid #003d5e;
  1842. font-size: 20px;
  1843. font-family: Microsoft YaHei;
  1844. font-weight: bold;
  1845. color: #FFFFFF;
  1846. background: linear-gradient(180deg, #FFFFFF 0%, #ADE8FA 100%);
  1847. -webkit-background-clip: text;
  1848. -webkit-text-fill-color: transparent;
  1849. display: flex;
  1850. align-items: center;
  1851. background: url("../../assets/echart-title.png") no-repeat ;
  1852. background-size: 70px 20px;
  1853. }
  1854. .echarts-bottom-title span{
  1855. font-size: 20px;
  1856. font-family: Microsoft YaHei;
  1857. font-weight: bold;
  1858. color: #FFFFFF;
  1859. background: linear-gradient(180deg, #FFFFFF 0%, #ADE8FA 100%);
  1860. -webkit-background-clip: text;
  1861. -webkit-text-fill-color: transparent;
  1862. text-indent: 20px;
  1863. }
  1864. .echarts-bottom-title img{
  1865. width: 12px;
  1866. height:20px;
  1867. }
  1868. .echarts-bottom-content{
  1869. width: 100%;
  1870. height:calc(100% - 25px);
  1871. }
  1872. .echarts-bottom-content img{
  1873. border:5px solid #01456a;
  1874. }
  1875. .mainContent-right-top{
  1876. width: 100%;
  1877. height:50%;
  1878. }
  1879. .mainContent-right-bottom{
  1880. width: 100%;
  1881. height:50%;
  1882. }
  1883. /*.mainContent-right-style1{*/
  1884. /* width: 100%;*/
  1885. /* height:50%;*/
  1886. /*}*/
  1887. /*.mainContent-right-style2{*/
  1888. /* width: 100%;*/
  1889. /* height:250px;*/
  1890. /*}*/
  1891. .cms-news{
  1892. width: 100%;
  1893. list-style: none;
  1894. margin: 0;
  1895. padding: 0;
  1896. }
  1897. .cms-news li{
  1898. width: 100%;
  1899. height:30px;
  1900. line-height: 30px;
  1901. margin-top: 10px;
  1902. font-size: 14px;
  1903. font-family: Microsoft YaHei;
  1904. font-weight: 400;
  1905. color: #AAE0FC;
  1906. text-indent: 10px;
  1907. white-space: nowrap;
  1908. overflow: hidden;
  1909. text-overflow: ellipsis;
  1910. }
  1911. .cms-news li:nth-child(odd){
  1912. background: #294658;
  1913. }
  1914. .cms-news li:nth-child(even){
  1915. background: #003c5e;
  1916. }
  1917. .turnBtn{
  1918. color:#64bfc1;
  1919. width: 35px;
  1920. height:35px;
  1921. line-height: 35px;
  1922. border-radius: 20px;
  1923. background: #294658;
  1924. position: absolute;
  1925. z-index: 100;
  1926. right:5px;
  1927. font-size: 10px;
  1928. box-shadow: 0 1px 10px 0 #5fb6e6;
  1929. text-align: center;
  1930. cursor: pointer;
  1931. }
  1932. .tzgg{
  1933. overflow:auto;
  1934. }
  1935. .tzgg::-webkit-scrollbar {
  1936. /*滚动条整体样式*/
  1937. width : 3px; /*高宽分别对应横竖滚动条的尺寸*/
  1938. height: 10px;
  1939. }
  1940. .tzgg::-webkit-scrollbar-thumb {
  1941. /*滚动条里面小方块*/
  1942. border-radius: 10px;
  1943. box-shadow : inset 0 0 5px rgba(0, 0, 0, 0.2);
  1944. background : #006397;
  1945. }
  1946. .tzgg::-webkit-scrollbar-track {
  1947. /*滚动条里面轨道*/
  1948. box-shadow : inset 0 0 5px rgba(0, 0, 0, 0.2);
  1949. border-radius: 10px;
  1950. background : #003c5e;
  1951. }
  1952. .el-carousel__button {
  1953. display: block;
  1954. opacity: .48;
  1955. width: 10px !important;
  1956. height: 10px !important;
  1957. border-radius: 10px !important;
  1958. }
  1959. .mainContent-right-style a{
  1960. width: 100%;
  1961. height:100%;
  1962. display: block;
  1963. }
  1964. .mainContent-right-style img{
  1965. width: 100%;
  1966. height:100%;
  1967. }
  1968. .titleCar{
  1969. width: 100%;
  1970. top:0;
  1971. position: absolute;
  1972. z-index:100;
  1973. height:30px;
  1974. line-height: 30px;
  1975. text-align: center;
  1976. color:#fff;
  1977. font-size: 12px;
  1978. font-weight: bold;
  1979. white-space: nowrap;
  1980. overflow: hidden;
  1981. text-overflow: ellipsis;
  1982. }
  1983. .date-down{
  1984. width: 202px;
  1985. display: flex;
  1986. background: #001C2E;
  1987. box-shadow: 0px 0px 32px 0px rgba(131, 219, 255, 0.3);
  1988. border-radius: 15px;
  1989. margin-left: 20px;
  1990. position: relative;
  1991. cursor:pointer;
  1992. }
  1993. .date-down div:first-child{
  1994. width: 50px;
  1995. height:30px;
  1996. border-right: 1px solid #002d49;
  1997. border-bottom-left-radius: 15px;
  1998. border-top-left-radius: 15px;
  1999. font-size:12px;
  2000. color:#01c3dc;
  2001. text-align: center;
  2002. line-height: 30px;
  2003. }
  2004. .date-down div:nth-child(2){
  2005. width: 120px;
  2006. height:30px;
  2007. color:#01c3dc;
  2008. text-align: center;
  2009. line-height: 30px;
  2010. font-size:12px;
  2011. }
  2012. .date-down div:nth-child(3){
  2013. width: 30px;
  2014. height:30px;
  2015. border-bottom-right-radius: 15px;
  2016. border-top-right-radius: 15px;
  2017. border-left: 1px solid #002d49;
  2018. font-size:16px;
  2019. text-align: center;
  2020. line-height: 30px;
  2021. color: #01c3dc;
  2022. }
  2023. .date-down ul{
  2024. width: 90%;
  2025. overflow: auto;
  2026. max-height: 300px;
  2027. list-style: none;
  2028. position: absolute;
  2029. z-index:100;
  2030. top:32px;
  2031. left:5%;
  2032. background: #001C2E;
  2033. border:1px solid #07537b;
  2034. scrollbar-color: #006397 #001C2E;
  2035. }
  2036. .date-down ul li{
  2037. width: 100%;
  2038. height:30px;
  2039. line-height: 30px;
  2040. border-bottom:1px solid #073a5e;
  2041. color: #01c3dc;
  2042. font-size: 12px;
  2043. text-align: center;
  2044. cursor:pointer;
  2045. }
  2046. .date-down ul li:hover{
  2047. background: #07537b!important;
  2048. color: #64b2ba !important;
  2049. }
  2050. .date-down ul::-webkit-scrollbar {
  2051. /*滚动条整体样式*/
  2052. width : 3px; /*高宽分别对应横竖滚动条的尺寸*/
  2053. height: 10px;
  2054. }
  2055. .date-down ul::-webkit-scrollbar-thumb {
  2056. /*滚动条里面小方块*/
  2057. border-radius: 10px;
  2058. box-shadow : inset 0 0 5px rgba(0, 0, 0, 0.2);
  2059. background : #006397;
  2060. }
  2061. .date-down ul::-webkit-scrollbar-track {
  2062. /*滚动条里面轨道*/
  2063. box-shadow : inset 0 0 5px rgba(0, 0, 0, 0.2);
  2064. border-radius: 10px;
  2065. background : #003c5e;
  2066. }
  2067. video {
  2068. object-fit:fill;
  2069. width:100%;
  2070. height:100%;
  2071. }
  2072. .shortcutkey{
  2073. width: 120px;
  2074. position: absolute;
  2075. z-index: 100;
  2076. right:50px;
  2077. top:50px;
  2078. }
  2079. .shortcutkey ul{
  2080. width: 100%;
  2081. height:100%;
  2082. }
  2083. .shortcutkey ul li{
  2084. width: 100%;
  2085. height:30px;
  2086. line-height: 30px;
  2087. display: flex;
  2088. align-items: center;
  2089. justify-content: center;
  2090. margin-top: 10px;
  2091. background: #094d70;
  2092. cursor: pointer;
  2093. background: #00213a;
  2094. color: #2682b4;
  2095. box-shadow: 0px 0px 30px 0px rgb(255 255 255 / 28%)
  2096. }
  2097. .shortcutkey ul li:hover{
  2098. color:#9ccc47;
  2099. }
  2100. .mapEchart{
  2101. width: 100%;
  2102. height:100%;
  2103. }
  2104. </style>