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