guanqb
2023-02-09 d2edd0ae8fb8b6eb5edc1afef838cd2a1e527301
Merge branch 'master' of http://192.168.0.105:10010/r/srs-police-affairs
11 files modified
377 ■■■■■ changed files
src/api/home/index.js 8 ●●●●● patch | view | raw | blame | history
src/api/police/index.js 10 ●●●● patch | view | raw | blame | history
src/api/video/index.js 18 ●●●● patch | view | raw | blame | history
src/components/map/index.vue 144 ●●●●● patch | view | raw | blame | history
src/store/modules/user.js 9 ●●●● patch | view | raw | blame | history
src/views/home/components/bottomContainer.vue 7 ●●●● patch | view | raw | blame | history
src/views/home/components/leftContainer.vue 13 ●●●● patch | view | raw | blame | history
src/views/home/components/rightContainer.vue 6 ●●●● patch | view | raw | blame | history
src/views/home/index.vue 14 ●●●●● patch | view | raw | blame | history
src/views/layout/index.vue 6 ●●●● patch | view | raw | blame | history
src/views/video/list.vue 142 ●●●● patch | view | raw | blame | history
src/api/home/index.js
@@ -2,7 +2,7 @@
 * @Author: shuishen 1109946754@qq.com
 * @Date: 2022-12-27 14:19:19
 * @LastEditors: shuishen 1109946754@qq.com
 * @LastEditTime: 2023-02-01 16:56:46
 * @LastEditTime: 2023-02-09 14:52:13
 * @FilePath: \srs-police-affairs\src\api\home\index.js
 * @Description: 
 * 
@@ -139,8 +139,10 @@
        method: 'get',
        params: {
            ...params,
            // deviceId: '36110000002009999000'
            deviceId: '34020000002000000003'
            // 内网
            deviceId: '36110000002009999000'
            // 外网
            // deviceId: '34020000002000000003'
        }
    })
}
src/api/police/index.js
@@ -2,7 +2,7 @@
 * @Author: shuishen 1109946754@qq.com
 * @Date: 2022-11-15 15:10:41
 * @LastEditors: shuishen 1109946754@qq.com
 * @LastEditTime: 2023-01-09 10:14:34
 * @LastEditTime: 2023-02-09 10:46:18
 * @FilePath: \srs-police-affairs\src\api\police\index.js
 * @Description: 
 * 
@@ -17,10 +17,10 @@
 */
