jxdnsong
2023-04-02 c29e1b331d9a6822c4bb29b8bc56433acd6a375d
小区基础信息loading
1 files modified
1117 ■■■■■ changed files
src/views/house/index.vue 1117 ●●●●● patch | view | raw | blame | history
src/views/house/index.vue
@@ -1,8 +1,8 @@
<!--
 * @Author: shuishen 1109946754@qq.com
 * @Date: 2022-08-18 16:18:17
 * @LastEditors: shuishen 1109946754@qq.com
 * @LastEditTime: 2023-04-01 22:48:33
 * @LastEditors: song
 * @LastEditTime: 2023-04-02 13:15:37
 * @FilePath: \srs-police-affairs\src\views\house\index.vue
 * @Description: 小区-栋-层-房屋
 * 
@@ -31,7 +31,10 @@
        </div>
        <div v-show="contentShow" class="result-content" ref="resultContentBox">
            <div class="housing-estate-info" ref="housingEstateInfoBox">
                <el-main v-loading="villageInfoLoading" element-loading-background="rgba(0, 0, 0, 0.2)"
                    element-loading-text="数据正在加载中" element-loading-spinner="el-icon-loading">
                <div class="housing-title">
                    {{ villageInfo.name }}
                        <div class="progress"></div>
@@ -70,6 +73,7 @@
                        </div>
                    </div>
                </div>
                </el-main>
                <div class="nav-tab" ref="navTabBox">
                    <div class="nav" :class="navType == 0 ? 'choosed' : ''" @click="navClick" data-type="0">基本信息</div>
