|
|
@ -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; |
|
|
|