From e878d0ae2e535949ebe228b4e06413abebc7dc77 Mon Sep 17 00:00:00 2001
From: 张含笑 <zhx18749296735@163.com>
Date: Mon, 30 Jun 2025 16:42:20 +0800
Subject: [PATCH] Merge branch 'refs/heads/master' into feature/v3.0.0/帮助中心

---
 src/views/dataCenter/dataCenter.vue |  100 ++++++++++++++++++++++++++-----------------------
 1 files changed, 53 insertions(+), 47 deletions(-)

diff --git a/src/views/dataCenter/dataCenter.vue b/src/views/dataCenter/dataCenter.vue
index 659c712..73306c6 100644
--- a/src/views/dataCenter/dataCenter.vue
+++ b/src/views/dataCenter/dataCenter.vue
@@ -32,8 +32,10 @@
               <img v-else-if="scope.row?.resultType === 1" :src="convertVideoUrlToThumbnail(scope.row?.link)" alt=""
                 class="imageBox" @click="enterFullScreen(scope.row)" />
               <!-- 正射 -->
-              <img v-else-if="scope.row?.resultType === 4" :src="getzsSmallImg(scope.row?.link)" alt=""
-                class="imageBox" />
+              <!-- <img v-else-if="scope.row?.resultType === 4" :src="getzsSmallImg(scope.row?.link)" alt=""
+                class="imageBox" /> -->
+                  <el-image v-else-if="scope.row?.resultType === 4" :src="getzsSmallImg(scope.row?.link)" :preview-src-list="[getzsSmallImg(scope.row?.link)]" fit="cover"
+                preview-teleported />
               <el-image v-else :src="scope.row?.smallUrl" :preview-src-list="[scope.row?.showUrl]" fit="cover"
                 preview-teleported />
             </template>
@@ -66,33 +68,31 @@
           @size-change="handleSizeChange" @current-change="handleCurrentChange" />
       </div>
       <!-- 查看弹框 -->
-      <el-dialog v-model="dialogVisible" width="60%" append-to-body @close="dialogClose">
+    <el-dialog v-model="dialogVisible" width="60%" append-to-body @close="dialogClose" align-center>
         <template #header="{ titleId, titleClass }">
           <div class="my-header">
-            <h4 :id="titleId" :class="titleClass">{{ detailTitle }}</h4>
+            <!-- <h4 :id="titleId" :class="titleClass">{{ detailTitle }}</h4> -->
+            <h4 :id="titleId" :class="titleClass">详情</h4>
           </div>
         </template>
         <div class="detailContainer">
           <div class="leftImg">
-            <!-- <img
-            v-if="dialogDetailList?.resultType === 1"
-            :src="convertVideoUrlToThumbnail(dialogDetailList?.link)"
-            alt=""
-            class="imageBox"
-          /> -->
             <!-- 视频 -->
-            <video v-if="dialogDetailList?.resultType === 1" style="width: 100%" class="imageBox" ref="videoRefs"
-              controls autoplay :src="dialogDetailList.link"></video>
-            <!-- 全景 -->
-            <!-- <img
-             class="quanjing"
-             @click="clickpanorama(dialogDetailList)"
-             v-else-if="dialogDetailList?.resultType === 5"
-             :src="dialogDetailList?.resultType?.smallUrl"
-             alt=""
-           /> -->
+            <video
+              v-if="dialogDetailList?.resultType === 1"
+              style="width: 100%"
+             class="videoItem"
+              ref="videoRefs"
+              controls
+              autoplay
+              :src="dialogDetailList.link"
+            ></video>
             <!-- 地图 -->
-            <div v-else-if="dialogDetailList?.resultType === 4" id="detaildataCenterMap" class="ztzf-cesium"></div>
+            <div
+              v-else-if="dialogDetailList?.resultType === 4"
+              id="detaildataCenterMap"
+              class="ztzf-cesium"
+            ></div>
             <img v-else :src="getSmallImg(dialogDetailList?.link)" alt="" />
           </div>
           <div class="rightDetail">
