linwe
2025-12-02 9a6fa83dd674c652229af19afda4f72b8445d3fc
经开分局优化
5 files modified
1 files added
561 ■■■■■ changed files
src/api/site/index.js 14 ●●●●● patch | view | raw | blame | history
src/components/map/components/placeBasePopup.vue 28 ●●●●● patch | view | raw | blame | history
src/views/home/components/dialog/riskDetailsBox.vue 420 ●●●●● patch | view | raw | blame | history
src/views/home/components/leftContainer.vue 49 ●●●●● patch | view | raw | blame | history
src/views/home/index.vue 40 ●●●● patch | view | raw | blame | history
src/views/intelligentSearch/index.vue 10 ●●●● patch | view | raw | blame | history
src/api/site/index.js
@@ -37,6 +37,20 @@
}
/**
 * 风险隐患场所
 * @param {*} page 页数
 * @param {*} count 每页数量
 * @returns
 */
export const getRiskPage = (param) => {
  return request({
    url: "/api/blade-riskHazard/riskHazard/page",
    method: "get",
    params: param,
  })
}
/**
 * 获取阵地字典表
 * @param {*} page 页数
 * @param {*} count 每页数量
src/components/map/components/placeBasePopup.vue
@@ -11,7 +11,32 @@
              <div class="b-b"></div>
              <div class="b-l"></div>
              <div class="arrow-rb"></div>
              <div class="label-wrap">
              <div class="label-wrap" v-if="placeBasePopupData.type && placeBasePopupData.type == 1">
                <div class="title">
                  风险隐患点信息
                  <div class="close" @click="closePopup" title="关闭"></div>
                </div>
                <div class="label-content">
                  <div class="item">
                    <div>风险隐患点名称:</div>
                    <div>{{ placeBasePopupData.placeName }}</div>
                  </div>
                  <div class="item">
                    <div>风险隐患点地址:</div>
                    <div>{{ placeBasePopupData.location }}</div>
                  </div>
                  <div class="item">
                    <div>联系人:</div>
                    <div>{{ placeBasePopupData.principal }}</div>
                  </div>
                  <div class="item">
                    <div>联系人电话:</div>
                    <div>{{ placeBasePopupData.principalPhone }}</div>
                  </div>
                </div>
              </div>
              <div class="label-wrap" v-else>
                <div class="title">
                  场所信息
                  <div class="details-btn" @click="siteClick" title="详情"></div>
@@ -36,6 +61,7 @@
                  </div>
                </div>
              </div>
            </div>
            <div class="b-t-l"></div>
            <div class="b-b-r"></div>
src/views/home/components/dialog/riskDetailsBox.vue
New file
@@ -0,0 +1,420 @@
<template>
  <div>
    <el-dialog :title="title" :visible.sync="visible" :before-close="landBeforeClose" :modal="true"
      :modal-append-to-body="false" :close-on-click-modal="false" class="land-details-box">
      <div class="header">
        <!-- <div>
        场所类型:
        <el-select
          clearable
          style="flex: 1"
          size="small"
          v-model="typeValue"
          @change="typeChange"
          placeholder="请选择场所类型"
        >
          <el-option
            v-for="item in typeOptions"
            :key="item.key"
            :label="item.title"
            :value="item.key"
          ></el-option>
        </el-select>
      </div> -->
        <div>
          标准地址:
          <input type="text" v-model="address" placeholder="请输入场所名称" />
        </div>
        <div>
          风险隐患类别:
          <input type="text" v-model="riskHazardCategory" placeholder="请输入场所名称" />
        </div>
        <el-button type="primary" icon="el-icon-search" @click="getRiskPage">搜索</el-button>
        <el-button type="primary" icon="el-icon-delete" @click="clearSearchValue">清空</el-button>
      </div>
      <div v-loading="curLoading" element-loading-text="拼命加载中" element-loading-spinner="el-icon-loading"
        element-loading-background="rgba(0, 0, 0, 0.5)" class="body">
        <el-table :data="tableData" style="width: 100%" :header-cell-style="{
          'text-align': 'center',
          'background-color': '#203c60',
          borderColor: '#324e75',
        }" :cell-style="{
  'text-align': 'center',
  borderColor: '#324e75',
  cursor: 'default',
}">
          <template slot="empty">
            <div>{{ landEmptyText }}</div>
          </template>
          <el-table-column label="序号" type="index" align="center">
            <template slot-scope="scope">
              <span>{{
                (pages.current - 1) * pages.pageSize + scope.$index + 1
              }}</span>
            </template>
          </el-table-column>
          <el-table-column prop="riskHazardName" :show-overflow-tooltip="true" label="风险隐患点名称"></el-table-column>
          <el-table-column prop="riskHazardCategory" :show-overflow-tooltip="true" label="风险隐患类别"></el-table-column>
          <el-table-column prop="dataSource" :show-overflow-tooltip="true" label="数据来源"></el-table-column>
          <el-table-column prop="detailedAddress" :show-overflow-tooltip="true" label="详细地址"></el-table-column>
          <el-table-column prop="contactPerson" :show-overflow-tooltip="true" label="联系人"></el-table-column>
          <el-table-column prop="contactPhone" :show-overflow-tooltip="true" label="联系电话"></el-table-column>
          <el-table-column prop="responsiblePolice" :show-overflow-tooltip="true" label="责任民警"></el-table-column>
          <el-table-column prop="affiliatedOrganization" :show-overflow-tooltip="true" label="所属派出所"></el-table-column>
          <el-table-column prop="address" :show-overflow-tooltip="true" label="标准地址"></el-table-column>
          <!-- <el-table-column prop="nineName" :show-overflow-tooltip="true" label="场所类型"></el-table-column> -->
          <el-table-column width="80" label="操作" align="center">
            <template slot-scope="scope">
              <el-button type="text" size="small" title="定位" :disabled="positionDisabled(scope.row)"
                @click="rowClick(scope.row)">
                <i class="el-icon-location" :style="{ color: positionColor(scope.row) }"></i>
              </el-button>
              <!-- <el-button
              type="text"
              size="small"
              title="详情"
              @click="goDetail(scope.row)"
            >
              <i class="el-icon-document" style="color: #66b1ff"></i>
            </el-button> -->
            </template>
          </el-table-column>
        </el-table>
        <div class="pages all-pagination-sty" ref="tablePagination">
          <el-pagination background layout="prev, pager, next, total" :total="pages.total" :page-size="pages.pageSize"
            :current-page="pages.current" @current-change="handleCurrentChange"></el-pagination>
        </div>
      </div>
    </el-dialog>
  </div>
</template>
<script>
const typeTree = [
  {
    key: "1",
    url: `/img/icon/place_01.png`
  },
  {
    key: "2",
    url: `/img/icon/place_02.png`
  },
  {
    key: "10",
    url: `/img/icon/place_03.png`
  },
  {
    key: "11",
    url: `/img/icon/place_03.png`
  },
  {
    key: "12",
    url: `/img/icon/place_03.png`
  },
  {
    key: "13",
    url: `/img/icon/place_04.png`
  },
  {
    key: "14",
    url: `/img/icon/place_04.png`
  },
  {
    key: "15",
    url: `/img/icon/place_04.png`
  },
  {
    key: "5",
    url: `/img/icon/place_05.png`
  },
  {
    key: "6",
    url: `/img/icon/place_06.png`
  },
  {
    key: "7",
    url: `/img/icon/place_07.png`
  },
  {
    key: "8",
    url: `/img/icon/place_08.png`
  },
  {
    key: "9",
    url: `/img/icon/place_09.png`
  }
]
import {
  getNineTypeTree,
  getRiskPage,
} from "@/api/site/index.js"
export default {
  props: ["policeStaionID"],
  data () {
    return {
      type: null,
      isDanger: null,
      placeName: "",
      address: "",
      riskHazardCategory: "",
      typeValue: "",
      typeOptions: [],
      tableData: [],
      curLoading: false,
      landEmptyText: "",
      visible: false,
      title: "九小场所列表",
      callPhone: "",
      pages: {
        total: 0,
        pageSize: 12,
        current: 1,
      },
      nineType: "",
      policeName: "",
      areaId: null
    }
  },
  computed: {
    positionColor () {
      return (row) => {
        if (
          (row.X && row.X != 0) ||
          (row.lng && row.lng != 0) ||
          (row.longitude && row.longitude != 0) ||
          (row.x && row.x != 0)
        ) {
          return "#1AFA29"
        } else {
          return "#ccc"
        }
      }
    },
    positionDisabled () {
      return (row) => {
        if (
          (row.X && row.X != 0) ||
          (row.lng && row.lng != 0) ||
          (row.longitude && row.longitude != 0) ||
          (row.x && row.x != 0)
        ) {
          return false
        } else {
          return true
        }
      }
    },
  },
  methods: {
    // 点击定位
    rowClick (row) {
      this.landBeforeClose()
      let lng = global.DC.CoordTransform.GCJ02ToWGS84(row.x, row.y)[0]
      let lat = global.DC.CoordTransform.GCJ02ToWGS84(row.x, row.y)[1]
      this.$EventBus.$emit("toPosition", {
        siteJd: lng,
        siteWd: lat,
        siteGd: 2000,
      })
      let rows = {
        placeName: row.riskHazardName,
        type: 1,
        location: row.address,
        principal: row.contactPerson,
        principalPhone: row.contactPhone,
      }
      this.$EventBus.$emit("mapClearLayer", {
        layerName: "scanLayer",
        type: "VectorLayer",
      })
      this.$EventBus.$emit("layerPointAdd", {
        layerName: "scanLayer",
        type: "billboard",
        params: {
          ...rows,
          lng: lng,
          lat: lat,
          alt: 1,
          size: [32, 32],
          // url: typeTree.find(i => i.key == row.nineType).url,
        },
        incident: this.siteClick,
      })
      this.siteClick({
        overlay: {
          attrParams: {
            ...rows,
            lng,
            lat,
          }
        }
      })
    },
    siteClick (e) {
      let row = e.overlay.attrParams
      this.$store.commit('SET_PLACEBASEPOPUP', true)
      this.$store.commit('SET_PLACEBASEPOPUPDATA', { ...row })
      // eslint-disable-next-line no-redeclare
      var popup = new global.DC.DivForms(global.viewer, {
        domId: 'PlaceBaseDivElementDom',
        position: [
          global.DC.Transform.transformWGS84ToCartesian(
            new global.DC.Position(
              Number(row.lng),
              Number(row.lat),
              0
            )
          )
        ]
      })
    },
    // 查看详情
    // goDetail (row) {
    //   this.$refs.SiteDialogPopup.initOpen(row)
    // },
    // 清空按钮-清除图标图层
    clearRow () {
      this.isDanger = null
      this.placeName = null
      this.typeValue = null
      this.$EventBus.$emit("mapClearLayer", {
        layerName: "scanLayer",
        type: "VectorLayer",
      })
      this.$store.commit("SET_DIALOGDETAILPOPUP", false)
      this.pages.current = 1
      this.getRiskPage()
    },
    // 切换登记类型
    typeChange (item) {
      this.pages.current = 1
      this.getRiskPage()
    },
    /**
     * @description: 显示九小场所弹窗列表
     * @param {*} name
     * @param {*} type
     * @param {*} id
     * @param {*} value 类型参数
     * @return {*}
     */
    showplacedetail (type, name, value, areaId) {
      this.type = type
      this.areaId = areaId
      this.typeValue = value
      this.visible = true
      this.title = name
      this.pages.current = 1
      // 获取九小场所隐患数量统计
      // this.getNineTypeTree(value)
      this.getRiskPage()
    },
    getNineTypeTree (value) {
      getNineTypeTree().then((res) => {
        var data = res.data.data
        if (value) {
          var arr = []
          data.forEach((element) => {
            if (element.title == value) {
              arr.push({
                title: element.title,
                value: element.key,
              })
              this.typeValue = "" + element.key
            }
          })
          this.typeOptions = arr
          // 查询分页
          this.getRiskPage()
        } else {
          this.typeOptions = data
        }
      })
    },
    getRiskPage () {
      this.curLoading = true
      getRiskPage({
        current: this.pages.current,
        size: this.pages.pageSize,
        riskHazardType: this.typeValue,
        riskHazardCategory: this.riskHazardCategory,
        address: this.address,
        isDanger: this.type == 1 ? 1 : "",
        deptId: this.policeStaionID,
        areaId: this.areaId
      })
        .then((res) => {
          const data = res.data.data
          this.tableData = data.records
          this.pages.total = data.total
          setTimeout(() => {
            this.curLoading = false
          }, 300)
        })
        .catch((error) => {
          setTimeout(() => {
            this.curLoading = false
          }, 300)
        })
    },
    /**
     * @description: 九小场所列表弹窗中搜索
     * @return {*}
     */
    searchCurent () {
      this.landPage.current = 1
      this.getRiskPage()
    },
    clearSearchValue () {
      // this.isDanger = null;
      this.placeName = null
      // this.typeValue = null;
      this.pages.current = 1
      this.getRiskPage()
    },
    /**
     * @description: 现有小区详情弹窗分页
     * @param {*} currentPage 当前页数
     * @return {*}
     */
    handleCurrentChange (currentPage) {
      this.pages.current = currentPage
      this.getRiskPage()
    },
    landBeforeClose () {
      this.visible = false
    },
  },
  destroyed () {
    this.$EventBus.$emit("mapRemoveLayer", {
      layerName: "scanLayer",
      type: "VectorLayer",
    })
    this.$store.commit('SET_PLACEBASEPOPUP', false)
  }
}
</script>
<style lang="scss" scoped></style>
src/views/home/components/leftContainer.vue
@@ -7,9 +7,8 @@
                        <span :class="{ choosed: peopletype == 0 }">现有人员</span>
                    </div>
                </div>
                <el-main v-loading="personEchartsLoading" element-loading-text="拼命加载中"
                    element-loading-spinner="el-icon-loading" element-loading-background="rgba(0, 0, 0, 0.5)"
                    style="height: calc(100% - 17.6%);">
        <el-main v-loading="personEchartsLoading" element-loading-text="拼命加载中" element-loading-spinner="el-icon-loading"
          element-loading-background="rgba(0, 0, 0, 0.5)" style="height: calc(100% - 17.6%);">
                    <div class="sub-tab" v-show="peopletype == 0">
                        <div class="tab" :class="{ 'select-on-tab': tabType == 0 }" @click="personTabClick(0)">
                            <div class="tab-title-small">人口总数:</div>
