forked from drone/command-center-dashboard

chenyao
2025-03-31 5390e09386a96a6151c98910b10d310874de67ef
feat:提交降本增效和任务成果接口
3 files modified
55 ■■■■■ changed files
src/api/home/index.js 16 ●●●●● patch | view | raw | blame | history
src/views/Home/components/HomeRight/Synergy.vue 14 ●●●●● patch | view | raw | blame | history
src/views/Home/components/HomeRight/TaskAchievements.vue 25 ●●●●● patch | view | raw | blame | history
src/api/home/index.js
@@ -23,3 +23,19 @@
    method: 'post',
  });
};
// 任务成果
export const getMediaFileCountBy = () => {
  return request({
    url: 'blade-resource/media/api/v1/workspaces/files/getMediaFileCountBy',
    method: 'get',
  });
};
// 降本增效
export const optimizeCostEfficiency = () => {
  return request({
    url: 'drone-device-core/manage/api/v1/devices/optimizeCostEfficiency',
    method: 'get',
  });
};
src/views/Home/components/HomeRight/Synergy.vue
@@ -1,12 +1,26 @@
<script setup>
import CommonTitle from '@/components/CommonTitle.vue';
import { pxToRem } from '@/utils/rem';
import {  optimizeCostEfficiency } from '@/api/home/index.js'
const list = ref([
  { name: '替代人工(人次)', value: 1174, color: '#FFFFFF' },
  { name: '替代车辆(公里)', value: 2345, color: '#FFA768' },
  { name: '节约成本(万元)', value: 12.07, color: '#68FFC8' },
]);
const getStatisticalData = () => {
  optimizeCostEfficiency().then((res) => {
    if (res.data.code !== 200) return;
    let result = res.data.data
    list.value[0].value = result.replaced_manual_times;
    list.value[1].value = result.saved_vehicle_kilometers;
    list.value[2].value = result.total_cost_saved;
  });
};
onMounted(() => {
  getStatisticalData();
});
</script>
<template>
  <CommonTitle title="降本增效" />
src/views/Home/components/HomeRight/TaskAchievements.vue
@@ -5,10 +5,16 @@
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';
import {  getMediaFileCountBy } from '@/api/home/index.js'
const detailsFun = () => {
  console.log('details');
};
// 照片总数
let photoNum = ref(0);
// 视频总数
let videoNum = ref(0);
const list = ref([
  { name: 'AI识别', value: '14656', color: '#6DD7FF', img: data1 },
@@ -16,6 +22,21 @@
  { name: '三维', value: '897', color: '#8EFFAC', img: data3 },
  { name: '正射', value: '1185', color: '#61FFFC', img: data4 },
]);
const getStatisticalData = () => {
  getMediaFileCountBy().then((res) => {
    if (res.data.code !== 0) return;
    let result = res.data.data
    list.value[0].value = result.aiNum;
    list.value[1].value = result.fullNum;
    list.value[2].value = result.gisNum;
    list.value[3].value = result.tifNum;
    photoNum.value = result.phoneNum;
    videoNum.value = result.videoNum;
  });
};
onMounted(() => {
  getStatisticalData();
});
</script>
<template>
  <CommonTitle title="任务成果" @details="detailsFun" />
@@ -28,11 +49,11 @@
          <div class="rawDataContent">
            <div>
              <div class="title">照片总数(张)</div>
              <div class="value">6582</div>
              <div class="value">{{ photoNum }}</div>
            </div>
            <div>
              <div class="title">视频总数(个)</div>
              <div class="value">4785</div>
              <div class="value">{{ videoNum }}</div>
            </div>
          </div>
        </div>