From 97555adc116dcffd1e7c32a343bf7e2f41f8c972 Mon Sep 17 00:00:00 2001
From: 罗广辉 <guanghui.luo@foxmail.com>
Date: Tue, 06 Jan 2026 11:33:56 +0800
Subject: [PATCH] 删除无用页面

---
 /dev/null                                                       |  100 ----------
 uniapps/drone-app/src/pages/voiceCall/index.vue                 |   14 +
 uniapps/drone-app/src/pages.json                                |  320 +++++++++++++------------------
 uniapps/drone-app/src/pages/user/index.vue                      |    9 
 uniapps/drone-app/src/App.vue                                   |   10 -
 uniapps/drone-app/src/pages/map/index.vue                       |   10 
 uniapps/drone-app/src/subPackages/userDetail/password/index.vue |    1 
 uniapps/drone-app/src/pages/work/index.vue                      |   88 --------
 8 files changed, 153 insertions(+), 399 deletions(-)

diff --git a/uniapps/drone-app/src/App.vue b/uniapps/drone-app/src/App.vue
index 5101c82..020fe6c 100644
--- a/uniapps/drone-app/src/App.vue
+++ b/uniapps/drone-app/src/App.vue
@@ -49,16 +49,6 @@
   // min-height: 10vh;
 }
 
-.uni-tabbar__item:nth-child(4) {
-  .uni-tabbar__bd {
-    .uni-tabbar__icon {
-      width: 60px !important;
-      height: 60px !important;
-      margin-top: -20px;
-    }
-  }
-}
-
 .uni-tabbar-border {
   background-color: #f6f6f6 !important;
 }
