9e8a5fea by renchao@pashanhoo.com

style:证书预览

1 parent 2159a36b
1 <!-- 1 <!--
2 * @Description: 2 * @Description:
3 * @Autor: renchao 3 * @Autor: renchao
4 * @LastEditTime: 2023-05-17 10:40:23 4 * @LastEditTime: 2023-05-29 14:22:48
5 --> 5 -->
6 <template> 6 <template>
7 <div class="from-clues loadingtext" v-Loading="loading" element-loading-text="拼命加载中..." style="height:720px"> 7 <div class="from-clues loadingtext" v-Loading="loading" element-loading-text="拼命加载中..." style="height:720px">
...@@ -11,7 +11,8 @@ ...@@ -11,7 +11,8 @@
11 v-for="(item, index) in headTabBdcqz" :key="index"></el-tab-pane> 11 v-for="(item, index) in headTabBdcqz" :key="index"></el-tab-pane>
12 </el-tabs> 12 </el-tabs>
13 <div class="no-data" v-if="headTabBdcqz.length == 0">暂无数据</div> 13 <div class="no-data" v-if="headTabBdcqz.length == 0">暂无数据</div>
14 <img :src="previewImage" class="imgClass"> 14 <!-- <img :src="previewImage" class="imgClass"> -->
15 <canvas ref="canvas" :width="canvasWidth" :height="canvasHeight"></canvas>
15 </div> 16 </div>
16 </template> 17 </template>
17 18
...@@ -20,8 +21,6 @@ ...@@ -20,8 +21,6 @@
20 import { getSlsqBdcqzList, bdcqzPreview } from "@/api/bdcqz.js" 21 import { getSlsqBdcqzList, bdcqzPreview } from "@/api/bdcqz.js"
21 export default { 22 export default {
22 name: "zsyl", 23 name: "zsyl",
23 components: {
24 },
25 props: { 24 props: {
26 formData: { 25 formData: {
27 type: Object, 26 type: Object,
...@@ -30,6 +29,10 @@ ...@@ -30,6 +29,10 @@
30 }, 29 },
31 data () { 30 data () {
32 return { 31 return {
32 imgSrc: require('@/image/bdcqz/bdcqzs2.jpg'),
33 canvasWidth: 1018,
34 canvasHeight: 720,
35
33 loading: false, 36 loading: false,
34 //印刷序列号集合 37 //印刷序列号集合
35 ysxlh: [], 38 ysxlh: [],
...@@ -79,28 +82,54 @@ ...@@ -79,28 +82,54 @@
79 this.activeName = res.result[0].bsmBdcqz 82 this.activeName = res.result[0].bsmBdcqz
80 this.bdcqz = res.result[0] 83 this.bdcqz = res.result[0]
81 this.headTabBdcqz = res.result 84 this.headTabBdcqz = res.result
82 this.getBdcqzPreview(); 85 this.drawTextOnImage();
83 } else {
84 this.loading = false
85 } 86 }
86 } 87 }
87 88 this.loading = false
88 }) 89 })
89 }, 90 },
90 //tab表头切换方法 91 //tab表头切换方法
91 handleClick (e) { 92 handleClick (e) {
92 this.bdcqz = this.headTabBdcqz[e.index - 0] 93 this.bdcqz = this.headTabBdcqz[e.index - 0]
93 this.activeName = this.headTabBdcqz.bsmBdcqz 94 this.activeName = this.headTabBdcqz.bsmBdcqz
94 this.getBdcqzPreview(); 95 // this.getBdcqzPreview();
95 }, 96 this.drawTextOnImage()
96 getBdcqzPreview () {
97 bdcqzPreview(this.bdcqz).then(res => {
98 this.loading = false
99 let blob = new Blob([res]);
100 let url = window.URL.createObjectURL(blob);
101 this.previewImage = url;
102 })
103 }, 97 },
98 // getBdcqzPreview () {
99 // bdcqzPreview(this.bdcqz).then(res => {
100 // this.loading = false
101 // let blob = new Blob([res]);
102 // let url = window.URL.createObjectURL(blob);
103 // this.previewImage = url;
104 // this.drawTextOnImage()
105 // })
106 // },
107 drawTextOnImage () {
108 const canvas = this.$refs.canvas;
109 const context = canvas.getContext('2d');
110 const image = new Image();
111 image.onload = () => {
112 context.drawImage(image, 0, 0);
113 context.font = '15px 楷体';
114 context.fillStyle = '#000000';
115 context.fillText(this.bdcqz.sjjc ? this.bdcqz.sjjc : '', 60, 56);
116 context.fillText(this.bdcqz.djnd ? this.bdcqz.djnd : '', 113, 56);
117 context.fillText(this.bdcqz.sxqc ? this.bdcqz.sxqc : '', 180, 56);
118 context.fillText(this.bdcqz.sxh ? this.bdcqz.sxh : '', 370, 56);
119 context.fillText(this.bdcqz.qlr ? this.bdcqz.qlr : '', 138, 97);
120 context.fillText(this.bdcqz.gyqk ? this.bdcqz.gyqk : '', 138, 138);
121 context.fillText(this.bdcqz.zl ? this.bdcqz.zl : '', 138, 180);
122 context.fillText(this.bdcqz.bdcdyh ? this.bdcqz.bdcdyh : '', 138, 223);
123 context.fillText(this.bdcqz.qllx ? this.bdcqz.qllx : '', 138, 263);
124 context.fillText(this.bdcqz.qlxz ? this.bdcqz.qlxz : '', 138, 303);
125 context.fillText(this.bdcqz.yt ? this.bdcqz.yt : '', 138, 346);
126 context.fillText(this.bdcqz.mj ? this.bdcqz.mj : '', 138, 386);
127 context.fillText(this.bdcqz.syqx ? this.bdcqz.syqx : '', 138, 429);
128 context.fillText(this.bdcqz.qlqtzk ? this.bdcqz.qlqtzk : '', 138, 469);
129 context.fillText(this.bdcqz.fj ? this.bdcqz.fj : '', 580, 100);
130 }
131 image.src = this.imgSrc;
132 }
104 } 133 }
105 } 134 }
106 </script> 135 </script>
......