From 78bf59d8e0106ccf2acdd5bc4e3a6e510e1e5cbf Mon Sep 17 00:00:00 2001
From: chenyao <1219716595@qq.com>
Date: Wed, 17 Sep 2025 13:58:32 +0800
Subject: [PATCH] feat:更新代码

---
 src/views/dataCenter/dataCenter.vue |   72 +++++++++++++++++++++++++++++++++++-
 1 files changed, 70 insertions(+), 2 deletions(-)

diff --git a/src/views/dataCenter/dataCenter.vue b/src/views/dataCenter/dataCenter.vue
index 63e882d..ddd85eb 100644
--- a/src/views/dataCenter/dataCenter.vue
+++ b/src/views/dataCenter/dataCenter.vue
@@ -11,6 +11,7 @@
         @downFun="downloadFile"
         @allDownFun="aLLDownloadFile"
         @handleswitchFolders="handleswitchFolders"
+        @handleStartList="handleStartList"
         @handleBack ="handleBack"
        :viewDetails ="viewDetails"
 
@@ -18,6 +19,7 @@
       <!-- 文件夹 -->
       <div v-if="switchFolders" class="dataTable">
             <el-table
+
          class="custom-header custom-body"
           v-loading="loadings"
           element-loading-text=""
@@ -34,7 +36,7 @@
               }}
             </template>
           </el-table-column>
-          <el-table-column property="name" label="任务名称" show-overflow-tooltip />
+          <el-table-column property="recordName" label="任务名称" show-overflow-tooltip />
            <el-table-column property="regionName" label="所属区域">
              <template #default="scope">
               <span>{{scope.row.city_name ? scope.row.city_name :'--'}},{{scope.row.area_name ? scope.row.area_name :'--'}}</span>
@@ -57,6 +59,7 @@
       <!-- 表格部分 -->
       <div class="dataTable" v-else>
         <el-table
+        border
           v-loading="loadings"
           element-loading-text=""
           :data="tableData"
@@ -143,7 +146,7 @@
               <span>{{ resultTypeMap[row?.resultType] }}</span>
             </template>
           </el-table-column>
-          <el-table-column label="操作" width="200" align="center">
+          <el-table-column label="操作" width="240" align="center">
             <template #default="scope">
               <el-button icon="el-icon-view" type="text" @click="lookDetail(scope.row)"
                 >查看</el-button
@@ -162,6 +165,22 @@
               >
                 <img :src="positionicon" class="custom-icon" />定位</el-button
               >
+              <el-button type="text" @click="handleStar"><el-icon><Star /></el-icon>收藏</el-button>
+              <el-popover
+                placement="top-start"
+                title="扫二维码分享"
+                :width="148"
+                trigger="click"
+                popper-class="custom-qrcode-popover-share"
+                @show="handleShare(scope.row)"
+              >
+                <template #reference>
+                  <el-button type="text"><el-icon><Share /></el-icon>分享</el-button>
+                </template>
+                <div class="qrcode-content">
+                  <div class="myQrCode" :id="`myQrCode-${scope.row.id}`" :ref="setQrCodeRef(scope.row.id)"></div>
+                </div>
+              </el-popover>
             </template>
           </el-table-column>
         </el-table>
@@ -341,6 +360,7 @@
 import PanoramaPopup from '@/components/PanoramaPopup/PanoramaPopup.vue'; //全景
 import { ElMessage, ElMessageBox, ElLoading } from 'element-plus';
 import searchData from '@/views/dataCenter/components/searchData.vue';
+import QRCode from 'qrcodejs2-fix'
 import fy1 from '@/assets/images/dataCenter/1.jpeg';
 import _ from 'lodash';
 import {
@@ -539,7 +559,11 @@
 
    }
    const searchBoxRef = ref(null);
+// 收藏列表
+const starList = ref([])
+const handleStartList = () => {
 
+}
 // 查询
 const searchClick = params => {
   if(switchFolders.value){
@@ -880,6 +904,45 @@
     })
   }
 }
+
+// 收藏
+function handleStar() {}
+
+// 分享
+const myQrCode = ref(null)
+let qrCodeInstance = null
+
+const qrCodeRefs = ref({});
+
+// 设置动态ref的方法
+const setQrCodeRef = (id) => (el) => {
+    if (el) {
+        qrCodeRefs.value[id] = el;
+    }
+};
+
+async function handleShare(row) {
+  try {
+    await nextTick();
+    const qrCodeElement = qrCodeRefs.value[row.id]
+
+    if (qrCodeInstance) {
+      qrCodeInstance.clear();
+      qrCodeInstance = null;
+      qrCodeElement.innerHTML = '';
+    }
+    // await nextTick();
+    qrCodeInstance = new QRCode(qrCodeElement, {
+      width: 130,
+      height: 130,
+      text: row.link,
+    });
+    qrCodeElement.removeAttribute('title');
+  } catch (error) {
+    console.error('生成二维码失败:', error);
+  }
+}
+
 onMounted(() => {
   getaiImagesPage();
   // 监听打开全景事件
@@ -895,6 +958,11 @@
   viewInstance.value?.viewerDestroy();
 });
 </script>
+<style lang="scss">
+.custom-qrcode-popover-share {
+  width: 120px;
+}
+</style>
 <style scoped lang="scss">
 .dataCenter-table {
   height: 0;

--
Gitblit v1.9.3