diff --git a/uniapps/drone-app/src/pages.json b/uniapps/drone-app/src/pages.json
index 9cd978c..642517b 100644
--- a/uniapps/drone-app/src/pages.json
+++ b/uniapps/drone-app/src/pages.json
@@ -1,185 +1,137 @@
 {
-  "easycom": {
-    "custom": {
-      "^u--(.*)": "uview-plus/components/u-$1/u-$1.vue",
-      "^up-(.*)": "uview-plus/components/u-$1/u-$1.vue",
-      "^u-([^-].*)": "uview-plus/components/u-$1/u-$1.vue",
-      "^(?!z-paging-refresh|z-paging-load-more)z-paging(.*)": "z-paging/components/z-paging$1/z-paging$1.vue"
-    }
-  },
-  "pages": [
-    {
-      "path": "pages/map/index",
-      "style": {
-        "navigationBarTitleText": "地图",
-        "navigationStyle": "custom"
-      }
-    },
-    {
-      "path": "pages/inspectionTask/index",
-      "style": {
-        "navigationBarTitleText": "巡检任务",
-        "navigationStyle": "custom"
-      }
-    },
-    {
-      "path": "pages/work/index",
-      "style": {
-        "navigationBarTitleText": "事件工单",
-        "navigationStyle": "custom"
-      }
-    },
-    {
-      "path": "pages/user/index",
-      "style": {
-        "navigationBarTitleText": "我的",
-        "navigationStyle": "custom"
-      }
-    },
-    {
-      "path": "pages/login/index",
-      "style": {
-        "navigationBarTitleText": "登录页",
-        "navigationStyle": "custom"
-      }
-    }
-  ],
-  "subPackages": [
-    {
-      "root": "subPackages",
-      "pages": [
-        {
-          "path": "404/index",
-          "style": {
-            "navigationBarTitleText": "404",
-            "navigationStyle": "custom"
-          }
-        },
-        {
-          "path": "droneConsole/index",
-          "style": {
-            "navigationBarTitleText": "直播监控",
-            "navigationStyle": "custom"
-          }
-        },
-        {
-          "path": "taskDetail/addTask/index",
-          "style": {
-            "navigationBarTitleText": "新建任务",
-            "navigationStyle": "custom"
-          }
-        },
-        {
-          "path": "taskDetail/execution/index",
-          "style": {
-            "navigationBarTitleText": "任务详情"
-          }
-        },
-        {
-          "path": "taskDetail/inProgress/index",
-          "style": {
-            "navigationBarTitleText": "任务详情"
-          }
-        },
-        {
-          "path": "workDetail/index",
-          "style": {
-            "navigationBarTitleText": "工单详情"
-          }
-        },
-        {
-          "path": "workDetail/addWork/index",
-          "style": {
-            "navigationBarTitleText": "新建工单"
-          }
-        },
-        {
-          "path": "workDetail/mapWork/index",
-          "style": {
-            "navigationBarTitleText": "地图展示",
-            "navigationStyle": "custom"
-          }
-        },
-        {
-          "path": "workDetail/photoMagnify/index",
-          "style": {
-            "navigationBarTitleText": "照片放大"
-          }
-        },
-        {
-          "path": "userDetail/infos/index",
-          "style": {
-            "navigationBarTitleText": "个人资料"
-          }
-        },
-        {
-          "path": "userDetail/password/index",
-          "style": {
-            "navigationBarTitleText": "修改密码"
-          }
-        },
-        {
-          "path": "browser/index",
-          "style": {
-            "navigationBarTitleText": "地图"
-          }
-        },
-        {
-          "path": "qrCode/index",
-          "style": {
-            "navigationBarTitleText": "扫码",
-            "navigationBarTextStyle": "black"
-          }
-        }
-      ]
-    }
-  ],
-  "tabBar": {
-    "color": "#8c8c8c",
-    "selectedColor": "#1D6FE9",
-    "borderStyle": "black",
-    "backgroundColor": "#ffffff",
-    "list": [
-      {
-        "iconPath": "static/images/tabbar/icon_home1.png",
-        "selectedIconPath": "static/images/tabbar/icon_home_selected.png",
-        "pagePath": "pages/map/index",
-        "text": "地图"
-      },
-      {
-        "iconPath": "static/images/tabbar/icon_list.png",
-        "selectedIconPath": "static/images/tabbar/icon_list_selected.png",
-        "pagePath": "pages/inspectionTask/index",
-        "text": "任务"
-      },
-      // #ifndef MP-WEIXIN
-      {
-        "iconPath": "static/images/tabbar/add.png",
-        "pagePath": "subPackages/taskDetail/addTask/index"
-      },
-      {
-        "iconPath": "static/images/tabbar/drone.png",
-        "visible": "true"
-      },
-      // #endif
-      {
-        "iconPath": "static/images/tabbar/icon_order.png",
-        "selectedIconPath": "static/images/tabbar/icon_order_selected.png",
-        "pagePath": "pages/work/index",
-        "text": "工单"
-      },
-      {
-        "iconPath": "static/images/tabbar/icon_me.png",
-        "selectedIconPath": "static/images/tabbar/icon_me_selected.png",
-        "pagePath": "pages/user/index",
-        "text": "我的"
-      }
-    ]
-  },
-  "globalStyle": {
-    "navigationBarTextStyle": "black",
-    "navigationBarTitleText": "uni-app",
-    "navigationBarBackgroundColor": "#F8F8F8",
-    "backgroundColor": "#F8F8F8"
-  }
-}
\ No newline at end of file
+	"easycom": {
+		"custom": {
+			"^u--(.*)": "uview-plus/components/u-$1/u-$1.vue",
+			"^up-(.*)": "uview-plus/components/u-$1/u-$1.vue",
+			"^u-([^-].*)": "uview-plus/components/u-$1/u-$1.vue",
+			"^(?!z-paging-refresh|z-paging-load-more)z-paging(.*)": "z-paging/components/z-paging$1/z-paging$1.vue"
+		}
+	},
+	"pages": [
+		{
+			"path": "pages/work/index",
+			"style": {
+				"navigationBarTitleText": "事件工单",
+				"navigationStyle": "custom"
+			}
+		},
+		{
+			"path": "pages/voiceCall/index",
+			"style": {
+				"navigationBarTitleText": "通话",
+				"navigationStyle": "custom"
+			}
+		},
+		{
+			"path": "pages/map/index",
+			"style": {
+				"navigationBarTitleText": "地图",
+				"navigationStyle": "custom"
+			}
+		},
+
+		{
+			"path": "pages/user/index",
+			"style": {
+				"navigationBarTitleText": "我的",
+				"navigationStyle": "custom"
+			}
+		},
+		{
+			"path": "pages/login/index",
+			"style": {
+				"navigationBarTitleText": "登录页",
+				"navigationStyle": "custom"
+			}
+		}
+	],
+	"subPackages": [
+		{
+			"root": "subPackages",
+			"pages": [
+				{
+					"path": "404/index",
+					"style": {
+						"navigationBarTitleText": "404",
+						"navigationStyle": "custom"
+					}
+				},
+				{
+					"path": "workDetail/index",
+					"style": {
+						"navigationBarTitleText": "工单详情"
+					}
+				},
+				{
+					"path": "workDetail/addWork/index",
+					"style": {
+						"navigationBarTitleText": "新建工单"
+					}
+				},
+				{
+					"path": "workDetail/mapWork/index",
+					"style": {
+						"navigationBarTitleText": "地图展示",
+						"navigationStyle": "custom"
+					}
+				},
+				{
+					"path": "userDetail/infos/index",
+					"style": {
+						"navigationBarTitleText": "个人资料"
+					}
+				},
+				{
+					"path": "userDetail/password/index",
+					"style": {
+						"navigationBarTitleText": "修改密码"
+					}
+				},
+				{
+					"path": "browser/index",
+					"style": {
+						"navigationBarTitleText": "地图"
+					}
+				}
+			]
+		}
+	],
+	"tabBar": {
+		"color": "#8c8c8c",
+		"selectedColor": "#1D6FE9",
+		"borderStyle": "black",
+		"backgroundColor": "#ffffff",
+		"list": [
+			{
+				"iconPath": "static/images/tabbar/icon_order.png",
+				"selectedIconPath": "static/images/tabbar/icon_order_selected.png",
+				"pagePath": "pages/work/index",
+				"text": "工单"
+			},
+			{
+				"iconPath": "static/images/tabbar/icon_order.png",
+				"selectedIconPath": "static/images/tabbar/icon_order_selected.png",
+				"pagePath": "pages/voiceCall/index",
+				"text": "通话"
+			},
+			{
+				"iconPath": "static/images/tabbar/icon_home1.png",
+				"selectedIconPath": "static/images/tabbar/icon_home_selected.png",
+				"pagePath": "pages/map/index",
+				"text": "地图"
+			},
+			{
+				"iconPath": "static/images/tabbar/icon_me.png",
+				"selectedIconPath": "static/images/tabbar/icon_me_selected.png",
+				"pagePath": "pages/user/index",
+				"text": "我的"
+			}
+		]
+	},
+	"globalStyle": {
+		"navigationBarTextStyle": "black",
+		"navigationBarTitleText": "uni-app",
+		"navigationBarBackgroundColor": "#F8F8F8",
+		"backgroundColor": "#F8F8F8"
+	}
+}
diff --git a/uniapps/drone-app/src/pages/dispatcher/index.vue b/uniapps/drone-app/src/pages/dispatcher/index.vue
deleted file mode 100644
index 4040a88..0000000
--- a/uniapps/drone-app/src/pages/dispatcher/index.vue
+++ /dev/null
@@ -1,85 +0,0 @@
-<template>
-  <view></view>
-</template>
-
-<script setup>
-import { onShow, onHide } from "@dcloudio/uni-app";
-import { ref } from "vue";
-
-// 标记是否已经跳转过,防止从子页面返回时再次触发跳转
-const isNavigating = ref(false);
-
-onShow(() => {
-  const lastTab = uni.getStorageSync("lastTab");
-
-  // 如果是跳转后返回的状态(isNavigating为true),则说明用户取消了操作或完成了操作返回
-  // 此时应该回到之前的Tab页
-  if (isNavigating.value) {
-    isNavigating.value = false; // 重置标志位
-    if (lastTab === "task") {
-      uni.switchTab({ url: "/pages/inspectionTask/index" });
-    } else if (lastTab === "work") {
-      uni.switchTab({ url: "/pages/work/index" });
-    } else if (lastTab === "user") {
-      uni.switchTab({ url: "/pages/user/index" });
-    } else {
-      uni.switchTab({ url: "/pages/map/index" });
-    }
-    return;
-  }
-
-  // 根据上一个页面决定跳转逻辑
-  if (lastTab === "task") {
-    // 任务页面 -> 跳转新建任务
-    isNavigating.value = true;
-    uni.navigateTo({
-      url: "/subPackages/taskDetail/addTask/index",
-      fail: (err) => {
-        console.error("Navigate to addTask failed:", err);
-        isNavigating.value = false;
-        // 如果跳转失败,返回上一页
-        uni.switchTab({ url: "/pages/inspectionTask/index" });
-      },
-    });
-  } else if (lastTab === "work") {
-    // 工单页面 -> 跳转新建工单
-    isNavigating.value = true;
-    uni.navigateTo({
-      url: "/subPackages/workDetail/addWork/index",
-      fail: (err) => {
-        console.error("Navigate to addWork failed:", err);
-        isNavigating.value = false;
-        uni.switchTab({ url: "/pages/work/index" });
-      },
-    });
-  } else {
-    // 地图或我的页面 -> 仅占位,不跳转,提示并返回
-    uni.showToast({
-      title: "此功能暂未开放",
-      icon: "none",
-      duration: 2000,
-    });
-
-    // 返回上一个Tab
-    if (lastTab === "user") {
-      uni.switchTab({ url: "/pages/user/index" });
-    } else {
-      // 默认为地图
-      uni.switchTab({ url: "/pages/map/index" });
-    }
-  }
-});
-
-onHide(() => {
-  // 页面隐藏时,如果是切换到了其他Tab(不是navigateTo),可能需要重置?
-  // 不,如果是navigateTo,页面隐藏是正常的,flag保持true。
-  // 如果是switchTab出去,flag应该是false(因为已经处理过了)。
-  // 唯一风险是:如果navigateTo之前就switchTab了?(不可能,逻辑是同步的)
-});
-</script>
-
-<style>
-page {
-  background-color: transparent;
-}
-</style>
diff --git a/uniapps/drone-app/src/pages/inspectionTask/AppPowerful.vue b/uniapps/drone-app/src/pages/inspectionTask/AppPowerful.vue
deleted file mode 100644
index af1edb0..0000000
--- a/uniapps/drone-app/src/pages/inspectionTask/AppPowerful.vue
+++ /dev/null
@@ -1,34 +0,0 @@
-<template>
-  <web-view ref="sWebViewRef" :src="src"
-            @message="viewMessage"/>
-</template>
-
-<script setup>
-import {onLoad} from "@dcloudio/uni-app";
-
-const src = defineModel('src')
-const emit = defineEmits(['webMessage'])
-
-function viewMessage(event) {
-  messageFun({data: {data: {arg: event.detail.data[0]}}})
-}
-
-function messageFun(e) {
-  emit('webMessage', e.data.data.arg)
-}
-
-onShow(() => {
-  console.log('show')
-  window.addEventListener('message', messageFun)
-})
-onHide(() => {
-  console.log('hide')
-  window.removeEventListener('message', messageFun)
-})
-
-
-</script>
-
-<style scoped lang="scss">
-
-</style>
diff --git a/uniapps/drone-app/src/pages/inspectionTask/index.vue b/uniapps/drone-app/src/pages/inspectionTask/index.vue
deleted file mode 100644
index 4955d45..0000000
--- a/uniapps/drone-app/src/pages/inspectionTask/index.vue
+++ /dev/null
@@ -1,99 +0,0 @@
-<!-- 巡检任务 -->
-<template>
-  <view>
-    <WebViewPlus :src="`${viewUrl}`" @webMessage="onPostMessage" />
-  </view>
-</template>
-
-<script setup>
-import { getWebViewUrl } from "@/utils/index.js";
-import WebViewPlus from "@/components/WebViewPlus.vue";
-import { onHide, onShow } from "@dcloudio/uni-app";
-import { useAppStore } from "@/store/index.js";
-
-const appStore = useAppStore();
-
-// const viewUrl = getWebViewUrl('/inspectionTask')
-
-const updateKey = ref(0);
-const sxListKey = ref(0);
-const viewUrl = computed(() => {
-  // #ifdef MP-WEIXIN
-  return getWebViewUrl("/inspectionTask", {
-    updateKey: updateKey.value,
-    sxListKey: sxListKey.value,
-    showAddBtn: 1,
-  });
-  // #endif
-
-  // #ifndef MP-WEIXIN
-  return getWebViewUrl("/inspectionTask", {
-    updateKey: updateKey.value,
-    sxListKey: sxListKey.value,
-    showAddBtn: 0,
-  });
-  // #endif
-});
-
-watch(
-  () => [appStore.jobUpdateKey, appStore.deviceUpdateKey],
-  () => {
-    sxListKey.value = sxListKey.value + 1;
-  }
-);
-
-function onPostMessage(data) {
-  if (data.type === "taskDetails") {
-    // #ifdef MP-WEIXIN
-    // #endif
-
-    // #ifndef MP-WEIXIN
-    if ([1, 2].includes(data.rowItem.status)) {
-      uni.navigateTo({
-        url: `/subPackages/taskDetail/inProgress/index?wayLineJobInfoId=${data.rowItem.id}&batchNo=${data.rowItem.batch_no}`,
-      });
-    } else {
-      uni.navigateTo({
-        url: `/subPackages/taskDetail/execution/index?wayLineJobInfoId=${data.rowItem.id}&waylineJobId=${data.rowItem.wayline_job_id}&batch_no=${data.rowItem.batch_no}`,
-      });
-    }
-    // #endif
-  }
-
-  if (data.type === "addTask") {
-    // #ifdef MP-WEIXIN
-    // #endif
-  }
-}
-
-onShow(() => {
-  const joinParams = uni.getStorageSync("joinParams");
-  if (joinParams) {
-    // 使用后清除
-    console.log("是否打印", updateKey.value);
-    updateKey.value = updateKey.value + 1;
-    uni.removeStorageSync("joinParams");
-  }
-  // isApp.value = true
-  // 清除数据
-  const encodedData = encodeURIComponent(JSON.stringify({ device_sn: "" }));
-  uni.setStorageSync("webview_params", encodedData);
-
-  // #ifndef MP-WEIXIN
-  uni.setTabBarItem({
-    index: 2, // Tab 的索引(从0开始)
-    visible: true,
-    pagePath: "subPackages/taskDetail/addTask/index",
-  });
-  uni.setTabBarItem({
-    index: 3, // Tab
-    visible: false,
-  });
-  // #endif
-});
-
-onHide(() => {
-  // isApp.value = false
-});
-</script>
-<style scoped lang="scss"></style>
diff --git a/uniapps/drone-app/src/pages/map/index.vue b/uniapps/drone-app/src/pages/map/index.vue
index b92167f..f4cd718 100644
--- a/uniapps/drone-app/src/pages/map/index.vue
+++ b/uniapps/drone-app/src/pages/map/index.vue
@@ -75,15 +75,7 @@
 
 onShow(() => {
   // #ifndef MP-WEIXIN
-  uni.setTabBarItem({
-    index: 2, // Tab 的索引(从0开始)
-    visible: false,
-    pagePath: "subPackages/taskDetail/addTask/index",
-  });
-  uni.setTabBarItem({
-    index: 3, // Tab
-    visible: true,
-  });
+
   // #endif
 });
 
