From 5a15331883386cb2206acd081ee54b873a08858b Mon Sep 17 00:00:00 2001
From: value <z1292839451@163.com>
Date: 星期四, 31 八月 2023 15:42:42 +0800
Subject: [PATCH] bug修复
---
src/views/experiment/checkTheReport/index.vue | 44 ++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 42 insertions(+), 2 deletions(-)
diff --git a/src/views/experiment/checkTheReport/index.vue b/src/views/experiment/checkTheReport/index.vue
index b4efda6..253340f 100644
--- a/src/views/experiment/checkTheReport/index.vue
+++ b/src/views/experiment/checkTheReport/index.vue
@@ -30,7 +30,7 @@
</el-form-item>
</el-form>
<el-form>
- <el-button class="rightBtn" type="primary" icon="el-icon-document"
+ <el-button @click="exportToPDF" class="rightBtn" type="primary" icon="el-icon-document"
>瀵煎嚭鎶ュ憡</el-button
>
</el-form>
@@ -61,7 +61,7 @@
</span>
<div class="printStyle">
<Preview id="printRaw" :reportData="reportData" v-if="reportType===0"></Preview>
- <TestReport id="printFinished" :reportData="reportData" v-else></TestReport>
+ <TestReport ref="testreport" id="printFinished" :reportData="reportData" v-else></TestReport>
</div>
</el-dialog>
<div class="table-box">
@@ -77,6 +77,7 @@
textAlign: 'center',
}"
:data="reportTable"
+ @selection-change="handleSelectionChange"
style="width: 100%"
>
<el-table-column type="selection" label="" min-width="5%" />
@@ -176,6 +177,19 @@
</div>
</div>
</div>
+ <Preview ref="preview" id="printRaw" :reportData="reportData" v-show="false"></Preview>
+ <TestReport ref="testreport" id="printFinished" :reportData="reportData" v-show="false"></TestReport>
+ <el-dialog
+ title="瀵煎嚭pdf"
+ :visible.sync="dialogPdfVisible"
+ width="30%"
+ :before-close="handleClose">
+ <span>纭畾寮�濮嬪鍑哄悧锛�</span>
+ <span slot="footer" class="dialog-footer">
+ <el-button @click="dialogPdfVisible = false">鍙� 娑�</el-button>
+ <el-button type="primary" @click="confirmExport">纭� 瀹�</el-button>
+ </span>
+ </el-dialog>
</div>
</template>
@@ -184,6 +198,8 @@
import Preview from "@/components/experiment/checkTheReport/index.vue";
import TestReport from "@/components/experiment/template_testReport/index.vue"
import PrintJS from 'print-js'
+import html2pdf from 'html2pdf.js'
+
export default {
data() {
return {
@@ -220,6 +236,8 @@
pageSize: 10,
checked: true,
dialogVisible: false,
+ dialogPdfVisible: false,
+ selectedRows: []
};
},
created() {
@@ -244,6 +262,28 @@
this.reportType = row.type;
this.queryReportByRCode(row.reportCode);
},
+ handleSelectionChange(selection){
+ this.selectedRows = selection;
+ },
+ // 鎵归噺瀵煎嚭鎶ュ憡
+ exportToPDF() {
+ this.dialogPdfVisible = true;
+ },
+ // 纭瀵煎嚭妯℃�佹
+ confirmExport(){
+ this.selectedRows.forEach(async row => {
+ const element = document.getElementById('printFinished');
+ console.log(element)
+ // 璁剧疆TestReport缁勪欢鐨剅eportData灞炴�т负褰撳墠琛岀殑鎶ュ憡鏁版嵁
+ const resp = await getReportData({code:row.reportCode});
+ this.$nextTick(() => {
+ this.$refs.testreport.reportData = resp.data;
+ html2pdf().from(element).save(`exported_${row.reportCode}.pdf`);
+ });
+ });
+ this.dialogPdfVisible = false;
+ this.selectedRows = [];
+ },
//鎵撳嵃鎸夐挳
printFun(){
this.dialogVisible = false;
--
Gitblit v1.9.3