25c26d2fbf4aeac1d4fe0dd806380330b6d64f78.svn-base 97 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496
  1. <template>
  2. <div class="content">
  3. <div class="mainBox">
  4. <div class="slideBar">
  5. <div class="slideBar-left-top">
  6. <div class="slideBar-title">
  7. <img src="../../assets/fujian/dcgk.png"/>
  8. <span class="titleText">水利稽察概况</span>
  9. <span class="titleSearch">年度:</span>
  10. <el-select v-model="selectDate" placeholder="年度" style="width: 80px;" @change="dateChange">
  11. <el-option v-for="item in yearList" :label="item.year" :value="item.year"></el-option>
  12. </el-select>
  13. <span class="titleSearch">批次:</span>
  14. <el-select v-model="selectBatch" placeholder="全部批次" style="width: 90px;" @change="batchChange" clearable>
  15. <el-option v-for="item in batchList" :label="item.batchName" :value="item.batch"></el-option>
  16. </el-select>
  17. </div>
  18. <div class="slideBar-content">
  19. <ul class="summary-ul">
  20. <li>
  21. <p>人员(个)</p>
  22. <p class="summary-content">
  23. <countTo class="fontNum-1" :startVal='0' :endVal='statiscsData.PERSIZE' :duration='2000'></countTo>
  24. </p>
  25. </li>
  26. <li>
  27. <p>组(个)</p>
  28. <p class="summary-content">
  29. <countTo class="fontNum-3" :startVal='0' :endVal='statiscsData.GROUPSIZE' :duration='2000'></countTo>
  30. </p>
  31. </li>
  32. <li>
  33. <p>工程(个)</p>
  34. <p class="summary-content">
  35. <countTo class="fontNum-5" :startVal='0' :endVal='statiscsData.OBJSIZE' :duration='2000'></countTo>
  36. </p>
  37. </li>
  38. <li>
  39. <p>问题数(个)</p>
  40. <p class="summary-content">
  41. <countTo class="fontNum-2" :startVal='0' :endVal='statiscsData.PBLMSIZE' :duration='2000'></countTo>
  42. </p>
  43. </li>
  44. <li>
  45. <p>整改数(个)</p>
  46. <p class="summary-content">
  47. <countTo class="fontNum-4" :startVal='0' :endVal='statiscsData.MENDSIZE' :duration='2000'></countTo>
  48. </p>
  49. </li>
  50. <li>
  51. <p>销号数(个)</p>
  52. <p class="summary-content">
  53. <countTo class="fontNum-6" :startVal='0' :endVal='statiscsData.PBLMLOGSIZE' :duration='2000'></countTo>
  54. </p>
  55. </li>
  56. </ul>
  57. </div>
  58. </div>
  59. <div class="slideBar-left-bottom">
  60. <div class="slideBar-title">
  61. <img src="../../assets/fujian/jczyflwts.png"/>
  62. <span class="titleText">稽察专业分类问题数</span>
  63. </div>
  64. <div class="slideBar-table" id="chart2">
  65. </div>
  66. <div class="slideBar-title">
  67. <img src="../../assets/fujian/ds.png"/>
  68. <span class="titleText">稽察地市问题分布</span>
  69. </div>
  70. <div class="slideBar-pie" id="chart4"></div>
  71. </div>
  72. </div>
  73. <div class="centerBar">
  74. <ul class="exampleBack">
  75. <li v-show="adCode"><span>当前页面数据:{{adName}}</span><span @click="backProvince" style="text-decoration: underline;">返回全省数据</span></li>
  76. </ul>
  77. <ul class="example">
  78. <li @click="hrefClick('/queryResults')">成果查询</li>
  79. <li @click="hrefClick('/inspection_resultTable')">汇总成果</li>
  80. <li @click="hrefClick('inspection_chart')">汇总统计</li>
  81. <li @click="hrefClick('/report_jcbg_doc')">稽察报告</li>
  82. </ul>
  83. <div class="item-content-center" id="chart1"></div>
  84. </div>
  85. <div class="slideBar">
  86. <div class="slideBar-right-top">
  87. <div class="slideBar-title">
  88. <img src="../../assets/fujian/level.png"/>
  89. <span class="titleText">问题等级统计</span>
  90. </div>
  91. <div class="slideBar-content" id="chart5">
  92. </div>
  93. </div>
  94. <div class="slideBar-right-center">
  95. <div class="slideBar-title">
  96. <img src="../../assets/fujian/tzgg.png"/>
  97. <span class="titleText">通知公告</span>
  98. </div>
  99. <div class="slideBar-content box-list">
  100. <ul>
  101. <li v-if="messageList!=null && messageList.length>0" v-for="(item,index) in messageList" @click="showMessage(item)" :title="item.title"><img src="../../assets/fujian/dot.png"/><span>{{item.title}}</span><span>{{formatDateTime(item.intm)}}</span></li>
  102. </ul>
  103. </div>
  104. </div>
  105. <div class="slideBar-right-bottom">
  106. <div class="slideBar-title">
  107. <img src="../../assets/fujian/gc.png"/>
  108. <span class="titleText">工程列表信息</span>
  109. </div>
  110. <div class="slideBar-content rangeTable box-list">
  111. <ul>
  112. <li v-if="projectList!=null && projectList.length>0" v-for="(item,index) in projectList" @click="showProPblmDetail(item)" :title="item.title"><img src="../../assets/fujian/dot.png"/><span>{{item.name?item.name:item.ojbNm}}</span><span>{{formatDateTime(item.intm)}}</span></li>
  113. </ul>
  114. </div>
  115. </div>
  116. </div>
  117. </div>
  118. <messageDetail v-if="isShowMessageDetail" :data="messageData" @closeDialog="closeDialogNotice"></messageDetail>
  119. <proPblmDetail v-if="proPblmVisible" :proPblmId="proPblmId" :title="proTitle" @closeDialog="closeDialog"></proPblmDetail>
  120. <showMessage v-if="showMessageVisible" :clctzUrl="clctzUrl" @closeDialog="closeMessageDialog"></showMessage>
  121. <personList v-if="isShowPersonList" :param="personParam" @closeDialogPerson="closeDialogPerson"></personList>
  122. <groupList v-if="isShowGroupList" :param="groupParam" @closeDialogGroup="closeDialogGroup"></groupList>
  123. <objList v-if="isShowObjList" :param="objParam" @closeDialogObj="closeDialogObj"></objList>
  124. <pblmList v-if="isShowPblmList" :param="pblmParam" @closeDialogPblm="closeDialogPblm"></pblmList>
  125. </div>
  126. </template>
  127. <script>
  128. import {hostUrl} from '@util/global_variable.js'
  129. import countTo from 'vue-count-to';
  130. import Viewer from 'viewerjs';
  131. import 'viewerjs/dist/viewer.css';
  132. import echarts from "echarts";
  133. // import 'echarts-gl';
  134. import '@util/echarts-gl.min.js';
  135. import axios from 'axios' //引入axios
  136. import request from "@util/gw_ajax_request.js";
  137. import {formatDate,formatDateTimstamp} from "@util/gw_date.js"
  138. import proPblmDetail from "./proPblmDetail"
  139. import showMessage from "./showMessage"
  140. import personList from "./personList_jc";
  141. import groupList from "./groupList_jc";
  142. import objList from "./objList_jc";
  143. import pblmList from "./pblmList_jc";
  144. import messageDetail from "./messageDetail";
  145. import {
  146. getMessage,
  147. getJcPblmCount,
  148. getYear,
  149. getBatch,
  150. getJcData,
  151. getJcTotalData,
  152. getTopTacPblm,
  153. getQuestionImgList,
  154. getTopTacPblmvideo,
  155. getJcDataProject
  156. } from "../../api/homeMainView.js";
  157. export default {
  158. components: {
  159. countTo,
  160. proPblmDetail,
  161. showMessage,
  162. personList,
  163. groupList,
  164. objList,
  165. pblmList,
  166. messageDetail
  167. },
  168. props: [],
  169. data() {
  170. //这里存放数据
  171. return {
  172. currentHeight:window.innerHeight,
  173. title:"福建水利监管可视化",
  174. turnvalue:"0",
  175. fullvalue:"0",
  176. turnName:"全屏",
  177. selectDate:new Date().getFullYear().toString(),
  178. selectDateName:new Date().getFullYear().toString(),
  179. isDateVisible:false,
  180. selectBatch:"",
  181. selectBatchName:"全部",
  182. isBatchVisible:false,
  183. iconDown:"el-icon-arrow-down myselect",
  184. iconUp:"el-icon-arrow-up myselect",
  185. iconBatch:"el-icon-arrow-down myselect",
  186. iconDate:"el-icon-arrow-down myselect",
  187. chart1:null,
  188. chart2:null,
  189. // chart3:null,
  190. chart4:null,
  191. chart5:null,
  192. currentTimestap:"",
  193. currentWeek:"",
  194. currentTime:"",
  195. //督察类别
  196. batchList:[],
  197. yearList:[],
  198. //统计看板数据
  199. statiscsData:{
  200. GROUPSIZE: 0,//组
  201. MENDSIZE: 0,//整改
  202. OBJSIZE: 0,//工程
  203. PBLMLOGSIZE: 0,//归档数
  204. PBLMSIZE: 0,//问题数
  205. PERSIZE: 0//人员个数
  206. },
  207. //地图数据
  208. chartMapData:{
  209. mapPercent:[],
  210. geoCoordMap:{},
  211. geoCoordMapList:[],
  212. },
  213. //督察类别数量
  214. chartDcTypeData:{
  215. count:0,
  216. dataList:[]
  217. },
  218. chartObjData:{
  219. xData:[],
  220. dataList:[]
  221. },
  222. chartPblmData:{
  223. xData:[],
  224. dataList:[]
  225. },
  226. chartMendPblmData:{
  227. xData:[],
  228. dataList:[]
  229. },
  230. chartPblmTypeData:{
  231. info:0,
  232. warn:0,
  233. fatal:0,
  234. error:0
  235. },
  236. messageList:[],
  237. bannerList:[],
  238. bannerHeight:"0",
  239. addvcdList:[],
  240. adCode:"",
  241. adName:"",
  242. nearFaceList:[],
  243. questionImgList:[],
  244. questionVideoList:[],
  245. timerData:null,
  246. proPblmVisible:false,
  247. proPblmId:"",
  248. projectList:[],
  249. proTitle:"",
  250. adCode:"",
  251. showMessageVisible:false,
  252. clctzUrl:"",
  253. personParam:{},
  254. isShowPersonList:false,
  255. groupParam:{},
  256. isShowGroupList:false,
  257. isShowObjList:false,
  258. objParam:{},
  259. isShowPblmList:false,
  260. pblmParam:{},
  261. isShowMessageDetail:false,
  262. messageData:null
  263. }
  264. },
  265. //监听属性 类似于data概念
  266. computed: {
  267. formatDateTime() {
  268. return formatDateTimstamp
  269. },
  270. hostUrl(){
  271. return hostUrl
  272. },
  273. organNm() {
  274. return localStorage.getItem('currentOrgNm') ? localStorage.getItem('currentOrgNm') : ''
  275. },
  276. organCode() {
  277. return localStorage.getItem('currentRlcode') ? localStorage.getItem('currentRlcode') : ''
  278. },
  279. currentOrgId() {
  280. return localStorage.getItem('currentOrgId') ? localStorage.getItem('currentOrgId') : ''
  281. },
  282. },
  283. //监控data中的数据变化
  284. watch: {
  285. },
  286. //生命周期 - 创建完成(可以访问当前this实例)
  287. created() {
  288. this.initYear();
  289. this.initBatch();
  290. let currentOrgId = localStorage.getItem("currentOrgId")
  291. if(currentOrgId == '041'){
  292. this.title = '水利稽察'
  293. }else if(this.organCode.indexOf("33")>-1){
  294. this.title = localStorage.getItem("currentOrgNm")+'水利稽察数字化应用'
  295. }else if(localStorage.getItem('currentRlcode').substring(0,2)=='37'){
  296. this.title = '山东省水利稽察信息系统'
  297. }else if(currentOrgId == '055'){
  298. this.title = '海南水务稽察平台'
  299. }else if (localStorage.getItem('currentRlcode').substring(0,2)=='44') {
  300. this.title = '广东省水利稽察'
  301. }else{
  302. this.title = localStorage.getItem("currentOrgNm")+'水利稽察'
  303. }
  304. },
  305. //生命周期 - 挂载完成(可以访问DOM元素)
  306. mounted() {
  307. var _self = this;
  308. // document.addEventListener('click',function(e){
  309. // if(e.target.className!='myselect'){
  310. // _self.isDateVisible = false;
  311. // _self.isBatchVisible = false;
  312. // _self.iconDate = _self.iconDown;
  313. // _self.iconBatch = _self.iconDown;
  314. // }
  315. // })
  316. // setInterval(function(){ _self.myTimer() }, 1000);
  317. this.initStatiscsData(null);
  318. this.initData();
  319. this.initData1();
  320. this.initMessage();
  321. this.getProjectList(null);
  322. // this.initNearFace(this.organCode);
  323. // this.initQuestionImg(this.organCode);
  324. // this.initQuestionVideo(this.organCode);
  325. this.$nextTick(function () {
  326. // var height= this.$refs.banner.offsetHeight;
  327. // this.bannerHeight = height+"px";
  328. var _self = this;
  329. window.onresize = function() {
  330. // var height= _self.$refs.banner.offsetHeight;
  331. // _self.bannerHeight = height+"px";
  332. _self.resizeCharts();
  333. }
  334. });
  335. this.timerData = setInterval(this.IntervalData, 600000);
  336. },
  337. //方法集合
  338. methods: {
  339. backProvince(){
  340. this.adCode = null;
  341. this.initStatiscsData(null);
  342. this.initData();
  343. this.initData1();
  344. this.initMessage();
  345. this.getProjectList(null);
  346. },
  347. closeDialogPerson(){
  348. this.isShowPersonList = false;
  349. this.personParam = {};
  350. },
  351. closeDialogGroup(){
  352. this.isShowGroupList = false;
  353. this.groupParam = {};
  354. },
  355. closeDialogObj(){
  356. this.isShowObjList = false;
  357. this.objParam = {};
  358. },
  359. closeDialogPblm(){
  360. this.isShowPblmList = false;
  361. this.pblmParam = {};
  362. },
  363. showPerson(){
  364. this.isShowPersonList = true;
  365. this.personParam["year"] = this.selectDate;
  366. this.personParam["batch"] = this.selectBatch;
  367. this.personParam["adCode"] = this.adCode;
  368. },
  369. showGroup(){
  370. this.isShowGroupList = true;
  371. this.groupParam["year"] = this.selectDate;
  372. this.groupParam["batch"] = this.selectBatch;
  373. this.groupParam["adCode"] = this.adCode;
  374. },
  375. showObj(){
  376. this.isShowObjList = true;
  377. this.objParam["year"] = this.selectDate;
  378. this.objParam["batch"] = this.selectBatch;
  379. this.objParam["adCode"] = this.adCode;
  380. },
  381. showPblm(){
  382. this.isShowPblmList = true;
  383. this.pblmParam["year"] = this.currentCode;
  384. this.pblmParam["batch"] = this.selectDate;
  385. this.pblmParam["adCode"] = this.selectType;
  386. },
  387. hrefClick(path){
  388. this.$router.push({
  389. path: path,
  390. query:{
  391. date:this.selectDate,
  392. batch:this.selectBatch,
  393. adCode:this.adCode
  394. }
  395. });
  396. },
  397. getProjectList(adCode){
  398. this.projectList = [];
  399. var params = {
  400. year:this.selectDate,
  401. batch:this.selectBatch,
  402. adCode:adCode
  403. }
  404. request.post(`/tac/insp/year/batch/obj/getObjPage`,params).then(res=>{
  405. if(res.success){
  406. this.loading = false
  407. this.projectList = res.data.list
  408. }else{
  409. this.loading = false
  410. this.$message.error(res.message)
  411. }
  412. }).catch(err=>{
  413. this.$message.error(err)
  414. })
  415. },
  416. closeDialogNotice(){
  417. this.isShowMessageDetail = false;
  418. this.messageData = null;
  419. },
  420. closeDialog(){
  421. this.proPblmVisible = false;
  422. this.proPblmId = "";
  423. },
  424. closeMessageDialog(){
  425. this.showMessageVisible = false;
  426. },
  427. showProPblmDetail(item){
  428. this.proPblmVisible = true;
  429. this.proPblmId = item.id;
  430. this.proTitle = item.name?item.name:item.ojbNm;
  431. },
  432. showMessage(item) {
  433. if(item.clcUrl){
  434. this.clctzUrl=this.hostUrl + item.clcUrl;
  435. this.showMessageVisible=true;
  436. }else{
  437. this.isShowMessageDetail = true;
  438. this.messageData = item;
  439. }
  440. },
  441. urlReplace(d){
  442. return this.hostUrl;
  443. },
  444. showHideDate(){
  445. this.isDateVisible = !this.isDateVisible;
  446. this.iconDate = (this.iconDate==this.iconDown?this.iconUp:this.iconDown);
  447. },
  448. showHideType(){
  449. this.isBatchVisible = !this.isBatchVisible;
  450. this.iconBatch = (this.iconBatch==this.iconDown?this.iconUp:this.iconDown);
  451. },
  452. IntervalData(){
  453. this.initStatiscsData(null);
  454. this.initData();
  455. this.initData1();
  456. this.initMessage();
  457. this.initNearFace(this.organCode);
  458. this.initQuestionImg(this.organCode);
  459. this.initQuestionVideo(this.organCode);
  460. },
  461. resizeCharts(){
  462. this.chart1.resize();
  463. this.chart2.resize();
  464. // this.chart3.resize();
  465. this.chart4.resize();
  466. this.chart5.resize();
  467. },
  468. initMessage(){
  469. var _self = this;
  470. getMessage({pageNum:1,pageSize:10,app:"2"}).then((res) => {
  471. _self.messageList = res.data.list;
  472. });
  473. },
  474. initNearFace(adCode){
  475. var _self = this;
  476. getTopTacPblm(adCode).then((res) => {
  477. _self.nearFaceList = res.data;
  478. _self.$nextTick(function(){
  479. var ViewerDom = document.getElementById('nearFace1');
  480. var viewer = new Viewer(ViewerDom, {
  481. })
  482. });
  483. });
  484. },
  485. initQuestionImg(adCode){
  486. var _self = this;
  487. getQuestionImgList(adCode,this.selectBatch).then((res) => {
  488. _self.questionImgList = res.data;
  489. });
  490. },
  491. initQuestionVideo(adCode){
  492. var _self = this;
  493. getTopTacPblmvideo(adCode).then((res) => {
  494. _self.questionVideoList = res.data;
  495. });
  496. },
  497. dateChange(value){
  498. this.selectDate = value;
  499. // this.selectDateName = name;
  500. //this.iconDate = this.iconDown;
  501. // this.isDateVisible = false;
  502. this.initBatch();
  503. this.initData();
  504. this.initData1();
  505. this.initStatiscsData(null);
  506. this.getProjectList(null);
  507. this.adCode = "";
  508. },
  509. batchChange(value){
  510. this.selectBatch = value;
  511. // this.selectBatchName = value=="全部"?"全部":(value+" "+"("+name+")");
  512. // this.iconBatch = this.iconDown;
  513. // this.isBatchVisible = false;
  514. this.initData();
  515. this.initData1();
  516. this.initStatiscsData(null);
  517. this.getProjectList(null);
  518. this.adCode = "";
  519. // this.initNearFace(this.organCode);
  520. // this.initQuestionImg(this.organCode);
  521. // this.initQuestionVideo(this.organCode);
  522. },
  523. toVal(val){
  524. if(val!=null && val!=""){
  525. return val.toFixed(2)
  526. }
  527. return 0;
  528. },
  529. initData(){
  530. var _self = this;
  531. _self.chartPblmTypeData.info = 0;
  532. _self.chartPblmTypeData.warn = 0;
  533. _self.chartPblmTypeData.fatal = 0;
  534. _self.chartPblmTypeData.error = 0;
  535. _self.chartObjData.xData = [];
  536. _self.chartObjData.dataList = [];
  537. _self.chartPblmData.xData = [];
  538. _self.chartPblmData.dataList = [];
  539. _self.chartMendPblmData.xData = [];
  540. _self.chartMendPblmData.dataList = [];
  541. _self.chartMapData.mapPercent = [];
  542. _self.chartMapData.geoCoordMap = [];
  543. _self.chartMapData.geoCoordMapList = [];
  544. _self.addvcdList = [];
  545. var list = [];
  546. var maxNum=0;
  547. getJcData({year:_self.selectDate,batch:_self.selectBatch,objType:"008"}).then((res) => {
  548. if(res.data!=null && res.data.length>0){
  549. for(var i = 0;i<res.data.length;i++){
  550. if(res.data[i].adName!="合计"){
  551. _self.chartObjData.xData.push(res.data[i].adName);
  552. _self.chartObjData.dataList.push(res.data[i].objSize);
  553. _self.chartPblmData.xData.push(res.data[i].adName);
  554. _self.chartPblmData.dataList.push(res.data[i].pblmSize);
  555. _self.chartMendPblmData.xData.push(res.data[i].adName);
  556. _self.chartMendPblmData.dataList.push(res.data[i].mendSize);
  557. var obj = {
  558. name:res.data[i].adName,
  559. value:_self.toVal(res.data[i].mendSizeRant)
  560. }
  561. _self.addvcdList.push({
  562. name:res.data[i].adName,
  563. value:res.data[i].adCode,
  564. });
  565. _self.chartMapData.mapPercent.push(obj);
  566. _self.chartMapData.geoCoordMap[res.data[i].adName] = [res.data[i].lgtd,res.data[i].lttd,res.data[i].adCode];
  567. _self.chartMapData.geoCoordMapList.push({
  568. name:res.data[i].adName,
  569. value:res.data[i].pblmSize,
  570. adCode:res.data[i].adCode,
  571. });
  572. list.push(res.data[i].pblmSize);
  573. maxNum = Math.max(...list)
  574. }else{
  575. _self.chartPblmTypeData.info = res.data[i].infoPlbm;
  576. _self.chartPblmTypeData.warn = res.data[i].warmPlbm;
  577. _self.chartPblmTypeData.fatal = res.data[i].errorPlbm;
  578. _self.chartPblmTypeData.error = res.data[i].errorsPlbm;
  579. }
  580. }
  581. }
  582. // //debugger
  583. _self.initChart1(maxNum);
  584. // _self.initChart3();
  585. _self.initChart4();
  586. _self.initChart5();
  587. });
  588. },
  589. initDataCity(adCode){
  590. var _self = this;
  591. _self.chartPblmTypeData.info = 0;
  592. _self.chartPblmTypeData.warn = 0;
  593. _self.chartPblmTypeData.fatal = 0;
  594. _self.chartPblmTypeData.error = 0;
  595. _self.chartObjData.xData = [];
  596. _self.chartObjData.dataList = [];
  597. getJcData({year:_self.selectDate,batch:_self.selectBatch,adCode:adCode,objType:"008"}).then((res) => {
  598. if(res.data!=null && res.data.length>0){
  599. for(var i = 0;i<res.data.length;i++){
  600. if(res.data[i].adName!="合计"){
  601. _self.chartObjData.xData.push(res.data[i].adName);
  602. _self.chartObjData.dataList.push(res.data[i].objSize);
  603. }else{
  604. _self.chartPblmTypeData.info = res.data[i].infoPlbm;
  605. _self.chartPblmTypeData.warn = res.data[i].warmPlbm;
  606. _self.chartPblmTypeData.fatal = res.data[i].errorPlbm;
  607. _self.chartPblmTypeData.error = res.data[i].errorsPlbm;
  608. }
  609. }
  610. }
  611. // _self.initChart3();
  612. // _self.initChart4();
  613. _self.initChart5();
  614. });
  615. },
  616. getDataProjectPblm(adCode){
  617. var _self = this;
  618. _self.chartPblmData.xData = [];
  619. _self.chartPblmData.dataList = [];
  620. _self.chartMendPblmData.xData = [];
  621. _self.chartMendPblmData.dataList = [];
  622. getJcDataProject({year:_self.selectDate,batch:_self.selectBatch,adCode:adCode,objType:"008"}).then((res) => {
  623. if(res.data!=null && res.data.length>0){
  624. for(var i = 0;i<res.data.length;i++){
  625. if(res.data[i].name!="合计"){
  626. _self.chartPblmData.xData.push(res.data[i].name);
  627. _self.chartPblmData.dataList.push(res.data[i].count);
  628. _self.chartMendPblmData.xData.push(res.data[i].name);
  629. _self.chartMendPblmData.dataList.push(res.data[i].mendSize==undefined?0:res.data[i].mendSize);
  630. }
  631. }
  632. }
  633. // _self.initChart3();
  634. _self.initChart4();
  635. });
  636. },
  637. initData1(){
  638. var _self = this;
  639. _self.chartDcTypeData.dataList = [];
  640. _self.chartDcTypeData.count = 0;
  641. getJcPblmCount(_self.selectDate,_self.selectBatch,_self.organCode).then((res) => {
  642. if(res.data!=null && res.data.length>0){
  643. for(var i = 0;i<res.data.length;i++){
  644. var obj = {
  645. name: res.data[i].NAME+""+res.data[i].VALUE+"个",
  646. value: res.data[i].VALUE
  647. }
  648. _self.chartDcTypeData.dataList.push(obj);
  649. _self.chartDcTypeData.count+=res.data[i].VALUE;
  650. }
  651. }
  652. _self.initChart2();
  653. });
  654. },
  655. initData1City(adCode){
  656. var _self = this;
  657. _self.chartDcTypeData.dataList = [];
  658. _self.chartDcTypeData.count = 0;
  659. getJcPblmCount(_self.selectDate,_self.selectBatch,adCode).then((res) => {
  660. if(res.data!=null && res.data.length>0){
  661. for(var i = 0;i<res.data.length;i++){
  662. var obj = {
  663. name: res.data[i].NAME+""+res.data[i].VALUE+"个",
  664. value: res.data[i].VALUE
  665. }
  666. _self.chartDcTypeData.dataList.push(obj);
  667. _self.chartDcTypeData.count+=res.data[i].VALUE;
  668. }
  669. }
  670. _self.initChart2();
  671. });
  672. },
  673. initStatiscsData(adCode){
  674. var _self = this;
  675. var obj = {
  676. year:_self.selectDate,
  677. batch:_self.selectBatch,
  678. adCode:adCode
  679. }
  680. _self.statiscsData = {
  681. GROUPSIZE: 0,//组
  682. MENDSIZE: 0,//整改
  683. OBJSIZE: 0,//工程
  684. PBLMLOGSIZE: 0,//归档数
  685. PBLMSIZE: 0,//问题数
  686. PERSIZE: 0//人员个数
  687. }
  688. getJcTotalData(obj).then((res) => {
  689. if(res.data!=null){
  690. _self.statiscsData.GROUPSIZE = parseInt(res.data.GROUPSIZE==null?0:res.data.GROUPSIZE);
  691. _self.statiscsData.MENDSIZE = parseInt(res.data.MENDSIZE==null?0:res.data.MENDSIZE);
  692. _self.statiscsData.OBJSIZE = parseInt(res.data.OBJSIZE==null?0:res.data.OBJSIZE);
  693. _self.statiscsData.PBLMLOGSIZE = parseInt(res.data.PBLMLOGSIZE==null?0:res.data.PBLMLOGSIZE);
  694. _self.statiscsData.PBLMSIZE = parseInt(res.data.PBLMSIZE==null?0:res.data.PBLMSIZE);
  695. _self.statiscsData.PERSIZE = parseInt(res.data.PERSIZE==null?0:res.data.PERSIZE);
  696. }
  697. });
  698. },
  699. initYear(){
  700. var _self = this;
  701. _self.yearList = [];
  702. getYear().then((res) => {
  703. if(res.data!=null && res.data.length>0){
  704. _self.yearList = res.data;
  705. }
  706. });
  707. },
  708. initBatch(){
  709. var _self = this;
  710. _self.batchList = [];
  711. // getBatch().then((res) => {
  712. // if(res.data!=null && res.data.length>0){
  713. // _self.batchList = res.data;
  714. // _self.batchList.push({batch:"全部",id:""})
  715. // }
  716. // });
  717. var params = {
  718. year:this.selectDate,
  719. }
  720. request.post(`/tac/insp/year/batch/area/areasListByBatch`,params).then(res=>{
  721. if(res.success){
  722. if(res.data!=null && res.data.length>0){
  723. res.data.forEach((item)=>{
  724. item.batchName = item.batch+item.adName
  725. })
  726. _self.batchList = res.data;
  727. }
  728. }else{
  729. }
  730. })
  731. },
  732. slideHeader(){
  733. if(this.turnvalue=='0'){
  734. var docElm = document.documentElement;
  735. //W3C
  736. if(docElm.requestFullscreen) {
  737. docElm.requestFullscreen();
  738. }
  739. //FireFox
  740. else if(docElm.mozRequestFullScreen) {
  741. docElm.mozRequestFullScreen();
  742. }
  743. //Chrome等
  744. else if(docElm.webkitRequestFullScreen) {
  745. docElm.webkitRequestFullScreen();
  746. }
  747. //IE11
  748. else if(docElm.msRequestFullscreen) {
  749. docElm.msRequestFullscreen();
  750. }
  751. document.getElementById("mainBox").style.height = window.screen.height+"px";
  752. this.turnvalue = "1";
  753. this.turnName = "收缩";
  754. this.$emit('turnHandle',"1");
  755. this.resizeCharts();
  756. }else{
  757. this.$nextTick(function () {
  758. // //W3C
  759. if (document.exitFullscreen) {
  760. document.exitFullscreen();
  761. }
  762. //FireFox
  763. else if (document.mozCancelFullScreen) {
  764. document.mozCancelFullScreen();
  765. }
  766. //Chrome等
  767. else if (document.webkitCancelFullScreen) {
  768. document.webkitCancelFullScreen();
  769. }
  770. //IE11
  771. else if (document.msExitFullscreen) {
  772. document.msExitFullscreen();
  773. }
  774. })
  775. document.getElementById("mainBox").style.height = (this.currentHeight-86)+"px";
  776. this.turnvalue = "0";
  777. this.$emit('turnHandle',"0");
  778. this.turnName = "全屏";
  779. }
  780. },
  781. initAddVcdFeatures(){
  782. let geoJsonName = this.organCode.substr(0, 6) + ".json";
  783. return axios.get('/src/assets/addvGeoData/' + geoJsonName);
  784. },
  785. async initChart1(maxNum) {
  786. // //debugger
  787. var _self = this;
  788. // 动态计算柱形图的高度(定一个max)
  789. function lineMaxHeight() {
  790. return 0.6 / maxNum;
  791. }
  792. // 柱状体的主干
  793. function lineData(index) {
  794. return _self.chartMapData['geoCoordMapList'+index].map((item) => {
  795. return {
  796. coords: [
  797. _self.chartMapData['geoCoordMap'+index][item.name],
  798. [
  799. _self.chartMapData['geoCoordMap'+index][item.name][0],
  800. (_self.chartMapData['geoCoordMap'+index][item.name][1]?parseFloat(_self.chartMapData['geoCoordMap'+index][item.name][1]):0) + parseFloat(item.value * lineMaxHeight()),
  801. ],
  802. ],
  803. };
  804. });
  805. }
  806. // 柱状体的顶部
  807. function scatterData(index) {
  808. return _self.chartMapData['geoCoordMapList'+index].map((item) => {
  809. return [
  810. _self.chartMapData['geoCoordMap'+index][item.name][0],
  811. _self.chartMapData['geoCoordMap'+index][item.name][1] + item.value * lineMaxHeight(),
  812. ];
  813. });
  814. }
  815. // 柱状体的底部
  816. function scatterData2(index) {
  817. return _self.chartMapData['geoCoordMapList'+index].map((item) => {
  818. return {
  819. name: item.name,
  820. value: _self.chartMapData['geoCoordMap'+index][item.name],
  821. };
  822. });
  823. }
  824. var convertData = function () {
  825. var res = [];
  826. for (var i = 0; i < _self.chartMapData.geoCoordMapList.length; i++) {
  827. var geoCoord = _self.chartMapData.geoCoordMap[_self.chartMapData.geoCoordMapList[i].name];
  828. if (geoCoord) {
  829. res.push({
  830. name: _self.chartMapData.geoCoordMapList[i].name,
  831. value: geoCoord.concat(_self.chartMapData.geoCoordMapList[i].value),
  832. datas: _self.chartMapData.geoCoordMapList[i].value,
  833. adCode:_self.chartMapData.geoCoordMapList[i].adCode,
  834. selected:false
  835. });
  836. }
  837. }
  838. return res;
  839. };
  840. this.chart1 = echarts.init(document.getElementById('chart1'));
  841. var jsonAddvcd = await this.initAddVcdFeatures();
  842. echarts.registerMap(this.organNm, jsonAddvcd.data);
  843. var title = "";
  844. var option = {
  845. title:{
  846. text:this.organCode.substr(0, 2)=="66"?'各师问题数量分布':'各市问题数量分布',
  847. x:'center',
  848. y:'top',
  849. top:5
  850. },
  851. geo: [
  852. {
  853. map: this.organNm,
  854. aspectScale: 1,
  855. zoom: 0.55,
  856. layoutCenter: ['50%', '50%'],
  857. layoutSize: '180%',
  858. show: true,
  859. roam: false,
  860. label: {
  861. emphasis: {
  862. show: false
  863. }
  864. },
  865. itemStyle: {
  866. normal: {
  867. borderColor: 'rgba(192,245,249,.8)',
  868. borderWidth: 3,
  869. shadowColor: '#37dfff',
  870. shadowOffsetY: 0,
  871. shadowBlur: 10,
  872. areaColor: 'rgba(29,85,139,0.3)',
  873. },
  874. },
  875. emphasis: {
  876. areaColor: 'rgba(29,85,139,0.3)',
  877. }
  878. }, {
  879. map: this.organNm,
  880. aspectScale: 1,
  881. zoom: 0.55,
  882. layoutCenter: ['50%', '50%'],
  883. layoutSize: '180%',
  884. show: true,
  885. roam: false,
  886. label: {
  887. emphasis: {
  888. show: false
  889. }
  890. },
  891. itemStyle: {
  892. normal: {
  893. borderColor: 'rgba(192,245,249,.8)',
  894. borderWidth: 3,
  895. shadowColor: '#2C99F6',
  896. shadowOffsetY: 0,
  897. shadowBlur: 120,
  898. areaColor: 'rgba(29,85,139,0.3)',
  899. },
  900. },
  901. emphasis: {
  902. areaColor: 'rgba(29,85,139,0.3)',
  903. }
  904. },
  905. //重影
  906. {
  907. type: 'map',
  908. map: this.organNm,
  909. zlevel: -1,
  910. aspectScale: 1,
  911. zoom: 0.55,
  912. layoutCenter: ['50%', '50.7%'],
  913. layoutSize: '180%',
  914. roam: false,
  915. silent: true,
  916. itemStyle: {
  917. normal: {
  918. borderColor: 'rgba(29,85,139,0.3)',
  919. shadowColor: 'rgba(29,85,139,0.3)',
  920. shadowOffsetY: 5,
  921. shadowBlur: 15,
  922. areaColor: 'rgba(29,85,139,0.3)'
  923. }
  924. }
  925. },
  926. {
  927. type: 'map',
  928. map: this.organNm,
  929. zlevel: -2,
  930. aspectScale: 1,
  931. zoom: 0.55,
  932. layoutCenter: ['50%', '51.4%'],
  933. layoutSize: '180%',
  934. roam: false,
  935. silent: true,
  936. itemStyle: {
  937. normal: {
  938. borderColor: 'rgba(29,85,139,0.3)',
  939. shadowColor: 'rgba(29,85,139,0.3)',
  940. shadowOffsetY: 5,
  941. shadowBlur: 15,
  942. areaColor: 'rgba(29,85,139,0.3)'
  943. }
  944. }
  945. },
  946. {
  947. type: 'map',
  948. map: this.organNm,
  949. zlevel: -3,
  950. aspectScale: 1,
  951. zoom: 0.55,
  952. layoutCenter: ['50%', '52.1%'],
  953. layoutSize: '180%',
  954. roam: false,
  955. silent: true,
  956. itemStyle: {
  957. normal: {
  958. borderColor: 'rgba(29,85,139,0.3)',
  959. shadowColor: 'rgba(29,85,139,0.3)',
  960. shadowOffsetY: 15,
  961. shadowBlur: 8,
  962. areaColor: 'rgba(29,85,139,0.3)'
  963. }
  964. }
  965. }
  966. ],
  967. series: [
  968. {
  969. name: this.organNm,
  970. type: 'map',
  971. map: this.organNm, // 自定义扩展图表类型
  972. aspectScale: 1,
  973. zoom: 0.55, //缩放
  974. showLegendSymbol: false,
  975. label: {
  976. normal: {
  977. show: false,
  978. },
  979. emphasis: {
  980. show: false,
  981. }
  982. },
  983. itemStyle: {
  984. normal: {
  985. areaColor: {
  986. type: 'linear-gradient',
  987. x: 0,
  988. y: 300,
  989. x2: 0,
  990. y2: 0,
  991. colorStops: [{
  992. offset: 0,
  993. color: '#40a2ff' // 0% 处的颜色
  994. }, {
  995. offset: 1,
  996. color: '#85c4ff' // 50% 处的颜色
  997. }],
  998. global: true // 缺省为 false
  999. },
  1000. borderColor: 'rgb(175,255,247)',
  1001. borderWidth: 1,
  1002. },
  1003. emphasis: {
  1004. areaColor: {
  1005. type: 'linear-gradient',
  1006. x: 0,
  1007. y: 300,
  1008. x2: 0,
  1009. y2: 0,
  1010. colorStops: [{
  1011. offset: 0,
  1012. color: '#53cfff' // 0% 处的颜色
  1013. }, {
  1014. offset: 1,
  1015. color: '#53cfff' // 50% 处的颜色
  1016. }],
  1017. global: true // 缺省为 false
  1018. },
  1019. }
  1020. },
  1021. layoutCenter: ['50%', '50%'],
  1022. layoutSize: '180%',
  1023. markPoint: {
  1024. symbol: 'none'
  1025. },
  1026. data: convertData(),
  1027. },
  1028. {
  1029. type: "scatter",
  1030. coordinateSystem: "geo",
  1031. geoIndex: 1,
  1032. label: {
  1033. normal: {
  1034. show: true,
  1035. formatter: function (params) {
  1036. var name = params.name;
  1037. var value = params.data.datas;
  1038. var text = `{fline|${name}}\n`;
  1039. text += `{pblm|${value}}`;
  1040. return text;
  1041. },
  1042. color: "#fff",
  1043. rich: {
  1044. fline: {
  1045. color: "#fff",
  1046. fontSize: 15,
  1047. fontWeight:'bold',
  1048. align: 'center',
  1049. padding:[2,0]
  1050. },
  1051. tline: {
  1052. color: "#ABF8FF",
  1053. align: 'center',
  1054. fontSize: 15,
  1055. padding:[2,0]
  1056. },
  1057. pblm: {
  1058. color: '#EB3B46',
  1059. fontSize: 16,
  1060. fontWeight:'bold',
  1061. fontFamily:'italic',
  1062. align: 'center',
  1063. padding:[3,0]
  1064. }
  1065. },
  1066. },
  1067. emphasis: {
  1068. show: true,
  1069. },
  1070. },
  1071. itemStyle: {
  1072. color: "none",
  1073. },
  1074. symbolOffset: [0, 28],
  1075. z: 999,
  1076. data: convertData(),
  1077. }
  1078. ],
  1079. };
  1080. option.series.push({
  1081. type: "lines",
  1082. zlevel: 5,
  1083. effect: {
  1084. show: false,
  1085. period: 5, // 箭头指向速度,值越小速度越快
  1086. trailLength: 0.4, // 特效尾迹长度[0,1]值越大,尾迹越长重
  1087. },
  1088. lineStyle: {
  1089. width: 3, // 尾迹线条宽度
  1090. color: "#EB3B46",
  1091. opacity: 1, // 尾迹线条透明度
  1092. curveness: 0, // 尾迹线条曲直度
  1093. },
  1094. label: {
  1095. show: false,
  1096. position: "end",
  1097. formatter: "245",
  1098. },
  1099. silent: true,
  1100. animation:true,
  1101. animationDuration:2000,
  1102. data: lineData(""),
  1103. },
  1104. // 柱状体的顶部
  1105. {
  1106. type: "scatter",
  1107. coordinateSystem: "geo",
  1108. geoIndex: 0,
  1109. zlevel: 5,
  1110. symbol: "circle",
  1111. symbolSize: [3, 2],
  1112. itemStyle: {
  1113. color: "#EB3B46",
  1114. opacity: 1,
  1115. },
  1116. silent: true,
  1117. data: scatterData(""),
  1118. },
  1119. // 柱状体的底部
  1120. {
  1121. type: "scatter",
  1122. coordinateSystem: "geo",
  1123. geoIndex: 0,
  1124. zlevel: 4,
  1125. label: {
  1126. // 这儿是处理的
  1127. formatter: "{b}",
  1128. position: "bottom",
  1129. color: "#fff",
  1130. fontSize: 12,
  1131. distance: 20,
  1132. show: false,
  1133. },
  1134. symbol: "circle",
  1135. symbolSize: [8, 3],
  1136. itemStyle: {
  1137. // color: '#F7AF21',
  1138. color: "#EB3B46",
  1139. opacity: 1,
  1140. },
  1141. silent: true,
  1142. data: scatterData2(""),
  1143. })
  1144. this.chart1.clear();
  1145. this.chart1.setOption(option);
  1146. var _self = this;
  1147. this.chart1.on('click', function (params) {
  1148. if(params.name!=_self.adName){
  1149. _self.adName = params.name;
  1150. for(var i = 0;i<_self.addvcdList.length;i++){
  1151. if(_self.addvcdList[i].name==params.name){
  1152. _self.initDataCity(_self.addvcdList[i].value);
  1153. _self.initData1City(_self.addvcdList[i].value);
  1154. _self.initNearFace(_self.addvcdList[i].value);
  1155. _self.initQuestionImg(_self.addvcdList[i].value);
  1156. _self.initQuestionVideo(_self.addvcdList[i].value);
  1157. _self.getProjectList(_self.addvcdList[i].value);
  1158. _self.getDataProjectPblm(_self.addvcdList[i].value);
  1159. _self.initStatiscsData(_self.addvcdList[i].value);
  1160. _self.adCode = _self.addvcdList[i].value
  1161. }
  1162. }
  1163. }
  1164. });
  1165. },
  1166. // async initChart1() {
  1167. // var _self = this;
  1168. // var convertData = function () {
  1169. // var res = [];
  1170. // for (var i = 0; i < _self.chartMapData.geoCoordMapList.length; i++) {
  1171. // var geoCoord = _self.chartMapData.geoCoordMap[_self.chartMapData.geoCoordMapList[i].name];
  1172. // if (geoCoord) {
  1173. // res.push({
  1174. // name: _self.chartMapData.geoCoordMapList[i].name,
  1175. // value: geoCoord.concat(_self.chartMapData.geoCoordMapList[i].value)
  1176. // });
  1177. // }
  1178. // }
  1179. // return res;
  1180. // };
  1181. // this.chart1 = echarts.init(document.getElementById('chart1'));
  1182. // var jsonAddvcd = await this.initAddVcdFeatures();
  1183. // echarts.registerMap(this.organNm, jsonAddvcd.data);
  1184. // let option = {
  1185. // title:{
  1186. // text:this.organCode.substr(0, 2)=="66"?'各师问题数量分布':'各市问题数量分布',
  1187. // left:'center',
  1188. // padding: 20,
  1189. // textStyle:{
  1190. // color:'rgb(62,215,213)',
  1191. //
  1192. // }
  1193. // },
  1194. // tooltip: {
  1195. // trigger: 'axis',
  1196. // },
  1197. // geo3D: {
  1198. // map: this.organNm,
  1199. // show: true,
  1200. // zlevel: 15,
  1201. // boxWidth:80,
  1202. // boxHeight:30,
  1203. // label: {
  1204. // show:true,
  1205. // formatter:function(params){
  1206. // var content='',
  1207. // content=params.name;
  1208. // return content;
  1209. // },
  1210. // distance:0,
  1211. // textStyle:{
  1212. // color:'#ffffff',
  1213. // fontWeight : 'bold',
  1214. // fontSize :17,
  1215. // backgroundColor: 'rgba(255,255,255,0)'
  1216. // },
  1217. // },
  1218. // viewControl: { // 用于鼠标的旋转,缩放等视角控制。
  1219. // distance: 100, // [ default: 100 ] 默认视角距离主体的距离,对于 grid3D 和 geo3D 等其它组件来说是距离中心原点的距离,对于 globe 来说是距离地球表面的距离。在 projection 为'perspective'的时候有效。
  1220. // minDistance: 40, // [ default: 40 ] 视角通过鼠标控制能拉近到主体的最小距离。在 projection 为'perspective'的时候有效。
  1221. // maxDistance: 400, // [ default: 400 ] 视角通过鼠标控制能拉远到主体的最大距离。在 projection 为'perspective'的时候有效。
  1222. // alpha: 40, // 视角绕 x 轴,即上下旋转的角度。配合 beta 可以控制视角的方向。[ default: 40 ]
  1223. // beta: 15, // 视角绕 y 轴,即左右旋转的角度。[ default: 0 ]
  1224. // minAlpha: -360, // 上下旋转的最小 alpha 值。即视角能旋转到达最上面的角度。[ default: 5 ]
  1225. // maxAlpha: 360, // 上下旋转的最大 alpha 值。即视角能旋转到达最下面的角度。[ default: 90 ]
  1226. // minBeta: -360, // 左右旋转的最小 beta 值。即视角能旋转到达最左的角度。[ default: -80 ]
  1227. // maxBeta: 360, // 左右旋转的最大 beta 值。即视角能旋转到达最右的角度。[ default: 80 ]
  1228. // center: [0,0,0], // 视角中心点,旋转也会围绕这个中心点旋转,默认为[0,0,0]。
  1229. // animation: true, // 是否开启动画。[ default: true ]
  1230. // animationDurationUpdate: 1000, // 过渡动画的时长。[ default: 1000 ]
  1231. // animationEasingUpdate: 'cubicInOut' // 过渡动画的缓动效果。[ default: cubicInOut ]
  1232. // },
  1233. // light: {
  1234. // main: {
  1235. // shadow: true,
  1236. // shadowQuality: 'ultra',
  1237. // },
  1238. //
  1239. // },
  1240. // //地面的背景颜色
  1241. // groundPlane: {
  1242. // show: true,
  1243. // color:'transparent'
  1244. // },
  1245. // //特效设置
  1246. // postEffect: {
  1247. // enable:false
  1248. // },
  1249. // itemStyle: {
  1250. // areaColor: '#1b4474',
  1251. // color:'#1b4474',
  1252. // borderColor: 'rgb(62,215,213)',
  1253. // borderWidth: 1
  1254. // },
  1255. // //鼠标 hover 高亮时图形和标签的样式
  1256. // emphasis:{
  1257. // label:{
  1258. // show:true,
  1259. // distance:10
  1260. // },
  1261. // itemStyle: {
  1262. // color:'#15244a',
  1263. // }
  1264. // }
  1265. // },
  1266. //
  1267. // series: [
  1268. // {
  1269. // type: 'bar3D',
  1270. // coordinateSystem: 'geo3D',
  1271. // zlevel: 1,
  1272. // barSize: 0.5,
  1273. // shading: 'lambert',
  1274. // itemStyle: {
  1275. // color: '#c2f151'
  1276. // },
  1277. // label: {
  1278. // show: true,
  1279. // position: 'top',
  1280. // textStyle: {
  1281. // color: '#c2f151',
  1282. // backgroundColor: 'transparent'
  1283. // },
  1284. // formatter: function(params) {
  1285. // return params.value[2]
  1286. // }
  1287. // },
  1288. // data:convertData()
  1289. // }
  1290. // ]
  1291. // };
  1292. // this.chart1.clear()
  1293. // this.chart1.setOption(option);
  1294. // var _self = this;
  1295. // this.chart1.on('click', function (params) {
  1296. // if(params.name!=_self.adName){
  1297. // _self.adName = params.name;
  1298. // for(var i = 0;i<_self.addvcdList.length;i++){
  1299. // if(_self.addvcdList[i].name==params.name){
  1300. // _self.initDataCity(_self.addvcdList[i].value);
  1301. // _self.initData1City(_self.addvcdList[i].value);
  1302. // _self.initNearFace(_self.addvcdList[i].value);
  1303. // _self.initQuestionImg(_self.addvcdList[i].value);
  1304. // _self.initQuestionVideo(_self.addvcdList[i].value);
  1305. // _self.getProjectList(_self.addvcdList[i].value);
  1306. // _self.getDataProjectPblm(_self.addvcdList[i].value);
  1307. // _self.initStatiscsData(_self.addvcdList[i].value);
  1308. // _self.adCode = _self.addvcdList[i].value
  1309. // }
  1310. // }
  1311. // }
  1312. // });
  1313. // },
  1314. myTimer(){
  1315. var d = new Date();
  1316. 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());
  1317. this.currentTime = d.getFullYear()+"/"+(d.getMonth()+1)+"/"+d.getDate();
  1318. var weeks = new Array("星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六");
  1319. this.currentWeek = weeks[d.getDay()];
  1320. },
  1321. initChart2(){
  1322. this.chart2 = echarts.init(document.getElementById('chart2'));
  1323. var option = {
  1324. tooltip: {
  1325. trigger: 'axis',
  1326. },
  1327. title: {
  1328. text: this.chartDcTypeData.count,
  1329. textStyle: {
  1330. color: '#666',
  1331. fontSize: 14
  1332. },
  1333. subtext: '问题数',
  1334. subtextStyle: {
  1335. color: '#666',
  1336. fontSize: 14
  1337. },
  1338. itemGap: 10,
  1339. left: '20%',
  1340. top: '40%'
  1341. },
  1342. // color: ['#2872ea','#95ff2b','#01dc8a','#02f5e9'],
  1343. color: [
  1344. '#1B84F0', '#FCC00A', '#FE8831', '#FF4258',
  1345. "#4150d8", "#28bf7e", "#ed7c2f", "#f2a93b",
  1346. "#f9cf36", "#4a5bdc", "#4cd698", "#f4914e",
  1347. "#fcb75b", "#ffe180", "#b6c2ff", "#96edc1"
  1348. ],
  1349. tooltip: {
  1350. trigger: "item",
  1351. formatter: "{b}"
  1352. },
  1353. legend: {
  1354. selectedMode:false,
  1355. type: 'scroll',
  1356. orient:'vertical',
  1357. icon: 'circle', //图例形状
  1358. top:'15%',
  1359. bottom:'15%',
  1360. left:'55%',
  1361. itemWidth: 10, // 图例标记的图形宽度。[ default: 25 ]
  1362. itemHeight: 10, // 图例标记的图形高度。[ default: 14 ]
  1363. itemGap: 10, // 图例每项之间的间隔。[ default: 10 ]横向布局时为水平间隔,纵向布局时为纵向间隔。
  1364. textStyle: {
  1365. fontSize: 14,
  1366. color: '#666',
  1367. },
  1368. pageButtonPosition:'start',
  1369. pageIconColor: '#666', //翻页下一页的三角按钮颜色
  1370. pageIconInactiveColor: '#666', //翻页(即翻页到头时)
  1371. pageIconSize: 10, //翻页按钮大小
  1372. pageFormatter: '',//隐藏翻页的数字
  1373. pageButtonItemGap: -6,//翻页按钮的两个之间的间距
  1374. label: {
  1375. normal: {
  1376. show: true,
  1377. position: 'inner',
  1378. formatter: function (name) {
  1379. return (name.length > 8 ? (name.slice(0, 8) + "...") : name);
  1380. },
  1381. fontSize: 12
  1382. }
  1383. }
  1384. },
  1385. series: [{
  1386. type: "pie",
  1387. data: this.chartDcTypeData.dataList,
  1388. radius: ['40%', '60%'],
  1389. center: ["28%", "50%"],
  1390. labelLine: {
  1391. show: false
  1392. },
  1393. label:{
  1394. show: false
  1395. }
  1396. }]
  1397. };
  1398. var option_1 = {
  1399. tooltip: {
  1400. trigger: 'axis',
  1401. },
  1402. title: {
  1403. text: 0,
  1404. textStyle: {
  1405. color: '#666',
  1406. fontSize: 14
  1407. },
  1408. subtext: '问题数',
  1409. subtextStyle: {
  1410. color: '#666',
  1411. fontSize: 14
  1412. },
  1413. itemGap: 10,
  1414. left: '43%',
  1415. top: '45%'
  1416. },
  1417. color: [
  1418. '#FCC00A', '#FE8831', '#1B84F0', '#FF4258',
  1419. "#4150d8", "#28bf7e", "#ed7c2f", "#f2a93b",
  1420. "#f9cf36", "#4a5bdc", "#4cd698", "#f4914e",
  1421. "#fcb75b", "#ffe180", "#b6c2ff", "#96edc1"
  1422. ],
  1423. tooltip: {
  1424. trigger: "item",
  1425. formatter: "{b}"
  1426. },
  1427. series: [{
  1428. type: "pie",
  1429. data: [{name:"",value:0}],
  1430. radius: ['55%', '75%'],
  1431. center: ["50%", "50%"],
  1432. labelLine: {
  1433. show: false
  1434. },
  1435. label:{
  1436. show: false
  1437. }
  1438. }]
  1439. };
  1440. if(this.chartDcTypeData.dataList && this.chartDcTypeData.dataList.length>0){
  1441. this.chart2.clear();
  1442. this.chart2.setOption(option);
  1443. }else{
  1444. this.chart2.clear();
  1445. this.chart2.setOption(option_1);
  1446. }
  1447. },
  1448. // initChart3(){
  1449. // this.chart3 = echarts.init(document.getElementById('chart3'));
  1450. // var option= {
  1451. // tooltip: {
  1452. // trigger: 'axis',
  1453. // },
  1454. // grid: {
  1455. // top: '20%',
  1456. // left: '7%',
  1457. // right: '2%',
  1458. // bottom: '10%',
  1459. // containLabel: true
  1460. // },
  1461. // dataZoom: [{
  1462. // borderColor:'#3e7b92',
  1463. // backgroundColor:'rgba(108,217,255,0)', //组件的背景
  1464. // type: 'slider', //图表下方的伸缩条
  1465. // show: true, //是否显示
  1466. // height:8,
  1467. // realtime: true, //拖动时,是否实时更新系列的视图
  1468. // start: 0, //伸缩条开始位置(1-100),可以随时更改
  1469. // end: 99, //伸缩条结束位置(1-100),可以随时更改
  1470. // bottom:"5",
  1471. // textStyle:{
  1472. // color:'#31586C'
  1473. // }
  1474. // }],
  1475. // // legend: {
  1476. // // data: ['未督察','已督察'],
  1477. // // right: "3%",
  1478. // // top:"4%",
  1479. // // textStyle: {
  1480. // // color: "#AAE0FC",
  1481. // // fontSize: 12
  1482. // // },
  1483. // // itemWidth: 5, // 设置宽度
  1484. // // itemHeight:10, // 设置高度
  1485. // // itemGap: 10 // 设置间距
  1486. // // },
  1487. // xAxis: [{
  1488. // data: this.chartObjData.xData,
  1489. // axisLabel: {
  1490. // margin: 10,
  1491. // color: '#437d9b',
  1492. // textStyle: {
  1493. // fontSize: 12
  1494. // },
  1495. // },
  1496. // axisLine: {
  1497. // lineStyle: {
  1498. // color: '#437d9b',
  1499. // }
  1500. // },
  1501. // axisTick: {
  1502. // show: false
  1503. // },
  1504. // }],
  1505. // yAxis: [{
  1506. // name:"督察对象/个",
  1507. // type:'value',
  1508. // axisLabel: {
  1509. // color: '#437d9b',
  1510. // textStyle: {
  1511. // fontSize: 12
  1512. // },
  1513. // },
  1514. // axisLine: {
  1515. // show:true,
  1516. // lineStyle:{
  1517. // color:'#437d9b' //更改坐标轴颜色
  1518. // }
  1519. // },
  1520. // axisTick: {
  1521. // show: false
  1522. // },
  1523. // splitLine: {
  1524. // lineStyle: {
  1525. // color: '#31586C',
  1526. // }
  1527. // }
  1528. // }],
  1529. // series: [
  1530. // {
  1531. // name: "对象数",
  1532. // type: 'bar',
  1533. // data: this.chartObjData.dataList,
  1534. // barWidth: '8px',
  1535. // itemStyle: {
  1536. // normal: {
  1537. // color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{
  1538. // offset: 0,
  1539. // color: '#72FAFE' // 0% 处的颜色
  1540. // }, {
  1541. // offset: 1,
  1542. // color: '#04BEFE' // 100% 处的颜色
  1543. // }], false)
  1544. // }
  1545. // },
  1546. // }
  1547. // // ,{
  1548. // // name: "已督察",
  1549. // // type: 'bar',
  1550. // // data: getlkrs,
  1551. // // barWidth: '8px',
  1552. // // itemStyle: {
  1553. // // normal: {
  1554. // // color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{
  1555. // // offset: 0,
  1556. // // color: '#06DD8D' // 0% 处的颜色
  1557. // // }, {
  1558. // // offset: 1,
  1559. // // color: '#78FFCF' // 100% 处的颜色
  1560. // // }], false)
  1561. // // }
  1562. // // },
  1563. // // }
  1564. // ]
  1565. // }
  1566. // this.chart3.clear();
  1567. // this.chart3.setOption(option);
  1568. // },
  1569. initChart4(){
  1570. this.chart4 = echarts.init(document.getElementById('chart4'));
  1571. var option= {
  1572. tooltip: {
  1573. trigger: 'axis',
  1574. },
  1575. grid: {
  1576. top: '15%',
  1577. left: '0%',
  1578. right: '5%',
  1579. bottom: '15%',
  1580. containLabel: true
  1581. },
  1582. dataZoom: [{
  1583. borderColor:'#a4a4a4',
  1584. backgroundColor:'rgba(107,219,255,0)', //组件的背景
  1585. type: 'slider', //图表下方的伸缩条
  1586. show: true, //是否显示
  1587. height:8,
  1588. realtime: true, //拖动时,是否实时更新系列的视图
  1589. start: 0, //伸缩条开始位置(1-100),可以随时更改
  1590. end: 99, //伸缩条结束位置(1-100),可以随时更改
  1591. bottom:"30",
  1592. textStyle:{
  1593. color:'#a4a4a4'
  1594. }
  1595. }],
  1596. xAxis: [{
  1597. data:this.chartPblmData.xData,
  1598. axisLabel: {
  1599. margin: 10,
  1600. color: '#a4a4a4',
  1601. rotate:5,
  1602. textStyle: {
  1603. fontSize: 12
  1604. },
  1605. },
  1606. axisLine: {
  1607. lineStyle: {
  1608. color: '#a4a4a4',
  1609. }
  1610. },
  1611. axisTick: {
  1612. show: false
  1613. },
  1614. }],
  1615. yAxis: [{
  1616. name:"问题/个",
  1617. type:'value',
  1618. nameTextStyle:{
  1619. color:"#a4a4a4",
  1620. fontSize:14,
  1621. },
  1622. axisLabel: {
  1623. color: '#a4a4a4',
  1624. textStyle: {
  1625. fontSize: 14
  1626. },
  1627. },
  1628. axisLine: {
  1629. show:true,
  1630. lineStyle:{
  1631. color:'#a4a4a4', //更改坐标轴颜色
  1632. }
  1633. },
  1634. axisTick: {
  1635. show: false
  1636. },
  1637. splitLine: {
  1638. lineStyle: {
  1639. color: '#a4a4a4',
  1640. }
  1641. }
  1642. }],
  1643. series: [
  1644. {
  1645. name: "问题数",
  1646. type: 'bar',
  1647. data: this.chartPblmData.dataList,
  1648. barWidth: '8px',
  1649. itemStyle: {
  1650. normal: {
  1651. color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{
  1652. offset: 0,
  1653. color: '#1B84F0' // 0% 处的颜色
  1654. }, {
  1655. offset: 1,
  1656. color: '#4fa2f0' // 100% 处的颜色
  1657. }], false)
  1658. }
  1659. }
  1660. },
  1661. {
  1662. name: "整改数",
  1663. type: 'bar',
  1664. data: this.chartMendPblmData.dataList,
  1665. barWidth: '8px',
  1666. itemStyle: {
  1667. normal: {
  1668. color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{
  1669. offset: 0,
  1670. color: '#FE8831' // 0% 处的颜色
  1671. }, {
  1672. offset: 1,
  1673. color: '#feab22' // 100% 处的颜色
  1674. }], false)
  1675. }
  1676. }
  1677. }
  1678. ]
  1679. }
  1680. this.chart4.clear();
  1681. this.chart4.setOption(option);
  1682. },
  1683. initChart5(){
  1684. this.chart5 = echarts.init(document.getElementById('chart5'));
  1685. // var data = [
  1686. // {
  1687. // name: "一般问题"+this.chartPblmTypeData.info+"(个)",
  1688. // value: this.chartPblmTypeData.info
  1689. // },
  1690. // {
  1691. // name: "较严重问题"+this.chartPblmTypeData.warn+"(个)",
  1692. // value: this.chartPblmTypeData.warn
  1693. // },
  1694. // {
  1695. // name: "严重问题"+this.chartPblmTypeData.fatal+"(个)",
  1696. // value: this.chartPblmTypeData.fatal
  1697. // },
  1698. // {
  1699. // name: "特别严重问题"+this.chartPblmTypeData.error+"(个)",
  1700. // value: this.chartPblmTypeData.error
  1701. // }
  1702. // ];
  1703. // var sumValue = this.chartPblmTypeData.info+this.chartPblmTypeData.warn+this.chartPblmTypeData.fatal+this.chartPblmTypeData.error;
  1704. // var optionData = {
  1705. // series: [],
  1706. // yAxis: []
  1707. // };
  1708. // for (let i = 0; i < data.length; i++) {
  1709. // optionData.series.push({
  1710. // name: '个数',
  1711. // type: 'pie',
  1712. // clockWise: true,
  1713. // z: 2,
  1714. // hoverAnimation: false,
  1715. // radius: [83 - i * 15 + '%', 77 - i * 15 + '%'],
  1716. // center: ["50%", "55%"],
  1717. // label: {
  1718. // show: true,
  1719. // formatter: '{d}%',
  1720. // color: 'RGB(246,175,101)',
  1721. // fontSize: 10,
  1722. // position: 'inside'
  1723. // },
  1724. // labelLine: {
  1725. // show: false
  1726. // },
  1727. // data: [{
  1728. // value: data[i].value,
  1729. // name: data[i].name
  1730. // }, {
  1731. // value: sumValue - data[i].value,
  1732. // name: '',
  1733. // itemStyle: {
  1734. // color: "rgba(0,0,0,0)",
  1735. // borderWidth: 0
  1736. // },
  1737. // tooltip: {
  1738. // show: false
  1739. // },
  1740. // label: {
  1741. // show: false
  1742. // },
  1743. // hoverAnimation: false
  1744. // }]
  1745. // });
  1746. // optionData.series.push({
  1747. // name: '背景线',
  1748. // type: 'pie',
  1749. // silent: true,
  1750. // z: 1,
  1751. // clockWise: true,
  1752. // hoverAnimation: false,
  1753. // radius: [81 - i * 15 + '%', 79 - i * 15 + '%'],
  1754. // center: ["50%", "55%"],
  1755. // label: {
  1756. // show: false
  1757. // },
  1758. // itemStyle: {
  1759. // label: {
  1760. // show: false,
  1761. // },
  1762. // labelLine: {
  1763. // show: false
  1764. // },
  1765. // borderWidth: 5,
  1766. // },
  1767. // data: [{
  1768. // value: 100,
  1769. // itemStyle: {
  1770. // color: "#003a5c",
  1771. // borderWidth: 0
  1772. // },
  1773. // tooltip: {
  1774. // show: false
  1775. // },
  1776. // hoverAnimation: false
  1777. // }]
  1778. // });
  1779. // optionData.yAxis.push(data[i].name);
  1780. // }
  1781. // var option = {
  1782. // color: [{
  1783. // type: 'linear',
  1784. // x: 0,
  1785. // y: 0,
  1786. // x2: 1,
  1787. // y2: 1,
  1788. // colorStops: [{
  1789. // offset: 0,
  1790. // color: '#00385e'
  1791. // }, {
  1792. // offset: 1,
  1793. // color: 'rgba(1,232,254,1)'
  1794. // }],
  1795. // global: false
  1796. // }],
  1797. // grid: {
  1798. // top: '10%',
  1799. // bottom: '54%',
  1800. // left: "50%",
  1801. // containLabel: false
  1802. // },
  1803. // yAxis: [{
  1804. // type: 'category',
  1805. // inverse: true,
  1806. // z: 3,
  1807. // axisLine: {
  1808. // show: false
  1809. // },
  1810. // axisTick: {
  1811. // show: false
  1812. // },
  1813. // axisLabel: {
  1814. // interval: 0,
  1815. // inside: false,
  1816. // textStyle: {
  1817. // color: "#437d9b",
  1818. // fontSize: 12,
  1819. // },
  1820. // show: true
  1821. // },
  1822. // data: optionData.yAxis
  1823. // }],
  1824. // xAxis: [{
  1825. // show: false
  1826. // }],
  1827. // series: optionData.series
  1828. // };
  1829. // var option = {
  1830. // tooltip: {
  1831. // trigger: 'item'
  1832. // },
  1833. // legend: {
  1834. // orient:'vertical',
  1835. // icon: 'circle', //图例形状
  1836. // bottom:'20%',
  1837. // right:'3%',
  1838. // itemWidth: 10, // 图例标记的图形宽度。[ default: 25 ]
  1839. // itemHeight: 10, // 图例标记的图形高度。[ default: 14 ]
  1840. // itemGap: 10, // 图例每项之间的间隔。[ default: 10 ]横向布局时为水平间隔,纵向布局时为纵向间隔。
  1841. // textStyle: {
  1842. // fontSize: 12,
  1843. // color: '#66FBF9',
  1844. // }
  1845. // },
  1846. // series: [
  1847. // {
  1848. // name:'问题严重程度',
  1849. // type:'funnel',
  1850. // left: '5%',
  1851. // width: '50%',
  1852. // minSize: '0%',
  1853. // maxSize: '100%',
  1854. // sort: 'ascending',
  1855. // top:20,
  1856. // bottom:20,
  1857. // label: {
  1858. // show:false,
  1859. // position: 'inside'
  1860. // },
  1861. // itemStyle: {
  1862. // borderColor: '#fff',
  1863. // borderWidth: 1
  1864. // },
  1865. // emphasis: {
  1866. // label: {
  1867. // show:false,
  1868. // fontSize: 20
  1869. // }
  1870. // },
  1871. // data: [
  1872. // {value:this.chartPblmTypeData.info, name: '一般问题',itemStyle:{normal:{color:'#95ff2b'}}},
  1873. // {value:this.chartPblmTypeData.warn, name: '较严重问题',itemStyle:{normal:{color:'#00dd8a'}}},
  1874. // {value:this.chartPblmTypeData.fatal, name: '严重问题',itemStyle:{normal:{color:'#ffe425'}}},
  1875. // {value:this.chartPblmTypeData.error, name: '特别严重问题',itemStyle:{normal:{color:'#01d8da'}}},
  1876. // ]
  1877. // }
  1878. // ]
  1879. // };
  1880. var option = {
  1881. title: {
  1882. text: "严重程度",
  1883. textStyle: {
  1884. color: '#7a7a7a',
  1885. fontSize: 14
  1886. },
  1887. itemGap: 10,
  1888. left: '42%',
  1889. top: '45%'
  1890. },
  1891. color: ['#fe7627', '#feab22', '#259df8', '#e55148'],
  1892. tooltip : {
  1893. trigger: 'item',
  1894. formatter: "{a} <br/>{b} : {c} ({d}%)"
  1895. },
  1896. series : [
  1897. {
  1898. name:'问题严重程度',
  1899. type:'pie',
  1900. labelLine:{
  1901. normal:{
  1902. length:8
  1903. }
  1904. },
  1905. label: {
  1906. normal: {
  1907. // position: 'inside',
  1908. formatter: function(params) {
  1909. return params.name+" ("+params.value+"个)"
  1910. },
  1911. }
  1912. },
  1913. radius : ['50%', '70%'],
  1914. data:[
  1915. {value:this.chartPblmTypeData.info, name:'一般'},
  1916. {value:this.chartPblmTypeData.warn, name:'较重'},
  1917. {value:this.chartPblmTypeData.fatal, name:'严重'}
  1918. /* , {value:this.chartPblmTypeData.error, name:'特重'}*/
  1919. ]
  1920. }
  1921. ]
  1922. };
  1923. this.chart5.setOption(option);
  1924. }
  1925. },
  1926. beforeCreate() {
  1927. }, //生命周期 - 创建之前
  1928. beforeMount() {
  1929. }, //生命周期 - 挂载之前
  1930. beforeUpdate() {
  1931. }, //生命周期 - 更新之前
  1932. updated() {
  1933. }, //生命周期 - 更新之后
  1934. beforeDestroy() {
  1935. clearInterval(this.timerData);
  1936. }, //生命周期 - 销毁之前
  1937. destroyed() {
  1938. }, //生命周期 - 销毁完成
  1939. activated() {
  1940. } //如果页面有keep-alive缓存功能,这个函数会触发
  1941. };
  1942. </script>
  1943. <style scoped>
  1944. .content{
  1945. width: 100%;
  1946. height:100%;
  1947. background: #F8F8F8;
  1948. position: relative;
  1949. }
  1950. .mainBox{
  1951. position: absolute;
  1952. z-index: 300;
  1953. top:20px;
  1954. left:14px;
  1955. width: calc(100% - 28px);
  1956. height:calc(100% - 40px);
  1957. margin: 0;
  1958. padding: 0;
  1959. display: flex;
  1960. justify-content: center;
  1961. align-items: center;
  1962. }
  1963. .slideBar{
  1964. width: 440px;
  1965. max-width: 440px;
  1966. height:100%;
  1967. }
  1968. .centerBar{
  1969. width: calc(100% - 880px);
  1970. height:100%;
  1971. position: relative;
  1972. background:#F0FAFF;
  1973. }
  1974. .slideBar-left-top{
  1975. width: 100%;
  1976. height:25%;
  1977. background: #FFFFFF;
  1978. box-shadow: 1px 1px 5px 0px rgba(210,220,225,0.5);
  1979. border-radius: 8px;
  1980. }
  1981. .slideBar-left-bottom{
  1982. width: 100%;
  1983. height:calc(75% - 10px);
  1984. margin-top: 10px;
  1985. background: #FFFFFF;
  1986. box-shadow: 1px 1px 5px 0px rgba(210,220,225,0.5);
  1987. border-radius: 8px;
  1988. }
  1989. .slideBar-right-top{
  1990. width: 100%;
  1991. height:30%;
  1992. background: #FFFFFF;
  1993. box-shadow: 1px 1px 5px 0px rgba(210,220,225,0.5);
  1994. border-radius: 8px;
  1995. }
  1996. .slideBar-right-center{
  1997. width: 100%;
  1998. height:calc(35% - 10px);
  1999. background: #FFFFFF;
  2000. box-shadow: 1px 1px 5px 0px rgba(210,220,225,0.5);
  2001. border-radius: 8px;
  2002. margin-top: 10px;
  2003. }
  2004. .slideBar-right-bottom{
  2005. width: 100%;
  2006. height:calc(35% - 10px);
  2007. background: #FFFFFF;
  2008. box-shadow: 1px 1px 5px 0px rgba(210,220,225,0.5);
  2009. border-radius: 8px;
  2010. margin-top: 10px;
  2011. }
  2012. .slideBar-title{
  2013. width: calc(100% - 39px);
  2014. height:39px;
  2015. margin: 0 auto;
  2016. border-bottom: 1px solid #DDDDDD;
  2017. display: flex;
  2018. align-items: center;
  2019. position: relative;
  2020. }
  2021. .slideBar-title img{
  2022. width: 18px;
  2023. height:18px;
  2024. margin-right: 10px;
  2025. }
  2026. .slideBar-title span.titleSearch{
  2027. font-size: 14px;
  2028. font-family: 黑体;
  2029. color: #222222;
  2030. margin-left: 10px;
  2031. }
  2032. #chart1{
  2033. width: 100%;
  2034. height:100%;
  2035. }
  2036. .slideBar-title span.titleText{
  2037. font-size: 18px;
  2038. font-family: 黑体;
  2039. font-weight: bold;
  2040. color: #222222;
  2041. }
  2042. .titlePicker{
  2043. width: 110px;
  2044. position: absolute;
  2045. z-index: 1001;
  2046. top:5px;
  2047. right:0px;
  2048. box-shadow: 0 2px 12px 0 rgb(0 0 0 / 10%);
  2049. }
  2050. .slideRightUl{
  2051. list-style: none;
  2052. display: flex;
  2053. align-items: center;
  2054. height:100%;
  2055. }
  2056. .slideRightUl li:first-child{
  2057. margin-left: 0px !important;
  2058. }
  2059. .slideRightUl li{
  2060. height:calc(100% - 2px);
  2061. display: flex;
  2062. justify-content: center;
  2063. align-items: center;
  2064. font-size: 18px;
  2065. font-family: 黑体;
  2066. font-weight: bold;
  2067. color: #777777;
  2068. border-bottom: 2px solid transparent;
  2069. cursor: pointer;
  2070. margin-left: 18px;
  2071. }
  2072. .is-active{
  2073. font-size: 18px;
  2074. font-family: SourceHanSansCN-Medium, SourceHanSansCN;
  2075. font-weight: 500;
  2076. border-bottom: 2px solid #0896eb !important;
  2077. color:#222222 !important;
  2078. }
  2079. .slideBar-content{
  2080. width: calc(100% - 40px);
  2081. margin: 0 auto;
  2082. height:calc(100% - 40px);
  2083. }
  2084. .slideBar-table{
  2085. width: calc(100% - 40px);
  2086. margin-left: 20px;
  2087. height:calc(45% - 20px);
  2088. overflow: auto;
  2089. }
  2090. .slideBar-pie{
  2091. width: calc(100% - 40px);
  2092. margin-left: 20px;
  2093. height:calc(55% - 40px);
  2094. }
  2095. .ul-notify{
  2096. width: 100%;
  2097. line-height: 30px;
  2098. list-style: none;
  2099. height: 100%;
  2100. overflow-y: auto;
  2101. }
  2102. .ul-notify li{
  2103. width: 100%;
  2104. line-height: 30px;
  2105. display: flex;
  2106. align-items: center;
  2107. font-size: 14px;
  2108. color: #817c7c;
  2109. border-bottom: 1px dashed #cdced9;
  2110. cursor: pointer;
  2111. }
  2112. .ul-notify li:hover{
  2113. color: #33b1ff;
  2114. }
  2115. .ul-notify li em{
  2116. display: block;
  2117. width: 4px;
  2118. height:4px;
  2119. border-radius: 30px;
  2120. margin-right: 10px;
  2121. }
  2122. .ul-notify li span:first-child{
  2123. display: flex;
  2124. align-items: center;
  2125. }
  2126. .ul-notify li span:nth-child(2){
  2127. width: calc(100% - 20px);
  2128. overflow:hidden;
  2129. text-overflow:ellipsis;
  2130. white-space:nowrap!important;
  2131. }
  2132. .el-table {
  2133. margin-top: 5px;
  2134. }
  2135. .el-table /deep/ th{
  2136. background: #E1F0FF !important;
  2137. color: #507896!important;
  2138. }
  2139. .el-table /deep/ th{
  2140. box-shadow: none !important;
  2141. }
  2142. .el-table /deep/ tr{
  2143. box-shadow: none !important;
  2144. }
  2145. .rangText{
  2146. font-size: 16px;
  2147. font-family: SourceHanSansCN-Medium, SourceHanSansCN;
  2148. font-weight: 500;
  2149. color: #0078FF;
  2150. }
  2151. .rangeTable{
  2152. overflow: auto;
  2153. }
  2154. /*#chart4{*/
  2155. /* width: 100%;*/
  2156. /* height:100%;*/
  2157. /*}*/
  2158. .backBtn{
  2159. position: absolute;
  2160. z-index: 1002;
  2161. top:10px;
  2162. right:10px;
  2163. }
  2164. .summary-ul{
  2165. list-style: none;
  2166. width: 100%;
  2167. height:100%;
  2168. }
  2169. .summary-ul li{
  2170. float: left;
  2171. width: calc(33.33% - 10px);
  2172. margin-left: 5px;
  2173. margin-right: 5px;
  2174. height: calc(50% - 20px);
  2175. margin-top: 10px;
  2176. background: #FFFFFF;
  2177. box-shadow: 0px 1px 5px 0px rgba(100,180,255,0.5);
  2178. border-radius: 5px;
  2179. cursor: pointer;
  2180. }
  2181. .summary-ul li p{
  2182. width: 100%;
  2183. height: 50%;
  2184. display: flex;
  2185. justify-content: center;
  2186. align-items: center;
  2187. font-size: 14px;
  2188. font-family: SourceHanSansCN-Medium, SourceHanSansCN;
  2189. font-weight: bold;
  2190. color: #666666;
  2191. }
  2192. .fontNum-1{
  2193. color:#00B4FF;
  2194. }
  2195. .fontNum-2{
  2196. color:#738CFF;
  2197. }
  2198. .fontNum-3{
  2199. color: #FF9141;
  2200. }
  2201. .fontNum-4{
  2202. color: #00C3A5;
  2203. }
  2204. .fontNum-5{
  2205. color:#FF6E96;
  2206. }
  2207. .fontNum-6{
  2208. color:#FF6ECD;
  2209. }
  2210. .fontNumPercent{
  2211. position: absolute;
  2212. z-index:1200;
  2213. right:10px;
  2214. bottom:0px;
  2215. font-size: 10px;
  2216. }
  2217. .fontNumPercent img{
  2218. width: 18px;
  2219. height:20px;
  2220. }
  2221. .summary-content{
  2222. display: flex !important;
  2223. justify-content: center !important;
  2224. align-items: center !important;
  2225. font-size: 20px !important;
  2226. font-family: SourceHanSansCN-Bold, SourceHanSansCN;
  2227. font-weight: bold !important;
  2228. position: relative;
  2229. }
  2230. .officeNotice{
  2231. list-style: none;
  2232. width: 100%;
  2233. height:calc(100% - 40px);
  2234. margin-top: 20px;
  2235. padding: 0;
  2236. cursor: pointer;
  2237. }
  2238. .officeNotice li:first-child{
  2239. padding: 10px;
  2240. display: flex;
  2241. float: left;
  2242. justify-content: center;
  2243. list-style: none;
  2244. width: calc(100% - 40px);
  2245. height: calc(100% - 20px);
  2246. margin-left: 20px;
  2247. /* padding: 0; */
  2248. /*margin-right: 5px;*/
  2249. background: url("../../assets/fujian/syx.png") no-repeat;
  2250. background-size: 100% 100%;
  2251. /* box-shadow: 0px 1px 5px 0px rgb(255 125 30 / 40%); */
  2252. border: 1px solid #dddddd;
  2253. }
  2254. .officeNotice li:nth-child(2){
  2255. padding: 10px;
  2256. display: flex;
  2257. float: left;
  2258. list-style: none;
  2259. width: calc(50% - 40px);
  2260. height: calc(100% - 20px);
  2261. margin: 0;
  2262. /* padding: 0; */
  2263. margin-left: 20px;
  2264. background: url("../../assets/fujian/syx1.png") no-repeat;
  2265. background-size: 100% 100%;
  2266. /* box-shadow: 0px 1px 5px 0px rgb(255 125 30 / 40%); */
  2267. border: 1px solid #dddddd;
  2268. }
  2269. .officeNotice li div:first-child{
  2270. width: 30%;
  2271. height:100%;
  2272. }
  2273. .officeNotice li div:nth-child(2){
  2274. width: 30%;
  2275. height:100%;
  2276. }
  2277. .officeNotice li div img{
  2278. width: 65px;
  2279. height:100%;
  2280. }
  2281. .officeNotice li div span:first-child{
  2282. display: block;
  2283. width: 100%;
  2284. height:50%;
  2285. text-align: center;
  2286. font-size: 20px;
  2287. font-family: SourceHanSansCN-Regular, SourceHanSansCN;
  2288. font-weight: bold;
  2289. color: #666666;
  2290. }
  2291. .officeNotice li div span:nth-child(2){
  2292. display: block;
  2293. width: 100%;
  2294. height:50%;
  2295. text-align: center;
  2296. font-size: 20px;
  2297. font-family: SourceHanSansCN-Medium, SourceHanSansCN;
  2298. font-weight: 500;
  2299. color: #4A4A4A;
  2300. }
  2301. .example{
  2302. width: 120px;
  2303. list-style: none;
  2304. position: absolute;
  2305. z-index:1005;
  2306. right:20px;
  2307. bottom:30px;
  2308. }
  2309. .example li{
  2310. display: flex;
  2311. font-size: 14px;
  2312. font-weight: bold;
  2313. height: 30px;
  2314. line-height: 30px;
  2315. font-size: 12px;
  2316. font-family: SourceHanSansCN-Regular, SourceHanSansCN;
  2317. font-weight: 500;
  2318. color: #2196F3;
  2319. justify-content: center;
  2320. margin-top: 10px;
  2321. font-size: 15px;
  2322. background: #d9edff;
  2323. border: 1px solid #85c4ff;
  2324. text-decoration: underline;
  2325. cursor: pointer;
  2326. }
  2327. .example li:hover{
  2328. color: #217cff !important;
  2329. }
  2330. /*.example li:nth-child(2){*/
  2331. /* border-bottom: 1px solid #DDDDDD;*/
  2332. /* cursor: pointer;*/
  2333. /*}*/
  2334. /*.example li:nth-child(2):hover{*/
  2335. /* color:#37AAFF !important;*/
  2336. /*}*/
  2337. .example li img{
  2338. width: 20px;
  2339. height:20px;
  2340. margin-right: 15px;
  2341. margin-left: 15px;
  2342. }
  2343. .exampleBack{
  2344. list-style: none;
  2345. position: absolute;
  2346. z-index:1005;
  2347. right:10px;
  2348. top:5px;
  2349. background: #FFFFFF;
  2350. box-shadow: 1px 1px 5px 0px rgba(210,220,225,0.7);
  2351. border-radius: 3px;
  2352. cursor: pointer;
  2353. }
  2354. .exampleBack li{
  2355. display: flex;
  2356. justify-content: center;
  2357. align-items: center;
  2358. font-size: 15px;
  2359. font-weight: bold;
  2360. height: 40px;
  2361. line-height: 40px;
  2362. font-weight: bold;
  2363. color: #4A4A4A;
  2364. letter-spacing: 3px;
  2365. padding: 0px 10px
  2366. }
  2367. .exampleBack li span:first-child{
  2368. margin-right: 20px;
  2369. }
  2370. .exampleBack li span:nth-child(2):hover{
  2371. color:#37AAFF !important;
  2372. }
  2373. .box-list {
  2374. width: 100%;
  2375. height: calc(100% - 40px);
  2376. padding: 0 10px;
  2377. }
  2378. .box-list ul {
  2379. width: 100%;
  2380. height:100%;
  2381. overflow: auto;
  2382. list-style: none;
  2383. margin: 0;
  2384. padding: 0;
  2385. }
  2386. .box-list ul li {
  2387. width: 100%;
  2388. display: flex;
  2389. align-items: center;
  2390. height: 25px;
  2391. font-size: 14px;
  2392. color: #6d6d6d;
  2393. font-family: "微软雅黑";
  2394. cursor: pointer;
  2395. }
  2396. .box-list ul li img{
  2397. margin-right: 5px;
  2398. width: 15px;
  2399. height:15px;
  2400. }
  2401. .box-list ul li span:nth-child(2) {
  2402. width: calc(100% - 130px);
  2403. letter-spacing: 2px;
  2404. white-space: nowrap;
  2405. text-overflow: ellipsis;
  2406. overflow: hidden;
  2407. }
  2408. .box-list ul li span:nth-child(2):hover{
  2409. color: #4fa2f0;
  2410. }
  2411. .box-list ul li span:nth-child(3) {
  2412. width: 90px;
  2413. color: #636363;
  2414. text-align: center;
  2415. }
  2416. .DictTitle{
  2417. width: 100%;
  2418. padding: 10px;
  2419. font-weight: bold;
  2420. font-size: 18px;
  2421. text-align: center;
  2422. }
  2423. .pblmDictContent{
  2424. border-radius: 4px;
  2425. border: 1px solid #ebeef5;
  2426. background-color: #fff;
  2427. overflow: hidden;
  2428. color: #303133;
  2429. transition: .3s;
  2430. box-shadow: 0 2px 12px 0 rgb(0 0 0 / 10%);
  2431. margin-top: 20px;
  2432. }
  2433. .level1Title{
  2434. display: block;
  2435. line-height: 30px;
  2436. width: 100%;
  2437. padding: 10px;
  2438. font-weight: bold;
  2439. font-size: 16px;
  2440. border-bottom: 1px solid #ebeef5;
  2441. }
  2442. .level2Title{
  2443. display: block;
  2444. width: 100%;
  2445. line-height: 30px;
  2446. padding: 10px;
  2447. font-weight: bold;
  2448. font-size: 16px;
  2449. text-indent: 20px;
  2450. border-bottom: 1px solid #ebeef5;
  2451. }
  2452. .level3Title{
  2453. display: block;
  2454. line-height: 30px;
  2455. width: 100%;
  2456. padding: 10px;
  2457. font-weight: bold;
  2458. font-size: 14px;
  2459. text-indent: 60px;
  2460. border-bottom: 1px solid #ebeef5;
  2461. }
  2462. ::-webkit-scrollbar {
  2463. width: 8px;
  2464. background: #F5F5F5;
  2465. box-shadow: inset 0px 0px 5px 0px rgba(180,180,180,0.4);
  2466. border-radius: 4px;
  2467. }
  2468. /* 滚动条上的滚动滑块 */
  2469. ::-webkit-scrollbar-thumb {
  2470. background: #C8DCE6;
  2471. border-radius: 3px;
  2472. }
  2473. </style>