@@ -34,8 +33,7 @@
                    </div>
                </el-main>
                <div class="back" title="返回上一级" v-show="dataDeep == 2 && peopletype == 0 && showBack"
                    @click="backBegin">
        <div class="back" title="返回上一级" v-show="dataDeep == 2 && peopletype == 0 && showBack" @click="backBegin">
                </div>
            </div>
@@ -47,14 +45,12 @@
                        c0.01,104.58,0.01,206.44,0,309c-1.43,0.78-4.01,2.77-5,4c-12,0-24,0-36,0c-2.67-3.33-5.33-6.67-8-10c-21,0-42,0-63,0
                        c-1.08,2.32-2.35,4.25-4,6c-0.67,0.33-1.33,0.67-2,1c-0.33,1-0.67,2-1,3c-20,0-40,0-60,0c-66.66,0-133.34,0-200,0
                        c-1.28-1.57-2.76-2.25-4-4c-0.33,0-0.67,0-1,0c0-8.67,0-17.33,0-26c0-19.66,0-39.34,0-59C0.27,160.04,0.27,80.02,0.27,0.03z" fill="transparent" />
                    <radialGradient id="border-box-8-gradient-974b4d7cfafa444396861ca1d1173c8c" cx="50%" cy="50%"
                        r="50%">
          <radialGradient id="border-box-8-gradient-974b4d7cfafa444396861ca1d1173c8c" cx="50%" cy="50%" r="50%">
                        <stop offset="0%" stop-color="#fff" stop-opacity="1" />
                        <stop offset="100%" stop-color="#fff" stop-opacity="0" />
                    </radialGradient>
                    <mask id="border-box-8-mask-974b4d7cfafa444396861ca1d1173c8c">
                        <circle cx="0" cy="0" r="150"
                            fill="url(#border-box-8-gradient-974b4d7cfafa444396861ca1d1173c8c)">
            <circle cx="0" cy="0" r="150" fill="url(#border-box-8-gradient-974b4d7cfafa444396861ca1d1173c8c)">
                            <animateMotion dur="8s"
                                path="M0.27,0.03c52.66,0,105.34,0,158,0c1.67,2,3.33,4,5,6c1,0.33,2,0.67,3,1c1.33,1.67,2.67,3.33,4,5
                                c16,0,32,0,48,0c53.66,0,107.34,0,161,0c1.13,1.72,0.63,1.36,3,2c0,0.67,0,1.33,0,2c0.67,0,1.33,0,2,0
