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