style:证书证明预览
Showing
2 changed files
with
57 additions
and
11 deletions
| ... | @@ -165,7 +165,7 @@ | ... | @@ -165,7 +165,7 @@ |
| 165 | padding: 20px; | 165 | padding: 20px; |
| 166 | width: 100%; | 166 | width: 100%; |
| 167 | min-height: 30%; | 167 | min-height: 30%; |
| 168 | max-height: 90vh; | 168 | max-height: 92vh; |
| 169 | // overflow-y: scroll; | 169 | // overflow-y: scroll; |
| 170 | box-sizing: border-box; | 170 | box-sizing: border-box; |
| 171 | } | 171 | } | ... | ... |
| 1 | <!-- | 1 | <!-- |
| 2 | * @Description: | 2 | * @Description: |
| 3 | * @Autor: renchao | 3 | * @Autor: renchao |
| 4 | * @LastEditTime: 2023-11-15 15:34:21 | 4 | * @LastEditTime: 2023-12-19 08:54:37 |
| 5 | --> | 5 | --> |
| 6 | <template> | 6 | <template> |
| 7 | <div class="from-clues loadingtext" v-Loading="loading" element-loading-text="拼命加载中..." style="height:720px;text-align: center;"> | 7 | <div class="from-clues loadingtext" v-Loading="loading" element-loading-text="拼命加载中..." style="text-align: center;"> |
| 8 | <!-- 表单部分 --> | 8 | <!-- 表单部分 --> |
| 9 | <el-tabs v-model="activeName" @tab-click="handleClick" v-if="headTabBdcqz.length >1" style="margin-top:-23px"> | 9 | <el-tabs v-model="activeName" @tab-click="handleClick" v-if="headTabBdcqz.length >1" style="margin-top:-23px"> |
| 10 | <el-tab-pane :label="item.qlr + (item.bdcqzh !== null ? '(' + item.bdcqzh + ')' : '')" :name="item.bsmBdcqz" | 10 | <el-tab-pane :label="item.qlr + (item.bdcqzh !== null ? '(' + item.bdcqzh + ')' : '')" :name="item.bsmBdcqz" |
| 11 | v-for="(item, index) in headTabBdcqz" :key="index"> | 11 | v-for="(item, index) in headTabBdcqz" :key="index"> |
| 12 | </el-tab-pane> | 12 | </el-tab-pane> |
| 13 | </el-tabs> | 13 | </el-tabs> |
| 14 | <el-tabs v-model="activeTitle" style="margin-top:-20px"> | ||
| 15 | <el-tab-pane label="第一页" name="title1"></el-tab-pane> | ||
| 16 | <el-tab-pane label="第二页" name="title2"></el-tab-pane> | ||
| 17 | </el-tabs> | ||
| 14 | <el-empty description="暂无数据" v-if="headTabBdcqz.length == 0 && noData"></el-empty> | 18 | <el-empty description="暂无数据" v-if="headTabBdcqz.length == 0 && noData"></el-empty> |
| 15 | <div :style="{'width':'1180px','height': `calc(100% - ${hdiffHeight}px)`,'overflow-y': 'auto'}"> | 19 | <div :style="{'width':'1180px','overflow-y': 'auto'}"> |
| 16 | <canvas ref="zs" width="1000" v-show="this.bdcqz.bdcqzlx==1" height="700"></canvas> | 20 | <canvas ref="zs1" width="1000" v-show="this.bdcqz.bdcqzlx==1 && activeTitle=='title1'" height="700"></canvas> |
| 21 | <canvas ref="zs" width="1000" v-show="this.bdcqz.bdcqzlx==1 && activeTitle=='title2'" height="700"></canvas> | ||
| 17 | <canvas ref="zm" width="1180" v-show="this.bdcqz.bdcqzlx==2" height="780"></canvas> | 22 | <canvas ref="zm" width="1180" v-show="this.bdcqz.bdcqzlx==2" height="780"></canvas> |
| 18 | </div> | 23 | </div> |
| 19 | </div> | 24 | </div> |
| 20 | </template> | 25 | </template> |
| 21 | 26 | ||
| 22 | <script> | 27 | <script> |
| 28 | import QRCode from 'qrcode' | ||
| 23 | import { datas } from "../../javascript/zsyl.js"; | 29 | import { datas } from "../../javascript/zsyl.js"; |
| 24 | import { getSlsqBdcqzList } from "@/api/bdcqz.js" | 30 | import { getSlsqBdcqzList } from "@/api/bdcqz.js" |
| 25 | export default { | 31 | export default { |
| ... | @@ -32,8 +38,10 @@ | ... | @@ -32,8 +38,10 @@ |
| 32 | }, | 38 | }, |
| 33 | data () { | 39 | data () { |
| 34 | return { | 40 | return { |
| 41 | activeTitle: 'title1', | ||
| 35 | key: 0, | 42 | key: 0, |
| 36 | noData: false, | 43 | noData: false, |
| 44 | imgSrc1: require('@/image/bdcqz/bdcqzs1.jpg'), | ||
| 37 | imgSrc: require('@/image/bdcqz/bdcqzs2.jpg'), | 45 | imgSrc: require('@/image/bdcqz/bdcqzs2.jpg'), |
| 38 | bdczmSrc: require('@/image/bdcqz/bdczm.jpg'), | 46 | bdczmSrc: require('@/image/bdcqz/bdczm.jpg'), |
| 39 | loading: false, | 47 | loading: false, |
| ... | @@ -124,7 +132,42 @@ | ... | @@ -124,7 +132,42 @@ |
| 124 | * @description: 不动产证书 | 132 | * @description: 不动产证书 |
| 125 | * @author: renchao | 133 | * @author: renchao |
| 126 | */ | 134 | */ |
| 135 | drawTextOnImage1 () { | ||
| 136 | const canvas = this.$refs.zs1; | ||
| 137 | const context = canvas.getContext('2d'); | ||
| 138 | const image = new Image(); | ||
| 139 | image.onload = () => { | ||
| 140 | context.drawImage(image, 0, 0); | ||
| 141 | context.font = '18px 楷体'; | ||
| 142 | context.fillStyle = '#000000'; | ||
| 143 | let date = this.bdcqz.djsj.split(' ')[0].split('/'); | ||
| 144 | let nian = date[0] | ||
| 145 | let yue = date[1] | ||
| 146 | let ri = date[2] | ||
| 147 | this.bdcqz.nian = nian | ||
| 148 | this.bdcqz.yue = yue | ||
| 149 | this.bdcqz.ri = ri | ||
| 150 | context.fillText(nian ? nian : '', 780, 499); | ||
| 151 | context.fillText(yue ? yue : '', 840, 499); | ||
| 152 | context.fillText(ri ? ri : '', 885, 499); | ||
| 153 | QRCode.toDataURL(this.bdcqz.bdcqzh, { margin: 0 }) | ||
| 154 | .then(url => { | ||
| 155 | const qrImage = new Image(); | ||
| 156 | this.bdcqz.qrImage = url; // 将二维码图片的 URL 存储到 bdcqz 对象的 qrImage 属性中 | ||
| 157 | qrImage.onload = () => { | ||
| 158 | context.drawImage(qrImage, 670, 400, 100, 100); | ||
| 159 | }; | ||
| 160 | qrImage.src = url; | ||
| 161 | }) | ||
| 162 | .catch(error => { | ||
| 163 | console.error(error); | ||
| 164 | }); | ||
| 165 | context.fillText(this.bdcqz.bdcqzbm ? this.bdcqz.bdcqzbm : '', 745, 633); | ||
| 166 | }; | ||
| 167 | image.src = this.imgSrc1; | ||
| 168 | }, | ||
| 127 | drawTextOnImage () { | 169 | drawTextOnImage () { |
| 170 | this.drawTextOnImage1() | ||
| 128 | function getByteLen (val) { | 171 | function getByteLen (val) { |
| 129 | var len = 0; | 172 | var len = 0; |
| 130 | if (!val) return len; | 173 | if (!val) return len; |
| ... | @@ -516,17 +559,20 @@ | ... | @@ -516,17 +559,20 @@ |
| 516 | 559 | ||
| 517 | image.src = this.bdczmSrc; | 560 | image.src = this.bdczmSrc; |
| 518 | } | 561 | } |
| 519 | }, | ||
| 520 | computed: { | ||
| 521 | hdiffHeight () { | ||
| 522 | return this.headTabBdcqz.length > 1 ? 54 : 0 | ||
| 523 | } | ||
| 524 | } | 562 | } |
| 525 | } | 563 | } |
| 526 | </script> | 564 | </script> |
| 527 | <style scoped lang="scss"> | 565 | <style scoped lang="scss"> |
| 528 | @import "~@/styles/mixin.scss"; | 566 | @import "~@/styles/mixin.scss"; |
| 529 | 567 | /deep/.el-tabs__nav-wrap::after { | |
| 568 | display: none; | ||
| 569 | } | ||
| 570 | /deep/.el-tabs__header { | ||
| 571 | margin: 0; | ||
| 572 | } | ||
| 573 | /deep/.el-form-item--small.el-form-item { | ||
| 574 | margin-bottom: 0; | ||
| 575 | } | ||
| 530 | .imgClass { | 576 | .imgClass { |
| 531 | display: inline-block; | 577 | display: inline-block; |
| 532 | height: auto; | 578 | height: auto; | ... | ... |
-
Please register or sign in to post a comment