From 1652dae4658228642748ff69ee0fdaa3dfafdfe8 Mon Sep 17 00:00:00 2001
From: 罗广辉 <guanghui.luo@foxmail.com>
Date: Mon, 31 Mar 2025 21:45:33 +0800
Subject: [PATCH] refactor: 重构代码前后顺序
---
src/views/Home/components/HomeRight/TaskAchievements.vue | 70 ++++++++--------
src/views/Home/useEventOperate/EventPopUpBox.vue | 25 +++---
src/views/Home/useUavHome/MapPopUpBox.vue | 24 ++---
src/api/home/index.js | 3
src/views/Home/components/HomeRight/Synergy.vue | 22 ++--
src/views/Home/SearchBox.vue | 54 ++++++------
6 files changed, 98 insertions(+), 100 deletions(-)
diff --git a/src/api/home/index.js b/src/api/home/index.js
index 9a03bb1..5e14779 100644
--- a/src/api/home/index.js
+++ b/src/api/home/index.js
@@ -24,13 +24,14 @@
data
});
};
-// 事件概况
+// 事件概况总数
export const getJobEventTotal = () => {
return request({
url: '/drone-device-core/jobEvent/total',
method: 'get',
});
};
+// 事件概况分类数
export const getJobEventByStatus = (data) => {
return request({
url: '/drone-device-core/jobEvent/eventByStatus',
diff --git a/src/views/Home/SearchBox.vue b/src/views/Home/SearchBox.vue
index 591231a..3691bad 100644
--- a/src/views/Home/SearchBox.vue
+++ b/src/views/Home/SearchBox.vue
@@ -1,3 +1,30 @@
+<template>
+ <div class="searchBox">
+ <div class="searchInput">
+ <el-select v-model="value" placeholder="请选择查询">
+ <el-option
+ v-for="item in options"
+ :key="item.value"
+ :label="item.label"
+ :value="item.value"
+ />
+ </el-select>
+
+ <el-input v-model="input3" placeholder="请输入搜索关键字"></el-input>
+ </div>
+ <div class="searchBtn"></div>
+ <div class="region">
+ <el-select v-model="value2" placeholder="请选择查询">
+ <el-option
+ v-for="item in options1"
+ :key="item.value"
+ :label="item.label"
+ :value="item.value"
+ />
+ </el-select>
+ </div>
+ </div>
+</template>
<script setup>
const input3 = ref('');
@@ -26,33 +53,6 @@
},
];
</script>
-<template>
- <div class="searchBox">
- <div class="searchInput">
- <el-select v-model="value" placeholder="请选择查询">
- <el-option
- v-for="item in options"
- :key="item.value"
- :label="item.label"
- :value="item.value"
- />
- </el-select>
-
- <el-input v-model="input3" placeholder="请输入搜索关键字"></el-input>
- </div>
- <div class="searchBtn"></div>
- <div class="region">
- <el-select v-model="value2" placeholder="请选择查询">
- <el-option
- v-for="item in options1"
- :key="item.value"
- :label="item.label"
- :value="item.value"
- />
- </el-select>
- </div>
- </div>
-</template>
<style scoped lang="scss">
.searchBox {
width: 420px;
diff --git a/src/views/Home/components/HomeRight/Synergy.vue b/src/views/Home/components/HomeRight/Synergy.vue
index d35ac81..6437da8 100644
--- a/src/views/Home/components/HomeRight/Synergy.vue
+++ b/src/views/Home/components/HomeRight/Synergy.vue
@@ -1,3 +1,14 @@
+<template>
+ <CommonTitle title="降本增效" />
+ <div :style="{ marginLeft: pxToRem(14) }">
+ <div class="synergy">
+ <div class="synergy-item" v-for="item in list">
+ <div class="title">{{ item.name }}</div>
+ <div class="value" :style="{ color: item.color }">{{ item.value }}</div>
+ </div>
+ </div>
+ </div>
+</template>
<script setup>
import CommonTitle from '@/components/CommonTitle.vue';
import { pxToRem } from '@/utils/rem';
@@ -22,17 +33,6 @@
getStatisticalData();
});
</script>
-<template>
- <CommonTitle title="降本增效" />
- <div :style="{ marginLeft: pxToRem(14) }">
- <div class="synergy">
- <div class="synergy-item" v-for="item in list">
- <div class="title">{{ item.name }}</div>
- <div class="value" :style="{ color: item.color }">{{ item.value }}</div>
- </div>
- </div>
- </div>
-</template>
<style scoped lang="scss">
.synergy {
diff --git a/src/views/Home/components/HomeRight/TaskAchievements.vue b/src/views/Home/components/HomeRight/TaskAchievements.vue
index 5a79462..d2c73b8 100644
--- a/src/views/Home/components/HomeRight/TaskAchievements.vue
+++ b/src/views/Home/components/HomeRight/TaskAchievements.vue
@@ -1,3 +1,38 @@
+<template>
+ <CommonTitle title="任务成果" @details="detailsFun" />
+ <div :style="{ marginLeft: pxToRem(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">{{ photoNum }}</div>
+ </div>
+ <div>
+ <div class="title">视频总数(个)</div>
+ <div class="value">{{ videoNum }}</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>
<script setup>
import CommonTitle from '@/components/CommonTitle.vue';
import { pxToRem } from '@/utils/rem';
@@ -38,41 +73,6 @@
getStatisticalData();
});
</script>
-<template>
- <CommonTitle title="任务成果" @details="detailsFun" />
- <div :style="{ marginLeft: pxToRem(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">{{ photoNum }}</div>
- </div>
- <div>
- <div class="title">视频总数(个)</div>
- <div class="value">{{ videoNum }}</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">
.taskAchievements {
diff --git a/src/views/Home/useEventOperate/EventPopUpBox.vue b/src/views/Home/useEventOperate/EventPopUpBox.vue
index ed506c3..a5abd92 100644
--- a/src/views/Home/useEventOperate/EventPopUpBox.vue
+++ b/src/views/Home/useEventOperate/EventPopUpBox.vue
@@ -1,16 +1,3 @@
-<script setup>
-import { Close } from '@element-plus/icons-vue';
-
-const list = [
- { name: '执行中', value: '1', color: '#FFA768' },
- { name: '在线', value: '20', color: '#8EFFAC' },
- { name: '离线', value: '14', color: '#FFFFFF' },
- { name: '异常', value: '25', color: '#FF6262' },
-];
-
-const props = defineProps(['data', 'removeLabel']);
-</script>
-
<template>
<div class="mapPopUpBox">
<div class="title">
@@ -34,6 +21,18 @@
</div>
</div>
</template>
+<script setup>
+import { Close } from '@element-plus/icons-vue';
+
+const list = [
+ { name: '执行中', value: '1', color: '#FFA768' },
+ { name: '在线', value: '20', color: '#8EFFAC' },
+ { name: '离线', value: '14', color: '#FFFFFF' },
+ { name: '异常', value: '25', color: '#FF6262' },
+];
+
+const props = defineProps(['data', 'removeLabel']);
+</script>
<style scoped lang="scss">
.mapPopUpBox {
diff --git a/src/views/Home/useUavHome/MapPopUpBox.vue b/src/views/Home/useUavHome/MapPopUpBox.vue
index c49c4df..6a89de9 100644
--- a/src/views/Home/useUavHome/MapPopUpBox.vue
+++ b/src/views/Home/useUavHome/MapPopUpBox.vue
@@ -1,16 +1,3 @@
-<script setup>
-import { Close } from '@element-plus/icons-vue';
-
-const list = [
- { name: '执行中', value: '1', color: '#FFA768' },
- { name: '在线', value: '20', color: '#8EFFAC' },
- { name: '离线', value: '14', color: '#FFFFFF' },
- { name: '异常', value: '25', color: '#FF6262' },
-];
-
-const props = defineProps(['data', 'removeLabel']);
-</script>
-
<template>
<div class="mapPopUpBox">
<div class="header">
@@ -41,7 +28,18 @@
</div>
</div>
</template>
+<script setup>
+import { Close } from '@element-plus/icons-vue';
+const list = [
+ { name: '执行中', value: '1', color: '#FFA768' },
+ { name: '在线', value: '20', color: '#8EFFAC' },
+ { name: '离线', value: '14', color: '#FFFFFF' },
+ { name: '异常', value: '25', color: '#FF6262' },
+];
+
+const props = defineProps(['data', 'removeLabel']);
+</script>
<style scoped lang="scss">
.mapPopUpBox {
width: 418px;
--
Gitblit v1.9.3