security-plan.vue 210 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716
  1. <template>
  2. <el-row class="contentBox">
  3. <transition name="el-fade-in-linear">
  4. <el-col class="leftBox" v-show="stroes.$state.leftBtn">
  5. <div class="leftTop">
  6. <h4>疏导区基本情况</h4>
  7. <div style="position: absolute;right: 18px;top: 20px;font-size: 0.15rem;color: #666;cursor: pointer">
  8. <el-button
  9. size="mini"
  10. style="border:none"
  11. >
  12. 虹桥镇(自选)中网格:2,小网格:11
  13. </el-button>
  14. </div>
  15. <div class="leftTopContent2">
  16. <el-row class="sdqBasicInfo sdline1">
  17. <div
  18. class="basicItem"
  19. style="cursor: pointer"
  20. v-for="(item, index) in diversionArea.slice(0,5)"
  21. :key="index"
  22. >
  23. <div style="padding: 0.03rem 0; text-align: center" @click="openPdf2(item)" class="pdfWrap">
  24. <span style="display: block;position:relative">
  25. <img src="@/assets/img/pdf.png" alt="" class="pdfImg" v-if="item.url" />
  26. <Strong
  27. style="color: #01E0FF;font-weight: 600;font-size: 0.26rem"
  28. >
  29. <span v-if="isNaN(item.value)" style="fontSize: 0.2rem !important">{{ item.value || 0 }}</span>
  30. <span v-if="!isNaN(item.value)">{{ item.value }}</span>
  31. </Strong>
  32. {{ item.unit }}
  33. </span>
  34. <span class="nameBox" style="">{{ item.name }}</span>
  35. </div>
  36. </div>
  37. </el-row>
  38. <el-row class="sdqBasicInfo sdline2" :style="{'marginTop':marginTop1}" >
  39. <div
  40. class="basicItem"
  41. v-for="(item, index) in diversionArea.slice(7,10)"
  42. :key="index"
  43. >
  44. <div style="padding: 0.03rem 0; text-align: center;">
  45. <span style="display: block;">
  46. <Strong
  47. style="color: #F48354;font-weight: 600;font-size: 0.3rem"
  48. >
  49. <CountTo :startVal="0" :endVal="item.value || 0" :duration="3000" v-if="!isNaN(item.value)">{{ item.value || 0 }}</CountTo>
  50. <span v-if="isNaN(item.value)" style="fontSize: 0.2rem !important">{{ item.value || 0 }}</span>
  51. </Strong>
  52. {{ item.unit }}
  53. </span>
  54. <span class="nameBox" style="">{{ item.name }}</span>
  55. </div>
  56. </div>
  57. </el-row>
  58. <el-row class="sdqBasicInfo sdline2" :style="{'marginTop':marginTop1}" v-if="diversionArea2State">
  59. <div
  60. class="basicItem"
  61. v-for="(item, index) in diversionArea2"
  62. :key="index"
  63. >
  64. <div style="padding: 0.03rem 0; text-align: center;">
  65. <span style="display: block;">
  66. <Strong
  67. style="color: #058DFE;font-weight: 600;font-size: 0.3rem"
  68. >
  69. {{ item.value || 0 }}
  70. <span v-if="isNaN(item.value)" style="fontSize: 0.2rem !important">{{ item.value || 0 }}</span>
  71. </Strong>
  72. {{ item.unit }}
  73. </span>
  74. <span class="nameBox" style="">{{ item.name }}</span>
  75. </div>
  76. </div>
  77. </el-row>
  78. <el-row v-if="basicStatisStatus" class="sdline3" :style="{'marginTop':marginTop1}">
  79. <div
  80. class="basicItem"
  81. v-for="(item, index) in line3Array"
  82. :key="index"
  83. @click="basicStaticsData(item.value,item.name)"
  84. >
  85. <div style="padding: 0.03rem 0; text-align: center">
  86. <span style="display: block">
  87. <Strong
  88. style="color: #4FE261;font-weight: 600;font-size: .225rem"
  89. >
  90. <CountTo :startVal="0" :endVal="item.count || 0" :duration="3000" v-if="!isNaN(item.count)">{{ item.count || 0 }}</CountTo>
  91. <span v-if="isNaN(item.count)" style="fontSize: 0.2rem !important">{{ item.count || 0 }}</span>
  92. </Strong>
  93. {{ item.unit }}
  94. </span>
  95. <span class="nameBox" style="font-size:12px">{{ item.name }}</span>
  96. </div>
  97. </div>
  98. </el-row>
  99. <!-- <el-row class="sdqBasicInfo sdline3" style="position:relative">
  100. <div @click="basicGoBack" class="return">
  101. <div class="returnText">返回</div>
  102. </div>
  103. 表格展示区域 -->
  104. <!-- <el-table :data="tableDataBasic" style="width: 100%;height:1.7rem;margin-top:20px;" class="transparentTableRow" @mouseenter="autoScroll1(true)" @mouseleave="autoScroll1()">
  105. <el-table-column prop="date" label="Date" width="180" />
  106. <el-table-column prop="name" label="Name" width="180" />
  107. <el-table-column prop="address" label="Address" />
  108. </el-table> -->
  109. <!-- </el-row> -->
  110. </div>
  111. </div>
  112. <div class="leftCenter">
  113. <div style="display: flex;">
  114. <h4>疏导区社会单位情况</h4>
  115. <div style="display: flex; border-bottom: 0.0125rem solid rgba(115, 251, 253, 0.5);">
  116. <el-form class="titleElForm" :inline="true" size="mini" style="height: 0">
  117. <el-form-item>
  118. <!-- <el-select v-model="barForm.fireType" @change="getHouse()" filterable clearable placeholder="场所">
  119. <el-option v-for="(item, ind) in fireTypeList" :key="ind" :label="item" :value="item"></el-option>
  120. </el-select> -->
  121. <!-- <el-select v-model="units" filterable clearable placeholder="场所">
  122. <el-option v-for="(item, ind) in diversionArea" :key="ind" :label="item.name" :value="item.value"></el-option>
  123. </el-select> -->
  124. <el-select v-model="value111" @change="getOneUnit" class="m-2" placeholder="请选择" style="width:200px">
  125. <el-option
  126. v-for="item in line3Array"
  127. :key="item.value"
  128. :label="item.name"
  129. :value="item.value"
  130. />
  131. </el-select>
  132. </el-form-item>
  133. </el-form>
  134. </div>
  135. </div>
  136. <unit-box :typeValue="value111" :arrayData="arrayData" :staticData="staticData" v-if="staticData.total" :type="value111" @staticsPoint="staticsPoint"></unit-box>
  137. <div v-else>暂无数据</div>
  138. <!-- <category
  139. ref="category"
  140. v-show="category"
  141. :dataMap="reportComplaintList.map((val, ind) => val.value)"
  142. :xData="reportComplaintList.map((val, ind) => val.name)"
  143. :isSlice="10"
  144. :width="40"
  145. color="#73FBFD"
  146. @echartsClick="categoryClick"
  147. ></category> -->
  148. </div>
  149. <!-- <div class="rightCenter">
  150. <h4>执勤战备力量部署</h4>
  151. <div class="rightTopContent">
  152. <div style="width:95%;margin:0 auto;border: 1px solid rgba(48, 207, 255, 0.6); box-shadow: inset 0 0 0.07rem 0.04rem rgb(115 251 253 / 40%); box-sizing: border-box;display: flex;
  153. justify-content: space-between;padding: .15rem .125rem .15rem">
  154. <span>闵行支队安保分指挥所</span> <span>淮虹路151弄9号</span> <span>电台:闵101</span> <span>值班电话:33281293</span>
  155. </div>
  156. <el-row>
  157. <el-col :span="5" style="border: 1px solid rgba(48, 207, 255, 0.6); margin: .25rem .08rem .125rem .16rem; box-shadow: inset 0 0 0.07rem 0.04rem rgb(115 251 253 / 40%); box-sizing: border-box"
  158. v-for="(item,index) in staticData.array1" :key="index" @click="goPoints(item.facilityType)">
  159. <div style="padding: 0.2rem 0; text-align: center;user-select:none !important">
  160. <span style="display: block">
  161. <Strong style="color:rgb(1, 224, 255)" :style="{ fontSize: '0.3rem'}" >
  162. <CountTo :startVal='0' :endVal='item.count || 0' :duration='3000'>{{ item.count || 0 }}</CountTo>
  163. </Strong>
  164. </span>
  165. <span style="font-size:.1375rem">{{item.streetTown}}</span>
  166. </div>
  167. </el-col>
  168. </el-row>
  169. </div>
  170. </div> -->
  171. <!-- 疏导区监督执法 start -->
  172. <div class="girdCheckSec" style="position: relative">
  173. <h4 style="display: flex">疏导区监督执法</h4>
  174. <div class="girdCheckItem">
  175. <div class="row_g" style="color:#fff">
  176. <div @click="basicStaticsData('监督执法1')">检查家数<br>1091次</div>
  177. <div @click="basicStaticsData('监督执法2')">发现隐患数<br>778次</div>
  178. <div @click="basicStaticsData('监督执法3')">督改隐患数<br>600次</div>
  179. <div @click="basicStaticsData('监督执法4')">处罚金额<br>940500元</div>
  180. <div @click="basicStaticsData('监督执法5')">查封<br>11个</div>
  181. </div>
  182. </div>
  183. <el-table :data="tableDataGrid2"
  184. class="transparentTableRow"
  185. height="57%"
  186. :empty-text="dataNo2"
  187. >
  188. <el-table-column prop="id" label="类型" min-width="25" show-overflow-tooltip/>
  189. <el-table-column prop="count1" label="华漕镇" min-width="20" show-overflow-tooltip/>
  190. <el-table-column prop="count2" label="新虹街道" min-width="20" show-overflow-tooltip/>
  191. <el-table-column prop="count3" label="七宝镇" min-width="20" show-overflow-tooltip/>
  192. <el-table-column prop="count4" label="虹桥镇" min-width="20" show-overflow-tooltip/>
  193. </el-table>
  194. </div>
  195. <!-- <div class="leftCenter">
  196. <h4 class="h4Top">接警处置情况</h4>
  197. <category
  198. ref="category"
  199. v-show="category"
  200. :dataMap="reportComplaintList.map((val, ind) => val.value)"
  201. :xData="reportComplaintList.map((val, ind) => val.name)"
  202. :isSlice="10"
  203. :width="40"
  204. color="#73FBFD"
  205. @echartsClick="categoryClick"
  206. ></category>
  207. <div @click="goBack" class="return" v-if="!category">
  208. <div class="returnText">返回</div>
  209. </div>
  210. </div> -->
  211. <div class="leftBotContent2">
  212. <el-table v-if="!category" :data="tableData" class="transparentTableRow" height="100%" ref="reportTable" @mouseenter="autoScroll(true)" @mouseleave="autoScroll()">
  213. <el-table-column v-for="item in headerData" show-overflow-tooltip :key="item.prop" :prop="item.prop" align="center" min-width="20" :label="item.name">
  214. <template #default="scope">
  215. {{ item.prop === "type" ? "" : item.prop === "status" ? (scope.row[item.prop] == 1 ? "可用" : "不可用") : scope.row[item.prop] }}
  216. </template>
  217. </el-table-column>
  218. </el-table>
  219. </div>
  220. </el-col>
  221. </transition>
  222. <transition name="el-fade-in-linear">
  223. <el-col class="centerBox" style="width: 100%">
  224. <div :class="stroes.$state.leftBtn ? 'leftBtn btnW' : 'leftBtn0 btnW'" @click="stroes.leftBtnClick()">
  225. <img src="@/assets/img/svg/left.svg" alt="" class="img" />
  226. </div>
  227. <el-col class="centerContent" id="mapF"></el-col>
  228. <div :class="stroes.$state.rightBtn ? 'rightBtn btnW' : 'rightBtn0 btnW'" @click="stroes.rightBtnClick()">
  229. <img src="@/assets/img/svg/left.svg" alt="" class="img" />
  230. </div>
  231. <div class="mapTips_type">
  232. <img src="@/assets/img/svg/danweitop.svg" alt="" class="img" />
  233. <div class="content">
  234. <p>类型筛选</p>
  235. <div class="selectType">
  236. <!-- <div @click="checkboxChange(0)" :class="checkedArray.checkedData[0] == 0 ? 'checkTypeSelect' : ''">
  237. <img :src="stores.sadianIcon.xfc" alt="" />
  238. <span>车辆</span>
  239. </div> -->
  240. <!-- <div @click="checkboxChange(1)" :class="checkedArray.checkedData[0] == 1 ? 'checkTypeSelect' : ''">
  241. <img :src="stores.sadianIcon.lsjq" alt="" />
  242. <span>历史警情</span>
  243. </div>
  244. <div @click="checkboxChange(2)" :class="checkedArray.checkedData[0] == 2 ? 'checkTypeSelect' : ''">
  245. <img :src="stores.sadianIcon.lshz" alt="" />
  246. <span>历史火灾</span>
  247. </div> -->
  248. <!-- <div @click="checkboxChange(3)" :class="checkedArray.checkedData[0] == 3 ? 'checkTypeSelect' : ''">
  249. <img :src="stores.sadianIcon.zddw" alt="" />
  250. <span>重点单位</span>
  251. </div> -->
  252. <!-- <div
  253. :class="
  254. checkedArray.checkedData[0] == 4
  255. ? 'checkTypeSelect'
  256. : checkedArray.checkedData[0] == 40
  257. ? 'checkTypeSelect'
  258. : checkedArray.checkedData[0] == 41
  259. ? 'checkTypeSelect'
  260. : checkedArray.checkedData[0] == 42
  261. ? 'checkTypeSelect'
  262. : checkedArray.checkedData[0] == 43
  263. ? 'checkTypeSelect'
  264. : checkedArray.checkedData[0] == 44
  265. ? 'checkTypeSelect'
  266. : checkedArray.checkedData[0] == 45
  267. ? 'checkTypeSelect'
  268. : checkedSelectValue == '46'
  269. ? stores.sadianIcon.yjxfz
  270. : checkedSelectValue == '47'
  271. ? stores.sadianIcon.jzzzxfd
  272. : ' '
  273. "
  274. >
  275. <img
  276. :src="
  277. checkedSelectValue == '40'
  278. ? stores.sadianIcon.xfz
  279. : checkedSelectValue == '41'
  280. ? stores.sadianIcon.zzd
  281. : checkedSelectValue == '42'
  282. ? stores.sadianIcon.jzwxxfz
  283. : checkedSelectValue == '43'
  284. ? stores.sadianIcon.csxfz
  285. : checkedSelectValue == '44'
  286. ? stores.sadianIcon.qyxfd
  287. : checkedSelectValue == '45'
  288. ? stores.sadianIcon.sqwxxfz
  289. : checkedSelectValue == '46'
  290. ? stores.sadianIcon.sqwxxfz
  291. : checkedSelectValue == '47'
  292. ? stores.sadianIcon.sqwxxfz
  293. : stores.sadianIcon.xfz
  294. "
  295. alt=""
  296. />
  297. <span>{{ checkedSelectLabel }}</span>
  298. <el-select
  299. v-model="checkedSelectValue"
  300. placeholder="消防站"
  301. class="selectTypeIcon"
  302. style="display: inline-block; width: 100%; position: absolute; right: 0"
  303. @change="selectArray"
  304. >
  305. <el-option v-for="item in checkedSelectArray" :key="item.value" :label="item.label" :value="item.value"> </el-option>
  306. </el-select>
  307. </div> -->
  308. <div @click="checkboxChange(19)" :class="checkedArray.checkedData[0] == 19 ? 'checkTypeSelect' : ''">
  309. <img :src="stores.sadianIcon.d" alt="" />
  310. <span>大网格</span>
  311. </div>
  312. <div @click="checkboxChange(15)" :class="checkedArray.checkedData[0] == 15 ? 'checkTypeSelect' : ''">
  313. <img :src="stores.sadianIcon.z" alt="" />
  314. <span>中网格</span>
  315. </div>
  316. <div @click="checkboxChange(16)" :class="checkedArray.checkedData[0] == 16 ? 'checkTypeSelect' : ''">
  317. <img :src="stores.sadianIcon.x" alt="" />
  318. <span>小网格</span>
  319. </div>
  320. <!-- <div @click="checkboxChange(17)" :class="checkedArray.checkedData[0] == 17 ? 'checkTypeSelect' : ''">
  321. <img :src="stores.sadianIcon.ssjq" alt="" />
  322. <span>监控视频</span>
  323. </div>
  324. <div @click="checkboxChange(18)" :class="checkedArray.checkedData[0] == 18 ? 'checkTypeSelect' : ''">
  325. <img :src="stores.sadianIcon.jdjc" alt="" />
  326. <span>监督检查</span>
  327. </div> -->
  328. <div @click="checkboxChange(20)" :class="checkedArray.checkedData[0] == 20 ? 'checkTypeSelect' : ''">
  329. <img :src="stores.sadianIcon.zfjly" alt="" />
  330. <span>执法记录仪</span>
  331. </div>
  332. <div @click="checkboxChange(21)" :class="checkedArray.checkedData[0] == 21 ? 'checkTypeSelect' : ''">
  333. <img :src="stores.sadianIcon.yyjk" alt="" />
  334. <span>鹰眼监控</span>
  335. </div>
  336. </div>
  337. </div>
  338. </div>
  339. </el-col>
  340. </transition>
  341. <transition name="el-fade-in-linear">
  342. <el-col class="rightBox" v-show="stroes.$state.rightBtn">
  343. <!-- 疏导区每日动态 start -->
  344. <div class="dailyNewSec">
  345. <h4 style="display: flex">疏导区每日动态</h4>
  346. <div style="position: absolute;right: 20px;top: 17px;font-size: 0.15rem;color: #666;cursor: pointer">
  347. <el-button
  348. size="mini"
  349. @click="tabTActive(1)"
  350. :class="{ btnClick: tabsType == '1' }"
  351. >
  352. 每日动态
  353. </el-button>
  354. <el-button
  355. size="mini"
  356. @click="tabTActive(2)"
  357. :class="{ btnClick: tabsType == '2' }"
  358. >
  359. 电子台账
  360. </el-button>
  361. </div>
  362. <div class="dailyItem " v-if="tabsType==1">
  363. <Vue3SeamlessScroll :list="dailyArray" :step=".1" :hover="true">
  364. <el-row>
  365. <el-col v-for="(item,index) in dailyArray" :key="index">
  366. <a target="_blank" @click="openPdf(item.url)">{{ item.title }}</a>
  367. </el-col>
  368. </el-row>
  369. </Vue3SeamlessScroll>
  370. </div>
  371. <div class="dailyItem " v-if="tabsType==2">
  372. <Vue3SeamlessScroll :list="dailyArray" :step=".1" :hover="true">
  373. <el-row>
  374. <el-col v-for="(item,index) in dailyArray2" :key="index">
  375. <a target="_blank" @click="openPdf(item.url)">{{ item.title }}</a>
  376. </el-col>
  377. </el-row>
  378. </Vue3SeamlessScroll>
  379. </div>
  380. </div>
  381. <!-- 疏导区网格检查情况 start -->
  382. <div class="girdCheckSec" style="position: relative">
  383. <h4 style="display: flex">疏导区网格检查情况</h4>
  384. <div style="position: absolute;right: 4px;top: 0px;font-size: 0.15rem;color: #666;cursor: pointer">
  385. <!-- <el-button
  386. size="mini"
  387. @click="tabTActive(1)"
  388. :class="{ btnClick: tabsType == '1' }"
  389. style="border:none"
  390. >
  391. 检查率:100%
  392. </el-button> -->
  393. </div>
  394. <div class="girdCheckItem">
  395. <div class="row_g">
  396. <div style="font-size:.175rem">累计:</div>
  397. <div @click="basicStaticsData('新消监')">检查家数<br>4128家次</div>
  398. <div @click="basicStaticsData('新消监')">发现隐患数<br>1047处</div>
  399. <div @click="basicStaticsData('新消监')">整改隐患<br>786处</div>
  400. <!-- <div style="font-size:.175rem;margin-left:.125rem" >当日:</div>
  401. <div @click="basicStaticsData('新消监')">检查家数<br>296家次</div>
  402. <div @click="basicStaticsData('新消监')">发现隐患数<br>64处</div>
  403. <div @click="basicStaticsData('新消监')">整改隐患<br>62处</div> -->
  404. </div>
  405. <div class="checkRate">
  406. 检查率:
  407. <img src="@/assets/img/j1.png" alt="" v-if="jEndS<=100">
  408. <img src="@/assets/img/j2.png" alt="" v-if="100<jEndS && jEndS<=200">
  409. <img src="@/assets/img/j3.png" alt="" v-if="200<jEndS">
  410. <span :style="{color:100<jEndS && jEndS<=200 ?'orange': 200<jEndS ? 'green' : 'red'}"><CountTo :startVal="jStart" :endVal="jEnd" :duration="10000"></CountTo>%</span>
  411. </div>
  412. <div class="row_g">
  413. <div style="font-size:.175rem;margin-left:0rem" >当日:</div>
  414. <div @click="basicStaticsData('新消监')">检查家数<br>296家次</div>
  415. <div @click="basicStaticsData('新消监')">发现隐患数<br>64处</div>
  416. <div @click="basicStaticsData('新消监')">整改隐患<br>62处</div>
  417. </div>
  418. </div>
  419. <div style="display: flex">
  420. <h4 style="font-size: 0.2rem;border:none"></h4>
  421. <!-- <div
  422. style="
  423. display: flex;
  424. border-bottom: 0.0125rem solid
  425. rgba(115, 251, 253, 0.5);
  426. "
  427. >
  428. <el-button
  429. size="mini"
  430. @click="btnC('1')"
  431. :class="{ btnClick: check === '1' }"
  432. >大网格</el-button
  433. >
  434. <el-button
  435. size="mini"
  436. @click="btnC('2')"
  437. :class="{ btnClick: check === '2' }"
  438. >中网格</el-button
  439. >
  440. </div> -->
  441. </div>
  442. <el-table :data="tableDataGrid"
  443. class="transparentTableRow"
  444. height="57%"
  445. :empty-text="dataNo2"
  446. >
  447. <el-table-column prop="id" label="网格编号" min-width="25" show-overflow-tooltip/>
  448. <el-table-column prop="count1" label="检查家数" min-width="20" show-overflow-tooltip/>
  449. <el-table-column prop="count2" label="发现隐患数" min-width="20" show-overflow-tooltip/>
  450. <el-table-column prop="count3" label="整改隐患" min-width="20" show-overflow-tooltip/>
  451. </el-table>
  452. </div>
  453. <!-- 疏导区单位四色分级情况 start -->
  454. <div class=" ssfjSec">
  455. <h4 style="display: flex">疏导区单位四色分级情况</h4>
  456. <div class="girdCheckItem">
  457. <el-row style="margin:0px 0 -20px -24px;text-decoration:underline;cursor:pointer">
  458. <el-tooltip placement="top-start">
  459. <template #content>
  460. <br />
  461. (1)上海尚品投资有限公司,注册住所为上海市奉贤区肖塘路255弄10号2层,
  462. <br />
  463. 实际地址为上海市闵行区繁兴路479号,统一社会信用代码:913101206607804282,
  464. <br />
  465. 法定代表人为陆燕。
  466. <br />
  467. <br />
  468. (2)上海圣馨实业有限公司,注册住所为上海市闵行区北翟路1550弄8号,
  469. <br />
  470. 实际地址为上海市闵行区北翟路1550弄8号二层及三层整体,
  471. <br />
  472. 统一社会信用代码为91310112312173226C,
  473. <br />
  474. 法定代表人为戴金标。
  475. <br />
  476. </template>
  477. <el-button @click="basicStaticsData(6,'重大火灾隐患2')">重大火灾隐患:2家(华漕镇)</el-button>
  478. </el-tooltip>
  479. </el-row>
  480. <el-row class="row_g2">
  481. <el-col :span="8">消防安全重点单位<br><span @click="openPdf('http://32.0.15.107:8080/mhvi/zddw.pdf')" style="border-bottom:1px solid #fff">评分标准</span></el-col>
  482. <el-col :span="4" style="color:red" @click="djActiveClick(0)">高风险<br>2(家)</el-col>
  483. <el-col :span="4" style="color:orange" @click="djActiveClick(1)">较高风险<br>9(家)</el-col>
  484. <el-col :span="4" style="color:yellow" @click="djActiveClick(2)">一般风险<br>15(家)</el-col>
  485. <el-col :span="4" style="color:rgb(1, 224, 255)" @click="djActiveClick(3)">低风险<br>152(家)</el-col>
  486. </el-row>
  487. <el-row class="row_g2">
  488. <el-col :span="8">九小场所<br><span @click="openPdf('http://32.0.15.107:8080/mhvi/jxcs.pdf')" style="border-bottom:1px solid #fff">评分标准</span></el-col>
  489. <el-col :span="4" style="color:red" @click="basicStaticsData(39,'高风险')" >高风险<br>{{jxcstj[0]}}(家)</el-col>
  490. <el-col :span="4" style="color:orange" @click="basicStaticsData(39,'较高风险')" >较高风险<br>{{jxcstj[1]}}(家)</el-col>
  491. <el-col :span="4" style="color:yellow" @click="basicStaticsData(39,'一般风险')">一般风险<br>{{jxcstj[2]}}(家)</el-col>
  492. <el-col :span="4" style="color:rgb(1, 224, 255)" @click="basicStaticsData(39,'低风险')">低风险<br>{{jxcstj[3]}}(家)</el-col>
  493. </el-row>
  494. </div>
  495. </div>
  496. <!-- <div class="girdCheckSec">
  497. <h4 style="display: flex">疏导区网格检查情况</h4>
  498. <div class="girdCheckItem">
  499. <p>大网格<span>&nbsp;&nbsp;&nbsp;街镇分营领导:10&nbsp;&nbsp;城运中心主任:10&nbsp;&nbsp;安监所所长:10&nbsp;&nbsp;支队外参谋:10</span></p>
  500. <el-row>
  501. <el-col :span="6">检查家数: 100</el-col>
  502. <el-col :span="6">发现隐患数: 20</el-col>
  503. <el-col :span="6">督改隐患数: 20</el-col>
  504. <el-col :span="6">签约承诺数: 20</el-col>
  505. </el-row>
  506. </div>
  507. <div class="girdCheckItem">
  508. <p>中网格</p>
  509. <el-row>
  510. <el-col :span="6">检查家数: 100</el-col>
  511. <el-col :span="6">发现隐患数: 20</el-col>
  512. <el-col :span="6">督改隐患数: 20</el-col>
  513. <el-col :span="6">签约承诺数: 20</el-col>
  514. </el-row>
  515. </div>
  516. <div class="girdCheckItem">
  517. <p>小网格</p>
  518. <el-row>
  519. <el-col :span="6">检查家数: 100</el-col>
  520. <el-col :span="6">发现隐患数: 20</el-col>
  521. <el-col :span="6">督改隐患数: 20</el-col>
  522. <el-col :span="6">签约承诺数: 20</el-col>
  523. </el-row>
  524. </div>
  525. <br>
  526. </div> -->
  527. <!-- 疏导区网格检查情况 end -->
  528. <!-- <div class="rightTop3">
  529. <h4 style="display: flex">处置网格</h4>
  530. <div class="rightTopContent">
  531. <el-row v-if="gridStatisticsStatus">
  532. <el-col :span="12" @click="gridStatistics(1)">
  533. <div>
  534. <div class="left">
  535. <img src="@a/img/sadian/sbs.png" alt="" />
  536. <div>上报数</div>
  537. </div>
  538. <el-row class="right">
  539. <el-col :span="24" style="color: #ff0000">{{ gridStatisticsNum.total || 0 }}</el-col>
  540. </el-row>
  541. </div>
  542. </el-col>
  543. <el-col :span="12" @click="gridStatistics(3)">
  544. <div>
  545. <div class="left">
  546. <img src="@a/img/sadian/yhs.png" alt="" />
  547. <div>隐患数</div>
  548. </div>
  549. <el-row class="right">
  550. <el-col :span="24" style="color: #ff5a00">{{ gridStatisticsNum.yinhuan || 0 }}</el-col>
  551. </el-row>
  552. </div>
  553. </el-col>
  554. <el-col :span="12" @click="gridStatistics(2)">
  555. <div>
  556. <div class="left">
  557. <img src="@a/img/sadian/czs.png" alt="" />
  558. <div>处置数</div>
  559. </div>
  560. <el-row class="right">
  561. <el-col :span="24" style="color: #ffd800">{{ gridStatisticsNum.over || 0 }}</el-col>
  562. </el-row>
  563. </div>
  564. </el-col>
  565. <el-col :span="12">
  566. <div>
  567. <div class="left">
  568. <img src="@a/img/sadian/czl.png" alt="" />
  569. <div>处置率</div>
  570. </div>
  571. <el-row class="right">
  572. <el-col :span="24" style="color: #0084ff">{{ gridStatisticsNum.rate || 0 }}%</el-col>
  573. </el-row>
  574. </div>
  575. </el-col>
  576. </el-row>
  577. <el-row v-if="!gridStatisticsStatus">
  578. <el-table
  579. :data="gridStatisticsTableType"
  580. class="transparentTableRow"
  581. height="100%"
  582. :empty-text="dataNo3"
  583. ref="reportTable"
  584. @mouseenter="autoScroll1(true)"
  585. @mouseleave="autoScroll1()"
  586. >
  587. <el-table-column v-for="item in gridStatisticsHeader" show-overflow-tooltip :key="item.prop" :prop="item.prop" align="left" min-width="20" :label="item.name">
  588. <template v-if="item.prop =='案件状态' || item.prop =='街镇' || item.prop =='自治网格' || item.prop =='案件子类' || item.prop =='发现时间'" #default="scope">
  589. <el-tooltip placement="left" >
  590. <template #content >
  591. <div class="tableTooltip" ref="ff">
  592. <div class="tableTitle">
  593. <div>案件详情</div>
  594. </div>
  595. <img src="~@a/img/icon/close.png" alt="" class="close" @click="closeIsTooltip" />
  596. <el-row class="tableContent">
  597. <el-col :span="20" v-if="scope.row['案件状态']">案件状态:{{scope.row["案件状态"]}}</el-col>
  598. <el-col :span="24" v-if="scope.row['任务号'] ">任务号:{{scope.row["任务号"] }}</el-col>
  599. <el-col :span="24" v-if="scope.row['发现时间']">发现时间:{{scope.row["发现时间"]}}</el-col>
  600. <el-col :span="24" v-if="scope.row['案件来源']">案件来源:{{scope.row["案件来源"]}}</el-col>
  601. <el-col :span="24" v-if="scope.row['案件属性']">案件属性:{{scope.row["案件属性"]}}</el-col>
  602. <el-col :span="24" v-if="scope.row['街镇']">街镇:{{scope.row["街镇"]}}</el-col>
  603. <el-col :span="12" v-if="scope.row['自治网格类型']">自治网格类型:{{scope.row["自治网格类型"]}}</el-col>
  604. <el-col :span="24" v-if="scope.row['责任块']">责任块:{{scope.row["责任块"]}}</el-col>
  605. <el-col :span="24" v-if="scope.row['案件大类']">案件大类:{{scope.row["案件大类"]}}</el-col>
  606. <el-col :span="24" v-if="scope.row['案件小类']">案件小类:{{scope.row["案件小类"]}}</el-col>
  607. <el-col :span="24" v-if="scope.row['自治网格']">自治网格:{{scope.row["自治网格"]}}</el-col>
  608. <el-col :span="24" v-if="scope.row['处置网格']">处置网格:{{scope.row["处置网格"]}}</el-col>
  609. <el-col :span="24" v-if="scope.row['发生地址']">发生地址:{{scope.row["发生地址"]}}</el-col>
  610. <el-col :span="24" v-if="scope.row['诉求联系人']">诉求联系人:{{scope.row["诉求联系人"]}}</el-col>
  611. <el-col :span="24" v-if="scope.row['流转方向']">流转方向:{{scope.row["流转方向"]}}</el-col>
  612. <el-col :span="24" v-if="scope.row['派遣时间'] ">派遣时间:{{scope.row["派遣时间"] }}</el-col>
  613. <el-col :span="24" v-if="scope.row['主责部门']">主责部门:{{scope.row["主责部门"] }}</el-col>
  614. <el-col :span="24" v-if="scope.row['三级主责部门']">三级主责部门:{{scope.row["三级主责部门"] }}</el-col>
  615. <el-col :span="24" v-if="scope.row['处理时间']">处理时间:{{scope.row["处理时间"] }}</el-col>
  616. </el-row>
  617. </div>
  618. </template>
  619. <template>
  620. <div class="name-wrapper" >{{ scope.row[item.prop] }}</div>
  621. </template>
  622. </el-tooltip>
  623. </template>
  624. <template v-else #default="scope">
  625. {{ scope.row[item.prop] }}
  626. </template>
  627. </el-table-column>
  628. </el-table>
  629. </el-row>
  630. </div>
  631. <div class="leftTopContent" v-if="tabsArea == 'jc'">
  632. <el-row>
  633. <el-col :span="12">
  634. <div>
  635. <div class="title">
  636. <div>检查单位数(家次)</div>
  637. </div>
  638. <div class="content">
  639. <span>6276</span>
  640. <span>同比</span>
  641. <span style="color: #fe0505">+29.48%</span>
  642. </div>
  643. </div>
  644. </el-col>
  645. <el-col :span="12">
  646. <div>
  647. <div class="title">
  648. <div>发现隐患数(处)</div>
  649. </div>
  650. <div class="content">
  651. <span>1340</span>
  652. <span>同比</span>
  653. <span style="color: #fe0505">+14.18%</span>
  654. </div>
  655. </div>
  656. </el-col>
  657. <el-col :span="12">
  658. <div>
  659. <div class="title">
  660. <div>督改隐患数(处)</div>
  661. </div>
  662. <div class="content">
  663. <span>1090</span>
  664. <span>同比</span>
  665. <span style="color: #fe0505">+7.34%</span>
  666. </div>
  667. </div>
  668. </el-col>
  669. <el-col :span="12">
  670. <div style="width: 80%">
  671. <div class="title">
  672. <div>签约承诺书(份)</div>
  673. </div>
  674. <div class="content">
  675. <span>5410</span>
  676. </div>
  677. </div>
  678. </el-col>
  679. </el-row>
  680. </div>
  681. </div> -->
  682. <!-- <div class="rightTop">
  683. <h4 style="display: flex">疏导区社会面风险评估情况</h4>
  684. <div style="display: flex;float:right;margin-top:-36px;">
  685. <el-button size="mini" @click="tabsArea = 'fx'" :class="{ btnClick: tabsArea == 'fx' }"> 风险情况 </el-button>
  686. <el-button size="mini" @click="tabsArea = 'jc'" :class="{ btnClick: tabsArea == 'jc' }"> 检查情况 </el-button>
  687. </div>
  688. <div class="rightTopContent" v-if="tabsArea == 'fx'">
  689. <el-row>
  690. <el-col :span="12">
  691. <div>
  692. <div class="left">
  693. <img src="@a/img/securityPlan/right1.png" alt="" />
  694. <div>高风险场所</div>
  695. </div>
  696. <el-row class="right">
  697. <el-col :span="24">单位总数(家)</el-col>
  698. <el-col :span="24" style="color: #ff0000">8</el-col>
  699. </el-row>
  700. </div>
  701. </el-col>
  702. <el-col :span="12">
  703. <div>
  704. <div class="left">
  705. <img src="@a/img/securityPlan/right2.png" alt="" />
  706. <div>较高风险场所</div>
  707. </div>
  708. <el-row class="right">
  709. <el-col :span="24">单位总数(家)</el-col>
  710. <el-col :span="24" style="color: #ff5a00">0</el-col>
  711. </el-row>
  712. </div>
  713. </el-col>
  714. <el-col :span="12">
  715. <div>
  716. <div class="left">
  717. <img src="@a/img/securityPlan/right3.png" alt="" />
  718. <div>一般风险场所</div>
  719. </div>
  720. <el-row class="right">
  721. <el-col :span="24">单位总数(家)</el-col>
  722. <el-col :span="24" style="color: #ffd800">6</el-col>
  723. </el-row>
  724. </div>
  725. </el-col>
  726. <el-col :span="12">
  727. <div>
  728. <div class="left">
  729. <img src="@a/img/securityPlan/right4.png" alt="" />
  730. <div>低风险场所</div>
  731. </div>
  732. <el-row class="right">
  733. <el-col :span="24">单位总数(家)</el-col>
  734. <el-col :span="24" style="color: #0084ff">18</el-col>
  735. </el-row>
  736. </div>
  737. </el-col>
  738. </el-row>
  739. </div>
  740. <div class="leftTopContent" v-if="tabsArea == 'jc'">
  741. <el-row>
  742. <el-col :span="12">
  743. <div>
  744. <div class="title">
  745. <div>检查单位数(家次)</div>
  746. </div>
  747. <div class="content">
  748. <span>6276</span>
  749. <span>同比</span>
  750. <span style="color: #fe0505">+29.48%</span>
  751. </div>
  752. </div>
  753. </el-col>
  754. <el-col :span="12">
  755. <div>
  756. <div class="title">
  757. <div>发现隐患数(处)</div>
  758. </div>
  759. <div class="content">
  760. <span>1340</span>
  761. <span>同比</span>
  762. <span style="color: #fe0505">+14.18%</span>
  763. </div>
  764. </div>
  765. </el-col>
  766. <el-col :span="12">
  767. <div>
  768. <div class="title">
  769. <div>督改隐患数(处)</div>
  770. </div>
  771. <div class="content">
  772. <span>1090</span>
  773. <span>同比</span>
  774. <span style="color: #fe0505">+7.34%</span>
  775. </div>
  776. </div>
  777. </el-col>
  778. <el-col :span="12">
  779. <div style="width: 80%">
  780. <div class="title">
  781. <div>签约承诺书(份)</div>
  782. </div>
  783. <div class="content">
  784. <span>5410</span>
  785. </div>
  786. </div>
  787. </el-col>
  788. </el-row>
  789. </div>
  790. </div> -->
  791. <div class="rightTop">
  792. <!-- <h4>安保推送情况</h4>
  793. <el-row class="rightTop2">
  794. <el-col :span="8" v-for="(item, index) in proptionList" :key="index">
  795. <div>
  796. <div style="text-align: center; font-size: 0.18rem">
  797. {{ item.type }}
  798. </div>
  799. <div style="height: 1.5rem">
  800. <gauge ref="gauge1" :data="item"></gauge>
  801. </div>
  802. </div>
  803. </el-col>
  804. </el-row> -->
  805. <h4>疏导区执法记录仪画面</h4>
  806. <el-row class="monitor-list" >
  807. <div class="list">
  808. <el-select
  809. v-model="zfjly1"
  810. placeholder="请选择执法记录仪"
  811. class="videoSelect"
  812. >
  813. <el-option
  814. v-for="item in selectVideoData"
  815. :key="item.url"
  816. :label="item.name"
  817. :value="item.url"
  818. >
  819. </el-option>
  820. </el-select>
  821. <img src="@/assets/img/home/video.jpg" alt="" v-if="!zfjly1">
  822. <iframe
  823. class="hlsVideo monitor-height"
  824. :src="zfjly1"
  825. allowfullscreen="true"
  826. ></iframe>
  827. <div @click="videoClose(1)" class="videoCloseBtn" v-if="zfjly1">
  828. <div class="returnText">关闭</div>
  829. </div>
  830. </div>
  831. <div class="list" :offset="2">
  832. <el-select
  833. v-model="zfjly2"
  834. placeholder="请选择执法记录仪"
  835. class="videoSelect"
  836. >
  837. <el-option
  838. v-for="item in selectVideoData"
  839. :key="item.url"
  840. :label="item.name"
  841. :value="item.url"
  842. >
  843. </el-option>
  844. </el-select>
  845. <img src="@/assets/img/home/video.jpg" alt="" v-if="!zfjly2">
  846. <iframe
  847. class="hlsVideo monitor-height"
  848. :src="zfjly2"
  849. allowfullscreen="true"
  850. ></iframe>
  851. <div @click="videoClose(2)" class="videoCloseBtn" v-if="zfjly2">
  852. <div class="returnText">关闭</div>
  853. </div>
  854. </div>
  855. </el-row>
  856. </div>
  857. <!-- <div class="rightBot">
  858. <h4>网格人员信息</h4>
  859. <div class="rightBotContent" v-if="erpData.length > 0">
  860. <el-table
  861. :data="rightArray.tableData"
  862. class="transparentTableRow"
  863. height="100%"
  864. :empty-text="dataNo2"
  865. ref="reportTable"
  866. @mouseenter="autoScroll(true)"
  867. @mouseleave="autoScroll()"
  868. >
  869. <el-table-column v-for="item in rightArray.headerData2" show-overflow-tooltip :key="item.prop" :prop="item.prop" align="left" min-width="20" :label="item.name">
  870. <template #default="scope">
  871. {{ item.prop === "type" ? "" : item.prop === "status" ? (scope.row[item.prop] == 1 ? "可用" : "不可用") : scope.row[item.prop] }}
  872. </template>
  873. </el-table-column>
  874. </el-table>
  875. </div>
  876. </div> -->
  877. </el-col>
  878. </transition>
  879. <!-- 普通弹框 -->
  880. <!-- <div class="tableTooltipwt sadianTankang" v-show="stores.$state.arrayList.length > 0 && !jkspStatus">
  881. <img src="~@a/img/icon/close.png" alt="" class="close" @click="close" />
  882. <el-row class="tableContent">
  883. <el-col class="mk" v-for="li in stores.$state.arrayList" :key="li" v-show="li.title[1]">
  884. <p v-show="li.title[1]">{{ li.title[0] }}</p>
  885. <el-row>
  886. <el-col v-for="ch in li.children" :key="ch" :span="ch[2]" v-show="li.title[1] && ch[1]">
  887. <span class="color1">{{ ch[0] }}</span>
  888. <span class="color2">{{ ch[1] }}</span>
  889. </el-col>
  890. <el-row style="margin-top: 10px" v-if="li.type">
  891. <iframe :src="li.url" allowfullscreen="true" style="width: 100%"></iframe>
  892. </el-row>
  893. </el-row>
  894. </el-col>
  895. </el-row>
  896. </div> -->
  897. <!-- 普通弹框 -->
  898. <div class="tableTooltipwt sadianTankang " v-if="jkspStatus">
  899. <img src="~@a/img/icon/close.png" alt="" class="close" @click="closeJkspStatus" />
  900. <el-row class="tableContent">
  901. <el-col class="mk">
  902. <p style="font-size:0.2rem">监控视频</p>
  903. <el-row>
  904. <el-col v-for="ch in stores.$state.jkspData.children" :key="ch" :span="24" >
  905. <span class="color1">{{ ch[0] }}</span>
  906. <span class="color2">{{ ch[1] }}</span>
  907. </el-col>
  908. </el-row>
  909. </el-col>
  910. <div class="video">
  911. <video :id="Message.videoId" preload="true" autoplay="autoplay"
  912. class="hlsVideo monitor-height" ref="hlsVideo" style="width: 100%" controls muted></video>
  913. </div>
  914. </el-row>
  915. </div>
  916. <!-- pdf弹框 -->
  917. <div class="dialogSec">
  918. <el-dialog v-model="dialogTableVisible" title="" :showClose="false">
  919. <iframe
  920. :src="pdfUrl"
  921. frameborder="0"
  922. style="width: 100%; height: 87vh"
  923. ></iframe>
  924. </el-dialog>
  925. </div>
  926. <!-- 消防安全重点单位弹框 -->
  927. <transition name="el-fade-in-linear">
  928. <div class="tableTooltipwt2" v-if="tk">
  929. <img src="~@a/img/icon/close.png" alt="" class="close" @click="closeTk" />
  930. <el-col class="mk">
  931. <el-row>
  932. <el-col>
  933. <span class="color2">单位名称:</span>
  934. <span class="color1">{{ tkData.companyName }}</span>
  935. </el-col>
  936. <el-col>
  937. <span class="color2">单位类型:</span>
  938. <span class="color1">重点单位</span>
  939. </el-col>
  940. <!-- <el-col v-if="tkData.linkPhone">
  941. <span class="color2">联系电话:</span>
  942. <span class="color1">{{ tkData.linkPhone }}</span>
  943. </el-col> -->
  944. <el-col>
  945. <span class="color2">地址:</span>
  946. <span class="color1">{{ tkData.address }}</span>
  947. </el-col>
  948. <el-col v-if="tkData.person3">
  949. <span class="color2">单位联系人:</span>
  950. <span class="color1">{{ tkData.person3 }}</span>
  951. </el-col>
  952. <el-col v-if="tkData.phone3" >
  953. <span class="color2">单位联系人电话:</span>
  954. <span class="color1">{{ tkData.phone3 }}</span>
  955. </el-col>
  956. <el-col v-if="tkData.person1">
  957. <span class="color2">消防安全责任人:</span>
  958. <span class="color1">{{ tkData.person1 }}</span>
  959. </el-col>
  960. <el-col v-if="tkData.phone1">
  961. <span class="color2">消防安全责任人电话:</span>
  962. <span class="color1">{{ tkData.phone1 }}</span>
  963. </el-col>
  964. <el-col v-if="tkData.person2">
  965. <span class="color2">消防安全管理人:</span>
  966. <span class="color1">{{ tkData.person2 }}</span>
  967. </el-col>
  968. <el-col v-if="tkData.phone2" style="border-bottom: 1px solid #fff; padding-bottom: 10px">
  969. <span class="color2">消防安全管理人电话:</span>
  970. <span class="color1">{{ tkData.phone2 }}</span>
  971. </el-col>
  972. <el-col style="margin-top: 6px">
  973. <span class="color1" style="margin-left: 0">企业消防综合评估</span>
  974. <span class="color1" style="float: right"
  975. >综合得分:{{
  976. tkData.fireRisk + tkData.buildIntegrity + tkData.lawEnforce + tkData.selfManage + tkData.facilityStatus
  977. ? (tkData.fireRisk + tkData.buildIntegrity + tkData.lawEnforce + tkData.selfManage + tkData.facilityStatus).toFixed(2)
  978. : 0
  979. }}
  980. 分</span
  981. >
  982. </el-col>
  983. <table border="0" cellspacing="0" cellpadding="0">
  984. <thead>
  985. <tr>
  986. <th>指数</th>
  987. <th>建筑整体指数</th>
  988. <th>火灾风险指数</th>
  989. <th>监督执法指数</th>
  990. <th>自主管理指数</th>
  991. <th>设施状况指数</th>
  992. </tr>
  993. </thead>
  994. <tbody>
  995. <tr>
  996. <td>得分</td>
  997. <td>{{ tkData.fireRisk }}</td>
  998. <td>{{ tkData.buildIntegrity }}</td>
  999. <td>{{ tkData.lawEnforce }}</td>
  1000. <td>{{ tkData.selfManage }}</td>
  1001. <td>{{ tkData.facilityStatus }}</td>
  1002. </tr>
  1003. </tbody>
  1004. </table>
  1005. <el-col style="margin-top: 6px" v-if="tkData.reformPart">
  1006. <span class="color1" style="margin-left: 0">消防整改情况</span>
  1007. </el-col>
  1008. <el-col v-if="tkData.reformPart">
  1009. <span class="color1" style="margin-left: 0">编号:{{ tkData.reformCode }}</span>
  1010. <span class="color1" style="float: right">整改期限:{{ tkData.limitTime ? tkData.limitTime.split("T")[0] + " " + tkData.limitTime.split("T")[1] : "" }}</span>
  1011. </el-col>
  1012. <table border="0" cellspacing="0" cellpadding="0" v-if="tkData.reformPart">
  1013. <thead>
  1014. <tr>
  1015. <th>序号</th>
  1016. <th>整改项</th>
  1017. <th>原因</th>
  1018. </tr>
  1019. </thead>
  1020. <tbody>
  1021. <tr v-for="(item, index) in tkData.reformPart.data" :key="index">
  1022. <td>{{ index + 1 }}</td>
  1023. <td>{{ item.item }}</td>
  1024. <td>{{ item.reason }}</td>
  1025. </tr>
  1026. </tbody>
  1027. </table>
  1028. <div style="margin-top: 40px" v-if="tkData.reformStatus != 0">
  1029. <el-steps
  1030. :active="tkData.reformStatus == 1 ? 1 : tkData.reformStatus == 2 || tkData.reformStatus == 3 ? 1 : tkData.reformStatus == 4 || tkData.reformStatus == 5 ? 2 : 0"
  1031. align-center
  1032. >
  1033. <el-step title="已接收" :description="tkData.receivedTime.replace('T', ' ')"></el-step>
  1034. <el-step
  1035. :title="tkData.reformStatus == 2 ? '整改中' : tkData.reformStatus == 3 || tkData.reformStatus == 4 || tkData.reformStatus == 5 ? '整改完成' : '整改中'"
  1036. :description="tkData.reformTime.replace('T', ' ')"
  1037. ></el-step>
  1038. <el-step
  1039. :title="
  1040. tkData.reformStatus == 1 || tkData.reformStatus == 2 || tkData.reformStatus == 3
  1041. ? '待审核'
  1042. : tkData.reformStatus == 4
  1043. ? '审核不通过'
  1044. : tkData.reformStatus == 5
  1045. ? '审核通过'
  1046. : ''
  1047. "
  1048. :description="tkData.reviewTime.replace('T', ' ')"
  1049. ></el-step>
  1050. </el-steps>
  1051. </div>
  1052. <div style="margin: 10px auto" v-if="tkData.companyName == '上海虹桥国际特商物流港'">
  1053. <el-button type="primary" size="small" style="background: none; border-radius: 4px; border: 1px solid #73fbfd; height: 30px; padding: 0 6px !important; margin: 10px 0 0"
  1054. ><a href="http://file.usky.cn/statics/202303/20232D91E7B3D14C346BC9F009FA0B76FA5BF.pdf" target="_blank" style="color: #fff; text-decoration: none"
  1055. >&nbsp;&nbsp;查看报告&nbsp;&nbsp;</a
  1056. ></el-button
  1057. >
  1058. </div>
  1059. </el-row>
  1060. </el-col>
  1061. </div>
  1062. </transition>
  1063. </el-row>
  1064. </template>
  1065. <script>
  1066. import axios from "axios";
  1067. import linstener from "@c/mixins/linstener";
  1068. import map from "@c/mixins/map-data1";
  1069. import gauge from "@c/gauge/index6";
  1070. // import map from "@c/mixins/map-gaode-public";
  1071. import { Vue3SeamlessScroll } from "vue3-seamless-scroll";
  1072. import category from "@c/category/index22";
  1073. import unitBox from "@c/unitBox/index";
  1074. import CountTo from '@/components/count-to/index.js'
  1075. import Hls from "hls.js";
  1076. import { set } from "lodash";
  1077. export default {
  1078. mixins: [linstener, map],
  1079. components: { category, gauge, CountTo,unitBox ,Vue3SeamlessScroll },
  1080. data() {
  1081. return {
  1082. tk:false,
  1083. tkData: {},//消防安全重点单位弹框数据
  1084. jStart:0,//检出率开始
  1085. jEnd:300,//检出率结束
  1086. jEndS:0,//检出率样式数组
  1087. marginTop1:"-0.5vh",
  1088. jxcstj:[0,0,0,0],//九小场所统计
  1089. check: '1',
  1090. dialogTableVisible:false,
  1091. pdfUrl:'',
  1092. dailyArray:[
  1093. {
  1094. title: '第十一期: 第七届中国国际进口博览会每日工作动态',
  1095. url: 'https://mhxfzd.shmh.gov.cn/data/11.4闵行疏导区每日动态.pdf',
  1096. },
  1097. {
  1098. title: '第十期: 第七届中国国际进口博览会每日工作动态',
  1099. url: 'https://mhxfzd.shmh.gov.cn/data/11.3闵行疏导区每日动态.pdf',
  1100. },
  1101. {
  1102. title: '第九期: 第七届中国国际进口博览会每日工作动态',
  1103. url: 'https://mhxfzd.shmh.gov.cn/data/11.2闵行疏导区每日动态.pdf',
  1104. },
  1105. {
  1106. title: '第八期: 第七届中国国际进口博览会每日工作动态',
  1107. url: 'https://mhxfzd.shmh.gov.cn/data/11.1闵行疏导区每日动态.pdf',
  1108. },
  1109. {
  1110. title: '第七期: 第七届中国国际进口博览会每日工作动态',
  1111. url: 'https://mhxfzd.shmh.gov.cn/data/10.31闵行疏导区每日动态.pdf',
  1112. },
  1113. {
  1114. title: '第六期: 第七届中国国际进口博览会每日工作动态',
  1115. url: 'https://mhxfzd.shmh.gov.cn/data/10.30闵行疏导区每日动态.pdf',
  1116. },
  1117. {
  1118. title: '第五期: 第七届中国国际进口博览会每日工作动态',
  1119. url: 'https://mhxfzd.shmh.gov.cn/data/10.29闵行疏导区每日动态.pdf',
  1120. },
  1121. {
  1122. title: '第四期: 第七届中国国际进口博览会每日工作动态',
  1123. url: 'https://mhxfzd.shmh.gov.cn/data/10.28闵行疏导区每日动态.pdf',
  1124. },
  1125. {
  1126. title: '第三期: 第七届中国国际进口博览会每日工作动态',
  1127. url: 'https://mhxfzd.shmh.gov.cn/data/10.27闵行疏导区每日动态.pdf',
  1128. },
  1129. {
  1130. title: '第二期: 第七届中国国际进口博览会每日工作动态',
  1131. url: 'https://mhxfzd.shmh.gov.cn/data/10.26闵行疏导区每日动态.pdf',
  1132. },
  1133. {
  1134. title: '第一期: 第七届中国国际进口博览会每日工作动态',
  1135. url: 'https://mhxfzd.shmh.gov.cn/data/10.25闵行疏导区每日动态.pdf',
  1136. },
  1137. ],
  1138. dailyArray2:[
  1139. {
  1140. title: '第七届进博会闵行区消防救援支队组织架构',
  1141. url: 'https://mhxfzd.shmh.gov.cn/data/第七届进博会闵行区消防救援支队组织架构.pdf',
  1142. },
  1143. {
  1144. title: '关于本区消防安全重点单位全面开展火灾防范“十个一”活动工作的通知',
  1145. url: 'https://mhxfzd.shmh.gov.cn/data/关于本区消防安全重点单位全面开展火灾防范“十个一”活动工作的通知.pdf',
  1146. },
  1147. {
  1148. title: '关于印发《第七届中国国际进口博览会闵行区疏导区街镇消防安保工作重点任务清单》的通知',
  1149. url: 'https://mhxfzd.shmh.gov.cn/data/关于印发《第七届中国国际进口博览会闵行区疏导区街镇消防安保工作重点任务清单》的通知.pdf',
  1150. },
  1151. {
  1152. title: '关于印发《第七届中国国际进口博览会消防安保闵行区社会面火灾防控工作方案》的通知',
  1153. url: 'https://mhxfzd.shmh.gov.cn/data/关于印发《第七届中国国际进口博览会消防安保闵行区社会面火灾防控工作方案》的通知.pdf',
  1154. }
  1155. ],
  1156. tableDataGrid2:[
  1157. {id:"检查家次",count1:"20",count2:"36",count3:"19",count4:"41"},
  1158. {id:"发现隐患数",count1:"20",count2:"36",count3:"19",count4:"41"},
  1159. {id:"督改隐患数",count1:"20",count2:"36",count3:"19",count4:"41"}
  1160. ],//疏导区监督执法
  1161. // 大中网格数据渲染 start
  1162. tableDataGrid:[],
  1163. tableDataBigGrid:[
  1164. // 2023
  1165. // {
  1166. // id: '闵S1(华漕网格)',
  1167. // count1: '1361',
  1168. // count2: '499',
  1169. // count3: '355',
  1170. // },
  1171. // {
  1172. // id: '闵S2(新虹网格)',
  1173. // count1: '1674',
  1174. // count2: '564',
  1175. // count3: '491',
  1176. // },
  1177. // {
  1178. // id: '闵S3(七宝网格)',
  1179. // count1: '1585',
  1180. // count2: '487',
  1181. // count3: '391',
  1182. // },{
  1183. // id: '闵S4(虹桥网格)',
  1184. // count1: '1412',
  1185. // count2: '577',
  1186. // count3: '402',
  1187. // }
  1188. // 2024
  1189. {
  1190. id: '闵S1(华漕网格)',
  1191. count1: '1117',
  1192. count2: '342',
  1193. count3: '203',
  1194. },
  1195. {
  1196. id: '闵S2(新虹网格)',
  1197. count1: '798',
  1198. count2: '141',
  1199. count3: '122',
  1200. },
  1201. {
  1202. id: '闵S3(七宝网格)',
  1203. count1: '1264',
  1204. count2: '300',
  1205. count3: '244',
  1206. },
  1207. {
  1208. id: '闵S4(虹桥网格)',
  1209. count1: '918',
  1210. count2: '264',
  1211. count3: '217',
  1212. }
  1213. ],
  1214. tableDataMiddleGrid:[
  1215. // 2023
  1216. // {
  1217. // id: '闵S1-1(华漕网格)',
  1218. // count1: '225',
  1219. // count2: '90',
  1220. // count3: '66',
  1221. // },
  1222. // {
  1223. // id: '闵S1-2(华漕网格)',
  1224. // count1: '141',
  1225. // count2: '57',
  1226. // count3: '44',
  1227. // },
  1228. // {
  1229. // id: '闵S1-3(华漕网格)',
  1230. // count1: '164',
  1231. // count2: '58',
  1232. // count3: '39',
  1233. // },{
  1234. // id: '闵S1-4(华漕网格)',
  1235. // count1: '537',
  1236. // count2: '197',
  1237. // count3: '130',
  1238. // },{
  1239. // id: '闵S1-5(华漕网格)',
  1240. // count1: '253',
  1241. // count2: '83',
  1242. // count3: '66',
  1243. // },{
  1244. // id: '闵S2-1(新虹网格)',
  1245. // count1: '627',
  1246. // count2: '138',
  1247. // count3: '93',
  1248. // },{
  1249. // id: '闵S2-2(新虹网格)',
  1250. // count1: '225',
  1251. // count2: '111',
  1252. // count3: '104',
  1253. // },{
  1254. // id: '闵S2-3(新虹网格)',
  1255. // count1: '395',
  1256. // count2: '78',
  1257. // count3: '76',
  1258. // },{
  1259. // id: '闵S2-4(新虹网格)',
  1260. // count1: '425',
  1261. // count2: '253',
  1262. // count3: '196',
  1263. // },{
  1264. // id: '闵S3-1(七宝网格)',
  1265. // count1: '394',
  1266. // count2: '158',
  1267. // count3: '105',
  1268. // },{
  1269. // id: '闵S3-2(七宝网格)',
  1270. // count1: '171',
  1271. // count2: '48',
  1272. // count3: '34',
  1273. // },{
  1274. // id: '闵S3-3(七宝网格)',
  1275. // count1: '344',
  1276. // count2: '306',
  1277. // count3: '131',
  1278. // },{
  1279. // id: '闵S4-1(虹桥网格)',
  1280. // count1: '893',
  1281. // count2: '346',
  1282. // count3: '272',
  1283. // },{ id: '闵S4-2(虹桥网格)',
  1284. // count1: '499',
  1285. // count2: '125',
  1286. // count3: '115',
  1287. // }
  1288. // 2024
  1289. {
  1290. id: '闵S1-1(华漕网格)',
  1291. count1: '109',
  1292. count2: '48',
  1293. count3: '28',
  1294. },
  1295. {
  1296. id: '闵S1-2(华漕网格)',
  1297. count1: '97',
  1298. count2: '44',
  1299. count3: '27',
  1300. },
  1301. {
  1302. id: '闵S1-3(华漕网格)',
  1303. count1: '156',
  1304. count2: '47',
  1305. count3: '32',
  1306. },{
  1307. id: '闵S1-4(华漕网格)',
  1308. count1: '434',
  1309. count2: '126',
  1310. count3: '68',
  1311. },{
  1312. id: '闵S1-5(华漕网格)',
  1313. count1: '269',
  1314. count2: '66',
  1315. count3: '39',
  1316. },{
  1317. id: '闵S2-1(新虹网格)',
  1318. count1: '282',
  1319. count2: '44',
  1320. count3: '39',
  1321. },{
  1322. id: '闵S2-2(新虹网格)',
  1323. count1: '122',
  1324. count2: '51',
  1325. count3: '48',
  1326. },{
  1327. id: '闵S2-3(新虹网格)',
  1328. count1: '180',
  1329. count2: '23',
  1330. count3: '23',
  1331. },{
  1332. id: '闵S2-4(新虹网格)',
  1333. count1: '214',
  1334. count2: '146',
  1335. count3: '107',
  1336. },{
  1337. id: '闵S3-1(七宝网格)',
  1338. count1: '316',
  1339. count2: '92',
  1340. count3: '75',
  1341. },{
  1342. id: '闵S3-2(七宝网格)',
  1343. count1: '243',
  1344. count2: '47',
  1345. count3: '33',
  1346. },{
  1347. id: '闵S3-3(七宝网格)',
  1348. count1: '701',
  1349. count2: '159',
  1350. count3: '136',
  1351. },{
  1352. id: '闵S4-1(虹桥网格)',
  1353. count1: '642',
  1354. count2: '79',
  1355. count3: '64',
  1356. },{ id: '闵S4-2(虹桥网格)',
  1357. count1: '271',
  1358. count2: '61',
  1359. count3: '58',
  1360. }
  1361. ],
  1362. tableDataBasic:[
  1363. {
  1364. date: '2016-05-03',
  1365. name: 'Tom',
  1366. address: 'No. 189, Grove St, Los Angeles',
  1367. },
  1368. {
  1369. date: '2016-05-02',
  1370. name: 'Tom',
  1371. address: 'No. 189, Grove St, Los Angeles',
  1372. },
  1373. {
  1374. date: '2016-05-04',
  1375. name: 'Tom',
  1376. address: 'No. 189, Grove St, Los Angeles',
  1377. },
  1378. {
  1379. date: '2016-05-01',
  1380. name: 'Tom',
  1381. address: 'No. 189, Grove St, Los Angeles',
  1382. },
  1383. ],
  1384. basicStatisStatus:true,
  1385. gridStatisticsNum:{
  1386. total:0,
  1387. over:0,
  1388. rate:0,
  1389. yinhuan:0,
  1390. },
  1391. hls: "",
  1392. Message: {
  1393. "name": undefined,
  1394. "videoId": undefined,
  1395. "videoUrl": false,
  1396. },
  1397. jkspStatus:false,//监控视频弹框状态
  1398. gridStatisticsStatus:true,//处置网格统计状态
  1399. dataNo3:"加载中...",
  1400. gridStatisticsTable:[
  1401. // {
  1402. // "案件状态": "待申请核查",
  1403. // "任务号": "2310M2253844",
  1404. // "发现时间": "2023-10-13 09:18",
  1405. // "案件来源": "12345上报",
  1406. // "案件属性": "部件",
  1407. // "案件大类": "其他设施",
  1408. // "案件小类": "充电站(桩)",
  1409. // "案件子类": "其他充电桩相关问题",
  1410. // "街镇": "华漕镇",
  1411. // "自治网格": "诸新路居委会",
  1412. // "自治网格类型": "居委",
  1413. // "处置网格": "华漕镇处置网格五(诸翟南片区)",
  1414. // "责任块": "九方家园",
  1415. // "发生地址": "闵行区华漕镇保乐路168弄九方家园",
  1416. // "诉求联系人": "臧婷婷",
  1417. // "流转方向": "平台流转",
  1418. // "派遣时间": "2023-10-13 09:20",
  1419. // "主责部门": "华漕镇",
  1420. // "三级主责部门": "诸新路居委会",
  1421. // "处理时间": null,
  1422. // "处理备注": null,
  1423. // "结案时间": null,
  1424. // "结案评判": null,
  1425. // "结案意见": null,
  1426. // "X坐标": -17369.89850242,
  1427. // "Y坐标": -2808.9159114,
  1428. // "问题描述": "市民来电反映:其是上述地址小区居民,要申请安装充电站,物业不肯给其敲章,市民为此不满,故来来电投诉上述小区物业。"
  1429. // }
  1430. ],//处置网格table数据
  1431. gridStatisticsTableType:[],
  1432. gridStatisticsHeader:[
  1433. { prop: "发现时间", name: "发现时间" },
  1434. { prop: "街镇", name: "街镇" },
  1435. { prop: "自治网格", name: "自治网格" },
  1436. { prop: "案件子类", name: "案件子类" },
  1437. { prop: "案件状态", name: "案件状态" },
  1438. ],//处置网格header
  1439. value111:40,
  1440. //24、厂房仓库?? 25、大型商业综合体?? 27、批发市场??
  1441. // 23、宾馆酒店 26、规模租赁公寓 28、三合一场所 29、养老机构 30、医疗机构
  1442. options: [
  1443. {
  1444. value: '23',
  1445. label: '宾馆酒店',
  1446. },
  1447. {
  1448. value: '25', //
  1449. label: '大型商业综合体',
  1450. },
  1451. {
  1452. value: '40', //?
  1453. label: '消防安全重点单位',
  1454. },
  1455. {
  1456. value: '30',
  1457. label: '医疗机构',
  1458. },
  1459. {
  1460. value: '29',
  1461. label: '养老机构',
  1462. },
  1463. {
  1464. value: '24',
  1465. label: '厂房仓库',
  1466. },
  1467. {
  1468. value: '27',
  1469. label: '批发市场',
  1470. },
  1471. // {
  1472. // value: '5',
  1473. // label: '居民小区', //??
  1474. // },
  1475. {
  1476. value: '26',
  1477. label: '规模租赁公寓',
  1478. },
  1479. {
  1480. value: '28',
  1481. label: '三合一场所',
  1482. },
  1483. {
  1484. value: '6',//????
  1485. label: '电动自行车领域',
  1486. },
  1487. ],
  1488. arrayData:[],
  1489. line3Array:[
  1490. {
  1491. "name": "重点单位",
  1492. "count": 258,
  1493. "value":47
  1494. },
  1495. {
  1496. "name": "大型综合体",
  1497. "count": 12,
  1498. "value":25
  1499. },
  1500. {
  1501. "name": "酒店/宾馆",
  1502. "count": 99,
  1503. "value":23
  1504. },
  1505. {
  1506. "name": "规模租赁",
  1507. "count": 112,
  1508. "value":26
  1509. },
  1510. {
  1511. "name": "厂房/仓库",
  1512. "count": 252,
  1513. "value":24
  1514. },
  1515. {
  1516. "name": "医疗机构",
  1517. "count": 15,
  1518. "value":30,
  1519. },{
  1520. "name": "养老机构",
  1521. "count": 8,
  1522. "value":29,
  1523. },
  1524. {
  1525. "name": '九小场所',
  1526. "count": 4128,
  1527. "value": '39',
  1528. },
  1529. {
  1530. "name": "居民小区",
  1531. "count": 194,
  1532. "value":38 //?
  1533. },
  1534. {
  1535. "name": "混合经营场所",
  1536. "count": 39,
  1537. "value":44
  1538. },
  1539. {
  1540. "name": "在建工地",
  1541. "count": 24,
  1542. "value":46
  1543. },
  1544. {
  1545. "name": "寄宿学校",
  1546. "count": 5,
  1547. "value":45
  1548. }
  1549. ],
  1550. // line3Array:[
  1551. // {
  1552. // "name": "重点单位",
  1553. // "count": 176,
  1554. // "value":40
  1555. // },
  1556. // {
  1557. // "name": "大型综合体",
  1558. // "count": 13,
  1559. // "value":25
  1560. // },
  1561. // // {
  1562. // // "name": "重点单位",
  1563. // // "count": 14,
  1564. // // "value":13
  1565. // // },
  1566. // {
  1567. // "name": "酒店/宾馆",
  1568. // "count": 85,
  1569. // "value":23
  1570. // },
  1571. // {
  1572. // "name": "规模租赁",
  1573. // "count": 90,
  1574. // "value":26
  1575. // },
  1576. // // {
  1577. // // "name": "高层建筑",
  1578. // // "count": 839,
  1579. // // "value":0 //?
  1580. // // },
  1581. // {
  1582. // "name": "厂房/仓库",
  1583. // "count": 83,
  1584. // "value":24
  1585. // },
  1586. // // {
  1587. // // "name": "商市场",
  1588. // // "count": 11,
  1589. // // "value":0 //?
  1590. // // },
  1591. // // {
  1592. // // "name": "公共娱乐场所",
  1593. // // "count": 38,
  1594. // // "value":0 //?
  1595. // // },
  1596. // {
  1597. // "name": "医疗机构",
  1598. // "count": 18,
  1599. // "value":30,
  1600. // },{
  1601. // "name": "养老机构",
  1602. // "count": 10,
  1603. // "value":29,
  1604. // },
  1605. // {
  1606. // "name": '批发市场',
  1607. // "count": 2,
  1608. // "value": '27',
  1609. // },
  1610. // {
  1611. // "name": '儿童福利',
  1612. // "count": 1,
  1613. // "value": '41',
  1614. // },
  1615. // {
  1616. // "name": "沿街门面",
  1617. // "count": 3080,
  1618. // "value":399 //
  1619. // },
  1620. // // {
  1621. // // "name": "办公楼宇",
  1622. // // "count": 52,
  1623. // // "value":0 //?
  1624. // // },
  1625. // // {
  1626. // // "name": "在建工地",
  1627. // // "count": 6,
  1628. // // "value":0 //?
  1629. // // },
  1630. // {
  1631. // "name": "居民小区",
  1632. // "count": 194,
  1633. // "value":38 //?
  1634. // },
  1635. // // {
  1636. // // "name": "宗教场所",
  1637. // // "count": 4,
  1638. // // "value":0 //?
  1639. // // },
  1640. // // {
  1641. // // "name": "学校",
  1642. // // "count": 23,
  1643. // // "value":37
  1644. // // },
  1645. // // {
  1646. // // "name": "加油(汽)站",
  1647. // // "count": 10,
  1648. // // "value":0 //?
  1649. // // },
  1650. // {
  1651. // "name": "地铁站",
  1652. // "count": 4,
  1653. // "value":43 //?
  1654. // }
  1655. // ],
  1656. staticData:{
  1657. array:[],
  1658. total:0,
  1659. array1:[
  1660. {
  1661. "streetTown": "消防站",
  1662. "count": 4,
  1663. "color": "#FF0709",
  1664. "facilityType":0
  1665. },
  1666. {
  1667. "streetTown": "流动消防站(一级)",
  1668. "count": 5,
  1669. "color": "#F48354",
  1670. "facilityType":33
  1671. },
  1672. {
  1673. "streetTown": "流动消防站(二级)",
  1674. "count": 5,
  1675. "color": "#73FBFD",
  1676. "facilityType":34
  1677. },
  1678. {
  1679. "streetTown": "重点微型消防站",
  1680. "count": 77,
  1681. "color": "#4FE261",
  1682. "facilityType":36
  1683. }
  1684. ]
  1685. },
  1686. zfjly1:undefined,
  1687. zfjly2:undefined,
  1688. tabsType:1,
  1689. diversionArea2:[
  1690. { name: "虹桥镇(自选)", value: 2.21, unit: "km²", color: "#01C3B4" },
  1691. { name: "中网格(虹桥)", value: 2, unit: "个", color: "#01C3B4" },
  1692. { name: "小网格(虹桥)", value: 11, unit: "个", color: "#01C3B4" },
  1693. ],
  1694. diversionArea2State:true,
  1695. selectVideoData: [],
  1696. tabsArea: "fx", //切换
  1697. diversionArea: [
  1698. { name: "疏导区总面积", value: 54.46, unit: "km²", color: "#7DD807" },
  1699. { name: "华漕镇", value: 28.2, unit: "km²", color: "#01C3B4" , url:"https://mhxfzd.shmh.gov.cn/data/%E5%8D%8E%E6%BC%95%E9%95%87%E6%B6%88%E9%98%B2%E5%AE%89%E5%85%A8%E5%BD%A2%E5%8A%BF%E7%94%BB%E5%83%8F.pdf"},
  1700. { name: "新虹街道", value: 19.26, unit: "km²", color: "#01C3B4", url:"https://mhxfzd.shmh.gov.cn/data/%E6%96%B0%E8%99%B9%E8%A1%97%E9%81%93%E6%B6%88%E9%98%B2%E5%AE%89%E5%85%A8%E5%BD%A2%E5%8A%BF%E7%94%BB%E5%83%8F.pdf" },
  1701. { name: "七宝镇", value: 7, unit: "k㎡", color: "#01C3B4" , url:"https://mhxfzd.shmh.gov.cn/data/%E4%B8%83%E5%AE%9D%E9%95%87%E6%B6%88%E9%98%B2%E5%AE%89%E5%85%A8%E5%BD%A2%E5%8A%BF%E7%94%BB%E5%83%8F.pdf"},
  1702. { name: "虹桥镇", value: 2.21, unit: "km²", color: "#01C3B4", url:"https://mhxfzd.shmh.gov.cn/data/%E8%99%B9%E6%A1%A5%E9%95%87%E6%B6%88%E9%98%B2%E5%AE%89%E5%85%A8%E5%BD%A2%E5%8A%BF%E7%94%BB%E5%83%8F.pdf" },
  1703. { name: "分管领导", value: 20, unit: "人", color: "#058DFE" },
  1704. { name: "增援干部", value: 11, unit: "人", color: "#058DD1" },
  1705. { name: "大网格", value: 3, unit: "个", color: "#FC0609 " },
  1706. { name: "中网格", value: 12, unit: "个", color: "#FD843A" },
  1707. { name: "小网格", value: 89, unit: "个", color: "#7DD807" },
  1708. // {name:"人员力量",value:41,unit:"人",color:"#058DD1"},
  1709. ], //疏导区基本情况
  1710. gridStatus: 19,
  1711. dataNo: "加载中...",
  1712. dataNo2: "加载中...",
  1713. stores: this.$useStore(),
  1714. proptionList: [
  1715. {
  1716. type: "已推送单位",
  1717. number: 306,
  1718. month: null,
  1719. radio: "1",
  1720. sameStatus: 2,
  1721. avg: null,
  1722. color: ["#BF4216 ", "#F68E6A"],
  1723. },
  1724. {
  1725. type: "已接收单位",
  1726. number: 303,
  1727. month: null,
  1728. radio: "1",
  1729. sameStatus: 2,
  1730. avg: null,
  1731. color: ["#06B1B9 ", "#14E1EA"],
  1732. },
  1733. {
  1734. type: "推送接收率",
  1735. number: 99,
  1736. month: null,
  1737. radio: "0.99",
  1738. sameStatus: 2,
  1739. avg: null,
  1740. color: ["#E4951E ", "#F8ED41"],
  1741. },
  1742. ],
  1743. category: true,
  1744. tableData2: [],
  1745. headerData2: [
  1746. { prop: "name", name: "站点名称" },
  1747. { prop: "car", name: "站点车辆" },
  1748. { prop: "personnel", name: "人员" },
  1749. ],
  1750. reportComplaintList: [
  1751. { name: "火灾扑救", value: 100 },
  1752. { name: "社会救助", value: 90 },
  1753. { name: "抢险救援", value: 60 },
  1754. ], //接处警情况
  1755. checkedArray: {
  1756. checkedData: [19],
  1757. checkedList: [
  1758. { value: 0, label: "车辆" },
  1759. { value: 1, label: "历史警情" },
  1760. { value: 2, label: "历史火灾" },
  1761. { value: 3, label: "重点单位" },
  1762. { value: 4, label: "消防站" },
  1763. { value: 19, label: "大网格" },
  1764. { value: 15, label: "中网格" },
  1765. { value: 16, label: "小网格" },
  1766. { value: 17, label: "监控视频" },
  1767. { value: 18, label: "监督检查" },
  1768. { value: 20, label: "执法记录仪" },
  1769. { value: 21, label: "鹰眼监控" },
  1770. ],
  1771. }, //类型筛选
  1772. checkedSelectValue: "40",
  1773. checkedSelectLabel: "消防站",
  1774. checkedSelectArray: [
  1775. { value: 40, label: "消防站" },
  1776. { value: 41, label: "专职队" },
  1777. // { value: 43, label: "城市消防站" },
  1778. { value: 44, label: "企业消防队" },
  1779. { value: 42, label: "街镇微型消防站" },
  1780. { value: 45, label: "社区微型消防站" },
  1781. { value: 46, label: "一级微型消防站" },
  1782. { value: 47, label: "街镇专职消防队" },
  1783. ],
  1784. tableData: [
  1785. {
  1786. type: "火灾",
  1787. policeTime: "23:00:00",
  1788. alertLevel: "二级",
  1789. address: "闵行区",
  1790. car: "2辆",
  1791. policeCause: "电器火灾",
  1792. department: "吴泾支队",
  1793. status: "1",
  1794. callingUp: "1号",
  1795. equipName: "一七",
  1796. carNumber: "沪X5477应急",
  1797. carStatus: "出动",
  1798. disposeTime: "1:00:00",
  1799. correspondent: "张三",
  1800. commander: "李四",
  1801. firemen: "王五",
  1802. driver: "赵六",
  1803. },
  1804. {
  1805. type: "火灾",
  1806. policeTime: "23:00:00",
  1807. alertLevel: "二级",
  1808. address: "闵行区",
  1809. car: "2辆",
  1810. policeCause: "电器火灾",
  1811. department: "吴泾支队",
  1812. status: "1",
  1813. callingUp: "1号",
  1814. equipName: "一七",
  1815. carNumber: "沪X5477应急",
  1816. carStatus: "出动",
  1817. disposeTime: "1:00:00",
  1818. correspondent: "张三",
  1819. commander: "李四",
  1820. firemen: "王五",
  1821. driver: "赵六",
  1822. },
  1823. {
  1824. type: "火灾",
  1825. policeTime: "23:00:00",
  1826. alertLevel: "二级",
  1827. address: "闵行区",
  1828. car: "2辆",
  1829. policeCause: "电器火灾",
  1830. department: "吴泾支队",
  1831. status: "1",
  1832. callingUp: "1号",
  1833. equipName: "一七",
  1834. carNumber: "沪X5477应急",
  1835. carStatus: "出动",
  1836. disposeTime: "1:00:00",
  1837. correspondent: "张三",
  1838. commander: "李四",
  1839. firemen: "王五",
  1840. driver: "赵六",
  1841. },
  1842. {
  1843. type: "社会救援",
  1844. policeTime: "23:00:00",
  1845. alertLevel: "二级",
  1846. address: "闵行区",
  1847. car: "2辆",
  1848. policeCause: "电器火灾",
  1849. department: "吴泾支队",
  1850. status: "1",
  1851. callingUp: "1号",
  1852. equipName: "一七",
  1853. carNumber: "沪X5477应急",
  1854. carStatus: "出动",
  1855. disposeTime: "1:00:00",
  1856. correspondent: "张三",
  1857. commander: "李四",
  1858. firemen: "王五",
  1859. driver: "赵六",
  1860. },
  1861. {
  1862. type: "社会救援",
  1863. policeTime: "23:00:00",
  1864. alertLevel: "二级",
  1865. address: "闵行区",
  1866. car: "2辆",
  1867. policeCause: "电器火灾",
  1868. department: "吴泾支队",
  1869. status: "1",
  1870. callingUp: "1号",
  1871. equipName: "一七",
  1872. carNumber: "沪X5477应急",
  1873. carStatus: "出动",
  1874. disposeTime: "1:00:00",
  1875. correspondent: "张三",
  1876. commander: "李四",
  1877. firemen: "王五",
  1878. driver: "赵六",
  1879. },
  1880. {
  1881. type: "社会救援",
  1882. policeTime: "23:00:00",
  1883. alertLevel: "二级",
  1884. address: "闵行区",
  1885. car: "2辆",
  1886. policeCause: "电器火灾",
  1887. department: "吴泾支队",
  1888. status: "1",
  1889. callingUp: "1号",
  1890. equipName: "一七",
  1891. carNumber: "沪X5477应急",
  1892. carStatus: "出动",
  1893. disposeTime: "1:00:00",
  1894. correspondent: "张三",
  1895. commander: "李四",
  1896. firemen: "王五",
  1897. driver: "赵六",
  1898. },
  1899. {
  1900. type: "抢险救援",
  1901. policeTime: "23:00:00",
  1902. alertLevel: "二级",
  1903. address: "闵行区",
  1904. car: "2辆",
  1905. policeCause: "电器火灾",
  1906. department: "吴泾支队",
  1907. status: "1",
  1908. callingUp: "1号",
  1909. equipName: "一七",
  1910. carNumber: "沪X5477应急",
  1911. carStatus: "出动",
  1912. disposeTime: "1:00:00",
  1913. correspondent: "张三",
  1914. commander: "李四",
  1915. firemen: "王五",
  1916. driver: "赵六",
  1917. },
  1918. {
  1919. type: "抢险救援",
  1920. policeTime: "23:00:00",
  1921. alertLevel: "二级",
  1922. address: "闵行区",
  1923. car: "2辆",
  1924. policeCause: "电器火灾",
  1925. department: "吴泾支队",
  1926. status: "1",
  1927. callingUp: "1号",
  1928. equipName: "一七",
  1929. carNumber: "沪X5477应急",
  1930. carStatus: "出动",
  1931. disposeTime: "1:00:00",
  1932. correspondent: "张三",
  1933. commander: "李四",
  1934. firemen: "王五",
  1935. driver: "赵六",
  1936. },
  1937. {
  1938. type: "抢险救援",
  1939. policeTime: "23:00:00",
  1940. alertLevel: "二级",
  1941. address: "闵行区",
  1942. car: "2辆",
  1943. policeCause: "电器火灾",
  1944. department: "吴泾支队",
  1945. status: "1",
  1946. callingUp: "1号",
  1947. equipName: "一七",
  1948. carNumber: "沪X5477应急",
  1949. carStatus: "出动",
  1950. disposeTime: "1:00:00",
  1951. correspondent: "张三",
  1952. commander: "李四",
  1953. firemen: "王五",
  1954. driver: "赵六",
  1955. },
  1956. {
  1957. type: "抢险救援",
  1958. policeTime: "23:00:00",
  1959. alertLevel: "二级",
  1960. address: "闵行区",
  1961. car: "2辆",
  1962. policeCause: "电器火灾",
  1963. department: "吴泾支队",
  1964. status: "1",
  1965. callingUp: "1号",
  1966. equipName: "一七",
  1967. carNumber: "沪X5477应急",
  1968. carStatus: "出动",
  1969. disposeTime: "1:00:00",
  1970. correspondent: "张三",
  1971. commander: "李四",
  1972. firemen: "王五",
  1973. driver: "赵六",
  1974. },
  1975. {
  1976. type: "火灾",
  1977. policeTime: "23:00:00",
  1978. alertLevel: "二级",
  1979. address: "闵行区",
  1980. car: "2辆",
  1981. policeCause: "电器火灾",
  1982. department: "吴泾支队",
  1983. status: "1",
  1984. callingUp: "1号",
  1985. equipName: "一七",
  1986. carNumber: "沪X5477应急",
  1987. carStatus: "出动",
  1988. disposeTime: "1:00:00",
  1989. correspondent: "张三",
  1990. commander: "李四",
  1991. firemen: "王五",
  1992. driver: "赵六",
  1993. },
  1994. ],
  1995. headerData: [
  1996. { prop: "policeTime", name: "立案时间" },
  1997. { prop: "alertLevel", name: "警情等级" },
  1998. { prop: "address", name: "案发地址" },
  1999. { prop: "car", name: "调动车辆" },
  2000. // { prop: "type", name: "类型" },
  2001. { prop: "policeCause", name: "原因" },
  2002. { prop: "department", name: "所属中队" },
  2003. { prop: "status", name: "状况" },
  2004. ],
  2005. erpData: [
  2006. {
  2007. linkPhone: "13917453877",
  2008. address: "上海市闵行区新虹街道申滨南路1156号龙湖天街A栋112、115室",
  2009. employeeNum: "",
  2010. registrar: "市场监督管理局",
  2011. companyType: "9",
  2012. fireDutyName: "魏良满",
  2013. delegateName: "魏静",
  2014. completedTime: null,
  2015. companyName: "龙湖虹桥天街",
  2016. fireManageName: "魏良满",
  2017. businessStatus: "开业",
  2018. buildArea: "0.0",
  2019. paidCapital: "500",
  2020. companyId: "2DB679350A0F4023B74C4261539AA031",
  2021. foundTime: null,
  2022. buildingStructure: "钢筋混凝土",
  2023. registeredCapital: "500",
  2024. organization: "91310112MA1GEKG30K",
  2025. companyNature: 9,
  2026. buildingHeight: "25",
  2027. fireRating: "一级",
  2028. construction: null,
  2029. id: 1415,
  2030. },
  2031. ],
  2032. rightArray: {
  2033. tableData: [],
  2034. headerData2: [
  2035. { prop: "gridArea", name: "网格区域" },
  2036. { prop: "streetTown", name: "街道" },
  2037. { prop: "gridPeople", name: "网格人员" },
  2038. { prop: "recruiting", name: "增援干部" },
  2039. { prop: "responsibilities", name: "分管领导" },
  2040. ],
  2041. },
  2042. };
  2043. },
  2044. mounted() {
  2045. this.checkFullScreen(); //全屏
  2046. this.timeJ() //检查率颜色
  2047. // this.gridStatisticsData()//处置网格数据
  2048. this.grid(15);
  2049. this.tableDataGrid=this.tableDataBigGrid;
  2050. setTimeout(() => {
  2051. this.autoScroll();
  2052. });
  2053. window.addEventListener("resize", () => this.resizeTimeActions([this.$refs.category, this.$refs.gauge1]), true);
  2054. this.initMap("anbao"); //地图初始化
  2055. // this.anbao(null, 3);//大网格
  2056. this.dwgjcmcAndhzzx()//大网格名称及会展中心
  2057. // this.anbaoMap()
  2058. // this.getFireSiteDuty(); //各站点执勤实力
  2059. // this.selectVideo(); //视频在线
  2060. // this.sadianSelect(this.checkedArray.checkedData[0]); //撒点
  2061. this.getStaticData(this.value111) //疏导区社会单位情况统计
  2062. this.getZQStaticData() //执勤战备力量部署
  2063. this.anbaoSDUWG2()//疏导区网格(大)
  2064. this.basicStaticsData(39)//九小场所统计
  2065. // this.llbutj()//力量部署统计
  2066. // this.staticsSd() // 疏导区基本情况统计
  2067. },
  2068. methods: {
  2069. //检查率颜色
  2070. timeJ(){
  2071. // 设置间隔时间(例如3秒)
  2072. let duration = 2000;
  2073. // 设置定时器
  2074. let interval = setInterval(() => {
  2075. // 计算当前时间已过的百分比
  2076. let timeElapsed = this.jEnd / (duration / 100);
  2077. // 如果时间已过或接近目标值,清除定时器并设置为目标值
  2078. if (this.jEndS >= this.jEnd) {
  2079. clearInterval(interval);
  2080. this.jEndS = this.jEnd;
  2081. } else {
  2082. this.jEndS = timeElapsed + this.jEndS
  2083. // 输出当前值
  2084. }
  2085. }, 100);
  2086. },
  2087. //中网格对应左侧疏导区基本情况
  2088. async staticsSd(name,grideGrade,mapGridName){
  2089. let res = await this.$axios.get(
  2090. this.$api.security.gridMemderStatistic +
  2091. "?" +
  2092. this.$qs.stringify({
  2093. gridArea: name,
  2094. gridGrade:grideGrade,
  2095. mapGridName:mapGridName
  2096. })
  2097. );
  2098. if (res.data) {
  2099. this.line3Array[0].count=res.data.keyCompanyNum; //重点单位
  2100. this.line3Array[1].count=res.data.largeBuildNum;//大型商业综合体
  2101. this.line3Array[2].count=res.data.hotelNum;//宾馆酒店
  2102. this.line3Array[3].count=res.data.scaleRentNum;//规模租赁
  2103. this.line3Array[4].count=res.data.factoryStoreNum;//厂房仓库
  2104. this.line3Array[5].count=res.data.medicalInstitutionNum;//医疗机构
  2105. this.line3Array[6].count=res.data.elderCareNum;//养老机构
  2106. this.line3Array[7].count=0;//九小场所
  2107. // this.line3Array[7].count=res.data.dealerMarketNum;//批发市场 ???
  2108. // this.line3Array[8].count=res.data.schoolNum;//儿童福利机构
  2109. // this.line3Array[9].count=res.data.streetFrontNum;//沿街门面
  2110. // this.line3Array[10].count=res.data.villageNum;//居民小区
  2111. // this.line3Array[11].count=res.data.subwayStationNum;//地铁站
  2112. this.line3Array[8].count=res.data.villageNum//居民小区
  2113. this.line3Array[9].count=0//混合经营场所
  2114. this.line3Array[10].count=res.data.constructionSiteNum//在建工地
  2115. this.line3Array[11].count=res.data.schoolNum;//寄宿学校
  2116. }
  2117. },
  2118. /**
  2119. * @消防安全重点单位撒点详情
  2120. * @api接口请求
  2121. */
  2122. async zddwSd(val) {
  2123. let res = await this.$axios.get(
  2124. this.$api.selfManagement.scatterData +
  2125. "?" +
  2126. this.$qs.stringify({
  2127. companyId: val.companyId,
  2128. })
  2129. );
  2130. if (res.data) {
  2131. this.tkData = res.data[0];
  2132. this.tkData.person1 = val.person1
  2133. this.tkData.person2 = val.person2
  2134. this.tkData.person3 = val.person3
  2135. this.tkData.phone1 = val.phone1
  2136. this.tkData.phone2 = val.phone2
  2137. this.tkData.phone3 = val.phone3
  2138. this.tk = true;
  2139. }
  2140. },
  2141. /**
  2142. * 消防安全重点单位关闭
  2143. */
  2144. closeTk() {
  2145. this.tk = false;
  2146. },
  2147. /**
  2148. * 每日动态弹框打开pdf
  2149. */
  2150. openPdf(val){
  2151. this.pdfUrl=val;
  2152. this.dialogTableVisible=true
  2153. },
  2154. openPdf2(val){
  2155. if(val.url){
  2156. this.pdfUrl=val.url;
  2157. this.dialogTableVisible=true
  2158. }
  2159. },
  2160. btnC(val) {
  2161. this.check = val;
  2162. if(val==2){
  2163. this.tableDataGrid=this.tableDataMiddleGrid
  2164. }else{
  2165. this.tableDataGrid=this.tableDataBigGrid
  2166. }
  2167. },
  2168. /**
  2169. * 视频关闭
  2170. * @param {} id
  2171. */
  2172. videoClose(id){
  2173. if(id ==1){
  2174. this.zfjly1 = true
  2175. }
  2176. if(id ==2){
  2177. this.zfjly2 = true
  2178. }
  2179. this.destroyHls()
  2180. },
  2181. /**
  2182. * 大网格街镇名称
  2183. */
  2184. dwgjcmcAndhzzx(){
  2185. setTimeout(()=>{
  2186. let data = [
  2187. {
  2188. gisX: 121.271655,
  2189. gisY: 31.227993,
  2190. type: "wgmc_hc",
  2191. type2:"大网格",
  2192. type3:"华漕镇",
  2193. },
  2194. {
  2195. gisX: 121.308632,
  2196. gisY: 31.201660,
  2197. type: "wgmc_xh",
  2198. type2:"大网格",
  2199. type3:"新虹街道",
  2200. },
  2201. {
  2202. gisX: 121.333994,
  2203. gisY: 31.165263,
  2204. type: "wgmc_qb",
  2205. type2:"大网格",
  2206. type3:"七宝镇",
  2207. },
  2208. {
  2209. gisX: 121.37880329777738,
  2210. gisY: 31.185610251208278,
  2211. type: "wgmc_hq",
  2212. type2:"大网格",
  2213. type3:"虹桥镇",
  2214. },
  2215. {
  2216. gisX: 121.302183,
  2217. gisY: 31.189991,
  2218. type: "国家会展中心",
  2219. }
  2220. ];
  2221. this.addMarkerWG(data, "security-plan", "大网格街镇名称&国家会展中心")
  2222. },2000)
  2223. },
  2224. /**
  2225. * 会展中心图标()特殊处理
  2226. */
  2227. hzzxtb(){
  2228. setTimeout(()=>{
  2229. let data = {
  2230. gisX: 121.302183,
  2231. gisY: 31.189991,
  2232. type: "国家会展中心",
  2233. };
  2234. this.addMarkerSYC([data], "security-plan", "国家会展中心")
  2235. },2000)
  2236. },
  2237. /**
  2238. * 力量部署统计
  2239. */
  2240. llbutj(){
  2241. this.$axios.post(this.$api.water.baseGgpFacilityStatistic,{
  2242. "facilityType": [33,34,35,36] ,
  2243. "statisticType":"facilityType",
  2244. }).then((res) => {
  2245. for(let i =0;i<res.data.length;i++){
  2246. if(res.data[i].facilityType == "33"){
  2247. this.staticData.array1[0].count = res.data[i].count
  2248. }
  2249. if(res.data[i].facilityType == "34"){
  2250. this.staticData.array1[1].count = res.data[i].count
  2251. }
  2252. if(res.data[i].facilityType == "35"){
  2253. this.staticData.array1[2].count = res.data[i].count
  2254. }
  2255. if(res.data[i].facilityType == "36"){
  2256. this.staticData.array1[3].count = res.data[i].count
  2257. }
  2258. }
  2259. })
  2260. },
  2261. staticsPoint(arr,type,val){ //疏导区社会单位情况统计撒点
  2262. this.anbaoSDUWG()//疏导区网格
  2263. this.addMarker(arr, "security-plan", val)
  2264. },
  2265. goPoints(type){
  2266. if(type == 0){
  2267. retuen
  2268. }
  2269. this.anbaoSDUWG()
  2270. this.$axios.post(this.$api.water.baseGgpFacilityList,{
  2271. "facilityType": [type ]
  2272. }).then((res) => {
  2273. let arr = []
  2274. if(res.data.length>0){
  2275. arr = res.data;
  2276. this.arrayData= res.data;
  2277. if(type=='30'){
  2278. this.addMarker(arr, "security-plan", "消防站")
  2279. }else if(type=='33'){
  2280. this.addMarker(arr, "security-plan", "流动消防站(一级)")
  2281. }else if(type=='34'){
  2282. this.addMarker(arr, "security-plan", "流动消防站(二级)")
  2283. }else if(type=='36'){
  2284. this.addMarker(arr, "security-plan", "重点微型消防站")
  2285. }
  2286. }
  2287. });
  2288. },
  2289. /**
  2290. * 消防安全重点单位
  2291. * @param {*} id
  2292. */
  2293. djActiveClick(id) {
  2294. let type = "重点单位";
  2295. let arr = [];
  2296. this.$axios
  2297. .get(
  2298. this.$api.selfManagement.riskGradeScatter +
  2299. "?" +
  2300. this.$qs.stringify({
  2301. streetTown: this.stroes.$state.streetTown,
  2302. riskGrade: id + 1,
  2303. })
  2304. )
  2305. .then((res) => {
  2306. let data2 = {
  2307. gisX: 121.302183,
  2308. gisY: 31.189991,
  2309. type: "国家会展中心",
  2310. };
  2311. if (res.data.length > 0) {
  2312. //点分布
  2313. let data = res.data;
  2314. for (let i = 0; i < data.length; i++) {
  2315. arr[i] = data[i];
  2316. arr[i].gisX = data[i].longitude;
  2317. arr[i].gisY = data[i].latitude;
  2318. arr[i].companyId = data[i].companyId;
  2319. arr[i].type = type;
  2320. }
  2321. arr.unshift(data2)
  2322. this.addMarker(arr.splice(0, 500), "self-management", id == 0 ? "高风险" : id ==1 ? "较高风险" : id == 2 ? "一般风险" : id == 3 ? "低风险" : "");
  2323. } else {
  2324. this.addMarker(arr, "self-management", type);
  2325. }
  2326. this.anbaoSDUWG()//疏导区网格
  2327. });
  2328. },
  2329. basicStaticsData(type,name){ //疏导区基本情况 统计点击事件
  2330. this.$axios.post(this.$api.water.baseGgpFacilityList,{
  2331. "facilityType": type == "新消监" ? [39,42] : type == 399 ? [39] : [type]
  2332. }).then((res) => {
  2333. let arr = []
  2334. if(res.data.length>0){
  2335. arr = res.data;
  2336. let data = {
  2337. gisX: 121.302183,
  2338. gisY: 31.189991,
  2339. type: "国家会展中心",
  2340. };
  2341. arr.push(data)
  2342. if(type == "29" || type == "30"){
  2343. this.arrayData= res.data;
  2344. }
  2345. //新消监
  2346. if(type == "新消监"){
  2347. this.addMarker(arr, "security-plan", type)
  2348. }else{
  2349. let dataOther = [data]
  2350. if(type == 39){ //九小场所
  2351. this.anbaoSDUWG()//疏导区网格
  2352. if(name == "九小场所"){
  2353. for(let i=0;i<arr.length;i++){
  2354. dataOther.push(arr[i])
  2355. }
  2356. this.addMarker(dataOther, "security-plan", name)
  2357. }else{
  2358. this.jxcstj = [0,0,0,0]
  2359. for(let i=0;i<arr.length;i++){
  2360. if(arr[i].checkComment){
  2361. if(arr[i].checkComment == "高风险"){
  2362. this.jxcstj[0] ++
  2363. }
  2364. if(arr[i].checkComment == "较高风险"){
  2365. this.jxcstj[1] ++
  2366. }
  2367. if(arr[i].checkComment == "一般风险"){
  2368. this.jxcstj[2] ++
  2369. }
  2370. if(arr[i].checkComment == "低风险"){
  2371. this.jxcstj[3] ++
  2372. }
  2373. }
  2374. }
  2375. }
  2376. }else{
  2377. if(type == 6){
  2378. arr = [data]
  2379. arr.push(res.data[8])
  2380. arr.push(res.data[9])
  2381. }
  2382. this.addMarker(arr, "security-plan", name)
  2383. }
  2384. }
  2385. if(type == 399){ //沿街门面 左侧顶部
  2386. this.addMarker(dataOther, "security-plan", name)
  2387. }
  2388. this.anbaoSDUWG()//疏导区网格
  2389. // if(type=='29'){
  2390. // this.addMarker(arr, "security-plan", "养老机构")
  2391. // }else if(type=='30'){
  2392. // this.addMarker(arr, "security-plan", "医疗机构")
  2393. // }
  2394. }
  2395. });
  2396. },
  2397. basicGoBack(){ //疏导区基本情况 返回
  2398. this.basicStatisStatus=true;
  2399. },
  2400. getZQStaticData(){
  2401. this.$axios.post(this.$api.water.baseGgpFacilityStatistic,{
  2402. "facilityType": [33,34,35,36 ],
  2403. "statisticType":"facilityType",
  2404. }).then((res) => {
  2405. // this.staticData.array=res.data;
  2406. // var colorArr=['#00C8B8','#068DFF','#FF843A','#7DD807'];
  2407. // this.staticData.array.forEach((item, index) => {
  2408. // item.color = colorArr[index]
  2409. // })
  2410. // console.log(this.staticData.array)
  2411. // var totalCount=0
  2412. // res.data.forEach(function(item){
  2413. // totalCount+=Number(item.count)
  2414. // })
  2415. // this.staticData.total=totalCount
  2416. })
  2417. },
  2418. getStaticData(type){
  2419. this.$axios.post(this.$api.water.baseGgpFacilityStatistic,{
  2420. "facilityType": [type ] ,
  2421. "statisticType":"street",
  2422. }).then((res) => {
  2423. //筛选4个街镇的数据
  2424. this.staticData.array = res.data.filter(item=> item.streetTown=='华漕镇'||item.streetTown=='新虹街道'||item.streetTown=='七宝镇'||item.streetTown=='虹桥镇')
  2425. var colorArr=['#00C8B8','#068DFF','#FF843A','#7DD807'];
  2426. this.staticData.array.forEach((item, index) => {
  2427. item.color = colorArr[index]
  2428. })
  2429. // console.log(this.staticData.array)
  2430. var totalCount=0
  2431. res.data.forEach(function(item){
  2432. totalCount+=Number(item.count)
  2433. })
  2434. this.staticData.total=totalCount
  2435. })
  2436. },
  2437. getOneUnit(val){
  2438. if(val=='29'||val=='30'){ //表格及撒点
  2439. this.anbaoSDUWG()//疏导区网格
  2440. this.$axios.post(this.$api.water.baseGgpFacilityList,{
  2441. "facilityType": [val ]
  2442. }).then((res) => {
  2443. let arr = []
  2444. if(res.data.length>0){
  2445. arr = res.data;
  2446. this.arrayData = res.data ? JSON.parse(JSON.stringify(res.data)) : []
  2447. let data = {
  2448. gisX: 121.302183,
  2449. gisY: 31.189991,
  2450. type: "国家会展中心",
  2451. };
  2452. arr.push(data)
  2453. if(val=='29'){
  2454. this.addMarker(arr, "security-plan", "养老机构")
  2455. }else{
  2456. this.addMarker(arr, "security-plan", "医疗机构")
  2457. }
  2458. }
  2459. });
  2460. }else if(val=='6'){
  2461. }else{//统计
  2462. this.getStaticData(val)
  2463. }
  2464. },
  2465. beforeDestroy() {
  2466. this.autoScroll(true);
  2467. },
  2468. closeJkspStatus(){
  2469. this.jkspStatus = false
  2470. this.destroyHls()
  2471. },
  2472. //播放按钮
  2473. play() {
  2474. this.destroyHls()
  2475. this.loadVideoFn(this.Message.videoUrl)
  2476. },
  2477. destroyHls: function () {//关闭视频拉取
  2478. if (this.hls) {
  2479. this.$refs.hlsVideo.pause();
  2480. this.hls.destroy();
  2481. this.hls = null;
  2482. }
  2483. },
  2484. loadVideoFn(url) {//视频播放
  2485. setTimeout(() => {
  2486. if (Hls.isSupported()) {
  2487. this.hls = new Hls();
  2488. this.hls.loadSource(url);
  2489. this.hls.attachMedia(this.$refs.hlsVideo);
  2490. this.hls.on(Hls.Events.MANIFEST_PARSED, () => {
  2491. // console.log("加载成功");
  2492. this.$refs.hlsVideo.play();
  2493. });
  2494. this.hls.on(Hls.Events.ERROR, (event, data) => {
  2495. // console.log(event, data);
  2496. // 监听出错事件
  2497. //console.log("加载失败");
  2498. });
  2499. }
  2500. }, 1000)
  2501. },
  2502. /**
  2503. * 监控视频
  2504. */
  2505. surveillance(){
  2506. axios({
  2507. method: "get",
  2508. url: "http://32.1.7.96:8086/fireMajorSecurityProcess/selectSecurityViewUrl",
  2509. params:{
  2510. "pageNum":"1",
  2511. "pageSize":"500",
  2512. }
  2513. }).then((res) => {
  2514. this.sadian(res.data.data, "security-plan", "监控视频");
  2515. })
  2516. },
  2517. /**
  2518. * 网格统计状态切换
  2519. */
  2520. gridStatisticsGoBack(){
  2521. this.gridStatisticsStatus = true
  2522. },
  2523. /**
  2524. * 网格数据统计
  2525. */
  2526. gridStatisticsData(){
  2527. let formData = new FormData()
  2528. formData.append('grant_type', "client_credentials")
  2529. formData.append('client_id', "12016")
  2530. formData.append('client_secret', "956DD43944464DCeB262cED7d351AAA4")
  2531. formData.append('scope', "api.read")
  2532. axios({
  2533. headers: {
  2534. 'Content-Type': 'multipart/form-data'
  2535. },
  2536. method: "post",
  2537. url: "http://32.1.8.124:5001/connect/token",
  2538. data:formData
  2539. }).then((res) => {
  2540. axios({
  2541. headers: {
  2542. 'Content-Type': 'multipart/form-data',
  2543. "AppId": "12016",
  2544. "ResourceId": "1884",
  2545. "Authorization":'Bearer ' + res.access_token
  2546. },
  2547. method: "get",
  2548. url: "http://32.1.8.124:5002/api/data-share/1884/json",
  2549. params:{
  2550. "STARTTIME":dayjs().subtract(0, "day").format("YYYY-MM-DD"),
  2551. "ENDTIME":dayjs().subtract(0, "day").format("YYYY-MM-DD"),
  2552. "STREETCODE":"",
  2553. "INFOTYPEID":"",
  2554. "INFOBCCODE":"",
  2555. "INFOSCCODE":"",
  2556. "INFOZCCODE":"",
  2557. // "ENDTIME":"2023-12-01",
  2558. }
  2559. }).then((res2) => {
  2560. this.gridStatisticsTable.total = []
  2561. this.gridStatisticsTable.over = []
  2562. this.gridStatisticsTable.yinhuan = []
  2563. this.gridStatisticsTable.total = res2.values
  2564. this.gridStatisticsTableType = this.gridStatisticsTable.total
  2565. this.gridStatisticsNum.total = res2.values.length
  2566. let num = 0;
  2567. let yinhuan = 0
  2568. for(let i =0;i<res2.values.length;i++){
  2569. if(res2.values[i]["案件状态"] == "已结案"){
  2570. num ++
  2571. this.gridStatisticsTable.over.push(res2.values[i])
  2572. }
  2573. if(res2.values[i]["案件子类"].indexOf("部件") > -1 ||
  2574. res2.values[i]["案件子类"].indexOf("三违") > -1 ||
  2575. res2.values[i]["案件子类"].indexOf("扰乱火灾") > -1 ||
  2576. res2.values[i]["案件子类"].indexOf("焚烧") > -1 ||
  2577. res2.values[i]["案件子类"].indexOf("森林火灾") > -1 ){
  2578. }else{
  2579. yinhuan ++
  2580. this.gridStatisticsTable.yinhuan.push(res2.values[i])
  2581. }
  2582. }
  2583. setTimeout(()=>{
  2584. this.gridStatisticsNum.over = num
  2585. this.gridStatisticsNum.yinhuan = yinhuan
  2586. if(num){
  2587. this.gridStatisticsNum.rate = ((num / this.gridStatisticsNum.total) * 100).toFixed(2)
  2588. }else{
  2589. this.gridStatisticsNum.rate = 0
  2590. }
  2591. },50)
  2592. })
  2593. })
  2594. },
  2595. /**
  2596. * 网格统计
  2597. * @param {} id 1上报数,2隐患数,3处置数
  2598. */
  2599. gridStatistics(id){
  2600. this.gridStatisticsStatus = false
  2601. if(id == 1){
  2602. this.gridStatisticsTableType = this.gridStatisticsTable.total
  2603. }
  2604. if(id == 2){
  2605. this.gridStatisticsTableType = this.gridStatisticsTable.over
  2606. }
  2607. if(id == 3){
  2608. this.gridStatisticsTableType = this.gridStatisticsTable.yinhuan
  2609. }
  2610. },
  2611. /**
  2612. * 在线视频
  2613. */
  2614. async selectVideo(id) {
  2615. this.$axios
  2616. .get(
  2617. this.$api.zfjlj +
  2618. "?" +
  2619. this.$qs.stringify({
  2620. apikey:"643e6591-a489-4648-ba35-c15c39c64022&f_in_civilCode=31021019,31020414",
  2621. pageNo:0,
  2622. pageSize:10000
  2623. })
  2624. )
  2625. .then((res) => {
  2626. console.log(res.data)
  2627. })
  2628. return
  2629. await axios({
  2630. headers: {
  2631. "Content-Type": "application/json;charset=UTF-8",
  2632. },
  2633. method: "get",
  2634. // url: "http://32.0.15.107:8080/video-api/kiop-gateway-core/4G/device/ext?apikey=643e6591-a489-4648-ba35-c15c39c64022",
  2635. // url: "http://32.0.15.107:8080/video-api/kiop-gateway-core/tysbs/device/ext?apikey=643e6591-a489-4648-ba35-c15c39c64022&f_in_civilCode=31021019,31020414&pageNo=0&pageSize=10000",
  2636. url: "http://mhxfzd.shmh.gov.cn/video-api/kiop-gateway-core/tysbs/device/ext?apikey=643e6591-a489-4648-ba35-c15c39c64022&f_in_civilCode=31021019,31020414&pageNo=0&pageSize=10000",
  2637. }).then((res) => {
  2638. let arr = [];
  2639. let zfjly = [];
  2640. if (res.data.length > 0) {
  2641. let data = res.data;
  2642. for (let i = 0; i < data.length; i++) {
  2643. if (data[i].otherNames?.status_name == "在线") {
  2644. var num = {
  2645. id: data[i].id,
  2646. name: data[i]?.deviceName,
  2647. groupName: data[i]?.groupName,
  2648. gisX: data[i]?.longitude
  2649. ? data[i]?.longitude
  2650. : 0,
  2651. gisY: data[i]?.latitude ? data[i]?.latitude : 0,
  2652. type: "执法记录仪",
  2653. gbid: data[i].gbid,
  2654. url:
  2655. "http://10.107.31.215:50080/dispatch-ms/#/conference/single_url?ipc_live=1&key=643e6591-a489-4648-ba35-c15c39c64022&gbids=" +
  2656. data[i].gbid,
  2657. };
  2658. arr.push(num);
  2659. }
  2660. }
  2661. for (let i = 0; i < arr.length; i++) {
  2662. if (arr[i].name.indexOf("单兵") > -1 || arr[i].name.indexOf("无人机") > -1 || arr[i].name.indexOf("布控球") > -1 || arr[i].name.indexOf("救援站") > -1) {
  2663. }else{
  2664. zfjly.push(arr[i]);
  2665. }
  2666. }
  2667. this.selectVideoData = zfjly;
  2668. let sd = []
  2669. if (arr.length > 0 && id) {
  2670. let data = {
  2671. gisX: 121.302183,
  2672. gisY: 31.189991,
  2673. type: "国家会展中心",
  2674. };
  2675. sd = JSON.parse(JSON.stringify(zfjly))
  2676. sd.push(data)
  2677. this.addMarker(sd, "enforcement-dynamic","执法记录仪");
  2678. }
  2679. }
  2680. });
  2681. // 测试
  2682. // let arr =
  2683. // [{
  2684. // id: "5708ad6382517cd68ea2d2f8cd01bb58",
  2685. // name: "上海闵行闵行消防站4G布控球",
  2686. // groupName: "009闵行支队",
  2687. // gisX: 121.386128,
  2688. // gisY:31.139253 ,
  2689. // type:"video",
  2690. // gbid:31.01411,
  2691. // type:"执法记录仪",
  2692. // url:"http://10.107.31.215:50080/dispatch-ms/#/conference/single_url?ipc_live=1&key=643e6591-a489-4648-ba35-c15c39c64022&gbids=31000000001320003271&nmediaid=121"
  2693. // }
  2694. // ]
  2695. // if(id){
  2696. // this.addMarker(arr, "enforcement-dynamic");
  2697. // }
  2698. },
  2699. /**
  2700. * 鹰眼监控
  2701. */
  2702. async selectVideo2() {
  2703. await axios({
  2704. headers: {
  2705. "Content-Type": "application/json;charset=UTF-8",
  2706. },
  2707. method: "get",
  2708. url: "http://32.1.7.96:8012/apiMhzdZdab/fireMajorSecurityProcess/selectSecurityViewUrl?pageNum=1&pageSize=100&isHG=1",
  2709. }).then((res) => {
  2710. var arr = []
  2711. let data = res.data.data;
  2712. let data2 = {
  2713. gisX: 121.302183,
  2714. gisY: 31.189991,
  2715. type: "国家会展中心",
  2716. };
  2717. arr.push(data2)
  2718. for (let i = 0; i < data.length; i++) {
  2719. var num = {
  2720. id: data[i].id,
  2721. name: data[i].installPlace,
  2722. groupName: data[i].name,
  2723. gisX: data[i].longitude,
  2724. gisY: data[i].latitude,
  2725. type: "鹰眼监控",
  2726. url:data[i].viewUrl
  2727. };
  2728. arr.push(num);
  2729. }
  2730. this.addMarker(arr, "security-plan","鹰眼监控");
  2731. })
  2732. },
  2733. selectArray(id) {
  2734. this.checkedArray.checkedData[0] = 4;
  2735. let data = this.checkedSelectArray.filter((val) => {
  2736. if (val.value == id) {
  2737. return val.label;
  2738. }
  2739. });
  2740. this.checkedSelectLabel = data[0].label;
  2741. this.sadianSelect(data[0].value);
  2742. this.anbaoSDUWG()//疏导区网格
  2743. },
  2744. /**
  2745. *
  2746. */
  2747. goBack() {
  2748. this.category = true;
  2749. },
  2750. /**
  2751. * categoryClick echarts 点击事件
  2752. */
  2753. categoryClick() {
  2754. this.category = false;
  2755. },
  2756. /* 各站点执勤实力分页 */
  2757. async getFireSiteDuty() {
  2758. await this.$axios
  2759. .get(
  2760. this.$api.fireSite.page +
  2761. "?" +
  2762. this.$qs.stringify({
  2763. current: 1,
  2764. size: 100,
  2765. })
  2766. )
  2767. .then((res) => {
  2768. if (res.data.records.length > 0) {
  2769. let arr = res.data.records;
  2770. let data = arr.filter((item) => {
  2771. let data = [];
  2772. if (item.name == "华漕站" || item.name == "新虹站" || item.name == "七宝站" || item.name == "申虹站") {
  2773. data.push(item);
  2774. return data;
  2775. }
  2776. });
  2777. for (let i = 0; i < data.length; i++) {
  2778. data[i].cheliang = {};
  2779. data[i].personnel = undefined;
  2780. data[i].car = undefined;
  2781. this.$axios
  2782. .get(
  2783. this.$api.fireSite.list +
  2784. "?" +
  2785. this.$qs.stringify({
  2786. zdCode: data[i].xfjgId,
  2787. })
  2788. )
  2789. .then((Response) => {
  2790. if (Response.data.length > 0) {
  2791. let children = Response.data;
  2792. data[i].cheliang = children;
  2793. data[i].car = children.length;
  2794. data[i].children = [];
  2795. data[i].personnel = 0;
  2796. for (let a = 0; a < children.length; a++) {
  2797. children[a].renyuan = "";
  2798. children[a].renyuanNum = 0;
  2799. if (children[a].zhy) {
  2800. children[a].renyuan = children[a].zhy + ",";
  2801. }
  2802. if (children[a].jsy) {
  2803. children[a].renyuan += children[a].jsy + ",";
  2804. }
  2805. if (children[a].txy) {
  2806. children[a].renyuan += children[a].txy + ",";
  2807. }
  2808. if (children[a].zsry) {
  2809. children[a].renyuan += children[a].zsry + ",";
  2810. }
  2811. data[i].children.push(children[a]);
  2812. if (children[a].renyuan.indexOf(",") > -1) {
  2813. children[a].renyuanNum += children[a].renyuan.match(/,/g).length;
  2814. }
  2815. data[i].personnel += children[a].renyuanNum;
  2816. }
  2817. for (let i = 0; i < data.length; i++) {
  2818. if (data[i].name == "闵行支队") {
  2819. data[i].name = "支队";
  2820. } else {
  2821. data[i].name = data[i].name.slice(0, 2);
  2822. }
  2823. }
  2824. setTimeout(() => {
  2825. this.cldt = data;
  2826. }, 1500);
  2827. }
  2828. });
  2829. }
  2830. setTimeout(() => {
  2831. this.tableData2 = data;
  2832. }, 1000);
  2833. } else {
  2834. this.dataNo = "暂未数据";
  2835. }
  2836. });
  2837. },
  2838. /**
  2839. * 撒点类型选择
  2840. */
  2841. checkboxChange(id) {
  2842. this.checkedArray.checkedData[0] = id;
  2843. if (id == 15) {
  2844. this.gridStatus = id;
  2845. this.anbao(1, 1);
  2846. // this.anbaoMap()
  2847. this.grid(id);
  2848. this.hzzxtb()
  2849. this.anbaoSDUWG()//疏导区网格
  2850. } else if (id == 16) {
  2851. this.gridStatus = id;
  2852. this.grid(16, null, null, 1);
  2853. setTimeout(()=>{
  2854. this.hzzxtb()
  2855. this.anbaoSDUWG()//疏导区网格
  2856. },3000)
  2857. } else if (id == 17) {
  2858. this.surveillance()
  2859. this.hzzxtb()
  2860. this.anbaoSDUWG()//疏导区网格
  2861. } else if (id == 18) {
  2862. this.gridStatus = id;
  2863. this.sadianSelect(id);
  2864. this.hzzxtb()
  2865. this.anbaoSDUWG()//疏导区网格
  2866. } else if (id == 19) {
  2867. this.gridStatus = id;
  2868. this.anbao(1, 3);
  2869. this.dwgjcmcAndhzzx()
  2870. this.anbaoSDUWG2()//疏导区网格
  2871. this.diversionArea2State = true
  2872. this.diversionArea=[
  2873. { name: "疏导区总面积", value: 54.46, unit: "km²", color: "#7DD807" },
  2874. { name: "华漕镇", value: 28.2, unit: "km²", color: "#01C3B4" , url:"https://mhxfzd.shmh.gov.cn/data/%E5%8D%8E%E6%BC%95%E9%95%87%E6%B6%88%E9%98%B2%E5%AE%89%E5%85%A8%E5%BD%A2%E5%8A%BF%E7%94%BB%E5%83%8F.pdf"},
  2875. { name: "新虹街道", value: 19.26, unit: "km²", color: "#01C3B4", url:"https://mhxfzd.shmh.gov.cn/data/%E6%96%B0%E8%99%B9%E8%A1%97%E9%81%93%E6%B6%88%E9%98%B2%E5%AE%89%E5%85%A8%E5%BD%A2%E5%8A%BF%E7%94%BB%E5%83%8F.pdf" },
  2876. { name: "七宝镇", value: 7, unit: "k㎡", color: "#01C3B4" , url:"https://mhxfzd.shmh.gov.cn/data/%E4%B8%83%E5%AE%9D%E9%95%87%E6%B6%88%E9%98%B2%E5%AE%89%E5%85%A8%E5%BD%A2%E5%8A%BF%E7%94%BB%E5%83%8F.pdf"},
  2877. { name: "虹桥镇", value: 2.21, unit: "km²", color: "#01C3B4", url:"https://mhxfzd.shmh.gov.cn/data/%E8%99%B9%E6%A1%A5%E9%95%87%E6%B6%88%E9%98%B2%E5%AE%89%E5%85%A8%E5%BD%A2%E5%8A%BF%E7%94%BB%E5%83%8F.pdf" },
  2878. { name: "分管领导", value: 20, unit: "人", color: "#058DFE" },
  2879. { name: "增援干部", value: 11, unit: "人", color: "#058DD1" },
  2880. { name: "大网格", value: 3, unit: "个", color: "#FC0609 " },
  2881. { name: "中网格", value: 12, unit: "个", color: "#FD843A" },
  2882. { name: "小网格", value: 89, unit: "个", color: "#7DD807" },
  2883. ] //疏导区基本情况
  2884. } else if (id == 20) {
  2885. this.gridStatus = id;
  2886. this.selectVideo(1)
  2887. this.anbaoSDUWG()//疏导区网格
  2888. } else if (id == 21) {
  2889. console.log("鹰眼监控")
  2890. this.gridStatus = id;
  2891. this.anbaoSDUWG()//疏导区网格
  2892. this.selectVideo2()
  2893. } else {
  2894. this.sadianSelect(id);
  2895. this.hzzxtb()
  2896. this.anbaoSDUWG()//疏导区网格
  2897. }
  2898. },
  2899. /* 历史警情 */
  2900. async historicalWarning() {
  2901. let monthDay = dayjs().subtract(30, "day").format("YYYY-MM-DD HH:mm:ss");
  2902. let today = dayjs().subtract(0, "day").format("YYYY-MM-DD HH:mm:ss");
  2903. return await this.$axios.get(
  2904. this.$api.jqzhcz.page2 +
  2905. "?" +
  2906. this.$qs.stringify({
  2907. // streetTown: this.stroes.$state.streetTown, //街镇
  2908. current: 1,
  2909. size: 150,
  2910. startTime: monthDay,
  2911. endTime: today,
  2912. })
  2913. );
  2914. },
  2915. /**
  2916. * 撒点测绘院、高德
  2917. */
  2918. sadianSelect(id) {
  2919. let type = undefined
  2920. for(let i =0;i<this.checkedArray.checkedList.length;i++){
  2921. if(id ==this.checkedArray.checkedList[i].value ){
  2922. type = this.checkedArray.checkedList[i].label
  2923. // this.checkedSelectLabel = type
  2924. }
  2925. }
  2926. let that = this;
  2927. let arr = [];
  2928. if (this.stroes.$state.mapBool == 1) {
  2929. if (id == 0) {
  2930. this.initMarkers(arr.slice(0, 500), "security-plan", type);
  2931. } else if (id == 1 || id == 2) {
  2932. this.historicalWarning()
  2933. .then((res) => {
  2934. if (res) {
  2935. let data = res.data.records;
  2936. arr = data;
  2937. arr = data.filter((item) => item.zhongdui === "华漕" || item.zhongdui === "新虹" || item.zhongdui === "七宝" || item.zhongdui === "虹桥");
  2938. if (id == 2) {
  2939. arr = arr.filter((item) => {
  2940. return item.ajlxdm == 1;
  2941. });
  2942. }
  2943. }
  2944. })
  2945. .then((res) => {
  2946. this.initMarkers(arr.slice(0, 500), "security-plan", type);
  2947. });
  2948. } else {
  2949. this.initMarkers([], "security-plan", type);
  2950. }
  2951. } else {
  2952. if (id == 0) {
  2953. let data = {
  2954. gisX: 121.302183,
  2955. gisY: 31.189991,
  2956. type: "国家会展中心",
  2957. };
  2958. arr.push(data);
  2959. this.sadian(arr, "security-plan", type);
  2960. }
  2961. if (id == 1 || id == 2) {
  2962. this.historicalWarning()
  2963. .then((res) => {
  2964. if (res) {
  2965. let data = res.data.records;
  2966. arr = data;
  2967. arr = data.filter((item) => item.zhongdui === "华漕" || item.zhongdui === "新虹" || item.zhongdui === "七宝" || item.zhongdui === "虹桥");
  2968. if (id == 2) {
  2969. arr = arr.filter((item) => {
  2970. return item.ajlxdm == 1;
  2971. });
  2972. }
  2973. }
  2974. })
  2975. .then((res) => {
  2976. let data = {
  2977. gisX: 121.302183,
  2978. gisY: 31.189991,
  2979. type: "国家会展中心",
  2980. };
  2981. arr.push(data);
  2982. this.sadian(arr, "security-plan", type);
  2983. });
  2984. }
  2985. if (this.checkedArray.checkedData[0] == 40) {
  2986. this.$axios
  2987. .post(this.$api.fireSite.demFireStationList, {
  2988. stationType: [1, 2, 3, 4],
  2989. })
  2990. .then((res) => {
  2991. for (let i = 0; i < res.data.length; i++) {
  2992. if (
  2993. res.data[i].streetTown.indexOf("华漕") > -1 ||
  2994. res.data[i].streetTown.indexOf("新虹") > -1 ||
  2995. res.data[i].streetTown.indexOf("七宝") > -1 ||
  2996. res.data[i].streetTown.indexOf("虹桥") > -1
  2997. ) {
  2998. res.data[i].type = "消防站";
  2999. arr.push(res.data[i]);
  3000. }
  3001. }
  3002. let data = {
  3003. gisX: 121.302183,
  3004. gisY: 31.189991,
  3005. type: "国家会展中心",
  3006. };
  3007. arr.push(data);
  3008. this.addMarker(arr, "rescue-station", "消防站");
  3009. });
  3010. }
  3011. if (id == 41) {
  3012. this.$axios
  3013. .post(this.$api.fireSite.demFireStationList, {
  3014. stationType: [4],
  3015. })
  3016. .then((res) => {
  3017. for (let i = 0; i < res.data.length; i++) {
  3018. if (
  3019. res.data[i].streetTown.indexOf("华漕") > -1 ||
  3020. res.data[i].streetTown.indexOf("新虹") > -1 ||
  3021. res.data[i].streetTown.indexOf("七宝") > -1 ||
  3022. res.data[i].streetTown.indexOf("虹桥") > -1
  3023. ) {
  3024. res.data[i].type = "专职队";
  3025. arr.push(res.data[i]);
  3026. }
  3027. }
  3028. let data = {
  3029. gisX: 121.302183,
  3030. gisY: 31.189991,
  3031. type: "国家会展中心",
  3032. };
  3033. arr.push(data);
  3034. this.addMarker(arr, "rescue-station", "专职队");
  3035. });
  3036. }
  3037. if (id == 42) {
  3038. this.$axios.get(this.$api.fireSite.demStreetMicroStationList + "?" + this.$qs.stringify({})).then((res) => {
  3039. for (let i = 0; i < res.data.length; i++) {
  3040. if (
  3041. res.data[i].streetTown.indexOf("华漕") > -1 ||
  3042. res.data[i].streetTown.indexOf("新虹") > -1 ||
  3043. res.data[i].streetTown.indexOf("七宝") > -1 ||
  3044. res.data[i].streetTown.indexOf("虹桥") > -1
  3045. ) {
  3046. res.data[i].stationType = 5;
  3047. arr.push(res.data[i]);
  3048. }
  3049. }
  3050. let data = {
  3051. gisX: 121.302183,
  3052. gisY: 31.189991,
  3053. type: "国家会展中心",
  3054. };
  3055. arr.push(data);
  3056. this.addMarker(arr, "rescue-station", "微型消防站");
  3057. });
  3058. }
  3059. if (id == 44) {
  3060. this.$axios
  3061. .post(this.$api.water.baseGgpFacilityList, {
  3062. facilityType: [13, 14],
  3063. })
  3064. .then((res) => {
  3065. for (let i = 0; i < res.data.length; i++) {
  3066. if (
  3067. res.data[i].streetTown.indexOf("华漕") > -1 ||
  3068. res.data[i].streetTown.indexOf("新虹") > -1 ||
  3069. res.data[i].streetTown.indexOf("七宝") > -1 ||
  3070. res.data[i].streetTown.indexOf("虹桥") > -1
  3071. ) {
  3072. res.data[i].stationType = 112;
  3073. arr.push(res.data[i]);
  3074. }
  3075. }
  3076. let data = {
  3077. gisX: 121.302183,
  3078. gisY: 31.189991,
  3079. type: "国家会展中心",
  3080. };
  3081. arr.push(data);
  3082. this.addMarker(arr, "rescue-station", "企业消防");
  3083. });
  3084. }
  3085. if (id == 45) {
  3086. this.$axios
  3087. .post(this.$api.water.baseGgpFacilityList, {
  3088. facilityType: [15, 16],
  3089. })
  3090. .then((res) => {
  3091. for (let i = 0; i < res.data.length; i++) {
  3092. if (
  3093. res.data[i].streetTown.indexOf("华漕") > -1 ||
  3094. res.data[i].streetTown.indexOf("新虹") > -1 ||
  3095. res.data[i].streetTown.indexOf("七宝") > -1 ||
  3096. res.data[i].streetTown.indexOf("虹桥") > -1
  3097. ) {
  3098. res.data[i].stationType = 112;
  3099. arr.push(res.data[i]);
  3100. }
  3101. }
  3102. let data = {
  3103. gisX: 121.302183,
  3104. gisY: 31.189991,
  3105. type: "国家会展中心",
  3106. };
  3107. arr.push(data);
  3108. this.addMarker(arr, "rescue-station", "社区消防");
  3109. });
  3110. }
  3111. if (id == 46) {
  3112. this.$axios
  3113. .post(this.$api.water.baseGgpFacilityList, {
  3114. facilityType: [17],
  3115. })
  3116. .then((res) => {
  3117. for (let i = 0; i < res.data.length; i++) {
  3118. if (
  3119. res.data[i].streetTown.indexOf("华漕") > -1 ||
  3120. res.data[i].streetTown.indexOf("新虹") > -1 ||
  3121. res.data[i].streetTown.indexOf("七宝") > -1 ||
  3122. res.data[i].streetTown.indexOf("虹桥") > -1
  3123. ) {
  3124. res.data[i].stationType = 17;
  3125. arr.push(res.data[i]);
  3126. }
  3127. }
  3128. let data = {
  3129. gisX: 121.302183,
  3130. gisY: 31.189991,
  3131. type: "国家会展中心",
  3132. };
  3133. arr.push(data);
  3134. this.addMarker(arr, "rescue-station", "一级微型消防站");
  3135. });
  3136. }
  3137. if (id == 47) {
  3138. this.$axios
  3139. .post(this.$api.water.baseGgpFacilityList, {
  3140. facilityType: [18],
  3141. })
  3142. .then((res) => {
  3143. for (let i = 0; i < res.data.length; i++) {
  3144. if (
  3145. res.data[i].streetTown.indexOf("华漕") > -1 ||
  3146. res.data[i].streetTown.indexOf("新虹") > -1 ||
  3147. res.data[i].streetTown.indexOf("七宝") > -1 ||
  3148. res.data[i].streetTown.indexOf("虹桥") > -1
  3149. ) {
  3150. res.data[i].stationType = 18;
  3151. arr.push(res.data[i]);
  3152. }
  3153. }
  3154. let data = {
  3155. gisX: 121.302183,
  3156. gisY: 31.189991,
  3157. type: "国家会展中心",
  3158. };
  3159. arr.push(data);
  3160. this.addMarker(arr, "rescue-station", "街镇专职消防队");
  3161. });
  3162. }
  3163. if (id == 18) {
  3164. this.$axios
  3165. .get(this.$api.fire.fireSafetyInspectionScatter)
  3166. .then((res) => {
  3167. for(let i =0;i<res.data.length;i++){
  3168. res.data[i].type = "监督检查"
  3169. arr.push(res.data[i])
  3170. }
  3171. let data = {
  3172. gisX: 121.302183,
  3173. gisY: 31.189991,
  3174. type: "国家会展中心",
  3175. };
  3176. arr.push(data);
  3177. this.addMarker(arr, "security-plan", "监督检查");
  3178. });
  3179. }
  3180. }
  3181. },
  3182. /**
  3183. * 撒点
  3184. */
  3185. sadian(data, pageType, type) {
  3186. if (this.stroes.$state.mapBool == 1) {
  3187. if (data.length > 0) {
  3188. this.initMarkers(data.slice(0, 500), pageType, type);
  3189. } else {
  3190. this.initMarkers([], pageType, type);
  3191. }
  3192. } else {
  3193. // this.anbaoMapNew(); //安保区域
  3194. if (data.length > 0) {
  3195. this.addMarker(data.slice(0, 500), pageType, type);
  3196. } else {
  3197. this.addMarker([], pageType, type);
  3198. }
  3199. }
  3200. },
  3201. /**
  3202. * 网格人员
  3203. * id 15中网格
  3204. * area 区域名称
  3205. * position 坐标
  3206. * query 查询居委会名称
  3207. * x 小网格名称映射
  3208. */
  3209. grid(id, area, position, query,x) {
  3210. let querySearch = {};
  3211. let hzzx =[{
  3212. gisX: 121.302183,
  3213. gisY: 31.189991,
  3214. type: "国家会展中心",
  3215. }];
  3216. // this.sadian(hzzx, "security-plan", "国家会展中心");
  3217. if (id == 19) { //大网格
  3218. this.rightArray.headerData2 = [
  3219. { prop: "gridArea", name: "网格区域" },
  3220. { prop: "streetTown", name: "街道" },
  3221. { prop: "type1", name: "分管镇(街道)领导" },
  3222. { prop: "type2", name: "城运中心人员" },
  3223. { prop: "type3", name: "安监所所长" },
  3224. { prop: "type4", name: "支队外勤参谋" },
  3225. ];
  3226. querySearch = {
  3227. gridArea: area,
  3228. gridGrade: 1,
  3229. };
  3230. }
  3231. if (id == 15) {//中网格
  3232. this.rightArray.headerData2 = [
  3233. { prop: "gridArea", name: "网格区域" },
  3234. { prop: "streetTown", name: "街道" },
  3235. { prop: "type1", name: "安监所人员" },
  3236. { prop: "type2", name: "城运中心人员" },
  3237. { prop: "type3", name: "消防助理员" },
  3238. ];
  3239. querySearch = {
  3240. gridArea: area,
  3241. gridGrade: 2,
  3242. };
  3243. }
  3244. if (id == 16) {//小网格
  3245. this.rightArray.headerData2 = [
  3246. { prop: "gridArea", name: "网格区域" },
  3247. { prop: "streetTown", name: "街道" },
  3248. { prop: "type1", name: "小网格人员" },
  3249. { prop: "type2", name: "小网格长" },
  3250. ];
  3251. querySearch = {
  3252. // mapGridName: area,
  3253. gridGrade: 3,
  3254. };
  3255. }
  3256. this.$axios.get(this.$api.fireSite.gridMemberScatter + "?" + this.$qs.stringify(querySearch)).then((res) => {
  3257. if(id == 16 && x == 3){
  3258. this.staticsSd(res.data[0].gridArea,3,'')
  3259. }
  3260. let data = res.data;
  3261. let gridData = [];
  3262. if (data.length > 0) {
  3263. for (let i = 0; i < data.length; i++) {
  3264. if (data[i].gridMemderViceList && data[i].gridMemderViceList.length > 0) {
  3265. gridData[i] = {
  3266. gridArea: data[i].gridArea,
  3267. streetTown: data[i].streetTown,
  3268. mapGridName: data[i].mapGridName,
  3269. seniorGrid: data[i].seniorGrid,
  3270. type1: undefined,
  3271. type2: undefined,
  3272. type3: undefined,
  3273. type4: undefined,
  3274. id:data[i].id
  3275. };
  3276. if (data[i].gridMemderViceList) {
  3277. for (let ii = 0; ii < data[i].gridMemderViceList.length; ii++) {
  3278. if (id == 19) {
  3279. if (data[i].gridMemderViceList[ii].personnelType == 3) {
  3280. if (gridData[i].type1) {
  3281. gridData[i].type1 = `${gridData[i].type1}</br>${data[i].gridMemderViceList[ii].personnelName} ${data[i].gridMemderViceList[ii].phone}`;
  3282. } else {
  3283. gridData[i].type1 = `${data[i].gridMemderViceList[ii].personnelName} ${data[i].gridMemderViceList[ii].phone}`;
  3284. }
  3285. }
  3286. if (data[i].gridMemderViceList[ii].personnelType == 4) {
  3287. if (gridData[i].type2) {
  3288. gridData[i].type2 = `${gridData[i].type2}</br>${data[i].gridMemderViceList[ii].personnelName} ${data[i].gridMemderViceList[ii].phone}`;
  3289. } else {
  3290. gridData[i].type2 = `${data[i].gridMemderViceList[ii].personnelName} ${data[i].gridMemderViceList[ii].phone}`;
  3291. }
  3292. }
  3293. if (data[i].gridMemderViceList[ii].personnelType == 5) {
  3294. if (gridData[i].type3) {
  3295. gridData[i].type3 = `${gridData[i].type3}</br>${data[i].gridMemderViceList[ii].personnelName} ${data[i].gridMemderViceList[ii].phone}`;
  3296. } else {
  3297. gridData[i].type3 = `${data[i].gridMemderViceList[ii].personnelName} ${data[i].gridMemderViceList[ii].phone}`;
  3298. }
  3299. }
  3300. if (data[i].gridMemderViceList[ii].personnelType == 6) {
  3301. if (gridData[i].type4) {
  3302. gridData[i].type4 = `${gridData[i].type4}</br>${data[i].gridMemderViceList[ii].personnelName} ${data[i].gridMemderViceList[ii].phone}`;
  3303. } else {
  3304. gridData[i].type4 = `${data[i].gridMemderViceList[ii].personnelName} ${data[i].gridMemderViceList[ii].phone}`;
  3305. }
  3306. }
  3307. }
  3308. if (id == 15) {
  3309. if (data[i].gridMemderViceList[ii].personnelType == 7) {
  3310. if (gridData[i].type1) {
  3311. gridData[i].type1 = `${gridData[i].type1}</br>${data[i].gridMemderViceList[ii].personnelName} ${data[i].gridMemderViceList[ii].phone}`;
  3312. } else {
  3313. gridData[i].type1 = `${data[i].gridMemderViceList[ii].personnelName} ${data[i].gridMemderViceList[ii].phone}`;
  3314. }
  3315. }
  3316. if (data[i].gridMemderViceList[ii].personnelType == 8) {
  3317. if (gridData[i].type2) {
  3318. gridData[i].type2 = `${gridData[i].type2}</br>${data[i].gridMemderViceList[ii].personnelName} ${data[i].gridMemderViceList[ii].phone}`;
  3319. } else {
  3320. gridData[i].type2 = `${data[i].gridMemderViceList[ii].personnelName} ${data[i].gridMemderViceList[ii].phone}`;
  3321. }
  3322. }
  3323. if (data[i].gridMemderViceList[ii].personnelType == 9) {
  3324. if (gridData[i].type3) {
  3325. gridData[i].type3 = `${gridData[i].type3}</br>${data[i].gridMemderViceList[ii].personnelName} ${data[i].gridMemderViceList[ii].phone}`;
  3326. } else {
  3327. gridData[i].type3 = `${data[i].gridMemderViceList[ii].personnelName} ${data[i].gridMemderViceList[ii].phone}`;
  3328. }
  3329. }
  3330. }
  3331. if (id == 16) {
  3332. if (data[i].gridMemderViceList[ii].personnelType == 10) {
  3333. if (gridData[i].type1) {
  3334. gridData[i].type1 = `${gridData[i].type1}</br>${data[i].gridMemderViceList[ii].personnelName} ${data[i].gridMemderViceList[ii].phone}`;
  3335. } else {
  3336. gridData[i].type1 = `${data[i].gridMemderViceList[ii].personnelName} ${data[i].gridMemderViceList[ii].phone}`;
  3337. }
  3338. }
  3339. if (data[i].gridMemderViceList[ii].personnelType == 11) {
  3340. if (gridData[i].type2) {
  3341. gridData[i].type2 = `${gridData[i].type2}</br>${data[i].gridMemderViceList[ii].personnelName} ${data[i].gridMemderViceList[ii].phone}`;
  3342. } else {
  3343. gridData[i].type2 = `${data[i].gridMemderViceList[ii].personnelName} ${data[i].gridMemderViceList[ii].phone}`;
  3344. }
  3345. }
  3346. }
  3347. }
  3348. }
  3349. }
  3350. }
  3351. // if(id == 19){
  3352. // let arr = {};
  3353. // arr.type = id;
  3354. // arr.name = area;
  3355. // // arr.position = position;
  3356. // arr.content = gridData;
  3357. // this.anbaoPopup(arr);
  3358. // }
  3359. if (position) {
  3360. let arr = {};
  3361. if(id == 19 || id == 15){
  3362. arr.id = id;
  3363. arr.type = id;
  3364. arr.name = area;
  3365. arr.position = position;
  3366. arr.content = gridData;
  3367. this.anbaoPopup(arr);
  3368. }
  3369. if(id == 16){
  3370. for(let i = 0;i<gridData.length;i++){
  3371. if(gridData[i].mapGridName == area){
  3372. arr.content = gridData[i]
  3373. arr.type = id
  3374. arr.position = position
  3375. arr.name = area
  3376. arr.seniorGrid = gridData[i].seniorGrid
  3377. this.anbaoPopup(arr);
  3378. }
  3379. }
  3380. }
  3381. if(id !=19 && id == 16){
  3382. this.superiorGrid(arr.seniorGrid, id == 15 ? 1 : id == 16 ? 2 : "");
  3383. this.diversionArea2State = false
  3384. }
  3385. } else {
  3386. }
  3387. this.rightArray.tableData = gridData;
  3388. } else {
  3389. this.dataNo2 = "暂无数据";
  3390. }
  3391. //用于地图居委会区块查询
  3392. if (query && id == 16) {
  3393. var queryData = [];
  3394. let qw = []
  3395. for (let i = 0; i < gridData.length; i++) {
  3396. if (gridData[i]?.mapGridName) {
  3397. queryData.push(gridData[i]);
  3398. }else{
  3399. qw.push(gridData[i])
  3400. }
  3401. }
  3402. this.anbao(1, 2, queryData);
  3403. }
  3404. });
  3405. },
  3406. /**
  3407. * 上级网格
  3408. * @param {*网格上级id} id
  3409. * @param {*等级} type 1镇级 2片区
  3410. */
  3411. superiorGrid(id, type) {
  3412. this.$axios
  3413. .get(
  3414. this.$api.fireSite.gridMemberScatter +
  3415. "?" +
  3416. this.$qs.stringify({
  3417. seniorGrid: id,
  3418. })
  3419. )
  3420. .then((res) => {
  3421. this.diversionArea = [];
  3422. if (res.data.length > 0) {
  3423. let data = res.data[0];
  3424. if (type == 1) {
  3425. //镇级
  3426. this.diversionArea[0] = {
  3427. name: `${data.gridArea}面积`,
  3428. value: data.gridArea == "华漕镇" ? 28.2 : data.gridArea == "新虹街道" ? "19.26" : data.gridArea == "七宝镇" ? "7" : data.gridArea == "虹桥镇" ? "7" : "",
  3429. unit: "km²",
  3430. color: "#7DD807",
  3431. };
  3432. this.diversionArea[1] = {
  3433. name: "街镇分管领导",
  3434. value: 0,
  3435. unit: "人",
  3436. color: "#01C3B4",
  3437. };
  3438. this.diversionArea[2] = {
  3439. name: "城运中心主任",
  3440. value: 0,
  3441. unit: "人",
  3442. color: "#FD843A",
  3443. };
  3444. this.diversionArea[3] = {
  3445. name: "安监所所长",
  3446. value: 0,
  3447. unit: "人",
  3448. color: "#7DD807",
  3449. };
  3450. this.diversionArea[4] = {
  3451. name: "支队外勤参谋",
  3452. value: 0,
  3453. unit: "人",
  3454. color: "#058DFE",
  3455. };
  3456. this.diversionArea[5] = {
  3457. name: "中网格",
  3458. value: data.gridArea == "华漕镇" ? 5 : data.gridArea == "新虹街道" ? "4" : data.gridArea == "七宝镇" ? "3" : data.gridArea == "虹桥镇" ? "2" : "",
  3459. unit: "个",
  3460. color: "#058DFE",
  3461. };
  3462. this.diversionArea[6] = {
  3463. name: "小网格",
  3464. value: data.gridArea == "华漕镇" ? 36 : data.gridArea == "新虹街道" ? "22" : data.gridArea == "七宝镇" ? "34" : data.gridArea == "虹桥镇" ? "11" : "",
  3465. unit: "个",
  3466. color: "#058DFE",
  3467. };
  3468. for (let i = 0; i < data.gridMemderViceList.length; i++) {
  3469. if (data.gridMemderViceList[i].personnelType == 3) {
  3470. //街镇分管领导
  3471. this.diversionArea[1].value++;
  3472. }
  3473. if (data.gridMemderViceList[i].personnelType == 4) {
  3474. //城运中心主任
  3475. this.diversionArea[2].value++;
  3476. }
  3477. if (data.gridMemderViceList[i].personnelType == 5) {
  3478. //安监所所长
  3479. this.diversionArea[3].value++;
  3480. }
  3481. if (data.gridMemderViceList[i].personnelType == 6) {
  3482. //支队外勤参谋
  3483. this.diversionArea[4].value++;
  3484. }
  3485. }
  3486. }
  3487. if (type == 2) {
  3488. //片区
  3489. this.diversionArea[0] = {
  3490. name: "",
  3491. value: data.gridArea,
  3492. unit: "",
  3493. color: "#7DD807",
  3494. };
  3495. this.diversionArea[1] = {
  3496. name: "安监所人员",
  3497. value: 0,
  3498. unit: "人",
  3499. color: "#01C3B4",
  3500. };
  3501. this.diversionArea[2] = {
  3502. name: "城运中心人员",
  3503. value: 0,
  3504. unit: "人",
  3505. color: "#FD843A",
  3506. };
  3507. this.diversionArea[3] = {
  3508. name: "消防助理员",
  3509. value: 0,
  3510. unit: "人",
  3511. color: "#7DD807",
  3512. };
  3513. this.diversionArea[4] = {
  3514. name: "小网格",
  3515. value:
  3516. data.gridArea == "闵S1-1(纪王西网格)"
  3517. ? "4"
  3518. : data.gridArea == "闵S1-2(纪王东网格)"
  3519. ? "6"
  3520. : data.gridArea == "闵S1-3(诸翟北网格)"
  3521. ? "12"
  3522. : data.gridArea == "闵S1-4(诸翟南网格)"
  3523. ? "8"
  3524. : data.gridArea == "闵S1-5(老华漕网格)"
  3525. ? "6"
  3526. : data.gridArea == "闵S2-1(爱博网格)"
  3527. ? "4"
  3528. : data.gridArea == "闵S2-2(华美网格)"
  3529. ? "6"
  3530. : data.gridArea == "闵S2-3(枢纽网格)"
  3531. ? "6"
  3532. : data.gridArea == "闵S2-4(航华网格)"
  3533. ? "6"
  3534. : data.gridArea == "闵S3-1(七宝北片网格)"
  3535. ? "10"
  3536. : data.gridArea == "闵S3-2(七宝吴宝路网格)"
  3537. ? "9"
  3538. : data.gridArea == "闵S3-3(七宝航华网格)"
  3539. ? "15"
  3540. : data.gridArea == "闵S4-1(紫藤红松网格)"
  3541. ? "6"
  3542. : data.gridArea == "闵S4-2(虹梅网格)"
  3543. ? "5"
  3544. : "0",
  3545. unit: "个",
  3546. color: "#7DD807",
  3547. };
  3548. for (let i = 0; i < data.gridMemderViceList.length; i++) {
  3549. if (data.gridMemderViceList[i].personnelType == 7) {
  3550. //安监所人员
  3551. this.diversionArea[1].value++;
  3552. }
  3553. if (data.gridMemderViceList[i].personnelType == 8) {
  3554. //城运中心人员
  3555. this.diversionArea[2].value++;
  3556. }
  3557. if (data.gridMemderViceList[i].personnelType == 9) {
  3558. //消防助理员
  3559. this.diversionArea[3].value++;
  3560. }
  3561. }
  3562. }
  3563. }
  3564. // diversionArea:[
  3565. // {name:"疏导区总面积",value:61.46,unit:"km²",color:"#7DD807"},
  3566. // {name:"华漕镇",value:28.2,unit:"km²",color:"#01C3B4"},
  3567. // {name:"新虹街道",value:19.26,unit:"km²",color:"#01C3B4"},
  3568. // {name:"七宝镇",value:7,unit:"㎡",color:"#01C3B4"},
  3569. // {name:"虹桥镇",value:7,unit:"km²",color:"#01C3B4"},
  3570. // {name:"大网格",value:4,unit:"个",color:"#FC0609 "},
  3571. // {name:"中网格",value:14,unit:"个",color:"#FD843A"},
  3572. // {name:"小网格",value:103,unit:"个",color:"#7DD807"},
  3573. // {name:"分管领导",value:20,unit:"人",color:"#058DFE"},
  3574. // {name:"增援干部",value:11,unit:"人",color:"#058DD1"},
  3575. // ],//疏导区基本情况
  3576. });
  3577. },
  3578. tabTActive(id){
  3579. this.tabsType = id
  3580. },
  3581. checkFullScreen() {
  3582. if(document.documentElement.clientHeight == 1080){
  3583. this.marginTop1 = '1vh'
  3584. }
  3585. }
  3586. },
  3587. watch: {
  3588. "stores.$state.gridData": function (newValue, oldValue) {
  3589. if (this.gridStatus == 19) {
  3590. this.grid(19, newValue.name, newValue.position);
  3591. }
  3592. if (this.gridStatus == 15) {
  3593. this.grid(15, newValue.name, newValue.position);
  3594. this.staticsSd(newValue.name,2,'')
  3595. setTimeout(()=>{
  3596. this.diversionArea2State = false
  3597. },1000)
  3598. }
  3599. if (this.gridStatus == 16) {
  3600. this.grid(16, newValue.name, newValue.position,null,3);
  3601. }
  3602. },
  3603. "stores.$state.jkspData": function (newValue, oldValue) {
  3604. this.jkspStatus = true
  3605. this.Message.name = newValue.children[0][1]
  3606. this.Message.videoId = newValue.id
  3607. this.Message.videoUrl = newValue.url
  3608. // "http://videocdn.didano.com/school765class0channelId2761namedingdangm/playlist.m3u8"
  3609. this.play()
  3610. },
  3611. "stores.$state.zddwId": function (newValue, oldValue) {
  3612. this.zddwSd(newValue);
  3613. },
  3614. },
  3615. // watch: {
  3616. // "stores.$state.jkspData": function (newValue, oldValue) {
  3617. // console.log(123,newValue,this.stores.$state.jkspData)
  3618. // this.jkspStatus = true
  3619. // console.log(this.jkspStatus)
  3620. // this.Message.name = newValue.children[0][1]
  3621. // this.Message.videoId = newValue.id
  3622. // this.Message.videoUrl = "http://videocdn.didano.com/school765class0channelId2761namedingdangm/playlist.m3u8"
  3623. // // this.Message.videoUrl = newValue.url
  3624. // this.play()
  3625. // },
  3626. // },
  3627. };
  3628. </script>
  3629. <style lang="scss" scoped>
  3630. @import "@/assets/scss/color.scss";
  3631. .pdfWrap{
  3632. position: relative;
  3633. .pdfImg{
  3634. position: absolute;
  3635. top:34px;
  3636. right:0;
  3637. width:10px;
  3638. }
  3639. }
  3640. .contentBox {
  3641. .return{
  3642. position: absolute;
  3643. top:0px;
  3644. right:0px;
  3645. margin-top:0!important;
  3646. .returnText {
  3647. width: 0.5rem;
  3648. text-align: center;
  3649. height: 0.3rem;
  3650. line-height: 0.3rem;
  3651. box-shadow: inset 0 0 0.05rem 0.05rem #1b4f90;
  3652. background: rgba(19, 42, 90, 0.2) !important;
  3653. color: #fff;
  3654. float: right;
  3655. margin-top: 0;
  3656. }
  3657. }
  3658. .leftBox {
  3659. .leftTop {
  3660. height: 43%;
  3661. max-height: 43%;
  3662. justify-content: center;
  3663. align-items: center;
  3664. box-sizing: border-box;
  3665. .leftTopContent {
  3666. color: #ffffff;
  3667. height: calc(100% - 0.4375rem);
  3668. display: flex;
  3669. > .el-row {
  3670. width: 100%;
  3671. > .el-col {
  3672. display: flex;
  3673. > div {
  3674. margin: auto;
  3675. > .title {
  3676. width: 1.075rem;
  3677. height: 0.225rem;
  3678. font-size: 0.175rem;
  3679. padding-left: 0.1625rem;
  3680. margin: 0.0625rem 0 0.0625rem 0;
  3681. position: relative;
  3682. background-image: url(~@a/img/securityPlan/fhxcqk.png);
  3683. background-size: 100% 100%;
  3684. > div {
  3685. position: absolute;
  3686. bottom: 0.0625rem;
  3687. width: 150%;
  3688. }
  3689. }
  3690. > .content {
  3691. > span:nth-child(1) {
  3692. font-size: 0.3rem;
  3693. padding: 0 0.5625rem 0 0.1625rem;
  3694. color: #73fbfd;
  3695. }
  3696. > span:nth-child(2) {
  3697. font-size: 0.175rem;
  3698. margin-right: 0.125rem;
  3699. }
  3700. > span:nth-child(3) {
  3701. font-size: 0.175rem;
  3702. }
  3703. }
  3704. }
  3705. }
  3706. }
  3707. }
  3708. .leftTopContent2 {
  3709. color: #fff;
  3710. font-size: 0.175rem;
  3711. .sdqBasicInfo{
  3712. .basicItem{
  3713. width:19%; margin: 4px 0; box-sizing: border-box;
  3714. .nameBox{
  3715. background-image: url(~@a/img/securityPlan/sdTextBg.png);
  3716. background-size: contain;
  3717. width: 100%;
  3718. display: inline-block
  3719. }
  3720. }
  3721. .basicItem:not(:last-child){
  3722. margin-right:.07rem
  3723. }
  3724. }
  3725. .sdqBasicInfo.sdline2{
  3726. .basicItem{
  3727. margin:0 .4rem;
  3728. }
  3729. }
  3730. .sdline3 {
  3731. margin-top:.25rem;
  3732. .basicItem{
  3733. cursor:pointer;
  3734. width:25% !important; margin: 0px 0; box-sizing: border-box;
  3735. position:relative;
  3736. }
  3737. // .basicItem::after {
  3738. // position: absolute; /*绝对定位*/
  3739. // top: 50%; /*Y轴方向偏移自身高度的50%*/
  3740. // transform: translatey(-40%); /*Y轴方向偏移微调*/
  3741. // right: 0; /*紧靠容器左边缘*/
  3742. // content: ''; /*伪元素需要有内容才能显示*/
  3743. // width: 1px; /*伪元素宽度*/
  3744. // height: 40px; /*伪元素高度*/
  3745. // background-color: rgba(168, 164, 164,.4); /*伪元素颜色*/
  3746. // }
  3747. }
  3748. .sdline3 .basicItem:last-child{
  3749. width:auto
  3750. }
  3751. .el-row {
  3752. > div {
  3753. width: 20%;
  3754. margin-top: 40px;
  3755. p:nth-child(2) {
  3756. // text-align: center;
  3757. strong {
  3758. font-size: 0.2rem;
  3759. }
  3760. }
  3761. }
  3762. }
  3763. }
  3764. }
  3765. .girdCheckSec{
  3766. height:38%;
  3767. .girdCheckItem{
  3768. p{
  3769. font-size:0.225rem;
  3770. margin:.1875rem 0 .125rem;
  3771. color:rgb(234, 183, 147);
  3772. font-weight:700;
  3773. span{
  3774. font-size: 0.175rem;
  3775. color:#fff;
  3776. }
  3777. }
  3778. .row_g{
  3779. display:flex;
  3780. align-items: center;
  3781. margin:2px 0 10px;
  3782. width:100%;
  3783. div{
  3784. // min-width:18% !important;
  3785. display: inline-block;
  3786. font-size:.155rem;
  3787. margin:.125rem .182rem 0 0;
  3788. text-align: center;
  3789. vertical-align: top;
  3790. width:20%;
  3791. // background: red;
  3792. }
  3793. }
  3794. }
  3795. }
  3796. .leftCenter {
  3797. height: 32%;
  3798. max-height: 32%;
  3799. margin-top: 0.125rem;
  3800. width: 100%;
  3801. justify-content: center;
  3802. align-items: center;
  3803. // box-sizing: border-box;
  3804. color: #ffffff;
  3805. .leftCenterContent {
  3806. width: 100%;
  3807. height: calc(100% - 0.4375rem);
  3808. display: flex;
  3809. .content1,
  3810. .content2,
  3811. .content3 {
  3812. width: 33.33%;
  3813. overflow: hidden;
  3814. margin: auto 0;
  3815. > div:nth-child(1) {
  3816. display: flex;
  3817. > img {
  3818. width: 1.17rem; //大屏
  3819. height: 1.08rem; //大屏
  3820. margin: auto;
  3821. }
  3822. }
  3823. > div:nth-child(2) {
  3824. font-size: 0.2rem;
  3825. text-align: center;
  3826. & > span {
  3827. b {
  3828. margin-right: 0.0625rem;
  3829. font-size: 0.3rem;
  3830. line-height: 0.5rem;
  3831. }
  3832. }
  3833. p {
  3834. margin-top: 0.1rem;
  3835. color: #fff;
  3836. }
  3837. }
  3838. }
  3839. }
  3840. }
  3841. .rightCenter {
  3842. color: #ffffff;
  3843. height: calc(35% - 0.125rem);
  3844. max-height: calc(35% - 0.125rem);
  3845. margin-top: 0.125rem;
  3846. .rightTopContent {
  3847. width: 100%;
  3848. padding: 0.25rem 0 10px 0;
  3849. height: calc(100% - 0.8125rem);
  3850. .content {
  3851. height: 100%;
  3852. overflow: scroll;
  3853. position: relative;
  3854. & > .el-row {
  3855. overflow: hidden;
  3856. width: 100%;
  3857. height: auto;
  3858. & > .title {
  3859. width: 100%;
  3860. height: 0.4375rem;
  3861. line-height: 0.4375rem;
  3862. font-size: 0.175rem;
  3863. padding: 0 0.125rem;
  3864. background: rgba(115, 251, 253, 0.3) !important;
  3865. margin-bottom: 0.025rem;
  3866. }
  3867. & > .data {
  3868. width: 100%;
  3869. font-size: 0.175rem;
  3870. padding: 0 0.125rem;
  3871. background: rgba(115, 251, 253, 0.1) !important;
  3872. margin-bottom: 0.025rem;
  3873. white-space: initial;
  3874. .el-col {
  3875. line-height: 0.35rem;
  3876. span {
  3877. color: #73fbfd;
  3878. }
  3879. }
  3880. }
  3881. }
  3882. &::-webkit-scrollbar {
  3883. display: none;
  3884. }
  3885. }
  3886. }
  3887. }
  3888. }
  3889. .rightBox {
  3890. color: #ffffff;
  3891. .rightTop {
  3892. height: 30%;
  3893. max-height: 30%;
  3894. .rightTopContent {
  3895. width: 100%;
  3896. height: calc(100% - 0.4375rem);
  3897. display: flex;
  3898. > .el-row {
  3899. > .el-col {
  3900. display: flex;
  3901. margin: auto 0;
  3902. > div {
  3903. display: flex;
  3904. .left {
  3905. width: 1.375rem;
  3906. margin-right: 0.25rem;
  3907. div {
  3908. text-align: center;
  3909. font-size: 0.175rem;
  3910. overflow: hidden !important;
  3911. white-space: nowrap !important;
  3912. text-overflow: ellipsis !important;
  3913. }
  3914. img {
  3915. width: 0.675rem;
  3916. height: 0.675rem;
  3917. display: flex;
  3918. margin: auto auto 0.0625rem auto;
  3919. }
  3920. }
  3921. .right {
  3922. overflow: hidden !important;
  3923. white-space: nowrap !important;
  3924. text-overflow: ellipsis !important;
  3925. .el-col:nth-child(1) {
  3926. display: flex;
  3927. margin: auto 0 0 0;
  3928. font-size: 0.175rem;
  3929. }
  3930. .el-col:nth-child(2) {
  3931. display: flex;
  3932. margin: auto 0 0 0;
  3933. font-size: 0.3rem;
  3934. font-weight: bold;
  3935. }
  3936. }
  3937. }
  3938. }
  3939. }
  3940. }
  3941. }
  3942. .rightTop3 {
  3943. height: 30%;
  3944. max-height: 30%;
  3945. position:relative;
  3946. .rightTopContent {
  3947. width: 100%;
  3948. height: calc(100% - 0.4375rem);
  3949. display: flex;
  3950. > .el-row {
  3951. > .el-col {
  3952. display: flex;
  3953. margin: auto 0;
  3954. > div {
  3955. display: flex;
  3956. .left {
  3957. width: 1.375rem;
  3958. margin-right: 0.25rem;
  3959. div {
  3960. text-align: center;
  3961. font-size: 0.175rem;
  3962. overflow: hidden !important;
  3963. white-space: nowrap !important;
  3964. text-overflow: ellipsis !important;
  3965. }
  3966. img {
  3967. width: 0.675rem;
  3968. height: 0.675rem;
  3969. display: flex;
  3970. margin: auto auto 0.0625rem auto;
  3971. }
  3972. }
  3973. .right {
  3974. overflow: hidden !important;
  3975. white-space: nowrap !important;
  3976. text-overflow: ellipsis !important;
  3977. .el-col:nth-child(1) {
  3978. font-size: 0.3rem;
  3979. margin-top:14px;
  3980. vertical-align: bottom;
  3981. }
  3982. // .el-col:nth-child(2) {
  3983. // display: flex;
  3984. // margin: auto 0 0 0;
  3985. // font-size: 0.3rem;
  3986. // font-weight: bold;
  3987. // }
  3988. }
  3989. }
  3990. }
  3991. }
  3992. }
  3993. }
  3994. .leftTopContent {
  3995. color: #ffffff;
  3996. height: calc(100% - 0.4375rem);
  3997. display: flex;
  3998. > .el-row {
  3999. width: 100%;
  4000. > .el-col {
  4001. display: flex;
  4002. > div {
  4003. margin: auto;
  4004. > .title {
  4005. width: 1.075rem;
  4006. height: 0.225rem;
  4007. font-size: 0.175rem;
  4008. padding-left: 0.1625rem;
  4009. margin: 0.0625rem 0 0.0625rem 0;
  4010. position: relative;
  4011. background-image: url(~@a/img/securityPlan/fhxcqk.png);
  4012. background-size: 100% 100%;
  4013. > div {
  4014. position: absolute;
  4015. bottom: 0.0625rem;
  4016. width: 150%;
  4017. }
  4018. }
  4019. > .content {
  4020. > span:nth-child(1) {
  4021. font-size: 0.3rem;
  4022. padding: 0 0.5625rem 0 0.1625rem;
  4023. color: #73fbfd;
  4024. }
  4025. > span:nth-child(2) {
  4026. font-size: 0.175rem;
  4027. margin-right: 0.125rem;
  4028. }
  4029. > span:nth-child(3) {
  4030. font-size: 0.175rem;
  4031. }
  4032. }
  4033. }
  4034. }
  4035. }
  4036. }
  4037. .leftBot {
  4038. height: calc(35% - 0.125rem);
  4039. max-height: calc(35% - 0.125rem);
  4040. margin-top: 0.125rem;
  4041. width: 100%;
  4042. .leftBotContent {
  4043. padding: 0.25rem 0 0 0;
  4044. height: calc(100% - 0.6875rem);
  4045. }
  4046. }
  4047. .rightBot {
  4048. height: calc(39% - 0.125rem);
  4049. max-height: calc(35% - 0.125rem);
  4050. margin-top: 0.125rem;
  4051. .rightBotContent {
  4052. padding: 0.25rem 0 0 0;
  4053. height: 100%;
  4054. }
  4055. }
  4056. .dailyNewSec{
  4057. height:18%;
  4058. .dailyItem{
  4059. vertical-align: middle;
  4060. margin-top:.2rem;
  4061. line-height:.375rem;
  4062. font-size:.175rem;
  4063. width:100%;
  4064. height:60%;
  4065. overflow-y:hidden;
  4066. display: inline-block;
  4067. a{
  4068. color:#fff;
  4069. border-bottom:1px solid #fff;
  4070. // text-decoration: none;
  4071. text-decoration: none;
  4072. cursor:pointer;
  4073. letter-spacing:4px;
  4074. }
  4075. }
  4076. }
  4077. .girdCheckSec{
  4078. height:38%;
  4079. .girdCheckItem{
  4080. p{
  4081. font-size:0.225rem;
  4082. margin:.1875rem 0 .125rem;
  4083. color:rgb(234, 183, 147);
  4084. font-weight:700;
  4085. span{
  4086. font-size: 0.175rem;
  4087. color:#fff;
  4088. }
  4089. }
  4090. .row_g{
  4091. display:flex;
  4092. align-items: center;
  4093. margin-top:10px;
  4094. width:100%;
  4095. div{
  4096. // min-width:18% !important;
  4097. display: inline-block;
  4098. font-size:.155rem;
  4099. margin:.125rem .182rem 0 0;
  4100. text-align: left;
  4101. vertical-align: top;
  4102. }
  4103. }
  4104. }
  4105. }
  4106. .ssfjSec{
  4107. height:20%;
  4108. .girdCheckItem{
  4109. .row_g2{
  4110. margin-top:10px;
  4111. width:100%;
  4112. div:first-child{
  4113. width:1.5rem;
  4114. cursor:text;
  4115. }
  4116. div{
  4117. cursor: pointer;
  4118. display: inline-block;
  4119. font-size:.155rem;
  4120. margin-top:.125rem;
  4121. text-align: left;
  4122. }
  4123. }
  4124. .row_g3{
  4125. margin-top:-10px;
  4126. width:100%;
  4127. div{
  4128. width:16% !important;
  4129. display: inline-block;
  4130. font-size:.155rem;
  4131. margin:.125rem 0;
  4132. text-align: left;
  4133. vertical-align: top;
  4134. }
  4135. }
  4136. }
  4137. }
  4138. }
  4139. .rightBox2 {
  4140. .rightTop {
  4141. height: 55%;
  4142. max-height: 55%;
  4143. justify-content: center;
  4144. align-items: center;
  4145. box-sizing: border-box;
  4146. width: 100%;
  4147. .rightTopCenter {
  4148. height: calc(100% - 0.4375rem);
  4149. }
  4150. }
  4151. .rightBot {
  4152. height: calc(45% - 0.125rem);
  4153. max-height: calc(45% - 0.125rem);
  4154. margin-top: 0.125rem;
  4155. width: 100%;
  4156. .rightBotCenter {
  4157. padding: 0.25rem 0 0 0;
  4158. // height: calc(100% - 0.4375rem);
  4159. height: calc(100% - 0.6875rem);
  4160. }
  4161. }
  4162. }
  4163. }
  4164. .leftBotContent2 {
  4165. height: 23%;
  4166. margin-top: -35%;
  4167. }
  4168. .rightTop2 {
  4169. > .el-col {
  4170. > div {
  4171. > div:nth-child(1) {
  4172. margin: 0.3rem 0;
  4173. }
  4174. > div:nth-child(3) {
  4175. width: 50%;
  4176. margin: 0.2rem auto;
  4177. padding: 0.075rem;
  4178. border-radius: 0.25rem;
  4179. box-shadow: inset 0 0 0.05rem 0.05rem rgba(27, 79, 144, 1);
  4180. background: rgba(#132a5a, 0.2) !important;
  4181. span {
  4182. margin-left: 0.075rem;
  4183. }
  4184. }
  4185. }
  4186. }
  4187. }
  4188. .monitor-list {
  4189. overflow: hidden;
  4190. margin-top:0.25rem;
  4191. > .list {
  4192. border: 1px solid #3a7e8e;
  4193. position: relative;
  4194. width:48%;
  4195. height:16.5vh;
  4196. box-sizing: border-box;
  4197. .videoSelect {
  4198. position: absolute;
  4199. width: 100%;
  4200. }
  4201. img{
  4202. width:100%;
  4203. height:192px;
  4204. overflow: hidden;
  4205. }
  4206. }
  4207. .list:nth-child(2){
  4208. margin-left:4%;
  4209. }
  4210. }
  4211. iframe {
  4212. border: none;
  4213. width:100%;
  4214. }
  4215. .tableTooltipwt {
  4216. position: fixed;
  4217. top:120px;left:39%;
  4218. max-height:500px;
  4219. overflow-y: scroll;
  4220. background:none;
  4221. width:400px;
  4222. bottom:auto;
  4223. padding:10px 10px 5px 10px !important;
  4224. border-radius: 0.05rem;
  4225. border:1px solid rgba(115, 251, 253, 1);
  4226. box-shadow: inset 0 0 1px 0.0125rem rgba(115, 251, 253, 1);
  4227. background:rgba(0, 0, 0, 0.6);
  4228. z-index: 10000;
  4229. .close {
  4230. width: 20px;
  4231. height: 20px;
  4232. position: absolute;
  4233. right: 10px;
  4234. top: 10px;
  4235. z-index: 10000;
  4236. display: block;
  4237. }
  4238. .tableContent {
  4239. p {
  4240. @include color_primary($color-primary1);
  4241. font-size: 0.2rem;
  4242. }
  4243. .el-col {
  4244. margin-top: 0.05rem;
  4245. line-height: 0.3rem;
  4246. text-overflow: ellipsis !important;
  4247. white-space: normal !important;
  4248. font-size: 0.18rem;
  4249. }
  4250. .mk {
  4251. margin-top: 0px;
  4252. .color1 {
  4253. @include color_primary($color-primary3);
  4254. }
  4255. .color2 {
  4256. @include color_primary($color-primary1);
  4257. }
  4258. }
  4259. .video{
  4260. width:100%;
  4261. margin:10px 0;
  4262. }
  4263. }
  4264. }
  4265. .videoCloseBtn{
  4266. position: absolute;
  4267. z-index: 10;
  4268. bottom:0;
  4269. left:0;
  4270. cursor: pointer;
  4271. .returnText{
  4272. width: 0.5rem;
  4273. text-align: center;
  4274. height: 0.3rem;
  4275. line-height: 0.3rem;
  4276. box-shadow: inset 0 0 0.05rem 0.05rem #1b4f90;
  4277. background: rgba(19, 42, 90, 0.2) !important;
  4278. color: #fff;
  4279. float: right;
  4280. margin-top: 0;
  4281. }
  4282. }
  4283. .dialogSec {
  4284. ::v-deep .el-dialog {
  4285. width:16rem!important;
  4286. // border:1px solid rgba(115, 251, 253, 1);
  4287. // box-shadow: inset 0 0 1px 0.0125rem rgba(115, 251, 253, 1);
  4288. // background: rgba(0, 0, 0, 0.6);
  4289. margin-top:5vh!important;
  4290. height:87vh;
  4291. padding:0;
  4292. // margin: atuo;
  4293. .el-dialog__title {
  4294. color: #74fbfe;
  4295. font-size: 16px;
  4296. }
  4297. .el-dialog__body {
  4298. margin-top: 20px;
  4299. }
  4300. }
  4301. }
  4302. .tableTooltipwt2 {
  4303. width: 6rem;
  4304. background: transparent;
  4305. border-radius: 0.05rem;
  4306. box-shadow: inset 0 0 1px 0.0125rem rgba(115, 251, 253, 1);
  4307. background: rgba(0, 29, 49, 0.5);
  4308. font-size: 0.2rem;
  4309. padding: 0.1875rem;
  4310. position: fixed;
  4311. top: 140px;
  4312. right: 600px;
  4313. z-index: 10000;
  4314. .close {
  4315. width: 20px;
  4316. height: 20px;
  4317. position: absolute;
  4318. right: 10px;
  4319. top: 10px;
  4320. z-index: 10000;
  4321. display: block;
  4322. }
  4323. .tableContent {
  4324. p {
  4325. @include color_primary($color-primary1);
  4326. }
  4327. .el-col {
  4328. margin-top: 0.05rem;
  4329. line-height: 0.3rem;
  4330. text-overflow: ellipsis !important;
  4331. white-space: normal !important;
  4332. }
  4333. .mk {
  4334. margin-top: 0px;
  4335. }
  4336. }
  4337. }
  4338. .color1 {
  4339. @include color_primary($color-primary3);
  4340. margin-left: 10px;
  4341. }
  4342. .color2 {
  4343. @include color_primary($color-primary1);
  4344. }
  4345. table {
  4346. width: 100%;
  4347. text-align: center;
  4348. color: #fff;
  4349. border: 1px solid #fff;
  4350. font-size: 12px;
  4351. }
  4352. table thead tr th {
  4353. padding: 5px 0px;
  4354. font-weight: 400;
  4355. border: 1px solid #fff;
  4356. }
  4357. table tbody tr td {
  4358. padding: 5px 0px;
  4359. }
  4360. table tbody tr:nth-child(2n) td {
  4361. // background-color: lightblue;
  4362. }
  4363. td {
  4364. border: 0.5px solid #fff;
  4365. }
  4366. .checkRate{
  4367. position: absolute;
  4368. color:#fff;
  4369. right:50px;
  4370. top:80px;
  4371. font-size: 0.25rem;
  4372. img{
  4373. position: absolute;
  4374. width:80px;
  4375. top:-24px;
  4376. right:-14px;
  4377. animation: rotoImg 4s linear infinite;
  4378. // transform:skew(70deg)
  4379. }
  4380. }
  4381. @keyframes rotoImg{
  4382. from{
  4383. transform: rotate(0deg);
  4384. }
  4385. to{
  4386. transform: rotate(360deg);
  4387. }
  4388. }
  4389. </style>
  4390. <style>
  4391. .el-tooltip__popper {
  4392. width: 200px;
  4393. }
  4394. .table-tooltip {
  4395. max-width: 200px;
  4396. }
  4397. .table-style .cell {
  4398. width: 200px;
  4399. overflow: hidden;
  4400. text-overflow: ellipsis;
  4401. white-space: nowrap;
  4402. }
  4403. .el-popper {
  4404. max-width: 30%;
  4405. padding-bottom: 5px !important;
  4406. display: -webkit-box;
  4407. overflow: hidden;
  4408. text-overflow: ellipsis;
  4409. -webkit-line-clamp: 15;
  4410. -webkit-box-orient: vertical;
  4411. }
  4412. </style>