comprehensive-disposal.vue 64 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000
  1. <template>
  2. <el-row class="contentBox">
  3. <transition name="el-fade-in-linear">
  4. <el-col class="leftBox" v-show="leftBtn">
  5. <el-col class="flexJ leftTop">
  6. <h4>警情时段分布</h4>
  7. <el-row class="leftTopContent">
  8. <!-- <el-row class="selectBar">
  9. <el-form :inline="true" size="mini" :model="barForm">
  10. <el-form-item label="场所分类">
  11. <el-select v-model="barForm.fireType" @change="getHouse()" filterable clearable placeholder="场所" >
  12. <el-option :label="item" :value="item" v-for="(item,ind) in fireTypeList" :key="ind"></el-option>
  13. </el-select>
  14. </el-form-item>
  15. </el-form>
  16. </el-row> -->
  17. <el-row class="fireBar">
  18. <line-smooth ref="lineSmooth" :dataMap="houseList"></line-smooth>
  19. </el-row>
  20. </el-row>
  21. </el-col>
  22. <el-col class="flexJ leftBot">
  23. <h4>历史警情趋势图</h4>
  24. <el-row class="leftBotContent">
  25. <el-row class="selectBar">
  26. <el-row>
  27. <el-button size="mini" @click="searchTime(1)" :class="{ btnClick: timeArea === 1 }">近一年</el-button>
  28. <el-button size="mini" @click="searchTime(3)" :class="{ btnClick: timeArea === 3 }">近三年</el-button>
  29. <el-button size="mini" @click="searchTime(5)" :class="{ btnClick: timeArea === 5 }">近五年</el-button>
  30. </el-row>
  31. </el-row>
  32. <el-row class="fireBar">
  33. <bar-chart ref="barChart" :dataMap="monthList"></bar-chart>
  34. </el-row>
  35. </el-row>
  36. </el-col>
  37. </el-col>
  38. </transition>
  39. <transition name="el-fade-in-linear">
  40. <el-col class="centerBox" :style="{'max-width':leftBtn && rightBtn ? '8rem' :!leftBtn && !rightBtn ? '100%' : leftBtn || rightBtn ? '16rem' : '8rem'}">
  41. <el-row class="leftBtn btnW" @click="leftBtnClick()">
  42. <i :class="leftBtn ? 'el-icon-arrow-left' : 'el-icon-arrow-right'"></i>
  43. </el-row>
  44. <el-row class="centerContent" id="mapF"></el-row>
  45. <el-row class="rightBtn btnW" @click="rightBtnClick()">
  46. <i :class="rightBtn ? 'el-icon-arrow-right' : 'el-icon-arrow-left'"></i>
  47. </el-row>
  48. <!-- <el-row class="mapTips">
  49. <el-checkbox-group v-model="checkList" class="yxj">
  50. <el-checkbox label="全选"></el-checkbox>
  51. <el-checkbox label="实时警情"></el-checkbox>
  52. <el-checkbox label="重点单位"></el-checkbox>
  53. <el-checkbox label="消防站"></el-checkbox>
  54. <el-checkbox label="消防车"></el-checkbox>
  55. <el-checkbox label="微型消防车"></el-checkbox>
  56. <el-checkbox label="实景监控视频"></el-checkbox>
  57. </el-checkbox-group>
  58. </el-row> -->
  59. </el-col>
  60. </transition>
  61. <transition name="el-fade-in-linear">
  62. <el-col class="rightBox" v-show="rightBtn">
  63. <el-col class="flexJ rightTop">
  64. <h4>警情处置情况</h4>
  65. <div class="rightBoxCon">
  66. <el-row>
  67. <el-row class="rightTopTitle"><span>火灾</span></el-row>
  68. <el-row class="rightTopChart">
  69. <gauge ref="gauge1" :dataMap="proptionList.find(val=>val.type === '火灾') && proptionList.find(val=>val.type === '火灾').number/(proptionList.find(val=>val.type === '火灾').number + proptionList.find(val=>val.type === '社会救助').number + proptionList.find(val=>val.type === '抢险救援').number) || 0" :dataNumber="proptionList.find(val=>val.type === '火灾') && proptionList.find(val=>val.type === '火灾').number || 0" color="#468EFD"></gauge>
  70. </el-row>
  71. <el-row class="rightTopNumber">
  72. <span>
  73. 同比:{{proptionList.find(val=>val.type === '火灾') && (proptionList.find(val=>val.type === '火灾').radio * 100).toFixed(1) || 0}}%
  74. <span :style="{color: proptionList.find(val=>val.type === '火灾') && proptionList.find(val=>val.type === '火灾').sameStatus === 2 ? 'green' : 'red'}">
  75. <i class="iconfont" v-if="proptionList.find(val=>val.type === '火灾')"
  76. :class="proptionList.find(val=>val.type === '火灾').sameStatus === 1 ? 'icon-arrowTop-fill' : proptionList.find(val=>val.type === '火灾').sameStatus === 2 ? 'icon-xiajiantou-' : ''"></i>
  77. </span>
  78. </span>
  79. </el-row>
  80. </el-row>
  81. <el-row>
  82. <el-row class="rightTopTitle"><span>社会救助</span></el-row>
  83. <el-row class="rightTopChart">
  84. <gauge ref="gauge2" :dataMap="proptionList.find(val=>val.type === '社会救助') && proptionList.find(val=>val.type === '社会救助').number/(proptionList.find(val=>val.type === '火灾').number + proptionList.find(val=>val.type === '社会救助').number + proptionList.find(val=>val.type === '抢险救援').number) || 0" :dataNumber="proptionList.find(val=>val.type === '社会救助') && proptionList.find(val=>val.type === '社会救助').number || 0" color="#06B1B9"></gauge>
  85. </el-row>
  86. <el-row class="rightTopNumber">
  87. <span>
  88. 同比:{{proptionList.find(val=>val.type === '社会救助') && (proptionList.find(val=>val.type === '社会救助').radio * 100).toFixed(1) || 0}}%
  89. <span :style="{color: proptionList.find(val=>val.type === '社会救助') && proptionList.find(val=>val.type === '社会救助').sameStatus === 2 ? 'green' : 'red'}">
  90. <i class="iconfont" v-if="proptionList.find(val=>val.type === '社会救助')"
  91. :class="proptionList.find(val=>val.type === '社会救助').sameStatus === 1 ? 'icon-arrowTop-fill' : proptionList.find(val=>val.type === '社会救助').sameStatus === 2 ? 'icon-xiajiantou-' : ''"></i>
  92. </span>
  93. </span>
  94. </el-row>
  95. </el-row>
  96. <el-row>
  97. <el-row class="rightTopTitle"><span>抢险救援</span></el-row>
  98. <el-row class="rightTopChart">
  99. <gauge ref="gauge3" :dataMap="proptionList.find(val=>val.type === '抢险救援') && proptionList.find(val=>val.type === '抢险救援').number/ (proptionList.find(val=>val.type === '火灾').number + proptionList.find(val=>val.type === '社会救助').number + proptionList.find(val=>val.type === '抢险救援').number) || 0" :dataNumber="proptionList.find(val=>val.type === '抢险救援') && proptionList.find(val=>val.type === '抢险救援').number || 0" color="#E4951E"></gauge>
  100. </el-row>
  101. <el-row class="rightTopNumber">
  102. <span>
  103. 同比:{{proptionList.find(val=>val.type === '抢险救援') && (proptionList.find(val=>val.type === '抢险救援').radio * 100).toFixed(1) || 0}}%
  104. <span :style="{color: proptionList.find(val=>val.type === '抢险救援') && proptionList.find(val=>val.type === '抢险救援').sameStatus === 2 ? 'green' : 'red'}">
  105. <i class="iconfont" v-if="proptionList.find(val=>val.type === '抢险救援')"
  106. :class="proptionList.find(val=>val.type === '抢险救援').sameStatus === 1 ? 'icon-arrowTop-fill' : proptionList.find(val=>val.type === '抢险救援').sameStatus === 2 ? 'icon-xiajiantou-' : ''"></i>
  107. </span>
  108. </span>
  109. </el-row>
  110. </el-row>
  111. </div>
  112. </el-col>
  113. <el-col class="flexJ rightBot">
  114. <h4>实时警情处理</h4>
  115. <p class="sp" @click="cellHandleclick">视频</p>
  116. <!-- @row-click="rowClickMap" -->
  117. <el-table
  118. :header-cell-style="height1"
  119. :data="tableData"
  120. class="transparentTableRow table1"
  121. height="100%"
  122. :row-style="height2"
  123. @cell-click="cellHandleclick"
  124. style="width: 100%; margin: 0 auto"
  125. :cell-style="cellStyle"
  126. >
  127. <!-- show-overflow-tooltip -->
  128. <el-table-column
  129. v-for="item in headerData"
  130. :key="item.prop"
  131. :prop="item.prop"
  132. align="center"
  133. min-width="11%"
  134. :label="item.name"
  135. >
  136. <template
  137. v-if="item.prop === 'type' ||
  138. item.prop === 'lasj' ||
  139. item.prop === 'ajdj' ||
  140. item.prop === 'afdz' ||
  141. item.prop === 'cdcl' ||
  142. item.prop === 'bcxx' ||
  143. item.prop === 'czdx' ||
  144. item.prop === 'zhongdui'" #default="scope">
  145. <el-tooltip placement="left" >
  146. <template #content >
  147. <div class="tableTooltip" ref="ff">
  148. <div class="tableTitle">
  149. <div>案件详情</div>
  150. </div>
  151. <img src="~@a/img/icon/close.png" alt="" class="close" @click="closeIsTooltip" />
  152. <el-row class="tableContent">
  153. <el-col :span="20">案件编号:{{scope.row.ajbh ? scope.row.ajbh : "--"}}</el-col>
  154. <el-col :span="24">案件描述:{{scope.row.bcxx ? scope.row.bcxx : "--"}}</el-col>
  155. <el-col :span="24">报警时间:{{scope.row.tzsj ? scope.row.tzsj : "--"}}</el-col>
  156. <el-col :span="24">案件类型:{{scope.row.ajlx ? scope.row.ajlx : "--"}}</el-col>
  157. <el-col :span="24">发生地址:{{scope.row.afdz ? scope.row.afdz : "--"}}</el-col>
  158. <el-col :span="12">主责中队:{{scope.row.zhongdui ? scope.row.zhongdui : "--"}}</el-col>
  159. <el-col :span="12">案件状态:{{scope.row.ajzt ? scope.row.ajzt : "--"}}</el-col>
  160. <el-col :span="24">到场时间:{{scope.row.dcsj ? scope.row.dcsj : "--"}}</el-col>
  161. <el-col :span="24">出水时间:{{scope.row.cssj ? scope.row.cssj :'--'}}</el-col>
  162. <el-col :span="24">控制时间:{{scope.row.kzsj ? scope.row.kzsj : '--'}}</el-col>
  163. <el-col :span="24">熄灭时间:{{scope.row.xmsj ? scope.row.xmsj: '--'}}</el-col>
  164. <el-col :span="24">返队时间:{{scope.row.fdsj ? scope.row.fdsj : '--'}}</el-col>
  165. <el-col :span="24">所属街道:{{scope.row.streettown ? scope.row.streettown : "--"}}</el-col>
  166. </el-row>
  167. <el-row class="tablePersonnel">
  168. <el-col :span="7">
  169. </el-col>
  170. </el-row>
  171. </div>
  172. </template>
  173. <template>
  174. <i class="iconfont"
  175. :class="{
  176. 'icon-icon-test' : scope.row['ajlxdm'] == 1,
  177. 'icon-jiuyuan': scope.row['ajlxdm'] == 2,
  178. 'icon-minzhengtubiao1-08':scope.row['ajlxdm'] == 3,
  179. }"
  180. :style="{color: scope.row['ajdj'] == '零级' ? 'green' : scope.row['ajdj'] == '一级' ? '#eec10d' : scope.row['ajdj'] == '二级' ? '#ff730c' : scope.row['ajdj'] == '三级' ? '#ff0012' : '#2e98f2'}"
  181. v-if="item.prop === 'type'"></i>
  182. <div class="name-wrapper" v-else>{{ scope.row[item.prop] }}</div>
  183. </template>
  184. </el-tooltip>
  185. </template>
  186. <template v-else #default="scope">
  187. {{ item.prop === 'type' ? '' : item.prop === 'lasj' ? scope.row[item.prop] && scope.row[item.prop].slice(5) : item.prop === 'afdz' ? scope.row[item.prop].replace(new RegExp("闵行区 ",""),"") : item.prop === 'status' ? (scope.row[item.prop] == 1 ? '可用' : '不可用') : scope.row[item.prop]}}
  188. </template>
  189. </el-table-column>
  190. </el-table>
  191. <el-card class="box-card" v-if="isVideo">
  192. <template #header>
  193. <div class="card-header">
  194. <div class="top">
  195. <span>实时视频</span>
  196. <i class="el-icon-close" @click="isVideo = false"></i>
  197. </div>
  198. <div class="iframe2">
  199. <video
  200. :id="video.videoId"
  201. class=" video-js vjs-default-skin videoPaly"
  202. preload="auto"
  203. autoplay="autoplay"
  204. src="http://32.0.15.107:80/mhvi" type="application/x-mpegURL">
  205. </video>
  206. </div>
  207. </div>
  208. </template>
  209. <!-- <img src="~@a/img/test/car.png" alt=""> -->
  210. <!-- controls -->
  211. <!-- <video src="~@a/img/test/card.mp4" class="videoBox" autoplay height="auto"></video> -->
  212. <!-- <iframe src="http://32.0.0.7/play.html?serial=31011201002000000144&code34020100001310000036&aspect=fullscreen" allowfullscreen allow="autoplay; fullscreen" class="iframe"></iframe> -->
  213. <!-- <video src="32.0.0.7/play.html?serial=31011201002000000144&code34020100001310000036" class="videoBox" autoplay height="auto"></video> -->
  214. <!-- <video-player class="video-player vjs-custom-skin"
  215. ref="videoPlayer"
  216. :playsinline="true"
  217. :options="playerOptions">
  218. </video-player> -->
  219. </el-card>
  220. </el-col>
  221. <el-col class="flexJ rightBot2">
  222. <h4>历史案件</h4>
  223. <!-- <el-col class="shui">
  224. <el-col class="title">
  225. 水系统检测设备(300)
  226. </el-col>
  227. <el-col class="title1">
  228. 上线率:99%
  229. </el-col>
  230. <el-col class="title2">
  231. 接单率:99%
  232. </el-col>
  233. <el-col class="title3">
  234. 处置率:99%
  235. </el-col>
  236. </el-col> -->
  237. <el-table
  238. :header-cell-style="height1"
  239. :data="tableData2"
  240. class="transparentTableRow table2"
  241. height="120%"
  242. :row-style="height2"
  243. :cell-style="cell1"
  244. style="width: 100%; margin: 0 auto"
  245. @row-click="rowClickMap"
  246. >
  247. <el-table-column
  248. v-for="item in headerData2"
  249. :key="item.prop"
  250. :prop="item.prop"
  251. align="center"
  252. :label="item.name"
  253. >
  254. <template #default="scope" >
  255. <transition name="el-fade-in-linear">
  256. <el-tooltip placement="top" :disabled="disabled" >
  257. <template >
  258. <i class="iconfont"
  259. :class="{
  260. 'icon-icon-test' : scope.row['ajlxdm'] == 1,
  261. 'icon-jiuyuan': scope.row['ajlxdm'] == 2,
  262. 'icon-minzhengtubiao1-08':scope.row['ajlxdm'] == 3,
  263. }"
  264. :style="{color: scope.row['ajdj'] == '零级' ? 'green' : scope.row['ajdj'] == '一级' ? '#eec10d' : scope.row['ajdj'] == '二级' ? '#ff730c' : scope.row['ajdj'] == '三级' ? '#ff0012' : '#2e98f2'}"
  265. v-if="item.prop === 'type'"></i>
  266. <div class="name-wrapper" v-else>{{ scope.row[item.prop] }}</div>
  267. </template>
  268. </el-tooltip>
  269. </transition>
  270. </template>
  271. </el-table-column>
  272. </el-table>
  273. <el-card class="box-card" v-if="isVideo">
  274. <!-- <template #header>
  275. <div class="card-header">
  276. <span>实时视频</span>
  277. <i class="el-icon-close" @click="isVideo = false"></i>
  278. </div>
  279. </template> -->
  280. <!-- <img src="~@a/img/test/car.png" alt=""> -->
  281. <!-- controls -->
  282. <!-- <video src="~@a/img/test/card.mp4" class="videoBox" autoplay height="auto"></video> -->
  283. <!-- <video-player class="video-player vjs-custom-skin"
  284. ref="videoPlayer"
  285. :playsinline="true"
  286. :options="playerOptions">
  287. </video-player> -->
  288. </el-card>
  289. </el-col>
  290. </el-col>
  291. </transition>
  292. <transition name="el-fade-in-linear">
  293. <div class="tableTooltip anxqtk" v-show="ajxq" @mousedown="move">
  294. <div class="tableTitle">
  295. <div>案件详情</div>
  296. </div>
  297. <img src="~@a/img/icon/close.png" alt="" class="close2" @click="closeIsTooltip2"/>
  298. <el-row class="tableContent" >
  299. <el-col :span="20" id="cc">案件编号:{{ajxqnr.ajbh ? ajxqnr.ajbh : "--"}}</el-col>
  300. <el-col :span="24">案件描述:{{ajxqnr.bcxx ? ajxqnr.bcxx : "--"}}</el-col>
  301. <el-col :span="24">报警时间:{{ajxqnr.tzsj ? ajxqnr.tzsj : "--"}}</el-col>
  302. <el-col :span="24">案件类型:{{ajxqnr.ajlx ? ajxqnr.ajlx : "--"}}</el-col>
  303. <el-col :span="24">发生地址:{{ajxqnr.afdz ? ajxqnr.afdz : "--"}}</el-col>
  304. <el-col :span="12">主责中队:{{ajxqnr.zhongdui ? ajxqnr.zhongdui : "--"}}</el-col>
  305. <el-col :span="12">案件状态:{{ajxqnr.ajzt ? ajxqnr.ajzt : "--"}}</el-col>
  306. <el-col :span="24">到场时间:{{ajxqnr.dcsj ? ajxqnr.dcsj : "--"}}</el-col>
  307. <el-col :span="24">出水时间:{{ajxqnr.cssj ? ajxqnr.cssj :'--'}}</el-col>
  308. <el-col :span="24">控制时间:{{ajxqnr.kzsj ? ajxqnr.kzsj : '--'}}</el-col>
  309. <el-col :span="24">熄灭时间:{{ajxqnr.xmsj ? ajxqnr.xmsj: '--'}}</el-col>
  310. <el-col :span="24">返队时间:{{ajxqnr.fdsj ? ajxqnr.fdsj : '--'}}</el-col>
  311. <el-col :span="24">所属街道:{{ajxqnr.streettown ? ajxqnr.streettown : "--"}}</el-col>
  312. </el-row>
  313. </div>
  314. </transition>
  315. <transition name="el-fade-in-linear">
  316. <div class="tableTooltip anxqtk2" v-show="ajxq2" >
  317. <div class="tableTitle">
  318. <div>案件详情</div>
  319. </div>
  320. <img src="~@a/img/icon/close.png" alt="" class="close2" @click="closeIsTooltip3"/>
  321. <el-row class="tableContent" >
  322. <el-col :span="20" id="cc">案件编号:{{ajxq2nr.ajbh ? ajxq2nr.ajbh : "--"}}</el-col>
  323. <el-col :span="24">案件描述:{{ajxq2nr.bcxx ? ajxq2nr.bcxx : "--"}}</el-col>
  324. <el-col :span="24">报警时间:{{ajxq2nr.tzsj ? ajxq2nr.tzsj : "--"}}</el-col>
  325. <el-col :span="24">案件类型:{{ajxq2nr.ajlx ? ajxq2nr.ajlx : "--"}}</el-col>
  326. <el-col :span="24">发生地址:{{ajxq2nr.afdz ? ajxq2nr.afdz : "--"}}</el-col>
  327. <el-col :span="12">主责中队:{{ajxq2nr.zhongdui ? ajxq2nr.zhongdui : "--"}}</el-col>
  328. <el-col :span="12">案件状态:{{ajxq2nr.ajzt ? ajxq2nr.ajzt : "--"}}</el-col>
  329. <el-col :span="24">到场时间:{{ajxq2nr.dcsj ? ajxq2nr.dcsj : "--"}}</el-col>
  330. <el-col :span="24">出水时间:{{ajxq2nr.cssj ? ajxq2nr.cssj :'--'}}</el-col>
  331. <el-col :span="24">控制时间:{{ajxq2nr.kzsj ? ajxq2nr.kzsj : '--'}}</el-col>
  332. <el-col :span="24">熄灭时间:{{ajxq2nr.xmsj ? ajxq2nr.xmsj: '--'}}</el-col>
  333. <el-col :span="24">返队时间:{{ajxq2nr.fdsj ? ajxq2nr.fdsj : '--'}}</el-col>
  334. <el-col :span="24">所属街道:{{ajxq2nr.streettown ? ajxq2nr.streettown : "--"}}</el-col>
  335. </el-row>
  336. </div>
  337. </transition>
  338. </el-row>
  339. </template>
  340. <script>
  341. import { mapGetters } from 'vuex'
  342. import barChart from "@c/bar";
  343. import lineSmooth from "@c/line-smooth";
  344. import gauge from "@c/gauge/indexcom";
  345. import linstener from "@c/mixins/linstener";
  346. // import map from "@c/mixins/map-data";
  347. import map from "@c/mixins/map-gaodecom";
  348. import 'video.js/dist/video-js.css'
  349. import videojs from 'video.js'
  350. import 'videojs-contrib-hls'
  351. import "@videojs/http-streaming"
  352. // import draggable from 'vuedraggable'
  353. export default {
  354. data() {
  355. return {
  356. cell1:{
  357. height:'.25rem',
  358. },
  359. height1:{
  360. height:'0.2rem'
  361. },
  362. height2:{
  363. height:'0.25rem'
  364. },
  365. disabled:true,
  366. ajxqnr:{
  367. },
  368. ajxq2nr:{
  369. },
  370. ajxq:false,
  371. ajxq2:false,
  372. video:{
  373. videoId:undefined,
  374. videoUrl:undefined
  375. },
  376. checkList:[],
  377. tableData: [],
  378. headerData: [
  379. { prop: "type", name: "警情类别" },
  380. { prop: "lasj", name: "立案时间" },
  381. { prop: "ajdj", name: "警情等级" },
  382. { prop: "afdz", name: "案发地址" },
  383. { prop: "cdcl", name: "调动车辆" },
  384. { prop: "bcxx", name: "原因" },
  385. { prop: "czdx", name: "处置对象" },
  386. { prop: "zhongdui", name: "所属中队" },
  387. // { prop: "ajzt", name: "状况" },
  388. { prop: "sp", name: "" },
  389. ],
  390. tableData2: [],
  391. headerData2: [
  392. { prop: "type", name: "警情类别" },
  393. { prop: "lasj", name: "立案时间" },
  394. { prop: "ajdj", name: "警情等级" },
  395. { prop: "afdz", name: "案发地址" },
  396. { prop: "cdcl", name: "调动车辆" },
  397. { prop: "bcxx", name: "原因" },
  398. { prop: "czdx", name: "处置对象" },
  399. { prop: "zhongdui", name: "所属中队" },
  400. // { prop: "ajzt", name: "状况" },
  401. ],
  402. isVideo:false,
  403. // playerOptions: {
  404. // playbackRates: [0.7, 1.0, 1.5, 2.0], //播放速度
  405. // autoplay: false, //如果true,浏览器准备好时开始回放。
  406. // muted: false, // 默认情况下将会消除任何音频。
  407. // loop: false, // 导致视频一结束就重新开始。
  408. // preload: "auto", // 建议浏览器在<video>加载元素后是否应该开始下载视频数据。auto浏览器选择最佳行为,立即开始加载视频(如果浏览器支持)
  409. // language: "zh-CN",
  410. // aspectRatio: "16:9", // 将播放器置于流畅模式,并在计算播放器的动态大小时使用该值。值应该代表一个比例 - 用冒号分隔的两个数字(例如"16:9"或"4:3")
  411. // fluid: true, // 当true时,Video.js player将拥有流体大小。换句话说,它将按比例缩放以适应其容器。
  412. // sources: [{
  413. // type: "video/mp4",
  414. // src: "http://32.0.15.107:8080/mhvi/mh.m3u8", //视频url地址
  415. // // src: require("../assets/img/test/card.mp4"), //视频url地址
  416. // }, ],
  417. // poster: require("../assets/img/test/car.png"), //你的封面地址
  418. // // width: document.documentElement.clientWidth,
  419. // notSupportedMessage: "此视频暂无法播放,请稍后再试", //允许覆盖Video.js无法播放媒体源时显示的默认信息。
  420. // controlBar: {
  421. // timeDivider: true,
  422. // durationDisplay: true,
  423. // remainingTimeDisplay: false,
  424. // fullscreenToggle: true, //全屏按钮
  425. // },
  426. // },
  427. barForm: {
  428. fireType: "",
  429. address: "",
  430. },
  431. monthList:[],
  432. houseList:[],
  433. proptionList:[],
  434. proptionMapList:[],
  435. timeArea: 1,
  436. isTooltip:false
  437. };
  438. },
  439. computed:{
  440. // ...mapGetters([
  441. // "ajxq2nr"
  442. // ])
  443. isFollow () {
  444. return this.$store.state.ajxq2nr;  //需要监听的数据
  445. }
  446. },
  447. watch:{
  448. isFollow(newVal){
  449. this.ajxq2nrData(newVal)
  450. },
  451. },
  452. mixins: [linstener,map],
  453. components: { barChart, lineSmooth, gauge},
  454. created() {
  455. this.getData();
  456. setInterval(this.getPage2,10000)
  457. // if(document.body.clientWidth >1940){
  458. // this.widthd = true
  459. // }else{
  460. // this.widthwx = true
  461. // }
  462. },
  463. mounted() {
  464. window.addEventListener(
  465. "resize",
  466. () =>
  467. this.resizeTimeActions([
  468. this.$refs.gauge1,
  469. this.$refs.gauge2,
  470. this.$refs.gauge3,
  471. this.$refs.lineSmooth,
  472. this.$refs.barChart,
  473. ]),
  474. true
  475. );
  476. this.initMap()
  477. },
  478. methods: {
  479. move(e){
  480. let odiv = document.getElementsByClassName("anxqtk")[0]; //获取目标元素
  481. //算出鼠标相对元素的位置
  482. let disX = e.clientX - odiv.offsetLeft;
  483. let disY = e.clientY - odiv.offsetTop;
  484. document.onmousemove = (e)=>{ //鼠标按下并移动的事件
  485. //用鼠标的位置减去鼠标相对元素的位置,得到元素的位置
  486. let left = e.clientX - disX;
  487. let top = e.clientY - disY;
  488. //绑定元素位置到positionX和positionY上面
  489. this.positionX = top;
  490. this.positionY = left;
  491. //移动当前元素
  492. odiv.style.left = left + 'px';
  493. odiv.style.top = top + 'px';
  494. };
  495. document.onmouseup = (e) => {
  496. document.onmousemove = null;
  497. document.onmouseup = null;
  498. };
  499. },
  500. mousedown(event) {
  501. this.selectElement = document.getElementById("qw")
  502. var div1 = this.selectElement
  503. this.selectElement.style.cursor = 'move'
  504. this.isDowm = true
  505. var distanceX = event.clientX - this.selectElement.offsetLeft
  506. var distanceY = event.clientY - this.selectElement.offsetTop
  507. // alert(distanceX)
  508. // alert(distanceY)
  509. console.log(distanceX)
  510. console.log(distanceY)
  511. document.onmousemove = function (ev) {
  512. var oevent = ev || event
  513. div1.style.left = oevent.clientX - distanceX + 'px'
  514. div1.style.top = oevent.clientY - distanceY + 'px'
  515. }
  516. document.onmouseup = function () {
  517. document.onmousemove = null
  518. document.onmouseup = null
  519. div1.style.cursor = 'default'
  520. }
  521. },
  522. removePopup(){
  523. document.getElementsByClassName("ys-css3-container")[0].remove()
  524. },
  525. closeIsTooltip(){
  526. let y = document.getElementsByClassName("el-popper")
  527. for(let i=0;i<y.length;i++){
  528. y[i].style.display = "none"
  529. y[i].ariaHidden = true
  530. }
  531. },
  532. closeIsTooltip2(){
  533. this.ajxq = false
  534. },
  535. closeIsTooltip3(){
  536. this.ajxq2 = false
  537. this.ajxq2nr = {}
  538. },
  539. ajxq2nrData(newVal){
  540. this.ajxq2 = true
  541. this.ajxq2nr = newVal.ajxq2nr
  542. },
  543. cellClsNm({ column }) {
  544. console.log(column.property)
  545. if (column.property === 'sp') {
  546. return 'sp'
  547. }
  548. },
  549. rowClass({ row, rowIndex}) {
  550. console.log(rowIndex) //表头行下标
  551. return 'sp'
  552. },
  553. videoPlay(){
  554. this.video.videoId = "video" + Date.now()
  555. this.$nextTick(() => {
  556. console.log(this.video.videoId)
  557. let list = videojs(this.video.videoId , {
  558. events: [],
  559. // playbackRates: [0.7, 1.0, 1.5, 2.0], // 播放速度
  560. autoplay: "true", // 如果true,浏览器准备好时开始回放。
  561. controls: true, // 控制条
  562. preload: 'auto', // 视频预加载
  563. muted: true, // 默认情况下将会消除任何音频。
  564. loop: false, // 导致视频一结束就重新开始。
  565. language: 'zh-CN',
  566. controlBar: {
  567. timeDivider: true,
  568. durationDisplay: true
  569. },
  570. aspectRatio: '16:9', // 将播放器置于流畅模式,并在计算播放器的动态大小时使用该值。值应该代表一个比例 - 用冒号分隔的两个数字(例如"16:9"或"4:3")
  571. fluid: true, // 当true时,Video.js player将拥有流体大小。换句话说,它将按比例缩放以适应其容器。
  572. sources: [{
  573. type: 'application/x-mpegURL',
  574. src: 'http://32.0.15.107:8080/mhvi/mh.m3u8'
  575. }],
  576. hls: true, // 启用hls?
  577. poster: 'https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fhbimg.b0.upaiyun.com%2F945cad7c7105d352aa3c513c94846bb0c2f1a61342067-OWFZcE_fw658&refer=http%3A%2F%2Fhbimg.b0.upaiyun.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=jpeg?sec=1638947006&t=9cd1ab4df990ba151fcd5f0378f6e8cf', // 你的封面地址
  578. width: document.documentElement.clientWidth,
  579. notSupportedMessage: '此视频暂无法播放,请稍后再试'
  580. // autoplay:true,
  581. // controls:false,
  582. // bigPlayButton: false,
  583. // textTrackDisplay: false,
  584. // posterImage: true,
  585. // errorDisplay: false,
  586. // controlBar: true,
  587. // muted: true //静音模式 、、 解决首次页面加载播放。
  588. }, function () {
  589. this.play() // 自动播放
  590. })
  591. })
  592. },
  593. cellStyle (row, column, rowIndex, columnIndex) {
  594. //列的label的名称
  595. if (row.column.label === "视频") {
  596. return 'color:#2280D9' //修改的样式
  597. }
  598. },
  599. // cellHandleclick(row,column,cell,event){
  600. // console.log(row,column,cell,event)
  601. // if(column.property == "sp"){
  602. // this.isVideo =true
  603. // this.videoPlay()
  604. // }
  605. // },
  606. cellHandleclick(row,column,cell,event){
  607. if(row.path[0].className == "sp"){
  608. this.isVideo =true
  609. this.videoPlay()
  610. }
  611. },
  612. async getData() {
  613. let res = await this.$axios.all([
  614. this.$axios.get(this.$api.fire.fireType),
  615. ]);
  616. if (res[0]) this.fireTypeList = res[0].data;
  617. this.getPage();
  618. this.getPageMap();
  619. this.getHouse();
  620. // this.getProption();
  621. this.getMonth();
  622. this.getZhanbi()
  623. this.getXiangqingPage()
  624. this.getXiangqingOne()
  625. },
  626. // 实时警情处理
  627. async getPage2(){
  628. var myDate = new Date(); //实例一个时间对象;
  629. var year = myDate.getFullYear(); //获取系统的年;
  630. var month = myDate.getMonth()+1; //获取系统月份,由于月份是从0开始计算,所以要加1
  631. var day = myDate.getDate(); // 获取系统日,
  632. // myDate.getHours(); //获取系统时,
  633. // myDate.getMinutes(); //分
  634. // myDate.getSeconds(); //秒
  635. if(month<10){
  636. month = "0" + month
  637. }
  638. if(day<10){
  639. day = "0" + day
  640. }
  641. var startTime = year + '-' + month + '-' + day + ' ' + '00:00:00'
  642. var endTime = year + '-' + month + '-' + day + ' ' + '23:59:59'
  643. var val = await this.$axios.get(this.$api.jqzhcz.page +
  644. "?" +
  645. this.$qs.stringify({
  646. current: 1,
  647. size: 150,
  648. // startTime: startTime,
  649. // endTime: endTime,
  650. startTime:"2000-01-01 00:00:00",
  651. endTime:"2021-12-31 23:59:59"
  652. })
  653. ).then(res =>{
  654. if (res) {
  655. var data1 =res.data.records;
  656. if(data1.length>0){
  657. for(let i =0;i<data1.length;i++){
  658. data1[i].lasj = data1[i].lasj.slice(11,20)
  659. // data1[i].sp = "播放"
  660. }
  661. var data2 = []
  662. for(let i =0; i<data1.length;i++){
  663. if(data1[i].fdsj){
  664. data2.push(data1[i])
  665. }
  666. }
  667. // console.log(data2)
  668. this.tableData = data2;
  669. }
  670. }
  671. })
  672. },
  673. async getPage() {
  674. var myDate = new Date(); //实例一个时间对象;
  675. var year = myDate.getFullYear(); //获取系统的年;
  676. var month = myDate.getMonth()+1; //获取系统月份,由于月份是从0开始计算,所以要加1
  677. var day = myDate.getDate(); // 获取系统日,
  678. // myDate.getHours(); //获取系统时,
  679. // myDate.getMinutes(); //分
  680. // myDate.getSeconds(); //秒
  681. if(month<10){
  682. month = "0" + month
  683. }
  684. if(day<10){
  685. day = "0" + day
  686. }
  687. var startTime = year + '-' + month + '-' + day + ' ' + '00:00:00'
  688. var endTime = year + '-' + month + '-' + day + ' ' + '23:59:59'
  689. var val = await this.$axios.get(this.$api.jqzhcz.page +
  690. "?" +
  691. this.$qs.stringify({
  692. current: 1,
  693. size: 150,
  694. startTime: startTime,
  695. endTime: endTime,
  696. // startTime:"2000-01-01 00:00:00",
  697. // endTime:"2021-12-31 23:59:59"
  698. })
  699. ).then(res =>{
  700. if (res) {
  701. var data1 =res.data.records;
  702. if(data1.length>0){
  703. for(let i =0;i<data1.length;i++){
  704. data1[i].lasj = data1[i].lasj.slice(11,20)
  705. // data1[i].sp = "播放"
  706. }
  707. var data2 = []
  708. for(let i =0; i<data1.length;i++){
  709. if(!data1[i].fdsj){
  710. data2.push(data1[i])
  711. }
  712. }
  713. this.tableData = data2;
  714. }
  715. }
  716. })
  717. await this.$axios.get(this.$api.jqzhcz.page +
  718. "?" +
  719. this.$qs.stringify({
  720. current: 1,
  721. size: 150,
  722. startTime:this.$store.state.timeList[0] || '',
  723. endTime:this.$store.state.timeList[1] || ''
  724. })
  725. ).then(res =>{
  726. if(res){
  727. var data =res.data.records;
  728. for(let i =0;i<data.length;i++){
  729. data[i].lasj = data[i].lasj.slice(11,20)
  730. }
  731. var data2 =[]
  732. for(let i =0;i<data.length;i++){
  733. if(data[i].fdsj){
  734. data2[i] = data[i]
  735. }
  736. }
  737. this.tableData2 = data2;
  738. }
  739. })
  740. },
  741. // //撒点
  742. async getPageMap() { //撒点
  743. let res = await this.$axios.get(this.$api.jqzhcz.pageMap +
  744. "?" +
  745. this.$qs.stringify({
  746. startTime: '2020-11-01 00:00:00',
  747. endTime: '2021-12-31 23:59:59',
  748. // startTime: this.$store.state.timeList[0] || '',
  749. // endTime: this.$store.state.timeList[1] || '',
  750. })
  751. );
  752. if (res){
  753. // window.jMap.Locate.clearLocate()
  754. this.proptionMapList = res.data.records.slice(0,30)
  755. var arr =[]
  756. arr.push(res.data.records.slice(0,30))
  757. this.addMarker(arr,"selfManagement")
  758. }
  759. },
  760. async rowClickMap(row){
  761. this.closeIsTooltip()
  762. this.ajxq = true
  763. this.ajxqnr = row
  764. // if(this.proptionMapList.every(val=>val.id !== row.id)){
  765. // this.addMarker([row])
  766. // window.jMap.goTo({
  767. // x: Number(row.gisX),
  768. // y: Number(row.gisY),
  769. // radius: 1000
  770. // }, {
  771. // duration: 3,
  772. // offset: {
  773. // heading: -4,
  774. // pitch: -70,
  775. // range: 0
  776. // }
  777. // })
  778. // }
  779. // this.addMarkerInfo(row)
  780. },
  781. // 创建标点和点击事件
  782. // addMarker(lnglats,type) {
  783. // console.log(lnglats)
  784. // var a = "https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fup.enterdesk.com%2Fedpic_source%2F53%2F0a%2Fda%2F530adad966630fce548cd408237ff200.jpg"
  785. // let target = lnglats.map((val) => {
  786. // if (type == 'selfManagement') {
  787. // icon = val.waterAdministrative === '单位' ? this.icon1 : val.waterAdministrative === '市政' ? this.icon2 : val.waterAdministrative === '社区' || val.waterAdministrative === '居民' ? this.icon3 : "https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fup.enterdesk.com%2Fedpic_source%2F53%2F0a%2Fda%2F530adad966630fce548cd408237ff200.jpg&refer=http%3A%2F%2Fup.enterdesk.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=jpeg?sec=1640926840&t=3457fc1dea60f60f3cd55e48ca6c287c"
  788. // }else{
  789. // icon = val.waterAdministrative === '单位' ? a : val.waterAdministrative === '市政' ? a : val.waterAdministrative === '社区' || val.waterAdministrative === '居民' ? a : a
  790. // }
  791. // console.log(icon)
  792. // let marker = {
  793. // id: val.id,
  794. // attrbutes: val,
  795. // position: { x: val.gisX, y: val.gisY, z: 0 },
  796. // image: { url: icon,width:29.5,height:48.5 },
  797. // };
  798. // return marker
  799. // })
  800. // window.jMap.Locate.pointLocate(target, {
  801. // isZoom: false,
  802. // scaleByDistance: { minScaling: 0, maxScaling: 1, minDistance: 1000, maxDistance: 30000 },
  803. // click: async (val) => {
  804. // console.log(val)
  805. // let res = await this.$axios.get(this.$api.house.one +
  806. // "?" +
  807. // this.$qs.stringify({
  808. // id: val.attrbutes.id,
  809. // })
  810. // );
  811. // if (res){
  812. // this.addMarkerInfo(res.data)
  813. // }
  814. // }
  815. // })
  816. // },
  817. // 标点点击弹窗
  818. // addMarkerInfo(res) {
  819. // if (this.oldPopupId && res.id === this.oldPopupId) {
  820. // window.jMap.Popup.hide();
  821. // return this.oldPopup = null
  822. // }
  823. // window.jMap.Popup.show({
  824. // id: res.id,
  825. // //使用自定义窗体
  826. // position: { x: Number(res.gisX), y: Number(res.gisY), z: Number(0) }, //使用自定义窗体
  827. // element: `<div class="ysc-dynamic-layer ys-css3-box" onclick="vue.removePopup">
  828. // <div class="tableTooltip mapTab">
  829. // <div class="tableTitle">
  830. // <div>${res.ajlx}</div>
  831. // </div>
  832. // <el-row class="tableContent">
  833. // <div class="max">案发地址:${res.afdz}</div>
  834. // <div class="max2">案件性质:${res.ajxz}</div>
  835. // <div class="max2">案件状态:${res.ajzt}</div>
  836. // <div class="max">立案时间:${res.lasj}</div>
  837. // <div class="max2">警情等级:${res.ajdj}</div>
  838. // <div class="max2">所属中队:${res.zhongdui}</div>
  839. // <div class="max2">调动车辆:${res.cdcl}</div>
  840. // <div class="max2">状况:${res.ajzt}</div>
  841. // <div class="max" :title="${res.bcxx}">报警原因:${res.bcxx}</div>
  842. // <div class="max2">死亡人数:${res.qrqk}</div>
  843. // <div class="max2">受伤人数:${res.qrqk}</div>
  844. // <div class="max2">经济损失:${res.qrqk}</div>
  845. // </el-row>
  846. // </div>
  847. // </div>`,
  848. // }, { isZoom: false, offset: [-170, -310] });
  849. // this.oldPopup = res.id
  850. // },
  851. // 警情时段分布
  852. async getHouse() {
  853. // let res = await this.$axios.get(this.$api.house.alertStatisticsByMonth +
  854. // "?" +
  855. // this.$qs.stringify({
  856. // fireType: this.barForm.fireType,
  857. // startTime: this.$store.state.timeList[0] || "",
  858. // endTime: this.$store.state.timeList[1] || "",
  859. // }));
  860. // if (res){
  861. // this.houseList = res.data
  862. // this.$refs.lineSmooth.getData()
  863. // }
  864. let res = await this.$axios.get(this.$api.jqzhcz.house +
  865. "?" +
  866. this.$qs.stringify({
  867. // fireType: this.barForm.fireType,
  868. startTime: this.$store.state.timeList[0] || '',
  869. endTime: this.$store.state.timeList[1] || '',
  870. // startTime: '2000-12-01 00:00:00' ,
  871. // endTime: '2021-12-06 00:00:00' ,
  872. }));
  873. if(res?.data){
  874. this.houseList =res.data
  875. this.$refs.lineSmooth.getData()
  876. }
  877. // let res2 = await this.$axios.get(this.$api.jqzhcz.month +
  878. // "?" +
  879. // this.$qs.stringify({
  880. // // fireType: this.barForm.fireType,
  881. // startTime: "2021-01-01",
  882. // endTime: "2021-12-31",
  883. // }));
  884. // console.log(res2)
  885. // if (res){
  886. // this.houseList = res.data
  887. // this.$refs.lineSmooth.getData()
  888. // }
  889. },
  890. // 警情处置情况
  891. async getProption() { //旧
  892. // let res = await this.$axios.get(this.$api.house.alertStatistics +
  893. // "?" +
  894. // this.$qs.stringify({
  895. // startTime: this.$store.state.timeList[0] || "",
  896. // endTime: this.$store.state.timeList[1] || "",
  897. // }));
  898. // if (res){
  899. // console.log(res.data)
  900. // this.proptionList = res.data;
  901. // this.proptionList[4] = res.data.reduce((data, rel) => {
  902. // console.log(data + rel.number)
  903. // return data + rel.number;
  904. // }, 0);
  905. // console.log(this.proptionList[4]);
  906. // this.$refs.gauge1.getData();
  907. // this.$refs.gauge2.getData();
  908. // this.$refs.gauge3.getData();
  909. // }
  910. },
  911. // 历史警情趋势图
  912. async getMonth() {
  913. // let res = await this.$axios.get(
  914. // this.$api.house.alertStatisticsByMonth +
  915. // "?" +
  916. // this.$qs.stringify({
  917. // startTime: (new Date().getFullYear() - this.timeArea) + '-' + (new Date().getMonth() + 1) + '-' + new Date().getDate() + ' 00:00:00',
  918. // endTime: new Date().getFullYear() + '-' + (new Date().getMonth() + 1) + '-' + new Date().getDate() + ' 00:00:00',
  919. // })
  920. // );
  921. // if (res) {
  922. // this.monthList = res.data;
  923. // this.$refs.barChart.getData();
  924. // }
  925. let res = await this.$axios.get(
  926. this.$api.jqzhcz.month +
  927. "?" +
  928. this.$qs.stringify({
  929. // startTime: "2020-01-01 00:00:00",
  930. // endTime: "2021-12-31 00:00:00",
  931. startTime: (new Date().getFullYear() - this.timeArea) + '-' + (new Date().getMonth() + 1) + '-' + new Date().getDate() + ' 00:00:00',
  932. endTime: new Date().getFullYear() + '-' + (new Date().getMonth() + 1) + '-' + new Date().getDate() + ' 00:00:00',
  933. })
  934. );
  935. if (res) {
  936. this.monthList = res.data;
  937. this.$refs.barChart.getData();
  938. }
  939. },
  940. searchTime(val){
  941. this.timeArea = val
  942. this.getMonth()
  943. },
  944. // 警情占比
  945. async getZhanbi() {
  946. let res = await this.$axios.get(this.$api.jqzhcz.alertStatistics +
  947. "?" +
  948. this.$qs.stringify({
  949. // fireType: this.barForm.fireType,
  950. // startTime: "2020-01-01 00:00:00",
  951. // endTime: "2021-12-31 00:00:00",
  952. startTime: this.$store.state.timeList[0] || "",
  953. endTime: this.$store.state.timeList[1] || "",
  954. }));
  955. this.proptionList = res.data
  956. },
  957. // 警情详情
  958. async getXiangqingPage() {
  959. let res = await this.$axios.get(this.$api.jqzhcz.page +
  960. "?" +
  961. this.$qs.stringify({
  962. // fireType: this.barForm.fireType,
  963. current: 1,
  964. size: 10,
  965. }));
  966. },
  967. async getXiangqingOne() {
  968. let res = await this.$axios.get(this.$api.jqzhcz.one +
  969. "?" +
  970. this.$qs.stringify({
  971. id: "00021f6556c34d44a75ea287f40bed42",
  972. }));
  973. },
  974. },
  975. };
  976. </script>
  977. <style lang="scss" scoped>
  978. .videoBox{
  979. width: 100%;
  980. height: auto;
  981. }
  982. .iframe{
  983. width:95%;
  984. margin:0 2.5% 0;
  985. display: block;
  986. }
  987. .iframe2{
  988. width:90%;
  989. margin:0 5% 0;
  990. display: block;
  991. position: absolute;
  992. top:0.4rem;
  993. }
  994. .table1{margin-top:-0.15rem !important;height:108% !important}
  995. .table2{margin-top:-0.15rem !important;height:145% !important}
  996. .contentBox {
  997. display: flex;
  998. width: 100%;
  999. height: 100%;
  1000. box-sizing: border-box;
  1001. padding-bottom: 0.125rem;
  1002. color: #fff;
  1003. // font-family: "DS", "DS-B", "DS-BB", "DS-BS";
  1004. & > .el-col {
  1005. flex: 1;
  1006. max-width: 8rem;
  1007. height: 100%;
  1008. }
  1009. .leftBox {
  1010. display: flex;
  1011. justify-content: space-between;
  1012. flex-direction: column;
  1013. box-sizing: border-box;
  1014. & > .el-col {
  1015. flex: 1;
  1016. max-height: 50%;
  1017. background: url('~@a/img/enforce/bg1.png') no-repeat;
  1018. background-size: 100% 100%;
  1019. position: relative;
  1020. h4 {
  1021. font-size: 0.2125rem;
  1022. position: absolute;
  1023. left: 0;
  1024. right: 0;
  1025. top: 0;
  1026. margin: 0 auto;
  1027. text-align: center;
  1028. color: #00ffff;
  1029. }
  1030. }
  1031. .leftTop {
  1032. padding: 0.375rem 0.475rem 0.1875rem;
  1033. margin-bottom: 0.125rem;
  1034. display: flex;
  1035. justify-content: center;
  1036. align-items: center;
  1037. .leftTopContent {
  1038. width: 100%;
  1039. height: 100%;
  1040. display: block;
  1041. .selectBar {
  1042. width: 100%;
  1043. display: flex;
  1044. justify-content: flex-end;
  1045. height: 0.875rem;
  1046. padding: 0.25rem 0;
  1047. }
  1048. // .fireBar {
  1049. // height: calc(100% - 0.875rem);
  1050. // }
  1051. .fireBar {
  1052. height: 90%;
  1053. margin-top:8%;
  1054. }
  1055. }
  1056. }
  1057. .leftBot {
  1058. padding: 0.375rem 0.45rem 0.1875rem;
  1059. box-sizing: border-box;
  1060. .leftBotContent {
  1061. width: 100%;
  1062. height: 100%;
  1063. display: block;
  1064. .selectBar {
  1065. width: 100%;
  1066. display: flex;
  1067. justify-content: flex-start;
  1068. height: 0.875rem;
  1069. padding: 0.25rem 0;
  1070. .el-row{
  1071. display: flex;
  1072. .el-button {
  1073. // width: 0.375rem;
  1074. height: 0.325rem;
  1075. min-height: auto;
  1076. padding: 0 .0625rem;
  1077. margin-right: 0.075rem;
  1078. margin-left: 0;
  1079. background: #000707;
  1080. color: #fff;
  1081. border: 1px solid;
  1082. box-sizing: border-box;
  1083. border-radius: .0375rem;
  1084. font-size: 0.15rem;
  1085. border-image: linear-gradient(0deg, #0461c2 0%, #0ecdf1 100%) 1 1;
  1086. }
  1087. .btnClick {
  1088. color: #fccf2a;
  1089. border-image: linear-gradient(0deg, #ff6800 0%, #fccf2a 100%) 1 1;
  1090. }
  1091. }
  1092. }
  1093. .fireBar {
  1094. height: calc(100% - 0.875rem);
  1095. height: calc(100% - 0.875rem);
  1096. }
  1097. }
  1098. }
  1099. }
  1100. .rightBox {
  1101. display: flex;
  1102. justify-content: space-between;
  1103. flex-direction: column;
  1104. box-sizing: border-box;
  1105. & > .el-col {
  1106. flex: 1;
  1107. background: url(~@a/img/enforce/bg1.png) no-repeat;
  1108. background-size: 100% 100%;
  1109. position: relative;
  1110. h4 {
  1111. font-size: 0.2125rem;
  1112. position: absolute;
  1113. left: 0;
  1114. right: 0;
  1115. top: 0;
  1116. margin: 0 auto;
  1117. text-align: center;
  1118. color: #00ffff;
  1119. }
  1120. }
  1121. .rightTop {
  1122. padding: 0.1rem 0.475rem 0.1875rem;
  1123. margin-bottom: 0.125rem;
  1124. max-height:30%;
  1125. .rightBoxCon {
  1126. width: 100%;
  1127. height: 100%;
  1128. display: flex;
  1129. align-items: center;
  1130. & > .el-row {
  1131. flex: none;
  1132. width: 33.33%;
  1133. display: flex;
  1134. flex-direction: column;
  1135. }
  1136. .rightTopTitle {
  1137. margin-top:0.1rem;
  1138. span {
  1139. font-size: 0.2125rem;
  1140. text-align: center;
  1141. }
  1142. justify-content: center;
  1143. }
  1144. .rightTopNumber {
  1145. width:80%;
  1146. margin: 0 10%;
  1147. justify-content: center;
  1148. &>span {
  1149. margin: 0 auto;
  1150. padding: 0.1rem 0.2rem;
  1151. font-size: 0.14rem;
  1152. border-radius: 0.1875rem;
  1153. display: flex;
  1154. box-shadow: inset 0 0 0.2rem 0.0125rem #30cfff;
  1155. }
  1156. }
  1157. .rightTopChart {
  1158. margin: 0.1rem 0 -0.1rem;
  1159. }
  1160. }
  1161. }
  1162. .rightBot {
  1163. flex: 1;
  1164. max-height: 35%;
  1165. padding: 0.5rem 0.35rem 0.25rem;
  1166. box-sizing: border-box;
  1167. position: relative;
  1168. /deep/ .cell {
  1169. text-align: center !important;
  1170. }
  1171. /deep/ td{
  1172. min-width: auto !important;
  1173. width: auto !important;
  1174. text-align: left !important;
  1175. padding:0;
  1176. }
  1177. /deep/ .box-card{
  1178. position: absolute;
  1179. right: 50%;
  1180. bottom:-100%;
  1181. margin: auto;
  1182. border-radius: 3%;
  1183. width: 80%;
  1184. max-height: 100%;
  1185. box-shadow: inset 0 0 0.2rem 0.0125rem #30cfff;
  1186. background: rgba(0, 44, 110, 0.6);
  1187. border: none;
  1188. color: #FFF;
  1189. z-index: 10000;
  1190. padding:0 0 60px;
  1191. .el-card__header{
  1192. padding: .125rem;
  1193. border-color: #30cfff;
  1194. span{
  1195. margin-top:0
  1196. }
  1197. .card-header{
  1198. height:400px;
  1199. position: relative;
  1200. .top{
  1201. position: absolute;
  1202. top:0px;
  1203. width:100%;
  1204. font-size: .2rem;
  1205. justify-content: space-between;
  1206. align-items: center;
  1207. i{
  1208. font-size: .275rem;
  1209. float:right
  1210. }
  1211. }
  1212. }
  1213. }
  1214. img{
  1215. width: 100%;
  1216. height: auto;
  1217. }
  1218. }
  1219. }
  1220. .rightBot2 {
  1221. flex: 1;
  1222. max-height: 34%;
  1223. margin-top:1%;
  1224. padding: 0.5rem 0.35rem 0.25rem;
  1225. box-sizing: border-box;
  1226. position: relative;
  1227. .shui{
  1228. box-shadow: inset 0 0 0.2rem 0.0125rem #30cfff;
  1229. background: rgba(0, 44, 110, 0.5);
  1230. margin:-10px 0px 10px 0;
  1231. font-size: 14px;
  1232. padding:6px;
  1233. text-align: center;
  1234. font-size: 14px;
  1235. text-align: left;
  1236. width:100%;
  1237. .title{
  1238. width:34%;
  1239. }
  1240. .title1{
  1241. width:22%;
  1242. }
  1243. .title2{
  1244. width:22%;
  1245. color:red
  1246. }
  1247. .title3{
  1248. width:22%;
  1249. color:#00ffff
  1250. }
  1251. }
  1252. /deep/ .cell {
  1253. text-align: center !important;
  1254. }
  1255. /deep/ td{
  1256. min-width: auto !important;
  1257. width: auto !important;
  1258. text-align: left !important;
  1259. padding:0;
  1260. }
  1261. /deep/ .el-table__body-wrapper{
  1262. height: 65% !important;;
  1263. }
  1264. /deep/ .box-card{
  1265. position: absolute;
  1266. right: 0;
  1267. bottom: 0;
  1268. margin: auto;
  1269. border-radius: 3%;
  1270. width: 80%;
  1271. max-height: 100%;
  1272. box-shadow: inset 0 0 0.2rem 0.0125rem #30cfff;
  1273. background: rgba(0, 44, 110, 0.6);
  1274. border: none;
  1275. color: #FFF;
  1276. .el-card__header{
  1277. padding: .125rem;
  1278. border-color: #30cfff;
  1279. .card-header{
  1280. display: flex;
  1281. font-size: .2rem;
  1282. justify-content: space-between;
  1283. align-items: center;
  1284. i{
  1285. font-size: .275rem;
  1286. }
  1287. }
  1288. }
  1289. img{
  1290. width: 100%;
  1291. height: auto;
  1292. }
  1293. }
  1294. }
  1295. }
  1296. }
  1297. .tableTooltip{
  1298. width:400px;
  1299. }
  1300. .liucheng{
  1301. width:100%;
  1302. position: relative;
  1303. padding:20px;
  1304. img{
  1305. width:100%;
  1306. }
  1307. .jz{
  1308. font-size:14px;
  1309. color:#fff;
  1310. list-style: 50%;
  1311. text-align: center;
  1312. position: absolute;
  1313. top:35%;
  1314. width:23%;
  1315. text-align: center;
  1316. }
  1317. }
  1318. .tipdan{
  1319. background: url("~@a/img/qyzz/baogao.png") no-repeat ;
  1320. background-size: 100% 100%;
  1321. margin:10px 10px 0 0;
  1322. font-size: 14px;
  1323. padding:4px;
  1324. text-align: center;
  1325. }
  1326. .mapTips{
  1327. border:1px solid #00ffff;
  1328. border-radius: 4px;
  1329. margin:0 8px 10px 0;
  1330. box-shadow:0px 0px 10px #00ffff;
  1331. .el-checkbox{
  1332. color:#fff;
  1333. }
  1334. }
  1335. /deep/ .el-checkbox__inner{
  1336. background-color:transparent;
  1337. }
  1338. @media screen and (min-width: 1940px) and (max-width:4000px){
  1339. .table1{margin-top:0rem !important;height:105% !important}
  1340. .table2{margin-top:0rem !important;height:130% !important}
  1341. .iconfont{
  1342. font-size: 25px;
  1343. }
  1344. .videoBox{
  1345. width: 100%;
  1346. height: auto;
  1347. }
  1348. .contentBox {
  1349. display: flex;
  1350. width: 100%;
  1351. height: 105%;
  1352. box-sizing: border-box;
  1353. padding-bottom: 0.125rem;
  1354. color: #fff;
  1355. // font-family: "DS", "DS-B", "DS-BB", "DS-BS";
  1356. & > .el-col {
  1357. flex: 1;
  1358. max-width: 8rem;
  1359. height: 100%;
  1360. }
  1361. .leftBox {
  1362. display: flex;
  1363. justify-content: space-between;
  1364. flex-direction: column;
  1365. box-sizing: border-box;
  1366. & > .el-col {
  1367. flex: 1;
  1368. max-height: 50%;
  1369. // background: url('~@a/img/enforce/bg1.png') no-repeat;
  1370. // background-size: 100% 100%;
  1371. background: url("~@a/img/home/box-bg_02.png") no-repeat 0px 26px;
  1372. background-size: 100% calc(100% - 60px);
  1373. position: relative;
  1374. h4 {
  1375. background: url("~@a/img/home/box-bg_01.png") no-repeat 0px 1px;
  1376. background-size: 100% 100%;
  1377. font-size: 0.2125rem;
  1378. position: absolute;
  1379. left: 0;
  1380. right: 0;
  1381. top: 0;
  1382. margin: 0 auto;
  1383. text-align: center;
  1384. color: #00ffff;
  1385. }
  1386. }
  1387. .leftTop {
  1388. padding: 0.375rem 0.475rem 0.1875rem;
  1389. margin-bottom: 0.125rem;
  1390. display: flex;
  1391. justify-content: center;
  1392. align-items: center;
  1393. .leftTopContent {
  1394. width: 100%;
  1395. height: 100%;
  1396. display: block;
  1397. .selectBar {
  1398. width: 100%;
  1399. display: flex;
  1400. justify-content: flex-end;
  1401. height: 0 !important;
  1402. padding:0 !important;
  1403. }
  1404. .fireBar {
  1405. height: 90%;
  1406. margin-top:1%;
  1407. }
  1408. }
  1409. }
  1410. .leftBot {
  1411. padding: 0.375rem 0.45rem 0.1875rem;
  1412. box-sizing: border-box;
  1413. .leftBotContent {
  1414. width: 100%;
  1415. height: 100%;
  1416. display: block;
  1417. margin-top:-2% !important;
  1418. .selectBar {
  1419. width: 100%;
  1420. display: flex;
  1421. justify-content: flex-start;
  1422. height: 0 !important;
  1423. padding:0 !important;
  1424. .el-row{
  1425. display: flex;
  1426. .el-button {
  1427. // width: 0.375rem;
  1428. height: 0.12rem;
  1429. min-height: auto;
  1430. padding: 0 .03125rem;
  1431. margin-right: 0.0375rem;
  1432. margin-left: 0;
  1433. background: #000707;
  1434. color: #fff;
  1435. border: 1px solid;
  1436. box-sizing: border-box;
  1437. border-radius: .0375rem;
  1438. font-size: 0.08rem;
  1439. border-image: linear-gradient(0deg, #0461c2 0%, #0ecdf1 100%) 1 1;
  1440. }
  1441. .btnClick {
  1442. color: #fccf2a;
  1443. border-image: linear-gradient(0deg, #ff6800 0%, #fccf2a 100%) 1 1;
  1444. }
  1445. }
  1446. }
  1447. .fireBar {
  1448. height: 85%;
  1449. margin-top:5%;
  1450. }
  1451. }
  1452. }
  1453. }
  1454. .rightBox {
  1455. display: flex;
  1456. justify-content: space-between;
  1457. flex-direction: column;
  1458. box-sizing: border-box;
  1459. & > .el-col {
  1460. flex: 1;
  1461. background: url("~@a/img/home/box-bg_02.png") no-repeat 0px 26px;
  1462. background-size: 100% calc(100% - 60px);
  1463. position: relative;
  1464. min-height:33%;
  1465. h4 {
  1466. background: url("~@a/img/home/box-bg_01.png") no-repeat 0px 1px;
  1467. background-size: 100% 100%;
  1468. font-size: 0.2125rem;
  1469. position: absolute;
  1470. left: 0;
  1471. right: 0;
  1472. top: 0;
  1473. margin: 0 auto;
  1474. text-align: center;
  1475. color: #00ffff;
  1476. }
  1477. }
  1478. .rightTop {
  1479. padding: 0.1rem 0.475rem 0.1875rem;
  1480. margin-bottom: 0.125rem;
  1481. max-height:34%;
  1482. .rightBoxCon {
  1483. width: 100%;
  1484. height: 100%;
  1485. display: flex;
  1486. align-items: center;
  1487. & > .el-row {
  1488. flex: none;
  1489. width: 33.33%;
  1490. display: flex;
  1491. flex-direction: column;
  1492. }
  1493. .rightTopTitle {
  1494. margin-top:-0.02rem;
  1495. span {
  1496. font-size: 0.12rem;
  1497. text-align: center;
  1498. }
  1499. justify-content: center;
  1500. }
  1501. .rightTopNumber {
  1502. width:80%;
  1503. margin: 0 10%;
  1504. justify-content: center;
  1505. &>span {
  1506. margin: 0 auto;
  1507. padding: 6px 20px;
  1508. font-size: 0.14rem;
  1509. border-radius: 0.1875rem;
  1510. display: flex;
  1511. box-shadow: inset 0 0 0.2rem 0.0125rem #30cfff;
  1512. }
  1513. .iconfont{
  1514. font-size:0.18rem;
  1515. font-weight: 700;
  1516. }
  1517. }
  1518. .rightTopChart {
  1519. margin: 0.05rem 0 -0.05rem ;
  1520. }
  1521. }
  1522. }
  1523. .rightBot {
  1524. flex: 1;
  1525. max-height: 35%;
  1526. padding: 0.5rem 0.35rem 0.25rem;
  1527. box-sizing: border-box;
  1528. position: relative;
  1529. margin:-0.3rem 0 0;
  1530. /deep/ .el-table{
  1531. margin-top:-0.2rem !important;
  1532. }
  1533. /deep/ .cell {
  1534. text-align: center !important;
  1535. }
  1536. /deep/ td{
  1537. min-width: auto !important;
  1538. width: auto !important;
  1539. text-align: left !important;
  1540. padding:0;
  1541. }
  1542. /deep/ .box-card{
  1543. position: fixed;
  1544. bottom: 0;
  1545. margin: auto;
  1546. border-radius: 3%;
  1547. width: 20%;
  1548. left:50%;
  1549. margin-left:15%;
  1550. max-height: 100%;
  1551. box-shadow: inset 0 0 0.2rem 0.0125rem #30cfff;
  1552. background: rgba(0, 44, 110, 0.6);
  1553. border: none;
  1554. color: #FFF;
  1555. z-index: 100;
  1556. .el-card__header{
  1557. padding: .125rem;
  1558. border-color: #30cfff;
  1559. .card-header{
  1560. display: flex;
  1561. font-size: .2rem;
  1562. justify-content: space-between;
  1563. align-items: center;
  1564. i{
  1565. font-size: .275rem;
  1566. }
  1567. }
  1568. }
  1569. img{
  1570. width: 100%;
  1571. height: auto;
  1572. }
  1573. }
  1574. }
  1575. .rightBot2 {
  1576. flex: 1;
  1577. max-height: 40%;
  1578. // margin-top:1%;
  1579. padding: 0.5rem 0.35rem 0.25rem;
  1580. box-sizing: border-box;
  1581. position: relative;
  1582. margin-top:-0.2rem;
  1583. /deep/ .el-table{
  1584. margin-top:-0.2rem !important;
  1585. }
  1586. .shui{
  1587. box-shadow: inset 0 0 0.2rem 0.0125rem #30cfff;
  1588. background: rgba(0, 44, 110, 0.5);
  1589. margin:-10px 0px 10px 0;
  1590. font-size: 14px;
  1591. padding:6px;
  1592. text-align: center;
  1593. font-size: 14px;
  1594. text-align: left;
  1595. width:100%;
  1596. margin-top:-.28rem;
  1597. font-size: 0.12rem;;
  1598. .title{
  1599. width:34%;
  1600. }
  1601. .title1{
  1602. width:22%;
  1603. }
  1604. .title2{
  1605. width:22%;
  1606. color:red
  1607. }
  1608. .title3{
  1609. width:22%;
  1610. color:#00ffff
  1611. }
  1612. }
  1613. /deep/ .cell {
  1614. text-align: center !important;
  1615. }
  1616. /deep/ td{
  1617. min-width: auto !important;
  1618. width: auto !important;
  1619. text-align: left !important;
  1620. padding:0;
  1621. }
  1622. /deep/ .el-table__body-wrapper{
  1623. height: 65% !important;;
  1624. }
  1625. /deep/ .box-card{
  1626. position: absolute;
  1627. right: 0;
  1628. bottom: 0;
  1629. margin: auto;
  1630. border-radius: 3%;
  1631. width: 80%;
  1632. max-height: 100%;
  1633. box-shadow: inset 0 0 0.2rem 0.0125rem #30cfff;
  1634. background: rgba(0, 44, 110, 0.6);
  1635. border: none;
  1636. color: #FFF;
  1637. display: none;
  1638. .el-card__header{
  1639. padding: .125rem;
  1640. border-color: #30cfff;
  1641. .card-header{
  1642. display: flex;
  1643. font-size: .2rem;
  1644. justify-content: space-between;
  1645. align-items: center;
  1646. i{
  1647. font-size: .275rem;
  1648. }
  1649. }
  1650. }
  1651. img{
  1652. width: 100%;
  1653. height: auto;
  1654. }
  1655. }
  1656. }
  1657. }
  1658. }
  1659. // .tableTooltip{
  1660. // width:800px;
  1661. // }
  1662. .liucheng{
  1663. width:100%;
  1664. position: relative;
  1665. padding:20px;
  1666. img{
  1667. width:100%;
  1668. }
  1669. .jz{
  1670. font-size:14px;
  1671. color:#fff;
  1672. list-style: 50%;
  1673. text-align: center;
  1674. position: absolute;
  1675. top:35%;
  1676. width:23%;
  1677. text-align: center;
  1678. }
  1679. }
  1680. .tipdan{
  1681. background: url("~@a/img/qyzz/baogao.png") no-repeat ;
  1682. background-size: 100% 100%;
  1683. margin:10px 10px 0 0;
  1684. font-size: 14px;
  1685. padding:4px;
  1686. text-align: center;
  1687. font-size: 0.14rem !important;
  1688. }
  1689. .mapTips{
  1690. border:1px solid #00ffff;
  1691. border-radius: 4px;
  1692. margin:0 8px 10px 0;
  1693. box-shadow:0px 0px 10px #00ffff;
  1694. .el-checkbox{
  1695. color:#fff;
  1696. }
  1697. }
  1698. /deep/ .el-form-item__label{
  1699. font-size: 0.12rem;
  1700. }
  1701. /deep/ .el-table__header-wrapper{
  1702. height:20px !important;
  1703. padding:0 !important;
  1704. }
  1705. /deep/ .el-form .el-form-item .el-form-item__label{
  1706. font-size: 0.12rem !important;
  1707. }
  1708. /deep/ .el-form .el-form-item .el-form-item__content{
  1709. font-size: 0.12rem !important;
  1710. }
  1711. /deep/ .el-select .el-input--mini{
  1712. font-size: 0.12rem !important;
  1713. }
  1714. /deep/ .el-select .el-input__inner{
  1715. font-size: 0.12rem !important;
  1716. }
  1717. }
  1718. </style>
  1719. <style>
  1720. .el-checkbox{
  1721. padding-bottom:6px;
  1722. display: block;
  1723. border-bottom:1px solid #00ffff;
  1724. padding:2px 0 2px 8px;
  1725. width:100%;
  1726. box-sizing: border-box;
  1727. }
  1728. .el-checkbox__input.is-checked .el-checkbox__inner, .el-checkbox__input.is-indeterminate .el-checkbox__inner{
  1729. background-color:transparent;
  1730. border-color:#00ffff;
  1731. border-bottom:1px solid #00ffff;
  1732. }
  1733. .el-checkbox__input.is-checked + .el-checkbox__label {
  1734. color: #00ffff;
  1735. background-color:transparent;
  1736. }
  1737. .el-checkbox.is-bordered.is-checked{
  1738. border-color: #00ffff;
  1739. background-color:transparent;
  1740. }
  1741. .el-checkbox__input.is-focus .el-checkbox__inner{
  1742. border-color: #00ffff;
  1743. background-color:transparent;
  1744. }
  1745. </style>
  1746. <style>
  1747. .sp{
  1748. font-size: 0.14rem;
  1749. color:#fff;
  1750. position: absolute;
  1751. z-index: 2;
  1752. right:41px;
  1753. top:30px;
  1754. border: 1px solid rgb(34, 128, 217);
  1755. border-radius: 6px;
  1756. padding:1px 6px;
  1757. background-color: #409eff;
  1758. }
  1759. .close{
  1760. width:20px;
  1761. height:20px;
  1762. position: absolute;
  1763. right:10px;
  1764. top:10px;
  1765. z-index: 10000;
  1766. display: block;}
  1767. .close2{
  1768. width:20px;
  1769. height:20px;
  1770. position: absolute;
  1771. right:10px;
  1772. top:10px;
  1773. z-index: 10000;
  1774. display: block;
  1775. }
  1776. .anxqtk{
  1777. background: transparent;
  1778. border-radius: 3%;
  1779. box-shadow: inset 0 0 0.2rem 0.0125rem #30cfff;
  1780. background: rgba(0, 44, 110, 0.6);
  1781. font-size: 0.2rem;
  1782. padding: 0.1875rem;
  1783. position: fixed;
  1784. top:140px;
  1785. right:150px;
  1786. z-index:10000;
  1787. }
  1788. .anxqtk2{
  1789. background: transparent;
  1790. border-radius: 3%;
  1791. box-shadow: inset 0 0 0.2rem 0.0125rem #30cfff;
  1792. background: rgba(0, 44, 110, 0.6);
  1793. font-size: 0.2rem;
  1794. padding: 0.1875rem;
  1795. position: fixed;
  1796. top:140px;
  1797. right:300px;
  1798. z-index:10000;
  1799. }
  1800. @media screen and (min-width: 1940px) and (max-width:4000px){
  1801. .sp{
  1802. font-size: 0.12rem;
  1803. color:#fff;
  1804. position: absolute;
  1805. z-index: 2;
  1806. right:100px;
  1807. top:54px;
  1808. border: 1px solid rgb(34, 128, 217);
  1809. border-radius: 6px;
  1810. padding:2px 6px;
  1811. background-color: #409eff;
  1812. }
  1813. /* tr{
  1814. pointer-events: none
  1815. } */
  1816. .close2{
  1817. width:40px;
  1818. height:40px;
  1819. position: absolute;
  1820. right:30px;
  1821. top:20px;
  1822. z-index: 10000;
  1823. display: block;
  1824. }
  1825. .close{
  1826. width:40px;
  1827. height:40px;
  1828. position: absolute;
  1829. right:30px;
  1830. top:20px;
  1831. z-index: 10000;
  1832. display: block;
  1833. }
  1834. .anxqtk{
  1835. background: transparent;
  1836. border-radius: 3%;
  1837. box-shadow: inset 0 0 0.2rem 0.0125rem #30cfff;
  1838. background: rgba(0, 44, 110, 0.6);
  1839. font-size: 0.2rem;
  1840. padding: 0.1875rem;
  1841. position: fixed;
  1842. top:80px;
  1843. right:350px;
  1844. z-index:1000;
  1845. }
  1846. .anxqtk2{
  1847. background: transparent;
  1848. border-radius: 3%;
  1849. box-shadow: inset 0 0 0.2rem 0.0125rem #30cfff;
  1850. background: rgba(0, 44, 110, 0.6);
  1851. font-size: 0.2rem;
  1852. padding: 0.1875rem;
  1853. position: fixed;
  1854. top:180px;
  1855. right:750px;
  1856. z-index:1000;
  1857. }
  1858. /* .box-card{
  1859. position: absolute;
  1860. right: 0;
  1861. bottom: 0;
  1862. margin: auto;
  1863. border-radius: 3%;
  1864. width: 80%;
  1865. max-height: 100%;
  1866. box-shadow: inset 0 0 0.2rem 0.0125rem #30cfff;
  1867. background: rgba(0, 44, 110, 0.6);
  1868. border: none;
  1869. color: #FFF;
  1870. .el-card__header{
  1871. padding: .125rem;
  1872. border-color: #30cfff;
  1873. .card-header{
  1874. display: flex;
  1875. font-size: .2rem;
  1876. justify-content: space-between;
  1877. align-items: center;
  1878. i{
  1879. font-size: .275rem;
  1880. }
  1881. }
  1882. }
  1883. img{
  1884. width: 100%;
  1885. height: auto;
  1886. }
  1887. } */
  1888. }
  1889. .el-card__body{
  1890. display: none;
  1891. }
  1892. </style>