@@ -382,22 +386,30 @@
</template>
<script>
let circleLayer = null
let timer = []
let curHousingName = ''
let circleLayer = null;
let timer = [];
let curHousingName = "";
import {
    getSearchExtensively, getHouses, getSearchExtensivelyBgAoiDeepdata,
    getPoliceStationLazyTree, getPoliceStationTrees, getVillageInfo,
    getVillagePersonStatisticInfoByBuildId, getVillagePersonInfo,
    getResidentialQuartersInfo, getAoiByBgId, getPoliceSationVillageInfo, getAoiByPt
} from '@/api/dept/index.js'
import { getAlarmList } from "@/api/home/index.js"
  getSearchExtensively,
  getHouses,
  getSearchExtensivelyBgAoiDeepdata,
  getPoliceStationLazyTree,
  getPoliceStationTrees,
  getVillageInfo,
  getVillagePersonStatisticInfoByBuildId,
  getVillagePersonInfo,
  getResidentialQuartersInfo,
  getAoiByBgId,
  getPoliceSationVillageInfo,
  getAoiByPt,
} from "@/api/dept/index.js";
import { getAlarmList } from "@/api/home/index.js";
let wallLayer = null
let wallLayer = null;
export default {
    inject: ['userInfo'],
  inject: ["userInfo"],
    data () {
        return {
@@ -406,12 +418,12 @@
            keyPeopleLoading: false,
            isHaveNoPic: false,
            residentLoading: false,
            searchTreeName: '',
      searchTreeName: "",
            searchTreeData: [],
            props: {
                children: "zones", //代表children为子级
                label: "name", //根据name渲染tree列表
                isLeaf: "leaf"
        isLeaf: "leaf",
            },
            defaultProps: {
                children: "children", //代表children为子级
@@ -421,18 +433,39 @@
            treeEmptyText: "",
            contentShow: true,
            unitOptions: [{ value: 1, label: '1单元' }],
      unitOptions: [{ value: 1, label: "1单元" }],
            unitValue: 1,
            searchHouse: '',
      searchHouse: "",
            navType: 0,
            comeoutArr: [{ name: '入口1', position: '北门', type: '正门' }, { name: '入口2', position: '南门', type: '后门' }, { name: '入口3', position: '西门', type: '侧门' }],
            parkArr: [{ name: '停车场1', position: '北门', type: '地面停车场' }, { name: '停车场2', position: '南门', type: '地面停车场' }, { name: '停车场3', position: '西门', type: '地下停车场' }],
            businessArr: [{ name: '商铺1', position: '北门', type: '超市' }, { name: '商铺2', position: '南门', type: '水果店' }, { name: '商铺3', position: '西门', type: '快递站' }],
            arrTitle: [{ title: '警务名称' }, { title: '警务时间' }, { title: '警务类型' }, { title: '责任警员' }, { title: '涉案金额' }, { title: '所属辖区' }, { title: '处理时长' }, { title: '案件级别' }],
      comeoutArr: [
        { name: "入口1", position: "北门", type: "正门" },
        { name: "入口2", position: "南门", type: "后门" },
        { name: "入口3", position: "西门", type: "侧门" },
      ],
      parkArr: [
        { name: "停车场1", position: "北门", type: "地面停车场" },
        { name: "停车场2", position: "南门", type: "地面停车场" },
        { name: "停车场3", position: "西门", type: "地下停车场" },
      ],
      businessArr: [
        { name: "商铺1", position: "北门", type: "超市" },
        { name: "商铺2", position: "南门", type: "水果店" },
        { name: "商铺3", position: "西门", type: "快递站" },
      ],
      arrTitle: [
        { title: "警务名称" },
        { title: "警务时间" },
        { title: "警务类型" },
        { title: "责任警员" },
        { title: "涉案金额" },
        { title: "所属辖区" },
        { title: "处理时长" },
        { title: "案件级别" },
      ],
            policeSituationVisible: false,
            JWdetails: {},
            residentDetailsTitle: '',
      residentDetailsTitle: "",
            residentDetailsShow: false,
            lastBtnShow: false,
            nextBtnShow: true,
@@ -450,7 +483,7 @@
            parkingLotData: [],
            comeOutData: [],
            businessData: [],
            keyPersonTitle: '人员详情',
      keyPersonTitle: "人员详情",
            keyPersonVisible: false,
            personDetailArr: [],
@@ -464,96 +497,106 @@
                total: 0,
                pageSize: 15,
                count: 0,
                currentPage: 1
        currentPage: 1,
            },
            // table高度
            currentTableHeight: 0,
            villageInfo: {
                pic_url: '',
                pic_url_list: []
        pic_url: "",
        pic_url_list: [],
            },
            floorInfo: {},
            peopleInfo: {},
            choosedBuildId: '',
            keyPeopleType: '',
      choosedBuildId: "",
      keyPeopleType: "",
            peoplePage: {
                total: 0,
                pageSize: 0,
                currentPage: 1
        currentPage: 1,
            },
            peopleName: '',
            callPhone: '',
      peopleName: "",
      callPhone: "",
            pictLoading: false,
            isShowHouseBox: true,
            floorChoosed: {},
            isShowUnitChoose: false,
            allHouseFloorList: [],
            isShowPictArrow: 'never',
        }
      isShowPictArrow: "never",
      villageInfoLoading:false
    };
    },
    created () {
        // 首页跳转社区包含参数
        if (this.$route.query.id) {
            this.getVillageInfo(this.$route.query.id)
      this.getVillageInfo(this.$route.query.id);
            // 使用首页传过来的小区id获取停车场出入口商场和 小区名称类型地址数据
            this.getSearchExtensivelyBgAoiDeepdata('ebf48ecaa1fd436fa3d40c4600aa051f', '361100', this.$route.query.id, '1|3')
      this.getSearchExtensivelyBgAoiDeepdata(
        "ebf48ecaa1fd436fa3d40c4600aa051f",
        "361100",
        this.$route.query.id,
        "1|3"
      );
        } else {
            const data = {
                deptId: this.userInfo.dept_id
            }
        deptId: this.userInfo.dept_id,
      };
            // 获得对应派出所默认展示小区
            getPoliceSationVillageInfo(data).then(res => {
                let villageId = res.data.data.aoiId
      getPoliceSationVillageInfo(data).then((res) => {
        let villageId = res.data.data.aoiId;
                // let villageId = res.data.data.Md5Id
                //直接进入社区 默认获取万达广场的责任民警及所属辖区
                // this.getVillageInfo('644A2C4049024A3C8C76D96EEE4366FD')
                // this.getVillageInfo(villageId)
                // 测试万达
                this.getVillageInfo(villageId)
        this.getVillageInfo(villageId);
                // 大搜之搜索面详细数据(停车场出入口商场)--默认万达华府
                this.getSearchExtensivelyBgAoiDeepdata('ebf48ecaa1fd436fa3d40c4600aa051f', '361100', villageId, '1|3')
            })
        this.getSearchExtensivelyBgAoiDeepdata(
          "ebf48ecaa1fd436fa3d40c4600aa051f",
          "361100",
          villageId,
          "1|3"
        );
      });
        }
        const that = this
    const that = this;
        this.$EventBus.$on('housingPoliceSiteClick', (params) => {
            that.housingPoliceSiteClick(params)
        })
    this.$EventBus.$on("housingPoliceSiteClick", (params) => {
      that.housingPoliceSiteClick(params);
    });
        this.$EventBus.$on('housingIndent', (e) => {
            that.housingIndent(e)
        })
    this.$EventBus.$on("housingIndent", (e) => {
      that.housingIndent(e);
    });
        window.addEventListener('resize', this.setTableHeight)
    window.addEventListener("resize", this.setTableHeight);
    },
    mounted () {
        this.$parent.$parent.resize('400px', true)
    this.$parent.$parent.resize("400px", true);
        this.$nextTick(() => {
            circleLayer = new global.DC.PrimitiveLayer('circleLayer')
            global.viewer.addLayer(circleLayer)
      circleLayer = new global.DC.PrimitiveLayer("circleLayer");
      global.viewer.addLayer(circleLayer);
            this.searchHouse = this.$route.query.searchName
      this.searchHouse = this.$route.query.searchName;
            if (wallLayer == null) {
                wallLayer = new global.DC.VectorLayer('wallLayer')
                global.viewer.addLayer(wallLayer)
        wallLayer = new global.DC.VectorLayer("wallLayer");
        global.viewer.addLayer(wallLayer);
            }
        })
    });
    },
    updated () {
    },
  updated() {},
    methods: {
        housingIndent (e) {
            this.getAoiByPtStd(e)
      this.getAoiByPtStd(e);
        },
        /**
@@ -563,12 +606,12 @@
         */
        searchInputTree (val) {
            if (val.trim().length > 0) {
                this.searchTreeData = []
                this.treeEmptyText = "正在加载中"
                this.getPoliceStationTrees()
                this.searchLazyFlag = false
        this.searchTreeData = [];
        this.treeEmptyText = "正在加载中";
        this.getPoliceStationTrees();
        this.searchLazyFlag = false;
            } else {
                this.searchLazyFlag = true
        this.searchLazyFlag = true;
            }
        },
@@ -578,7 +621,7 @@
         * @return {*}
         */
        preventFocusLost (event) {
            event.preventDefault()
      event.preventDefault();
        },
        /**
@@ -586,10 +629,13 @@
         * @return {*}
         */
        getPoliceStationTrees () {
            getPoliceStationTrees({ name: this.searchTreeName, deptId: this.userInfo.dept_id }).then(res => {
                this.searchTreeData = res.data.data
                if (res.data.data.length == 0) this.treeEmptyText = '暂无数据'
            })
      getPoliceStationTrees({
        name: this.searchTreeName,
        deptId: this.userInfo.dept_id,
      }).then((res) => {
        this.searchTreeData = res.data.data;
        if (res.data.data.length == 0) this.treeEmptyText = "暂无数据";
      });
        },
        /**
@@ -599,40 +645,46 @@
         * @return {*}
         */
        async loadNode (node, resolve) {
            if (this.userInfo.dept_id != '1123598813738675201') {
                let list = []
                let type = node.level + 1
                await getPoliceStationLazyTree(type, node.level === 0 ? this.userInfo.dept_id : node.data.id).then(res => {
      if (this.userInfo.dept_id != "1123598813738675201") {
        let list = [];
        let type = node.level + 1;
        await getPoliceStationLazyTree(
          type,
          node.level === 0 ? this.userInfo.dept_id : node.data.id
        ).then((res) => {
                    if (res.data.data instanceof Array) {
                        list = res.data.data
            list = res.data.data;
                    }
                    if (Object.getPrototypeOf(res.data.data) === Object.prototype) {
                        list.push(res.data.data)
            list.push(res.data.data);
                    }
                    list.forEach(item => {
                        item.leaf = !item.hasChildren
                    })
                })
                return resolve(list)
          list.forEach((item) => {
            item.leaf = !item.hasChildren;
          });
        });
        return resolve(list);
            } else {
                let list = []
                let type = node.level + 1
                await getPoliceStationLazyTree(type, node.level === 0 ? '' : node.data.id).then(res => {
        let list = [];
        let type = node.level + 1;
        await getPoliceStationLazyTree(
          type,
          node.level === 0 ? "" : node.data.id
        ).then((res) => {
                    if (res.data.data instanceof Array) {
                        list = res.data.data
            list = res.data.data;
                    }
                    if (Object.getPrototypeOf(res.data.data) === Object.prototype) {
                        list.push(res.data.data)
            list.push(res.data.data);
                    }
                    list.forEach(item => {
                        item.leaf = !item.hasChildren
                    })
                })
                return resolve(list)
          list.forEach((item) => {
            item.leaf = !item.hasChildren;
          });
        });
        return resolve(list);
            }
        },
@@ -643,415 +695,516 @@
         * @return {*}
         */
        currentChangeHandle (current, currentNode) {
            if (current.hasChildren == true) return
            this.filterText = ''
            this.prop = current.name
      if (current.hasChildren == true) return;
      this.filterText = "";
      this.prop = current.name;
            if (current.type == 3) {
                this.searchTreeName = current.name
        this.searchTreeName = current.name;
            }
            if (circleLayer && circleLayer != null && circleLayer != undefined) {
                circleLayer.clear()
                circleLayer.remove()
                circleLayer = null
        circleLayer.clear();
        circleLayer.remove();
        circleLayer = null;
            }
            this.subNavType == 1
            this.getResidentialQuartersInfo(current.id, '361102')
            this.getSearchExtensivelyBgAoiDeepdata('ebf48ecaa1fd436fa3d40c4600aa051f', '361100', current.id, '1|3')
            this.getVillageInfo(current.id)
            this.$refs.searchTreeInput.blur()
            this.searchLazyFlag = true
      this.subNavType == 1;
      this.getResidentialQuartersInfo(current.id, "361102");
      this.getSearchExtensivelyBgAoiDeepdata(
        "ebf48ecaa1fd436fa3d40c4600aa051f",
        "361100",
        current.id,
        "1|3"
      );
      this.getVillageInfo(current.id);
      this.$refs.searchTreeInput.blur();
      this.searchLazyFlag = true;
        },
        navClick (e) {
            this.navType = e.target.dataset.type
      this.navType = e.target.dataset.type;
            if (this.navType == 1) {
                this.callPolicePage.currentPage = 1
                this.getAlarmList()
        this.callPolicePage.currentPage = 1;
        this.getAlarmList();
            } else {
                circleLayer.clear()
                circleLayer.remove()
                circleLayer = null
        circleLayer.clear();
        circleLayer.remove();
        circleLayer = null;
            }
        },
        // 大搜之搜索面详细数据(停车场出入口商场、 小区名称类型地址、楼栋数据)
        getSearchExtensivelyBgAoiDeepdata (ak, region, ids, infos) {
            getSearchExtensivelyBgAoiDeepdata(ak, region, ids, infos).then(res => {
                let baseUrl
                if (process.env.NODE_ENV == 'development') {
        this.villageInfoLoading = true
      getSearchExtensivelyBgAoiDeepdata(ak, region, ids, infos).then((res) => {
        let baseUrl;
        if (process.env.NODE_ENV == "development") {
                    // 开发
                    baseUrl = 'http://192.168.0.112/'
          baseUrl = "http://192.168.0.112/";
                } else {
                    // 部署
                    baseUrl = 'http://10.141.11.11/'
          baseUrl = "http://10.141.11.11/";
                }
                // 小区名称类型地址
                let villageData = res.data.result[0]
                this.villageInfo.name = villageData.name
                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_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
        let villageData = res.data.result[0];
        this.villageInfo.name = villageData.name;
        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_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'
          this.isShowPictArrow = "hover";
                }
        this.villageInfoLoading = false
                // 停车场出入口商场
                if (res.data.result[0].deep_infos != null && res.data.result[0].deep_infos.deep_info.length) {
                    let deepData = res.data.result[0].deep_infos.deep_info
                    console.log('deepData------', deepData)
                    this.parkingLotData = []
                    this.comeOutData = []
                    this.businessData = []
                    deepData.forEach(item => {
        if (
          res.data.result[0].deep_infos != null &&
          res.data.result[0].deep_infos.deep_info.length
        ) {
          let deepData = res.data.result[0].deep_infos.deep_info;
          console.log("deepData------", deepData);
          this.parkingLotData = [];
          this.comeOutData = [];
          this.businessData = [];
          deepData.forEach((item) => {
                        if (item.pc_type == 1) {
                            this.comeOutData.push(item)
              this.comeOutData.push(item);
                        } else if (item.pc_type == 2) {
                            this.parkingLotData.push(item)
              this.parkingLotData.push(item);
                        } else if (item.pc_type == 4) {
                            this.businessData.push(item)
              this.businessData.push(item);
                        }
                    })
          });
                }
                // 小区楼栋数据
                if (res.data.result[0].children_infos && res.data.result[0].children_infos.length) {
                    let buildData = res.data.result[0].children_infos
                    this.buildingList = []
                    buildData.forEach(item => {
                        this.buildingList.push({ name: `${item.sname}`, siteJd: `${item.x}`, siteWd: `${item.y}`, siteGd: 360, build_id: `${item.std_addr_id.split('|')[1]}`, floor_num: `${item.floor_num}`, elev: `${item.elev}` })
                    })
                    this.buildingClick(this.buildingList[0])
        if (
          res.data.result[0].children_infos &&
          res.data.result[0].children_infos.length
        ) {
          let buildData = res.data.result[0].children_infos;
          this.buildingList = [];
          buildData.forEach((item) => {
            this.buildingList.push({
              name: `${item.sname}`,
              siteJd: `${item.x}`,
              siteWd: `${item.y}`,
              siteGd: 360,
              build_id: `${item.std_addr_id.split("|")[1]}`,
              floor_num: `${item.floor_num}`,
              elev: `${item.elev}`,
            });
          });
          this.buildingClick(this.buildingList[0]);
                }
                this.callPolicePage.currentPage = 1
                this.getAlarmList()
            })
        this.callPolicePage.currentPage = 1;
        this.getAlarmList();
      });
        },
        // 楼栋单元楼层户室查询
        getHouses (build_id, adcode, aoiArr) {
            getHouses(build_id, adcode).then(res => {
                let maxHeight = res.data.data.properties.hwtxa.features[0].properties.mbfdr - res.data.data.properties.hwtxa.features[0].properties.yjpca
      getHouses(build_id, adcode).then((res) => {
        let maxHeight =
          res.data.data.properties.hwtxa.features[0].properties.mbfdr -
          res.data.data.properties.hwtxa.features[0].properties.yjpca;
        let houseData = res.data.data.properties;
                let houseData = res.data.data.properties
        curHousingName = res.data.data.properties.ckgkt;
                curHousingName = res.data.data.properties.ckgkt
        this.floorChoosed = [];
                this.floorChoosed = []
                this.$EventBus.$emit('showThreeDimensions', { positions: houseData.kmj3a, minHeight: 0, maxHeight: maxHeight })
        this.$EventBus.$emit("showThreeDimensions", {
          positions: houseData.kmj3a,
          minHeight: 0,
          maxHeight: maxHeight,
        });
                if (res.data != null && houseData.nwwqd.features != []) {
                    let unitData = houseData.nwwqd.features
                    console.log(unitData.length, 223366)
                    this.floorInfo.house_num = unitData.length
          let unitData = houseData.nwwqd.features;
          console.log(unitData.length, 223366);
          this.floorInfo.house_num = unitData.length;
                    if (houseData.hwtxa.features.length > 1) {
                        this.isShowUnitChoose = true
            this.isShowUnitChoose = true;
                    }
                    let allUnitDate = []
                    this.unitOptions = []
          let allUnitDate = [];
          this.unitOptions = [];
                    houseData.hwtxa.features.forEach((item, index) => {
                        this.unitOptions.push({ value: `${index + 1}`, label: `${item.properties.pgjmz}` })
                        let unitOptionData = []
                        unitData.forEach(inItem => {
            this.unitOptions.push({
              value: `${index + 1}`,
              label: `${item.properties.pgjmz}`,
            });
            let unitOptionData = [];
            unitData.forEach((inItem) => {
                            if (inItem.properties.pgjmz == item.properties.pgjmz) {
                                unitOptionData.push(inItem)
                unitOptionData.push(inItem);
                            }
                        })
                        allUnitDate.push(unitOptionData)
                    })
                    this.allHouseFloorList = []
                    allUnitDate.forEach(item => {
                        let houseFloorList = []
                        item.forEach(inItem => {
                            if (houseFloorList.indexOf(Number(inItem.properties.cftlg)) === -1) {
                                houseFloorList.push(Number(inItem.properties.cftlg))
            });
            allUnitDate.push(unitOptionData);
          });
          this.allHouseFloorList = [];
          allUnitDate.forEach((item) => {
            let houseFloorList = [];
            item.forEach((inItem) => {
              if (
                houseFloorList.indexOf(Number(inItem.properties.cftlg)) === -1
              ) {
                houseFloorList.push(Number(inItem.properties.cftlg));
                            }
                        })
            });
                        houseFloorList = houseFloorList.sort((a, b) => {
                            return a - b
                        })
                        let newArr = []
                        houseFloorList.forEach(floor => {
                            let houseArr = item.filter(inItem => {
                                return Number(inItem.properties.cftlg) == floor
                            })
                            newArr.push({ floor_num: floor, floor_house: houseArr.slice(0, 4) })
                        })
                        this.allHouseFloorList.push(newArr)
                    })
                    this.unitHouseChoosed = this.allHouseFloorList[0]
              return a - b;
            });
            let newArr = [];
            houseFloorList.forEach((floor) => {
              let houseArr = item.filter((inItem) => {
                return Number(inItem.properties.cftlg) == floor;
              });
              newArr.push({
                floor_num: floor,
                floor_house: houseArr.slice(0, 4),
              });
            });
            this.allHouseFloorList.push(newArr);
          });
          this.unitHouseChoosed = this.allHouseFloorList[0];
                    if (aoiArr) {
                        this.unitHouseChoosed.forEach((item, index) => {
                            let aoiHeight = aoiArr[1]
                            let minHeight = item.floor_house[0].properties.szhfr
                            let maxHeight = item.floor_house[0].properties.szhfr + item.floor_house[0].properties.hnagn
              let aoiHeight = aoiArr[1];
              let minHeight = item.floor_house[0].properties.szhfr;
              let maxHeight =
                item.floor_house[0].properties.szhfr +
                item.floor_house[0].properties.hnagn;
                            if (minHeight < aoiHeight && aoiHeight < maxHeight) {
                                this.floorsType = Math.ceil((index + 1) / 5)
                this.floorsType = Math.ceil((index + 1) / 5);
                                if (this.floorsType > 3) {
                                    for (let i = 0; i < this.floorsType - 3; i++) {
                                        this.nextFloorBtn()
                    this.nextFloorBtn();
                                    }
                                }
                                item.floor_house.forEach(one => {
                                    let polygon = this.$turf.polygon([JSON.parse(one.properties.kmj3a).coordinates[0]])
                                    let point = this.$turf.point(aoiArr[0])
                item.floor_house.forEach((one) => {
                  let polygon = this.$turf.polygon([
                    JSON.parse(one.properties.kmj3a).coordinates[0],
                  ]);
                  let point = this.$turf.point(aoiArr[0]);
                                    if (this.$turf.booleanContains(polygon, point)) {
                                        this.residentDetailsClick(one)
                    this.residentDetailsClick(one);
                                    }
                                })
                });
                            }
                        })
            });
                    }
                    this.pictLoading = false
          this.pictLoading = false;
                } else {
                    this.isShowHouseBox = false
          this.isShowHouseBox = false;
                }
            })
      });
        },
        tableRowClassName ({ row, rowIndex }) {
            row.index = rowIndex
            return 'rows'
      row.index = rowIndex;
      return "rows";
        },
        // 点击户室
        residentDetailsClick (params) {
            this.floorChoosed = params.properties.fojcu
            this.$EventBus.$emit('clearHouse3D')
            this.getVillagePersonInfo(params.properties.snxmi)
            this.residentDetailsTitle = `${curHousingName}${this.unitOptions.filter(item => item.value == this.unitValue)[0].label}${params.properties.fojcu}住户信息`
            this.residentDetailsShow = true
            this.residentLoading = true
            console.log('residentDetailsClick-params', params)
            this.$EventBus.$emit('showHouse3D', { positions: params.properties.kmj3a, minHeight: params.properties.szhfr, maxHeight: params.properties.szhfr + params.properties.hnagn })
      this.floorChoosed = params.properties.fojcu;
      this.$EventBus.$emit("clearHouse3D");
      this.getVillagePersonInfo(params.properties.snxmi);
      this.residentDetailsTitle = `${curHousingName}${
        this.unitOptions.filter((item) => item.value == this.unitValue)[0].label
      }${params.properties.fojcu}住户信息`;
      this.residentDetailsShow = true;
      this.residentLoading = true;
      console.log("residentDetailsClick-params", params);
      this.$EventBus.$emit("showHouse3D", {
        positions: params.properties.kmj3a,
        minHeight: params.properties.szhfr,
        maxHeight: params.properties.szhfr + params.properties.hnagn,
      });
        },
        residentDetailsClose () {
            this.residentDetailsShow = false
      this.residentDetailsShow = false;
        },
        buildingClick (item, aoiArr) {
            console.log('buildingClick-start', 111)
            this.unitHouseChoosed = []
            this.pictLoading = true
      console.log("buildingClick-start", 111);
      this.unitHouseChoosed = [];
      this.pictLoading = true;
            if (!aoiArr) {
                this.$EventBus.$emit('clearHouse3D')
                this.$EventBus.$emit('toPosition', {
        this.$EventBus.$emit("clearHouse3D");
        this.$EventBus.$emit("toPosition", {
                    ...item,
                    siteJd: Number(item.siteJd),
                    siteWd: Number(item.siteWd) - 0.0021,
                    siteGd: 240,
                    sitePitch: -45
                })
          sitePitch: -45,
        });
            }
            this.buildingChoosed = item
            this.floorInfo.elev = item.elev
            this.floorInfo.floor_num = item.floor_num
      this.buildingChoosed = item;
      this.floorInfo.elev = item.elev;
      this.floorInfo.floor_num = item.floor_num;
            // 获取户籍人口重点人口数据
            this.choosedBuildId = item.build_id
            this.getVillagePersonStatisticInfoByBuildId(item.build_id)
            this.getHouses(item.build_id, '361102', aoiArr)
            console.log('buildingClick-end')
            this.floorsType = 1
            document.querySelector(".floor-num").style.left = '0px'
            this.lastFloorShow = false
            this.unitValue = 1
      this.choosedBuildId = item.build_id;
      this.getVillagePersonStatisticInfoByBuildId(item.build_id);
      this.getHouses(item.build_id, "361102", aoiArr);
      console.log("buildingClick-end");
      this.floorsType = 1;
      document.querySelector(".floor-num").style.left = "0px";
      this.lastFloorShow = false;
      this.unitValue = 1;
        },
        nextBtn () {
            const boxWidth = parseInt(this.$refs.BuildOutBox.offsetWidth)
      const boxWidth = parseInt(this.$refs.BuildOutBox.offsetWidth);
            // if (parseInt(document.querySelector(".build-box").offsetWidth) > Math.abs(parseInt(document.querySelector(".build-box").style.left)) + boxWidth) {
            if (Math.ceil(this.buildingList.length / 10) * 356 > Math.abs(parseInt(document.querySelector(".build-box").style.left)) + boxWidth) {
                document.querySelector(".build-box").style.left = parseInt(document.querySelector(".build-box").style.left) - boxWidth + 'px'
                this.lastBtnShow = true
      if (
        Math.ceil(this.buildingList.length / 10) * 356 >
        Math.abs(parseInt(document.querySelector(".build-box").style.left)) +
          boxWidth
      ) {
        document.querySelector(".build-box").style.left =
          parseInt(document.querySelector(".build-box").style.left) -
          boxWidth +
          "px";
        this.lastBtnShow = true;
                // if (parseInt(document.querySelector(".build-box").offsetWidth) == Math.abs(parseInt(document.querySelector(".build-box").style.left)) + boxWidth) {
                if (Math.ceil(this.buildingList.length / 10) * 356 == Math.abs(parseInt(document.querySelector(".build-box").style.left)) + boxWidth) {
                    this.nextBtnShow = false
        if (
          Math.ceil(this.buildingList.length / 10) * 356 ==
          Math.abs(parseInt(document.querySelector(".build-box").style.left)) +
            boxWidth
        ) {
          this.nextBtnShow = false;
                }
            }
        },
        lastBtn () {
            const boxWidth = parseInt(this.$refs.BuildOutBox.offsetWidth)
      const boxWidth = parseInt(this.$refs.BuildOutBox.offsetWidth);
            document.querySelector(".build-box").style.left = parseInt(document.querySelector(".build-box").style.left) + boxWidth + 'px'
            this.nextBtnShow = true
            if (Math.abs(parseInt(document.querySelector(".build-box").style.left)) == 0) {
                this.lastBtnShow = false
      document.querySelector(".build-box").style.left =
        parseInt(document.querySelector(".build-box").style.left) +
        boxWidth +
        "px";
      this.nextBtnShow = true;
      if (
        Math.abs(parseInt(document.querySelector(".build-box").style.left)) == 0
      ) {
        this.lastBtnShow = false;
            }
        },
        lastFloorBtn () {
            document.querySelector(".floor-num").style.left = parseInt(document.querySelector(".floor-num").style.left) + 84 + 'px'
            this.nextFloorShow = true
            if (Math.abs(parseInt(document.querySelector(".floor-num").style.left)) == 0) {
                this.lastFloorShow = false
      document.querySelector(".floor-num").style.left =
        parseInt(document.querySelector(".floor-num").style.left) + 84 + "px";
      this.nextFloorShow = true;
      if (
        Math.abs(parseInt(document.querySelector(".floor-num").style.left)) == 0
      ) {
        this.lastFloorShow = false;
            }
        },
        nextFloorBtn () {
            if (parseInt(document.querySelector(".floor-num").offsetWidth) > Math.abs(parseInt(document.querySelector(".floor-num").style.left)) + 84) {
                document.querySelector(".floor-num").style.left = parseInt(document.querySelector(".floor-num").style.left) - 84 + 'px'
                this.lastFloorShow = true
                if (parseInt(document.querySelector(".floor-num").offsetWidth) == Math.abs(parseInt(document.querySelector(".floor-num").style.left)) + 252) {
                    this.nextFloorShow = false
      if (
        parseInt(document.querySelector(".floor-num").offsetWidth) >
        Math.abs(parseInt(document.querySelector(".floor-num").style.left)) + 84
      ) {
        document.querySelector(".floor-num").style.left =
          parseInt(document.querySelector(".floor-num").style.left) - 84 + "px";
        this.lastFloorShow = true;
        if (
          parseInt(document.querySelector(".floor-num").offsetWidth) ==
          Math.abs(parseInt(document.querySelector(".floor-num").style.left)) +
            252
        ) {
          this.nextFloorShow = false;
                }
            }
        },
        chooseUnit (value) {
            this.floorsType = 1
            this.floorChoosed = []
            this.unitHouseChoosed = this.allHouseFloorList[this.unitValue - 1]
            document.querySelector(".floor-num").style.left = '0px'
            this.lastFloorShow = false
      this.floorsType = 1;
      this.floorChoosed = [];
      this.unitHouseChoosed = this.allHouseFloorList[this.unitValue - 1];
      document.querySelector(".floor-num").style.left = "0px";
      this.lastFloorShow = false;
        },
        isHaveLiudong (arr) {
            return arr.some((item) => { return item.peopleType == '流动人口' })
      return arr.some((item) => {
        return item.peopleType == "流动人口";
      });
        },
        isHaveZhongdian (arr) {
            return arr.some((item) => { return item.peopleType == '重点人员' })
      return arr.some((item) => {
        return item.peopleType == "重点人员";
      });
        },
        isHaveJingwai (arr) {
            return arr.some((item) => { return item.peopleType == '境外人口' })
      return arr.some((item) => {
        return item.peopleType == "境外人口";
      });
        },
        // 大小重置
        boxResize (val) {
            this.boxShow = val
      this.boxShow = val;
        },
        deepDataRowClick (row, params) {
            let url = ''
            if (params == 'comeOut') {
                url = '/img/icon/bubble.png'
            } else if (params == 'park') {
                url = '/img/icon/p-biao.png'
            } else if (params == 'business') {
                url = '/img/icon/business.png'
      let url = "";
      if (params == "comeOut") {
        url = "/img/icon/bubble.png";
      } else if (params == "park") {
        url = "/img/icon/p-biao.png";
      } else if (params == "business") {
        url = "/img/icon/business.png";
            }
            this.$EventBus.$emit('mapClearLayer', {
                layerName: 'deepDataLayer',
                type: 'VectorLayer'
            })
            this.$EventBus.$emit('toPosition', {
      this.$EventBus.$emit("mapClearLayer", {
        layerName: "deepDataLayer",
        type: "VectorLayer",
      });
      this.$EventBus.$emit("toPosition", {
                siteJd: `${row.x}`,
                siteWd: `${row.y}`,
                siteGd: 1000,
            })
            this.$EventBus.$emit('layerPointAdd', {
                layerName: 'deepDataLayer',
                type: 'label',
      });
      this.$EventBus.$emit("layerPointAdd", {
        layerName: "deepDataLayer",
        type: "label",
                params: {
                    lng: `${row.x}`,
                    lat: `${row.y}`,
                    alt: 1,
                    text: row.name
                }
            })
            this.$EventBus.$emit('layerPointAdd', {
                layerName: 'deepDataLayer',
          text: row.name,
        },
      });
      this.$EventBus.$emit("layerPointAdd", {
        layerName: "deepDataLayer",
                type: "billboard",
                params: {
                    lng: `${row.x}`,
                    lat: `${row.y}`,
                    alt: 1,
                    url: url
          url: url,
                },
            })
      });
        },
        goTOPeopleDetail (status) {
            this.keyPersonVisible = true
            this.keyPeopleType = status
            this.peoplePage.currentPage = 1
            this.keyPersonTitle = status == 1 ? '户籍人口详情' : '重点人口详情'
            this.keyPeopleLoading = true
            this.getVillagePersonInfo('', this.choosedBuildId, status == 1 ? '' : status)
      this.keyPersonVisible = true;
      this.keyPeopleType = status;
      this.peoplePage.currentPage = 1;
      this.keyPersonTitle = status == 1 ? "户籍人口详情" : "重点人口详情";
      this.keyPeopleLoading = true;
      this.getVillagePersonInfo(
        "",
        this.choosedBuildId,
        status == 1 ? "" : status
      );
        },
        // 获取历史接警记录
        getAlarmList () {
            circleLayer.clear()
            circleLayer.remove()
            circleLayer = null
            circleLayer = new global.DC.PrimitiveLayer('circleLayer')
            global.viewer.addLayer(circleLayer)
      circleLayer.clear();
      circleLayer.remove();
      circleLayer = null;
      circleLayer = new global.DC.PrimitiveLayer("circleLayer");
      global.viewer.addLayer(circleLayer);
            getAlarmList({ current: this.callPolicePage.currentPage, size: this.callPolicePage.pagesize, sfdz: this.villageInfo.name, jjdwbh: this.userInfo.dept_id }).then(res => {
                this.callPolicePage.count = res.data.data.pages
      getAlarmList({
        current: this.callPolicePage.currentPage,
        size: this.callPolicePage.pagesize,
        sfdz: this.villageInfo.name,
        jjdwbh: this.userInfo.dept_id,
      }).then((res) => {
        this.callPolicePage.count = res.data.data.pages;
                this.callPoliceData = []
        this.callPoliceData = [];
                if (res.data.data.records.length > 0) {
                    this.callPoliceData = res.data.data.records.map((item, index) => {
                        return { ...item, index: index + 1, lng: item.ZDDWXZB, lat: item.ZDDWYZB }
                    })
            return {
              ...item,
              index: index + 1,
              lng: item.ZDDWXZB,
              lat: item.ZDDWYZB,
            };
          });
                    this.callPoliceData.forEach((item, index) => {
                        if (item.lng != '' && item.lat != '') {
                            let center = new global.DC.Position(item.lng, item.lat)
                            let point = new global.DC.PointPrimitive(center)
            if (item.lng != "" && item.lat != "") {
              let center = new global.DC.Position(item.lng, item.lat);
              let point = new global.DC.PointPrimitive(center);
                            let num = 0
              let num = 0;
                            timer[index] = setInterval(() => {
                                num++
                num++;
                                if (num >= 10) {
                                    num = 0
                  num = 0;
                                }
                                point.setStyle({
                                    outlineColor: global.DC.Color.RED.withAlpha(0.5),//边框颜色
                                    outlineWidth: num,//边框大小,
                                    color: global.DC.Color.RED
                                })
                            }, 100)
                  color: global.DC.Color.RED,
                });
              }, 100);
                            point.attrParams = item
                            point.on(global.DC.MouseEventType.CLICK, this.housingPoliceSiteClick)
                            circleLayer.addOverlay(point)
              point.attrParams = item;
              point.on(
                global.DC.MouseEventType.CLICK,
                this.housingPoliceSiteClick
              );
              circleLayer.addOverlay(point);
                        }
                    })
          });
                } else {
                    this.callPoliceData = []
          this.callPoliceData = [];
                }
                this.setTableHeight()
            })
        this.setTableHeight();
      });
        },
        // 警情列表点击事件
        clickData (item) {
            if (item.ZDDWXZB && item.ZDDWXZB != 0 && item.ZDDWYZB && item.ZDDWYZB != 0) {
                this.$EventBus.$emit('toPosition', {
                    layerName: 'policeSituationyLayers',
      if (
        item.ZDDWXZB &&
        item.ZDDWXZB != 0 &&
        item.ZDDWYZB &&
        item.ZDDWYZB != 0
      ) {
        this.$EventBus.$emit("toPosition", {
          layerName: "policeSituationyLayers",
                    siteJd: Number(item.ZDDWXZB),
                    siteWd: Number(item.ZDDWYZB)
                })
          siteWd: Number(item.ZDDWYZB),
        });
                this.$store.commit('SET_DETAILSPOPUP', {
        this.$store.commit("SET_DETAILSPOPUP", {
                    showBox: true,
                    showBtn: false
                })
          showBtn: false,
        });
                this.$store.commit('SET_DATAPOPUP', item)
        this.$store.commit("SET_DATAPOPUP", item);
                var popup = new global.DC.DivForms(global.viewer, {
                    domId: 'divFormsDomBox',
          domId: "divFormsDomBox",
                    position: [
                        global.DC.Transform.transformWGS84ToCartesian(
                            new global.DC.Position(
@@ -1059,12 +1212,12 @@
                                Number(item.ZDDWYZB),
                                0
                            )
                        )
                    ]
                })
            ),
          ],
        });
            } else {
                this.policeSituationDetailObj = item
                this.policeSituationVisible = true
        this.policeSituationDetailObj = item;
        this.policeSituationVisible = true;
            }
        },
