From 8fd9e43b8ae22e64c62afee56c24df682f8c47c9 Mon Sep 17 00:00:00 2001 From: zhuo <2089219845@qq.com> Date: 星期日, 16 三月 2025 15:57:54 +0800 Subject: [PATCH] 成品下单下载为pdf --- src/views/business/productOrder/index.vue | 59 +++++++++++++++++++++++++++++++++++++---------------------- 1 files changed, 37 insertions(+), 22 deletions(-) diff --git a/src/views/business/productOrder/index.vue b/src/views/business/productOrder/index.vue index 0d97704..5ca78c6 100644 --- a/src/views/business/productOrder/index.vue +++ b/src/views/business/productOrder/index.vue @@ -15,17 +15,11 @@ <el-input v-model="entity.sampleModel" clearable placeholder="璇疯緭鍏�" size="small" @keyup.enter.native="refreshTable()"></el-input> </el-form-item> - <el-form-item> - <el-button :icon="!more ? 'el-icon-arrow-down' : 'el-icon-arrow-up'" style="color: #3A7BFA;" type="text" - @click="more = !more">{{ !more ? '鏇村' : '鏀惰捣' }}</el-button> - <el-button size="small" @click="refresh()">閲� 缃�</el-button> - <el-button size="small" type="primary" @click="refreshTable()">鏌� 璇�</el-button> - </el-form-item> - <el-form-item label="鏍峰搧缂栧彿" prop="sampleCode" v-if="more"> - <el-input v-model="entity.sampleCode" clearable placeholder="璇疯緭鍏�" size="small" - @keyup.enter.native="refreshTable"> - </el-input> - </el-form-item> +<!-- <el-form-item label="鏍峰搧缂栧彿" prop="sampleCode" v-if="more">--> +<!-- <el-input v-model="entity.sampleCode" clearable placeholder="璇疯緭鍏�" size="small"--> +<!-- @keyup.enter.native="refreshTable">--> +<!-- </el-input>--> +<!-- </el-form-item>--> <el-form-item label="涓嬪崟鏃堕棿" prop="createTime" v-if="more"> <el-date-picker v-model="entity.createTime" clearable format="yyyy-MM-dd" placeholder="閫夋嫨鏃ユ湡" size="small" style="width:100%" type="date" value-format="yyyy-MM-dd HH:mm:ss"> @@ -40,6 +34,12 @@ <el-input v-model="entity.company" clearable placeholder="璇疯緭鍏�" size="small" @keyup.enter.native="refreshTable"> </el-input> + </el-form-item> + <el-form-item> + <el-button :icon="!more ? 'el-icon-arrow-down' : 'el-icon-arrow-up'" style="color: #3A7BFA;" type="text" + @click="more = !more">{{ !more ? '鏇村' : '鏀惰捣' }}</el-button> + <el-button size="small" @click="refresh()">閲� 缃�</el-button> + <el-button size="small" type="primary" @click="refreshTable()">鏌� 璇�</el-button> </el-form-item> </el-form> </div> @@ -151,7 +151,7 @@ </el-row> </span> </el-dialog> - <el-dialog :visible.sync="dataDialogVisible" title="鏁版嵁鏌ョ湅" width="80%"> + <el-dialog :visible.sync="dataDialogVisible" title="鏁版嵁鏌ョ湅" width="80%" @close="closeDia"> <div v-if="dataDialogVisible"> <lims-table :tableData="tableDataLook" :column="tableDataLookColumn" @pagination="tableDataLookPagination" height="500px" key="tableDataLook" :page="tableDataLookPage" @@ -307,7 +307,6 @@ <script> import vueQr from 'vue-qr' import PrintJS from 'print-js' -import file from "@/utils/file"; import PrintDialog from "@/views/business/productOrder/components/printDialog.vue"; import AddInspectionDia from "@/views/business/productOrder/components/addInspectionDia.vue"; import limsTable from "@/components/Table/lims-table.vue"; @@ -321,8 +320,8 @@ import { selectUserCondition } from "@/api/performance/class"; import { downFile, getFileList, selectSampleAndProductByOrderId } from "@/api/business/rawMaterialOrder"; import {mapGetters} from "vuex"; -// import Inspection from "../do/b1-inspect-order-plan/Inspection.vue"; export default { + name: 'ProductOrder', components: { limsTable, AddInspectionDia, @@ -547,6 +546,7 @@ quashDialogVisible: false, issuedDialogVisible: false, dataDialogVisible: false, // 鏁版嵁鏌ョ湅寮规 + currentRow: {}, // 鏁版嵁鏌ョ湅寮规 tableDataLookTableLoading: false, // 鏁版嵁鏌ョ湅寮规 tableDataLook: [], tableDataLookPage: { @@ -762,7 +762,7 @@ } const params = { ...this.entity, state: this.tabList[this.tabIndex].value } this.tableLoading = true - selectInsOrderParameter(params).then(res => { + selectInsOrderParameter({...this.page,...params}).then(res => { this.upIndex++ this.tableLoading = false if (res.code === 200) { @@ -876,7 +876,8 @@ }, // 瀵煎嚭璁板綍 downLoad() { - rawAllInsOrderExport({ ...this.entity }).then(res => { + const params = { ...this.entity, state: this.tabList[this.tabIndex].value } + rawAllInsOrderExport({ ...params }).then(res => { const blob = new Blob([res], { type: 'application/octet-stream' }); this.$download.saveAs(blob, '濮旀墭妫�娴嬩俊鎭鍑�.xlsx'); }).catch(err => { @@ -941,12 +942,13 @@ // 鏁版嵁鏌ョ湅 handleDataLook(row) { this.dataDialogVisible = true; - this.getDataTableList(row) + this.currentRow = row; + this.getDataTableList(this.currentRow) }, // 鏌ヨ鏁版嵁鏌ョ湅鍒楄〃鏁版嵁 getDataTableList(row) { this.tableDataLookTableLoading = true - selectSampleAndProductByOrderId({ id: row.id }).then(res => { + selectSampleAndProductByOrderId({ id: row.id, ...this.tableDataLookPage }).then(res => { this.tableDataLookTableLoading = false if (res.code === 200) { this.tableDataLook = res.data.records @@ -958,7 +960,15 @@ }, tableDataLookPagination(page) { this.tableDataLookPage.size = page.limit - this.getDataTableList() + this.getDataTableList(this.currentRow) + }, + closeDia () { + this.tableDataLookPage = { + total: 0, + size: 10, + current: 1 + } + this.dataDialogVisible = false }, // 闄勪欢鏌ョ湅 handleFileLook(row) { @@ -986,7 +996,7 @@ downFile({ id: row.id, }).then(res => { - this.$download.downloadFileFromUrl(res.data.fileUrl, row.fileName); + this.$download.saveAs(res.data.fileUrl, row.fileName); }).catch(error => { }) @@ -994,8 +1004,13 @@ // 涓嬭浇鎶ュ憡 download(row) { let url = row.urlS ? row.urlS : row.url; - if (url) { - this.$download.downloadFileFromUrl(url, this.downLoadInfo.fileName); + if(url){ + url = url.split('.')[0]+'.pdf' + const link = document.createElement('a'); + link.href = this.javaApi + url; + link.target = '_blank'; + document.body.appendChild(link); + link.click(); } }, // 鎾ら攢 -- Gitblit v1.9.3