<template>
|
<div class="avue-logo">
|
<transition name="fade">
|
<span v-if="keyCollapse" class="avue-logo_subtitle" key="0">
|
<!-- {{ website.logo }}-->
|
<i class="icon-anbao"></i>
|
</span>
|
</transition>
|
<transition-group name="fade">
|
<template v-if="!keyCollapse">
|
<span class="avue-logo_title" key="1">{{ website.indexTitle }} </span>
|
</template>
|
</transition-group>
|
<audio ref="realAudio" loop></audio>
|
<div>
|
<el-dialog
|
class="real-dialog"
|
title="实时警情"
|
:center="true"
|
:visible.sync="dialogTableVisible"
|
:append-to-body="true"
|
:close-on-press-escape="false"
|
:close-on-click-modal="false"
|
@opened="onDialogTableVisible"
|
@close="closeDialog"
|
>
|
<el-form
|
:model="form"
|
label-position="right"
|
size="mini"
|
label-width="100px"
|
>
|
<el-row>
|
<el-col span="12">
|
<el-form-item label="报警人">
|
<el-input
|
disabled="true"
|
v-model="form.galarmPeople"
|
autocomplete="off"
|
></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col span="12">
|
<el-form-item label="联系电话">
|
<el-input
|
disabled="true"
|
v-model="form.phoneNumber"
|
autocomplete="off"
|
></el-input>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row>
|
<el-col span="12">
|
<el-form-item label="负责人">
|
<el-select
|
v-model="peopleName"
|
placeholder="请选择"
|
@change="peopleOrPhone"
|
style="width: 100%"
|
>
|
<el-option
|
v-for="item in peopleList"
|
:key="item.value"
|
:label="item.label"
|
:value="item.label"
|
>
|
</el-option>
|
</el-select>
|
</el-form-item>
|
</el-col>
|
<el-col span="12">
|
<el-form-item label="负责人电话">
|
<el-input
|
disabled="true"
|
v-model="peoplePhone"
|
autocomplete="off"
|
style="width: calc(100% - 110px)"
|
></el-input>
|
<el-button
|
type="success"
|
style="
|
margin-left: 10px;
|
padding: 0px 8px;
|
width: 100px;
|
height: 28px;
|
vertical-align: top;
|
"
|
>
|
<i class="el-icon-phone-outline"></i>
|
联系负责人
|
</el-button>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row>
|
<el-col span="12">
|
<el-form-item label="省份" class="cityClassParams">
|
<avue-form :option="itemOption" v-model="form"></avue-form>
|
</el-form-item>
|
</el-col>
|
<el-col span="12">
|
<el-form-item label="事发地址">
|
<el-input
|
disabled="true"
|
v-model="form.place"
|
autocomplete="off"
|
></el-input>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row>
|
<el-col span="12">
|
<el-form-item label="警情类型">
|
<el-input
|
disabled="true"
|
v-model="form.waringType"
|
autocomplete="off"
|
></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col span="12">
|
<el-form-item label="设备编号">
|
<el-input
|
disabled="true"
|
v-model="form.deviceNumber"
|
autocomplete="off"
|
></el-input>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row>
|
<el-col span="12">
|
<el-form-item label="接警人">
|
<el-input
|
disabled="true"
|
v-model="form.alarmPeople"
|
autocomplete="off"
|
></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col span="12">
|
<el-form-item label="报警内容">
|
<el-input
|
disabled="true"
|
v-model="form.content"
|
autocomplete="off"
|
></el-input>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row>
|
<el-col span="12">
|
<el-form-item label="报警时间">
|
<el-input
|
disabled="true"
|
v-model="form.alarmTime"
|
autocomplete="off"
|
></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col span="12">
|
<el-form-item label="监控视频">
|
<el-button
|
:class="{ active: isActive }"
|
type="success"
|
@click.stop="
|
(videoConversationReal = true), (oldVideoSatart = false)
|
"
|
@mousedown.native="aKeyToCall"
|
@mouseup.native="aKeyStopCall"
|
>视频通话
|
</el-button>
|
<el-button
|
v-show="false"
|
type="primary"
|
@click.stop="
|
(oldVideoSatart = true), (videoConversationReal = false)
|
"
|
>查看历史
|
</el-button>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row>
|
<el-col span="12">
|
<el-form-item label="备注">
|
<el-input v-model="form.bz" autocomplete="off"></el-input>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row :align="center">
|
<el-col class="opt-btn">
|
<el-form-item>
|
<el-button
|
type="success"
|
@click.stop="updateJtyep(form, 2, '办结')"
|
>办结
|
</el-button>
|
|
<img
|
src="/img/police-num.png"
|
style="
|
margin-top: -20px;
|
height: 80px;
|
vertical-align: middle;
|
"
|
alt=""
|
@click.stop="updateJtyep(form, 1, '推送110')"
|
/>
|
|
<el-button
|
type="primary"
|
@click.stop="updateJtyep(form, 1, '派送保安')"
|
>派送保安
|
</el-button>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
</el-form>
|
</el-dialog>
|
|
<el-dialog
|
class="ss-video-dialog"
|
:modal="false"
|
width="100%"
|
title="视频通话"
|
:visible.sync="videoConversationReal"
|
:close-on-press-escape="false"
|
append-to-body
|
@opened="openRealVideoBox"
|
@close="closeRealVideoBox"
|
>
|
<video
|
src=""
|
id="video_conversation"
|
style="width: 100%; height: 100%; object-fit: fill"
|
controls
|
></video>
|
</el-dialog>
|
|
<el-dialog
|
class="ss-video-dialog"
|
:modal="false"
|
width="100%"
|
title="历史回放"
|
:visible.sync="oldVideoSatart"
|
:close-on-press-escape="false"
|
append-to-body
|
@opened="openOldVideoBox"
|
@close="closeOldVideoBox"
|
>
|
<video
|
src="/oldVideo/ft.mp4"
|
muted="muted"
|
autoplay="autoplay"
|
loop
|
id="old_video"
|
style="width: 100%; height: 100%; object-fit: fill"
|
controls
|
></video>
|
</el-dialog>
|
</div>
|
</div>
|
</template>
|
|
<script>
|
import { mapGetters } from "vuex";
|
import axios from "axios";
|
import Hls from "hls.js";
|
import Recorder from "js-audio-recorder";
|
|
var newAxios = axios.create({
|
baseURL: "https://web.byisf.com:18000",
|
withCredentials: false,
|
headers: {
|
"Content-type": "application/x-www-form-urlencoded",
|
},
|
});
|
|
export default {
|
name: "logo",
|
data() {
|
return {
|
dialogTableVisible: false,
|
videoConversationReal: false,
|
oldVideoSatart: false,
|
deviceId: null,
|
form: {},
|
itemOption: {
|
menuBtn: false,
|
column: [
|
{
|
disabled: true,
|
row: false,
|
prop: "province",
|
type: "select",
|
placeholder: "省份",
|
props: {
|
label: "name",
|
value: "code",
|
},
|
cascaderItem: ["city", "district"],
|
dicUrl: "/api/blade-system/region/select",
|
span: 1,
|
labelWidth: "0",
|
className: "cityClassSelect",
|
},
|
{
|
disabled: true,
|
row: false,
|
prop: "city",
|
type: "select",
|
placeholder: "地市",
|
props: {
|
label: "name",
|
value: "code",
|
},
|
dicUrl: "/api/blade-system/region/select?code={{key}}",
|
span: 1,
|
labelWidth: "0",
|
className: "cityClassSelect",
|
},
|
{
|
disabled: true,
|
row: false,
|
prop: "district",
|
type: "select",
|
placeholder: "区县",
|
props: {
|
label: "name",
|
value: "code",
|
},
|
dicUrl: "/api/blade-system/region/select?code={{key}}",
|
span: 1,
|
labelWidth: "0",
|
className: "cityClassSelect",
|
},
|
],
|
},
|
isActive: false,
|
recorder: null,
|
peopleList: [],
|
peopleName: "",
|
peoplePhone: "",
|
ofX: null,
|
ofY: null,
|
};
|
},
|
created() {
|
//this.websocketStart();
|
},
|
computed: {
|
...mapGetters(["website", "keyCollapse"]),
|
},
|
methods: {
|
layerRealtime(jid) {
|
var that = this;
|
axios({
|
url: "/api/alarm/alarm/page",
|
method: "get",
|
params: {
|
id: jid,
|
},
|
}).then(function (response) {
|
var userId = JSON.parse(
|
window.localStorage.getItem("洪城义警后台管理系统-userInfo")
|
).content.user_id;
|
|
if (response.data.data.records.length > 0) {
|
that.form = response.data.data.records[0];
|
if (
|
response.data.data.records[0].waringType == "紧急求救" &&
|
response.data.data.records[0].alarmId == userId
|
) {
|
response.data.data.records[0].waringType = "一键求助";
|
|
that.peopleList = [
|
{ label: that.form.oneContacts, value: that.form.onePhone },
|
{ label: that.form.twoContacts, value: that.form.twoPhone },
|
{ label: that.form.threeContacts, value: that.form.threePhone },
|
];
|
that.peopleName = that.form.oneContacts;
|
that.peoplePhone = that.form.onePhone;
|
that.dialogTableVisible = true;
|
|
that.ofX = null;
|
that.ofY = null;
|
|
window.addEventListener("mousemove", that.handleMousemove);
|
|
that.$refs.realAudio.src = "./realVideo/audio.mp3";
|
that.$refs.realAudio.play();
|
}
|
}
|
});
|
},
|
closeDialog() {
|
//关闭窗口回调,关闭警报
|
this.videoConversationReal = false;
|
this.oldVideoSatart = false;
|
},
|
getDate() {
|
// 当前时间
|
var timestamp = Date.parse(new Date());
|
var serverDate = new Date(timestamp);
|
|
// 本周周一的时间
|
var mondayTime =
|
timestamp - (serverDate.getDay() - 1) * 24 * 60 * 60 * 1000;
|
var mondayData = new Date(mondayTime);
|
//年
|
var mondayY = mondayData.getFullYear();
|
//月
|
var mondayM =
|
mondayData.getMonth() + 1 < 10
|
? "0" + (mondayData.getMonth() + 1)
|
: mondayData.getMonth() + 1;
|
//日
|
var mondayD =
|
mondayData.getDate() < 10
|
? "0" + mondayData.getDate()
|
: mondayData.getDate();
|
// 当前时间
|
var currentData = new Date(timestamp);
|
//年
|
var currentY = currentData.getFullYear();
|
//月
|
var currentM =
|
currentData.getMonth() + 1 < 10
|
? "0" + (currentData.getMonth() + 1)
|
: currentData.getMonth() + 1;
|
//日
|
var currentD =
|
currentData.getDate() < 10
|
? "0" + currentData.getDate()
|
: currentData.getDate();
|
//时
|
var currenH =
|
currentData.getHours() < 10
|
? "0" + currentData.getHours()
|
: currentData.getHours();
|
//分
|
var currenM =
|
currentData.getMinutes() < 10
|
? "0" + currentData.getMinutes()
|
: currentData.getMinutes();
|
//秒
|
var currenS =
|
currentData.getSeconds() < 10
|
? "0" + currentData.getSeconds()
|
: currentData.getSeconds();
|
|
return {
|
day: {
|
beginTime: currentY + "-" + currentM + "-" + currentD + " 00:00:00",
|
endTime:
|
currentY +
|
"-" +
|
currentM +
|
"-" +
|
currentD +
|
" " +
|
currenH +
|
":" +
|
currenM +
|
":00",
|
},
|
week: {
|
beginTime: mondayY + "-" + mondayM + "-" + mondayD + " 00:00:00",
|
endTime:
|
currentY +
|
"-" +
|
currentM +
|
"-" +
|
currentD +
|
" " +
|
currenH +
|
":" +
|
currenM +
|
":00",
|
},
|
month: {
|
beginTime: mondayY + "-" + mondayM + "-01 00:00:00",
|
endTime:
|
currentY +
|
"-" +
|
currentM +
|
"-" +
|
currentD +
|
" " +
|
currenH +
|
":" +
|
currenM +
|
":00",
|
},
|
current:
|
currentY +
|
"-" +
|
currentM +
|
"-" +
|
currentD +
|
" " +
|
currenH +
|
":" +
|
currenM +
|
":" +
|
currenS,
|
};
|
},
|
updateJtyep(row, jtype, t) {
|
var that = this;
|
axios
|
.post(
|
"/api/alarm/alarm/updateJtype",
|
{},
|
{
|
params: {
|
jid: row.id,
|
jtype: jtype,
|
rid: row.alarmId,
|
bz: row.bz,
|
snumber: row.alarmId,
|
sname: row.alarmPeople,
|
zc: t,
|
zctime: that.getDate().current,
|
},
|
}
|
)
|
.then(function () {
|
that.dialogTableVisible = false;
|
|
axios({
|
method: "post",
|
url: `/api/rvideo/stop`,
|
params: {
|
jid: row.id,
|
},
|
}).then((resdata) => {});
|
|
if (t == "办结") {
|
location.reload();
|
} else {
|
that.$router.push({
|
path: "/policeTracking/track",
|
query: that.form,
|
});
|
}
|
});
|
},
|
beginTimeOrEndTime(time) {
|
var beginTime = new Date(time);
|
|
var endTime = new Date(new Date(time).valueOf() - 1000 * 60 * 60 * 3);
|
|
var beginY = beginTime.getFullYear();
|
|
var beginM =
|
beginTime.getMonth() + 1 < 10
|
? "0" + (beginTime.getMonth() + 1)
|
: beginTime.getMonth() + 1;
|
|
var beginD =
|
beginTime.getDate() < 10
|
? "0" + beginTime.getDate()
|
: beginTime.getDate();
|
|
var beginH =
|
beginTime.getHours() < 10
|
? "0" + beginTime.getHours()
|
: beginTime.getHours();
|
|
var beginm =
|
beginTime.getMinutes() < 10
|
? "0" + beginTime.getMinutes()
|
: beginTime.getMinutes();
|
|
var begins =
|
beginTime.getSeconds() < 10
|
? "0" + beginTime.getSeconds()
|
: beginTime.getSeconds();
|
|
var endY = endTime.getFullYear();
|
|
var endM =
|
endTime.getMonth() + 1 < 10
|
? "0" + (endTime.getMonth() + 1)
|
: endTime.getMonth() + 1;
|
|
var endD =
|
endTime.getDate() < 10 ? "0" + endTime.getDate() : endTime.getDate();
|
|
var endH =
|
endTime.getHours() < 10 ? "0" + endTime.getHours() : endTime.getHours();
|
|
var endm =
|
endTime.getMinutes() < 10
|
? "0" + endTime.getMinutes()
|
: endTime.getMinutes();
|
|
var ends =
|
endTime.getSeconds() < 10
|
? "0" + endTime.getSeconds()
|
: endTime.getSeconds();
|
return {
|
begin: beginY + beginM + beginD + beginH + beginm + begins,
|
end: endY + endM + endD + endH + endm + ends,
|
};
|
},
|
|
// 视频通话打开关闭事件
|
openRealVideoBox() {
|
newAxios
|
.post(
|
"/api_control",
|
{},
|
{
|
params: {
|
param: JSON.stringify({ PktType: "GetAccessToken" }),
|
},
|
}
|
)
|
.then((res) => {
|
newAxios
|
.get(
|
`https://web.byisf.com:18000/GetPlayUrl?deviceCode=${this.form.serialNumber}&chl=${this.form.channelNumber}`
|
)
|
.then((result) => {
|
this.videoSource = result.data.data.m3u8;
|
|
if (Hls.isSupported()) {
|
var dom = document.getElementById("video_conversation");
|
|
this.hls = new Hls();
|
|
var m3u8Url = decodeURIComponent(this.videoSource);
|
|
this.hls.loadSource(m3u8Url);
|
|
this.hls.attachMedia(dom);
|
|
this.hls.on(Hls.Events.MANIFEST_PARSED, function () {
|
dom.play();
|
});
|
}
|
});
|
});
|
},
|
|
closeRealVideoBox() {
|
var dom = document.getElementById("video_conversation");
|
|
if (dom.getAttribute("src") != "") {
|
dom.pause();
|
|
dom.setAttribute("src", "");
|
|
this.hls.destroy();
|
}
|
},
|
|
// 历史视频打开关闭事件
|
openOldVideoBox() {
|
var dom = document.getElementById("old_video");
|
dom.currentTime = 0;
|
dom.play();
|
},
|
|
closeOldVideoBox() {
|
var dom = document.getElementById("old_video");
|
dom.pause();
|
},
|
|
aKeyToCall() {
|
this.isActive = true;
|
var that = this;
|
if (this.recorder == null) {
|
this.recorder = new Recorder({
|
sampleBits: 16, // 采样位数,支持 8 或 16,默认是16
|
sampleRate: 8000, // 采样率,支持 11025、16000、22050、24000、44100、48000,根据浏览器默认值,我的chrome是48000
|
numChannels: 1, // 声道,支持 1 或 2, 默认是1
|
// compiling: false,(0.x版本中生效,1.x增加中) // 是否边录边转换,默认是false
|
});
|
}
|
|
// 一键呼叫相关函数
|
that.recorder.start().then(
|
() => {
|
// 开始录音
|
},
|
(error) => {
|
// 出错了
|
console.log(`${error.name} : ${error.message}`);
|
}
|
);
|
},
|
|
// 序列号后期待修改
|
aKeyStopCall() {
|
this.isActive = false;
|
var newCallAxios = axios.create({
|
baseURL: "https://web.byisf.com:18000",
|
withCredentials: false,
|
headers: {
|
"Content-Type": "application/json;",
|
},
|
});
|
|
var that = this;
|
|
newCallAxios
|
.post(
|
`/api_control`,
|
{},
|
{
|
params: {
|
param: { PktType: "GetAccessToken" },
|
},
|
}
|
)
|
.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" });
|
var fileOfBlob = new File([newbolb], new Date().getTime() + ".pcm");
|
formData.append("file", fileOfBlob);
|
|
var wavBlob = that.recorder.getWAVBlob();
|
|
var wavformData = new FormData();
|
var wavform = new File([wavBlob], new Date().getTime() + ".wav");
|
wavformData.append("file", wavform);
|
|
axios({
|
method: "post",
|
url: "/api/xlfeedback/xlfeedback/put-objecty",
|
data: wavformData,
|
params: {
|
jid: that.form.id,
|
},
|
}).then((resdata) => {
|
});
|
|
newCallAxios
|
.post(`/api_control`, blob, {
|
params: {
|
param: {
|
PktType: "Talk",
|
accessToken: result.data.data.accessToken,
|
deviceCode: this.form.serialNumber,
|
},
|
},
|
})
|
.then(() => {
|
that.recorder.destroy().then(function () {
|
that.recorder = null;
|
});
|
});
|
});
|
},
|
|
peopleOrPhone(e) {
|
this.peopleList.forEach((item) => {
|
if (item.label == e) {
|
this.peoplePhone = item.value;
|
}
|
});
|
},
|
|
// 监听鼠标的移动事件
|
handleMousemove(e) {
|
if (
|
(this.ofX != null && e.offsetX != this.ofX) ||
|
(this.ofY != null && e.offsetY != this.ofY)
|
) {
|
this.$refs.realAudio.pause();
|
window.removeEventListener("mousemove", this.handleMousemove);
|
}
|
|
this.ofX = e.offsetX;
|
this.ofY = e.offsetY;
|
},
|
|
//启动websocket
|
websocketStart() {
|
var that = this;
|
|
if (!window.WebSocket) {
|
window.WebSocket = window.MozWebSocket;
|
}
|
if (window.WebSocket) {
|
// https
|
//window.socket = new WebSocket("wss://web.byisf.com/wss/websocket/");
|
|
//http
|
window.socket = new WebSocket("ws://localhost:9034/websocket");
|
|
window.socket.onmessage = function (event) {
|
// alert(event.data)
|
that.layerRealtime(event.data);
|
};
|
|
window.socket.onopen = function (event) {};
|
|
window.socket.onclose = function (event) {};
|
window.socket.error = function (event) {
|
//执行重连
|
that.websocketStart();
|
};
|
} else {
|
console.log("WebSocket连接没有建立成功!!");
|
}
|
|
setTimeout(function () {
|
window.clearTimeout(window.websockPing);
|
|
if (!window.WebSocket) {
|
return;
|
}
|
if (window.socket.readyState == WebSocket.OPEN) {
|
var userId = JSON.parse(
|
window.localStorage.getItem("洪城义警后台管理系统-userInfo")
|
).content.user_id;
|
|
window.socket.send(userId);
|
|
//开启心跳传送
|
window.websockPing = setInterval(function () {
|
if (window.socket.readyState == WebSocket.OPEN) {
|
window.socket.send("ping");
|
} else {
|
console.log("心跳停止,断开重连");
|
//断开连接,重连
|
window.clearTimeout(window.websockPing);
|
//执行重连
|
that.websocketStart();
|
}
|
}, 4000);
|
} else {
|
console.log("WebSocket连接没有建立成功!!");
|
//执行重连
|
that.websocketStart();
|
}
|
}, 1000);
|
},
|
|
onDialogTableVisible() {
|
var that = this;
|
Recorder.getPermission().then(() => {});
|
this.videoConversationReal = true;
|
var userId = JSON.parse(
|
window.localStorage.getItem("洪城义警后台管理系统-userInfo")
|
).content.user_id;
|
newAxios
|
.post(
|
"/api_control",
|
{},
|
{
|
params: {
|
param: JSON.stringify({ PktType: "GetAccessToken" }),
|
},
|
}
|
)
|
.then((res) => {
|
newAxios
|
.get(
|
`https://web.byisf.com:18000/GetPlayUrl?deviceCode=${that.form.serialNumber}&chl=${that.form.channelNumber}`
|
)
|
.then((result) => {
|
axios({
|
method: "post",
|
url: `/api/rvideo/rVoids`,
|
params: {
|
url: result.data.data.flv,
|
uid: userId,
|
},
|
}).then((resdata) => {});
|
});
|
});
|
},
|
},
|
};
|
</script>
|
|
<style lang="scss">
|
.fade-leave-active {
|
transition: opacity 0.2s;
|
}
|
|
.fade-enter-active {
|
transition: opacity 2.5s;
|
}
|
|
.fade-enter,
|
.fade-leave-to {
|
opacity: 0;
|
}
|
|
.avue-logo {
|
position: fixed;
|
top: 0;
|
left: 0;
|
width: 240px;
|
height: 64px;
|
line-height: 64px;
|
background-color: #20222a;
|
font-size: 20px;
|
overflow: hidden;
|
box-sizing: border-box;
|
box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.15);
|
color: rgba(255, 255, 255, 0.8);
|
z-index: 1024;
|
|
&_title {
|
display: block;
|
text-align: center;
|
font-weight: 300;
|
font-size: 20px;
|
}
|
|
&_subtitle {
|
display: block;
|
text-align: center;
|
font-size: 18px;
|
font-weight: bold;
|
color: #fff;
|
}
|
}
|
|
.real-dialog .el-dialog::after {
|
content: "";
|
position: absolute;
|
left: -5px;
|
top: 25px;
|
right: -5px;
|
bottom: 25px;
|
background: red;
|
border-radius: 10px;
|
filter: blur(120px);
|
mix-blend-mode: overlay;
|
pointer-events: none;
|
z-index: -1;
|
}
|
|
.real-dialog .el-dialog__header {
|
padding-top: 10px;
|
background: linear-gradient(45deg, #ff0000, #ff3c3c);
|
border-radius: 10px 10px 0 0;
|
}
|
|
.real-dialog .el-dialog__header .el-dialog__title {
|
color: white;
|
}
|
|
.real-dialog .el-dialog__header .el-dialog__headerbtn {
|
top: 15px;
|
}
|
|
.real-dialog .el-dialog {
|
margin: auto !important;
|
position: absolute !important;
|
top: 0 !important;
|
bottom: 0 !important;
|
left: 0 !important;
|
right: 400px !important;
|
height: 558px !important;
|
border-radius: 10px 10px 10px 10px;
|
}
|
|
.ss-video-dialog {
|
position: absolute !important;
|
top: 0px !important;
|
left: auto !important;
|
right: 5px !important;
|
bottom: 0 !important;
|
margin: auto !important;
|
width: 670px !important;
|
z-index: 2200 !important;
|
}
|
|
.ss-video-dialog .el-dialog {
|
position: absolute !important;
|
top: 0 !important;
|
left: 0 !important;
|
right: 0 !important;
|
bottom: 0 !important;
|
margin: auto !important;
|
height: 558px;
|
border-radius: 10px 10px 10px 10px;
|
}
|
|
.ss-video-dialog .el-dialog .el-dialog__header {
|
padding-top: 10px;
|
}
|
|
.ss-video-dialog .el-dialog .el-dialog__body {
|
padding: 10px !important;
|
height: calc(100% - 44px);
|
box-sizing: border-box;
|
}
|
</style>
|