Browse Source

可视化平台调整

shibei_master
jiangyy 3 years ago
parent
commit
af4cb4e193
  1. 18
      src/assets/scss/modules/visual/basicInfoMain.scss
  2. 11
      src/views/modules/base/community/buildTable.vue
  3. 18
      src/views/modules/base/community/community.vue
  4. 17
      src/views/modules/base/community/communityTable.vue
  5. 2
      src/views/modules/base/community/roomTable.vue
  6. 114
      src/views/modules/visual/basicinfo/basicInfoCommunity.vue
  7. 15
      src/views/modules/visual/basicinfo/basicInfoMain.vue

18
src/assets/scss/modules/visual/basicInfoMain.scss

@ -301,13 +301,23 @@
position: absolute;
bottom: 14px;
left: 9px;
display: flex;
justify-content: flex-start;
// margin-left: 7px;
> img {
margin-left: 5px;
width: 21px;
height: 20px;
.div_icon_item{
.icon_img{
margin-left: 5px;
width: 21px;
height: 20px;
}
.icon_name{
text-align: center;
margin:5px;
font-size: 16px;
}
}
}
.div_user:hover {
cursor: pointer;

11
src/views/modules/base/community/buildTable.vue

@ -71,6 +71,12 @@
<el-table-column prop="buildingName"
label="楼栋名称"
min-width="180">
<template slot-scope="scope">
<a class="name-a"
@click="handleToNextLevel(scope.row)">
{{ scope.row.buildingName }}
</a>
</template>
</el-table-column>
<el-table-column prop="neighborHoodName"
label="所属小区"
@ -97,10 +103,7 @@
align="center"
class="operate">
<template slot-scope="scope">
<!-- <el-button type="text"
style="color:#feb349;text-decoration: underline;"
size="small"
@click="handleToNextLevel(scope.row)">进入</el-button> -->
<el-button type="text"
class="div-table-button--detail"
size="small"

18
src/views/modules/base/community/community.vue

@ -19,6 +19,11 @@
:expand-on-click-node="false"
:filter-node-method="filterNode"
@node-click="handleNodeClick">
<span slot-scope="{ node, data }"
class="custom-tree-node">
<span :id="data.id">{{ data.showName }}</span>
</span>
</el-tree>
</el-scrollbar>
@ -194,6 +199,7 @@ export default {
handleSearch () {
if (this.ownerName || this.ownerPhone || this.rentState) {
this.showRoomTable = true
this.$nextTick(() => {
this.$refs['ref_buildingTable'].loadTable('search', this.selTreeObj, this.ownerName, this.ownerPhone, this.rentState)
})
@ -315,16 +321,28 @@ export default {
if (level === 'community') {
this.selTreeObj = this.$refs.ref_tree.getNode(row.neighborHoodId).data
this.openNodes.push(this.selTreeObj.id)
} else {
this.selTreeObj = this.$refs.ref_tree.getNode(row.buildingId).data
}
this.handleNodeClick(this.selTreeObj)
this.$nextTick(() => {
// ref_tree ref value node-key
this.$refs.ref_tree.setCurrentKey(this.selTreeObj.id);
});
const node = document.getElementById(this.selTreeObj.id) // Iddom
setTimeout(() => {
if (node) {
this.$nextTick(() => {
node.scrollIntoView({ block: 'center' }) // scrollIntoViewdom block: 'center'
})
}
}, 100)
},
//

17
src/views/modules/base/community/communityTable.vue

@ -96,11 +96,12 @@
<el-table-column prop="neighborHoodName"
label="小区名称"
min-width="100">
<!-- <template slot-scope="scope">
<a class="name-a" @click="handleDetail(scope.row)">
<template slot-scope="scope">
<a class="name-a"
@click="handleToNextLevel(scope.row)">
{{ scope.row.neighborHoodName }}
</a>
</template> -->
</template>
</el-table-column>
<el-table-column prop="agencyName"
label="所属组织"
@ -131,14 +132,6 @@
class="operate">
<template slot-scope="scope">
<!-- <el-button type="text"
style="color:#feb349;text-decoration: underline;"
size="small"
@click="handleToNextLevel(scope.row)">进入</el-button> -->
<!-- <el-button type="text"
class="div-table-button--qr"
size="small"
@click="handleDownQr(scope.row, 'neighborHood')">二维码</el-button> -->
<el-button type="text"
class="div-table-button--detail"
size="small"
@ -236,10 +229,8 @@ export default {
},
computed: {
tableHeight () {
return this.$store.state.inIframe ? this.clientHeight - 310 + this.iframeHeight : this.clientHeight - 310
},
...mapGetters(['clientHeight', 'iframeHeight'])

2
src/views/modules/base/community/roomTable.vue

@ -244,7 +244,7 @@ export default {
this.ownerPhone = null
this.rentFlag = null
} else if (source === 'search') {//
this.agencyObj = treeObj
this.ownerName = ownerName
this.ownerPhone = ownerPhone
this.rentFlag = rentFlag

114
src/views/modules/visual/basicinfo/basicInfoCommunity.vue

@ -1,7 +1,7 @@
<template>
<div class="div_community_info"
@click="handleShowAllUser()">
@click="handleCloseAllUser()">
<div class="div_select">
<img src="../../../../assets/img/shuju/title-tip.png"
@ -10,7 +10,8 @@
<div class="second-select">
<el-select v-model="selBuildingId"
:popper-append-to-body="false"
placeholder="请选择">
placeholder="请选择"
@click="handleCloseAllUser()">
<el-option v-for="(item,index) in buildingArray"
:key="item.buildingId"
:label="item.buildingName"
@ -21,8 +22,10 @@
</div>
</div>
<div class="div_room_bar">
<el-scrollbar style="height:100%">
<el-scrollbar v-if="roomArray.length>0"
style="height:100%">
<div class="info_loading"
v-if="roomLoaded">
<screen-loading>加载中</screen-loading>
@ -41,17 +44,35 @@
alt />
</div>
<div class="icon_category">
<img v-for="(iconItem,iconIndex) in item.iconArrayShow"
<div class="div_icon_item"
v-for="(iconItem,iconIndex) in item.iconArrayShow"
:key="iconIndex">
<el-popover trigger="click"
popper-class="icon_popover"
width="10"
placement="bottom">
<div class="icon_name">{{iconItem.name}} </div>
<div slot="reference">
<img class="icon_img"
:src="iconItem.iconUrl"
alt />
</div>
</el-popover>
</div>
<!-- <img v-for="(iconItem,iconIndex) in item.iconArrayShow"
:key="iconIndex"
:src="iconItem.iconUrl"
alt />
alt /> -->
</div>
<!-- <el-popover v-model="item.showAllUser"
<el-popover v-model="item.showAllUser"
placement="bottom"
width="50"
popper-class="my_popover"
trigger="click">
trigger="manual">
<div class="user_list">
<div v-for="(userItem,userIndex) in userArray"
:key="userIndex"
@ -76,10 +97,10 @@
<img src="../../../../assets/img/xiala.png"
alt />
</div>
</el-popover> -->
<div @click.stop="handleShowAllUser(index)"
</el-popover>
<!-- <div @click.stop="handleShowAllUser(index)"
class="div_user">
<span>全部成员</span>
@ -103,12 +124,18 @@
</div>
</div>
</div>
</div> -->
</div>
</div>
</el-scrollbar>
<div v-else
class="no-data">
<img src="@/assets/img/modules/visual/noData.png"
class="no-data-img" />
</div>
</div>
</div>
@ -119,6 +146,7 @@ import { mapGetters } from "vuex";
import { Loading } from 'element-ui'; //Loading
import { requestPost } from "@/js/dai/request";
import ScreenLoading from "@/views/modules/visual/cpts/loading";
import nextTick from "dai-js/tools/nextTick";
let loading;//
@ -157,6 +185,7 @@ export default {
},
methods: {
//id
async initData (neighborHoodId, neighborHoodName) {
@ -194,28 +223,40 @@ export default {
},
//
async handleShowAllUser (selIndex) {
// this.startLoading()
this.userArray = []
this.roomArray.forEach((element, index) => {
let obj = JSON.parse(JSON.stringify(element))
obj.showAllUser = false
this.$set(this.roomArray, index, obj)
// element.showAllUser = false
});
await nextTick(100);
if ((selIndex === 0 || selIndex) && !this.roomArray[selIndex].showAllUser) {
await this.loadUser(this.roomArray[selIndex].houseId, selIndex)
}
},
//
async handleCloseAllUser () {
this.userArray = []
this.roomArray.forEach((element, index) => {
let obj = JSON.parse(JSON.stringify(element))
if (index === selIndex) {
obj.showAllUser = !obj.showAllUser
this.$set(this.roomArray, selIndex, obj)
let obj = JSON.parse(JSON.stringify(element))
obj.showAllUser = false
this.$set(this.roomArray, index, obj)
} else {
obj.showAllUser = false
this.$set(this.roomArray, index, obj)
// element.showAllUser = false
}
});
// this.endLoading()
},
@ -228,6 +269,13 @@ export default {
},
onEnterTd () {
console.log('进入')
},
onLeaveTd () {
console.log('出来')
},
//
async loadBuilding () {
const url = "/gov/org/agency/baseinfofamilybuilding"
@ -320,7 +368,7 @@ export default {
},
//
async loadUser (houseId, index) {
async loadUser (houseId, selIndex) {
const url = "/epmetuser/icresiuser/getpeoplebyroom"
// const url = "http://yapi.elinkservice.cn/mock/245/epmetuser/icresiuser/getpeoplebyroom"
let params = {
@ -333,6 +381,11 @@ export default {
this.userArray = data
if (this.userArray.length === 0) {
this.$message.warning('该房间下没有住户')
} else {
let objItem = JSON.parse(JSON.stringify(this.roomArray[selIndex]))
objItem.showAllUser = true
this.$set(this.roomArray, selIndex, objItem)
}
} else {
@ -433,7 +486,7 @@ export default {
.second-select {
margin: 0 10px 10px;
::v-deep .el-input {
width: 180px;
width: 380px;
height: 36px;
.el-input__inner {
height: 100%;
@ -442,6 +495,7 @@ export default {
line-height: 36px;
background: #06186d;
border: 1px solid #1a64cc;
width: 380px;
}
.el-icon-arrow-up:before {
@ -491,6 +545,12 @@ export default {
/deep/ .el-scrollbar__wrap {
overflow-x: hidden !important;
}
.no-data {
padding-top: 120px;
display: flex;
justify-content: center;
}
}
</style>
<style lang="scss" >
@ -499,4 +559,10 @@ export default {
margin-top: 10px;
border: 0;
}
.el-popover.icon_popover {
min-width: 80px !important;
margin-top: 5px !important;
padding: 6px !important;
background-color: rgb(247, 250, 253);
}
</style>

15
src/views/modules/visual/basicinfo/basicInfoMain.vue

@ -107,7 +107,8 @@
<div class="list_item">
<div v-for="(colItem,colIndex) in item"
:key="colIndex"
class="list_item_col" @click="handleTo(colItem)">
class="list_item_col"
@click="handleTo(colItem)">
<img :src="colItem.dataIcon"
alt />
<div class="item_content">
@ -310,7 +311,7 @@ const vueGis = {
},
methods: {
handleTo(item) {
handleTo (item) {
this.$router.push({
path: `/main-shuju/visual-basicinfo-people-list`,
query: {
@ -526,8 +527,18 @@ const vueGis = {
//
handleClickAgency (index) {
//
if (this.orgLevel === 'neighborHood') {
this.$nextTick(() => {
// id
this.$refs.ref_community.handleCloseAllUser();
});
}
const cutNum = this.runAgencyArray.length - index//
this.runNum = this.runNum - cutNum
this.orgData = this.runAgencyArray[index]
for (let i = 0; i < cutNum; i++) {

Loading…
Cancel
Save