@@ -68,17 +64,15 @@
                <use stroke-width="2" xlink:href="#border-box-8-path-974b4d7cfafa444396861ca1d1173c8c"
                    mask="url(#border-box-8-mask-974b4d7cfafa444396861ca1d1173c8c)" stroke="#4fd2dd">
                    <animate attributeName="stroke-dasharray" from="0, 1442" to="1442, 0" dur="8s"
                        repeatCount="indefinite" />
          <animate attributeName="stroke-dasharray" from="0, 1442" to="1442, 0" dur="8s" repeatCount="indefinite" />
                </use>
            </svg>
        </div>
        <div class="house-box" style="position: relative;">
            <div class="box">
                <div class="title">重点场所</div>
                <el-main v-loading="houseEchartsLoading" element-loading-text="拼命加载中"
                    element-loading-spinner="el-icon-loading" element-loading-background="rgba(0, 0, 0, 0.5)"
                    style="height: calc(100% - 17.6%);">
        <el-main v-loading="houseEchartsLoading" element-loading-text="拼命加载中" element-loading-spinner="el-icon-loading"
          element-loading-background="rgba(0, 0, 0, 0.5)" style="height: calc(100% - 17.6%);">
                    <div class="sub-tab">
                        <div class="tab" :class="{ 'select-on-tab': tabTypeTwo == 0 }" @click="houseTabClick(0)">
                            <div class="tab-title-small">九小场所:</div>