diff --git a/uniapps/drone-app/src/pages/placeholder/placeholder.vue b/uniapps/drone-app/src/pages/placeholder/placeholder.vue
deleted file mode 100644
index 8a7c737..0000000
--- a/uniapps/drone-app/src/pages/placeholder/placeholder.vue
+++ /dev/null
@@ -1,11 +0,0 @@
-<!-- 登录页 -->
-<template>
-  <view>占位页</view>
-</template>
-
-<script setup>
-
-</script>
-
-<style lang="scss" scoped>
-</style>
diff --git a/uniapps/drone-app/src/pages/user/index.vue b/uniapps/drone-app/src/pages/user/index.vue
index 2a9e7d0..d265770 100644
--- a/uniapps/drone-app/src/pages/user/index.vue
+++ b/uniapps/drone-app/src/pages/user/index.vue
@@ -96,14 +96,7 @@
   getUserInfoData();
 
   // #ifndef MP-WEIXIN
-  uni.setTabBarItem({
-    index: 2, // Tab 的索引(从0开始)
-    visible: false,
-  });
-  uni.setTabBarItem({
-    index: 3, // Tab
-    visible: true,
-  });
+
   // #endif
 });
 </script>
diff --git a/uniapps/drone-app/src/pages/voiceCall/index.vue b/uniapps/drone-app/src/pages/voiceCall/index.vue
new file mode 100644
index 0000000..a8deaa9
--- /dev/null
+++ b/uniapps/drone-app/src/pages/voiceCall/index.vue
@@ -0,0 +1,14 @@
+<template>
+	<view class="eventTickets">
+		语音通话
+	</view>
+</template>
+
+<script setup></script>
+
+<style scoped lang="scss">
+.eventTickets {
+	width: 100%;
+	height: 100%;
+}
+</style>
diff --git a/uniapps/drone-app/src/pages/work/index.vue b/uniapps/drone-app/src/pages/work/index.vue
index ac51a5f..8931541 100644
--- a/uniapps/drone-app/src/pages/work/index.vue
+++ b/uniapps/drone-app/src/pages/work/index.vue
@@ -1,97 +1,11 @@
-<!--
- * @Author       : yuan
- * @Date         : 2025-12-18 10:06:30
- * @LastEditors  : yuan
- * @LastEditTime : 2025-12-20 14:18:42
- * @FilePath     : \src\pages\work\index.vue
- * @Description  :
- * Copyright 2025 OBKoro1, All Rights Reserved.
- * 2025-12-18 10:06:30
--->
 <template>
   <view class="eventTickets">
