shuishen
2023-04-09 9dbad77970ee2738ea4fe369a02171e953d34aba
聚合视频的逻辑调整、模块的关闭
8 files modified
138 ■■■■ changed files
src/components/assemble/index.vue 28 ●●●● patch | view | raw | blame | history
src/components/playVideo/index.vue 15 ●●●●● patch | view | raw | blame | history
src/styles/base/index.scss 16 ●●●●● patch | view | raw | blame | history
src/styles/media/index.scss 57 ●●●●● patch | view | raw | blame | history
src/views/home/index.vue 6 ●●●● patch | view | raw | blame | history
src/views/police/index.vue 7 ●●●● patch | view | raw | blame | history
src/views/policeInfor/index.vue 2 ●●● patch | view | raw | blame | history
src/views/video/index.vue 7 ●●●●● patch | view | raw | blame | history
src/components/assemble/index.vue
@@ -2,7 +2,7 @@
 * @Author: shuishen 1109946754@qq.com
 * @Date: 2023-02-23 09:09:09
 * @LastEditors: shuishen 1109946754@qq.com
 * @LastEditTime: 2023-04-06 16:05:48
 * @LastEditTime: 2023-04-09 04:02:32
 * @FilePath: \srs-police-affairs\src\components\assemble\index.vue
 * @Description: 聚合图标点的点击事件
 * 
@@ -21,11 +21,12 @@
                <el-button type="primary" icon="el-icon-search" @click="searchEquiment">搜索</el-button>
                <el-button type="primary" icon="el-icon-delete" @click="clearSearchEquiment">清空</el-button>
            </div>
            <el-main v-loading="equimentLoading" element-loading-text="拼命加载中" element-loading-spinner="el-icon-loading"
                element-loading-background="rgba(0, 0, 0, 0.5)">
            <div v-loading="equimentLoading" element-loading-text="拼命加载中" element-loading-spinner="el-icon-loading"
                element-loading-background="rgba(0, 0, 0, 0.5)" class="body">
                <el-table :data="currentData" style="width: 100%"
                    :header-cell-style="{ 'text-align': 'center', 'background-color': '#203c60', 'borderColor': '#324e75' }"
                    :cell-style="{ 'text-align': 'center', 'borderColor': '#324e75' }" v-show="!equimentLoading">
                    :cell-style="{ 'text-align': 'center', 'borderColor': '#324e75' }">
                    <el-table-column label="序号" type="index" align="center">
                        <template slot-scope="scope">
                            <span>{{ (pages.current - 1) * pages.size + scope.$index + 1 }}</span>
@@ -39,7 +40,7 @@
                        min-width="140%"></el-table-column>
                    <el-table-column label="设备状态">
                        <template slot-scope="scope">
                            <i class="status-box" :class="{ online: Number(scope.row.status) === 1 }"></i>
                            <div class="state-box" :class="{ online: scope.row.status == '1' }"></div>
                        </template>
                    </el-table-column>
                    <el-table-column label="操作">
@@ -51,12 +52,12 @@
                    </el-table-column>
                </el-table>
                <div class="pages all-pagination-sty" v-show="!equimentLoading">
                <div class="pages all-pagination-sty">
                    <el-pagination background layout="prev, pager, next, total" :total="searchData.length"
                        :page-size="pages.size" pager-count="3" :current-page="pages.current"
                        @current-change="handleCurrentChange"></el-pagination>
                </div>
            </el-main>
            </div>
        </el-dialog>
        <play-video ref="videoBox"></play-video>
@@ -76,7 +77,7 @@
            dialogTile: '摄像头',
            equimentSearchVal: '',
            pages: {
                size: 20,
                size: 12,
                current: 1
            }
        }
