44.vue 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703
  1. <template>
  2. <div class="view-container">
  3. <div class="title">
  4. <div style="position: absolute;">
  5. <img src="@/assets/22title.png" alt="">
  6. </div>
  7. <div class="text">
  8. <div> 设备数据大屏展示平台</div>
  9. <div style="font-size: 15px;color: #A7DBFF;">Large screen display platform for device data</div>
  10. </div>
  11. </div>
  12. <div style="display: flex; justify-content: space-between;">
  13. <div>
  14. <div style="display: flex;margin-bottom: 16px;">
  15. <div class="sbInfo">
  16. <span class="top-left"></span><span class="top-right"></span><span class="bottom-left"></span><span class="bottom-right"></span>
  17. <div style="width: 335px;">
  18. <div class="sbinfo-title">
  19. 设备信息
  20. </div>
  21. <br><br>
  22. <div style="width: 300px;">
  23. <img style="width: 100%;height: 100%;" src="@/assets/sb.png" alt="">
  24. </div>
  25. </div>
  26. <div style="width: 155px;display:flex;flex-direction:column;justify-content: space-between;">
  27. <div class="sbInfo-info">
  28. <div>设备状态</div>
  29. <div class="sb-info-bg">运行中</div>
  30. </div>
  31. <div class="sbInfo-info">
  32. <div>设备名称</div>
  33. <div class="sb-info-bg">压缩机</div>
  34. </div><div class="sbInfo-info">
  35. <div>设备编号</div>
  36. <div class="sb-info-bg">BLT-20A</div>
  37. </div><div class="sbInfo-info">
  38. <div>设备型号</div>
  39. <div class="sb-info-bg">BLD200</div>
  40. </div><div class="sbInfo-info">
  41. <div>设备位置</div>
  42. <div class="sb-info-bg">1号厂区</div>
  43. </div><div class="sbInfo-info">
  44. <div>管理员</div>
  45. <div class="sb-info-bg">张三</div>
  46. </div><div class="sbInfo-info">
  47. <div>投用时间</div>
  48. <div class="sb-info-bg">2022/1/29</div>
  49. </div><div class="sbInfo-info">
  50. <div>保养时间</div>
  51. <div class="sb-info-bg">2022/4/29</div>
  52. </div>
  53. </div>
  54. </div>
  55. <div class="sbStatus">
  56. <span class="top-left"></span><span class="top-right"></span><span class="bottom-left"></span><span class="bottom-right"></span>
  57. <div style="padding:34px;">
  58. <div class="sbStatus-title">
  59. 运行工况
  60. </div>
  61. <br>
  62. <div>
  63. <a-row :gutter="[16,7]">
  64. <a-col :span="12" >
  65. <div class="sbStatus-info-bg">
  66. <span class="sbStatus-top"></span>
  67. <span class="sbStatus-bottom"></span>
  68. <div>运行时长</div>
  69. <div style="font-size: 30px;font-weight: 400;color: #01D4F9;margin-top: 5px;">101h</div>
  70. </div>
  71. </a-col>
  72. <a-col :span="12" >
  73. <div class="sbStatus-info-bg">
  74. <span class="sbStatus-top"></span>
  75. <span class="sbStatus-bottom"></span>
  76. <div>维修费用</div>
  77. <div style="font-size: 30px;font-weight: 400;color: #01D4F9;margin-top: 5px;">38.231¥</div>
  78. </div>
  79. </a-col>
  80. <a-col :span="12" >
  81. <div class="sbStatus-info-bg">
  82. <span class="sbStatus-top"></span>
  83. <span class="sbStatus-bottom"></span>
  84. <div>保养次数</div>
  85. <div style="font-size: 30px;font-weight: 400;color: #01D4F9;margin-top: 5px;">368</div>
  86. </div>
  87. </a-col>
  88. <a-col :span="12" >
  89. <div class="sbStatus-info-bg">
  90. <span class="sbStatus-top"></span>
  91. <span class="sbStatus-bottom"></span>
  92. <div>维修次数</div>
  93. <div style="font-size: 30px;font-weight: 400;color: #01D4F9;margin-top: 5px;">20</div>
  94. </div>
  95. </a-col>
  96. </a-row>
  97. </div>
  98. </div>
  99. <div id="chart1"></div>
  100. </div>
  101. </div>
  102. <div style="display: flex;">
  103. <div class="sbHistory">
  104. <span class="top-left"></span><span class="top-right"></span><span class="bottom-left"></span><span class="bottom-right"></span>
  105. <div>
  106. <div style="font-size: 30px;font-weight: 800; padding-bottom: 29px;color: #BDE4FF;">维修历史</div>
  107. <thead>
  108. <tr style="display: flex;justify-content: space-between;">
  109. <th class="list-header">异常类别</th>
  110. <th class="list-header">维修人</th>
  111. <th class="list-header">维修时间</th>
  112. </tr>
  113. </thead>
  114. <tbody>
  115. <tr v-for="(list,i) in list1" :key="i" style="display: flex;justify-content: space-between;">
  116. <td class="list-header" style="box-shadow:none; background: rgba(2, 205, 255, 0.1);font-size: 16px;font-weight: 400;">{{ list.year }}</td>
  117. <td class="list-header" style="box-shadow:none; background: rgba(2, 205, 255, 0.1);font-size: 16px;font-weight: 400;">{{ list.sales }}</td>
  118. <td class="list-header" style="box-shadow:none; background: rgba(2, 205, 255, 0.1);font-size: 16px;font-weight: 400;">{{ list.date }}</td>
  119. </tr>
  120. </tbody>
  121. </div>
  122. </div>
  123. <div class="sb-online">
  124. <span class="top-left"></span><span class="top-right"></span><span class="bottom-left"></span><span class="bottom-right"></span>
  125. <div style="position: relative;width: 477px;height: 182px;background: rgba(0, 186, 255, 0.1);">
  126. <span class="top-left-two"></span><span class="top-right-two"></span><span class="bottom-left-two"></span><span class="bottom-right-two"></span>
  127. <div style="padding:20px">本月设备使用率%</div>
  128. <div id="chart2"></div>
  129. </div>
  130. <div style="display:flex;justify-content: space-between;width: 477px;height: 182px;padding-top: 15px;">
  131. <div class="sb-online-time">
  132. <span class="top-left-two"></span><span class="top-right-two"></span><span class="bottom-left-two"></span><span class="bottom-right-two"></span>
  133. <div style="font-size: 16px">本月运行时长</div>
  134. <div style="font-size: 48px;color: #01D4F9;">90h</div>
  135. </div>
  136. <div class="sb-online-time">
  137. <span class="top-left-two"></span><span class="top-right-two"></span><span class="bottom-left-two"></span><span class="bottom-right-two"></span>
  138. <div style="font-size: 16px">本月停机时长</div>
  139. <div style="font-size: 48px;color: #01D4F9;">9h</div>
  140. </div>
  141. </div>
  142. </div>
  143. </div>
  144. </div>
  145. <div class="sb-proportion">
  146. <span class="top-left"></span><span class="top-right"></span><span class="bottom-left"></span><span class="bottom-right"></span>
  147. <div style="font-size: 30px;font-weight: 800;color: #BDE4FF;">设备部位维修占比</div>
  148. <div id="chart3"></div>
  149. <div style="padding-top:70px">
  150. <a-row type="flex" justify="space-around" :gutter="[0,25]">
  151. <a-col :span="5">
  152. <div class="sb-proportion-info">
  153. <span class="top-left-two"></span><span class="top-right-two"></span><span class="bottom-left-two"></span><span class="bottom-right-two"></span>
  154. <div style="font-size: 46px;color: #035CFF;transform: perspective(.5em) rotateX(5deg);">
  155. <my-icon type="icon-qichebaoyang" />
  156. </div>
  157. <div style="color: #01D4F9;">设备图片</div>
  158. </div>
  159. </a-col>
  160. <a-col :span="5">
  161. <div class="sb-proportion-info">
  162. <span class="top-left-two"></span><span class="top-right-two"></span><span class="bottom-left-two"></span><span class="bottom-right-two"></span>
  163. <div style="font-size: 46px;color: #035CFF;transform: perspective(.5em) rotateX(5deg);">
  164. <my-icon type="icon-qichebaoyang" />
  165. </div>
  166. <div style="color: #01D4F9;">验收文档</div>
  167. </div>
  168. </a-col>
  169. <a-col :span="5">
  170. <div class="sb-proportion-info">
  171. <span class="top-left-two"></span><span class="top-right-two"></span><span class="bottom-left-two"></span><span class="bottom-right-two"></span>
  172. <div style="font-size: 46px;color: #035CFF;transform: perspective(.5em) rotateX(5deg);">
  173. <my-icon type="icon-qichebaoyang" />
  174. </div>
  175. <div style="color: #01D4F9;">使用手册</div>
  176. </div>
  177. </a-col>
  178. <a-col :span="5">
  179. <div class="sb-proportion-info">
  180. <span class="top-left-two"></span><span class="top-right-two"></span><span class="bottom-left-two"></span><span class="bottom-right-two"></span>
  181. <div style="font-size: 46px;color: #035CFF;transform: perspective(.5em) rotateX(5deg);">
  182. <my-icon type="icon-qichebaoyang" />
  183. </div>
  184. <div style="color: #01D4F9;">保养手册</div>
  185. </div>
  186. </a-col>
  187. <a-col :span="5">
  188. <div class="sb-proportion-info">
  189. <span class="top-left-two"></span><span class="top-right-two"></span><span class="bottom-left-two"></span><span class="bottom-right-two"></span>
  190. <div style="font-size: 46px;color: #035CFF;transform: perspective(.5em) rotateX(5deg);">
  191. <my-icon type="icon-qichebaoyang" />
  192. </div>
  193. <div style="color: #01D4F9;">维修纪录</div>
  194. </div>
  195. </a-col>
  196. <a-col :span="5">
  197. <div class="sb-proportion-info">
  198. <span class="top-left-two"></span><span class="top-right-two"></span><span class="bottom-left-two"></span><span class="bottom-right-two"></span>
  199. <div style="font-size: 46px;color: #035CFF;transform: perspective(.5em) rotateX(5deg);">
  200. <my-icon type="icon-qichebaoyang" />
  201. </div>
  202. <div style="color: #01D4F9;">保养记录</div>
  203. </div>
  204. </a-col>
  205. <a-col :span="5">
  206. <div class="sb-proportion-info">
  207. <span class="top-left-two"></span><span class="top-right-two"></span><span class="bottom-left-two"></span><span class="bottom-right-two"></span>
  208. <div style="font-size: 46px;color: #035CFF;transform: perspective(.5em) rotateX(5deg);">
  209. <my-icon type="icon-qichebaoyang" />
  210. </div>
  211. <div style="color: #01D4F9;">调拨记录</div>
  212. </div>
  213. </a-col>
  214. <a-col :span="5">
  215. <div class="sb-proportion-info">
  216. <span class="top-left-two"></span><span class="top-right-two"></span><span class="bottom-left-two"></span><span class="bottom-right-two"></span>
  217. <div style="font-size: 46px;color: #035CFF;transform: perspective(.5em) rotateX(5deg);">
  218. <my-icon type="icon-qichebaoyang" />
  219. </div>
  220. <div style="color: #01D4F9;">费用记录</div>
  221. </div>
  222. </a-col>
  223. </a-row>
  224. </div>
  225. </div>
  226. </div>
  227. </div>
  228. </template>
  229. <script>
  230. import { Chart, registerTheme } from '@antv/g2'
  231. export default {
  232. data () {
  233. return {
  234. chart1: [
  235. { year: '人工费用', sales: 382, date: '05-16' },
  236. { year: '备件费用', sales: 522, date: '05-16' },
  237. { year: '材料费用', sales: 612, date: '05-16' },
  238. { year: '委外费用', sales: 145, date: '05-16' }
  239. ],
  240. chart2: [
  241. { day: 1, percent: 60 },
  242. { day: 2, percent: 40 },
  243. { day: 3, percent: 50 },
  244. { day: 4, percent: 60 },
  245. { day: 5, percent: 70 },
  246. { day: 6, percent: 60 },
  247. { day: 7, percent: 80 },
  248. { day: 8, percent: 40 },
  249. { day: 9, percent: 40 },
  250. { day: 10, percent: 60 }
  251. ],
  252. chart3: [
  253. { item: '电力部位', count: 16 },
  254. { item: '传动部位 ', count: 20 },
  255. { item: '液压部位', count: 14 },
  256. { item: '压缩缸 ', count: 11 },
  257. { item: '发电机 ', count: 11 },
  258. { item: '风扇', count: 28 }
  259. ],
  260. list1: [
  261. { year: '人工费用', sales: 382, date: '05-16' },
  262. { year: '备件费用', sales: 522, date: '05-16' },
  263. { year: '材料费用', sales: 612, date: '05-16' },
  264. { year: '备件费用', sales: 522, date: '05-16' },
  265. { year: '材料费用', sales: 612, date: '05-16' },
  266. { year: '委外费用', sales: 145, date: '05-16' }
  267. ]
  268. }
  269. },
  270. mounted () {
  271. this.getChart()
  272. },
  273. methods: {
  274. getChart () {
  275. this.getChart1('chart1', this.chart1)
  276. this.getChart2('chart2', this.chart2)
  277. this.getChart3('chart3', this.chart3)
  278. },
  279. getChart1 (id, data) {
  280. registerTheme('myTheme', {
  281. columnWidthRatio: 0.2,
  282. colors10: ['#0091F1', '#00E4EC', '#FDB628', '#EB6F49', '#00D98B', '#8256E8 ', '#9661BC', '#F6903D', '#008685', '#F08BB4']
  283. })
  284. const chart = new Chart({
  285. container: id,
  286. width: 400,
  287. height: 145,
  288. appendPadding: [20, 20, 0, 80]
  289. })
  290. chart.data(data)
  291. chart.scale('sales', {
  292. nice: true
  293. })
  294. chart.legend('year', {
  295. position: 'right',
  296. itemName: {
  297. style: {
  298. fill: '#01D4F9 ',
  299. fontSize: 14
  300. }
  301. }
  302. })
  303. chart.tooltip({
  304. showMarkers: false
  305. })
  306. chart.interaction('active-region')
  307. chart.interval().position('date*sales').color('year').adjust([
  308. {
  309. type: 'dodge',
  310. marginRatio: 0
  311. }
  312. ])
  313. chart.theme('myTheme')
  314. chart.render()
  315. },
  316. getChart2 (id, data) {
  317. const chart = new Chart({
  318. container: id,
  319. width: 400,
  320. height: 120,
  321. appendPadding: [0, 0, 0, 80]
  322. })
  323. chart.data(data)
  324. chart.scale({
  325. day: {
  326. min: 1,
  327. tickCount: 10,
  328. range: [0, 1]
  329. },
  330. percent: {
  331. min: 0,
  332. range: [0, 1]
  333. }
  334. })
  335. chart.tooltip({
  336. showCrosshairs: true,
  337. shared: true
  338. })
  339. chart.area().position('day*percent').shape('smooth')
  340. chart.line().position('day*percent').shape('smooth')
  341. chart.render()
  342. },
  343. getChart3 (id, data) {
  344. registerTheme('myTheme', {
  345. columnWidthRatio: 0.2,
  346. fontFamily: {
  347. color: '#01D4F9'
  348. },
  349. colors10: ['#0091F1', '#00E4EC', '#FDB628', '#EB6F49', '#00D98B', '#8256E8 ', '#9661BC', '#F6903D', '#008685', '#F08BB4']
  350. })
  351. this.chartPie && this.chartPie.destroy()// 防止点击搜索按钮新增一个
  352. this.chartPie = new Chart({
  353. container: id,
  354. autoFit: true,
  355. height: 435
  356. })
  357. this.chartPie.data(data)
  358. this.chartPie.scale('count', {
  359. nice: true
  360. })
  361. this.chartPie.coordinate('theta', {
  362. radius: 0.6,
  363. innerRadius: 0.5
  364. })
  365. // 辅助文本
  366. this.chartPie.legend('item', {
  367. position: 'bottom',
  368. flipPage: false,
  369. maxRow: 2,
  370. itemWidth: 100,
  371. maxWidth: 400,
  372. itemName: {
  373. style: {
  374. fill: '#01D4F9',
  375. fontSize: 14
  376. }
  377. }
  378. })
  379. this.chartPie.tooltip({
  380. showTitle: false,
  381. showMarkers: false,
  382. itemTpl: `<li class="g2-tooltip-list-item">
  383. <span style="background-color:{color};" class="g2-tooltip-marker"></span>
  384. {name}: {value}
  385. </li>`
  386. })
  387. this.chartPie
  388. .annotation()
  389. this.chartPie
  390. .interval()
  391. .adjust('stack')
  392. .position('count')
  393. .color('item')
  394. .label('count', (count) => {
  395. return {
  396. style: {
  397. fill: '#01D4F9',
  398. fontSize: 16
  399. },
  400. offset: 30,
  401. content: (data) => {
  402. return `${data.item}: ${count}%`
  403. }
  404. }
  405. })
  406. .tooltip('item*count', (item, count) => {
  407. return {
  408. name: item,
  409. value: `${count}%`,
  410. style: {
  411. fill: '#01D4F9',
  412. fontSize: 16
  413. }
  414. }
  415. })
  416. this.chartPie.interaction('active-region')
  417. this.chartPie.theme('myTheme')
  418. this.chartPie.render()
  419. }
  420. }
  421. }
  422. </script>
  423. <style lang="less" scoped>
  424. .view-container {
  425. width:1920px;
  426. height:1080px;
  427. background-color: RGBA(0, 7, 73, 0.8);
  428. padding:10px 21px 35px 21px;
  429. .title{
  430. height: 100px;
  431. position: relative;
  432. .text{
  433. height: 26px;
  434. font-size: 27px;
  435. display:flex;
  436. flex-direction: column;
  437. align-items: center;
  438. padding-top: 30px;
  439. font-family: Microsoft YaHei;
  440. font-weight: bold;
  441. color: #BDE4FF;
  442. line-height: 25px;
  443. }
  444. }
  445. }
  446. .view-container::after {
  447. content: "";
  448. width:1920px;
  449. height:1080px;
  450. background: url(../../assets/bgView.png);
  451. top: 0;
  452. left: 0;
  453. bottom: 0;
  454. right: 0;
  455. position: absolute;
  456. z-index: -1;
  457. }
  458. .sbInfo{
  459. position: relative;
  460. padding:34px;
  461. width: 597px;
  462. height:505px;
  463. border: 2px solid #045693;
  464. margin-right:16px;
  465. display:flex;
  466. justify-content: space-between;
  467. .sbinfo-title{
  468. width: 120px;
  469. height: 29px;
  470. font-size: 30px;
  471. font-family: Microsoft YaHei;
  472. font-weight: bold;
  473. color: #BDE4FF;
  474. line-height: 24px;
  475. }
  476. .sbInfo-info{
  477. display: flex;
  478. justify-content: space-between;
  479. align-items: center;
  480. font-size: 14px;
  481. font-family: Microsoft YaHei;
  482. font-weight: 400;
  483. color: #01D4F9;
  484. line-height: 13px;
  485. .sb-info-bg{
  486. width: 91px;
  487. height: 35px;
  488. text-align: center;
  489. line-height:35px;
  490. background: url(../../assets/441.png) no-repeat;
  491. }
  492. }
  493. }
  494. .sbStatus{
  495. position: relative;
  496. border: 2px solid #045693;
  497. width: 485px;
  498. height:505px;
  499. .sbStatus-title{
  500. width: 120px;
  501. height: 29px;
  502. font-size: 30px;
  503. font-family: Microsoft YaHei;
  504. font-weight: bold;
  505. color: #BDE4FF;
  506. line-height: 24px;
  507. }
  508. .sbStatus-info-bg{
  509. position: relative;
  510. width: 206px;
  511. height: 110px;
  512. color: #FFFFFF;
  513. background:url("../../assets/442.png") no-repeat;
  514. font-size: 14px;
  515. line-height: 24px;
  516. display: flex;
  517. flex-direction: column;
  518. justify-content:center;
  519. align-items: center;
  520. }
  521. }
  522. .sbHistory{
  523. width: 504px;
  524. height:429px;
  525. color: #fff;
  526. border: 2px solid #045693;
  527. margin-right:16px;
  528. position: relative;
  529. padding:30px;
  530. .list-header{
  531. margin:0;
  532. padding: 0;
  533. width: 142px;
  534. height: 35px;
  535. font-size: 16px;
  536. font-weight: bold;
  537. margin-bottom: 8px;
  538. margin-right: 8px;
  539. font-family: Microsoft YaHei;
  540. background: rgba(2, 205, 255, 0);
  541. box-shadow: 0px 0px 40px 0px rgba(0, 122, 162, 0.8) inset;
  542. display: flex;
  543. justify-content: center;
  544. align-items: center;
  545. }
  546. }
  547. .sb-online{
  548. padding:46px;
  549. width: 578px;
  550. height:429px;
  551. color: #fff;
  552. border: 2px solid #045693;
  553. position: relative;
  554. .sb-online-time{
  555. display: flex;
  556. flex-direction:column;
  557. align-items: center;
  558. justify-content:center;
  559. position: relative;
  560. width: 231px;
  561. height: 140px;
  562. background: rgba(0, 186, 255, 0.1);
  563. }
  564. }
  565. .sb-proportion{
  566. color:#fff;
  567. width: 766px;
  568. height:950px;
  569. position: relative;
  570. border: 2px solid #045693;
  571. padding:30px;
  572. .sb-proportion-info{
  573. position: relative;
  574. display: flex;
  575. flex-direction:column;
  576. align-items: center;
  577. justify-content:center;
  578. position: relative;
  579. // width: 141px;
  580. height: 150px;
  581. background: rgba(0, 186, 255, 0.1);
  582. }
  583. }
  584. .top-left{
  585. width: 12px;
  586. height: 12px;
  587. display: block;
  588. background-color: rgba(4, 8, 20, 0.8);
  589. border: 2px solid #02E8FF;
  590. position: absolute;
  591. top: -6px;
  592. left: -6px;
  593. }
  594. .bottom-left{
  595. width: 12px;
  596. height: 12px;
  597. display: block;
  598. background-color: rgba(4, 8, 20, 0.8);
  599. border: 2px solid #02E8FF;
  600. position: absolute;
  601. bottom: -6px;
  602. left: -6px;
  603. }
  604. .top-right{
  605. width: 12px;
  606. height: 12px;
  607. display: block;
  608. background-color: rgba(4, 8, 20, 0.8);
  609. border: 2px solid #02E8FF;
  610. position: absolute;
  611. top: -6px;
  612. right: -6px;
  613. }
  614. .bottom-right {
  615. width: 12px;
  616. height: 12px;
  617. display: block;
  618. background-color: rgba(4, 8, 20, 0.8);
  619. border: 2px solid #02E8FF;
  620. position: absolute;
  621. bottom: -6px;
  622. right: -6px;
  623. }
  624. .top-left-two{
  625. width: 15px;
  626. height: 15px;
  627. display: block;
  628. border-top: 2px solid #02E8FF;
  629. border-left: 2px solid #02E8FF;
  630. position: absolute;
  631. top: -2px;
  632. left: -2px;
  633. }
  634. .bottom-left-two{
  635. width: 15px;
  636. height: 15px;
  637. display: block;
  638. border-bottom: 2px solid #02E8FF;
  639. border-left: 2px solid #02E8FF;
  640. position: absolute;
  641. bottom: -2px;;
  642. left: -2px;;
  643. }
  644. .top-right-two{
  645. width: 15px;
  646. height: 15px;
  647. display: block;
  648. border-top: 2px solid #02E8FF;
  649. border-right: 2px solid #02E8FF;
  650. position: absolute;
  651. top: -2px;;
  652. right: -2px;;
  653. }
  654. .bottom-right-two {
  655. width: 15px;
  656. height: 15px;
  657. display: block;
  658. border-bottom: 2px solid #02E8FF;
  659. border-right: 2px solid #02E8FF;
  660. position: absolute;
  661. bottom: -2px;;
  662. right: -2px;;
  663. }
  664. .sbStatus-top {
  665. width: 37px;
  666. height: 21px;
  667. display: block;
  668. background: rgba(14, 27, 75, 0);
  669. border: 1px solid #019EFF;
  670. border-bottom: none;
  671. border-left: none;
  672. position: absolute;
  673. top: 6px;
  674. right: 6px;
  675. }
  676. .sbStatus-bottom {
  677. width: 37px;
  678. height: 21px;
  679. display: block;
  680. background: rgba(14, 27, 75, 0);
  681. border: 1px solid #019EFF;
  682. border-top: none;
  683. border-right: none;
  684. position: absolute;
  685. bottom: 6px;
  686. left: 6px;
  687. }
  688. </style>