linwe
2025-10-27 e860899e87d340abcc5b278ac08f9c2764001207
经开分局优化
13 files modified
6070 ■■■■ changed files
public/static/tileset.js 268 ●●●●● patch | view | raw | blame | history
src/components/mapSearchBox/index.vue 2 ●●● patch | view | raw | blame | history
src/router/axios.js 136 ●●●● patch | view | raw | blame | history
src/styles/media/index.scss 2 ●●● patch | view | raw | blame | history
src/views/comprehensiveSearch/components/addressSearch.vue 30 ●●●● patch | view | raw | blame | history
src/views/home/components/bottomContainer.vue 10 ●●●●● patch | view | raw | blame | history
src/views/home/components/dialog/areaDetailsBox.vue 19 ●●●●● patch | view | raw | blame | history
src/views/home/components/leftContainer.vue 10 ●●●● patch | view | raw | blame | history
src/views/home/index copy.vue 5295 ●●●● patch | view | raw | blame | history
src/views/home/index.vue 25 ●●●● patch | view | raw | blame | history
src/views/house/index.vue 249 ●●●● patch | view | raw | blame | history
src/views/house/index(商铺用接口前).vue 20 ●●●● patch | view | raw | blame | history
src/views/layout/index.vue 4 ●●●● patch | view | raw | blame | history
public/static/tileset.js
@@ -5,266 +5,8 @@
  {
    name: "02",
  },
  {
    name: "03",
  },
  {
    name: "04",
  },
  {
    name: "05",
  },
  {
    name: "06",
  },
  {
    name: "07",
  },
  {
    name: "08",
  },
  {
    name: "09",
  },
  {
    name: "10",
  },
  {
    name: "11",
  },
  {
    name: "12",
  },
  {
    name: "13",
  },
  {
    name: "14",
  },
  {
    name: "15",
  },
  {
    name: "16",
  },
  {
    name: "17",
  },
  {
    name: "18",
  },
  {
    name: "19",
  },
  {
    name: "20",
  },
  {
    name: "21",
  },
  {
    name: "22",
  },
  {
    name: "23",
  },
  {
    name: "24",
  },
  {
    name: "25",
  },
  {
    name: "26",
  },
  {
    name: "27",
  },
  {
    name: "28",
  },
  {
    name: "29",
  },
  {
    name: "30",
  },
  {
    name: "31",
  },
  {
    name: "32",
  },
  {
    name: "33",
  },
  {
    name: "34",
  },
  {
    name: "35",
  },
  {
    name: "36",
  },
  {
    name: "37",
  },
  {
    name: "38",
  },
  {
    name: "39",
  },
  {
    name: "40",
  },
  {
    name: "41",
  },
  {
    name: "42",
  },
  {
    name: "43",
  },
  {
    name: "44",
  },
  {
    name: "45",
  },
  {
    name: "46",
  },
  {
    name: "47",
  },
  {
    name: "48",
  },
  {
    name: "49",
  },
  {
    name: "50",
  },
  {
    name: "51",
  },
  {
    name: "52",
  },
  {
    name: "53",
  },
  {
    name: "54",
  },
  {
    name: "55",
  },
  {
    name: "56",
  },
  {
    name: "57",
  },
  {
    name: "58",
  },
  {
    name: "59",
  },
  {
    name: "60",
  },
  {
    name: "61",
  },
  {
    name: "62",
  },
  {
    name: "63",
  },
  {
    name: "64",
  },
  {
    name: "65",
  },
  {
    name: "66",
  },
  {
    name: "67",
  },
  {
    name: "68",
  },
  {
    name: "69",
  },
  {
    name: "70",
  },
  {
    name: "71",
  },
  {
    name: "72",
  },
  {
    name: "73",
  },
  {
    name: "74",
  },
  {
    name: "75",
  },
  {
    name: "76",
  },
  {
    name: "77",
  },
  {
    name: "78",
  },
  {
    name: "79",
  },
  {
    name: "80",
  },
  {
    name: "81",
  },
  {
    name: "82",
  },
  {
    name: "83",
  },
  {
    name: "84",
  },
  {
    name: "85",
  },
  {
    name: "86",
  },
  {
    name: "87",
  },
  {
    name: "88",
  },
  {
    name: "89",
    maximumScreenSpaceError: 1,
  },
];
  // {
  //   name: "89",
  //   maximumScreenSpaceError: 1,
  // },
]
src/components/mapSearchBox/index.vue
@@ -183,7 +183,7 @@
        this.isShowClearBtn = true
        this.getSearchExtensively(
          "81503dad589f42bf9a9e5ea5e017f329",
          "361102",
          "361121",
          this.searchExtensivelyValue
        )
      }
