zouyu
2023-11-29 8f4873bf23fb6cbd5061fea4f9f563c4ad34cf2a
	modified:   src/api/quality/rawMaterial.js
modified: src/util/fileTransform.js
modified: src/views/quality/rawMaterial/index.vue
已修改3个文件
63 ■■■■ 文件已修改
src/api/quality/rawMaterial.js 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/util/fileTransform.js 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/quality/rawMaterial/index.vue 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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,
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)
  }
}
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)
                })
            }
        },
        //查看报告按钮