disaster.vue 34 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694
  1. <!--灾后评估-->
  2. <template>
  3. <div class="visual-con">
  4. <!--头部-->
  5. <vheader></vheader>
  6. <!--主体-->
  7. <div class="visual-body">
  8. <!-- 左侧 -->
  9. <div class="leftbar" :class="indentleft" ref="left">
  10. <div class="forthis">
  11. <div class="this-title">
  12. <el-date-picker v-model="pickYear" @change="getInit()" type="year" placeholder="选择年">
  13. </el-date-picker>
  14. </div>
  15. <div class="i-list-con h-73">
  16. <div class="d-l-con-icon">
  17. <div class="icon-con w-50 m-btm-no">
  18. <div class="icon icon-dot"></div>
  19. <div class="icon-text flex-r">
  20. <h5>{{numberFiresYear}}次</h5>
  21. <h5>火灾次数</h5>
  22. </div>
  23. </div>
  24. <div class="icon-con w-50 m-btm-no">
  25. <div class="icon icon-dot"></div>
  26. <div class="icon-text flex-r">
  27. <h5>{{forestFireLossTotal}}万元</h5>
  28. <h5>损失总计</h5>
  29. </div>
  30. </div>
  31. </div>
  32. <div class="d-l-con flex-c">
  33. <div class="d-l-l-text">
  34. <h2>火灾损失价值</h2>
  35. </div>
  36. <div class="d-l-l-text ">
  37. <h3>合计:{{fireLossTotalYear}}万元</h3>
  38. </div>
  39. <el-table :data="forestResourcesYear">
  40. <el-table-column label="林木资源">
  41. <el-table-column label="成林" width="50%">
  42. <el-table-column label="蓄积">
  43. <el-table-column prop="forestArea" label="米">
  44. </el-table-column>
  45. </el-table-column>
  46. <el-table-column prop="worth" label="价值" width="50%">
  47. <el-table-column prop="forestPrice" label="万元">
  48. </el-table-column>
  49. </el-table-column>
  50. </el-table-column>
  51. <el-table-column prop="youngTree" label="幼树">
  52. <el-table-column prop="number" label="株数">
  53. <el-table-column prop="treesNumber" label="万株">
  54. </el-table-column>
  55. </el-table-column>
  56. <el-table-column prop="worth" label="价值">
  57. <el-table-column prop="treesPrice" label="万元">
  58. </el-table-column>
  59. </el-table-column>
  60. </el-table-column>
  61. </el-table-column>
  62. </el-table>
  63. <el-table style="margin-top: 1rem;" :data="casualtiesYear">
  64. <el-table-column prop="date" label="人员伤亡">
  65. <el-table-column label="轻伤" width="50%">
  66. <el-table-column label="人数">
  67. <el-table-column prop="minorInjuriesNumber" label="人">
  68. </el-table-column>
  69. </el-table-column>
  70. <el-table-column label="费用" width="50%">
  71. <el-table-column prop="minorInjuriesPrice" label="万元">
  72. </el-table-column>
  73. </el-table-column>
  74. </el-table-column>
  75. <el-table-column label="重伤">
  76. <el-table-column label="人数">
  77. <el-table-column prop="seriouslyInjuredNumber" label="人">
  78. </el-table-column>
  79. </el-table-column>
  80. <el-table-column label="费用">
  81. <el-table-column prop="seriouslyInjuredPrice" label="万元">
  82. </el-table-column>
  83. </el-table-column>
  84. </el-table-column>
  85. <el-table-column label="死亡">
  86. <el-table-column label="人数">
  87. <el-table-column prop="deathNumber" label="人">
  88. </el-table-column>
  89. </el-table-column>
  90. <el-table-column label="费用">
  91. <el-table-column prop="deathPrice" label="万元">
  92. </el-table-column>
  93. </el-table-column>
  94. </el-table-column>
  95. </el-table-column>
  96. </el-table>
  97. <el-table style="margin-top: 1rem;" :data="elseFireLossPriceYear">
  98. <el-table-column label="其他火灾损失">
  99. <el-table-column prop="elseFireLossPrice" label="万元">
  100. </el-table-column>
  101. </el-table-column>
  102. </el-table>
  103. </div>
  104. <div class="d-l-con flex-c">
  105. <div class="d-l-l-text">
  106. <h2>扑火费用支出</h2>
  107. </div>
  108. <div class="d-l-l-text ">
  109. <h3>合计:{{blazesPriceTotalYear}}万元</h3>
  110. </div>
  111. <el-table style="margin-top: 1rem;" :data="fireFightingCasualtiesYear">
  112. <el-table-column prop="date" label="人员伤亡">
  113. <el-table-column label="人工费" width="50%">
  114. <el-table-column label="人工">
  115. <el-table-column prop="artificialDays" label="工日">
  116. </el-table-column>
  117. </el-table-column>
  118. <el-table-column label="费用" width="50%">
  119. <el-table-column prop="artificialPrice" label="万元">
  120. </el-table-column>
  121. </el-table-column>
  122. </el-table-column>
  123. <el-table-column prop="vehicleFee" label="车辆费">
  124. <el-table-column label="合计">
  125. <el-table-column prop="vehicleNumber" label="台">
  126. </el-table-column>
  127. </el-table-column>
  128. <el-table-column label="汽车">
  129. <el-table-column prop="carNumber" label="台">
  130. </el-table-column>
  131. </el-table-column>
  132. <el-table-column label="费用">
  133. <el-table-column prop="vehiclePrice" label="万元">
  134. </el-table-column>
  135. </el-table-column>
  136. </el-table-column>
  137. <el-table-column prop="flightFee" label="飞行费">
  138. <el-table-column label="飞机">
  139. <el-table-column prop="planeNumber" label="架次">
  140. </el-table-column>
  141. </el-table-column>
  142. <el-table-column label="费用">
  143. <el-table-column prop="planePrice" label="万元">
  144. </el-table-column>
  145. </el-table-column>
  146. </el-table-column>
  147. </el-table-column>
  148. </el-table>
  149. <el-table style="margin-top: 1rem;" :data="otherFireCostsYear">
  150. <el-table-column label="其他火灾费用">
  151. <el-table-column prop="elseBlazesPrice" label="万元">
  152. </el-table-column>
  153. </el-table-column>
  154. </el-table>
  155. </div>
  156. </div>
  157. </div>
  158. </div>
  159. <!-- 地图 -->
  160. <supermap ref="supermap" style="width: 100%;height: 100vh;" :mapDiv="'disasterMap'"
  161. :mapSite="{doubleClickZoom:false}" :codes="['9fa5']" :isSideBySide="false"></supermap>
  162. <!-- 右侧 -->
  163. <div class="rightbar" :class="indentright" ref="right">
  164. <div class="forthis">
  165. <div class="this-title">
  166. <span>列表</span>
  167. </div>
  168. <div class="i-list-con h-19">
  169. <div class="d-l-con" v-for="(item,index) in fireList">
  170. <div class="d-l-l-text" @click="choseFireList(item.id)">
  171. <i class="i-small"></i>
  172. <h4>{{pickYear.getYear()+1900}}年第{{index+1}}场火灾</h4>
  173. </div>
  174. </div>
  175. </div>
  176. </div>
  177. <div class="forthis">
  178. <div class="i-list-con h-51">
  179. <div class="forthis">
  180. <div class="d-l-con flex-c">
  181. <div class="d-l-l-text">
  182. <h2>火灾损失价值</h2>
  183. </div>
  184. <div class="d-l-l-text ">
  185. <h3>合计:{{fireLossTotal}}万元</h3>
  186. </div>
  187. <el-table :data="forestResources">
  188. <el-table-column label="林木资源">
  189. <el-table-column label="成林" width="50%">
  190. <el-table-column label="蓄积">
  191. <el-table-column prop="forestArea" label="米">
  192. </el-table-column>
  193. </el-table-column>
  194. <el-table-column prop="worth" label="价值" width="50%">
  195. <el-table-column prop="forestPrice" label="万元">
  196. </el-table-column>
  197. </el-table-column>
  198. </el-table-column>
  199. <el-table-column label="幼树">
  200. <el-table-column label="株数">
  201. <el-table-column prop="treesNumber" label="万株">
  202. </el-table-column>
  203. </el-table-column>
  204. <el-table-column prop="worth" label="价值">
  205. <el-table-column prop="treesPrice" label="万元">
  206. </el-table-column>
  207. </el-table-column>
  208. </el-table-column>
  209. </el-table-column>
  210. </el-table>
  211. <el-table style="margin-top: 1rem;" :data="casualties">
  212. <el-table-column label="人员伤亡">
  213. <el-table-column label="轻伤" width="50%">
  214. <el-table-column label="人数">
  215. <el-table-column prop="minorInjuriesNumber" label="人">
  216. </el-table-column>
  217. </el-table-column>
  218. <el-table-column label="费用" width="50%">
  219. <el-table-column prop="minorInjuriesPrice" label="万元">
  220. </el-table-column>
  221. </el-table-column>
  222. </el-table-column>
  223. <el-table-column label="重伤">
  224. <el-table-column label="人数">
  225. <el-table-column prop="seriouslyInjuredNumber" label="人">
  226. </el-table-column>
  227. </el-table-column>
  228. <el-table-column label="费用">
  229. <el-table-column prop="seriouslyInjuredPrice" label="万元">
  230. </el-table-column>
  231. </el-table-column>
  232. </el-table-column>
  233. <el-table-column label="死亡">
  234. <el-table-column label="人数">
  235. <el-table-column prop="deathNumber" label="人">
  236. </el-table-column>
  237. </el-table-column>
  238. <el-table-column label="费用">
  239. <el-table-column prop="deathPrice" label="万元">
  240. </el-table-column>
  241. </el-table-column>
  242. </el-table-column>
  243. </el-table-column>
  244. </el-table>
  245. <el-table style="margin-top: 1rem;" :data="elseFireLossPrice">
  246. <el-table-column label="其他火灾损失">
  247. <el-table-column prop="elseFireLossPrice" label="万元">
  248. </el-table-column>
  249. </el-table-column>
  250. </el-table>
  251. </div>
  252. <div class="d-l-con flex-c">
  253. <div class="d-l-l-text">
  254. <h2>扑火费用支出</h2>
  255. </div>
  256. <div class="d-l-l-text ">
  257. <h3>合计:{{blazesPriceTotal}}万元</h3>
  258. </div>
  259. <el-table style="margin-top: 1rem;" :data="fireFightingCasualties">
  260. <el-table-column label="人员伤亡">
  261. <el-table-column prop="artificial" label="人工费" width="50%">
  262. <el-table-column label="人工">
  263. <el-table-column prop="artificialDays" label="工日">
  264. </el-table-column>
  265. </el-table-column>
  266. <el-table-column label="费用" width="50%">
  267. <el-table-column prop="artificialPrice" label="万元">
  268. </el-table-column>
  269. </el-table-column>
  270. </el-table-column>
  271. <el-table-column label="车辆费">
  272. <el-table-column label="合计">
  273. <el-table-column prop="vehicleNumber" label="台">
  274. </el-table-column>
  275. </el-table-column>
  276. <el-table-column label="汽车">
  277. <el-table-column prop="carNumber" label="台">
  278. </el-table-column>
  279. </el-table-column>
  280. <el-table-column label="费用">
  281. <el-table-column prop="vehiclePrice" label="万元">
  282. </el-table-column>
  283. </el-table-column>
  284. </el-table-column>
  285. <el-table-column prop="flightFee" label="飞行费">
  286. <el-table-column label="飞机">
  287. <el-table-column prop="planeNumber" label="架次">
  288. </el-table-column>
  289. </el-table-column>
  290. <el-table-column label="费用">
  291. <el-table-column prop="planePrice" label="万元">
  292. </el-table-column>
  293. </el-table-column>
  294. </el-table-column>
  295. </el-table-column>
  296. </el-table>
  297. <el-table style="margin-top: 1rem;" :data="otherFireCosts">
  298. <el-table-column label="其他火灾费用">
  299. <el-table-column prop="elseBlazesPrice" label="万元">
  300. </el-table-column>
  301. </el-table-column>
  302. </el-table>
  303. </div>
  304. </div>
  305. </div>
  306. </div>
  307. </div>
  308. <vBottomMenu ref="bottomMenu"></vBottomMenu>
  309. <el-tooltip :content="indentText" placement="top" :disabled="indentdisabled">
  310. <div class="mascot" ref="mascot" :class="indentStyle" @click="indent"><img
  311. src="@/assets/images/mascot.png"/></div>
  312. </el-tooltip>
  313. </div>
  314. <eventLocation ref="eventLocation"></eventLocation>
  315. </div>
  316. </template>
  317. <script>
  318. import {
  319. getInit, selectFireLoseByid
  320. } from '@/api/disaster'
  321. import supermap from '@/components/supermap' //超图
  322. import vheader from '@/components/v-header.vue' //一体化共用头部
  323. import vBottomMenu from '@/components/vBottomMenu.vue' //一体化公共底部菜单
  324. import eventLocation from '@/components/eventLocation.vue' //事件定位弹窗
  325. // import echarts from 'echarts'
  326. let echarts = require('echarts')
  327. export default {
  328. dicts: ['event_source'],
  329. components: {
  330. supermap,
  331. vheader,
  332. vBottomMenu,
  333. eventLocation
  334. },
  335. created() {
  336. /** ----------------------------------底部按钮公用组件开始------------------------------------- */
  337. window.showDialog=this.showDialog
  338. window.choseLayerSwitching=this.choseLayerSwitching
  339. /** ----------------------------------底部按钮公用组件结束------------------------------------- */
  340. },
  341. mounted() {
  342. this.getInit()
  343. },
  344. data() {
  345. return {
  346. numberFiresYear: 0,
  347. forestFireLossTotal: 0,
  348. fireLossTotalYear: 0,
  349. forestResourcesYear: [
  350. {
  351. forestArea: '0',
  352. forestPrice: '0',
  353. treesNumber: '0',
  354. treesPrice: '0'
  355. }
  356. ],
  357. casualtiesYear: [
  358. {
  359. minorInjuriesNumber: '0',
  360. minorInjuriesPrice: '0',
  361. seriouslyInjuredNumber: '0',
  362. seriouslyInjuredPrice: '0',
  363. deathNumber: '0',
  364. deathPrice: '0'
  365. }
  366. ],
  367. elseFireLossPriceYear: [
  368. {
  369. elseFireLossPrice: '0'
  370. }
  371. ],
  372. blazesPriceTotalYear: 0,
  373. fireFightingCasualtiesYear: [
  374. {
  375. artificialDays: '0',
  376. artificialPrice: '0',
  377. vehicleNumber: '0',
  378. carNumber: '0',
  379. vehiclePrice: '0',
  380. planeNumber: '0',
  381. planePrice: '0'
  382. }
  383. ],
  384. otherFireCostsYear: [
  385. {
  386. elseBlazesPrice: '0'
  387. }
  388. ],
  389. fireLossTotal: 0,
  390. forestResources: [
  391. {
  392. forestArea: '0',
  393. forestPrice: '0',
  394. treesNumber: '0',
  395. treesPrice: '0'
  396. }
  397. ],
  398. casualties: [
  399. {
  400. minorInjuriesNumber: '0',
  401. minorInjuriesPrice: '0',
  402. seriouslyInjuredNumber: '0',
  403. seriouslyInjuredPrice: '0',
  404. deathNumber: '0',
  405. deathPrice: '0'
  406. }
  407. ],
  408. elseFireLossPrice: [
  409. {
  410. elseFireLossPrice: '0'
  411. }
  412. ],
  413. blazesPriceTotal: 0,
  414. fireFightingCasualties: [
  415. {
  416. artificialDays: '0',
  417. artificialPrice: '0',
  418. vehicleNumber: '0',
  419. carNumber: '0',
  420. vehiclePrice: '0',
  421. planeNumber: '0',
  422. planePrice: '0'
  423. }
  424. ],
  425. otherFireCosts: [
  426. {
  427. elseBlazesPrice: '0'
  428. }
  429. ],
  430. pickYear: new Date(), //选择年份
  431. graphicsList: [],//地图区域
  432. fireList: [], //右侧活在列表
  433. eventChartData: [], //左侧eachar图表数据
  434. //左右缩进
  435. indentStyle: '',
  436. indentleft: '',
  437. indentright: '',
  438. indentText: '收起左右栏',
  439. indentdisabled: false
  440. }
  441. },
  442. methods: {
  443. /** ----------------------------------底部按钮公用组件开始------------------------------------- */
  444. showDialog(click) {
  445. if (click == "eventLocation") {
  446. this.$refs.eventLocation.showEventLocation()
  447. } else if (click == "editableLayers") {
  448. if (!this.$refs.supermap.isEditableLayers) {
  449. this.$refs.supermap.isEditableLayers = true
  450. } else {
  451. this.$refs.supermap.isEditableLayers = false
  452. }
  453. } else if (click == "layerSwitching") {
  454. if (!this.$refs.bottomMenu.showChild) {
  455. this.$refs.bottomMenu.showChild = true
  456. } else {
  457. this.$refs.bottomMenu.showChild = false
  458. }
  459. }
  460. },
  461. //选择图层
  462. choseLayerSwitching(url) {
  463. this.$refs.supermap.layerSwitching(url, true);
  464. },
  465. /** ----------------------------------底部按钮公用组件结束------------------------------------- */
  466. choseFireList(id) {
  467. let that = this
  468. selectFireLoseByid(id).then(res => {
  469. //地图标记
  470. if (res.data.regionalFlagBOList != null && res.data.regionalFlagBOList.length > 0) {
  471. for (let i = 0; i < res.data.regionalFlagBOList.length; i++) {
  472. let latlng = {
  473. lat: res.data.regionalFlagBOList[i].latitude,
  474. lng: res.data.regionalFlagBOList[i].longitude
  475. }
  476. this.graphicsList.push(latlng)
  477. }
  478. setTimeout(() => {
  479. that.$refs.supermap.clearG()
  480. that.$refs.supermap.setGraphicsList(this.graphicsList, 'red')
  481. }, 1000)
  482. }else{
  483. that.$refs.supermap.clearG()
  484. }
  485. //右侧
  486. this.fireLossTotal = res.data.visuForestFireLossBO.fireLossTotal != null ? res.data.visuForestFireLossBO.fireLossTotal : 0
  487. this.forestResources[0].forestArea = res.data.visuForestFireLossBO.forestArea != null ? res.data.visuForestFireLossBO.forestArea : 0
  488. this.forestResources[0].forestPrice = res.data.visuForestFireLossBO.forestPrice != null ? res.data.visuForestFireLossBO.forestPrice : 0
  489. this.forestResources[0].treesNumber = res.data.visuForestFireLossBO.treesNumber != null ? res.data.visuForestFireLossBO.treesNumber : 0
  490. this.forestResources[0].treesPrice = res.data.visuForestFireLossBO.treesPrice != null ? res.data.visuForestFireLossBO.treesPrice : 0
  491. this.casualties[0].minorInjuriesNumber = res.data.visuForestFireLossBO.minorInjuriesNumber != null ? res.data.visuForestFireLossBO.minorInjuriesNumber : 0
  492. this.casualties[0].minorInjuriesPrice = res.data.visuForestFireLossBO.minorInjuriesPrice != null ? res.data.visuForestFireLossBO.minorInjuriesPrice : 0
  493. this.casualties[0].seriouslyInjuredNumber = res.data.visuForestFireLossBO.seriouslyInjuredNumber != null ? res.data.visuForestFireLossBO.seriouslyInjuredNumber : 0
  494. this.casualties[0].seriouslyInjuredPrice = res.data.visuForestFireLossBO.seriouslyInjuredPrice != null ? res.data.visuForestFireLossBO.seriouslyInjuredPrice : 0
  495. this.casualties[0].deathNumber = res.data.visuForestFireLossBO.deathNumber != null ? res.data.visuForestFireLossBO.deathNumber : 0
  496. this.casualties[0].deathPrice = res.data.visuForestFireLossBO.deathPrice != null ? res.data.visuForestFireLossBO.deathPrice : 0
  497. this.elseFireLossPrice[0].elseFireLossPrice = res.data.visuForestFireLossBO.elseFireLossPrice != null ? res.data.visuForestFireLossBO.elseFireLossPrice : 0
  498. this.blazesPriceTotal = res.data.visuForestFireLossBO.blazesPriceTotal != null ? res.data.visuForestFireLossBO.blazesPriceTotal : 0
  499. this.fireFightingCasualties[0].artificialDays = res.data.visuForestFireLossBO.artificialDays != null ? res.data.visuForestFireLossBO.artificialDays : 0
  500. this.fireFightingCasualties[0].artificialPrice = res.data.visuForestFireLossBO.artificialPrice != null ? res.data.visuForestFireLossBO.artificialPrice : 0
  501. this.fireFightingCasualties[0].vehicleNumber = res.data.visuForestFireLossBO.vehicleNumber != null ? res.data.visuForestFireLossBO.vehicleNumber : 0
  502. this.fireFightingCasualties[0].carNumber = res.data.visuForestFireLossBO.carNumber != null ? res.data.visuForestFireLossBO.carNumber : 0
  503. this.fireFightingCasualties[0].vehiclePrice = res.data.visuForestFireLossBO.vehiclePrice != null ? res.data.visuForestFireLossBO.vehiclePrice : 0
  504. this.fireFightingCasualties[0].planeNumber = res.data.visuForestFireLossBO.planeNumber != null ? res.data.visuForestFireLossBO.planeNumber : 0
  505. this.fireFightingCasualties[0].planePrice = res.data.visuForestFireLossBO.planePrice != null ? res.data.visuForestFireLossBO.planePrice : 0
  506. this.otherFireCosts[0].elseBlazesPrice = res.data.visuForestFireLossBO.elseBlazesPrice != null ? res.data.visuForestFireLossBO.elseBlazesPrice : 0
  507. })
  508. },
  509. getInit() {
  510. let that = this
  511. //获取左侧菜单列表
  512. getInit(this.pickYear.getYear() + 1900).then(res => {
  513. this.fireList = []
  514. //地图标记
  515. if (res.data.regionalFlagBOList != null && res.data.regionalFlagBOList.length > 0) {
  516. for (let i = 0; i < res.data.regionalFlagBOList.length; i++) {
  517. let latlng = {
  518. lat: res.data.regionalFlagBOList[i].latitude,
  519. lng: res.data.regionalFlagBOList[i].longitude
  520. }
  521. this.graphicsList.push(latlng)
  522. }
  523. setTimeout(() => {
  524. that.$refs.supermap.clearG()
  525. that.$refs.supermap.setGraphicsList(this.graphicsList, 'red')
  526. }, 1000)
  527. }else {
  528. that.$refs.supermap.clearG()
  529. }
  530. //右侧列表
  531. if (res.data.visuForestFireLossTimeBOList != null && res.data.visuForestFireLossTimeBOList.length > 0) {
  532. this.numberFiresYear = res.data.visuForestFireLossTimeBOList.length
  533. this.fireList = res.data.visuForestFireLossTimeBOList
  534. }
  535. //左侧
  536. if (res.data.visuForestFireLossBO != null) {
  537. this.forestFireLossTotal = res.data.visuForestFireLossBO.forestFireLossTotal != null ? res.data.visuForestFireLossBO.forestFireLossTotal : 0
  538. this.fireLossTotalYear = res.data.visuForestFireLossBO.fireLossTotal != null ? res.data.visuForestFireLossBO.fireLossTotal : 0
  539. this.forestResourcesYear[0].forestArea = res.data.visuForestFireLossBO.forestArea != null ? res.data.visuForestFireLossBO.forestArea : 0
  540. this.forestResourcesYear[0].forestPrice = res.data.visuForestFireLossBO.forestPrice != null ? res.data.visuForestFireLossBO.forestPrice : 0
  541. this.forestResourcesYear[0].treesNumber = res.data.visuForestFireLossBO.treesNumber != null ? res.data.visuForestFireLossBO.treesNumber : 0
  542. this.forestResourcesYear[0].treesPrice = res.data.visuForestFireLossBO.treesPrice != null ? res.data.visuForestFireLossBO.treesPrice : 0
  543. this.casualtiesYear[0].minorInjuriesNumber = res.data.visuForestFireLossBO.minorInjuriesNumber != null ? res.data.visuForestFireLossBO.minorInjuriesNumber : 0
  544. this.casualtiesYear[0].minorInjuriesPrice = res.data.visuForestFireLossBO.minorInjuriesPrice != null ? res.data.visuForestFireLossBO.minorInjuriesPrice : 0
  545. this.casualtiesYear[0].seriouslyInjuredNumber = res.data.visuForestFireLossBO.seriouslyInjuredNumber != null ? res.data.visuForestFireLossBO.seriouslyInjuredNumber : 0
  546. this.casualtiesYear[0].seriouslyInjuredPrice = res.data.visuForestFireLossBO.seriouslyInjuredPrice != null ? res.data.visuForestFireLossBO.seriouslyInjuredPrice : 0
  547. this.casualtiesYear[0].deathNumber = res.data.visuForestFireLossBO.deathNumber != null ? res.data.visuForestFireLossBO.deathNumber : 0
  548. this.casualtiesYear[0].deathPrice = res.data.visuForestFireLossBO.deathPrice != null ? res.data.visuForestFireLossBO.deathPrice : 0
  549. this.elseFireLossPriceYear[0].elseFireLossPrice = res.data.visuForestFireLossBO.elseFireLossPrice != null ? res.data.visuForestFireLossBO.elseFireLossPrice : 0
  550. this.blazesPriceTotalYear = res.data.visuForestFireLossBO.blazesPriceTotal != null ? res.data.visuForestFireLossBO.blazesPriceTotal : 0
  551. this.fireFightingCasualtiesYear[0].artificialDays = res.data.visuForestFireLossBO.artificialDays != null ? res.data.visuForestFireLossBO.artificialDays : 0
  552. this.fireFightingCasualtiesYear[0].artificialPrice = res.data.visuForestFireLossBO.artificialPrice != null ? res.data.visuForestFireLossBO.artificialPrice : 0
  553. this.fireFightingCasualtiesYear[0].vehicleNumber = res.data.visuForestFireLossBO.vehicleNumber != null ? res.data.visuForestFireLossBO.vehicleNumber : 0
  554. this.fireFightingCasualtiesYear[0].carNumber = res.data.visuForestFireLossBO.carNumber != null ? res.data.visuForestFireLossBO.carNumber : 0
  555. this.fireFightingCasualtiesYear[0].vehiclePrice = res.data.visuForestFireLossBO.vehiclePrice != null ? res.data.visuForestFireLossBO.vehiclePrice : 0
  556. this.fireFightingCasualtiesYear[0].planeNumber = res.data.visuForestFireLossBO.planeNumber != null ? res.data.visuForestFireLossBO.planeNumber : 0
  557. this.fireFightingCasualtiesYear[0].planePrice = res.data.visuForestFireLossBO.planePrice != null ? res.data.visuForestFireLossBO.planePrice : 0
  558. this.otherFireCostsYear[0].elseBlazesPrice = res.data.visuForestFireLossBO.elseBlazesPrice != null ? res.data.visuForestFireLossBO.elseBlazesPrice : 0
  559. } else {
  560. this.forestFireLossTotal = 0
  561. this.fireLossTotalYear = 0
  562. this.forestResourcesYear[0].forestArea = 0
  563. this.forestResourcesYear[0].forestPrice = 0
  564. this.forestResourcesYear[0].treesNumber = 0
  565. this.forestResourcesYear[0].treesPrice = 0
  566. this.casualtiesYear[0].minorInjuriesNumber = 0
  567. this.casualtiesYear[0].minorInjuriesPrice = 0
  568. this.casualtiesYear[0].seriouslyInjuredNumber = 0
  569. this.casualtiesYear[0].seriouslyInjuredPrice = 0
  570. this.casualtiesYear[0].deathNumber = 0
  571. this.casualtiesYear[0].deathPrice = 0
  572. this.elseFireLossPriceYear[0].elseFireLossPrice = 0
  573. this.blazesPriceTotalYear = 0
  574. this.fireFightingCasualtiesYear[0].artificialDays = 0
  575. this.fireFightingCasualtiesYear[0].artificialPrice = 0
  576. this.fireFightingCasualtiesYear[0].vehicleNumber = 0
  577. this.fireFightingCasualtiesYear[0].carNumber = 0
  578. this.fireFightingCasualtiesYear[0].vehiclePrice = 0
  579. this.fireFightingCasualtiesYear[0].planeNumber = 0
  580. this.fireFightingCasualtiesYear[0].planePrice = 0
  581. this.otherFireCostsYear[0].elseBlazesPrice = 0
  582. }
  583. //右侧
  584. this.fireLossTotal = res.data.visuForestFireLossBOFirst.fireLossTotal != null ? res.data.visuForestFireLossBOFirst.fireLossTotal : 0
  585. this.forestResources[0].forestArea = res.data.visuForestFireLossBOFirst.forestArea != null ? res.data.visuForestFireLossBOFirst.forestArea : 0
  586. this.forestResources[0].forestPrice = res.data.visuForestFireLossBOFirst.forestPrice != null ? res.data.visuForestFireLossBOFirst.forestPrice : 0
  587. this.forestResources[0].treesNumber = res.data.visuForestFireLossBOFirst.treesNumber != null ? res.data.visuForestFireLossBOFirst.treesNumber : 0
  588. this.forestResources[0].treesPrice = res.data.visuForestFireLossBOFirst.treesPrice != null ? res.data.visuForestFireLossBOFirst.treesPrice : 0
  589. this.casualties[0].minorInjuriesNumber = res.data.visuForestFireLossBOFirst.minorInjuriesNumber != null ? res.data.visuForestFireLossBOFirst.minorInjuriesNumber : 0
  590. this.casualties[0].minorInjuriesPrice = res.data.visuForestFireLossBOFirst.minorInjuriesPrice != null ? res.data.visuForestFireLossBOFirst.minorInjuriesPrice : 0
  591. this.casualties[0].seriouslyInjuredNumber = res.data.visuForestFireLossBOFirst.seriouslyInjuredNumber != null ? res.data.visuForestFireLossBOFirst.seriouslyInjuredNumber : 0
  592. this.casualties[0].seriouslyInjuredPrice = res.data.visuForestFireLossBOFirst.seriouslyInjuredPrice != null ? res.data.visuForestFireLossBOFirst.seriouslyInjuredPrice : 0
  593. this.casualties[0].deathNumber = res.data.visuForestFireLossBOFirst.deathNumber != null ? res.data.visuForestFireLossBOFirst.deathNumber : 0
  594. this.casualties[0].deathPrice = res.data.visuForestFireLossBOFirst.deathPrice != null ? res.data.visuForestFireLossBOFirst.deathPrice : 0
  595. this.elseFireLossPrice[0].elseFireLossPrice = res.data.visuForestFireLossBOFirst.elseFireLossPrice != null ? res.data.visuForestFireLossBOFirst.elseFireLossPrice : 0
  596. this.blazesPriceTotal = res.data.visuForestFireLossBOFirst.blazesPriceTotal != null ? res.data.visuForestFireLossBOFirst.blazesPriceTotal : 0
  597. this.fireFightingCasualties[0].artificialDays = res.data.visuForestFireLossBOFirst.artificialDays != null ? res.data.visuForestFireLossBOFirst.artificialDays : 0
  598. this.fireFightingCasualties[0].artificialPrice = res.data.visuForestFireLossBOFirst.artificialPrice != null ? res.data.visuForestFireLossBOFirst.artificialPrice : 0
  599. this.fireFightingCasualties[0].vehicleNumber = res.data.visuForestFireLossBOFirst.vehicleNumber != null ? res.data.visuForestFireLossBOFirst.vehicleNumber : 0
  600. this.fireFightingCasualties[0].carNumber = res.data.visuForestFireLossBOFirst.carNumber != null ? res.data.visuForestFireLossBOFirst.carNumber : 0
  601. this.fireFightingCasualties[0].vehiclePrice = res.data.visuForestFireLossBOFirst.vehiclePrice != null ? res.data.visuForestFireLossBOFirst.vehiclePrice : 0
  602. this.fireFightingCasualties[0].planeNumber = res.data.visuForestFireLossBOFirst.planeNumber != null ? res.data.visuForestFireLossBOFirst.planeNumber : 0
  603. this.fireFightingCasualties[0].planePrice = res.data.visuForestFireLossBOFirst.planePrice != null ? res.data.visuForestFireLossBOFirst.planePrice : 0
  604. this.otherFireCosts[0].elseBlazesPrice = res.data.visuForestFireLossBOFirst.elseBlazesPrice != null ? res.data.visuForestFireLossBOFirst.elseBlazesPrice : 0
  605. })
  606. },
  607. //事件chart
  608. eventChart() {
  609. // 基于准备好的dom,初始化echarts实例
  610. let myChart = echarts.init(document.getElementById('event-chart'))
  611. myChart.setOption({
  612. color: ['#2EACFF', '#FFA61C', '#2EC054', '#8C64D7'],
  613. tooltip: {
  614. trigger: 'item',
  615. formatter: '{a} <br/>{b} : {c} ({d}%)'
  616. },
  617. toolbox: {
  618. show: true
  619. },
  620. series: [{
  621. name: '事件分类',
  622. type: 'pie',
  623. roseType: true,
  624. radius: [30, 70],
  625. label: {
  626. show: true,
  627. formatter: '{b}\n{c} '
  628. },
  629. data: this.eventChartData
  630. }]
  631. })
  632. },
  633. //吉祥物收起左右框
  634. indent() {
  635. let list = document.getElementsByClassName('el-tooltip__popper')
  636. list[list.length - 1].style.display = 'none'
  637. if (this.indentStyle == '') {
  638. this.indentStyle = 'indent-style'
  639. this.indentleft = 'indent-left'
  640. this.indentright = 'indent-right'
  641. this.indentText = '展开左右栏'
  642. } else if (this.indentText == '展开左右栏') {
  643. this.indentStyle = ''
  644. this.indentleft = ''
  645. this.indentright = ''
  646. this.indentText = '收起左右栏'
  647. }
  648. },
  649. dropLocation(lat, lng) {
  650. this.$refs.supermap.dropLocation(lat, lng)
  651. }
  652. }
  653. }
  654. </script>
  655. <style lang="scss" scoped>
  656. @import '@/assets/styles/base.scss';
  657. .el-table__header {
  658. width: auto !important;
  659. }
  660. .d-dialog-con {
  661. position: absolute;
  662. left: -19rem;
  663. top: 0;
  664. }
  665. </style>