src/router/axios.js
@@ -26,25 +26,25 @@
let videoApi = ''
if (process.env.NODE_ENV == 'development') {
    // 开发
    defaultApi = window.BASE_URL_CONFIG.VUE_APP_OUTER_NET
    searchAllApi = window.BASE_URL_CONFIG.VUE_APP_OUTER_NET_SEARCH
    videoApi = window.BASE_URL_CONFIG.VUE_APP_OUTER_NET_VIDEO
  // 开发
  defaultApi = window.BASE_URL_CONFIG.VUE_APP_OUTER_NET
  searchAllApi = window.BASE_URL_CONFIG.VUE_APP_OUTER_NET_SEARCH
  videoApi = window.BASE_URL_CONFIG.VUE_APP_OUTER_NET_VIDEO
} else {
    // 部署
    defaultApi = window.BASE_URL_CONFIG.VUE_APP_INTRANET
    searchAllApi = window.BASE_URL_CONFIG.VUE_APP_INTRANET_SEARCH
    videoApi = window.BASE_URL_CONFIG.VUE_APP_INTRANET_VIDEO
  // 部署
  defaultApi = window.BASE_URL_CONFIG.VUE_APP_INTRANET
  searchAllApi = window.BASE_URL_CONFIG.VUE_APP_INTRANET_SEARCH
  videoApi = window.BASE_URL_CONFIG.VUE_APP_INTRANET_VIDEO
}
// 调用后台管理的
const service = axios.create({
    timeout: 600000, // request timeout
  timeout: 600000, // request timeout
})
// 返回其他状态码
service.defaults.validateStatus = function (status) {
    return status >= 200 && status <= 500
  return status >= 200 && status <= 500
}
// 跨域请求,允许保存cookie
@@ -52,71 +52,71 @@
// http request拦截
service.interceptors.request.use(
    (config) => {
        config.cancelToken = new axios.CancelToken(cancel => {
            window._axiosPromiseArr.push({ cancel })
        })
  (config) => {
    config.cancelToken = new axios.CancelToken(cancel => {
      window._axiosPromiseArr.push({ cancel })
    })
        // 调用监控平台的
        if (config.requestBaseUrl == "outside") {
            config.baseURL = videoApi
        } else if (config.requestBaseUrl == "fengt") {
            config.baseURL = defaultApi
        } else if (config.requestBaseUrl == "fengtDS") {
            config.baseURL = searchAllApi
        } else {
            const meta = config.meta || {}
            const isToken = meta.isToken === false
            if (auth.getToken() && !isToken) {
                config.headers['Blade-Auth'] = "bearer " + auth.getToken()
            }
        }
        //headers判断是否需要
        const authorization = config.authorization === false
        if (!authorization) {
            config.headers["Authorization"] = `Basic ${Base64.encode("saber:saber_secret")}`
        }
        //让每个请求携带token
        //headers中配置text请求
        // if (config.text === true) {
        //     config.headers["Content-Type"] = "text/plain"
        // }
        // const token = auth.getToken()
        // 添加token
        // token && (config.headers.token = token)
        return config
    },
    (error) => {
        return Promise.reject(error)
    // 调用监控平台的
    if (config.requestBaseUrl == "outside") {
      config.baseURL = videoApi
    } else if (config.requestBaseUrl == "fengt") {
      config.baseURL = defaultApi
    } else if (config.requestBaseUrl == "fengtDS") {
      config.baseURL = searchAllApi
    } else {
      const meta = config.meta || {}
      const isToken = meta.isToken === false
      if (auth.getToken() && !isToken) {
        config.headers['Blade-Auth'] = "bearer " + auth.getToken()
      }
    }
    //headers判断是否需要
    const authorization = config.authorization === false
    if (!authorization) {
      config.headers["Authorization"] = `Basic ${Base64.encode("saber:saber_secret")}`
    }
    //让每个请求携带token
    //headers中配置text请求
    // if (config.text === true) {
    //     config.headers["Content-Type"] = "text/plain"
    // }
    // const token = auth.getToken()
    // 添加token
    // token && (config.headers.token = token)
    return config
  },
  (error) => {
    return Promise.reject(error)
  }
)
// http response 拦截
service.interceptors.response.use(
    (res) => {
        const code = res.data.code
        if (code == 401 || code == 403 || res.data.data == "token 验证失败!") {
            // sessionStorage.removeItem('token')
            router.push("/login")
        } else {
            return res
        }
    },
    (error) => {
        // Message({
        //     message: error.message,
        //     type: "error",
        //     duration: 5 * 1000,
        // })
        // console.log(error)
        return Promise.reject(new Error(error))
  (res) => {
    const code = res.data.code
    if (code == 401 || code == 403 || res.data.data == "token 验证失败!") {
      // sessionStorage.removeItem('token')
      router.push("/login")
    } else {
      return res
    }
  },
  (error) => {
    // Message({
    //     message: error.message,
    //     type: "error",
    //     duration: 5 * 1000,
    // })
    // console.log(error)
    return Promise.reject(new Error(error))
  }
)
export default service
src/styles/media/index.scss
@@ -16,7 +16,7 @@
          .title {
            font-size: countSizeVh(24);
            width: countSizeVw(450, 1920);
            width: countSizeVw(520, 1920);
            letter-spacing: countSizeVw(6, 1920);
          }
src/views/comprehensiveSearch/components/addressSearch.vue
@@ -16,9 +16,9 @@
    <div class='search-detail-box'>
      <div class='search-detail-content'>
        <div class='search-detail-item'>
          <div class='search-detail-item-title'>前海卓越时代广场</div>
          <div class='search-detail-item-title'>商务写字楼</div>
          <div class='search-detail-item-title'>广东省深圳市宝安区新安街道</div>
          <!-- <div class='search-detail-item-title'>前海卓越时代广场</div> -->
          <!-- <div class='search-detail-item-title'>商务写字楼</div> -->
          <!-- <div class='search-detail-item-title'>广东省深圳市宝安区新安街道</div> -->
        </div>
      </div>
    </div>
@@ -48,7 +48,7 @@
  // 父组件给子组件传过来的参数
  props: {
  },
  data() {
  data () {
    //这里存放数据
    return {
      show: false,
@@ -62,27 +62,27 @@
  watch: {},
  //方法集合
  methods: {
    setCurrent(row) {
    setCurrent (row) {
      this.$refs.singleTable.setCurrentRow(row)
    },
    handleCurrentChange(val) {
    handleCurrentChange (val) {
      this.currentRow = val
    }
  },
  //生命周期 - 创建完成(可以访问当前this实例)
  created() {
  created () {
  },
  //生命周期 - 挂载完成(可以访问DOM元素)
  mounted() {
  mounted () {
  },
  beforeCreate() { }, //生命周期 - 创建之前
  beforeMount() { }, //生命周期 - 挂载之前
  beforeUpdate() { }, //生命周期 - 更新之前
  updated() { }, //生命周期 - 更新之后
  beforeDestroy() { }, //生命周期 - 销毁之前
  destroyed() { }, //生命周期 - 销毁完成
  activated() { }, //如果页面有keep-alive缓存功能,这个函数会触发
  beforeCreate () { }, //生命周期 - 创建之前
  beforeMount () { }, //生命周期 - 挂载之前
  beforeUpdate () { }, //生命周期 - 更新之前
  updated () { }, //生命周期 - 更新之后
  beforeDestroy () { }, //生命周期 - 销毁之前
  destroyed () { }, //生命周期 - 销毁完成
  activated () { }, //如果页面有keep-alive缓存功能,这个函数会触发
}
</script>
<style lang='scss' scoped>
src/views/home/components/bottomContainer.vue
@@ -9,7 +9,7 @@
 * Copyright (c) 2023 by shuishen 1109946754@qq.com, All Rights Reserved. 
-->
<template>
  <div class="container">
  <div class="">
    <!-- <div class="box">
      <div class="header">
        <div class="bottom-title">警情动态</div>
@@ -85,6 +85,8 @@
            </el-carousel-item>
          </el-carousel>
        </div>
        <div class="warp no-data" v-else>暂无警情数据</div>
      </div>
@@ -116,7 +118,7 @@
      </div>
    </div> -->
    <svg class="border-svg">
    <!-- <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"
@@ -137,7 +139,7 @@
      <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>
    </svg> -->
  </div>
</template>
@@ -586,7 +588,7 @@
  position: relative;
  height: 100%;
  width: 100%;
  // background-image: url(/img/box/bottom-box.png);
  background-image: url(/img/box/bottom-box.png);
  background-size: 100% 100%;
  background-repeat: no-repeat;
src/views/home/components/dialog/areaDetailsBox.vue
@@ -33,7 +33,7 @@
          </template>
        </el-table-column>
        <el-table-column :show-overflow-tooltip="true" prop="realName" label="姓名"></el-table-column>
        <el-table-column :show-overflow-tooltip="true" prop="reAddress" label="地址" min-width="240%"></el-table-column>
        <el-table-column :show-overflow-tooltip="true" prop="address" label="地址" min-width="240%"></el-table-column>
        <el-table-column :show-overflow-tooltip="true" prop="phone" label="电话"></el-table-column>
        <el-table-column :show-overflow-tooltip="true" prop="policeStationName" label="所属派出所"></el-table-column>
        <el-table-column :show-overflow-tooltip="true" prop="areaName" label="所属责任区"></el-table-column>
@@ -151,6 +151,8 @@
     * @return {*}
     */
    personInfoClose () {
      this.status = ''
      this.communityCode = ''
      this.peoplePoliceName = ''
      this.peopleCallPhone = ''
      this.peopleCardID = ''
@@ -168,7 +170,7 @@
    searchPeopleDetail () {
      this.peoplePage.currentPage = 1
      this.peopleInfoList = []
      this.getPersonInfoPage(1)
      this.getPersonInfoPage()
    },
    /**
@@ -181,7 +183,7 @@
      this.peopleCardID = ''
      this.peoplePage.currentPage = 1
      this.peopleInfoList = []
      this.getPersonInfoPage(1)
      this.getPersonInfoPage()
    },
    /**
     * @description: 户籍人口列表分页切换
@@ -191,7 +193,7 @@
    handlePeopleCurrentChange (currentPage) {
      this.peoplePage.currentPage = currentPage
      this.peopleInfoList = []
      this.getPersonInfoPage(1)
      this.getPersonInfoPage()
    },
    /**
@@ -203,7 +205,7 @@
      this.peopleEmptyText = ""
      getPersonInfoPage({
        status,
        status: this.status,
        // deptId: this.userInfo.dept_id,
        deptId: this.peopleSearchQuery.dept_id,
        areaId: this.peopleSearchQuery.id,
@@ -211,7 +213,8 @@
        phone: this.peopleCallPhone,
        cardNo: this.peopleCardID,
        current: this.peoplePage.currentPage,
        size: this.peoplePage.pageSize
        size: this.peoplePage.pageSize,
        communityCode: this.communityCode
      }).then(res => {
        this.peoplePage.total = 0
        console.log('getPersonInfoPage', res)
@@ -234,6 +237,8 @@
    },
    showpeopledetail (id, name, isIncludeKeypeople, deptId) {
      this.status = ''
      this.communityCode = ''
      this.peopleTitle = name
      this.peopleSearchQuery.id = id
      if (deptId) {
@@ -247,8 +252,10 @@
      if (isIncludeKeypeople == 'includeKeypeople') {
        this.getPersonInfoPage()
      } else if (isIncludeKeypeople == 'onlyKeypeople') {
        this.status = 2
        this.getPersonInfoPage(2)
      } else {
        this.communityCode = isIncludeKeypeople
        this.getPersonInfoPage()
      }
    }
src/views/home/components/leftContainer.vue
@@ -463,12 +463,14 @@
              yDate1.push({
                value: e.hjnum,
                name: e.name,
                id: e.id
                id: e.id,
                communityCode: e.communityCode
              })
              yDate2.push({
                value: e.synum,
                name: e.name,
                id: e.id
                id: e.id,
                communityCode: e.communityCode
              })
            })
          }
@@ -1311,7 +1313,9 @@
          this.getVillagePersonStatisticInfoByPoliceStationId(params.data.id)
          this.clickPoliceStationId = params.data.id
        } else {
          this.$emit('showpeopledetail', params.data.id, params.data.name)
          console.log(params, '------1------')
          this.$emit('showpeopledetail', params.data.id, params.data.name, params.data.communityCode)
        }
      })
    },
src/views/home/index copy.vue
Diff too large
src/views/home/index.vue
@@ -940,7 +940,17 @@
    }
  },
  components: { leftContainer, rightContainer, bottomContainer, schedulingList, landDetailsBox, placeDetailsBox, otherPlaceDetailsBox, areaDetailsBox, keyPersonBox },
  components: {
    leftContainer,
    rightContainer,
    bottomContainer,
    schedulingList,
    landDetailsBox,
    placeDetailsBox,
    otherPlaceDetailsBox,
    areaDetailsBox,
    keyPersonBox
  },
  computed: {
    ...mapGetters([
@@ -2347,7 +2357,7 @@
              stroke: positionColor[index],
              fill: positionColor[index], //注意:颜色必须大写,即不能为blue
              strokeWidth: 0,
              clampToGround: true
              clampToGround: false
            }).then(function (dataSource) {
              let entities = dataSource.entities.values
              //修改entity样式
@@ -2356,7 +2366,8 @@
                entity.polyline = {
                  positions: entity.polygon.hierarchy._value.positions,
                  width: 2,
                  material: global.DC.Namespace.Cesium.Color.fromCssColorString('#ED7C2F')
                  material: global.DC.Namespace.Cesium.Color.fromCssColorString('#ED7C2F'),
                  clampToGround: true
                }
              }
@@ -2447,7 +2458,7 @@
            stroke: positionColor[index],
            fill: positionColor[index], //注意:颜色必须大写,即不能为blue
            strokeWidth: 0,
            clampToGround: true
            clampToGround: false
          }).then(function (dataSource) {
            let entities = dataSource.entities.values
            //修改entity样式
@@ -2456,7 +2467,8 @@
              entity.polyline = {
                positions: entity.polygon.hierarchy._value.positions,
                width: 2,
                material: global.DC.Namespace.Cesium.Color.fromCssColorString('#ED7C2F')
                material: global.DC.Namespace.Cesium.Color.fromCssColorString('#ED7C2F'),
                clampToGround: true
              }
            }
@@ -2532,7 +2544,8 @@
            entity.polyline = {
              positions: entity.polygon.hierarchy._value.positions,
              width: 2,
              material: global.DC.Namespace.Cesium.Color.fromCssColorString('#ED7C2F')
              material: global.DC.Namespace.Cesium.Color.fromCssColorString('#ED7C2F'),
              clampToGround: true
            }
          }
src/views/house/index.vue
@@ -182,8 +182,7 @@
                  <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 class="build-info" v-show="!BuildListLoading && !buildingList.length" style="justify-content: center;">
                暂无楼栋数据</div>
            </el-main>
            <div class="ridgepole-info" v-if="isShowHouseBox">
@@ -300,14 +299,11 @@
                        v-for="index in Math.ceil(unitChoosedArr.length / 5)" :key="index">
                        {{ 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[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>
@@ -319,8 +315,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' : '']">
@@ -353,8 +349,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>
@@ -370,8 +366,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>
@@ -557,8 +552,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>
@@ -818,9 +812,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>
@@ -1140,50 +1133,50 @@
          value: 1,
          isHover: true,
        },
        {
          label: "交易信息",
          value: 4,
          isHover: false,
        },
        {
          label: "从业人员",
          value: 5,
          isHover: true,
        },
        {
          label: "阵地控制",
          value: 6,
          isHover: true,
        },
        {
          label: "反诈宣传",
          value: 7,
          isHover: true,
        },
        {
          label: "扫码报警",
          value: 8,
          isHover: true,
        },
        // {
        //   label: "交易信息",
        //   value: 4,
        //   isHover: false,
        // },
        // {
        //   label: "从业人员",
        //   value: 5,
        //   isHover: true,
        // },
        // {
        //   label: "阵地控制",
        //   value: 6,
        //   isHover: true,
        // },
        // {
        //   label: "反诈宣传",
        //   value: 7,
        //   isHover: true,
        // },
        // {
        //   label: "扫码报警",
        //   value: 8,
        //   isHover: true,
        // },
        // {
        //     label: "矛盾纠纷",
        //     value: 9,
        // },
        {
          label: "出租屋",
          value: 10,
          isHover: true,
        },
        // {
        //   label: "出租屋",
        //   value: 10,
        //   isHover: true,
        // },
        {
          label: "九小场所",
          value: 11,
          isHover: true,
        },
        {
          label: "无诈认证",
          value: 12,
          isHover: true,
        },
        // {
        //   label: "无诈认证",
        //   value: 12,
        //   isHover: true,
        // },
        // {
        //     label: "校园安全",
        //     value: 13,
@@ -1225,7 +1218,7 @@
      // 原来 361100  临时361102
      this.getSearchExtensivelyBgAoiDeepdata(
        "81503dad589f42bf9a9e5ea5e017f329",
        "361102",
        "361121",
        this.$route.query.id,
        "1|3"
      )
@@ -1247,16 +1240,16 @@
        // 大搜之搜索面详细数据(停车场出入口商场)--默认万达华府
        this.getSearchExtensivelyBgAoiDeepdata(
          "81503dad589f42bf9a9e5ea5e017f329",
          "361102",
          "361121",
          villageId,
          "1|3"
        )
      })
    }
    this.getPoliceStationTree(1)
    const that = this
    this.getPoliceStationTree(1)
    this.$EventBus.$on("housingPoliceSiteClick", (params) => {
      that.housingPoliceSiteClick(params)
@@ -1303,7 +1296,7 @@
          }
        ]
      }
      JQSmychart.setOption(option, true)
      if (JQSmychart) JQSmychart.setOption(option, true)
    })
  },
@@ -1347,6 +1340,7 @@
    // 查询当前楼栋下户室信息(是否关联)
    getPersonConnectionConditionByBuildingId (params) {
      let then = this
      getPersonConnectionConditionByBuildingId(params).then(res => {
        this.personConnectionData = res.data.data.list
        //未关联户室数  uncorrelatedNumber-未核实户室数 unexaminedNumber-已核实户室数 verifiedNumber-户室总数 busTotalNumber 
@@ -1354,7 +1348,9 @@
        this.buildingInfo.unexaminedNumber = res.data.data.unexaminedNumber
        this.buildingInfo.verifiedNumber = res.data.data.verifiedNumber
        this.buildingInfo.busTotalNumber = res.data.data.busTotalNumber
        this.unitChoosedArr.forEach(item => {
        console.log(then.unitChoosedArr, "666666666--------")
        console.log(then.unitChoosedArr, "666666666--------")
        then.unitChoosedArr.forEach(item => {
          item.children_infos.forEach(it => {
            let residentId = it.std_addr_id.split('|')[2]
            res.data.data.list.forEach(one => {
@@ -1639,7 +1635,7 @@
      this.getSearchExtensivelyBgAoiDeepdata(
        "81503dad589f42bf9a9e5ea5e017f329",
        "361102",
        "361121",
        current.id,
        "1|3"
      )
@@ -1688,7 +1684,7 @@
          // 部署
          baseUrl = "http://10.141.11.11/"
        }
        console.log(res.data, "111111111------")
        // 小区名称类型地址
        let villageData = res.data.result[0]
@@ -1696,7 +1692,7 @@
          ...villageData,
          siteJd: Number(villageData.location.lng),
          siteWd: Number(villageData.location.lat) - 0.0021,
          siteGd: 240,
          siteGd: 400,
          sitePitch: -45,
        })
@@ -1704,20 +1700,23 @@
        this.villageInfo.address = villageData.address
        this.villageInfo.type_name = villageData.type_name.split("|")[0]
        this.villageInfo.pic_url = baseUrl + villageData.pic_url.split(";")[0]
        this.villageInfo.pic_url_singleArr = []
        this.villageInfo.pic_url_singleArr.push(this.villageInfo.pic_url)
        // 修改后的代码示例
        const picUrls = villageData.pic_url ? villageData.pic_url.split(";") : []
        this.villageInfo.pic_url = picUrls.length > 0 ? baseUrl + picUrls[0] : ""
        this.villageInfo.pic_url_singleArr = this.villageInfo.pic_url ? [this.villageInfo.pic_url] : []
        this.villageInfo.pic_url_list = []
        villageData.pic_url.split(";").forEach((item) => {
          let pic_url_item = baseUrl + item
          this.villageInfo.pic_url_list.push(pic_url_item)
        })
        this.villageInfo.pic_url_list.push("pic_url_item")
        this.isHaveNoPic =
          this.villageInfo.pic_url_list.length > 0 ? false : true
        if (this.villageInfo.pic_url_list.length != 0) {
          this.isShowPictArrow = "hover"
        if (picUrls.length > 0) {
          picUrls.forEach((item) => {
            if (item) { // 确保item不为空
              let pic_url_item = baseUrl + item
              this.villageInfo.pic_url_list.push(pic_url_item)
            }
          })
        }
        this.isHaveNoPic = this.villageInfo.pic_url_list.length === 0
        this.isShowPictArrow = this.villageInfo.pic_url_list.length > 0 ? "hover" : "never"
        this.villageInfoLoading = false
        console.log('search--------', res.data.result[0])
@@ -1748,32 +1747,28 @@
          res.data.result[0].children_infos.length
        ) {
          console.log('search---building', res.data.result[0].children_infos)
          console.log('search---building', res.data.result[0].children_infos[0].exttype == 'building')
          if (res.data.result[0].children_infos[0].exttype == 'building') {
            this.isShowBuildListBox = true
            let buildData = res.data.result[0].children_infos
            buildData.forEach((item) => {
              this.buildingList.push({
                name: `${item.sname}`,
                siteJd: `${item.x}`,
                siteWd: `${item.y}`,
                name: item.sname || '未知楼栋',
                siteJd: item.x2000 ? `${item.x2000}` : '0',
                siteWd: item.y2000 ? `${item.y2000}` : '0',
                siteGd: 360,
                // build_id: `${item.std_addr_id.split("|")[1]}`,
                build_uid: `${item.uid}`,
                // 文档请求3D
                build_std_addr_id: `${item.std_addr_id.split("|")[1]}`,
                // 临时新加 business_id 用来请求3D
                business_id: `${item.business_id}`,
                floor_num: `${item.floor_num}`,
                elev: `${item.elev}`,
                build_uid: item.uid || '',
                build_std_addr_id: item.std_addr_id ? `${item.std_addr_id.split("|")[1] || ''}` : '',
                floor_num: item.floor_num || '0',
                elev: item.elev ? `${item.elev}` : '0'
              })
            })
            console.log('search---buildingthis.buildingList', this.buildingList)
            this.$EventBus.$emit("toPosition", {
              ...this.buildingList[0],
              siteJd: Number(this.buildingList[0].siteJd),
              siteWd: Number(this.buildingList[0].siteWd) - 0.0021,
              siteGd: 240,
              siteGd: 400,
              sitePitch: -45,
            })
            setTimeout(() => {
@@ -1858,6 +1853,7 @@
          this.pictLoading = true
          this.isShowHouseBox = true
        }
        console.log('getUnitHousesData--res', res)
        if (res && res.data && res.data.result && Array.isArray(res.data.result) && res.data.result.length > 0) {
          let houseUintList = res.data.result[0]
          this.unitAllArr = houseUintList
@@ -1871,6 +1867,7 @@
            this.residentDetailsClick(houseUintList)
            return
          }
          console.log(houseUintList.children_infos.length > 1 && houseUintList.children_infos[0].exttype, "unit**********************")
          if (houseUintList.children_infos.length > 1 && houseUintList.children_infos[0].exttype == 'unit') {
            this.isShowUnitChoose = true
            this.unitOptions = []
@@ -1882,11 +1879,14 @@
              })
            })
            this.unitChoosedArr = this.unitAllArr.children_infos[0].children_infos
            console.log(this.unitAllArr.children_infos, 'search---unit')
          } else if (houseUintList.children_infos.length > 1 && houseUintList.children_infos[0].exttype == 'floor') {
            this.isShowUnitChoose = false
            this.unitChoosedArr = this.unitAllArr.children_infos
            console.log(this.unitAllArr.children_infos, 'search---floor')
          }
          let houseCount = 0
          console.log('getUnitHousesData--unitChoosedArr', this.unitChoosedArr)
          this.unitChoosedArr.forEach(item => {
            item.children_infos.forEach(it => {
              houseCount++
@@ -1913,45 +1913,55 @@
    // 三维接口查询楼栋户室
    getHouses3DData (build_std_addr_id, adcode, aoiArr) {
      this.unitChoosed3DList = []
      let then = this
      getHouses(build_std_addr_id, adcode).then((res) => {
        let houseData = res.data.data.properties
        console.log('getHouses3DData--then')
        this.$EventBus.$emit("showThreeDimensions", {
        console.log('getHouses3DData--then', res)
        then.$EventBus.$emit("showThreeDimensions", {
          positions: houseData.kmj3a,
          minHeight: res.data.data.properties.hwtxa.features[0].properties.yjpca,
          maxHeight: res.data.data.properties.hwtxa.features[0].properties.mbfdr,
          maxHeight: res.data.data.properties.hwtxa.features[0].properties.mbfdr + res.data.data.properties.hwtxa.features[0].properties.yjpca,
        })
        this.unitChoosed3DList = houseData.nwwqd.features
        this.curHousingHWTXAYjpca = houseData.hwtxa.features[0].properties.yjpca
        then.unitChoosed3DList = houseData.nwwqd.features
        then.curHousingHWTXAYjpca = houseData.hwtxa.features[0].properties.yjpca
        console.log('getHouses3DData--aoiArr', aoiArr)
        if (aoiArr) {
          this.unitChoosed3DList.forEach(item => {
          then.unitChoosed3DList.forEach(item => {
            let aoiHeight = aoiArr[1]
            console.log('aoiHeight', aoiHeight)
            let minHeight = item.properties.szhfr
            let maxHeight =
              item.properties.szhfr +
              item.properties.hnagn
            if (minHeight < aoiHeight && aoiHeight < maxHeight) {
            console.log('minHeight', minHeight)
            let maxHeight = item.properties.szhfr + item.properties.hnagn
            console.log('maxHeight', maxHeight)
            if (minHeight < (aoiHeight - then.curHousingHWTXAYjpca) && (aoiHeight - then.curHousingHWTXAYjpca) < maxHeight) {
              // if (minHeight < aoiHeight) {
              let chooseIndex = ''
              this.unitChoosedArr.forEach((one, index) => {
              console.log('this.unitChoosedArr', then.unitChoosedArr)
              then.unitChoosedArr.forEach((one, index) => {
                if (one.sname == item.properties.cftlg) {
                  chooseIndex = index
                }
              })
              this.floorsType = Math.ceil((chooseIndex + 1) / 5)
              if (this.floorsType > 3) {
                for (let i = 0; i < this.floorsType - 3; i++) {
                  this.nextFloorBtn()
              then.floorsType = Math.ceil((chooseIndex + 1) / 5)
              console.log('this.floorsType', then.floorsType)
              if (then.floorsType > 3) {
                for (let i = 0; i < then.floorsType - 3; i++) {
                  then.nextFloorBtn()
                }
              }
              let polygon = this.$turf.polygon([
              let polygon = then.$turf.polygon([
                JSON.parse(item.properties.kmj3a).coordinates[0],
              ])
              let point = this.$turf.point(aoiArr[0])
              if (this.$turf.booleanContains(polygon, point)) {
                this.unitChoosedArr.forEach(xIt => {
              let point = then.$turf.point(aoiArr[0])
              console.log('point', point)
              console.log('polygon', polygon)
              if (then.$turf.booleanContains(polygon, point)) {
                console.log('this.this.unitChoosedArr', then.unitChoosedArr)
                then.unitChoosedArr.forEach(xIt => {
                  xIt.children_infos.forEach(yIt => {
                    if (item.properties.snxmi == yIt.std_addr_id.split('|')[2]) {
                      this.residentDetailsClick(yIt)
                      console.log('item.properties.snxmi', item.properties.snxmi)
                      then.residentDetailsClick(yIt)
                    }
                  })
                })
@@ -1965,6 +1975,8 @@
    // 三维接口高亮楼栋户室-通过
    getResident3DData (build_std_addr_id) {
      console.log('getResident3DData--build_std_addr_id', build_std_addr_id)
      console.log('getResident3DData--then', this.unitChoosed3DList)
      this.unitChoosed3DList.forEach(item => {
        if (item.properties.snxmi == build_std_addr_id) {
          let sanWeiData = item.properties.kmj3a
@@ -1991,7 +2003,7 @@
            ...item,
            siteJd: Number(homeCenter[0]),
            siteWd: Number(homeCenter[1]) - 0.0021,
            siteGd: 240,
            siteGd: 400,
            sitePitch: -45,
          })
          this.$EventBus.$emit("clearHouse3D")
@@ -2040,7 +2052,7 @@
        // this.$EventBus.$emit("toPosition", {
        //     siteJd: Number(params.lng),
        //     siteWd: Number(params.lat) - 0.0021,
        //     siteGd: 240,
        //     siteGd: 400,
        //     sitePitch: -45,
        // })
      }
@@ -2065,6 +2077,7 @@
      this.unitHouseChoosed = []
      this.unitChoosedArr = []
      this.pictLoading = true
      console.log(aoiArr, 'aoiArr-------------')
      if (!aoiArr) {
        this.$EventBus.$emit("clearHouse3D")
        // this.$EventBus.$emit("toPosition", {
@@ -2078,7 +2091,7 @@
          ...item,
          siteJd: Number(item.siteJd),
          siteWd: Number(item.siteWd) - 0.0021,
          siteGd: 240,
          siteGd: 400,
          sitePitch: -45,
        })
      }
@@ -2101,7 +2114,7 @@
      // 楼栋单元楼层户室查询-大搜
      this.getUnitHousesData(
        "81503dad589f42bf9a9e5ea5e017f329",
        "361102",
        "361121",
        item.build_uid,
        "1|3",
        buildId)
@@ -2769,7 +2782,7 @@
        let bgId = res.data.data.properties.bg_buildid
        getSearchExtensively(
          "81503dad589f42bf9a9e5ea5e017f329",
          "361102",
          "361121",
          "",
          bgId
        ).then((res) => {
@@ -2897,11 +2910,12 @@
          item.position.forEach((sourceItem, sourceIndex) => {
            const Json = { ...JSON.parse(sourceItem) }
            global.DC.Namespace.Cesium.GeoJsonDataSource.load(Json, {
              stroke: positionColor[index],
              fill: positionColor[index], //注意:颜色必须大写,即不能为blue
              strokeWidth: 0,
              clampToGround: true
              clampToGround: false
            }).then(function (dataSource) {
              let entities = dataSource.entities.values
              //修改entity样式
@@ -2910,7 +2924,8 @@
                entity.polyline = {
                  positions: entity.polygon.hierarchy._value.positions,
                  width: 2,
                  material: global.DC.Namespace.Cesium.Color.fromCssColorString('#ED7C2F')
                  material: global.DC.Namespace.Cesium.Color.fromCssColorString('#ED7C2F'),
                  clampToGround: true
                }
              }
src/views/house/index(商铺用接口前).vue
@@ -2563,16 +2563,24 @@
    // 小区范围围栏光柱
    getResidentialQuartersInfo (area_id, adcode) {
      // '6E513C5E5D1611EAB6183C15FB00027B', '361102'
      getResidentialQuartersInfo(area_id, adcode).then((res) => {
        let positionStr = ""
        res.data.data.geometry.coordinates[0].forEach((item) => {
          positionStr += item[0] + "," + item[1] + "," + "20;"
        })
        // 判空处理
        if (res.data?.data?.geometry?.coordinates &&
          Array.isArray(res.data.data.geometry.coordinates[0])) {
          res.data.data.geometry.coordinates[0].forEach((item) => {
            positionStr += item[0] + "," + item[1] + "," + "20;"
          })
        } else {
          console.warn("坐标数据为空或格式不正确")
          return
        }
        if (wallLayer != null) {
          wallLayer.clear()
        }
        let wall = new global.DC.Wall(positionStr)
        wall.setStyle({
@@ -2589,10 +2597,10 @@
        wall.allowDrillPicking = true
        wallLayer.addOverlay(wall)
        wallLayer.show = true
      })
    },
    }
    ,
    // 大搜点查询
    getAoiByPtStd (e) {
src/views/layout/index.vue
@@ -27,7 +27,7 @@
      </div>
      <div class="title">
        <h3>上饶市经开区可视化指挥调度平台</h3>
        上饶市经开区可视化指挥调度平台
      </div>
      <!-- 菜单导航 -->
@@ -555,7 +555,7 @@
      display: flex;
      align-items: center;
      justify-content: center;
      width: 450px;
      width: 520px;
      font-size: 24px;
      // text-align: center;
      overflow: hidden;