|
|
|
@ -115,7 +115,7 @@ |
|
|
|
|
|
|
|
<div id="popup-content" |
|
|
|
class="popup-content"> |
|
|
|
<div v-show="selPlaceType==='resi'|| selPlaceType === 'specil_resi'"> |
|
|
|
<div v-show="selPlaceType==='resi'|| selPlaceType === 'special_resi'"> |
|
|
|
<div class="popTitle">居民信息</div> |
|
|
|
<div class="popContentTitle">所属网格: |
|
|
|
<span>{{ selInfo.gridName }}</span> |
|
|
|
@ -201,71 +201,59 @@ |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<div v-show="selPlaceType==='event'"> |
|
|
|
<div class="popTitle">难点痛点</div> |
|
|
|
<div class="popContentTitle">所属网格: |
|
|
|
<span>{{ selInfo.gridName }}</span> |
|
|
|
</div> |
|
|
|
<div class="popContentTitle">发生时间: |
|
|
|
<span>{{ selInfo.happenTime }}</span> |
|
|
|
</div> |
|
|
|
<div class="popContentTitle">事件内容: |
|
|
|
<span>{{ selInfo.eventContent }}</span> |
|
|
|
</div> |
|
|
|
|
|
|
|
<div class="m-info"> |
|
|
|
<div class="info-prop"> |
|
|
|
<span>所属网格:</span> |
|
|
|
<span>{{ selInfo.gridName }}</span> |
|
|
|
</div> |
|
|
|
<div class="info-prop"> |
|
|
|
<span>发生时间:</span> |
|
|
|
<span>{{ selInfo.happenTime }}</span> |
|
|
|
</div> |
|
|
|
|
|
|
|
<div class="info-prop"> |
|
|
|
<span>事件内容:</span> |
|
|
|
<span>{{ selInfo.eventContent }}</span> |
|
|
|
</div> |
|
|
|
|
|
|
|
<div v-if="selInfo.imageList&&selInfo.imageList.length>0" |
|
|
|
class="info-prop"> |
|
|
|
<span>图片:</span> |
|
|
|
<div class="info-pics"> |
|
|
|
<img :src="src" |
|
|
|
:key="src" |
|
|
|
style="width:100px;height:100px;padding-right:10px" |
|
|
|
v-for="src in eventInfo.imageList" |
|
|
|
@click="watchImg(src)" /> |
|
|
|
<div v-if="selInfo.imageList&&selInfo.imageList.length>0" |
|
|
|
class="info-prop"> |
|
|
|
<span>图片:</span> |
|
|
|
<div class="info-pics"> |
|
|
|
<img :src="src" |
|
|
|
:key="src" |
|
|
|
style="width:100px;height:100px;padding-right:10px" |
|
|
|
v-for="src in eventInfo.imageList" |
|
|
|
@click="watchImg(src)" /> |
|
|
|
|
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
|
|
|
|
<div v-if="selInfo.voiceList&&selInfo.voiceList.length>0" |
|
|
|
class="info-prop"> |
|
|
|
<span>音频:</span> |
|
|
|
<div class="info-pics"> |
|
|
|
<audio controls> |
|
|
|
<source :src="item.url" |
|
|
|
type="" |
|
|
|
:key="item.url" |
|
|
|
v-for="item in eventInfo.voiceList" /> |
|
|
|
</audio> |
|
|
|
|
|
|
|
</div> |
|
|
|
<div v-if="selInfo.voiceList&&selInfo.voiceList.length>0" |
|
|
|
class="info-prop"> |
|
|
|
<span>音频:</span> |
|
|
|
<div class="info-pics"> |
|
|
|
<audio controls> |
|
|
|
<source :src="item.url" |
|
|
|
type="" |
|
|
|
:key="item.url" |
|
|
|
v-for="item in eventInfo.voiceList" /> |
|
|
|
</audio> |
|
|
|
|
|
|
|
</div> |
|
|
|
<div class="info-prop"> |
|
|
|
<span>反映渠道:</span> |
|
|
|
<span>{{ selInfo.sourceTypeName || "--" }}</span> |
|
|
|
</div> |
|
|
|
<div class="info-prop"> |
|
|
|
<span>地址:</span> |
|
|
|
<span>{{ selInfo.address || "--" }}</span> |
|
|
|
</div> |
|
|
|
<div class="info-prop"> |
|
|
|
<span>报事人:</span> |
|
|
|
<span>{{ selInfo.name || "--" }}</span> |
|
|
|
</div> |
|
|
|
<div class="info-prop"> |
|
|
|
<span>手机号:</span> |
|
|
|
<span>{{ selInfo.mobile || "--" }}</span> |
|
|
|
</div> |
|
|
|
<div class="info-prop"> |
|
|
|
<span>身份证号:</span> |
|
|
|
<span>{{ selInfo.idCard || "--" }}</span> |
|
|
|
</div> |
|
|
|
|
|
|
|
</div> |
|
|
|
<div class="popContentTitle">反映渠道: |
|
|
|
<span>{{ selInfo.sourceTypeName|| "--" }}</span> |
|
|
|
</div> |
|
|
|
<div class="popContentTitle">地址: |
|
|
|
<span>{{ selInfo.address || "--" }}</span> |
|
|
|
</div> |
|
|
|
<div class="popContentTitle">报事人: |
|
|
|
<span>{{selInfo.name || "--" }}</span> |
|
|
|
</div> |
|
|
|
<div class="popContentTitle">手机号: |
|
|
|
<span>{{ selInfo.mobile || "--" }}</span> |
|
|
|
</div> |
|
|
|
<div class="popContentTitle">身份证号: |
|
|
|
<span>{{ selInfo.idCard || "--" }}</span> |
|
|
|
</div> |
|
|
|
|
|
|
|
</div> |
|
|
|
<div v-show="selPlaceType==='community_org'"> |
|
|
|
@ -581,19 +569,23 @@ const vueGis = { |
|
|
|
demand: { |
|
|
|
loading: false, |
|
|
|
colList: [ |
|
|
|
{ |
|
|
|
align: "center", |
|
|
|
width: "15%", |
|
|
|
}, |
|
|
|
{ |
|
|
|
align: "center", |
|
|
|
width: "25%", |
|
|
|
}, |
|
|
|
{ |
|
|
|
align: "center", |
|
|
|
width: "75%", |
|
|
|
width: "60%", |
|
|
|
}, |
|
|
|
|
|
|
|
], |
|
|
|
header: ["分类", "名称"], |
|
|
|
header: ["图例", "分类", "名称"], |
|
|
|
list: [], |
|
|
|
pageSize: 10, |
|
|
|
pageSize: 50, |
|
|
|
pageNo: 1, |
|
|
|
total: 0, |
|
|
|
}, |
|
|
|
@ -763,9 +755,13 @@ const vueGis = { |
|
|
|
if (!info.id) { |
|
|
|
return false |
|
|
|
} |
|
|
|
if (!info.latitude || !info.longitude) { |
|
|
|
this.$message.warning("请先完善坐标位置") |
|
|
|
return false |
|
|
|
} |
|
|
|
this.selPlaceType = info.placeType |
|
|
|
if (info.placeType === 'resi' || info.placeType === 'specil_resi') {//综合治理图层和公共服务图层中的失能人员、失智人员 |
|
|
|
info.id = "dd0bd55db0ca4b629c40bc914a08368e" |
|
|
|
if (info.placeType === 'resi' || info.placeType === 'special_resi') {//综合治理图层和公共服务图层中的失能人员、失智人员 |
|
|
|
// info.id = "dd0bd55db0ca4b629c40bc914a08368e" |
|
|
|
this.selUserId = info.id |
|
|
|
this.loadResi(info) |
|
|
|
} |
|
|
|
@ -844,8 +840,8 @@ const vueGis = { |
|
|
|
}, |
|
|
|
|
|
|
|
async loadPublicService (info) { |
|
|
|
// const url = "/gov/org/icPublicService/detail" |
|
|
|
const url = "http://yapi.elinkservice.cn/mock/245/gov/org/icPublicService/detail" |
|
|
|
const url = "/gov/org/icPublicService/detail" |
|
|
|
// const url = "http://yapi.elinkservice.cn/mock/245/gov/org/icPublicService/detail" |
|
|
|
|
|
|
|
let params = { |
|
|
|
icPublicServiceId: info.id |
|
|
|
@ -876,7 +872,7 @@ const vueGis = { |
|
|
|
//const url = "http://yapi.elinkservice.cn/mock/245/api/gov/project/icEvent/processAnalysis/eventDetail/" + this.eventId; |
|
|
|
|
|
|
|
const { data, code, msg } = await requestPost(url, { |
|
|
|
icEventId: this.eventId, |
|
|
|
icEventId: info.id, |
|
|
|
}); |
|
|
|
|
|
|
|
if (code === 0) { |
|
|
|
@ -893,8 +889,8 @@ const vueGis = { |
|
|
|
}, |
|
|
|
|
|
|
|
async loadDangerousChemicals (info) { |
|
|
|
// const url = "/gov/org/icDangerousChemicals/detail" |
|
|
|
const url = "http://yapi.elinkservice.cn/mock/245/gov/org/icDangerousChemicals/detail" |
|
|
|
const url = "/gov/org/icDangerousChemicals/detail" |
|
|
|
// const url = "http://yapi.elinkservice.cn/mock/245/gov/org/icDangerousChemicals/detail" |
|
|
|
|
|
|
|
let params = { |
|
|
|
icSuperiorResourceId: info.id |
|
|
|
@ -924,8 +920,8 @@ const vueGis = { |
|
|
|
}, |
|
|
|
|
|
|
|
async loadCityManagement (info) { |
|
|
|
// const url = "/gov/org/icCityManagement/detail" |
|
|
|
const url = "http://yapi.elinkservice.cn/mock/245/gov/org/icCityManagement/detail" |
|
|
|
const url = "/gov/org/icCityManagement/detail" |
|
|
|
// const url = "http://yapi.elinkservice.cn/mock/245/gov/org/icCityManagement/detail" |
|
|
|
|
|
|
|
let params = { |
|
|
|
icCityManagementId: info.id |
|
|
|
@ -980,8 +976,8 @@ const vueGis = { |
|
|
|
}, |
|
|
|
|
|
|
|
async loadSuperiorResource (info) { |
|
|
|
// const url = "/gov/org/icSuperiorResource/detail" |
|
|
|
const url = "http://yapi.elinkservice.cn/mock/245/gov/org/icSuperiorResource/detail" |
|
|
|
const url = "/gov/org/icSuperiorResource/detail" |
|
|
|
// const url = "http://yapi.elinkservice.cn/mock/245/gov/org/icSuperiorResource/detail" |
|
|
|
|
|
|
|
let params = { |
|
|
|
icSuperiorResourceId: info.id |
|
|
|
@ -1008,8 +1004,8 @@ const vueGis = { |
|
|
|
}, |
|
|
|
|
|
|
|
async loadEnterprisePartrol (info) { |
|
|
|
// const url = "/gov/org/enterprise/detail" |
|
|
|
const url = "http://yapi.elinkservice.cn/mock/245/gov/org/enterprise/detail" |
|
|
|
const url = "/gov/org/enterprise/detail" |
|
|
|
// const url = "http://yapi.elinkservice.cn/mock/245/gov/org/enterprise/detail" |
|
|
|
|
|
|
|
const { data, code, msg } = await requestGet(url) |
|
|
|
|
|
|
|
@ -1018,7 +1014,7 @@ const vueGis = { |
|
|
|
let coordinate = [info.longitude, info.latitude] |
|
|
|
|
|
|
|
this.selInfo = JSON.parse(JSON.stringify(data)) |
|
|
|
|
|
|
|
this.handleShowPopup(coordinate) |
|
|
|
} else { |
|
|
|
this.$message.error(msg) |
|
|
|
} |
|
|
|
@ -1033,7 +1029,7 @@ const vueGis = { |
|
|
|
let coordinate = [info.longitude, info.latitude] |
|
|
|
|
|
|
|
this.selInfo = JSON.parse(JSON.stringify(data)) |
|
|
|
|
|
|
|
this.handleShowPopup(coordinate) |
|
|
|
} else { |
|
|
|
this.$message.error(msg) |
|
|
|
} |
|
|
|
@ -1056,6 +1052,7 @@ const vueGis = { |
|
|
|
} |
|
|
|
|
|
|
|
this.selInfo = JSON.parse(JSON.stringify(data)) |
|
|
|
this.handleShowPopup(coordinate) |
|
|
|
} else { |
|
|
|
this.$message.error(msg) |
|
|
|
} |
|
|
|
@ -1083,6 +1080,7 @@ const vueGis = { |
|
|
|
|
|
|
|
//点击图层 |
|
|
|
async handleClickCoverage (index) { |
|
|
|
this.demand.pageNo = 1 |
|
|
|
this.coverageTypesList[index].select = !this.coverageTypesList[index].select |
|
|
|
let item = this.coverageTypesList[index] |
|
|
|
|
|
|
|
@ -1103,7 +1101,7 @@ const vueGis = { |
|
|
|
|
|
|
|
//点击类别 |
|
|
|
async handleClickCategory (index, colIndex) { |
|
|
|
|
|
|
|
this.demand.pageNo = 1 |
|
|
|
this.categoryListshow[index][colIndex].sel = !this.categoryListshow[index][colIndex].sel |
|
|
|
|
|
|
|
// this.categoryList[index * 4 + colIndex].sel = !this.categoryList[index * 4 + colIndex].sel |
|
|
|
@ -1134,6 +1132,7 @@ const vueGis = { |
|
|
|
let selData = this.tableList[index] |
|
|
|
mapView.setCenter([selData.longitude, selData.latitude]); |
|
|
|
this.clickMapVolunteer(selData) |
|
|
|
|
|
|
|
// alert(index) |
|
|
|
}, |
|
|
|
|
|
|
|
@ -1185,10 +1184,10 @@ const vueGis = { |
|
|
|
}, |
|
|
|
|
|
|
|
//加载组织数据 |
|
|
|
async getTable (isPage) { |
|
|
|
// this.demand.loading = true |
|
|
|
// const url = "/data/aggregator/coverage/dataList"; |
|
|
|
const url = "http://yapi.elinkservice.cn/mock/245/data/aggregator/coverage/dataList"; |
|
|
|
async getTable () { |
|
|
|
this.demand.loading = true |
|
|
|
const url = "/data/aggregator/coverage/dataList"; |
|
|
|
// const url = "http://yapi.elinkservice.cn/mock/245/data/aggregator/coverage/dataList"; |
|
|
|
let params = { |
|
|
|
coverageTypes: this.coverageTypes, |
|
|
|
categoryKeys: this.categoryKeys, |
|
|
|
@ -1199,46 +1198,12 @@ const vueGis = { |
|
|
|
}; |
|
|
|
|
|
|
|
const { data, code, msg } = await requestPost(url, params); |
|
|
|
// this.demand.loading = false; |
|
|
|
this.demand.loading = false; |
|
|
|
|
|
|
|
if (code === 0) { |
|
|
|
|
|
|
|
this.demand.total = data.total; |
|
|
|
|
|
|
|
data.list = [ |
|
|
|
{ |
|
|
|
categoryKey: "resi_xfry", |
|
|
|
content: "信访人员", |
|
|
|
id: "123", |
|
|
|
latitude: "36.082230", |
|
|
|
longitude: "120.3868167667315", |
|
|
|
placeType: 'resi' |
|
|
|
}, |
|
|
|
{ |
|
|
|
categoryKey: "sr_gy", |
|
|
|
content: "公园", |
|
|
|
id: "123", |
|
|
|
latitude: "36.062227", |
|
|
|
longitude: "120.389455", |
|
|
|
placeType: 'public_service' |
|
|
|
}, |
|
|
|
{ |
|
|
|
categoryKey: "ep_scjgqy", |
|
|
|
content: "生产加工企业", |
|
|
|
id: "123", |
|
|
|
latitude: "36.072214", |
|
|
|
longitude: "120.389455", |
|
|
|
placeType: 'dangerous_chemicals' |
|
|
|
}, |
|
|
|
{ |
|
|
|
categoryKey: "ps_wss", |
|
|
|
content: "卫生所(室)", |
|
|
|
id: "123", |
|
|
|
latitude: "36.07394505338441", |
|
|
|
longitude: "120.3868167667315", |
|
|
|
placeType: 'city_management' |
|
|
|
} |
|
|
|
] |
|
|
|
this.tableList = data.list |
|
|
|
this.demand.list = data.list |
|
|
|
this.demand.list.forEach(item => { |
|
|
|
@ -1254,6 +1219,7 @@ const vueGis = { |
|
|
|
// item.categoryKey ? item.categoryKey : '--', |
|
|
|
|
|
|
|
item.imgObj, |
|
|
|
item.categoryName, |
|
|
|
item.content ? item.content : '', |
|
|
|
|
|
|
|
]; |
|
|
|
@ -1266,8 +1232,8 @@ const vueGis = { |
|
|
|
//加载组织数据 |
|
|
|
async getMapTable () { |
|
|
|
|
|
|
|
// const url = "/data/aggregator/coverage/dataList"; |
|
|
|
const url = "http://yapi.elinkservice.cn/mock/245/data/aggregator/coverage/dataList"; |
|
|
|
const url = "/data/aggregator/coverage/dataList"; |
|
|
|
// const url = "http://yapi.elinkservice.cn/mock/245/data/aggregator/coverage/dataList"; |
|
|
|
let params = { |
|
|
|
coverageTypes: this.coverageTypes, |
|
|
|
categoryKeys: this.categoryKeys, |
|
|
|
@ -1279,43 +1245,12 @@ const vueGis = { |
|
|
|
const { data, code, msg } = await requestPost(url, params); |
|
|
|
|
|
|
|
if (code === 0) { |
|
|
|
|
|
|
|
this.demand.total = data.total; |
|
|
|
|
|
|
|
this.iconArrays = data.list |
|
|
|
this.iconArrays = [ |
|
|
|
{ |
|
|
|
categoryKey: "resi_xfry", |
|
|
|
content: "信访人员", |
|
|
|
id: "123", |
|
|
|
latitude: "36.082230", |
|
|
|
longitude: "120.3868167667315", |
|
|
|
placeType: 'resi' |
|
|
|
}, |
|
|
|
{ |
|
|
|
categoryKey: "sr_gy", |
|
|
|
content: "公园", |
|
|
|
id: "123", |
|
|
|
latitude: "36.062227", |
|
|
|
longitude: "120.389455", |
|
|
|
placeType: 'public_service' |
|
|
|
}, |
|
|
|
{ |
|
|
|
categoryKey: "ep_scjgqy", |
|
|
|
content: "生产加工企业", |
|
|
|
id: "123", |
|
|
|
latitude: "36.072214", |
|
|
|
longitude: "120.389455", |
|
|
|
placeType: 'dangerous_chemicals' |
|
|
|
}, |
|
|
|
{ |
|
|
|
categoryKey: "ps_wss", |
|
|
|
content: "卫生所(室)", |
|
|
|
id: "123", |
|
|
|
latitude: "36.07394505338441", |
|
|
|
longitude: "120.3868167667315", |
|
|
|
placeType: 'city_management' |
|
|
|
} |
|
|
|
] |
|
|
|
this.iconArrays.forEach((item, index) => { |
|
|
|
|
|
|
|
this.iconArrays.forEach((item, index) => { |
|
|
|
item.url = this.iconUrlArray[item.categoryKey] |
|
|
|
|
|
|
|
}); |
|
|
|
@ -1888,6 +1823,31 @@ export default vueGis; |
|
|
|
padding-bottom: 5px; |
|
|
|
} |
|
|
|
|
|
|
|
.info-prop { |
|
|
|
position: relative; |
|
|
|
margin: 10px 0; |
|
|
|
display: flex; |
|
|
|
padding-left: 15px; |
|
|
|
font-size: 12px; |
|
|
|
|
|
|
|
.info-pics { |
|
|
|
display: flex; |
|
|
|
margin: 10px 0; |
|
|
|
img { |
|
|
|
display: block; |
|
|
|
width: 32%; |
|
|
|
height: 90px; |
|
|
|
margin-right: 9px; |
|
|
|
object-fit: cover; |
|
|
|
} |
|
|
|
} |
|
|
|
> span, |
|
|
|
> div { |
|
|
|
display: block; |
|
|
|
max-width: 300px; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
.popContentTitle { |
|
|
|
font-size: 12px; |
|
|
|
color: #ffffff; |
|
|
|
|