Browse Source

Merge branch 'dev-fivelayer0725' of http://git.elinkit.com.cn:7070/r/epmet-oper-gov into dev-fivelayer0725

feature/dev_worklog2
dai 3 years ago
parent
commit
9e5ece60fd
  1. 18
      src/views/modules/communityService/measure/info.vue
  2. 6
      src/views/modules/visual/command/cpts/demandInfo.vue
  3. 6
      src/views/modules/visual/command/index.vue
  4. 805
      src/views/modules/visual/communityGovern/fivelayers/mapIndex.vue
  5. 155
      src/views/modules/visual/communityParty/community.vue
  6. 2
      src/views/modules/visual/components/screen-map/index.vue
  7. 634
      src/views/modules/visual/cpts/map/index2.vue

18
src/views/modules/communityService/measure/info.vue

@ -366,6 +366,10 @@ export default {
source: {//manage visiual
type: String,
default: 'manage'
},
icResiUserId: {
type: String,
default: ''
}
},
@ -457,7 +461,7 @@ export default {
this.customerId = localStorage.getItem("customerId");
this.getGridList();
this.getDemandOptions();
this.getDemandUserList();
await this.getDemandUserList();
this.getServiceuserList();
this.getDictOptions();
if (this.formType === 'add') {
@ -465,8 +469,7 @@ export default {
} else {
this.getInfo();
}
this.pageLoading = true;
@ -796,6 +799,15 @@ export default {
} else {
console.log("获取查询详情成功", res.data);
this.demandUserList = res.data;
// debugger
if(this.icResiUserId && this.formType==='add') {
this.demandUserList.forEach((item) => {
if (item.demandUserId == this.icResiUserId)
this.selectDemandUser = item.label;
});
this.form.demandUserId = this.icResiUserId
}
}
})
.catch(() => {

6
src/views/modules/visual/command/cpts/demandInfo.vue

@ -15,6 +15,7 @@
<demand-info-origin ref="demandEditForm"
:source="'visiual'"
:formType="'add'"
:icResiUserId="icResiUserId"
@handleClose="handleClose"
@handleOk="handleOk"
@dialogOk="handleEditSuccess" />
@ -34,7 +35,10 @@ import demandInfoOrigin from "@/views/modules/communityService/measure/info";
export default {
name: "dialogInfo",
props: {
icResiUserId: {
type: String,
required: 'true'
},
},
components: {

6
src/views/modules/visual/command/index.vue

@ -168,6 +168,7 @@
<demand-info v-if="pageType==='create-demand'"
ref="eleEditForm"
:icResiUserId="icResiUserId"
@handleClose="handleClose" />
<qsydw v-if="pageType==='qsydw'"
@ -391,6 +392,7 @@ export default {
searchResult: iniSearchResult(),
pageType: '',
icResiUserId:'',
};
},
@ -416,8 +418,7 @@ export default {
methods: {
handleClickDotBtn (type, info) {
debugger
type="create-service"
// debugger
this.pageType = type
if (type == "create-service") {
//
@ -427,6 +428,7 @@ export default {
//
} else if (type == "create-demand") {
//
this.icResiUserId = info.icResiUserId
}
},

805
src/views/modules/visual/communityGovern/fivelayers/mapIndex.vue

@ -2,357 +2,359 @@
<div style="position: relative">
<!-- 组织路由 -->
<div v-if="pageType===''">
<div class="div_top">
<div class="router_line"></div>
<div class="div_router">
<div v-if="!showPeopleInfo">
<span class="router_child">五大图层</span>
</div>
<div v-if="showPeopleInfo"> <span class="router_parents"
@click="handleClickRouter">五大图层<span class="arrow">></span></span>
<span class="router_child">个人档案</span>
</div>
<div class="div_top">
<div class="router_line"></div>
<div class="div_router">
<div v-if="!showPeopleInfo">
<span class="router_child">五大图层</span>
</div>
<div v-if="showPeopleInfo"> <span class="router_parents"
@click="handleClickRouter">五大图层<span class="arrow">></span></span>
<span class="router_child">个人档案</span>
</div>
</div>
</div>
<div v-show="!showPeopleInfo"
class="div_content">
<div v-show="!showPeopleInfo"
class="div_content">
<div class="div_data">
<div class="div_tips">
<cpt-card>
<div class="div_coverage">
<div class="div_map"
id="map"
ref="map">
</div>
<div class="coverage_item"
@click="handleClickCoverage(index)"
v-for="(item,index) in coverageTypesList"
:key="index">
<img :src="item.select?selImg:noSelImg" />
<span>{{item.label}}</span>
</div>
<div class="div_data">
<div class="div_tips">
<cpt-card>
<div class="div_coverage">
<div class="coverage_item"
@click="handleClickCoverage(index)"
v-for="(item,index) in coverageTypesList"
:key="index">
<img :src="item.select?selImg:noSelImg" />
<span>{{item.label}}</span>
</div>
<div class="div_category">
<div v-for="(item,index) in categoryListshow"
:key="index"
class="category_item">
<div v-for="(colItem,colIndex) in item"
:key="colIndex"
class="list_item"
@click="handleClickCategory(index,colIndex)">
<img :src="colItem.dataIcon"
alt />
<div :class="['item_content',colItem.sel?'item_content_sel':'']">{{colItem.categoryName}}
</div>
</div>
<div class="div_category">
<div v-for="(item,index) in categoryListshow"
:key="index"
class="category_item">
<div v-for="(colItem,colIndex) in item"
:key="colIndex"
class="list_item"
@click="handleClickCategory(index,colIndex)">
<img :src="colItem.dataIcon"
alt />
<div :class="['item_content',colItem.sel?'item_content_sel':'']">{{colItem.categoryName}}
</div>
</div>
</div>
</cpt-card>
</div>
</div>
</cpt-card>
</div>
<div class="div_info">
<cpt-card>
<div class="div_search_list">
<el-input size="mini"
WarningColor='warning'
placeholder="请输入搜索内容"
v-model="search">
<i slot="prefix"
class="icon">
<img src="../../../../../assets/img/modules/visual/sousuo.png"
alt />
</i>
</el-input>
<div class="btn"
@click="handleSearch">搜索</div>
<div class="div_info">
<cpt-card>
<div class="div_search_list">
<el-input size="mini"
WarningColor='warning'
placeholder="请输入搜索内容"
v-model="search">
<i slot="prefix"
class="icon">
<img src="../../../../../assets/img/modules/visual/sousuo.png"
alt />
</i>
</el-input>
<div class="btn"
@click="handleSearch">搜索</div>
</div>
<div class="m-tb">
</div>
<div class="m-tb">
<div class="tb">
<cpt-tb :col-list="demand.colList"
:loading="demand.loading"
:header="demand.header"
:list="demand.list"
@handleClickRow="handleClickRow"></cpt-tb>
<div class="tb">
<cpt-tb :col-list="demand.colList"
:loading="demand.loading"
:header="demand.header"
:list="demand.list"
@handleClickRow="handleClickRow"></cpt-tb>
</div>
<div class="m-pagination">
<el-pagination hide-on-single-page
:current-page="demand.pageNo"
:page-size="demand.pageSize"
:total="demand.total"
background
layout="prev, pager, next,total"
@current-change="handlePageNoChange_demand">
</el-pagination>
</div>
</div>
<div class="m-pagination">
<el-pagination hide-on-single-page :current-page="demand.pageNo"
:page-size="demand.pageSize"
:total="demand.total"
background
layout="prev, pager, next,total"
@current-change="handlePageNoChange_demand">
</el-pagination>
</div>
</div>
</cpt-card>
</div>
</cpt-card>
</div>
</div>
<div id="popup"
style="display: none;"
class="ol-popup">
<a href="#"
id="popup-closer"
class="ol-popup-closer"></a>
<div id="popup-content"
class="popup-content">
<div v-show="selPlaceType==='resi'|| selPlaceType === 'special_resi'">
<div class="popTitle">居民信息</div>
<div class="popContentTitle">姓名
<span>{{ selInfo.icUserName }}</span>
</div>
<div class="popContentTitle">所属网格
<span>{{ selInfo.gridName }}</span>
</div>
<div class="popContentTitle">所属小区
<span>{{ selInfo.villageName }}</span>
</div>
<div class="popContentTitle">本地户籍
<span>{{ selInfo.isBdhjShow }}</span>
</div>
</div>
<div id="popup"
style="display: none;"
class="ol-popup">
<a href="#"
id="popup-closer"
class="ol-popup-closer"></a>
<div id="popup-content"
class="popup-content">
<div v-show="selPlaceType==='resi'|| selPlaceType === 'special_resi'">
<div class="popTitle">居民信息</div>
<div class="popContentTitle">姓名
<span>{{ selInfo.icUserName }}</span>
</div>
<div class="popContentTitle">所属网格
<span>{{ selInfo.gridName }}</span>
</div>
<div class="popContentTitle">所属小区
<span>{{ selInfo.villageName }}</span>
</div>
<div class="popContentTitle">本地户籍
<span>{{ selInfo.isBdhjShow }}</span>
</div>
<div class="popContentTitle">手机
<span>{{ selInfo.mobile }}</span>
</div>
<div class="popContentTitle">性别
<span>{{ selInfo.genderShow }}</span>
</div>
<div class="popContentTitle">身份证号
<span>{{ selInfo.idCard }}</span>
</div>
<div class="popContentTitle">手机
<span>{{ selInfo.mobile }}</span>
</div>
<div class="popContentTitle">性别
<span>{{ selInfo.genderShow }}</span>
</div>
<div class="popContentTitle">身份证号
<span>{{ selInfo.idCard }}</span>
</div>
<div class="popContentTitle">工作单位
<span>{{ selInfo.gzdw?selInfo.gzdw:'--' }}</span>
</div>
<div class="popContentTitle">人户状况
<span>{{ selInfo.rhzkShow }}</span>
</div>
<div class="div_resi_more">
<div @click="toPeople"
class="span_resi_more">更多</div>
</div>
<div class="popContentTitle">工作单位
<span>{{ selInfo.gzdw?selInfo.gzdw:'--' }}</span>
</div>
<div v-show="selPlaceType==='dangerous_chemicals'">
<div class="popTitle">企业信息</div>
<div class="popContentTitle">企业名称
<span>{{ selInfo.name }}</span>
</div>
<div class="popContentTitle">企业类型
<span>{{ selInfo.categoryName }}</span>
</div>
<div class="popContentTitle">周边安全距离
<span>{{ selInfo.safeDistance }}</span>
</div>
<div class="popContentTitle">危化品种类
<span>{{ selInfo.dangerTypeName }}</span>
</div>
<div class="popContentTitle">负责人
<span>{{ selInfo.principalName }}</span>
</div>
<div class="popContentTitle">联系电话
<span>{{ selInfo.principalMobile }}</span>
</div>
<div class="popContentTitle">经营地址
<span>{{ selInfo.address }}</span>
</div>
<div class="popContentTitle">备注
<span>{{ selInfo.remark }}</span>
</div>
<div class="popContentTitle">人户状况
<span>{{ selInfo.rhzkShow }}</span>
</div>
<div v-show="selPlaceType==='public_service'||selPlaceType==='city_management'||selPlaceType==='superior_resource'">
<div class="popTitle">场所信息</div>
<div class="popContentTitle">场所名称
<span>{{ selInfo.name }}</span>
</div>
<div class="popContentTitle">场所分类
<span>{{ selInfo.categoryName }}</span>
</div>
<div class="popContentTitle">占地面积
<span>{{ selInfo.areaCovered }}</span>
</div>
<div class="popContentTitle">容纳人数
<span>{{ selInfo.capacity }}</span>
</div>
<div class="popContentTitle">地址
<span>{{ selInfo.address }}</span>
</div>
<div class="div_resi_more">
<div @click="toPeople"
class="span_resi_more">更多</div>
</div>
</div>
<div v-show="selPlaceType==='dangerous_chemicals'">
<div class="popTitle">企业信息</div>
<div class="popContentTitle">企业名称
<span>{{ selInfo.name }}</span>
</div>
<div class="popContentTitle">企业类型
<span>{{ selInfo.categoryName }}</span>
</div>
<div class="popContentTitle">周边安全距离
<span>{{ selInfo.safeDistance }}</span>
</div>
<div class="popContentTitle">危化品种类
<span>{{ selInfo.dangerTypeName }}</span>
</div>
<div class="popContentTitle">负责人
<span>{{ selInfo.principalName }}</span>
</div>
<div class="popContentTitle">联系电话
<span>{{ selInfo.principalMobile }}</span>
</div>
<div class="popContentTitle">经营地址
<span>{{ selInfo.address }}</span>
</div>
<div class="popContentTitle">备注
<span>{{ selInfo.remark }}</span>
</div>
</div>
<div v-show="selPlaceType==='public_service'||selPlaceType==='city_management'||selPlaceType==='superior_resource'">
<div class="popTitle">场所信息</div>
<div class="popContentTitle">场所名称
<span>{{ selInfo.name }}</span>
</div>
<div class="popContentTitle">场所分类
<span>{{ selInfo.categoryName }}</span>
</div>
<div class="popContentTitle">占地面积
<span>{{ selInfo.areaCovered }}</span>
</div>
<div class="popContentTitle">容纳人数
<span>{{ selInfo.capacity }}</span>
</div>
<div class="popContentTitle">地址
<span>{{ selInfo.address }}</span>
</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 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 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="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'">
<div class="popTitle">组织信息</div>
<div class="popContentTitle">组织名称
<span>{{ selInfo.organizationName }}</span>
</div>
<div class="popContentTitle">组织分类
<span>{{ selInfo.categoryName }}</span>
</div>
<div class="popContentTitle">组织人数
<span>{{ selInfo.organizationPersonCount }}</span>
</div>
<div class="popContentTitle">组织成员
<span>{{ selInfo.organizationPersonnelShow }}</span>
</div>
<div class="popContentTitle">服务事项
<span>{{ selInfo.serviceItem }}</span>
</div>
<div class="popContentTitle">负责人
<span>{{ selInfo.principalName }}</span>
</div>
<div class="popContentTitle">联系电话
<span>{{ selInfo.principalPhone }}</span>
</div>
<div class="popContentTitle">创建时间
<span>{{ selInfo.organizationCreatedTime }}</span>
</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 v-show="selPlaceType==='group_rent'">
<div class="popTitle">房屋信息</div>
<div class="popContentTitle">房屋名称
<span>{{ selInfo.houseName }}</span>
</div>
<div class="popContentTitle">房屋类型
<span>{{ selInfo.houseTypeName }}</span>
</div>
<div class="popContentTitle">房屋用途
<span>{{ selInfo.purposeName }}</span>
</div>
<div class="popContentTitle">房屋状态
<span>{{ selInfo.rentName }}</span>
</div>
<div class="popContentTitle">房主姓名
<span>{{ selInfo.ownerName }}</span>
</div>
<div class="popContentTitle">联系方式
<span>{{ selInfo.ownerPhone }}</span>
</div>
<div class="popContentTitle">房主身份证
<span>{{ selInfo.ownerIdCard }}</span>
</div>
</div>
<div v-show="selPlaceType==='community_org'">
<div class="popTitle">组织信息</div>
<div class="popContentTitle">组织名称
<span>{{ selInfo.organizationName }}</span>
</div>
<div class="popContentTitle">组织分类
<span>{{ selInfo.categoryName }}</span>
</div>
<div class="popContentTitle">组织人数
<span>{{ selInfo.organizationPersonCount }}</span>
</div>
<div class="popContentTitle">组织成员
<span>{{ selInfo.organizationPersonnelShow }}</span>
</div>
<div class="popContentTitle">服务事项
<span>{{ selInfo.serviceItem }}</span>
</div>
<div class="popContentTitle">负责人
<span>{{ selInfo.principalName }}</span>
</div>
<div class="popContentTitle">联系电话
<span>{{ selInfo.principalPhone }}</span>
</div>
<div class="popContentTitle">创建时间
<span>{{ selInfo.organizationCreatedTime }}</span>
</div>
</div>
<div v-show="selPlaceType==='group_rent'">
<div class="popTitle">房屋信息</div>
<div class="popContentTitle">房屋名称
<span>{{ selInfo.houseName }}</span>
</div>
<div class="popContentTitle">房屋类型
<span>{{ selInfo.houseTypeName }}</span>
</div>
<div class="popContentTitle">房屋用途
<span>{{ selInfo.purposeName }}</span>
</div>
<div class="popContentTitle">房屋状态
<span>{{ selInfo.rentName }}</span>
</div>
<div class="popContentTitle">房主姓名
<span>{{ selInfo.ownerName }}</span>
</div>
<div class="popContentTitle">联系方式
<span>{{ selInfo.ownerPhone }}</span>
</div>
<div class="popContentTitle">房主身份证
<span>{{ selInfo.ownerIdCard }}</span>
</div>
<div v-show="selPlaceType==='enterprise_patrol'">
<div class="popTitle">企事业信息</div>
<div class="popContentTitle">场所类型
<span>{{ selInfo.placeTypeName }}</span>
</div>
<div class="popContentTitle">场所区域
<span>{{ selInfo.gridName }}</span>
</div>
<div class="popContentTitle">场所名称
<span>{{ selInfo.placeOrgName }}</span>
</div>
<div class="popContentTitle">场所地址
<span>{{ selInfo.address }}</span>
</div>
<div class="popContentTitle">规模
<span>{{ selInfo.scale }}</span>
</div>
<div class="popContentTitle">负责人
<span>{{ selInfo.personInCharge }}</span>
</div>
<div class="popContentTitle">联系电话
<span>{{ selInfo.mobile }}</span>
</div>
</div>
<div v-show="selPlaceType==='enterprise_patrol'">
<div class="popTitle">企事业信息</div>
<div class="popContentTitle">场所类型
<span>{{ selInfo.placeTypeName }}</span>
</div>
<div v-show="selPlaceType==='party_unit'">
<div class="popTitle">联建单位信息</div>
<div class="popContentTitle">单位名称
<span>{{ selInfo.unitName }}</span>
</div>
<div class="popContentTitle">分类
<span>{{ selInfo.typeName }}</span>
</div>
<div class="popContentTitle">服务事项
<span>{{ selInfo.serviceMatterListShow }}</span>
</div>
<div class="popContentTitle">联系人
<span>{{ selInfo.contact }}</span>
</div>
<div class="popContentTitle">联系电话
<span>{{ selInfo.contactMobile }}</span>
</div>
<div class="popContentTitle">在职党员
<span>{{ selInfo.memberCount }}</span>
</div>
<div class="popContentTitle">备注
<span>{{ selInfo.remark }}</span>
</div>
<div class="popContentTitle">地理位置
<span>{{ selInfo.address }}</span>
</div>
<div class="popContentTitle">场所区域
<span>{{ selInfo.gridName }}</span>
</div>
<div class="popContentTitle">场所名称
<span>{{ selInfo.placeOrgName }}</span>
</div>
<div class="popContentTitle">场所地址
<span>{{ selInfo.address }}</span>
</div>
<div class="popContentTitle">规模
<span>{{ selInfo.scale }}</span>
</div>
<div class="popContentTitle">负责人
<span>{{ selInfo.personInCharge }}</span>
</div>
<div class="popContentTitle">联系电话
<span>{{ selInfo.mobile }}</span>
</div>
</div>
<div v-show="selPlaceType==='party_unit'">
<div class="popTitle">联建单位信息</div>
<div class="popContentTitle">单位名称
<span>{{ selInfo.unitName }}</span>
</div>
<div class="popContentTitle">分类
<span>{{ selInfo.typeName }}</span>
</div>
<div class="popContentTitle">服务事项
<span>{{ selInfo.serviceMatterListShow }}</span>
</div>
<div class="popContentTitle">联系人
<span>{{ selInfo.contact }}</span>
</div>
<div class="popContentTitle">联系电话
<span>{{ selInfo.contactMobile }}</span>
</div>
<div class="popContentTitle">在职党员
<span>{{ selInfo.memberCount }}</span>
</div>
<div class="popContentTitle">备注
<span>{{ selInfo.remark }}</span>
</div>
<div class="popContentTitle">地理位置
<span>{{ selInfo.address }}</span>
</div>
</div>
</div>
@ -361,21 +363,6 @@
<people v-if="showPeopleInfo"
:uid="selUserId"
ref="ref_people"></people>
<!-- <event-info v-if="pageType==='dispose'"
ref="eleEditForm"
@handleClose="handleClose" /> -->
<!-- <service-info v-if="pageType==='dispose'"
ref="eleEditForm"
@handleClose="handleClose" /> -->
<!-- <fuwu-info v-if="pageType==='dispose'"
ref="eleEditForm"
@handleClose="handleClose" /> -->
<qsydw v-if="pageType==='dispose'"
ref="eleEditForm"
@handleClose="handleClose" />
</div>
</template>
@ -407,24 +394,130 @@ import cptTb from "@/views/modules/visual/cpts/tb";
import cptCard from "@/views/modules/visual/cpts/card";
import ScreenLoading from "@/views/modules/visual/cpts/loading";
import People from "../../basicinfo/people";
import eventInfo from "./eventInfo";
import serviceInfo from "./serviceInfo";
import fuwuInfo from "./fuwuInfo";
import qsydw from "./qsydw";
var centerPointGlobal = [120.664619, 36.504963]
let loading;//
let map;
let mapView;
let gaodeMapLayer;//
let parentLayer;//
let parentSource;//
let polygonLayer;//
let iconLayer; // icon
let iconSource; // icon
let polygonSource;//
let select;//
let xoffset = 0
let yoffset = 0
//url
let iconUrlArray = [
'https://elink-esua-epdc.oss-cn-qingdao.aliyuncs.com/epmet/test/20211116/a219130b6bc74b0b80b5ddb0fce0892a.png',
'https://elink-esua-epdc.oss-cn-qingdao.aliyuncs.com/epmet/test/20211116/a775d15e62374350b80e5cdf1912a4eb.png',
'https://elink-esua-epdc.oss-cn-qingdao.aliyuncs.com/epmet/test/20211116/884efcf6d6b44224a7fda599dd1b14cb.png'
];
let textColorArray = [
'rgba(236, 69, 4, 0.66)',
'rgba(0, 146, 238, 0.75)',
'rgba(238, 151, 0, 0.8)'
];
let polygonColorArray = [
'rgba(210, 2, 2, 0.24)',
'rgba(43, 231, 253, 0.25)',
'rgba(183, 185, 0, 0.16)'
];
//
var createTextStyle = function (feature) {
return new Text({
textAlign: undefined,
font: "18px Arial",
//fontFamily: "Courier New, monospace",
// fontWeight: "bold",
text: feature.values_.name,
backgroundFill: new Fill({
// color: 'rgba(0, 146, 238, 0.75)'
color: textColorArray[feature.values_.colorIndex]
}),
padding: [4, 10, 4, 10],
//text: "",
fill: new Fill({ color: "#ffffff" }),
// stroke: new Stroke({ color: "#ffffff", width: 3 }),
offsetY: -30,
offsetX: -50,
overflow: true,
});
};
//
var parentStyleFunction = (function () {
return function (feature) {
return new Style({
// fill: new Fill({
// color: [255, 255, 255, 0.3]
// }),
stroke: new Stroke({
color: [0, 103, 182, 1],
width: 2
}),
// text: createTextStyle(feature)
});;
};
})()
//
var polygonStyleFunction = (function () {
return function (feature) {
return new Style({
fill: new Fill({
// color: [255, 255, 255, 0.3]
color: polygonColorArray[feature.values_.colorIndex]
}),
stroke: new Stroke({
color: polygonColorArray[feature.values_.colorIndex],
width: 3
}),
text: createTextStyle(feature)
});;
};
})()
//
let reverseFunc = function (pixelsTemp) {
//
for (var i = 0; i < pixelsTemp.length; i += 4) {
var r = pixelsTemp[i];
var g = pixelsTemp[i + 1];
var b = pixelsTemp[i + 2];
//
var grey = r * 0.3 + g * 0.59 + b * 0.11;
//rgb
pixelsTemp[i] = grey;
pixelsTemp[i + 1] = grey;
pixelsTemp[i + 2] = grey;
//
pixelsTemp[i] = 55 - pixelsTemp[i];
pixelsTemp[i + 1] = 255 - pixelsTemp[i + 1];
pixelsTemp[i + 2] = 305 - pixelsTemp[i + 2];
}
};
const vueGis = {
name: 'HomeMap',
data () {
return {
centerPoint: [],//
zoom: 14,//14
minZoom: 1,//
orgData: {},//
orgId: '',
@ -582,16 +675,41 @@ const vueGis = {
selPlaceType: '',
selInfo: {},
selUserId: '',
showPeopleInfo: false,
pageType: '',
eventId: '1542065054671142914',
eventDetailData: {},
showPeopleInfo: false
}
},
async mounted () {
//
await this.loadOrgData()
//
this.initMap()
await nextTick(300)
this.addParentLayer()
this.loadParentPolygon()
//
this.addPolygonLayer()
//icontuceng
this.addIconLayer()
//
this.loadPolygon(this.subAgencyArray)
this.setMapLocation()
await this.loadCategoryList()
this.getTable();
await this.getMapTable();
//icon
this.addOverlay()
this.addMapClick()
},
methods: {
@ -1036,18 +1154,11 @@ const vueGis = {
this.getTable();
this.getMapTable();
},
// handleSearch () {
// this.demand.pageNo = 1
// this.getTable();
// this.getMapTable();
// },
handleSearch () {
this.pageType = "dispose";
},
handleClose () {
this.pageType = "";
this.demand.pageNo = 1
this.getTable();
this.getMapTable();
},
//
handleClickRow (index) {
let selData = this.tableList[index]
@ -1727,7 +1838,7 @@ const vueGis = {
...mapGetters(["clientHeight"])
},
components: { cptTb, cptCard, ScreenLoading, People, eventInfo, serviceInfo, fuwuInfo, qsydw },
components: { cptTb, cptCard, ScreenLoading, People },
}
export default vueGis;
</script>

155
src/views/modules/visual/communityParty/community.vue

@ -84,7 +84,7 @@
</div>
<div class="box-right">
<div class="box-map">
<screen-map v-show="showMap" class="map"
<!-- <screen-map v-show="showMap" class="map"
ref="cmap"
:mapId="'cmap'"
:showPolygonLayer="true"
@ -94,7 +94,17 @@
:showPolIconLayer="true"
:areaScale="0.1"
@clickFeature="clickProject"
></screen-map>
></screen-map> -->
<new-map
ref="newmap"
:pitch="0"
:srcGridData="agencyInfo"
:dotList2="unitTableData"
:dotIcoList2="dotIconList"
:icon-size="16"
@clickDot="clickProject"
/>
<!-- :dotIcoList="dotIcoList" -->
</div>
<!-- <div class="map-tips">
<div v-for="(item, index) in partyItem"
@ -196,6 +206,7 @@ import dialogInfo from './dialogInfo.vue'
import unitInfo from './unitInfo.vue'
import screenMap from "@/views/modules/visual/components/screen-map";
import screenEchartsFrame from "../components/screen-echarts-frame";
import newMap from '../cpts/map/index2.vue'
import { pieOption } from './options'
export default {
@ -206,6 +217,7 @@ export default {
dialogInfo,
unitInfo,
screenMap,
newMap,
screenEchartsFrame
},
data () {
@ -283,7 +295,17 @@ export default {
orgLevel: '',
parentPolygon: [],
unitAclist: [],
showMap: false
showMap: false,
dotIconList: {
lxdj: require('../../../../assets/img/shuju/measure/lxdj.png'),//
lxzz: require('../../../../assets/img/shuju/measure/lxzz.png'),//
qydj: require('../../../../assets/img/shuju/measure/qydw.png'),//
jgzs: require('../../../../assets/img/shuju/measure/jgzs.png'),//
other: require('../../../../assets/img/shuju/measure/other.png'),//
minban: require('../../../../assets/img/shuju/measure/minban.png'),//
jijin: require('../../../../assets/img/shuju/measure/jijin.png'),//
qita: require('../../../../assets/img/shuju/measure/qita.png')
}
};
},
async mounted () {
@ -299,10 +321,7 @@ export default {
this.getList(this.agencyId)
this.getUnitList(this.agencyId)
this.getCateCount(this.agencyId)
// await this.getWorkUserInfo()
// await this.getMapUnitList(this.agencyId)
},
watch: {
timeRange (val) {
@ -430,6 +449,7 @@ export default {
this.getUnitList(_arr[0])
// this.getCateType(_arr[0], isClick && _code || '')
}
console.log('执行了吗------', seriesIndex)
this.noInit = true
@ -538,20 +558,28 @@ export default {
if (item.type === '楼宇党建') {
item.urlIndex = 0
item.categoryKey = 'lxdj'
} else if (item.type === '两新组织') {
item.urlIndex = 1
item.categoryKey = 'lxzz'
} else if (item.type === '区域单位党建') {
item.urlIndex = 2
item.categoryKey = 'qydj'
} else if (item.type === '机关直属部门') {
item.urlIndex = 3
item.categoryKey = 'jgzs'
} else if (item.type === '社会团体') {
item.urlIndex = 4
item.categoryKey = 'other'
} else if (item.type === '民办非企业单位') {
item.urlIndex = 5
item.categoryKey = 'minban'
} else if (item.type === '基金会') {
item.urlIndex = 6
item.categoryKey = 'jijin'
} else if (item.type === '其他') {
item.urlIndex = 7
item.categoryKey = 'qita'
}
});
// const url = require('../../../../assets/img/shuju/measure/other.png')
@ -571,7 +599,7 @@ export default {
//false
this.$nextTick(() => {
this.loadMap()
// this.loadMap()
this.$forceUpdate()
this.isfirstInit = false
})
@ -775,15 +803,15 @@ export default {
this.orgId = _arr[0]
this.orgLevel = orgType
this.unitType = ''
this.noInit = false
this.$refs.eduChart.clear()
this.getList(_arr[0])
await this.getCateType(_arr[0])
await this.loadOrgData()
this.agencyInfo = { ...this.orgData }
console.log('agencyInfo-----', this.agencyInfo)
// this.agencyInfo = { ...this.orgData }
// console.log('agencyInfo-----', this.agencyInfo)
this.getUnitList(_arr[0])
// this.getMapUnitList(_arr[0])
this.getCateCount(_arr[0])
}
@ -829,34 +857,6 @@ export default {
},
//
getWorkUserInfo () {
const url = '/epmetuser/customerstaff/staffbasicinfo'
let params = {}
window.app.ajax.post(
url,
params,
(data, rspMsg) => {
// this.agencyInfo = data
this.agencyInfo = { ...data, agencyLevel: data.level}
if (!data.latitude) {
this.agencyInfo.latitude = 36.072227
}
if (!data.longitude) {
this.agencyInfo.longitude = 120.389455
}
if (!data.level) {
this.agencyInfo.level = 'street'
this.agencyInfo.agencyLevel = 'street'
}
},
(rspMsg, data) => {
this.$message.error(rspMsg)
}
)
},
// //
// async loadType () {
@ -878,70 +878,6 @@ export default {
// },
//
async getMapUnitList (agencyId) {
const url = "/heart/icpartyunit/distribution"
// const url = "http://yapi.elinkservice.cn/mock/245/heart/icpartyunit/distribution"
let params = {
agencyId
}
const { data, code, msg } = await requestPost(url, params)
if (code === 0) {
console.log('unitMapList----data', data)
this.unitMapList = data.map((item, index) => {
return {
...item,
urlIndex: index
}
})
console.log('unitMapList----', this.unitMapList)
this.unitMapList.forEach(item => {
if (item.type === '楼宇党建') {
item.urlIndex = 0
} else if (item.type === '两新组织') {
item.urlIndex = 1
} else if (item.type === '区域单位党建') {
item.urlIndex = 2
} else if (item.type === '机关直属部门') {
item.urlIndex = 3
} else if (item.type === '社会团体') {
item.urlIndex = 4
} else if (item.type === '民办非企业单位') {
item.urlIndex = 5
} else if (item.type === '基金会') {
item.urlIndex = 6
} else if (item.type === '其他') {
item.urlIndex = 7
}
});
// const url = require('../../../../assets/img/shuju/measure/other.png')
this.iconUrlArray = [
require('../../../../assets/img/shuju/measure/lxdj.png'),//
require('../../../../assets/img/shuju/measure/lxzz.png'),//
require('../../../../assets/img/shuju/measure/qydw.png'),//
require('../../../../assets/img/shuju/measure/jgzs.png'),//
require('../../../../assets/img/shuju/measure/qita.png'),//
require('../../../../assets/img/shuju/measure/minban.png'),//
require('../../../../assets/img/shuju/measure/jijin.png'),//
require('../../../../assets/img/shuju/measure/other.png')//
]
// this.iconUrlArray = [url, url, url, url, url, url, url, url]
//false
this.loadMap()
this.isfirstInit = false
} else {
this.$message.error(msg)
}
},
//
@ -962,11 +898,11 @@ export default {
//
async clickProject (feature) {
console.log('标注信息', feature.values_.properties)
if (!feature.values_.properties.info.id) {
console.log('标注信息', feature)
if (!feature.id) {
return false
}
const info = feature.values_.properties.info
const info = feature
const url = "/heart/icpartyunit/detail"
// const url = "http://yapi.elinkservice.cn/mock/245/heart/icpartyunit/distribution"
@ -1018,7 +954,7 @@ export default {
<span>`+ _info.address + `</span>
</div>
`
this.$refs.cmap.handleShowPopup(showData, coordinate)
this.$refs.newmap.showPopup(showData, coordinate)
} else {
this.$message.error(msg)
@ -1108,6 +1044,13 @@ export default {
background: linear-gradient(270deg, #0063fe, #0095ff);
}
}
::v-deep .l7-popup-content {
background: #1257c9;
}
::v-deep .l7-popup-close-button {
right: 10px;
color: #fff;
}
}
.card-title {
display: flex;

2
src/views/modules/visual/components/screen-map/index.vue

@ -772,7 +772,7 @@ const vueGis = {
});
if (feature) {
// console.log(feature)
console.log('feature---', feature)
if (_that.clickType === 'back') {
_that.$emit('clickFeature', feature)

634
src/views/modules/visual/cpts/map/index2.vue

@ -0,0 +1,634 @@
<template>
<div class="m-map">
<div id="map"></div>
<div
class="btn"
v-if="mapStyleType == 'light'"
@click="shiftMapStyle('dark')"
>
切换深色模式
</div>
<div class="btn" v-else @click="shiftMapStyle('light')">切换浅色模式</div>
</div>
</template>
<script>
import { requestPost } from "@/js/dai/request";
import cptCard from "@/views/modules/visual/cpts/card";
import cptTb from "@/views/modules/visual/cpts/tb";
import nextTick from "dai-js/tools/nextTick";
import { Scene, PolygonLayer, LineLayer, PointLayer, Popup } from "@antv/l7";
import { GaodeMap, Map } from "@antv/l7-maps";
import { spliceIntoChunks } from "@/utils/index";
let scene;
let polygonLayer;
let lineLayer;
let textLayer;
let posLayer;
let circleLayer;
let dotLayer;
let dotBgLayer;
let dotLayer2
export default {
name: "l7",
inject: ["refresh"],
data() {
return {
mapStyleType: localStorage.getItem("mapStyle") || "dark",
// srcGridData: {},
darkStyle: {
style: "amap://styles/blue",
polygonColor: [
"rgba(255, 100, 60, 0.5)",
"rgba(43, 231, 253, 0.35)",
"rgba(255, 255, 50, 0.35)",
],
lineColor: [
"rgba(255, 180, 150, 0.9)",
"rgba(43, 231, 253, 0.7)",
"rgba(255, 255, 50, 0.7)",
],
circleColor: [
"rgba(255, 180, 150, 0.99)",
"rgba(43, 231, 253, 0.99)",
"rgba(255, 255, 50, 0.99)",
],
textColor: [
"rgba(255, 100, 60, 0.99)",
"rgba(43, 231, 253, 0.99)",
"rgba(255, 255, 50, 0.99)",
],
textStrokeColor: "#fff",
},
lightStyle: {
style: "amap://styles/whitesmoke",
polygonColor: [
"rgba(255, 100, 60, 0.3)",
"rgba(43, 231, 253, 0.3)",
"rgba(255, 255, 50, 0.3)",
],
lineColor: [
"rgba(220, 150, 120, 0.9)",
"rgba(33, 201, 223, 0.8)",
"rgba(200, 200, 50, 0.9)",
],
circleColor: [
"rgba(255, 180, 150, 0.99)",
"rgba(13, 181, 203, 0.8)",
"rgba(255, 255, 50, 0.99)",
],
textColor: [
"rgba(200, 50, 10, 0.99)",
"rgba(0, 130, 153, 0.99)",
"rgba(120, 120, 0, 0.99)",
],
textStrokeColor: "#666",
},
};
},
props: {
pitch: {
type: Number,
default: 60,
},
srcGridData: {
type: Object,
default: null,
},
dotList: {
type: Array,
default: () => [],
},
dotIcoList: {
type: Object,
default: () => ({}),
},
dotList2: {
type: Array,
default: () => [],
},
dotIcoList2: {
type: Object,
default: () => ({}),
},
iconSize: {
type: Number,
default: 20
}
},
computed: {},
components: {
cptCard,
cptTb,
},
watch: {},
async mounted() {
//
window._AMapSecurityConfig = {
securityJsCode: "92ea2c965c6cf1ba7ee3a8fe01449ef2",
};
this.iniMap();
},
computed: {
polygonData() {
const { srcGridData } = this;
if (
!srcGridData ||
!srcGridData.children ||
!Array.isArray(srcGridData.children)
) {
return { type: "FeatureCollection", features: [] };
}
const polygon = [
...srcGridData.children
.filter((item) => item.coordinates.length > 0)
.map((item) => ({
type: "Feature",
properties: {
// id: item.id,
// name: item.name,
// level: item.level,
center: [item.longitude, item.latitude],
...item,
},
geometry: {
type: "Polygon",
coordinates: [
spliceIntoChunks(
item.coordinates.split(",").map((item) => parseFloat(item)),
2
).filter((item) => item.length == 2),
],
},
})),
];
return { type: "FeatureCollection", features: polygon };
},
polygonDotData() {
const { srcGridData } = this;
if (
!srcGridData ||
!srcGridData.children ||
!Array.isArray(srcGridData.children)
) {
return { type: "FeatureCollection", features: [] };
}
const polygon = [
...srcGridData.children
.filter((item) => item.coordinates.length > 0)
.map((item) => ({
type: "Feature",
properties: {
// id: item.id,
// name: item.name,
// level: item.level,
center: [item.longitude, item.latitude],
...item,
},
geometry: {
type: "Polygon",
coordinates: [
item.latitude
? [[item.longitude, item.latitude]]
: spliceIntoChunks(
item.coordinates
.split(",")
.map((item) => parseFloat(item)),
2
).filter((item) => item.length == 2),
],
},
})),
];
return { type: "FeatureCollection", features: polygon };
},
dotData() {
const { dotList } = this;
return {
type: "FeatureCollection",
features: [
...dotList
.filter((item) => item.latitude)
.map((item) => ({
type: "Feature",
properties: {
...item,
},
geometry: {
type: "Point",
coordinates: [
parseFloat(item.longitude),
parseFloat(item.latitude),
],
},
})),
],
};
},
dotData2() {
const { dotList2 } = this;
return {
type: "FeatureCollection",
features: [
...dotList2
.filter((item) => item.latitude)
.map((item) => ({
type: "Feature",
properties: {
...item,
},
geometry: {
type: "Point",
coordinates: [
parseFloat(item.longitude),
parseFloat(item.latitude),
],
},
})),
],
};
},
},
watch: {
srcGridData(val, oldValue) {
// scene.removeAllLayer()
if (oldValue == null) {
this.iniMap();
} else {
this.updateGrid();
}
this.zoomInABit();
},
dotList(val, oldValue) {
// scene.removeAllLayer()
this.updateDot();
},
dotList2(val, oldValue) {
// scene.removeAllLayer()
this.updateDot2();
},
},
methods: {
iniMap() {
const { darkStyle, lightStyle, srcGridData } = this;
if (!srcGridData) return false;
let styleConfig = darkStyle;
if (this.mapStyleType == "light") {
styleConfig = lightStyle;
}
scene = new Scene({
id: "map",
logoVisible: false,
map: new GaodeMap({
pitch: this.pitch,
style: styleConfig.style,
center: [
srcGridData.longitude ||
this.$store.state.user.longitude ||
116.39743841556731,
srcGridData.latitude ||
this.$store.state.user.latitude ||
39.9088810666821,
],
token: "fc14b42e0ca18387866d68ebd4f150c1",
zoom: 18,
isHotspot: false,
resizeEnable: true,
doubleClickZoom: false,
}),
});
scene.on("loaded", async () => {
this.iniMapGrid(scene);
this.iniMapDot(scene);
this.iniMapDot2(scene);
await nextTick(0);
this.zoomInABit();
});
},
iniMapGrid(scene) {
const { darkStyle, lightStyle, polygonData, polygonDotData } = this;
let styleConfig = darkStyle;
if (this.mapStyleType == "light") {
styleConfig = lightStyle;
}
console.log("地图初始化数据", polygonData);
polygonLayer = new PolygonLayer({
autoFit: true,
})
// .size(0)
.source(polygonData)
.color("name", styleConfig.polygonColor)
// .shape("extrude")
.shape("fill")
.style({
opacityLinear: {
enable: true, // true - false
dir: "out", // in - out
},
opacity: 1,
// heightfixed: true,
// pickLight: true,
raisingHeight: 0,
// sourceColor: "#333",
// targetColor: "rgba(255,255,255, 0.5)",
});
scene.addLayer(polygonLayer);
lineLayer = new LineLayer({
zIndex: 2,
name: "line2",
})
.source(polygonData)
.shape("line")
.size(1)
.color("name", styleConfig.lineColor)
.style({
opacity: 1,
})
.animate({
interval: 1, //
duration: 2, //
trailLength: 2, // 线
});
scene.addLayer(lineLayer);
circleLayer = new PolygonLayer({
zIndex: 3,
})
.source(polygonDotData)
.color("name", styleConfig.circleColor)
.shape("circle")
.active(true)
.animate(true)
.size(50)
.style({
offsets: [0, -10], // [, ]
opacity: 1,
});
scene.addLayer(circleLayer);
scene.addImage("pos-red", require("@/assets/img/shuju/grid/pos-red.png"));
scene.addImage(
"pos-green",
require("@/assets/img/shuju/grid/pos-green.png")
);
scene.addImage(
"pos-yellow",
require("@/assets/img/shuju/grid/pos-yellow.png")
);
posLayer = new PolygonLayer({
zIndex: 4,
})
.source(polygonDotData)
.shape("name", ["pos-red", "pos-green", "pos-yellow"])
.size(12)
.style({
offsets: [0, 8], // [, ]
// rotation: 60,
layerType: "fillImage",
});
scene.addLayer(posLayer);
textLayer = new PolygonLayer({
zIndex: 20,
})
.source(polygonDotData)
.color("name", styleConfig.textColor)
.shape("name", "text")
.size(16)
.style({
textAnchor: "center", // center|left|right|top|bottom|top-left
textOffset: [0, 40], // [, ]
spacing: 2, //
padding: [2, 2], // padding []
stroke: styleConfig.textStrokeColor, //
strokeWidth: 0.1, //
strokeOpacity: 0.8,
textAllowOverlap: true,
})
.active(true);
scene.addLayer(textLayer);
polygonLayer.on("mousemove", (e) => {
polygonLayer.style({
raisingHeight: 0,
});
});
polygonLayer.on("click", (e) => {
console.log(e.feature.properties);
this.$emit("clickAgency", e.feature.properties);
});
polygonLayer.on("unmousemove", (e) => {
polygonLayer.style({
raisingHeight: 0,
});
});
},
iniMapDot(scene) {
const { darkStyle, lightStyle, dotIcoList, dotData } = this;
Object.keys(dotIcoList).forEach((k) => {
scene.addImage(k, dotIcoList[k]);
});
dotBgLayer = new PointLayer({
zIndex: 20,
})
.source(dotData)
.shape("circle")
.color("rgba(255,255,255,0.8)")
.size(this.iconSize)
.style({
strokeWidth: 3,
strokeOpacity: 0.1,
stroke: "#000",
});
scene.addLayer(dotBgLayer);
dotLayer = new PointLayer({
zIndex: 21,
})
.source(dotData)
.shape("categoryKey", (k) => k)
.size(10)
.style({
offsets: [0, 0],
layerType: "fillImage",
});
scene.addLayer(dotLayer);
dotBgLayer.on("click", (e) => {
console.log(e.feature.properties);
this.$emit("clickDot", e.feature.properties);
});
dotBgLayer.on("mousemove", (e) => {
// console.log(e);
if (e.feature.properties.content) {
const popup = new Popup({
offsets: [0, -0],
closeButton: false,
})
.setLnglat(e.feature.geometry.coordinates)
.setHTML(`<span>${e.feature.properties.content}</span>`);
scene.addPopup(popup);
}
});
dotBgLayer.on("unmousemove", (e) => {});
},
iniMapDot2(scene) {
const { dotIcoList2: dotIcoList, dotData2: dotData } = this;
Object.keys(dotIcoList).forEach((k) => {
scene.addImage(k, dotIcoList[k]);
});
dotLayer2 = new PointLayer({
zIndex: 21,
})
.source(dotData)
.shape("categoryKey", (k) => k)
.size(this.iconSize)
.style({
offsets: [0, 0],
layerType: "fillImage",
});
scene.addLayer(dotLayer2);
dotLayer2.on("click", (e) => {
console.log(e.feature.properties);
this.$emit("clickDot", e.feature.properties);
});
dotLayer2.on("mousemove", (e) => {
// console.log(e);
if (e.feature.properties.content) {
const popup = new Popup({
offsets: [0, -0],
closeButton: false,
})
.setLnglat(e.feature.geometry.coordinates)
.setHTML(`<span>${e.feature.properties.content}</span>`);
scene.addPopup(popup);
}
});
dotLayer2.on("unmousemove", (e) => {});
},
showPopup(html, coordinates) {
const popup = new Popup({
offsets: [0, -0],
closeButton: true,
})
.setLnglat(coordinates)
.setHTML(html);
scene.addPopup(popup);
},
//
zoomInABit() {
let current = scene.getZoom();
scene.setZoomAndCenter(current + 0.5);
},
shiftMapStyle(type) {
this.mapStyleType = type;
localStorage.setItem("mapStyle", type);
this.refresh();
},
updateMap() {
this.updateGrid();
this.updateDot();
this.updateDot2();
},
updateGrid() {
const { polygonData } = this;
if (polygonLayer) {
polygonLayer.setData(polygonData);
lineLayer.setData(polygonData);
textLayer.setData(polygonData);
posLayer.setData(polygonData);
circleLayer.setData(polygonData);
}
},
updateDot() {
const { dotData } = this;
if (dotLayer) {
console.log(dotData);
dotLayer.setData(dotData);
dotBgLayer.setData(dotData);
}
},
updateDot2() {
const { dotData2: dotData } = this;
if (dotLayer2) {
console.log(dotData);
dotLayer2.setData(dotData);
}
},
},
};
</script>
<style lang="scss" scoped>
.m-map {
position: relative;
height: 100%;
border-radius: 10px;
overflow: hidden;
#app {
width: 100%;
height: 100%;
}
.btn {
position: absolute;
bottom: 0;
left: 0;
width: 100px;
line-height: 36px;
height: 36px;
text-align: center;
color: #ffffff;
font-size: 14px;
background-color: rgba(#000, 0.2);
cursor: pointer;
}
}
</style>
Loading…
Cancel
Save