@@ -88,6 +82,10 @@
                            <div class="tab-title-small">其它场所:</div>
                            <div class="tab-title-small">{{ otherPlaceNum }}</div>
                        </div>
            <div class="tab" :class="{ 'select-on-tab': tabTypeTwo == 2 }" @click="houseTabClick(2)">
              <div class="tab-title-small">风险隐患场所:</div>
              <div class="tab-title-small">{{ riskNum }}</div>
            </div>
                    </div>
                    <div id="houseEcharts" class="echarts-box"></div>
                </el-main>
@@ -96,17 +94,15 @@
            <svg class="border-svg">
                <use stroke-width="2" xlink:href="#border-box-8-path-974b4d7cfafa444396861ca1d1173c8c"
                    mask="url(#border-box-8-mask-974b4d7cfafa444396861ca1d1173c8c)" stroke="#4fd2dd">
                    <animate attributeName="stroke-dasharray" from="0, 1442" to="1442, 0" dur="8s"
                        repeatCount="indefinite" />
          <animate attributeName="stroke-dasharray" from="0, 1442" to="1442, 0" dur="8s" repeatCount="indefinite" />
                </use>
            </svg>
        </div>
        <div class="land-box" style="position: relative;">
            <div class="box">
                <div class="title">现有小区</div>
                <el-main v-loading="landEchartsLoading" element-loading-text="拼命加载中"
                    element-loading-spinner="el-icon-loading" element-loading-background="rgba(0, 0, 0, 0.5)"
                    style="height: calc(100% - 17.6%);">
        <el-main v-loading="landEchartsLoading" element-loading-text="拼命加载中" element-loading-spinner="el-icon-loading"
          element-loading-background="rgba(0, 0, 0, 0.5)" style="height: calc(100% - 17.6%);">
                    <div class="sub-tab" v-show="isAllPoliceStation">
                        <div class="tab" :class="{ 'select-on-tab': tabTypeThree == 0 }" @click="landTabClick(0)">
                            <div class="tab-title-small">小区:</div>
