From 8f4873bf23fb6cbd5061fea4f9f563c4ad34cf2a Mon Sep 17 00:00:00 2001
From: zouyu <2723363702@qq.com>
Date: 星期三, 29 十一月 2023 10:41:36 +0800
Subject: [PATCH] 	modified:   src/api/quality/rawMaterial.js 	modified:   src/util/fileTransform.js 	modified:   src/views/quality/rawMaterial/index.vue

---
 src/util/fileTransform.js               |   20 ++++++++++
 src/api/quality/rawMaterial.js          |    8 ++++
 src/views/quality/rawMaterial/index.vue |   35 ++++++++++-------
 3 files changed, 49 insertions(+), 14 deletions(-)

diff --git a/src/api/quality/rawMaterial.js b/src/api/quality/rawMaterial.js
index 27f46f1..5b8bbd5 100644
--- a/src/api/quality/rawMaterial.js
+++ b/src/api/quality/rawMaterial.js
@@ -30,6 +30,14 @@
   })
 }
 
+export function downloadReport(data) {
+  return request({
+    url: '/mes/rawInspect/downloadReport',
+    method: 'post',
+    responseType: 'blob',
+  })
+}
+
 export function delObj(data) {
   return request({
     url: '/mes/rawInspect/'+data,
diff --git a/src/util/fileTransform.js b/src/util/fileTransform.js
index 832fa2a..6471e85 100644
--- a/src/util/fileTransform.js
+++ b/src/util/fileTransform.js
@@ -17,3 +17,23 @@
     document.body.removeChild(elink)
   }
 }
+
+export function transformZip(response) {
+  const relType = ['application/zip']
+  let type = response.data.type
+  if (relType.includes(type)) {
+    const blob = new Blob([response.data], {type: 'application/zip'})
+    const disposition = response.headers["content-disposition"]
+    let temp = disposition.substring(disposition.lastIndexOf('=') + 1)
+    let filename = decodeURI(temp)
+    // 鍒涘缓涓�涓秴閾炬帴锛屽皢鏂囦欢娴佽祴杩涘幓锛岀劧鍚庡疄鐜拌繖涓秴閾炬帴鐨勫崟鍑讳簨浠�
+    const elink = document.createElement('a')
+    elink.download = filename
+    elink.style.display = 'none'
+    elink.href = URL.createObjectURL(blob)
+    document.body.appendChild(elink)
+    elink.click()
+    URL.revokeObjectURL(elink.href) // 閲婃斁URL 瀵硅薄
+    document.body.removeChild(elink)
+  }
+}
\ No newline at end of file
diff --git a/src/views/quality/rawMaterial/index.vue b/src/views/quality/rawMaterial/index.vue
index 51299fe..fcfe4bf 100644
--- a/src/views/quality/rawMaterial/index.vue
+++ b/src/views/quality/rawMaterial/index.vue
@@ -54,11 +54,12 @@
 </template>
 <script>
 import ttable from '@/views/common/ztt-table.vue'
-import { getRawInspectList,delObj,exportRawMaterial,getObj } from '@/api/quality/rawMaterial'
+import { getRawInspectList,delObj,exportRawMaterial,getObj,downloadReport } from '@/api/quality/rawMaterial'
 import RawMaterialForm from './rawMaterial-form'
 import * as fecha from 'element-ui/lib/utils/date'
 import { mapGetters } from 'vuex'
 import PrintJS from 'print-js'
+import { transformZip } from '@/util/fileTransform'
 import printTemplate from './rawMaterial-print.vue'
   export default {
     data() {
@@ -225,19 +226,20 @@
                         fun: this.downloadReport
                     }
                 ],
-                operator: [{
-                    text: '鎵撳嵃',
-                    type: 'text',
-                    size: 'small',
-                    fun: this.previewFun,
-                    show: {
-                        val: [
-                            '1',
-                            '0'
-                        ],
-                        key: 'judgeState'
-                    }
-                },
+                operator: [
+                //     {
+                //     text: '鎵撳嵃',
+                //     type: 'text',
+                //     size: 'small',
+                //     fun: this.previewFun,
+                //     show: {
+                //         val: [
+                //             '1',
+                //             '0'
+                //         ],
+                //         key: 'judgeState'
+                //     }
+                // },
                 {
                     text: '浣滃簾',
                     type: 'text',
@@ -286,6 +288,11 @@
                     return
                 }
                 console.log(selection)
+                downloadReport().then(res=>{
+                    transformZip(res)
+                }).catch(error=>{
+                    console.log(error)
+                })
             }
         },
         //鏌ョ湅鎶ュ憡鎸夐挳

--
Gitblit v1.9.3