From 12c6e0aa54c250f4a181a6b71ce18908858d93ca Mon Sep 17 00:00:00 2001
From: 张含笑 <zhx18749296735@163.com>
Date: Wed, 26 Nov 2025 09:47:11 +0800
Subject: [PATCH] Merge branch 'refs/heads/feature/v8.0/8.0.2' into prod

---
 src/views/tickets/orderLog.vue                |   54 ++++++++++++++-------------
 src/page/index/useGlobalWS.js                 |    2 
 src/views/job/components/DeviceJobDetails.vue |    6 +-
 src/views/layerManagement/index.vue           |   37 +++++++++++-------
 4 files changed, 54 insertions(+), 45 deletions(-)

diff --git a/src/page/index/useGlobalWS.js b/src/page/index/useGlobalWS.js
index 22faf74..009bc8a 100644
--- a/src/page/index/useGlobalWS.js
+++ b/src/page/index/useGlobalWS.js
@@ -30,7 +30,7 @@
 			...downloadProgress.value,
 			[type]: setProgress,
 		})
-		if (status === 'COMPLETED' && ['dpsjzx','dplsrwxq'].includes(type)) {
+		if (status === 'COMPLETED' && ['htsjzx','htlsrwxq'].includes(type)) {
 			const name = `数据中心-${dayjs().format('YYYYMMDDHHmmss')}.zip`
 			const currentUrl = getStore({name: 'downloadUrl'})
 			if (currentUrl === download_url && download_url!== undefined) return
diff --git a/src/views/job/components/DeviceJobDetails.vue b/src/views/job/components/DeviceJobDetails.vue
index cfc623e..69e6e52 100644
--- a/src/views/job/components/DeviceJobDetails.vue
+++ b/src/views/job/components/DeviceJobDetails.vue
@@ -153,7 +153,7 @@
 
 <script setup>
 import PanoramaPopup from '@/components/PanoramaPopup/PanoramaPopup.vue';
-import { getShowImg, getSmallImg, getzsSmallImg,getzsShowImg } from '@/utils/util';
+import { getShowImg, getSmallImg, getzsSmallImg, getzsShowImg, aLinkDownloadUtil } from '@/utils/util';
 import { getaiImagesPageAPI,cancelDownloadApi,getDownloadStatusApi,attachDownload,aiImagesPage} from '@/api/dataCenter/dataCenter';
 import { pxToRem } from '@/utils/rem'
 import JobRelatedEvents from './JobRelatedEvents.vue'
@@ -315,8 +315,8 @@
 	if (!list?.length) return ElMessage.warning('请选择文件')
 	if (list.length === 1) {
 		list.forEach((item, index) => {
-			const suffix = item.url.split('.').pop()
-			aLinkDownloadUtil(item.url, item.nickName + '.' + suffix)
+			const suffix = item.link.split('.').pop()
+			aLinkDownloadUtil(item.link, item.nickName + '.' + suffix)
 		})
 	} else {
 		loadingData = ElLoading.service({ background: 'rgba(0, 0, 0, 0.5)', text: '打包中,请稍等...' })
diff --git a/src/views/layerManagement/index.vue b/src/views/layerManagement/index.vue
index 0c56040..c014986 100644
--- a/src/views/layerManagement/index.vue
+++ b/src/views/layerManagement/index.vue
@@ -52,7 +52,7 @@
 import * as Cesium from 'cesium';
 import { PublicCesium } from '@/utils/cesium/publicCesium';
 import _, { cloneDeep, throttle } from 'lodash';
-
+const isProd = import.meta.env.VITE_APP_ENV === 'production'
 import { provide } from 'vue';
 import { useStore } from 'vuex';
 const store = useStore();
@@ -66,20 +66,27 @@
 const selectDataList = ref([]);
 // 当前面位置信息
 let curPolygonPosition = [];
-const tabData = ref([
-  {
-    name: '自定义识别区',
-    type: '0',
-  },
-  {
-    name: '自定义禁飞区',
-    type: '1',
-  },
-  {
-    name: '国土空间规划',
-    type: '2',
-  },
-]);
+const tabData = computed(() => {
+  const allTabs = [
+    {
+      name: '自定义识别区',
+      type: '0',
+    },
+    {
+      name: '自定义禁飞区',
+      type: '1',
+    },
+    {
+      name: '国土空间规划',
+      type: '2',
+    },
+  ];
+  // 如果是生产环境,只返回自定义识别区
+  if (isProd) {
+    return allTabs.filter(tab => tab.type === '0');
+  }
+  return allTabs;
+});
 const layerParams = ref({
   addNest: false,
   editNest: false,
diff --git a/src/views/tickets/orderLog.vue b/src/views/tickets/orderLog.vue
index fe17d06..825d984 100644
--- a/src/views/tickets/orderLog.vue
+++ b/src/views/tickets/orderLog.vue
@@ -369,25 +369,25 @@
           <el-col :span="5">
             <div class="flex">
               <div class="flex-1 flex-3">
-            <el-select v-model="form.rep_fre_type" placeholder="请选择频次" :disabled="detailTitle === '工单详情'">
-              <el-option v-for="item in cycles" :key="item" :label="item" :value="item" />
-            </el-select>
+                <el-select v-model="form.rep_fre_type" placeholder="请选择频次" :disabled="detailTitle === '工单详情'">
+                  <el-option v-for="item in cycles" :key="item" :label="item" :value="item" />
+                </el-select>
               </div>
               <div class="flex-1">
-            <el-time-picker v-model="form.deal_time" prop="deal_time"
-                            value-format="HH:mm" :picker-options="{
+                <el-time-picker v-model="form.deal_time" prop="deal_time"
+                                value-format="HH:mm" :picker-options="{
                 selectableRange: '00:00 - 23:59',
               }" :disabled="detailTitle === '工单详情'" />
               </div>
             </div>
           </el-col>
 
-<!--          <el-col :span="3">-->
-<!--            <el-time-picker class="timeStyle" :style="{ width: pxToRem(140) }" v-model="form.deal_time" prop="deal_time"-->
-<!--                            value-format="HH:mm" :picker-options="{-->
-<!--                selectableRange: '00:00 - 23:59',-->
-<!--              }" :disabled="detailTitle === '工单详情'" />-->
-<!--          </el-col>-->
+          <!--          <el-col :span="3">-->
+          <!--            <el-time-picker class="timeStyle" :style="{ width: pxToRem(140) }" v-model="form.deal_time" prop="deal_time"-->
+          <!--                            value-format="HH:mm" :picker-options="{-->
+          <!--                selectableRange: '00:00 - 23:59',-->
+          <!--              }" :disabled="detailTitle === '工单详情'" />-->
+          <!--          </el-col>-->
         </el-row>
 
         <el-row :gutter="20">
@@ -519,25 +519,25 @@
           <el-col :span="5">
             <div class="flex">
               <div class="flex-1 flex-3">
-            <el-select v-model="form.rep_fre_type" placeholder="请选择频次" :disabled="true">
-              <el-option v-for="item in cycles" :key="item" :label="item" :value="item" />
-            </el-select>
+                <el-select v-model="form.rep_fre_type" placeholder="请选择频次" :disabled="true">
+                  <el-option v-for="item in cycles" :key="item" :label="item" :value="item" />
+                </el-select>
               </div>
               <div class="flex-1">
-            <el-time-picker style="width: 100px" v-model="form.deal_time" prop="deal_time" :disabled="true"
-                            value-format="HH:mm" :picker-options="{
+                <el-time-picker style="width: 100px" v-model="form.deal_time" prop="deal_time" :disabled="true"
+                                value-format="HH:mm" :picker-options="{
                 selectableRange: '00:00 - 23:59',
               }" />
               </div>
             </div>
           </el-col>
 
-<!--          <el-col :span="3">-->
-<!--            <el-time-picker style="width: 100px" v-model="form.deal_time" prop="deal_time" :disabled="true"-->
-<!--                            value-format="HH:mm" :picker-options="{-->
-<!--                selectableRange: '00:00 - 23:59',-->
-<!--              }" />-->
-<!--          </el-col>-->
+          <!--          <el-col :span="3">-->
+          <!--            <el-time-picker style="width: 100px" v-model="form.deal_time" prop="deal_time" :disabled="true"-->
+          <!--                            value-format="HH:mm" :picker-options="{-->
+          <!--                selectableRange: '00:00 - 23:59',-->
+          <!--              }" />-->
+          <!--          </el-col>-->
         </el-row>
 
         <el-row :gutter="20">