@@ -109,14 +110,13 @@
                if (this.$route.path == '/layout/video/list') {
                    layerName = 'treeValAllLayer'
                } else {
                    layerName = 'cameraLayers'
                    layerName = 'homeCameraLayers'
                }
                this.$EventBus.$emit('getOverLayerID', {
                    layerName,
                    ids: e.target.id,
                    cb (data) {
                        console.log(data, 456)
                        that.tableData = data
                        that.searchData = []
                        that.pages.current = 1
@@ -125,7 +125,7 @@
                        setTimeout(() => {
                            that.searchData = data
                            that.equimentLoading = false
                        }, 1000)
                        }, 500)
                    }
                })
            }
@@ -167,7 +167,7 @@
            setTimeout(() => {
                this.equimentLoading = false
                this.searchData = this.tableData.filter(item => item.name.indexOf(this.equimentSearchVal.trim()) != -1)
            }, 1000)
            }, 500)
        },
@@ -177,11 +177,13 @@
            setTimeout(() => {
                this.equimentLoading = false
                this.searchData = this.tableData
            }, 1000)
            }, 500)
        }
    },
    destory () {
        this.equimentLoading = false
        this.dialogVisible = false
        global.viewer.off(global.DC.MouseEventType.CLICK, this.viewerClick)
    }
}
src/components/playVideo/index.vue
@@ -2,7 +2,7 @@
 * @Author: shuishen 1109946754@qq.com
 * @Date: 2023-02-24 09:06:31
 * @LastEditors: shuishen 1109946754@qq.com
 * @LastEditTime: 2023-02-24 10:16:25
 * @LastEditTime: 2023-04-09 04:13:28
 * @FilePath: \srs-police-affairs\src\components\playVideo\index.vue
 * @Description: 
 * 
@@ -12,6 +12,8 @@
    <div>
        <el-dialog :title="title" :visible.sync="visibleFlag" :before-close="dialogBeforeClose" :modal="true"
            :modal-append-to-body="false" :close-on-click-modal="false" class="car-video-box">
            <video-loading v-show="videoPlayShow"></video-loading>
            <video autoplay controls width="100%" height="100%" ref="videoElement" id="videoElement"
                style="object-fit: fill"></video>
        </el-dialog>
@@ -30,13 +32,16 @@
        return {
            title: '',
            visibleFlag: false,
            flvPlayer: null
            flvPlayer: null,
            videoPlayShow: false
        }
    },
    methods: {
        // 设备的视频播放
        async play (row) {
            this.videoPlayShow = true
            if (this.flvPlayer != null) {
                this.flvPlayer.pause()
                this.flvPlayer.unload()
@@ -46,7 +51,7 @@
            }
            this.title = row.name
            this.visibleFlag = true
            let flvUrl = ''
@@ -56,11 +61,10 @@
            if (typeof flvUrl === 'object') {
                this.$message.error(flvUrl.msg)
                this.visibleFlag = false
                return
            }
            this.visibleFlag = true
            if (flvjs.isSupported()) {
                this.$nextTick(() => {
@@ -73,6 +77,7 @@
                    })
                    this.flvPlayer.attachMediaElement(videoElement)
                    this.flvPlayer.load()
                    this.videoPlayShow = false
                    this.flvPlayer.play()
                })
            }
src/styles/base/index.scss
@@ -322,22 +322,6 @@
    }
}
.equiment-details-box-two {
    .el-dialog {
        height: 786px;
    }
    .all-pagination-sty {
        margin-top: 10px;
    }
    .el-main {
        padding: 0;
        width: 100%;
        height: calc(100% - 40px);
    }
}
.keyPerson-details-box-two {
    .el-dialog {
        display: flex;
src/styles/media/index.scss
@@ -2034,25 +2034,7 @@
                        }
                    }
                    .area-details-box,
                    .keyPerson-details-box,
                    .land-details-box,
                    .equiment-details-box,
                    .equiment-details-box-two {
                        .el-dialog {
                            width: countSizeVw(1000, 1920);
                            height: countSizeVh(640);
                        }
                        .el-dialog__header button {
                            font-size: countSizeVh(18);
                            right: countSizeVw(10, 1920);
                        }
                        .el-dialog .el-dialog__body .el-table {
                            height: calc(100% - countSizeVh(60)) !important;
                        }
                    }
