告警处理优化

hn2.0
fanluyan 2 years ago
parent 2b332d2f8f
commit d1ef83de14

@ -1,6 +1,6 @@
@font-face {
font-family: "iconfont"; /* Project id */
src: url('iconfont.ttf?t=1690177575312') format('truetype');
src: url('iconfont.ttf?t=1690188947515') format('truetype');
}
.iconfont {
@ -11,6 +11,18 @@
-moz-osx-font-smoothing: grayscale;
}
.icon-paizhao:before {
content: "\e6ba";
}
.icon-paizhao-xianxing:before {
content: "\e8d1";
}
.icon-tuiguanglishitupianjinqun:before {
content: "\e613";
}
.icon-gongsi:before {
content: "\e62e";
}
@ -35,7 +47,15 @@
content: "\ef1c";
}
.icon-shexiangtou-zaixian:before {
content: "\ef1d";
}
.icon-shudianxianlu_2722010801:before {
content: "\efed";
}
.icon-tupian_normal:before {
content: "\e681";
}

Binary file not shown.

File diff suppressed because it is too large Load Diff

@ -37,6 +37,16 @@
></el-option>
</el-select>
</el-form-item>
<el-form-item label="通道">
<el-select v-model="formdata.channel">
<el-option
v-for="item in tdOptions"
:key="item.id"
:label="item.name"
:value="item.id"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="开始日期">
<!-- <el-date-picker
v-model="formdata.timeVal"
@ -208,18 +218,6 @@
v-if="selectRow.path !== '' && tableData.length !== 0"
>
<!-- v-viewer="OptionssalseImg" -->
<!-- <div
class="nosee"
:style="'backgroundImage:url(' + photoPic + '!1366x768)'"
></div>
<viewer :options="OptionssalseImg" class="bigimgView">
<img
@load="imgOnload"
ref="picJpg"
class="animImg"
:src="photoPic + '!1366x768'"
/>
</viewer> -->
<img
ref="picJpg"
class="animImg"
@ -253,24 +251,44 @@
</div>
<div class="pictureBox" v-else v-loading="loading">
<div class="piclist" v-if="tableData.length !== 0">
<el-card
<div
class="box-card imgList"
v-for="(item, index) in tableData"
:key="index"
:class="current === index ? 'bgColor' : ''"
>
<div class="bigpic">
<div class="toolsBtn">
<el-button
title="主动拍照"
type="primary"
icon="el-icon-camera"
@click.stop="handlePicList(item)"
></el-button>
<el-button
title="历史图片"
type="primary"
icon="el-icon-picture-outline"
@click.stop="handlePicHistory(item)"
></el-button>
<!-- <el-button
type="primary"
:loading="btnpicloading"
@click.stop="handlePicList(item)"
>主动拍照</el-button
>
<el-button type="primary" @click.stop="handlePicHistory(item)"
>历史图片</el-button
> -->
</div>
<div class="picshow" @click="handlePicAlarm(item, index)">
<img :src="item.path + '!1366x768'" ref="picJpg" />
<!-- <canvas
id="myCanvas"
class="myCanvas"
:ref="'myCanvas' + index"
></canvas> -->
</div>
<div class="caption">
<p class="infoTop">
<span v-if="item.isread == 1" class="readbox">[]</span>
<span v-if="item.isread == 0">[]</span>
<span>
{{ item.lineName }} /
{{
item.displayName !== null && item.displayName !== ""
@ -283,25 +301,17 @@
? item.alias
: item.channnelName
}}
/ <span class="alarmInfo">({{ item.enname }})</span>
</span>
</p>
<p class="infoBottom">
告警时间{{
<span>{{
$moment(item.alarmTime).format("YYYY-MM-DD HH:mm:ss")
}}
<el-button
type="primary"
:loading="btnpicloading"
@click.stop="handlePicList(item)"
>主动拍照</el-button
>
<el-button type="primary" @click.stop="handlePicHistory(item)"
>历史图片</el-button
>
}}</span>
<span class="alarmInfo">({{ item.enname }})</span>
</p>
</div>
</div>
</el-card>
</div>
</div>
<div class="piclist" v-else>
<el-empty description="暂无数据"></el-empty>
@ -372,8 +382,10 @@ export default {
dyOptions: [{ id: -1, name: "全部" }], //
xlOptions: [{ id: -1, name: "全部" }], //线
gtOptions: [{ id: -1, name: "全部" }], //
tdOptions: [{ id: -1, name: "全部", alias: null }], //
gjOptions: [{ id: -1, label: -1, name: "全部" }], //
formdata: {
channel: 1,
dyId: -1,
lineId: -1,
towerId: -1,
@ -548,9 +560,14 @@ export default {
.then((res) => {
this.gjOptions = [{ id: -1, label: -1, name: "全部" }];
this.gjOptions = this.gjOptions.concat(res.data.list);
this.tdOptions = [{ id: -1, name: "全部", alias: null }];
this.tdOptions = this.tdOptions.concat(res.data.channellist);
console.log(this.tdOptions);
console.log(this.gjOptions);
this.formdata.label = this.gjOptions[0].label;
this.formdata.channel = this.tdOptions[1].id;
console.log(this.formdata.label);
console.log(this.formdata.channel);
})
.catch((err) => {});
},
@ -822,9 +839,9 @@ export default {
console.log(this.requestId);
this.btnpicloading = true;
this.statusTimer = window.setInterval(() => {
this.getTakePicStatus(this.requestId);
this.getTakePicStatus(res.data);
this.statusNum++;
}, 2000);
}, 3000);
})
.catch((err) => {
console.log(err); //
@ -843,12 +860,18 @@ export default {
getTakePicStatus(data) {
console.log(data);
getTakePicStatusJoggle({
requestid: data,
requestid: data.requestId,
termId: this.selectRow.termId,
photoTime: new Date(data.taketime).getTime(),
})
.then((res) => {
console.log(res);
//res.data 0 1 2
if (res.data == 0 && this.statusNum >= 5) {
if (
res.data.cmaStatus == 0 &&
res.data.picStatus == false &&
this.statusNum >= 5
) {
this.statusNum = 0;
clearInterval(this.statusTimer);
this.statusTimer = null;
@ -860,16 +883,16 @@ export default {
message: "下发指令超时,请重试!",
type: "warning",
});
} else if (res.data == 1) {
this.statusNum = 0;
clearInterval(this.statusTimer);
this.statusTimer = null;
} else if (res.data.cmaStatus == 1 || res.data.picStatus == true) {
this.$message({
duration: 1500,
showClose: true,
message: "下发指令成功!",
type: "success",
});
this.statusNum = 0;
clearInterval(this.statusTimer);
this.statusTimer = null;
this.timer = window.setInterval(() => {
this.newPicApi();
this.i++;
@ -895,6 +918,7 @@ export default {
getTakePicPhotoStatusJoggle({
photoTime: new Date(this.picTime).getTime(),
termId: this.selectRow.termId,
requestid: this.requestId,
}).then((res) => {
console.log(res.data);
if (res.data == true && this.i < 10) {
@ -957,11 +981,26 @@ export default {
console.log(val);
this.bigPhotoPic = val.path;
this.showBigpic = true;
this.$nextTick(() => {
console.log("huatu");
this.drawlineList(val, index);
});
//
if (val.isread == 0) {
setTimeout(function () {
readAlarm({
id: val.id,
})
.then((res) => {
console.log(res);
val.isread = 1;
console.log(val.isread);
})
.catch((err) => {
console.log(err);
});
}, 300);
}
}
},
dateFormat(row, column) {
@ -1096,7 +1135,7 @@ export default {
background-color: rgba(18, 128, 113, 0.2);
}
.readbox {
color: #e49e61;
color: #169e8c;
}
}
.pageNation {
@ -1166,34 +1205,36 @@ export default {
margin: auto;
}
.piclist {
display: flex;
// justify-content: space-around;
flex-wrap: wrap;
// display: flex;
// // justify-content: space-around;
// flex-wrap: wrap;
overflow: auto;
border: 1px solid #eee;
height: calc(100% - 2px);
}
.imgList {
width: calc((100% - 104px) / 3);
width: calc((100% - 40px) / 4);
position: relative;
display: inline-block;
margin: 8px;
margin: 2px;
position: relative;
padding: 4px;
border-radius: 3px;
background: #fff;
height: fit-content;
//height: auto;
height: 30%;
border: 2px solid transparent;
.el-card__body {
padding: 0px;
}
.bigpic {
width: 100%;
height: 100%;
background-size: 100% 100%;
position: relative;
.picshow {
position: relative;
height: 100%;
img {
cursor: pointer;
width: 100%;
height: 100%;
}
.myCanvas {
position: absolute;
width: 100%;
@ -1204,35 +1245,37 @@ export default {
pointer-events: none;
}
}
}
img {
cursor: pointer;
width: 100%;
height: 250px;
object-fit: fill;
}
.caption {
padding: 9px;
color: #333;
padding: 6px;
color: #fff;
position: absolute;
left: 0;
bottom: 0px;
background: rgba(0, 0, 0, 0.5);
width: calc(100% - 12px);
.alarmInfo {
color: #e49e61;
color: #fff;
}
.infoTop {
font-size: 14px;
color: #000;
color: #fff;
font-weight: normal;
margin-top: 2px;
padding-left: 5px;
padding-right: 5px;
.readbox {
color: #169e8c;
}
}
.infoBottom {
color: #000;
color: #fff;
font-size: 12px;
font-weight: normal;
margin-top: 6px;
padding-left: 5px;
padding-right: 5px;
display: flex;
justify-content: space-between;
.el-button--small {
margin-left: 24px;
padding: 4px;
@ -1243,9 +1286,24 @@ export default {
}
}
}
.toolsBtn {
position: absolute;
right: 4px;
top: 4px;
z-index: 2;
.el-button {
width: auto;
background: rgba(0, 0, 0, 0.5);
border: 1px solid transparent;
color: #fff;
font-size: 20px;
padding: 2px;
}
}
}
}
.bgColor {
border: 2px solid #e49e61;
border: 2px solid #169e8c;
}
}
}

@ -298,6 +298,7 @@ export default {
// title: {
// text: "线",
// },
color: ["#169e8c", "#bbb"],
tooltip: {
trigger: "item",
},

Loading…
Cancel
Save