5cdd90f1 by renchao@pashanhoo.com

style:证书打印

1 parent 5680bd2e
...@@ -220,6 +220,18 @@ aside { ...@@ -220,6 +220,18 @@ aside {
220 margin: 0 auto; 220 margin: 0 auto;
221 } 221 }
222 222
223 .ellipsis-table {
224 display: inline-block;
225 word-break: break-all;
226 text-overflow: ellipsis;
227 display: -webkit-box;
228 -webkit-box-orient: vertical;
229 -webkit-line-clamp: 2;
230 /* 这里是超出几行省略 */
231 overflow: hidden;
232 margin: 0 auto;
233 }
234
223 .tooltip-width { 235 .tooltip-width {
224 max-width: 300px; 236 max-width: 300px;
225 } 237 }
......
1 /* 1 /*
2 * @Description: 2 * @Description:
3 * @Autor: renchao 3 * @Autor: renchao
4 * @LastEditTime: 2023-07-17 13:31:39 4 * @LastEditTime: 2023-08-28 15:31:31
5 */ 5 */
6 import store from '@/store' 6 import store from '@/store'
7 // table 内部过滤器 由于过滤器只能在模板中使用 所以 就有了 jsx内部方法过滤器 7 // table 内部过滤器 由于过滤器只能在模板中使用 所以 就有了 jsx内部方法过滤器
......
1 <!-- 1 <!--
2 * @Description: 2 * @Description:
3 * @Autor: renchao 3 * @Autor: renchao
4 * @LastEditTime: 2023-08-28 09:02:00 4 * @LastEditTime: 2023-08-28 10:34:21
5 --> 5 -->
6 <template> 6 <template>
7 <el-form ref="ruleForm" :model="ruleForm" label-width="100px" :rules="rules"> 7 <el-form ref="ruleForm" :model="ruleForm" label-width="100px" :rules="rules">
...@@ -183,11 +183,13 @@ ...@@ -183,11 +183,13 @@
183 ); 183 );
184 setTimeout(() => { 184 setTimeout(() => {
185 that.ruleForm.tmpcontent = document.getElementById("S1").value; 185 that.ruleForm.tmpcontent = document.getElementById("S1").value;
186 debugger
187 if (that.ruleForm.tmpno == 'zsdy') { 186 if (that.ruleForm.tmpno == 'zsdy') {
188 LODOP.ADD_PRINT_SETUP_BKIMG("<img border='0' src='http://192.168.2.38:9000/bdcdj/zhengshu_image/bdcqzs2.jpg'>"); 187 LODOP.ADD_PRINT_SETUP_BKIMG("<img border='0' src='http://192.168.2.38:9000/bdcdj/zhengshu_image/bdcqzs2.jpg'>");
189 LODOP.SET_SHOW_MODE("BKIMG_PRINT", 1);//打印包含背景图 188 LODOP.SET_SHOW_MODE("BKIMG_PRINT", 1);//打印包含背景图
190 LODOP.SET_PRINT_PAGESIZE(1, 0, 0, "B4"); 189 LODOP.SET_PRINT_PAGESIZE(1, 0, 0, "B4");
190 } else if (that.ruleForm.tmpno == 'zmdy') {
191 LODOP.ADD_PRINT_SETUP_BKIMG("<img border='0' src='http://192.168.2.38:9000/bdcdj/zhengshu_image/bdcdjzm.jpg'>");
192 LODOP.SET_SHOW_MODE("BKIMG_PRINT", 1);//打印包含背景图
191 } 193 }
192 that.loadStatus = '2'; 194 that.loadStatus = '2';
193 }, 1000); 195 }, 1000);
......
1 <!-- 1 <!--
2 * @Description: 2 * @Description:
3 * @Autor: renchao 3 * @Autor: renchao
4 * @LastEditTime: 2023-08-25 16:25:57 4 * @LastEditTime: 2023-08-28 14:14:09
5 --> 5 -->
6 <template> 6 <template>
7 <div> 7 <div>
...@@ -22,8 +22,17 @@ ...@@ -22,8 +22,17 @@
22 </el-select> 22 </el-select>
23 </el-form-item> 23 </el-form-item>
24 </el-form> 24 </el-form>
25 <div class="zs-content"> 25
26 <canvas ref="zs" width="1000" class="zsyl" height="700"></canvas> 26 <el-tabs v-model="activeName" @tab-click="handleClick" v-if="headTabBdcqz.length >1">
27 <el-tab-pane :label="item.qlr + (item.bdcqzh !== null ? '(' + item.bdcqzh + ')' : '')" :name="item.bsmBdcqz"
28 v-for="(item, index) in headTabBdcqz" :key="index">
29 </el-tab-pane>
30 </el-tabs>
31 <el-empty description="暂无数据" v-if="headTabBdcqz.length == 0 && noData"></el-empty>
32
33 <div class="zs-content" style="width:1180px;">
34 <canvas ref="zs" width="1000" v-show="headTabBdcqz[0]&&headTabBdcqz[0].bdcqzlx==1" height="700"></canvas>
35 <canvas ref="zm" width="1180" v-show="headTabBdcqz[0]&&headTabBdcqz[0].bdcqzlx!=1" height="780"></canvas>
27 </div> 36 </div>
28 </div> 37 </div>
29 <!-- 打印模板需要此模块 --> 38 <!-- 打印模板需要此模块 -->
...@@ -54,14 +63,21 @@ ...@@ -54,14 +63,21 @@
54 }, 63 },
55 data () { 64 data () {
56 return { 65 return {
66 key: 0,
57 // 不动产证书图片地址 67 // 不动产证书图片地址
68 noData: false,
58 imgSrc: require('@/image/bdcqz/bdcqzs2.jpg'), 69 imgSrc: require('@/image/bdcqz/bdcqzs2.jpg'),
70 bdczmSrc: require('@/image/bdcqz/bdczm.jpg'),
59 loading: false, 71 loading: false,
60 bdcqz: [], 72 bdcqz: [],
61 //印刷序列号集合 73 //印刷序列号集合
62 ysxlh: [], 74 ysxlh: [],
63 //列名称对象 75 //列名称对象
64 columns: [], 76 columns: [],
77 //tab切换栏数组
78 headTabBdcqz: [],
79 //tab选择绑定值
80 activeName: '',
65 ruleForm: { 81 ruleForm: {
66 bsmBdcqz: "", 82 bsmBdcqz: "",
67 szmc: "不动产权证书", 83 szmc: "不动产权证书",
...@@ -83,7 +99,6 @@ ...@@ -83,7 +99,6 @@
83 this.getHeadTabBdcqz() 99 this.getHeadTabBdcqz()
84 }, 100 },
85 methods: { 101 methods: {
86 //获取印刷序列号列表
87 /** 102 /**
88 * @description: 获取印刷序列号列表 103 * @description: 获取印刷序列号列表
89 * @author: renchao 104 * @author: renchao
...@@ -103,15 +118,36 @@ ...@@ -103,15 +118,36 @@
103 this.loading = true 118 this.loading = true
104 getSlsqBdcqzList({ bsmSlsq: this.formData.bsmSlsq }).then(res => { 119 getSlsqBdcqzList({ bsmSlsq: this.formData.bsmSlsq }).then(res => {
105 if (res.code == 200) { 120 if (res.code == 200) {
121 this.noData = true
106 if (res.result && res.result.length > 0) { 122 if (res.result && res.result.length > 0) {
123 this.activeName = res.result[0].bsmBdcqz
107 this.bdcqz = res.result[0] 124 this.bdcqz = res.result[0]
108 this.drawTextOnImage() 125 this.headTabBdcqz = res.result
126 if (res.result[0].bdcqzlx == 1) {
127 this.drawTextOnImage()
128 } else {
129 this.drawTextzmImage()
130 }
109 } 131 }
110 } 132 }
111 this.loading = false 133 this.loading = false
112 }) 134 })
113 }, 135 },
114 /** 136 /**
137 * @description: tab表头切换方法
138 * @param {*} e
139 * @author: renchao
140 */
141 handleClick (e) {
142 this.bdcqz = this.headTabBdcqz[e.index - 0]
143 this.activeName = this.headTabBdcqz.bsmBdcqz
144 if (this.bdcqz.bdcqzlx == 1) {
145 this.drawTextOnImage()
146 } else {
147 this.drawTextzmImage()
148 }
149 },
150 /**
115 * @description: 不动产证书 151 * @description: 不动产证书
116 * @author: renchao 152 * @author: renchao
117 */ 153 */
...@@ -198,6 +234,7 @@ ...@@ -198,6 +234,7 @@
198 const maxWidth = 332; // 最大宽度限制 234 const maxWidth = 332; // 最大宽度限制
199 let lines = this.bdcqz.qlqtzk ? this.bdcqz.qlqtzk.split('\n') : []; 235 let lines = this.bdcqz.qlqtzk ? this.bdcqz.qlqtzk.split('\n') : [];
200 for (let i = 0; i < lines.length; i++) { 236 for (let i = 0; i < lines.length; i++) {
237 let num = Math.ceil(getByteLen(lines[i]) / 41)
201 if (getByteLen(lines[i]) > 41) { 238 if (getByteLen(lines[i]) > 41) {
202 let currentLine = ''; 239 let currentLine = '';
203 let arr = []; 240 let arr = [];
...@@ -212,11 +249,21 @@ ...@@ -212,11 +249,21 @@
212 } 249 }
213 } 250 }
214 arr.push(currentLine); 251 arr.push(currentLine);
215 arr.forEach((line, index) => { 252 if (i > 0) {
216 context.fillText(line, 129, 490 + (28 * (i - 1)) + (index * 14)); // 调整行高 253 arr.forEach((line, index) => {
217 }) 254 context.fillText(line, 129, 490 + (28 * (i - 1)) + 5 * num + (index * 14)); // 调整行高
255 })
256 } else {
257 arr.forEach((line, index) => {
258 context.fillText(line, 129, 490 + (28 * (i - 1)) + (index * 14)); // 调整行高
259 })
260 }
218 } else { 261 } else {
219 context.fillText(lines[i] ? lines[i] : '', 129, 495 + (30 * (i - 1))); 262 if (i > 0) {
263 context.fillText(lines[i] ? lines[i] : '', 129, 495 + 5 * num + (30 * (i - 1)));
264 } else {
265 context.fillText(lines[i] ? lines[i] : '', 129, 495 + (30 * (i - 1)));
266 }
220 } 267 }
221 } 268 }
222 269
...@@ -329,6 +376,128 @@ ...@@ -329,6 +376,128 @@
329 image.src = this.imgSrc 376 image.src = this.imgSrc
330 }, 377 },
331 /** 378 /**
379 * @description: 不动产证明
380 * @author: renchao
381 */
382 drawTextzmImage () {
383 function getByteLen (val) {
384 var len = 0;
385 for (var i = 0; i < val.length; i++) {
386 var length = val.charCodeAt(i);
387 if (length >= 0 && length <= 128) {
388 len += 1;
389 } else {
390 len += 2;
391 }
392 }
393 return len;
394 }
395
396 const canvas = this.$refs.zm;
397 const context = canvas.getContext('2d');
398 const image = new Image();
399 image.onload = () => {
400 context.drawImage(image, 0, 0);
401 context.font = '16px 楷体';
402 context.fillStyle = '#000000';
403 // ysxlh
404 context.fillText(this.bdcqz.ysxlh ? this.bdcqz.ysxlh : '', 280, 712);
405 // djsj
406 if (this.bdcqz.djsj) {
407 let djsjList = this.bdcqz.djsj.split(' ')[0].split('/')
408 context.fillText(djsjList[0] ? djsjList[0] : '', 327, 580);
409 context.fillText(djsjList[1] ? djsjList[1] : '', 393, 580);
410 context.fillText(djsjList[2] ? djsjList[2] : '', 443, 580);
411 }
412 context.fillText(this.bdcqz.sjjc ? this.bdcqz.sjjc : '', 620, 125);
413 context.fillText(this.bdcqz.djnd ? this.bdcqz.djnd : '', 665, 125);
414 context.fillText(this.bdcqz.sxqc ? this.bdcqz.sxqc : '', 750, 125);
415 context.fillText(this.bdcqz.sxh ? this.bdcqz.sxh : '', 960, 123);
416 context.fillText(this.bdcqz.zmqlhsx ? this.bdcqz.zmqlhsx : '', 775, 180);
417 context.fillText(this.bdcqz.qlr ? this.bdcqz.qlr : '', 775, 228);
418 // 义务人
419 context.fillText(this.bdcqz.ywr ? this.bdcqz.ywr : '', 775, 275);
420 context.fillText(this.bdcqz.zl ? this.bdcqz.zl : '', 775, 325);
421 // bdcdyh
422 this.bdcdyh = this.bdcqz.bdcdyh.slice(0, 6) + ' ' + this.bdcqz.bdcdyh.slice(6, 12) + ' ' +
423 this.bdcqz.bdcdyh.slice(12, 19) + ' ' + this.bdcqz.bdcdyh.slice(19, this.bdcqz.bdcdyh.length)
424 context.fillText(this.bdcdyh ? this.bdcdyh : '', 775, 373);
425 // qlqtzk
426 const maxWidth = 295; // 最大宽度限制
427 let lines = this.bdcqz.qlqtzk ? this.bdcqz.qlqtzk.split('\n') : [];
428 for (let i = 0; i < lines.length; i++) {
429 let num = Math.ceil(getByteLen(lines[i]) / 41)
430 if (getByteLen(lines[i]) > 41) {
431 let currentLine = '';
432 let arr = [];
433 for (let word of lines[i]) {
434 const testLine = currentLine + word;
435 const lineWidth = context.measureText(testLine).width;
436 if (lineWidth <= maxWidth) {
437 currentLine = testLine;
438 } else {
439 arr.push(currentLine);
440 currentLine = word;
441 }
442 }
443 arr.push(currentLine);
444 if (i > 0) {
445 arr.forEach((line, index) => {
446 context.fillText(line, 770, 438 + (23 * (i - 1)) + 5 * num + (index * 16)); // 调整行高
447 })
448 } else {
449 arr.forEach((line, index) => {
450 context.fillText(line, 770, 438 + (23 * (i - 1)) + (index * 16)); // 调整行高
451 })
452 }
453 } else {
454 if (i > 0) {
455 context.fillText(lines[i] ? lines[i] : '', 770, 450 + 5 * num + (23 * (i - 1)));
456 } else {
457 context.fillText(lines[i] ? lines[i] : '', 770, 450 + (23 * (i - 1)));
458 }
459 }
460 }
461 // fj
462 let lines1 = this.bdcqz.fj ? this.bdcqz.fj.split('\n') : [];
463 for (let i = 0; i < lines1.length; i++) {
464 let num = Math.ceil(getByteLen(lines1[i]) / 41)
465 if (getByteLen(lines1[i]) > 41) {
466 let currentLine = '';
467 let arr = [];
468 for (let word of lines1[i]) {
469 const testLine = currentLine + word;
470 const lineWidth = context.measureText(testLine).width;
471 if (lineWidth <= maxWidth) {
472 currentLine = testLine;
473 } else {
474 arr.push(currentLine);
475 currentLine = word;
476 }
477 }
478 arr.push(currentLine);
479 if (i > 0) {
480 arr.forEach((line, index) => {
481 context.fillText(line, 770, 610 + (25 * (i - 1)) + 5 * num + (index * 15)); // 调整行高
482 })
483 } else {
484 arr.forEach((line, index) => {
485 context.fillText(line, 770, 610 + (25 * (i - 1)) + (index * 15)); // 调整行高
486 })
487 }
488 } else {
489 if (i > 0) {
490 context.fillText(lines1[i] ? lines1[i] : '', 770, 610 + 5 * num + (23 * (i - 1)));
491 } else {
492 context.fillText(lines1[i] ? lines1[i] : '', 770, 610 + (23 * (i - 1)));
493 }
494 }
495 }
496 }
497
498 image.src = this.bdczmSrc;
499 },
500 /**
332 * @description: handleSubmit 501 * @description: handleSubmit
333 * @author: renchao 502 * @author: renchao
334 */ 503 */
...@@ -347,31 +516,61 @@ ...@@ -347,31 +516,61 @@
347 certificate(this.ruleForm).then((res) => { 516 certificate(this.ruleForm).then((res) => {
348 if (res.code === 200) { 517 if (res.code === 200) {
349 that.$popupCacel() 518 that.$popupCacel()
350 // this.$message.success("提交成功") 519 if (this.bdcqz.bdcqzlx == 1) {
351 getPrintTemplateByCode({ tmpno: 'zsdy' }).then(res => { 520 getPrintTemplateByCode({ tmpno: 'zsdy' }).then(res => {
352 if (res.code == 200) { 521 if (res.code == 200) {
353 getSlsqBdcqzList({ bsmSlsq: this.formData.bsmSlsq }).then(infoRes => { 522 getSlsqBdcqzList({ bsmSlsq: this.formData.bsmSlsq }).then(infoRes => {
354 if (infoRes.code == 200) { 523 if (infoRes.code == 200) {
355 if (infoRes.result && infoRes.result.length > 0) { 524 if (infoRes.result && infoRes.result.length > 0) {
356 //打开模板设计 525 //打开模板设计
357 let LODOP = getLodop(document.getElementById('LODOP_OB'), document.getElementById('LODOP_EM')); 526 let LODOP = getLodop(document.getElementById('LODOP_OB'), document.getElementById('LODOP_EM'));
358 LODOP.ADD_PRINT_DATA("ProgramData", res.result.tmpcontent); //装载模板 527 LODOP.ADD_PRINT_DATA("ProgramData", res.result.tmpcontent); //装载模板
359 528
360 infoRes.result[0].bdcdyh1 = infoRes.result[0].bdcdyh.slice(0, 6) + ' ' + infoRes.result[0].bdcdyh.slice(6, 12) + ' ' + 529 infoRes.result[0].bdcdyh1 = infoRes.result[0].bdcdyh.slice(0, 6) + ' ' + infoRes.result[0].bdcdyh.slice(6, 12) + ' ' +
361 infoRes.result[0].bdcdyh.slice(12, 19) + ' ' + infoRes.result[0].bdcdyh.slice(19, infoRes.result[0].bdcdyh.length) 530 infoRes.result[0].bdcdyh.slice(12, 19) + ' ' + infoRes.result[0].bdcdyh.slice(19, infoRes.result[0].bdcdyh.length)
362 //todo 调取后端接口获取数据 循环set 531 //todo 调取后端接口获取数据 循环set
363 for (let key in infoRes.result[0]) { 532 for (let key in infoRes.result[0]) {
364 LODOP.SET_PRINT_STYLEA(key, "CONTENT", infoRes.result[0][key]); 533 LODOP.SET_PRINT_STYLEA(key, "CONTENT", infoRes.result[0][key]);
534 }
535 LODOP.PREVIEW();
536 that.$popupCacel()
365 } 537 }
366 LODOP.PREVIEW();
367 that.$popupCacel()
368 } 538 }
369 } 539 })
370 }) 540 } else {
371 } else { 541 this.$message.error(res.message)
372 this.$message.error(res.message) 542 }
373 } 543 })
374 }) 544 } else {
545 getPrintTemplateByCode({ tmpno: 'zmdy' }).then(res => {
546 if (res.code == 200) {
547 getSlsqBdcqzList({ bsmSlsq: this.formData.bsmSlsq }).then(infoRes => {
548 if (infoRes.code == 200) {
549 if (infoRes.result && infoRes.result.length > 0) {
550 //打开模板设计
551 let LODOP = getLodop(document.getElementById('LODOP_OB'), document.getElementById('LODOP_EM'));
552 LODOP.ADD_PRINT_DATA("ProgramData", res.result.tmpcontent); //装载模板
553
554 // 年月日
555 infoRes.result[0].nian = infoRes.result[0].djsj.split(' ')[0].split('/')[0]
556 infoRes.result[0].yue = infoRes.result[0].djsj.split(' ')[0].split('/')[1]
557 infoRes.result[0].ri = infoRes.result[0].djsj.split(' ')[0].split('/')[1]
558 infoRes.result[0].bdcdyh1 = infoRes.result[0].bdcdyh.slice(0, 6) + ' ' + infoRes.result[0].bdcdyh.slice(6, 12) + ' ' +
559 infoRes.result[0].bdcdyh.slice(12, 19) + ' ' + infoRes.result[0].bdcdyh.slice(19, infoRes.result[0].bdcdyh.length)
560 //todo 调取后端接口获取数据 循环set
561 for (let key in infoRes.result[0]) {
562 LODOP.SET_PRINT_STYLEA(key, "CONTENT", infoRes.result[0][key]);
563 }
564 LODOP.PREVIEW();
565 that.$popupCacel()
566 }
567 }
568 })
569 } else {
570 this.$message.error(res.message)
571 }
572 })
573 }
375 574
376 //刷新列表 575 //刷新列表
377 store.dispatch('user/reWorkFresh', true) 576 store.dispatch('user/reWorkFresh', true)
......
1 <!-- 1 <!--
2 * @Description: 2 * @Description:
3 * @Autor: renchao 3 * @Autor: renchao
4 * @LastEditTime: 2023-08-22 16:58:24 4 * @LastEditTime: 2023-08-28 12:53:50
5 --> 5 -->
6 <template> 6 <template>
7 <el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="100px"> 7 <el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="100px">
......
1 <!-- 1 <!--
2 * @Description: 2 * @Description:
3 * @Autor: renchao 3 * @Autor: renchao
4 * @LastEditTime: 2023-08-25 14:10:54 4 * @LastEditTime: 2023-08-28 13:57:58
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="height:720px;text-align: center;">
...@@ -204,26 +204,8 @@ ...@@ -204,26 +204,8 @@
204 // 权利其他状态 204 // 权利其他状态
205 const maxWidth = 332; // 最大宽度限制 205 const maxWidth = 332; // 最大宽度限制
206 let lines = this.bdcqz.qlqtzk ? this.bdcqz.qlqtzk.split('\n') : []; 206 let lines = this.bdcqz.qlqtzk ? this.bdcqz.qlqtzk.split('\n') : [];
207 // lines.forEach((line, index) => {
208 // const y = 463 + (index * 33); // 每行文本的垂直位置
209 // let currentLine = '';
210 // let arr = [];
211 // for (let word of line) {
212 // const testLine = currentLine + word;
213 // const lineWidth = context.measureText(testLine).width;
214 // if (lineWidth <= maxWidth) {
215 // currentLine = testLine;
216 // } else {
217 // arr.push(currentLine);
218 // currentLine = word;
219 // }
220 // }
221 // arr.push(currentLine);
222 // arr.forEach((line, index) => {
223 // context.fillText(line, 129, y + (index * 17)); // 调整行高
224 // })
225 // })
226 for (let i = 0; i < lines.length; i++) { 207 for (let i = 0; i < lines.length; i++) {
208 let num = Math.ceil(getByteLen(lines[i]) / 41)
227 if (getByteLen(lines[i]) > 41) { 209 if (getByteLen(lines[i]) > 41) {
228 let currentLine = ''; 210 let currentLine = '';
229 let arr = []; 211 let arr = [];
...@@ -238,11 +220,21 @@ ...@@ -238,11 +220,21 @@
238 } 220 }
239 } 221 }
240 arr.push(currentLine); 222 arr.push(currentLine);
241 arr.forEach((line, index) => { 223 if (i > 0) {
242 context.fillText(line, 129, 485 + (28 * (i - 1)) + (index * 14)); // 调整行高 224 arr.forEach((line, index) => {
243 }) 225 context.fillText(line, 129, 485 + (28 * (i - 1)) + 5 * num + (index * 14)); // 调整行高
226 })
227 } else {
228 arr.forEach((line, index) => {
229 context.fillText(line, 129, 485 + (28 * (i - 1)) + (index * 14)); // 调整行高
230 })
231 }
244 } else { 232 } else {
245 context.fillText(lines[i] ? lines[i] : '', 129, 495 + (25 * (i - 1))); 233 if (i > 0) {
234 context.fillText(lines[i] ? lines[i] : '', 129, 495 + 5 * num + (25 * (i - 1)));
235 } else {
236 context.fillText(lines[i] ? lines[i] : '', 129, 495 + (25 * (i - 1)));
237 }
246 } 238 }
247 } 239 }
248 240
...@@ -404,12 +396,12 @@ ...@@ -404,12 +396,12 @@
404 // qlqtzk 396 // qlqtzk
405 const maxWidth = 295; // 最大宽度限制 397 const maxWidth = 295; // 最大宽度限制
406 let lines = this.bdcqz.qlqtzk ? this.bdcqz.qlqtzk.split('\n') : []; 398 let lines = this.bdcqz.qlqtzk ? this.bdcqz.qlqtzk.split('\n') : [];
407 if (lines[0]) { 399 for (let i = 0; i < lines.length; i++) {
408 lines[0].split(' ').forEach((line, index) => { 400 let num = Math.ceil(getByteLen(lines[i]) / 41)
409 const y = 415 + (index * 30); // 每行文本的垂直位置 401 if (getByteLen(lines[i]) > 41) {
410 let currentLine = ''; 402 let currentLine = '';
411 let arr = []; 403 let arr = [];
412 for (let word of line) { 404 for (let word of lines[i]) {
413 const testLine = currentLine + word; 405 const testLine = currentLine + word;
414 const lineWidth = context.measureText(testLine).width; 406 const lineWidth = context.measureText(testLine).width;
415 if (lineWidth <= maxWidth) { 407 if (lineWidth <= maxWidth) {
...@@ -420,52 +412,58 @@ ...@@ -420,52 +412,58 @@
420 } 412 }
421 } 413 }
422 arr.push(currentLine); 414 arr.push(currentLine);
423 arr.forEach((line, index) => { 415 if (i > 0) {
424 context.fillText(line, 775, y + (index * 14)); // 调整行高 416 arr.forEach((line, index) => {
425 }); 417 context.fillText(line, 770, 438 + (23 * (i - 1)) + 5 * num + (index * 16)); // 调整行高
426 }); 418 })
427 }
428
429 lines.slice(1).forEach((line, index) => {
430 const y = ((parseInt(lines[0].length) / 19) * 22) + 415 + (index * 20); // 每行文本的垂直位置
431 let currentLine = '';
432 let arr = [];
433 for (let word of line) {
434 const testLine = currentLine + word;
435 const lineWidth = context.measureText(testLine).width;
436 if (lineWidth <= maxWidth) {
437 currentLine = testLine;
438 } else { 419 } else {
439 arr.push(currentLine); 420 arr.forEach((line, index) => {
440 currentLine = word; 421 context.fillText(line, 770, 438 + (23 * (i - 1)) + (index * 16)); // 调整行高
422 })
423 }
424 } else {
425 if (i > 0) {
426 context.fillText(lines[i] ? lines[i] : '', 770, 450 + 5 * num + (23 * (i - 1)));
427 } else {
428 context.fillText(lines[i] ? lines[i] : '', 770, 450 + (23 * (i - 1)));
441 } 429 }
442 } 430 }
443 arr.push(currentLine); 431 }
444 arr.forEach((line, index) => {
445 context.fillText(line, 775, y + (index * 16)); // 调整行高
446 })
447 })
448 // fj 432 // fj
449 let lines1 = this.bdcqz.fj ? this.bdcqz.fj.split('\n') : []; 433 let lines1 = this.bdcqz.fj ? this.bdcqz.fj.split('\n') : [];
450 lines1.forEach((line, index) => { 434 for (let i = 0; i < lines1.length; i++) {
451 const y = 590 + (index * 27); // 每行文本的垂直位置 435 let num = Math.ceil(getByteLen(lines1[i]) / 41)
452 let currentLine = ''; 436 if (getByteLen(lines1[i]) > 41) {
453 let arr = []; 437 let currentLine = '';
454 for (let word of line) { 438 let arr = [];
455 const testLine = currentLine + word; 439 for (let word of lines1[i]) {
456 const lineWidth = context.measureText(testLine).width; 440 const testLine = currentLine + word;
457 if (lineWidth <= maxWidth) { 441 const lineWidth = context.measureText(testLine).width;
458 currentLine = testLine; 442 if (lineWidth <= maxWidth) {
443 currentLine = testLine;
444 } else {
445 arr.push(currentLine);
446 currentLine = word;
447 }
448 }
449 arr.push(currentLine);
450 if (i > 0) {
451 arr.forEach((line, index) => {
452 context.fillText(line, 770, 610 + (25 * (i - 1)) + 5 * num + (index * 15)); // 调整行高
453 })
459 } else { 454 } else {
460 arr.push(currentLine); 455 arr.forEach((line, index) => {
461 currentLine = word; 456 context.fillText(line, 770, 610 + (25 * (i - 1)) + (index * 15)); // 调整行高
457 })
458 }
459 } else {
460 if (i > 0) {
461 context.fillText(lines1[i] ? lines1[i] : '', 770, 610 + 5 * num + (23 * (i - 1)));
462 } else {
463 context.fillText(lines1[i] ? lines1[i] : '', 770, 610 + (23 * (i - 1)));
462 } 464 }
463 } 465 }
464 arr.push(currentLine); 466 }
465 arr.forEach((line, index) => {
466 context.fillText(line, 775, y + (index * 20)); // 调整行高
467 })
468 })
469 } 467 }
470 468
471 image.src = this.bdczmSrc; 469 image.src = this.bdczmSrc;
......
1 /* 1 /*
2 * @Description: 2 * @Description:
3 * @Autor: renchao 3 * @Autor: renchao
4 * @LastEditTime: 2023-08-23 15:06:21 4 * @LastEditTime: 2023-08-28 15:33:05
5 */ 5 */
6 import filter from '@/utils/filter.js' 6 import filter from '@/utils/filter.js'
7 let vm = null 7 let vm = null
...@@ -30,11 +30,11 @@ class data extends filter { ...@@ -30,11 +30,11 @@ class data extends filter {
30 { 30 {
31 prop: "ywlymc", 31 prop: "ywlymc",
32 label: "业务来源", 32 label: "业务来源",
33 width: '100' 33 minWidth: '100'
34 }, 34 },
35 { 35 {
36 label: "流程状态", 36 label: "流程状态",
37 width: '80', 37 minWidth: '80',
38 render: (h, scope) => { 38 render: (h, scope) => {
39 if (scope.row.cfgqzt == '1') { 39 if (scope.row.cfgqzt == '1') {
40 return <div class='suspend'>查封挂起</div> 40 return <div class='suspend'>查封挂起</div>
...@@ -48,12 +48,12 @@ class data extends filter { ...@@ -48,12 +48,12 @@ class data extends filter {
48 { 48 {
49 prop: "zbhj", 49 prop: "zbhj",
50 label: "在办环节", 50 label: "在办环节",
51 width: '80' 51 minWidth: '80'
52 }, 52 },
53 { 53 {
54 label: '业务号', 54 label: '业务号',
55 align: 'center', 55 align: 'center',
56 width: '100', 56 minWidth: '100',
57 render: (h, scope) => { 57 render: (h, scope) => {
58 return <el-button type="text" onClick={() => { vm.ywhClick(scope.row) }}>{scope.row.ywh}</el-button> 58 return <el-button type="text" onClick={() => { vm.ywhClick(scope.row) }}>{scope.row.ywh}</el-button>
59 } 59 }
...@@ -61,30 +61,49 @@ class data extends filter { ...@@ -61,30 +61,49 @@ class data extends filter {
61 { 61 {
62 prop: "sqywmc", 62 prop: "sqywmc",
63 label: "申请业务名称", 63 label: "申请业务名称",
64 width: '220' 64 minWidth: '220'
65 }, 65 },
66 { 66 {
67 prop: "bdcdyh", 67 prop: "bdcdyh",
68 label: "不动产单元号", 68 label: "不动产单元号",
69 width: '170', 69 minWidth: '170',
70 }, 70 },
71 { 71 {
72 prop: "qlrmc",
73 label: "权利人", 72 label: "权利人",
74 width: '120', 73 width: '120',
75 showOverflowTooltip: true 74 render: (h, scope) => {
75 return (
76 <div>
77 <el-tooltip effect="dark" content={scope.row.qlrmc} placement="top" popper-class="tooltip-width ">
78 <span class="ellipsis-table"> {scope.row.qlrmc}</span>
79 </el-tooltip>
80 </div>
81 )
82 }
76 }, 83 },
77 { 84 {
78 prop: "ywrmc",
79 label: "义务人", 85 label: "义务人",
80 width: '120', 86 width: '120',
81 showOverflowTooltip: true 87 render: (h, scope) => {
88 return (
89 <div>
90 <el-tooltip effect="dark" content={scope.row.ywrmc} placement="top" popper-class="tooltip-width ">
91 <span class="ellipsis-table"> {scope.row.ywrmc}</span>
92 </el-tooltip>
93 </div>
94 )
95 }
82 }, 96 },
83 { 97 {
84 prop: "zl",
85 label: "坐落", 98 label: "坐落",
86 width: '150', 99 width: '150',
87 showOverflowTooltip: true, 100 render: (h, scope) => {
101 return (
102 <el-tooltip effect="dark" content={scope.row.zl} placement="top" popper-class="tooltip-width ">
103 <span class="ellipsis-table"> {scope.row.zl}</span>
104 </el-tooltip>
105 )
106 }
88 }, 107 },
89 { 108 {
90 prop: "slsj", 109 prop: "slsj",
...@@ -95,21 +114,14 @@ class data extends filter { ...@@ -95,21 +114,14 @@ class data extends filter {
95 { 114 {
96 prop: "slry", 115 prop: "slry",
97 label: "受理人员", 116 label: "受理人员",
98 minWidth: '80' 117 width: '80'
99 }, 118 },
100 { 119 {
101 label: "转入时间", 120 label: "转入时间",
102 sortable: 'custom', 121 sortable: 'custom',
103 prop: 'fromstepdate', 122 prop: 'fromstepdate',
104 width: '140' 123 width: '140'
105 }, 124 }
106 // {
107 // label: '操作',
108 // width: '80',
109 // render: (h, scope) => {
110 // return <el-button type="text" icon="el-icon-delete" onClick={() => { vm.del(scope.row) }}>删除</el-button>
111 // }
112 // }
113 ] 125 ]
114 } 126 }
115 } 127 }
......
1 /* 1 /*
2 * @Description: 2 * @Description:
3 * @Autor: renchao 3 * @Autor: renchao
4 * @LastEditTime: 2023-08-23 15:04:35 4 * @LastEditTime: 2023-08-28 15:33:57
5 */ 5 */
6 import filter from '@/utils/filter.js' 6 import filter from '@/utils/filter.js'
7 let vm = null 7 let vm = null
...@@ -73,10 +73,15 @@ class data extends filter { ...@@ -73,10 +73,15 @@ class data extends filter {
73 label: "义务人", 73 label: "义务人",
74 }, 74 },
75 { 75 {
76 prop: "zl",
77 label: "坐落", 76 label: "坐落",
78 showOverflowTooltip: true, 77 width: '150',
79 minWidth: '130' 78 render: (h, scope) => {
79 return (
80 <el-tooltip effect="dark" content={scope.row.zl} placement="top" popper-class="tooltip-width ">
81 <span class="ellipsis-table"> {scope.row.zl}</span>
82 </el-tooltip>
83 )
84 }
80 }, 85 },
81 { 86 {
82 prop: "slsj", 87 prop: "slsj",
...@@ -87,6 +92,7 @@ class data extends filter { ...@@ -87,6 +92,7 @@ class data extends filter {
87 { 92 {
88 prop: "slry", 93 prop: "slry",
89 label: "受理人员", 94 label: "受理人员",
95 width: '80'
90 }, 96 },
91 { 97 {
92 label: "转出时间", 98 label: "转出时间",
......