d9bf8c9e by weimo934

feat(hb):多幢合并修改

1 parent ef2a5113
...@@ -33,3 +33,14 @@ export function dzList(data) { ...@@ -33,3 +33,14 @@ export function dzList(data) {
33 data:data 33 data:data
34 }) 34 })
35 } 35 }
36 /**
37 * 多幢分割选择自然幢列表
38 * @param data
39 */
40 export function zrzList(data) {
41 return request({
42 url:'/fw/qjZrz/zrzList',
43 method:'post',
44 data:data
45 })
46 }
......
1 <template>
2 <div class="hb-tabs top20">
3 <div class="hbq">
4 <span class="tips" style="margin-left:0;">合并前多幢信息</span>
5 <table border="1">
6 <tr>
7 <td class="xh">序号</td>
8 <td class="zddm">宗地代码</td>
9 <td class="bdcdyh">不动产单元号</td>
10 <td class="xmmc">项目名称</td>
11 <td class="bdcqzh">不动产权证号</td>
12 <td class="qlr">权利人</td>
13 <td class="zl">坐落</td>
14 <td class="">
15 <el-button
16 type="primary"
17 class="changeBtn outAdd addMinus"
18 @click="newAddDz"
19 >+
20 </el-button>
21 <el-button
22 type="primary"
23 class="changeBtn outAdd addMinus"
24 @click="newAddZrz"
25 >+
26 </el-button>
27 </td>
28 </tr>
29 <tr v-if="dzhbqData.length==0">
30 <td colspan="8">
31 <span class="noData">暂无数据</span>
32 </td>
33 </tr>
34 <tr v-else v-for="(item,index) in dzhbqData" :key="index">
35 <td class="xh">{{index+1}}</td>
36 <td class="zddm">{{item.zddm}}</td>
37 <td class="bdcdyh">{{item.bdcdyh}}</td>
38 <td class="xmmc">{{item.xmmc}}</td>
39 <td class="bdcqzh">{{item.bdcqzh}}</td>
40 <td class="qlr">{{item.qlr}}</td>
41 <td class="zl">{{item.zl}}</td>
42 <td class="cz">
43 <el-button
44 type="primary"
45 class="changeBtn outMinus addMinus"
46 @click="deleteData(index)"
47 >-
48 </el-button>
49 </td>
50 </tr>
51 </table>
52 </div>
53 <div class="hbh dzhbh">
54 <span class="tips" style="width:100%;display:block;margin-left:0;">合并后多幢信息</span>
55 <el-card class="data">
56 <div slot="header" class="clearfix">
57 <span>多幢基本信息</span>
58 </div>
59 <ul class="zdjbxx">
60 <li>
61 <span class="label">行政区:</span>
62 <span class="value">
63 <el-select v-model="dzhbhData.xzqbsm" @change="changeXzq(dzhbhData.xzqbsm)">
64 <el-option
65 v-for="i in xzq"
66 :key="i.bsm"
67 :label="i.mc"
68 :value="i.bsm"
69 ></el-option>
70 </el-select>
71 </span>
72 </li>
73 <li>
74 <span class="label">地籍区:</span>
75 <span class="value">
76 <el-select v-model="dzhbhData.djqbsm" @change="changeDjq(dzhbhData.djqbsm)">
77 <el-option
78 v-for="i in djq"
79 :key="i.bsm"
80 :label="i.mc"
81 :value="i.bsm"
82 ></el-option>
83 </el-select>
84 </span>
85 </li>
86 <li>
87 <span class="label">地籍子区:</span>
88 <span class="value">
89 <el-select v-model="dzhbhData.djzqbsm" @change="$forceUpdate()">
90 <el-option
91 v-for="i in djzq"
92 :key="i.bsm"
93 :label="i.mc"
94 :value="i.bsm"
95 ></el-option>
96 </el-select>
97 </span>
98 </li>
99 <li>
100 <span class="label">所有权类型:</span>
101 <span class="value">
102 <el-select v-model="dzhbhData.syqlxbsm">
103 <el-option
104 v-for="i in syq"
105 :key="i.value"
106 :label="i.label"
107 :value="i.value"
108 ></el-option>
109 </el-select>
110 </span>
111 </li>
112 <li>
113 <span class="label">宗地特征码:</span>
114 <span class="value">
115 <el-select v-model="dzhbhData.zdtzmbsm">
116 <el-option
117 v-for="i in $store.state.zdtzmList"
118 :key="i.bsm"
119 :label="i.mc"
120 :value="i.bsm"
121 ></el-option>
122 </el-select>
123 </span>
124 </li>
125 <li>
126 <span class="label">项目名称:</span>
127 <span class="value">
128 <el-input type="text" v-model="dzhbhData.xmmc"></el-input>
129 </span>
130 </li>
131 </ul>
132 </el-card>
133 <div class="zxx">
134 <el-card class="zrz">
135 <div slot="header" class="clearfix">
136 <span style="margin-right:10px">幢信息</span>
137 <span style="margin-right:10px"><i class="iconfont iconduochuang"></i>多幢<span
138 style="color:red">{{dzList.length}}</span></span>
139 <span><i class="iconfont iconziranchuang"></i>自然幢<span
140 style="color:red">{{zrzList.length}}</span></span>
141 </div>
142 <ul>
143 <li v-for="(item,index) in dzList" :key="index"
144 >
145 <i class="iconfont iconduochuang"></i> {{item.xmmc}}
146 </li>
147 <li v-for="(item,index) in zrzList" :key="index"
148 >
149 <i class="iconfont iconziranchuang"></i> {{item.xmmc}}
150 </li>
151 </ul>
152 </el-card>
153 </div>
154 </div>
155 <div class="header-button">
156 <el-button type="primary" class="saveBtn" @click="save">保存</el-button>
157 </div>
158 <el-dialog
159 title="新增多幢"
160 :visible.sync="dzIsVisible"
161 width="70%"
162 @close="dzClose"
163 :modal-append-to-body="false"
164 >
165 <div class="search">
166 <el-row>
167 <el-col :span="24">
168 <el-form :inline="true" class="demo-form-inline">
169 <el-form-item label="宗地编码">
170 <el-input
171 v-model="queryData.zddm"
172 placeholder="输入宗地编码"
173 ></el-input>
174 </el-form-item>
175 <el-form-item label="不动产权证号">
176 <el-input
177 v-model="queryData.bdcqzh"
178 placeholder="输入不动产权证号"
179 ></el-input>
180 </el-form-item>
181 <el-form-item label="不动产单元号">
182 <el-input
183 maxlength="28"
184 v-model="queryData.bdcdyh"
185 placeholder="输入不动产单元号"
186 ></el-input>
187 </el-form-item>
188 <el-button type="primary" style="margin-left:30px" @click="search">查询</el-button>
189 <el-button type="warning" @click="reset">重置</el-button>
190 </el-form>
191 </el-col>
192 </el-row>
193 <el-row>
194 <el-col :span="24">
195 <el-form :inline="true" class="demo-form-inline">
196 <el-form-item label="权利人">
197 <el-input
198 v-model="queryData.qlrmc"
199 placeholder="输入权利人"
200 ></el-input>
201 </el-form-item>
202 <el-form-item label="坐落">
203 <el-input
204 v-model="queryData.zl"
205 placeholder="输入坐落"
206 ></el-input>
207 </el-form-item>
208 </el-form>
209 </el-col>
210 </el-row>
211 <div class="table-data">
212 <table border="1">
213 <tr>
214 <td>序号</td>
215 <td>操作</td>
216 <td>宗地代码</td>
217 <td>不动产单元号</td>
218 <td>项目名称</td>
219 <td>不动产权证号</td>
220 <td>权利人</td>
221 <td>坐落</td>
222 <td>自然幢数量</td>
223 </tr>
224 <tr v-if="Data.length==0">
225 <td colspan="9">
226 <span class="noData">暂无数据</span>
227 </td>
228 </tr>
229 <tr v-else v-for="(item,index) in Data" :key="index">
230 <td>{{index+1}}</td>
231 <td @click="addDzData(item)" class="xz">
232 <span>选择</span>
233 </td>
234 <td>{{item.zddm}}</td>
235 <td>{{item.bdcdyh}}</td>
236 <td>{{item.xmmc}}</td>
237 <td>{{item.bdcqzh}}</td>
238 <td>{{item.qlr}}</td>
239 <td>{{item.zl}}</td>
240 <td>{{item.zrzCount}}</td>
241 </tr>
242 </table>
243 </div>
244 </div>
245 <div class="page">
246 <el-pagination
247 background
248 layout="prev, pager, next,total"
249 :page-size="queryData.pageSize"
250 :total="total"
251 @current-change="currentChange"
252 >
253 </el-pagination>
254 </div>
255 </el-dialog>
256 <el-dialog
257 title="新增自然幢"
258 :visible.sync="zrzIsVisible"
259 width="70%"
260 @close="zrzClose"
261 :modal-append-to-body="false"
262 >
263 <div class="search">
264 <el-row>
265 <el-col :span="24">
266 <el-form :inline="true" class="demo-form-inline">
267 <el-form-item label="宗地编码">
268 <el-input
269 v-model="queryData.zddm"
270 placeholder="输入宗地编码"
271 ></el-input>
272 </el-form-item>
273 <el-form-item label="不动产权证号">
274 <el-input
275 v-model="queryData.bdcqzh"
276 placeholder="输入不动产权证号"
277 ></el-input>
278 </el-form-item>
279 <el-form-item label="不动产单元号">
280 <el-input
281 maxlength="28"
282 v-model="queryData.bdcdyh"
283 placeholder="输入不动产单元号"
284 ></el-input>
285 </el-form-item>
286 <el-button type="primary" style="margin-left:30px" @click="search">查询</el-button>
287 <el-button type="warning" @click="reset">重置</el-button>
288 </el-form>
289 </el-col>
290 </el-row>
291 <el-row>
292 <el-col :span="24">
293 <el-form :inline="true" class="demo-form-inline">
294 <el-form-item label="权利人">
295 <el-input
296 v-model="queryData.qlrmc"
297 placeholder="输入权利人"
298 ></el-input>
299 </el-form-item>
300 <el-form-item label="坐落">
301 <el-input
302 v-model="queryData.zl"
303 placeholder="输入坐落"
304 ></el-input>
305 </el-form-item>
306 </el-form>
307 </el-col>
308 </el-row>
309 <div class="table-data">
310 <table border="1">
311 <tr>
312 <td>序号</td>
313 <td>操作</td>
314 <td>宗地代码</td>
315 <td>不动产单元号</td>
316 <td>项目名称</td>
317 <td>不动产权证号</td>
318 <td>权利人</td>
319 <td>坐落</td>
320 </tr>
321 <tr v-if="Data.length==0">
322 <td colspan="8">
323 <span class="noData">暂无数据</span>
324 </td>
325 </tr>
326 <tr v-else v-for="(item,index) in Data" :key="index">
327 <td>{{index+1}}</td>
328 <td @click="addZrzData(item)" class="xz">
329 <span>选择</span>
330 </td>
331 <td>{{item.zddm}}</td>
332 <td>{{item.bdcdyh}}</td>
333 <td>{{item.xmmc}}</td>
334 <td>{{item.bdcqzh}}</td>
335 <td>{{item.qlr}}</td>
336 <td>{{item.zl}}</td>
337 </tr>
338 </table>
339 </div>
340 </div>
341 <div class="page">
342 <el-pagination
343 background
344 layout="prev, pager, next,total"
345 :page-size="queryData.pageSize"
346 :total="total"
347 @current-change="currentChange"
348 >
349 </el-pagination>
350 </div>
351 </el-dialog>
352 </div>
353 </template>
354
355 <script>
356 import {
357 getAllList,
358 getListByXzqbsm,
359 getListByPbsm,
360 getDdicByMC
361 } from "@api/common";
362 import {dzList, zrzList} from './../../api/search'
363 import {getQjZdjbxxDetailById} from './../../api/zd'
364
365 export default {
366 name: "dzHb",
367 data() {
368 return {
369 total: 1,
370 dzIsVisible: false,
371 zrzIsVisible: false,
372 dzhbqData: [], // 多幢合并前数据
373 dzhbhData: {}, // 多幢合并后数据
374 Data: [],
375 xzq: [],
376 djq: [],
377 djzq: [],
378 dzList: [],
379 zrzList: [],
380 zdbsm: '',
381 queryData: {
382 bdcdyh: "",
383 bdcqzh: "",
384 qlrmc: "",
385 xmmc: "",
386 zddm: "",
387 zl: "",
388 pageNo: 1,
389 pageSize: 10,
390 },
391 syq: [
392 {
393 label: "国家所有",
394 value: "G",
395 },
396 {
397 label: "集体所有",
398 value: "J",
399 },
400 {
401 label: "土地所有权未确定或有争议",
402 value: "Z",
403 }
404 ],
405 }
406 },
407 mounted() {
408 this.getXzqList();
409 },
410 methods: {
411 getZdData(id) {
412 getQjZdjbxxDetailById(id).then(res => {
413 console.log(res.result, '宗地信息')
414 this.dzhbhData.xzqbsm = res.result.xzqbsm
415 this.changeXzq(this.dzhbhData.xzqbsm)
416 this.dzhbhData.djqbsm = res.result.djqbsm
417 this.changeDjq(this.dzhbhData.djqbsm)
418 this.dzhbhData.djzqbsm = res.result.djzqbsm
419 this.dzhbhData.syqlxbsm = res.result.syqlxbsm
420 this.dzhbhData.zdtzmbsm = res.result.zdtzmbsm
421 })
422 },
423 newAddDz() {
424 this.dzIsVisible = true;
425 this.geDztData(this.queryData)
426 },
427 newAddZrz() {
428 this.zrzIsVisible = true;
429 this.geZrztData(this.queryData)
430 },
431 deleteData(index) {
432 console.log(this.dzhbqData, '多幢合并前数据')
433 let data = this.dzhbqData[index];
434 // 多幢
435 if (data.zrzCount) {
436 let dzIndex = this.dzList.indexOf(data);
437 this.dzList.splice(dzIndex, 1);
438
439 } else {
440 let zrzIndex = this.zrzList.indexOf(data);
441 this.zrzList.splice(zrzIndex, 1)
442 }
443 this.dzhbqData.splice(index, 1)
444 if (this.dzhbqData.length === 0) {
445 this.dzhbhData.xzqbsm = ""
446 this.dzhbhData.djqbsm = ""
447 this.dzhbhData.djzqbsm = ""
448 this.dzhbhData.syqlxbsm = ""
449 this.dzhbhData.zdtzmbsm = ""
450 }
451 },
452 save() {
453 },
454 dzClose() {
455 this.dzIsVisible = false;
456 },
457 zrzClose() {
458 this.zrzIsVisible = false;
459 },
460 currentChange(val) {
461 this.queryData.pageNo = val;
462 this.geDztData(this.queryData);
463 },
464 geDztData(data) {
465 dzList(data).then(res => {
466 this.Data = res.result.records
467 this.total = res.result.total;
468 })
469 },
470 geZrztData(data) {
471 zrzList(data).then(res => {
472 this.Data = res.result.records
473 this.total = res.result.total;
474 })
475 },
476 search() {
477 this.geDztData(this.queryData)
478 },
479 addData(data) {
480 this.dzhbqData.push(data);
481 this.zdbsm = data.zdbsm
482 },
483 addDzData(data) {
484 let arr = [];
485 arr = this.dzhbqData.filter(i => i.bsm === data.bsm);
486 if (arr.length > 0) {
487 this.$message.info("当前多幢已选择,请重新选择")
488 return
489 }
490 arr = this.dzhbqData.filter(i => i.zdbsm !== data.zdbsm);
491 if (arr.length > 0) {
492 this.$message.info("当前选择多幢不在同一宗地下,请重新选择")
493 return
494 }
495 this.dzIsVisible = false;
496 this.dzList.push(data)
497 this.addData(data)
498 },
499 addZrzData(data) {
500 let arr = [];
501 arr = this.dzhbqData.filter(i => i.bsm === data.bsm);
502 if (arr.length > 0) {
503 this.$message.info("当前自然幢已选择,请重新选择")
504 return
505 }
506 arr = this.dzhbqData.filter(i => i.zdbsm !== data.zdbsm);
507 if (arr.length > 0) {
508 this.$message.info("当前选择自然幢不在同一宗地下,请重新选择")
509 return
510 }
511 this.zrzIsVisible = false;
512 this.zrzList.push(data)
513 this.addData(data)
514 },
515 getXzqList() {
516 getAllList()
517 .then((res) => {
518 this.xzq = res.result;
519 })
520 .catch((error) => {
521 });
522 },
523 changeXzq(id) {
524 this.djq = [];
525 this.djzq = [];
526 switch (this.tabName) {
527 case "zd":
528 this.zdhbhData.djqbsm = '';
529 this.zdhbhData.djzqbsm = '';
530 break
531 case "dz":
532 this.zdhbhData.djqbsm = '';
533 this.zdhbhData.djzqbsm = '';
534 break
535 default:
536 break
537 }
538 getListByXzqbsm(id)
539 .then((res) => {
540 if (res.result == null) {
541 this.djq = null;
542 } else {
543 this.djq = res.result;
544 }
545 })
546 .catch((error) => {
547 });
548 },
549 changeDjq(item) {
550 this.djzq = [];
551 this.dzhbqData.djzqbsm = '';
552 if (item == null) {
553 } else {
554 getListByPbsm(item)
555 .then((res) => {
556 if (res.result == null) {
557 this.djzq = null;
558 } else {
559 this.djzq = res.result;
560 }
561 })
562 .catch((error) => {
563 });
564 }
565 },
566 reset() {
567 this.queryData = {
568 bdcdyh: "",
569 bdcqzh: "",
570 qlrmc: "",
571 xmmc: "",
572 zddm: "",
573 zl: "",
574 pageNo: 1,
575 pageSize: 10
576 };
577 this.geDztData(this.queryData)
578 },
579 },
580 watch: {
581 zdbsm: function (bsm) {
582 this.getZdData(bsm)
583 }
584 }
585 }
586 </script>
587
588 <style scoped lang="less">
589 .hb {
590 .menu {
591 /deep/ .el-tabs__content {
592 position: unset;
593 margin-top: 62px;
594 overflow: visible;
595 }
596 /deep/ .el-tabs__header {
597 position: -webkit-fixed;
598 position: fixed;
599 top: 120px;
600 z-index: 999;
601 width: 100%;
602 margin-bottom: 0;
603 border: 0;
604 /deep/ .el-tabs__nav-scroll {
605 height: 50px;
606 box-sizing: border-box;
607 padding-left: 20px;
608 .el-tabs__active-bar {
609 display: none;
610 }
611 > .el-tabs__nav {
612 border: 0;
613 > .el-tabs__item {
614 border: 1px solid #DEDEDE;
615 height: 36px;
616 line-height: 32px;
617 padding: 0 20px;
618 margin: 9px 10px 9px 0;
619 background-color: #ffffff;
620 }
621 .is-active {
622 color: #006CFF;
623 border: 1px solid #006CFF;
624 }
625 }
626 }
627 /deep/ .el-tabs__nav-wrap::after {
628 width: 0;
629 }
630 }
631 }
632 }
633
634 .psn {
635 position: unset !important;
636 }
637
638 .hb-tabs {
639 height: auto;
640 width: 100%;
641 position: relative;
642
643 .addBtn {
644 position: absolute;
645 right: 30px;
646 top: 0;
647 z-index: 999;
648 }
649 .header {
650 box-sizing: border-box;
651 padding: 18px 18px 0 18px;
652 display: flex;
653 justify-items: left;
654 span {
655 width: 130px;
656 line-height: 40px;
657 color: #9B9B9B;
658 }
659 .el-input {
660 width: 200px;
661 margin-right: 20px;
662 }
663 }
664
665 .header-button {
666 width: 1624px;
667 height: 50px;
668 position: fixed;
669 bottom: 0;
670 text-align: center;
671 background-color: #ffffff;
672 }
673 table {
674 margin-top: 10px;
675 background-color: #fff;
676 font-size: 14px;
677 width: 100%;
678 tr:nth-of-type(odd) {
679 background: #FAFAFA;
680 th {
681 height: 36px;
682 }
683 }
684 .formInput {
685 margin: 0;
686 height: 36px;
687 outline: none;
688 border: none;
689 color: #606764;
690 overflow: visible;
691 text-align: center;
692 cursor: text;
693 }
694 tr:hover {
695 background-color: #F5F7FA;
696 }
697
698 }
699
700 td {
701 text-align: center;
702 height: 40px;
703 min-width: 50px;
704 }
705
706 table:hover {
707 cursor: pointer;
708 }
709
710 .noData {
711 color: #b2b2b2;
712 }
713 .saveBtn {
714 background-color: #00CACD;
715 border-color: #00CACD;
716 padding: 10px 30px;
717 margin-top: 8px;
718 }
719 .saveBtn:hover {
720 background-color: rgba(0, 202, 205, .8);
721 border-color: rgba(0, 202, 205, .8);
722 }
723 .xh {
724 width: 100px;
725 }
726 .xzq, .djq, .djzq {
727 width: 150px;
728 }
729 .tips {
730 color: #9B9B9B;
731 margin-left: 20px;
732 margin-bottom: 14px;
733 }
734 .hbq {
735 margin: 14px 20px 20px 20px;
736 }
737 .dzhbh {
738 box-sizing: border-box !important;
739 padding: 0 18px 0 0 !important;
740 margin-top: 10px !important;
741 display: block !important;
742 }
743 .hbh {
744 margin-left: 20px;
745 margin-top: 14px;
746 margin-bottom: 70px;
747 display: flex;
748 flex-direction: column;
749 flex-flow: nowrap;
750 .data {
751 width: 40%;
752 float: left;
753 }
754 .el-card {
755 border: 1px solid #E6E6E6;
756 background-color: white;
757 overflow: auto;
758 .clearfix {
759 span {
760 color: #9B9B9B;
761 }
762 }
763 /deep/ .el-card__body {
764 padding: 10px 12px;
765 }
766 ul {
767 li {
768 padding: 5px;
769 line-height: 20px;
770 color: #4A4A4A;
771 .label {
772 vertical-align: middle;
773 color: #4A4A4A;
774 display: inline-block;
775 width: 104px;
776 text-align: right;
777 }
778 .value {
779 vertical-align: middle;
780 color: #6D7278;
781 display: inline-block;
782 padding-left: 10px;
783 width: calc(100% - 116px);
784 word-break: break-all;
785 }
786 }
787 .hasChoosed {
788 color: #BBB;
789 }
790 }
791 .zdjbxx {
792 width: 100%;
793 height: 320px;
794 margin-bottom: 10px;
795 float: left;
796 }
797 .zdmap {
798 width: calc(100% - 380px);
799 height: 200px;
800 float: left;
801 }
802 }
803 .zxx {
804 width: calc(60% - 40px);
805 margin-left: 20px;
806 display: flex;
807 flex-direction: column;
808 flex-flow: nowrap;
809 float: left;
810 .title {
811 color: red;
812 text-align: center;
813 padding: 5px 0;
814 }
815 /deep/ .el-card__body {
816 height: 320px;
817 overflow-y: scroll;
818 position: relative;
819 }
820 .line {
821 width: 1px;
822 height: calc(100% - 20px);
823 background-color: #EDEDED;
824 position: absolute;
825 top: 10px;
826 left: 50%;
827 }
828 .dz {
829 width: 33%;
830 overflow: auto;
831 ul {
832 li {
833 width: 96% !important;
834 }
835 }
836
837 }
838 .zrz {
839 width: 100%;
840 overflow: auto;
841 }
842 ul {
843 overflow: auto;
844 width: 100%;
845 float: left;
846 margin-left: 10px;
847 li {
848 width: 23%;
849 padding: 5px;
850 text-align: left;
851 line-height: 20px;
852 display: inline-block;
853 .label {
854 width: 90px;
855 }
856 }
857 li:nth-of-type(even) {
858 .label {
859 width: 110px;
860 text-indent: 20px;
861 }
862 }
863 }
864 }
865 }
866 }
867
868 .cz {
869 color: blue;
870 }
871
872 .cz:hover {
873 color: blue;
874 text-decoration: underline;
875 }
876
877 .xz {
878 color: blue;
879 }
880
881 .table-data {
882 height: 480px;
883 }
884
885 /deep/ .el-select {
886 width: 100%;
887 }
888 </style>
...@@ -294,7 +294,7 @@ ...@@ -294,7 +294,7 @@
294 </table> 294 </table>
295 </div> 295 </div>
296 <dz-query-data @getData="getData" :centerDialogVisible.sync="centerDialogVisible" 296 <dz-query-data @getData="getData" :centerDialogVisible.sync="centerDialogVisible"
297 :isClose="true" 297 :isClose="false"
298 @close="close"> 298 @close="close">
299 </dz-query-data> 299 </dz-query-data>
300 <div class="header-button" :style="{width:fgBoxWidth+'px'}"> 300 <div class="header-button" :style="{width:fgBoxWidth+'px'}">
...@@ -824,7 +824,12 @@ ...@@ -824,7 +824,12 @@
824 this.zdFgqData = data; 824 this.zdFgqData = data;
825 break; 825 break;
826 case "dz": 826 case "dz":
827 if (data.zrzCount < 2) {
828 this.$message.error("当前多幢下自然幢数量小于2,请重新选择")
829 break
830 }
827 this.dzFgqData = data; 831 this.dzFgqData = data;
832 this.centerDialogVisible=false;
828 break; 833 break;
829 case "h": 834 case "h":
830 this.hFgqData = data; 835 this.hFgqData = data;
......
...@@ -163,89 +163,11 @@ ...@@ -163,89 +163,11 @@
163 </div> 163 </div>
164 </el-tab-pane> 164 </el-tab-pane>
165 <el-tab-pane label="多幢合并" name="dz"> 165 <el-tab-pane label="多幢合并" name="dz">
166 <div class="hb-tabs top20"> 166 <dz-hb></dz-hb>
167 <!-- <el-button type="primary" class="addBtn" @click="newAdd">新增</el-button> -->
168 <div class="hbq">
169 <span class="tips" style="margin-left:0;">合并前多幢信息</span>
170 <table border="1">
171 <tr>
172 <td class="xh">序号</td>
173 <td class="zddm">宗地代码</td>
174 <td class="bdcdyh">不动产单元号</td>
175 <td class="xmmc">项目名称</td>
176 <td class="bdcqzh">不动产权证号</td>
177 <td class="qlr">权利人</td>
178 <td class="zl">坐落</td>
179 <td class="">
180 <el-button
181 type="primary"
182 class="changeBtn outAdd addMinus"
183 @click="newAdd"
184 >+
185 </el-button>
186 </td>
187 </tr>
188 <tr v-if="dzhbqData.length==0">
189 <td colspan="8">
190 <span class="noData">暂无数据</span>
191 </td>
192 </tr>
193 <tr v-else v-for="(item,index) in dzhbqData" :key="index">
194 <td class="xh">{{index+1}}</td>
195 <td class="zddm"><input type="text" class="formInput" v-model="item.zddm"
196 readonly="readonly"/></td>
197 <td class="bdcdyh"><input type="text" class="formInput" v-model="item.bdcdyh"
198 readonly="readonly"/></td>
199 <td class="xmmc"><input type="text" class="formInput" v-model="item.xmmc"
200 readonly="readonly"/></td>
201 <td class="bdcqzh"><input type="text" class="formInput" v-model="item.bdcqzh"
202 readonly="readonly"/></td>
203 <td class="qlr"><input type="text" class="formInput" v-model="item.qlr"
204 readonly="readonly"/></td>
205 <td class="zl"><input type="text" class="formInput" v-model="item.zl"
206 readonly="readonly"/></td>
207 <td class="cz">
208 <el-button
209 type="primary"
210 class="changeBtn outMinus addMinus"
211 @click="deleteData(item,index)"
212 >-
213 </el-button>
214 </td>
215 </tr>
216 </table>
217 </div>
218 <div class="hbh dzhbh">
219 <span class="tips" style="width:100%;display:block;margin-left:0;">合并后多幢信息</span>
220 <table border="1">
221 <tr>
222 <th class="xmmc">项目名称</th>
223 <th>幢信息</th>
224 </tr>
225 <tr v-for="item in dzhbhData" :key="item.bsm">
226 <td class="xmmc">
227 <input type="text" v-model="item.xmmc" class="formInput"/>
228 </td>
229 <td>
230 <!-- <span class="xz">选择</span> -->
231 </td>
232 </tr>
233 </table>
234 </div>
235 <query-data @getData="getData" :centerDialogVisible.sync="centerDialogVisible" :dylxs="['dz']"
236 :isZdClose="true"
237 @close="close"></query-data>
238 <div class="header-button" :style="{width:fgBoxWidth+'px'}">
239 <el-button type="primary" class="saveBtn" @click="dzhbSave">保存</el-button>
240 </div>
241 </div>
242 </el-tab-pane> 167 </el-tab-pane>
243 <el-tab-pane label="户合并" name="h"> 168 <el-tab-pane label="户合并" name="h">
244 <div class="hb-tabs psn" v-if="hhbtabs"> 169 <div class="hb-tabs psn" v-if="hhbtabs">
245 <hfghb></hfghb> 170 <hfghb></hfghb>
246 <!-- <div class="header-button" :style="{width:fgBoxWidth+'px'}">
247 <el-button type="primary" class="saveBtn">保存</el-button>
248 </div> -->
249 </div> 171 </div>
250 </el-tab-pane> 172 </el-tab-pane>
251 </el-tabs> 173 </el-tabs>
...@@ -264,17 +186,16 @@ ...@@ -264,17 +186,16 @@
264 import QueryData from '@components/queryData/queryData' 186 import QueryData from '@components/queryData/queryData'
265 import zdQueryData from '@components/zdQueryData/zdQueryData' 187 import zdQueryData from '@components/zdQueryData/zdQueryData'
266 import hfghb from '../hfghb/index' 188 import hfghb from '../hfghb/index'
267 189 import dzHb from './../../../../components/dzHb/dzHb'
268 export default { 190 export default {
269 name: "", 191 name: "",
270 components: {QueryData, zdQueryData, hfghb}, 192 components: { zdQueryData, hfghb,dzHb},
271 props: {}, 193 props: {},
272 data() { 194 data() {
273 return { 195 return {
274 tabName: 'zd', 196 tabName: 'zd',
275 centerDialogVisible: false, 197 centerDialogVisible: false,
276 zdhbqData: [], // 宗地合并前数据 198 zdhbqData: [], // 宗地合并前数据
277 dzhbqData: [], // 多幢合并前数据
278 zdhbhData: {}, // 宗地合并后数据 199 zdhbhData: {}, // 宗地合并后数据
279 dzhbhData: [ 200 dzhbhData: [
280 { 201 {
...@@ -368,6 +289,31 @@ ...@@ -368,6 +289,31 @@
368 hHb() { 289 hHb() {
369 290
370 }, 291 },
292 getData(data) {
293 let arr=[];
294 switch (this.tabName) {
295 case "zd":
296 arr = this.zdhbqData.filter(i => i.zdbsm === data.zdbsm);
297 if (arr.length > 0) {
298 this.$message.info("当前宗地已选择,请重新选择")
299 break
300 }
301 arr = this.zdhbqData.filter(i => i.xzqbsm !== data.xzqbsm || i.djqbsm !== data.djqbsm || i.djzqbsm !== data.djzqbsm);
302 if (arr.length > 0) {
303 this.$confirm('当前宗地不在同一地籍子区下,是否继续选择?')
304 .then(_ => {
305 this.addZdData(data);
306 })
307 .catch(_ => {
308 });
309 } else {
310 this.addZdData(data)
311 }
312 break
313 default:
314 break;
315 }
316 },
371 deleteData(item, index) { 317 deleteData(item, index) {
372 switch (this.tabName) { 318 switch (this.tabName) {
373 case "zd": 319 case "zd":
...@@ -475,7 +421,7 @@ ...@@ -475,7 +421,7 @@
475 } 421 }
476 }) 422 })
477 }, 423 },
478 getData(data) { 424 geDztData(data) {
479 let arr=[]; 425 let arr=[];
480 switch (this.tabName) { 426 switch (this.tabName) {
481 case "zd": 427 case "zd":
...@@ -502,10 +448,14 @@ ...@@ -502,10 +448,14 @@
502 this.$message.info("当前多幢已选择,请重新选择") 448 this.$message.info("当前多幢已选择,请重新选择")
503 break 449 break
504 } 450 }
505 if (this.dzhbqData.includes(data)) { 451 console.log(data,'data')
452 arr=this.dzhbqData.filter(i=>i.zdbsm !==data.zdbsm);
453 if (arr.length > 0) {
454 this.$message.info("当前选择多幢不在同一宗地下,请重新选择")
506 break 455 break
507 } 456 }
508 this.dzhbqData.push(data); 457 this.dzhbqData.push(data);
458 this.centerDialogVisible=false;
509 break 459 break
510 default: 460 default:
511 break; 461 break;
......