@@ -2529,23 +2511,6 @@
                    font-size: countSizeVw(14, 1920);
                }
                .equiment-details-box-two {
                    .el-dialog {
                        height: countSizeVh(930);
                    }
                    .all-pagination-sty {
                        margin-top: countSizeVh(10);
                    }
                    .el-main {
                        height: calc(100% - countSizeVh(50)) !important;
                    }
                    .el-dialog .el-dialog__body .el-table {
                        height: calc(100% - countSizeVh(60)) !important;
                    }
                }
            }
            .auth-page {
@@ -2915,4 +2880,24 @@
            }
        }
    }
    .area-details-box,
    .keyPerson-details-box,
    .land-details-box,
    .equiment-details-box,
    .equiment-details-box-two {
        .el-dialog {
            width: countSizeVw(1000, 1920);
            height: countSizeVh(640);
        }
        .el-dialog__header button {
            font-size: countSizeVh(18);
            right: countSizeVw(10, 1920);
        }
        .el-dialog .el-dialog__body .el-table {
            height: calc(100% - countSizeVh(60)) !important;
        }
    }
}
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-04-06 10:11:54
 * @LastEditTime: 2023-04-09 03:54:12
 * @FilePath: \srs-police-affairs\src\views\home\index.vue
 * @Description: 小区-栋-层-房屋
 *
@@ -582,6 +582,7 @@
    mounted () {
        this.$nextTick(() => {
            this.$EventBus.$emit('closeMxTileset')
            circleLayer = new global.DC.PrimitiveLayer('circleLayer')
            global.viewer.addLayer(circleLayer)
@@ -889,6 +890,9 @@
                this.initPoliceStationLayer()
                this.policeStaionID = ''
                this.carChange(this.carLayerShow)
                this.cameraChange(this.cameraLayerShow)
            } else {
                cylinderLayer.clear()
                this.getPoliceStationTree(2, item.id)
src/views/police/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-04-05 04:29:28
 * @LastEditTime: 2023-04-09 04:17:48
 * @FilePath: \srs-police-affairs\src\views\police\index.vue
 * @Description: 辖区管理
 * 
@@ -244,6 +244,7 @@
        this.$nextTick(() => {
            this.$EventBus.$emit('closeMxTileset')
            tc = new global.DC.TrackController(global.viewer)
            this.setTableHeight()
        })
@@ -357,6 +358,10 @@
                                mouseOutIncident: this.pointMouseOut,
                            })
                        } else if (this.navType == 2) {
                            let position = global.DC.CoordTransform.BD09ToGCJ02(item.lng, item.lat)
                            item.lng = global.DC.CoordTransform.GCJ02ToWGS84(position[0], position[1])[0]
                            item.lat = global.DC.CoordTransform.GCJ02ToWGS84(position[0], position[1])[1]
                            this.$EventBus.$emit('layerPointAdd', {
                                layerName: 'policeMonitoringLayers',
src/views/policeInfor/index.vue
@@ -271,7 +271,7 @@
        this.$nextTick(() => {
            policeInforSiteLayer = new global.DC.PrimitiveLayer('policeInforSiteLayer')
            global.viewer.addLayer(policeInforSiteLayer)
            this.$EventBus.$emit('closeMxTileset')
            this.navClick(0)
            this.setTableHeight()
        })
src/views/video/index.vue
@@ -22,6 +22,13 @@
    created () {
    },
    mounted () {
        this.$nextTick(() => {
            this.$EventBus.$emit('closeMxTileset')
        })
    },
    methods: {
        boxResize (val) {
            this.$refs['video-target-box'].boxResize(val)