SurveyingData.vue 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169
  1. <template>
  2. <div class="solutions-sub-page">
  3. <div class="content-block">
  4. <h2>数据成果</h2>
  5. <p class="lead">无人机测绘可生成多种类型的测绘成果,满足不同应用场景的需求。</p>
  6. <el-row :gutter="30" class="cards-row">
  7. <el-col :xs="24" :sm="12" :md="6">
  8. <div class="deliverable-card">
  9. <div class="card-icon">
  10. <el-icon><Picture /></el-icon>
  11. </div>
  12. <h5>数字正射影像 (DOM)</h5>
  13. <p>高分辨率航拍影像图</p>
  14. </div>
  15. </el-col>
  16. <el-col :xs="24" :sm="12" :md="6">
  17. <div class="deliverable-card">
  18. <div class="card-icon">
  19. <el-icon><Grid /></el-icon>
  20. </div>
  21. <h5>数字表面模型 (DSM)</h5>
  22. <p>包含地物的高程模型</p>
  23. </div>
  24. </el-col>
  25. <el-col :xs="24" :sm="12" :md="6">
  26. <div class="deliverable-card">
  27. <div class="card-icon">
  28. <el-icon><Position /></el-icon>
  29. </div>
  30. <h5>数字高程模型 (DEM)</h5>
  31. <p>裸地高程数据模型</p>
  32. </div>
  33. </el-col>
  34. <el-col :xs="24" :sm="12" :md="6">
  35. <div class="deliverable-card">
  36. <div class="card-icon">
  37. <el-icon><MapLocation /></el-icon>
  38. </div>
  39. <h5>数字线划图 (DLG)</h5>
  40. <p>矢量地形要素图</p>
  41. </div>
  42. </el-col>
  43. </el-row>
  44. <el-row class="content-row">
  45. <el-col :span="24">
  46. <div class="info-box">
  47. <h4><el-icon><FolderOpened /></el-icon> 三维实景模型</h4>
  48. <p>通过倾斜摄影测量技术,可生成高分辨率的三维实景模型,真实还原地表场景,为城市规划、智慧城市建设提供直观的三维数据基础。模型可直接导入 GIS 系统,实现数据的快速更新和高效管理。</p>
  49. </div>
  50. </el-col>
  51. </el-row>
  52. </div>
  53. </div>
  54. </template>
  55. <script setup lang="ts">
  56. import { Picture, Grid, Position, MapLocation, FolderOpened } from '@element-plus/icons-vue'
  57. </script>
  58. <style scoped lang="scss">
  59. @import '@/assets/styles/variables.scss';
  60. @import '@/assets/styles/mixins.scss';
  61. .solutions-sub-page {
  62. padding: $spacer-4 0;
  63. }
  64. .content-block {
  65. h2 {
  66. font-size: $font-size-3xl;
  67. font-weight: $font-weight-bold;
  68. color: $text-primary;
  69. margin-bottom: $spacer-2;
  70. padding-bottom: $spacer-2;
  71. border-bottom: 1px solid $border-color;
  72. }
  73. .lead {
  74. font-size: $font-size-lg;
  75. color: $text-regular;
  76. line-height: 1.8;
  77. margin-bottom: $spacer-3;
  78. }
  79. }
  80. .content-row {
  81. margin-top: $spacer-3;
  82. }
  83. .cards-row {
  84. margin-top: $spacer-3;
  85. }
  86. .deliverable-card {
  87. padding: $spacer-3 $spacer-2;
  88. background: #fff;
  89. border-radius: $radius-lg;
  90. box-shadow: $shadow-md;
  91. text-align: center;
  92. transition: $transition-bounce;
  93. height: 100%;
  94. margin-bottom: $spacer-2;
  95. &:hover {
  96. transform: translateY(-8px);
  97. box-shadow: $shadow-lg, $glow-blue;
  98. }
  99. .card-icon {
  100. width: 60px;
  101. height: 60px;
  102. margin: 0 auto 16px;
  103. background: linear-gradient(135deg, rgba($primary-color, 0.1) 0%, rgba($primary-light, 0.1) 100%);
  104. border-radius: $radius-lg;
  105. display: flex;
  106. align-items: center;
  107. justify-content: center;
  108. .el-icon {
  109. color: $primary-color;
  110. font-size: 28px;
  111. }
  112. }
  113. h5 {
  114. font-size: $font-size-base;
  115. font-weight: $font-weight-semibold;
  116. color: $text-primary;
  117. margin-bottom: 8px;
  118. }
  119. p {
  120. font-size: $font-size-sm;
  121. color: $text-muted;
  122. margin: 0;
  123. }
  124. }
  125. .info-box {
  126. padding: $spacer-3;
  127. background: $bg-lighter;
  128. border-radius: $radius-lg;
  129. border-left: 4px solid $primary-color;
  130. h4 {
  131. display: flex;
  132. align-items: center;
  133. gap: 12px;
  134. font-size: $font-size-lg;
  135. font-weight: $font-weight-semibold;
  136. color: $text-primary;
  137. margin-bottom: 16px;
  138. .el-icon {
  139. color: $primary-color;
  140. font-size: 20px;
  141. }
  142. }
  143. p {
  144. font-size: $font-size-base;
  145. line-height: 1.8;
  146. color: $text-regular;
  147. margin: 0;
  148. }
  149. }
  150. </style>