shuishen
2023-01-05 3ffc77d1b9764a0023dd89722b6aa31a87ac8916
Merge branch 'master' of http://s16s652780.51mypc.cn:49896/r/srs-police-affairs
3 files modified
3 files added
175 ■■■■■ changed files
public/img/icon/business.png patch | view | raw | blame | history
public/img/icon/comeOut.png patch | view | raw | blame | history
public/img/icon/park.png patch | view | raw | blame | history
src/api/dept/index.js 19 ●●●●● patch | view | raw | blame | history
src/styles/media/index.scss 4 ●●●● patch | view | raw | blame | history
src/views/house/index.vue 152 ●●●● patch | view | raw | blame | history
public/img/icon/business.png
public/img/icon/comeOut.png
public/img/icon/park.png
src/api/dept/index.js
@@ -128,3 +128,22 @@
        }
    })
}
/**
 * 大搜-搜索停车场、出入口、商场
 * @param {*} adcode
 * @returns
 */
export const getSearchExtensivelyBgAoiDeepdata = (ak, region, ids, infos) => {
    return request({
        url: '/zhs/bs/search',
        method: 'get',
        requestBaseUrl: 'fengtDS',
        params: {
            ak,
            region,
            ids,
            infos,
        }
    })
}
src/styles/media/index.scss
@@ -720,6 +720,8 @@
                                    &>.come-out-content,
                                    &>.park-content,
                                    &>.business-content {
                                        height: countSizeVh(380);
                                        .el-table__header-wrapper {
                                            height: countSizeVh(48);
@@ -753,6 +755,8 @@
                                        .el-table__empty-text {
                                            font-size: countSizeVh(16);
                                        }
                                    }
                                }
src/views/house/index.vue
@@ -358,43 +358,64 @@
                            </div>
                        </div>
                    </div>
                    <div class="come-out-content" v-show="subNavType == 2">
                        <el-table
                            :data="comeoutArr"
                            :data="comeOutData"
                            style="width: 100%"
                            :header-cell-style="{ 'text-align': 'center', 'background-color': '#203c60', 'borderColor': '#324e75' }"
                            :cell-style="{ 'text-align': 'center', 'borderColor': '#324e75' }"
                            :row-class-name="tableRowClassName"
                            @row-click="(row) => deepDataRowClick('comeOut', row)"
                        >
                            <el-table-column prop="name" label="名称" width="130"></el-table-column>
                            <el-table-column prop="position" label="位置" width="150"></el-table-column>
                            <el-table-column prop="type" label="类别" width="120"></el-table-column>
                            <el-table-column
                                prop="name"
                                label="名称"
                                width="180"
                                :show-overflow-tooltip="true"
                            ></el-table-column>
                            <el-table-column prop="x" label="经度" width="100"></el-table-column>
                            <el-table-column prop="y" label="纬度" width="100"></el-table-column>
                        </el-table>
                    </div>
                    <div class="park-content" v-show="subNavType == 3">
                        <el-table
                            :data="parkArr"
                            :data="parkingLotData"
                            style="width: 100%"
                            :header-cell-style="{ 'text-align': 'center', 'background-color': '#203c60', 'borderColor': '#324e75' }"
                            :cell-style="{ 'text-align': 'center', 'borderColor': '#324e75' }"
                            :row-class-name="tableRowClassName"
                            @row-click="(row) => deepDataRowClick('park', row)"
                        >
                            <el-table-column prop="name" label="名称" width="130"></el-table-column>
                            <el-table-column prop="position" label="位置" width="150"></el-table-column>
                            <el-table-column prop="type" label="类别" width="120"></el-table-column>
                            <el-table-column
                                prop="name"
                                label="名称"
                                width="180"
                                :show-overflow-tooltip="true"
                            ></el-table-column>
                            <el-table-column prop="x" label="经度" width="100"></el-table-column>
                            <el-table-column prop="y" label="纬度" width="100"></el-table-column>
                        </el-table>
                    </div>
                    <div class="business-content" v-show="subNavType == 4">
                        <el-table
                            :data="businessArr"
                            :data="businessData"
                            style="width: 100%"
                            :header-cell-style="{ 'text-align': 'center', 'background-color': '#203c60', 'borderColor': '#324e75' }"
                            :cell-style="{ 'text-align': 'center', 'borderColor': '#324e75' }"
                            :row-class-name="tableRowClassName"
                            @row-click="(row) => deepDataRowClick('business', row)"
                        >
                            <el-table-column prop="name" label="名称" width="130"></el-table-column>
                            <el-table-column prop="position" label="位置" width="150"></el-table-column>
                            <el-table-column prop="type" label="类别" width="120"></el-table-column>
                            <el-table-column
                                prop="name"
                                label="名称"
                                width="180"
                                :show-overflow-tooltip="true"
                            ></el-table-column>
                            <el-table-column prop="x" label="经度" width="100"></el-table-column>
                            <el-table-column prop="y" label="纬度" width="100"></el-table-column>
                        </el-table>
                    </div>
                </div>