@@ -1074,15 +1227,15 @@
         * @return {*}
         */
        housingPoliceSiteClick (e) {
            if ('overlay' in e) {
                this.$store.commit('SET_DETAILSPOPUP', {
      if ("overlay" in e) {
        this.$store.commit("SET_DETAILSPOPUP", {
                    showBox: true,
                    showBtn: false
                })
          showBtn: false,
        });
                this.$store.commit('SET_DATAPOPUP', e.overlay.attrParams)
        this.$store.commit("SET_DATAPOPUP", e.overlay.attrParams);
                var popup = new global.DC.DivForms(global.viewer, {
                    domId: 'divFormsDomBox',
          domId: "divFormsDomBox",
                    position: [
                        global.DC.Transform.transformWGS84ToCartesian(
                            new global.DC.Position(
@@ -1090,110 +1243,144 @@
                                Number(e.overlay.attrParams.lat),
                                0
                            )
                        )
                    ]
                })
            ),
          ],
        });
            } else {
                this.policeSituationDetailObj = e
                this.policeSituationVisible = true
        this.policeSituationDetailObj = e;
        this.policeSituationVisible = true;
            }
        },
        // 分页选择事件
        handleCurrentChange (currentPage) {
            this.callPolicePage.currentPage = currentPage
            this.getAlarmList()
      this.callPolicePage.currentPage = currentPage;
      this.getAlarmList();
        },
        peopleHandleCurrentChange (currentPage) {
            this.peoplePage.currentPage = currentPage
            this.getVillagePersonInfo('', this.choosedBuildId, this.keyPeopleType == 1 ? '' : this.keyPeopleType, currentPage)
      this.peoplePage.currentPage = currentPage;
      this.getVillagePersonInfo(
        "",
        this.choosedBuildId,
        this.keyPeopleType == 1 ? "" : this.keyPeopleType,
        currentPage
      );
        },
        // 获取table高度
        setTableHeight () {
            this.$nextTick(() => {
                if (this.$refs.policeTableBox && this.$refs.ElPagination && this.$refs.policeTableBox.offsetHeight != 0) {
                    this.currentTableHeight = this.$refs.resultContentBox.offsetHeight - this.$refs.housingEstateInfoBox.offsetHeight - this.$refs.navTabBox.offsetHeight - this.$refs.ElPagination.offsetHeight
        if (
          this.$refs.policeTableBox &&
          this.$refs.ElPagination &&
          this.$refs.policeTableBox.offsetHeight != 0
        ) {
          this.currentTableHeight =
            this.$refs.resultContentBox.offsetHeight -
            this.$refs.housingEstateInfoBox.offsetHeight -
            this.$refs.navTabBox.offsetHeight -
            this.$refs.ElPagination.offsetHeight;
                }
            })
      });
        },
        // 获取责任民警、所属辖区
        getVillageInfo (aoiId) {
            getVillageInfo(aoiId).then(res => {
                this.getResidentialQuartersInfo(res.data.data.md5Id, '361102')
                this.villageInfo.policeName = res.data.data.policeName
                this.villageInfo.policeStationName = res.data.data.policeStationName
            })
      getVillageInfo(aoiId).then((res) => {
        this.getResidentialQuartersInfo(res.data.data.md5Id, "361102");
        this.villageInfo.policeName = res.data.data.policeName;
        this.villageInfo.policeStationName = res.data.data.policeStationName;
      });
        },
        // 重点人口户籍人口
        getVillagePersonStatisticInfoByBuildId (buildId) {
            getVillagePersonStatisticInfoByBuildId(buildId).then(res => {
                this.peopleInfo.registeredPopulation = res.data.data[0]
                this.peopleInfo.KeyPopulation = res.data.data[1]
            })
      getVillagePersonStatisticInfoByBuildId(buildId).then((res) => {
        this.peopleInfo.registeredPopulation = res.data.data[0];
        this.peopleInfo.KeyPopulation = res.data.data[1];
      });
        },
        // 房屋人口信息
        getVillagePersonInfo (resBusId, buildId, status, current, realName, phone) {
            getVillagePersonInfo(resBusId, buildId, status, current, realName, phone).then(res => {
      getVillagePersonInfo(
        resBusId,
        buildId,
        status,
        current,
        realName,
        phone
      ).then((res) => {
                if (buildId) {
                    this.personDetailArr = res.data.data.records
                    this.peoplePage.pageSize = res.data.data.size
                    this.peoplePage.total = res.data.data.total
          this.personDetailArr = res.data.data.records;
          this.peoplePage.pageSize = res.data.data.size;
          this.peoplePage.total = res.data.data.total;
                } else {
                    this.houseDate = res.data.data.records
          this.houseDate = res.data.data.records;
                }
                setTimeout(() => {
                    this.keyPeopleLoading = false
                    this.residentLoading = false
                }, 500)
            })
          this.keyPeopleLoading = false;
          this.residentLoading = false;
        }, 500);
      });
        },
        // 清空人员列表搜索内容
        clearPeopleDetailSearchValue () {
            this.keyPeopleLoading = true
            this.callPhone = ''
            this.peopleName = ''
            this.peoplePage.currentPage = 1
            this.getVillagePersonInfo('', this.choosedBuildId, this.keyPeopleType == 1 ? '' : this.keyPeopleType, this.peoplePage.currentPage)
      this.keyPeopleLoading = true;
      this.callPhone = "";
      this.peopleName = "";
      this.peoplePage.currentPage = 1;
      this.getVillagePersonInfo(
        "",
        this.choosedBuildId,
        this.keyPeopleType == 1 ? "" : this.keyPeopleType,
        this.peoplePage.currentPage
      );
        },
        // 搜索指定人员
        searchPeopleDetail () {
            this.keyPeopleLoading = true
            this.peoplePage.currentPage = 1
            this.getVillagePersonInfo('', this.choosedBuildId, this.keyPeopleType == 1 ? '' : this.keyPeopleType, this.peoplePage.currentPage, this.peopleName, this.callPhone)
      this.keyPeopleLoading = true;
      this.peoplePage.currentPage = 1;
      this.getVillagePersonInfo(
        "",
        this.choosedBuildId,
        this.keyPeopleType == 1 ? "" : this.keyPeopleType,
        this.peoplePage.currentPage,
        this.peopleName,
        this.callPhone
      );
        },
        // 小区范围围栏光柱
        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] + ',' + '10;'
                })
      getResidentialQuartersInfo(area_id, adcode).then((res) => {
        let positionStr = "";
        res.data.data.geometry.coordinates[0].forEach((item) => {
          positionStr += item[0] + "," + item[1] + "," + "10;";
        });
                if (wallLayer != null) {
                    wallLayer.clear()
          wallLayer.clear();
                }
                let wall = new global.DC.Wall(positionStr)
        let wall = new global.DC.Wall(positionStr);
                wall.setStyle({
                    material: new global.DC.WallTrailMaterialProperty({
                        color: global.DC.Namespace.Cesium.Color.fromBytes(
                            33, 150, 243,
              33,
              150,
              243,
                            200
                        ),
                        speed: 8
                    })
                })
                wallLayer.addOverlay(wall)
            })
            speed: 8,
          }),
        });
        wallLayer.addOverlay(wall);
      });
        },
        // 大搜点查询
