13127578837 пре 1 година
родитељ
комит
fa1ef9d1eb
3 измењених фајлова са 1052 додато и 154 уклоњено
  1. 721 103
      src/components/mixins/map-data1 copy.js
  2. 180 37
      src/components/mixins/map-data1.js
  3. 151 14
      src/views/security-plan.vue

+ 721 - 103
src/components/mixins/map-data1 copy.js

@@ -1,5 +1,6 @@
 import axios from "axios";
 import data from "@c/mixins/anbao";
+
 export default {
     data() {
         return {
@@ -22,8 +23,7 @@ export default {
          *地图初始化
          *
          */
-        async initMap() {
-
+        async initMap(type) {
             window.vue = this;
             window.jMap = null;
             window.jmapQuery = null;
@@ -40,19 +40,16 @@ export default {
                     // ToDo...
                 },
                 map_left_click_callback: (obj, type, movement, event) => {
-                    console.log(movement.position)
                     this.stores.$state.tankuangXY = { x: movement.position.x, y: movement.position.y };
-                    // this.$store.commit("tankuangXY", { x: movement.position.x, y: movement.position.y });
                 },
                 map_right_click_callback: (obj) => {},
             };
-
             let res = await this.$axios.get(this.$api.dt);
-
             // 加载地图
             window.jMap.createMap("mapF", res.data, window.location.origin, map_params, {});
             // 地图背景样式
             window.jMap.switchBaseLayer("blue");
+
             /**
              * 获取街镇信息
              */
@@ -80,38 +77,505 @@ export default {
             };
 
             window.jMap.addLayer("mh_dyn_district", [1], options);
-            var _this = this;
 
-            function addLayerCallBack(obj) {
-                // _this.streetTownMap(obj._name)
-                _this.stores.streetTownSet(obj._name)
 
+            // 街镇标题绘制
+            // var qp = new JMapQueryParam({
+            //     queryMapService: "mh_dyn_district",
+            //     queryMapLayers: [1],
+            //     outFields: ["code", "name", "center_x", "center_y"],
+            //     // queryWhere: "name like '%莘庄镇%' ",
+            //     callBack: (res) => {
+
+            //         res.features.forEach(async(val) => {
+            //             await window.jMap.FlagInfo.show({
+            //                 id: val.attributes.code,
+            //                 position: { x: Number(val.attributes.center_x), y: Number(val.attributes.center_y), z: 0 },
+            //                 element: `<div class='ysc-dynamic-layer ys-css3-box' onclick="vue.clickFlag(${val.attributes.code})">
+            //                                     <div class='biaozhu' style="font-size:18px !important">${val.attributes.name}   ${val.attributes.code}</div>
+            //                             </div>`,
+            //             }, { isZoom: false });
+            //         });
+            //     },
+            // });
+            // new JMapQuery(window.jMap).execQuery(qp)
+
+
+
+        },
+        /**
+         * 安保区域
+         * @param {*} status 是否有图层
+         * @param {*} id 1大网格 2小网格 
+         * @param {*} query 搜索内容
+         */
+        anbao(status, id, query) {
+            var that = this
+            var color = [
+                "#2c6395",
+                "#1b6cb6",
+                "#40a4ff",
+                "#8ac7ff",
+                "#b1cce5",
+
+                "#a03523",
+                "#d7le00",
+                "#ffa192",
+                "#dba197",
+
+                "#009081",
+                "#00ae9c",
+                "#50fed",
+
+                "#4d6700",
+                "#729900",
+                // "#3f8a3f", "#68afc1", "#5081c5", "#c3a102", "#d17100", "#009b8a", "#b72727", "#71a382", "#1c6093", "#a4294f", "#3f8a3f", "#68afc1",
+                // "#5081c5", "#c3a102", "#d17100", , "#a4294f", "#3f8a3f", "#68afc1", "#5081c5", "#c3a102", "#d17100",
+                // "#3f8a3f", "#68afc1", "#5081c5", "#c3a102", "#d17100", "#009b8a", "#b72727", "#71a382", "#1c6093", "#a4294f", "#3f8a3f", "#68afc1",
+                // "#5081c5", "#c3a102", "#d17100", , "#a4294f", "#3f8a3f", "#68afc1", "#5081c5", "#c3a102", "#d17100",
+                // "#3f8a3f", "#68afc1", "#5081c5", "#c3a102", "#d17100", "#009b8a", "#b72727", "#71a382", "#1c6093", "#a4294f", "#3f8a3f", "#68afc1",
+                // "#5081c5", "#c3a102", "#d17100", , "#a4294f", "#3f8a3f", "#68afc1", "#5081c5", "#c3a102", "#d17100",
+                // "#3f8a3f", "#68afc1", "#5081c5", "#c3a102", "#d17100", "#009b8a", "#b72727", "#71a382", "#1c6093", "#a4294f", "#3f8a3f", "#68afc1",
+                // "#5081c5", "#c3a102", "#d17100", , "#a4294f", "#3f8a3f", "#68afc1", "#5081c5", "#c3a102", "#d17100",
+                // "#3f8a3f", "#68afc1", "#5081c5", "#c3a102", "#d17100", "#009b8a", "#b72727", "#71a382", "#1c6093", "#a4294f", "#3f8a3f", "#68afc1",
+                // "#5081c5", "#c3a102", "#d17100", , "#a4294f", "#3f8a3f", "#68afc1", "#5081c5", "#c3a102", "#d17100",
+                // "#3f8a3f", "#68afc1", "#5081c5", "#c3a102", "#d17100", "#009b8a", "#b72727", "#71a382", "#1c6093", "#a4294f", "#3f8a3f", "#68afc1",
+                // "#5081c5", "#c3a102", "#d17100", , "#a4294f", "#3f8a3f", "#68afc1", "#5081c5", "#c3a102", "#d17100",
+                // "#3f8a3f", "#68afc1", "#5081c5", "#c3a102", "#d17100", "#009b8a", "#b72727", "#71a382", "#1c6093", "#a4294f", "#3f8a3f", "#68afc1",
+                // "#5081c5", "#c3a102", "#d17100", , "#a4294f", "#3f8a3f", "#68afc1", "#5081c5", "#c3a102", "#d17100",
+                // "#3f8a3f", "#68afc1", "#5081c5", "#c3a102", "#d17100", "#009b8a", "#b72727", "#71a382", "#1c6093", "#a4294f", "#3f8a3f", "#68afc1",
+                // "#5081c5", "#c3a102", "#d17100", , "#a4294f", "#3f8a3f", "#68afc1", "#5081c5", "#c3a102", "#d17100",
+
+
+            ];
+            var JmapQuery = new JMapQuery(window.jMap); // JMap为初始化地图时,实例化的JMap对象
+            if (status) {
+                window.jMap.Locate.clearLocate(); //清楚分布
+                // window.jMap.removeLayer();    //  空值清除所有已添加图层
             }
 
-            // 街镇标题
-            var qp = new JMapQueryParam({
-                queryMapService: "mh_dyn_district",
-                queryMapLayers: [1],
-                outFields: ["code", "name", "center_x", "center_y"],
-                queryWhere: "name like '%莘庄镇%' ",
-                callBack: (res) => {
-
-                    res.features.forEach(async(val) => {
-                        await window.jMap.FlagInfo.show({
-                            id: val.attributes.code,
-                            position: { x: Number(val.attributes.center_x), y: Number(val.attributes.center_y), z: 0 },
-                            element: `<div class='ysc-dynamic-layer ys-css3-box' onclick="vue.clickFlag(${val.attributes.code})">
-                                                <div class='biaozhu' style="font-size:18px !important">${val.attributes.name}   ${val.attributes.code}</div>
-                                        </div>`,
-                        }, { isZoom: false });
+
+            //中网格
+            if (id == 1) {
+                setTimeout(() => {
+                    // 例: 8.1 2 查询图层列表
+                    var qp2 = new JMapQueryParam({
+                        queryMapService: "mh_dyn_cywg",
+                        queryMapLayers: [0],
+                        //  queryGeometry: result[0],         //  默认进行属性查询,放开该段注释将在选定的几何空间内进行空间查询
+                        // queryWhere: "name like '%莘庄镇%' ", //  可自定义查询条件,也可不传该参数
+                        outFields: ["*"], //  返回字段信息
+                        callBack: testQueryCallBack2
                     });
-                },
-            });
+                    JmapQuery.execQuery(qp2);
+                    // 图层查询完毕的回调函数
+                    function testQueryCallBack2(obj) {
+
+                        var bigNewArr = [];
+                        var name = [];
+                        var bigArr = obj.features.filter(function(el) {
+                            return el.attributes.name.indexOf('新虹街道') > -1 ||
+                                el.attributes.name.indexOf('华漕') > -1 ||
+                                el.attributes.name.indexOf('七宝中片') > -1 ||
+                                el.attributes.name.indexOf('航华网格') > -1 ||
+                                el.attributes.name.indexOf('七宝北片网格') > -1 ||
+                                el.attributes.name.indexOf('紫藤、红松') > -1 ||
+                                el.attributes.name.indexOf('虹梅区域') > -1
+
+                        })
+                        bigArr.forEach(function(item, index) {
+                            var aaa = item.geometry.rings[0];
+                            var newArr = aaa.map(function(value, index) {
+                                var obj = {
+                                    x: value[0],
+                                    y: value[1],
+                                    z: 0.1
+                                }
+                                return obj
+                            })
+                            bigNewArr.push(newArr);
+                            name.push(item.attributes.name)
+
+                        })
+                        let arrayAll = [];
+                        bigNewArr.forEach(function(item, index) {
+                            var idx = index + 1;
+                            setTimeout(() => {
+                                    // 2区域分布
+                                    var target = {
+                                        id: idx,
+                                        attributes: {
+                                            position: item[0],
+                                            name: name[index] == "华漕镇处置网格二(纪王西片区)" ? "闵S1-1(纪王西网格)" : name[index] == "华漕镇处置网格一(纪王东片区)" ? "闵S1-2(纪王东网格)" : name[index] == "华漕镇处置网格四(诸翟北片区)" ? "闵S1-3(诸翟北网格)" : name[index] == "华漕镇处置网格五(诸翟南片区)" ? "闵S1-4(诸翟南网格)" : name[index] == "华漕镇处置网格三(老华漕片区)" ? "闵S1-5(老华漕网格)" : name[index] == "新虹街道处置网格二(爱博)" ? "闵S2-1(爱博网格)" : name[index] == "新虹街道处置网格三(华美)" ? "闵S2-2(华美网格)" : name[index] == "新虹街道处置网格一(枢纽)" ? "闵S2-3(枢纽网格)" : name[index] == "新虹街道处置网格四(航华)" ? "闵S2-4(航华网格)" : name[index] == "七宝镇处置网格一(七宝北片网格)" ? "闵S3-1(七宝北片网格)" : name[index] == "七宝镇处置网格二(七宝中片网格)" ? "闵S3-2(七宝吴宝路网格)" : name[index] == "七宝镇处置网格五(航华网格)" ? "闵S3-3(七宝航华网格)" : name[index] == "虹桥镇处置网格四(紫藤、红松区域)" ? "闵S4-1(紫藤红松网格)" : name[index] == "虹桥镇处置网格二(虹梅区域)" ? "闵S4-2(虹梅网格)" : name[index]
+                                        },
+                                        position: item,
+                                        label: {
+                                            text: name[index] == "华漕镇处置网格二(纪王西片区)" ? "闵S1-1(纪王西网格)" : name[index] == "华漕镇处置网格一(纪王东片区)" ? "闵S1-2(纪王东网格)" : name[index] == "华漕镇处置网格四(诸翟北片区)" ? "闵S1-3(诸翟北网格)" : name[index] == "华漕镇处置网格五(诸翟南片区)" ? "闵S1-4(诸翟南网格)" : name[index] == "华漕镇处置网格三(老华漕片区)" ? "闵S1-5(老华漕网格)" : name[index] == "新虹街道处置网格二(爱博)" ? "闵S2-1(爱博网格)" : name[index] == "新虹街道处置网格三(华美)" ? "闵S2-2(华美网格)" : name[index] == "新虹街道处置网格一(枢纽)" ? "闵S2-3(枢纽网格)" : name[index] == "新虹街道处置网格四(航华)" ? "闵S2-4(航华网格)" : name[index] == "七宝镇处置网格一(七宝北片网格)" ? "闵S3-1(七宝北片网格)" : name[index] == "七宝镇处置网格二(七宝中片网格)" ? "闵S3-2(七宝吴宝路网格)" : name[index] == "七宝镇处置网格五(航华网格)" ? "闵S3-3(七宝航华网格)" : name[index] == "虹桥镇处置网格四(紫藤、红松区域)" ? "闵S4-1(紫藤红松网格)" : name[index] == "虹桥镇处置网格二(虹梅区域)" ? "闵S4-2(虹梅网格)" : name[index],
+                                            font: "14px Helvetica",
+                                            color: "#fff",
+                                            pixelOffset: [0, -40]
+                                        }
+                                    };
+                                    var options = {
+                                        isZoom: 10,
+                                        camera: {
+                                            x: 121.4175597,
+                                            y: 31.119248,
+                                            radius: 18000.0,
+                                            offset: { heading: -4, pitch: -70, range: 0 },
+                                        },
+                                        click: regionLocateCallBack,
+                                        style: {
+                                            color: name[index] == "华漕镇处置网格二(纪王西片区)" ? "#2c6395" : name[index] == "华漕镇处置网格一(纪王东片区)" ? "#1b6cb6" : name[index] == "华漕镇处置网格四(诸翟北片区)" ? "#40a4ff" : name[index] == "华漕镇处置网格五(诸翟南片区)" ? "#8ac7ff" : name[index] == "华漕镇处置网格三(老华漕片区)" ? "#b1cce5" : name[index] == "新虹街道处置网格二(爱博)" ? "#a03523" : name[index] == "新虹街道处置网格三(华美)" ? "#d71e00" : name[index] == "新虹街道处置网格一(枢纽)" ? "#ffa192" : name[index] == "新虹街道处置网格四(航华)" ? "#dba197" : name[index] == "七宝镇处置网格一(七宝北片网格)" ? "#009081" : name[index] == "七宝镇处置网格二(七宝中片网格)" ? "#00ae9c" : name[index] == "七宝镇处置网格五(航华网格)" ? "#50ffed" : name[index] == "虹桥镇处置网格四(紫藤、红松区域)" ? "#b2ec0a" : name[index] == "虹桥镇处置网格二(虹梅区域)" ? "#b2ec4a" : "#729900",
+                                            transparency: 0.6,
+                                            outline: true,
+                                            outlineColor: 'blue',
+
+                                            // "#4d6700",
+                                            // "#729900",
+                                        }
+
+                                    };
+                                    setTimeout(() => {
+                                        jMap.Locate.regionLocate(target, options);
+                                    }, 500)
+
+
+                                    // 分布点点击事件的回调函数
+                                    function regionLocateCallBack(obj) {
+                                        that.stores.gridDataChange(obj._attributes);
+                                    }
+
+                                }, idx * 1)
+                                // item.forEach(function(i) {
+                                //     arrayAll.push(i)
+                                // })
+                        })
+                    }
+                }, 1000)
+            }
 
-            // new JMapQuery(window.jMap).execQuery(qp)
+            //小网格(居委会)
+            if (id == 2 && query) {
+                // console.log(query)
+                let queryName = ""
+                for (let i = 0; i < query.length; i++) {
+                    // console.log(query[i].mapGridName)
+                    queryName = queryName ? `${queryName},'${query[i].mapGridName}'` : `'${query[i].mapGridName}'`
+                }
+                setTimeout(() => {
+                    var name2 = [];
+                    var qp3 = new JMapQueryParam({
+                        queryMapService: "mh_dyn_district",
+                        queryMapLayers: [2],
+                        //  queryGeometry: result[0],         //  默认进行属性查询,放开该段注释将在选定的几何空间内进行空间查询
+                        // queryWhere: "name like '%纪东村村委会%' ", //  可自定义查询条件,也可不传该参数
+                        // queryWhere: "grid_type in ('居委网格','村委网格') and subdistrict like '%华漕镇%' ", //  可自定义查询条件,也可不传该参数
+                        // queryWhere: `name in ('沪星村村委会','九星村村委会','新龙村经济合作社','中春路第二居委会',
+                        //         '万科第四居委会',
+                        //         '万科城市花园第二居委会',
+                        //         '中春路居委会',
+                        //         '佳宝新村第一居委会',
+                        //         '万科城市花园第三居委会',
+                        //         '万科城市花园居委会',
+                        //         '沪星村村委会',
+                        //         '新龙村经济合作社',
+                        //         '吴宝路第一居委会',
+                        //         '塘北居委会',
+                        //         '塘南居委会',
+                        //         '吴宝路第二居委会',
+                        //         '吴宝路第三居委会',
+                        //         '蒲汇新村居委会',
+                        //         '京都苑居委会',
+                        //         '号上村经济合作社',
+                        //         '新龙村经济合作社',
+                        //         '航华一村第三居委会',
+                        //         '航华一村第四居委会',
+                        //         '航华二村第一居委会',
+                        //         '航华二村第四居委会',
+                        //         '航华一村第一居委会',
+                        //         '航华二村第三居委会',
+                        //         '航华四村第一居委会',
+                        //         '航华四村第四居委会',
+                        //         '航华四村第三居委会',
+                        //         '七韵美地苑居委会',
+                        //         '航华四村第二居委会',
+                        //         '航华三村第一居委会',
+                        //         '漕宝路居委会',
+                        //         '龙柏一村第一居委会',
+                        //         '龙柏一村第二居委会',
+                        //         '龙柏二村居委会',
+                        //         '兰竹居委会',
+                        //         '金汇华光城居委会',
+                        //         '西郊居委会',
+                        //         '虹鹿居委会',
+                        //         '红春公司',
+                        //         '华光花园居委会',
+                        //         '虹华苑居委会',
+                        //         '测绘院地图网格名称',
+                        //         '许浦村村委会',
+                        //         '西郊城第一居委会',
+                        //         '华漕村村委会',
+                        //         '南华路居委会',
+                        //         '王泥浜村村委会',
+                        //         '紫薇新村居委会',
+                        //         '诸翟村村委会',
+                        //         '诸翟居委会',
+                        //         '九韵城居委会',
+                        //         '诸新路居委会',
+                        //         '金丰城第一居委会',
+                        //         '美邻苑居委会',
+                        //         '爱博六村居委会',
+                        //         '杨家巷村村委会',
+                        //         '闵北路居委会(筹)',
+                        //         '西郊虹韵城居委会',
+                        //         '陈家角村村委会',
+                        //         '石皮弄村村委会',
+                        //         '纪东村村委会',
+                        //         '纪王居委会',
+                        //         '纪王村村委会',
+                        //         '银杏新村居委会',
+                        //         '红卫村村委会',
+                        //         '卫星村村委会',
+                        //         '纪西村村委会',
+                        //         '赵家村村委会',
+                        //         '鹫山村村委会',
+                        //         '爱博一村居委会',
+                        //         '爱博二村居委会',
+                        //         '爱博三村居委会',
+                        //         '爱博四村居委会',
+                        //         '华美路第二居委会',
+                        //         '航华一村第二居委会',
+                        //         '航华一村第五居委会',
+                        //         '航华一村第六居委会'
+                        //     ) and subdistrict in ('华漕镇','新虹街道','虹桥镇','七宝镇')`, //  可自定义查询条件,也可不传该参数
+                        // queryWhere: `name in (${queryName}) and subdistrict in ('华漕镇','新虹街道','虹桥镇','七宝镇')`, //  可自定义查询条件,也可不传该参数
+                        queryWhere: `subdistrict in ('华漕镇','新虹街道','虹桥镇','七宝镇')`, //  可自定义查询条件,也可不传该参数
+                        // queryWhere: `grid_type in ('居委网格','村委网格','拓展网格') and subdistrict in ('华漕镇','新虹街道','虹桥镇','七宝镇')`, //  可自定义查询条件,也可不传该参数
+                        outFields: ["*"], //  返回字段信息
+                        callBack: testQueryCallBack3
+                    });
+                    JmapQuery.execQuery(qp3);
+
+                    function testQueryCallBack3(obj) {
+                        console.log("所有",obj)
+                        let a = []
+                        for (let i = 0; i < obj.features.length; i++) {
+                            a[i] = {
+                                    name: obj.features[i].attributes.name,
+                                    subdistrict: obj.features[i].attributes.subdistrict,
+                                }
+                                // name2.push(obj.features[i].attributes.name)
+                                // console.log(obj.features[i].attributes.grid_type)
+                        }
+                        // console.log(a)
+                        var big2Arr = []
+                        obj.features.forEach(function(item, index) {
+                            var b2 = item.geometry.rings;
+                            b2.forEach(function(item2, index2) {
+                                var newArr2 = b2[index2].map(function(value, index3) {
+                                    var obj = {
+                                        x: value[0],
+                                        y: value[1],
+                                        z: 0.1
+                                    }
+                                    return obj
+                                })
+                                big2Arr.push(newArr2);
+                                name2.push(item.attributes.name)
+                            })
+                        })
+
+                        big2Arr.forEach(function(item, index) {
+                            var idx = index + 1;
+                            setTimeout(() => {
+                                // 2区域分布
+                                var target = {
+                                    id: idx,
+                                    attributes: {
+                                        position: item[0],
+                                        name: name2[index]
+                                    },
+                                    position: item,
+                                    label: {
+                                        text: name2[index],
+                                        font: "12px Helvetica",
+                                        color: "transparent",
+                                        pixelOffset: [0, -40]
+                                    }
+                                };
+                                var options = {
+                                    isZoom: true,
+                                    click: regionLocateCallBack2,
+                                    style: {
+                                        color: "#68afc1",
+                                        transparency: 0.6,
+                                        outline: true,
+                                        outlineColor: 'blue',
+                                    }
+
+                                };
+                                setTimeout(() => {
+                                        jMap.Locate.regionLocate(target, options);
+                                    }, 500)
+                                    // 分布点点击事件的回调函数
+                                function regionLocateCallBack2(obj) {
+                                    that.stores.gridDataChange(obj._attributes);
+                                }
+
+                            }, idx * 1)
+                        })
+                    }
+                }, 2000);
+            }
+             //大网格
+             if (id == 3) {
+                setTimeout(() => {
+                    // 例: 8.1 2 查询图层列表
+                    var qp2 = new JMapQueryParam({
+                        queryMapService: "mh_dyn_cywg",
+                        queryMapLayers: [0],
+                        //  queryGeometry: result[0],         //  默认进行属性查询,放开该段注释将在选定的几何空间内进行空间查询
+                        // queryWhere: "name like '%莘庄镇%' ", //  可自定义查询条件,也可不传该参数
+                        outFields: ["*"], //  返回字段信息
+                        callBack: testQueryCallBack2
+                    });
+                    JmapQuery.execQuery(qp2);
+                    // 图层查询完毕的回调函数
+                    function testQueryCallBack2(obj) {
+
+                        var bigNewArr = [];
+                        var name = [];
+                        var bigArr = obj.features.filter(function(el) {
+                            return el.attributes.name.indexOf('新虹街道') > -1 ||
+                                el.attributes.name.indexOf('华漕') > -1 ||
+                                el.attributes.name.indexOf('七宝中片') > -1 ||
+                                el.attributes.name.indexOf('航华网格') > -1 ||
+                                el.attributes.name.indexOf('七宝北片网格') > -1 ||
+                                el.attributes.name.indexOf('紫藤、红松') > -1 ||
+                                el.attributes.name.indexOf('虹梅区域') > -1
+
+                        })
+                        bigArr.forEach(function(item, index) {
+                            var aaa = item.geometry.rings[0];
+                            var newArr = aaa.map(function(value, index) {
+                                var obj = {
+                                    x: value[0],
+                                    y: value[1],
+                                    z: 0.1
+                                }
+                                return obj
+                            })
+                            bigNewArr.push(newArr);
+                            name.push(item.attributes.name)
+
+                        })
+                        let arrayAll = [];
+                        bigNewArr.forEach(function(item, index) {
+                            var idx = index + 1;
+                            setTimeout(() => {
+                                    // 2区域分布
+                                    var target = {
+                                        id: idx,
+                                        attributes: {
+                                            position: item[0],
+                                            name: name[index] == "华漕镇处置网格二(纪王西片区)" ? "闵S1-1(纪王西网格)" : name[index] == "华漕镇处置网格一(纪王东片区)" ? "闵S1-2(纪王东网格)" : name[index] == "华漕镇处置网格四(诸翟北片区)" ? "闵S1-3(诸翟北网格)" : name[index] == "华漕镇处置网格五(诸翟南片区)" ? "闵S1-4(诸翟南网格)" : name[index] == "华漕镇处置网格三(老华漕片区)" ? "闵S1-5(老华漕网格)" : name[index] == "新虹街道处置网格二(爱博)" ? "闵S2-1(爱博网格)" : name[index] == "新虹街道处置网格三(华美)" ? "闵S2-2(华美网格)" : name[index] == "新虹街道处置网格一(枢纽)" ? "闵S2-3(枢纽网格)" : name[index] == "新虹街道处置网格四(航华)" ? "闵S2-4(航华网格)" : name[index] == "七宝镇处置网格一(七宝北片网格)" ? "闵S3-1(七宝北片网格)" : name[index] == "七宝镇处置网格二(七宝中片网格)" ? "闵S3-2(七宝吴宝路网格)" : name[index] == "七宝镇处置网格五(航华网格)" ? "闵S3-3(七宝航华网格)" : name[index] == "虹桥镇处置网格四(紫藤、红松区域)" ? "闵S4-1(紫藤红松网格)" : name[index] == "虹桥镇处置网格二(虹梅区域)" ? "闵S4-2(虹梅网格)" : name[index]
+                                        },
+                                        position: item,
+                                        label: {
+                                            // text: name[index] == "华漕镇处置网格二(纪王西片区)" ? "闵S1-1(纪王西网格)" : name[index] == "华漕镇处置网格一(纪王东片区)" ? "闵S1-2(纪王东网格)" : name[index] == "华漕镇处置网格四(诸翟北片区)" ? "闵S1-3(诸翟北网格)" : name[index] == "华漕镇处置网格五(诸翟南片区)" ? "闵S1-4(诸翟南网格)" : name[index] == "华漕镇处置网格三(老华漕片区)" ? "闵S1-5(老华漕网格)" : name[index] == "新虹街道处置网格二(爱博)" ? "闵S2-1(爱博网格)" : name[index] == "新虹街道处置网格三(华美)" ? "闵S2-2(华美网格)" : name[index] == "新虹街道处置网格一(枢纽)" ? "闵S2-3(枢纽网格)" : name[index] == "新虹街道处置网格四(航华)" ? "闵S2-4(航华网格)" : name[index] == "七宝镇处置网格一(七宝北片网格)" ? "闵S3-1(七宝北片网格)" : name[index] == "七宝镇处置网格二(七宝中片网格)" ? "闵S3-2(七宝吴宝路网格)" : name[index] == "七宝镇处置网格五(航华网格)" ? "闵S3-3(七宝航华网格)" : name[index] == "虹桥镇处置网格四(紫藤、红松区域)" ? "闵S4-1(紫藤红松网格)" : name[index] == "虹桥镇处置网格二(虹梅区域)" ? "闵S4-2(虹梅网格)" : name[index],
+                                            font: "14px Helvetica",
+                                            color: "#fff",
+                                            pixelOffset: [0, -40]
+                                        }
+                                    };
+                                    var options = {
+                                        isZoom: 10,
+                                        camera: {
+                                            x: 121.4175597,
+                                            y: 31.119248,
+                                            radius: 18000.0,
+                                            offset: { heading: -4, pitch: -70, range: 0 },
+                                        },
+                                        click: regionLocateCallBack,
+                                        style: {
+                                            color: 
+                                            name[index] == "华漕镇处置网格二(纪王西片区)" ? "#5b9bd5" : 
+                                            name[index] == "华漕镇处置网格一(纪王东片区)" ? "#5b9bd5" : 
+                                            name[index] == "华漕镇处置网格四(诸翟北片区)" ? "#5b9bd5" : 
+                                            name[index] == "华漕镇处置网格五(诸翟南片区)" ? "#5b9bd5" : 
+                                            name[index] == "华漕镇处置网格三(老华漕片区)" ? "#5b9bd5" : 
+
+                                            name[index] == "新虹街道处置网格二(爱博)" ? "#17cfbc" : 
+                                            name[index] == "新虹街道处置网格三(华美)" ? "#17cfbc" : 
+                                            name[index] == "新虹街道处置网格一(枢纽)" ? "#17cfbc" : 
+                                            name[index] == "新虹街道处置网格四(航华)" ? "#17cfbc" : 
+
+                                            name[index] == "七宝镇处置网格一(七宝北片网格)" ? "#fca091" : 
+                                            name[index] == "七宝镇处置网格二(七宝中片网格)" ? "#fca091" : 
+                                            name[index] == "七宝镇处置网格五(航华网格)" ? "#fca091" : 
+
+                                            name[index] == "虹桥镇处置网格四(紫藤、红松区域)" ? "rgb(37, 95, 37)" : 
+                                            name[index] == "虹桥镇处置网格二(虹梅区域)" ? "rgb(37, 95, 37)" : "rgb(37, 95, 37)",
+                                            transparency: 0.6,
+                                            outline: true,
+                                            outlineColor: 'blue',
+
+                                            // "#4d6700",
+                                            // "#729900",
+                                        }
+
+                                    };
+                                    setTimeout(() => {
+                                        jMap.Locate.regionLocate(target, options);
+                                    }, 500)
+
+
+                                    // 分布点点击事件的回调函数
+                                    function regionLocateCallBack(obj) {
+                                        // that.stores.gridDataChange(obj._attributes);
+                                    }
+
+                                }, idx * 1)
+                                // item.forEach(function(i) {
+                                //     arrayAll.push(i)
+                                // })
+                        })
+                    }
+                }, 1000)
+            }
 
-            //window.jMap.bindBuildingClick(callbackFunction)
-            // 点击三维建筑模型触发的回调函数
+        },
+        /**
+         * 安保气泡窗
+         * @param {*} data 
+         */
+        anbaoPopup(data) {
+            var children = []
+
+            if (data.type == 15) {
+                children = [
+                    ["街道:", data.content.streetTown, 12],
+                    ["安监所人员:", data.content[0].type1, 12],
+                    ["城运中心人员:", data.content[0].type2, 12],
+                    ["消防助理员:", data.content[0].type3, 12],
+                ]
+            }
+            if (data.type == 16) {
+                children = [
+                    ["街道:", data.content[0].streetTown, 12],
+                    ["小网格人员:", data.content[0].type1, 12],
+                    ["小网格长:", data.content[0].type2, 12],
+                ]
+            }
+            let arrayList = [{
+                title: [data.name, true],
+                children: []
+            }]
+            arrayList[0].children = children
+            data.gisX = data.position.x
+            data.gisY = data.position.y
+            this.popup(data, arrayList, true, null, 1)
         },
         /**
          *添加动态图层
@@ -173,10 +637,9 @@ export default {
             }, 1000)
 
         },
+
         // 安保分布点点击事件的回调函数
-        regionLocateCallBack(obj) {
-            console.log(obj); // obj为返回值
-        },
+        regionLocateCallBack(obj) {},
 
         /**
          * @聚合撒点
@@ -198,9 +661,7 @@ export default {
             };
             jMap.ClusterMap.show(data, options);
         },
-        clickFlag(val) {
-            console.log(val);
-        },
+        clickFlag(val) {},
         randomColor() {
             var color = "#";
             //for循环中,如果后面仅有一条语句,{}可省略不写
@@ -215,7 +676,6 @@ export default {
          *街镇切换
          */
         streetTownSwitch(data) {
-            //     console.log(data);
             let sf = 2800.0;
             if (data.id == 12) {
                 //区缩放比例调整
@@ -242,7 +702,14 @@ export default {
          * @param {页面类型} type
          */
         addMarker(lnglats, pageType, type) {
+            console.log(lnglats, pageType, type)
+                // if(pageType == "security-plan"){
+
+            // }else{
             window.jMap.Locate.clearLocate();
+            // }
+
+            let that = this
             let icon = "";
             let arr = []
             let arr1 = []
@@ -310,12 +777,14 @@ export default {
 
                                 type == "三合一" ? this.stores.sadianIcon.shy : type == "实时警情" ? this.stores.sadianIcon.ssjq :
 
-                                type == "本年度重点事项推进情况" && val.status == 1 ? this.stores.sadianIcon.ywc : type == "本年度重点事项推进情况" && val.status == 2 ? this.stores.sadianIcon.jxz : type == "本年度重点事项推进情况" && val.status == 3 ? this.stores.sadianIcon.zbz : 
+                                type == "本年度重点事项推进情况" && val.status == 1 ? this.stores.sadianIcon.ywc : type == "本年度重点事项推进情况" && val.status == 2 ? this.stores.sadianIcon.jxz : type == "本年度重点事项推进情况" && val.status == 3 ? this.stores.sadianIcon.zbz :
 
-                                type == "高风险" ? this.stores.sadianIcon.gfx : type == "较高风险" ? this.stores.sadianIcon.jgfx : type == "一般风险" ? this.stores.sadianIcon.ybfx : type == "低风险" ? this.stores.sadianIcon.dfx : 
+                                type == "高风险" ? this.stores.sadianIcon.gfx : type == "较高风险" ? this.stores.sadianIcon.jgfx : type == "一般风险" ? this.stores.sadianIcon.ybfx : type == "低风险" ? this.stores.sadianIcon.dfx :
+
+                                type == "单位巡检" ? this.stores.sadianIcon.dwxj : type == "物联网设备" ? this.stores.sadianIcon.dwxj : type == "监控视频" ? this.stores.sadianIcon.ssjq : type == "监督检查" ? this.stores.sadianIcon.jdjc :
+                                type == "养老机构安全隐患清单" ?  this.stores.sadianIcon.xfdjl :
+                                type == "医疗机构安全隐患清单" ?  this.stores.sadianIcon.zzd :
 
-                                type == "单位巡检" ? this.stores.sadianIcon.dwxj :
-                                
                                 this.stores.sadianIcon.trsy,
 
                             // this.jqzhczIcon3 : val.type == "4" ?
@@ -593,22 +1062,35 @@ export default {
                                     ],
                                 }, ];
                                 this.popup(val._attrbutes, arrayList, true)
-                            }else if (val.attrbutes.facilityType == "22") {
-                                    let msgParse = JSON.parse(val.attrbutes.extendData)
-                                    let arrayList = [{
-                                        title: [val.attrbutes.facilityName, true],
-                                        children: [
-                                            ["单位地址:", msgParse.address, 24],
-                                            ["单位负责人:", val.attrbutes.contact, 24],
-                                            ["负责人电话:", val.attrbutes.contactPhone, 24],
-                                            ["巡检部位:", msgParse.test1, 24],
-                                            ["巡检人员:", msgParse.test2, 24],
-                                            ["巡检情况:", msgParse.test3, 24],
-                                            
-                                        ],
-                                    }, ];
-                                    this.popup(val._attrbutes, arrayList, true)
+                            } else if (val.attrbutes.facilityType == "22") {
+                                let msgParse = JSON.parse(val.attrbutes.extendData)
+                                let arrayList = [{
+                                    title: [val.attrbutes.facilityName, true],
+                                    children: [
+                                        ["单位地址:", msgParse.address, 24],
+                                        ["单位负责人:", val.attrbutes.contact, 24],
+                                        ["负责人电话:", val.attrbutes.contactPhone, 24],
+                                        ["巡检部位:", msgParse.test1, 24],
+                                        ["巡检人员:", msgParse.test2, 24],
+                                        ["巡检情况:", msgParse.test3, 24],
 
+                                    ],
+                                }, ];
+                                this.popup(val._attrbutes, arrayList, true)
+                            } else if (type == "物联网设备") {
+                                let arrayList = [{
+                                    title: [val.attrbutes.buildName, true],
+                                    children: [
+                                        ["建筑地址:", val.address, 24],
+                                        ["建筑面积:", val.attrbutes.buildArea, 24],
+                                        ["建筑高度:", val.attrbutes.buildHigh, 24],
+                                        ["地上(层):", val.attrbutes.aboveFloor, 24],
+                                        ["地下(层):", val.attrbutes.underFloor, 24],
+
+
+                                    ],
+                                }, ];
+                                this.popup(val._attrbutes, arrayList, true)
                             } else {
                                 let arrayList = [{
                                     title: ["单位详情", val.attrbutes.companyName ? true : false],
@@ -624,28 +1106,141 @@ export default {
 
                         }
                         //大型安保 、火灾数据分析
-                        if (pageType == "security-plan" || pageType == "fire-data-analysis") {
-                            let arrayList = [{
-                                title: ["案件详情", true],
-                                children: [
-                                    ["案件编号:", val.attrbutes.ajbh, 24],
-                                    ["案件描述:", val.attrbutes.bcxx, 24],
-                                    ["报警时间:", val.attrbutes.tzsj, 24],
-                                    ["案件类型:", val.attrbutes.ajlx, 24],
-                                    ["警情类别:", type, 24],
-                                    ["警情等级:", val.attrbutes.ajdj, 24],
-                                    ["调动车辆:", val.attrbutes.cdcl, 24],
-                                    ["处置对象:", val.attrbutes.czdx, 24],
-                                    ["主责中队:", val.attrbutes.zhongdui, 24],
-                                    ["案件状态:", val.attrbutes.ajzt, 24],
-                                    ["到场时间:", val.attrbutes.cssj, 24],
-                                    ["控制时间:", val.attrbutes.kzsj, 24],
-                                    ["熄灭时间:", val.attrbutes.xmsj, 24],
-                                    ["返队时间:", val.attrbutes.fdsj, 24],
-                                    ["所属街道:", val.attrbutes.streettown, 24],
-                                ],
-                            }, ];
-                            if (val._attrbutes.type != "国家会展中心") {
+                        if (pageType == "security-plan") {
+
+                            // let arrayList = [{
+                            //     title: ["案件详情", true],
+                            //     children: [
+                            //         ["案件编号:", val.attrbutes.ajbh, 24],
+                            //         ["案件描述:", val.attrbutes.bcxx, 24],
+                            //         ["报警时间:", val.attrbutes.tzsj, 24],
+                            //         ["案件类型:", val.attrbutes.ajlx, 24],
+                            //         ["警情类别:", type, 24],
+                            //         ["警情等级:", val.attrbutes.ajdj, 24],
+                            //         ["调动车辆:", val.attrbutes.cdcl, 24],
+                            //         ["处置对象:", val.attrbutes.czdx, 24],
+                            //         ["主责中队:", val.attrbutes.zhongdui, 24],
+                            //         ["案件状态:", val.attrbutes.ajzt, 24],
+                            //         ["到场时间:", val.attrbutes.cssj, 24],
+                            //         ["控制时间:", val.attrbutes.kzsj, 24],
+                            //         ["熄灭时间:", val.attrbutes.xmsj, 24],
+                            //         ["返队时间:", val.attrbutes.fdsj, 24],
+                            //         ["所属街道:", val.attrbutes.streettown, 24],
+                            //     ],
+                            // }, ];
+                            // if (val._attrbutes.type != "国家会展中心") {
+                            //     this.popup(val._attrbutes, arrayList, true)
+                            // }
+                            if (type == "监控视频") {
+                                let arrayList = [{
+                                    title: ["监控视频", true],
+                                    children: [
+                                        ["监控名称:", val.attrbutes.name, 24],
+                                        ["监控地址:", val.attrbutes.installPlace, 24],
+                                    ],
+                                    url: val.attrbutes.viewUrl,
+                                    id: val.attrbutes.id
+                                }, ];
+                                that.stores.jkspChange(arrayList);
+                                // this.popup(val._attrbutes, arrayList, true)
+                                // if (val._attrbutes.type != "国家会展中心") {
+                                //     this.popup(val._attrbutes, arrayList, true)
+                                // }
+                            }
+                            console.log(type)
+                            if (type == "监督检查") {
+                                console.log(val.attrbutes)
+                                let arrayList = [{
+                                    title: ["监督检查", true],
+                                    children: [
+                                        ["检查员名称:", val.attrbutes.checkName, 24],
+                                        ["检查人员所属单位:", val.attrbutes.subordinateCompany, 24],
+                                        ["检查时间:", val.attrbutes.checkTime, 24],
+                                        ["单位类型:", val.attrbutes.companyType, 24],
+                                        ["单位使用性质:", val.attrbutes.companyUseNature, 24],
+                                        ["单位法人:", val.attrbutes.companyName, 24],
+                                        ["单位(场所)实际名称:", val.attrbutes.companyActualName, 24],
+                                        ["网格号:", val.attrbutes.gridNum, 24],
+                                        ["所辖派出所:", val.attrbutes.subordinatePoliceStation, 24],
+                                        ["街镇:", val.attrbutes.street, 24],
+                                        ["单位地址:", val.attrbutes.companyAddress, 24],
+                                        ["消防安全责任人姓名:", val.attrbutes.fireDutyName, 24],
+                                        ["消防安全管理人姓名:", val.attrbutes.fireManageName, 24],
+                                        ["联系电话:", val.attrbutes.phone, 24],
+                                        // ["隐患图片:", val.attrbutes.hiddImage ? JSON.parse(val.attrbutes.hiddImage) : NULL, 24],
+                                    ],
+                                }, ];
+                                this.popup(val._attrbutes, arrayList, true)
+                            }
+                            if (type == "养老机构安全隐患清单") {
+                                console.log(val.attrbutes)
+                                let arrayList = [{
+                                    title: ["养老机构安全隐患清单", true],
+                                    children: [
+                                        ["设施名称:", val.attrbutes.facilityName, 24],
+                                        ["设施类型:", val.attrbutes.facilityType, 24],
+                                        ["地址:", val.attrbutes.address, 24],
+                                        ["所属街镇:", val.attrbutes.streetTown, 24],
+                                    ],
+                                }, ];
+                                this.popup(val._attrbutes, arrayList, true)
+                            }
+                            if (type == "医疗机构安全隐患清单") {
+                                console.log(val.attrbutes)
+                                let arrayList = [{
+                                    title: ["医疗机构安全隐患清单", true],
+                                    children: [
+                                        ["设施名称:", val.attrbutes.facilityName, 24],
+                                        ["设施类型:", val.attrbutes.facilityType, 24],
+                                        ["地址:", val.attrbutes.address, 24],
+                                        ["所属街镇:", val.attrbutes.streetTown, 24],
+                                    ],
+                                }, ];
+                                this.popup(val._attrbutes, arrayList, true)
+                            }
+                        }
+                        //火灾数据分析
+                        if (pageType == "fire-data-analysis") {
+                            if (type == "历史火灾") {
+                                let arrayList = [{
+                                    title: ["案件详情", true],
+                                    children: [
+                                        ["案件编号:", val.attrbutes.ajbh, 24],
+                                        ["案件描述:", val.attrbutes.bcxx, 24],
+                                        ["报警时间:", val.attrbutes.tzsj, 24],
+                                        ["案件类型:", val.attrbutes.ajlx, 24],
+                                        ["警情类别:", type, 24],
+                                        ["警情等级:", val.attrbutes.ajdj, 24],
+                                        ["调动车辆:", val.attrbutes.cdcl, 24],
+                                        ["处置对象:", val.attrbutes.czdx, 24],
+                                        ["主责中队:", val.attrbutes.zhongdui, 24],
+                                        ["案件状态:", val.attrbutes.ajzt, 24],
+                                        ["到场时间:", val.attrbutes.cssj, 24],
+                                        ["控制时间:", val.attrbutes.kzsj, 24],
+                                        ["熄灭时间:", val.attrbutes.xmsj, 24],
+                                        ["返队时间:", val.attrbutes.fdsj, 24],
+                                        ["所属街道:", val.attrbutes.streettown, 24],
+                                    ],
+                                }, ];
+                                this.popup(val._attrbutes, arrayList, true)
+                            }
+                            if (type == "伤人火灾" || type == "亡人火灾") {
+                                let arrayList = [{
+                                    title: ["案件详情", true],
+                                    children: [
+                                        ["火灾序号:", val.attrbutes.fireNumber, 24],
+                                        ["所属街道:", val.attrbutes.street, 24],
+                                        ["起火地点:", val.attrbutes.fireAddress, 24],
+                                        ["起火时间:", val.attrbutes.fireTime, 24],
+                                        ["直接财产损失:", val.attrbutes.directPropertyLoss + "万", 24],
+                                        ["过火面积:", val.attrbutes.burnedArea + "㎡", , 24],
+                                        ["受灾户数:", val.attrbutes.affectedHouse + "户", 24],
+                                        ["受灾人数:", val.attrbutes.victimNumber + "人", 24],
+                                        ["死亡人数:", val.attrbutes.deathToll + "人", 24],
+                                        ["受伤人数:", val.attrbutes.injuredNumber + "人", 24],
+                                        ["起火经过:", val.attrbutes.fireProcess, 24],
+                                    ],
+                                }, ];
                                 this.popup(val._attrbutes, arrayList, true)
                             }
                         }
@@ -802,7 +1397,6 @@ export default {
                     },
                 });
             }
-
         },
         //聚合点击事件
         clusterMapCallBack(clusterPointArr, clickPoint) {
@@ -835,7 +1429,10 @@ export default {
                 this.popup(val, arrayList, true)
             }
         },
-
+        /**
+         * 热力图
+         * @param {} data 
+         */
         heatMap(data) {
             let target = []
             if (data.length > 0) {
@@ -847,22 +1444,25 @@ export default {
                     target[i].x = x
                     target[i].y = y
                 }
+                let options = {
+                    style: {
+                        minOpacity: 0.6,
+                        maxOpacity: 0.9,
+                        radius: 50,
+                        gradient: {
+                            '.10': 'green',
+                            '.45': 'yellow',
+                            '.65': 'orange',
+                            '.80': 'red'
+                        }
+                    },
+                    isZoom: false
+                }
+                jMap.HeatMap.show(target, options)
+            } else {
+                jMap.HeatMap.hide()
             }
-            let options = {
-                style: {
-                    minOpacity: 0.6,
-                    maxOpacity: 0.9,
-                    radius: 50,
-                    gradient: {
-                        '.10': 'green',
-                        '.45': 'yellow',
-                        '.65': 'orange',
-                        '.80': 'red'
-                    }
-                },
-                isZoom: false
-            }
-            jMap.HeatMap.show(target, options)
+
         },
         // 无经纬度创建标点和点击事件
         addMarkerAddress(lnglats) {
@@ -1180,10 +1780,14 @@ export default {
         },
 
         /**
-         *
-         *气泡窗
+         * 气泡窗
+         * @param {*} data  
+         * @param {*} arrayList  展示数据
+         * @param {*} type 
+         * @param {*} other 
+         * @param {*} zb  坐标类型
          */
-        popup(data, arrayList, type, other) {
+        popup(data, arrayList, type, other, zb) {
             if (type) {
                 if (!other) {
                     var html = document.createElement('div');
@@ -1192,7 +1796,11 @@ export default {
                     line.className = 'line';
                     var main = document.createElement('div');
                     main.className = 'main';
-                    main.setAttribute('style', 'position: absolute;top:50%;max-height:500px;overflow-y: scroll;background:none;width:400px;bottom:auto; padding:10px 10px 5px 0 !important; border-radius: 0.05rem;border:1px solid rgba(115, 251, 253, 1);box - shadow: inset 0 0 1px 0.0125rem rgba(115, 251, 253, 1); background:rgba(0, 0, 0, 0.6)');
+                    if (zb) {
+                        main.setAttribute('style', 'position: fixed;top:120px;left:39%;max-height:500px;overflow-y: scroll;background:none;width:400px;bottom:auto; padding:10px 10px 5px 0 !important; border-radius: 0.05rem;border:1px solid rgba(115, 251, 253, 1);box - shadow: inset 0 0 1px 0.0125rem rgba(115, 251, 253, 1); background:rgba(0, 0, 0, 0.6)');
+                    } else {
+                        main.setAttribute('style', 'position: absolute;top:50%;max-height:500px;overflow-y: scroll;background:none;width:400px;bottom:auto; padding:10px 10px 5px 0 !important; border-radius: 0.05rem;border:1px solid rgba(115, 251, 253, 1);box - shadow: inset 0 0 1px 0.0125rem rgba(115, 251, 253, 1); background:rgba(0, 0, 0, 0.6)');
+                    }
                     var click = document.createElement('div');
                     click.setAttribute('style', 'float: right;width: 13px;height: 13px;position: absolute;top:8px;right:16px;cursor: pointer');
                     var img = document.createElement('img');
@@ -1211,12 +1819,13 @@ export default {
                     }
                     for (let i = 0; i < arrayList[0].children.length; i++) {
                         if (arrayList[0].children[i][1]) {
+
                             let textWrap = document.createElement('div');
                             textWrap.setAttribute('style', 'font-size:14px;color:#fff;line-height:25px;');
                             let p1 = document.createElement('span');
                             p1.setAttribute('style', 'color:#73fbfd;');
                             p1.innerHTML = arrayList[0].children[i][0]
-
+                                // if()
                             let p2 = document.createElement('span');
                             p2.setAttribute('style', 'color:#fff;word-break:break-all !important');
                             p2.innerHTML = arrayList[0].children[i][1]
@@ -1228,10 +1837,19 @@ export default {
                     setTimeout(() => {
                         main.appendChild(click)
                         main.appendChild(contain)
-                        html.appendChild(line)
+                        if (zb) {
+
+                        } else {
+                            html.appendChild(line)
+                        }
+
                         html.appendChild(main)
                         let text = html.innerHTML.replace(/"click"/g, '"click" onclick="vue.popup(false, false, false)"')
-                        var wgs84 = CoordUtil.gcj02towgs84(Number(data.gisX) || Number(data.longitude), Number(data.gisY) || Number(data.latitude))
+                        if (zb) {
+                            var wgs84 = [Number(data.gisX), Number(data.gisY)]
+                        } else {
+                            var wgs84 = CoordUtil.gcj02towgs84(Number(data.gisX) || Number(data.longitude), Number(data.gisY) || Number(data.latitude))
+                        }
                         var x = wgs84[0]
                         var y = wgs84[1]
                         var target = {

+ 180 - 37
src/components/mixins/map-data1.js

@@ -155,7 +155,7 @@ export default {
             }
 
 
-            //网格
+            //网格
             if (id == 1) {
                 setTimeout(() => {
                     // 例: 8.1 2 查询图层列表
@@ -255,10 +255,12 @@ export default {
                 }, 1000)
             }
 
-            //居委会
+            //小网格(居委会
             if (id == 2 && query) {
+                // console.log(query)
                 let queryName = ""
                 for (let i = 0; i < query.length; i++) {
+                    // console.log(query[i].mapGridName)
                     queryName = queryName ? `${queryName},'${query[i].mapGridName}'` : `'${query[i].mapGridName}'`
                 }
                 setTimeout(() => {
@@ -347,21 +349,46 @@ export default {
                         //         '航华一村第五居委会',
                         //         '航华一村第六居委会'
                         //     ) and subdistrict in ('华漕镇','新虹街道','虹桥镇','七宝镇')`, //  可自定义查询条件,也可不传该参数
-                        queryWhere: `name in (${queryName}) and subdistrict in ('华漕镇','新虹街道','虹桥镇','七宝镇')`, //  可自定义查询条件,也可不传该参数
+                        // queryWhere: `name in (${queryName}) and subdistrict in ('华漕镇','新虹街道','虹桥镇','七宝镇')`, //  可自定义查询条件,也可不传该参数
+                        // queryWhere: `subdistrict in ('华漕镇','新虹街道','虹桥镇','七宝镇')`, //  可自定义查询条件,也可不传该参数
+                        queryWhere: `grid_type in ('居委网格','村委网格') and subdistrict in ('华漕镇','新虹街道','虹桥镇','七宝镇')`, //  可自定义查询条件,也可不传该参数
                         outFields: ["*"], //  返回字段信息
                         callBack: testQueryCallBack3
                     });
                     JmapQuery.execQuery(qp3);
 
                     function testQueryCallBack3(obj) {
+                        // console.log("所有",obj)
                         let a = []
+                        // let b = []
                         for (let i = 0; i < obj.features.length; i++) {
                             a[i] = {
                                     name: obj.features[i].attributes.name,
                                     subdistrict: obj.features[i].attributes.subdistrict,
                                 }
+                            // b[i]= {
+                            //     gridArea:obj.features[i].attributes.grid_type,
+                            //     mapGridName:obj.features[i].attributes.name,
+                            //     streetTown:obj.features[i].attributes.subdistrict,
+                            // }
+
                                 // name2.push(obj.features[i].attributes.name)
+                                // console.log(obj.features[i].attributes.grid_type)
                         }
+                        // console.log(b)
+                        // let c = []
+                        // for(let i=0;i<b.length;i++){
+                        //     for(let aa =0;aa<query.length;aa++){
+                        //         if(query[aa].mapGridName == b[i].mapGridName){
+                        //             c[aa]= {
+                        //                 gridArea:b[i].gridArea,
+                        //                 mapGridName:b[i].mapGridName,
+                        //                 streetTown:b[i].streetTown,
+                        //             }  
+                        //         }
+                        //     }
+                        // }
+                        // console.log(c)
                         var big2Arr = []
                         obj.features.forEach(function(item, index) {
                             var b2 = item.geometry.rings;
@@ -393,7 +420,7 @@ export default {
                                     label: {
                                         text: name2[index],
                                         font: "12px Helvetica",
-                                        color: "#ccc",
+                                        color: "transparent",
                                         pixelOffset: [0, -40]
                                     }
                                 };
@@ -421,6 +448,122 @@ export default {
                     }
                 }, 2000);
             }
+             //大网格
+             if (id == 3) {
+                setTimeout(() => {
+                    // 例: 8.1 2 查询图层列表
+                    var qp2 = new JMapQueryParam({
+                        queryMapService: "mh_dyn_cywg",
+                        queryMapLayers: [0],
+                        //  queryGeometry: result[0],         //  默认进行属性查询,放开该段注释将在选定的几何空间内进行空间查询
+                        // queryWhere: "name like '%莘庄镇%' ", //  可自定义查询条件,也可不传该参数
+                        outFields: ["*"], //  返回字段信息
+                        callBack: testQueryCallBack2
+                    });
+                    JmapQuery.execQuery(qp2);
+                    // 图层查询完毕的回调函数
+                    function testQueryCallBack2(obj) {
+
+                        var bigNewArr = [];
+                        var name = [];
+                        var bigArr = obj.features.filter(function(el) {
+                            return el.attributes.name.indexOf('新虹街道') > -1 ||
+                                el.attributes.name.indexOf('华漕') > -1 ||
+                                el.attributes.name.indexOf('七宝中片') > -1 ||
+                                el.attributes.name.indexOf('航华网格') > -1 ||
+                                el.attributes.name.indexOf('七宝北片网格') > -1 ||
+                                el.attributes.name.indexOf('紫藤、红松') > -1 ||
+                                el.attributes.name.indexOf('虹梅区域') > -1
+
+                        })
+                        bigArr.forEach(function(item, index) {
+                            var aaa = item.geometry.rings[0];
+                            var newArr = aaa.map(function(value, index) {
+                                var obj = {
+                                    x: value[0],
+                                    y: value[1],
+                                    z: 0.1
+                                }
+                                return obj
+                            })
+                            bigNewArr.push(newArr);
+                            name.push(item.attributes.name)
+
+                        })
+                        let arrayAll = [];
+                        bigNewArr.forEach(function(item, index) {
+                            var idx = index + 1;
+                            setTimeout(() => {
+                                    // 2区域分布
+                                    var target = {
+                                        id: idx,
+                                        attributes: {
+                                            position: item[0],
+                                            name: name[index] == "华漕镇处置网格二(纪王西片区)" ? "闵S1-1(纪王西网格)" : name[index] == "华漕镇处置网格一(纪王东片区)" ? "闵S1-2(纪王东网格)" : name[index] == "华漕镇处置网格四(诸翟北片区)" ? "闵S1-3(诸翟北网格)" : name[index] == "华漕镇处置网格五(诸翟南片区)" ? "闵S1-4(诸翟南网格)" : name[index] == "华漕镇处置网格三(老华漕片区)" ? "闵S1-5(老华漕网格)" : name[index] == "新虹街道处置网格二(爱博)" ? "闵S2-1(爱博网格)" : name[index] == "新虹街道处置网格三(华美)" ? "闵S2-2(华美网格)" : name[index] == "新虹街道处置网格一(枢纽)" ? "闵S2-3(枢纽网格)" : name[index] == "新虹街道处置网格四(航华)" ? "闵S2-4(航华网格)" : name[index] == "七宝镇处置网格一(七宝北片网格)" ? "闵S3-1(七宝北片网格)" : name[index] == "七宝镇处置网格二(七宝中片网格)" ? "闵S3-2(七宝吴宝路网格)" : name[index] == "七宝镇处置网格五(航华网格)" ? "闵S3-3(七宝航华网格)" : name[index] == "虹桥镇处置网格四(紫藤、红松区域)" ? "闵S4-1(紫藤红松网格)" : name[index] == "虹桥镇处置网格二(虹梅区域)" ? "闵S4-2(虹梅网格)" : name[index]
+                                        },
+                                        position: item,
+                                        label: {
+                                            // text: name[index] == "华漕镇处置网格二(纪王西片区)" ? "闵S1-1(纪王西网格)" : name[index] == "华漕镇处置网格一(纪王东片区)" ? "闵S1-2(纪王东网格)" : name[index] == "华漕镇处置网格四(诸翟北片区)" ? "闵S1-3(诸翟北网格)" : name[index] == "华漕镇处置网格五(诸翟南片区)" ? "闵S1-4(诸翟南网格)" : name[index] == "华漕镇处置网格三(老华漕片区)" ? "闵S1-5(老华漕网格)" : name[index] == "新虹街道处置网格二(爱博)" ? "闵S2-1(爱博网格)" : name[index] == "新虹街道处置网格三(华美)" ? "闵S2-2(华美网格)" : name[index] == "新虹街道处置网格一(枢纽)" ? "闵S2-3(枢纽网格)" : name[index] == "新虹街道处置网格四(航华)" ? "闵S2-4(航华网格)" : name[index] == "七宝镇处置网格一(七宝北片网格)" ? "闵S3-1(七宝北片网格)" : name[index] == "七宝镇处置网格二(七宝中片网格)" ? "闵S3-2(七宝吴宝路网格)" : name[index] == "七宝镇处置网格五(航华网格)" ? "闵S3-3(七宝航华网格)" : name[index] == "虹桥镇处置网格四(紫藤、红松区域)" ? "闵S4-1(紫藤红松网格)" : name[index] == "虹桥镇处置网格二(虹梅区域)" ? "闵S4-2(虹梅网格)" : name[index],
+                                            font: "14px Helvetica",
+                                            color: "#fff",
+                                            pixelOffset: [0, -40]
+                                        }
+                                    };
+                                    var options = {
+                                        isZoom: 10,
+                                        camera: {
+                                            x: 121.4175597,
+                                            y: 31.119248,
+                                            radius: 18000.0,
+                                            offset: { heading: -4, pitch: -70, range: 0 },
+                                        },
+                                        click: regionLocateCallBack,
+                                        style: {
+                                            color: 
+                                            name[index] == "华漕镇处置网格二(纪王西片区)" ? "#5b9bd5" : 
+                                            name[index] == "华漕镇处置网格一(纪王东片区)" ? "#5b9bd5" : 
+                                            name[index] == "华漕镇处置网格四(诸翟北片区)" ? "#5b9bd5" : 
+                                            name[index] == "华漕镇处置网格五(诸翟南片区)" ? "#5b9bd5" : 
+                                            name[index] == "华漕镇处置网格三(老华漕片区)" ? "#5b9bd5" : 
+
+                                            name[index] == "新虹街道处置网格二(爱博)" ? "#17cfbc" : 
+                                            name[index] == "新虹街道处置网格三(华美)" ? "#17cfbc" : 
+                                            name[index] == "新虹街道处置网格一(枢纽)" ? "#17cfbc" : 
+                                            name[index] == "新虹街道处置网格四(航华)" ? "#17cfbc" : 
+
+                                            name[index] == "七宝镇处置网格一(七宝北片网格)" ? "#fca091" : 
+                                            name[index] == "七宝镇处置网格二(七宝中片网格)" ? "#fca091" : 
+                                            name[index] == "七宝镇处置网格五(航华网格)" ? "#fca091" : 
+
+                                            name[index] == "虹桥镇处置网格四(紫藤、红松区域)" ? "rgb(37, 95, 37)" : 
+                                            name[index] == "虹桥镇处置网格二(虹梅区域)" ? "rgb(37, 95, 37)" : "rgb(37, 95, 37)",
+                                            transparency: 0.6,
+                                            outline: true,
+                                            outlineColor: 'blue',
+
+                                            // "#4d6700",
+                                            // "#729900",
+                                        }
+
+                                    };
+                                    setTimeout(() => {
+                                        jMap.Locate.regionLocate(target, options);
+                                    }, 500)
+
+
+                                    // 分布点点击事件的回调函数
+                                    function regionLocateCallBack(obj) {
+                                        // that.stores.gridDataChange(obj._attributes);
+                                    }
+
+                                }, idx * 1)
+                                // item.forEach(function(i) {
+                                //     arrayAll.push(i)
+                                // })
+                        })
+                    }
+                }, 1000)
+            }
 
         },
         /**
@@ -481,39 +624,39 @@ export default {
          *安保区域划分
          *
          */
-        // anbaoMap() {
-        //     let target = {
-        //         id: '100001',
-        //         attributes: {
-        //             name: '大型安保范围',
-        //         },
-        //         position: data[0],
-        //         label: {
-        //             text: "大型安保范围",
-        //             font: "16px Helvetica",
-        //             color: "rgba(255,255,255,0.1)",
-        //             pixelOffset: [0, -50],
-        //             backgroundColor: "red"
-        //         }
-
-        //     }
-        //     var options = {
-        //         isZoom: true,
-        //         style: {
-        //             color: 'rgb(255,255,0,0.9)',
-        //             transparency: 1,
-        //             outline: true,
-        //             outlineColor: 'transparent',
-        //             perPositionHeight: true
-
-        //         },
-        //         // click: regionLocateCallBack
-        //     };
-        //     setTimeout(() => {
-        //         window.jMap.Locate.trackLocate(target, options);
-        //     }, 1000)
-
-        // },
+        anbaoMap() {
+            let target = {
+                id: '100001',
+                attributes: {
+                    name: '大型安保范围',
+                },
+                position: data[0],
+                label: {
+                    text: "大型安保范围",
+                    font: "16px Helvetica",
+                    color: "rgba(255,255,255,0.1)",
+                    pixelOffset: [0, -50],
+                    backgroundColor: "red"
+                }
+
+            }
+            var options = {
+                isZoom: true,
+                style: {
+                    color: 'rgb(255,255,0,0.9)',
+                    transparency: 1,
+                    outline: true,
+                    outlineColor: 'transparent',
+                    perPositionHeight: true
+
+                },
+                // click: regionLocateCallBack
+            };
+            setTimeout(() => {
+                window.jMap.Locate.trackLocate(target, options);
+            }, 1000)
+
+        },
 
         // 安保分布点点击事件的回调函数
         regionLocateCallBack(obj) {},

+ 151 - 14
src/views/security-plan.vue

@@ -317,6 +317,10 @@
                                     <el-option v-for="item in checkedSelectArray" :key="item.value" :label="item.label" :value="item.value"> </el-option>
                                 </el-select>
                             </div>
+                            <div @click="checkboxChange(19)" :class="checkedArray.checkedData[0] == 19 ? 'checkTypeSelect' : ''">
+                                <img :src="stores.sadianIcon.zddw" alt="" />
+                                <span>大网格</span>
+                            </div>
                             <div @click="checkboxChange(15)" :class="checkedArray.checkedData[0] == 15 ? 'checkTypeSelect' : ''">
                                 <img :src="stores.sadianIcon.zddw" alt="" />
                                 <span>中网格</span>
@@ -344,7 +348,85 @@
                 <div class="rightTop1">
                     <h4 style="display: flex">疏导区网格检查情况</h4>
                     <div class="girdCheckItem">
-                        <p>大网格</p>
+                        <p>大网格<span>&nbsp;&nbsp;&nbsp;街镇分营领导:10&nbsp;&nbsp;城运中心主任:10&nbsp;&nbsp;安监所所长:10&nbsp;&nbsp;支队外参谋:10</span></p>
+                        <div class="row_g">
+                            <div >累计:</div>
+                            <div >检查家数<br>100(家/次)</div>
+                            <div >发现隐患数<br>20(处)</div>
+                            <div >整改隐患<br>20(处)</div>
+                            <div >处罚金额<br>20(万元)</div>
+                            <div >三停<br>20(万元)</div>
+                            <div >查封<br>4(处)</div>
+                        </div>
+                    
+                        <div class="row_g">
+                            <div >今日:</div>
+                            <div >100(家/次)</div>
+                            <div >20(处)</div>
+                            <div >20(处)</div>
+                            <div >20(万元)</div>
+                            <div >20(万元)</div>
+                            <div >4(处)</div>
+                        </div>
+                        <div class="row_g2">
+                            <div >消防安全重点单位四色分级情况</div>
+                            <div style="color:red">高风险<br>100(家)</div>
+                            <div style="color:orange">较高风险<br>20(家)</div>
+                            <div style="color:yellow">一般风险<br>20(家)</div>
+                            <div style="color:green">低风险<br>20(家)</div>
+                        </div>
+                    </div>
+                    <div class="girdCheckItem">
+                        <p>中网格<span>&nbsp;&nbsp;&nbsp;安监所人员: 10&nbsp;&nbsp;城运中心人员:10&nbsp;&nbsp;消防助理员:10</span></p>
+                        <div class="row_g3">
+                            <div >累计:</div>
+                            <div >检查家数<br>100(家/次)</div>
+                            <div >发现隐患数<br>20(处)</div>
+                            <div >整改隐患<br>20(处)</div>
+                            <div >签约承诺书<br>20(份)</div>
+                            <div >检查覆盖率<br>100%</div>
+                        </div>
+                        <div class="row_g3">
+                            <div >今日:</div>
+                            <div >100(家/次)</div>
+                            <div >20(处)</div>
+                            <div >20(处)</div>
+                        </div>
+                    
+                        <div class="row_g2">
+                            <div >九小场所四色分级情况</div>
+                            <div style="color:red">高风险<br>100(家)</div>
+                            <div style="color:orange">较高风险<br>20(家)</div>
+                            <div style="color:yellow">一般风险<br>20(家)</div>
+                            <div style="color:green">低风险<br>20(家)</div>
+                        </div>
+
+                    </div>
+                    <div class="girdCheckItem">
+                        <p>小网格<span>&nbsp;&nbsp;&nbsp;安网格长: 10&nbsp;&nbsp;网格人员:10</span></p>
+                        <div class="row_g">
+                            <div >累计:</div>
+                            <div >主动发现<br>100(起)</div>
+                            <div >被动处置<br>100(起)</div>
+                            <div >隐患整改<br>100(起)</div>
+                            <div >派发<br>20(起)</div>
+                            <div >完成<br>20(起)</div>
+                            <div >处置率<br>100%</div>
+                        </div>
+                        <div class="row_g">
+                            <div >累计:</div>
+                            <div >100(起)</div>
+                            <div >20(起)</div>
+                            <div >20(起)</div>
+                        </div>
+
+                    </div>
+                    <br>
+                </div>
+                <!-- <div class="rightTop1">
+                    <h4 style="display: flex">疏导区网格检查情况</h4>
+                    <div class="girdCheckItem">
+                        <p>大网格<span>&nbsp;&nbsp;&nbsp;街镇分营领导:10&nbsp;&nbsp;城运中心主任:10&nbsp;&nbsp;安监所所长:10&nbsp;&nbsp;支队外参谋:10</span></p>
                         <el-row>
                             <el-col :span="6">检查家数: 100</el-col>
                             <el-col :span="6">发现隐患数: 20</el-col>
@@ -371,13 +453,10 @@
                         </el-row>
                     </div>
                     <br>
-                </div>
+                </div> -->
                 <!-- 疏导区网格检查情况 end -->
 
-                <div class="rightTop3">
-                    <div @click="gridStatisticsGoBack" class="return" v-if="!gridStatisticsStatus">
-                            <div class="returnText">返回</div>
-                        </div>
+                <!-- <div class="rightTop3">
                         <h4 style="display: flex">处置网格</h4>
                         
                     <div class="rightTopContent">
@@ -541,7 +620,7 @@
                             </el-col>
                         </el-row>
                     </div>
-                </div>
+                </div> -->
 
 
                 <!-- <div class="rightTop">
@@ -1069,13 +1148,14 @@ export default {
                 { name: "抢险救援", value: 60 },
             ], //接处警情况
             checkedArray: {
-                checkedData: [15],
+                checkedData: [19],
                 checkedList: [
                     { value: 0, label: "车辆" },
                     { value: 1, label: "历史警情" },
                     { value: 2, label: "历史火灾" },
                     { value: 3, label: "重点单位" },
                     { value: 4, label: "消防站" },
+                    { value: 19, label: "大网格" },
                     { value: 15, label: "中网格" },
                     { value: 16, label: "小网格" },
                     { value: 17, label: "监控视频" },
@@ -1358,6 +1438,8 @@ export default {
         };
     },
     mounted() {
+
+
         this.gridStatisticsData()//处置网格数据
         this.surveillance()//监控视频
         this.grid(15);
@@ -1366,7 +1448,8 @@ export default {
         });
         window.addEventListener("resize", () => this.resizeTimeActions([this.$refs.category, this.$refs.gauge1]), true);
         this.initMap("anbao"); //地图初始化
-        this.anbao(null, 1);
+        this.anbao(null, 3);
+        this.anbaoMap()
         this.getFireSiteDuty(); //各站点执勤实力
         this.selectVideo(); //视频在线
         // this.sadianSelect(this.checkedArray.checkedData[0]); //撒点
@@ -1402,7 +1485,6 @@ export default {
 
         },
         getOneUnit(val){
-            this.staticData.array=[ ]
             if(val=='29'||val=='30'){  //表格及撒点
                 this.$axios.post(this.$api.water.baseGgpFacilityList,{
                                 "facilityType": [val ] 
@@ -1762,13 +1844,19 @@ export default {
             if (id == 15) {
                 this.gridStatus = id;
                 this.anbao(1, 1);
+                this.anbaoMap()
                 this.grid(id);
             } else if (id == 16) {
                 this.gridStatus = id;
                 this.grid(16, null, null, 1);
+                this.anbaoMap()
                 this.anbao(1, 2);
             } else if (id == 17) {
                 this.surveillance()
+            } else if (id == 18) {
+                this.gridStatus = id;
+                this.anbao(1, 3);
+                this.anbaoMap()
             } else {
                 this.sadianSelect(id);
             }
@@ -2195,11 +2283,16 @@ export default {
                 //用于地图居委会区块查询
                 if (query && id == 16) {
                     var queryData = [];
+                    let qw = []
                     for (let i = 0; i < gridData.length; i++) {
                         if (gridData[i].mapGridName) {
                             queryData.push(gridData[i]);
+                        }else{
+                            qw.push(gridData[i])
                         }
+                        
                     }
+                    console.log(queryData)
                     this.anbao(1, 2, queryData);
                 }
             });
@@ -2876,18 +2969,62 @@ export default {
             }
         }
         .rightTop1{
-            height:41.5%;
+            height:70.5%;
             .girdCheckItem{
                 p{
                     font-size:0.225rem;
                     margin:.1875rem 0 .125rem;
                     color:rgb(234, 183, 147);
                     font-weight:700;
+                    span{
+                        font-size: 0.175rem;
+                        color:#fff;
+                        
+                    }
                 }
-                div{
-                    font-size:.2rem;
-                    margin:.125rem 0
+                .row_g{
+                    margin-top:-10px;
+                    width:100%;
+                    div{
+                        width:14% !important;
+                        display: inline-block;
+                        font-size:.155rem;
+                        margin:.125rem 0;
+                        text-align: left;
+                        vertical-align: top;
+                    }
                 }
+                .row_g2{
+                    margin-top:-10px;
+                    width:100%;
+                    div{
+                        width:20% !important;
+                        display: inline-block;
+                        font-size:.155rem;
+                        margin:.125rem 0;
+                        text-align: left;
+                        vertical-align: top;
+                        text-align: center;
+                    }
+                }
+                .row_g3{
+                    margin-top:-10px;
+                    width:100%;
+                    div{
+                        width:16% !important;
+                        display: inline-block;
+                        font-size:.155rem;
+                        margin:.125rem 0;
+                        text-align: left;
+                        vertical-align: top;
+                        text-align: center;
+                    }
+                }
+                    
+                
+                    
+                
+                
 
 
             }