| 
						
						
						
					 | 
				
				 | 
				
					@ -1,11 +1,38 @@ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					<template> | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					  <div class="warning-box"> | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    <cpt-card> | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					      <div class="card-title"> | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					      <!-- <div class="card-title"> | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        <img class="title-icon" src="../../../../../assets/img/shuju/title-tip.png" /> | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        <div class="title-label"> | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					          组织架构 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        </div>  | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        </div> | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					      </div> --> | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					      <div class="title"> | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        <img src="../../../../../assets/img/shuju/title-tip.png" /> | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        <span>组织架构</span> | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        <div class="second-select cascader"> | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					          <el-cascader  class="customer_cascader" | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                        ref="myCascader" | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                        placeholder="请选择所属组织" | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                        :options="agencytree" | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                        v-model="agencyId" | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                        :show-all-levels="false" | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                        :props="{ expandTrigger: 'hover', emitPath: false, label: 'orgName', value: 'orgId', children: 'subOrgList' }" | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                        clearable/> | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        </div> | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        <!-- <div class="second-select "> | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					          <el-date-picker v-model="dateIdShow" | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                          type="date" | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                          :clearable="false" | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                          @change="handleChangeDate" | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                          :picker-options="pickerOptions" | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                          prefix-icon="el-icon-caret-bottom" | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                          placeholder="选择日期" | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                          value-format="yyyy-MM-dd"> | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					          </el-date-picker> | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        </div> --> | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					      </div> | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					      <div class="card-panel"> | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        <div class="card-left"> | 
				
			
			
		
	
	
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
				
				 | 
				
					@ -113,6 +140,7 @@ export default { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					      tableData: [ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        // [1,'商丘路社区第一网格','商丘路小区','2号楼','杨颖、王平、刘佳敏、丁辉、杨萍'], | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					      ], | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					      agencytree: [], | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					      agencyId: '', | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					      noInit: false, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					      visibleLoading: false, | 
				
			
			
		
	
	
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
				
				 | 
				
					@ -141,12 +169,13 @@ export default { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    // const { user } = this.$store.state | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    // this.agencyId = user.agencyId | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    // console.log('agencyId-------', this.agencyId) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    this.agencyId = '50140d770c578100328792121aa7b3c5' | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    // this.agencyId = '50140d770c578100328792121aa7b3c5' | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    this.axisStructId = '1518062548749725697' | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    await nextTick(100) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    this.getStructTree() | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    this.getCount() | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    this.getMapData() | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    await this.getAgencylist()//获取组织级别 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    await this.getStructTree() | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    await this.getCount() | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    await this.getMapData() | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					  }, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					  methods: { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    onClickNode (e) { | 
				
			
			
		
	
	
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
				
				 | 
				
					@ -321,16 +350,85 @@ export default { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    //     path: `/main-shuju/visual-basicinfo-people/${val.userId}`, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    //   }) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    // }, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    //获取组织数据 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    async getAgencylist () { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            const url = '/data/aggregator/org/agencytree' | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            let params = { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                agencyId: this.agencyId, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                client:'gov' | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            const { data, code, msg } = await requestPost(url,params) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            if (code === 0) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                let _data | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                if (data) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                    _data = this.removeByOrgType(data, 'agency') | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                    if (_data) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                        this.agencytree = this.removeEmptySubOrgList(_data) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                        this.agencyId = this.agencytree ? this.agencytree[0].orgId : '' | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                    } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            } else { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                this.$message.error(msg) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    }, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        removeByOrgType (orgArray, orgType) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            if (orgArray && orgArray.length > 0) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                for (let p = orgArray.length - 1; p >= 0; p--) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                    let orgInfo = orgArray[p] | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                    if (orgInfo) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                        if (orgInfo.orgType !== orgType) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                            orgArray.splice(p, 1) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                        } else { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                            this.removeByOrgType(orgInfo.subOrgList, orgType) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                        } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                    } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            return orgArray | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        }, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        removeEmptySubOrgList (orgArray) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            orgArray.forEach((orgInfo) => { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                if (orgInfo && orgInfo.subOrgList) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                    if (orgInfo.subOrgList.length === 0) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                        orgInfo.subOrgList = undefined | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                    } else { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                        this.removeEmptySubOrgList(orgInfo.subOrgList) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                    } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            }) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            return orgArray; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        }, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    async handleChangeAgency (value) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					      let selAgency = this.$refs["myCascader"].getCheckedNodes()[0].data | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					      // this.agencyName = this.$refs["myCascader"].getCheckedNodes()[0].label | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					      this.agencyName = selAgency.name | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					      this.agencyId = selAgency.agencyId | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					      this.level = selAgency.level === 'grid' ? 'grid' : 'agency' | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    }, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					  }, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					} | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					</script> | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					<style | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					  lang="scss" | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					  src="@/assets/scss/modules/visual/typeAnalyze.scss" | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					  scoped | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					></style> | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					<style | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					  lang="scss" | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					  src="@/assets/scss/modules/visual/personCategory.scss" | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					  scoped | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					></style> | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					<style | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					  lang="scss" | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					  src="@/assets/scss/modules/visual/warning.scss" | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					  scoped | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					></style> | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					<style lang="scss" scoped> | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					.second-select { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    margin: 0 10px 0 40px !important; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					} | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					.card-title { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					  display: flex; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					  align-items: center; | 
				
			
			
		
	
	
		
			
				
					| 
						
							
								
							
						
						
						
					 | 
				
				 | 
				
					
  |