@@ -130,8 +126,7 @@
            <svg class="border-svg">
                <use stroke-width="2" xlink:href="#border-box-8-path-974b4d7cfafa444396861ca1d1173c8c"
                    mask="url(#border-box-8-mask-974b4d7cfafa444396861ca1d1173c8c)" stroke="#4fd2dd">
                    <animate attributeName="stroke-dasharray" from="0, 1442" to="1442, 0" dur="8s"
                        repeatCount="indefinite" />
          <animate attributeName="stroke-dasharray" from="0, 1442" to="1442, 0" dur="8s" repeatCount="indefinite" />
                </use>
            </svg>
        </div>
@@ -187,6 +182,7 @@
        return {
            placeNum: 0,
            otherPlaceNum: 0,
      riskNum: 0,
            tabType: 0,
            personEchartsLoading: false,
            houseEchartsLoading: false,
@@ -840,6 +836,8 @@
                console.log(type, 1122)
                if (type == 1) {
                    this.$emit('showplacedetail', type, '其它场所列表', params.data.id, this.areaId)
        } else if (type == 2) {
          this.$emit('showplacedetail', type, '风险隐患场所列表', params.name, this.areaId)
                } else {
                    this.$emit('showplacedetail', type, '九小场所列表', params.name, this.areaId)
                }
@@ -1137,11 +1135,15 @@
                let otherList = res.data.data.otherList.reverse()
                let placeList = res.data.data.placeList.reverse()
        let riskHazardList = res.data.data.riskHazardList.reverse()
                if (flag) {
                    this.placeNum = placeList.reduce((pre, cur) => {
                        return pre + cur.num
                    }, 0)
                    this.otherPlaceNum = otherList.reduce((pre, cur) => {
            return pre + cur.num
          }, 0)
          this.riskNum = riskHazardList.reduce((pre, cur) => {
                        return pre + cur.num
                    }, 0)
@@ -1156,6 +1158,11 @@
                            id: item.id
                        })
                    })
        } else if (this.tabTypeTwo == 2) {
          riskHazardList.forEach(item => {
            xDate.push(item.nineTypeName)
            yDate.push(item.num)
          })
                } else {
                    placeList.forEach(item => {
                        xDate.push(item.nineTypeName)
src/views/home/index.vue
@@ -630,6 +630,7 @@
    <area-details-box ref="areaDetailsBox" :policeStaionID="policeStaionID"></area-details-box>
    <place-details-box ref="placeDetailsBox" :policeStaionID="policeStaionID"></place-details-box>
    <other-place-details-box ref="otherPlaceDetailsBox" :policeStaionID="policeStaionID"></other-place-details-box>
    <risk-details-box ref="riskDetailsBox" :policeStaionID="policeStaionID"></risk-details-box>
    <key-person-box ref="keyPersonBox" :policeStaionID="policeStaionID"></key-person-box>
  </div>
@@ -773,6 +774,7 @@
import areaDetailsBox from './components/dialog/areaDetailsBox.vue'
import placeDetailsBox from './components/dialog/placeDetailsBox.vue'
import otherPlaceDetailsBox from './components/dialog/otherPlaceDetailsBox.vue'
import riskDetailsBox from './components/dialog/riskDetailsBox.vue'
import keyPersonBox from './components/dialog/keyPersonBox.vue'
@@ -957,6 +959,7 @@
    countByDetailsBox,
    placeDetailsBox,
    otherPlaceDetailsBox,
    riskDetailsBox,
    areaDetailsBox,
    keyPersonBox
  },
@@ -2401,10 +2404,7 @@
              lat: center[1],
              alt: 0,
              text: `${item.name}`,
              outW: 20,
              setStyle: {
                disableDepthTestDistance: Number.POSITIVE_INFINITY
              }
              outW: 20
            },
            distanceDisplayCondition: { "near": 0, "far": 200000 }
          })
