de6b25bd by renchao@pashanhoo.com

Merge branch 'dev'

2 parents 1d00e903 7a4e9519
...@@ -18,7 +18,7 @@ ...@@ -18,7 +18,7 @@
18 lpbData.xmmc 18 lpbData.xmmc
19 }}</el-checkbox> 19 }}</el-checkbox>
20 </p> 20 </p>
21 <el-button type="primary" class="save-btn" v-if="!onlyShow && showSave" @click="saveLpb">保存</el-button> 21 <el-button type="primary" class="save-btn" v-if="!onlyShow && showSave" @click="saveLpb">选择确认</el-button>
22 <el-button type="primary" class="save-btn" v-if="!onlyShow && !showSave" @click="submitForm" :loading="loading">发起申请</el-button> 22 <el-button type="primary" class="save-btn" v-if="!onlyShow && !showSave" @click="submitForm" :loading="loading">发起申请</el-button>
23 <!-- 右键菜单 --> 23 <!-- 右键菜单 -->
24 <ul 24 <ul
...@@ -36,7 +36,7 @@ import { getLpb } from "@/api/lpcx.js"; ...@@ -36,7 +36,7 @@ import { getLpb } from "@/api/lpcx.js";
36 import chCpn from "./ch.vue"; 36 import chCpn from "./ch.vue";
37 import zdyCpn from "./zdys.vue"; 37 import zdyCpn from "./zdys.vue";
38 import ljzsCpn from "./ljzs.vue"; 38 import ljzsCpn from "./ljzs.vue";
39 import { startBusinessFlow, choiceBdcdy } from "@/api/workFlow.js"; 39 import { startBusinessFlow, choiceBdcdy,againAddSldy } from "@/api/workFlow.js";
40 import jump from "../../ywbl/ywsq/components/mixin/jump"; 40 import jump from "../../ywbl/ywsq/components/mixin/jump";
41 import store from '@/store/index.js' 41 import store from '@/store/index.js'
42 import { ywPopupCacel } from "@/utils/popup.js"; 42 import { ywPopupCacel } from "@/utils/popup.js";
...@@ -132,10 +132,45 @@ export default { ...@@ -132,10 +132,45 @@ export default {
132 * @author: renchao 132 * @author: renchao
133 */ 133 */
134 saveLpb(){ 134 saveLpb(){
135 if (this.bsmList.length == 0) {
136 this.$message.error("请至少选择一条数据");
137 return;
138 }
139 this.loading = true;
140 againAddSldy({
141 bsmSqyw: this.sqywInfo.bsmSqyw,
142 bsmSlsq: this.sqywInfo.bsmSlsq,
143 bdcdysz: this.bsmList,
144 sjlx: "houses"
145 }).then((res) => {
146 this.loading = false
147 if (res.code == 200) {
148 this.$message({
149 showClose: true,
150 message: '添加成功',
151 type: 'success'
152 })
153 if (!this.isJump) {
154 this.jump(res.result, this.sqywInfo.djywbm)
155 } else {
156 store.dispatch('user/refreshPage', true);
157 }
158 //this.close();
159 this.$popupCacel();
160 } else {
161 if (res.result && res.result.length > 0) {
162 this.$popup("申请错误明细", "components/ywdialog", { width:'36%', formData:{result: res.result} })
163 } else {
164 this.$popup("申请错误明细", "components/ywdialog", { width:'36%', formData:{message: res.message} })
165 }
166 }
167 }).catch(() => {
168 this.loading = false
169 })
135 // todo 调用保存接口 传入参数待定 170 // todo 调用保存接口 传入参数待定
136 console.log(this.bsmList,'this.bsmList'); 171 //console.log(this.bsmList,'this.bsmList');
137 // 保存成功后关闭弹框 172 // 保存成功后关闭弹框
138 this.$popupCacel() 173 //this.$popupCacel()
139 }, 174 },
140 // 改变户选中状态 175 // 改变户选中状态
141 /** 176 /**
......
1 <!-- 1 <!--
2 * @Description: 2 * @Description:
3 * @Autor: renchao 3 * @Autor: renchao
4 * @LastEditTime: 2024-01-24 17:33:35 4 * @LastEditTime: 2024-02-06 13:26:37
5 --> 5 -->
6 <template> 6 <template>
7 <div> 7 <div>
...@@ -539,7 +539,7 @@ ...@@ -539,7 +539,7 @@
539 // context.fillText(this.bdcqz.qlr ? this.bdcqz.qlr : '', 775, 228); 539 // context.fillText(this.bdcqz.qlr ? this.bdcqz.qlr : '', 775, 228);
540 // 权利人 540 // 权利人
541 let qlrlines = this.bdcqz.qlr 541 let qlrlines = this.bdcqz.qlr
542 if (getByteLen(this.bdcqz.qlr) > 36) { 542 if (getByteLen(this.bdcqz.qlr) > 32) {
543 let currentLine = ''; 543 let currentLine = '';
544 let arr = []; 544 let arr = [];
545 for (let word of qlrlines) { 545 for (let word of qlrlines) {
...@@ -564,7 +564,7 @@ ...@@ -564,7 +564,7 @@
564 // context.fillText(this.bdcqz.ywr ? this.bdcqz.ywr : '', 775, 275); 564 // context.fillText(this.bdcqz.ywr ? this.bdcqz.ywr : '', 775, 275);
565 565
566 let ywrlines = this.bdcqz.ywr 566 let ywrlines = this.bdcqz.ywr
567 if (getByteLen(this.bdcqz.ywr) > 36) { 567 if (getByteLen(this.bdcqz.ywr) > 32) {
568 let currentLine = ''; 568 let currentLine = '';
569 let arr = []; 569 let arr = [];
570 for (let word of ywrlines) { 570 for (let word of ywrlines) {
...@@ -588,7 +588,7 @@ ...@@ -588,7 +588,7 @@
588 588
589 589
590 let lines2 = this.bdcqz.zl ? this.bdcqz.zl.split(' ') : []; 590 let lines2 = this.bdcqz.zl ? this.bdcqz.zl.split(' ') : [];
591 if (getByteLen(this.bdcqz.zl) > 37) { 591 if (getByteLen(this.bdcqz.zl) > 32) {
592 lines2.forEach((line, index) => { 592 lines2.forEach((line, index) => {
593 const y = 315 + (index * 20); // 每行文本的垂直位置 593 const y = 315 + (index * 20); // 每行文本的垂直位置
594 let currentLine = ''; 594 let currentLine = '';
...@@ -641,12 +641,60 @@ ...@@ -641,12 +641,60 @@
641 // 恢复原始字体设置 641 // 恢复原始字体设置
642 context.font = originalFont; 642 context.font = originalFont;
643 // qlqtzk 643 // qlqtzk
644 function getByteLenBdcdy (val) {
645 var encoder = new TextEncoder('utf-8');
646 return encoder.encode(val).length;
647 }
644 const maxWidth = 290; // 最大宽度限制 648 const maxWidth = 290; // 最大宽度限制
645 let lines = this.bdcqz.qlqtzk ? this.bdcqz.qlqtzk.split('\n').filter(i => i && i.trim()) : []; 649 let lines = this.bdcqz.qlqtzk ? this.bdcqz.qlqtzk.split('\n').filter(i => i && i.trim()) : [];
646 for (let i = 0; i < lines.length; i++) { 650 let bdcdyNum = Math.ceil(getByteLenBdcdy(lines[0]) / 43)
647 console.log(getByteLen(lines[i])); 651 // 单独处理不动产单元号
648 let num = Math.ceil(getByteLen(lines[i]) / 37) 652 let linesBdcdy = lines[0] ? lines[0].split(' ') : [];
649 if (getByteLen(lines[i]) > 37) { 653 if (getByteLenBdcdy(lines[0]) > 43) {
654 linesBdcdy.forEach((line, index) => {
655 const y = 412 + (index * 17); // 每行文本的垂直位置
656 let currentLine = '';
657 let arr = [];
658 for (let word of line) {
659 const testLine = currentLine + word;
660 const lineWidth = context.measureText(testLine).width;
661 if (lineWidth <= maxWidth) {
662 currentLine = testLine;
663 } else {
664 arr.push(currentLine);
665 currentLine = word;
666 }
667 }
668 arr.push(currentLine);
669 arr.forEach((line, index) => {
670 context.fillText(line, 770, y + (index * 17)); // 调整行高
671 })
672 })
673 } else {
674 linesBdcdy.forEach((line, index) => {
675 const y = 418 + (index * 17); // 每行文本的垂直位置
676 let currentLine = '';
677 let arr = [];
678 for (let word of line) {
679 const testLine = currentLine + word;
680 const lineWidth = context.measureText(testLine).width;
681 if (lineWidth <= maxWidth) {
682 currentLine = testLine;
683 } else {
684 arr.push(currentLine);
685 currentLine = word;
686 }
687 }
688 arr.push(currentLine);
689 arr.forEach((line, index) => {
690 context.fillText(line, 770, y + (index * 17)); // 调整行高
691 })
692 })
693 }
694
695 for (let i = 1; i < lines.length; i++) {
696 let num = Math.ceil(getByteLen(lines[i]) / 32)
697 if (getByteLen(lines[i]) > 32) {
650 let currentLine = ''; 698 let currentLine = '';
651 let arr = []; 699 let arr = [];
652 for (let word of lines[i]) { 700 for (let word of lines[i]) {
...@@ -662,18 +710,18 @@ ...@@ -662,18 +710,18 @@
662 arr.push(currentLine); 710 arr.push(currentLine);
663 if (i > 0) { 711 if (i > 0) {
664 arr.forEach((line, index) => { 712 arr.forEach((line, index) => {
665 context.fillText(line, 770, 438 + (24 * (i - 1)) + 5 * num + (index * 17)); // 调整行高 713 context.fillText(line, 770, 408 + (bdcdyNum * 15) + (24 * (i - 1)) + 5 * num + (index * 17)); // 调整行高
666 }) 714 })
667 } else { 715 } else {
668 arr.forEach((line, index) => { 716 arr.forEach((line, index) => {
669 context.fillText(line, 770, 438 + (24 * (i - 1)) + (index * 17)); // 调整行高 717 context.fillText(line, 770, 408 + (bdcdyNum * 15) + (24 * (i - 1)) + (index * 17)); // 调整行高
670 }) 718 })
671 } 719 }
672 } else { 720 } else {
673 if (i > 0) { 721 if (i > 0) {
674 context.fillText(lines[i] ? lines[i] : '', 770, 447 + 6 * num + (25 * (i - 1))); 722 context.fillText(lines[i] ? lines[i] : '', 770, 417 + (bdcdyNum * 15) + 6 * num + (25 * (i - 1)));
675 } else { 723 } else {
676 context.fillText(lines[i] ? lines[i] : '', 770, 447 + (25 * (i - 1))); 724 context.fillText(lines[i] ? lines[i] : '', 770, 417 + (bdcdyNum * 15) + (25 * (i - 1)));
677 } 725 }
678 } 726 }
679 } 727 }
......
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;">
...@@ -425,7 +425,6 @@ ...@@ -425,7 +425,6 @@
425 } 425 }
426 return len; 426 return len;
427 } 427 }
428
429 const canvas = this.$refs.zm; 428 const canvas = this.$refs.zm;
430 const context = canvas.getContext('2d'); 429 const context = canvas.getContext('2d');
431 const image = new Image(); 430 const image = new Image();
...@@ -444,7 +443,6 @@ ...@@ -444,7 +443,6 @@
444 } 443 }
445 context.fillText(this.bdcqz.sjjc ? this.bdcqz.sjjc : '', 620, 125); 444 context.fillText(this.bdcqz.sjjc ? this.bdcqz.sjjc : '', 620, 125);
446 context.fillText(this.bdcqz.djnd ? this.bdcqz.djnd : '', 665, 125); 445 context.fillText(this.bdcqz.djnd ? this.bdcqz.djnd : '', 665, 125);
447 console.log(getByteLen(this.bdcqz.sxqc));
448 if (getByteLen(this.bdcqz.sxqc) > 14) { 446 if (getByteLen(this.bdcqz.sxqc) > 14) {
449 const originalFont = context.font; 447 const originalFont = context.font;
450 // 设置新的字体大小 448 // 设置新的字体大小
...@@ -462,7 +460,7 @@ ...@@ -462,7 +460,7 @@
462 // context.fillText(this.bdcqz.qlr ? this.bdcqz.qlr : '', 775, 228); 460 // context.fillText(this.bdcqz.qlr ? this.bdcqz.qlr : '', 775, 228);
463 // 权利人 461 // 权利人
464 let qlrlines = this.bdcqz.qlr 462 let qlrlines = this.bdcqz.qlr
465 if (getByteLen(this.bdcqz.qlr) > 36) { 463 if (getByteLen(this.bdcqz.qlr) > 32) {
466 let currentLine = ''; 464 let currentLine = '';
467 let arr = []; 465 let arr = [];
468 for (let word of qlrlines) { 466 for (let word of qlrlines) {
...@@ -487,7 +485,7 @@ ...@@ -487,7 +485,7 @@
487 // 义务人 485 // 义务人
488 // context.fillText(this.bdcqz.ywr ? this.bdcqz.ywr : '', 775, 275); 486 // context.fillText(this.bdcqz.ywr ? this.bdcqz.ywr : '', 775, 275);
489 let ywrlines = this.bdcqz.ywr 487 let ywrlines = this.bdcqz.ywr
490 if (getByteLen(this.bdcqz.ywr) > 36) { 488 if (getByteLen(this.bdcqz.ywr) > 32) {
491 let currentLine = ''; 489 let currentLine = '';
492 let arr = []; 490 let arr = [];
493 for (let word of ywrlines) { 491 for (let word of ywrlines) {
...@@ -510,9 +508,8 @@ ...@@ -510,9 +508,8 @@
510 } 508 }
511 509
512 // context.fillText(this.bdcqz.zl ? this.bdcqz.zl : '', 775, 325); 510 // context.fillText(this.bdcqz.zl ? this.bdcqz.zl : '', 775, 325);
513
514 let lines2 = this.bdcqz.zl ? this.bdcqz.zl.split(' ') : []; 511 let lines2 = this.bdcqz.zl ? this.bdcqz.zl.split(' ') : [];
515 if (getByteLen(this.bdcqz.zl) > 37) { 512 if (getByteLen(this.bdcqz.zl) > 32) {
516 lines2.forEach((line, index) => { 513 lines2.forEach((line, index) => {
517 const y = 315 + (index * 20); // 每行文本的垂直位置 514 const y = 315 + (index * 20); // 每行文本的垂直位置
518 let currentLine = ''; 515 let currentLine = '';
...@@ -567,11 +564,60 @@ ...@@ -567,11 +564,60 @@
567 // 恢复原始字体设置 564 // 恢复原始字体设置
568 context.font = originalFont; 565 context.font = originalFont;
569 // qlqtzk 566 // qlqtzk
567 function getByteLenBdcdy (val) {
568 var encoder = new TextEncoder('utf-8');
569 return encoder.encode(val).length;
570 }
570 const maxWidth = 295; // 最大宽度限制 571 const maxWidth = 295; // 最大宽度限制
571 let lines = this.bdcqz.qlqtzk ? this.bdcqz.qlqtzk.split('\n').filter(i => i && i.trim()) : []; 572 let lines = this.bdcqz.qlqtzk ? this.bdcqz.qlqtzk.split('\n').filter(i => i && i.trim()) : [];
572 for (let i = 0; i < lines.length; i++) { 573 let bdcdyNum = Math.ceil(getByteLenBdcdy(lines[0]) / 43)
573 let num = Math.ceil(getByteLen(lines[i]) / 37) 574 // 单独处理不动产单元号
574 if (getByteLen(lines[i]) > 37) { 575 let linesBdcdy = lines[0] ? lines[0].split(' ') : [];
576 if (getByteLenBdcdy(lines[0]) > 43) {
577 linesBdcdy.forEach((line, index) => {
578 const y = 412 + (index * 17); // 每行文本的垂直位置
579 let currentLine = '';
580 let arr = [];
581 for (let word of line) {
582 const testLine = currentLine + word;
583 const lineWidth = context.measureText(testLine).width;
584 if (lineWidth <= maxWidth) {
585 currentLine = testLine;
586 } else {
587 arr.push(currentLine);
588 currentLine = word;
589 }
590 }
591 arr.push(currentLine);
592 arr.forEach((line, index) => {
593 context.fillText(line, 770, y + (index * 17)); // 调整行高
594 })
595 })
596 } else {
597 linesBdcdy.forEach((line, index) => {
598 const y = 418 + (index * 17); // 每行文本的垂直位置
599 let currentLine = '';
600 let arr = [];
601 for (let word of line) {
602 const testLine = currentLine + word;
603 const lineWidth = context.measureText(testLine).width;
604 if (lineWidth <= maxWidth) {
605 currentLine = testLine;
606 } else {
607 arr.push(currentLine);
608 currentLine = word;
609 }
610 }
611 arr.push(currentLine);
612 arr.forEach((line, index) => {
613 context.fillText(line, 770, y + (index * 17)); // 调整行高
614 })
615 })
616 }
617
618 for (let i = 1; i < lines.length; i++) {
619 let num = Math.ceil(getByteLen(lines[i]) / 32)
620 if (getByteLen(lines[i]) > 32) {
575 let currentLine = ''; 621 let currentLine = '';
576 let arr = []; 622 let arr = [];
577 for (let word of lines[i]) { 623 for (let word of lines[i]) {
...@@ -587,18 +633,18 @@ ...@@ -587,18 +633,18 @@
587 arr.push(currentLine); 633 arr.push(currentLine);
588 if (i > 0) { 634 if (i > 0) {
589 arr.forEach((line, index) => { 635 arr.forEach((line, index) => {
590 context.fillText(line, 770, 438 + (24 * (i - 1)) + 5 * num + (index * 17)); // 调整行高 636 context.fillText(line, 770, 408 + (bdcdyNum * 15) + (24 * (i - 1)) + 5 * num + (index * 17)); // 调整行高
591 }) 637 })
592 } else { 638 } else {
593 arr.forEach((line, index) => { 639 arr.forEach((line, index) => {
594 context.fillText(line, 770, 438 + (24 * (i - 1)) + (index * 17)); // 调整行高 640 context.fillText(line, 770, 408 + (bdcdyNum * 15) + (24 * (i - 1)) + (index * 17)); // 调整行高
595 }) 641 })
596 } 642 }
597 } else { 643 } else {
598 if (i > 0) { 644 if (i > 0) {
599 context.fillText(lines[i] ? lines[i] : '', 770, 447 + 6 * num + (25 * (i - 1))); 645 context.fillText(lines[i] ? lines[i] : '', 770, 417 + (bdcdyNum * 15) + 6 * num + (25 * (i - 1)));
600 } else { 646 } else {
601 context.fillText(lines[i] ? lines[i] : '', 770, 447 + (25 * (i - 1))); 647 context.fillText(lines[i] ? lines[i] : '', 770, 417 + (bdcdyNum * 15) + (25 * (i - 1)));
602 } 648 }
603 } 649 }
604 } 650 }
......
...@@ -63,6 +63,9 @@ export function getForm (tabName) { ...@@ -63,6 +63,9 @@ export function getForm (tabName) {
63 case "diyaqSlxx": 63 case "diyaqSlxx":
64 form = require("@/views/ywbl/slsqxx/diyaq/slxx.vue"); 64 form = require("@/views/ywbl/slsqxx/diyaq/slxx.vue");
65 break; 65 break;
66 case "batchDiyaq":
67 form = require("@/views/ywbl/slsqxx/diyaq/batchSlxx.vue");
68 break;
66 case "clxx": 69 case "clxx":
67 form = require("@/views/workflow/components/clxx/clxxUnify.vue"); 70 form = require("@/views/workflow/components/clxx/clxxUnify.vue");
68 break; 71 break;
......
...@@ -65,7 +65,7 @@ ...@@ -65,7 +65,7 @@
65 <div class="triangle"></div> 65 <div class="triangle"></div>
66 </div> 66 </div>
67 <cfBdcdyTable :tableData="ruleForm.qlxxList" v-if="ruleForm.slsq.djywbm.includes('400')" /> 67 <cfBdcdyTable :tableData="ruleForm.qlxxList" v-if="ruleForm.slsq.djywbm.includes('400')" />
68 <qjhTable v-else :tableData="ruleForm.hlist" /> 68 <cfBdcdyTable v-else :tableData="ruleForm.ztQlxxList" />
69 <div class="slxx_title title-block"> 69 <div class="slxx_title title-block">
70 抵押信息 70 抵押信息
71 <div class="triangle"></div> 71 <div class="triangle"></div>
...@@ -307,7 +307,7 @@ ...@@ -307,7 +307,7 @@
307 import qjhTable from "@/views/workflow/components/qjhTable"; 307 import qjhTable from "@/views/workflow/components/qjhTable";
308 import cfBdcdyTable from "@/views/workflow/components/cfBdcdyTable"; 308 import cfBdcdyTable from "@/views/workflow/components/cfBdcdyTable";
309 import qlrCommonTable from "@/views/workflow/components/qlrCommonTable"; 309 import qlrCommonTable from "@/views/workflow/components/qlrCommonTable";
310 import { bacthInit, saveBatchData } from "@/api/workflow/diyaqFlow.js"; 310 import { batchInit, saveBatchData } from "@/api/workflow/diyaqFlow.js";
311 import { mapGetters } from "vuex"; 311 import { mapGetters } from "vuex";
312 export default { 312 export default {
313 mounted () { 313 mounted () {
...@@ -320,7 +320,7 @@ ...@@ -320,7 +320,7 @@
320 formdata.append("bsmSlsq", this.$route.query.bsmSlsq); 320 formdata.append("bsmSlsq", this.$route.query.bsmSlsq);
321 formdata.append("djlx", this.propsParam.djlx); 321 formdata.append("djlx", this.propsParam.djlx);
322 formdata.append("isEdit", this.viewEdit); 322 formdata.append("isEdit", this.viewEdit);
323 bacthInit(formdata).then((res) => { 323 batchInit(formdata).then((res) => {
324 setTimeout(() => { 324 setTimeout(() => {
325 that.loading = false 325 that.loading = false
326 }, 200) 326 }, 200)
......