281fa572 by 杨威

查询左侧目录树所有权类型节点下的宗地和自然幢信息

1 parent 094877b4
......@@ -47,6 +47,22 @@ export function getListByPbsm(pbsm) {
}
/**
* 跟据所有权类型及其所在行政区,地籍区,地籍子区查询宗地和自然幢信息
*/
export function getZdDetailList(data) {
return request({
url: 'system/xzq/getZdDetailList',
method: 'get',
params: {
xzqbsm:data.xzqbsm,
djqbsm:data.djqbsm,
djzqbsm:data.djzqbsm,
syqlx:data.syqlx
}
})
}
/**
* 通过名称获取字典
*/
export function getDdicByMC(mc) {
......
<template>
<div class="tree_item_box">
<div class="tree_item_box" :class="list.length>10 ? 'ofy_scroll':''" :style="{maxHeight:(list.length > 10 ? treeXzqHeight:'unset')+'px'}">
<div
class="column-start-start linkLine_default"
v-for="(item, s_index) in list"
......@@ -34,6 +34,14 @@
}"
></div>
<div
v-if="item.children==null"
class="reTree_icon reTree_expand_icon"
:style="{
height: (size || 14 * 1.2) + 'px',
width: (size || 14 * 1.2) + 'px',
}"
></div>
<div
class="layer_text nowrap"
@contextmenu.prevent="openMenu($event, item,list)"
:class="{
......@@ -53,6 +61,7 @@
</div>
</template>
<script>
import {getZdDetailList} from "../../api/common"
export default {
name: "line-item",
props: {
......@@ -62,6 +71,12 @@ export default {
return [];
},
},
formatData: {
type: Array,
default: () => {
return [];
},
},
size: {
type: Number,
default: 14,
......@@ -77,20 +92,43 @@ export default {
},
data() {
return {
time:null
time:null,
treeXzqHeight:0,
}
},
mounted(){
this.$nextTick(()=>{
this.treeXzqHeight = this.$parent.$el.clientHeight-(this.formatData.length-1)*26+60;
})
},
methods: {
itemClick(item) {
let self = this;
// 开启延时器,300ms的间隔区分单击和双击,解决双击时执行两次单击事件
clearTimeout(self.time);
self.time = setTimeout(() => {
item.expand = item.expand == undefined? true:!item.expand;
self.$emit("itemClick", item);
// self.$emit("itemClick", item);
if (!item.children) {
self.$emit("valClick", item);
let data = {
xzqbsm:item.xzq,
djqbsm:item.djq,
djzqbsm:item.djzq,
syqlx:item.dm
}
getZdDetailList(data).then((res) => {
if (res.result.length>0) {
res.result.forEach(i=>{
if(i.children.length>0){
i.expand = false;
}
})
self.$emit("ownerMethod", item,res.result);
}
})
.catch((error) => {
});
}
}, 300);
},
......@@ -190,6 +228,10 @@ export default {
width: 100%;
cursor: pointer;
}
.ofy_scroll{
overflow-y: scroll;
overflow-x: hidden;
}
.basic_layer {
width: 100%;
position: relative;
......@@ -222,7 +264,7 @@ export default {
position: relative;
// padding-bottom: 15px;
width: 100%;
padding-left: 40px;
padding-left: 25px;
}
.white_layer {
color: black!important;
......@@ -243,7 +285,7 @@ export default {
content: "";
position: absolute;
height: 1px;
width: 22px;
width: 16px;
left: 8px;
top: 8px;
opacity: .5;
......
......@@ -34,6 +34,7 @@
<lineItem
v-if="item.expand && item.children.length > 0"
v-on="$listeners"
@ownerMethod="ownerMethod(arguments)"
@changeTop="changeTop"
@changeZdData="changeZdData"
@changeLeft="changeLeft"
......@@ -45,6 +46,7 @@
:visible="visible"
:size="size"
:islpb="islpb"
:formatData="formatData"
></lineItem>
</div>
......@@ -212,8 +214,42 @@ export default {
},
itemClick(item) {
// item.expand = item.expand == undefined? true:!item.expand;
console.log(item,'item');
console.log(this.formatData,'this.formatData');
this.formatData.forEach(i=>{
if(i.bsm != item.bsm){
i.expand = false
}else{
// i.expand = !item.expand
}
})
item.expand = !item.expand;
this.$emit("itemClick", item);
// this.$emit("itemClick", item);
},
//给所有权类型添加子节点
ownerMethod(arr){
let item = arr[0];
let list = arr[1]
this.formatData.forEach(i=>{
if (i.bsm == item.xzq){
i.children.forEach(j=>{
if (j.bsm == item.djq) {
j.children.forEach(k=>{
if(k.bsm == item.djzq){
k.children.forEach(n=>{
if(n.dm == item.dm){
this.$nextTick(()=>{
n.children = list;
})
}
})
}
})
}
})
}
})
console.log(this.formatData,'formatData');
},
//自然幢右键点击事件
openMenu(e,item){
......@@ -273,6 +309,7 @@ export default {
flex-direction: column;
justify-content: flex-start;
align-items: center;
}
.row-flex-start {
display: flex;
......