胶州空管前端代码
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

1883 lines
62 KiB

<template>
<!-- 门禁 -->
<div v-if="doorState" class="door">
<!-- 各楼栋楼层切换 -->
<clickCp :bimModel="bimModel" sbType="电子门禁" ref="clickcp" :conditions="condition"></clickCp>
<!-- 返回主视角 -->
<backHome :bimModel="bimModel" type="电子门禁" :condition="condition" dom=".mapDom"></backHome>
<div class="mapDom" style="
position: absolute;
left: 105px;
top: 370px;
width: 250px;
height: 180px;
" v-if="bimModel == 1"></div>
<div class="searchDoors" style="padding: 15px; background-repeat: no-repeat"
:style="{ top: bimModel == 1 ? '250px' : '260px' }">
<img src="../../../public/img/monitoring/ktborder.png" class="kt-border kt-border1"
style="width: 15px; height: 15px" />
<img src="../../../public/img/monitoring/ktborder.png" class="kt-border kt-border2"
style="width: 15px; height: 15px" />
<img src="../../../public/img/monitoring/ktborder.png" class="kt-border kt-border3"
style="width: 15px; height: 15px" />
<img src="../../../public/img/monitoring/ktborder.png" class="kt-border kt-border4"
style="width: 15px; height: 15px" />
<div>
<span style="font-size: 13px; color: rgb(1, 238, 255)">设备名称:</span>
<el-select v-model="doorName" placeholder="请选择" style="
background-color: rgb(19, 63, 160);
width: 150px;
max-height: 200px;
" size="mini" v-loadmore="loadMore" popper-class="pull" :popper-append-to-body="false">
<el-option v-for="(item, key) in sbLists1" :key="key" :label="item.name" :value="item.name">
</el-option>
</el-select>
</div>
<div style="margin-top: 15px; display: flex; justify-content: space-around">
<el-button style="
background-color: rgb(1, 238, 255);
color: rgb(23, 72, 167);
border: 0;
width: 80px;
" size="small" @click="searchDoor">查询</el-button>
<el-button style="
background-color: white;
color: rgb(23, 72, 167);
border: 0;
width: 80px;
" size="small" @click="searchDetail">详细查询</el-button>
</div>
</div>
<div class="box2" :class="bimModel == 2 ? 'tataigen' : ''">
<div class="title flex-center">
<img class="icon" src="../../../public/img/monitoring/electricity/sbIcon.png" />
<span>设备概况</span>
</div>
<div class="state flex-center-center">
<div class="zc flex-center" style="font-family: fantasy">
<span style="margin-left: 72px">{{ listData.normalEquipNumber }}</span>
</div>
<div class="lx flex-center" style="font-family: fantasy">
<span style="margin-left: 72px">{{ listData.warnEquipEquipNumber }}</span>
</div>
<div class="bj flex-center" style="font-family: fantasy">
<span style="margin-left: 72px">{{ listData.warnEventEquipNumber }}</span>
</div>
</div>
<div class="stateName flex-center-center">
<span class="zc span_box">正常</span>
<span class="lx span_box">故障报警</span>
<span class="bj span_box">安全报警</span>
</div>
<div class="tab_box">
<div class="tab_one" @click="clickAlarm(1)" :style="{ color: activeTab == 1 ? '#07E6ED' : '#fff' }">
<!-- <span>系统报警 <span class="circle"></span> <span>(4)</span></span> -->
<el-badge :is-dot="isAlarm" class="item">故障报警</el-badge><span
style="margin-left: 5px; vertical-align: bottom">({{ listData.warnEquipWarnNumber }})</span>
</div>
<div class="tab_one tab_two" @click="clickAlarm(2)" :style="{ color: activeTab == 2 ? '#07E6ED' : '#fff' }">
<el-badge :is-dot="isSafe" class="item">安全报警</el-badge><span
style="margin-left: 5px; vertical-align: bottom">({{ listData.warnEventWarnMumber }})</span>
</div>
<!-- <div class="tab_one tab_two" @click="clickAlarm(2)" :style="{color: isSafe ? 'red' :'#fff'}"><el-badge :is-dot='isSafe' class="item">安全报警</el-badge><span style="margin-left:5px;vertical-align: bottom;">({{safeTotal}})</span></div> -->
</div>
<div class="flex-center tit" :class="bimModel == 2 ? 'tataitit' : ''">
<p>设备名称</p>
<span>|</span>
<p>报警信息</p>
<span>|</span>
<p>报警时间</p>
</div>
<div v-if="
JSON.stringify(listData) != '{}' &&
listData.warnEquipList &&
listData.warnEquipList.length == 0 &&
activeTab == 1
" class="noBjxx">
暂无故障报警信息
</div>
<div v-else-if="
JSON.stringify(listData) != '{}' &&
listData.warnEventList &&
listData.warnEventList.length == 0 &&
activeTab == 2
" class="noBjxx">
暂无安全报警信息
</div>
<div v-else class="warp">
<div class="item flex-center" @mouseenter="showAlarkAlert(item, index, 0)" style="position: relative"
@mouseleave="closeAlarkAlert(item, index, 0)" v-for="(item, index) in listData.warnEquipList" :key="index"
v-if="activeTab == 1">
<div :style="{ display: item.showAlert ? 'flex' : 'none' }" class="alark-alert">
<p @click="bjClick(item)" v-if="item.modelId != ''">
<img src="../../../public/img/monitoring/electricity/alark-detail-icon.png" alt="" />
<span>查看详情</span>
</p>
<span v-if="item.confirmStatus == '0' && item.modelId != ''">|</span>
<p v-if="item.confirmStatus == '0'" @click="doCancelWarn(item)">
<img src="../../../public/img/monitoring/electricity/close-alark-icon.png" alt="" />
<span>确认告警</span>
</p>
<span v-if="item.warnStatus == 1 && (item.modelId != '' || item.confirmStatus == '0')">|</span>
<p v-if="item.warnStatus == 1" @click="doRecoveryWarn(item)">
<i class="el-icon-refresh-right" style="margin-right:10px;"></i>
<span>告警恢复</span>
</p>
</div>
<div class="box flex-center" :class="bimModel == 2 ? 'tataicon' : ''">
<div class="left flex-center-center">
<img class="icon" :src="
require(item.warnStatus == 2
? '../../../public/img/monitoring/electricity/lx.png'
: '../../../public/img/monitoring/electricity/bj.png')
" />
<span class="message" v-text="item.name" :title="item.name" :style="{
color: item.warnStatus == 2 ? 'white' : item.warnStatus == 1 ? '#ff0000' : 'white',
}"></span>
</div>
<span class=""></span>
<span class="data" :title="item.warnContent" :style="{
color: item.warnStatus == 2 ? 'white' : item.warnStatus == 1 ? '#ff0000' : 'white',
}">{{ item.warnContent }}</span>
<span class=""></span>
<span class="time" :style="{
color: item.warnStatus == 2 ? 'white' : item.warnStatus == 1 ? '#ff0000' : 'white',
}">{{ item.warnDate.substring(5, 16) }}</span>
</div>
</div>
<div class="item flex-center" v-for="(item, index) in listData.warnEventList" :key="index"
@mouseenter="showAlarkAlert(item, index, 1)" style="position: relative"
@mouseleave="closeAlarkAlert(item, index, 1)">
<div :style="{ display: item.showAlert ? 'flex' : 'none' }" class="alark-alert">
<p @click="bjClick(item)" v-if="item.modelId != ''">
<img src="../../../public/img/monitoring/electricity/alark-detail-icon.png" alt="" />
<span>查看详情</span>
</p>
<span v-if="item.confirmStatus == 1 && item.modelId != ''">|</span>
<p v-if="item.confirmStatus == 1" @click="doCancelWarn(item)">
<img src="../../../public/img/monitoring/electricity/close-alark-icon.png" alt="" />
<span>确认告警</span>
</p>
<span v-if="item.warnStatus == 1 && (item.modelId != '' || item.confirmStatus == '0')">|</span>
<p v-if="item.warnStatus == 1" @click="doRecoveryWarn(item)">
<i class="el-icon-refresh-right" style="margin-right:10px;"></i>
<span>告警恢复</span>
</p>
</div>
<div class="box flex-center">
<div class="left flex-center-center">
<img class="icon" :src="
require(item.warnStatuss == 2
? '../../../public/img/monitoring/electricity/lx.png'
: '../../../public/img/monitoring/electricity/bj.png')
" />
<span class="message" v-text="item.name" :title="item.name" :style="{
color: item.warnStatus == 2 ? 'white' : item.warnStatus == 1 ? '#ff0000' : 'white',
}"></span>
</div>
<span class=""></span>
<span class="data" :title="item.warnContent" :style="{
color: item.warnStatus == 2 ? 'white' : item.warnStatus == 1 ? '#ff0000' : 'white',
}">{{ item.warnContent }}</span>
<span class=""></span>
<span class="time" :style="{
color: item.warnStatus == 2 ? 'white' : item.warnStatus == 1 ? '#ff0000' : 'white',
}">{{ item.warnDate.substring(5, 16) }}</span>
</div>
</div>
</div>
<div style="
position: absolute;
bottom: 10px;
right: 10px;
width: 345px;
text-align: right;
color: rgb(7, 230, 237);
font-size: 14px;
cursor: pointer;
">
<span @click="goMoreWarnList">查看报警详情</span>
</div>
</div>
<!-- 设备列表 -->
<div class="tab" :class="bimModel == 2 ? 'tataigen' : ''">
<div class="title flex-center">
<img src="../../../public/img/monitoring/electricity/listIcon3.png" />
<span id="door_box">设备列表</span>
</div>
<div class="tabBox">
<el-table @row-click="tableClick" :data="tableData" style="
width: 100%;
cursor: pointer;
background-color: transparent;
max-height: 220px;
" :class="bimModel == 2 ? 'tataitab' : ''" @row-contextmenu="tableContext">
<el-table-column label="设备名称" min-width="110px" align="left">
<template slot-scope="scope">
<div class="flex-center dev_name" style="overflow: hidden; white-space: nowrap">
<img v-if="scope.row.status == 90000" style="margin: 0 6px"
src="../../../public/img/monitoring/electricity/listIcon.png" />
<img v-else-if="scope.row.status == 90001" style="margin: 0 6px"
src="../../../public/img/monitoring/electricity/listIcon2.png" />
<img v-else style="margin: 0 6px" src="../../../public/img/monitoring/electricity/listIcon4.png" />
<span :style="{
color:
scope.row.status == 90000
? 'white'
: scope.row.status == 90001
? '#a5bbe5'
: 'red',
}" style="
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
" :title="scope.row.name">{{ scope.row.name }}</span>
</div>
</template>
</el-table-column>
<el-table-column label="|" width="5"> </el-table-column>
<el-table-column label="进/出" width="80">
<template slot-scope="scope">
<div class="flex-center">
<span style="padding-left: 10px" :style="{
color:
scope.row.status == 90000
? 'white'
: scope.row.status == 90001
? '#a5bbe5'
: 'red',
}">{{ scope.row.dataInNum }}/{{ scope.row.dataOutNum }}</span>
</div>
</template>
</el-table-column>
<el-table-column label="|" width="5"> </el-table-column>
<el-table-column label="状态" width="80">
<template slot-scope="scope">
<div class="flex-center">
<span style="padding-left: 10px" :style="{
color:
scope.row.status == 90000
? 'white'
: scope.row.status == 90001
? '#a5bbe5'
: 'red',
}">{{
scope.row.status == 90000
? "正常"
: scope.row.status == 90001
? "离线"
: "报警"
}}</span>
</div>
</template>
</el-table-column>
</el-table>
</div>
<!-- 分页 -->
<div class="pagination">
<el-pagination :pager-count="4" background @current-change="handleCurrentChange" :current-page.sync="current"
:page-size="size" layout="total, prev, pager, next" :total="total">
</el-pagination>
</div>
</div>
<!-- 查询列表 -->
<div class="search-list" style="left: 480px; top: 150px; padding: 15px; width: 800px" v-if="isSearch">
<div class="search-list-top" style="
display: flex;
width: 100%;
justify-content: space-between;
align-items: flex-end;
">
<div>
<p style="font-size: 13px; color: rgb(1, 238, 255); margin-bottom: 7px">
设备名称
</p>
<el-select v-model="doorName1" placeholder="请选择" style="width: 120px" size="mini">
<el-option v-for="(item, key) in sbLists" :key="key" :label="item.name" :value="item.name">
</el-option>
</el-select>
</div>
<div>
<p style="font-size: 13px; color: rgb(1, 238, 255); margin-bottom: 7px">
通过人员
</p>
<el-input placeholder="请输入人员名称" v-model="userName" size="mini" />
</div>
<div>
<p style="font-size: 13px; color: rgb(1, 238, 255); margin-bottom: 7px">
通过时间
</p>
<el-date-picker v-model="timeValue" type="datetimerange" start-placeholder="" end-placeholder="" size="mini"
style="width: 300px" format="MM-dd HH:mm" value-format="yyyy-MM-dd HH:mm:ss">
</el-date-picker>
</div>
<!-- <div>
<p style="font-size: 13px;color: rgb(1,238,255);margin-bottom: 7px;">通过时间</p>
<el-date-picker v-model="timeValue" type="datetimerange" start-placeholder="" end-placeholder=""
size="mini" style="width: 300px;" format="MM-dd HH:mm" value-format="yyyy-MM-dd HH:mm:ss">
</el-date-picker>
</div> -->
<el-button style="
background-color: rgb(1, 238, 255);
color: rgb(23, 72, 167);
border: 0;
width: 80px;
height: 35px;
" size="mini" @click="searchDevice">查询</el-button>
</div>
<div class="search-list-table" style="overflow: hidden; margin-top: 20px">
<img src="../../../public/img/monitoring/ktborder.png" class="kt-border kt-border1"
style="width: 15px; height: 15px" />
<img src="../../../public/img/monitoring/ktborder.png" class="kt-border kt-border2"
style="width: 15px; height: 15px" />
<img src="../../../public/img/monitoring/ktborder.png" class="kt-border kt-border3"
style="width: 15px; height: 15px" />
<img src="../../../public/img/monitoring/ktborder.png" class="kt-border kt-border4"
style="width: 15px; height: 15px" />
<img src="../../../public/img/monitoring/electricity/close-cha.png"
style="position: absolute; right: 3px; top: 3px" @click="closeSearch" />
<!-- <p style="margin: 15px 0 10px 15px">详细信息</p> -->
<el-table :data="searchLists" stripe style="background-color: transparent; width: 100%; color: white"
:show-header="false" :row-style="rowStyle">
<el-table-column prop="name" label="设备名称"> </el-table-column>
<el-table-column prop="cardName" label="通过人员"> </el-table-column>
<el-table-column prop="inOutFlag" label="进出标志">
<template slot-scope="scope">{{scope.row.inOutFlag == 1 ? "出" : "进"}}</template>
</el-table-column>
<el-table-column prop="accessTime" label="通过时间">
</el-table-column>
</el-table>
<!-- 分页 -->
<div class="pagination">
<el-pagination background @current-change="handleCurrentChange1" :current-page.sync="current1" :page-size="10"
layout="total, prev, pager, next" :total="total1">
</el-pagination>
</div>
</div>
</div>
</div>
</template>
<script>
import * as bfHelper from "../../util/bfHelper";
import * as commonValue from "../../util/commonValue";
import clickCp from "./clickCp";
import {
getDoorSb, //门禁设备 1业务区/2塔台
getDoorJcjl, //设备列表
// getDoorGK, //报警信息
getdoorData,
getDoorWarn,
getDoorSbList,
getDoorWarnList, //报警列表
getCancelWarn, //确认告警
recoveryWarn,//恢复告警
} from "@/api/garden/monitoring";
import backHome from "./backHome";
export default {
props: {
doorState: {
type: Boolean,
},
bimModel: {
type: Number,
},
},
components: {
clickCp,
backHome,
},
data() {
return {
rowStyle: {
backgroundColor: "transparent",
height: "35px",
},
listData: {
warnEquipList: [],
warnEventList: [],
}, //报警信息
classOption: {
step: 0.2,
}, //报警信息滚动速度
current: 1, //当前页
current1: 1, //当前页
current2: 1, //当前页
size: 5, //每页数量
total: 0, //总条目数
total1: 0, //总条目数
tableData: [], //设备列表
// 业务区 1-6号楼+园区+运动场+室外地坪+地下室的文件id 地下室最后一个
tower: bfHelper.ywqTowerFileId,
// 业务区 1-6号楼楼层标签点位(按123层)
position: bfHelper.ywqFloorPt,
// 业务区 每号楼的视角
cameraPosition: bfHelper.ywqCameraPosition,
// 摄像头的筛选条件
condition: bfHelper.equipmentCondition2[6],
// 塔台 主塔+辅楼+室外整体
fileId: bfHelper.ttTowerFileId,
doorName: null, //页面上select选择器查询的设备名称
doorName1: null, //查询弹窗select选择器查询的设备名称
timeValue: null, //查询列表中选择时间
isSearch: false, //详情查询弹窗是否出现
userName: null,
sbLists: [],
build: null,
floor: null,
searshLists: [],
doorId: "",
isAlarm: false,
isSafe: false,
pages: 0,
doorWarnList: [], //门禁报警列表
activeTab: 1,
};
},
watch: {
bimModel: {
handler(newVal, oldVal) {
this.current = 1; //当前页
this.total = 0; //总条目数
this.getData();
},
},
//模型是否加载完成监听
"$store.state.bfHelperState.bfState": {
immediate: true,
handler(newval, olval) {
if (newval) {
// 模型恢复全部状态
bfHelper.resetStatus(2);
if (this.bimModel == 1) {
window.sessionStorage.setItem(
"camera",
JSON.stringify(bfHelper.getCameraStatus())
);
let build = sessionStorage.getItem("build");
let floor = sessionStorage.getItem("floor");
if (build) {
if (build == 10) {
setTimeout(() => {
this.setTowerDoor("07");
this.$refs.clickcp.active = 26;
this.$refs.clickcp.tower = 9;
}, 300);
bfHelper.lookPipeline2(
this.condition,
bfHelper.equipmentCopColors[8],
build - 1,
null,
"电子门禁"
);
} else if (build == 26) {
bfHelper.lookPipeline(null, null, this.condition, "电子门禁");
bfHelper.setOpacityFun();
setTimeout(() => {
this.setTowerDoor();
}, 300);
} else {
if (floor.indexOf("undefined") == -1) {
setTimeout(() => {
this.setTowerDoor("0" + build, "0" + floor);
this.$refs.clickcp.active = commonValue.activeValue(
Number(build),
Number(floor)
);
this.$refs.clickcp.tower = commonValue.towerValue(build);
}, 300);
bfHelper.lookPipeline2(
this.condition,
bfHelper.equipmentCopColors[8],
build - 1,
floor,
"电子门禁"
);
} else {
setTimeout(() => {
this.setTowerDoor("0" + build);
this.$refs.clickcp.active = commonValue.activeValue(
Number(build),
null
);
this.$refs.clickcp.tower = commonValue.towerValue(build);
}, 300);
bfHelper.lookPipeline2(
this.condition,
bfHelper.equipmentCopColors[8],
build - 1,
null,
"电子门禁"
);
}
}
} else {
// 查看管线
bfHelper.lookPipeline(null, null, this.condition, "电子门禁");
bfHelper.setOpacityFun();
this.getNavigationMap();
// this.initial()
}
} else {
// 查看管线
window.sessionStorage.setItem(
"ttcamera",
JSON.stringify(bfHelper.getCameraStatus())
);
let ttbuild = sessionStorage.getItem("ttbuild");
if (ttbuild) {
if (ttbuild == 20) {
//园区
bfHelper.TtLookEquipmentCop("电子门禁");
setTimeout(() => {
this.setTowerDoor();
}, 300);
} else if (ttbuild == 0) {
//塔楼
setTimeout(() => {
this.setTowerDoor("08");
this.$refs.clickcp.ttActive = 0;
}, 300);
bfHelper.ttLookPipeline2(
null,
null,
0,
"电子门禁",
this.condition
);
} else if (ttbuild == 1) {
//辅楼1楼
setTimeout(() => {
this.setTowerDoor("09", "01");
this.$refs.clickcp.ttActive = 1;
}, 300);
bfHelper.ttLookPipeline2(
null,
null,
1,
"电子门禁",
this.condition
);
} else if (ttbuild == 2) {
//辅楼1楼
setTimeout(() => {
this.setTowerDoor("09", "02");
this.$refs.clickcp.ttActive = 2;
}, 300);
bfHelper.ttLookPipeline2(
null,
null,
2,
"电子门禁",
this.condition
);
} else if (ttbuild == 3) {
//辅楼1楼
setTimeout(() => {
this.setTowerDoor("09");
this.$refs.clickcp.ttActive = 3;
}, 300);
bfHelper.ttLookPipeline2(
null,
null,
3,
"电子门禁",
this.condition
);
}
} else {
// 查看管线
bfHelper.TtLookEquipmentCop("电子门禁");
bfHelper.setOpacityFun1();
}
}
}
},
},
doorId: {
handler(newVal, oldVal) {
for (var i = 0; i < this.doorList.length; i++) {
if (newVal == this.doorList[i].id.substring(4)) {
// this.doorList[i].src = ''
this.doorList[i].style.display = "none";
getdoorData(this.bimModel, newVal.substring(15)).then((res) => {
const item = res.data.data;
let id = bfHelper.disposeId(1, item.build, item.modelId);
bfHelper.customTag(
bfHelper.getBoxMessage(id, true).max,
null,
this.doorContent(item)
);
this.doorCustom(item);
this.addRecordData(
this.bimModel,
null,
null,
this.current1,
this.size,
null,
item.name,
null
);
});
// this.doorList[i].src = `${require('../../../public/img/monitoring/electricity/door22.png')}`
}
if (oldVal && oldVal == this.doorList[i].id.substring(4)) {
this.doorList[i].style.display = "inline-block";
bfHelper.hideCustom();
if (this.doorList[i].alt == 90000) {
this.doorList[
i
].src = `${require("../../../public/img/monitoring/electricity/door11.png")}`;
} else if (this.doorList[i].alt == 90001) {
this.doorList[
i
].src = `${require("../../../public/img/monitoring/electricity/door-offline.png")}`;
} else {
this.doorList[
i
].src = `${require("../../../public/img/monitoring/electricity/door-alarm.png")}`;
}
}
}
},
},
},
created() {
this.getData();
},
mounted() {
let dom = document.getElementById('door_box');
dom.addEventListener('contextmenu', (event)=> {
event.preventDefault(); // 阻止默认菜单
const routerUrl = this.$router.resolve({ path: '/equipment/index', query: { classCode: '1000' } });
window.open(routerUrl.href, "_blank");
});
this.getNavigationMap();
},
methods: {
//确认告警 - 重新查询告警列表
doCancelWarn(item) {
getCancelWarn(item.id).then((res) => {
// this.getDoorWarnList2();
item.confirmStatus = 1;
});
},
//恢复告警
doRecoveryWarn(item) {
recoveryWarn(item.id).then((res) => {
// this.getFiredWarnList();
item.warnStatus = 2;
})
},
//跳转历史告警列表
goMoreWarnList() {
const routerUrl = this.$router.resolve({
path: "/equipment/warnHistory",
query: { classCode: "1000", area: this.bimModel },
});
window.open(routerUrl.href, "_blank");
},
// 报警记录-20221031改版
getDoorWarnList2() {
getDoorWarnList({
area: this.bimModel,
build: this.build ? this.build : "",
floor: this.floor ? this.floor : "",
}).then((res) => {
this.listData = res.data.data;
for (let i = 0; i < this.listData.warnEquipList.length; i++) {
this.listData.warnEquipList[i].showAlert = false;
}
for (let i = 0; i < this.listData.warnEventList.length; i++) {
this.listData.warnEventList[i].showAlert = false;
}
});
},
showAlarkAlert(item, index, key) {
//鼠标悬停在设备概况列表里出现查看详情和确认告警
item.showAlert = true;
if (key == 0) {
this.listData.warnEquipList.splice(index, 1, item);
} else {
this.listData.warnEventList.splice(index, 1, item);
}
},
closeAlarkAlert(item, index, key) {
item.showAlert = false;
if (key == 0) {
this.listData.warnEquipList.splice(index, 1, item);
} else {
this.listData.warnEventList.splice(index, 1, item);
}
},
getData() {
this.getDoorWarnList2(); //this.getBjxx(); //报警信息
this.getSbwz(); //设备列表
this.getDoorWarnList();
},
clickAlarm(item) {
this.activeTab = item;
},
getNavigationMap() {
commonValue.getNavigationMap("door");
},
// 接收子组件当前点击楼号
setTowerDoor(i, j) {
this.current = 1; //当前页
this.total = 0; //总条目数
this.build = i;
// if (j) {
this.floor = j;
// }
this.getData();
if (i == undefined && j == undefined) {
} else {
this.setDoorLabel();
}
if (this.bimModel == 1) {
commonValue.getUpdateMap("door", i, j);
}
},
setDoorLabel() {
//电子门禁标签
getDoorSbList(
this.bimModel,
this.build ? this.build : "",
this.floor ? this.floor : "",
""
).then((res) => {
bfHelper.clearDrawableContainer();
const data = res.data.data;
let idArr = [];
let statusArr = [];
for (let d = 0; d < data.length; d++) {
if (data[d].modelId == "") {
} else {
let id = bfHelper.disposeId(
data[d].area,
data[d].build,
data[d].modelId
);
let status = data[d].status;
idArr.push(id);
statusArr.push(status);
}
}
let condition = JSON.parse(JSON.stringify(this.condition));
if (this.build == "07") {
for (let c = 0; c < condition.length; c++) {
let obj = {
levelName: "B1",
fileId: this.tower[this.tower.length - 1],
};
Object.assign(condition[c], obj);
}
} else {
if (this.build && this.floor) {
for (let c = 0; c < condition.length; c++) {
let obj = {
levelName: `${Number(this.floor)}F`,
fileId: this.tower[Number(this.build) - 1],
};
Object.assign(condition[c], obj);
}
} else {
for (let c = 0; c < condition.length; c++) {
let obj = {
fileId: this.tower[Number(this.build) - 1],
};
Object.assign(condition[c], obj);
}
}
}
// console.log(condition)
this.addBq(statusArr, idArr, condition);
});
},
getDoorWarnList() {
if (this.build == undefined) {
this.build = null;
}
if (this.floor == undefined) {
this.floor = null;
}
getDoorWarn(
this.bimModel,
this.build ? this.build : "",
this.floor ? this.floor : ""
).then((res) => {
let offList = []; //离线的构件数组
let bjList = []; //报警的构件数组
const data = res.data.data;
for (let i = 0; i < data.length; i++) {
let id = bfHelper.disposeId(
data[i].area,
data[i].build,
data[i].modelId
);
if (data[i].status == 90001) {
offList.push(id);
} else {
bjList.push(id);
}
}
bfHelper.setFlicker(bjList, "#ff0000", 100);
bfHelper.setColor("#9d9d9d", offList);
});
},
// 获取报警信息
// getBjxx() {
// if (this.build == undefined) {
// this.build = null;
// }
// if (this.floor == undefined) {
// this.floor = null;
// }
// getDoorGK(this.bimModel, this.build ? this.build : '', this.floor ? this.floor : '').then(res => {
// this.listData = res.data.data;
// for (let i = 0; i < this.listData.systemWarnEquipList.length; i++) {
// this.listData.systemWarnEquipList[i].showAlert = false
// }
// for (let i = 0; i < this.listData.safeWarnEquipList.length; i++) {
// this.listData.safeWarnEquipList[i].showAlert = false
// }
// })
// },
// 获取门禁设备列表
getSbwz() {
if (this.build == undefined) {
this.build = null;
}
if (this.floor == undefined) {
this.floor = null;
}
getDoorSb(
this.current,
this.size,
this.bimModel,
this.build ? this.build : "",
this.floor ? this.floor : "",
""
).then((res) => {
this.sbLists = res.data.data.records;
this.tableData = res.data.data.records;
this.sbLists1 = res.data.data.records;
this.total = res.data.data.total; //总条目数
let condition = JSON.parse(JSON.stringify(this.condition));
bfHelper.clearDrawableContainer();
});
},
searchDoor() {
if (this.doorName) {
this.isSearch = true;
bfHelper.clearTags();
getDoorJcjl(
this.bimModel,
null,
null,
this.current1,
this.size,
null,
this.doorName,
null
).then((res) => {
this.searchLists = res.data.data.records;
this.total1 = res.data.data.total; //总条目数
});
} else {
this.$message({
type: "warning",
message: "请选择设备名称",
duration: 1500,
});
}
},
searchDetail() {
this.isSearch = true;
},
searchDevice() {
let startTime = null;
let endTime = null;
if (this.timeValue) {
startTime = this.timeValue[0];
endTime = this.timeValue[1];
}
getDoorJcjl(
this.bimModel,
startTime ? startTime : "",
endTime ? endTime : "",
this.current1,
this.size,
this.userName,
this.doorName,
null
).then((res) => {
this.searchLists = res.data.data.records;
this.total1 = res.data.data.total; //总条目数
});
},
closeSearch() {
this.isSearch = false;
(this.doorName1 = null), //查询弹窗select选择器查询的设备名称
(this.timeValue = null), //查询列表中选择时间
(this.userName = null);
},
// 点击报警信息定位到指定设备
bjClick(item) {
//
bfHelper.clearDrawableContainer();
let id = bfHelper.disposeId(item.area, item.build, item.modelId);
let box = bfHelper.getBoxMessage(id, true);
if (box == "undefined") {
return;
}
console.log("定位", box);
bfHelper.customTag(box.max, null, this.doorContent(item));
this.doorCustom(item);
this.addRecordData(
this.bimModel,
null,
null,
this.current1,
this.size,
null,
item.name,
null
);
if (item.build == "00") {
this.$refs.clickcp.active = 25;
this.$refs.clickcp.tower = null;
bfHelper.mapUpdate(
require("../../../public/img/monitoring/mapviewer/electricity7b.png"),
bfHelper.mapViewerCamera[0][0].mapAnchors,
bfHelper.mapViewerCamera[0][0].modelAnchors
);
bfHelper.lookPipeline(null, null, this.condition, "电子门禁");
let boundingBox = bfHelper.getBoxMessage(id);
bfHelper.zoomToBoundingBox(boundingBox, 20);
} else {
this.$refs.clickcp.active = commonValue.activeValue(
Number(item.build),
Number(item.floored)
);
this.$refs.clickcp.tower = commonValue.towerValue(Number(item.build));
bfHelper.mapUpdate(
require("../../../public/img/monitoring/mapviewer/door" +
Number(item.build) +
"b" +
Number(item.floored) +
"f.png"),
bfHelper.mapViewerCamera[Number(item.build) - 1][
Number(item.floored) - 1
].mapAnchors,
bfHelper.mapViewerCamera[Number(item.build) - 1][
Number(item.floored) - 1
].modelAnchors
);
let camera = bfHelper.cameraPosition[Number(item.build) - 1];
window.sessionStorage.setItem("camera", JSON.stringify(camera));
bfHelper.lookPipeline2(
this.condition,
bfHelper.equipmentCopColors[8],
Number(item.build) - 1,
Number(item.floored),
"电子门禁"
);
}
// bfHelper.customTag(bfHelper.getBoxMessage(id, true).max, null, this.doorContent(item))
// if(item.build == '07'){
// this.$refs.clickcp.active = 26;
// this.$refs.clickcp.tower = 9;
// bfHelper.mapUpdate(require('../../../public/img/monitoring/mapviewer/electricity7b.png'), bfHelper.mapViewerCamera[0][0].mapAnchors,
// bfHelper.mapViewerCamera[0][0].modelAnchors);
// bfHelper.lookPipeline2(null, null, 9, null, '消防', bfHelper.equipmentCondition2[1],this.checkList)
// }else{
// this.$refs.clickcp.active = commonValue.activeValue(Number(item.build),Number(item.floored));
// this.$refs.clickcp.tower = commonValue.towerValue(item.build);
// bfHelper.mapUpdate(require('../../../public/img/monitoring/mapviewer/water' + Number(item.build) +
// 'b' + Number(item.floored) + 'f.png'), bfHelper.mapViewerCamera[Number(item.build) - 1][Number(item.floored) - 1]
// .mapAnchors, bfHelper.mapViewerCamera[Number(item.build) - 1][Number(item.floored) - 1].modelAnchors);
// bfHelper.lookPipeline2(null, null, (item.build) - 1, Number(item.floored) , '消防', bfHelper.equipmentCondition2[1],this.checkList)
// }
let camera = bfHelper.cameraPosition[Number(item.build) - 1];
window.sessionStorage.setItem("camera", JSON.stringify(camera));
bfHelper.setOpacityFun(false);
},
doorContent(item) {
let bgImg1 = require("../../../public/img/monitoring/electricity/liftbg2.png");
let bgImg2 = require("../../../public/img/monitoring/electricity/ktoffline.png");
let bgImg3 = require("../../../public/img/monitoring/electricity/liftbg1.png");
let content = `<div class="leadTips" style="transform: translateY(-72px);">
<div style="display: flex;width:max-content">
<img src="${require(item.status == 90000
? "../../../public/img/monitoring/electricity/customTag1.png"
: item.status == 90001
? "../../../public/img/monitoring/electricity/customTag2.png"
: "../../../public/img/monitoring/electricity/customTag3.png")}" style="width:87px;height:53px;"/>
<div style="margin-top: -42px;">
<div style="width: 185px;height: 46px;background: url('${require(item.status ==
90000
? "../../../public/img/monitoring/electricity/customTag1-1.png"
: item.status == 90001
? "../../../public/img/monitoring/electricity/customTag2-1.png"
: "../../../public/img/monitoring/electricity/customTag3-1.png")}');">
<span style="padding-left: 36px;line-height: 32px;font-size: 15px;color: white;">${item.name
}</span>
</div>
<div id="door-block0" style="background-color:rgb(53,72,108);width:160px;position:absolute;
left:90px;top:15px;padding:10px">
<div style="display:flex;justify-content: space-between;">
<span style="font-size:12px;color:silver">设备状态:</span>
<span style="font-size:13px;color:${item.status == 90000
? "white"
: item.status == 90001
? "#a5bbe5"
: "red"
}">${item.status == 90000
? "正常"
: item.status == 90001
? "离线"
: item.warnMsg
? item.warnMsg
: item.warnContent
? item.warnContent
: ""
}</span>
</div>
<div style="display:flex;justify-content: space-between;margin-top:5px">
<span style="font-size:12px;color:silver">所在位置:</span>
<span style="font-size:13px;color:white">${item.location}</span>
</div>
<div style="display:flex;justify-content: space-between;margin-top:5px">
<span style="font-size:12px;color:silver">固定资产编号:</span>
<span style="font-size:13px;color:white">${item.inventarNummer ? item.inventarNummer : ''}</span>
</div>
<div style="display:flex;justify-content: space-between;margin-top:5px">
<span style="font-size:12px;color:silver">维保人:</span>
<span style="font-size:13px;color:white">${item.maintainUser ? item.maintainUser : ''}</span>
</div>
<div style="display:flex;justify-content: space-between;margin-top:5px">
<span style="font-size:12px;color:silver">维保人电话:</span>
<span style="font-size:13px;color:white">${item.maintainPhone ? item.maintainPhone : ''}</span>
</div>
<div style="display:flex;justify-content: space-between;margin-top:5px">
<span style="font-size:12px;color:silver">维保时间:</span>
<span style="font-size:13px;color:white">${item.maintainTime ? item.maintainTime.substring(0, 10) : ''}</span>
</div>
<div style="display:flex;justify-content: space-between;margin-top:5px">
<span style="font-size:12px;color:silver">维保内容:</span>
<span style="font-size:13px;color:white">${item.maintainDesc ? item.maintainDesc : ''}</span>
</div>
<div style="width:100%;height:1px;background:silver;margin:10px 0"></div>
<div id="pass-user" style="max-height:125px;padding-right:5px;overflow-y:auto">
</div>
</div>
</div>
</div>
</div>`;
return content;
},
doorCustom(item) {
setTimeout(() => {
document.getElementById("pass-user").addEventListener("scroll", (e) => {
if (this.current1 < this.pages) {
if (
e.target.scrollTop + e.target.clientHeight ==
e.target.scrollHeight
) {
this.current1++;
this.addRecordData(
this.bimModel,
null,
null,
this.current1,
this.size,
null,
item.name,
null
);
}
}
});
}, 500);
},
addRecordData(
area,
startTime,
endTime,
current,
size,
cardName,
equipName,
modelId
) {
getDoorJcjl(
area,
startTime,
endTime,
current,
size,
cardName,
equipName,
modelId
).then((res) => {
this.pages = res.data.data.pages;
for (let j = 0; j < res.data.data.records.length; j++) {
let div = document.createElement("div");
div.style.display = "flex";
div.style.justifyContent = "space-between";
div.style.marginTop = "10px";
let span = document.createElement("span");
span.style.color = "white";
span.style.fontSize = "13px";
span.innerText = res.data.data.records[j].cardName;
let span1 = document.createElement("span");
span1.style.color = "white";
span1.style.fontSize = "13px";
span1.innerText = res.data.data.records[j].accessTime;
div.appendChild(span);
div.appendChild(span1);
document.getElementById("pass-user").appendChild(div);
}
});
},
// 表格某行被点击
tableClick(row, column, event) {
// console.log(row)
this.bjClick(row);
},
tableContext(row,column, event){
event.preventDefault(); // 阻止默认菜单
const routerUrl = this.$router.resolve({ path: '/equipment/index', query: {code: row.code } });
window.open(routerUrl.href, "_blank");
// this.dialogVisible = true
// console.log(row)
},
// 点击查询
inquireHandle() {
this.getSblb();
},
// 页码改变时触发
handleCurrentChange(val) {
this.current = val;
this.getSbwz();
},
// 页码改变时触发
handleCurrentChange1(val) {
this.current1 = val;
getDoorJcjl(
this.bimModel,
null,
null,
this.current1,
this.size,
null,
this.doorName,
null
).then((res) => {
this.searchLists = res.data.data.records;
this.total1 = res.data.data.total; //总条目数
});
},
// 定义表格的头部样式
tableHeaderColor({ row, rowIndex }) {
if (rowIndex === 0) {
return "line-height:1rem;height:1.5rem;padding: 0;border:none;background-color: #2083ec;color:#fff;font-size:0.875rem;text-align: center;";
}
},
// 设置单元格的样式
cellstyle({ row, column, rowIndex, columnIndex }) {
if (columnIndex == 3) {
return "text-align: center;padding:0;border-right:1px solid #2083ec;border-left:1px solid #2083ec;border-bottom:1px solid #2083ec;font-size: 0.75rem;color: #ffffff;height: 1.938rem;linh-height: 1.938rem;background-color: transparent;";
} else {
return "text-align: center;padding:0;border-left:1px solid #2083ec;border-bottom:1px solid #2083ec;font-size: 0.75rem;color: #ffffff;height: 1.938rem;linh-height: 1.938rem;background-color: transparent;";
}
},
loadMore() {
//滚动分页
this.current2 += 1;
// this.current += 1;
getDoorSb(
this.current2,
this.size,
this.bimModel,
this.build ? this.build : "",
this.floor ? this.floor : "",
""
).then((res) => {
if (this.current2 <= res.data.data.pages) {
const results = res.data.data.records;
this.tableData = results;
results.forEach((item) => {
this.sbLists1.push(item);
});
}
});
getDoorSb(
1,
this.size,
this.bimModel,
this.build ? this.build : "",
this.floor ? this.floor : "",
""
).then((res) => {
// console.log(results)
const results = res.data.data.records;
this.tableData = results;
});
},
// 添加标签
addBq(status, arr, condition, num, location, index) {
// console.log(arr.length)
// if (arr.length == 0) {
// bfHelper.setCameraStatus(JSON.parse(window.sessionStorage.getItem('camera')))
// } else {
bfHelper.showComponentsByObjectData(condition);
// // 根据筛选条件加入选中集合
bfHelper.setSelectedById(arr);
if (this.bimModel == 2) {
} else {
// if (bfHelper.getselectGather().length < 2) {
// bfHelper.setCameraStatus(
// JSON.parse(window.sessionStorage.getItem("camera"))
// );
// } else {
// bfHelper.setCameraView(location ? location : "Top");
// // 缩放到加入选中集合的构件
// bfHelper.zoomToSelectedComponents();
// }
}
//清除所有标签
bfHelper.clearDrawableContainer();
// console.log(arr)
// 选中的集合构件id(也就是所有摄像的Id)
let selectComponentId = bfHelper.getselectGather();
for (let b = 0; b < selectComponentId.length; b++) {
let content = `<div class="leadTips" style="transform: translateY(-40px);">
<div style="display: flex;width:max-content">
<img id='door${selectComponentId[b]}' class = 'doorImg' alt='${status[b]}'
class = 'montorImg' src="${require(status[b] == 90000
? "../../../public/img/monitoring/electricity/door11.png"
: status[b] == 90001
? "../../../public/img/monitoring/electricity/door-offline.png"
: "../../../public/img/monitoring/electricity/door-alarm.png")}" style="width:40px;height:40px;"/>
</div>
</div>`;
if (
JSON.stringify(
bfHelper.getBoxMessage(selectComponentId[b], true).max.x
) != "null"
) {
bfHelper.customTag(
bfHelper.getBoxMessage(selectComponentId[b], true).max,
null,
content,
selectComponentId[b]
);
bfHelper.customItemFun().onClick((item) => {
this.doorId = item.layerId;
this.doorList = document.getElementsByClassName("doorImg");
});
}
}
// }
},
},
};
</script>
<style scoped lang="scss">
.door {
.checkbox {
position: absolute;
left: 4rem;
top: 0;
width: 7rem;
background-color: rgba(21, 59, 161, 0.48);
box-shadow: 0px 0px 1.25rem #69c6ff inset;
background-image: url(../../../public/img/monitoring/monitorbg.png);
background-size: 100% 100%;
.el-checkbox-group {
width: 100%;
height: 100%;
.el-checkbox {
font-size: 1.125rem;
color: #d9f9ff;
display: block;
margin: 1.5rem 0 1.5rem 29%;
/deep/ .el-checkbox__inner {
border: 1px solid #2bf2f8;
background-color: transparent;
}
/deep/ .el-checkbox__input.is-checked+.el-checkbox__label {
color: #d9f9ff;
}
/deep/ .el-checkbox__inner::after {
border: 1px solid #2bf2f8;
border-left: 0;
border-top: 0;
}
}
}
}
// 设备概况
.box2 {
z-index: 99;
background: url(../../../public/img/monitoring/electricity/genbag.png) no-repeat;
background-size: 100% 100%;
width: 402px;
height: 450px;
position: absolute;
top: 150px;
right: 40px;
&.tataigen {
background: url(../../../public/img/monitoring/electricity/genbac.png);
background-size: 100% 100%;
}
.title {
margin: 17px 0 0 17px;
font-size: 15px;
font-weight: bold;
color: #ffffff;
img {
margin-right: 5px;
width: 20px;
height: 19px;
}
}
.state {
margin-top: 30px;
font-size: 28px;
line-height: 17px;
color: #ffffff;
.zc {
// padding-right: 36px;
box-sizing: border-box;
// justify-content: flex-end;
background: url(../../../public/img/monitoring/electricity/normal.png) no-repeat;
background-size: 100% 100%;
width: 127px;
height: 65px;
}
.lx {
// padding-right: 36px;
box-sizing: border-box;
// justify-content: flex-end;
background: url(../../../public/img/monitoring/electricity/guzhang.png) no-repeat;
background-size: 100% 100%;
width: 127px;
height: 65px;
}
.bj {
// padding-right: 36px;
box-sizing: border-box;
// justify-content: flex-end;
background: url(../../../public/img/monitoring/electricity/beaconing.png) no-repeat;
background-size: 100% 100%;
width: 127px;
height: 65px;
}
}
.stateName {
margin: 5px 0 20px;
color: #2cd52c;
font-size: 14px;
display: flex;
justify-content: space-around;
.zc {
display: inline-block;
width: 125px;
text-align: center;
}
.lx {
display: inline-block;
width: 125px;
text-align: center;
color: #ec9b28;
}
.bj {
display: inline-block;
width: 125px;
text-align: center;
color: red;
}
}
.tab_box {
width: 80%;
display: flex;
margin-top: 25px;
margin-bottom: 30px;
margin-left: 23px;
color: #fff;
.tab_one {
cursor: pointer;
}
.tab_two {
margin-left: 20px;
}
/deep/ .item .is-dot {
background: red;
border: none;
}
// .circle{
// display: inline-block;
// width: 8px;
// height: 8px;
// background: red;
// border-radius: 50%;
// position: relative;
// top: -8px;
// left: -3px;
// }
}
.tit {
margin: 0 auto 6px;
width: 345px;
height: 34px;
line-height: 34px;
background-color: #07a7ff;
font-size: 14px;
color: white;
&.tataitit {
background: rgb(34, 110, 196);
span {
color: #1851ab;
}
}
p {
width: 33.3%;
text-align: center;
}
span {
color: silver;
}
}
.noBjxx {
color: white;
font-size: 1rem;
margin: 2.5rem 0 0;
text-align: center;
}
.warp {
height: 120px;
width: 345px;
margin: auto;
overflow-y: auto;
.item {
height: 40px;
font-size: 14px;
color: #9d9d9d;
.alark-alert {
position: absolute;
width: 100%;
height: 100%;
background: rgba(11, 34, 74, 0.8);
// display: flex;
justify-content: space-around;
align-items: center;
color: #07e6ed;
p {
display: flex;
align-items: center;
img {
margin-right: 7px;
}
}
}
.box {
width: 100%;
height: 34px;
background-color: rgba($color: #0d318b, $alpha: 0.6);
&.tataicon {
background-color: rgba($color: #1f355c, $alpha: 1);
span {
color: #1851ab;
}
}
.left {
width: 33.3%;
text-align: center;
img {
width: 16px;
height: auto;
margin: 0 5px 0 10px;
}
.message {
flex: 1;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
}
.data {
width: 33.3%;
text-align: center;
}
.time {
width: 33.3%;
text-align: center;
}
}
}
.item:hover {
cursor: pointer;
}
}
.more {
justify-content: flex-end;
font-size: 14px;
color: #07e6ed;
margin: 10px 27px 0 0;
}
}
// 设备列表
.tab {
z-index: 99;
position: absolute;
right: 39px;
bottom: 41px;
width: 402px;
height: 342px;
background: url(../../../public/img/monitoring/electricity/newbg.png) no-repeat;
background-size: cover;
&.tataigen {
background: url(../../../public/img/monitoring/electricity/genbac.png) no-repeat;
background-size: 100% 100%;
}
.title {
margin: 1rem 0 2rem 1.25rem;
color: #fff;
font-size: 15px;
font-weight: bold;
img {
display: block;
width: 16px;
margin-right: 10px;
}
}
.tabBox {
border: 1px solid #07a7ff;
width: 21.563rem;
margin: 1rem auto 0;
.dev_name {
width: 100%;
}
/deep/ .el-table--enable-row-hover .el-table__body tr:hover>td {
background-color: transparent !important;
}
/deep/ .el-table__header-wrapper .has-gutter th {
border-bottom: none;
padding: 0;
text-align: center;
}
/deep/ .el-table__header-wrapper .has-gutter th .cell {
line-height: 31px;
padding: 0;
background-color: #07a7ff;
color: white;
}
/deep/ .tataitab .el-table__header-wrapper .has-gutter th .cell {
background: rgb(33, 110, 196);
}
/deep/ .tataitab .el-table__header-wrapper .has-gutter th:nth-of-type(even) .cell {
color: rgb(31, 91, 180);
}
/deep/ .el-table__body-wrapper.is-scrolling-none .el-table__row:nth-of-type(odd) {
color: white;
background-color: rgba($color: #1e419d, $alpha: 1);
}
/deep/ .el-table__body-wrapper.is-scrolling-none .el-table__row:nth-of-type(even) {
background-color: rgba($color: #0d318b, $alpha: 1);
color: white;
}
/deep/ .tataitab .el-table__body-wrapper.is-scrolling-none .el-table__row:nth-of-type(odd) {
color: white;
background-color: rgba($color: #384c6f, $alpha: 1);
}
/deep/ .tataitab .el-table__body-wrapper.is-scrolling-none .el-table__row:nth-of-type(even) {
background-color: rgba($color: #1f355c, $alpha: 1);
color: white;
}
/deep/ .el-table__body-wrapper.is-scrolling-none .el-table__row td {
border-bottom: none;
padding: 0;
text-align: center;
}
/deep/ .el-table__body-wrapper.is-scrolling-none .el-table__row td .cell {
display: flex;
line-height: 36px;
align-content: center;
justify-content: center;
}
/deep/ .el-table__body-wrapper.is-scrolling-none .el-table__empty-block {
background-color: #3656ae;
height: 252px !important;
}
/deep/ .el-table::before {
background-color: transparent;
}
}
// 分页
.pagination {
position: absolute;
right: 15px;
bottom: 8px;
}
.pagination .el-pagination.is-background {
display: flex;
justify-content: flex-end;
}
/deep/ .el-pagination.is-background .btn-next,
/deep/ .el-pagination.is-background .btn-prev,
/deep/ .el-pagination.is-background .el-pager li {
min-width: 20px;
height: 20px;
line-height: 20px;
font-size: 12px;
}
/deep/ .el-pagination__total {
height: 20px;
line-height: 20px;
color: #07e6ed;
}
}
}
.searchDoors {
position: absolute;
// top: 250px;
left: 105px;
background-image: url(../../../public/img/monitoring/ktbg.png);
background-size: 100% 100%;
.kt-border {
position: absolute;
}
.kt-border1 {
position: absolute;
top: 0;
right: 0;
}
.kt-border2 {
position: absolute;
top: 0;
left: 0;
transform: rotateZ(270deg);
}
.kt-border3 {
position: absolute;
bottom: 0;
left: 0;
transform: rotateZ(180deg);
}
.kt-border4 {
position: absolute;
bottom: 0;
right: 0;
transform: rotateZ(90deg);
}
}
/deep/ .el-input__inner {
background-color: transparent;
color: white;
}
.search-list {
background-image: url(../../../public/img/monitoring/ktbg.png);
background-size: 100% 100%;
position: absolute;
left: 480px;
top: 200px;
.kt-border {
position: absolute;
}
.kt-border1 {
position: absolute;
top: 0;
right: 0;
}
.kt-border2 {
position: absolute;
top: 0;
left: 0;
transform: rotateZ(270deg);
}
.kt-border3 {
position: absolute;
bottom: 0;
left: 0;
transform: rotateZ(180deg);
}
.kt-border4 {
position: absolute;
bottom: 0;
right: 0;
transform: rotateZ(90deg);
}
}
/deep/ .el-range-input {
background-color: transparent;
color: white;
}
/deep/ .el-range-separator {
color: white;
font-size: 20px;
}
.search-list-table {
background-color: rgba(51, 93, 169, 0.7);
color: white;
font-size: 13px;
/deep/ .el-table--striped .el-table__body tr.el-table__row--striped td {
background-color: rgba(19, 63, 160, 0.7);
}
/deep/ .el-table--enable-row-transition .el-table__body td {
border-bottom: 0;
padding: 5px;
}
/deep/ .el-table::before {
background-color: transparent;
}
// 分页
.pagination {
margin-top: 20px;
}
.pagination .el-pagination.is-background {
display: flex;
justify-content: flex-end;
}
/deep/ .el-pagination.is-background .btn-next,
/deep/ .el-pagination.is-background .btn-prev,
/deep/ .el-pagination.is-background .el-pager li {
min-width: 20px;
height: 20px;
line-height: 20px;
font-size: 12px;
}
/deep/ .el-pagination__total {
height: 20px;
line-height: 20px;
color: #07e6ed;
}
/deep/ .el-table tbody tr:hover>td {
background-color: transparent !important;
}
/deep/ .el-table__row--striped:hover>td {
background-color: rgba(19, 63, 160, 0.7) !important;
}
}
/deep/ .el-select-dropdown__wrap.el-scrollbar__wrap {
width: 150px !important;
height: 200px !important;
}
</style>
<style scoped lang="scss">
/deep/ .pull {
.el-scrollbar {
height: 200px;
}
}
</style>