dome.vue 32 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041
  1. <template>
  2. <div class="body">
  3. <div class="viewport">
  4. <div class="column">
  5. <!--概览-->
  6. <div class="overview panel">
  7. <div class="inner">
  8. <div class="item">
  9. <h4>2,190</h4>
  10. <span>
  11. <i class="icon-dot" style="color: #006cff"></i>
  12. 设备总数
  13. </span>
  14. </div>
  15. <div class="item">
  16. <h4>190</h4>
  17. <span>
  18. <i class="icon-dot" style="color: #6acca3"></i>
  19. 季度新增
  20. </span>
  21. </div>
  22. <div class="item">
  23. <h4>3,001</h4>
  24. <span>
  25. <i class="icon-dot" style="color: #6acca3"></i>
  26. 运营设备
  27. </span>
  28. </div>
  29. <div class="item">
  30. <h4>108</h4>
  31. <span>
  32. <i class="icon-dot" style="color: #ed3f35"></i>
  33. 异常设备
  34. </span>
  35. </div>
  36. </div>
  37. </div>
  38. <!--监控-->
  39. <div class="monitor panel">
  40. <div class="inner">
  41. <div class="tabs">
  42. <a href="javascript:;" data-index="0" class="active">故障设备监控</a>
  43. <a href="javascript:;" data-index="1">异常设备监控</a>
  44. </div>
  45. <div class="content" style="display: block;">
  46. <div class="head">
  47. <span class="col">故障时间</span>
  48. <span class="col">设备地址</span>
  49. <span class="col">异常代码</span>
  50. </div>
  51. <div class="marquee-view">
  52. <div class="marquee">
  53. <div class="row">
  54. <span class="col">20180701</span>
  55. <span class="col">11北京市昌平西路金燕龙写字楼</span>
  56. <span class="col">1000001</span>
  57. <span class="icon-dot"></span>
  58. </div>
  59. <div class="row">
  60. <span class="col">20190601</span>
  61. <span class="col">北京市昌平区城西路金燕龙写字楼</span>
  62. <span class="col">1000002</span>
  63. <span class="icon-dot"></span>
  64. </div>
  65. <div class="row">
  66. <span class="col">20190704</span>
  67. <span class="col">北京市昌平区建材城西路金燕龙写字楼</span>
  68. <span class="col">1000003</span>
  69. <span class="icon-dot"></span>
  70. </div>
  71. <div class="row">
  72. <span class="col">20180701</span>
  73. <span class="col">北京市昌平区建路金燕龙写字楼</span>
  74. <span class="col">1000004</span>
  75. <span class="icon-dot"></span>
  76. </div>
  77. <div class="row">
  78. <span class="col">20190701</span>
  79. <span class="col">北京市昌平区建材城西路金燕龙写字楼</span>
  80. <span class="col">1000005</span>
  81. <span class="icon-dot"></span>
  82. </div>
  83. <div class="row">
  84. <span class="col">20190701</span>
  85. <span class="col">北京市昌平区建材城西路金燕龙写字楼</span>
  86. <span class="col">1000006</span>
  87. <span class="icon-dot"></span>
  88. </div>
  89. <div class="row">
  90. <span class="col">20190701</span>
  91. <span class="col">北京市昌平区建西路金燕龙写字楼</span>
  92. <span class="col">1000007</span>
  93. <span class="icon-dot"></span>
  94. </div>
  95. <div class="row">
  96. <span class="col">20190701</span>
  97. <span class="col">北京市昌平区建材城西路金燕龙写字楼</span>
  98. <span class="col">1000008</span>
  99. <span class="icon-dot"></span>
  100. </div>
  101. <div class="row">
  102. <span class="col">20190701</span>
  103. <span class="col">北京市昌平区建材城西路金燕龙写字楼</span>
  104. <span class="col">1000009</span>
  105. <span class="icon-dot"></span>
  106. </div>
  107. <div class="row">
  108. <span class="col">20190710</span>
  109. <span class="col">北京市昌平区建材城西路金燕龙写字楼</span>
  110. <span class="col">1000010</span>
  111. <span class="icon-dot"></span>
  112. </div>
  113. </div>
  114. </div>
  115. </div>
  116. <div class="content">
  117. <div class="head">
  118. <span class="col">异常时间</span>
  119. <span class="col">设备地址</span>
  120. <span class="col">异常代码</span>
  121. </div>
  122. <div class="marquee-view">
  123. <div class="marquee">
  124. <div class="row">
  125. <span class="col">20190701</span>
  126. <span class="col">北京市昌平区建材城西路金燕龙写字楼</span>
  127. <span class="col">1000001</span>
  128. <span class="icon-dot"></span>
  129. </div>
  130. <div class="row">
  131. <span class="col">20190701</span>
  132. <span class="col">北京市昌平区建材城西路金燕龙写字楼</span>
  133. <span class="col">1000002</span>
  134. <span class="icon-dot"></span>
  135. </div>
  136. <div class="row">
  137. <span class="col">20190703</span>
  138. <span class="col">北京市昌平区建材城西路金燕龙写字楼</span>
  139. <span class="col">1000002</span>
  140. <span class="icon-dot"></span>
  141. </div>
  142. <div class="row">
  143. <span class="col">20190704</span>
  144. <span class="col">北京市昌平区建材城西路金燕龙写字楼</span>
  145. <span class="col">1000002</span>
  146. <span class="icon-dot"></span>
  147. </div>
  148. <div class="row">
  149. <span class="col">20190705</span>
  150. <span class="col">北京市昌平区建材城西路金燕龙写字楼</span>
  151. <span class="col">1000002</span>
  152. <span class="icon-dot"></span>
  153. </div>
  154. <div class="row">
  155. <span class="col">20190706</span>
  156. <span class="col">北京市昌平区建材城西路金燕龙写字楼</span>
  157. <span class="col">1000002</span>
  158. <span class="icon-dot"></span>
  159. </div>
  160. <div class="row">
  161. <span class="col">20190707</span>
  162. <span class="col">北京市昌平区建材城西路金燕龙写字楼</span>
  163. <span class="col">1000002</span>
  164. <span class="icon-dot"></span>
  165. </div>
  166. <div class="row">
  167. <span class="col">20190708</span>
  168. <span class="col">北京市昌平区建材城西路金燕龙写字楼</span>
  169. <span class="col">1000002</span>
  170. <span class="icon-dot"></span>
  171. </div>
  172. <div class="row">
  173. <span class="col">20190709</span>
  174. <span class="col">北京市昌平区建材城西路金燕龙写字楼</span>
  175. <span class="col">1000002</span>
  176. <span class="icon-dot"></span>
  177. </div>
  178. <div class="row">
  179. <span class="col">20190710</span>
  180. <span class="col">北京市昌平区建材城西路金燕龙写字楼</span>
  181. <span class="col">1000002</span>
  182. <span class="icon-dot"></span>
  183. </div>
  184. </div>
  185. </div>
  186. </div>
  187. </div>
  188. </div>
  189. <!--点位-->
  190. <div class="point panel">
  191. <div class="inner">
  192. <h3>点位分布统计</h3>
  193. <div class="chart">
  194. <div class="pie"></div>
  195. <div class="data">
  196. <div class="item">
  197. <h4>320,11</h4>
  198. <span>
  199. <i class="icon-dot" style="color: #ed3f35"></i>
  200. 点位总数
  201. </span>
  202. </div>
  203. <div class="item">
  204. <h4>418</h4>
  205. <span>
  206. <i class="icon-dot" style="color: #eacf19"></i>
  207. 本月新增
  208. </span>
  209. </div>
  210. </div>
  211. </div>
  212. </div>
  213. </div>
  214. </div>
  215. <div class="column">
  216. <!-- 地图 -->
  217. <div class="map">
  218. <h3>
  219. <span class="icon-cube"></span>
  220. 设备数据统计
  221. </h3>
  222. <div class="chart">
  223. <div class="geo"></div>
  224. </div>
  225. </div>
  226. <!-- 用户 -->
  227. <div class="users panel">
  228. <div class="inner">
  229. <h3>全国用户总量统计</h3>
  230. <div class="chart">
  231. <div class="bar"></div>
  232. <div class="data">
  233. <div class="item">
  234. <h4>120,899</h4>
  235. <span>
  236. <i class="icon-dot" style="color: #ed3f35"></i>
  237. 用户总量
  238. </span>
  239. </div>
  240. <div class="item">
  241. <h4>248</h4>
  242. <span>
  243. <i class="icon-dot" style="color: #eacf19"></i>
  244. 本月新增
  245. </span>
  246. </div>
  247. </div>
  248. </div>
  249. </div>
  250. </div>
  251. </div>
  252. <div class="column">
  253. <!-- 订单 -->
  254. <div class="order panel">
  255. <div class="inner">
  256. <!-- 筛选 -->
  257. <div class="filter">
  258. <a href="javascript:;" data-key="day365" class="active">365天</a>
  259. <a href="javascript:;" data-key="day90">90天</a>
  260. <a href="javascript:;" data-key="day30">30天</a>
  261. <a href="javascript:;" data-key="day1">24小时</a>
  262. </div>
  263. <!-- 数据 -->
  264. <div class="data">
  265. <div class="item">
  266. <h4>20,301,987</h4>
  267. <span>
  268. <i class="icon-dot" style="color: #ed3f35;"></i>
  269. 订单量
  270. </span>
  271. </div>
  272. <div class="item">
  273. <h4>99834</h4>
  274. <span>
  275. <i class="icon-dot" style="color: #eacf19;"></i>
  276. 销售额(万元)
  277. </span>
  278. </div>
  279. </div>
  280. </div>
  281. </div>
  282. <!-- 销售额 -->
  283. <div class="sales panel">
  284. <div class="inner">
  285. <div class="caption">
  286. <h3>销售额统计</h3>
  287. <a href="javascript:;" class="active" data-type="year">年</a>
  288. <a href="javascript:;" data-type="quarter">季</a>
  289. <a href="javascript:;" data-type="month">月</a>
  290. <a href="javascript:;" data-type="week">周</a>
  291. </div>
  292. <div class="chart">
  293. <div class="label">单位:万</div>
  294. <div class="line"></div>
  295. </div>
  296. </div>
  297. </div>
  298. <!-- 渠道 季度 -->
  299. <div class="wrap">
  300. <div class="channel panel">
  301. <div class="inner">
  302. <h3>渠道分布</h3>
  303. <div class="data">
  304. <div class="item">
  305. <h4>39 <small>%</small></h4>
  306. <span>
  307. <i class="icon-plane"></i>
  308. 机场
  309. </span>
  310. </div>
  311. <div class="item">
  312. <h4>28 <small>%</small></h4>
  313. <span>
  314. <i class="icon-bag"></i>
  315. 商场
  316. </span>
  317. </div>
  318. </div>
  319. <div class="data">
  320. <div class="item">
  321. <h4>20 <small>%</small></h4>
  322. <span>
  323. <i class="icon-train"></i>
  324. 地铁
  325. </span>
  326. </div>
  327. <div class="item">
  328. <h4>13 <small>%</small></h4>
  329. <span>
  330. <i class="icon-bus"></i>
  331. 火车站
  332. </span>
  333. </div>
  334. </div>
  335. </div>
  336. </div>
  337. <div class="quarter panel">
  338. <div class="inner">
  339. <h3>一季度销售进度</h3>
  340. <div class="chart">
  341. <div class="box">
  342. <div class="gauge"></div>
  343. <div class="label">75<small> %</small></div>
  344. </div>
  345. <div class="data">
  346. <div class="item">
  347. <h4>1,321</h4>
  348. <span>
  349. <i class="icon-dot" style="color: #6acca3"></i>
  350. 销售额(万元)
  351. </span>
  352. </div>
  353. <div class="item">
  354. <h4>150%</h4>
  355. <span>
  356. <i class="icon-dot" style="color: #ed3f35"></i>
  357. 同比增长
  358. </span>
  359. </div>
  360. </div>
  361. </div>
  362. </div>
  363. </div>
  364. </div>
  365. <!-- 排行榜 -->
  366. <div class="top panel">
  367. <div class="inner">
  368. <div class="all">
  369. <h3>全国热榜</h3>
  370. <ul>
  371. <li>
  372. <i class="icon-cup1" style="color: #d93f36;"></i>
  373. 可爱多
  374. </li>
  375. <li>
  376. <i class="icon-cup2" style="color: #68d8fe;"></i>
  377. 娃哈啥
  378. </li>
  379. <li>
  380. <i class="icon-cup3" style="color: #4c9bfd;"></i>
  381. 喜之郎
  382. </li>
  383. </ul>
  384. </div>
  385. <div class="province">
  386. <h3>各省热销 <i class="date">// 近30日 //</i></h3>
  387. <div class="data">
  388. <ul class="sup">
  389. <li>
  390. <span>北京</span>
  391. <span>25,179 <s class="icon-up"></s></span>
  392. </li>
  393. <li>
  394. <span>河北</span>
  395. <span>23,252 <s class="icon-down"></s></span>
  396. </li>
  397. <li>
  398. <span>上海</span>
  399. <span>20,760 <s class="icon-up"></s></span>
  400. </li>
  401. <li>
  402. <span>江苏</span>
  403. <span>23,252 <s class="icon-down"></s></span>
  404. </li>
  405. <li>
  406. <span>山东</span>
  407. <span>20,760 <s class="icon-up"></s></span>
  408. </li>
  409. </ul>
  410. <ul class="sub">
  411. <!-- <li><span>数据</span><span> 数据<s class="icon-up"></s></span></li> -->
  412. </ul>
  413. </div>
  414. </div>
  415. </div>
  416. </div>
  417. </div>
  418. </div>>
  419. </div>
  420. </template>
  421. <script>
  422. export default {
  423. data() {
  424. return {
  425. whether:false
  426. }
  427. },
  428. methods: {
  429. touchstart(){
  430. this.whether = true;
  431. },
  432. touchend(){
  433. this.whether = false;
  434. }
  435. }
  436. }
  437. </script>
  438. <style>
  439. .body{
  440. line-height: 1.15;
  441. font-size: 0.5rem;
  442. margin: 0;
  443. padding: 0;
  444. background-repeat: no-repeat;
  445. background-position: 0 0 / cover;
  446. background-color: #101129;
  447. }
  448. *{
  449. margin: 0;
  450. padding: 0;
  451. font-weight: normal;
  452. }
  453. ul{
  454. list-style: none;
  455. }
  456. a{
  457. text-decoration: none;
  458. }
  459. .viewport {
  460. /* 限定大小 */
  461. min-width: 1024px;
  462. max-width: 1920px;
  463. min-height: 780px;
  464. margin: 0 auto;
  465. background: url(../../static/dome/logo.png) no-repeat 0 0 / contain;
  466. display: flex;
  467. padding: 3.667rem 0.833rem 0;
  468. }
  469. .column{
  470. flex: 3;
  471. position: relative;
  472. }
  473. .column:nth-child(2){
  474. flex: 4;
  475. margin: 1.333rem 0.833rem 0;
  476. }
  477. .panel {
  478. /* 边框 */
  479. box-sizing: border-box;
  480. border: 2px solid red;
  481. border-image: url(../../static/dome/border.png) 51 38 21 132;
  482. border-width: 2.125rem 1.583rem 0.875rem 5.5rem;
  483. position: relative;
  484. margin-bottom: 0.833rem;
  485. }
  486. .panel .inner {
  487. /* 装内容 */
  488. /* height: 60px; */
  489. position: absolute;
  490. top: -2.125rem;
  491. right: -1.583rem;
  492. bottom: -0.875rem;
  493. left: -5.5rem;
  494. padding: 1rem 1.5rem;
  495. }
  496. .panel h3{
  497. font-size: 0.833rem;
  498. color: #fff;
  499. }
  500. /* 概览区域 */
  501. .overview{
  502. height: 4.583rem;
  503. }
  504. .overview .inner{
  505. display: flex;
  506. justify-content: space-between;
  507. }
  508. .overview h4{
  509. font-size: 1.167rem;
  510. padding-left: 0.2rem;
  511. color: #fff;
  512. margin-bottom: 0.333rem
  513. }
  514. .overview span{
  515. font-size: 0.667rem;
  516. color: #4c9bfd;
  517. }
  518. /* 监控 */
  519. .monitor{
  520. height: 20rem;
  521. }
  522. .monitor .inner{
  523. padding: 1rem 0;
  524. display: flex;
  525. flex-direction: column;
  526. }
  527. .monitor .tabs{
  528. padding: 0 1.5rem;
  529. margin-bottom: 0.75rem;
  530. }
  531. .monitor .tabs a{
  532. color: #1950c4;
  533. font-size: 0.75rem;
  534. padding: 0 1.125rem;
  535. }
  536. .monitor .tabs a:first-child{
  537. border-right: 0.083rem solid #00f2f1;
  538. padding-left: 0;
  539. }
  540. .monitor .tabs a.active{
  541. color: #fff;
  542. }
  543. .monitor .content{
  544. flex: 1;
  545. display: none;
  546. position: relative;
  547. }
  548. .monitor .head{
  549. background: rgba(255, 255, 255, 0.1);
  550. font-size: 0.583rem;
  551. padding: 0.5rem 1.5rem;
  552. color: #68d8fe;
  553. display: flex;
  554. justify-content: space-between;
  555. line-height: 1.05;
  556. }
  557. .monitor .col:nth-child(1) {
  558. width: 3.2rem;
  559. }
  560. .monitor .col:nth-child(2) {
  561. width: 8.4rem;
  562. /* 不换行 一行省略*/
  563. white-space: nowrap;
  564. overflow: hidden;
  565. text-overflow: ellipsis;
  566. }
  567. .monitor .col:nth-child(3) {
  568. width: 3.2rem;
  569. }
  570. .monitor .marquee-view{
  571. position: absolute;
  572. top: 1.6rem;
  573. bottom: 0;
  574. width: 100%;
  575. overflow: hidden;
  576. }
  577. .monitor .row{
  578. line-height: 1.05;
  579. padding: 0.5rem 1.5rem;
  580. color: #61a8ff;
  581. font-size: 0.5rem;
  582. position: relative;
  583. display: flex;
  584. justify-content: space-between;
  585. }
  586. .monitor .row:hover{
  587. color:#68d8ff;
  588. background: rgba(255, 255, 255, 0.1);
  589. }
  590. .monitor .row:hover .icon-dot{
  591. opacity: 1;
  592. }
  593. .monitor .icon-dot{
  594. position: absolute;
  595. left: 0.64rem;
  596. opacity: 0;
  597. }
  598. .monitor .marquee-view{
  599. position: absolute;
  600. top: 1.6rem;
  601. bottom: 0;
  602. width: 100%;
  603. overflow: hidden;
  604. }
  605. .monitor .row{
  606. line-height: 1.05;
  607. padding: 0.5rem 1.5rem;
  608. color: #61a8ff;
  609. font-size: 0.5rem;
  610. position: relative;
  611. display: flex;
  612. justify-content: space-between;
  613. }
  614. .monitor .row:hover{
  615. color:#68d8ff;
  616. background: rgba(255, 255, 255, 0.1);
  617. }
  618. .monitor .row:hover .icon-dot{
  619. opacity: 1;
  620. }
  621. .monitor .icon-dot{
  622. position: absolute;
  623. left: 0.64rem;
  624. opacity: 0;
  625. }
  626. /* ------------------------------------------------------------动画 */
  627. @keyframes row{
  628. 0%{}
  629. 100%{
  630. transform: translateY(-50%);
  631. }
  632. }
  633. /* 调用动画 */
  634. .monitor .marquee {
  635. /* //infinite永久调用动画 */
  636. animation: row 10s linear infinite;
  637. }
  638. /*鼠标划入 停止动画 */
  639. .monitor .marquee:hover {
  640. animation-play-state: paused;
  641. }
  642. /* 点位 */
  643. .point {
  644. height: 14.167rem;
  645. }
  646. .point .chart {
  647. display: flex;
  648. margin-top: 1rem;
  649. justify-content: space-between;
  650. }
  651. .point .pie {
  652. width: 13rem;
  653. height: 10rem;
  654. margin-left: -0.4rem;
  655. }
  656. .point .data {
  657. display: flex;
  658. flex-direction: column;
  659. justify-content: space-between;
  660. width: 7rem;
  661. padding: 1.5rem 1.25rem;
  662. box-sizing: border-box;
  663. background-image: url(../../static/dome/rect.png);
  664. background-size: cover;
  665. }
  666. .point h4 {
  667. margin-bottom: 0.5rem;
  668. font-size: 1.167rem;
  669. color: #fff;
  670. }
  671. .point span {
  672. display: block;
  673. color: #4c9bfd;
  674. font-size: 0.667rem;
  675. }
  676. /* 地图 */
  677. .map {
  678. height: 24.1rem;
  679. margin-bottom: 0.833rem;
  680. display: flex;
  681. flex-direction: column;
  682. }
  683. .map h3 {
  684. line-height: 1;
  685. padding: 0.667rem 0;
  686. margin: 0;
  687. font-size: 0.833rem;
  688. color: #fff;
  689. }
  690. .map .icon-cube {
  691. color: #68d8fe;
  692. }
  693. .map .chart {
  694. flex: 1;
  695. background-color: rgba(255, 255, 255, 0.05);
  696. }
  697. .map .geo {
  698. width: 100%;
  699. height: 100%;
  700. }
  701. /* 用户模块 */
  702. .users {
  703. height: 14.167rem;
  704. display: flex;
  705. }
  706. .users .chart {
  707. display: flex;
  708. margin-top: 1rem;
  709. }
  710. .users .bar {
  711. width: 24.5rem;
  712. height: 10rem;
  713. }
  714. .users .data {
  715. display: flex;
  716. flex-direction: column;
  717. justify-content: space-between;
  718. width: 7rem;
  719. padding: 1.5rem 1.25rem;
  720. box-sizing: border-box;
  721. background-image: url(../../static/dome/rect.png);
  722. background-size: cover;
  723. }
  724. .users h4 {
  725. margin-bottom: 0.5rem;
  726. font-size: 1.167rem;
  727. color: #fff;
  728. }
  729. .users span {
  730. display: block;
  731. color: #4c9bfd;
  732. font-size: 0.667rem;
  733. }
  734. /* 订单 */
  735. .order {
  736. height: 6.167rem;
  737. }
  738. .order .filter {
  739. display: flex;
  740. }
  741. .order .filter a {
  742. display: block;
  743. height: 0.75rem;
  744. line-height: 1;
  745. padding: 0 0.75rem;
  746. color: #1950c4;
  747. font-size: 0.75rem;
  748. border-right: 0.083rem solid #00f2f1;
  749. }
  750. .order .filter a:first-child {
  751. padding-left: 0;
  752. }
  753. .order .filter a:last-child {
  754. border-right: none;
  755. }
  756. .order .filter a.active {
  757. color: #fff;
  758. font-size: 0.833rem;
  759. }
  760. .order .data {
  761. display: flex;
  762. margin-top: 0.833rem;
  763. }
  764. .order .item {
  765. width: 50%;
  766. }
  767. .order h4 {
  768. font-size: 1.167rem;
  769. color: #fff;
  770. margin-bottom: 0.417rem;
  771. }
  772. .order span {
  773. display: block;
  774. color: #4c9bfd;
  775. font-size: 0.667rem;
  776. }
  777. /* 销售区域 */
  778. .sales {
  779. height: 10.333rem;
  780. }
  781. .sales .caption {
  782. display: flex;
  783. line-height: 1;
  784. }
  785. .sales h3 {
  786. height: 0.75rem;
  787. padding-right: 0.75rem;
  788. border-right: 0.083rem solid #00f2f1;
  789. }
  790. .sales a {
  791. padding: 0.167rem;
  792. font-size: 0.667rem;
  793. margin: -0.125rem 0 0 0.875rem;
  794. border-radius: 0.125rem;
  795. color: #0bace6;
  796. }
  797. .sales a.active {
  798. background-color: #4c9bfd;
  799. color: #fff;
  800. }
  801. .sales .inner {
  802. display: flex;
  803. flex-direction: column;
  804. }
  805. .sales .chart {
  806. flex: 1;
  807. padding-top: 0.6rem;
  808. position: relative;
  809. }
  810. .sales .label {
  811. position: absolute;
  812. left: 1.75rem;
  813. top: 0.75rem;
  814. color: #4996f5;
  815. font-size: 0.583rem;
  816. }
  817. .sales .line {
  818. width: 100%;
  819. height: 100%;
  820. }
  821. /* 渠道区块 */
  822. .wrap {
  823. display: flex;
  824. }
  825. .channel,
  826. .quarter {
  827. flex: 1;
  828. height: 9.667rem;
  829. }
  830. .channel {
  831. margin-right: 0.833rem;
  832. }
  833. .channel .data {
  834. overflow: hidden;
  835. }
  836. .channel .item {
  837. margin-top: 0.85rem;
  838. }
  839. .channel .item:first-child {
  840. float: left;
  841. }
  842. .channel .item:last-child {
  843. float: right;
  844. }
  845. .channel h4 {
  846. color: #fff;
  847. font-size: 1.333rem;
  848. margin-bottom: 0.2rem;
  849. }
  850. .channel small {
  851. font-size: 50%;
  852. }
  853. .channel span {
  854. display: block;
  855. color: #4c9bfd;
  856. font-size: 0.583rem;
  857. }
  858. /* 季度区块 */
  859. .quarter .inner {
  860. display: flex;
  861. flex-direction: column;
  862. margin: 0 -0.25rem;
  863. }
  864. .quarter .chart {
  865. flex: 1;
  866. padding-top: 0.75rem;
  867. }
  868. .quarter .box {
  869. position: relative;
  870. }
  871. .quarter .label {
  872. transform: translate(-50%, -30%);
  873. color: #fff;
  874. font-size: 1.25rem;
  875. position: absolute;
  876. left: 50%;
  877. top: 50%;
  878. }
  879. .quarter .label small {
  880. font-size: 50%;
  881. }
  882. .quarter .gauge {
  883. height: 3.5rem;
  884. }
  885. .quarter .data {
  886. display: flex;
  887. justify-content: space-between;
  888. }
  889. .quarter .item {
  890. width: 50%;
  891. }
  892. .quarter h4 {
  893. color: #fff;
  894. font-size: 1rem;
  895. margin-bottom: 0.4rem;
  896. }
  897. .quarter span {
  898. display: block;
  899. width: 100%;
  900. white-space: nowrap;
  901. text-overflow: ellipsis;
  902. overflow: hidden;
  903. color: #4c9bfd;
  904. font-size: 0.583rem;
  905. }
  906. /* 排行榜 */
  907. .top {
  908. height: 11.8rem;
  909. }
  910. .top .inner {
  911. display: flex;
  912. }
  913. .top .all {
  914. display: flex;
  915. flex-direction: column;
  916. width: 7rem;
  917. color: #4c9bfd;
  918. font-size: 0.6rem;
  919. vertical-align: middle;
  920. }
  921. .top .all ul {
  922. padding-left: 0.5rem;
  923. margin-top: 0.5rem;
  924. flex: 1;
  925. display: flex;
  926. flex-direction: column;
  927. justify-content: space-around;
  928. }
  929. .top .all li {
  930. overflow: hidden;
  931. }
  932. .top .all [class^="icon-"] {
  933. font-size: 1.5rem;
  934. vertical-align: middle;
  935. margin-right: 0.5rem;
  936. }
  937. .top .province {
  938. flex: 1;
  939. display: flex;
  940. flex-direction: column;
  941. color: #fff;
  942. }
  943. .top .province i {
  944. padding: 0 0.5rem;
  945. margin-top: 0.208rem;
  946. float: right;
  947. font-style: normal;
  948. font-size: 0.583rem;
  949. color: #0bace6;
  950. }
  951. .top .province s {
  952. display: inline-block;
  953. transform: scale(0.8);
  954. text-decoration: none;
  955. }
  956. .top .province .icon-up {
  957. color: #dc3c33;
  958. }
  959. .top .province .icon-down {
  960. color: #36be90;
  961. }
  962. .top .province .data {
  963. flex: 1;
  964. display: flex;
  965. margin-top: 0.6rem;
  966. }
  967. .top .province ul {
  968. flex: 1;
  969. line-height: 1;
  970. margin-bottom: 0.25rem;
  971. }
  972. .top .province ul li {
  973. display: flex;
  974. justify-content: space-between;
  975. }
  976. .top .province ul span {
  977. display: block;
  978. overflow: hidden;
  979. white-space: nowrap;
  980. text-overflow: ellipsis;
  981. }
  982. .top .province ul.sup {
  983. font-size: 0.583rem;
  984. }
  985. .top .province ul.sup li {
  986. color: #4995f4;
  987. padding: 0.5rem;
  988. }
  989. .top .province ul.sup li.active {
  990. color: #a3c6f2;
  991. background-color: rgba(10, 67, 188, 0.2);
  992. }
  993. .top .province ul.sub {
  994. display: flex;
  995. flex-direction: column;
  996. justify-content: space-around;
  997. font-size: 0.5rem;
  998. background-color: rgba(10, 67, 188, 0.2);
  999. }
  1000. .top .province ul.sub li {
  1001. color: #52ffff;
  1002. padding: 0.417rem 0.6rem;
  1003. }
  1004. .clock {
  1005. position: absolute;
  1006. top: -1.5rem;
  1007. right: 1.667rem;
  1008. font-size: 0.833rem;
  1009. color: #0bace6;
  1010. }
  1011. .clock i {
  1012. margin-right: 5px;
  1013. font-size: 0.833rem;
  1014. }
  1015. @media screen and (max-width: 1600px) {
  1016. .top span {
  1017. transform: scale(0.9);
  1018. }
  1019. .top .province ul.sup li {
  1020. padding: 0.4rem 0.5rem;
  1021. }
  1022. .top .province ul.sub li {
  1023. padding: 0.23rem 0.5rem;
  1024. }
  1025. .quarter span {
  1026. transform: scale(0.9);
  1027. }
  1028. }
  1029. </style>