474a36d0 by tianhaohao@pashanhoo.com

Merge branch 'dev' of http://yun.pashanhoo.com:9090/bdc/bdcdj-web into dev

2 parents 48d26dad 7a4e9519
1 <!-- 1 <!--
2 * @Description: 2 * @Description:
3 * @Autor: renchao 3 * @Autor: renchao
4 * @LastEditTime: 2024-01-24 17:31:21 4 * @LastEditTime: 2024-02-06 13:23:36
5 --> 5 -->
6 <template> 6 <template>
7 <div> 7 <div>
...@@ -526,7 +526,7 @@ ...@@ -526,7 +526,7 @@
526 // context.fillText(this.bdcqz.qlr ? this.bdcqz.qlr : '', 775, 228); 526 // context.fillText(this.bdcqz.qlr ? this.bdcqz.qlr : '', 775, 228);
527 // 权利人 527 // 权利人
528 let qlrlines = this.bdcqz.qlr 528 let qlrlines = this.bdcqz.qlr
529 if (getByteLen(this.bdcqz.qlr) > 36) { 529 if (getByteLen(this.bdcqz.qlr) > 32) {
530 let currentLine = ''; 530 let currentLine = '';
531 let arr = []; 531 let arr = [];
532 for (let word of qlrlines) { 532 for (let word of qlrlines) {
...@@ -551,7 +551,7 @@ ...@@ -551,7 +551,7 @@
551 // context.fillText(this.bdcqz.ywr ? this.bdcqz.ywr : '', 775, 275); 551 // context.fillText(this.bdcqz.ywr ? this.bdcqz.ywr : '', 775, 275);
552 552
553 let ywrlines = this.bdcqz.ywr 553 let ywrlines = this.bdcqz.ywr
554 if (getByteLen(this.bdcqz.ywr) > 36) { 554 if (getByteLen(this.bdcqz.ywr) > 32) {
555 let currentLine = ''; 555 let currentLine = '';
556 let arr = []; 556 let arr = [];
557 for (let word of ywrlines) { 557 for (let word of ywrlines) {
...@@ -575,7 +575,7 @@ ...@@ -575,7 +575,7 @@
575 575
576 576
577 let lines2 = this.bdcqz.zl ? this.bdcqz.zl.split(' ') : []; 577 let lines2 = this.bdcqz.zl ? this.bdcqz.zl.split(' ') : [];
578 if (getByteLen(this.bdcqz.zl) > 37) { 578 if (getByteLen(this.bdcqz.zl) > 32) {
579 lines2.forEach((line, index) => { 579 lines2.forEach((line, index) => {
580 const y = 315 + (index * 20); // 每行文本的垂直位置 580 const y = 315 + (index * 20); // 每行文本的垂直位置
581 let currentLine = ''; 581 let currentLine = '';
...@@ -628,12 +628,60 @@ ...@@ -628,12 +628,60 @@
628 // 恢复原始字体设置 628 // 恢复原始字体设置
629 context.font = originalFont; 629 context.font = originalFont;
630 // qlqtzk 630 // qlqtzk
631 function getByteLenBdcdy (val) {
632 var encoder = new TextEncoder('utf-8');
633 return encoder.encode(val).length;
634 }
631 const maxWidth = 290; // 最大宽度限制 635 const maxWidth = 290; // 最大宽度限制
632 let lines = this.bdcqz.qlqtzk ? this.bdcqz.qlqtzk.split('\n').filter(i => i && i.trim()) : []; 636 let lines = this.bdcqz.qlqtzk ? this.bdcqz.qlqtzk.split('\n').filter(i => i && i.trim()) : [];
633 for (let i = 0; i < lines.length; i++) { 637 let bdcdyNum = Math.ceil(getByteLenBdcdy(lines[0]) / 43)
634 console.log(getByteLen(lines[i])); 638 // 单独处理不动产单元号
635 let num = Math.ceil(getByteLen(lines[i]) / 37) 639 let linesBdcdy = lines[0] ? lines[0].split(' ') : [];
636 if (getByteLen(lines[i]) > 37) { 640 if (getByteLenBdcdy(lines[0]) > 43) {
641 linesBdcdy.forEach((line, index) => {
642 const y = 412 + (index * 17); // 每行文本的垂直位置
643 let currentLine = '';
644 let arr = [];
645 for (let word of line) {
646 const testLine = currentLine + word;
647 const lineWidth = context.measureText(testLine).width;
648 if (lineWidth <= maxWidth) {
649 currentLine = testLine;
650 } else {
651 arr.push(currentLine);
652 currentLine = word;
653 }
654 }
655 arr.push(currentLine);
656 arr.forEach((line, index) => {
657 context.fillText(line, 770, y + (index * 17)); // 调整行高
658 })
659 })
660 } else {
661 linesBdcdy.forEach((line, index) => {
662 const y = 418 + (index * 17); // 每行文本的垂直位置
663 let currentLine = '';
664 let arr = [];
665 for (let word of line) {
666 const testLine = currentLine + word;
667 const lineWidth = context.measureText(testLine).width;
668 if (lineWidth <= maxWidth) {
669 currentLine = testLine;
670 } else {
671 arr.push(currentLine);
672 currentLine = word;
673 }
674 }
675 arr.push(currentLine);
676 arr.forEach((line, index) => {
677 context.fillText(line, 770, y + (index * 17)); // 调整行高
678 })
679 })
680 }
681
682 for (let i = 1; i < lines.length; i++) {
683 let num = Math.ceil(getByteLen(lines[i]) / 32)
684 if (getByteLen(lines[i]) > 32) {
637 let currentLine = ''; 685 let currentLine = '';
638 let arr = []; 686 let arr = [];
639 for (let word of lines[i]) { 687 for (let word of lines[i]) {
...@@ -649,18 +697,18 @@ ...@@ -649,18 +697,18 @@
649 arr.push(currentLine); 697 arr.push(currentLine);
650 if (i > 0) { 698 if (i > 0) {
651 arr.forEach((line, index) => { 699 arr.forEach((line, index) => {
652 context.fillText(line, 770, 438 + (24 * (i - 1)) + 5 * num + (index * 17)); // 调整行高 700 context.fillText(line, 770, 408 + (bdcdyNum * 15) + (24 * (i - 1)) + 5 * num + (index * 17)); // 调整行高
653 }) 701 })
654 } else { 702 } else {
655 arr.forEach((line, index) => { 703 arr.forEach((line, index) => {
656 context.fillText(line, 770, 438 + (24 * (i - 1)) + (index * 17)); // 调整行高 704 context.fillText(line, 770, 408 + (bdcdyNum * 15) + (24 * (i - 1)) + (index * 17)); // 调整行高
657 }) 705 })
658 } 706 }
659 } else { 707 } else {
660 if (i > 0) { 708 if (i > 0) {
661 context.fillText(lines[i] ? lines[i] : '', 770, 447 + 6 * num + (25 * (i - 1))); 709 context.fillText(lines[i] ? lines[i] : '', 770, 417 + (bdcdyNum * 15) + 6 * num + (25 * (i - 1)));
662 } else { 710 } else {
663 context.fillText(lines[i] ? lines[i] : '', 770, 447 + (25 * (i - 1))); 711 context.fillText(lines[i] ? lines[i] : '', 770, 417 + (bdcdyNum * 15) + (25 * (i - 1)));
664 } 712 }
665 } 713 }
666 } 714 }
......
1 <!-- 1 <!--
2 * @Description: 2 * @Description:
3 * @Autor: renchao 3 * @Autor: renchao
4 * @LastEditTime: 2024-01-30 16:29:37 4 * @LastEditTime: 2024-02-06 13:23:44
5 --> 5 -->
6 <template> 6 <template>
7 <div class="from-clues loadingtext" v-Loading="loading" element-loading-text="拼命加载中..." style="text-align: center;"> 7 <div class="from-clues loadingtext" v-Loading="loading" element-loading-text="拼命加载中..." style="text-align: center;">
...@@ -415,7 +415,6 @@ ...@@ -415,7 +415,6 @@
415 } 415 }
416 return len; 416 return len;
417 } 417 }
418
419 const canvas = this.$refs.zm; 418 const canvas = this.$refs.zm;
420 const context = canvas.getContext('2d'); 419 const context = canvas.getContext('2d');
421 const image = new Image(); 420 const image = new Image();
...@@ -434,7 +433,6 @@ ...@@ -434,7 +433,6 @@
434 } 433 }
435 context.fillText(this.bdcqz.sjjc ? this.bdcqz.sjjc : '', 620, 125); 434 context.fillText(this.bdcqz.sjjc ? this.bdcqz.sjjc : '', 620, 125);
436 context.fillText(this.bdcqz.djnd ? this.bdcqz.djnd : '', 665, 125); 435 context.fillText(this.bdcqz.djnd ? this.bdcqz.djnd : '', 665, 125);
437 console.log(getByteLen(this.bdcqz.sxqc));
438 if (getByteLen(this.bdcqz.sxqc) > 14) { 436 if (getByteLen(this.bdcqz.sxqc) > 14) {
439 const originalFont = context.font; 437 const originalFont = context.font;
440 // 设置新的字体大小 438 // 设置新的字体大小
...@@ -452,7 +450,7 @@ ...@@ -452,7 +450,7 @@
452 // context.fillText(this.bdcqz.qlr ? this.bdcqz.qlr : '', 775, 228); 450 // context.fillText(this.bdcqz.qlr ? this.bdcqz.qlr : '', 775, 228);
453 // 权利人 451 // 权利人
454 let qlrlines = this.bdcqz.qlr 452 let qlrlines = this.bdcqz.qlr
455 if (getByteLen(this.bdcqz.qlr) > 36) { 453 if (getByteLen(this.bdcqz.qlr) > 32) {
456 let currentLine = ''; 454 let currentLine = '';
457 let arr = []; 455 let arr = [];
458 for (let word of qlrlines) { 456 for (let word of qlrlines) {
...@@ -477,7 +475,7 @@ ...@@ -477,7 +475,7 @@
477 // 义务人 475 // 义务人
478 // context.fillText(this.bdcqz.ywr ? this.bdcqz.ywr : '', 775, 275); 476 // context.fillText(this.bdcqz.ywr ? this.bdcqz.ywr : '', 775, 275);
479 let ywrlines = this.bdcqz.ywr 477 let ywrlines = this.bdcqz.ywr
480 if (getByteLen(this.bdcqz.ywr) > 36) { 478 if (getByteLen(this.bdcqz.ywr) > 32) {
481 let currentLine = ''; 479 let currentLine = '';
482 let arr = []; 480 let arr = [];
483 for (let word of ywrlines) { 481 for (let word of ywrlines) {
...@@ -500,9 +498,8 @@ ...@@ -500,9 +498,8 @@
500 } 498 }
501 499
502 // context.fillText(this.bdcqz.zl ? this.bdcqz.zl : '', 775, 325); 500 // context.fillText(this.bdcqz.zl ? this.bdcqz.zl : '', 775, 325);
503
504 let lines2 = this.bdcqz.zl ? this.bdcqz.zl.split(' ') : []; 501 let lines2 = this.bdcqz.zl ? this.bdcqz.zl.split(' ') : [];
505 if (getByteLen(this.bdcqz.zl) > 37) { 502 if (getByteLen(this.bdcqz.zl) > 32) {
506 lines2.forEach((line, index) => { 503 lines2.forEach((line, index) => {
507 const y = 315 + (index * 20); // 每行文本的垂直位置 504 const y = 315 + (index * 20); // 每行文本的垂直位置
508 let currentLine = ''; 505 let currentLine = '';
...@@ -557,11 +554,60 @@ ...@@ -557,11 +554,60 @@
557 // 恢复原始字体设置 554 // 恢复原始字体设置
558 context.font = originalFont; 555 context.font = originalFont;
559 // qlqtzk 556 // qlqtzk
557 function getByteLenBdcdy (val) {
558 var encoder = new TextEncoder('utf-8');
559 return encoder.encode(val).length;
560 }
560 const maxWidth = 295; // 最大宽度限制 561 const maxWidth = 295; // 最大宽度限制
561 let lines = this.bdcqz.qlqtzk ? this.bdcqz.qlqtzk.split('\n').filter(i => i && i.trim()) : []; 562 let lines = this.bdcqz.qlqtzk ? this.bdcqz.qlqtzk.split('\n').filter(i => i && i.trim()) : [];
562 for (let i = 0; i < lines.length; i++) { 563 let bdcdyNum = Math.ceil(getByteLenBdcdy(lines[0]) / 43)
563 let num = Math.ceil(getByteLen(lines[i]) / 37) 564 // 单独处理不动产单元号
564 if (getByteLen(lines[i]) > 37) { 565 let linesBdcdy = lines[0] ? lines[0].split(' ') : [];
566 if (getByteLenBdcdy(lines[0]) > 43) {
567 linesBdcdy.forEach((line, index) => {
568 const y = 412 + (index * 17); // 每行文本的垂直位置
569 let currentLine = '';
570 let arr = [];
571 for (let word of line) {
572 const testLine = currentLine + word;
573 const lineWidth = context.measureText(testLine).width;
574 if (lineWidth <= maxWidth) {
575 currentLine = testLine;
576 } else {
577 arr.push(currentLine);
578 currentLine = word;
579 }
580 }
581 arr.push(currentLine);
582 arr.forEach((line, index) => {
583 context.fillText(line, 770, y + (index * 17)); // 调整行高
584 })
585 })
586 } else {
587 linesBdcdy.forEach((line, index) => {
588 const y = 418 + (index * 17); // 每行文本的垂直位置
589 let currentLine = '';
590 let arr = [];
591 for (let word of line) {
592 const testLine = currentLine + word;
593 const lineWidth = context.measureText(testLine).width;
594 if (lineWidth <= maxWidth) {
595 currentLine = testLine;
596 } else {
597 arr.push(currentLine);
598 currentLine = word;
599 }
600 }
601 arr.push(currentLine);
602 arr.forEach((line, index) => {
603 context.fillText(line, 770, y + (index * 17)); // 调整行高
604 })
605 })
606 }
607
608 for (let i = 1; i < lines.length; i++) {
609 let num = Math.ceil(getByteLen(lines[i]) / 32)
610 if (getByteLen(lines[i]) > 32) {
565 let currentLine = ''; 611 let currentLine = '';
566 let arr = []; 612 let arr = [];
567 for (let word of lines[i]) { 613 for (let word of lines[i]) {
...@@ -577,18 +623,18 @@ ...@@ -577,18 +623,18 @@
577 arr.push(currentLine); 623 arr.push(currentLine);
578 if (i > 0) { 624 if (i > 0) {
579 arr.forEach((line, index) => { 625 arr.forEach((line, index) => {
580 context.fillText(line, 770, 438 + (24 * (i - 1)) + 5 * num + (index * 17)); // 调整行高 626 context.fillText(line, 770, 408 + (bdcdyNum * 15) + (24 * (i - 1)) + 5 * num + (index * 17)); // 调整行高
581 }) 627 })
582 } else { 628 } else {
583 arr.forEach((line, index) => { 629 arr.forEach((line, index) => {
584 context.fillText(line, 770, 438 + (24 * (i - 1)) + (index * 17)); // 调整行高 630 context.fillText(line, 770, 408 + (bdcdyNum * 15) + (24 * (i - 1)) + (index * 17)); // 调整行高
585 }) 631 })
586 } 632 }
587 } else { 633 } else {
588 if (i > 0) { 634 if (i > 0) {
589 context.fillText(lines[i] ? lines[i] : '', 770, 447 + 6 * num + (25 * (i - 1))); 635 context.fillText(lines[i] ? lines[i] : '', 770, 417 + (bdcdyNum * 15) + 6 * num + (25 * (i - 1)));
590 } else { 636 } else {
591 context.fillText(lines[i] ? lines[i] : '', 770, 447 + (25 * (i - 1))); 637 context.fillText(lines[i] ? lines[i] : '', 770, 417 + (bdcdyNum * 15) + (25 * (i - 1)));
592 } 638 }
593 } 639 }
594 } 640 }
......