@@ -1202,19 +1389,28 @@
                e.wgs84Position.lng,
                e.wgs84Position.lat,
                e.wgs84Position.alt,
                '361102',
                '0.00001').then(res => {
                    let bgId = res.data.data.properties.ijnnl
                    getSearchExtensively('ebf48ecaa1fd436fa3d40c4600aa051f', '361100', '', bgId).then(async res => {
                        let chooseBuildItem = []
                        this.buildingList.forEach(item => {
        "361102",
        "0.00001"
      ).then((res) => {
        let bgId = res.data.data.properties.ijnnl;
        getSearchExtensively(
          "ebf48ecaa1fd436fa3d40c4600aa051f",
          "361100",
          "",
          bgId
        ).then(async (res) => {
          let chooseBuildItem = [];
          this.buildingList.forEach((item) => {
                            if (item.build_id == res.data.result[0].cid) {
                                chooseBuildItem = item
              chooseBuildItem = item;
                            }
                        })
                        this.buildingClick(chooseBuildItem, [[e.wgs84Position.lng, e.wgs84Position.lat], e.wgs84Position.alt])
                    })
                })
          });
          this.buildingClick(chooseBuildItem, [
            [e.wgs84Position.lng, e.wgs84Position.lat],
            e.wgs84Position.alt,
          ]);
        });
      });
        },
        /**
@@ -1222,60 +1418,60 @@
         * @return {*}
         */
        sortDevName ({ prop, order }) {
            this.businessData.sort(this.compare(prop, order))
      this.businessData.sort(this.compare(prop, order));
        },
        compare (property, order) {
            if (order == 'ascending') {
      if (order == "ascending") {
                return (a, b) => {
                    var value1 = a[property]
                    var value2 = b[property]
          var value1 = a[property];
          var value2 = b[property];
                    const char1Type = this.getChartType(value1)
                    const char2Type = this.getChartType(value2)
          const char1Type = this.getChartType(value1);
          const char2Type = this.getChartType(value2);
                    // 类型相同的逐个比较字符
                    if (char1Type[0] === char2Type[0]) {
                        if (value1 === value2) {
                            return char1Type[1] - char2Type[1]
              return char1Type[1] - char2Type[1];
                        } else {
                            if (char1Type[0] === 'zh') {
                                return value1.localeCompare(value2)
                            } else if (char1Type[0] === 'en') {
                                return value1.charCodeAt(0) - value2.charCodeAt(0)
              if (char1Type[0] === "zh") {
                return value1.localeCompare(value2);
              } else if (char1Type[0] === "en") {
                return value1.charCodeAt(0) - value2.charCodeAt(0);
                            } else {
                                return value1 - value2
                return value1 - value2;
                            }
                        }
                    } else {
                        return char1Type[1] - char2Type[1]
            return char1Type[1] - char2Type[1];
                    }
                }
        };
            } else {
                return (a, b) => {
                    var value1 = a[property]
                    var value2 = b[property]
          var value1 = a[property];
          var value2 = b[property];
                    const char1Type = this.getChartType(value1)
                    const char2Type = this.getChartType(value2)
          const char1Type = this.getChartType(value1);
          const char2Type = this.getChartType(value2);
                    // 类型相同的逐个比较字符
                    if (char1Type[0] === char2Type[0]) {
                        if (value1 === value2) {
                            return char2Type[1] - char1Type[1]
              return char2Type[1] - char1Type[1];
                        } else {
                            if (char1Type[0] === 'zh') {
                                return value2.localeCompare(value1)
                            } else if (char1Type[0] === 'en') {
                                return value2.charCodeAt(0) - value1.charCodeAt(0)
              if (char1Type[0] === "zh") {
                return value2.localeCompare(value1);
              } else if (char1Type[0] === "en") {
                return value2.charCodeAt(0) - value1.charCodeAt(0);
                            } else {
                                return value2 - value1
                return value2 - value1;
                            }
                        }
                    } else {
                        return char2Type[1] - char1Type[1]
            return char2Type[1] - char1Type[1];
                    }
                }
        };
            }
        },
@@ -1283,50 +1479,49 @@
            // 数字可按照排序的要求进行自定义,我这边产品的要求是
            // 数字(0->9)->大写字母(A->Z)->小写字母(a->z)->中文拼音(a->z)
            if (/^[\u4e00-\u9fa5]$/.test(char.trim().charAt(0))) {
                return ['zh', 300]
        return ["zh", 300];
            }
            if (/^[a-zA-Z]$/.test(char.trim().charAt(0))) {
                return ['en', 200]
        return ["en", 200];
            }
            if (/^[0-9]$/.test(char.trim().charAt(0))) {
                return ['number', 100]
        return ["number", 100];
            }
            return ['others', 999]
        }
      return ["others", 999];
    },
    },
    destroyed () {
        this.$store.commit('SET_DETAILSPOPUP', {
    this.$store.commit("SET_DETAILSPOPUP", {
            showBox: false,
            showBtn: false
        })
      showBtn: false,
    });
        this.$parent.$parent.resize('0px')
        this.$EventBus.$emit('mapRemoveLayer', {
            layerName: 'searchLayer',
            type: 'VectorLayer'
        })
        this.$EventBus.$emit('mapRemoveLayer', {
            layerName: 'deepDataLayer',
            type: 'VectorLayer'
        })
        this.$EventBus.$emit('clearHouse3D')
        wallLayer.clear()
    this.$parent.$parent.resize("0px");
    this.$EventBus.$emit("mapRemoveLayer", {
      layerName: "searchLayer",
      type: "VectorLayer",
    });
    this.$EventBus.$emit("mapRemoveLayer", {
      layerName: "deepDataLayer",
      type: "VectorLayer",
    });
    this.$EventBus.$emit("clearHouse3D");
    wallLayer.clear();
        if (circleLayer && circleLayer != null) {
            circleLayer.clear()
            circleLayer.remove()
            circleLayer = null
      circleLayer.clear();
      circleLayer.remove();
      circleLayer = null;
        }
        for (let i = 0; i < timer.length; i++) {
            clearInterval(timer[i])
      clearInterval(timer[i]);
        }
        window.removeEventListener('resize', this.setTableHeight)
    }
}
    window.removeEventListener("resize", this.setTableHeight);
  },
};
</script>
<style scoped lang="scss">
@@ -1431,13 +1626,17 @@
                    z-index: 1;
                    &::after {
                        content: '';
            content: "";
                        position: absolute;
                        top: 18px;
                        left: 10px;
                        right: 10px;
                        bottom: 4px;
                        background: linear-gradient(135deg, rgb(229 253 255 / 9%), rgb(43 124 255 / 90%));
            background: linear-gradient(
              135deg,
              rgb(229 253 255 / 9%),
              rgb(43 124 255 / 90%)
            );
                        z-index: -1;
                    }
                }
@@ -1727,7 +1926,6 @@
                    }
                    .house-element-info {
                        .condo,
                        .legend {
                            display: flex;
@@ -1956,7 +2154,6 @@
            }
        }
    }
}
.progress {
@@ -1969,16 +2166,18 @@
}
.progress::after {
    content: '';
  content: "";
    position: absolute;
    left: 0;
    width: 80%;
    height: 100%;
    overflow: hidden;
    border-radius: 2px;
    background: linear-gradient(135deg,
  background: linear-gradient(
    135deg,
            rgba(252, 252, 252, 0.108),
            rgb(254, 254, 254));
    rgb(254, 254, 254)
  );
    animation: prog 3s ease infinite;
}