@@ -2496,22 +2496,19 @@
            })
          })
          const center = this.getRegionCenter(item.position)
          this.$EventBus.$emit('layerPointAdd', {
            layerName: 'areaPolygonLabel',
            type: 'label',
            params: {
              lng: center[0],
              lat: center[1],
              alt: 0,
              text: `${item.name}`,
              outW: 20,
              setStyle: {
                disableDepthTestDistance: Number.POSITIVE_INFINITY
              }
            },
            distanceDisplayCondition: { "near": 0, "far": 200000 }
          })
          // const center = this.getRegionCenter(item.position)
          // this.$EventBus.$emit('layerPointAdd', {
          //   layerName: 'areaPolygonLabel',
          //   type: 'label',
          //   params: {
          //     lng: center[0],
          //     lat: center[1],
          //     alt: 0,
          //     text: `${item.name}`,
          //     outW: 20
          //   },
          //   distanceDisplayCondition: { "near": 0, "far": 200000 }
          // })
        }
@@ -2827,8 +2824,11 @@
     * @return {*}
     */
    showplacedetail (id, name, isIncludeKeypeople, deptId) {
      console.log('showplacedetail', name)
      if (id == 1) {
        this.$refs.otherPlaceDetailsBox.showplacedetail(id, name, isIncludeKeypeople, deptId)
      } else if (id == 2) {
        this.$refs.riskDetailsBox.showplacedetail(id, name, isIncludeKeypeople, deptId)
      } else {
        this.$refs.placeDetailsBox.showplacedetail(id, name, isIncludeKeypeople, deptId)
      }
src/views/intelligentSearch/index.vue
@@ -14,8 +14,8 @@
        <div v-show="boxShow" class="container-content" ref="containerContent">
            <div class="time-select" ref="timeSelect">
                <div class="search-item-box">
                    <el-input size="small" clearable v-model="searchKey" @input="searchBtn"
                        placeholder="请输入(姓名、手机号、身份证号、住址)" style="cursor: pointer;"></el-input>
          <el-input size="small" clearable v-model="searchKey" @input="searchBtn" placeholder="请输入(姓名、手机号、身份证号、住址)"
            style="cursor: pointer;"></el-input>
                </div>
            </div>
@@ -42,9 +42,9 @@
                </el-table>
                <div class="pages all-pagination-sty" ref="tablePagination" style="padding-top:-15px">
                    <el-pagination background layout="prev, pager, next" :page-size="pages.pageSize"
                        :total="pages.total" :pager-count="pages.total > 100000 ? 3 : 4"
                        :current-page="pages.currentPage" @current-change="handleCurrentChange"></el-pagination>
          <el-pagination background layout="prev, pager, next" :page-size="pages.pageSize" :total="pages.total"
            :pager-count="pages.total > 100000 ? 3 : 4" :current-page="pages.currentPage"
            @current-change="handleCurrentChange"></el-pagination>
                </div>
            </div>
        </div>