9c22be91 by tianhaohao@pashanhoo.com

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

2 parents 06da1a5a 0e4f3211
1 /* 1 /*
2 * @Description: 不动产权证 2 * @Description: 不动产权证
3 * @Autor: renchao 3 * @Autor: renchao
4 * @LastEditTime: 2023-05-16 14:04:18 4 * @LastEditTime: 2023-09-05 13:24:14
5 */ 5 */
6 import request from '@/utils/request'; 6 import request from '@/utils/request';
7 let SERVER = window.config ? window.config : JSON.parse(localStorage.getItem('ApiUrl')) 7 let SERVER = window.config ? window.config : JSON.parse(localStorage.getItem('ApiUrl'))
...@@ -131,3 +131,13 @@ export function bdcqzPreview (data) { ...@@ -131,3 +131,13 @@ export function bdcqzPreview (data) {
131 responseType: 'blob' 131 responseType: 'blob'
132 }) 132 })
133 } 133 }
134 // 获取不动产权证详细信息
135 export function getBdcqzDetail (bsmBdcqz) {
136 return request({
137 url: SERVER.SERVERAPI + '/rest/ywbl/bdcqz/getBdcqzDetail',
138 method: 'get',
139 params: {
140 bsmBdcqz: bsmBdcqz
141 }
142 })
143 }
...\ No newline at end of file ...\ No newline at end of file
......
1 <!-- 1 <!--
2 * @Description: 2 * @Description:
3 * @Autor: renchao 3 * @Autor: renchao
4 * @LastEditTime: 2023-08-30 17:33:06 4 * @LastEditTime: 2023-09-05 15:36:51
5 --> 5 -->
6 <template> 6 <template>
7 <div> 7 <div>
...@@ -12,19 +12,27 @@ ...@@ -12,19 +12,27 @@
12 ref="ruleForm" 12 ref="ruleForm"
13 label-width="120px"> 13 label-width="120px">
14 <el-form-item label="印刷序列号:" prop="ysxlh"> 14 <el-form-item label="印刷序列号:" prop="ysxlh">
15 <el-select v-model="ruleForm.ysxlh" placeholder="请选择"> 15 <el-row>
16 <el-option 16 <el-col :span="22">
17 v-for="item in ysxlh" 17 <el-select v-model="ruleForm.ysxlh" @change="handleSelect" :disabled="disabled" placeholder="请选择">
18 :key="item.ysxlh" 18 <el-option
19 :label="item.ysxlh" 19 v-for="item in ysxlh"
20 :value="item.ysxlh"> 20 :key="item.ysxlh"
21 </el-option> 21 :label="item.ysxlh"
22 </el-select> 22 :value="item.ysxlh">
23 </el-option>
24 </el-select>
25 </el-col>
26 <el-col :span="2" v-if="this.formData.ysxlh">
27 <el-button type="primary" @click="invalidDiglog=true">作废</el-button>
28 </el-col>
29 </el-row>
30
23 </el-form-item> 31 </el-form-item>
24 </el-form> 32 </el-form>
25 <div class="zs-content"> 33 <div class="zs-content">
26 <canvas ref="zs" width="1000" v-show="this.formData.bdcqz.bdcqzlx==1" height="700"></canvas> 34 <canvas ref="zs" width="1000" v-show="this.formData.bdcqzlx==1" height="700"></canvas>
27 <canvas ref="zm" width="1180" v-show="this.formData.bdcqz.bdcqzlx==2" height="780"></canvas> 35 <canvas ref="zm" width="1180" v-show="this.formData.bdcqzlx==2" height="780"></canvas>
28 </div> 36 </div>
29 </div> 37 </div>
30 <!-- 打印模板需要此模块 --> 38 <!-- 打印模板需要此模块 -->
...@@ -33,8 +41,24 @@ ...@@ -33,8 +41,24 @@
33 </object> 41 </object>
34 <div class="text-center pt-10"> 42 <div class="text-center pt-10">
35 <el-button @click="$popupCacel">取消</el-button> 43 <el-button @click="$popupCacel">取消</el-button>
36 <el-button type="primary" @click="handleSubmit">确定</el-button> 44 <el-button type="primary" @click="handlePrint" v-if="disabled">打印</el-button>
45 <el-button type="primary" @click="handleSubmit" v-else>确定</el-button>
37 </div> 46 </div>
47
48 <el-dialog title="证书作废" :visible.sync="invalidDiglog" width="40%" :modal-append-to-body="false" top="30vh">
49 <div class="invalid-diglog">
50 <div class="invalid-title">
51 <i class="el-icon-question invalid-icon"></i>
52 <div class="invalid-body">您确定作废证书并再次打印?印刷序列号{{bdcqz.ysxlh}}</div>
53 </div>
54 <div class="invalid-reson">作废原因:</div>
55 <el-input v-model="zfyy" placeholder="请输入作废原因" type="textarea" :rows="4"></el-input>
56 <div class="text-center pt-10">
57 <el-button @click="closeInvalidDiglog">取 消</el-button>
58 <el-button type="primary" @click="confirmInvalid">确 定</el-button>
59 </div>
60 </div>
61 </el-dialog>
38 </div> 62 </div>
39 </template> 63 </template>
40 64
...@@ -43,7 +67,7 @@ ...@@ -43,7 +67,7 @@
43 import { datas } from "../../javascript/zsyl.js"; 67 import { datas } from "../../javascript/zsyl.js";
44 import { getPrintTemplateByCode } from "@/api/print"; 68 import { getPrintTemplateByCode } from "@/api/print";
45 import { getLodop } from "@/utils/LodopFuncs" 69 import { getLodop } from "@/utils/LodopFuncs"
46 import { readYsxlh, certificate, getSlsqBdcqzList } from "@/api/bdcqz.js"; 70 import { readYsxlh, certificate, getBdcqzDetail, invalidCertificate } from "@/api/bdcqz.js";
47 export default { 71 export default {
48 props: { 72 props: {
49 formData: { 73 formData: {
...@@ -55,18 +79,22 @@ ...@@ -55,18 +79,22 @@
55 }, 79 },
56 data () { 80 data () {
57 return { 81 return {
82 // 详细信息
83 bdcqz: {},
58 key: 0, 84 key: 0,
85 disabled: false,
59 // 不动产证书图片地址 86 // 不动产证书图片地址
60 imgSrc: require('@/image/bdcqz/bdcqzs2.jpg'), 87 imgSrc: require('@/image/bdcqz/bdcqzs2.jpg'),
61 bdczmSrc: require('@/image/bdcqz/bdczm.jpg'), 88 bdczmSrc: require('@/image/bdcqz/bdczm.jpg'),
62 loading: false, 89 loading: false,
63 bdcqz: [],
64 //印刷序列号集合 90 //印刷序列号集合
65 ysxlh: [], 91 ysxlh: [],
66 //列名称对象 92 //列名称对象
67 columns: [], 93 columns: [],
68 //tab选择绑定值 94 //tab选择绑定值
69 activeName: '', 95 activeName: '',
96 invalidDiglog: false,
97 zfyy: "",
70 ruleForm: { 98 ruleForm: {
71 bsmBdcqz: "", 99 bsmBdcqz: "",
72 szmc: "不动产权证书", 100 szmc: "不动产权证书",
...@@ -85,24 +113,83 @@ ...@@ -85,24 +113,83 @@
85 store.dispatch('user/refreshPage', false) 113 store.dispatch('user/refreshPage', false)
86 this.columns = datas.columns() 114 this.columns = datas.columns()
87 this.ysxlhList() 115 this.ysxlhList()
88 if (this.formData.bdcqz.bdcqzlx == 1) { 116 // 获取详细信息
89 this.drawTextOnImage() 117 this.getDetail()
118 if (this.formData.ysxlh) {
119 this.disabled = true
90 } else { 120 } else {
91 this.drawTextzmImage() 121 this.disabled = false
92 } 122 }
93 }, 123 },
94 methods: { 124 methods: {
95 /** 125 /**
126 * @description: 获取详细信息
127 * @author: renchao
128 */
129 getDetail () {
130 this.loading = true
131 getBdcqzDetail(this.formData.bsmBdcqz).then(res => {
132 this.bdcqz = res.result
133 this.loading = false
134 if (this.bdcqz.ysxlh) this.ruleForm.ysxlh = this.bdcqz.ysxlh
135 if (this.bdcqz.bdcqzlx == 1) {
136 this.drawTextOnImage()
137 } else {
138 this.drawTextzmImage()
139 }
140 })
141 },
142 /**
96 * @description: 获取印刷序列号列表 143 * @description: 获取印刷序列号列表
97 * @author: renchao 144 * @author: renchao
98 */ 145 */
99 ysxlhList () { 146 ysxlhList () {
100 readYsxlh({ zslx: this.formData.bdcqz.bdcqzlx }).then((res) => { 147 readYsxlh({ zslx: this.formData.bdcqzlx }).then((res) => {
101 if (res.code === 200) { 148 if (res.code === 200) {
102 this.ysxlh = res.result; 149 this.ysxlh = res.result;
103 } 150 }
104 }) 151 })
105 }, 152 },
153 handleSelect (val) {
154 this.bdcqz.ysxlh = this.ruleForm.ysxlh
155 if (this.bdcqz.bdcqzlx == 1) {
156 this.drawTextOnImage()
157 } else {
158 this.drawTextzmImage()
159 }
160 },
161 /**
162 * @description: closeInvalidDiglog
163 * @author: renchao
164 */
165 closeInvalidDiglog () {
166 this.zfyy = "";
167 this.invalidDiglog = false
168 },
169 /**
170 * @description: 作废缮证信息
171 * @author: renchao
172 */
173 confirmInvalid () {
174 invalidCertificate({ bsmBdcqz: this.bdcqz.bsmBdcqz, zfyy: this.zfyy }).then((res) => {
175 if (res.code === 200) {
176 this.$message.success("作废成功");
177 this.disabled = false
178 this.invalidDiglog = false;
179 this.zfyy = ''
180 this.ruleForm.ysxlh = ''
181 this.bdcqz.ysxlh = ''
182 store.dispatch('user/reWorkFresh', false)
183 if (this.bdcqz.bdcqzlx == 1) {
184 this.drawTextOnImage()
185 } else {
186 this.drawTextzmImage()
187 }
188 } else {
189 this.$message.error(res.message);
190 }
191 })
192 },
106 /** 193 /**
107 * @description: 不动产证书 194 * @description: 不动产证书
108 * @author: renchao 195 * @author: renchao
...@@ -128,25 +215,24 @@ ...@@ -128,25 +215,24 @@
128 context.drawImage(image, 0, 0); 215 context.drawImage(image, 0, 0);
129 context.font = '16px 楷体'; 216 context.font = '16px 楷体';
130 context.fillStyle = '#000000'; 217 context.fillStyle = '#000000';
131 context.fillText(this.formData.bdcqz.sjjc ? this.formData.bdcqz.sjjc : '', 60, 56); 218 context.fillText(this.bdcqz.sjjc ? this.bdcqz.sjjc : '', 60, 56);
132 context.fillText(this.formData.bdcqz.djnd ? this.formData.bdcqz.djnd : '', 113, 56); 219 context.fillText(this.bdcqz.djnd ? this.bdcqz.djnd : '', 113, 56);
133 context.fillText(this.formData.bdcqz.sxqc ? this.formData.bdcqz.sxqc : '', 180, 56); 220 context.fillText(this.bdcqz.sxqc ? this.bdcqz.sxqc : '', 180, 56);
134 context.fillText(this.formData.bdcqz.sxh ? this.formData.bdcqz.sxh : '', 370, 56); 221 context.fillText(this.bdcqz.sxh ? this.bdcqz.sxh : '', 370, 56);
135 context.fillText(this.formData.bdcqz.qlr ? this.formData.bdcqz.qlr : '', 129, 97); 222 context.fillText(this.bdcqz.qlr ? this.bdcqz.qlr : '', 129, 97);
136 context.fillText(this.formData.bdcqz.gyqk ? this.formData.bdcqz.gyqk : '', 129, 136); 223 context.fillText(this.bdcqz.gyqk ? this.bdcqz.gyqk : '', 129, 136);
137 224
138 this.bdcdyh = this.formData.bdcqz.bdcdyh.slice(0, 6) + ' ' + this.formData.bdcqz.bdcdyh.slice(6, 12) + ' ' + 225 this.bdcdyh = this.bdcqz.bdcdyh.slice(0, 6) + ' ' + this.bdcqz.bdcdyh.slice(6, 12) + ' ' +
139 this.formData.bdcqz.bdcdyh.slice(12, 19) + ' ' + this.formData.bdcqz.bdcdyh.slice(19, this.formData.bdcqz.bdcdyh.length) 226 this.bdcqz.bdcdyh.slice(12, 19) + ' ' + this.bdcqz.bdcdyh.slice(19, this.bdcqz.bdcdyh.length)
140 context.fillText(this.bdcdyh ? this.bdcdyh : '', 129, 223); 227 context.fillText(this.bdcdyh ? this.bdcdyh : '', 129, 223);
141 228
142 229
143 230
144 context.fillText(this.formData.bdcqz.qllx ? this.formData.bdcqz.qllx : '', 129, 263); 231 context.fillText(this.bdcqz.qllx ? this.bdcqz.qllx : '', 129, 263);
145 context.fillText(this.formData.bdcqz.qlxz ? this.formData.bdcqz.qlxz : '', 129, 303); 232 context.fillText(this.bdcqz.qlxz ? this.bdcqz.qlxz : '', 129, 303);
146 context.fillText(this.formData.bdcqz.yt ? this.formData.bdcqz.yt : '', 129, 346); 233 context.fillText(this.bdcqz.yt ? this.bdcqz.yt : '', 129, 346);
147 // context.fillText(this.formData.bdcqz.mj ? this.formData.bdcqz.mj : '', 129, 386); 234 let lines6 = this.bdcqz.mj ? this.bdcqz.mj.split(' ') : [];
148 let lines6 = this.formData.bdcqz.mj ? this.formData.bdcqz.mj.split(' ') : []; 235 if (getByteLen(this.bdcqz.mj) > 41) {
149 if (getByteLen(this.formData.bdcqz.mj) > 41) {
150 lines6.forEach((line, index) => { 236 lines6.forEach((line, index) => {
151 const y = 378 + (index * 27); // 每行文本的垂直位置 237 const y = 378 + (index * 27); // 每行文本的垂直位置
152 let currentLine = ''; 238 let currentLine = '';
...@@ -189,7 +275,7 @@ ...@@ -189,7 +275,7 @@
189 } 275 }
190 // 权利其他状态 276 // 权利其他状态
191 const maxWidth = 332; // 最大宽度限制 277 const maxWidth = 332; // 最大宽度限制
192 let lines = this.formData.bdcqz.qlqtzk ? this.formData.bdcqz.qlqtzk.split('\n') : []; 278 let lines = this.bdcqz.qlqtzk ? this.bdcqz.qlqtzk.split('\n') : [];
193 for (let i = 0; i < lines.length; i++) { 279 for (let i = 0; i < lines.length; i++) {
194 let num = Math.ceil(getByteLen(lines[i]) / 41) 280 let num = Math.ceil(getByteLen(lines[i]) / 41)
195 if (getByteLen(lines[i]) > 41) { 281 if (getByteLen(lines[i]) > 41) {
...@@ -224,7 +310,7 @@ ...@@ -224,7 +310,7 @@
224 } 310 }
225 } 311 }
226 312
227 let lines1 = this.formData.bdcqz.fj ? this.formData.bdcqz.fj.split('\n') : []; 313 let lines1 = this.bdcqz.fj ? this.bdcqz.fj.split('\n') : [];
228 lines1.forEach((line, index) => { 314 lines1.forEach((line, index) => {
229 const y = 100 + (index * 30); // 每行文本的垂直位置 315 const y = 100 + (index * 30); // 每行文本的垂直位置
230 let currentLine = ''; 316 let currentLine = '';
...@@ -244,8 +330,8 @@ ...@@ -244,8 +330,8 @@
244 context.fillText(line, 580, y + (index * 30)); // 调整行高 330 context.fillText(line, 580, y + (index * 30)); // 调整行高
245 }) 331 })
246 }) 332 })
247 let lines3 = this.formData.bdcqz.syqx ? this.formData.bdcqz.syqx.split(' ') : []; 333 let lines3 = this.bdcqz.syqx ? this.bdcqz.syqx.split(' ') : [];
248 if (getByteLen(this.formData.bdcqz.syqx) > 41) { 334 if (getByteLen(this.bdcqz.syqx) > 41) {
249 lines3.forEach((line, index) => { 335 lines3.forEach((line, index) => {
250 const y = 423 + (index * 27); // 每行文本的垂直位置 336 const y = 423 + (index * 27); // 每行文本的垂直位置
251 let currentLine = ''; 337 let currentLine = '';
...@@ -287,8 +373,8 @@ ...@@ -287,8 +373,8 @@
287 }) 373 })
288 } 374 }
289 375
290 let lines2 = this.formData.bdcqz.zl ? this.formData.bdcqz.zl.split(' ') : []; 376 let lines2 = this.bdcqz.zl ? this.bdcqz.zl.split(' ') : [];
291 if (getByteLen(this.formData.bdcqz.zl) > 41) { 377 if (getByteLen(this.bdcqz.zl) > 41) {
292 lines2.forEach((line, index) => { 378 lines2.forEach((line, index) => {
293 const y = 170 + (index * 20); // 每行文本的垂直位置 379 const y = 170 + (index * 20); // 每行文本的垂直位置
294 let currentLine = ''; 380 let currentLine = '';
...@@ -359,25 +445,24 @@ ...@@ -359,25 +445,24 @@
359 context.font = '16px 楷体'; 445 context.font = '16px 楷体';
360 context.fillStyle = '#000000'; 446 context.fillStyle = '#000000';
361 // ysxlh 447 // ysxlh
362 context.fillText(this.formData.bdcqz.ysxlh ? this.formData.bdcqz.ysxlh : '', 280, 712); 448 context.fillText(this.bdcqz.ysxlh ? this.bdcqz.ysxlh : '', 280, 712);
363 // djsj 449 // djsj
364 if (this.formData.bdcqz.djsj) { 450 if (this.bdcqz.djsj) {
365 let djsjList = this.formData.bdcqz.djsj.split(' ')[0].split('/') 451 let djsjList = this.bdcqz.djsj.split(' ')[0].split('/')
366 context.fillText(djsjList[0] ? djsjList[0] : '', 327, 580); 452 context.fillText(djsjList[0] ? djsjList[0] : '', 327, 580);
367 context.fillText(djsjList[1] ? djsjList[1] : '', 393, 580); 453 context.fillText(djsjList[1] ? djsjList[1] : '', 393, 580);
368 context.fillText(djsjList[2] ? djsjList[2] : '', 443, 580); 454 context.fillText(djsjList[2] ? djsjList[2] : '', 443, 580);
369 } 455 }
370 context.fillText(this.formData.bdcqz.sjjc ? this.formData.bdcqz.sjjc : '', 620, 125); 456 context.fillText(this.bdcqz.sjjc ? this.bdcqz.sjjc : '', 620, 125);
371 context.fillText(this.formData.bdcqz.djnd ? this.formData.bdcqz.djnd : '', 665, 125); 457 context.fillText(this.bdcqz.djnd ? this.bdcqz.djnd : '', 665, 125);
372 context.fillText(this.formData.bdcqz.sxqc ? this.formData.bdcqz.sxqc : '', 750, 125); 458 context.fillText(this.bdcqz.sxqc ? this.bdcqz.sxqc : '', 750, 125);
373 context.fillText(this.formData.bdcqz.sxh ? this.formData.bdcqz.sxh : '', 960, 123); 459 context.fillText(this.bdcqz.sxh ? this.bdcqz.sxh : '', 960, 123);
374 context.fillText(this.formData.bdcqz.zmqlhsx ? this.formData.bdcqz.zmqlhsx : '', 775, 180); 460 context.fillText(this.bdcqz.zmqlhsx ? this.bdcqz.zmqlhsx : '', 775, 180);
375 context.fillText(this.formData.bdcqz.qlr ? this.formData.bdcqz.qlr : '', 775, 228); 461 context.fillText(this.bdcqz.qlr ? this.bdcqz.qlr : '', 775, 228);
376 // 义务人 462 // 义务人
377 context.fillText(this.formData.bdcqz.ywr ? this.formData.bdcqz.ywr : '', 775, 275); 463 context.fillText(this.bdcqz.ywr ? this.bdcqz.ywr : '', 775, 275);
378 // context.fillText(this.formData.bdcqz.zl ? this.formData.bdcqz.zl : '', 775, 325); 464 let lines2 = this.bdcqz.zl ? this.bdcqz.zl.split(' ') : [];
379 let lines2 = this.formData.bdcqz.zl ? this.formData.bdcqz.zl.split(' ') : []; 465 if (getByteLen(this.bdcqz.zl) > 41) {
380 if (getByteLen(this.formData.bdcqz.zl) > 41) {
381 lines2.forEach((line, index) => { 466 lines2.forEach((line, index) => {
382 const y = 315 + (index * 20); // 每行文本的垂直位置 467 const y = 315 + (index * 20); // 每行文本的垂直位置
383 let currentLine = ''; 468 let currentLine = '';
...@@ -419,15 +504,15 @@ ...@@ -419,15 +504,15 @@
419 }) 504 })
420 } 505 }
421 // bdcdyh 506 // bdcdyh
422 this.bdcdyh = this.formData.bdcqz.bdcdyh.slice(0, 6) + ' ' + this.formData.bdcqz.bdcdyh.slice(6, 12) + ' ' + 507 this.bdcdyh = this.bdcqz.bdcdyh.slice(0, 6) + ' ' + this.bdcqz.bdcdyh.slice(6, 12) + ' ' +
423 this.formData.bdcqz.bdcdyh.slice(12, 19) + ' ' + this.formData.bdcqz.bdcdyh.slice(19, this.formData.bdcqz.bdcdyh.length) 508 this.bdcqz.bdcdyh.slice(12, 19) + ' ' + this.bdcqz.bdcdyh.slice(19, this.bdcqz.bdcdyh.length)
424 context.fillText(this.bdcdyh ? this.bdcdyh : '', 775, 373); 509 context.fillText(this.bdcdyh ? this.bdcdyh : '', 775, 373);
425 // qlqtzk 510 // qlqtzk
426 const maxWidth = 295; // 最大宽度限制 511 const maxWidth = 290; // 最大宽度限制
427 let lines = this.formData.bdcqz.qlqtzk ? this.formData.bdcqz.qlqtzk.split('\n') : []; 512 let lines = this.bdcqz.qlqtzk ? this.bdcqz.qlqtzk.split('\n') : [];
428 for (let i = 0; i < lines.length; i++) { 513 for (let i = 0; i < lines.length; i++) {
429 let num = Math.ceil(getByteLen(lines[i]) / 41) 514 let num = Math.ceil(getByteLen(lines[i]) / 37)
430 if (getByteLen(lines[i]) > 41) { 515 if (getByteLen(lines[i]) > 37) {
431 let currentLine = ''; 516 let currentLine = '';
432 let arr = []; 517 let arr = [];
433 for (let word of lines[i]) { 518 for (let word of lines[i]) {
...@@ -459,10 +544,10 @@ ...@@ -459,10 +544,10 @@
459 } 544 }
460 } 545 }
461 // fj 546 // fj
462 let lines1 = this.formData.bdcqz.fj ? this.formData.bdcqz.fj.split('\n') : []; 547 let lines1 = this.bdcqz.fj ? this.bdcqz.fj.split('\n') : [];
463 for (let i = 0; i < lines1.length; i++) { 548 for (let i = 0; i < lines1.length; i++) {
464 let num = Math.ceil(getByteLen(lines1[i]) / 41) 549 let num = Math.ceil(getByteLen(lines1[i]) / 37)
465 if (getByteLen(lines1[i]) > 41) { 550 if (getByteLen(lines1[i]) > 37) {
466 let currentLine = ''; 551 let currentLine = '';
467 let arr = []; 552 let arr = [];
468 for (let word of lines1[i]) { 553 for (let word of lines1[i]) {
...@@ -494,77 +579,85 @@ ...@@ -494,77 +579,85 @@
494 } 579 }
495 } 580 }
496 } 581 }
497
498 image.src = this.bdczmSrc; 582 image.src = this.bdczmSrc;
499 }, 583 },
500 /** 584 // 打印
501 * @description: handleSubmit 585 handlePrint () {
502 * @author: renchao 586 if (this.ruleForm.ysxlh == '') {
503 */ 587 this.$message.error('请选择印刷序列号');
504 handleSubmit () { 588 return;
505 this.savePrintRecord() 589 }
590 let that = this
591 if (this.bdcqz.bdcqzlx == 1) {
592 getPrintTemplateByCode({ tmpno: 'zsdy' }).then(resInfo => {
593 if (resInfo.code == 200) {
594 //打开模板设计
595 let LODOP = getLodop(document.getElementById('LODOP_OB'), document.getElementById('LODOP_EM'));
596 LODOP.ADD_PRINT_DATA("ProgramData", resInfo.result.tmpcontent); //装载模板
597
598 this.bdcqz.bdcdyh1 = this.bdcqz.bdcdyh.slice(0, 6) + ' ' + this.bdcqz.bdcdyh.slice(6, 12) + ' ' +
599 this.bdcqz.bdcdyh.slice(12, 19) + ' ' + this.bdcqz.bdcdyh.slice(19, this.bdcqz.bdcdyh.length)
600 //todo 调取后端接口获取数据 循环set
601 for (let key in this.bdcqz) {
602 LODOP.SET_PRINT_STYLEA(key, "CONTENT", this.bdcqz[key]);
603 }
604 LODOP.PREVIEW();
605 } else {
606 this.$message.error(resInfo.message)
607 }
608 that.$popupCacel()
609 //刷新列表
610 store.dispatch('user/reWorkFresh', true)
611 })
612 } else {
613 getPrintTemplateByCode({ tmpno: 'zmdy' }).then(resInfo => {
614 if (resInfo.code == 200) {
615 //打开模板设计
616 let LODOP = getLodop(document.getElementById('LODOP_OB'), document.getElementById('LODOP_EM'));
617 LODOP.ADD_PRINT_DATA("ProgramData", resInfo.result.tmpcontent); //装载模板
618
619 // 年月日
620 this.bdcqz.nian = this.bdcqz.djsj.split(' ')[0].split('/')[0]
621 this.bdcqz.yue = this.bdcqz.djsj.split(' ')[0].split('/')[1]
622 this.bdcqz.ri = this.bdcqz.djsj.split(' ')[0].split('/')[1]
623 this.bdcqz.bdcdyh1 = this.bdcqz.bdcdyh.slice(0, 6) + ' ' + this.bdcqz.bdcdyh.slice(6, 12) + ' ' +
624 this.bdcqz.bdcdyh.slice(12, 19) + ' ' + this.bdcqz.bdcdyh.slice(19, this.bdcqz.bdcdyh.length)
625 //todo 调取后端接口获取数据 循环set
626 for (let key in this.bdcqz) {
627 LODOP.SET_PRINT_STYLEA(key, "CONTENT", this.bdcqz[key]);
628 }
629 LODOP.PREVIEW();
630 } else {
631 this.$message.error(resInfo.message)
632 }
633 that.$popupCacel()
634 //刷新列表
635 store.dispatch('user/reWorkFresh', true)
636 })
637 }
506 }, 638 },
507 /** 639 /**
508 * @description: 保存打印记录 640 * @description: 保存打印记录
509 * @author: renchao 641 * @author: renchao
510 */ 642 */
511 savePrintRecord () { 643 handleSubmit () {
512 let that = this 644 let that = this
513 this.ruleForm.bsmBdcqz = this.formData.bdcqz.bsmBdcqz; 645 if (this.ruleForm.ysxlh == '') {
514 this.ruleForm.bdcqzlx = this.formData.bdcqz.bdcqzlx; 646 this.$message.error('请选择印刷序列号');
515 this.ruleForm.szzh = this.formData.bdcqz.bdcqzh; 647 return;
648 }
649 this.ruleForm.bsmBdcqz = this.bdcqz.bsmBdcqz;
650 this.ruleForm.bdcqzlx = this.bdcqz.bdcqzlx;
651 this.ruleForm.szzh = this.bdcqz.bdcqzh;
652 this.bdcqz.ysxlh = this.ruleForm.ysxlh
516 certificate(this.ruleForm).then((res) => { 653 certificate(this.ruleForm).then((res) => {
517 if (res.code === 200) { 654 if (res.code === 200) {
518 that.$popupCacel() 655 that.$popupCacel()
519 if (this.formData.bdcqz.bdcqzlx == 1) { 656 this.handlePrint()
520 getPrintTemplateByCode({ tmpno: 'zsdy' }).then(res => {
521 if (res.code == 200) {
522 //打开模板设计
523 let LODOP = getLodop(document.getElementById('LODOP_OB'), document.getElementById('LODOP_EM'));
524 LODOP.ADD_PRINT_DATA("ProgramData", res.result.tmpcontent); //装载模板
525
526 this.formData.bdcqz.bdcdyh1 = this.formData.bdcqz.bdcdyh.slice(0, 6) + ' ' + this.formData.bdcqz.bdcdyh.slice(6, 12) + ' ' +
527 this.formData.bdcqz.bdcdyh.slice(12, 19) + ' ' + this.formData.bdcqz.bdcdyh.slice(19, this.formData.bdcqz.bdcdyh.length)
528 //todo 调取后端接口获取数据 循环set
529 for (let key in this.formData.bdcqz) {
530 LODOP.SET_PRINT_STYLEA(key, "CONTENT", this.formData.bdcqz[key]);
531 }
532 LODOP.PREVIEW();
533 that.$popupCacel()
534 } else {
535 this.$message.error(res.message)
536 }
537 })
538 } else {
539 getPrintTemplateByCode({ tmpno: 'zmdy' }).then(res => {
540 if (res.code == 200) {
541 //打开模板设计
542 let LODOP = getLodop(document.getElementById('LODOP_OB'), document.getElementById('LODOP_EM'));
543 LODOP.ADD_PRINT_DATA("ProgramData", res.result.tmpcontent); //装载模板
544
545 // 年月日
546 this.formData.bdcqz.nian = this.formData.bdcqz.djsj.split(' ')[0].split('/')[0]
547 this.formData.bdcqz.yue = this.formData.bdcqz.djsj.split(' ')[0].split('/')[1]
548 this.formData.bdcqz.ri = this.formData.bdcqz.djsj.split(' ')[0].split('/')[1]
549 this.formData.bdcqz.bdcdyh1 = this.formData.bdcqz.bdcdyh.slice(0, 6) + ' ' + this.formData.bdcqz.bdcdyh.slice(6, 12) + ' ' +
550 this.formData.bdcqz.bdcdyh.slice(12, 19) + ' ' + this.formData.bdcqz.bdcdyh.slice(19, this.formData.bdcqz.bdcdyh.length)
551 //todo 调取后端接口获取数据 循环set
552 for (let key in this.formData.bdcqz) {
553 LODOP.SET_PRINT_STYLEA(key, "CONTENT", this.formData.bdcqz[key]);
554 }
555 LODOP.PREVIEW();
556 that.$popupCacel()
557 } else {
558 this.$message.error(res.message)
559 }
560 })
561 }
562
563 //刷新列表
564 store.dispatch('user/reWorkFresh', true)
565 } else { 657 } else {
566 this.$message.error(res.message) 658 this.$message.error(res.message)
567 } 659 }
660 store.dispatch('user/reWorkFresh', true)
568 }) 661 })
569 } 662 }
570 } 663 }
...@@ -579,4 +672,36 @@ ...@@ -579,4 +672,36 @@
579 .zs-content { 672 .zs-content {
580 text-align: center; 673 text-align: center;
581 } 674 }
675 .invalid-diglog {
676 padding-bottom: 20px;
677 font-size: 16px;
678 font-weight: bold;
679 color: rgb(99, 99, 99);
680
681 .invalid-title {
682 display: flex;
683 align-content: center;
684
685 .invalid-icon {
686 color: rgb(254, 148, 0);
687 font-size: 34px;
688 margin-right: 10px;
689 }
690
691 .invalid-body {
692 line-height: 40px;
693 margin-bottom: 10px;
694 }
695 }
696
697 .invalid-reson {
698 margin-bottom: 10px;
699 }
700
701 .dialog-footer {
702 margin-top: 10px;
703 display: flex;
704 justify-content: flex-end;
705 }
706 }
582 </style> 707 </style>
......
1 <!-- 1 <!--
2 * @Description: 2 * @Description:
3 * @Autor: renchao 3 * @Autor: renchao
4 * @LastEditTime: 2023-09-04 17:12:05 4 * @LastEditTime: 2023-09-05 14:28:25
5 --> 5 -->
6 <template> 6 <template>
7 <div class="szxx"> 7 <div class="szxx">
...@@ -55,28 +55,14 @@ ...@@ -55,28 +55,14 @@
55 </div> 55 </div>
56 </div> 56 </div>
57 </el-card> 57 </el-card>
58 <el-dialog title="证书作废" :visible.sync="invalidDiglog" width="30%" :modal-append-to-body="false" top="30vh"> 58
59 <div class="invalid-diglog">
60 <div class="invalid-title">
61 <i class="el-icon-question invalid-icon"></i>
62 <div class="invalid-body">您确定作废证书并再次打印?印刷序列号{{ysxlh}}</div>
63 </div>
64 <div class="invalid-reson">作废原因:</div>
65 <el-input v-model="zfyy" placeholder="请输入作废原因" type="textarea" :rows="4"></el-input>
66 <div class="text-center pt-10">
67 <el-button @click="closeInvalidDiglog">取 消</el-button>
68 <el-button type="primary" @click="confirmInvalid">确 定</el-button>
69 </div>
70 </div>
71 </el-dialog>
72 <el-empty description="暂无数据" v-if="tableData.length == 0"></el-empty> 59 <el-empty description="暂无数据" v-if="tableData.length == 0"></el-empty>
73 </div> 60 </div>
74 </template> 61 </template>
75 <script> 62 <script>
76 import { mapGetters } from 'vuex' 63 import { mapGetters } from 'vuex'
77 import store from '@/store/index.js' 64 import store from '@/store/index.js'
78 import { getPrintTemplateByCode } from "@/api/print"; 65 import { getSlsqBdcqzList } from "@/api/bdcqz.js";
79 import { getSlsqBdcqzList, invalidCertificate } from "@/api/bdcqz.js";
80 export default { 66 export default {
81 props: {}, 67 props: {},
82 data () { 68 data () {
...@@ -86,13 +72,8 @@ ...@@ -86,13 +72,8 @@
86 dialog: false, 72 dialog: false,
87 tableData: [], 73 tableData: [],
88 bdcqzlx: 1, 74 bdcqzlx: 1,
89 bdcqz: {}, 75 bdcqz: {}
90 zfyy: "", 76 }
91 invalidDiglog: false,
92 bsmSz: "",
93 bsmBdcqz: "",
94 ysxlh: ""
95 };
96 }, 77 },
97 computed: { 78 computed: {
98 ...mapGetters(['workFresh']) 79 ...mapGetters(['workFresh'])
...@@ -100,6 +81,7 @@ ...@@ -100,6 +81,7 @@
100 watch: { 81 watch: {
101 workFresh: { 82 workFresh: {
102 handler (newVal, oldVal) { 83 handler (newVal, oldVal) {
84 console.log(newVal, 'newVal');
103 if (newVal) this.list() 85 if (newVal) this.list()
104 } 86 }
105 } 87 }
...@@ -135,12 +117,11 @@ ...@@ -135,12 +117,11 @@
135 */ 117 */
136 openZsylDialog (item, type) { 118 openZsylDialog (item, type) {
137 store.dispatch('user/reWorkFresh', false) 119 store.dispatch('user/reWorkFresh', false)
138
139 if (type == 1) { 120 if (type == 1) {
140 //证书证明预览 121 //证书证明预览
141 this.$popupDialog("证书证明预览", "workflow/components/dialog/zsyl", { bdcqz: item, bsmSlsq: this.$route.query.bsmSlsq }, "76%", true); 122 this.$popupDialog("证书证明预览", "workflow/components/dialog/zsyl", { bdcqz: item, bsmSlsq: this.$route.query.bsmSlsq }, "76%", true);
142 } else { 123 } else {
143 this.$popupDialog("证书证明打印", "workflow/components/dialog/zsdy", { bdcqz: item, bsmSlsq: this.$route.query.bsmSlsq }, "76%", true); 124 this.$popupDialog("证书证明打印", "workflow/components/dialog/zsdy", { ...item }, "76%", true);
144 } 125 }
145 }, 126 },
146 /** 127 /**
...@@ -149,38 +130,7 @@ ...@@ -149,38 +130,7 @@
149 * @author: renchao 130 * @author: renchao
150 */ 131 */
151 openInvalidDiglog (item) { 132 openInvalidDiglog (item) {
152 this.bdcqz = item 133 this.$popupDialog("证书证明打印", "workflow/components/dialog/zsdy", { ...item }, "76%", true);
153 this.ysxlh = item.ysxlh
154 this.bsmSz = item.bsmSz;
155 this.invalidDiglog = true;
156 this.bsmBdcqz = item.bsmBdcqz
157 },
158 /**
159 * @description: closeInvalidDiglog
160 * @author: renchao
161 */
162 closeInvalidDiglog () {
163 this.invalidDiglog = false;
164 this.bsmSz = "";
165 this.zfyy = "";
166 },
167 /**
168 * @description: 作废缮证信息
169 * @author: renchao
170 */
171 confirmInvalid () {
172 invalidCertificate({ bsmBdcqz: this.bsmBdcqz, zfyy: this.zfyy }).then(async (res) => {
173 if (res.code === 200) {
174 this.list();
175 this.$message.success("作废成功");
176 this.invalidDiglog = false;
177 this.zfyy = ''
178 let res = await this.list()
179 if (res && res == 200) this.openZsylDialog(this.bdcqz);
180 } else {
181 this.$message.error(res.message);
182 }
183 })
184 }, 134 },
185 /** 135 /**
186 * @description: openRecordPop 136 * @description: openRecordPop
...@@ -263,39 +213,6 @@ ...@@ -263,39 +213,6 @@
263 padding-top: 8px; 213 padding-top: 8px;
264 font-size: 16px; 214 font-size: 16px;
265 } 215 }
266
267 .invalid-diglog {
268 padding-bottom: 20px;
269 font-size: 16px;
270 font-weight: bold;
271 color: rgb(99, 99, 99);
272
273 .invalid-title {
274 display: flex;
275 align-content: center;
276
277 .invalid-icon {
278 color: rgb(254, 148, 0);
279 font-size: 34px;
280 margin-right: 10px;
281 }
282
283 .invalid-body {
284 line-height: 40px;
285 margin-bottom: 10px;
286 }
287 }
288
289 .invalid-reson {
290 margin-bottom: 10px;
291 }
292
293 .dialog-footer {
294 margin-top: 10px;
295 display: flex;
296 justify-content: flex-end;
297 }
298 }
299 .box-card { 216 .box-card {
300 .szxx_header { 217 .szxx_header {
301 color: #303133; 218 color: #303133;
......
1 /* 1 /*
2 * @Description: 2 * @Description:
3 * @Autor: renchao 3 * @Autor: renchao
4 * @LastEditTime: 2023-07-11 13:59:14 4 * @LastEditTime: 2023-09-05 15:05:56
5 */ 5 */
6 import { getForm } from "../flowform"; 6 import { getForm } from "../flowform";
7 import { getHomeNoticeList } from "@/api/home.js" 7 import { getHomeNoticeList } from "@/api/home.js"
...@@ -49,7 +49,6 @@ export default { ...@@ -49,7 +49,6 @@ export default {
49 * @author: renchao 49 * @author: renchao
50 */ 50 */
51 getFromRouter (tabname) { 51 getFromRouter (tabname) {
52 console.log(tabname, 'tabnametabnametabnametabnametabname');
53 //根据tabname获取选中的表单 此操作为了获取后端返回的表单对象,使用里面的是否可操作的属性 52 //根据tabname获取选中的表单 此操作为了获取后端返回的表单对象,使用里面的是否可操作的属性
54 for (let item of this.tabList) { 53 for (let item of this.tabList) {
55 if (item.value === tabname) { 54 if (item.value === tabname) {
......
1 <!-- 1 <!--
2 * @Description: 2 * @Description:
3 * @Autor: renchao 3 * @Autor: renchao
4 * @LastEditTime: 2023-08-29 08:52:44 4 * @LastEditTime: 2023-09-05 11:32:50
5 --> 5 -->
6 <template> 6 <template>
7 <div class="from-clues"> 7 <div class="from-clues">
...@@ -58,7 +58,7 @@ ...@@ -58,7 +58,7 @@
58 import { ywPopupDialog } from "@/utils/popup.js"; 58 import { ywPopupDialog } from "@/utils/popup.js";
59 import { selectLq } from "@/api/ywsq.js"; 59 import { selectLq } from "@/api/ywsq.js";
60 import { startBusinessFlow } from "@/api/workFlow.js"; 60 import { startBusinessFlow } from "@/api/workFlow.js";
61 import { datas, sendThis } from "../javascript/selectQjlqxx.js"; 61 import { datas, sendThis } from "../javascript/selectQjlqxxQt.js";
62 import { defaultParameters } from "../javascript/publicDefaultPar.js"; 62 import { defaultParameters } from "../javascript/publicDefaultPar.js";
63 export default { 63 export default {
64 mixins: [table, jump], 64 mixins: [table, jump],
...@@ -75,7 +75,7 @@ ...@@ -75,7 +75,7 @@
75 columns: datas.columns(), 75 columns: datas.columns(),
76 data: [], 76 data: [],
77 }, 77 },
78 bdcdysz: [], 78 bdcdysz: [],
79 }; 79 };
80 }, 80 },
81 mounted () { 81 mounted () {
......
1 <!-- 1 <!--
2 * @Description: 2 * @Description:
3 * @Autor: renchao 3 * @Autor: renchao
4 * @LastEditTime: 2023-08-17 16:09:12 4 * @LastEditTime: 2023-09-05 13:10:53
5 --> 5 -->
6 <template> 6 <template>
7 <div class="from-clues"> 7 <div class="from-clues">
...@@ -58,7 +58,7 @@ ...@@ -58,7 +58,7 @@
58 import { ywPopupDialog } from "@/utils/popup.js"; 58 import { ywPopupDialog } from "@/utils/popup.js";
59 import { selectLq } from "@/api/ywsq.js"; 59 import { selectLq } from "@/api/ywsq.js";
60 import { startBusinessFlow } from "@/api/workFlow.js"; 60 import { startBusinessFlow } from "@/api/workFlow.js";
61 import { datas, sendThis } from "../javascript/selectQjzdjbxx.js"; 61 import { datas, sendThis } from "../javascript/selectSllmqt.js";
62 import { defaultParameters } from "../javascript/publicDefaultPar.js"; 62 import { defaultParameters } from "../javascript/publicDefaultPar.js";
63 export default { 63 export default {
64 mixins: [table, jump], 64 mixins: [table, jump],
......
1 /*
2 * @Description:
3 * @Autor: renchao
4 * @LastEditTime: 2023-09-05 11:33:36
5 */
6 import filter from '@/utils/filter.js'
7 let vm = null
8
9 const sendThis = (_this) => {
10 vm = _this
11 }
12 class data extends filter {
13 constructor() {
14 super()
15 }
16 columns () {
17 return [
18 {
19 type: 'selection',
20 label: '全选',
21 selectable: this.selected
22 },
23 {
24 label: '序号',
25 type: 'index',
26 width: '50',
27 render: (h, scope) => {
28 return (
29 <div>
30 {(vm.pageData.currentPage - 1) * vm.pageData.pageSize + scope.$index + 1}
31 </div>
32 )
33 }
34 },
35 {
36 label: "状态",
37 width: '130',
38 render: (h, scope) => {
39 return (
40 <div>
41 <a style='color:#3498db;' v-show={scope.row.djblzt == 1}>{this.yWstatus(scope.row)}</a>
42 <span v-show={scope.row.djblzt != 1}>{this.yWstatus(scope.row)}</span>
43 </div>
44 )
45 }
46 },
47 {
48 prop: "qllxmc",
49 label: "权利类型",
50 },
51 {
52 prop: "bdcdyh",
53 label: "不动产单元号",
54 minWidth: '150'
55 },
56 {
57 prop: "bdcqzh",
58 label: "不动产权证号",
59 render: (h, scope) => {
60 return (
61 <el-tooltip effect="dark" content={scope.row.bdcqzh} placement="top" popper-class="tooltip-width ">
62 <span class="ellipsis-table"> {scope.row.bdcqzh}</span>
63 </el-tooltip>
64 )
65 },
66 width: '150'
67 },
68 {
69 prop: "gyqk",
70 label: "共有方式",
71 },
72 {
73 prop: "qlrmc",
74 label: "使用权人",
75 },
76 {
77 prop: "qlrzjhm",
78 label: "证件号",
79 },
80 {
81 prop: "qlxzmc",
82 width: '80',
83 label: "权利性质",
84 },
85 {
86 prop: "qlmjmc",
87 width: '100',
88 label: "使用权面积",
89 },
90 {
91 prop: "qlytmc",
92 label: "土地用途",
93 },
94 {
95 prop: "qdjgmc",
96 width: '100',
97 label: "取得价格",
98 },
99 {
100 prop: "zl",
101 label: "坐落",
102 minWidth: '150'
103 },{
104 label: '操作',
105 width: '80',
106 align: 'center',
107 fixed: 'right',
108 render: (h, scope) => {
109 return (
110 <div>
111 <el-button type="text" icon="el-icon-edit-outline" onClick={() => { vm.openBook(scope.row) }}>登记薄</el-button>
112 </div>
113 )
114 }
115 }
116 ]
117 }
118
119
120 }
121 let datas = new data()
122 export {
123 datas,
124 sendThis
125 }
1 /*
2 * @Description:
3 * @Autor: renchao
4 * @LastEditTime: 2023-09-05 13:10:31
5 */
6 import filter from '@/utils/filter.js'
7 let vm = null
8
9 const sendThis = (_this) => {
10 vm = _this
11 }
12 class data extends filter {
13 constructor() {
14 super()
15 }
16 columns () {
17 return [
18 {
19 type: 'selection',
20 label: '全选',
21 selectable: this.selected
22 },
23 {
24 label: '序号',
25 type: 'index',
26 width: '50',
27 render: (h, scope) => {
28 return (
29 <div>
30 {(vm.pageData.currentPage - 1) * vm.pageData.pageSize + scope.$index + 1}
31 </div>
32 )
33 }
34 },
35 {
36 label: "状态",
37 render: (h, scope) => {
38 return (
39 <div>
40 <a style='color:#3498db;' v-show={scope.row.djblzt == 1}>{this.yWstatus(scope.row)}</a>
41 <span v-show={scope.row.djblzt != 1}>{this.yWstatus(scope.row)}</span>
42 {/* <a style='color:#3498db;' v-show={scope.row.djblzt == 1} >正在办理</a>
43 <span v-show={scope.row.zjgcdyzt == 1}>,在建工程抵押</span>
44 <span v-show={scope.row.ycfzt == 1}>,已预查封</span>
45 <span v-show={scope.row.ycfzt == 1}>,已预查封</span>
46 <span v-show={scope.row.cfzt == 1}>,已查封</span>
47 <span v-show={scope.row.diyizt == 1}>,已地役</span>
48 <span v-show={scope.row.yyzt == 1}>,异议中</span>
49 <span v-show={scope.row.xzzt == 1}>,已限制</span>
50 <span v-show={scope.row.ygmmzt == 1}>,已预告买卖</span>
51 <span v-show={scope.row.ygdyzt == 1}>,已预告抵押</span>
52 <span v-show={scope.row.dyzt == 1}>,已抵押</span> */}
53 </div>
54 )
55 }
56 },
57 {
58 prop: "qllxmc",
59 label: "权利类型",
60 },
61 {
62 prop: "zddm",
63 label: "宗地代码",
64 },
65 {
66 prop: "bdcdyh",
67 label: "不动产单元号",
68 minWidth: '110'
69 },
70 {
71 prop: "showQlxz",
72 label: "权利性质",
73 },
74 {
75 prop: "zdmj",
76 label: "宗地面积(㎡)",
77 },
78 {
79 prop: "qlsdfsmc",
80 label: "权利设定方式",
81 },
82 {
83 prop: "showTdyt",
84 label: "土地用途",
85 },
86 {
87 prop: "tfh",
88 label: "图幅号",
89 },
90 {
91 prop: "djh",
92 label: "地籍号",
93 },
94 {
95 prop: "zl",
96 label: "坐落",
97 minWidth: '110'
98 },{
99 label: '操作',
100 width: '80',
101 align: 'center',
102 fixed: 'right',
103 render: (h, scope) => {
104 return (
105 <div>
106 <el-button type="text" icon="el-icon-edit-outline" onClick={() => { vm.openBook(scope.row) }}>登记薄</el-button>
107 </div>
108 )
109 }
110 }
111 ]
112 }
113
114
115 }
116 let datas = new data()
117 export {
118 datas,
119 sendThis
120 }