范围属性变更业务逻辑修改
Showing
4 changed files
with
687 additions
and
179 deletions
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: { | ... | ... |
-
Please register or sign in to post a comment