+          
+            
+          
+          
 
 
@@ -108,17 +113,20 @@ import screenTable from "../components/screen-table/index";
 import cptCard from "@/views/modules/visual/cpts/card";
 import nextTick from "dai-js/tools/nextTick";
 import dialogInfo from './dialogInfo.vue'
+import screenMap from "@/views/modules/visual/components/screen-map";
 
 export default {
   name: "warning-box",
   components: {
     cptCard,
     screenTable,
-    dialogInfo
+    dialogInfo,
+    screenMap
   },
-  data() {
+  data () {
     return {
-      showedMoreInfo: true,
+
+      showedMoreInfo: false,
       tableLoading: false,
       warningList: [],
       headerList: [
@@ -172,19 +180,64 @@ export default {
           icon: require('../../../../assets/img/shuju/measure/qita.png')
         }
       ],
+
+      //地图相关数据
+      isfirstInit: true,//记录是否是首次加载地图
+      agencyInfo: {},//登陆者的组织信息:主要为了获取地图中心点和level
+      unitMapList: [],
+      unitMapList1: [
+        {
+          type: '党建楼宇',
+          name: '建联单位1',
+          latitude: 36.062227,
+          longitude: 120.389455,
+        },
+        {
+          type: '党建楼宇',
+          name: '建联单位2',
+          latitude: 36.082227,
+          longitude: 120.389455,
+        },
+        {
+          type: '机关直属部门',
+          name: '建联单位3',
+          latitude: 36.062227,
+          longitude: 120.379455,
+        },
+        {
+          type: '两新党建',
+          name: '建联单位4',
+          latitude: 36.082227,
+          longitude: 120.379455,
+        },
+        {
+          type: '辖区单位',
+          name: '建联单位5',
+          latitude: 36.092227,
+          longitude: 120.379455,
+        },
+        {
+          type: '其他',
+          name: '建联单位6',
+          latitude: 36.102227,
+          longitude: 120.379455,
+        }
+      ],
     };
   },
-  async mounted() {
+  async mounted () {
     const { user } = this.$store.state
     this.agencyId = user.agencyId
     await nextTick(100);
     this.loadUnit()
     this.getList();
+    await this.getWorkUserInfo()
+    await this.getMapUnitList()
   },
   methods: {
-    
+
     //具体人员列表
-    async getList() {
+    async getList () {
       this.visibleLoading = true
 
       const url = "/heart/icpartyactivity/search"
@@ -195,7 +248,7 @@ export default {
         pageNo: this.pageNo,
         serviceMatter: this.serviceMatter,
         startTime: this.timeRange.length > 0 && this.timeRange[0] || '',
-        endTime: this.timeRange.length > 0 &&  this.timeRange[1] || ''
+        endTime: this.timeRange.length > 0 && this.timeRange[1] || ''
       }
 
       const { data, code, msg } = await requestPost(url, params)
@@ -226,15 +279,131 @@ export default {
       }
 
     },
-    handleSelectChange() {
+
+    // 获取当前管理员信息
+    getWorkUserInfo () {
+      const url = '/epmetuser/customerstaff/staffbasicinfo'
+      let params = {}
+      window.app.ajax.post(
+        url,
+        params,
+        (data, rspMsg) => {
+          this.agencyInfo = data
+          if (!data.latitude) {
+            this.agencyInfo.latitude = 36.072227
+          }
+          if (!data.longitude) {
+            this.agencyInfo.longitude = 120.389455
+          }
+          if (!data.level) {
+            this.agencyInfo.level = 'street'
+          }
+
+        },
+        (rspMsg, data) => {
+          this.$message.error(rspMsg)
+        }
+      )
+
+    },
+
+    //  //获取分类
+    // async loadType () {
+    //   const url = "/sys/dict/data/dictlist"
+
+    //   let params = {
+    //     dictType: 'party_unit_type'
+    //   }
+
+    //   const { data, code, msg } = await requestPost(url, params)
+
+    //   if (code === 0) {
+    //     this.typeList = data
+
+    //   } else {
+    //     this.$message.error(msg)
+    //   }
+
+    // },
+
+    //获取联建单位分布图
+    async getMapUnitList () {
+      // const url = "/heart/icpartyunit/distribution"
+      const url = "http://yapi.elinkservice.cn/mock/245/heart/icpartyunit/distribution"
+
+      let params = {
+        agencyId: this.agencyId
+      }
+
+      const { data, code, msg } = await requestPost(url, params)
+
+      if (code === 0) {
+        // this.unitMapList = data
+        this.unitMapList = this.unitMapList1
+
+        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
+          }
+        });
+
+
+        this.iconUrlArray = [
+          require('../../../../assets/img/shuju/measure/ly@2x.png'),//未处理
+          require('../../../../assets/img/shuju/measure/jgzs@2x.png'),//已处理
+          require('../../../../assets/img/shuju/measure/lxdj@2x.png'),//已处理
+          require('../../../../assets/img/shuju/measure/xq@2x.png'),//已处理
+          require('../../../../assets/img/shuju/measure/qita.png')//已处理
+        ]
+
+
+        //第一次加载完置为false
+        this.loadMap()
+
+        this.isfirstInit = false
+
+      } else {
+        this.$message.error(msg)
+      }
+
+    },
+
+
+    //加载地图数据
+    loadMap () {
+      if (this.isfirstInit) {
+        //mapInfo, polygonArray, polIconUrlArray, iconArrays, iconUrlArray
+        this.$refs.map.loadMap(this.agencyInfo, null, null, this.unitMapList, this.iconUrlArray, null)
+      } else {
+        this.$refs.map.refreshMap(null, this.unitMapList)
+
+      }
+    },
+
+    //点击项目
+    clickProject (feature) {
+      console.log('标注信息', feature.values_.properties)
+    },
+
+
+    handleSelectChange () {
       this.getList();
     },
-    pageSizeChangeHandleNew(val) {
+    pageSizeChangeHandleNew (val) {
       this.pageNo = 1;
       this.pageSize = val;
       this.getList();
     },
-    pageCurrentChangeHandleNew(val) {
+    pageCurrentChangeHandleNew (val) {
       this.pageNo = val;
       this.getList();
     },
@@ -277,7 +446,6 @@ export default {
     color: #fff;
     font-weight: 800;
   }
-  
 }
 .second-title {
   display: flex;
@@ -291,7 +459,7 @@ export default {
     color: #fff;
   }
   .second-title-label::after {
-    content: '';
+    content: "";
     position: absolute;
     top: 50%;
     left: 20px;
@@ -299,7 +467,7 @@ export default {
     height: 12px;
     box-sizing: border-box;
     margin-top: -6px;
-    background: #2865FA;
+    background: #2865fa;
     border-radius: 50%;
   }
   .second-select {
@@ -312,12 +480,12 @@ export default {
         padding: 0 10px;
         color: #fff;
         line-height: 36px;
-        background: #06186D;
-        border: 1px solid #1A64CC;
+        background: #06186d;
+        border: 1px solid #1a64cc;
       }
-      
+
       .el-icon-arrow-up:before {
-        content: "\e78f"
+        content: "\e78f";
       }
       // .el-select__caret:before {
       //   content: '\E790'
@@ -326,11 +494,11 @@ export default {
     ::v-deep .el-date-editor {
       width: 360px;
       position: relative;
-      background: #06186D;
-      border: 1px solid #1A64CC;
+      background: #06186d;
+      border: 1px solid #1a64cc;
       .el-range-input {
         color: #fff;
-        background: #06186D;
+        background: #06186d;
       }
       .el-range-separator {
         color: #fff;
@@ -360,7 +528,7 @@ export default {
     .box-left-item {
       .box-label {
         font-size: 16px;
-        color: rgba(255, 255, 255, .72);
+        color: rgba(255, 255, 255, 0.72);
       }
       .box-num {
         font-size: 32px;
@@ -373,7 +541,12 @@ export default {
     flex: 1;
     .box-map {
       height: 400px;
-      border: 1px solid #2865FA;
+      // border: 1px solid #2865fa;
+
+      .map {
+        height: 100%;
+        width: 100%;
+      }
     }
   }
   .box-left-w400 {
@@ -400,7 +573,6 @@ export default {
   }
 }
 
-
 .map-tips {
   width: 100%;
   display: flex;
@@ -432,5 +604,4 @@ export default {
     }
   }
 }
-
 
diff --git a/src/views/modules/visual/components/screen-map/index copy.vue b/src/views/modules/visual/components/screen-map/index copy.vue
deleted file mode 100644
index 09217e026..000000000
--- a/src/views/modules/visual/components/screen-map/index copy.vue	
+++ /dev/null
@@ -1,516 +0,0 @@
-
-  
-
-
-
-
-
-
-
-   
\ No newline at end of file
diff --git a/src/views/modules/visual/components/screen-map/index.vue b/src/views/modules/visual/components/screen-map/index.vue
index dc0252add..20ee5fadd 100644
--- a/src/views/modules/visual/components/screen-map/index.vue
+++ b/src/views/modules/visual/components/screen-map/index.vue
@@ -342,10 +342,14 @@ const vueGis = {
 
     //icon文字样式
     createTextStyle (feature) {
+      if (this.iconTextStyle) {
+        let iconTextStyle = { ...this.iconTextStyle }
+        iconTextStyle.text = feature.values_.name
+        return new Text({ ...iconTextStyle })
+      } else {
+        return null
+      }
 
-      let iconTextStyle = { ...this.iconTextStyle }
-      iconTextStyle.text = feature.values_.name
-      return new Text({ ...iconTextStyle })
 
     },