security-plan.vue 200 KB

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