From 18ea5561db1c7d8495325366675d4c3c1994dc7e Mon Sep 17 00:00:00 2001 From: zouyu <2723363702@qq.com> Date: 星期二, 23 一月 2024 18:03:45 +0800 Subject: [PATCH] 产品检验报告下载 --- src/views/quality/finishedProductInspection/index.vue | 40 +++++++++++++++++++++++++++++++++------- src/api/quality/finishedProduct.js | 11 ++++++++++- 2 files changed, 43 insertions(+), 8 deletions(-) diff --git a/src/api/quality/finishedProduct.js b/src/api/quality/finishedProduct.js index 7d56c3c..c875312 100644 --- a/src/api/quality/finishedProduct.js +++ b/src/api/quality/finishedProduct.js @@ -85,4 +85,13 @@ method: 'post', params: obj }) -} \ No newline at end of file +} + +export function downloadReport(data) { + return request({ + url: '/mes/qualityFinishedInspect/downloadReport', + method: 'post', + data: data, + responseType: 'blob', + }) + } diff --git a/src/views/quality/finishedProductInspection/index.vue b/src/views/quality/finishedProductInspection/index.vue index a5a809e..d71804a 100644 --- a/src/views/quality/finishedProductInspection/index.vue +++ b/src/views/quality/finishedProductInspection/index.vue @@ -2,7 +2,7 @@ <div class="content-main"> <div class="rawPage"> <basic-container> - <ttable + <ttable :table="table" @handleSelectionChange="handleSelectionChange" :prelang="prelang" @@ -33,11 +33,12 @@ import ttable from '@/views/common/ztt-table.vue' import * as fecha from 'element-ui/lib/utils/date' import finishedProductInspectionAdd from './finishedProduct-form' - import { page,deletePro,exportExaminationProducts,queryById } from '@/api/quality/finishedProduct' + import { page,deletePro,exportExaminationProducts,queryById,downloadReport } from '@/api/quality/finishedProduct' import { transform } from '@/util/fileTransform' import { mapGetters } from 'vuex' import printTemplate from './finishedProducter-print.vue' import PrintJS from 'print-js' + import { transformZip } from '@/util/fileTransform' export default { components: { finishedProductInspectionAdd, @@ -46,6 +47,7 @@ }, data() { return { + multipleSelection: [], printFormData: null, printDialogVisible: false, result:[{label:'鍏ㄩ儴',value: ''},{label:'鍚堟牸',value: '1'},{label:'涓嶅悎鏍�',value: '0'}], @@ -198,7 +200,7 @@ }, } }, - created() { + created() { if(this.permissions.quality_finishedProductInspection_download){ this.table.toolbar.push({ text: '涓嬭浇妫�楠屾姤鍛�', @@ -227,6 +229,28 @@ }, methods: { downloadProReport(){ + let selection = this.multipleSelection + if(!selection || selection.length < 1){ + this.$message.error("璇峰厛閫夋嫨妫�楠屾暟鎹�") + return + }else{ + let arr = selection.filter(s=>{ + return s.result==null || s.result=='' + }) + if(arr.length > 0){ + this.$message.error("鍙兘閫夋嫨宸叉娴嬬殑鏁版嵁") + return + } + let ids = [] + selection.forEach(ele=>{ + ids.push(ele.id) + }) + downloadReport({ids : ids}).then(res=>{ + transformZip(res) + }).catch(error=>{ + console.log(error) + }) + } }, //鎵撳嵃鎸夐挳 printFun() { @@ -285,11 +309,11 @@ } this.$router.push({ name: 'finishedProductForm', - query: { + query: { id: row == null ? null : row.id, }, params: { - resultVal: row == null ? null : row.result + resultVal: row == null ? null : row.result } }) }, @@ -305,7 +329,9 @@ formatDateTime(row, column, cellValue) { return cellValue ? fecha.format(new Date(cellValue), 'yyyy-MM-dd') : '' }, - handleSelectionChange(){ }, + handleSelectionChange(val){ + this.multipleSelection = val + }, getData() { this.$refs.finishedProduct.getDataList() }, @@ -397,4 +423,4 @@ flex: 1; overflow-y: scroll; } */ -</style> \ No newline at end of file +</style> -- Gitblit v1.9.3