| | |
| | | * @Author: Morpheus |
| | | * @Date: 2021-03-17 15:21:33 |
| | | * @Last Modified by: Morpheus |
| | | * @Last Modified time: 2021-03-26 11:05:55 |
| | | * @Last Modified time: 2021-04-07 17:36:33 |
| | | */ |
| | | <template> |
| | | <basic-container> |
| | |
| | | @row-save="rowSave" |
| | | :before-open="beforeOpen" |
| | | :row-style="rowStyle" |
| | | row-class-name="tabFontSize" |
| | | @search-change="searchChange" |
| | | @search-reset="searchReset" |
| | | @selection-change="selectionChange" |
| | |
| | | > |
| | | <template slot="menuLeft"> |
| | | <el-button |
| | | hidden="hidden" |
| | | type="danger" |
| | | size="small" |
| | | v-show="true" |
| | | size="mini" |
| | | icon="el-icon-delete" |
| | | plain |
| | | v-if="permission.real_delete" |
| | |
| | | <template slot="menuLeft"> |
| | | <el-button |
| | | v-bind:class="activeClass == 0 ? 'btn-color' : ''" |
| | | size="small" |
| | | size="mini" |
| | | @click="getBRdata(0)" |
| | | >本日 |
| | | </el-button> |
| | |
| | | calcHeight: 30, |
| | | labelWidth: "100", |
| | | size: "mini", |
| | | border: false, |
| | | stripe: true, |
| | | menuWidth: 240, |
| | | dialogWidth: 950, |
| | | tip: false, |
| | | searchShow: true, |
| | | searchMenuSpan: 3, |
| | | border: true, |
| | | align: "center", |
| | | index: true, |
| | | viewBtn: true, |
| | | selection: false, |
| | | selection: true, |
| | | dialogClickModal: false, |
| | | column: [ |
| | | { |
| | |
| | | prop: "waringType", |
| | | search: false, |
| | | searchSpan: 3, |
| | | width: 130, |
| | | width: 85, |
| | | className: "waringTypeClass", |
| | | searchPlaceholder: "请选择", |
| | | type: "select", |
| | |
| | | { |
| | | label: "报警时间", |
| | | type: "datetime", |
| | | width: 130, |
| | | width: 160, |
| | | format: "yyyy-MM-dd HH:mm:ss", |
| | | valueFormat: "yyyy-MM-dd HH:mm:ss", |
| | | prop: "alarmTime", |
| | |
| | | { |
| | | label: "负责人电话", |
| | | prop: "onePhone", |
| | | width: 96, |
| | | width: 110, |
| | | }, |
| | | { |
| | | label: "报警人", |
| | | prop: "galarmPeople", |
| | | width: 90, |
| | | }, |
| | | { |
| | | label: "报警人电话", |
| | |
| | | }, |
| | | { |
| | | label: "事发地址", |
| | | width: 200, |
| | | prop: "place", |
| | | }, |
| | | { |
| | |
| | | dicUrl: "/api/blade-system/region/select", |
| | | span: 6, |
| | | className: "cityClass1", |
| | | hide: true, |
| | | addDisplay: true, |
| | | editDisplay: true, |
| | | viewDisplay: true, |
| | | }, |
| | | { |
| | | label: "地市", |
| | |
| | | span: 3, |
| | | labelWidth: "0", |
| | | className: "cityClass2", |
| | | hide: true, |
| | | addDisplay: true, |
| | | editDisplay: true, |
| | | viewDisplay: true, |
| | | }, |
| | | { |
| | | label: "区县", |
| | |
| | | span: 3, |
| | | labelWidth: "0", |
| | | className: "cityClass3", |
| | | hide: true, |
| | | addDisplay: true, |
| | | editDisplay: true, |
| | | viewDisplay: true, |
| | | }, |
| | | { |
| | | label: "接警人", |
| | | prop: "alarmPeople", |
| | | width: 90, |
| | | }, |
| | | { |
| | | label: "接警时间", |
| | |
| | | valueFormat: "yyyy-MM-dd HH:mm:ss", |
| | | width: 130, |
| | | prop: "jjTime", |
| | | hide: true, |
| | | addDisplay: true, |
| | | editDisplay: true, |
| | | viewDisplay: true, |
| | | }, |
| | | ], |
| | | }, |
| | |
| | | ) |
| | | .then(function () { |
| | | that.dialogTableVisible = false; |
| | | |
| | | axios({ |
| | | method: "post", |
| | | url: `/api/blade-jfpts/rvideo/stop`, |
| | | params: { |
| | | jid: row.id, |
| | | }, |
| | | }).then((resdata) => {}); |
| | | |
| | | that.onLoad(that.page, that.query); |
| | | that.$router.push({ |
| | | path: "/policeTracking/track", |
| | |
| | | }, |
| | | // 视频通话打开关闭事件 |
| | | openRealVideoBox() { |
| | | var that = this; |
| | | var newAxios = axios.create({ |
| | | baseURL: "https://web.byisf.com:18000", |
| | | withCredentials: false, |
| | |
| | | .then((res) => { |
| | | newAxios |
| | | .get( |
| | | `https://web.byisf.com:18000/GetPlayUrl?deviceCode=${this.form.serialNumber}&chl=${this.form.channelNumber}` |
| | | `https://web.byisf.com:18000/GetPlayUrl?deviceCode=${that.form.serialNumber}&chl=${this.form.channelNumber}` |
| | | ) |
| | | .then((result) => { |
| | | this.videoSource = result.data.data.m3u8; |
| | | that.videoSource = result.data.data.m3u8; |
| | | |
| | | if (Hls.isSupported()) { |
| | | var dom = document.getElementById("real_video_conversation"); |
| | | |
| | | this.hls = new Hls(); |
| | | that.hls = new Hls(); |
| | | |
| | | var m3u8Url = decodeURIComponent(this.videoSource); |
| | | var m3u8Url = decodeURIComponent(that.videoSource); |
| | | |
| | | this.hls.loadSource(m3u8Url); |
| | | that.hls.loadSource(m3u8Url); |
| | | |
| | | this.hls.attachMedia(dom); |
| | | that.hls.attachMedia(dom); |
| | | |
| | | this.hls.on(Hls.Events.MANIFEST_PARSED, function () { |
| | | that.hls.on(Hls.Events.MANIFEST_PARSED, function () { |
| | | dom.play(); |
| | | }); |
| | | |
| | | that.hls.on(Hls.Events.ERROR, function (event, data) { |
| | | console.log(data, 4566824159, "视频播放有问题!!!"); |
| | | if (data.fatal) { |
| | | switch (data.type) { |
| | | case Hls.ErrorTypes.NETWORK_ERROR: |
| | | // try to recover network error |
| | | console.log( |
| | | "fatal network error encountered, try to recover" |
| | | ); |
| | | that.hls.startLoad(); |
| | | break; |
| | | case Hls.ErrorTypes.MEDIA_ERROR: |
| | | console.log( |
| | | "fatal media error encountered, try to recover" |
| | | ); |
| | | that.hls.recoverMediaError(); |
| | | break; |
| | | default: |
| | | // cannot recover |
| | | that.hls.destroy(); |
| | | break; |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | }); |
| | |
| | | }, |
| | | |
| | | aKeyToCall() { |
| | | this.isActive = true; |
| | | var that = this; |
| | | if (this.recorder == null) { |
| | | this.recorder = new Recorder({ |
| | |
| | | // compiling: false,(0.x版本中生效,1.x增加中) // 是否边录边转换,默认是false |
| | | }); |
| | | } |
| | | this.isActive = true; |
| | | |
| | | // 一键呼叫相关函数 |
| | | that.recorder.start().then( |
| | |
| | | |
| | | // 序列号后期待修改 |
| | | aKeyStopCall() { |
| | | this.isActive = false; |
| | | var newCallAxios = axios.create({ |
| | | baseURL: "https://web.byisf.com:18000", |
| | | withCredentials: false, |
| | |
| | | }, |
| | | }); |
| | | var that = this; |
| | | that.isActive = false; |
| | | |
| | | newCallAxios |
| | | .post( |
| | |
| | | ) |
| | | .then((result) => { |
| | | var formData = new FormData(); |
| | | // that.recorder.downloadWAV("新文件"); |
| | | |
| | | var blob = that.recorder.getPCMBlob(); //获取pcm格式音频数据 |
| | | //此处获取到blob对象后需要设置fileName满足当前项目上传需求,其它项目可直接传把blob作为file塞入formData |
| | | var newbolb = new Blob([blob], { type: "audio/pcm" }); |
| | |
| | | } |
| | | |
| | | .el-button.active { |
| | | background: #ff0000; |
| | | background: #ff0000 !important; |
| | | } |
| | | |
| | | .el-button.btn-color { |
| | |
| | | background-color: rgb(64, 158, 255); |
| | | border-color: rgb(64, 158, 255); |
| | | } |
| | | |
| | | .tabFontSize { |
| | | font-size: 15px; |
| | | } |
| | | </style> |