linwe
2025-07-07 ae19ebe155500b7910baa2b9d49b17007399d28c
经开分局
16 files modified
26098 ■■■■ changed files
package-lock.json 16833 ●●●●● patch | view | raw | blame | history
public/index.html 2 ●●● patch | view | raw | blame | history
public/static/config.js 21 ●●●● patch | view | raw | blame | history
src/api/dept/index.js 516 ●●●● patch | view | raw | blame | history
src/components/map/index.vue 122 ●●●● patch | view | raw | blame | history
src/components/mapSearchBox/index.vue 6 ●●●● patch | view | raw | blame | history
src/views/home/components/bottomContainer.vue 1507 ●●●● patch | view | raw | blame | history
src/views/home/components/leftContainer.vue 13 ●●●● patch | view | raw | blame | history
src/views/home/components/rightContainer.vue 10 ●●●●● patch | view | raw | blame | history
src/views/home/index.vue 88 ●●●● patch | view | raw | blame | history
src/views/house/index.vue 58 ●●●● patch | view | raw | blame | history
src/views/house/index(商铺用接口前).vue 6836 ●●●● patch | view | raw | blame | history
src/views/layout/index.vue 14 ●●●● patch | view | raw | blame | history
src/views/login/index.vue 4 ●●●● patch | view | raw | blame | history
src/views/policeInfor/index.vue 64 ●●●● patch | view | raw | blame | history
vue.config.js 4 ●●●● patch | view | raw | blame | history
package-lock.json
Diff too large
public/index.html
@@ -17,7 +17,7 @@
  <meta name="viewport" content="width=device-width,initial-scale=1.0">
  <link rel="icon" href="<%= BASE_URL %>affairs.ico">
  <title>
    信州公安警务作战一体化平台
    经开区公安警务作战一体化平台
  </title>
  <script src="./static/config.js"></script>
public/static/config.js
@@ -14,22 +14,22 @@
  // VUE_APP_OUTER_NET: 'http://192.168.0.112:18080',
  VUE_APP_OUTER_NET: 'https://tuan-gis.sit.fengtu.com.cn',
  // 内网部署
  VUE_APP_INTRANET: 'http://10.141.11.11:80/twapi',
  VUE_APP_INTRANET: 'http://47.212.32.93:9004/ga',
  // 大搜
  // 本地开发 
  VUE_APP_OUTER_NET_SEARCH: 'http://192.168.1.3:8081',
  VUE_APP_OUTER_NET_SEARCH: 'http://47.212.32.93:9004/ga',
  // VUE_APP_OUTER_NET_SEARCH: 'https://s16s652780.51mypc.cn',
  // 内网部署
  VUE_APP_INTRANET_SEARCH: 'http://10.141.11.11:80/bsapi',
  VUE_APP_INTRANET_SEARCH: 'http://47.212.32.93:9004/ga',
  // 视频监控平台
  // 本地开发
  VUE_APP_OUTER_NET_VIDEO: 'http://192.168.1.50:18185/api',
  // VUE_APP_OUTER_NET_VIDEO: 'http://192.168.0.129:18185/api',
  // 内网部署
  VUE_APP_INTRANET_VIDEO: 'http://10.141.11.11:18185/api',
  VUE_APP_INTRANET_VIDEO: 'http://47.217.32.231:18185/api',
  // 设备通道号
  VUE_APP_OUTER_NET_EQUIPMENT: '36110000002009999000',
@@ -37,15 +37,16 @@
  // 模型地址
  VUE_APP_OUTER_NET_TILEURL: 'http://192.168.0.112:18080',
  VUE_APP_INTRANET_TILEURL: 'http://10.141.11.11:80/mxapi',
  VUE_APP_INTRANET_TILEURL: 'http://47.217.32.232:80/mxapi',
  // 后台管理跳转地址
  VUE_APP_OUTER_NET_HTURL: 'http://192.168.0.126:1888/#/',
  VUE_APP_INTRANET_HTURL: 'http://10.141.11.11:8081/#/',
  VUE_APP_INTRANET_HTURL: 'http://47.217.32.232:8081/#/',
  // 栅格地图的
  // VUE_APP_MAP_YX: 'http://10.141.11.11:80/ysapi',
  VUE_APP_MAP_YX: 'http://10.141.11.11:80/gj',
  VUE_APP_MAP_SL: 'http://10.141.11.11:80/slapi',
  VUE_APP_MAP_DX: 'http://10.141.11.11:80/DEM',
  // VUE_APP_MAP_YX: 'http://47.217.32.232:80/ysapi',
  // VUE_APP_MAP_YX: 'http://47.212.32.93:9004/ga',
  VUE_APP_MAP_YX: 'http://47.212.32.93:9004/ga',
  VUE_APP_MAP_SL: 'http://47.212.32.93:9004/ga',
  VUE_APP_MAP_DX: 'http://47.217.32.232:80/DEM',
}
src/api/dept/index.js
@@ -16,10 +16,10 @@
 * @returns
 */
export const getPoliceStationList = () => {
    return request({
        url: '/api/blade-system/dept/getAllPoliceStation',
        method: 'get',
    })
  return request({
    url: '/api/blade-system/dept/getAllPoliceStation',
    method: 'get',
  })
}
/**
@@ -28,14 +28,15 @@
 * @returns
 */
export const getResidentialQuartersList = (adcode) => {
    return request({
        url: '/sf3d/area/list',
        method: 'get',
        requestBaseUrl: 'fengt',
        params: {
            adcode
        }
    })
  return request({
    url: '/sf3d/area/list',
    method: 'get',
    requestBaseUrl: 'fengt',
    params: {
      adcode,
      key: 'c35cece8432f424aad58276a7e0d24eb'
    }
  })
}
/**
@@ -44,17 +45,18 @@
 * @returns
 */
export const getResidentialQuartersInfo = (area_id, adcode) => {
    return request({
        url: '/sf3d/area/info',
        // url: '/data/getResidentialQuartersInfo.json',
        method: 'get',
        authorization: false,
        requestBaseUrl: 'fengt',
        params: {
            area_id,
            adcode
        }
    })
  return request({
    url: '/sf3d/area/info',
    // url: '/data/getResidentialQuartersInfo.json',
    method: 'get',
    authorization: false,
    requestBaseUrl: 'fengt',
    params: {
      area_id,
      adcode,
      key: 'c35cece8432f424aad58276a7e0d24eb'
    }
  })
}
@@ -64,21 +66,22 @@
 * @returns
 */
export const getAoiByPt = (lng, lat, height, adcode, tolerance) => {
    return request({
        // url: '/sf3d/area/getAoiByPt',
        url: '/sf3d/area/stdgetAoiByPt',
        // url: '/data/getAoiByBgId.json',
        method: 'get',
        authorization: false,
        requestBaseUrl: 'fengt',
        params: {
            lng,
            lat,
            height,
            adcode,
            tolerance
        }
    })
  return request({
    url: '/sf3d/area/getAoiByPt',
    // url: '/sf3d/area/stdgetAoiByPt',
    // url: '/data/getAoiByBgId.json',
    method: 'get',
    authorization: false,
    requestBaseUrl: 'fengt',
    params: {
      lng,
      lat,
      height,
      adcode,
      tolerance,
      key: 'c35cece8432f424aad58276a7e0d24eb'
    }
  })
}
/**
@@ -87,15 +90,16 @@
 * @returns
 */
export const getUnitbuild = (area_id, adcode) => {
    return request({
        url: '/sf3d/area/unitbuild',
        method: 'get',
        requestBaseUrl: 'fengt',
        params: {
            area_id,
            adcode
        }
    })
  return request({
    url: '/sf3d/area/unitbuild',
    method: 'get',
    requestBaseUrl: 'fengt',
    params: {
      area_id,
      adcode,
      key: 'c35cece8432f424aad58276a7e0d24eb'
    }
  })
}
/**
@@ -104,18 +108,19 @@
 * @returns
 */
export const getHouses = (build_id, adcode) => {
    return request({
        // url: '/sf3d/build/houses',
        url: '/sf3d/build/stdhouses',
        // url: '/data/huafu15d.json',
        method: 'get',
        authorization: false,
        requestBaseUrl: 'fengt',
        params: {
            build_id,
            adcode
        }
    })
  return request({
    // url: '/sf3d/build/houses',
    url: '/sf3d/build/stdhouses',
    // url: '/data/huafu15d.json',
    method: 'get',
    authorization: false,
    requestBaseUrl: 'fengt',
    params: {
      build_id,
      adcode,
      key: 'c35cece8432f424aad58276a7e0d24eb'
    }
  })
}
@@ -124,19 +129,19 @@
 * @param {*} adcode
 * @returns
 */
