BUG 30095

This commit is contained in:
aixianling
2022-06-08 10:19:42 +08:00
parent c9dc8940ed
commit fa7c5428c5
2 changed files with 125 additions and 121 deletions

View File

@@ -35,7 +35,7 @@
<h2>房屋信息</h2> <h2>房屋信息</h2>
<div class="community-info__item"> <div class="community-info__item">
<label>所属社区</label> <label>所属社区</label>
<span>{{ info.areaName}}</span> <span>{{ info.areaName }}</span>
</div> </div>
<div class="community-info__item"> <div class="community-info__item">
<label>所属小区</label> <label>所属小区</label>
@@ -43,7 +43,7 @@
</div> </div>
<div class="community-info__item"> <div class="community-info__item">
<label>房屋类型</label> <label>房屋类型</label>
<span>{{ dict.getLabel("communityBuildingType",info.buildingType) }}</span> <span>{{ dict.getLabel("communityBuildingType", info.buildingType) }}</span>
</div> </div>
<div class="community-info__item"> <div class="community-info__item">
<label>楼长姓名</label> <label>楼长姓名</label>
@@ -51,7 +51,7 @@
</div> </div>
<div class="community-info__item"> <div class="community-info__item">
<label>楼长电话</label> <label>楼长电话</label>
<span>{{ info.managerPhone}}</span> <span>{{ info.managerPhone }}</span>
</div> </div>
</div> </div>
@@ -59,7 +59,7 @@
<h2>人员信息</h2> <h2>人员信息</h2>
<div class="community-info__item"> <div class="community-info__item">
<label>姓名</label> <label>姓名</label>
<span style="color:#2266FF;">{{ resident.name}}</span> <span style="color:#2266FF;">{{ resident.name }}</span>
</div> </div>
<div class="community-info__item"> <div class="community-info__item">
<label>所属单元</label> <label>所属单元</label>
@@ -67,7 +67,7 @@
</div> </div>
<div class="community-info__item"> <div class="community-info__item">
<label>房号</label> <label>房号</label>
<span>{{house.houseCode}}</span> <span>{{ house.houseCode }}</span>
</div> </div>
<div class="community-info__item"> <div class="community-info__item">
<label>联系方式</label> <label>联系方式</label>
@@ -86,7 +86,8 @@
<!-- </div>--> <!-- </div>-->
<div class="community-btn"> <div class="community-btn">
<el-button icon="iconfont iconloudongmoxing" size="small" <el-button icon="iconfont iconloudongmoxing" size="small"
@click="$router.push({query: {communityId: info.communityId, buildingId: info.id,unitNum:house ? house.unitNumber : 1,buildingNumber:info.buildingNumber}})">楼栋模型 @click="$router.push({query: {communityId: info.communityId, buildingId: info.id,unitNum:house ? house.unitNumber : 1,buildingNumber:info.buildingNumber}})">
楼栋模型
</el-button> </el-button>
</div> </div>
</div> </div>
@@ -153,19 +154,19 @@ export default {
list: [], list: [],
areaList: [], areaList: [],
info: {}, info: {},
resident:null, resident: null,
satellite: null, satellite: null,
zoom: 11, zoom: 11,
chooseBuildId: '', chooseBuildId: '',
buildList: [], buildList: [],
searchList: [], searchList: [],
house:null, house: null,
center: [] center: [],
mapLib: null
} }
}, },
computed: { computed: {
...mapState(['user']), ...mapState(['user']),
hasCommunityId() { hasCommunityId() {
return !!this.$route.query?.communityId return !!this.$route.query?.communityId
} }
@@ -186,7 +187,7 @@ export default {
}, },
created() { created() {
this.dict.load('householdRelation','communityBuildingType') this.dict.load('householdRelation', 'communityBuildingType')
}, },
mounted() { mounted() {
@@ -198,9 +199,9 @@ export default {
}, },
methods: { methods: {
getCorpLocation(){ getCorpLocation() {
this.instance.post("/app/appdvcpconfig/getCorpLocation").then(res=>{ this.instance.post("/app/appdvcpconfig/getCorpLocation").then(res => {
if(res.code==0){ if (res.code == 0) {
this.initMap(res.data); this.initMap(res.data);
} }
}) })
@@ -239,9 +240,9 @@ export default {
}, },
getBuildInfo(id) { getBuildInfo(id) {
this.instance.post(`/app/appcommunityhouseinfo/queryDetailByIdWithBuilding`,null,{ this.instance.post(`/app/appcommunityhouseinfo/queryDetailByIdWithBuilding`, null, {
params:{ params: {
buildId:id buildId: id
} }
}).then(res => { }).then(res => {
if (res.code === 0) { if (res.code === 0) {
@@ -255,11 +256,11 @@ export default {
}, },
chooseCommunity(item) { chooseCommunity(item) {
this.instance.post(`/app/appcommunityhouseinfo/queryDetailByIdWithBuilding`,null,{ this.instance.post(`/app/appcommunityhouseinfo/queryDetailByIdWithBuilding`, null, {
params:{ params: {
buildId:item.buildingId, buildId: item.buildingId,
houseId:item.id, houseId: item.id,
residentId:item.residentId residentId: item.residentId
} }
}).then(res => { }).then(res => {
if (res.code === 0) { if (res.code === 0) {
@@ -293,7 +294,7 @@ export default {
<div class="polymeric-container"> <div class="polymeric-container">
<p>${context.count}</p> <p>${context.count}</p>
</div> </div>
</div>` </div>`, {mapLib: AMap} = this
let offset = new AMap.Pixel(-9, -9) let offset = new AMap.Pixel(-9, -9)
context.marker.setContent(el) context.marker.setContent(el)
@@ -308,12 +309,12 @@ export default {
renderMarker(context) { renderMarker(context) {
const buildId = context.data[0].id const buildId = context.data[0].id
let el = `<div class="mark" id="buildId-${buildId}" style="${buildId === this.chooseBuildId?'background-color:#2266FF':''}"> let el = `<div class="mark" id="buildId-${buildId}" style="${buildId === this.chooseBuildId ? 'background-color:#2266FF' : ''}">
<div class="mark-contaienr"> <div class="mark-contaienr">
<span>${context.data[0].communityName}</span>&nbsp;&nbsp; <span>${context.data[0].communityName}</span>&nbsp;&nbsp;
<span>${context.data[0].buildingNumber}栋</span> <span>${context.data[0].buildingNumber}栋</span>
</div> </div>
<div class="arrow" style="${buildId === this.chooseBuildId?'border-top-color: #2266FF':''}"></div> <div class="arrow" style="${buildId === this.chooseBuildId ? 'border-top-color: #2266FF' : ''}"></div>
</div>` </div>`
context.marker.setContent(el); context.marker.setContent(el);
@@ -336,6 +337,7 @@ export default {
}, },
addMakert(points) { addMakert(points) {
let {mapLib: AMap} = this
new AMap.MarkerClusterer(this.map, points, { new AMap.MarkerClusterer(this.map, points, {
gridSize: 60, gridSize: 60,
maxZoom: 15, maxZoom: 15,
@@ -352,29 +354,26 @@ export default {
size: 1000000 size: 1000000
} }
}).then(res => { }).then(res => {
if (res.code === 0) { if (res?.data) {
this.buildList = res.data.records this.buildList = res.data.records
const points = res.data.records.map(item => { const points = res.data.records.map(item => {
return { return {
lnglat: [item.lng, item.lat], lnglat: [item.lng, item.lat],
id: item.id, id: item.id,
corpId: item.corpId, corpId: item.corpId,
areaName:item.areaName, areaName: item.areaName,
buildingNumber:item.buildingNumber, buildingNumber: item.buildingNumber,
communityName:item.communityName communityName: item.communityName
} }
}) })
this.addMakert(points) this.addMakert(points)
} }
}) })
}, },
hidePopup() { hidePopup() {
this.isShowArea = false this.isShowArea = false
this.isShowSearch = false this.isShowSearch = false
}, },
switchLayer(flag) { switchLayer(flag) {
if (flag) { if (flag) {
this.map.addLayer(this.satellite) this.map.addLayer(this.satellite)
@@ -384,9 +383,8 @@ export default {
this.isImageMap = flag this.isImageMap = flag
}, },
initMap({lng, lat}) {
initMap({lng,lat}) { this.center = [lng, lat];
this.center = [lng,lat];
AMapLoader.load({ AMapLoader.load({
key: 'b553334ba34f7ac3cd09df9bc8b539dc', key: 'b553334ba34f7ac3cd09df9bc8b539dc',
version: '2.0', version: '2.0',
@@ -396,6 +394,7 @@ export default {
plugins: [] plugins: []
} }
}).then((AMap) => { }).then((AMap) => {
this.mapLib = AMap
this.map = new AMap.Map('map', { this.map = new AMap.Map('map', {
resizeEnable: true, resizeEnable: true,
zooms: [6, 20], zooms: [6, 20],
@@ -422,7 +421,7 @@ export default {
width: 100%; width: 100%;
} }
::v-deep .ai-list__content--right-wrapper{ ::v-deep .ai-list__content--right-wrapper {
height: 100%; height: 100%;
margin: 0px !important; margin: 0px !important;
background-color: transparent !important; background-color: transparent !important;
@@ -804,7 +803,7 @@ export default {
white-space: nowrap; white-space: nowrap;
} }
p:first-child{ p:first-child {
font-size: 14px; font-size: 14px;
} }
@@ -816,7 +815,7 @@ export default {
} }
} }
::v-deep .mark{ ::v-deep .mark {
user-select: none; user-select: none;
cursor: pointer; cursor: pointer;
height: 32px; height: 32px;
@@ -829,7 +828,7 @@ export default {
box-sizing: border-box; box-sizing: border-box;
padding: 0 12px; padding: 0 12px;
.mark-contaienr{ .mark-contaienr {
color: white; color: white;
font-size: 14px; font-size: 14px;
position: relative; position: relative;
@@ -841,7 +840,7 @@ export default {
justify-content: center; justify-content: center;
} }
.arrow{ .arrow {
position: absolute; position: absolute;
left: 50%; left: 50%;
transform: translateX(-50%); transform: translateX(-50%);

View File

@@ -42,23 +42,23 @@
<h2>户主信息</h2> <h2>户主信息</h2>
<div class="community-info__item"> <div class="community-info__item">
<label>所属村</label> <label>所属村</label>
<span>{{info.areaName}}</span> <span>{{ info.areaName }}</span>
</div> </div>
<div class="community-info__item"> <div class="community-info__item">
<label>姓名</label> <label>姓名</label>
<span style="color:#2266FF;">{{info.name}}</span> <span style="color:#2266FF;">{{ info.name }}</span>
</div> </div>
<div class="community-info__item"> <div class="community-info__item">
<label>联系电话</label> <label>联系电话</label>
<span style="color:#2266FF;">{{info.phone}}</span> <span style="color:#2266FF;">{{ info.phone }}</span>
</div> </div>
<div class="community-info__item"> <div class="community-info__item">
<label>性别</label> <label>性别</label>
<span>{{info.sex == 1 ? '男' : '女'}}</span> <span>{{ info.sex == 1 ? '男' : '女' }}</span>
</div> </div>
<div class="community-info__item"> <div class="community-info__item">
<label>年龄</label> <label>年龄</label>
<span>{{info.age}}</span> <span>{{ info.age }}</span>
</div> </div>
<div class="community-info__item bg-fff"></div> <div class="community-info__item bg-fff"></div>
</div> </div>
@@ -66,22 +66,22 @@
<h2>宅基地信息</h2> <h2>宅基地信息</h2>
<div class="community-info__item"> <div class="community-info__item">
<label>住宅建筑面积</label> <label>住宅建筑面积</label>
<span>{{info.liveBuildingArea}}</span> <span>{{ info.liveBuildingArea }}</span>
</div> </div>
<div class="community-info__item"> <div class="community-info__item">
<label>建筑层数</label> <label>建筑层数</label>
<span>{{info.buildingFloorNumber}}</span> <span>{{ info.buildingFloorNumber }}</span>
</div> </div>
<div class="community-info__item"> <div class="community-info__item">
<label>建筑高度</label> <label>建筑高度</label>
<span>{{info.buildingHeight}}m</span> <span>{{ info.buildingHeight }}m</span>
</div> </div>
</div> </div>
<div class="community-info__wrapper" v-if="!info.name"> <div class="community-info__wrapper" v-if="!info.name">
<h2>房屋信息</h2> <h2>房屋信息</h2>
<div class="community-info__item"> <div class="community-info__item">
<label>所属社区</label> <label>所属社区</label>
<span>{{ info.areaName}}</span> <span>{{ info.areaName }}</span>
</div> </div>
<div class="community-info__item"> <div class="community-info__item">
<label>所属小区</label> <label>所属小区</label>
@@ -89,7 +89,7 @@
</div> </div>
<div class="community-info__item"> <div class="community-info__item">
<label>房屋类型</label> <label>房屋类型</label>
<span>{{ dict.getLabel("communityBuildingType",info.buildingType) }}</span> <span>{{ dict.getLabel("communityBuildingType", info.buildingType) }}</span>
</div> </div>
<div class="community-info__item"> <div class="community-info__item">
<label>楼长姓名</label> <label>楼长姓名</label>
@@ -97,12 +97,13 @@
</div> </div>
<div class="community-info__item"> <div class="community-info__item">
<label>楼长电话</label> <label>楼长电话</label>
<span>{{ info.managerPhone}}</span> <span>{{ info.managerPhone }}</span>
</div> </div>
</div> </div>
<div class="community-btn" v-if="!info.name"> <div class="community-btn" v-if="!info.name">
<el-button icon="iconfont iconloudongmoxing" size="small" <el-button icon="iconfont iconloudongmoxing" size="small"
@click="showStatistics=true; $router.push({query: {communityId: info.communityId, buildingId: info.id,unitNum:house ? house.unitNumber : 1,buildingNumber:info.buildingNumber}})">楼栋模型 @click="showStatistics=true; $router.push({query: {communityId: info.communityId, buildingId: info.id,unitNum:house ? house.unitNumber : 1,buildingNumber:info.buildingNumber}})">
楼栋模型
</el-button> </el-button>
</div> </div>
</div> </div>
@@ -158,6 +159,7 @@ export default {
data() { data() {
return { return {
map: null, map: null,
mapLib: null,
community: '', community: '',
isShowLayer: false, isShowLayer: false,
isShowSearch: false, isShowSearch: false,
@@ -171,13 +173,13 @@ export default {
list: [], list: [],
areaList: [], areaList: [],
info: {}, info: {},
resident:null, resident: null,
satellite: null, satellite: null,
zoom: 11, zoom: 11,
chooseBuildId: '', chooseBuildId: '',
buildList: [], buildList: [],
searchList: [], searchList: [],
house:null, house: null,
center: [], center: [],
type: '', type: '',
typeList: [ typeList: [
@@ -222,7 +224,7 @@ export default {
}, },
created() { created() {
this.dict.load('householdRelation','communityBuildingType') this.dict.load('householdRelation', 'communityBuildingType')
}, },
mounted() { mounted() {
@@ -232,12 +234,12 @@ export default {
}, },
methods: { methods: {
getCorpLocation(){ getCorpLocation() {
if(this.showStatistics) { //楼栋模型返回重新查询 if (this.showStatistics) { //楼栋模型返回重新查询
return return
} }
this.instance.post("/app/appdvcpconfig/getCorpLocation").then(res=>{ this.instance.post("/app/appdvcpconfig/getCorpLocation").then(res => {
if(res.code==0){ if (res.code == 0) {
this.initMap(res.data); this.initMap(res.data);
} }
}) })
@@ -255,14 +257,14 @@ export default {
}, },
search() { search() {
if(this.type === '') { if (this.type === '') {
this.searchList = [] this.searchList = []
this.$message.error('请先选择房屋类型') this.$message.error('请先选择房屋类型')
return return
} }
this.isShowArea = false this.isShowArea = false
var url = '/app/appcommunityhouseinfo/queryHouseByName' var url = '/app/appcommunityhouseinfo/queryHouseByName'
if(this.type == 1) { if (this.type == 1) {
url = '/app/apphomesteadinfo/list' url = '/app/apphomesteadinfo/list'
} }
this.instance.post(url, null, { this.instance.post(url, null, {
@@ -275,9 +277,9 @@ export default {
}).then(res => { }).then(res => {
if (res.code === 0) { if (res.code === 0) {
var data = [] var data = []
if(this.type == 1) { if (this.type == 1) {
data = res.data.records data = res.data.records
}else { } else {
data = res.data data = res.data
} }
@@ -293,14 +295,14 @@ export default {
getBuildInfo(id, type) { getBuildInfo(id, type) {
var url = `/app/apphomesteadinfo/queryDetailById?id=${id}` var url = `/app/apphomesteadinfo/queryDetailById?id=${id}`
if(type == 0) { if (type == 0) {
url= `/app/appcommunityhouseinfo/queryDetailByIdWithBuilding?buildId=${id}` url = `/app/appcommunityhouseinfo/queryDetailByIdWithBuilding?buildId=${id}`
} }
this.instance.post(url).then(res => { this.instance.post(url).then(res => {
if (res.code === 0) { if (res.code === 0) {
if(type == 1) { if (type == 1) {
this.info = res.data this.info = res.data
}else { } else {
this.info = res.data.build this.info = res.data.build
this.resident = null; this.resident = null;
} }
@@ -312,10 +314,10 @@ export default {
}, },
chooseCommunity(item) { chooseCommunity(item) {
if(item.name) { //宅基地 if (item.name) { //宅基地
if(!item.lng || !item.lat) { if (!item.lng || !item.lat) {
return this.$message.error('未获取到该房屋坐标信息') return this.$message.error('未获取到该房屋坐标信息')
}else { } else {
this.map.setZoomAndCenter(18, [item.lng, item.lat], false, 600) this.map.setZoomAndCenter(18, [item.lng, item.lat], false, 600)
this.info = item this.info = item
this.$nextTick(() => { this.$nextTick(() => {
@@ -324,12 +326,12 @@ export default {
}) })
} }
}else { //楼栋 } else { //楼栋
this.instance.post(`/app/appcommunityhouseinfo/queryDetailByIdWithBuilding`,null,{ this.instance.post(`/app/appcommunityhouseinfo/queryDetailByIdWithBuilding`, null, {
params:{ params: {
buildId:item.buildingId, buildId: item.buildingId,
houseId:item.id, houseId: item.id,
residentId:item.residentId residentId: item.residentId
} }
}).then(res => { }).then(res => {
if (res.code === 0) { if (res.code === 0) {
@@ -365,7 +367,7 @@ export default {
<p>${context.count}</p> <p>${context.count}</p>
</div> </div>
</div>` </div>`
let {mapLib: AMap} = this
let offset = new AMap.Pixel(-9, -9) let offset = new AMap.Pixel(-9, -9)
context.marker.setContent(el) context.marker.setContent(el)
context.marker.setOffset(offset) context.marker.setOffset(offset)
@@ -380,23 +382,23 @@ export default {
const buildId = context.data[0].id const buildId = context.data[0].id
let el = '' let el = ''
var urlType = '' var urlType = ''
if(context.data[0].communityName == context.data[0].buildingNumber) { //宅基地 if (context.data[0].communityName == context.data[0].buildingNumber) { //宅基地
urlType = 1 urlType = 1
el = `<div class="mark" id="buildId-${buildId}" style="${buildId === this.chooseBuildId?'background-color:#2266FF':'background-color:#FF701A'}"> el = `<div class="mark" id="buildId-${buildId}" style="${buildId === this.chooseBuildId ? 'background-color:#2266FF' : 'background-color:#FF701A'}">
<div class="mark-contaienr"> <div class="mark-contaienr">
<span>${context.data[0].areaName}</span>&nbsp;&nbsp; <span>${context.data[0].areaName}</span>&nbsp;&nbsp;
<span>${context.data[0].communityName}</span> <span>${context.data[0].communityName}</span>
</div> </div>
<div class="arrow" style="${buildId === this.chooseBuildId?'border-top-color: #2266FF':'border-top-color:#FF701A'}"></div> <div class="arrow" style="${buildId === this.chooseBuildId ? 'border-top-color: #2266FF' : 'border-top-color:#FF701A'}"></div>
</div>` </div>`
}else { } else {
urlType = 0 urlType = 0
el = `<div class="mark" id="buildId-${buildId}" style="${buildId === this.chooseBuildId?'background-color:#2266FF':''}"> el = `<div class="mark" id="buildId-${buildId}" style="${buildId === this.chooseBuildId ? 'background-color:#2266FF' : ''}">
<div class="mark-contaienr"> <div class="mark-contaienr">
<span>${context.data[0].communityName}</span>&nbsp;&nbsp; <span>${context.data[0].communityName}</span>&nbsp;&nbsp;
<span>${context.data[0].buildingNumber}栋</span> <span>${context.data[0].buildingNumber}栋</span>
</div> </div>
<div class="arrow" style="${buildId === this.chooseBuildId?'border-top-color: #2266FF':''}"></div> <div class="arrow" style="${buildId === this.chooseBuildId ? 'border-top-color: #2266FF' : ''}"></div>
</div>` </div>`
} }
@@ -421,6 +423,7 @@ export default {
}, },
addMakert(points) { addMakert(points) {
let {mapLib: AMap} = this
new AMap.MarkerClusterer(this.map, points, { new AMap.MarkerClusterer(this.map, points, {
gridSize: 60, gridSize: 60,
maxZoom: 15, maxZoom: 15,
@@ -444,9 +447,9 @@ export default {
lnglat: [item.lng, item.lat], lnglat: [item.lng, item.lat],
id: item.id, id: item.id,
corpId: item.corpId, corpId: item.corpId,
areaName:item.areaName, areaName: item.areaName,
buildingNumber: item.name || item.buildingNumber, buildingNumber: item.name || item.buildingNumber,
communityName:item.name || item.communityName, communityName: item.name || item.communityName,
} }
}) })
@@ -470,8 +473,8 @@ export default {
this.isImageMap = flag this.isImageMap = flag
}, },
initMap({lng,lat}) { initMap({lng, lat}) {
this.center = [lng,lat]; this.center = [lng, lat];
AMapLoader.load({ AMapLoader.load({
key: 'b553334ba34f7ac3cd09df9bc8b539dc', key: 'b553334ba34f7ac3cd09df9bc8b539dc',
version: '2.0', version: '2.0',
@@ -481,6 +484,7 @@ export default {
plugins: [] plugins: []
} }
}).then((AMap) => { }).then((AMap) => {
this.mapLib = AMap
this.map = new AMap.Map('map', { this.map = new AMap.Map('map', {
resizeEnable: true, resizeEnable: true,
zooms: [6, 20], zooms: [6, 20],
@@ -507,7 +511,7 @@ export default {
width: 100%; width: 100%;
} }
::v-deep .ai-list__content--right-wrapper{ ::v-deep .ai-list__content--right-wrapper {
height: 100%; height: 100%;
margin: 0px !important; margin: 0px !important;
background-color: transparent !important; background-color: transparent !important;
@@ -889,7 +893,7 @@ export default {
white-space: nowrap; white-space: nowrap;
} }
p:first-child{ p:first-child {
font-size: 14px; font-size: 14px;
} }
@@ -901,7 +905,7 @@ export default {
} }
} }
::v-deep .mark{ ::v-deep .mark {
user-select: none; user-select: none;
cursor: pointer; cursor: pointer;
height: 32px; height: 32px;
@@ -914,7 +918,7 @@ export default {
box-sizing: border-box; box-sizing: border-box;
padding: 0 12px; padding: 0 12px;
.mark-contaienr{ .mark-contaienr {
color: white; color: white;
font-size: 14px; font-size: 14px;
position: relative; position: relative;
@@ -926,7 +930,7 @@ export default {
justify-content: center; justify-content: center;
} }
.arrow{ .arrow {
position: absolute; position: absolute;
left: 50%; left: 50%;
transform: translateX(-50%); transform: translateX(-50%);
@@ -1124,8 +1128,8 @@ export default {
} }
} }
.bg-fff{ .bg-fff {
background-color: #fff!important; background-color: #fff !important;
} }
} }
} }
@@ -1336,7 +1340,8 @@ export default {
color: #89B; color: #89B;
} }
} }
.map-area__right{
.map-area__right {
margin-left: 16px; margin-left: 16px;
} }
} }