wind-site-weather.vue 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177
  1. // 天气分析
  2. <template>
  3. <div class="wind-site-weather">
  4. <div class="title">风场 {{ nowTime }} 实况</div>
  5. <div class="weather">
  6. <div class="weather-info">
  7. <span class="svg-icon">
  8. <svg-icon class="weather-icon" svgid="svg-duoyun" />
  9. </span>
  10. <div class="temperature-info">
  11. <div class="temperature">{{ sourceMap.wd }} °</div>
  12. <div class="other">
  13. <div>{{ sourceMap.tqmc }}</div>
  14. <span>{{ sourceMap.fx }}</span>
  15. <span>{{ sourceMap.fs }}</span>
  16. </div>
  17. </div>
  18. </div>
  19. <div class="other-info">
  20. <Row>
  21. <Col>
  22. <div class="svg-icon svg-icon-sm svg-icon-green">
  23. <svg-icon svgid="svg-能见度" />
  24. </div>
  25. <div class="value">{{ sourceMap.qxd }}</div>
  26. <div class="text">能见度</div>
  27. </Col>
  28. <Col>
  29. <div class="svg-icon svg-icon-sm svg-icon-green">
  30. <svg-icon svgid="svg-湿度" />
  31. </div>
  32. <div class="value">{{ sourceMap.sd }}</div>
  33. <div class="text">湿度</div>
  34. </Col>
  35. <Col>
  36. <div class="svg-icon svg-icon-sm svg-icon-green">
  37. <svg-icon svgid="svg-气压" />
  38. </div>
  39. <div class="value">{{ sourceMap.dqyl }}kPa</div>
  40. <div class="text">气压</div>
  41. </Col>
  42. <Col>
  43. <div class="svg-icon svg-icon-sm svg-icon-green">
  44. <svg-icon svgid="svg-日出" />
  45. </div>
  46. <div class="value">{{ sunrise }}</div>
  47. <div class="text">日出时间</div>
  48. </Col>
  49. <Col>
  50. <div class="svg-icon svg-icon-sm svg-icon-green">
  51. <svg-icon svgid="svg-日落" />
  52. </div>
  53. <div class="value">{{ sunset }}</div>
  54. <div class="text">日落时间</div>
  55. </Col>
  56. </Row>
  57. </div>
  58. </div>
  59. </div>
  60. </template>
  61. <script>
  62. import Col from "@/components/coms/grid/col.vue";
  63. import Row from "@/components/coms/grid/row.vue";
  64. import SvgIcon from "@/components/coms/icon/svg-icon.vue";
  65. export default {
  66. components: { Row, Col, SvgIcon },
  67. props:{
  68. time: String,
  69. data:{
  70. type:Object,
  71. default:() => { }
  72. }
  73. },
  74. data() {
  75. return {
  76. sourceMap: {},
  77. nowTime: "",
  78. weather: "阴", // 气象法
  79. temperature: "11", // 温度
  80. windDirection: "北风", // 风向
  81. windSpeed: "3-4级", // 风速
  82. visibility: "20KM", //能见度
  83. humidity: "75.0%", // 湿度
  84. pressure: "994kPa", // 气压
  85. sunrise: "4:06", // 日出
  86. sunset: "18:50", // 日落
  87. };
  88. },
  89. created(){},
  90. mounted(){
  91. this.sourceMap=this.data;
  92. },
  93. watch:{
  94. data(res){
  95. this.sourceMap=res;
  96. },
  97. time(value){
  98. this.nowTime = value
  99. }
  100. }
  101. };
  102. </script>
  103. <style lang="less" scoped>
  104. .wind-site-weather {
  105. background: rgba(255, 255, 255, 0.1);
  106. padding: 8px;
  107. display: inline-block;
  108. border: 1px solid #536268;
  109. .title {
  110. font-size: @fontsize;
  111. color: @gray;
  112. }
  113. .weather {
  114. display: inline-flex;
  115. .weather-info {
  116. display: flex;
  117. .title {
  118. display: inline-block;
  119. }
  120. .weather-icon {
  121. width: 50px;
  122. height: 50px;
  123. margin-right: 8px;
  124. }
  125. .temperature-info {
  126. display: flex;
  127. flex-direction: column;
  128. .temperature {
  129. font-size: 1.5625vw;
  130. }
  131. .other {
  132. margin-left: -32px;
  133. margin-right: 8px;
  134. div {
  135. text-align: right;
  136. margin: 8px 0;
  137. }
  138. span {
  139. font-size: 12px;
  140. margin-left: 24px;
  141. }
  142. }
  143. }
  144. }
  145. .other-info {
  146. text-align: center;
  147. font-size: 12px;
  148. .svg-icon {
  149. margin: auto;
  150. }
  151. .text {
  152. color: @gray;
  153. width: 50px;
  154. }
  155. .value {
  156. margin: 4px 0;
  157. }
  158. .col + .col {
  159. margin-left: 8px;
  160. }
  161. }
  162. }
  163. }
  164. </style>