fdd8cf9e by 杨威

户合并完善

1 parent 696fafe3
...@@ -59,3 +59,14 @@ export function getHZdxx(bsm) { ...@@ -59,3 +59,14 @@ export function getHZdxx(bsm) {
59 }) 59 })
60 60
61 } 61 }
62
63 /**
64 * 户合并
65 */
66 export function hhb(data) {
67 return request({
68 url: '/bg/hSplitMerge/hHb',
69 method: 'post',
70 data: data
71 })
72 }
...\ No newline at end of file ...\ No newline at end of file
......
...@@ -313,7 +313,7 @@ export default { ...@@ -313,7 +313,7 @@ export default {
313 xmmc:'测试自然幢', 313 xmmc:'测试自然幢',
314 bdcqzh:'A12111111111111111', 314 bdcqzh:'A12111111111111111',
315 dylx:'zrz', 315 dylx:'zrz',
316 zrzbsm:'18cea8b4438ebf838ac86f4ceff90a6b' 316 zrzbsm:'b7162d97848b0d31d301f8d4a5b4596b'
317 } 317 }
318 ] 318 ]
319 }, 319 },
...@@ -349,7 +349,26 @@ export default { ...@@ -349,7 +349,26 @@ export default {
349 }, 349 },
350 //实预测转换 350 //实预测转换
351 scyclxChange(){ 351 scyclxChange(){
352 352 //清空已选中层户
353 // this.bsms = [];
354 this.$refs.lpbContent.hbsmList = [];
355 this.$nextTick(()=>{
356 //户
357 this.$refs.lpbContent.$refs.hBsm.forEach(item=>{
358 item.style.borderColor = 'rgb(230, 230, 230)';
359 if (item.className == "tdSelect") {
360 item.className = "";
361 }
362 });
363 //层
364 this.$refs.lpbContent.$refs.cBsm.forEach(item=>{
365 console.log(item.className,'item.className');
366 item.className = "floor";
367 });
368 })
369 //获取图例数据
370 this.getDyztBsmList();
371 this.getLpbFwytAndQlxz();
353 }, 372 },
354 inputChange() { 373 inputChange() {
355 if (this.bdcdyh != "") { 374 if (this.bdcdyh != "") {
......
...@@ -62,7 +62,7 @@ ...@@ -62,7 +62,7 @@
62 ref="hBsm" 62 ref="hBsm"
63 :key="hsIndex" 63 :key="hsIndex"
64 :class="searchNum == hs.shbw || searchNum == hs.bdcdyh ? 'tdSelect' : ''" 64 :class="searchNum == hs.shbw || searchNum == hs.bdcdyh ? 'tdSelect' : ''"
65 @click="handleTdClick($event, hs.bsm)" 65 @click="handleTdClick($event, hs.bsm,hs)"
66 @dblclick="dbclick(hs.bsm)" 66 @dblclick="dbclick(hs.bsm)"
67 @contextmenu.prevent="openMenu($event, hs, 'h')" 67 @contextmenu.prevent="openMenu($event, hs, 'h')"
68 > 68 >
...@@ -117,7 +117,7 @@ ...@@ -117,7 +117,7 @@
117 ref="hBsm" 117 ref="hBsm"
118 :key="hsIndex" 118 :key="hsIndex"
119 :class="searchNum == hs.shbw || searchNum == hs.bdcdyh ? 'tdSelect' : ''" 119 :class="searchNum == hs.shbw || searchNum == hs.bdcdyh ? 'tdSelect' : ''"
120 @click="handleTdClick($event, hs.bsm)" 120 @click="handleTdClick($event, hs.bsm,hs)"
121 @dblclick="dbclick(hs.bsm)" 121 @dblclick="dbclick(hs.bsm)"
122 @contextmenu.prevent="openMenu($event, hs, 'h')" 122 @contextmenu.prevent="openMenu($event, hs, 'h')"
123 > 123 >
...@@ -179,7 +179,7 @@ ...@@ -179,7 +179,7 @@
179 ref="hBsm" 179 ref="hBsm"
180 :key="hsIndex" 180 :key="hsIndex"
181 :class="searchNum == hs.shbw || searchNum == hs.bdcdyh ? 'tdSelect' : ''" 181 :class="searchNum == hs.shbw || searchNum == hs.bdcdyh ? 'tdSelect' : ''"
182 @click="handleTdClick($event, hs.bsm)" 182 @click="handleTdClick($event, hs.bsm,hs)"
183 @dblclick="dbclick(hs.bsm)" 183 @dblclick="dbclick(hs.bsm)"
184 @contextmenu.prevent="openMenu($event, hs, 'h')" 184 @contextmenu.prevent="openMenu($event, hs, 'h')"
185 > 185 >
...@@ -224,7 +224,7 @@ ...@@ -224,7 +224,7 @@
224 ref="hBsm" 224 ref="hBsm"
225 :key="hsIndex" 225 :key="hsIndex"
226 :class="searchNum == hs.shbw || searchNum == hs.bdcdyh ? 'tdSelect' : ''" 226 :class="searchNum == hs.shbw || searchNum == hs.bdcdyh ? 'tdSelect' : ''"
227 @click="handleTdClick($event, hs.bsm)" 227 @click="handleTdClick($event, hs.bsm,hs)"
228 @dblclick="dbclick(hs.bsm)" 228 @dblclick="dbclick(hs.bsm)"
229 @contextmenu.prevent="openMenu($event, hs, 'h')" 229 @contextmenu.prevent="openMenu($event, hs, 'h')"
230 > 230 >
...@@ -259,6 +259,10 @@ ...@@ -259,6 +259,10 @@
259 向下添加层 259 向下添加层
260 </li> 260 </li>
261 <li v-show="rightClickFlag == 'c'" @click="handleDeleteC">删除层</li> 261 <li v-show="rightClickFlag == 'c'" @click="handleDeleteC">删除层</li>
262 <!-- 合并 -->
263 <li v-show="rightClickFlag == 'hb'" :class="canHb!='zyhb'? 'cantHb':''" @click="handleHb('zyhb')">左右合并</li>
264 <li v-show="rightClickFlag == 'hb'" :class="canHb!='sxhb'? 'cantHb':''" @click="handleHb('sxhb')">上下合并</li>
265
262 </ul> 266 </ul>
263 <!-- 层操作弹框 --> 267 <!-- 层操作弹框 -->
264 <el-dialog 268 <el-dialog
...@@ -301,7 +305,8 @@ ...@@ -301,7 +305,8 @@
301 </template> 305 </template>
302 <script> 306 <script>
303 import moveH from "./../../../../../components/moveH/moveH"; 307 import moveH from "./../../../../../components/moveH/moveH";
304 import { getLpb, insertUpDownC, deleteCByBsm } from "../../../../../api/lpb"; 308 import { getLpb, insertUpDownC, deleteCByBsm } from "@api/lpb";
309 import { hhb } from "@api/h";
305 export default { 310 export default {
306 name: "", 311 name: "",
307 components: { moveH }, 312 components: { moveH },
...@@ -356,6 +361,8 @@ export default { ...@@ -356,6 +361,8 @@ export default {
356 formLabelWidth: "120px", 361 formLabelWidth: "120px",
357 yclpbData:{}, 362 yclpbData:{},
358 sclpbData:{}, 363 sclpbData:{},
364 fghbChoosedList:[],
365 canHb:''//判断合并类型
359 }; 366 };
360 }, 367 },
361 created() {}, 368 created() {},
...@@ -500,7 +507,7 @@ export default { ...@@ -500,7 +507,7 @@ export default {
500 } 507 }
501 }, 508 },
502 //户单击事件 509 //户单击事件
503 handleTdClick(e, bsm) { 510 handleTdClick(e, bsm,hs) {
504 let self = this; 511 let self = this;
505 // 开启延时器,200ms的间隔区分单击和双击,解决双击时执行两次单击事件 512 // 开启延时器,200ms的间隔区分单击和双击,解决双击时执行两次单击事件
506 clearTimeout(self.time); 513 clearTimeout(self.time);
...@@ -509,13 +516,27 @@ export default { ...@@ -509,13 +516,27 @@ export default {
509 if (e.target.className.indexOf("tdSelect") == -1) { 516 if (e.target.className.indexOf("tdSelect") == -1) {
510 //未选中→选中 517 //未选中→选中
511 e.target.className = "tdSelect"; //加边框 518 e.target.className = "tdSelect"; //加边框
512 this.hbsmList.push(bsm); // 将户bsm放进hbsmList 519 if(this.isHbfg){
520 this.fghbChoosedList.push(hs);
521 this.hbsmList.push(bsm); // 将户bsm放进hbsmList
522 }else{
523 this.hbsmList.push(bsm); // 将户bsm放进hbsmList
524 }
513 } else { 525 } else {
514 //选中→未选中 526 //选中→未选中
515 e.target.className = ""; 527 e.target.className = "";
516 this.deleteArrOption(this.hbsmList, bsm); 528 if(this.isHbfg){
529 this.deleteArrOption(this.fghbChoosedList, hs)
530 this.deleteArrOption(this.hbsmList, bsm);
531 }else{
532 this.deleteArrOption(this.hbsmList, bsm);
533 }
534 }
535 if(this.isHbfg){
536
537 }else{
538 this.$parent.getHbsm(this.hbsmList, false);
517 } 539 }
518 this.$parent.getHbsm(this.hbsmList, false);
519 }, 200); 540 }, 200);
520 }, 541 },
521 //户双击事件 542 //户双击事件
...@@ -551,13 +572,32 @@ export default { ...@@ -551,13 +572,32 @@ export default {
551 }, 572 },
552 //户右键点击事件 573 //户右键点击事件
553 openMenu(e, item, type) { 574 openMenu(e, item, type) {
554 575 this.lpbChLeft = e.pageX;
576 this.lpbChTop = e.pageY;
555 if (this.isHbfg) { 577 if (this.isHbfg) {
556 578 this.rightClickFlag = 'hb';
579 console.log(this.fghbChoosedList,'this.fghbChoosedList ');
580 if (this.fghbChoosedList.length>1) {
581 this.lpbChVisible = true;
582 //判断选中户可以执行的合并类型
583 let chIsSame = this.fghbChoosedList.every((item)=> {
584 return item.ch == this.fghbChoosedList[0].ch;
585 });
586 let hhIsSame = this.fghbChoosedList.every((item)=> {
587 return item.hh == this.fghbChoosedList[0].hh;
588 });
589 this.$nextTick(()=>{
590 if(chIsSame){
591 this.canHb = 'zyhb'
592 }else if(hhIsSame){
593 this.canHb = 'sxhb'
594 }else{
595 this.canHb = ''
596 }
597 })
598 }
557 }else{ 599 }else{
558 console.log(e, "e"); 600 console.log(e, "e");
559 this.lpbChLeft = e.pageX;
560 this.lpbChTop = e.pageY;
561 this.chData = item; 601 this.chData = item;
562 this.rightClickFlag = type; 602 this.rightClickFlag = type;
563 this.lpbChVisible = true; 603 this.lpbChVisible = true;
...@@ -662,6 +702,40 @@ export default { ...@@ -662,6 +702,40 @@ export default {
662 qsztClick(){ 702 qsztClick(){
663 703
664 }, 704 },
705 //户合并
706 handleHb(type){
707 let olbBsms = '';
708 this.hbsmList.forEach((item,index)=>{
709 olbBsms+= index<this.hbsmList.length-1? item+',':item
710 })
711 if (type == this.canHb) {
712 this.$confirm("是否确认合并选中户?", "提示", {
713 confirmButtonText: "确定",
714 cancelButtonText: "取消",
715 type: "warning",
716 })
717 .then(() => {
718 //确定合并 调用合并接口 this.hbsmList为选中户bsm数组 TO DO
719 let params = {
720 "ljzbsm": "",
721 "newuserbsm": "",
722 "oldBsms": olbBsms,
723 "scyclx": "",
724 "zdybsm": "",
725 "zrzbsm": ""
726 }
727 console.log(params,'params');
728 // hhb(params).then(() => {
729 //合并成功后更新楼盘表
730
731 // })
732 // .catch(() => {});
733 })
734 .catch(() => {});
735 }else{
736
737 }
738 }
665 }, 739 },
666 computed: { 740 computed: {
667 createFlagChange() { 741 createFlagChange() {
...@@ -711,12 +785,8 @@ export default { ...@@ -711,12 +785,8 @@ export default {
711 //父组件中选择单元状态改变选中户的边框颜色 785 //父组件中选择单元状态改变选中户的边框颜色
712 choosedList(n) { 786 choosedList(n) {
713 this.$refs.hBsm.forEach((item) => { 787 this.$refs.hBsm.forEach((item) => {
714 // console.log(item.dataset.bsm,'item.dataset.bsm');
715 // console.log(this.choosedList,'this.choosedList');
716 this.choosedList.forEach((i) => { 788 this.choosedList.forEach((i) => {
717 if (item.dataset.bsm == i) { 789 if (item.dataset.bsm == i) {
718 // console.log(item.style.border,'item.style.border');
719 // console.log(this.borderColor,'this.borderColor');
720 item.style.border = '1px solid '+this.borderColor; 790 item.style.border = '1px solid '+this.borderColor;
721 } 791 }
722 }); 792 });
...@@ -915,7 +985,10 @@ export default { ...@@ -915,7 +985,10 @@ export default {
915 text-align: center; 985 text-align: center;
916 transition: 0.5s; 986 transition: 0.5s;
917 } 987 }
918 988 .cantHb{
989 opacity: .5;
990 cursor: not-allowed;
991 }
919 .btnGroup { 992 .btnGroup {
920 margin: 20px auto 0; 993 margin: 20px auto 0;
921 width: 150px; 994 width: 150px;
......