linwei
2025-12-27 f116be2813508fc0e6993e35932febd86986142d
优化
10 files modified
219 ■■■■ changed files
src/components/map/components/placeBasePopup.vue 26 ●●●●● patch | view | raw | blame | history
src/components/siteDialog/index.vue 14 ●●●● patch | view | raw | blame | history
src/router/page/index.js 42 ●●●● patch | view | raw | blame | history
src/views/home/components/dialog/areaDetailsBox.vue 5 ●●●●● patch | view | raw | blame | history
src/views/home/components/dialog/enterpriseInfoBox.vue 23 ●●●● patch | view | raw | blame | history
src/views/home/components/dialog/landDetailsBox.vue 32 ●●●● patch | view | raw | blame | history
src/views/home/components/dialog/otherPlaceDetailsBox.vue 24 ●●●●● patch | view | raw | blame | history
src/views/home/components/dialog/placeDetailsBox.vue 20 ●●●●● patch | view | raw | blame | history
src/views/home/components/dialog/riskDetailsBox.vue 32 ●●●●● patch | view | raw | blame | history
src/views/home/index.vue 1 ●●●● patch | view | raw | blame | history
src/components/map/components/placeBasePopup.vue
@@ -37,6 +37,32 @@
                </div>
              </div>
               <div class="label-wrap" v-if="placeBasePopupData.type && placeBasePopupData.type == 2">
                <div class="title">
                  企业信息
                  <div class="details-btn" @click="siteClick" title="详情"></div>
                  <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">
                  场所信息
src/components/siteDialog/index.vue
@@ -205,7 +205,6 @@
        { key: 'contactPerson', label: '联系人', value: this.businessDetailData.principal ? '' : this.businessDetailData.contactPerson },
        { key: 'contactPhone', label: '联系人电话', value: this.businessDetailData.principalPhone ? '' : this.businessDetailData.contactPhone },
        { key: 'dataSource', label: '数据来源', value: this.businessDetailData.dataSource },
        { key: 'responsiblePolice', label: '责任民警', value: this.businessDetailData.responsiblePolice },
        { key: 'companyContactPerson', label: '企业联系人', value: this.businessDetailData.companyContactPerson },
        { key: 'companyContactPhone', label: '企业联系电话', value: this.businessDetailData.companyContactPhone },
        { key: 'cadreInCharge', label: '挂点干部', value: this.businessDetailData.cadreInCharge },
@@ -259,10 +258,14 @@
        { key: 'responsibilityArea', label: '所属责任区', value: this.businessDetailData.responsibilityArea },
        // { key: 'responsiblePolice', label: '责任民警', value: this.businessDetailData.responsiblePolice },
        { key: 'communityName', label: '社区名称', value: this.businessDetailData.communityName },
        { key: 'remark', label: '简介', value: this.businessDetailData.remark },
        { key: 'riskHazardType', label: '风险隐患点', value: this.businessDetailData.riskHazardType },
        { key: 'riskHazardCategory', label: '风险隐患类别', value: this.businessDetailData.riskHazardCategory },
        { key: 'responsiblePolice', label: '责任民警', value: this.businessDetailData.responsiblePolice },
        { key: 'policeName', label: '民警名称', value: this.businessDetailData.policeName },
        { key: 'policePhone', label: '民警电话', value: this.businessDetailData.policePhone },
        { key: 'remark', label: '简介', value: this.getRemarkText(this.businessDetailData) },
        // { key: 'contactPerson', label: '联系人', value: this.businessDetailData.contactPerson },
        // { key: 'contactPhone', label: '联系电话', value: this.businessDetailData.contactPhone },
        // { key: 'availableResourceType', label: '社区名称', value: this.businessDetailData.availableResourceType },
