rescue-station.vue 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691
  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="leftTop">
  6. <h4>支队值班情况</h4>
  7. <div class="leftTopSearch">
  8. <el-button size="mini" @click="searchTime('day')" :class="{ btnClick: timeArea === 'day' }">日</el-button>
  9. <el-button size="mini" @click="searchTime('month')" :class="{ btnClick: timeArea === 'month' }">月</el-button>
  10. </div>
  11. <el-row class="propSituation">
  12. <template v-if="timeArea === 'day'">
  13. <el-col v-for="item in unitBeOnDutyList" :key="item.name">
  14. <el-col class="rank">{{item.postName}}</el-col>
  15. <el-col><img src="~@a/img/test/bg2.png" alt="" /></el-col>
  16. <el-col class="propName">{{item.name}}</el-col>
  17. </el-col>
  18. </template>
  19. <se-table
  20. v-else
  21. ref="seTable"
  22. :dataMap="unitBeOnDutyListData"
  23. :headerData="unitBeOnDutyHeaderList"
  24. :key="windowWidth"
  25. ></se-table>
  26. </el-row>
  27. </el-col>
  28. <el-col class="leftBot">
  29. <h4>历史警情</h4>
  30. <el-table
  31. :data="tableData"
  32. class="transparentTableRow"
  33. height="100%"
  34. row-style="height:.425rem;"
  35. cell-style="height:.425rem;box-sizing: border-box;"
  36. style="width: 100%; margin: 0 auto;"
  37. >
  38. <el-table-column
  39. show-overflow-tooltip
  40. v-for="item in headerData2"
  41. :key="item.prop"
  42. :prop="item.prop"
  43. align="center"
  44. min-width="20"
  45. :label="item.name"
  46. >
  47. <template v-if="item.prop === 'type'" #default="scope">
  48. <el-tooltip placement="right">
  49. <template #content>
  50. <div class="tableTooltip">
  51. <div class="tableTitle">
  52. <div>执勤力量</div>
  53. </div>
  54. <el-row class="tableContent">
  55. <el-col :span="12">电车呼台:{{scope.row.callingUp}}</el-col>
  56. <el-col :span="12">装备名称:{{scope.row.equipName}}</el-col>
  57. <el-col :span="12">车牌号:{{scope.row.carNumber}}</el-col>
  58. <el-col :span="12">车辆状态:{{scope.row.carStatus}}</el-col>
  59. <el-col :span="24">警情处置时长:{{scope.row.disposeTime}}</el-col>
  60. </el-row>
  61. <el-row class="tablePersonnel">
  62. <el-col :span="7">
  63. <img src="~@a/img/test/bg1.png" alt="" />
  64. <div>{{scope.row.commander}}</div>
  65. <div>指挥员</div>
  66. </el-col>
  67. <el-col :span="7">
  68. <img src="~@a/img/test/bg1.png" alt="" />
  69. <div>{{scope.row.correspondent}}</div>
  70. <div>通讯员</div>
  71. </el-col>
  72. <el-col :span="7">
  73. <img src="~@a/img/test/bg1.png" alt="" />
  74. <div>{{scope.row.firemen}}</div>
  75. <div>消防员</div>
  76. </el-col>
  77. <el-col :span="7">
  78. <img src="~@a/img/test/bg1.png" alt="" />
  79. <div>{{scope.row.driver}}</div>
  80. <div>驾驶员</div>
  81. </el-col>
  82. </el-row>
  83. </div>
  84. </template>
  85. <template>
  86. <i class="iconfont icon-icon-test" v-if="item.prop === 'type'"></i>
  87. <div class="name-wrapper" v-else>{{ scope.row[item.prop] }}</div>
  88. </template>
  89. </el-tooltip>
  90. </template>
  91. <template v-else #default="scope">
  92. {{ item.prop === 'type' ? '' : (item.prop === 'status' ? (scope.row[item.prop] == 1 ? '可用' : '不可用') : scope.row[item.prop])}}
  93. </template>
  94. </el-table-column>
  95. </el-table>
  96. </el-col>
  97. </el-col>
  98. </transition>
  99. <transition name="el-fade-in-linear">
  100. <el-col class="centerBox" :style="{'max-width':leftBtn && rightBtn ? '8rem' :!leftBtn && !rightBtn ? '100%' : leftBtn || rightBtn ? '16rem' : '8rem'}">
  101. <el-row class="leftBtn btnW" @click="leftBtnClick()">
  102. <i :class="leftBtn ? 'el-icon-arrow-left' : 'el-icon-arrow-right'"></i>
  103. </el-row>
  104. <el-row class="centerContent" id="mapF"></el-row>
  105. <el-row class="rightBtn btnW" @click="rightBtnClick()">
  106. <i :class="rightBtn ? 'el-icon-arrow-right' : 'el-icon-arrow-left'"></i>
  107. </el-row>
  108. <el-row class="mapTips">
  109. <el-col class="blueImageTip">消防站</el-col>
  110. <el-col class="yellowImageTip">单位微型消防站</el-col>
  111. <el-col class="redImageTip">居村微型消防站</el-col>
  112. </el-row>
  113. </el-col>
  114. </transition>
  115. <transition name="el-fade-in-linear">
  116. <el-col class="rightBox" v-show="rightBtn">
  117. <div class="rightContent">
  118. <el-col class="rightTop">
  119. <h4>各站点执勤实力</h4>
  120. <el-table
  121. :data="tableData2"
  122. class="transparentTableRow"
  123. height="100%"
  124. row-style="height:.425rem;"
  125. cell-style="height:.425rem;box-sizing: border-box;"
  126. style="width: 100%; margin: 0 auto;"
  127. @expand-change="getFireSiteDuty"
  128. >
  129. <el-table-column type="expand">
  130. <template #default="props">
  131. <template v-if="props.row.children">
  132. <template v-for="(item,ind) in props.row.children" :key="ind">
  133. <el-row class="tableExpendTitle"> {{item.type}}(1辆车,{{item.personNumber}}人) </el-row>
  134. <el-row class="tableExpendcontent">
  135. <el-col>
  136. <img src="~@a/img/test/bg3.png" alt="" />
  137. <div>{{ item.carNumber }}</div>
  138. <div>车牌号</div>
  139. </el-col>
  140. <el-col>
  141. <img src="~@a/img/test/bg7.png" alt="" />
  142. <div>{{ item.correspondent }}</div>
  143. <div>指挥员</div>
  144. </el-col>
  145. <el-col>
  146. <img src="~@a/img/test/bg7.png" alt="" />
  147. <div>{{ item.commander }}</div>
  148. <div>通讯员</div>
  149. </el-col>
  150. <el-col>
  151. <img src="~@a/img/test/bg7.png" alt="" />
  152. <div>{{ item.firemen }}</div>
  153. <div>消防员</div>
  154. </el-col>
  155. <el-col>
  156. <img src="~@a/img/test/bg7.png" alt="" />
  157. <div>{{ item.driver }}</div>
  158. <div>驾驶员</div>
  159. </el-col>
  160. </el-row>
  161. </template>
  162. </template>
  163. </template>
  164. </el-table-column>
  165. <el-table-column
  166. show-overflow-tooltip
  167. v-for="item in headerData"
  168. :key="item.prop"
  169. :prop="item.prop"
  170. align="center"
  171. min-width="20"
  172. :label="item.name"
  173. >
  174. </el-table-column>
  175. </el-table>
  176. </el-col>
  177. <el-col class="rightBot">
  178. <h4>消防科普教育基地</h4>
  179. <el-table
  180. :data="$store.state.educationList"
  181. class="transparentTableRow"
  182. height="100%"
  183. row-style="height:.425rem;"
  184. cell-style="height:.425rem;box-sizing: border-box;"
  185. style="width: 100%; margin: 0 auto"
  186. >
  187. <el-table-column
  188. v-for="item in $store.state.educationHeader"
  189. show-overflow-tooltip
  190. :key="item.prop"
  191. :prop="item.prop"
  192. align="center"
  193. min-width="20"
  194. :label="item.name"
  195. >
  196. </el-table-column>
  197. </el-table>
  198. </el-col>
  199. </div>
  200. </el-col>
  201. </transition>
  202. </el-row>
  203. </template>
  204. <script>
  205. import linstener from "@c/mixins/linstener";
  206. // import map from "@c/mixins/map-data";
  207. import map from "@c/mixins/map-gaode";
  208. import seTable from "@c/se-table";
  209. export default {
  210. data() {
  211. return {
  212. timeArea: "day",
  213. tableData: [
  214. {
  215. type: "火灾",
  216. policeTime: "23:00:00",
  217. alertLevel: "二级",
  218. address: "闵行区",
  219. car: "2辆",
  220. policeCause: "电器火灾",
  221. department: "吴泾支队",
  222. status: "1",
  223. callingUp: "1号",
  224. equipName: "一七",
  225. carNumber: "沪X5477应急",
  226. carStatus: "出动",
  227. disposeTime: "1:00:00",
  228. correspondent: "张三",
  229. commander: "李四",
  230. firemen: "王五",
  231. driver: "赵六",
  232. },
  233. {
  234. type: "火灾",
  235. policeTime: "23:00:00",
  236. alertLevel: "二级",
  237. address: "闵行区",
  238. car: "2辆",
  239. policeCause: "电器火灾",
  240. department: "吴泾支队",
  241. status: "1",
  242. callingUp: "1号",
  243. equipName: "一七",
  244. carNumber: "沪X5477应急",
  245. carStatus: "出动",
  246. disposeTime: "1:00:00",
  247. correspondent: "张三",
  248. commander: "李四",
  249. firemen: "王五",
  250. driver: "赵六",
  251. },
  252. {
  253. type: "火灾",
  254. policeTime: "23:00:00",
  255. alertLevel: "二级",
  256. address: "闵行区",
  257. car: "2辆",
  258. policeCause: "电器火灾",
  259. department: "吴泾支队",
  260. status: "1",
  261. callingUp: "1号",
  262. equipName: "一七",
  263. carNumber: "沪X5477应急",
  264. carStatus: "出动",
  265. disposeTime: "1:00:00",
  266. correspondent: "张三",
  267. commander: "李四",
  268. firemen: "王五",
  269. driver: "赵六",
  270. },
  271. {
  272. type: "火灾",
  273. policeTime: "23:00:00",
  274. alertLevel: "二级",
  275. address: "闵行区",
  276. car: "2辆",
  277. policeCause: "电器火灾",
  278. department: "吴泾支队",
  279. status: "1",
  280. callingUp: "1号",
  281. equipName: "一七",
  282. carNumber: "沪X5477应急",
  283. carStatus: "出动",
  284. disposeTime: "1:00:00",
  285. correspondent: "张三",
  286. commander: "李四",
  287. firemen: "王五",
  288. driver: "赵六",
  289. },
  290. {
  291. type: "火灾",
  292. policeTime: "23:00:00",
  293. alertLevel: "二级",
  294. address: "闵行区",
  295. car: "2辆",
  296. policeCause: "电器火灾",
  297. department: "吴泾支队",
  298. status: "1",
  299. callingUp: "1号",
  300. equipName: "一七",
  301. carNumber: "沪X5477应急",
  302. carStatus: "出动",
  303. disposeTime: "1:00:00",
  304. correspondent: "张三",
  305. commander: "李四",
  306. firemen: "王五",
  307. driver: "赵六",
  308. },
  309. ],
  310. tableData2: [
  311. {
  312. id:'222',
  313. address: "XX消防站",
  314. car: "3辆",
  315. lochus: "12人",
  316. children:[
  317. {type:'备训',carNumber:"沪X5477应急",personNumber:'4', correspondent: "张三", commander: "李四", firemen: "王五", driver: "赵六",},
  318. {type:'跨训',carNumber:"沪X5477应急",personNumber:'4', correspondent: "张三", commander: "李四", firemen: "王五", driver: "赵六",},
  319. {type:'救助',carNumber:"沪X5477应急",personNumber:'4', correspondent: "张三", commander: "李四", firemen: "王五", driver: "赵六",},
  320. ]
  321. },
  322. {
  323. id:'222',
  324. address: "XX消防站",
  325. car: "3辆",
  326. lochus: "12人",
  327. children:[
  328. {type:'备训',carNumber:"沪X5477应急",personNumber:'4', correspondent: "张三", commander: "李四", firemen: "王五", driver: "赵六",},
  329. {type:'跨训',carNumber:"沪X5477应急",personNumber:'4', correspondent: "张三", commander: "李四", firemen: "王五", driver: "赵六",},
  330. {type:'救助',carNumber:"沪X5477应急",personNumber:'4', correspondent: "张三", commander: "李四", firemen: "王五", driver: "赵六",},
  331. ]
  332. },
  333. {
  334. id:'222',
  335. address: "XX消防站",
  336. car: "3辆",
  337. lochus: "12人",
  338. children:[
  339. {type:'备训',carNumber:"沪X5477应急",personNumber:'4', correspondent: "张三", commander: "李四", firemen: "王五", driver: "赵六",},
  340. {type:'跨训',carNumber:"沪X5477应急",personNumber:'4', correspondent: "张三", commander: "李四", firemen: "王五", driver: "赵六",},
  341. {type:'救助',carNumber:"沪X5477应急",personNumber:'4', correspondent: "张三", commander: "李四", firemen: "王五", driver: "赵六",},
  342. ]
  343. },
  344. {
  345. id:'222',
  346. address: "XX消防站",
  347. car: "3辆",
  348. lochus: "12人",
  349. children:[
  350. {type:'备训',carNumber:"沪X5477应急",personNumber:'4', correspondent: "张三", commander: "李四", firemen: "王五", driver: "赵六",},
  351. {type:'跨训',carNumber:"沪X5477应急",personNumber:'4', correspondent: "张三", commander: "李四", firemen: "王五", driver: "赵六",},
  352. {type:'救助',carNumber:"沪X5477应急",personNumber:'4', correspondent: "张三", commander: "李四", firemen: "王五", driver: "赵六",},
  353. ]
  354. },
  355. {
  356. id:'222',
  357. address: "XX消防站",
  358. car: "3辆",
  359. lochus: "12人",
  360. children:[
  361. {type:'备训',carNumber:"沪X5477应急",personNumber:'4', correspondent: "张三", commander: "李四", firemen: "王五", driver: "赵六",},
  362. {type:'跨训',carNumber:"沪X5477应急",personNumber:'4', correspondent: "张三", commander: "李四", firemen: "王五", driver: "赵六",},
  363. {type:'救助',carNumber:"沪X5477应急",personNumber:'4', correspondent: "张三", commander: "李四", firemen: "王五", driver: "赵六",},
  364. ]
  365. },
  366. {
  367. id:'222',
  368. address: "XX消防站",
  369. car: "3辆",
  370. lochus: "12人",
  371. children:[
  372. {type:'备训',carNumber:"沪X5477应急",personNumber:'4', correspondent: "张三", commander: "李四", firemen: "王五", driver: "赵六",},
  373. {type:'跨训',carNumber:"沪X5477应急",personNumber:'4', correspondent: "张三", commander: "李四", firemen: "王五", driver: "赵六",},
  374. {type:'救助',carNumber:"沪X5477应急",personNumber:'4', correspondent: "张三", commander: "李四", firemen: "王五", driver: "赵六",},
  375. ]
  376. },
  377. ],
  378. headerData: [
  379. { prop: "address", name: "站点名称" },
  380. { prop: "car", name: "站点车辆" },
  381. { prop: "lochus", name: "人员" },
  382. ],
  383. headerData2: [
  384. { prop: "type", name: "类型" },
  385. { prop: "policeTime", name: "立案时间" },
  386. { prop: "alertLevel", name: "警情等级" },
  387. { prop: "address", name: "案发地址" },
  388. { prop: "car", name: "调动车辆" },
  389. { prop: "policeCause", name: "原因" },
  390. { prop: "department", name: "所属中队" },
  391. { prop: "status", name: "状况" },
  392. ],
  393. unitBeOnDutyList: [],
  394. unitBeOnDutyHeaderList: [],
  395. unitBeOnDutyListData: [],
  396. };
  397. },
  398. mixins: [linstener,map],
  399. components: {seTable},
  400. created() {
  401. this.getData();
  402. },
  403. mounted() {
  404. window.addEventListener(
  405. "resize",
  406. () =>
  407. this.resizeTimeActions([
  408. this.$refs.gauge1,
  409. this.$refs.gauge2,
  410. this.$refs.gauge3,
  411. this.$refs.lineSmooth,
  412. this.$refs.barChart,
  413. ]),
  414. true
  415. );
  416. this.initMap()
  417. },
  418. methods: {
  419. async getData() {
  420. this.getSiAeAllCollect();
  421. this.getPage();
  422. this.getFireSiteList();
  423. },
  424. // 支队值班情况
  425. async getSiAeAllCollect() {
  426. let res = await this.$axios.get(this.$api.water[this.timeArea === 'day' ? 'unitBeOnDuty' : 'unitBeOnDutyList'] +
  427. "?" +
  428. this.$qs.stringify({
  429. startTime: this.timeArea === 'day' ? "2020-03-03 00:00:00" :'2020-03-01 00:00:00',
  430. endTime: this.timeArea === 'day' ? "2020-03-03 23:59:59" :'2020-03-31 23:59:59',
  431. })
  432. );
  433. if (res && this.timeArea === 'day') this.unitBeOnDutyList = res.data;
  434. if (res && this.timeArea === 'month' && res.data[0]){
  435. this.unitBeOnDutyHeaderList = Array.from(new Set(res.data[0].map(val=>val.postName))).map(val=>{
  436. return {
  437. name:val,
  438. prop:val
  439. }
  440. })
  441. this.unitBeOnDutyHeaderList.unshift({name:'日期',prop:'time'})
  442. this.unitBeOnDutyListData = res.data.map(val=>{
  443. let a = {}
  444. let time = val[0].time.split(' ')[0].split('-')
  445. time.shift()
  446. a.time = time.join('-')
  447. this.unitBeOnDutyHeaderList.map(value=>{
  448. let b = val.filter(reaVal=>reaVal.postName === value.name)
  449. a[value.name] = b.length>0 ? b.map(val=>val.name).join(',') :''
  450. })
  451. return a
  452. })
  453. }else{
  454. this.unitBeOnDutyListData = []
  455. }
  456. },
  457. // 历史警情
  458. async getPage() {
  459. // let res = await this.$axios.get(this.$api.house.page +
  460. // "?" +
  461. // this.$qs.stringify({
  462. // current: 1,
  463. // size: 100,
  464. // startTime: "2020-03-03 00:00:00",
  465. // endTime: "2021-03-03 23:59:59",
  466. // })
  467. // );
  468. // if (res) this.tableData = res.data;
  469. },
  470. // 各站点执勤实力
  471. async getFireSiteList() {
  472. // let res = await this.$axios.get(this.$api.fireSite.page +
  473. // "?" +
  474. // this.$qs.stringify({
  475. // startTime: "2020-03-03 00:00:00",
  476. // endTime: "2020-03-03 23:59:59",
  477. // })
  478. // );
  479. // if (res) this.tableData2 = res.data;
  480. },
  481. // 各站点执勤实力
  482. async getFireSiteDuty(row, expandedRows) {
  483. if(!expandedRows || expandedRows.length<1) return
  484. // let res = await this.$axios.get(this.$api.fireSite.fireSiteDuty +
  485. // "?" +
  486. // this.$qs.stringify({
  487. // fireSiteId: expandedRows.id,
  488. // })
  489. // );
  490. // if (res) row.children = res.data;
  491. },
  492. searchTime(val){
  493. this.timeArea = val
  494. this.getSiAeAllCollect();
  495. }
  496. },
  497. };
  498. </script>
  499. <style lang="scss" scoped>
  500. .contentBox {
  501. display: flex;
  502. width: 100%;
  503. height: 100%;
  504. box-sizing: border-box;
  505. padding-bottom: 0.125rem;
  506. color: #fff;
  507. // font-family: "DS", "DS-B", "DS-BB", "DS-BS";
  508. & > .el-col {
  509. flex: 1;
  510. max-width: 8rem;
  511. height: 100%;
  512. }
  513. .leftBox {
  514. box-sizing: border-box;
  515. & > .el-col {
  516. height: calc(50% - .0625rem);
  517. background: url(~@a/img/enforce/bg1.png) no-repeat;
  518. background-size: 100% 100%;
  519. position: relative;
  520. max-height: 50%;
  521. h4 {
  522. font-size: 0.2125rem;
  523. position: absolute;
  524. left: 0;
  525. right: 0;
  526. top: 0;
  527. margin: 0 auto;
  528. text-align: center;
  529. color: #00ffff;
  530. }
  531. }
  532. .leftTop {
  533. padding: 0.375rem 0.475rem 0.1875rem;
  534. margin-bottom: 0.125rem;
  535. width: 100%;
  536. display: flex;
  537. flex-direction: column;
  538. justify-content: space-between;
  539. .leftTopSearch {
  540. display: flex;
  541. justify-content: flex-end;
  542. height: 0.375rem;
  543. padding: 0.0625rem 0 0;
  544. .el-button {
  545. width: 0.375rem;
  546. height: 0.325rem;
  547. min-height: auto;
  548. padding: 0;
  549. margin-right: 0.075rem;
  550. margin-left: 0;
  551. background: #000707;
  552. color: #fff;
  553. border: 1px solid;
  554. box-sizing: border-box;
  555. font-size: 0.15rem;
  556. border-image: linear-gradient(0deg, #0461c2 0%, #0ecdf1 100%) 1 1;
  557. border-radius: 0.125rem;
  558. }
  559. .btnClick {
  560. color: #fccf2a;
  561. border-image: linear-gradient(0deg, #ff6800 0%, #fccf2a 100%) 1 1;
  562. }
  563. }
  564. .propSituation {
  565. flex: 1;
  566. height: calc(100% - 1rem);
  567. // justify-content: center;
  568. width: 100%;
  569. flex-wrap: wrap;
  570. align-items: center;
  571. margin-bottom: 0.125rem;
  572. overflow-y: scroll;
  573. overflow-x: hidden;
  574. scrollbar-width: none;
  575. /* firefox */
  576. -ms-overflow-style: none;
  577. /* IE 10+ */
  578. overflow-x: hidden;
  579. overflow-y: auto;
  580. &::-webkit-scrollbar {
  581. display: none;
  582. // opacity: 0;
  583. /* Chrome Safari */
  584. }
  585. & > .el-col {
  586. width: 32%;
  587. height: 48%;
  588. border-radius: .0625rem;
  589. max-height: 48%;
  590. margin: .0375rem calc(4% / 6);
  591. flex: none;
  592. box-shadow: inset 0 0 0.4375rem 0.0625rem #30cfff;
  593. display: flex;
  594. flex-direction: column;
  595. font-size: 0.2rem;
  596. color: #dbe9ea;
  597. font-weight: 400;
  598. // font-family: Microsoft YaHei Regular, Microsoft YaHei Regular-Regular;
  599. .el-col {
  600. flex: none;
  601. overflow: hidden;
  602. }
  603. .rank {
  604. padding: 0.125rem 0;
  605. text-align: center;
  606. box-sizing: border-box;
  607. }
  608. .propName {
  609. padding: 0.125rem 0;
  610. text-align: center;
  611. box-sizing: border-box;
  612. }
  613. & .el-col:nth-child(2) {
  614. flex: 1;
  615. img {
  616. // width: 100%;
  617. height: 100%;
  618. // objec-fit: cover;
  619. margin: 0 auto;
  620. display: block;
  621. }
  622. }
  623. }
  624. }
  625. }
  626. .leftBot {
  627. padding: 0.5rem 0.35rem 0.25rem;
  628. box-sizing: border-box;
  629. .el-table {
  630. border-radius: 0.125rem;
  631. }
  632. }
  633. }
  634. .rightBox {
  635. .rightContent {
  636. width: 100%;
  637. height: 100%;
  638. background-size: 100% 100%;
  639. box-sizing: border-box;
  640. position: relative;
  641. & > .el-col {
  642. padding: 0.5rem 0.35rem 0.25rem;
  643. background: url(~@a/img/enforce/bg1.png) no-repeat;
  644. background-size: 100% 100%;
  645. position: relative;
  646. h4 {
  647. font-size: 0.2125rem;
  648. position: absolute;
  649. left: 0;
  650. right: 0;
  651. top: 0;
  652. margin: 0 auto;
  653. text-align: center;
  654. color: #00ffff;
  655. }
  656. }
  657. .rightTop{
  658. height: 60%;
  659. }
  660. .rightBot{
  661. margin-top: .125rem;
  662. height: calc(40% - .125rem);
  663. padding-top: 0.35rem;
  664. }
  665. .tableExpendTitle {
  666. color: #00fffc;
  667. padding: 0.125rem 0;
  668. }
  669. .tableExpendcontent {
  670. display: flex;
  671. flex-wrap: wrap;
  672. .el-col {
  673. width: 20%;
  674. padding: 0.0625rem;
  675. display: flex;
  676. flex-direction: column;
  677. justify-content: space-between;
  678. align-items: center;
  679. flex: none;
  680. img {
  681. width: 100%;
  682. }
  683. }
  684. }
  685. }
  686. }
  687. }
  688. </style>