-    <WebViewPlus
-      ref="sWebViewRef"
-      :src="`${viewUrl}`"
-      @webMessage="onPostMessage"
-    />
+    工单
   </view>
 </template>
 
 <script setup>
-import { getWebViewUrl } from "@/utils/index.js";
-import WebViewPlus from "@/components/WebViewPlus.vue";
-import { useTabAddButton } from "@/hooks/index.js";
-import { onShow, onHide } from "@dcloudio/uni-app";
 
-const sWebViewRef = ref(null);
-// const viewUrl = getWebViewUrl('/work', {})
-const updateKey = ref(0);
-const viewUrl = computed(() => {
-  // #ifdef MP-WEIXIN
-  return getWebViewUrl("/work", {
-    updateKey: updateKey.value,
-    showAddBtn: 1,
-  });
-  // #endif
-
-  // #ifndef MP-WEIXIN
-  return getWebViewUrl("/work", {
-    updateKey: updateKey.value,
-    showAddBtn: 0,
-  });
-  // #endif
-});
-
-function onPostMessage(data) {
-  // #ifdef MP-WEIXIN
-  if (data.type === "addWork") {
-  }
-  // #endif
-
-  // #ifndef MP-WEIXIN
-  if (data.type === "jumpMapNav") {
-    uni.navigateTo({
-      url: `/subPackages/workDetail/mapWork/index?currentItem=${data.eventNum}`,
-    });
-  } else if (data.type === "workid") {
-    uni.navigateTo({
-      url: `/subPackages/workDetail/index?eventNum=${data.eventNum}&totalNum=${data.totalNum}&keyword=${data.keyword}&aiType=${data.aiType}&status=${data.status}&current=${data.current}`,
-    });
-  } else if (data.type === "bigImage") {
-    uni.navigateTo({
-      url: `/subPackages/workDetail/photoMagnify/index?eventNum=${data.eventNum}`,
-    });
-  }
-  // #endif
-}
-const isApp = ref(false);
-onShow(() => {
-  const joinParams = uni.getStorageSync("joinParams");
-  if (joinParams) {
-    updateKey.value = updateKey.value + 1;
-    uni.removeStorageSync("joinParams");
-  }
-
-  // #ifndef MP-WEIXIN
-  uni.setTabBarItem({
-    index: 2, // Tab 的索引(从0开始)
-    // text: '新建工单',
-    visible: true,
-    pagePath: "subPackages/workDetail/addWork/index",
-  });
-  uni.setTabBarItem({
-    index: 3, // Tab
-    visible: false,
-  });
-  // #endif
-
-  // isApp.value = true
-});
-
-onHide(() => {
-  // isApp.value = false
-});
 </script>
 
 <style scoped lang="scss">
