You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1025 lines
31 KiB
Vue

2 years ago
<template>
2 years ago
<div class="monitorBox" v-loading="loadingBg">
<div class="monitor-container">
<!-- 左侧数据列表树 -->
<div class="sideBar">
2 years ago
<div class="searchBar">
2 years ago
<el-input
placeholder="输入关键字进行过滤"
v-model="filterText"
prefix-icon="el-icon-search"
>
2 years ago
</el-input>
</div>
<el-tree
:data="lineTreeData"
:props="defaultProps"
ref="tree"
node-key="id"
highlight-current
:default-expand-all="true"
@node-click="handleNodeClick"
:current-node-key="currentNodekey"
2 years ago
:filter-node-method="filterNode"
>
<span class="custom-tree-node" slot-scope="{ node, data }">
2 years ago
<div v-if="node.level === 1">
<span class="iconfont icon-dianli"></span>
2 years ago
<span>{{ node.label }} </span>
2 years ago
</div>
<div v-else-if="data.list && node.level !== 1">
<span class="iconfont icon-dianlihangye"> </span>
2 years ago
<span>{{ node.label }} </span>
2 years ago
</div>
<div v-else>
<span
class="iconfont icon-video-camera"
:class="data.onlinestatus == 0 ? 'disconnect' : ''"
style="margin-right: 6px"
></span>
<span :class="data.onlinestatus == 0 ? 'disconnect' : ''">{{
node.label
}}</span>
</div>
</span>
<!-- <span
2 years ago
v-else
class="iconfont icon-video-camera"
style="margin-right: 6px"
></span>
<span :class="data.onlinestatus == 0 ? 'disconnect' : ''"
2 years ago
>{{ node.label }} -- {{ data.cmdid }}</span
>
2 years ago
</span> -->
</el-tree>
2 years ago
</div>
<div class="resize" title="收缩侧边栏"></div>
<!-- 带参数的中心内容右侧参数区 -->
2 years ago
<div class="picSetBox">
2 years ago
<div class="swiperBox" v-loading="loadingpic">
2 years ago
<carouselChart
2 years ago
ref="carouselpic"
2 years ago
:terminalPhoto="terminalPhoto"
2 years ago
v-if="terminalPhoto.length > 0"
2 years ago
></carouselChart>
2 years ago
</div>
<div class="parameterArea">
<div class="zzbox">
<!-- <h3>装置名称</h3> -->
<p class="zzidname">{{ cmdid }}</p>
</div>
<div class="paramsDate">
2 years ago
<h3>日历快速查询</h3>
<el-date-picker
v-model="dateValue"
type="date"
placeholder="选择日期"
value-format="timestamp"
@change="changedate"
2 years ago
:clearable="false"
2 years ago
>
</el-date-picker>
</div>
<div class="monitorItemBox">
2 years ago
<h3>选择通道监拍点</h3>
2 years ago
<el-select
v-model="channelListValue"
placeholder="请选择"
@change="changeChannelId"
ref="multiSelect"
>
<el-option
v-for="item in channelListOption"
:key="item.value"
2 years ago
:label="
item.alias !== null && item.alias !== ''
? item.alias
: item.label
"
:value="item.value"
>
2 years ago
{{
item.alias !== null && item.alias !== ""
? item.alias
: item.label
}}
<!-- {{ item.label }}{{ item.alias }} -->
</el-option>
</el-select>
</div>
2 years ago
<div class="setTimebtn">
2 years ago
<h3>操作项</h3>
2 years ago
<div class="buttonGroup">
2 years ago
<el-dropdown trigger="click" @command="handleCommandpic">
<el-button type="primary" :loading="btnpicloading">
2 years ago
主动拍照<i class="el-icon-arrow-down el-icon--right"></i>
2 years ago
</el-button>
2 years ago
<el-dropdown-menu slot="dropdown" class="picdropStyle">
2 years ago
<el-dropdown-item
:command="item.value"
v-for="(item, index) in channelOption"
2 years ago
:key="index"
2 years ago
>{{
item.alias !== null && item.alias !== ""
? item.alias
: item.label
}}</el-dropdown-item
2 years ago
>
</el-dropdown-menu>
</el-dropdown>
2 years ago
<el-dropdown trigger="click" @command="handleCommandvideo">
<el-button type="primary" :loading="btnvideoloading">
2 years ago
主动录像<i class="el-icon-arrow-down el-icon--right"></i>
2 years ago
</el-button>
2 years ago
<el-dropdown-menu slot="dropdown" class="videodropStyle">
2 years ago
<el-dropdown-item
:command="item.value"
v-for="(item, index) in channelOption"
2 years ago
:key="index"
2 years ago
>{{
item.alias !== null && item.alias !== ""
? item.alias
: item.label
}}</el-dropdown-item
2 years ago
>
</el-dropdown-menu>
</el-dropdown>
<el-button type="primary" @click="handleShowInfo">
2 years ago
装置信息</el-button
>
<el-button type="primary" @click.native.stop="handleSetSchedule()"
>拍照时间表</el-button
>
2 years ago
2 years ago
<el-dropdown
class="dropgps"
trigger="click"
@command="handleCommandWarn"
>
<el-button type="primary">
2 years ago
声光报警<i class="el-icon-arrow-down el-icon--right"></i>
</el-button>
<el-dropdown-menu slot="dropdown" class="gpsdropStyle">
<el-dropdown-item command="open">开启</el-dropdown-item>
<el-dropdown-item command="close">关闭</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
2 years ago
<!-- 线缆显示 -->
<el-dropdown
class="dropgps"
trigger="click"
@command="handleCommandLine"
>
<el-button type="primary">
线缆显示<i class="el-icon-arrow-down el-icon--right"></i>
</el-button>
<el-dropdown-menu slot="dropdown" class="gpsdropStyle">
<el-dropdown-item command="open">开启</el-dropdown-item>
<el-dropdown-item command="close">关闭</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
2 years ago
<!-- 获取gps位置 -->
<el-button type="primary" @click.native.stop="handleShowGPS()"
>获取GPS位置</el-button
>
<!-- gps开关 -->
<el-dropdown
class="dropgps"
trigger="click"
@command="handleCommandGps"
>
<el-button type="primary">
GPS开关<i class="el-icon-arrow-down el-icon--right"></i>
</el-button>
<el-dropdown-menu slot="dropdown" class="gpsdropStyle">
<el-dropdown-item command="open">开启GPS</el-dropdown-item>
<el-dropdown-item command="close">关闭GPS</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
2 years ago
</div>
</div>
2 years ago
</div>
</div>
2 years ago
<setschedule ref="setschedule_ref"></setschedule>
2 years ago
<info-dialog ref="infodialog_ref"></info-dialog>
2 years ago
<gps-position ref="gpsdialog_ref"></gps-position>
</div>
</div>
2 years ago
</template>
<script>
import {
2 years ago
getdyTreeListJoggle,
2 years ago
getChannelByTermidJoggle,
getTerminalPhotoListJoggle,
2 years ago
getLatestPhotoJoggle,
getReturnedPhotoJoggle,
2 years ago
alarmMarkJoggle,
getTermStatus,
2 years ago
setTermGPSJoggle,
} from "@/utils/api/index";
import { mapState } from "vuex";
import carouselChart from "../components/carouselChart.vue";
import setschedule from "./components/setschedule.vue";
import deviceUpgrade from "./components/deviceUpgrade.vue";
2 years ago
import infoDialog from "./components/infoDialog.vue";
2 years ago
import gpsPosition from "./components/gpsPosition.vue";
2 years ago
export default {
components: {
carouselChart,
setschedule,
deviceUpgrade,
2 years ago
infoDialog,
2 years ago
gpsPosition,
},
data() {
return {
btnpicloading: false,
btnvideoloading: false,
2 years ago
flag: true,
2 years ago
onlinestatus: "", //设备状态啊
showBigPic: true,
defaultKey: "",
lineTreeData: [],
treeStatus: [],
statusTimer: null,
2 years ago
filterText: "",
defaultProps: {
//指定参数格式回显数据
children: "list",
label: "name",
},
currentNodekey: "", //默认选中的节点树,
2 years ago
cmdid: "", //装置id,
channelId: "", //通道装置id
2 years ago
channelList: "", //通道数据
channelOption: [], //通道分类
2 years ago
channelListOption: [], //通道内容
channelListValue: "",
channelValue: [], //选中的通道
2 years ago
terminalPhoto: [], //获取拍照装置当前数据
2 years ago
totalPic: "",
2 years ago
dateValue: "", //日期
2 years ago
nopicPath: require("@/assets/img/nopic.jpg"),
2 years ago
loadingBg: false,
loadingpic: false,
newPicData: "",
timer: null,
2 years ago
treetimer: null,
treenum: 0,
i: 0,
newTermId: "",
2 years ago
zzstatus: "",
};
},
2 years ago
watch: {
filterText(val) {
console.log(val);
this.$refs.tree.filter(val);
console.log(this.$refs.tree);
},
},
computed: {
...mapState(["channelid", "termid"]),
channelid() {
let storechannelid = localStorage.getItem("channelid");
return storechannelid;
// return this.$store.state.channelid;
},
termid() {
let storetermid = localStorage.getItem("termid");
return storetermid;
},
},
mounted() {
this.dragControllerDiv();
},
created() {
this.getLineTreeList();
2 years ago
this.getDateTime();
console.log(this.dateValue);
2 years ago
this.treetimer = window.setInterval(() => {
setTimeout(this.getLineTreeStatus(), 0);
}, 300000);
},
methods: {
2 years ago
//树状图搜索
filterNode(value, data) {
console.log(value, data);
if (!value) return true;
return data.name.indexOf(value) !== -1;
},
2 years ago
//获取当前时间
getDateTime() {
this.dateValue = new Date().getTime();
},
//选择时间
changedate() {
console.log(this.dateValue);
console.log(this.channelList);
this.getTerminalPhotoList(
2 years ago
this.channelValue,
this.dateValue,
this.channelList[0].termId
);
2 years ago
},
//获取状态
2 years ago
getLineTreeStatus() {
getdyTreeListJoggle()
.then((res) => {
console.log(res);
this.lineTreeData = res.data.list;
this.$nextTick(() => {
this.$refs.tree.setCurrentKey(this.newTermId); //一定要加这个选中了否则样式没有出来
});
})
.catch((err) => {
console.log(err); //代码错误、请求失败捕获
});
},
//获取左侧树结构
2 years ago
getLineTreeList() {
2 years ago
this.loadingBg = true;
2 years ago
getdyTreeListJoggle()
.then((res) => {
console.log(res);
this.lineTreeData = res.data.list;
console.log(this.lineTreeData);
2 years ago
console.log(this.lineTreeData[0].list[0].list);
if (this.lineTreeData[0].list[0].list.length > 0) {
this.currentNodekey = this.lineTreeData[0].list[0].list[0].id; //第一个数据
this.newTermId = this.lineTreeData[0].list[0].list[0].id;
2 years ago
this.cmdid = this.lineTreeData[0].list[0].list[0].cmdid;
2 years ago
this.zzstatus = this.lineTreeData[0].list[0].list[0].onlinestatus;
console.log(this.zzstatus);
this.$nextTick(() => {
this.$refs.tree.setCurrentKey(this.currentNodekey); //一定要加这个选中了否则样式没有出来
this.channelId = this.currentNodekey;
this.getChannelList(this.channelId); //获取通道id接口
});
}
2 years ago
this.loadingBg = false;
})
.catch((err) => {
console.log(err); //代码错误、请求失败捕获
2 years ago
});
},
2 years ago
//点击获取当前点击的tree数据
handleNodeClick(data, node) {
console.log(data, node);
if (data.list) {
this.$refs.tree.setCurrentKey(data.list[0].id);
}
2 years ago
this.zzstatus = data.onlinestatus;
console.log(this.zzstatus);
2 years ago
this.channelId = data.id; //获取当前点击的id
2 years ago
this.cmdid = data.cmdid;
this.newTermId = data.id; //获取当前点击的id
2 years ago
console.log(data);
this.channelValue = [];
2 years ago
this.channelOption = [];
2 years ago
this.channelListOption = [];
2 years ago
this.getChannelList(this.channelId); //获取通道id接口
2 years ago
this.stop();
2 years ago
this.btnvideoloading = false;
this.btnpicloading = false;
2 years ago
},
2 years ago
//获取通道的接口
2 years ago
getChannelList(id) {
2 years ago
getChannelByTermidJoggle({ termid: id })
2 years ago
.then((res) => {
console.log(res);
this.channelList = res.data.list;
2 years ago
console.log(this.channelList);
2 years ago
this.channelOption = [];
2 years ago
this.channelList.forEach((item) => {
this.channelOption.push({
2 years ago
label: item.channelname,
value: item.channelid,
2 years ago
termid: item.termId,
2 years ago
alias: item.alias,
2 years ago
});
this.channelValue.push(item.channelid); //默认选中所有通道
2 years ago
}); // 选择通道一通道二select框
console.log(this.channelOption);
console.log(this.channelValue);
2 years ago
this.channelListOption = [];
this.channelListOption.push({
2 years ago
label: "全部",
value: "",
termid: "",
2 years ago
alias: "",
2 years ago
});
this.channelList.forEach((item) => {
this.channelListOption.push({
label: item.channelname,
value: item.channelid,
termid: item.termId,
2 years ago
alias: item.alias,
});
2 years ago
});
this.channelListValue = this.channelListOption[0].value; //默认选中所有通道
// console.log(JSON.parse(JSON.stringify(this.channelValue)));
// this.channelValue = JSON.parse(JSON.stringify(this.channelValue));
2 years ago
console.log(this.channelOption.length);
if (this.channelOption.length == 0) {
console.log("没有绑定通道");
this.terminalPhoto = [
{
path: this.nopicPath,
termId: id,
2 years ago
},
];
console.log(this.terminalPhoto);
return;
} else {
this.getTerminalPhotoList(
this.channelValue,
this.dateValue,
this.channelList[0].termId
); //获取图片列表是传当前设备的 id 和termid
}
2 years ago
})
.catch((err) => {
2 years ago
this.loading = false;
console.log("没有绑定通道");
this.terminalPhoto = [
{
path: this.nopicPath,
termId: id,
2 years ago
},
];
console.log(this.terminalPhoto);
2 years ago
console.log(err); //代码错误、请求失败捕获
});
},
//获取图片
getTerminalPhotoList(id, date, termId) {
2 years ago
this.loadingpic = true;
this.terminalPhoto = [];
console.log(id, date, termId);
2 years ago
getTerminalPhotoListJoggle({
channelid: id,
time: date,
2 years ago
terminalid: termId,
})
.then((res) => {
console.log(res);
if (res.data.list.length == 0) {
this.terminalPhoto = [
{
path: this.nopicPath,
termId: termId,
},
];
2 years ago
this.totalPic = 0;
} else {
this.terminalPhoto = res.data.list;
}
2 years ago
console.log(this.terminalPhoto.length);
this.totalPic = res.data.num;
//this.$refs.a.getphotodata(this.terminalPhoto);
2 years ago
this.loadingpic = false;
2 years ago
console.log(this.terminalPhoto);
})
.catch((err) => {
console.log(err); //代码错误、请求失败捕获
});
},
//切换通道
changeChannelId(val) {
2 years ago
let selchannel = [];
if (!val) {
this.channelList.forEach((item) => {
selchannel.push(item.channelid); //选中所有通道
});
2 years ago
} else {
selchannel.push(val);
}
2 years ago
let channelObj = {};
channelObj = this.channelOption.find(function (i) {
return i.value;
2 years ago
});
console.log(channelObj);
this.getTerminalPhotoList(selchannel, this.dateValue, channelObj.termid);
2 years ago
},
2 years ago
//设置时间表
handleSetSchedule() {
2 years ago
this.$refs.setschedule_ref.display();
this.$refs.setschedule_ref.getSingleAccess(this.channelId, this.cmdid);
this.$refs.setschedule_ref.deviceList();
},
2 years ago
//声光报警开启关闭
2 years ago
handleCommandWarn(command) {
switch (command) {
case "open": //开启
this.handleWarn(1);
break;
case "close": //关闭
this.handleWarn(0);
break;
}
},
//声光报警
handleWarn(val) {
2 years ago
console.log("声光报警");
2 years ago
console.log(this.cmdid);
getTermStatus({ termId: this.newTermId }).then((res) => {
console.log(res);
if (res.data.isonline) {
alarmMarkJoggle({
cmdId: this.cmdid,
ctrl: val,
termId: this.newTermId,
})
.then((res) => {
console.log(res);
if (res.code == 200) {
if (val == 1) {
this.$message({
duration: 1500,
showClose: true,
message: "声光报警开启成功",
type: "success",
});
} else {
this.$message({
duration: 1500,
showClose: true,
message: "声光报警关闭成功",
type: "success",
});
}
}
})
.catch((err) => {
2 years ago
this.$message({
duration: 1500,
2 years ago
showClose: true,
message: "声光报警操作失败",
type: "error",
2 years ago
});
});
} else {
2 years ago
this.$message({
duration: 1500,
2 years ago
showClose: true,
message: "装置下线,发送指令失败",
2 years ago
type: "error",
});
}
});
2 years ago
},
2 years ago
//线缆显示
handleCommandLine(command) {
switch (command) {
case "open": //开启
2 years ago
this.$refs.carouselpic.openline();
2 years ago
break;
case "close": //关闭
this.$refs.carouselpic.handelClear();
break;
}
},
2 years ago
2 years ago
handleShowErr() {
this.$message({
duration: 1500,
2 years ago
showClose: true,
2 years ago
message: "该功能暂未开发,敬请期待",
type: "warning",
});
},
2 years ago
2 years ago
//手动拍照
2 years ago
handleCommandpic(command) {
console.log(command);
getTermStatus({ termId: this.newTermId }).then((res) => {
console.log(res);
if (res.data.isonline) {
this.btnpicloading = true;
2 years ago
getLatestPhotoJoggle({
captureType: 0,
channel: command,
// cmdid: this.cmdid,
termId: this.newTermId,
preset: 255,
})
.then((res) => {
this.$message({
duration: 1500,
showClose: true,
message: "手动拍照请求成功!",
type: "success",
});
2 years ago
this.loadingpic = true;
console.log(res);
this.newPicData = res.data;
console.log(this.newPicData);
console.log(this.newTermId);
this.timer = window.setInterval(() => {
this.newPicApi();
this.i++;
}, 5000);
})
.catch((err) => {
console.log(err); //代码错误、请求失败捕获
});
} else {
this.btnpicloading = false;
2 years ago
this.loadingpic = false;
2 years ago
this.$message({
duration: 1500,
2 years ago
showClose: true,
message: "装置下线,发送指令失败",
type: "error",
2 years ago
});
}
});
2 years ago
},
2 years ago
//手动拍视频
handleCommandvideo(command) {
console.log(command);
getTermStatus({ termId: this.newTermId }).then((res) => {
console.log(res);
if (res.data.isonline) {
this.btnvideoloading = true;
getLatestPhotoJoggle({
captureType: 1,
channel: command,
//cmdid: this.cmdid,
termId: this.newTermId,
preset: 255,
})
.then((res) => {
this.$message({
duration: 1500,
showClose: true,
message: "手动拍视频请求成功!",
type: "success",
});
2 years ago
this.loadingpic = true;
console.log(res);
this.newPicData = res.data;
console.log(this.newPicData);
console.log(this.newTermId);
this.timer = window.setInterval(() => {
this.newPicApi();
this.i++;
}, 10000);
})
.catch((err) => {
console.log(err); //代码错误、请求失败捕获
});
} else {
2 years ago
this.btnvideoloading = false;
this.loadingpic = false;
2 years ago
this.$message({
duration: 1500,
2 years ago
showClose: true,
message: "装置下线,发送指令失败",
type: "error",
2 years ago
});
}
});
2 years ago
},
//获取最新图片
newPicApi() {
getReturnedPhotoJoggle({
photoTime: this.newPicData,
termId: this.newTermId,
}).then((res) => {
console.log(res.data);
console.log(this.i);
//console.log(this.newPicData, this.currentNodekey);
if (res.data == true && this.i < 10) {
console.log(res.data);
clearInterval(this.timer);
this.timer = null;
this.getTerminalPhotoList(
this.channelValue,
this.dateValue,
this.channelList[0].termId
);
this.btnpicloading = false;
this.btnvideoloading = false;
console.log("返回最新图片");
2 years ago
this.i = 0;
} else if (res.data == false && this.i > 10) {
2 years ago
this.i = 0;
clearInterval(this.timer);
this.timer = null;
this.$message({
duration: 1500,
2 years ago
showClose: true,
2 years ago
message: "装置暂无响应,请稍后再试!",
type: "warning",
});
this.btnpicloading = false;
this.btnvideoloading = false;
2 years ago
this.loadingpic = false;
}
console.log("2222222222222222");
});
},
stop() {
clearInterval(this.timer);
this.timer = null;
},
2 years ago
//装置信息handleShowInfo
handleShowInfo() {
getTermStatus({ termId: this.newTermId }).then((res) => {
console.log(res);
if (res.data.isonline) {
2 years ago
this.$refs.infodialog_ref.display(this.channelId, this.cmdid);
this.$refs.infodialog_ref.getinfo();
//this.$refs.infodialog_ref.getListData(this.channelId, this.cmdid);
} else {
this.$message({
duration: 1500,
showClose: true,
message: "装置下线,发送指令失败",
type: "error",
});
}
});
2 years ago
},
2 years ago
//获取GPS位置
handleShowGPS() {
2 years ago
this.$refs.gpsdialog_ref.display(this.cmdid, this.newTermId);
this.$refs.gpsdialog_ref.getgpssql();
2 years ago
},
//切换gps开启关闭
handleCommandGps(command) {
switch (command) {
case "open": //开启
this.changeGPS(1, this.cmdid);
break;
case "close": //关闭
this.changeGPS(0, this.cmdid);
break;
}
},
changeGPS(val, cmdid) {
console.log(val, cmdid);
setTermGPSJoggle({ gpsstatus: val, cmdId: cmdid })
.then((res) => {
console.log(res);
if (val == 0) {
this.$message({
duration: 1500,
message: "关闭GPS",
type: "success",
showClose: true,
});
} else {
this.$message({
duration: 1500,
message: "成功开启GPS",
type: "success",
showClose: true,
});
}
})
.catch((err) => {
console.log(err); //代码错误、请求失败捕获
});
},
2 years ago
//历史图片
2 years ago
// handlehistoryPic() {
// this.$router.push({ path: "/realTimeSearch" });
// // sessionStorage.setItem("keyPath", " realTimeSearch");
// },
dragControllerDiv() {
var resize = document.getElementsByClassName("resize");
var left = document.getElementsByClassName("sideBar");
var mid = document.getElementsByClassName("picSetBox");
var box = document.getElementsByClassName("monitor-container");
for (let i = 0; i < resize.length; i++) {
// 鼠标按下事件
resize[i].onmousedown = function (e) {
//颜色改变提醒
resize[i].style.background = "#128071";
var startX = e.clientX;
resize[i].left = resize[i].offsetLeft;
// 鼠标拖动事件
document.onmousemove = function (e) {
var endX = e.clientX;
var moveLen = resize[i].left + (endX - startX); // endx-startx=移动的距离。resize[i].left+移动的距离=左边区域最后的宽度
var maxT = box[i].clientWidth - resize[i].offsetWidth; // 容器宽度 - 左边区域的宽度 = 右边区域的宽度
if (moveLen < 290) moveLen = 290; // 左边区域的最小宽度为32px
if (moveLen > maxT - 600) moveLen = maxT - 600; //右边区域最小宽度为150px
resize[i].style.left = moveLen; // 设置左侧区域的宽度
for (let j = 0; j < left.length; j++) {
left[j].style.width = moveLen + "px";
mid[j].style.width = box[i].clientWidth - moveLen - 3 + "px";
}
};
// 鼠标松开事件
document.onmouseup = function (evt) {
//颜色恢复
resize[i].style.background = "#dcdfe6";
document.onmousemove = null;
document.onmouseup = null;
resize[i].releaseCapture && resize[i].releaseCapture(); //当你不在需要继续获得鼠标消息就要应该调用ReleaseCapture()释放掉
};
resize[i].setCapture && resize[i].setCapture(); //该函数在属于当前线程的指定窗口里设置鼠标捕获
return false;
};
}
},
},
destroyed() {
2 years ago
clearInterval(this.treetimer);
this.treetimer = null;
//离开页面是销毁
2 years ago
if (this.timer) {
console.log(this.timer);
clearInterval(this.timer);
this.timer = null;
} //利用vue的生命周期函数
},
2 years ago
};
</script>
<style lang="less">
.monitorBox {
2 years ago
width: calc(100% - 0px);
2 years ago
height: calc(100% - 12px);
padding: 12px 0px 0px 0px;
background: #ffffff;
.monitor-container {
2 years ago
display: flex;
height: 100%;
box-sizing: border-box;
background: @color-white;
border: 1px solid #dddddd;
border-radius: 4px;
.sideBar {
width: 300px;
//border-right: 1px solid @border-color-base;
2 years ago
display: flex;
flex-direction: column;
padding: 16px 0px;
2 years ago
.searchBar {
width: 94%;
margin: 0 auto;
margin-bottom: 16px;
}
.el-tree {
2 years ago
overflow: auto;
.el-tree-node__content {
height: 40px;
2 years ago
font-size: 12px;
}
.custom-tree-node {
color: #333;
}
}
.el-tree--highlight-current
.el-tree-node.is-current
> .el-tree-node__content {
// 设置颜色
color: #fff;
2 years ago
background: #169e8c;
.custom-tree-node {
color: #fff;
}
}
.disconnect {
color: #d3d3d3;
}
}
/*拖拽区div样式*/
.resize {
cursor: col-resize;
float: left;
position: relative;
background-color: #dcdfe6;
width: 3px;
height: 100%;
/*拖拽区鼠标悬停样式*/
&:hover {
background-color: #169e8c;
}
}
.picSetBox {
display: flex;
width: 100%;
height: 100%;
//background: #fcc;
flex: 1;
overflow: hidden;
border-left: 1px solid @border-color-base;
.swiperBox {
-webkit-box-flex: 1;
-ms-flex: 1;
flex: 1;
width: auto;
overflow: hidden;
2 years ago
display: flex;
flex-direction: column;
2 years ago
.el-loading-mask {
background-color: rgba(255, 255, 255, 0.6) !important;
}
2 years ago
}
.totalPic {
width: 100%;
2 years ago
height: 16px;
2 years ago
margin-bottom: 8px;
2 years ago
text-align: right;
2 years ago
font-size: 12px;
2 years ago
color: #2d8cf0;
font-weight: bold;
2 years ago
line-height: 16px;
2 years ago
}
}
.parameterArea {
width: 220px;
padding: 16px 16px;
border-left: 1px solid #dcdfe6;
2 years ago
position: relative;
.monitorItemBox,
.paramsDate,
2 years ago
.setTimebtn,
.GPSItemBox,
.zzbox {
margin-bottom: 16px;
h3 {
2 years ago
font-size: 14px;
font-weight: normal;
color: @color-text-primary;
margin-bottom: 8px;
}
.el-date-editor.el-input {
width: 215px;
}
.zzidname {
font-weight: normal;
}
2 years ago
}
2 years ago
.setTimebtn {
2 years ago
// position: absolute;
// bottom: 0px;
2 years ago
.buttonGroup {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
.el-button {
margin-bottom: 8px;
width: 104px;
}
.el-button + .el-button {
margin-left: 0px;
}
}
}
2 years ago
}
}
2 years ago
}
2 years ago
.messageGps {
.el-message-box__message {
p {
line-height: 32px;
font-size: 16px;
label {
margin-right: 4px;
}
span {
color: #333;
}
}
}
}
2 years ago
.el-loading-mask {
2 years ago
z-index: 99;
2 years ago
}
2 years ago
.picdropStyle,
.videodropStyle,
.gpsdropStyle {
width: 104px;
margin-top: 0px !important;
}
</style>