@@ -319,6 +322,13 @@
  },
  methods: {
    getRemarkText (row) {
      if (row.mediumCategory === "宗教场所") {
        return row.remark
      } else {
        return ''
      }
    },
    getFireLevelText (fireLevel) {
      if (fireLevel === 1) {
        return '一级'
src/router/page/index.js
@@ -150,13 +150,13 @@
        },
        component: intelligentSearch,
      },
      {
        path: "positionManage",
        meta: {
          title: "阵地管理",
        },
        component: positionManage,
      },
      // {
      //   path: "positionManage",
      //   meta: {
      //     title: "阵地管理",
      //   },
      //   component: positionManage,
      // },
      {
        path: "practitionersManage",
        meta: {
@@ -164,20 +164,20 @@
        },
        component: practitionersManage,
      },
      {
        path: "rentalInfo",
        meta: {
          title: "租赁信息",
        },
        component: rentalInfo,
      },
      {
        path: "antiFraudShow",
        meta: {
          title: "反诈宣防",
        },
        component: antiFraudShow,
      },
      // {
      //   path: "rentalInfo",
      //   meta: {
      //     title: "租赁信息",
      //   },
      //   component: rentalInfo,
      // },
      // {
      //   path: "antiFraudShow",
      //   meta: {
      //     title: "反诈宣防",
      //   },
      //   component: antiFraudShow,
      // },
      {
        path: "contradictionEventShow",
        meta: {
src/views/home/components/dialog/areaDetailsBox.vue
@@ -79,11 +79,11 @@
          </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="address" label="地址" min-width="240%"></el-table-column>
        <el-table-column :show-overflow-tooltip="true" prop="address" label="地址" min-width="200"></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>
        <el-table-column :show-overflow-tooltip="true" prop="policeName" label="责任区民警"></el-table-column>
        <el-table-column :show-overflow-tooltip="true" prop="policeName" label="责任民警"></el-table-column>
        <el-table-column :show-overflow-tooltip="true" prop="policePhone" label="民警电话"></el-table-column>
        <el-table-column :show-overflow-tooltip="true" prop="zdryxl" label="特定对象类别"
          v-if="showPersonColumn"></el-table-column>
@@ -462,6 +462,7 @@
      this.areaName = []
      this.policeName = []
      this.zdryxl = ''
      this.community = ''
      this.personType = ''
      this.peopleTitle = name
      this.peopleSearchQuery.id = id
src/views/home/components/dialog/enterpriseInfoBox.vue
@@ -71,7 +71,7 @@
            label="标准地址"></el-table-column>
          <!-- <el-table-column prop="companyActualAddress" :show-overflow-tooltip="true" label="企业地址"></el-table-column> -->
          <el-table-column prop="companyContactPerson" :show-overflow-tooltip="true" label="企业负责人"></el-table-column>
          <el-table-column prop="companyContactPhone" :show-overflow-tooltip="true" label="企业负责电话"></el-table-column>
          <el-table-column prop="companyContactPhone" :show-overflow-tooltip="true" label="负责人电话"></el-table-column>
          <!-- <el-table-column prop="cadreContactPhone" :show-overflow-tooltip="true" label="证件号码"></el-table-column> -->
          <!-- <el-table-column prop="mainProducts" :show-overflow-tooltip="true" label="主营产品"></el-table-column> -->
          <el-table-column prop="responsibilityArea" :show-overflow-tooltip="true" label="所属辖区"></el-table-column>
@@ -117,6 +117,8 @@
      placeName: "",
      address: "",
      community: "",
      areaName: [],
      policeStationName: "",
      responsibilityArea: "",
      riskHazardCategory: "",
      typeValue: "",
@@ -133,7 +135,7 @@
        current: 1,
      },
      nineType: "",
      policeName: "",
      policeName: [],
      areaId: null,
      nameOptions: [
        '李江鹏',
@@ -294,7 +296,7 @@
            lng,
            lat,
            placeName: row.companyName,
            type: 1,
            type: 2,
            location: row.businessRegistrationAddress,
            principal: row.companyContactPerson,
            principalPhone: row.companyContactPhone,
@@ -335,6 +337,10 @@
      this.isDanger = null
      this.placeName = null
      this.typeValue = null
      this.address = null
      this.policeStationName = null
      this.community = null
      this.areaName = null
      this.$EventBus.$emit("mapClearLayer", {
        layerName: "scanLayer",
        type: "VectorLayer",
@@ -399,8 +405,11 @@
        complianceType: this.typeValue,
        // riskHazardCategory: this.riskHazardCategory,
        address: this.address,
        policeStationName: this.policeStationName,
        community: this.community,
        areaName: this.areaName.join(","),
        responsibilityArea: this.responsibilityArea,
        policeName: this.policeName,
        policeName: this.policeName.join(","),
        isDanger: this.type == 1 ? 1 : "",
        deptId: this.policeStaionID,
        areaId: this.areaId
@@ -432,8 +441,12 @@
    clearSearchValue () {
      // this.isDanger = null;
      this.placeName = null
      this.address = null
      this.policeStationName = null
      this.community = null
      this.responsibilityArea = null
      this.policeName = null
      this.policeName = []
      this.areaName = []
      // this.typeValue = null;
      this.pages.current = 1
      this.getNinePage()
src/views/home/components/dialog/landDetailsBox.vue
@@ -10,10 +10,16 @@
        责任区名称:
        <input type="text" v-model="landSearchAoiName" placeholder="请输入责任区名称" />
      </div>
      <div>
      <!-- <div>
        包干民警:
        <input type="text" v-model="policeName" placeholder="请输入包干民警名称" />
      </div>
      </div> -->
        <div>
         包干民警: <el-select v-model="policeName" placeholder="请选择包干民警" clearable filterable multiple>
            <el-option v-for="area in nameOptions" :key="area" :label="area" :value="area">
            </el-option>
          </el-select>
        </div>
      <div>
        联系电话:
        <input type="text" v-model="callPhone" placeholder="请输入联系电话" />
@@ -70,7 +76,23 @@
      },
      // 现有小区搜索条件-院落名称
      landSearchAoiName: '',
      policeName: '',
      policeName: [],
       nameOptions: [
        '李江鹏',
        '杨晨熠',
        '邹金禄',
        '陈谨国',
        '郑晶',
        '周悦',
        '王伟豪',
        '徐文涛',
        '廖正发',
        '周振中',
        '饶金有',
        '余忠福',
        '张凯',
        '王瑜'
      ],
    }
  },
@@ -97,12 +119,12 @@
    */
    searchLandDetail () {
      this.landPage.currentPage = 1
      this.getLandDetail(this.landType, this.landDetailId, this.landPage.currentPage, this.policeName, this.callPhone, this.landSearchAoiName)
      this.getLandDetail(this.landType, this.landDetailId, this.landPage.currentPage, this.policeName.join(","), this.callPhone, this.landSearchAoiName)
    },
    clearLandDetailSearchValue () {
      this.policeName = ''
      this.policeName = []
      this.callPhone = ''
      this.landSearchAoiName = ''
      this.landPage.currentPage = 1
src/views/home/components/dialog/otherPlaceDetailsBox.vue
@@ -123,11 +123,13 @@
      type: null,
      isDanger: null,
      placeName: "",
      areaName: "",
      policeName: "",
      areaName: [],
      policeName: [],
      typeOptions: [],
      tableData: [],
      principal: "",
      community: "",
      policeStationName: "",
      curLoading: false,
      landEmptyText: "",
      visible: false,
@@ -347,9 +349,11 @@
    clearRow () {
      this.isDanger = null
      this.placeName = null
      this.areaName = null
      this.policeName = null
      this.areaName = []
      this.policeName = []
      this.principal = null
      this.community = null
      this.policeStationName = null
      this.$EventBus.$emit("mapClearLayer", {
        layerName: "scanLayer",
        type: "VectorLayer",
@@ -389,9 +393,11 @@
        size: this.pages.pageSize,
        mediumCategory: this.poiCode,
        placeName: this.placeName,
        areaName: this.areaName,
        policeName: this.policeName,
        areaName: this.areaName.join(","),
        policeName: this.policeName.join(","),
        principal: this.principal,
        community: this.community,
        policeStationName: this.policeStationName,
        deptId: this.policeStaionID,
        areaId: this.areaId,
      }, false)
@@ -422,9 +428,11 @@
    clearSearchValue () {
      // this.isDanger = null;
      this.placeName = null
      this.areaName = null
      this.policeName = null
      this.areaName = []
      this.policeName = []
      this.principal = null
      this.community = null
      this.policeStationName = null
      this.pages.current = 1
      this.getNinePage()
    },
src/views/home/components/dialog/placeDetailsBox.vue
@@ -167,10 +167,11 @@
      type: null,
      isDanger: null,
      placeName: "",
      areaName: "",
      policeName: "",
      areaName: [],
      policeName: [],
      principal: "",
      community: "",
      policeStationName: "",
      responsibilityArea: "",
      responsiblePolice: "",
      typeValue: "",
@@ -379,10 +380,11 @@
      this.placeName = null
      this.typeValue = null
      this.principal = null
      this.areaName = null
      this.areaName = []
      this.principal = null
      this.policeName = null
      this.policeName = []
      this.community = null
      this.policeStationName = null
      this.responsibilityArea = null
      this.responsiblePolice = null
      this.$EventBus.$emit("mapClearLayer", {
@@ -447,9 +449,10 @@
        nineType: this.typeValue,
        placeName: this.placeName,
        principal: this.principal,
        areaName: this.areaName,
        policeName: this.policeName,
        areaName: this.areaName.join(","),
        policeName: this.policeName.join(","),
        community: this.community,
        policeStationName: this.policeStationName,
        isDanger: this.type == 1 ? 1 : "",
        deptId: this.policeStaionID,
        areaId: this.areaId
@@ -481,10 +484,11 @@
    clearSearchValue () {
      // this.isDanger = null;
      this.placeName = null
      this.areaName = null
      this.areaName = []
      this.principal = null
      this.policeName = null
      this.policeName = []
      this.community = null
      this.policeStationName = null
      // this.typeValue = null;
      this.pages.current = 1
      this.getNinePage()
src/views/home/components/dialog/riskDetailsBox.vue
@@ -30,7 +30,7 @@
        </div>
        <div>
          所属社区/街道:
          <el-select v-model="community" placeholder="请选择所属社区/街道" clearable filterable>
          <el-select v-model="streetName" placeholder="请选择所属社区/街道" clearable filterable>
            <el-option v-for="street in streetOptions" :key="street.value" :label="street.label" :value="street.value">
            </el-option>
          </el-select>
@@ -87,10 +87,10 @@
            label="详细地址"></el-table-column>
          <!-- <el-table-column prop="address" :show-overflow-tooltip="true" min-width="240" label="标准地址"></el-table-column> -->
          <el-table-column min-width="150" prop="riskHazardCategory" :show-overflow-tooltip="true"
            label="风险隐患类别"></el-table-column>
            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="dataSource" :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="communityName" :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="nineName" :show-overflow-tooltip="true" label="场所类型"></el-table-column> -->
@@ -187,8 +187,10 @@
      placeName: "",
      address: "",
      riskHazardCategory: "",
      responsiblePolice: "",
      policeStationName: "",
      responsiblePolice: [],
      communityName: "",
      streetName: "",
      typeValue: "",
      typeOptions: [],
      tableData: [],
@@ -204,7 +206,7 @@
        current: 1,
      },
      nineType: "",
      policeName: "",
      policeName: [],
      areaId: null,
      nameOptions: [
        '李江鹏',
@@ -281,7 +283,7 @@
    }
  },
  watch: {
    community: {
    streetName: {
      handler (newVal) {
        // 当街道选择变化时,更新责任区选项
        if (newVal && newVal.length > 0) {
@@ -305,12 +307,12 @@
  computed: {
    // 获取当前选择的街道下的村庄选项
    filteredVillageOptions () {
      if (!this.community || this.community.length === 0) {
      if (!this.streetName || this.streetName.length === 0) {
        return this.villageOptions
      }
      return this.villageOptions.filter(village =>
        this.community.includes(village.parent)
        this.streetName.includes(village.parent)
      )
    },
    positionColor () {
@@ -460,8 +462,10 @@
     * @return {*}
     */
    showplacedetail (type, name, value, areaId) {
      this.responsiblePolice = null
      this.responsiblePolice = []
      this.riskHazardCategory = null
      this.policeStationName = null
      this.streetName = null
      this.communityName = null
      this.type = type
      this.areaId = areaId
@@ -503,8 +507,11 @@
        size: this.pages.pageSize,
        riskHazardType: this.typeValue,
        riskHazardCategory: this.riskHazardCategory,
        affiliatedOrganization: this.policeStationName,
        streetName: this.streetName,
        communityName: this.communityName,
        responsiblePolice: this.responsiblePolice,
        policeName: this.policeName.join(","),
        responsiblePolice: this.responsiblePolice.join(","),
        address: this.address,
        isDanger: this.type == 1 ? 1 : "",
        deptId: this.policeStaionID,
@@ -539,7 +546,10 @@
      this.placeName = null
      this.communityName = null
      this.riskHazardCategory = null
      this.responsiblePolice = null
      this.policeStationName = null
      this.streetName = null
      this.responsiblePolice = []
      this.policeName = []
      // this.typeValue = null;
      this.pages.current = 1
      this.getRiskPage()
src/views/home/index.vue
@@ -1712,6 +1712,7 @@
    },
    housingSelect (item) {
      console.log(item, 'item')
      this.housingCheckValue = item.name
      if (item.name == "全部") {
        this.initHousingLayer(this.areaChecked)