281fa572 by 杨威

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

1 parent 094877b4
...@@ -47,6 +47,22 @@ export function getListByPbsm(pbsm) { ...@@ -47,6 +47,22 @@ export function getListByPbsm(pbsm) {
47 } 47 }
48 48
49 /** 49 /**
50 * 跟据所有权类型及其所在行政区,地籍区,地籍子区查询宗地和自然幢信息
51 */
52 export function getZdDetailList(data) {
53 return request({
54 url: 'system/xzq/getZdDetailList',
55 method: 'get',
56 params: {
57 xzqbsm:data.xzqbsm,
58 djqbsm:data.djqbsm,
59 djzqbsm:data.djzqbsm,
60 syqlx:data.syqlx
61 }
62 })
63 }
64
65 /**
50 * 通过名称获取字典 66 * 通过名称获取字典
51 */ 67 */
52 export function getDdicByMC(mc) { 68 export function getDdicByMC(mc) {
......
1 <template> 1 <template>
2 <div class="tree_item_box"> 2 <div class="tree_item_box" :class="list.length>10 ? 'ofy_scroll':''" :style="{maxHeight:(list.length > 10 ? treeXzqHeight:'unset')+'px'}">
3 <div 3 <div
4 class="column-start-start linkLine_default" 4 class="column-start-start linkLine_default"
5 v-for="(item, s_index) in list" 5 v-for="(item, s_index) in list"
...@@ -34,6 +34,14 @@ ...@@ -34,6 +34,14 @@
34 }" 34 }"
35 ></div> 35 ></div>
36 <div 36 <div
37 v-if="item.children==null"
38 class="reTree_icon reTree_expand_icon"
39 :style="{
40 height: (size || 14 * 1.2) + 'px',
41 width: (size || 14 * 1.2) + 'px',
42 }"
43 ></div>
44 <div
37 class="layer_text nowrap" 45 class="layer_text nowrap"
38 @contextmenu.prevent="openMenu($event, item,list)" 46 @contextmenu.prevent="openMenu($event, item,list)"
39 :class="{ 47 :class="{
...@@ -53,6 +61,7 @@ ...@@ -53,6 +61,7 @@
53 </div> 61 </div>
54 </template> 62 </template>
55 <script> 63 <script>
64 import {getZdDetailList} from "../../api/common"
56 export default { 65 export default {
57 name: "line-item", 66 name: "line-item",
58 props: { 67 props: {
...@@ -62,6 +71,12 @@ export default { ...@@ -62,6 +71,12 @@ export default {
62 return []; 71 return [];
63 }, 72 },
64 }, 73 },
74 formatData: {
75 type: Array,
76 default: () => {
77 return [];
78 },
79 },
65 size: { 80 size: {
66 type: Number, 81 type: Number,
67 default: 14, 82 default: 14,
...@@ -77,20 +92,43 @@ export default { ...@@ -77,20 +92,43 @@ export default {
77 }, 92 },
78 data() { 93 data() {
79 return { 94 return {
80 time:null 95 time:null,
96 treeXzqHeight:0,
81 } 97 }
82 }, 98 },
99 mounted(){
100 this.$nextTick(()=>{
101 this.treeXzqHeight = this.$parent.$el.clientHeight-(this.formatData.length-1)*26+60;
102 })
103 },
83 methods: { 104 methods: {
84 itemClick(item) { 105 itemClick(item) {
85 let self = this; 106 let self = this;
86 // 开启延时器,300ms的间隔区分单击和双击,解决双击时执行两次单击事件 107 // 开启延时器,300ms的间隔区分单击和双击,解决双击时执行两次单击事件
87 clearTimeout(self.time); 108 clearTimeout(self.time);
88 self.time = setTimeout(() => { 109 self.time = setTimeout(() => {
89
90 item.expand = item.expand == undefined? true:!item.expand; 110 item.expand = item.expand == undefined? true:!item.expand;
91 self.$emit("itemClick", item); 111 // self.$emit("itemClick", item);
92 if (!item.children) { 112 if (!item.children) {
93 self.$emit("valClick", item); 113 let data = {
114 xzqbsm:item.xzq,
115 djqbsm:item.djq,
116 djzqbsm:item.djzq,
117 syqlx:item.dm
118 }
119 getZdDetailList(data).then((res) => {
120 if (res.result.length>0) {
121 res.result.forEach(i=>{
122 if(i.children.length>0){
123 i.expand = false;
124 }
125 })
126 self.$emit("ownerMethod", item,res.result);
127 }
128 })
129 .catch((error) => {
130
131 });
94 } 132 }
95 }, 300); 133 }, 300);
96 }, 134 },
...@@ -190,6 +228,10 @@ export default { ...@@ -190,6 +228,10 @@ export default {
190 width: 100%; 228 width: 100%;
191 cursor: pointer; 229 cursor: pointer;
192 } 230 }
231 .ofy_scroll{
232 overflow-y: scroll;
233 overflow-x: hidden;
234 }
193 .basic_layer { 235 .basic_layer {
194 width: 100%; 236 width: 100%;
195 position: relative; 237 position: relative;
...@@ -222,7 +264,7 @@ export default { ...@@ -222,7 +264,7 @@ export default {
222 position: relative; 264 position: relative;
223 // padding-bottom: 15px; 265 // padding-bottom: 15px;
224 width: 100%; 266 width: 100%;
225 padding-left: 40px; 267 padding-left: 25px;
226 } 268 }
227 .white_layer { 269 .white_layer {
228 color: black!important; 270 color: black!important;
...@@ -243,7 +285,7 @@ export default { ...@@ -243,7 +285,7 @@ export default {
243 content: ""; 285 content: "";
244 position: absolute; 286 position: absolute;
245 height: 1px; 287 height: 1px;
246 width: 22px; 288 width: 16px;
247 left: 8px; 289 left: 8px;
248 top: 8px; 290 top: 8px;
249 opacity: .5; 291 opacity: .5;
......
...@@ -34,6 +34,7 @@ ...@@ -34,6 +34,7 @@
34 <lineItem 34 <lineItem
35 v-if="item.expand && item.children.length > 0" 35 v-if="item.expand && item.children.length > 0"
36 v-on="$listeners" 36 v-on="$listeners"
37 @ownerMethod="ownerMethod(arguments)"
37 @changeTop="changeTop" 38 @changeTop="changeTop"
38 @changeZdData="changeZdData" 39 @changeZdData="changeZdData"
39 @changeLeft="changeLeft" 40 @changeLeft="changeLeft"
...@@ -45,6 +46,7 @@ ...@@ -45,6 +46,7 @@
45 :visible="visible" 46 :visible="visible"
46 :size="size" 47 :size="size"
47 :islpb="islpb" 48 :islpb="islpb"
49 :formatData="formatData"
48 ></lineItem> 50 ></lineItem>
49 </div> 51 </div>
50 52
...@@ -212,8 +214,42 @@ export default { ...@@ -212,8 +214,42 @@ export default {
212 }, 214 },
213 itemClick(item) { 215 itemClick(item) {
214 // item.expand = item.expand == undefined? true:!item.expand; 216 // item.expand = item.expand == undefined? true:!item.expand;
217 console.log(item,'item');
218 console.log(this.formatData,'this.formatData');
219 this.formatData.forEach(i=>{
220 if(i.bsm != item.bsm){
221 i.expand = false
222 }else{
223 // i.expand = !item.expand
224 }
225 })
215 item.expand = !item.expand; 226 item.expand = !item.expand;
216 this.$emit("itemClick", item); 227 // this.$emit("itemClick", item);
228 },
229 //给所有权类型添加子节点
230 ownerMethod(arr){
231 let item = arr[0];
232 let list = arr[1]
233 this.formatData.forEach(i=>{
234 if (i.bsm == item.xzq){
235 i.children.forEach(j=>{
236 if (j.bsm == item.djq) {
237 j.children.forEach(k=>{
238 if(k.bsm == item.djzq){
239 k.children.forEach(n=>{
240 if(n.dm == item.dm){
241 this.$nextTick(()=>{
242 n.children = list;
243 })
244 }
245 })
246 }
247 })
248 }
249 })
250 }
251 })
252 console.log(this.formatData,'formatData');
217 }, 253 },
218 //自然幢右键点击事件 254 //自然幢右键点击事件
219 openMenu(e,item){ 255 openMenu(e,item){
...@@ -273,6 +309,7 @@ export default { ...@@ -273,6 +309,7 @@ export default {
273 flex-direction: column; 309 flex-direction: column;
274 justify-content: flex-start; 310 justify-content: flex-start;
275 align-items: center; 311 align-items: center;
312
276 } 313 }
277 .row-flex-start { 314 .row-flex-start {
278 display: flex; 315 display: flex;
......