From b7e9807061998a4b250ceaca7e6320e89cc6767f Mon Sep 17 00:00:00 2001
From: qx <1084500556@qq.com>
Date: 星期六, 08 二月 2025 18:09:19 +0800
Subject: [PATCH] qx

---
 src/views/reservation/groupcheck/index.vue |   50 +++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 49 insertions(+), 1 deletions(-)

diff --git a/src/views/reservation/groupcheck/index.vue b/src/views/reservation/groupcheck/index.vue
index ab5ff8c..c621754 100644
--- a/src/views/reservation/groupcheck/index.vue
+++ b/src/views/reservation/groupcheck/index.vue
@@ -65,7 +65,7 @@
     </el-form>
 
     <el-row :gutter="20" style="margin: 5px 20px">
-      <el-col :span="12" style="margin-left: 50%;">
+      <el-col :span="12" style="margin-left: 50%">
         <el-button
           type="primary"
           class="btn"
@@ -661,6 +661,7 @@
   methods: {
     handleQuery() {
       this.loading = true;
+      this.selectList = [];
       getCusTomterListByCompId(this.objs).then((res) => {
         this.userList = res.data;
         this.loading = false;
@@ -730,6 +731,37 @@
     submitforms() {
       this.open2 = true;
     },
+
+    base64ToBlob({ b64data = "", contentType = "", sliceSize = 512 } = {}) {
+      return new Promise((resolve, reject) => {
+        // 浣跨敤 atob() 鏂规硶灏嗘暟鎹В鐮�
+        let byteCharacters = atob(b64data);
+        let byteArrays = [];
+        for (
+          let offset = 0;
+          offset < byteCharacters.length;
+          offset += sliceSize
+        ) {
+          let slice = byteCharacters.slice(offset, offset + sliceSize);
+          let byteNumbers = [];
+          for (let i = 0; i < slice.length; i++) {
+            byteNumbers.push(slice.charCodeAt(i));
+          }
+          // 8 浣嶆棤绗﹀彿鏁存暟鍊肩殑绫诲瀷鍖栨暟缁勩�傚唴瀹瑰皢鍒濆鍖栦负 0銆�
+          // 濡傛灉鏃犳硶鍒嗛厤璇锋眰鏁扮洰鐨勫瓧鑺傦紝鍒欏皢寮曞彂寮傚父銆�
+          byteArrays.push(new Uint8Array(byteNumbers));
+        }
+        let result = new Blob(byteArrays, {
+          type: contentType,
+        });
+        result = Object.assign(result, {
+          // jartto: 杩欓噷涓�瀹氳澶勭悊涓�涓� URL.createObjectURL
+          preview: URL.createObjectURL(result),
+          // name: `鍥剧墖绀轰緥.png`,
+        });
+        resolve(result);
+      });
+    },
     submitType() {
       let cusIds = [];
       this.selectList.forEach((item) => {
@@ -742,6 +774,22 @@
       addPlOrderAndDetail(data).then((res) => {
         this.open2 = false;
         this.$modal.msgSuccess("绛惧埌鎴愬姛");
+        if (res.file) {
+          let base64 = res.file;
+          this.base64ToBlob({
+            b64data: base64,
+            contentType: "application/pdf",
+          }).then((res) => {
+            this.dialogVisible = true;
+            // 杞悗鍚庣殑blob瀵硅薄
+            console.log("blob", res.preview);
+            try {
+              this.url = res.preview;
+            } catch (error) {
+              this.url = window.webkitURL.createObjectURL(res.preview);
+            }
+          });
+        }
         this.handleQuery();
         this.selectList = [];
       });

--
Gitblit v1.8.0