From f2163ed27bf7f5a26b743f6e41838184aa22cab9 Mon Sep 17 00:00:00 2001
From: riku <risaku@163.com>
Date: 星期一, 17 十一月 2025 17:38:35 +0800
Subject: [PATCH] 1. 调试巡查单据通过浏览器批量下载功能(待完成)

---
 src/views/fysp/scene/SceneInspectFile.vue |   41 +++++++++++++++++++++++++++++++++--------
 1 files changed, 33 insertions(+), 8 deletions(-)

diff --git a/src/views/fysp/scene/SceneInspectFile.vue b/src/views/fysp/scene/SceneInspectFile.vue
index ddeaeb4..05c464b 100644
--- a/src/views/fysp/scene/SceneInspectFile.vue
+++ b/src/views/fysp/scene/SceneInspectFile.vue
@@ -64,22 +64,23 @@
       </div>
     </template>
   </el-dialog>
-  <el-dialog v-model="previewVisible" :show-close="false" fullscreen>
-    <template #header="{ close, titleId, titleClass }">
+  <el-dialog v-model="previewVisible" :show-close="true" fullscreen>
+    <!-- <template #header="{ close, titleId, titleClass }">
       <el-row justify="end">
         <el-button type="danger" @click="close" icon="CircleCloseFilled">
           鍏抽棴
         </el-button>
         <el-button
           type="primary"
-          @click="handelPrint(refWord)"
+          @click="handelPrint(pdfPreview)"
           icon="PrintFilled"
         >
           鎵撳嵃
         </el-button>
       </el-row>
-    </template>
+    </template> -->
     <div ref="refWord"></div>
+    <iframe ref="pdfPreview" width="100%" height="100vh" style="height: calc(100vh - 60px);"></iframe>
   </el-dialog>
 </template>
 <script setup>
@@ -87,6 +88,7 @@
  * 鍦烘櫙宸℃煡鍗曟嵁鑷姩涓嬭浇
  */
 import { ref, watch } from 'vue';
+import { useRouter } from "vue-router";
 import {
   exportDocx,
   prepareDocxBlob,
@@ -107,7 +109,10 @@
 
 const emits = defineEmits(['update:modelValue']);
 
+const router = useRouter();
+
 const refWord = ref(null);
+const pdfPreview = ref(null);
 
 const loading = ref(false);
 const scrollbarRef = ref();
@@ -303,12 +308,32 @@
   const param = parseParam(item);
   if (param) {
     generatePdf(param, (blob, name) => {
-      blob.getBuffer((buffer) => {
-        previewDocx(buffer, refWord.value);
-      });
       previewVisible.value = true;
+      previewDocx(blob, refWord.value);
+      // blob.print()
+      // blob.getBlob((buffer) => {
+      //   previewDocx(buffer, refWord.value);
+      // });
+
+      // const resolved = router.resolve({
+      //   path: '/fysp/scene/SceneInspectFile',
+      //   query: {
+      //     data: JSON.stringify(blob),
+      //   }
+      // });
+      // window.open(resolved.href, '_blank')
+
+
+      // console.log('pdf', blob);
+
+      // blob.autoPrint();
+      // // blob.save(name)
+      // // 鐢熸垚PDF鐨凚lob瀵硅薄
+      // var pdfBlob = blob.output('blob');
+
       // setTimeout(() => {
-      //   previewDocx(blob, refWord.value);
+      //   // 鍦╥frame涓樉绀洪瑙�
+      //   pdfPreview.value.src = URL.createObjectURL(pdfBlob);
       // }, 200);
     });
   }

--
Gitblit v1.9.3