export const getSearchExtensively = (ak, region, query, ids) => {
    return request({
        url: '/zhs/bs/search',
        // url: '/data/jingzuo.json',
        method: 'get',
        requestBaseUrl: 'fengtDS',
        params: {
            ak,
            region,
            query,
            ids
        }
    })
export const getSearchExtensively = (key, region, query, ids) => {
  return request({
    url: '/zhs/bs/search',
    // url: '/data/jingzuo.json',
    method: 'get',
    requestBaseUrl: 'fengtDS',
    params: {
      key,
      region,
      query,
      ids
    }
  })
}
/**
@@ -144,20 +149,20 @@
 * @param {*} adcode
 * @returns
 */
export const getSearchExtensivelyPage = (ak, region, query,page_num,page_size) => {
    return request({
        url: '/zhs/bs/search',
        // url: '/data/jingzuo.json',
        method: 'get',
        requestBaseUrl: 'fengtDS',
        params: {
            ak,
            region,
            query,
            page_num,
            page_size
        }
    })
export const getSearchExtensivelyPage = (key, region, query, page_num, page_size) => {
  return request({
    url: '/zhs/bs/search',
    // url: '/data/jingzuo.json',
    method: 'get',
    requestBaseUrl: 'fengtDS',
    params: {
      key,
      region,
      query,
      page_num,
      page_size
    }
  })
}
/**
@@ -165,24 +170,24 @@
 * @param {*} adcode
 * @returns
 */
export const getSearchExtensivelyBgAoiDeepdata = (ak, region, ids, infos) => {
    return request({
        url: '/zhs/bs/search',
        // url: '/data/汇成观邸.json',
        // url: '/data/search.json',
        // url: '/data/阳光小区独栋.json',
        // url: '/data/search汇杰小区.json',
        // url: '/data/汪家园林家小区id详情搜.json',
        // url: '/data/search三江星座.json',
        method: 'get',
        requestBaseUrl: 'fengtDS',
        params: {
            ak,
            region,
            ids,
            infos,
        }
    })
export const getSearchExtensivelyBgAoiDeepdata = (key, region, ids, infos) => {
  return request({
    url: '/zhs/bs/search',
    // url: '/data/汇成观邸.json',
    // url: '/data/search.json',
    // url: '/data/阳光小区独栋.json',
    // url: '/data/search汇杰小区.json',
    // url: '/data/汪家园林家小区id详情搜.json',
    // url: '/data/search三江星座.json',
    method: 'get',
    requestBaseUrl: 'fengtDS',
    params: {
      key,
      region,
      ids,
      infos,
    }
  })
}
/**
@@ -190,145 +195,146 @@
 * @param {*} adcode
 * @returns
 */
export const getSearchExtensivelyHousesdata = (ak, region, ids, infos) => {
    return request({
        url: '/zhs/bs/search',
        // url: '/data/汇成观邸-户室.json',
        // url: '/data/阳光小区独栋.json',
        // url: '/data/search汇杰小区1栋.json',
        // url: '/data/汪家园林家小区2号id详情搜.json',
        method: 'get',
        requestBaseUrl: 'fengtDS',
        params: {
            ak,
            region,
            ids,
            infos,
        }
    })
export const getSearchExtensivelyHousesdata = (key, region, ids, infos) => {
  return request({
    url: '/zhs/bs/search',
    // url: '/data/汇成观邸-户室.json',
    // url: '/data/阳光小区独栋.json',
    // url: '/data/search汇杰小区1栋.json',
    // url: '/data/汪家园林家小区2号id详情搜.json',
    method: 'get',
    requestBaseUrl: 'fengtDS',
    params: {
      key,
      region,
      ids,
      infos,
    }
  })
}
// 小区树形数据
export const getPoliceStationLazyTree = (type, id) => {
    return request({
        url: `/api/policeStationInfo/policeStationInfo/getPoliceStationLazyTree`,
        method: 'get',
        params: {
            type,
            id
        }
    })
  return request({
    url: `/api/policeStationInfo/policeStationInfo/getPoliceStationLazyTree`,
    method: 'get',
    params: {
      type,
      id
    }
  })
}
// 小区树形数据
export const getPoliceStationTrees = (params) => {
    return request({
        url: `/api/policeStationInfo/policeStationInfo/getPoliceStationTrees`,
        method: 'get',
        params: {
            ...params
        }
    })
  return request({
    url: `/api/policeStationInfo/policeStationInfo/getPoliceStationTrees`,
    method: 'get',
    params: {
      ...params
    }
  })
}
// 转id
export const getAoiByBgId = (bg_id) => {
    return request({
        url: `/sf3d/area/getAoiByBgId`,
        method: 'get',
        requestBaseUrl: 'fengt',
        params: {
            bg_id,
            adcode: 361102,
            type: 0
        }
    })
  return request({
    url: `/sf3d/area/getAoiByBgId`,
    method: 'get',
    requestBaseUrl: 'fengt',
    params: {
      bg_id,
      adcode: 361101,
      type: 0,
      key: 'c35cece8432f424aad58276a7e0d24eb'
    }
  })
}
// 包干民警所属辖区
export const getVillageInfo = (aoiId) => {
    return request({
        url: `/api/villageInfo/villageInfo/details`,
        method: 'get',
        params: {
            aoiId
        }
    })
  return request({
    url: `/api/villageInfo/villageInfo/details`,
    method: 'get',
    params: {
      aoiId
    }
  })
}
// 派出所默认展示小区
export const getPoliceSationVillageInfo = (param) => {
    return request({
        url: `/api/villageInfo/villageInfo/details`,
        method: 'get',
        params: param
    })
  return request({
    url: `/api/villageInfo/villageInfo/details`,
    method: 'get',
    params: param
  })
}
// 户籍人口、重点人口信息  buildId/aoiId
export const getVillagePersonStatisticInfoByBuildId = (params) => {
    return request({
        url: `/api/villagePersonInfo/villagePersonInfo/getVillagePersonStatisticInfoByBuildId`,
        method: 'get',
        params: {
            ...params
        }
    })
  return request({
    url: `/api/villagePersonInfo/villagePersonInfo/getVillagePersonStatisticInfoByBuildId`,
    method: 'get',
    params: {
      ...params
    }
  })
}
// 查询户室关联情况
export const getPersonConnectionConditionByBuildingId = (params) => {
    return request({
        url: `/api/villagePersonInfo/villagePersonInfo/getPersonConnectionConditionByBuildingId`,
        method: 'get',
        params: {
            ...params
        }
    })
  return request({
    url: `/api/villagePersonInfo/villagePersonInfo/getPersonConnectionConditionByBuildingId`,
    method: 'get',
    params: {
      ...params
    }
  })
}
// 户籍人口、重点人口信息
export const getVillagePersonInfo = (resBusId, buildId, status, current, realName, phone) => {
    return request({
        url: `/api/villagePersonInfo/villagePersonInfo/page`,
        method: 'get',
        params: {
            resBusId,
            buildId,
            ...status,
            current,
            realName,
            phone
        }
    })
  return request({
    url: `/api/villagePersonInfo/villagePersonInfo/page`,
    method: 'get',
    params: {
      resBusId,
      buildId,
      ...status,
      current,
      realName,
      phone
    }
  })
}
// 户籍人口、重点人口信息-----智能搜索
export const getVillagePersonInfoBySearch = (params) => {
    return request({
        url: `/api/villagePersonInfo/villagePersonInfo/page`,
        method: 'get',
        params
    })
  return request({
    url: `/api/villagePersonInfo/villagePersonInfo/page`,
    method: 'get',
    params
  })
}
// 户籍人口、重点人口信息
export const getPicURL = (resBusId) => {
    return request({
        url: `/api/villagePersonInfo/villagePersonInfo/getPicURL`,
        method: 'get',
        params: {
            resBusId,
        }
    })
  return request({
    url: `/api/villagePersonInfo/villagePersonInfo/getPicURL`,
    method: 'get',
    params: {
      resBusId,
    }
  })
}
// 获取各个派出所的人口数量,以及人口总数和重点人员数量
export const getVillagePersonStatisticInfo = () => {
    return request({
        url: `/api/villagePersonInfo/villagePersonInfo/getVillagePersonStatisticInfo`,
        method: 'get',
    })
  return request({
    url: `/api/villagePersonInfo/villagePersonInfo/getVillagePersonStatisticInfo`,
    method: 'get',
  })
}
/**
@@ -337,13 +343,13 @@
 * @return {*}
 */
export const getPersonInfo = (params) => {
    return request({
        url: '/api/villagePersonInfo/villagePersonInfo/keyPersonnelCount',
        method: 'get',
        params: {
            ...params,
        }
    })
  return request({
    url: '/api/villagePersonInfo/villagePersonInfo/keyPersonnelCount',
    method: 'get',
    params: {
      ...params,
    }
  })
}
@@ -353,37 +359,37 @@
 * @return {*}
 */
export const getPersonInfoPage = (params) => {
    return request({
        url: '/api/villagePersonInfo/villagePersonInfo/page',
        method: 'get',
        params: {
            ...params,
        }
    })
  return request({
    url: '/api/villagePersonInfo/villagePersonInfo/page',
    method: 'get',
    params: {
      ...params,
    }
  })
}
// 获取对应id下的派出所的责任区人口
export const getVillagePersonStatisticInfoByPoliceStationId = (id, name) => {
    return request({
        url: `/api/villagePersonInfo/villagePersonInfo/getVillagePersonStatisticInfoByPoliceStationId`,
        method: 'get',
        params: {
            id,
            name
        }
    })
  return request({
    url: `/api/villagePersonInfo/villagePersonInfo/getVillagePersonStatisticInfoByPoliceStationId`,
    method: 'get',
    params: {
      id,
      name
    }
  })
}
// 获取现有房屋
export const getHouseStatisticInfo = (deptId, isFollow) => {
    return request({
        url: `/api/houseStatistic/houseStatistic/getHouseStatisticInfo`,
        method: 'get',
        params: {
            deptId,
            isFollow
        }
    })
  return request({
    url: `/api/houseStatistic/houseStatistic/getHouseStatisticInfo`,
    method: 'get',
    params: {
      deptId,
      isFollow
    }
  })
}
/**
@@ -396,17 +402,17 @@
 * @return {*}
 */
export const getAreaPage = (current, areaId, policeName, phone, size) => {
    return request({
        url: `/api/policeStationInfo/policeStationInfo/getAreaPage`,
        method: 'get',
        params: {
            current,
            areaId,
            policeName,
            phone,
            size
        }
    })
  return request({
    url: `/api/policeStationInfo/policeStationInfo/getAreaPage`,
    method: 'get',
    params: {
      current,
      areaId,
      policeName,
      phone,
      size
    }
  })
}
/**
@@ -418,11 +424,11 @@
 * @return {*}
 */
export const getHotelList = (params) => {
    return request({
        url: `/api/hotel/hotel/page`,
        method: 'get',
        params
    })
  return request({
    url: `/api/hotel/hotel/page`,
    method: 'get',
    params
  })
}
/**
@@ -430,11 +436,11 @@
 * @return {*}
 */
export const getBusinessList = (params) => {
    return request({
        url: `/api/blade-place/place/page`,
        method: 'get',
        params
    })
  return request({
    url: `/api/blade-place/place/page`,
    method: 'get',
    params
  })
}
/**
@@ -442,9 +448,9 @@
 * @return {*}
 */
export const getBusinessDetail = (params) => {
    return request({
        url: `/api/blade-place/place/getDetail`,
        method: 'get',
        params
    })
  return request({
    url: `/api/blade-place/place/getDetail`,
    method: 'get',
    params
  })
}
src/components/map/index.vue
@@ -73,11 +73,11 @@
          <div class="title">模型</div>
          <div class="content">
            <div class="img light" @click.stop="highOrLightChange('light')">
              <span :class="{ on: tilesetLayerType == 'light' }">轻量</span>
              <span :class="{ on: tilesetLayerType == 'light' }">白膜</span>
            </div>
            <div class="elec high" @click.stop="highOrLightChange('high')">
            <!-- <div class="elec high" @click.stop="highOrLightChange('high')">
              <span :class="{ on: tilesetLayerType == 'high' }">高精</span>
            </div>
            </div> -->
          </div>
        </div>
        <div class="angle-btn">
@@ -866,108 +866,19 @@
      baseLayers = []
      // const layer = global.viewer.imageryLayers.addImageryProvider(
      //     new global.DC.Namespace.Cesium.UrlTemplateImageryProvider({
      //         url: `${window.BASE_URL_CONFIG.VUE_APP_MAP_YX}/{z}/{x}/{reverseY}.png`,
      //         minimumLevel: 0,
      //         maximumLevel: 25,
      //         tilingScheme: new global.DC.Namespace.Cesium.GeographicTilingScheme(),
      //     })
      // )
      // layer.contrast = 0.8
      // baseLayers.push(layer)
      const qp = global.viewer.imageryLayers.addImageryProvider(
      const layer = global.viewer.imageryLayers.addImageryProvider(
        new global.DC.Namespace.Cesium.UrlTemplateImageryProvider({
          url: `/qp/{AZ}/{y}/{x}.png`,
          customTags: {
            AZ (imageryProvider, x, y, level) {
              return "Z" + level
            },
          },
          minimumLevel: 0,
          maximumLevel: 25,
          url: `http://47.212.32.93:9004/ga/service/map/satellite?z={z}&y={y}&x={x}&key=81503dad589f42bf9a9e5ea5e017f329`,
          tilingScheme: new global.DC.Namespace.Cesium.GeographicTilingScheme(),
          minimumLevel: 0, // 最小层级
          maximumLevel: 25, // 最大层级
        })
      )
      qp.contrast = 0.8
      layer.contrast = 0.8
      baseLayers.push(qp)
      window.YX_LAYER_CONFIG.forEach((item) => {
        let rectangle = {}
        if (
          item.west != 0 &&
          item.south != 0 &&
          item.east != 0 &&
          item.north != 0
        ) {
          rectangle = {
            rectangle: global.DC.Namespace.Cesium.Rectangle.fromDegrees(
              Number(item.west),
              Number(item.south),
              Number(item.east),
              Number(item.north)
            ),
          }
        } else {
          return
        }
        const layer = global.viewer.imageryLayers.addImageryProvider(
          new global.DC.Namespace.Cesium.UrlTemplateImageryProvider({
            url: `${window.BASE_URL_CONFIG.VUE_APP_MAP_YX}/${item.name}/{AZ}/{y}/{x}.png`,
            customTags: {
              AZ (imageryProvider, x, y, level) {
                return "Z" + level
              },
            },
            minimumLevel: 0,
            maximumLevel: 25,
            ...rectangle,
          })
        )
        layer.contrast = 0.8
        baseLayers.push(layer)
      })
      if (window.ADD_NEW_YX_LAYER_CONFIG.length > 0) {
        window.ADD_NEW_YX_LAYER_CONFIG.forEach((item) => {
          const layer = global.viewer.imageryLayers.addImageryProvider(
            new global.DC.Namespace.Cesium.UrlTemplateImageryProvider({
              url: `${window.BASE_URL_CONFIG.VUE_APP_MAP_YX}/addlayer/${item.name}/{AZ}/{y}/{x}.png`,
              customTags: {
                AZ (imageryProvider, x, y, level) {
                  return "Z" + level
                },
              },
              minimumLevel: 0,
              maximumLevel: 25,
            })
          )
          layer.contrast = 0.8
          baseLayers.push(layer)
        })
      }
      // baseLayers = global.viewer.imageryLayers.addImageryProvider(
      //     new global.DC.Namespace.Cesium.WebMapTileServiceImageryProvider({
      //         url: `${window.BASE_URL_CONFIG.VUE_APP_MAP_YX}/geoserver/gwc/service/wmts`,
      //         layer: "test",
      //         style: "",
      //         format: "image/png",
      //         tileMatrixSetID: "EPSG:4490_test",
      //         tileMatrixLabels: ysLabels,
      //         tilingScheme: new global.DC.Namespace.Cesium.GeographicTilingScheme(),
      //     })
      // )
      baseLayers.push(layer)
    },
    switchElec () {
@@ -984,14 +895,13 @@
      baseLayers.push(
        global.viewer.imageryLayers.addImageryProvider(
          new global.DC.Namespace.Cesium.WebMapTileServiceImageryProvider({
            url: `${window.BASE_URL_CONFIG.VUE_APP_MAP_SL}/MapTileService/wmts?STORETYPE=merged-dat&PROJECTION=4326`,
            layer: "wmts_4326_361100",
            style: "default",
            format: "image/png",
            tileMatrixSetID: "c",
            url: `${window.BASE_URL_CONFIG.VUE_APP_MAP_SL}/MapTileService/wmts?STORETYPE=merged-dat&PROJECTION=4326&key=81503dad589f42bf9a9e5ea5e017f329&VERSION=1.0.0&REQUEST=GetTile`,
            layer: 'wmts_4326_361100',
            style: 'default',
            format: 'image/png',
            tileMatrixSetID: 'c',
            tileMatrixLabels: new Array(20).fill(0).map((v, i) => i + 1),
            tilingScheme:
              new global.DC.Namespace.Cesium.GeographicTilingScheme(),
            tilingScheme: new global.DC.Namespace.Cesium.GeographicTilingScheme(),
          })
        )
      )
src/components/mapSearchBox/index.vue
@@ -46,7 +46,7 @@
    },
    searchExtensivelyClick () {
      this.getSearchExtensively(
        "ebf48ecaa1fd436fa3d40c4600aa051f",
        "81503dad589f42bf9a9e5ea5e017f329",
        "361100",
        this.searchExtensivelyValue
      )
@@ -97,7 +97,7 @@
    searchExtensivelyFocus () {
      this.searchExtensivelyValBoxShow = true
      this.getSearchExtensively(
        "ebf48ecaa1fd436fa3d40c4600aa051f",
        "81503dad589f42bf9a9e5ea5e017f329",
        "361100",
        this.searchExtensivelyValue
      )
@@ -182,7 +182,7 @@
        }
        this.isShowClearBtn = true
        this.getSearchExtensively(
          "ebf48ecaa1fd436fa3d40c4600aa051f",
          "81503dad589f42bf9a9e5ea5e017f329",
          "361100",
          this.searchExtensivelyValue
        )
src/views/home/components/bottomContainer.vue
@@ -9,143 +9,140 @@
 * Copyright (c) 2023 by shuishen 1109946754@qq.com, All Rights Reserved. 
-->
<template>
    <div class="container">
        <div class="box">
            <div class="header">
                <div class="bottom-title">警情动态</div>
                <div class="timeTab" v-show="historytype">
                    <span class="beforetime" :class="{ choosed: timetype == 0 }" @click="timeTabClick(0)">周</span>
                    <span class="beforetime" :class="{ choosed: timetype == 1 }" @click="timeTabClick(1)">月</span>
                    <span class="beforetime" :class="{ choosed: timetype == 2 }" @click="timeTabClick(2)">自定义</span>
                </div>
                <div class="timeSeclect" v-show="historytype">
                    <div v-show="timetype == 0">
                        <el-date-picker size="small" v-model="currentWeekTime" @change="datePickerChange" type="week"
                            align="center" format="yyyy 第 WW 周" placeholder="选择周"
                            popper-class="date-week-style"></el-date-picker>
                    </div>
                    <div v-show="timetype == 1">
                        <el-date-picker size="small" v-model="currentMonthTime" @change="datePickerChange" type="month"
                            align="center" placeholder="选择月" popper-class="date-mouth-style"></el-date-picker>
                    </div>
                    <div v-show="timetype == 2">
                        <el-date-picker size="small" :clearable="false" v-model="currentTime" type="daterange"
                            align="center" unlink-panels range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期"
                            @change="datePickerChange" :picker-options="pickerOptions"
                            popper-class="date-day-style"></el-date-picker>
                    </div>
                    <div>
                        <el-select style="flex: 1;" size="small" v-model="policeInforValue" @change="policeTypeChange"
                            placeholder="请选择">
                            <el-option v-for="item in policeInforOptions" :key="item.value" :label="item.label"
                                :value="item.value"></el-option>
                        </el-select>
                    </div>
                </div>
                <div class="history-tab">
                    <span class="beforetime" :class="{ choosed: historytype == 0 }" @click="historyTabClick(0)">实时</span>
                    <span class="beforetime" :class="{ choosed: historytype == 1 }" @click="historyTabClick(1)">历史</span>
                </div>
            </div>
            <div class="body" v-if="historytype == 0" ref="tableBox">
                <ul class="title-header">
                    <li>
                        <span class="num">序号</span>
                        <span class="receiving-alarm-unit">接警单位</span>
                        <span class="receiving-alarm-time">报警时间</span>
                        <span class="call-police-content">报警内容</span>
                        <span class="incident-site">事发地址</span>
                        <span class="call-police-type">报警类型</span>
                        <span class="have-position">坐标</span>
                        <span class="alarm-bz">备注</span>
                    </li>
                </ul>
                <!-- <vue-seamless-scroll v-if="policeSituationRealtimeArr.length > 0" :data="policeSituationRealtimeArr" class="warp" :class-option="classOption"> -->
                <div v-if="policeSituationRealtimeArr.length > 0" :data="policeSituationRealtimeArr" class="warp"
                    :class-option="classOption">
                    <el-carousel indicator-position="none" direction="vertical" @change="changeAlarm">
                        <el-carousel-item v-for="item in alarmPageCount" :key="item">
                            <ul class="item">
                                <li v-for="(item, index) in policeSituationRealtimeArr" :key="index" class="row"
                                    @click.stop="handleSelectClick(item)">
                                    <span class="num" v-text="item.index"></span>
                                    <span class="receiving-alarm-unit" v-text="item.JJDWMC"></span>
                                    <span class="receiving-alarm-time" v-text="item.BJSJ"></span>
                                    <span class="call-police-content" :title="item.BJNR" v-text="item.BJNR"></span>
                                    <span class="incident-site" :title="item.SFDZ" v-text="item.SFDZ"></span>
                                    <span class="call-police-type" v-text="item.BJLX"></span>
                                    <span class="have-position">
                                        <i v-show="item.position == '有'" class="el-icon-location" style="color: #1AFA29;"
                                            @click.stop="policeSituationClick(item)"></i>
                                    </span>
                                    <span class="alarm-bz" v-text="item.MEMO"></span>
                                </li>
                            </ul>
                        </el-carousel-item>
                    </el-carousel>
                </div>
                <!-- </vue-seamless-scroll> -->
                <div class="warp no-data" v-else>暂无警情数据</div>
            </div>
            <div class="current-table-body" ref="ElTableBox" v-if="historytype == 1">
                <el-table :data="policeSituationHistoryArr" :key="currentPage" style="width: 100%"
                    :height="currentTableHeight"
                    :header-cell-style="{ 'text-align': 'center', 'background-color': 'rgba(9, 40, 199, 0.5)', 'borderColor': '#324e75' }"
                    :cell-style="{ 'text-align': 'center', 'borderColor': '#324e75' }" @cell-click="handleSelectClick">
                    <el-table-column :show-overflow-tooltip="true" prop="index" label="序号" width="60"></el-table-column>
                    <el-table-column :show-overflow-tooltip="true" prop="JJDWMC" label="接警单位"></el-table-column>
                    <el-table-column prop="BJSJ" label="报警时间"></el-table-column>
                    <el-table-column :show-overflow-tooltip="true" prop="BJNR" label="报警内容"></el-table-column>
                    <el-table-column :show-overflow-tooltip="true" prop="SFDZ" label="事发地址"></el-table-column>
                    <el-table-column :show-overflow-tooltip="true" prop="jqlxName" label="报警类型"></el-table-column>
                    <el-table-column :show-overflow-tooltip="true" prop="position" label="坐标" width="60">
                        <template slot-scope="scope">
                            <el-button v-show="scope.row.position == '有'" @click.stop="policeSituationClick(scope.row)"
                                type="text" size="small" title="定位">
                                <i class="el-icon-location" style="color: #1AFA29;"></i>
                            </el-button>
                        </template>
                    </el-table-column>
                    <el-table-column :show-overflow-tooltip="true" prop="MEMO" label="备注"></el-table-column>
                </el-table>
                <div class="pages all-pagination-sty" ref="ElPagination" v-if="policeSituationHistoryArr.length > 0">
                    <el-pagination background layout="prev, pager, next" :page-size="pagesize" :page-count="pagesCount"
                        :current-page="currentPage" @current-change="handleCurrentChange"></el-pagination>
                </div>
            </div>
  <div class="container">
    <div class="box">
      <div class="header">
        <div class="bottom-title">警情动态</div>
        <div class="timeTab" v-show="historytype">
          <span class="beforetime" :class="{ choosed: timetype == 0 }" @click="timeTabClick(0)">周</span>
          <span class="beforetime" :class="{ choosed: timetype == 1 }" @click="timeTabClick(1)">月</span>
          <span class="beforetime" :class="{ choosed: timetype == 2 }" @click="timeTabClick(2)">自定义</span>
        </div>
        <svg class="border-svg">
            <defs>
                <path id="bottom-box-path"
                    d="M0,0c56.33,0,112.67,0,169,0c2.5,4.31,6.95,6.19,11,9c0.67,1,1.33,2,2,3c16.33,0,32.67,0,49,0c55.99,0,112.01,0,168,0c238.64,0,477.36,0,716,0c1.01,1.73,4.64,4.26,5,5c0,20,0,40,0,60c0,49,0,98,0,147c-0.89,1.52,0,19.4,0,25c0,22.33,0,44.67,0,67c-1.43,0.78-4.01,2.77-5,4c-13,0-26,0-39,0c-3-3.33-6-6.67-9-10c-22,0-44,0-66,0c-2.26,3.84-6.72,5.26-8,10c-241.98,0-484.02,0-726,0c-64.33,0-128.67,0-193,0c-17,0-34,0-51,0c-5.68,0-16.19,1.49-20-1c-4.4-2.88-3-12.84-3-20c0-19.33,0-38.67,0-58C0,160.67,0,80.33,0,0z"
                    fill="transparent" />
                <radialGradient id="border-box-gradient" cx="50%" cy="50%" r="50%">
                    <stop offset="0%" stop-color="#fff" stop-opacity="1" />
                    <stop offset="100%" stop-color="#fff" stop-opacity="0" />
                </radialGradient>
                <mask id="border-box-mask">
                    <circle cx="0" cy="0" r="150" fill="url(#border-box-gradient)">
                        <animateMotion dur="8s"
                            path="M0,0c56.33,0,112.67,0,169,0c2.5,4.31,6.95,6.19,11,9c0.67,1,1.33,2,2,3c16.33,0,32.67,0,49,0c55.99,0,112.01,0,168,0c238.64,0,477.36,0,716,0c1.01,1.73,4.64,4.26,5,5c0,20,0,40,0,60c0,49,0,98,0,147c-0.89,1.52,0,19.4,0,25c0,22.33,0,44.67,0,67c-1.43,0.78-4.01,2.77-5,4c-13,0-26,0-39,0c-3-3.33-6-6.67-9-10c-22,0-44,0-66,0c-2.26,3.84-6.72,5.26-8,10c-241.98,0-484.02,0-726,0c-64.33,0-128.67,0-193,0c-17,0-34,0-51,0c-5.68,0-16.19,1.49-20-1c-4.4-2.88-3-12.84-3-20c0-19.33,0-38.67,0-58C0,160.67,0,80.33,0,0z"
                            rotate="auto" repeatCount="indefinite" />
                    </circle>
                </mask>
            </defs>
        <div class="timeSeclect" v-show="historytype">
          <div v-show="timetype == 0">
            <el-date-picker size="small" v-model="currentWeekTime" @change="datePickerChange" type="week" align="center"
              format="yyyy 第 WW 周" placeholder="选择周" popper-class="date-week-style"></el-date-picker>
          </div>
          <div v-show="timetype == 1">
            <el-date-picker size="small" v-model="currentMonthTime" @change="datePickerChange" type="month" align="center"
              placeholder="选择月" popper-class="date-mouth-style"></el-date-picker>
          </div>
          <div v-show="timetype == 2">
            <el-date-picker size="small" :clearable="false" v-model="currentTime" type="daterange" align="center"
              unlink-panels range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期" @change="datePickerChange"
              :picker-options="pickerOptions" popper-class="date-day-style"></el-date-picker>
          </div>
          <div>
            <el-select style="flex: 1;" size="small" v-model="policeInforValue" @change="policeTypeChange"
              placeholder="请选择">
              <el-option v-for="item in policeInforOptions" :key="item.value" :label="item.label"
                :value="item.value"></el-option>
            </el-select>
          </div>
        </div>
            <use stroke-width="2" xlink:href="#bottom-box-path" mask="url(#border-box-mask)" stroke="#4fd2dd">
                <animate attributeName="stroke-dasharray" from="0, 3220" to="3220, 0" dur="8s" repeatCount="indefinite" />
            </use>
        </svg>
        <div class="history-tab">
          <span class="beforetime" :class="{ choosed: historytype == 0 }" @click="historyTabClick(0)">实时</span>
          <span class="beforetime" :class="{ choosed: historytype == 1 }" @click="historyTabClick(1)">历史</span>
        </div>
      </div>
      <div class="body" v-if="historytype == 0" ref="tableBox">
        <ul class="title-header">
          <li>
            <span class="num">序号</span>
            <span class="receiving-alarm-unit">接警单位</span>
            <span class="receiving-alarm-time">报警时间</span>
            <span class="call-police-content">报警内容</span>
            <span class="incident-site">事发地址</span>
            <span class="call-police-type">报警类型</span>
            <span class="have-position">坐标</span>
            <span class="alarm-bz">备注</span>
          </li>
        </ul>
        <!-- <vue-seamless-scroll v-if="policeSituationRealtimeArr.length > 0" :data="policeSituationRealtimeArr" class="warp" :class-option="classOption"> -->
        <div v-if="policeSituationRealtimeArr.length > 0" :data="policeSituationRealtimeArr" class="warp"
          :class-option="classOption">
          <el-carousel indicator-position="none" direction="vertical" @change="changeAlarm">
            <el-carousel-item v-for="item in alarmPageCount" :key="item">
              <ul class="item">
                <li v-for="(item, index) in policeSituationRealtimeArr" :key="index" class="row"
                  @click.stop="handleSelectClick(item)">
                  <span class="num" v-text="item.index"></span>
                  <span class="receiving-alarm-unit" v-text="item.JJDWMC"></span>
                  <span class="receiving-alarm-time" v-text="item.BJSJ"></span>
                  <span class="call-police-content" :title="item.BJNR" v-text="item.BJNR"></span>
                  <span class="incident-site" :title="item.SFDZ" v-text="item.SFDZ"></span>
                  <span class="call-police-type" v-text="item.BJLX"></span>
                  <span class="have-position">
                    <i v-show="item.position == '有'" class="el-icon-location" style="color: #1AFA29;"
                      @click.stop="policeSituationClick(item)"></i>
                  </span>
                  <span class="alarm-bz" v-text="item.MEMO"></span>
                </li>
              </ul>
            </el-carousel-item>
          </el-carousel>
        </div>
        <!-- </vue-seamless-scroll> -->
        <div class="warp no-data" v-else>暂无警情数据</div>
      </div>
      <div class="current-table-body" ref="ElTableBox" v-if="historytype == 1">
        <el-table :data="policeSituationHistoryArr" :key="currentPage" style="width: 100%" :height="currentTableHeight"
          :header-cell-style="{ 'text-align': 'center', 'background-color': 'rgba(9, 40, 199, 0.5)', 'borderColor': '#324e75' }"
          :cell-style="{ 'text-align': 'center', 'borderColor': '#324e75' }" @cell-click="handleSelectClick">
          <el-table-column :show-overflow-tooltip="true" prop="index" label="序号" width="60"></el-table-column>
          <el-table-column :show-overflow-tooltip="true" prop="JJDWMC" label="接警单位"></el-table-column>
          <el-table-column prop="BJSJ" label="报警时间"></el-table-column>
          <el-table-column :show-overflow-tooltip="true" prop="BJNR" label="报警内容"></el-table-column>
          <el-table-column :show-overflow-tooltip="true" prop="SFDZ" label="事发地址"></el-table-column>
          <el-table-column :show-overflow-tooltip="true" prop="jqlxName" label="报警类型"></el-table-column>
          <el-table-column :show-overflow-tooltip="true" prop="position" label="坐标" width="60">
            <template slot-scope="scope">
              <el-button v-show="scope.row.position == '有'" @click.stop="policeSituationClick(scope.row)" type="text"
                size="small" title="定位">
                <i class="el-icon-location" style="color: #1AFA29;"></i>
              </el-button>
            </template>
          </el-table-column>
          <el-table-column :show-overflow-tooltip="true" prop="MEMO" label="备注"></el-table-column>
        </el-table>
        <div class="pages all-pagination-sty" ref="ElPagination" v-if="policeSituationHistoryArr.length > 0">
          <el-pagination background layout="prev, pager, next" :page-size="pagesize" :page-count="pagesCount"
            :current-page="currentPage" @current-change="handleCurrentChange"></el-pagination>
        </div>
      </div>
    </div>
    <svg class="border-svg">
      <defs>
        <path id="bottom-box-path"
          d="M0,0c56.33,0,112.67,0,169,0c2.5,4.31,6.95,6.19,11,9c0.67,1,1.33,2,2,3c16.33,0,32.67,0,49,0c55.99,0,112.01,0,168,0c238.64,0,477.36,0,716,0c1.01,1.73,4.64,4.26,5,5c0,20,0,40,0,60c0,49,0,98,0,147c-0.89,1.52,0,19.4,0,25c0,22.33,0,44.67,0,67c-1.43,0.78-4.01,2.77-5,4c-13,0-26,0-39,0c-3-3.33-6-6.67-9-10c-22,0-44,0-66,0c-2.26,3.84-6.72,5.26-8,10c-241.98,0-484.02,0-726,0c-64.33,0-128.67,0-193,0c-17,0-34,0-51,0c-5.68,0-16.19,1.49-20-1c-4.4-2.88-3-12.84-3-20c0-19.33,0-38.67,0-58C0,160.67,0,80.33,0,0z"
          fill="transparent" />
        <radialGradient id="border-box-gradient" cx="50%" cy="50%" r="50%">
          <stop offset="0%" stop-color="#fff" stop-opacity="1" />
          <stop offset="100%" stop-color="#fff" stop-opacity="0" />
        </radialGradient>
        <mask id="border-box-mask">
          <circle cx="0" cy="0" r="150" fill="url(#border-box-gradient)">
            <animateMotion dur="8s"
              path="M0,0c56.33,0,112.67,0,169,0c2.5,4.31,6.95,6.19,11,9c0.67,1,1.33,2,2,3c16.33,0,32.67,0,49,0c55.99,0,112.01,0,168,0c238.64,0,477.36,0,716,0c1.01,1.73,4.64,4.26,5,5c0,20,0,40,0,60c0,49,0,98,0,147c-0.89,1.52,0,19.4,0,25c0,22.33,0,44.67,0,67c-1.43,0.78-4.01,2.77-5,4c-13,0-26,0-39,0c-3-3.33-6-6.67-9-10c-22,0-44,0-66,0c-2.26,3.84-6.72,5.26-8,10c-241.98,0-484.02,0-726,0c-64.33,0-128.67,0-193,0c-17,0-34,0-51,0c-5.68,0-16.19,1.49-20-1c-4.4-2.88-3-12.84-3-20c0-19.33,0-38.67,0-58C0,160.67,0,80.33,0,0z"
              rotate="auto" repeatCount="indefinite" />
          </circle>
        </mask>
      </defs>
      <use stroke-width="2" xlink:href="#bottom-box-path" mask="url(#border-box-mask)" stroke="#4fd2dd">
        <animate attributeName="stroke-dasharray" from="0, 3220" to="3220, 0" dur="8s" repeatCount="indefinite" />
      </use>
    </svg>
  </div>
</template>
<script>
@@ -156,666 +153,666 @@
import { getAnswerPolices, getAlarmList } from "@/api/home/index.js"
export default {
    inject: ["getWidth", 'userInfo'],
  inject: ["getWidth", 'userInfo'],
    data () {
        return {
            alarmPageCount: 1,
            alarmPageSize: 4,
            timetype: 2,
            historytype: 0,
            // 实时
            policeSituationRealtimeAllArr: [],
            policeSituationRealtimeArr: [],
            // 历史
            policeSituationHistoryArr: [],
            eventTime: '',
            // 当前选择周时间
            currentWeekTime: '',
            // 当前选择月时间
            currentMonthTime: '',
            // 当前选择自定义时间
            currentTime: [],
  data () {
    return {
      alarmPageCount: 1,
      alarmPageSize: 4,
      timetype: 2,
      historytype: 0,
      // 实时
      policeSituationRealtimeAllArr: [],
      policeSituationRealtimeArr: [],
      // 历史
      policeSituationHistoryArr: [],
      eventTime: '',
      // 当前选择周时间
      currentWeekTime: '',
      // 当前选择月时间
      currentMonthTime: '',
      // 当前选择自定义时间
      currentTime: [],
            pickerOptions: {
                shortcuts: [{
                    text: '最近一周',
                    onClick (picker) {
                        const end = new Date()
                        const start = new Date()
                        start.setTime(start.getTime() - 3600 * 1000 * 24 * 7)
                        picker.$emit('pick', [start, end])
                    }
                }, {
                    text: '最近一个月',
                    onClick (picker) {
                        const end = new Date()
                        const start = new Date()
                        start.setTime(start.getTime() - 3600 * 1000 * 24 * 30)
                        picker.$emit('pick', [start, end])
                    }
                }, {
                    text: '最近三个月',
                    onClick (picker) {
                        const end = new Date()
                        const start = new Date()
                        start.setTime(start.getTime() - 3600 * 1000 * 24 * 90)
                        picker.$emit('pick', [start, end])
                    }
                }]
            }, // 日期设置对象
            classOption: {
                step: 1
            },
            // 分页
            pagesize: 15,
            pagesCount: 1,
            currentPage: 1,
            // table高度
            currentTableHeight: 0,
            policeStaionID: '',
            policeInforValue: '',
            policeInforOptions: [
                {
                    value: '',
                    label: '全部'
                },
                {
                    value: '盗窃',
                    label: '盗窃'
                },
                {
                    value: '涉诈',
                    label: '涉诈'
                },
                {
                    value: '纠纷',
                    label: '纠纷'
                },
                {
                    value: '涉赌',
                    label: '涉赌'
                },
                {
                    value: '涉毒',
                    label: '涉毒'
                },
                {
                    value: '涉黄',
                    label: '涉黄'
                },
                {
                    value: '求助',
                    label: '求助'
                },
                {
                    value: '其他',
                    label: '其他'
                }
            ],
      pickerOptions: {
        shortcuts: [{
          text: '最近一周',
          onClick (picker) {
            const end = new Date()
            const start = new Date()
            start.setTime(start.getTime() - 3600 * 1000 * 24 * 7)
            picker.$emit('pick', [start, end])
          }
        }, {
          text: '最近一个月',
          onClick (picker) {
            const end = new Date()
            const start = new Date()
            start.setTime(start.getTime() - 3600 * 1000 * 24 * 30)
            picker.$emit('pick', [start, end])
          }
        }, {
          text: '最近三个月',
          onClick (picker) {
            const end = new Date()
            const start = new Date()
            start.setTime(start.getTime() - 3600 * 1000 * 24 * 90)
            picker.$emit('pick', [start, end])
          }
        }]
      }, // 日期设置对象
      classOption: {
        step: 1
      },
      // 分页
      pagesize: 15,
      pagesCount: 1,
      currentPage: 1,
      // table高度
      currentTableHeight: 0,
      policeStaionID: '',
      policeInforValue: '',
      policeInforOptions: [
        {
          value: '',
          label: '全部'
        },
        {
          value: '盗窃',
          label: '盗窃'
        },
        {
          value: '涉诈',
          label: '涉诈'
        },
        {
          value: '纠纷',
          label: '纠纷'
        },
        {
          value: '涉赌',
          label: '涉赌'
        },
        {
          value: '涉毒',
          label: '涉毒'
        },
        {
          value: '涉黄',
          label: '涉黄'
        },
        {
          value: '求助',
          label: '求助'
        },
        {
          value: '其他',
          label: '其他'
        }
      ],
    }
  },
  // components: {
  //     vueSeamlessScroll
  // },
  created () {
    this.getHomeAllData()
    this.defaultDate()
    // disabledDate 为true表示不可选,false表示可选
    this.pickerOptions = {
      ...this.pickerOptions,
      disabledDate (time) {
        // 设置可选择的日期为今天之后的一个月内
        let curDate = (new Date()).getTime()
        return time.getTime() > curDate
      }
    }
    window.addEventListener('resize', this.setTableHeight)
  },
  mounted () {
    if (this.getWidth() > 7000) {
      this.classOption.step = 8
    }
  },
  methods: {
    /**
     * @description: 获取当前组件内所有数据
     * @return {*}
     */
    getHomeAllData (id = '') {
      this.policeStaionID = id
      this.historyTabClick(0)
    },
    // components: {
    //     vueSeamlessScroll
    // },
    // 获取table高度
    setTableHeight () {
      this.$nextTick(() => {
        if (this.$refs.ElTableBox && this.$refs.ElPagination) {
          this.currentTableHeight = this.$refs.ElTableBox.offsetHeight - this.$refs.ElPagination.offsetHeight
        }
      })
    },
    created () {
        this.getHomeAllData()
    // 分页选择事件
    handleCurrentChange: function (currentPage) {
      this.currentPage = currentPage
      if (this.timetype == 0) {
        this.getAlarmList({ type: this.timetype, time: this.dateFormat(this.currentWeekTime), current: this.currentPage })
      } else if (this.timetype == 1) {
        this.getAlarmList({ type: this.timetype, time: this.dateFormat(this.currentMonthTime), current: this.currentPage })
      } else {
        const date = this.currentTime.map(item => {
          return this.dateFormat(item)
        })
        this.getAlarmList({ start: date[0], end: date[1], current: this.currentPage })
      }
    },
    // 设置默认时间
    defaultDate () {
      var current = new Date()
      var seven = new Date(current.getTime() - 7 * 24 * 60 * 60 * 1000)
      this.currentTime = [seven, current] //将值设置给插件绑定的数据
    },
    // 时间改变事件
    datePickerChange (e) {
      // this.timetype
      this.currentPage = 1
      if (this.timetype == 0) {
        this.getAlarmList({ type: this.timetype, time: this.dateFormat(e), current: this.currentPage })
      } else if (this.timetype == 1) {
        this.getAlarmList({ type: this.timetype, time: this.dateFormat(e), current: this.currentPage })
      } else {
        const date = e.map(item => {
          return this.dateFormat(item)
        })
        this.getAlarmList({ start: date[0], end: date[1], current: this.currentPage })
      }
    },
    // 获取当前日期
    dateFormat (dateData) {
      var date = new Date(dateData)
      var y = date.getFullYear()
      var m = date.getMonth() + 1
      m = m < 10 ? ('0' + m) : m
      var d = date.getDate()
      d = d < 10 ? ('0' + d) : d
      const time = y + '-' + m + '-' + d
      return time
    },
    //  走马灯改变事件
    changeAlarm (index) {
      index = index + 1
      // 改变数据
      this.alarmDataHanlder(index)
    },
    // 获取实时接警记录
    getAnswerPolices () {
      getAnswerPolices({ deptId: this.policeStaionID != '' ? this.policeStaionID : this.userInfo.dept_id }).then(res => {
        this.policeSituationRealtimeArr = []
        if (res.data && res.data.length) {
          // 计算页数
          this.alarmPageCount = Math.ceil(res.data.length / this.alarmPageSize)
          this.policeSituationRealtimeAllArr = res.data.map((item, index) => {
            if (item.JJDWMC.indexOf('上饶市公安局') != -1) item.JJDWMC = item.JJDWMC.replace(/上饶市公安局/, '市局')
            if (item.JJDWMC.indexOf('经开区分局') != -1) item.JJDWMC = item.JJDWMC.replace(/经开区分局/, '')
            if (item.JJDWMC.indexOf('经开') != -1) item.JJDWMC = item.JJDWMC.replace(/经开/, '')
            return { ...item, index: index + 1, lng: item.ZDDWXZB, lat: item.ZDDWYZB, position: item.ZDDWYZB && item.ZDDWYZB != 0 ? '有' : '无' }
          })
          // 数据处理
          this.alarmDataHanlder(1)
        } else {
          this.alarmPageCount = 1
          this.policeSituationRealtimeArr = []
        }
        this.$emit('policeSituationChange')
      })
    },
    /**
     * 实时警情数据处理(滚动)
     * @param {*} index
     */
    alarmDataHanlder (index) {
      this.policeSituationRealtimeArr = []
      //计算序号
      var start = (index - 1) * this.alarmPageSize
      var end = index * this.alarmPageSize
      // 获取第 index 页数据
      this.policeSituationRealtimeAllArr.forEach((item, index) => {
        if (index < Number(end) && index >= Number(start)) {
          this.policeSituationRealtimeArr.push(item)
        }
      })
    },
    policeTypeChange () {
      this.currentPage = 1
      if (this.timetype == 0) {
        this.getAlarmList({ type: this.timetype, time: this.dateFormat(this.currentWeekTime), current: this.currentPage })
      } else if (this.timetype == 1) {
        this.getAlarmList({ type: this.timetype, time: this.dateFormat(this.currentMonthTime), current: this.currentPage })
      } else {
        const date = this.currentTime.map(item => {
          return this.dateFormat(item)
        })
        this.getAlarmList({ start: date[0], end: date[1], current: this.currentPage })
      }
    },
    // 获取历史接警记录
    getAlarmList (params) {
      getAlarmList({ ...params, size: this.pagesize, jjdwbh: this.policeStaionID != '' ? this.policeStaionID : this.userInfo.dept_id, bjlx: this.policeInforValue }).then(res => {
        this.pagesCount = res.data.data.pages
        this.policeSituationHistoryArr = []
        if (res.data.data.records.length > 0) {
          this.policeSituationHistoryArr = res.data.data.records.map((item, index) => {
            if (item.JJDWMC.indexOf('上饶市公安局') != -1) item.JJDWMC = item.JJDWMC.replace(/上饶市公安局/, '市局')
            if (item.JJDWMC.indexOf('经开区分局') != -1) item.JJDWMC = item.JJDWMC.replace(/经开区分局/, '')
            if (item.JJDWMC.indexOf('经开') != -1) item.JJDWMC = item.JJDWMC.replace(/经开/, '')
            return { ...item, index: index + 1, lng: item.ZDDWXZB, lat: item.ZDDWYZB, position: item.ZDDWYZB && item.ZDDWYZB != 0 ? '有' : '无' }
          })
        } else {
          this.policeSituationHistoryArr = []
        }
        this.setTableHeight()
        this.$emit('policeSituationChange')
      })
    },
    // 周月选择
    timeTabClick (type) {
      this.timetype = type
      this.currentPage = 1
      if (type == 2) {
        this.defaultDate()
        // disabledDate 为true表示不可选,false表示可选
        this.pickerOptions = {
            ...this.pickerOptions,
            disabledDate (time) {
                // 设置可选择的日期为今天之后的一个月内
                let curDate = (new Date()).getTime()
                return time.getTime() > curDate
            }
        }
        const date = this.currentTime.map(item => {
          return this.dateFormat(item)
        })
        window.addEventListener('resize', this.setTableHeight)
        this.getAlarmList({ start: date[0], end: date[1], current: this.currentPage })
      } else {
        this.currentWeekTime = new Date()
        this.currentMonthTime = new Date()
        this.getAlarmList({ type, time: this.dateFormat(new Date()), current: this.currentPage })
      }
    },
    mounted () {
        if (this.getWidth() > 7000) {
            this.classOption.step = 8
        }
    // 实时历史选择
    async historyTabClick (type) {
      console.log('historyTabClick')
      this.historytype = type
      this.timetype = 2
      this.$emit('changePoliceSituationHistoryType', type)
      const date = this.currentTime.map(item => {
        return this.dateFormat(item)
      })
      if (alarmTiming != null) {
        clearInterval(alarmTiming)
        alarmTiming = null
      }
      if (type == 0) {
        await this.getAnswerPolices()
        alarmTiming = setInterval(() => {
          this.getAnswerPolices()
        }, 60000)
      } else {
        this.currentPage = 1
        await this.getAlarmList({
          start: date[0],
          end: date[1],
          current: this.currentPage
        })
      }
    },
    methods: {
        /**
         * @description: 获取当前组件内所有数据
         * @return {*}
         */
        getHomeAllData (id = '') {
            this.policeStaionID = id
            this.historyTabClick(0)
        },
        // 获取table高度
        setTableHeight () {
            this.$nextTick(() => {
                if (this.$refs.ElTableBox && this.$refs.ElPagination) {
                    this.currentTableHeight = this.$refs.ElTableBox.offsetHeight - this.$refs.ElPagination.offsetHeight
                }
            })
        },
        // 分页选择事件
        handleCurrentChange: function (currentPage) {
            this.currentPage = currentPage
            if (this.timetype == 0) {
                this.getAlarmList({ type: this.timetype, time: this.dateFormat(this.currentWeekTime), current: this.currentPage })
            } else if (this.timetype == 1) {
                this.getAlarmList({ type: this.timetype, time: this.dateFormat(this.currentMonthTime), current: this.currentPage })
            } else {
                const date = this.currentTime.map(item => {
                    return this.dateFormat(item)
                })
                this.getAlarmList({ start: date[0], end: date[1], current: this.currentPage })
            }
        },
        // 设置默认时间
        defaultDate () {
            var current = new Date()
            var seven = new Date(current.getTime() - 7 * 24 * 60 * 60 * 1000)
            this.currentTime = [seven, current] //将值设置给插件绑定的数据
        },
        // 时间改变事件
        datePickerChange (e) {
            // this.timetype
            this.currentPage = 1
            if (this.timetype == 0) {
                this.getAlarmList({ type: this.timetype, time: this.dateFormat(e), current: this.currentPage })
            } else if (this.timetype == 1) {
                this.getAlarmList({ type: this.timetype, time: this.dateFormat(e), current: this.currentPage })
            } else {
                const date = e.map(item => {
                    return this.dateFormat(item)
                })
                this.getAlarmList({ start: date[0], end: date[1], current: this.currentPage })
            }
        },
        // 获取当前日期
        dateFormat (dateData) {
            var date = new Date(dateData)
            var y = date.getFullYear()
            var m = date.getMonth() + 1
            m = m < 10 ? ('0' + m) : m
            var d = date.getDate()
            d = d < 10 ? ('0' + d) : d
            const time = y + '-' + m + '-' + d
            return time
        },
        //  走马灯改变事件
        changeAlarm (index) {
            index = index + 1
            // 改变数据
            this.alarmDataHanlder(index)
        },
        // 获取实时接警记录
        getAnswerPolices () {
            getAnswerPolices({ deptId: this.policeStaionID != '' ? this.policeStaionID : this.userInfo.dept_id }).then(res => {
                this.policeSituationRealtimeArr = []
                if (res.data && res.data.length) {
                    // 计算页数
                    this.alarmPageCount = Math.ceil(res.data.length / this.alarmPageSize)
                    this.policeSituationRealtimeAllArr = res.data.map((item, index) => {
                        if (item.JJDWMC.indexOf('上饶市公安局') != -1) item.JJDWMC = item.JJDWMC.replace(/上饶市公安局/, '市局')
                        if (item.JJDWMC.indexOf('信州区分局') != -1) item.JJDWMC = item.JJDWMC.replace(/信州区分局/, '')
                        if (item.JJDWMC.indexOf('信州') != -1) item.JJDWMC = item.JJDWMC.replace(/信州/, '')
                        return { ...item, index: index + 1, lng: item.ZDDWXZB, lat: item.ZDDWYZB, position: item.ZDDWYZB && item.ZDDWYZB != 0 ? '有' : '无' }
                    })
                    // 数据处理
                    this.alarmDataHanlder(1)
                } else {
                    this.alarmPageCount = 1
                    this.policeSituationRealtimeArr = []
                }
                this.$emit('policeSituationChange')
            })
        },
        /**
         * 实时警情数据处理(滚动)
         * @param {*} index
         */
        alarmDataHanlder (index) {
            this.policeSituationRealtimeArr = []
            //计算序号
            var start = (index - 1) * this.alarmPageSize
            var end = index * this.alarmPageSize
            // 获取第 index 页数据
            this.policeSituationRealtimeAllArr.forEach((item, index) => {
                if (index < Number(end) && index >= Number(start)) {
                    this.policeSituationRealtimeArr.push(item)
                }
            })
        },
        policeTypeChange () {
            this.currentPage = 1
            if (this.timetype == 0) {
                this.getAlarmList({ type: this.timetype, time: this.dateFormat(this.currentWeekTime), current: this.currentPage })
            } else if (this.timetype == 1) {
                this.getAlarmList({ type: this.timetype, time: this.dateFormat(this.currentMonthTime), current: this.currentPage })
            } else {
                const date = this.currentTime.map(item => {
                    return this.dateFormat(item)
                })
                this.getAlarmList({ start: date[0], end: date[1], current: this.currentPage })
            }
        },
        // 获取历史接警记录
        getAlarmList (params) {
            getAlarmList({ ...params, size: this.pagesize, jjdwbh: this.policeStaionID != '' ? this.policeStaionID : this.userInfo.dept_id, bjlx: this.policeInforValue }).then(res => {
                this.pagesCount = res.data.data.pages
                this.policeSituationHistoryArr = []
                if (res.data.data.records.length > 0) {
                    this.policeSituationHistoryArr = res.data.data.records.map((item, index) => {
                        if (item.JJDWMC.indexOf('上饶市公安局') != -1) item.JJDWMC = item.JJDWMC.replace(/上饶市公安局/, '市局')
                        if (item.JJDWMC.indexOf('信州区分局') != -1) item.JJDWMC = item.JJDWMC.replace(/信州区分局/, '')
                        if (item.JJDWMC.indexOf('信州') != -1) item.JJDWMC = item.JJDWMC.replace(/信州/, '')
                        return { ...item, index: index + 1, lng: item.ZDDWXZB, lat: item.ZDDWYZB, position: item.ZDDWYZB && item.ZDDWYZB != 0 ? '有' : '无' }
                    })
                } else {
                    this.policeSituationHistoryArr = []
                }
                this.setTableHeight()
                this.$emit('policeSituationChange')
            })
        },
        // 周月选择
        timeTabClick (type) {
            this.timetype = type
            this.currentPage = 1
            if (type == 2) {
                this.defaultDate()
                const date = this.currentTime.map(item => {
                    return this.dateFormat(item)
                })
                this.getAlarmList({ start: date[0], end: date[1], current: this.currentPage })
            } else {
                this.currentWeekTime = new Date()
                this.currentMonthTime = new Date()
                this.getAlarmList({ type, time: this.dateFormat(new Date()), current: this.currentPage })
            }
        },
        // 实时历史选择
        async historyTabClick (type) {
            console.log('historyTabClick')
            this.historytype = type
            this.timetype = 2
            this.$emit('changePoliceSituationHistoryType', type)
            const date = this.currentTime.map(item => {
                return this.dateFormat(item)
            })
            if (alarmTiming != null) {
                clearInterval(alarmTiming)
                alarmTiming = null
            }
            if (type == 0) {
                await this.getAnswerPolices()
                alarmTiming = setInterval(() => {
                    this.getAnswerPolices()
                }, 60000)
            } else {
                this.currentPage = 1
                await this.getAlarmList({
                    start: date[0],
                    end: date[1],
                    current: this.currentPage
                })
            }
        },
        chooseRealData () {
            return this.policeSituationRealtimeArr
        },
        chooseTimeDate () {
            return this.policeSituationHistoryArr
        },
        // 列表行选择
        handleSelectClick (item) {
            this.$emit('policeSituationSiteClick', item)
        },
        // 点击定位或者显示弹窗
        policeSituationClick (item) {
            this.$EventBus.$emit('toPosition', {
                layerName: 'policeSituationyLayers',
                siteJd: Number(item.ZDDWXZB),
                siteWd: Number(item.ZDDWYZB)
            })
            this.$store.commit('SET_DETAILSPOPUP', {
                showBox: true,
                showBtn: true
            })
            this.$store.commit('SET_DATAPOPUP', item)
            var popup = new global.DC.DivForms(global.viewer, {
                domId: 'divFormsDomBox',
                position: [
                    global.DC.Transform.transformWGS84ToCartesian(
                        new global.DC.Position(
                            Number(item.ZDDWXZB),
                            Number(item.ZDDWYZB),
                            0
                        )
                    )
                ]
            })
        }
    chooseRealData () {
      return this.policeSituationRealtimeArr
    },
    destroyed () {
        window.removeEventListener('resize', this.setTableHeight)
    chooseTimeDate () {
      return this.policeSituationHistoryArr
    },
        if (alarmTiming != null) {
            clearInterval(alarmTiming)
            alarmTiming = null
        }
    // 列表行选择
    handleSelectClick (item) {
      this.$emit('policeSituationSiteClick', item)
    },
    // 点击定位或者显示弹窗
    policeSituationClick (item) {
      this.$EventBus.$emit('toPosition', {
        layerName: 'policeSituationyLayers',
        siteJd: Number(item.ZDDWXZB),
        siteWd: Number(item.ZDDWYZB)
      })
      this.$store.commit('SET_DETAILSPOPUP', {
        showBox: true,
        showBtn: true
      })
      this.$store.commit('SET_DATAPOPUP', item)
      var popup = new global.DC.DivForms(global.viewer, {
        domId: 'divFormsDomBox',
        position: [
          global.DC.Transform.transformWGS84ToCartesian(
            new global.DC.Position(
              Number(item.ZDDWXZB),
              Number(item.ZDDWYZB),
              0
            )
          )
        ]
      })
    }
  },
  destroyed () {
    window.removeEventListener('resize', this.setTableHeight)
    if (alarmTiming != null) {
      clearInterval(alarmTiming)
      alarmTiming = null
    }
  }
}
</script>
<style scoped lang="scss">
.container {
    position: relative;
    height: 100%;
  position: relative;
  height: 100%;
  width: 100%;
  background-image: url(/img/box/bottom-box.png);
  background-size: 100% 100%;
  background-repeat: no-repeat;
  .box {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    background-image: url(/img/box/bottom-box.png);
    background-size: 100% 100%;
    background-repeat: no-repeat;
    height: 100%;
    z-index: 11;
  }
    .box {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        z-index: 11;
  .header {
    position: relative;
    width: 100%;
    height: 56px;
    .bottom-title {
      position: absolute;
      top: 0;
      left: 18px;
      height: 56px;
      line-height: 56px;
      color: #fff;
      text-align: center;
      font-size: 16px;
      font-weight: bold;
      font-style: oblique;
      letter-spacing: 2px;
    }
    .header {
        position: relative;
        width: 100%;
        height: 56px;
    .timeTab {
      position: absolute;
      top: 22px;
      right: 670px;
      display: flex;
      border-radius: 6px;
      overflow: hidden;
        .bottom-title {
            position: absolute;
            top: 0;
            left: 18px;
            height: 56px;
            line-height: 56px;
            color: #fff;
            text-align: center;
            font-size: 16px;
            font-weight: bold;
            font-style: oblique;
            letter-spacing: 2px;
        }
      span {
        padding: 0 10px;
        height: 26px;
        text-align: center;
        line-height: 26px;
        background: $sub-tab-bg-color;
      }
        .timeTab {
            position: absolute;
            top: 22px;
            right: 670px;
            display: flex;
            border-radius: 6px;
            overflow: hidden;
      .beforetime {
        color: #99cccc;
        cursor: pointer;
      }
            span {
                padding: 0 10px;
                height: 26px;
                text-align: center;
                line-height: 26px;
                background: $sub-tab-bg-color;
            }
            .beforetime {
                color: #99cccc;
                cursor: pointer;
            }
            .choosed {
                color: #fff;
            }
        }
        .timeSeclect {
            width: 520px;
            height: 30px;
            position: absolute;
            top: 20px;
            right: 130px;
            display: flex;
            align-items: center;
            &>div {
                margin: 0 5px;
                flex: 1;
                display: flex;
                align-items: center;
            }
        }
        .history-tab {
            position: absolute;
            top: 22px;
            right: 12px;
            display: flex;
            border-radius: 6px;
            overflow: hidden;
            span {
                padding: 0 10px;
                height: 26px;
                text-align: center;
                line-height: 26px;
                background: $sub-tab-bg-color;
            }
            .beforetime {
                color: #99cccc;
                cursor: pointer;
            }
            .choosed {
                color: #fff;
            }
        }
      .choosed {
        color: #fff;
      }
    }
    .body {
        margin: 12px;
        margin-top: 10px;
        margin-bottom: 14px;
        width: calc(100% - 24px);
        height: calc(100% - 80px);
    .timeSeclect {
      width: 520px;
      height: 30px;
      position: absolute;
      top: 20px;
      right: 130px;
      display: flex;
      align-items: center;
        .title-header {
            li {
                color: #fff !important;
                background: $table-header-bg-color !important;
            }
        }
        /* 解决自定义滚动条 x 轴显示问题 */
        .warp {
            margin: 0 auto;
            overflow: hidden;
            width: 100%;
            height: calc(100% - 44px);
        }
        .warp.no-data {
            display: flex;
            align-items: center;
            justify-content: center;
        }
        ul {
            li {
                height: 44px;
                line-height: 44px;
                display: flex;
                cursor: pointer;
                span {
                    padding: 0 4px;
                    overflow: hidden;
                    text-overflow: ellipsis;
                    white-space: nowrap;
                }
                .num {
                    width: 6%;
                }
                .receiving-alarm-unit {
                    width: 12.6%;
                }
                .receiving-alarm-people {
                    width: 7.6%;
                }
                .receiving-alarm-time {
                    width: 16%;
                }
                .call-people {
                    width: 7.6%;
                }
                .call-phone {
                    width: 10%;
                }
                .call-police-content {
                    width: 14%;
                }
                .incident-site {
                    width: 24%;
                }
                .call-police-type {
                    width: 8%;
                }
                .have-position {
                    width: 8%;
                }
                .alarm-bz {
                    flex: 1;
                }
            }
            li:nth-child(2n) {
                background: $table-body-tr-2n-color;
                color: #fff !important;
            }
            li:nth-child(2n-1) {
                background: $table-body-tr-n-color;
                color: #fff;
            }
        }
      &>div {
        margin: 0 5px;
        flex: 1;
        display: flex;
        align-items: center;
      }
    }
    .current-table-body {
        margin: 12px;
        margin-top: 10px;
        margin-bottom: 14px;
        width: calc(100% - 24px);
        height: calc(100% - 80px);
    .history-tab {
      position: absolute;
      top: 22px;
      right: 12px;
      display: flex;
      border-radius: 6px;
      overflow: hidden;
        .pages {
            height: 40px;
            display: flex;
            align-items: center;
            justify-content: center;
      span {
        padding: 0 10px;
        height: 26px;
        text-align: center;
        line-height: 26px;
        background: $sub-tab-bg-color;
      }
      .beforetime {
        color: #99cccc;
        cursor: pointer;
      }
      .choosed {
        color: #fff;
      }
    }
  }
  .body {
    margin: 12px;
    margin-top: 10px;
    margin-bottom: 14px;
    width: calc(100% - 24px);
    height: calc(100% - 80px);
    .title-header {
      li {
        color: #fff !important;
        background: $table-header-bg-color !important;
      }
    }
    /* 解决自定义滚动条 x 轴显示问题 */
    .warp {
      margin: 0 auto;
      overflow: hidden;
      width: 100%;
      height: calc(100% - 44px);
    }
    .warp.no-data {
      display: flex;
      align-items: center;
      justify-content: center;
    }
    ul {
      li {
        height: 44px;
        line-height: 44px;
        display: flex;
        cursor: pointer;
        span {
          padding: 0 4px;
          overflow: hidden;
          text-overflow: ellipsis;
          white-space: nowrap;
        }
    }
    .border-svg {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        z-index: 1;
        .num {
          width: 6%;
        }
        .receiving-alarm-unit {
          width: 12.6%;
        }
        .receiving-alarm-people {
          width: 7.6%;
        }
        .receiving-alarm-time {
          width: 16%;
        }
        .call-people {
          width: 7.6%;
        }
        .call-phone {
          width: 10%;
        }
        .call-police-content {
          width: 14%;
        }
        .incident-site {
          width: 24%;
        }
        .call-police-type {
          width: 8%;
        }
        .have-position {
          width: 8%;
        }
        .alarm-bz {
          flex: 1;
        }
      }
      li:nth-child(2n) {
        background: $table-body-tr-2n-color;
        color: #fff !important;
      }
      li:nth-child(2n-1) {
        background: $table-body-tr-n-color;
        color: #fff;
      }
    }
  }
  .current-table-body {
    margin: 12px;
    margin-top: 10px;
    margin-bottom: 14px;
    width: calc(100% - 24px);
    height: calc(100% - 80px);
    .pages {
      height: 40px;
      display: flex;
      align-items: center;
      justify-content: center;
    }
  }
  .border-svg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
  }
}
</style>
src/views/home/components/leftContainer.vue
@@ -72,7 +72,7 @@
      <div class="box">
        <div class="title">重点场所</div>
        <el-main v-loading="houseEchartsLoading" element-loading-text="拼命加载中" element-loading-spinner="el-icon-loading"
          element-loading-background="rgba(0, 0, 0, 0.5)">
          element-loading-background="rgba(0, 0, 0, 0.5)" style="height: calc(100% - 17.6%);">
          <div class="sub-tab">
            <div class="tab" :class="{ 'select-on-tab': tabTypeTwo == 0 }" @click="houseTabClick(0)">
              <div class="tab-title-small">九小场所:</div>
@@ -98,7 +98,7 @@
      <div class="box">
        <div class="title">现有小区</div>
        <el-main v-loading="landEchartsLoading" element-loading-text="拼命加载中" element-loading-spinner="el-icon-loading"
          element-loading-background="rgba(0, 0, 0, 0.5)">
          element-loading-background="rgba(0, 0, 0, 0.5)" style="height: calc(100% - 17.6%);">
          <div class="sub-tab" v-show="isAllPoliceStation">
            <div class="tab" :class="{ 'select-on-tab': tabTypeThree == 0 }" @click="landTabClick(0)">
              <div class="tab-title-small">小区:</div>
@@ -1117,6 +1117,7 @@
        deptId: this.policeStaionID != '' ? this.policeStaionID : this.userInfo.dept_id,
        areaId: this.areaId
      }).then(res => {
        console.log("九小", res)
        let xDate = []
        let yDate = []
@@ -1685,7 +1686,7 @@
        setTimeout(() => {
          this.landEchartsLoading = false
        }, 500)
        console.log("landData1", landData)
        this.initLandEcharts(landData)
      }).catch(res => {
        setTimeout(() => {
@@ -1702,11 +1703,11 @@
    initLandEcharts (landData) {
      this.disposeLandEchart()
      var chartDom = document.getElementById('landEcharts')
      console.log("chartDom", chartDom)
      landMyChart = this.$echarts.init(chartDom)
      console.log("landMyChart", landMyChart)
      landMyChart.setOption(this.initLandOptions(landData[0], landData[1]))
      console.log("setOption", landData[0])
      this.clickLandChart()
    },
src/views/home/components/rightContainer.vue
@@ -58,7 +58,8 @@
          </div>
        </div>
        <el-main v-loading="eventChangeEchartsLoading" element-loading-text="拼命加载中"
          element-loading-spinner="el-icon-loading" element-loading-background="rgba(0, 0, 0, 0.5)">
          element-loading-spinner="el-icon-loading" element-loading-background="rgba(0, 0, 0, 0.5)"
          style="height: calc(100% - 17.6%);">
          <div class="sub-tab">
            <div class="tab" :class="{ 'select-on-tab': caseInfoType == 0 }" @click="initEventChangeEcharts(0)">
              <div class="tab-title-small">警情变化趋势</div>
@@ -114,7 +115,8 @@
      <div class="box">
        <div class="title">现有设备</div>
        <el-main v-loading="equipmentEchartsLoading" element-loading-text="拼命加载中"
          element-loading-spinner="el-icon-loading" element-loading-background="rgba(0, 0, 0, 0.5)">
          element-loading-spinner="el-icon-loading" element-loading-background="rgba(0, 0, 0, 0.5)"
          style="height: calc(100% - 17.6%);">
          <div class="sub-tab">
            <div class="tab" :class="{ 'select-on-tab': linetype == 0 }" @click="initEquipmentEcharts(0)">
              <div class="tab-title-small">设备种类</div>
@@ -346,8 +348,8 @@
        getSchedulingList(params).then((res) => {
          let a = [], b = []
          a = res.data.data.filter(i => i.dept == '信州分局')
          b = res.data.data.filter(i => i.dept != '信州分局')
          a = res.data.data.filter(i => i.dept == '经开分局')
          b = res.data.data.filter(i => i.dept != '经开分局')
          this.schedulingList = [...a, ...b]
        })
src/views/home/index.vue
@@ -20,8 +20,7 @@
      @changeActivityType="changeActivityType" ref="rightContainer"></right-container>
    <bottom-container v-show="isShowHomeContent" class="bottom-container" ref="bottomContainer"
      @changePoliceSituationHistoryType="changePoliceSituationHistoryType"
      @policeSituationChange="policeSituationChange"
      @changePoliceSituationHistoryType="changePoliceSituationHistoryType" @policeSituationChange="policeSituationChange"
      @policeSituationSiteClick="policeSituationSiteClick"></bottom-container>
    <scheduling-list ref="schedulingList"></scheduling-list>
@@ -131,8 +130,7 @@
          </el-table-column>
          <el-table-column :show-overflow-tooltip="true" prop="name" label="设备名称" min-width="320%"></el-table-column>
          <el-table-column :show-overflow-tooltip="true" prop="channelId" label="通道编号"
            min-width="160%"></el-table-column>
          <el-table-column :show-overflow-tooltip="true" prop="channelId" label="通道编号" min-width="160%"></el-table-column>
          <el-table-column :show-overflow-tooltip="true" prop="policeStationName" label="所属派出所"
            min-width="140%"></el-table-column>
          <el-table-column label="设备状态">
@@ -282,9 +280,8 @@
      <div v-show="policeInformationType == '出警信息' && JSON.stringify(CJdata) == '{}'" class="box no-data">暂无数据</div>
    </el-dialog>
    <el-dialog :title="dialogEquimentVideoTitle" :visible.sync="dialogEquimentVideoVisible"
      :modal-append-to-body="false" :before-close="dialogBeforeClose" :modal="true" :close-on-click-modal="false"
      class="car-video-box">
    <el-dialog :title="dialogEquimentVideoTitle" :visible.sync="dialogEquimentVideoVisible" :modal-append-to-body="false"
      :before-close="dialogBeforeClose" :modal="true" :close-on-click-modal="false" class="car-video-box">
      <hk-video class="video" ref="video" />
    </el-dialog>
@@ -441,9 +438,8 @@
        </el-table-column>
      </el-table>
      <div class="syld_page all-pagination-sty">
        <el-pagination background layout="prev, pager, next, total" :page-size="syldPage.pageSize"
          :total="syldPage.total" :current-page="syldPage.currentPage"
          @current-change="handleSyldPageChange"></el-pagination>
        <el-pagination background layout="prev, pager, next, total" :page-size="syldPage.pageSize" :total="syldPage.total"
          :current-page="syldPage.currentPage" @current-change="handleSyldPageChange"></el-pagination>
      </div>
    </el-dialog>
@@ -513,9 +509,8 @@
        </el-table-column>
      </el-table>
      <div class="syld_page all-pagination-sty">
        <el-pagination background layout="prev, pager, next, total" :page-size="gzcsPage.pageSize"
          :total="gzcsPage.total" :current-page="gzcsPage.currentPage"
          @current-change="handleGzcsPageChange"></el-pagination>
        <el-pagination background layout="prev, pager, next, total" :page-size="gzcsPage.pageSize" :total="gzcsPage.total"
          :current-page="gzcsPage.currentPage" @current-change="handleGzcsPageChange"></el-pagination>
      </div>
    </el-dialog>
@@ -530,8 +525,7 @@
        <div>
          辖区选择:
          <el-select style="flex: 1;" size="small" v-model="areaChangeValue" placeholder="请选择">
            <el-option v-for="item in areaListData" :key="item.value" :label="item.label"
              :value="item.value"></el-option>
            <el-option v-for="item in areaListData" :key="item.value" :label="item.label" :value="item.value"></el-option>
          </el-select>
        </div>
@@ -571,10 +565,10 @@
      </div>
    </el-dialog>
    <el-dialog :title="zhuHuInfoPopupTitle" :visible.sync="zhuHuInfoPopupShow" :modal="true"
      :modal-append-to-body="false" :close-on-click-modal="false" class="zhuHuInfo-details-box"
      v-loading="zhuHuInfoLoading" element-loading-text="拼命加载中" element-loading-spinner="el-icon-loading"
      :before-close="zhuHuBeforeClose" element-loading-background="rgba(0, 0, 0, 0.5)">
    <el-dialog :title="zhuHuInfoPopupTitle" :visible.sync="zhuHuInfoPopupShow" :modal="true" :modal-append-to-body="false"
      :close-on-click-modal="false" class="zhuHuInfo-details-box" v-loading="zhuHuInfoLoading"
      element-loading-text="拼命加载中" element-loading-spinner="el-icon-loading" :before-close="zhuHuBeforeClose"
      element-loading-background="rgba(0, 0, 0, 0.5)">
      <div class="header">
        <!-- <div>
                    姓名:
@@ -912,64 +906,16 @@
      areaChangeValue: '1123598813738675201',
      areaListData: [
        {
          label: '信州分局',
          label: '经开分局',
          value: '1123598813738675201'
        },
        {
          label: '东市派出所',
          label: '兴园派出所',
          value: '1596019492522426369'
        },
        {
          label: '水南派出所',
          label: '董团派出所',
          value: '1596020272834936833'
        },
        {
          label: '西市派出所',
          value: '1596020342712041474'
        },
        {
          label: '北门派出所',
          value: '1596020390174785537'
        },
        {
          label: '车站派出所',
          value: '1596020461461176321'
        },
        {
          label: '茅家岭派出所',
          value: '1596020515064381442'
        },
        {
          label: '沙溪派出所',
          value: '1596020574275371010'
        },
        {
          label: '朝阳派出所',
          value: '1596020623172567041'
        },
        {
          label: '灵溪派出所',
          value: '1596020683096588290'
        },
        {
          label: '秦峰派出所',
          value: '1596020727883366401'
        },
        {
          label: '凤凰派出所',
          value: '1596020775790706690'
        },
        {
          label: '石狮派出所',
          value: '1614543582897971202'
        },
        {
          label: '大院派出所',
          value: '1614543698551709698'
        },
        {
          label: '师院派出所',
          value: '1614543791782699010'
        }
      ],
      zhuSuName: '',
@@ -2881,7 +2827,7 @@
     */
    getPanoramaList () {
      getPanoramaList().then(res => {
        if (res.data.code == 200 && res.data.data.length > 0) {
        if (res.data.code == 200 && res.data.data && res.data.data.length > 0) {
          this.panoramaList = res.data.data.map(e => {
            const item = {
              lng: e.longitude,
src/views/house/index.vue
@@ -182,8 +182,8 @@
                  <i v-show="buildingList.length > 10 && nextBtnShow" class="el-icon-caret-right"></i>
                </div>
              </div>
              <div class="build-info" v-show="!BuildListLoading && !buildingList.length"
                style="justify-content: center;">暂无楼栋数据</div>
              <div class="build-info" v-show="!BuildListLoading && !buildingList.length" style="justify-content: center;">
                暂无楼栋数据</div>
            </el-main>
            <div class="ridgepole-info" v-if="isShowHouseBox">
              <div class="title">楼栋信息</div>
@@ -300,13 +300,13 @@
                        {{ unitChoosedArr[index * 5 - 5].sname }}{{ unitChoosedArr[index * 5
                          - 5].sname ==
                          unitChoosedArr[unitChoosedArr.length - 1].sname ? '' : '-' }}{{
                          unitChoosedArr[index *
                            5
                            - 1] ? (unitChoosedArr[index * 5
                              - 1].sname) : (unitChoosedArr[index * 5 - 5].sname ==
                                unitChoosedArr[unitChoosedArr.length - 1].sname
                                ? '' : unitChoosedArr[unitChoosedArr.length - 1].sname)
                        }}层
    unitChoosedArr[index *
    5
    - 1] ? (unitChoosedArr[index * 5
      - 1].sname) : (unitChoosedArr[index * 5 - 5].sname ==
        unitChoosedArr[unitChoosedArr.length - 1].sname
        ? '' : unitChoosedArr[unitChoosedArr.length - 1].sname)
  }}层
                      </div>
                    </div>
                  </div>
@@ -318,8 +318,8 @@
                  <div v-for="(item, index) in unitChoosedArr.slice((floorsType - 1) * 5, floorsType * 5)" :key="index">
                    <div class="title">{{ item.sname }}层:</div>
                    <div class="detail">
                      <div v-for="(value, index) in item.children_infos" :key="index"
                        @click="residentDetailsClick(value)" :class="{ on: floorChoosed == value.sname }">{{ value.sname
                      <div v-for="(value, index) in item.children_infos" :key="index" @click="residentDetailsClick(value)"
                        :class="{ on: floorChoosed == value.sname }">{{ value.sname
                        }}室
                        <div class="flow"
                          :class="[value.isBus == '1' ? 'red' : '', value.isBus == '2' ? 'grey' : '', value.isBus == '3' ? 'green' : '']">
@@ -352,8 +352,8 @@
            <el-table :data="parkingLotData" style="width: 100%"
              :header-cell-style="{ 'text-align': 'center', 'background-color': '#203c60', 'borderColor': '#324e75' }"
              :cell-style="{ 'text-align': 'center', 'borderColor': '#324e75' }" :row-class-name="tableRowClassName"
              @row-click="deepDataRowClick($event, 'park')" :empty-text="houseDeepNoDataText"
              v-loading="houseDeepLoading" element-loading-text="拼命加载中" element-loading-spinner="el-icon-loading"
              @row-click="deepDataRowClick($event, 'park')" :empty-text="houseDeepNoDataText" v-loading="houseDeepLoading"
              element-loading-text="拼命加载中" element-loading-spinner="el-icon-loading"
              element-loading-background="rgba(0, 0, 0, 0.5)">
              <el-table-column prop="name" label="名称" width="180" :show-overflow-tooltip="true"></el-table-column>
              <el-table-column prop="x" label="经度" width="100"></el-table-column>
@@ -369,8 +369,7 @@
              @row-click="deepDataRowClick($event, 'business')" @sort-change="sortDevName"
              :empty-text="houseDeepNoDataText" v-loading="houseDeepLoading" element-loading-text="拼命加载中"
              element-loading-spinner="el-icon-loading" element-loading-background="rgba(0, 0, 0, 0.5)"
              :show-overflow-tooltip="true" @cell-mouse-enter="businessMouseEnter"
              @cell-mouse-leave="businessMouseLeave">
              :show-overflow-tooltip="true" @cell-mouse-enter="businessMouseEnter" @cell-mouse-leave="businessMouseLeave">
              <el-table-column sortable="custom" prop="placeName" label="场所名称"
                :show-overflow-tooltip="true"></el-table-column>
              <el-table-column prop="labelName" label="场所类型"></el-table-column>
@@ -432,7 +431,7 @@
      <div class="item">
        <div class="key">名称:</div>
        <div class="value">{{ businessChooseItem.placeName
          }}</div>
        }}</div>
      </div>
      <div class="item">
        <div class="key">类型:</div>
@@ -449,12 +448,12 @@
      <div class="item">
        <div class="key">经度:</div>
        <div class="value">{{ businessChooseItem.x
          }}</div>
        }}</div>
      </div>
      <div class="item">
        <div class="key">纬度:</div>
        <div class="value">{{ businessChooseItem.y
          }}</div>
        }}</div>
      </div>
    </div>
    <map-search-box></map-search-box>
@@ -556,8 +555,7 @@
        </div>
        <div v-if="hushiPeoTy == 8" class="pay-info-box">
          <scanCodeAlarm :residentIdSave="residentIdSave" :residentDetailsType="residentDetailsType"
            ref="scanCodeAlarm">
          <scanCodeAlarm :residentIdSave="residentIdSave" :residentDetailsType="residentDetailsType" ref="scanCodeAlarm">
          </scanCodeAlarm>
        </div>
@@ -817,9 +815,8 @@
          <el-table-column prop="areaName" label="所属责任区"></el-table-column>
        </el-table>
        <div class="pages all-pagination-sty" ref="tablePagination" v-show="!keyPeopleLoading">
          <el-pagination background layout="prev, pager, next" :page-size="peoplePage.pageSize"
            :total="peoplePage.total" :current-page="peoplePage.currentPage"
            @current-change="peopleHandleCurrentChange"></el-pagination>
          <el-pagination background layout="prev, pager, next" :page-size="peoplePage.pageSize" :total="peoplePage.total"
            :current-page="peoplePage.currentPage" @current-change="peopleHandleCurrentChange"></el-pagination>
        </div>
      </el-main>
    </el-dialog>
@@ -1186,7 +1183,7 @@
      // 使用首页传过来的小区id获取停车场出入口商场和 小区名称类型地址数据
      // 原来 361100  临时361102
      this.getSearchExtensivelyBgAoiDeepdata(
        "ebf48ecaa1fd436fa3d40c4600aa051f",
        "81503dad589f42bf9a9e5ea5e017f329",
        "361100",
        this.$route.query.id,
        "1|3"
@@ -1208,7 +1205,7 @@
        // 大搜之搜索面详细数据(停车场出入口商场)--默认万达华府
        this.getSearchExtensivelyBgAoiDeepdata(
          "ebf48ecaa1fd436fa3d40c4600aa051f",
          "81503dad589f42bf9a9e5ea5e017f329",
          "361100",
          villageId,
          "1|3"
@@ -1598,7 +1595,7 @@
      this.businessData = []
      this.getSearchExtensivelyBgAoiDeepdata(
        "ebf48ecaa1fd436fa3d40c4600aa051f",
        "81503dad589f42bf9a9e5ea5e017f329",
        "361100",
        current.id,
        "1|3"
@@ -2060,7 +2057,7 @@
      // 楼栋单元楼层户室查询-大搜
      this.getUnitHousesData(
        "ebf48ecaa1fd436fa3d40c4600aa051f",
        "81503dad589f42bf9a9e5ea5e017f329",
        "361100",
        item.build_uid,
        "1|3",
@@ -2304,7 +2301,7 @@
          this.callPoliceData = res.data.data.records.map((item, index) => {
            if (item.JJDWMC.indexOf('上饶市公安局') != -1) item.JJDWMC = item.JJDWMC.replace(/上饶市公安局/, '市局')
            if (item.JJDWMC.indexOf('信州区分局') != -1) item.JJDWMC = item.JJDWMC.replace(/信州区分局/, '')
            if (item.JJDWMC.indexOf('经开区分局') != -1) item.JJDWMC = item.JJDWMC.replace(/经开区分局/, '')
            if (item.JJDWMC.indexOf('信州') != -1) item.JJDWMC = item.JJDWMC.replace(/信州/, '')
            return {
@@ -2725,9 +2722,10 @@
        "361102",
        "0.00001"
      ).then((res) => {
        let bgId = res.data.data.properties.ijnnl
        // let bgId = res.data.data.properties.ijnnl
        let bgId = res.data.data.properties.bg_buildid
        getSearchExtensively(
          "ebf48ecaa1fd436fa3d40c4600aa051f",
          "81503dad589f42bf9a9e5ea5e017f329",
          "361100",
          "",
          bgId
src/views/house/index(商铺用接口前).vue
Diff too large
src/views/layout/index.vue
@@ -27,7 +27,7 @@
      </div>
      <div class="title">
        <h3>信州公安警务作战一体化平台</h3>
        <h3>经开区公安警务作战一体化平台</h3>
      </div>
      <!-- 菜单导航 -->
@@ -59,10 +59,10 @@
          <div class="triangle"></div>
          <div class="userName">用户名:{{ currentUserInfo.user_name }}</div>
          <div class="userBtn">
            <div class="back-system" v-if="permission.operation_manager" @click="goToBack">
            <!-- <div class="back-system" v-if="permission.operation_manager" @click="goToBack">
              <i class="el-icon-user-back"></i>
              运维管理
            </div>
            </div> -->
            <div class="back-system" :style="{ color: currentUrl == '/layout/available' ? '#fcbd56' : '#fff' }"
              @click="goToPage('/layout/available')">
              <i class="el-icon-s-grid"></i>
@@ -109,13 +109,13 @@
        </div>
        <div slot="copyrightText">
          <div class="copyright-box" v-show="!this.$store.state.popupParams.isShowHomeContent">版权所有:信州分局
            <br />技术支持:户政大队/科信大队
          <div class="copyright-box" v-show="!this.$store.state.popupParams.isShowHomeContent">版权所有:经开分局
            <!-- <br />技术支持:户政大队/科信大队 -->
          </div>
          <div :class="{ 'copyright-box-shouye': isShouYe, 'copyright-box': !isShouYe, }"
            v-show="this.$store.state.popupParams.isShowHomeContent">
            版权所有:信州分局
            <br />技术支持:户政大队/科信大队
            版权所有:经开分局
            <!-- <br />技术支持:户政大队/科信大队 -->
          </div>
        </div>
src/views/login/index.vue
@@ -30,7 +30,7 @@
                </el-form>
        </div>-->
    <!-- </div> -->
    <div class="loginTitle">信州公安警务作战一体化平台</div>
    <div class="loginTitle">经开区公安警务作战一体化平台</div>
    <div class="layui-form login_content">
      <p>用户登录</p>
      <el-form :model="loginForm" ref="formName" status-icon :rules="rules">
@@ -49,7 +49,7 @@
      </el-form>
    </div>
    <div class="copyright-box">
      版权所有:信州分局 <br />技术支持:户政大队/科信大队
      <!-- 版权所有:经开分局 <br />技术支持:户政大队/科信大队 -->
    </div>
  </div>
</template>
src/views/policeInfor/index.vue
@@ -34,10 +34,8 @@
        <div class="search-item-box" v-show="areaChangeShow">
          <span>辖区选择:</span>
          <el-select style="flex: 1;" size="small" v-model="areaChangeValue" @change="areaValueChange"
            placeholder="请选择">
            <el-option v-for="item in areaListData" :key="item.value" :label="item.label"
              :value="item.value"></el-option>
          <el-select style="flex: 1;" size="small" v-model="areaChangeValue" @change="areaValueChange" placeholder="请选择">
            <el-option v-for="item in areaListData" :key="item.value" :label="item.label" :value="item.value"></el-option>
          </el-select>
        </div>
@@ -213,64 +211,16 @@
      areaChangeValue: '1123598813738675201',
      areaListData: [
        {
          label: '信州分局',
          label: '经开分局',
          value: '1123598813738675201'
        },
        {
          label: '东市派出所',
          label: '兴园派出所',
          value: '1596019492522426369'
        },
        {
          label: '水南派出所',
          label: '董团派出所',
          value: '1596020272834936833'
        },
        {
          label: '西市派出所',
          value: '1596020342712041474'
        },
        {
          label: '北门派出所',
          value: '1596020390174785537'
        },
        {
          label: '车站派出所',
          value: '1596020461461176321'
        },
        {
          label: '茅家岭派出所',
          value: '1596020515064381442'
        },
        {
          label: '沙溪派出所',
          value: '1596020574275371010'
        },
        {
          label: '朝阳派出所',
          value: '1596020623172567041'
        },
        {
          label: '灵溪派出所',
          value: '1596020683096588290'
        },
        {
          label: '秦峰派出所',
          value: '1596020727883366401'
        },
        {
          label: '凤凰派出所',
          value: '1596020775790706690'
        },
        {
          label: '石狮派出所',
          value: '1614543582897971202'
        },
        {
          label: '大院派出所',
          value: '1614543698551709698'
        },
        {
          label: '师院派出所',
          value: '1614543791782699010'
        }
      ],
@@ -438,7 +388,7 @@
          this.realPoliceInforData = res.data.map((item, index) => {
            if (item.JJDWMC.indexOf('上饶市公安局') != -1) item.JJDWMC = item.JJDWMC.replace(/上饶市公安局/, '市局')
            if (item.JJDWMC.indexOf('信州区分局') != -1) item.JJDWMC = item.JJDWMC.replace(/信州区分局/, '')
            if (item.JJDWMC.indexOf('经开区分局') != -1) item.JJDWMC = item.JJDWMC.replace(/经开区分局/, '')
            if (item.JJDWMC.indexOf('信州') != -1) item.JJDWMC = item.JJDWMC.replace(/信州/, '')
            return { ...item, index: index + 1, lng: item.ZDDWXZB, lat: item.ZDDWYZB }
@@ -521,7 +471,7 @@
        if (classifyData.data.data.length > 0) {
          that.historyPoliceInforData = classifyData.data.data.map((item, index) => {
            if (item.JJDWMC.indexOf('上饶市公安局') != -1) item.JJDWMC = item.JJDWMC.replace(/上饶市公安局/, '市局')
            if (item.JJDWMC.indexOf('信州区分局') != -1) item.JJDWMC = item.JJDWMC.replace(/信州区分局/, '')
            if (item.JJDWMC.indexOf('经开区分局') != -1) item.JJDWMC = item.JJDWMC.replace(/经开区分局/, '')
            if (item.JJDWMC.indexOf('信州') != -1) item.JJDWMC = item.JJDWMC.replace(/信州/, '')
            return { ...item, index: index + 1, lng: item.ZDDWXZB, lat: item.ZDDWYZB }
vue.config.js
@@ -191,10 +191,10 @@
    proxy: {
      "/api": {
        // target用于配置你允许访问数据的计算机名称,即是你的api接口的服务器地址
        target: "https://wrj.shuixiongit.com/srjwapi",
        // target: "https://wrj.shuixiongit.com/srjwapi",
        // target: "http://z4042833u6.wicp.vip",//钟
        // target: "https://238z61221a.oicp.vip",//原
        // target: "http://192.168.1.177:82",
        target: "http://localhost:82",
        // target: "http://106.225.193.35:82",
        // target: "http://192.168.1.170:82",
        // target: "http://124.221.125.71:9529",//开发调试