@@ -1040,14 +1040,16 @@
           positions.unshift({latitude: maxItem.latitude, longitude: maxItem.longitude, height:maxItem.drone_height })
           positions.push({latitude: maxItem.latitude, longitude: maxItem.longitude, height:maxItem.drone_height})
           let resultHeight = 0
+          let valueHeight = 0
           await getWaylineMaxTerrainHeight(positions).then(res => {
-            resultHeight = this.safeHeight > (res.data.data + 30) ? this.safeHeight : (res.data.data + 30)
+            resultHeight = (this.safeHeight+maxItem.drone_height) > (res.data.data + 30) ? (this.safeHeight+maxItem.drone_height) : (res.data.data + 30)
+            valueHeight = (resultHeight - maxItem.drone_height) > backHeight ? _.round(resultHeight - maxItem.drone_height) : 0
           })
-          let valueHeight = _.round(backHeight - resultHeight, 2)
+
           console.log('打印比较值', valueHeight)
 
-          if (valueHeight < 0) {
-            this.$confirm(`当前返航高度存在安全隐患,建议调整为${resultHeight}米以上后进行发布`, '提示', {
+          if (valueHeight > 0) {
+            this.$confirm(`当前返航高度存在安全隐患,建议调整为${valueHeight}米以上后进行发布`, '提示', {
               confirmButtonText: '确定',
               cancelButtonText: '取消',
               type: 'warning'

--
Gitblit v1.9.3