@@ -101,24 +101,28 @@
                 文件名称:<span class="fileTitle" v-if="!dialogDetailList?.checkedinput">{{
                   dialogDetailList?.nickName ? dialogDetailList?.nickName : '--'
                 }}</span>
-                <el-input v-else v-model="dialogDetailList.nickName" @keyup.enter="saveTitle()" class="title-input"
-                  clearable />
+                <el-input
+                  v-else
+                  v-model="dialogDetailList.nickName"
+                  @blur="saveTitle(dialogDetailList)"
+                  @keyup.enter="saveTitle(dialogDetailList)"
+                  class="title-input"
+                  clearable
+                />
+                 <span class="editname" @click="editTitle(dialogDetailList)"
+                  ><el-icon>
+                    <Edit /> </el-icon
+                ></span>
               </div>
-              <div class="editname">
-                <span v-if="!dialogDetailList?.checkedinput" @click="editTitle(dialogDetailList)"><el-icon>
-                    <Edit />
-                  </el-icon></span>
-                <div v-else class="suffixBoxEdit">
-                  <div class="editText" @click="submitEditSuffix(dialogDetailList)">✔</div>
-                  <div class="editText" @click="cancelEditSuffix(dialogDetailList)">✖</div>
-                </div>
-              </div>
+             
             </div>
             <div>任务名称:{{ dialogDetailList?.jobName ? dialogDetailList?.jobName : '--' }}</div>
             <div>
               所属区域:{{ dialogDetailList?.regionName ? dialogDetailList?.regionName : '--' }}
             </div>
-            <div>拍摄机巢:{{ dialogDetailList?.nestName ? dialogDetailList?.nestName : '--' }}</div>
+            <div>
+              拍摄机巢:{{ dialogDetailList?.nestName ? dialogDetailList?.nestName : '--' }}
+            </div>
             <div>
               照片位置:{{ _.round(dialogDetailList?.longitude, 3) }},{{
                 _.round(dialogDetailList?.latitude, 3)
@@ -150,8 +154,13 @@
               }}
             </div>
             <div>
-              <el-button type="success" plain icon="el-icon-download"
-                @click="detailDownLoad(dialogDetailList)">下载</el-button>
+              <el-button
+                type="success"
+                plain
+                icon="el-icon-download"
+                @click="detailDownLoad(dialogDetailList)"
+                >下载</el-button
+              >
             </div>
           </div>
         </div>
@@ -211,7 +220,7 @@
 import dayjs from 'dayjs'
 
 function bytesToMB (bytes, decimalPlaces = 2) {
-  if (typeof bytes !== 'number' || bytes < 0) return '无效输入'
+  if (typeof bytes !== 'number' || bytes < 0) return '0'
   return (bytes / 1048576).toFixed(decimalPlaces) + ' MB'
 }
 // 视频一帧
@@ -455,14 +464,7 @@
   val.checkedinput = true
   fileNameedit.value = val?.nickName
 }
-// 取消
-const cancelEditSuffix = item => {
-  item.nickName = fileNameedit.value
-  item.checkedinput = false
-}
-const submitEditSuffix = item => {
-  saveTitle(item)
-}
+
 // 通用空值检查函数
 const validateNickname = (name, fieldName) => {
   if (!name || name.trim() === '') {
@@ -714,16 +716,20 @@
 .detailContainer {
   display: flex;
   justify-content: space-between;
-
+align-items: center;
   .leftImg {
     width: 70%;
     height: 500px;
-
+overflow: hidden;
     img {
       width: 100%;
       height: 100%;
     }
-
+.videoItem {
+ width: 100%;
+      height: 100%;
+      object-fit: cover;
+}
     #detaildataCenterMap {
       width: 100%;
       height: 100%;

--
Gitblit v1.9.3