907e9995 by 杨威

范围属性变更业务逻辑修改

1 parent 3d2863e0
1 <template> 1 <template>
2 <div class="main"> 2 <div class="main">
3 <p class="tips">查询条件</p> 3 <template v-if="isFwsxbg">
4 <SearchHead @getSearchCondition="geQuerytData" :type="type"></SearchHead> 4 <p class="tips">查询条件</p>
5 <p class="tips">查询列表</p> 5 <SearchHead @getSearchCondition="geQuerytData" :type="type"></SearchHead>
6 <div class="dataGrid" ref="dataGrid"> 6 <p class="tips">查询列表</p>
7 <el-table 7 <div class="dataGrid" ref="dataGrid">
8 :data="tableData" 8 <el-table
9 :height="tableHeight" 9 :data="tableData"
10 :row-class-name="tableRowClassName" 10 :height="tableHeight"
11 > 11 :row-class-name="tableRowClassName"
12 <el-table-column type="index" width="80" align="center" label="序号">
13 </el-table-column>
14 <el-table-column prop="bdcdyh" align="left" label="不动产单元号">
15 </el-table-column>
16 <el-table-column prop="xmmc" align="left" width="150" label="项目名称">
17 </el-table-column>
18 <el-table-column prop="bdcqzh" align="left" label="不动产权证号">
19 </el-table-column>
20 <el-table-column prop="dylx" align="left" width="120" label="类型">
21 <template slot-scope="scope">
22 {{ scope.row.dylx | bdcLxFilter }}
23 </template>
24 </el-table-column>
25 <el-table-column prop="qlrmc" align="left" width="120" label="权利人">
26 </el-table-column>
27 <el-table-column prop="zl" align="left" label="坐落"></el-table-column>
28 <el-table-column
29 prop="addtime"
30 align="left"
31 width="120"
32 label="转入时间"
33 > 12 >
34 <template slot-scope="scope"> 13 <el-table-column type="index" width="80" align="center" label="序号">
35 {{ scope.row.addtime | timeFilter }} 14 </el-table-column>
36 </template> 15 <el-table-column prop="bdcdyh" align="left" label="不动产单元号">
37 </el-table-column> 16 </el-table-column>
38 <!-- <el-table-column prop="cjr" align="left" width="120" label="创建人"> 17 <el-table-column prop="xmmc" align="left" width="150" label="项目名称">
39 </el-table-column> --> 18 </el-table-column>
40 <el-table-column label="操作" align="center" width="100"> 19 <el-table-column prop="bdcqzh" align="left" label="不动产权证号">
41 <template slot-scope="scope"> 20 </el-table-column>
42 <el-tooltip class="item" effect="light" content="办理" placement="top"> 21 <el-table-column prop="dylx" align="left" width="120" label="类型">
43 <i class="iconfont iconbanli iconfontEdit" @click="handleClick(scope.row)" style="padding:0 10px"></i> 22 <template slot-scope="scope">
44 </el-tooltip> 23 {{ scope.row.dylx | bdcLxFilter }}
45 <el-tooltip class="item" effect="light" content="定位" placement="top"> 24 </template>
46 <i class="iconfont icondingwei iconfontEdit"></i> 25 </el-table-column>
47 </el-tooltip> 26 <el-table-column prop="qlrmc" align="left" width="120" label="权利人">
48 <!-- <el-button @click="handleClick(scope.row)" type="text" size="small" 27 </el-table-column>
49 >办理 28 <el-table-column prop="zl" align="left" label="坐落"></el-table-column>
50 </el-button> 29 <el-table-column
51 <el-button type="text" size="small">定位</el-button> --> 30 prop="addtime"
52 </template> 31 align="left"
53 </el-table-column> 32 width="120"
54 </el-table> 33 label="转入时间"
55 <div class="pagination"> 34 >
56 <el-pagination 35 <template slot-scope="scope">
57 background 36 {{ scope.row.addtime | timeFilter }}
58 layout="prev, pager, next,total" 37 </template>
59 :total="total" 38 </el-table-column>
60 :current-page="pageNo" 39 <!-- <el-table-column prop="cjr" align="left" width="120" label="创建人">
61 @current-change="handleCurrentChange" 40 </el-table-column> -->
62 > 41 <el-table-column label="操作" align="center" width="100">
63 </el-pagination> 42 <template slot-scope="scope">
43 <el-tooltip class="item" effect="light" content="办理" placement="top">
44 <i class="iconfont iconbanli iconfontEdit" @click="handleClick(scope.row)" style="padding:0 10px"></i>
45 </el-tooltip>
46 <el-tooltip class="item" effect="light" content="定位" placement="top">
47 <i class="iconfont icondingwei iconfontEdit"></i>
48 </el-tooltip>
49 <!-- <el-button @click="handleClick(scope.row)" type="text" size="small"
50 >办理
51 </el-button>
52 <el-button type="text" size="small">定位</el-button> -->
53 </template>
54 </el-table-column>
55 </el-table>
56 <div class="pagination">
57 <el-pagination
58 background
59 layout="prev, pager, next,total"
60 :total="total"
61 :current-page="pageNo"
62 @current-change="handleCurrentChange"
63 >
64 </el-pagination>
65 </div>
66 </div>
67 </template>
68 <div class="lpb" v-if="!isFwsxbg">
69 <div class="lpb-header">
70 <el-radio-group v-model="scyclx" @change="scyclxChange">
71 <el-radio-button label="0">预测</el-radio-button>
72 <el-radio-button label="1">实测</el-radio-button>
73 </el-radio-group>
74 <el-input
75 maxlength="28"
76 v-model="bdcdyh"
77 :style="{ width: inputWidth + 'px' }"
78 @change="inputChange"
79 class="searchInput"
80 placeholder="输入不动产单元号或室号"
81 ><i
82 slot="suffix"
83 class="el-input__icon el-icon-search"
84 @click="inputChange"
85 ></i
86 ></el-input>
87 <el-link type="primary" style="margin-left:20px" @click="isFwsxbg=true">重新选择户</el-link>
88 </div>
89 <div class="lpb-content" ref="lpbContentWrap" :style="{ height: lpbContentHeight + 'px' }">
90 <!-- 楼盘表主体 -->
91 <div class="lp-overview" :style="{ width: lpbContentwidth + 'px' }">
92 <lpbContent ref="lpbContent" class="" :zrzbsm='zrzbsm' lpbParent = 'isFwsxbg'></lpbContent>
93 </div>
94 <!-- 右侧图例 -->
95 <div class="lp-legend">
96 <div class="handleCol">
97 <div class="btn" @click="legendToggle">
98 <i v-show="!legendToggleFlag" class="el-icon-d-arrow-left"></i>
99 <i v-show="legendToggleFlag" class="el-icon-d-arrow-right"></i>
100 </div>
101 <div
102 :class="selectedZt == 'dyzt' ? 'dyzt selectedZt' : 'dyzt'"
103 @click="selectedZt = 'dyzt'"
104 >
105 <span>单元状态</span>
106 </div>
107 <div
108 :class="selectedZt == 'fwxz' ? 'fwxz selectedZt' : 'fwxz'"
109 @click="selectedZt = 'fwxz'"
110 >
111 <span>房屋性质</span>
112 </div>
113 <div
114 :class="selectedZt == 'fwyt' ? 'fwyt selectedZt' : 'fwyt'"
115 @click="selectedZt = 'fwyt'"
116 >
117 <span>房屋用途</span>
118 </div>
119 </div>
120 <div
121 class="legendTable-wrap"
122 :style="{ width: legendToggleFlag ? '204px' : '0' }"
123 >
124 <table
125 class="legendTable"
126 v-show="selectedZt == 'dyzt'"
127 cellspacing="1"
128 cellpadding="1"
129 border="1"
130 >
131 <tr>
132 <th>状态</th>
133 <th>套数</th>
134 <th>面积</th>
135 </tr>
136 <tr
137 v-for="(item, index) in dyztList"
138 :key="index"
139 class="cp"
140 @click="handleChoosedH(item.bsms,item.color)"
141 >
142 <td>
143 <i class="fa fa-circle" :style="{ color: item.color }"></i
144 >{{ item.name }}
145 </td>
146 <td>{{ item.ts }}</td>
147 <td>{{ item.mj }}</td>
148 </tr>
149 </table>
150
151 <table
152 class="legendTable"
153 v-show="selectedZt == 'fwxz'"
154 cellspacing="1"
155 cellpadding="1"
156 border="1"
157 >
158 <tr>
159 <th>性质</th>
160 <th>套数</th>
161 <th>面积</th>
162 </tr>
163 <tr
164 v-for="(item, index) in fwxzList"
165 :key="index"
166 class="cp"
167 @click="handleChoosedH(item.bsms,item.color)"
168 >
169 <td>
170 <i class="fa fa-circle" :style="{ color: item.color }"></i
171 >{{ item.name }}
172 </td>
173 <td>{{ item.ts }}</td>
174 <td>{{ item.mj }}</td>
175 </tr>
176 <tr v-show="fwxzList.length < 1">
177 <td colspan="3" class="tac">暂无数据</td>
178 </tr>
179 </table>
180
181 <table
182 class="legendTable"
183 v-show="selectedZt == 'fwyt'"
184 cellspacing="1"
185 cellpadding="1"
186 border="1"
187 >
188 <tr>
189 <th>用途</th>
190 <th>套数</th>
191 <th>面积</th>
192 </tr>
193 <tr
194 v-for="(item, index) in fwytList"
195 :key="index"
196 class="cp"
197 @click="handleChoosedH(item.bsms,item.color)"
198 >
199 <td>
200 <i class="fa fa-circle" :style="{ color: item.color }"></i
201 >{{ item.name }}
202 </td>
203 <td>{{ item.ts }}</td>
204 <td>{{ item.mj }}</td>
205 </tr>
206 <tr v-show="fwytList.length < 1">
207 <td colspan="3" class="tac">暂无数据</td>
208 </tr>
209 </table>
210 </div>
211 </div>
64 </div> 212 </div>
65 </div> 213 </div>
66 </div> 214 </div>
...@@ -70,10 +218,12 @@ ...@@ -70,10 +218,12 @@
70 import SearchHead from "@components/searchHead/searchHead"; 218 import SearchHead from "@components/searchHead/searchHead";
71 import { getSearchList } from "@api/search"; 219 import { getSearchList } from "@api/search";
72 import { fwsxbgbl } from "@api/common"; 220 import { fwsxbgbl } from "@api/common";
221 import {getQjHDetailByBsm} from "@api/h";
222 import lpbContent from "../../../zrz/lpb/bjlp/lpbContent/index";
73 223
74 export default { 224 export default {
75 name: "", 225 name: "",
76 components: { SearchHead }, 226 components: { SearchHead,lpbContent },
77 inject:['getRightTree','getTreeByBsm'], 227 inject:['getRightTree','getTreeByBsm'],
78 props: {}, 228 props: {},
79 data() { 229 data() {
...@@ -86,6 +236,73 @@ export default { ...@@ -86,6 +236,73 @@ export default {
86 tableData: [], 236 tableData: [],
87 tableHeight: "100", 237 tableHeight: "100",
88 queryData: {}, 238 queryData: {},
239 isFwsxbg:true,
240 zrzbsm:'',
241 scyclx:'0', //实预测类型
242 bdcdyh:'',//室号搜索
243 inputWidth: 220,//搜索框宽度
244 legendToggleFlag: false,
245 selectedZt:'dyzt',
246 dyztList: [
247 {
248 name: "未确权",
249 color: "#83AAFE",
250 ts: "12",
251 mj: "1633",
252 },
253 {
254 name: "已确权",
255 color: "#6EDEE1",
256 ts: "22",
257 mj: "3109",
258 },
259 {
260 name: "已备案",
261 color: "#8ADC88",
262 ts: "3",
263 mj: "409",
264 },
265 {
266 name: "预抵押",
267 color: "#F2AD67",
268 ts: "11",
269 mj: "1466",
270 },
271 {
272 name: "在建抵押",
273 color: "#F191C8",
274 ts: "13",
275 mj: "1792",
276 },
277 {
278 name: "抵押",
279 color: "#FF8282",
280 ts: "14",
281 mj: "13",
282 },
283 {
284 name: "查封",
285 color: "#D7CECF",
286 ts: "9",
287 mj: "1436",
288 },
289 {
290 name: "异议",
291 color: "#D4A3EB",
292 ts: "34",
293 mj: "4342",
294 },
295 {
296 name: "限制",
297 color: "#A5A3FB",
298 ts: "2",
299 mj: "285",
300 },
301 ],
302 fwxzList: [],
303 fwytList: [],
304 lpbContentHeight: 0,
305 lpbContentwidth: 0,
89 }; 306 };
90 }, 307 },
91 created() {}, 308 created() {},
...@@ -96,6 +313,8 @@ export default { ...@@ -96,6 +313,8 @@ export default {
96 this.tableHeight = 313 this.tableHeight =
97 (document.documentElement.clientHeight || document.body.clientHeight) - 314 (document.documentElement.clientHeight || document.body.clientHeight) -
98 392; 315 392;
316 this.lpbContentHeight = (document.documentElement.clientHeight || document.body.clientHeight) - 205;
317 this.lpbContentwidth = this.$refs.lpbContentWrap.clientWidth - 34 - 6;
99 }); 318 });
100 }, 319 },
101 methods: { 320 methods: {
...@@ -133,72 +352,217 @@ export default { ...@@ -133,72 +352,217 @@ export default {
133 //点击办理 352 //点击办理
134 handleClick(row) { 353 handleClick(row) {
135 let params = { bsm: row.glbsm, type: row.dylx }; 354 let params = { bsm: row.glbsm, type: row.dylx };
136 this.$confirm('是否确定范围属性变更?', '提示', { 355 if(row.dylx == 'h'){
137 confirmButtonText: '确定', 356 getQjHDetailByBsm(row.glbsm).then((res)=>{
138 cancelButtonText: '取消', 357 if(res.code===200){
139 type: 'warning' 358 this.zrzbsm = res.result.zrzbsm;
140 }).then(() => { 359 this.isFwsxbg = false;
141 fwsxbgbl(params) 360 }
142 .then((res) => { 361 })
143 if (res.code == 200) { 362 }else{
144 // this.$message({ 363 this.$confirm('是否确定范围属性变更?', '提示', {
145 // message: res.message, 364 confirmButtonText: '确定',
146 // type: "变更成功", 365 cancelButtonText: '取消',
147 // }); 366 type: 'warning'
148 let path = ""; 367 }).then(() => {
149 switch (row.dylx) { 368 fwsxbgbl(params)
150 case "zrz": 369 .then((res) => {
151 this.$store.state.zrzbsm = res.result; 370 if (res.code == 200) {
152 this.getTreeByBsm(row.glbsm,row.dylx,'2'); 371 // this.$message({
153 path = "/zrz"; 372 // message: res.message,
373 // type: "变更成功",
374 // });
375 let path = "";
376 switch (row.dylx) {
377 case "zrz":
378 this.$store.state.zrzbsm = res.result;
379 this.getTreeByBsm(row.glbsm,row.dylx,'2');
380 path = "/zrz";
381 break;
382 case "zd":
383 this.$store.state.zdbsm = res.result;
384 this.getRightTree(row.glbsm,'2');
385 path = "/zd";
386 break;
387 case "dz":
388 this.$store.state.dzbsm = res.result;
389 this.getTreeByBsm(row.glbsm,row.dylx,'2');
390 path = "/dz";
391 break;
392 default:
393 break;
394 }
395 this.$router.push({
396 path: path,
397 query: {
398 bsm: res.result,
399 source: 2,
400 auth:'2'
401 }
402 });
403 } else {
404 this.$message({
405 message: res.message,
406 type: "warning",
407 });
408 }
409 })
410 .catch((error) => {
411 this.$message({
412 message: res.message,
413 type: "error",
414 });
415 });
416 }).catch(() => {
417
418 });
419 }
420 },
421
422 //实预测转换
423 scyclxChange(){
424 //清空已选中层户
425 // this.bsms = [];
426 this.$refs.lpbContent.hbsmList = [];
427 this.$nextTick(()=>{
428 //户
429 this.$refs.lpbContent.$refs.hBsm.forEach(item=>{
430 item.style.borderColor = 'rgb(230, 230, 230)';
431 if (item.className == "tdSelect") {
432 item.className = "";
433 }
434 });
435 //层
436 this.$refs.lpbContent.$refs.cBsm.forEach(item=>{
437 console.log(item.className,'item.className');
438 item.className = "floor";
439 });
440 })
441 //获取图例数据
442 this.getDyztBsmList();
443 this.getLpbFwytAndQlxz();
444 },
445 inputChange() {
446 if (this.bdcdyh != "") {
447 // 根据不动产单元号或者室号搜索
448 // this.$refs.lpbContent.lpbDataMap(this.bdcdyh);
449 } else {
450 this.$message({
451 message: "请输入内容后查询",
452 type: "warning",
453 });
454 }
455 },
456 //图例的展开收起
457 legendToggle() {
458 this.legendToggleFlag = !this.legendToggleFlag;
459 },
460 //获取各项单元状态统计数据
461 getDyztBsmList() {
462 let data = {
463 zrzbsm: this.$store.state.zrzbsm,
464 scyclx: this.scyclx,
465 };
466 getLpbTj(data).then((res) => {
467 if (res.code === 200) {
468 this.dyztList = res.result;
469 this.dyztList.splice(1,0,this.dyztList[8]);
470 this.dyztList.pop();
471 this.dyztList.forEach(item=>{
472 item.ts = item.bsms.length;
473 switch (item.name) {
474 case 'Qqzt':
475 item.color = "#6EDEE1";
476 item.name = "已确权"
154 break; 477 break;
155 case "zd": 478 case 'Wqqzt':
156 this.$store.state.zdbsm = res.result; 479 item.color = "#83AAFE";
157 this.getRightTree(row.glbsm,'2'); 480 item.name = "未确权"
158 path = "/zd";
159 break; 481 break;
160 case "dz": 482 case 'Bazt':
161 this.$store.state.dzbsm = res.result; 483 item.color = "#8ADC88";
162 this.getTreeByBsm(row.glbsm,row.dylx,'2'); 484 item.name = "已备案"
163 path = "/dz";
164 break; 485 break;
165 case "h": 486 case 'Ydyzt':
166 this.$store.state.dzbsm = res.result; 487 item.color = "#F2AD67";
167 this.getTreeByBsm(row.glbsm,row.dylx,'2'); 488 item.name = "预抵押"
168 path = "/h"; 489 break;
490 case 'Zjgcdyzt':
491 item.color = "#F191C8";
492 item.name = "在建抵押"
493 break;
494 case 'Dyzt':
495 item.color = "#FF8282";
496 item.name = "抵押"
497 break;
498 case 'Cfzt':
499 item.color = "#D7CECF";
500 item.name = "查封"
501 break;
502 case 'Yyzt':
503 item.color = "#D4A3EB";
504 item.name = "异议"
505 break;
506 case 'Xzzt':
507 item.color = "#A5A3FB";
508 item.name = "限制"
169 break; 509 break;
170 default: 510 default:
171 break; 511 break;
172 } 512 }
173 this.$router.push({
174 path: path,
175 query: {
176 bsm: res.result,
177 source: 2,
178 auth:'2'
179 }
180 });
181 } else {
182 this.$message({
183 message: res.message,
184 type: "warning",
185 });
186 }
187 }) 513 })
188 .catch((error) => { 514 }
189 this.$message({
190 message: res.message,
191 type: "error",
192 });
193 });
194 }).catch(() => {
195
196 }); 515 });
197
198 }, 516 },
517 // 获取房屋用途和房屋性质统计数据
518 getLpbFwytAndQlxz(){
519 let data = {
520 zrzbsm: this.$store.state.zrzbsm,
521 scyclx: this.scyclx,
522 };
523 getLpbFwytAndQlxz(data).then((res) => {
524 if (res.code === 200) {
525 // this.fwytList = res.result
526 this.fwytList = res.result.fwyt;
527 this.fwxzList = res.result.qlxz;
528 if(this.fwytList.length>0){
529 this.fwytList.forEach(item=>{
530 item.color = "#2591FD";
531 item.ts = item.bsms.length
532 })
533 }
534 if(this.fwxzList.length>0){
535 this.fwxzList.forEach(item=>{
536 item.color = "#2591FD";
537 item.ts = item.bsms.length
538 })
539 }
540 }
541 });
542 }
199 }, 543 },
200 computed: {}, 544 computed: {},
201 watch: {}, 545 watch: {
546 //树结构和图例伸缩时修改楼盘表主要内容区宽度
547 legendToggleFlag(n) {
548 if (n) {
549 this.lpbContentwidth -= 204;
550 } else {
551 this.lpbContentwidth += 204;
552 }
553 },
554 //选择自然幢展示楼盘表后,查询右侧图例数据
555 isSearch(n){
556 if (!n) {
557 this.getDyztBsmList();
558 this.getLpbFwytAndQlxz();
559 }
560 },
561 //改变syclx,更新楼盘表数据
562 scyclx(n){
563 this.$refs.lpbContent.lpbData = n == 0 ? this.$refs.lpbContent.yclpbData : this.$refs.lpbContent.sclpbData
564 }
565 },
202 }; 566 };
203 </script> 567 </script>
204 <style scoped lang="less"> 568 <style scoped lang="less">
...@@ -226,5 +590,105 @@ export default { ...@@ -226,5 +590,105 @@ export default {
226 padding: 18px 0 0 0; 590 padding: 18px 0 0 0;
227 } 591 }
228 } 592 }
593
594 .lpb{
595 box-sizing: border-box;
596 padding-left: 2px;
597 .searchInput {
598 transition: 0.5s;
599 margin-left: 20px;
600 display: inline-block;
601 }
602 .lpb-content{
603 margin-top: 20px;
604 background-color: #ffffff;
605 display: flex;
606 overflow-y: scroll;
607 .lp-overview {
608 transition: 0.5s;
609 flex: 1;
610 margin-right: 20px;
611 box-sizing: border-box;
612 border: 1px solid rgb(236, 236, 236);
613 border-top: 0;
614 border-bottom: 0;
615 }
616 .lp-legend {
617 transition: 0.5s;
618 height: 100%;
619 font-size: 14px;
620 .handleCol {
621 width: 34px;
622 float: right;
623 height: 100%;
624 .btn {
625 cursor: pointer;
626 height: 40px;
627 line-height: 40px;
628 text-align: center;
629 background-color: #0091ff;
630 color: #fff;
631 border-bottom: 1px solid #e6e6e6;
632 }
633 .dyzt {
634 height: 81px;
635 line-height: 81px;
636 }
637 .fwxz,
638 .fwyt {
639 height: 122px;
640 }
641 .dyzt,
642 .fwxz,
643 .fwyt {
644 cursor: pointer;
645 border-bottom: 1px solid #e6e6e6;
646 span {
647 text-align: center;
648 height: 100%;
649 -webkit-writing-mode: vertical-rl;
650 writing-mode: vertical-rl;
651 line-height: 34px;
652 letter-spacing: 2px;
653 }
654 }
655 .selectedZt {
656 background-color: #0091ff;
657 color: #fff;
658 }
659 }
660 .legendTable-wrap {
661 transition: 0.5s;
662 float: right;
663 overflow: hidden;
664 .legendTable {
665 margin-top: -1px;
666 tr {
667 height: 40px;
668 line-height: 40px;
669 th:first-child {
670 width: 80px;
671 }
672 th {
673 width: 60px;
674 height: 40px;
675 white-space: nowrap;
676 }
677 td {
678 height: 40px;
679 text-align: center;
680 white-space: nowrap;
681 }
682 td:first-child {
683 text-align: left;
684 text-indent: 2px;
685 }
686 }
687 }
688 }
689 }
690 }
691
692 }
229 } 693 }
230 </style> 694 </style>
......
...@@ -84,7 +84,7 @@ ...@@ -84,7 +84,7 @@
84 <div class="lpb-content" ref="lpbContentWrap" :style="{ height: lpbContentHeight + 'px' }"> 84 <div class="lpb-content" ref="lpbContentWrap" :style="{ height: lpbContentHeight + 'px' }">
85 <!-- 楼盘表主体 --> 85 <!-- 楼盘表主体 -->
86 <div class="lp-overview" :style="{ width: lpbContentwidth + 'px' }"> 86 <div class="lp-overview" :style="{ width: lpbContentwidth + 'px' }">
87 <lpbContent ref="lpbContent" :zrzbsm='zrzbsm' :isHbfg = true :isHb="isHb"></lpbContent> 87 <lpbContent ref="lpbContent" :zrzbsm='zrzbsm' lpbParent = 'isHbfg' :isHb="isHb"></lpbContent>
88 </div> 88 </div>
89 <!-- 右侧图例 --> 89 <!-- 右侧图例 -->
90 <div class="lp-legend"> 90 <div class="lp-legend">
...@@ -538,8 +538,11 @@ export default { ...@@ -538,8 +538,11 @@ export default {
538 .lp-overview { 538 .lp-overview {
539 transition: 0.5s; 539 transition: 0.5s;
540 flex: 1; 540 flex: 1;
541 padding-right: 20px; 541 margin-right: 20px;
542 box-sizing: border-box; 542 box-sizing: border-box;
543 border: 1px solid #ececec;
544 border-top: 0;
545 border-bottom: 0;
543 } 546 }
544 .lp-legend { 547 .lp-legend {
545 transition: 0.5s; 548 transition: 0.5s;
......
...@@ -257,10 +257,6 @@ ...@@ -257,10 +257,6 @@
257 :bsms="bsms" 257 :bsms="bsms"
258 @close="hcxlzClose" 258 @close="hcxlzClose"
259 ></h-cxlz> 259 ></h-cxlz>
260 <!-- 双击户的弹出框 -->
261 <el-dialog v-dialogDrag :close-on-click-modal="false" title="户编辑" class="hbjDialog" :visible.sync="hbjVisible" width="70%" >
262 <hbj ref="hbj" :bsm="hbsm" :scyclx="scyclx"></hbj>
263 </el-dialog>
264 </div> 260 </div>
265 </template> 261 </template>
266 262
...@@ -275,7 +271,6 @@ import LineTree from "@components/lineTree/lineTree"; ...@@ -275,7 +271,6 @@ import LineTree from "@components/lineTree/lineTree";
275 import addLjz from "./ljz/index"; 271 import addLjz from "./ljz/index";
276 import addZdy from "./zdy/index"; 272 import addZdy from "./zdy/index";
277 import addCh from "./ch/index"; 273 import addCh from "./ch/index";
278 import hbj from "./hbj/index";
279 import lpbContent from "./lpbContent/index"; 274 import lpbContent from "./lpbContent/index";
280 import { getLpbMenuTree, batchScYcChange, getLpbTj,batchGeneratorBdcdyh,getLpbFwytAndQlxz ,batchCommit} from "@api/lpb"; 275 import { getLpbMenuTree, batchScYcChange, getLpbTj,batchGeneratorBdcdyh,getLpbFwytAndQlxz ,batchCommit} from "@api/lpb";
281 276
...@@ -291,14 +286,12 @@ export default { ...@@ -291,14 +286,12 @@ export default {
291 PlSh, 286 PlSh,
292 PlH, 287 PlH,
293 PlZl, 288 PlZl,
294 hbj,
295 HCxlz, 289 HCxlz,
296 }, 290 },
297 props: {}, 291 props: {},
298 data() { 292 data() {
299 return { 293 return {
300 bsms: [], 294 bsms: [],
301 hbsm: "",
302 dialogVisible: false, 295 dialogVisible: false,
303 plcVisible: false, 296 plcVisible: false,
304 plhVisible: false, 297 plhVisible: false,
...@@ -565,12 +558,7 @@ export default { ...@@ -565,12 +558,7 @@ export default {
565 getHbsm(data, type) { 558 getHbsm(data, type) {
566 if (type) { 559 if (type) {
567 // 双击 560 // 双击
568 this.hbsm = data; 561
569 this.$store.state.hbsm=this.data;
570 this.hbjVisible = true;
571 this.$nextTick(function() {
572 this.$refs.hbj.getHInfo(this.hbsm);
573 });
574 } else { 562 } else {
575 //单击 TO DO 563 //单击 TO DO
576 this.bsms = data; 564 this.bsms = data;
......
...@@ -302,7 +302,9 @@ ...@@ -302,7 +302,9 @@
302 <li v-show="rightClickFlag == 'hb'" :class="canHb!='sxhb'? 'cantHb':''" @click="handleHb('sxhb')">上下合并</li> 302 <li v-show="rightClickFlag == 'hb'" :class="canHb!='sxhb'? 'cantHb':''" @click="handleHb('sxhb')">上下合并</li>
303 <!-- 分割 --> 303 <!-- 分割 -->
304 <li v-show="rightClickFlag == 'fg'" @click="handleFg">户分割</li> 304 <li v-show="rightClickFlag == 'fg'" @click="handleFg">户分割</li>
305 <!-- <li v-show="rightClickFlag == 'fg'" :class="canHb!='sxhb'? 'cantHb':''" @click="handleHb('sxhb')">上下合并</li> --> 305 <!-- 范围属性变更 -->
306 <li v-show="rightClickFlag == 'fwsxbg'" @click="handleFwsxbg">变更信息</li>
307
306 308
307 </ul> 309 </ul>
308 <!-- 层操作弹框 --> 310 <!-- 层操作弹框 -->
...@@ -362,6 +364,10 @@ ...@@ -362,6 +364,10 @@
362 :type="scyclx" 364 :type="scyclx"
363 @loading="loadingData($store.state.zrzbsm,$parent.scyclx)" 365 @loading="loadingData($store.state.zrzbsm,$parent.scyclx)"
364 ></move-h> 366 ></move-h>
367 <!-- 双击户的弹出框 -->
368 <el-dialog v-dialogDrag :close-on-click-modal="false" title="户编辑" class="hbjDialog" :visible.sync="hbjVisible" width="80%" >
369 <hbj ref="hbj" :bsm="hbsm" :scyclx="scyclx"></hbj>
370 </el-dialog>
365 </div> 371 </div>
366 </template> 372 </template>
367 <script> 373 <script>
...@@ -369,22 +375,24 @@ import moveH from "@components/moveH/moveH"; ...@@ -369,22 +375,24 @@ import moveH from "@components/moveH/moveH";
369 import { getLpb, insertUpDownC, deleteCByBsm } from "@api/lpb"; 375 import { getLpb, insertUpDownC, deleteCByBsm } from "@api/lpb";
370 import { hhb,hfg } from "@api/h"; 376 import { hhb,hfg } from "@api/h";
371 import { Message } from 'element-ui'; 377 import { Message } from 'element-ui';
378 import { fwsxbgbl } from "@api/common";
379 import hbj from "../hbj/index";
372 export default { 380 export default {
373 name: "", 381 name: "",
374 components: { moveH }, 382 components: { moveH,hbj },
375 props: { 383 props: {
376 isHbfg:{
377 type:Boolean,
378 default:false
379 },
380 zrzbsm:{ 384 zrzbsm:{
381 type:String, 385 type:String,
382 default:'' 386 default:''
383 }, 387 },
388 lpbParent:{
389 type:String,
390 default:'isLpb'
391 },
384 isHb:{ 392 isHb:{
385 type:Boolean, 393 type:Boolean,
386 default:true 394 default:true
387 } 395 },
388 }, 396 },
389 data() { 397 data() {
390 return { 398 return {
...@@ -394,6 +402,7 @@ export default { ...@@ -394,6 +402,7 @@ export default {
394 cs: [], 402 cs: [],
395 zdys: [], 403 zdys: [],
396 }, 404 },
405 hbjVisible:false,
397 lpbContentWidth: "", 406 lpbContentWidth: "",
398 ljzWidth: 10000, 407 ljzWidth: 10000,
399 zdyWidth: 1000, 408 zdyWidth: 1000,
...@@ -402,6 +411,7 @@ export default { ...@@ -402,6 +411,7 @@ export default {
402 ljzcHeight: 0, //逻辑幢下层户的div高度 411 ljzcHeight: 0, //逻辑幢下层户的div高度
403 ljzzdyHeight: 0, //逻辑幢下幢单元的div高度 412 ljzzdyHeight: 0, //逻辑幢下幢单元的div高度
404 loading: true, 413 loading: true,
414 hbsm:'',
405 hbsmList: [], 415 hbsmList: [],
406 cbsmList: [], 416 cbsmList: [],
407 time: null, //区分单双击事件的定时器 417 time: null, //区分单双击事件的定时器
...@@ -614,11 +624,17 @@ export default { ...@@ -614,11 +624,17 @@ export default {
614 //户双击事件 624 //户双击事件
615 dbclick(bsm) { 625 dbclick(bsm) {
616 clearTimeout(this.time); 626 clearTimeout(this.time);
627 this.hbsm = bsm;
628 this.$store.state.hbsm=this.data;
629 this.hbjVisible = true;
630 this.$nextTick(function() {
631 this.$refs.hbj.getHInfo(this.hbsm);
632 });
617 // if (this.isHbfg) { 633 // if (this.isHbfg) {
618 634
619 // }else{ 635 // }else{
620 // this.hbsmList.push(bsm); // 将户bsm放进hbsmList 636 // this.hbsmList.push(bsm); // 将户bsm放进hbsmList
621 this.$parent.getHbsm(bsm, true); 637 // this.$parent.getHbsm(bsm, true);
622 // } 638 // }
623 }, 639 },
624 //删除多重数组中的某一项 640 //删除多重数组中的某一项
...@@ -646,49 +662,59 @@ export default { ...@@ -646,49 +662,59 @@ export default {
646 openMenu(e, item, type) { 662 openMenu(e, item, type) {
647 this.lpbChLeft = e.pageX; 663 this.lpbChLeft = e.pageX;
648 this.lpbChTop = e.pageY; 664 this.lpbChTop = e.pageY;
649 if (this.isHbfg) { 665 this.chData = item;
650 this.rightClickFlag = this.isHb ? 'hb':'fg'; 666 switch (this.lpbParent) {
651 if (this.fghbChoosedList.length>1) { 667 case 'isHbfg':
652 //合并 668 this.rightClickFlag = this.isHb ? 'hb':'fg';
653 this.lpbChVisible = true; 669 if (this.fghbChoosedList.length>1) {
654 //判断选中户可以执行的合并类型 670 //合并
655 let chIsSame = this.fghbChoosedList.every((item)=> { 671 this.lpbChVisible = true;
656 return item.ch == this.fghbChoosedList[0].ch; 672 //判断选中户可以执行的合并类型
657 }); 673 let chIsSame = this.fghbChoosedList.every((item)=> {
658 let hhIsSame = this.fghbChoosedList.every((item)=> { 674 return item.ch == this.fghbChoosedList[0].ch;
659 return item.hh == this.fghbChoosedList[0].hh; 675 });
660 }); 676 let hhIsSame = this.fghbChoosedList.every((item)=> {
661 this.$nextTick(()=>{ 677 return item.hh == this.fghbChoosedList[0].hh;
662 if(chIsSame){ 678 });
663 this.canHb = 'zyhb' 679 this.$nextTick(()=>{
664 }else if(hhIsSame){ 680 if(chIsSame){
665 this.canHb = 'sxhb' 681 this.canHb = 'zyhb'
682 }else if(hhIsSame){
683 this.canHb = 'sxhb'
684 }else{
685 this.canHb = ''
686 }
687 })
688 }else{
689 //分割
690 this.lpbChVisible = true;
691 this.fgData.oldbsm = item.bsm;
692 console.log(item,'item');
693 //判断户的实际sjcs为1,只能水平分割
694 this.fgData.fgfx = item.sjcs == 1 ? 0 : 1;
695 if(item.sjcs == 1){
696 //判断户的实际sjcs为1,只能水平分割
697 this.fgData.fgfx = 0;
698 this.fgData.fghs = '';
666 }else{ 699 }else{
667 this.canHb = '' 700 this.fgData.fgfx = 1;
701 //判断户的实际sjhs不为1,分割户数为sjhs的值
702 this.fgData.fghs = item.sjcs;
668 } 703 }
669 })
670 }else{
671 //分割
672 this.lpbChVisible = true;
673 this.fgData.oldbsm = item.bsm;
674 console.log(item,'item');
675 //判断户的实际sjcs为1,只能水平分割
676 this.fgData.fgfx = item.sjcs == 1 ? 0 : 1;
677 if(item.sjcs == 1){
678 //判断户的实际sjcs为1,只能水平分割
679 this.fgData.fgfx = 0;
680 this.fgData.fghs = '';
681 }else{
682 this.fgData.fgfx = 1;
683 //判断户的实际sjhs不为1,分割户数为sjhs的值
684 this.fgData.fghs = item.sjcs;
685 } 704 }
686 } 705 break;
687 }else{ 706 case 'isFwsxbg':
688 console.log(e, "e"); 707 console.log(item,'item');
689 this.chData = item; 708 this.rightClickFlag = 'fwsxbg';
690 this.rightClickFlag = type; 709 this.lpbChVisible = true;
691 this.lpbChVisible = true; 710 break;
711 case 'isLpb':
712 this.rightClickFlag = type;
713 this.lpbChVisible = true;
714 break;
715
716 default:
717 break;
692 } 718 }
693 }, 719 },
694 // 户单元状态点击事件 720 // 户单元状态点击事件
...@@ -851,6 +877,33 @@ export default { ...@@ -851,6 +877,33 @@ export default {
851 } 877 }
852 }) 878 })
853 .catch(() => {}); 879 .catch(() => {});
880 },
881 //范围属性变更
882 handleFwsxbg(){
883 let params = { bsm: this.chData.bsm, type: 'h'};
884 this.$confirm('是否确定范围属性变更?', '提示', {
885 confirmButtonText: '确定',
886 cancelButtonText: '取消',
887 type: 'warning'
888 }).then(() => {
889 fwsxbgbl(params)
890 .then((res) => {
891 if (res.code == 200) {
892 console.log('成功');
893 this.getLpb(this.zrzbsm,this.scyclx);
894 this.dbclick(this.chData.bsm);
895 } else {
896 this.$message({
897 message: res.message,
898 type: "warning",
899 });
900 }
901 }).catch((error) => {
902
903 });
904 }).catch(() => {
905
906 });
854 } 907 }
855 }, 908 },
856 computed: { 909 computed: {
......