forked from drone/command-center-dashboard

罗广辉
2025-03-27 29588c9524037dc4b7bdeda9dc3f3bea53cb79d7
src/views/Home/components/HomeRight/TaskAchievements.vue
@@ -1,13 +1,56 @@
<script setup>
import CommonTitle from '@/components/CommonTitle.vue';
import { wToR } from '@/utils/pxConver';
import data1 from '@/assets/images/home/homeRight/data1.png';
import data2 from '@/assets/images/home/homeRight/data2.png';
import data3 from '@/assets/images/home/homeRight/data3.png';
import data4 from '@/assets/images/home/homeRight/data4.png';
const detailsFun = () => {
  console.log('details');
};
const list = ref([
  { name: 'AI识别', value: '14656', color: '#6DD7FF', img: data1 },
  { name: '全景', value: '174', color: '#FFAD64', img: data2 },
  { name: '三维', value: '897', color: '#8EFFAC', img: data3 },
  { name: '正射', value: '1185', color: '#61FFFC', img: data4 },
]);
</script>
<template>
  <CommonTitle title="任务成果" @details="detailsFun" />
  <div class="taskAchievements"></div>
  <div :style="{ marginLeft: wToR(14) }">
    <div class="taskAchievements">
      <div class="rawData">
        <div class="bigTitle">原始<br />数据</div>
        <div class="rawDataRight">
          <img src="../../../../assets/images/home/homeRight/rowData.png" alt="" />
          <div class="rawDataContent">
            <div>
              <div class="title">照片总数(张)</div>
              <div class="value">6582</div>
            </div>
            <div>
              <div class="title">视频总数(个)</div>
              <div class="value">4785</div>
            </div>
          </div>
        </div>
      </div>
      <div class="processingData">
        <div class="bigTitle">处理<br />数据</div>
        <div class="data-right">
          <div v-for="item in list">
            <img :src="item.img" alt="" />
            <div class="content">
              <div class="title">{{ item.name }}</div>
              <div class="value" :style="{ color: item.color }">{{ item.value }}</div>
            </div>
          </div>
        </div>
      </div>
    </div>
  </div>
</template>
<style scoped lang="scss">
@@ -20,8 +63,111 @@
    rgba(31, 62, 122, 0.35) 79%,
    rgba(31, 62, 122, 0) 100%
  );
  border-radius: 0px 0px 0px 0px;
  opacity: 0.85;
  margin: hToV(2) 0 hToV(21) 0;
  padding-left: 17px;
  padding-top: hToV(15);
  .rawData {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 353px;
    .rawDataRight {
      width: 295px;
      background: url('@/assets/images/home/homeRight/rawDataBg.png') no-repeat left 32px center/ 100% 100%;
      display: flex;
      > img {
        height: hToV(63);
        width: 63px;
      }
      .rawDataContent {
        display: flex;
        justify-content: space-evenly;
        color: #ffffff;
        width: 0;
        flex-grow: 1;
        padding-top: hToV(12);
        .title {
          font-family: Source Han Sans CN, Source Han Sans CN, serif;
          font-weight: 400;
          font-size: 14px;
          line-height: hToV(13);
          text-align: left;
          margin-bottom: hToV(6);
        }
        .value {
          font-family: YouSheBiaoTiHei, YouSheBiaoTiHei, serif;
          font-weight: 400;
          font-size: 26px;
          line-height: hToV(22);
          text-shadow: 0px 2px 2px rgba(0, 0, 0, 0.25);
          text-align: left;
        }
      }
    }
  }
  .processingData {
    margin-top: hToV(19);
    display: flex;
    align-items: center;
    .data-right {
      width: 289px;
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between;
      gap: hToV(8) 0;
      > div {
        width: 135px;
        height: hToV(42);
        display: flex;
        > img {
          width: 32px;
          height: hToV(32);
          margin-right: 10px;
        }
        .content {
          width: 0;
          flex: 1;
          .title {
            font-family: Source Han Sans CN, Source Han Sans CN;
            font-weight: 400;
            font-size: 14px;
            color: #ffffff;
            line-height: hToV(17);
            text-align: left;
          }
          .value {
            font-family: YouSheBiaoTiHei, YouSheBiaoTiHei;
            font-weight: 400;
            font-size: 24px;
            line-height: hToV(23);
            text-align: left;
          }
        }
      }
    }
  }
}
.bigTitle {
  margin-right: 22px;
  font-family: Source Han Sans CN, Source Han Sans CN, serif;
  font-weight: bold;
  font-size: 18px;
  color: #e1f5ff;
  line-height: hToV(22);
}
</style>