From 5390e09386a96a6151c98910b10d310874de67ef Mon Sep 17 00:00:00 2001
From: chenyao <1219716595@qq.com>
Date: Mon, 31 Mar 2025 18:42:15 +0800
Subject: [PATCH] feat:提交降本增效和任务成果接口
---
src/views/Home/components/HomeRight/TaskAchievements.vue | 25 +++++++++++++++++++++++--
src/api/home/index.js | 16 ++++++++++++++++
src/views/Home/components/HomeRight/Synergy.vue | 14 ++++++++++++++
3 files changed, 53 insertions(+), 2 deletions(-)
diff --git a/src/api/home/index.js b/src/api/home/index.js
index 318eb8e..c79e87a 100644
--- a/src/api/home/index.js
+++ b/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',
+ });
+};
diff --git a/src/views/Home/components/HomeRight/Synergy.vue b/src/views/Home/components/HomeRight/Synergy.vue
index 54e7238..d35ac81 100644
--- a/src/views/Home/components/HomeRight/Synergy.vue
+++ b/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="降本增效" />
diff --git a/src/views/Home/components/HomeRight/TaskAchievements.vue b/src/views/Home/components/HomeRight/TaskAchievements.vue
index 2ad728a..5a79462 100644
--- a/src/views/Home/components/HomeRight/TaskAchievements.vue
+++ b/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>
--
Gitblit v1.9.3