@@ -539,7 +560,7 @@
<script>
import { listQuery, accurateSearch } from "@/utils/search.js"
import housingData from '@/assets/data/housingData.js'
import { getResidentialQuartersList, getResidentialQuartersInfo, getSearchExtensively, getAoiByPt, getUnitbuild, getHouses } from '@/api/dept/index.js'
import { getResidentialQuartersList, getResidentialQuartersInfo, getSearchExtensively, getAoiByPt, getUnitbuild, getHouses, getSearchExtensivelyBgAoiDeepdata } from '@/api/dept/index.js'
export default {
    data () {
@@ -650,7 +671,13 @@
                            name: "二级 1-1",
                            children: [
                                {
                                    name: "三级 1-1-1",
                                    name: "万达华府",
                                },
                                {
                                    name: "万达晶座",
                                },
                                {
                                    name: "万达广场",
                                },
                            ],
                        },
@@ -714,6 +741,9 @@
            searchExtensivelyArray: [],
            searchExtensivelyValue: '',
            isShowClearBtn: false,
            parkingLotData: [],
            comeOutData: [],
            businessData: [],
        }
    },
    watch: {
@@ -725,6 +755,7 @@
    created () {
        // this.getResidentialQuartersList('361102')
        this.getResidentialQuartersInfo('6E5271B45D1611EAB6183C15FB00027B', '361102')
        this.getSearchExtensivelyBgAoiDeepdata('ebf48ecaa1fd436fa3d40c4600aa051f', '361100', '62556EAF4B731B9DE0530EF4520A0CFC', '1|3')
        // this.getSearchExtensively('ebf48ecaa1fd436fa3d40c4600aa051f', '361100', '万达')
        // this.getAoiByPt('117.9471794', '28.4474852', '361100', '0', '361102', '10')
        // this.getUnitbuild('6E513C5E5D1611EAB6183C15FB00027B', '361102')
@@ -768,6 +799,7 @@
        getResidentialQuartersInfo (areaId, adcode) {
            getResidentialQuartersInfo(areaId, adcode).then(res => {
                this.housingData.name = res.data.data.aoi_name
                this.buildingList = []
                res.data.data.build.forEach(item => {
                    let position = JSON.parse(item.center).coordinates
                    this.buildingList.push({ name: `${item.build_name}`, siteJd: `${position[0]}`, siteWd: `${position[1]}`, siteGd: 360, build_id: `${item.build_id}` })
@@ -782,6 +814,26 @@
        getSearchExtensively (ak, region, query) {
            getSearchExtensively(ak, region, query).then(res => {
                this.searchExtensivelyArray = res.data.result
            })
        },
        // 大搜之搜索面详细数据
        getSearchExtensivelyBgAoiDeepdata (ak, region, ids, infos) {
            getSearchExtensivelyBgAoiDeepdata(ak, region, ids, infos).then(res => {
                let deepData = res.data.result[0].deep_infos.deep_info
                this.parkingLotData = []
                this.comeOutData = []
                this.businessData = []
                deepData.forEach(item => {
                    if (item.pc_type == 1) {
                        this.comeOutData.push(item)
                    } else if (item.pc_type == 2) {
                        this.parkingLotData.push(item)
                    } else if (item.pc_type == 4) {
                        this.businessData.push(item)
                    }
                })
                console.log(232323, this.parkingLotData, this.comeOutData, this.businessData)
            })
        },
@@ -951,14 +1003,26 @@
        //对树节点进行筛选时执行的方法
        filterNode (value, data) {
            console.log(value, data)
            // console.log(value, data)
            if (!value) return true
            return data.name.indexOf(value) !== -1
        },
        // 点击选中
        currentChangeHandle (current, currentNode) {
            console.log(current, currentNode)
            console.log(123, current, currentNode)
            this.filterText = ''
            this.prop = current.name
            if (current.name == '万达华府') {
                this.getResidentialQuartersInfo('6E5271B45D1611EAB6183C15FB00027B', '361102')
                this.getSearchExtensivelyBgAoiDeepdata('ebf48ecaa1fd436fa3d40c4600aa051f', '361100', '644A2C4049024A3C8C76D96EEE4366FD', '1|3')
            } else if (current.name == '万达晶座') {
                this.getResidentialQuartersInfo('A425AEC8D3FE4C85937FE36B4F996437', '361102')
                this.getSearchExtensivelyBgAoiDeepdata('ebf48ecaa1fd436fa3d40c4600aa051f', '361100', 'aba5227bc3c16d3fec0f0b1e87f25bbb', '1|3')
            } else if (current.name == '万达广场') {
                this.getResidentialQuartersInfo('6E513C5E5D1611EAB6183C15FB00027B', '361102')
                this.getSearchExtensivelyBgAoiDeepdata('ebf48ecaa1fd436fa3d40c4600aa051f', '361100', '62556EAF4B731B9DE0530EF4520A0CFC', '1|3')
            }
            this.$refs[`popover`].doClose()
        },
@@ -1048,6 +1112,47 @@
            this.searchExtensivelyValue = ''
            this.searchExtensivelyChange()
        },
        deepDataRowClick (param1, row) {
            console.log(111222, param1, row)
            let url = ''
            if (param1 == 'comeOut') {
                url = '/img/icon/comeOut.png'
            } else if (param1 == 'park') {
                url = '/img/icon/park.png'
            } else if (param1 == 'business') {
                url = '/img/icon/business.png'
            }
            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',
                params: {
                    lng: `${row.x}`,
                    lat: `${row.y}`,
                    alt: 0,
                    text: row.name
                }
            })
            this.$EventBus.$emit('layerPointAdd', {
                layerName: 'deepDataLayer',
                type: "billboard",
                params: {
                    lng: `${row.x}`,
                    lat: `${row.y}`,
                    alt: 0,
                    url: url
                },
            })
        },
    },
    destroyed () {
@@ -1059,6 +1164,10 @@
        this.$EventBus.$emit('mapClearLayer', {
            layerName: 'searchLayer',
            type: 'label'
        })
        this.$EventBus.$emit('mapClearLayer', {
            layerName: 'deepDataLayer',
            type: 'VectorLayer'
        })
    }
}
@@ -1610,6 +1719,17 @@
                        }
                    }
                }
                .come-out-content,
                .park-content,
                .business-content {
                    height: 380px;
                }
                :deep(.el-table td.el-table__cell div) {
                    overflow: hidden;
                    white-space: nowrap;
                    text-overflow: ellipsis;
                }
            }
            .police-info {