export const getHistoricalTrack = (params, requestBaseUrl = 'outside') => {
    return request({
        // 平台ID在这里更换,不要传了内网使用
        // url: `/position/history/36110000002009999000`,
        // 开发使用
        url: `/position/history/34020000002000000003`,
        // 内网
        url: `/position/history/36110000002009999000`,
        // 外网
        // url: `/position/history/34020000002000000003`,
        method: 'get',
        requestBaseUrl,
        params: params
src/api/video/index.js
@@ -2,7 +2,7 @@
 * @Author: shuishen 1109946754@qq.com
 * @Date: 2022-11-15 15:10:41
 * @LastEditors: shuishen 1109946754@qq.com
 * @LastEditTime: 2023-02-08 10:11:23
 * @LastEditTime: 2023-02-09 14:50:58
 * @FilePath: \srs-police-affairs\src\api\video\index.js
 * @Description: 
 * 
@@ -20,10 +20,10 @@
 */
export const getVideoList = (page, count, query, params = {}) => {
    return request({
        // 内网使用地址,外网把36110000002009999000更换掉
        // url: '/device/query/devices/36110000002009999000/channels',
        // 外网使用地址
        url: '/device/query/devices/34020000002000000003/channels',
        // 内网
        url: '/device/query/devices/36110000002009999000/channels',
        // 外网
        // url: '/device/query/devices/34020000002000000003/channels',
        method: 'get',
        requestBaseUrl: 'outside',
        params: {
@@ -42,10 +42,10 @@
 */
export const getDevices = (channelId) => {
    return request({
        // 内网使用地址,外网把36110000002009999000更换掉
        // url: `/play/start/36110000002009999000/${channelId}`,
        // 外网使用地址
        url: `/play/start/34020000002000000003/${channelId}`,
        // 内网
        url: `/play/start/36110000002009999000/${channelId}`,
        // 外网
        // url: `/play/start/34020000002000000003/${channelId}`,
        method: 'get',
        requestBaseUrl: 'outside'
    })
src/components/map/index.vue
@@ -2,7 +2,7 @@
 * @Author: shuishen 1109946754@qq.com
 * @Date: 2022-08-18 17:00:30
 * @LastEditors: shuishen 1109946754@qq.com
 * @LastEditTime: 2023-02-08 16:49:29
 * @LastEditTime: 2023-02-09 14:52:36
 * @FilePath: \srs-police-affairs\src\components\map\index.vue
 * @Description: 公用地图组件
 * 
@@ -15,38 +15,20 @@
        <!-- 全屏控制按钮 -->
        <div class="screen-full-btn">
            <el-tooltip v-if="isFullscreen" content="缩放" placement="bottom" effect="dark">
                <i
                    class="fa fa-compress"
                    style="vertical-align: middle; cursor: pointer"
                    @click="fullscreenchange"
                ></i>
                <i class="fa fa-compress" style="vertical-align: middle; cursor: pointer" @click="fullscreenchange"></i>
            </el-tooltip>
            <el-tooltip v-if="!isFullscreen" content="全屏" placement="bottom" effect="dark">
                <i
                    class="fa fa-expand"
                    style="vertical-align: middle; cursor: pointer"
                    @click="fullscreenchange"
                ></i>
                <i class="fa fa-expand" style="vertical-align: middle; cursor: pointer" @click="fullscreenchange"></i>
            </el-tooltip>
        </div>
        <!-- 切换矢量图按钮 -->
        <div
            style="display: none !important;"
            class="image-switch-icon-btn"
            title="切换影像"
            @mouseover="showImgBtn = true"
            @mouseleave="showImgBtn = false"
        >
        <div class="image-switch-icon-btn" title="切换影像" @mouseover="showImgBtn = true" @mouseleave="showImgBtn = false">
            <div class="icon-box">
                <img src="/img/base_map.png" alt />
            </div>
            <div
                class="image-switch-img-btn"
                v-show="showImgBtn"
                @mouseover="showImgBtn = true"
                @mouseleave="showImgBtn = false"
            >
            <div class="image-switch-img-btn" v-show="showImgBtn" @mouseover="showImgBtn = true"
                @mouseleave="showImgBtn = false">
                <div class="img" @click="switchImg">
                    <span :class="{ on: imgtype == 0 }">影像</span>
                </div>
@@ -82,6 +64,31 @@
}
let flootEntitysEntites = null
const ysLabels = [
    'EPSG:4490_test:0',
    'EPSG:4490_test:1',
    'EPSG:4490_test:2',
    'EPSG:4490_test:3',
    'EPSG:4490_test:4',
    'EPSG:4490_test:5',
    'EPSG:4490_test:6',
    'EPSG:4490_test:7',
    'EPSG:4490_test:8',
    'EPSG:4490_test:9',
    'EPSG:4490_test:10',
    'EPSG:4490_test:11',
    'EPSG:4490_test:12',
    'EPSG:4490_test:13',
    'EPSG:4490_test:14',
    'EPSG:4490_test:15',
    'EPSG:4490_test:16',
    'EPSG:4490_test:17',
    'EPSG:4490_test:18',
    'EPSG:4490_test:20',
    'EPSG:4490_test:21',
    'EPSG:4490_test:22',
]
import mapPopup from './components/mapPopup.vue'
@@ -190,7 +197,10 @@
            // })
            // global.viewer.addTerrain(terrain)
            // 天地图 影像
            // 内网
            that.switchImg()
            // 外网
            // global.viewer.imageryLayers.addImageryProvider(
            //     new global.DC.Namespace.Cesium.UrlTemplateImageryProvider({
            //         url: 'http://t{s}.tianditu.gov.cn/DataServer?T=img_w&x={x}&y={y}&l={z}&tk=e45274b0235bb913eceb393aabbf9c9c',
@@ -198,43 +208,6 @@
            //         format: 'image/jpeg',
            //         show: true,
            //         maximumLevel: 18
            //     })
            // )
            // 上饶部署,内网使用的
            // global.viewer.imageryLayers.addImageryProvider(
            //     new global.DC.Namespace.Cesium.WebMapTileServiceImageryProvider({
            //         url: "http://10.141.11.11:8090/MapTileService/wmts?STORETYPE=merged-dat&PROJECTION=4326",
            //         layer: "wmts_4326_361100",
            //         style: "default",
            //         format: "image/png",
            //         tileMatrixSetID: "c",
            //         tileMatrixLabels: new Array(18).fill(0).map((v, i) => i + 1),
            //         tilingScheme: new global.DC.Namespace.Cesium.GeographicTilingScheme(),
            //     })
            // )
            // global.viewer.imageryLayers.addImageryProvider(
            //     new global.DC.Namespace.Cesium.UrlTemplateImageryProvider({
            //         url: 'http://10.141.11.11:80/ysapi/geoserver/gwc/service/wmts/{z}/{y}/{x}.png',
            //     })
            // )
            // 影像图层
            // const ysWmts = global.viewer.imageryLayers.addImageryProvider(
            //     new global.DC.Namespace.Cesium.WebMapTileServiceImageryProvider({
            //         url: "http://10.141.11.11:80/ysapi/geoserver/gwc/service/wmts",
            //         layer: "test",
            //         style: "",
            //         format: "image/png",
            //         tileMatrixSetID: gridsetName,
            //         tileMatrixLabels: gridNames.map(item => {
            //             let arr = item.split(':')
            //             arr[2] = arr[2] - 1
            //             return arr.join(':')
            //         }),
            //         // tilingScheme: new global.DC.Namespace.Cesium.GeographicTilingScheme(),
            //     })
            // )
@@ -257,8 +230,10 @@
            let sqTitleLayer = new global.DC.TilesetLayer('sqTitleLayer')
            global.viewer.addLayer(sqTitleLayer)
            let sqTileset = new global.DC.Tileset(
                // 'http://10.141.11.11:18080/sf3d/361102/model/wanda/tileset.json'
                'http://192.168.0.112:18080/sf3d/361102/model/wanda/tileset.json'
                // 内网
                'http://10.141.11.11:18080/sf3d/361102/model/wanda/tileset.json'
                // 外网
                // 'http://192.168.0.112:18080/sf3d/361102/model/wanda/tileset.json'
            )
            sqTileset.setHeight(-72)
@@ -302,9 +277,6 @@
            //         material: global.DC.Namespace.Cesium.Color.RED.withAlpha(0.5),
            //     }
            // })
            // console.log(floorPositions)
@@ -468,32 +440,42 @@
        switchImg () {
            // 天地图 影像
            this.imgtype = 0
            global.viewer.imageryLayers.remove(baseLayers)
            baseLayers != null && global.viewer.imageryLayers.remove(baseLayers)
            baseLayers = global.viewer.imageryLayers.addImageryProvider(
                new global.DC.Namespace.Cesium.UrlTemplateImageryProvider({
                    url: 'http://t{s}.tianditu.gov.cn/DataServer?T=img_w&x={x}&y={y}&l={z}&tk=e45274b0235bb913eceb393aabbf9c9c',
                    subdomains: ['0', '1', '2', '3', '4', '5', '6', '7'],
                    format: 'image/jpeg',
                    show: true,
                    maximumLevel: 18
                new global.DC.Namespace.Cesium.WebMapTileServiceImageryProvider({
                    url: "http://10.141.11.11:80/ysapi/geoserver/gwc/service/wmts",
                    layer: "test",
                    style: "",
                    format: "image/png",
                    tileMatrixSetID: "EPSG:4490_test",
                    tileMatrixLabels: ysLabels,
                    tilingScheme: new global.DC.Namespace.Cesium.GeographicTilingScheme(),
                })
            )
            baseLayers.contrast = 0.8
            this.showImgBtn = false
        },
        switchElec () {
            // 天地图 矢量
            this.imgtype = 1
            global.viewer.imageryLayers.remove(baseLayers)
            baseLayers != null && global.viewer.imageryLayers.remove(baseLayers)
            baseLayers = global.viewer.imageryLayers.addImageryProvider(
                new global.DC.Namespace.Cesium.UrlTemplateImageryProvider({
                    url: 'http://t{s}.tianditu.gov.cn/DataServer?T=vec_w&x={x}&y={y}&l={z}&tk=e45274b0235bb913eceb393aabbf9c9c',
                    subdomains: ['0', '1', '2', '3', '4', '5', '6', '7'],
                    format: 'image/jpeg',
                    show: true,
                    maximumLevel: 18
                new global.DC.Namespace.Cesium.WebMapTileServiceImageryProvider({
                    url: "http://10.141.11.11:8090/MapTileService/wmts?STORETYPE=merged-dat&PROJECTION=4326",
                    layer: "wmts_4326_361100",
                    style: "default",
                    format: "image/png",
                    tileMatrixSetID: "c",
                    tileMatrixLabels: new Array(18).fill(0).map((v, i) => i + 1),
                    tilingScheme: new global.DC.Namespace.Cesium.GeographicTilingScheme(),
                })
            )
            baseLayers.contrast = 1.0
            this.showImgBtn = false
        },
src/store/modules/user.js
@@ -2,7 +2,7 @@
 * @Author: shuishen 1109946754@qq.com
 * @Date: 2022-12-27 09:33:01
 * @LastEditors: shuishen 1109946754@qq.com
 * @LastEditTime: 2023-02-04 17:04:35
 * @LastEditTime: 2023-02-09 10:21:05
 * @FilePath: \srs-police-affairs\src\store\modules\user.js
 * @Description: 
 * 
@@ -33,7 +33,12 @@
                )
                    .then((res) => {
                        const data = res.data
                        if (res.status != 200) {
                        if (data.error_description) {
                            Message({
                                message: data.error_description,
                                type: "error",
                            })
                        } else if (res.status != 200) {
                            Message({
                                message: '系统异常,请联系管理员',
                                type: "error",
src/views/home/components/bottomContainer.vue
@@ -2,7 +2,7 @@
 * @Author: shuishen 1109946754@qq.com
 * @Date: 2023-01-13 15:52:59
 * @LastEditors: shuishen 1109946754@qq.com
 * @LastEditTime: 2023-02-07 11:27:50
 * @LastEditTime: 2023-02-09 10:23:14
 * @FilePath: \srs-police-affairs\src\views\home\components\bottomContainer.vue
 * @Description: 
 * 
@@ -640,6 +640,11 @@
    destroyed () {
        window.removeEventListener('resize', this.setTableHeight)
        if (alarmTiming != null) {
            clearInterval(alarmTiming)
            alarmTiming = null
        }
    }
}
</script>
src/views/home/components/leftContainer.vue
@@ -297,6 +297,8 @@
            if (id != '') {
                this.showBack = false
                this.isAllPoliceStation = false
                this.tabTypeThree = 0
            } else {
                this.showBack = true
                this.isAllPoliceStation = true
@@ -815,6 +817,8 @@
            let personInfo = await this.getPersonInfo()
            keyPersonmyChart.setOption(this.initkeyPersonOption(personInfo))
            this.clickkeyPersonChart()
        },
        /**
         * @description: 调用接口获取重点人员数据
@@ -870,7 +874,7 @@
                                msg = params.value + '人'
                            }
                            msg = `${params.marker} ${params.name}<strong style="margin-left:10px">${msg}</strong>'`
                            msg = `${params.marker} ${params.name}<strong style="margin-left:10px">${msg}</strong>`
                            return msg
                        }
                    },
@@ -1012,8 +1016,6 @@
         * @return {*}
         */
        clickLandChart () {
            landMyChart.off('click')
            landMyChart.on('click', params => {
                if (this.tabTypeThree == 0) {
                    this.$emit('showlanddetail', params.name, 2, params.data.id)
@@ -1079,6 +1081,11 @@
        this.disposeEchart()
        this.disposeHouseEchart()
        this.disposeLandEchart()
        if (leftTiming != null) {
            clearInterval(leftTiming)
            leftTiming = null
        }
    }
}
</script>
src/views/home/components/rightContainer.vue
@@ -676,7 +676,11 @@
            eventchangemychart.dispose()
            eventchangemychart = null
        }
        clearInterval(timer)
        if (rightTiming != null) {
            clearInterval(rightTiming)
            rightTiming = null
        }
    }
}
</script>
src/views/home/index.vue
@@ -2,7 +2,7 @@
 * @Author: shuishen 1109946754@qq.com
 * @Date: 2022-08-18 16:18:17
 * @LastEditors: shuishen 1109946754@qq.com
 * @LastEditTime: 2023-02-08 17:15:57
 * @LastEditTime: 2023-02-09 10:07:57
 * @FilePath: \srs-police-affairs\src\views\home\index.vue
 * @Description: 小区-栋-层-房屋
 *
@@ -559,7 +559,7 @@
            callPhone: '',
            landPage: {
                total: 0,
                pageSize: 0,
                pageSize: 10,
                currentPage: 1
            },
            peoplePoliceName: '',
@@ -1451,7 +1451,8 @@
            this.landTitle = name
            this.landType = type
            this.landDetailId = id
            this.getLandDetail(type, id)
            this.landPage.currentPage = 1
            this.getLandDetail(type, id, this.landPage.currentPage)
        },
        // 获取设备分页数据
@@ -1674,7 +1675,7 @@
            this.policeName = ''
            this.callPhone = ''
            this.landPage.currentPage = 1
            this.getLandDetail(this.landType, this.landDetailId)
            this.getLandDetail(this.landType, this.landDetailId, this.landPage.currentPage)
        },
        searchLandDetail () {
@@ -1682,10 +1683,11 @@
            this.getLandDetail(this.landType, this.landDetailId, this.landPage.currentPage, this.policeName, this.callPhone)
        },
        getLandDetail (type, policeStationId, current, policeName, phone) {
        getLandDetail (type, policeStationId, current, policeName = '', phone = '') {
            this.landDetailArr = []
            this.landPage.total = 0
            getLandDetail(type, policeStationId, current, policeName, phone).then(res => {
                this.landDetailArr = res.data.data.records
                this.landPage.pageSize = res.data.data.size
                this.landPage.total = res.data.data.total
            })
        },
src/views/layout/index.vue
@@ -2,7 +2,7 @@
 * @Author: shuishen 1109946754@qq.com
 * @Date: 2022-08-18 16:18:24
 * @LastEditors: shuishen 1109946754@qq.com
 * @LastEditTime: 2023-02-08 09:49:16
 * @LastEditTime: 2023-02-09 14:49:23
 * @FilePath: \srs-police-affairs\src\views\layout\index.vue
 * @Description: 
 * 
@@ -142,8 +142,8 @@
                    menuName: '运维管理',
                    openExternal: true,
                    // 内网
                    path: 'http://10.141.11.11:8081/#/security/security'
                    // path: 'http://192.168.43.201:1888/#/security/security'
                    path: 'http://10.141.11.11:8081/#/'
                    // path: 'http://192.168.0.109:1888/#/security/security'
                }
            ],
src/views/video/list.vue
@@ -2,7 +2,7 @@
 * @Author: shuishen 1109946754@qq.com
 * @Date: 2022-08-18 16:18:17
 * @LastEditors: shuishen 1109946754@qq.com
 * @LastEditTime: 2023-02-08 11:21:57
 * @LastEditTime: 2023-02-09 14:51:52
 * @FilePath: \srs-police-affairs\src\views\video\list.vue
 * @Description: 辖区管理
 * 
@@ -14,12 +14,7 @@
        <div v-show="boxShow" class="container-content">
            <div class="search-box">
                点位名称:
                <input
                    v-model="searchValue"
                    @input="searchChange"
                    type="text"
                    placeholder="请输入搜索条件"
                />
                <input v-model="searchValue" @input="searchChange" type="text" placeholder="请输入搜索条件" />
            </div>
            <div class="draw-btn">
@@ -36,93 +31,49 @@
                <button @click="changeRange" class="btn">确定</button>
            </div>
            <div v-show="searchValBoxShow" class="search-val-box">
                <div
                    @click="searchVlaClick(item)"
                    v-for="(item, index) in searchArray"
                    :key="index"
                >{{ item.name }}</div>
                <div @click="searchVlaClick(item)" v-for="(item, index) in searchArray" :key="index">{{ item.name }}
                </div>
            </div>
            <div class="down-tree">
                <el-scrollbar>
                    <el-tree
                        v-show="searchLazyFlag"
                        :props="props"
                        :load="loadNode"
                        lazy
                        @node-click="treeClick"
                    ></el-tree>
                    <el-tree v-show="searchLazyFlag" :props="props" :load="loadNode" lazy
                        @node-click="treeClick"></el-tree>
                    <el-tree
                        v-show="searchLazyFlag == false"
                        :data="searchTreeData"
                        :props="defaultProps"
                        :default-expand-all="true"
                        @node-click="treeClick"
                    ></el-tree>
                    <el-tree v-show="searchLazyFlag == false" :data="searchTreeData" :props="defaultProps"
                        :default-expand-all="true" @node-click="treeClick"></el-tree>
                </el-scrollbar>
            </div>
            <div class="list-show" v-if="false">
                <div class="car-list">
                    <div class="list-box">
                        <el-table
                            :data="monitoringList"
                            style="width: 100%"
                        <el-table :data="monitoringList" style="width: 100%"
                            :header-cell-style="{ 'text-align': 'center', 'background-color': 'rgba(9, 40, 199, 0.5)', 'borderColor': '#324e75' }"
                            :cell-style="{ 'text-align': 'center', 'borderColor': '#324e75' }"
                            @cell-click="rowClick"
                        >
                            <el-table-column
                                :show-overflow-tooltip="true"
                                prop="name"
                                label="点位名称"
                                min-width="35%"
                            ></el-table-column>
                            <el-table-column
                                :show-overflow-tooltip="true"
                                prop="pTZTypeText"
                                label="点位类型"
                                min-width="35%"
                            ></el-table-column>
                            <el-table-column
                                :show-overflow-tooltip="true"
                                prop="status"
                                label="状态"
                                min-width="30%"
                            >
                            :cell-style="{ 'text-align': 'center', 'borderColor': '#324e75' }" @cell-click="rowClick">
                            <el-table-column :show-overflow-tooltip="true" prop="name" label="点位名称"
                                min-width="35%"></el-table-column>
                            <el-table-column :show-overflow-tooltip="true" prop="pTZTypeText" label="点位类型"
                                min-width="35%"></el-table-column>
                            <el-table-column :show-overflow-tooltip="true" prop="status" label="状态" min-width="30%">
                                <template slot-scope="scope">
                                    <div
                                        class="state-box"
                                        :class="{ online: scope.row.status == '1' }"
                                    ></div>
                                    <div class="state-box" :class="{ online: scope.row.status == '1' }"></div>
                                </template>
                            </el-table-column>
                        </el-table>
                    </div>
                    <div class="pages">
                        <el-pagination
                            background
                            layout="prev, pager, next"
                            :page-size="pagesize"
                            :page-count="pagesCount"
                            :current-page="currentPage"
                            pager-count="5"
                            @current-change="handleCurrentChange"
                        ></el-pagination>
                        <el-pagination background layout="prev, pager, next" :page-size="pagesize"
                            :page-count="pagesCount" :current-page="currentPage" pager-count="5"
                            @current-change="handleCurrentChange"></el-pagination>
                    </div>
                </div>
            </div>
        </div>
        <div class="search-content">
            <input
                v-model="searchExtensivelyValue"
                @input="searchExtensivelyChange"
                @focus="searchExtensivelyFocus"
                type="text"
                placeholder="请输入搜索条件"
            />
            <input v-model="searchExtensivelyValue" @input="searchExtensivelyChange" @focus="searchExtensivelyFocus"
                type="text" placeholder="请输入搜索条件" />
            <div class="clear" v-show="isShowClearBtn" @click="clearSearchValue" title="清空">
                <img src="../../../public/img/icon/clear.png" alt />
            </div>
@@ -130,39 +81,17 @@
        </div>
        <div v-show="searchExtensivelyValBoxShow" class="searchExtensively-val-box">
            <div>
                <div
                    @click="searchExtensivelyVlaClick(item)"
                    v-for="(item, index) in searchExtensivelyArray"
                    :key="index"
                >{{ item.name }}</div>
                <div @click="searchExtensivelyVlaClick(item)" v-for="(item, index) in searchExtensivelyArray"
                    :key="index">{{ item.name }}</div>
            </div>
        </div>
        <el-dialog
            :title="dialogTitle"
            :modal="false"
            :visible.sync="dialogVisible"
            :before-close="dialogBeforeClose"
            :close-on-click-modal="true"
            class="car-video-box"
        >
            <video
                id="videoElement"
                autoplay
                controls
                width="100%"
                height="100%"
                style="object-fit: fill"
            ></video>
        <el-dialog :title="dialogTitle" :modal="false" :visible.sync="dialogVisible" :before-close="dialogBeforeClose"
            :close-on-click-modal="true" class="car-video-box">
            <video id="videoElement" autoplay controls width="100%" height="100%" style="object-fit: fill"></video>
        </el-dialog>
        <el-dialog
            :title="drawDialogTitle"
            :modal="false"
            :visible.sync="drawDialogVisible"
            :before-close="drawDialogBeforeClose"
            :close-on-click-modal="true"
            class="video-draw-box"
        >
        <el-dialog :title="drawDialogTitle" :modal="false" :visible.sync="drawDialogVisible"
            :before-close="drawDialogBeforeClose" :close-on-click-modal="true" class="video-draw-box">
            <input type="text" v-model="drawName" placeholder="请输入绘制线或面的名称" />
            <button @click="saveDrawInfo">保存</button>
        </el-dialog>
@@ -349,7 +278,10 @@
                this.searchTreeData = []
                getSearchTreeDevices({
                    // 内网
                    deviceId: '36110000002009999000',
                    // 外网
                    // deviceId: '34020000002000000003',
                    parentId: '361102',
                    deptId: this.userInfo.dept_id,
                    name: this.searchValue.trim()
@@ -621,8 +553,10 @@
            }
            await getTreeDevices({
                // deviceId: '36110000002009999000',
                deviceId: '34020000002000000003',
                // 内网
                deviceId: '36110000002009999000',
                // 外网
                // deviceId: '34020000002000000003',
                parentId,
                deptId: this.userInfo.dept_id,
                type,
@@ -774,7 +708,7 @@
            border-radius: 10px;
            overflow-y: auto;
            & > div {
            &>div {
                height: 100%;
                padding: 0 10px;
                line-height: 36px;
@@ -848,7 +782,7 @@
        .list-show {
            flex: 1;
            & > div {
            &>div {
                height: 100%;
                display: flex;
                flex-direction: column;
@@ -971,7 +905,7 @@
        border-radius: 10px;
        overflow: hidden;
        & > div {
        &>div {
            height: 100%;
            overflow-y: auto;