11 files modified
1 files added
| | |
| | | <div>{{ dataPopup.JJYXM }}</div> |
| | | </div> |
| | | <div class="item"> |
| | | <div>接警时间:</div> |
| | | <div>{{ dataPopup.JJSJ }}</div> |
| | | <div>报警时间:</div> |
| | | <div>{{ dataPopup.BJSJ }}</div> |
| | | </div> |
| | | <div class="item"> |
| | | <div>报警人:</div> |
| | |
| | | .el-dialog__header { |
| | | height: 56px; |
| | | line-height: 56px; |
| | | text-align: center; |
| | | } |
| | | |
| | | .el-dialog__body { |
| | |
| | | align-items: center; |
| | | justify-content: center; |
| | | position: absolute; |
| | | left: 10px; |
| | | bottom: 178px; |
| | | width: 36px; |
| | | height: 36px; |
| | | font-size: 20px; |
| | | |
| | | color: #fff; |
| | | border-right: 10px solid transparent; |
| | | box-sizing: content-box; |
| | |
| | | } |
| | | } |
| | | |
| | | .police-info, |
| | | .warning-info { |
| | | .police-info { |
| | | .tableClass { |
| | | width: countSizeVw(600, 1920); |
| | | height: countSizeVh(400); |
| | |
| | | |
| | | input { |
| | | font-size: countSizeVh(18); |
| | | border-radius: countSizeVh(20) 0 0 countSizeVw(20, 1920); |
| | | } |
| | | |
| | | button { |
| | | font-size: countSizeVh(24); |
| | | width: countSizeVw(80, 1920); |
| | | border: countSizeVh(1) solid rgb(0, 92, 169); |
| | | border-radius: 0 countSizeVw(20, 1920) countSizeVh(20) 0; |
| | | } |
| | | |
| | | button:active { |
| | | border: countSizeVh(1) solid rgb(0, 92, 169); |
| | | } |
| | | } |
| | | |
| | | .search-val-box { |
| | | top: countSizeVh(48); |
| | | left: countSizeVw(6, 1920); |
| | | width: calc(100% - countSizeVw(12, 1920)); |
| | | max-height: countSizeVh(160); |
| | | border-radius: countSizeVh(10) countSizeVw(10, 1920); |
| | | |
| | | &>div { |
| | | padding: 0 countSizeVw(10, 1920); |
| | | line-height: countSizeVh(36); |
| | | border-radius: countSizeVh(20); |
| | | } |
| | | } |
| | | |
| | |
| | | |
| | | input { |
| | | font-size: countSizeVh(18); |
| | | border-radius: countSizeVh(20) 0 0 countSizeVw(20, 1920); |
| | | } |
| | | |
| | | button { |
| | | font-size: countSizeVh(24); |
| | | width: countSizeVw(80, 1920); |
| | | border: countSizeVh(1) solid rgb(0, 92, 169); |
| | | border-radius: 0 countSizeVw(20, 1920) countSizeVh(20) 0; |
| | | } |
| | | |
| | | button:active { |
| | | border: countSizeVh(1) solid rgb(0, 92, 169); |
| | | } |
| | | } |
| | | |
| | | .search-val-box { |
| | | top: countSizeVh(48); |
| | | left: countSizeVw(6, 1920); |
| | | width: calc(100% - countSizeVw(12, 1920)); |
| | | max-height: countSizeVh(160); |
| | | border-radius: countSizeVh(10) countSizeVw(10, 1920); |
| | | |
| | | &>div { |
| | | padding: 0 countSizeVw(10, 1920); |
| | | line-height: countSizeVh(36); |
| | | border-radius: countSizeVh(20); |
| | | } |
| | | } |
| | | |
| | |
| | | <span class="num">序号</span> |
| | | <span class="receiving-alarm-unit">接警单位</span> |
| | | <span class="receiving-alarm-people">接警员</span> |
| | | <span class="receiving-alarm-time">接警时间</span> |
| | | <span class="receiving-alarm-time">报警时间</span> |
| | | <span class="call-people">报警人</span> |
| | | <span class="call-phone">联系电话</span> |
| | | <span class="call-police-content">报警内容</span> |
| | |
| | | <span class="num" v-text="item.index"></span> |
| | | <span class="receiving-alarm-unit" v-text="item.JJDWMC"></span> |
| | | <span class="receiving-alarm-people" v-text="item.JJYXM"></span> |
| | | <span class="receiving-alarm-time" :title="item.JJSJ" |
| | | v-text="item.JJSJ.substring(0, 10)"></span> |
| | | <span class="receiving-alarm-time" :title="item.BJSJ" |
| | | v-text="item.BJSJ.substring(0, 10)"></span> |
| | | <span class="call-people" v-text="item.BJRXM"></span> |
| | | <span class="call-phone" v-text="item.LXDH"></span> |
| | | <span class="call-police-content" :title="item.BJNR" v-text="item.BJNR"></span> |
| | |
| | | min-width="12.6%"></el-table-column> |
| | | <el-table-column :show-overflow-tooltip="true" prop="JJYXM" label="接警员" |
| | | min-width="7.6%"></el-table-column> |
| | | <el-table-column :show-overflow-tooltip="true" label="接警时间" min-width="9.6%"> |
| | | <el-table-column label="报警时间" min-width="9.6%"> |
| | | <template slot-scope="scope"> |
| | | <span>{{ scope.row.JJSJ.substring(0, 10) }}</span> |
| | | <span>{{ scope.row.BJSJ.substring(0, 10) }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column :show-overflow-tooltip="true" prop="BJRXM" label="报警人" |
| | |
| | | // ZDDWYZB: 25, |
| | | // JJDWMC: '信州公安局派出所', |
| | | // JJYXM: '欧阳西门', |
| | | // JJSJ: '2022-12-12 12:12:12', |
| | | // : '2022-12-12 12:12:12', |
| | | // BJRXM: '西门庆祝', |
| | | // LXDH: 17335843642, |
| | | // BJNR: '今日在某小区查获私人赌博场所,今日在某小区查获私人赌博场所今日在某小区查获私人赌博场所今日在某小区查获私人赌博场所', |
| | |
| | | // { |
| | | // JJDWMC: '信州公安局派出所', |
| | | // JJYXM: '欧阳西门', |
| | | // JJSJ: '2022-12-12 12:12:12', |
| | | // : '2022-12-12 12:12:12', |
| | | // BJRXM: '西门庆祝', |
| | | // LXDH: 17335843642, |
| | | // BJNR: '今日在某小区查获私人赌博场所,今日在某小区查获私人赌博场所今日在某小区查获私人赌博场所今日在某小区查获私人赌博场所', |
| | |
| | | // { |
| | | // JJDWMC: '信州公安局派出所', |
| | | // JJYXM: '欧阳西门', |
| | | // JJSJ: '2022-12-12 12:12:12', |
| | | // : '2022-12-12 12:12:12', |
| | | // BJRXM: '西门庆祝', |
| | | // LXDH: 17335843642, |
| | | // BJNR: '今日在某小区查获私人赌博场所', |
| | |
| | | // { |
| | | // JJDWMC: '信州公安局派出所', |
| | | // JJYXM: '欧阳西门', |
| | | // JJSJ: '2022-12-12 12:12:12', |
| | | // : '2022-12-12 12:12:12', |
| | | // BJRXM: '西门庆祝', |
| | | // LXDH: 17335843642, |
| | | // BJNR: '今日在某小区查获私人赌博场所', |
| | |
| | | // { |
| | | // JJDWMC: '信州公安局派出所', |
| | | // JJYXM: '欧阳西门', |
| | | // JJSJ: '2022-12-12 12:12:12', |
| | | // : '2022-12-12 12:12:12', |
| | | // BJRXM: '西门庆祝', |
| | | // LXDH: 17335843642, |
| | | // BJNR: '今日在某小区查获私人赌博场所', |
| | |
| | | // { |
| | | // JJDWMC: '信州公安局派出所', |
| | | // JJYXM: '欧阳西门', |
| | | // JJSJ: '2022-12-12 12:12:12', |
| | | // : '2022-12-12 12:12:12', |
| | | // BJRXM: '西门庆祝', |
| | | // LXDH: 17335843642, |
| | | // BJNR: '今日在某小区查获私人赌博场所今日在某小区查获私人赌博场所今日在某小区查获私人赌博场所今日在某小区查获私人赌博场所今日在某小区查获私人赌博场所今日在某小区查获私人赌博场所今日在某小区查获私人赌博场所今日在某小区查获私人赌博场所今日在某小区查获私人赌博场所今日在某小区查获私人赌博场所今日在某小区查获私人赌博场所今日在某小区查获私人赌博场所今日在某小区查获私人赌博场所今日在某小区查获私人赌博场所今日在某小区查获私人赌博场所今日在某小区查获私人赌博场所今日在某小区查获私人赌博场所今日在某小区查获私人赌博场所', |
| | |
| | | // { |
| | | // JJDWMC: '信州公安局派出所', |
| | | // JJYXM: '欧阳西门', |
| | | // JJSJ: '2022-12-12 12:12:12', |
| | | // : '2022-12-12 12:12:12', |
| | | // BJRXM: '西门庆祝', |
| | | // LXDH: 17335843642, |
| | | // BJNR: '今日在某小区查获私人赌博场所', |
| | |
| | | // ZDDWYZB: 25, |
| | | // JJDWMC: '信州公安局派出所', |
| | | // JJYXM: '欧阳西门', |
| | | // JJSJ: '2022-12-12 12:12:12', |
| | | // : '2022-12-12 12:12:12', |
| | | // BJRXM: '西门庆祝', |
| | | // LXDH: 17335843642, |
| | | // BJNR: '今日在某小区查获私人赌博场所,今日在某小区查获私人赌博场所今日在某小区查获私人赌博场所今日在某小区查获私人赌博场所', |
| | |
| | | // { |
| | | // JJDWMC: '信州公安局派出所', |
| | | // JJYXM: '欧阳西门', |
| | | // JJSJ: '2022-12-12 12:12:12', |
| | | // : '2022-12-12 12:12:12', |
| | | // BJRXM: '西门庆祝', |
| | | // LXDH: 17335843642, |
| | | // BJNR: '今日在某小区查获私人赌博场所,今日在某小区查获私人赌博场所今日在某小区查获私人赌博场所今日在某小区查获私人赌博场所', |
| | |
| | | // { |
| | | // JJDWMC: '信州公安局派出所', |
| | | // JJYXM: '欧阳西门', |
| | | // JJSJ: '2022-12-12 12:12:12', |
| | | // : '2022-12-12 12:12:12', |
| | | // BJRXM: '西门庆祝', |
| | | // LXDH: 17335843642, |
| | | // BJNR: '今日在某小区查获私人赌博场所', |
| | |
| | | // { |
| | | // JJDWMC: '信州公安局派出所', |
| | | // JJYXM: '欧阳西门', |
| | | // JJSJ: '2022-12-12 12:12:12', |
| | | // : '2022-12-12 12:12:12', |
| | | // BJRXM: '西门庆祝', |
| | | // LXDH: 17335843642, |
| | | // BJNR: '今日在某小区查获私人赌博场所', |
| | |
| | | // { |
| | | // JJDWMC: '信州公安局派出所', |
| | | // JJYXM: '欧阳西门', |
| | | // JJSJ: '2022-12-12 12:12:12', |
| | | // : '2022-12-12 12:12:12', |
| | | // BJRXM: '西门庆祝', |
| | | // LXDH: 17335843642, |
| | | // BJNR: '今日在某小区查获私人赌博场所', |
| | |
| | | // { |
| | | // JJDWMC: '信州公安局派出所', |
| | | // JJYXM: '欧阳西门', |
| | | // JJSJ: '2022-12-12 12:12:12', |
| | | // : '2022-12-12 12:12:12', |
| | | // BJRXM: '西门庆祝', |
| | | // LXDH: 17335843642, |
| | | // BJNR: '今日在某小区查获私人赌博场所今日在某小区查获私人赌博场所今日在某小区查获私人赌博场所今日在某小区查获私人赌博场所今日在某小区查获私人赌博场所今日在某小区查获私人赌博场所今日在某小区查获私人赌博场所今日在某小区查获私人赌博场所今日在某小区查获私人赌博场所今日在某小区查获私人赌博场所今日在某小区查获私人赌博场所今日在某小区查获私人赌博场所今日在某小区查获私人赌博场所今日在某小区查获私人赌博场所今日在某小区查获私人赌博场所今日在某小区查获私人赌博场所今日在某小区查获私人赌博场所今日在某小区查获私人赌博场所', |
| | |
| | | // { |
| | | // JJDWMC: '信州公安局派出所', |
| | | // JJYXM: '欧阳西门', |
| | | // JJSJ: '2022-12-12 12:12:12', |
| | | // : '2022-12-12 12:12:12', |
| | | // BJRXM: '西门庆祝', |
| | | // LXDH: 17335843642, |
| | | // BJNR: '今日在某小区查获私人赌博场所', |
| | |
| | | margin-bottom: 14px; |
| | | width: calc(100% - 24px); |
| | | height: calc(100% - 80px); |
| | | |
| | | :deep(.el-table__body-wrapper) { |
| | | td { |
| | | .cell { |
| | | overflow: hidden; |
| | | text-overflow: ellipsis; |
| | | white-space: nowrap; |
| | | } |
| | | } |
| | | } |
| | | |
| | | .pages { |
| | | height: 40px; |
| | |
| | | * @Author: shuishen 1109946754@qq.com |
| | | * @Date: 2022-08-18 16:18:17 |
| | | * @LastEditors: shuishen 1109946754@qq.com |
| | | * @LastEditTime: 2023-01-11 17:21:27 |
| | | * @LastEditTime: 2023-01-12 17:12:18 |
| | | * @FilePath: \srs-police-affairs\src\views\home\index.vue |
| | | * @Description: 小区-栋-层-房屋 |
| | | * |
| | |
| | | > |
| | | <el-table-column type="index" :index="indexMethod" label="序号"></el-table-column> |
| | | <el-table-column prop="channelId" label="通道编号"></el-table-column> |
| | | <el-table-column prop="channelId" label="通道编号"></el-table-column> |
| | | <el-table-column prop="deviceId" label="设备编号"></el-table-column> |
| | | <el-table-column prop="name" label="名称"></el-table-column> |
| | | <el-table-column label="状态"> |
| | |
| | | <div v-show="policeInformationType == '接警信息'" class="box"> |
| | | <div class="item"> |
| | | <div>接警单位编号:</div> |
| | | <div>{{ policeSituationDetailArr.JJDWBH }}</div> |
| | | <div>{{ policeSituationDetailObj.JJDWBH }}</div> |
| | | </div> |
| | | <div class="item"> |
| | | <div>接警单位名称:</div> |
| | | <div>{{ policeSituationDetailArr.JJDWMC }}</div> |
| | | <div>{{ policeSituationDetailObj.JJDWMC }}</div> |
| | | </div> |
| | | <div class="item"> |
| | | <div>接警单编号:</div> |
| | | <div>{{ policeSituationDetailArr.JJDBH }}</div> |
| | | <div>{{ policeSituationDetailObj.JJDBH }}</div> |
| | | </div> |
| | | <div class="item"> |
| | | <div>接警员编号:</div> |
| | | <div>{{ policeSituationDetailArr.JJYBH }}</div> |
| | | <div>{{ policeSituationDetailObj.JJYBH }}</div> |
| | | </div> |
| | | <div class="item"> |
| | | <div>接警员姓名:</div> |
| | | <div>{{ policeSituationDetailArr.JJYXM }}</div> |
| | | <div>{{ policeSituationDetailObj.JJYXM }}</div> |
| | | </div> |
| | | <div class="item"> |
| | | <div>接警时间:</div> |
| | | <div>{{ policeSituationDetailArr.JJSJ }}</div> |
| | | <div>报警时间:</div> |
| | | <div>{{ policeSituationDetailObj.BJSJ }}</div> |
| | | </div> |
| | | <div class="item"> |
| | | <div>报警电话:</div> |
| | | <div>{{ policeSituationDetailArr.LXDH }}</div> |
| | | <div>{{ policeSituationDetailObj.LXDH }}</div> |
| | | </div> |
| | | <div class="item"> |
| | | <div>报警人姓名:</div> |
| | | <div>{{ policeSituationDetailArr.BJRXM }}</div> |
| | | <div>{{ policeSituationDetailObj.BJRXM }}</div> |
| | | </div> |
| | | <div class="item"> |
| | | <div>报警类别:</div> |
| | | <div>{{ policeSituationDetailArr.BJLB }}</div> |
| | | <div>{{ policeSituationDetailObj.BJLB }}</div> |
| | | </div> |
| | | |
| | | <div class="item"> |
| | | <div>报警类型:</div> |
| | | <div>{{ policeSituationDetailArr.BJLX }}</div> |
| | | <div>{{ policeSituationDetailObj.BJLX }}</div> |
| | | </div> |
| | | |
| | | <div class="dialog-content"> |
| | | <div>事发地址:</div> |
| | | <div>{{ policeSituationDetailArr.SFDZ }}</div> |
| | | <div>{{ policeSituationDetailObj.SFDZ }}</div> |
| | | </div> |
| | | |
| | | <div class="dialog-content"> |
| | | <div>报警内容:</div> |
| | | <div>{{ policeSituationDetailArr.BJNR }}</div> |
| | | <div>{{ policeSituationDetailObj.BJNR }}</div> |
| | | </div> |
| | | |
| | | <div class="dialog-content"> |
| | | <div>备注:</div> |
| | | <div>{{ policeSituationDetailArr.MEMO }}</div> |
| | | <div>{{ policeSituationDetailObj.MEMO }}</div> |
| | | </div> |
| | | </div> |
| | | |
| | |
| | | >暂无数据</div> |
| | | </el-dialog> |
| | | |
| | | <<<<<<< HEAD |
| | | <el-dialog |
| | | :title="dialogEquimentVideoTitle" |
| | | :modal="true" |
| | |
| | | ref="videoElement" |
| | | style="object-fit: fill" |
| | | ></video> |
| | | ======= |
| | | <el-dialog :title="dialogEquimentVideoTitle" :modal="true" :visible.sync="dialogEquimentVideoVisible" |
| | | :before-close="dialogBeforeClose" :close-on-click-modal="true" class="car-video-box"> |
| | | <video autoplay controls width="100%" height="100%" ref="videoElement" id="videoElement" |
| | | style="object-fit: fill"></video> |
| | | >>>>>>> dbee24cadab97ead14488f77f55bcffc7a300a0f |
| | | </el-dialog> |
| | | </div> |
| | | </template> |
| | |
| | | underwayArr: [], |
| | | activityType: 0, |
| | | policeSituationHistoryType: 0, |
| | | policeSituationDetailArr: {}, |
| | | policeSituationDetailObj: {}, |
| | | CJdata: {}, |
| | | |
| | | } |
| | |
| | | if (type == '出警信息') { |
| | | this.CJdata = {} |
| | | |
| | | getActAsPoliceList(this.policeSituationDetailArr.JJDBH).then(res => { |
| | | getActAsPoliceList(this.policeSituationDetailObj.JJDBH).then(res => { |
| | | if (res.data.data.records.length > 0) { |
| | | this.CJdata = res.data.data.records[0] |
| | | } |
| | |
| | | ] |
| | | }) |
| | | } else { |
| | | this.policeSituationDetailArr = e |
| | | this.policeSituationDetailObj = e |
| | | this.policeSituationVisible = true |
| | | } |
| | | }, |
| | |
| | | |
| | | // 获取设备分页数据 |
| | | getEquipmentPaging (params) { |
| | | this.equimentTableData = [] |
| | | this.equimentPagingTotal = 0 |
| | | |
| | | getEquipmentPaging({ page: this.currentPage, count: this.pagesize, ...params }).then(res => { |
| | | this.equimentTableData = [] |
| | | this.equimentPagingTotal = 0 |
| | | |
| | | if (res.data.data.list.length > 0) { |
| | | this.equimentTableData = res.data.data.list |
| | | |
| | |
| | | return |
| | | } |
| | | |
| | | if (flvjs.isSupported()) { |
| | | var videoElement = document.getElementById('videoElement') |
| | | this.flvPlayer = flvjs.createPlayer({ |
| | | type: 'flv', |
| | | isLive: true, |
| | | hasAudio: false, |
| | | url: flvUrl |
| | | }) |
| | | this.flvPlayer.attachMediaElement(videoElement) |
| | | this.flvPlayer.load() |
| | | this.flvPlayer.play() |
| | | } |
| | | |
| | | this.dialogEquimentVideoVisible = true |
| | | |
| | | if (flvjs.isSupported()) { |
| | | this.$nextTick(() => { |
| | | var videoElement = document.getElementById('videoElement') |
| | | this.flvPlayer = flvjs.createPlayer({ |
| | | type: 'flv', |
| | | isLive: true, |
| | | hasAudio: false, |
| | | url: flvUrl |
| | | }) |
| | | this.flvPlayer.attachMediaElement(videoElement) |
| | | this.flvPlayer.load() |
| | | this.flvPlayer.play() |
| | | }) |
| | | } |
| | | }, |
| | | |
| | | async getDevices (channelId) { |
| | |
| | | }, |
| | | |
| | | indexMethod (index) { |
| | | setTimeout(() => { |
| | | console.log(index, 5000) |
| | | }) |
| | | return index + 1 |
| | | }, |
| | | |
| | |
| | | * @Author: shuishen 1109946754@qq.com |
| | | * @Date: 2022-08-18 16:18:17 |
| | | * @LastEditors: shuishen 1109946754@qq.com |
| | | * @LastEditTime: 2023-01-11 17:09:36 |
| | | * @LastEditTime: 2023-01-12 15:52:43 |
| | | * @FilePath: \srs-police-affairs\src\views\house\index.vue |
| | | * @Description: 小区-栋-层-房屋 |
| | | * |
| | |
| | | </div> |
| | | </div> |
| | | |
| | | <div v-show="contentShow" class="result-content"> |
| | | <div class="housing-estate-info"> |
| | | <div v-show="contentShow" class="result-content" ref="resultContentBox"> |
| | | <div class="housing-estate-info" ref="housingEstateInfoBox"> |
| | | <div class="housing-title"> |
| | | {{ housingData.name }} |
| | | <div class="progress"></div> |
| | |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="nav-tab"> |
| | | <div class="nav-tab" ref="navTabBox"> |
| | | <div |
| | | class="nav" |
| | | :class="navType == 0 ? 'choosed' : ''" |
| | |
| | | @click="navClick" |
| | | data-type="1" |
| | | >报警信息</div> |
| | | <div |
| | | class="nav" |
| | | :class="navType == 2 ? 'choosed' : ''" |
| | | @click="navClick" |
| | | data-type="2" |
| | | >出警信息</div> |
| | | </div> |
| | | |
| | | <div class="base-info" v-show="navType == 0"> |
| | |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="police-info" v-show="navType == 1"> |
| | | <div class="police-info" v-if="navType == 1" ref="policeTableBox"> |
| | | <el-table |
| | | :data="arr" |
| | | :data="callPoliceData" |
| | | style="width: 100%" |
| | | :height="currentTableHeight" |
| | | :header-cell-style="{ 'text-align': 'center', 'background-color': '#203c60', 'borderColor': '#324e75' }" |
| | | :cell-style="{ 'text-align': 'center', 'borderColor': '#324e75' }" |
| | | :row-class-name="tableRowClassName" |
| | | @row-click="clickData" |
| | | > |
| | | <el-table-column prop="name" label="名称" width="130"></el-table-column> |
| | | <el-table-column prop="time" label="时间" width="150"></el-table-column> |
| | | <el-table-column prop="type" label="类别" width="120"></el-table-column> |
| | | <el-table-column |
| | | prop="JJDWMC" |
| | | :show-overflow-tooltip="true" |
| | | label="接警单位" |
| | | min-width="34%" |
| | | ></el-table-column> |
| | | <el-table-column label="报警时间" min-width="26%"> |
| | | <template slot-scope="scope"> |
| | | <span>{{ scope.row.BJSJ.substring(0, 10) }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="JJYXM" |
| | | :show-overflow-tooltip="true" |
| | | label="接警员" |
| | | min-width="20%" |
| | | ></el-table-column> |
| | | <el-table-column |
| | | prop="BJRXM" |
| | | :show-overflow-tooltip="true" |
| | | label="报警人" |
| | | min-width="20%" |
| | | ></el-table-column> |
| | | </el-table> |
| | | </div> |
| | | |
| | | <div class="warning-info" v-show="navType == 2"> |
| | | <el-table |
| | | :data="warningArray" |
| | | 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="clickData" |
| | | > |
| | | <el-table-column prop="name" label="名称" width="130"></el-table-column> |
| | | <el-table-column prop="time" label="时间" width="150"></el-table-column> |
| | | <el-table-column prop="type" label="类别" width="120"></el-table-column> |
| | | </el-table> |
| | | <div class="pages" ref="ElPagination"> |
| | | <el-pagination |
| | | background |
| | | layout="prev, pager, next" |
| | | :page-size="callPolicePage.pageSize" |
| | | :page-count="callPolicePage.count" |
| | | :current-page="callPolicePage.currentPage" |
| | | @current-change="handleCurrentChange" |
| | | ></el-pagination> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | |
| | | >{{ item.name }}</div> |
| | | </div> |
| | | </div> |
| | | |
| | | <el-dialog |
| | | title="信息详情" |
| | | :modal="false" |
| | | :visible.sync="dialogVisible" |
| | | :before-close="handleClose" |
| | | title="报警信息" |
| | | :modal="true" |
| | | :visible.sync="policeSituationVisible" |
| | | :append-to-body="true" |
| | | :before-close="policeSituationBeforeClose" |
| | | :close-on-click-modal="true" |
| | | class="police-affairs-details-box" |
| | | class="policeSituation-details-box" |
| | | > |
| | | <div class="item"> |
| | | <div>名称:</div> |
| | | <div>{{ JWdetails.name }}</div> |
| | | </div> |
| | | <div class="item"> |
| | | <div>时间:</div> |
| | | <div>{{ JWdetails.time }}</div> |
| | | </div> |
| | | <div class="item"> |
| | | <div>类型:</div> |
| | | <div>{{ JWdetails.type }}</div> |
| | | </div> |
| | | <div class="item"> |
| | | <div>责任警员:</div> |
| | | <div>{{ JWdetails.person }}</div> |
| | | </div> |
| | | <div class="item"> |
| | | <div>涉案金额:</div> |
| | | <div>{{ JWdetails.money }}</div> |
| | | </div> |
| | | <div class="item"> |
| | | <div>所属辖区:</div> |
| | | <div>{{ JWdetails.turnoutArea }}</div> |
| | | </div> |
| | | <div class="item"> |
| | | <div>处理时长:</div> |
| | | <div>{{ JWdetails.handlingTime }}</div> |
| | | </div> |
| | | <div class="item"> |
| | | <div>案件级别:</div> |
| | | <div>{{ JWdetails.rank }}</div> |
| | | <div class="box"> |
| | | <div class="item"> |
| | | <div>接警单位编号:</div> |
| | | <div>{{ policeSituationDetailObj.JJDWBH }}</div> |
| | | </div> |
| | | <div class="item"> |
| | | <div>接警单位名称:</div> |
| | | <div>{{ policeSituationDetailObj.JJDWMC }}</div> |
| | | </div> |
| | | <div class="item"> |
| | | <div>接警单编号:</div> |
| | | <div>{{ policeSituationDetailObj.JJDBH }}</div> |
| | | </div> |
| | | <div class="item"> |
| | | <div>接警员编号:</div> |
| | | <div>{{ policeSituationDetailObj.JJYBH }}</div> |
| | | </div> |
| | | <div class="item"> |
| | | <div>接警员姓名:</div> |
| | | <div>{{ policeSituationDetailObj.JJYXM }}</div> |
| | | </div> |
| | | <div class="item"> |
| | | <div>报警时间:</div> |
| | | <div>{{ policeSituationDetailObj.BJSJ }}</div> |
| | | </div> |
| | | <div class="item"> |
| | | <div>报警电话:</div> |
| | | <div>{{ policeSituationDetailObj.LXDH }}</div> |
| | | </div> |
| | | <div class="item"> |
| | | <div>报警人姓名:</div> |
| | | <div>{{ policeSituationDetailObj.BJRXM }}</div> |
| | | </div> |
| | | <div class="item"> |
| | | <div>报警类别:</div> |
| | | <div>{{ policeSituationDetailObj.BJLB }}</div> |
| | | </div> |
| | | |
| | | <div class="item"> |
| | | <div>报警类型:</div> |
| | | <div>{{ policeSituationDetailObj.BJLX }}</div> |
| | | </div> |
| | | |
| | | <div class="dialog-content"> |
| | | <div>事发地址:</div> |
| | | <div>{{ policeSituationDetailObj.SFDZ }}</div> |
| | | </div> |
| | | |
| | | <div class="dialog-content"> |
| | | <div>报警内容:</div> |
| | | <div>{{ policeSituationDetailObj.BJNR }}</div> |
| | | </div> |
| | | |
| | | <div class="dialog-content"> |
| | | <div>备注:</div> |
| | | <div>{{ policeSituationDetailObj.MEMO }}</div> |
| | | </div> |
| | | </div> |
| | | </el-dialog> |
| | | |
| | |
| | | <script> |
| | | import { listQuery, accurateSearch } from "@/utils/search.js" |
| | | import housingData from '@/assets/data/housingData.js' |
| | | import { getResidentialQuartersList, getResidentialQuartersInfo, getSearchExtensively, getAoiByPt, getUnitbuild, getHouses, getSearchExtensivelyBgAoiDeepdata, getPoliceStationLazyTree } from '@/api/dept/index.js' |
| | | import { getResidentialQuartersList, getResidentialQuartersInfo, getSearchExtensively, getAoiByPt, getUnitbuild, getHouses, getSearchExtensivelyBgAoiDeepdata } from '@/api/dept/index.js' |
| | | import { getAlarmList } from "@/api/home/index.js" |
| | | |
| | | |
| | | export default { |
| | | data () { |
| | |
| | | unitValue: 1, |
| | | searchHouse: '', |
| | | navType: 0, |
| | | arr: [ |
| | | { |
| | | name: '物品遗失', |
| | | time: '2022-1-2', |
| | | type: '入室盗窃', |
| | | person: '张志强', |
| | | money: '1000元', |
| | | turnoutArea: 'xxx责任区', |
| | | handlingTime: '12小时', |
| | | rank: '一般' |
| | | }, |
| | | { |
| | | name: '狗狗互咬', |
| | | time: '2022-2-3', |
| | | type: '宠物殴打', |
| | | person: '张志强', |
| | | money: '1000元', |
| | | turnoutArea: 'xxx责任区', |
| | | handlingTime: '16小时', |
| | | rank: '一般' |
| | | }, |
| | | { |
| | | name: '打群架', |
| | | time: '2022-3-4', |
| | | type: '打架斗殴', |
| | | person: '张志强', |
| | | money: '1000元', |
| | | turnoutArea: 'xxx责任区', |
| | | handlingTime: '1小时', |
| | | rank: '一般' |
| | | } |
| | | ], |
| | | warningArray: [ |
| | | { |
| | | name: '楼层房屋起火', |
| | | time: '2022-1-2', |
| | | type: '火灾', |
| | | person: '张志强', |
| | | money: '100000元', |
| | | turnoutArea: 'xxx责任区', |
| | | handlingTime: '12小时', |
| | | rank: '较大' |
| | | }, |
| | | { |
| | | name: '台风过境', |
| | | time: '2022-2-3', |
| | | type: '天气', |
| | | person: '张志强', |
| | | money: '10000元', |
| | | turnoutArea: 'xxx责任区', |
| | | handlingTime: '16小时', |
| | | rank: '一般' |
| | | }, |
| | | { |
| | | name: '洪水', |
| | | time: '2022-3-4', |
| | | type: '水灾', |
| | | person: '张志强', |
| | | money: '1000000元', |
| | | turnoutArea: 'xxx责任区', |
| | | handlingTime: '1小时', |
| | | rank: '一般' |
| | | } |
| | | ], |
| | | |
| | | comeoutArr: [{ name: '入口1', position: '北门', type: '正门' }, { name: '入口2', position: '南门', type: '后门' }, { name: '入口3', position: '西门', type: '侧门' }], |
| | | parkArr: [{ name: '停车场1', position: '北门', type: '地面停车场' }, { name: '停车场2', position: '南门', type: '地面停车场' }, { name: '停车场3', position: '西门', type: '地下停车场' }], |
| | | businessArr: [{ name: '商铺1', position: '北门', type: '超市' }, { name: '商铺2', position: '南门', type: '水果店' }, { name: '商铺3', position: '西门', type: '快递站' }], |
| | | arrTitle: [{ title: '警务名称' }, { title: '警务时间' }, { title: '警务类型' }, { title: '责任警员' }, { title: '涉案金额' }, { title: '所属辖区' }, { title: '处理时长' }, { title: '案件级别' }], |
| | | dialogVisible: false, |
| | | policeSituationVisible: false, |
| | | JWdetails: {}, |
| | | residentDetailsTitle: '', |
| | | residentDetailsShow: false, |
| | |
| | | } |
| | | ], |
| | | |
| | | // 报警信息 |
| | | policeSituationHistoryArr: [], |
| | | |
| | | // 详情 |
| | | policeSituationDetailObj: {}, |
| | | |
| | | callPolicePage: { |
| | | total: 0, |
| | | pageSize: 15, |
| | | count: 0, |
| | | currentPage: 1 |
| | | }, |
| | | |
| | | // table高度 |
| | | currentTableHeight: 0, |
| | | } |
| | | }, |
| | | watch: { |
| | |
| | | // this.getSearchExtensively('ebf48ecaa1fd436fa3d40c4600aa051f', '361100', '万达') |
| | | // this.getAoiByPt('117.9471794', '28.4474852', '361100', '0', '361102', '10') |
| | | // this.getUnitbuild('6E513C5E5D1611EAB6183C15FB00027B', '361102') |
| | | // this.getPoliceStationLazyTree(1) |
| | | |
| | | window.addEventListener('resize', this.setTableHeight) |
| | | }, |
| | | mounted () { |
| | | this.$parent.$parent.resize('400px', true) |
| | |
| | | siteHeading: -3, |
| | | sitePitch: -45 |
| | | }) |
| | | |
| | | }) |
| | | }, |
| | | updated () { |
| | |
| | | methods: { |
| | | navClick (e) { |
| | | this.navType = e.target.dataset.type |
| | | |
| | | if (this.navType == 1) { |
| | | this.callPolicePage.currentPage = 1 |
| | | this.getAlarmList() |
| | | } |
| | | }, |
| | | |
| | | // 获取小区列表 |
| | |
| | | getResidentialQuartersInfo(areaId, adcode).then(res => { |
| | | this.getHouses(res.data.data.build[1].build_id, '361102') |
| | | this.housingData.name = res.data.data.aoi_name |
| | | |
| | | this.callPolicePage.currentPage = 1 |
| | | this.getAlarmList() |
| | | this.buildingList = [] |
| | | res.data.data.build.forEach(item => { |
| | | let position = JSON.parse(item.center).coordinates |
| | |
| | | tableRowClassName ({ row, rowIndex }) { |
| | | row.index = rowIndex |
| | | return 'rows' |
| | | }, |
| | | |
| | | clickData (row) { |
| | | this.dialogVisible = true |
| | | if (this.navType == 1) { |
| | | this.JWdetails = this.arr[row.index] |
| | | } else if (this.navType == 2) { |
| | | this.JWdetails = this.warningArray[row.index] |
| | | } |
| | | }, |
| | | |
| | | residentDetailsClick (params) { |
| | |
| | | this.keyPersonVisible = true |
| | | }, |
| | | |
| | | getPoliceStationLazyTree (type, id) { |
| | | getPoliceStationLazyTree(type, id).then(res => { |
| | | console.log(res, 4444444) |
| | | }) |
| | | }, |
| | | // 获取历史接警记录 |
| | | getAlarmList () { |
| | | |
| | | async loadNode (node, resolve) { |
| | | console.log(node, 111) |
| | | if (node.level === 0) { |
| | | let policeStaionList = [] |
| | | await getPoliceStationLazyTree(1).then(res => { |
| | | policeStaionList = res.data.data |
| | | }) |
| | | return resolve(policeStaionList) |
| | | } |
| | | if (node.level == 1) { |
| | | let areaList = [] |
| | | await getPoliceStationLazyTree(2, node.data.id).then(res => { |
| | | areaList = res.data.data |
| | | }) |
| | | return resolve(areaList) |
| | | } |
| | | if (node.level == 2) { |
| | | let villageList = [] |
| | | await getPoliceStationLazyTree(3, node.data.id).then(res => { |
| | | res.data.data.forEach(item => { |
| | | villageList = res.data.data |
| | | getAlarmList({ current: this.callPolicePage.currentPage, size: this.pagesize, sfdz: this.housingData.name }).then(res => { |
| | | this.callPolicePage.count = res.data.data.pages |
| | | |
| | | this.callPoliceData = [] |
| | | |
| | | if (res.data.data.records.length > 0) { |
| | | this.callPoliceData = res.data.data.records.map((item, index) => { |
| | | return { ...item, index: index + 1, lng: item.ZDDWXZB, lat: item.ZDDWYZB } |
| | | }) |
| | | }) |
| | | return resolve(villageList) |
| | | } |
| | | } else { |
| | | this.callPoliceData = [] |
| | | } |
| | | |
| | | this.setTableHeight() |
| | | }) |
| | | |
| | | }, |
| | | |
| | | // 分页选择事件 |
| | | handleCurrentChange: function (currentPage) { |
| | | this.callPolicePage.currentPage = currentPage |
| | | |
| | | this.getAlarmList() |
| | | }, |
| | | |
| | | // 警情列表点击事件 |
| | | clickData (row) { |
| | | this.policeSituationDetailObj = row |
| | | this.policeSituationVisible = true |
| | | }, |
| | | |
| | | // 获取table高度 |
| | | setTableHeight () { |
| | | this.$nextTick(() => { |
| | | if (this.$refs.policeTableBox && this.$refs.ElPagination && this.$refs.policeTableBox.offsetHeight != 0) { |
| | | this.currentTableHeight = this.$refs.resultContentBox.offsetHeight - this.$refs.housingEstateInfoBox.offsetHeight - this.$refs.navTabBox.offsetHeight - this.$refs.ElPagination.offsetHeight |
| | | } |
| | | }) |
| | | } |
| | | }, |
| | | |
| | | destroyed () { |
| | |
| | | layerName: 'deepDataLayer', |
| | | type: 'VectorLayer' |
| | | }) |
| | | |
| | | window.removeEventListener('resize', this.setTableHeight) |
| | | } |
| | | } |
| | | </script> |
| | |
| | | .tableClass td { |
| | | width: 200px; |
| | | } |
| | | |
| | | .pages { |
| | | height: 40px; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: center; |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | * @Author: shuishen 1109946754@qq.com |
| | | * @Date: 2022-08-18 16:18:24 |
| | | * @LastEditors: shuishen 1109946754@qq.com |
| | | * @LastEditTime: 2023-01-06 17:01:29 |
| | | * @LastEditTime: 2023-01-12 10:26:58 |
| | | * @FilePath: \srs-police-affairs\src\views\layout\index.vue |
| | | * @Description: |
| | | * |
| | |
| | | <div class="wrapper"> |
| | | <div class="main-header"> |
| | | <div class="menu-list left"> |
| | | <div |
| | | @mouseenter="item.childrenFlag = true" |
| | | @mouseleave="item.childrenFlag = false" |
| | | class="nav-list" |
| | | @click="goToPath(item)" |
| | | v-for="(item, index) in menuLeftList" |
| | | :key="index" |
| | | > |
| | | <div @mouseenter="item.childrenFlag = true" @mouseleave="item.childrenFlag = false" class="nav-list" |
| | | @click="goToPath(item)" v-for="(item, index) in menuLeftList" :key="index"> |
| | | <span :class="{ on: currentUrl.indexOf(item.path) != -1 }">{{ item.menuName }}</span> |
| | | <div class="sub-nav-list" v-show="item.children && item.childrenFlag"> |
| | | <div |
| | | v-for="(subItem, subIndex) in item.children" |
| | | :key="subIndex" |
| | | @click="goToPath(subItem)" |
| | | >{{ subItem.menuName }}</div> |
| | | <div v-for="(subItem, subIndex) in item.children" :key="subIndex" @click="goToPath(subItem)">{{ |
| | | subItem.menuName |
| | | }}</div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | |
| | | |
| | | <!-- 菜单导航 --> |
| | | <div class="menu-list right"> |
| | | <div |
| | | @mouseenter="item.childrenFlag = true" |
| | | @mouseleave="item.childrenFlag = false" |
| | | class="nav-list" |
| | | @click="goToPath(item)" |
| | | v-for="(item, index) in menuRightList" |
| | | :key="index" |
| | | > |
| | | <div @mouseenter="item.childrenFlag = true" @mouseleave="item.childrenFlag = false" class="nav-list" |
| | | @click="goToPath(item)" v-for="(item, index) in menuRightList" :key="index"> |
| | | <span :class="{ on: currentUrl.indexOf(item.path) != -1 }">{{ item.menuName }}</span> |
| | | <div class="sub-nav-list" v-show="item.children && item.childrenFlag"> |
| | | <div |
| | | v-for="(subItem, subIndex) in item.children" |
| | | :key="subIndex" |
| | | @click="goToPath(subItem)" |
| | | >{{ subItem.menuName }}</div> |
| | | <div v-for="(subItem, subIndex) in item.children" :key="subIndex" @click="goToPath(subItem)">{{ |
| | | subItem.menuName |
| | | }}</div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | |
| | | <!-- 地图区域 --> |
| | | <map-box ref="modalForm"> |
| | | <!-- 主体内容区域 --> |
| | | <div |
| | | slot="mainContent" |
| | | class="main-content" |
| | | id="MainContent" |
| | | :class="{ 'spread': leftShow && show, 'take-back': leftShow && !show }" |
| | | > |
| | | <div slot="mainContent" class="main-content" id="MainContent" |
| | | :class="{ 'spread': leftShow && show, 'take-back': leftShow && !show }"> |
| | | <router-view ref="target-name"></router-view> |
| | | </div> |
| | | |
| | | <el-button |
| | | slot="showButton" |
| | | v-show="leftShow" |
| | | class="flexible-btn" |
| | | <el-button slot="showButton" v-show="leftShow" class="flexible-btn" |
| | | :class="{ 'spread': leftShow && show, 'take-back': leftShow && !show }" |
| | | :icon="show ? 'el-icon-arrow-left' : 'el-icon-arrow-right'" |
| | | id="FlexibleBtn" |
| | | type="primary" |
| | | @click="flexibelClick" |
| | | ></el-button> |
| | | :icon="show ? 'el-icon-arrow-left' : 'el-icon-arrow-right'" id="FlexibleBtn" type="primary" |
| | | @click="flexibelClick"></el-button> |
| | | </map-box> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import { getUserInfo } from '@/utils/auth' |
| | | import { getUserInfo,getToken } from '@/utils/auth' |
| | | export default { |
| | | data () { |
| | | return { |
| | |
| | | { |
| | | menuName: '运维管理', |
| | | openExternal: true, |
| | | path: 'http://10.141.11.11:8081/#/login' |
| | | path: 'http://192.168.0.126:1888/#/security/security' |
| | | } |
| | | ], |
| | | |
| | |
| | | */ |
| | | goToPath (params) { |
| | | if (params.openExternal) { |
| | | window.open(params.path) |
| | | var path = params.path + "?token=" + getToken() |
| | | console.log(path,3333) |
| | | window.open(path) |
| | | return |
| | | } |
| | | |
| | |
| | | overflow: hidden; |
| | | letter-spacing: 6px; |
| | | |
| | | & > img { |
| | | &>img { |
| | | // width: 100%; |
| | | height: 80%; |
| | | margin: 0 10px 0 10px; |
| | |
| | | // border-radius: 10px 16px 10px 16px; |
| | | transform: skew(58deg); |
| | | |
| | | & > span { |
| | | &>span { |
| | | transform: skew(-58deg); |
| | | } |
| | | } |
| | |
| | | // border-radius: 16px 10px 16px 10px; |
| | | transform: skew(-58deg); |
| | | |
| | | & > span { |
| | | &>span { |
| | | transform: skew(58deg); |
| | | } |
| | | } |
| | |
| | | display: flex; |
| | | align-items: center; |
| | | |
| | | & > .nav-list { |
| | | &>.nav-list { |
| | | |
| | | // color: rgba(32, 106, 181, 1); |
| | | // border-bottom: 2px solid #409eff; |
| | | & > span.on { |
| | | &>span.on { |
| | | color: rgba(252, 189, 86, 1); |
| | | } |
| | | } |
| | |
| | | justify-content: space-around; |
| | | padding-top: 4px; |
| | | |
| | | & > div { |
| | | &>div { |
| | | width: 100px; |
| | | height: 40px; |
| | | background-color: rgba(168, 222, 255, 0.6); |
| | |
| | | height: 100%; |
| | | |
| | | .main-content.spread { |
| | | position: absolute; |
| | | top: 60px; |
| | | height: calc(100% - 60px); |
| | | width: 400px; |
| | | z-index: 99; |
| | | } |
| | | |
| | | .main-content.take-back { |
| | |
| | | * @Author: shuishen 1109946754@qq.com |
| | | * @Date: 2022-08-18 16:18:17 |
| | | * @LastEditors: shuishen 1109946754@qq.com |
| | | * @LastEditTime: 2023-01-11 15:31:39 |
| | | * @LastEditTime: 2023-01-12 17:14:12 |
| | | * @FilePath: \srs-police-affairs\src\views\police\index.vue |
| | | * @Description: 辖区管理 |
| | | * |
| | |
| | | <div class="search-box" ref="tableSearchBox"> |
| | | 资源名称: |
| | | <input v-model="searchValue" @input="searchChange" type="text" placeholder="请输入搜索条件" /> |
| | | <button @click="searchClick" class="el-icon-search"></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> |
| | | |
| | | <div class="list" v-show="navType == 1"> |
| | | <el-table :data="carList" |
| | | <div class="list"> |
| | | <el-table :data="equimentTableData" |
| | | :header-cell-style="{ 'text-align': 'center', 'background-color': '#203c60', 'borderColor': '#324e75' }" |
| | | :cell-style="{ 'text-align': 'center', 'borderColor': '#324e75', 'cursor': 'pointer' }" |
| | | :height="currentTableHeight"> |
| | | <el-table-column prop="serialNumber" label="编号" min-width="25%"></el-table-column> |
| | | <el-table-column prop="carType" label="类型" min-width="25%"></el-table-column> |
| | | <el-table-column prop="status" label="状态" min-width="25%"> |
| | | <el-table-column prop="name" :show-overflow-tooltip="true" label="名称" |
| | | min-width="30%"></el-table-column> |
| | | <el-table-column prop="channelId" :show-overflow-tooltip="true" label="通道编号" |
| | | min-width="24%"></el-table-column> |
| | | <el-table-column prop="status" label="状态" min-width="18%"> |
| | | <template slot-scope="scope"> |
| | | <div class="state-box" :class="{ online: scope.row.status == '1' }"></div> |
| | | </template> |
| | | </el-table-column> |
| | | |
| | | <el-table-column label="操作" align="center" min-width="25%"> |
| | | <el-table-column label="操作" align="center" min-width="28%"> |
| | | <template slot-scope="scope"> |
| | | <el-button @click="rowClick(scope.row)" type="text" size="small" title="定位"> |
| | | <i class="el-icon-location"></i> |
| | | </el-button> |
| | | <el-button @click="carDetail(scope.row)" type="text" size="small" title="轨迹"> |
| | | <el-button v-show="navType == 0" @click="carDetail(scope.row)" type="text" size="small" |
| | | title="轨迹"> |
| | | <i class="el-icon-position"></i> |
| | | </el-button> |
| | | <el-button @click="play(scope.row)" type="text" size="small" title="播放视频"> |
| | |
| | | </el-table> |
| | | |
| | | <div class="pages"> |
| | | <el-pagination background layout="prev, pager, next" :page-size="pagesize" |
| | | :page-count="carPagesCount" :current-page="currentPage" |
| | | @current-change="handleCurrentChange"></el-pagination> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="list" v-show="navType == 2"> |
| | | <el-table :data="phoneList.slice((currentPage - 1) * pagesize, currentPage * pagesize)" |
| | | style="width: 100%" |
| | | :header-cell-style="{ 'text-align': 'center', 'background-color': '#203c60', 'borderColor': '#324e75' }" |
| | | :cell-style="{ 'text-align': 'center', 'borderColor': '#324e75', 'cursor': 'pointer' }" |
| | | :height="currentTableHeight"> |
| | | <el-table-column prop="name" label="名称" min-width="25%" |
| | | :show-overflow-tooltip="true"></el-table-column> |
| | | <el-table-column prop="phoneType" label="类型" min-width="25%"></el-table-column> |
| | | <el-table-column prop="state" label="状态" min-width="25%"> |
| | | <template slot-scope="scope"> |
| | | <div class="state-box" :class="{ online: scope.row.state == '在线' }"></div> |
| | | </template> |
| | | </el-table-column> |
| | | |
| | | <el-table-column label="操作" align="center" min-width="25%"> |
| | | <template slot-scope="scope"> |
| | | <el-button @click="rowClick(scope.row)" type="text" size="small" title="定位"> |
| | | <i class="el-icon-location"></i> |
| | | </el-button> |
| | | <el-button @click="carDetail(scope.row)" type="text" size="small" title="轨迹"> |
| | | <i class="el-icon-position"></i> |
| | | </el-button> |
| | | <el-button @click="play(scope.row)" type="text" size="small" title="播放视频"> |
| | | <i class="el-icon-video-play"></i> |
| | | </el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | |
| | | <div class="pages"> |
| | | <el-pagination background layout="prev, pager, next" :total="phoneList.length" |
| | | :page-size="pagesize" pager-count="3" :current-page="currentPage" |
| | | @current-change="handleCurrentChange"></el-pagination> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="list" v-show="navType == 3"> |
| | | <el-table :data="dtList.slice((currentPage - 1) * pagesize, currentPage * pagesize)" |
| | | style="width: 100%" |
| | | :header-cell-style="{ 'text-align': 'center', 'background-color': '#203c60', 'borderColor': '#324e75' }" |
| | | :cell-style="{ 'text-align': 'center', 'borderColor': '#324e75', 'cursor': 'pointer' }" |
| | | :height="currentTableHeight"> |
| | | <el-table-column prop="name" label="名称" min-width="40%" |
| | | :show-overflow-tooltip="true"></el-table-column> |
| | | <el-table-column prop="dtType" label="类型" min-width="20%"></el-table-column> |
| | | <el-table-column prop="state" label="状态" min-width="15%"> |
| | | <template slot-scope="scope"> |
| | | <div class="state-box" :class="{ online: scope.row.state == '在线' }"></div> |
| | | </template> |
| | | </el-table-column> |
| | | |
| | | <el-table-column label="操作" align="center" min-width="25%"> |
| | | <template slot-scope="scope"> |
| | | <el-button @click="rowClick(scope.row)" type="text" size="small" title="定位"> |
| | | <i class="el-icon-location"></i> |
| | | </el-button> |
| | | <el-button @click="carDetail(scope.row)" type="text" size="small" title="轨迹"> |
| | | <i class="el-icon-position"></i> |
| | | </el-button> |
| | | <el-button @click="play(scope.row)" type="text" size="small" title="播放视频"> |
| | | <i class="el-icon-video-play"></i> |
| | | </el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | |
| | | <div class="pages"> |
| | | <el-pagination background layout="prev, pager, next" :total="dtList.length" |
| | | :page-size="pagesize" pager-count="3" :current-page="currentPage" |
| | | @current-change="handleCurrentChange"></el-pagination> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="list" v-show="navType == 4"> |
| | | <el-table :data="zfList.slice((currentPage - 1) * pagesize, currentPage * pagesize)" |
| | | style="width: 100%" |
| | | :header-cell-style="{ 'text-align': 'center', 'background-color': '#203c60', 'borderColor': '#324e75' }" |
| | | :cell-style="{ 'text-align': 'center', 'borderColor': '#324e75', 'cursor': 'pointer' }" |
| | | :height="currentTableHeight"> |
| | | <el-table-column prop="name" label="名称" min-width="25%" |
| | | :show-overflow-tooltip="true"></el-table-column> |
| | | <el-table-column prop="phoneType" label="类型" min-width="25%"></el-table-column> |
| | | <el-table-column label="状态" min-width="25%"> |
| | | <template slot-scope="scope"> |
| | | <div class="state-box" :class="{ online: scope.row.state == '在线' }"></div> |
| | | </template> |
| | | </el-table-column> |
| | | |
| | | <el-table-column label="操作" align="center" min-width="25%"> |
| | | <template slot-scope="scope"> |
| | | <el-button @click="rowClick(scope.row)" type="text" size="small" title="定位"> |
| | | <i class="el-icon-location"></i> |
| | | </el-button> |
| | | <el-button @click="carDetail(scope.row)" type="text" size="small" title="轨迹"> |
| | | <i class="el-icon-position"></i> |
| | | </el-button> |
| | | <el-button @click="play(scope.row)" type="text" size="small" title="播放视频"> |
| | | <i class="el-icon-video-play"></i> |
| | | </el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | |
| | | <div class="pages"> |
| | | <el-pagination background layout="prev, pager, next" :total="zfList.length" |
| | | :page-size="pagesize" pager-count="3" :current-page="currentPage" |
| | | <el-pagination background layout="prev, pager, next" :page-size="equimentPage.pageSize" |
| | | :page-count="equimentPage.count" :current-page="equimentPage.currentPage" |
| | | @current-change="handleCurrentChange"></el-pagination> |
| | | </div> |
| | | </div> |
| | |
| | | <div class="track-box" v-show="detailFlag"> |
| | | <div class="track-box-info"> |
| | | <div class="back-btn" @click="goBack" title="轨迹">详细资料及轨迹查询</div> |
| | | <ul v-show="navType == 1"> |
| | | <ul v-show="navType == 0"> |
| | | <li> |
| | | <div>车辆型号:</div> |
| | | <div>SC7103</div> |
| | |
| | | </li> |
| | | </ul> |
| | | |
| | | <ul v-show="navType == 2"> |
| | | <ul v-show="navType == 1"> |
| | | <li> |
| | | <div>型号:</div> |
| | | <div>350m</div> |
| | |
| | | </div> |
| | | <button @click="searchExtensivelyClick" class="el-icon-search"></button> |
| | | </div> |
| | | |
| | | <div v-show="searchExtensivelyValBoxShow" class="searchExtensively-val-box"> |
| | | <div> |
| | | <div @click="searchExtensivelyVlaClick(item)" v-for="(item, index) in searchExtensivelyArray" |
| | |
| | | |
| | | <el-dialog :title="dialogTitle" :modal="false" :visible.sync="dialogVisible" :before-close="dialogBeforeClose" |
| | | :close-on-click-modal="true" class="car-video-box"> |
| | | <video src="/video/sp.mp4" autoplay controls width="100%" height="100%" ref="videoElement" |
| | | <video autoplay controls width="100%" height="100%" ref="videoElement" id="videoElement" |
| | | style="object-fit: fill"></video> |
| | | </el-dialog> |
| | | |
| | | <el-dialog :title="phoneTitle" :modal="false" :visible.sync="phoneVisible" :before-close="phoneBeforeClose" |
| | | :close-on-click-modal="true" class="phone-details-box"> |
| | | <div class="item"> |
| | | <div>责任人:</div> |
| | | <div>{{ phoneDetails.person }}</div> |
| | | </div> |
| | | <div class="item"> |
| | | <div>联系方式:</div> |
| | | <div>{{ phoneDetails.phoneID }}</div> |
| | | </div> |
| | | <div class="item"> |
| | | <div>类型:</div> |
| | | <div>{{ phoneDetails.phoneType }}</div> |
| | | </div> |
| | | <div class="item"> |
| | | <div>所在地址:</div> |
| | | <div>{{ phoneDetails.location }}</div> |
| | | </div> |
| | | </el-dialog> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import { listQuery, accurateSearch } from "@/utils/search.js" |
| | | import phoneList from '@/assets/data/phone.js' |
| | | import zfList from '@/assets/data/zf.js' |
| | | import dtList from '@/assets/data/dt.js' |
| | | import { getHistoricalTrack } from '@/api/police/index.js' |
| | | import { getCarList } from '@/api/police/index.js' |
| | | import { getSearchExtensively } from '@/api/dept/index.js' |
| | | import { getDevices } from '@/api/video/index.js' |
| | | import flvjs from 'flv.js' |
| | | import { getEquipmentPaging } from "@/api/home/index.js" |
| | | |
| | | |
| | | let tc = null |
| | |
| | | export default { |
| | | data () { |
| | | return { |
| | | navType: 1, |
| | | currentPage: 1, |
| | | pagesize: 13, |
| | | carCurrentPage: 1, |
| | | carPagesize: 13, |
| | | carPagesCount: 1, |
| | | carList: [], |
| | | dtList: [], |
| | | phoneList: [], |
| | | zfList: [], |
| | | navType: 0, |
| | | dialogTitle: '', |
| | | dialogVisible: false, |
| | | phoneDetails: {}, |
| | | phoneTitle: '', |
| | | phoneVisible: false, |
| | | searchValue: '', |
| | | searchArray: [], |
| | | searchValBoxShow: false, |
| | | currentTableHeight: 0, |
| | | detailFlag: false, |
| | | trackTime: [], |
| | | options: [{ |
| | | value: '1', |
| | | value: '0', |
| | | label: '警车' |
| | | }, { |
| | | value: '2', |
| | | label: '手持记录仪' |
| | | }, { |
| | | value: '3', |
| | | label: '电台' |
| | | }, { |
| | | value: '4', |
| | | label: '执法记录仪' |
| | | }], |
| | | typeValue: '1', |
| | | value: '1', |
| | | label: '摄像头' |
| | | } |
| | | // , { |
| | | // value: '3', |
| | | // label: '电台' |
| | | // }, { |
| | | // value: '4', |
| | | // label: '执法记录仪' |
| | | // } |
| | | ], |
| | | typeValue: '0', |
| | | boxShow: true, |
| | | carListSaveDate: [], |
| | | searchExtensivelyValue: '', |
| | | searchExtensivelyValBoxShow: false, |
| | | searchExtensivelyArray: [], |
| | | flvPlayer: null, |
| | | |
| | | equimentTableData: [], |
| | | equimentPage: { |
| | | total: 0, |
| | | pageSize: 15, |
| | | count: 0, |
| | | currentPage: 1 |
| | | } |
| | | } |
| | | }, |
| | | created () { |
| | | this.getCarList(this.carCurrentPage, this.carPagesize) |
| | | |
| | | this.dtList = dtList |
| | | this.phoneList = phoneList |
| | | this.zfList = zfList |
| | | const that = this |
| | | |
| | | this.$nextTick(() => { |
| | |
| | | mounted () { |
| | | this.$parent.$parent.resize('400px', true) |
| | | |
| | | this.navClick(1) |
| | | this.navClick() |
| | | |
| | | tc = new global.DC.TrackController(global.viewer) |
| | | }, |
| | | methods: { |
| | | handleCurrentChange: function (currentPage) { |
| | | this.currentPage = currentPage |
| | | this.carCurrentPage = currentPage |
| | | this.getCarList(this.carCurrentPage, this.carPagesize) |
| | | }, |
| | | // 搜索框改变事件 |
| | | searchChange () { |
| | | this.detailFlag = false |
| | | |
| | | getCarList (current, size, serialNumber) { |
| | | getCarList(current, size, serialNumber).then(res => { |
| | | console.log(res.data.data, 6666) |
| | | this.carPagesCount = res.data.data.pages |
| | | this.carListSaveDate = res.data.data.records |
| | | this.carList = res.data.data.records |
| | | }) |
| | | }, |
| | | |
| | | navClick (type) { |
| | | if (!type) { type = 1 } |
| | | this.$EventBus.$emit('mapClearLayer', { |
| | | layerName: 'polylineLayer', |
| | | type: 'VectorLayer' |
| | | }) |
| | | |
| | | this.detailFlag = false |
| | | this.navType = type |
| | | |
| | | this.searchValue = '' |
| | | this.searchValBoxShow = false |
| | | this.searchArray = [] |
| | | this.carList = this.carListSaveDate |
| | | this.dtList = dtList |
| | | this.phoneList = phoneList |
| | | this.zfList = zfList |
| | | this.equimentPage.currentPage = 1 |
| | | |
| | | this.$EventBus.$emit('mapClearLayer', { |
| | | layerName: 'carLayers', |
| | |
| | | type: 'VectorLayer' |
| | | }) |
| | | |
| | | this.$EventBus.$emit('mapClearLayer', { |
| | | layerName: 'zfLayers', |
| | | type: 'VectorLayer' |
| | | }) |
| | | this.getEquipmentPaging({ type: this.navType }) |
| | | }, |
| | | // 设备分页处理 |
| | | handleCurrentChange (currentPage) { |
| | | this.equimentPage.currentPage = currentPage |
| | | |
| | | this.$EventBus.$emit('mapClearLayer', { |
| | | layerName: 'dtLayers', |
| | | type: 'VectorLayer' |
| | | }) |
| | | |
| | | if (type == 1) { |
| | | this.carList.forEach(item => { |
| | | this.$EventBus.$emit('layerPointAdd', { |
| | | layerName: 'carLayers', |
| | | type: "billboard", |
| | | params: { |
| | | name: item.name, |
| | | lng: item.lng, |
| | | lat: item.lat, |
| | | alt: item.alt, |
| | | url: item.url |
| | | }, |
| | | incident: this.siteClick |
| | | }) |
| | | }) |
| | | } else if (type == 2) { |
| | | this.phoneList.forEach(item => { |
| | | this.$EventBus.$emit('layerPointAdd', { |
| | | layerName: 'phoneLayers', |
| | | type: "billboard", |
| | | params: item, |
| | | incident: this.phoneSiteClick |
| | | }) |
| | | }) |
| | | } else if (type == 3) { |
| | | this.dtList.forEach(item => { |
| | | this.$EventBus.$emit('layerPointAdd', { |
| | | layerName: 'dtLayers', |
| | | type: "billboard", |
| | | params: item, |
| | | incident: this.phoneSiteClick |
| | | }) |
| | | }) |
| | | } else if (type == 4) { |
| | | this.zfList.forEach(item => { |
| | | this.$EventBus.$emit('layerPointAdd', { |
| | | layerName: 'zfLayers', |
| | | type: "billboard", |
| | | params: item, |
| | | incident: this.phoneSiteClick |
| | | }) |
| | | }) |
| | | } |
| | | this.getEquipmentPaging({ type: this.navType }) |
| | | }, |
| | | |
| | | // 获取设备分页数据 |
| | | getEquipmentPaging (params) { |
| | | getEquipmentPaging({ page: this.equimentPage.currentPage, count: this.equimentPage.pageSize, ...params, query: this.searchValue }).then(res => { |
| | | this.equimentTableData = [] |
| | | this.equimentPage.count = 0 |
| | | |
| | | if (res.data.data.list.length > 0) { |
| | | this.equimentTableData = res.data.data.list.map(item => { |
| | | return { ...item, lng: item.longitude, lat: item.latitude, alt: 100 } |
| | | }) |
| | | |
| | | this.equimentTableData.forEach(item => { |
| | | if (this.navType == 0) { |
| | | this.$EventBus.$emit('layerPointAdd', { |
| | | layerName: 'carLayers', |
| | | type: "billboard", |
| | | params: { |
| | | ...item, |
| | | url: '/img/icon/car.png' |
| | | }, |
| | | incident: this.siteClick |
| | | }) |
| | | } else if (this.navType == 1) { |
| | | this.$EventBus.$emit('layerPointAdd', { |
| | | layerName: 'phoneLayers', |
| | | type: "billboard", |
| | | params: { |
| | | ...item, |
| | | url: '/img/icon/camera.png' |
| | | }, |
| | | incident: this.siteClick |
| | | }) |
| | | } |
| | | }) |
| | | |
| | | this.equimentPage.count = res.data.data.pages |
| | | } else { |
| | | this.equimentTableData = [] |
| | | |
| | | this.equimentPage.total = 0 |
| | | } |
| | | }) |
| | | }, |
| | | |
| | | |
| | | // 类别切换 |
| | | navClick (type) { |
| | | if (type && type == this.navType) return |
| | | this.detailFlag = false |
| | | |
| | | this.$EventBus.$emit('mapClearLayer', { |
| | | layerName: 'polylineLayer', |
| | | type: 'VectorLayer' |
| | | }) |
| | | |
| | | if (type) { |
| | | this.navType = type |
| | | } |
| | | |
| | | this.searchValue = '' |
| | | |
| | | this.equimentPage.currentPage = 1 |
| | | |
| | | this.$EventBus.$emit('mapClearLayer', { |
| | | layerName: 'carLayers', |
| | | type: 'VectorLayer' |
| | | }) |
| | | |
| | | this.$EventBus.$emit('mapClearLayer', { |
| | | layerName: 'phoneLayers', |
| | | type: 'VectorLayer' |
| | | }) |
| | | |
| | | this.getEquipmentPaging({ type: this.navType }) |
| | | }, |
| | | |
| | | // 表格行点击查看定位 |
| | | rowClick (row) { |
| | | if (row.lng == 0 || row.lat == 0) { |
| | | this.$message.error('暂无位置信息!') |
| | | |
| | | return |
| | | } |
| | | this.$EventBus.$emit('toPosition', { |
| | | layerName: 'carLayers', |
| | | siteJd: row.lng, |
| | | siteWd: row.lat |
| | | }) |
| | | }, |
| | | |
| | | // 表格行点击查看轨迹 |
| | | carDetail (row) { |
| | | this.detailFlag = true |
| | | }, |
| | | |
| | | async play (row) { |
| | |
| | | } |
| | | |
| | | this.dialogTitle = row.name |
| | | this.dialogVisible = true |
| | | let flvUrl = '' |
| | | |
| | | await this.getDevices(row.channelId).then(res => { |
| | | flvUrl = res |
| | | }) |
| | |
| | | return |
| | | } |
| | | |
| | | if (flvjs.isSupported()) { |
| | | var videoElement = document.getElementById('videoElement') |
| | | this.flvPlayer = flvjs.createPlayer({ |
| | | type: 'flv', |
| | | isLive: true, |
| | | hasAudio: false, |
| | | url: flvUrl |
| | | }) |
| | | this.flvPlayer.attachMediaElement(videoElement) |
| | | this.flvPlayer.load() |
| | | this.flvPlayer.play() |
| | | } |
| | | |
| | | this.dialogVisible = true |
| | | |
| | | if (flvjs.isSupported()) { |
| | | this.$nextTick(() => { |
| | | var videoElement = document.getElementById('videoElement') |
| | | this.flvPlayer = flvjs.createPlayer({ |
| | | type: 'flv', |
| | | isLive: true, |
| | | hasAudio: false, |
| | | url: flvUrl |
| | | }) |
| | | this.flvPlayer.attachMediaElement(videoElement) |
| | | this.flvPlayer.load() |
| | | this.flvPlayer.play() |
| | | }) |
| | | } |
| | | }, |
| | | |
| | | async getDevices (channelId) { |
| | |
| | | return flvAddress |
| | | }, |
| | | |
| | | // siteClick (e) { |
| | | // this.dialogTitle = e.overlay.attrParams.name |
| | | // this.dialogVisible = true |
| | | siteClick (e) { |
| | | this.dialogTitle = e.overlay.attrParams.name |
| | | this.dialogVisible = true |
| | | |
| | | // if (this.$refs.videoElement && this.$refs.videoElement != null) { |
| | | // this.$refs.videoElement.currentTime = 0 |
| | | // this.$refs.videoElement.play() |
| | | // } |
| | | // }, |
| | | |
| | | phoneSiteClick (e) { |
| | | this.phoneTitle = e.overlay.attrParams.name |
| | | this.phoneDetails = e.overlay.attrParams |
| | | this.phoneVisible = true |
| | | if (this.$refs.videoElement && this.$refs.videoElement != null) { |
| | | this.$refs.videoElement.currentTime = 0 |
| | | this.$refs.videoElement.play() |
| | | } |
| | | }, |
| | | |
| | | dialogBeforeClose () { |
| | |
| | | this.dialogVisible = false |
| | | }, |
| | | |
| | | phoneBeforeClose () { |
| | | this.phoneVisible = false |
| | | }, |
| | | |
| | | searchChange () { |
| | | if (this.searchValue == '') { |
| | | this.searchValBoxShow = false |
| | | this.searchArray = [] |
| | | this.carList = this.carListSaveDate |
| | | this.dtList = dtList |
| | | this.phoneList = phoneList |
| | | this.zfList = zfList |
| | | } else { |
| | | if (this.navType == 1) { |
| | | this.searchArray = listQuery(this.carListSaveDate, this.searchValue, 'name') |
| | | } else if (this.navType == 2) { |
| | | this.searchArray = listQuery(phoneList, this.searchValue, 'name') |
| | | } else if (this.navType == 3) { |
| | | this.searchArray = listQuery(dtList, this.searchValue, 'name') |
| | | } else if (this.navType == 4) { |
| | | this.searchArray = listQuery(zfList, this.searchValue, 'name') |
| | | } |
| | | this.searchValBoxShow = true |
| | | } |
| | | }, |
| | | |
| | | searchClick () { |
| | | this.searchValBoxShow = false |
| | | if (this.navType == 1) { |
| | | this.getCarList(this.carCurrentPage, this.carPagesize, this.searchValue) |
| | | } else if (this.navType == 2) { |
| | | this.phoneList = accurateSearch(phoneList, this.searchValue, 'name') |
| | | } else if (this.navType == 3) { |
| | | this.dtList = accurateSearch(phoneList, this.searchValue, 'name') |
| | | } else if (this.navType == 4) { |
| | | this.zfList = accurateSearch(zfList, this.searchValue, 'name') |
| | | } |
| | | }, |
| | | |
| | | searchVlaClick (item) { |
| | | this.searchValBoxShow = false |
| | | this.searchArray = [] |
| | | if (this.navType == 1) { |
| | | this.carList = [item] |
| | | } else if (this.navType == 2) { |
| | | this.phoneList = [item] |
| | | } else if (this.navType == 3) { |
| | | this.dtList = [item] |
| | | } else if (this.navType == 4) { |
| | | this.zfList = [item] |
| | | } |
| | | }, |
| | | |
| | | carDetail (row) { |
| | | this.detailFlag = true |
| | | }, |
| | | |
| | | // 轨迹返回 |
| | | goBack () { |
| | | this.detailFlag = !this.detailFlag |
| | | this.trackTime = [] |
| | |
| | | tc.removeTrack(track) |
| | | }, |
| | | |
| | | // 查看轨迹 |
| | | async lookTrack () { |
| | | if (this.trackTime.length == 0) { |
| | | this.$message({ message: "请选择开始时间", duration: 2000 }) |
| | |
| | | this.searchExtensivelyChange() |
| | | }, |
| | | |
| | | |
| | | }, |
| | | |
| | | destroyed () { |
| | |
| | | |
| | | this.$EventBus.$emit('mapRemoveLayer', { |
| | | layerName: 'phoneLayers', |
| | | type: 'VectorLayer' |
| | | }) |
| | | |
| | | this.$EventBus.$emit('mapRemoveLayer', { |
| | | layerName: 'zfLayers', |
| | | type: 'VectorLayer' |
| | | }) |
| | | |
| | | this.$EventBus.$emit('mapRemoveLayer', { |
| | | layerName: 'dtLayers', |
| | | type: 'VectorLayer' |
| | | }) |
| | | |
| | |
| | | background-color: rgba(24, 79, 202, 0.6); |
| | | // border: 1px solid rgb(0, 92, 169); |
| | | border: 1px solid rgb(24, 79, 202); |
| | | border-radius: 20px 0 0 20px; |
| | | border-radius: 20px; |
| | | } |
| | | |
| | | input:focus { |
| | |
| | | |
| | | input::-webkit-input-placeholder { |
| | | color: rgba(238, 238, 238, 0.7); |
| | | } |
| | | |
| | | button { |
| | | font-size: 24px; |
| | | font-weight: 700; |
| | | width: 80px; |
| | | height: 100%; |
| | | background-color: $table-body-tr-n-color; |
| | | color: #fff; |
| | | border: 1px solid rgb(0, 92, 169); |
| | | cursor: pointer; |
| | | border-radius: 0 20px 20px 0; |
| | | } |
| | | |
| | | button:active { |
| | | background-color: $table-body-tr-2n-color; |
| | | border: 1px solid rgb(0, 92, 169); |
| | | } |
| | | } |
| | | |
| | | .search-val-box { |
| | | display: flex; |
| | | flex-direction: column; |
| | | position: absolute; |
| | | top: 48px; |
| | | left: 6px; |
| | | width: calc(100% - 12px); |
| | | max-height: 160px; |
| | | text-align: left; |
| | | color: #fff; |
| | | background: $el-dialog-bg-color; |
| | | z-index: 1111; |
| | | border-radius: 10px; |
| | | overflow-y: auto; |
| | | |
| | | &>div { |
| | | height: 100%; |
| | | padding: 0 10px; |
| | | line-height: 36px; |
| | | cursor: pointer; |
| | | } |
| | | } |
| | | |
| | |
| | | * @Author: shuishen 1109946754@qq.com |
| | | * @Date: 2022-08-18 16:18:17 |
| | | * @LastEditors: shuishen 1109946754@qq.com |
| | | * @LastEditTime: 2023-01-11 15:46:01 |
| | | * @LastEditTime: 2023-01-12 17:08:15 |
| | | * @FilePath: \srs-police-affairs\src\views\video\list.vue |
| | | * @Description: 辖区管理 |
| | | * |
| | |
| | | return |
| | | } |
| | | |
| | | this.dialogVisible = true |
| | | |
| | | if (flvjs.isSupported()) { |
| | | var videoElement = document.getElementById('videoElement') |
| | | this.flvPlayer = flvjs.createPlayer({ |
| | | type: 'flv', |
| | | isLive: true, |
| | | hasAudio: false, |
| | | url: flvUrl |
| | | this.$nextTick(() => { |
| | | var videoElement = document.getElementById('videoElement') |
| | | this.flvPlayer = flvjs.createPlayer({ |
| | | type: 'flv', |
| | | isLive: true, |
| | | hasAudio: false, |
| | | url: flvUrl |
| | | }) |
| | | this.flvPlayer.attachMediaElement(videoElement) |
| | | this.flvPlayer.load() |
| | | this.flvPlayer.play() |
| | | }) |
| | | this.flvPlayer.attachMediaElement(videoElement) |
| | | this.flvPlayer.load() |
| | | this.flvPlayer.play() |
| | | } |
| | | |
| | | this.dialogVisible = true |
| | | }, |
| | | |
| | | dialogBeforeClose () { |