diff --git a/uniapps/drone-app/src/subPackages/droneConsole/index.vue b/uniapps/drone-app/src/subPackages/droneConsole/index.vue
deleted file mode 100644
index a947943..0000000
--- a/uniapps/drone-app/src/subPackages/droneConsole/index.vue
+++ /dev/null
@@ -1,111 +0,0 @@
-<template>
-  <WebViewPlus :src="`${viewUrl}`" @webMessage="onPostMessage"/>
-  <up-toast ref="uNotifyRef"></up-toast>
-</template>
-<script setup>
-import {onHide, onLoad, onShow} from "@dcloudio/uni-app";
-import WebViewPlus from "@/components/WebViewPlus.vue";
-import {getEnvObj, getWebViewUrl} from "@/utils/index.js";
-import Recorder from "js-audio-recorder";
-import dayjs from "dayjs";
-import {useUserStore} from "@/store/index.js";
-
-const queryParams = ref({})
-
-const viewUrl = computed(() => {
-  return getWebViewUrl('/DroneConsole', queryParams.value)
-})
-
-function onPostMessage(data) {
-  if (data.type === 'back'){
-    // uni.navigateTo({
-    //   url: `/subPackages/inProgress/index?wayLineJobInfoId=${data.taskDetails.id}`
-    // });
-    // #ifdef H5
-    window.history.back()
-    // #endif
-
-    // #ifdef APP-PLUS
-    uni.navigateBack({
-      delta: 1 // 返回的页面数,默认1(返回上一页)
-    });
-    // #endif
-  }
-}
-
-
-// 文件上传demo
-const {VITE_API_BASE_URL} = getEnvObj()
-function uploadUtil(options) {
-  const {formData, file, url} = options
-  return new Promise((resolve, reject) => {
-    let accessToken = useUserStore()?.$state?.userInfo?.access_token;
-    const file = new File([recorder.getWAVBlob()], '.wav')
-    uni.uploadFile({
-      url: `${VITE_API_BASE_URL}${url}`,
-      name: 'file',
-      header: {'Blade-Auth': 'bearer ' + accessToken},
-      file,
-      formData,
-      success: (res) => {
-        const resData = JSON.parse(res.data)
-        if (resData.code === 200 || resData.code === 0) {
-          resolve(res)
-        } else {
-          showToast(resData.message)
-          reject(res)
-        }
-      },
-      fail: (err) => {
-        reject(err)
-      }
-    });
-  })
-}
-
-function showToast(message) {
-  uNotifyRef.value.show({
-    type: 'default',
-    message,
-  });
-}
-
-
-// 保存喊话至广播列表内
-function saveSound(data) {
-  const recorder = 'xxx'
-  const file = new File([recorder?.getWAVBlob()], '.wav')
-  uploadUtil({
-    file,
-    formData: {
-      fileName: 'xxx',
-      sn: 'xxx',
-    },
-    url: '/drone-device-core/speak/api/v1/uploadSpeak'
-  }).then(res => {
-    showToast('保存成功')
-  })
-}
-
-onLoad((options) => {
-  queryParams.value = options
-})
-
-
-onShow(() => {
-  // #ifdef APP-PLUS
-  plus.navigator.setFullscreen(true); // 加入全屏
-  plus.screen.lockOrientation("landscape-primary");//横屏
-  // #endif
-});
-
-onHide(() => {
-  // #ifdef APP-PLUS
-  plus.navigator.setFullscreen(false);
-  plus.screen.lockOrientation("portrait-primary");
-  // #endif
-});
-</script>
-<style scoped lang="scss">
-
-</style>
diff --git a/uniapps/drone-app/src/subPackages/inspectionTask/taskDetails.vue b/uniapps/drone-app/src/subPackages/inspectionTask/taskDetails.vue
deleted file mode 100644
index f623b08..0000000
--- a/uniapps/drone-app/src/subPackages/inspectionTask/taskDetails.vue
+++ /dev/null
@@ -1,59 +0,0 @@
-<template>
-  <view class="task-details">
-    <view>
-      <web-view
-        ref="sWebViewRef"
-        :src='`${viewUrl}?token=${token}&wayLineJobInfoId=${active.id}`'
-        @message="onPostMessage"
-        @onPostMessage="onPostMessage"
-      />
-    </view>
-    <view>
-      <view>任务内容</view>
-      <view>任务编号:{{taskData.job_info_num  }}</view>
-      <view>任务名称:{{ taskData.name }}</view>
-      <view>任务类型:{{ taskData.industry_type_str }}</view>
-      <view>飞行事件:{{  }}</view>
-      <view>所属单位:{{ taskData.dept_name }}</view>
-      <view>所属机巢:{{ taskData.device_names }}</view>
-      <view>任务时间:{{ taskData.cycle_time_value }}</view>
-      <view>任务频次:{{  }}</view>
-      <view>关联算法:{{  }}</view>
-      <view>任务描述:{{ taskData.reason }}</view>
-    </view>
-  </view>
-</template>
-
-<script setup>
-
-import {onHide, onShow} from "@dcloudio/uni-app";
-import {useUserStore} from "@/store/index.js";
-const active = defineModel('active')
-const sWebViewRef = ref(null)
-const viewUrl = 'http://192.168.1.15:5173/drone-app-web-view/#/appTaskDetails'
-const userStore = useUserStore()
-const token = computed(() => userStore?.userInfo?.access_token)
-
-import {onLoad} from "@dcloudio/uni-app";
-
-// const active = defineModel('active')
-// console.log(active.value, '555')
-function onPostMessage(event) {
-  if (event.detail.data[0].type === 'back'){
-    active.value = null
-  }
-}
-// 获取传参
-const taskData = ref({})
-
-onLoad((options)=>{
-  taskData.value = JSON.parse(decodeURIComponent(options.rowItem))
-})
-
-
-</script>
-
-<style scoped lang="scss">
-.task-details {
-}
-</style>
diff --git a/uniapps/drone-app/src/subPackages/qrCode/index.vue b/uniapps/drone-app/src/subPackages/qrCode/index.vue
deleted file mode 100644
index b8a10a7..0000000
--- a/uniapps/drone-app/src/subPackages/qrCode/index.vue
+++ /dev/null
@@ -1,45 +0,0 @@
-<!--
- * @Author       : yuan
- * @Date         : 2025-10-14 17:43:52
- * @LastEditors  : yuan
- * @LastEditTime : 2025-12-19 15:33:48
- * @FilePath     : \src\subPackages\qrCode\index.vue
- * @Description  : 
- * Copyright 2025 OBKoro1, All Rights Reserved. 
- * 2025-10-14 17:43:52
--->
-<template>
-  <view class="page-wrap">
-    <WebViewPlus :src="`${viewUrl}`" @webMessage="onPostMessage" />
-  </view>
-</template>
-
-<script setup>
-import { getWebViewUrl } from "@/utils/index.js";
-import WebViewPlus from "@/components/WebViewPlus.vue";
-
-const viewUrl = getWebViewUrl("/QrCodeScanner");
-
-const onPostMessage = (data) => {
-  if (data.type === "browser") {
-    // #ifdef MP-WEIXIN
-
-    // #endif
-
-    // #ifndef MP-WEIXIN
-    uni.navigateTo({
-      url:
-        "/subPackages/browser/index?url=" + encodeURIComponent(data.data.url),
-    });
-    // #endif
-  }
-};
-
-onLoad(() => {});
-</script>
-
-<style lang="scss" scoped>
-.page-wrap {
-  font-size: 20px;
-}
-</style>
diff --git a/uniapps/drone-app/src/subPackages/taskDetail/addTask/index.vue b/uniapps/drone-app/src/subPackages/taskDetail/addTask/index.vue
deleted file mode 100644
index f175785..0000000
--- a/uniapps/drone-app/src/subPackages/taskDetail/addTask/index.vue
+++ /dev/null
@@ -1,85 +0,0 @@
-<!-- 新建任务 -->
-<template>
-  <WebViewPlus v-if="isApp" :src="`${viewUrl}`" @webMessage="onPostMessage" />
-</template>
-
-<script setup>
-import WebViewPlus from "@/components/WebViewPlus.vue";
-
-import { getWebViewUrl } from "@/utils/index.js";
-import { onHide, onLoad, onShow } from "@dcloudio/uni-app";
-
-// const viewUrl = ref(getWebViewUrl('/addTask'))
-const sWebViewRef = ref(null);
-const viewUrl = ref("");
-
-function onPostMessage(data) {
-  if (data.type === "submitSuccess") {
-    // #ifdef MP-WEIXIN
-    if ("fun" in data && data.fun === "add") {
-      uni.setStorageSync("joinParams", {
-        type: "add",
-      });
-    }
-    // #endif
-
-    // #ifndef MP-WEIXIN
-    uni.setStorageSync("joinParams", {
-      type: "add",
-    });
-    // console.log('打印新增成功')
-    uni.switchTab({
-      url: "/pages/inspectionTask/index",
-    });
-    // #endif
-
-    // uni.redirectTo({
-    //   url: `/pages/inspectionTask/index?addLog=1111`
-    // });
-  }
-}
-
-// onLoad( (options) => {
-//   console.log(options, '8888')
-//   const sns = options.device_sn
-//
-// });
-const isApp = ref(false);
-
-// #ifdef MP-WEIXIN
-onLoad((options) => {
-  isApp.value = true;
-  let params = {};
-  if ("data" in options) {
-    try {
-      params = JSON.parse(options.data);
-    } catch (e) {
-      console.error(e);
-    }
-  }
-  viewUrl.value = getWebViewUrl("/addTask", params);
-});
-// #endif
-
-// #ifndef MP-WEIXIN
-onShow(() => {
-  isApp.value = true;
-  let params = {};
-  const encodedData = uni.getStorageSync("webview_params");
-  if (encodedData) {
-    try {
-      params = JSON.parse(decodeURIComponent(encodedData));
-    } catch (e) {
-      console.error(e);
-    }
-  }
-  viewUrl.value = getWebViewUrl("/addTask", params);
-});
-// #endif
-
-onHide(() => {
-  isApp.value = false;
-});
-</script>
-
-<style lang="scss" scoped></style>
diff --git a/uniapps/drone-app/src/subPackages/taskDetail/execution/index.vue b/uniapps/drone-app/src/subPackages/taskDetail/execution/index.vue
deleted file mode 100644
index 8a11578..0000000
--- a/uniapps/drone-app/src/subPackages/taskDetail/execution/index.vue
+++ /dev/null
@@ -1,55 +0,0 @@
-<!-- 已执行 -->
-<template>
-  <WebViewPlus v-if="isApp" :src="`${viewUrl}`" @webMessage="onPostMessage"/>
-</template>
-
-<script setup>
-import {onHide, onLoad, onShow} from "@dcloudio/uni-app";
-import WebViewPlus from "@/components/WebViewPlus.vue";
-import {getWebViewUrl} from "@/utils/index.js";
-
-const wayLineJobInfoId = ref(null)
-const viewUrl = ref('')
-// const viewUrl = ref(getWebViewUrl('/execution'))
-
-// function onPostMessage(data) {
-//   console.log(data, '9999')
-//   if (data.type === 'taskDetails'){
-//     console.log('4444')
-//     uni.switchTab({
-//       url: '/subPackages/taskDetail/execution/index'
-//     });
-//   }
-// }
-function onPostMessage(data) {
-  if (data.type === 'back') {
-    uni.switchTab({
-      url: '/pages/inspectionTask/index'
-    });
-  } else if (data.type === 'control') {
-    uni.redirectTo({
-      url: `/pages/inspectionTask/execution/index?wayLineJobInfoId=${wayLineJobInfoId.value}`
-    });
-  } else if(data.type === 'workid') {
-    uni.navigateTo({
-      url: `/subPackages/workDetail/index?eventNum=${data.eventNum}&wLJobInfoId=${data.wLJobInfoId}&current=${data.current}`
-    });
-  }
-}
-
-onLoad((options) => {
-  wayLineJobInfoId.value = options.wayLineJobInfoId
-  viewUrl.value = getWebViewUrl('/execution', {wayLineJobInfoId: wayLineJobInfoId.value, waylineJobId: options.waylineJobId, batch_no: options.batch_no})
-})
-const isApp = ref(false)
-onShow(() => {
-  isApp.value = true
-});
-
-onHide(() => {
-  // 如果工单详情返回任务详情,那么tab栏对应的是关联事件一项
-  // isApp.value = false
-});
-</script>
-
-<style lang="scss" scoped></style>
diff --git a/uniapps/drone-app/src/subPackages/taskDetail/inProgress/index.vue b/uniapps/drone-app/src/subPackages/taskDetail/inProgress/index.vue
deleted file mode 100644
index 5e1dd5c..0000000
--- a/uniapps/drone-app/src/subPackages/taskDetail/inProgress/index.vue
+++ /dev/null
@@ -1,61 +0,0 @@
-<template>
-  <WebViewPlus
-    v-if="showComponent"
-    :src="`${viewUrl}`"
-    @webMessage="onPostMessage"
-  />
-</template>
-
-<script setup>
-import WebViewPlus from "@/components/WebViewPlus.vue";
-import { getWebViewUrl } from "@/utils/index.js";
-import { onHide, onLoad, onShow } from "@dcloudio/uni-app";
-
-const wayLineJobInfoId = ref(null);
-const batchNo = ref(null)
-const viewUrl = ref("");
-const showComponent = ref(false);
-function onPostMessage(data) {
-  // #ifdef MP-WEIXIN
-  // #endif
-
-  // #ifndef MP-WEIXIN
-  if (data.type === "back") {
-    uni.switchTab({
-      url: "/pages/inspectionTask/index",
-    });
-  } else if (data.type === "control") {
-    uni.navigateTo({
-      url: `/subPackages/droneConsole/index?wayLineJobInfoId=${wayLineJobInfoId.value}&dockSn=${data.dockSn}&batchNo=${batchNo.value}`,
-    });
-  }
-  // #endif
-}
-
-onLoad((queryParams) => {
-  wayLineJobInfoId.value = queryParams.wayLineJobInfoId;
-  batchNo.value = queryParams.batchNo
-  viewUrl.value = getWebViewUrl("/TaskInProgress", {
-    wayLineJobInfoId: wayLineJobInfoId.value,
-    batchNo: batchNo.value,
-  });
-});
-
-onShow(function () {
-  showComponent.value = true;
-  // #ifdef APP-PLUS
-  plus.navigator.setFullscreen(false);
-  plus.screen.lockOrientation("portrait-primary");
-  // #endif
-});
-
-onHide(() => {
-  showComponent.value = false;
-});
-</script>
-
-<style scoped lang="scss">
-.page-wrap {
-  font-size: 20px;
-}
-</style>
diff --git a/uniapps/drone-app/src/subPackages/theme/index.vue b/uniapps/drone-app/src/subPackages/theme/index.vue
deleted file mode 100644
index 5fb8fa9..0000000
--- a/uniapps/drone-app/src/subPackages/theme/index.vue
+++ /dev/null
@@ -1,100 +0,0 @@
-<template>
-  <view class="theme-bg min-h-screen p-5" :class="themeClass">
-    <!-- 主题模式选择 -->
-    <view class="mb-5">
-      <view class="theme-text-content mb-5 px-5 text-28rpx font-medium">
-        主题模式
-      </view>
-      <view class="theme-bg-secondary overflow-hidden rounded-12rpx">
-        <view
-          v-for="option in themeOptions"
-          :key="option.value"
-          class="flex items-center border-b px-5 py-7.5 transition-all duration-300"
-          :class="{ 'theme-bg-secondary': theme === option.value }"
-          @click="setTheme(option.value)"
-        >
-          <view class="mr-5">
-            <view class="text-48rpx c-primary" :class="option.icon" />
-          </view>
-          <view class="flex-1">
-            <text class="theme-text mb-2 block text-28rpx font-medium">
-              {{ option.label }}
-            </text>
-            <text class="theme-text-tips block text-24rpx">
-              {{ option.description }}
-            </text>
-          </view>
-          <view v-if="theme === option.value" class="ml-5">
-            <u-icon name="checkmark" color="var(--theme-primary)" size="20" />
-          </view>
-        </view>
-      </view>
-    </view>
-
-    <!-- 主题预览 -->
-    <view class="mb-5">
-      <view class="theme-text-content mb-5 px-5 text-28rpx font-medium">
-        主题预览
-      </view>
-      <view class="theme-bg-secondary rounded-12rpx p-7.5">
-        <view class="mb-7.5">
-          <text class="theme-text text-28rpx font-medium"> 示例内容 </text>
-        </view>
-        <view class="mb-7.5 flex flex-wrap gap-5">
-          <view class="min-w-120rpx flex-1">
-            <u-button type="primary" text="主要按钮" />
-          </view>
-          <view class="min-w-120rpx flex-1">
-            <u-button type="success" text="成功按钮" />
-          </view>
-          <view class="min-w-120rpx flex-1">
-            <u-button type="warning" text="警告按钮" />
-          </view>
-          <view class="min-w-120rpx flex-1">
-            <u-button type="error" text="错误按钮" />
-          </view>
-        </view>
-        <view class="flex flex-col gap-2.5">
-          <text class="theme-text text-28rpx font-medium"> 主要文字颜色 </text>
-          <text class="theme-text-content text-26rpx"> 内容文字颜色 </text>
-          <text class="theme-text-tips text-24rpx"> 提示文字颜色 </text>
-        </view>
-      </view>
-    </view>
-
-    <!-- 快速切换按钮 -->
-    <view class="py-5 text-center">
-      <u-button
-        :text="isDark ? '切换到亮色主题' : '切换到暗色主题'"
-        type="primary"
-        @click="toggleTheme"
-      />
-    </view>
-  </view>
-</template>
-
-<script setup>
-import { useTheme } from "@/hooks";
-import { useAppStore } from "@/store";
-
-const { theme, isDark, setTheme, toggleTheme } = useTheme();
-
-const appStore = useAppStore();
-const themeClass = computed(() => `theme-${appStore.theme}`);
-
-// 主题选项
-const themeOptions = [
-  {
-    label: "亮色主题",
-    value: "light",
-    icon: "i-mdi-white-balance-sunny",
-    description: "适合明亮环境使用",
-  },
-  {
-    label: "暗色主题",
-    value: "dark",
-    icon: "i-mdi-moon-and-stars",
-    description: "适合暗光环境使用",
-  },
-];
-</script>
diff --git a/uniapps/drone-app/src/subPackages/userDetail/password/index.vue b/uniapps/drone-app/src/subPackages/userDetail/password/index.vue
index 997c02b..222e282 100644
--- a/uniapps/drone-app/src/subPackages/userDetail/password/index.vue
+++ b/uniapps/drone-app/src/subPackages/userDetail/password/index.vue
@@ -4,7 +4,6 @@
 		<view class="detailBox">
 			<div class="detailCon">
 				<div class="orderRow">
-					<!-- type="password" :password-icon="passwordIcon" -->
 					<div class="rowTitle">原始密码</div>
 					<input type="password" v-model="passwordForm.oldPassword" placeholder="请输入" class="input-item" />
 				</div>

--
Gitblit v1.9.3