|
|
@@ -146,7 +146,7 @@
|
|
|
border
|
|
|
:label-style="labelStyle"
|
|
|
:contentStyle="content_style"
|
|
|
- v-if="data.integrity == null || data.integrity.state == null"
|
|
|
+ v-if="integrity == null || integrity.state == null"
|
|
|
>
|
|
|
<el-descriptions-item label="检测结果"> 未知 </el-descriptions-item>
|
|
|
</el-descriptions>
|
|
|
@@ -159,18 +159,18 @@
|
|
|
:contentStyle="content_style"
|
|
|
>
|
|
|
<el-descriptions-item label="检测结果">{{
|
|
|
- getLabel(videoIntegrityState, data.integrity.state)
|
|
|
+ getLabel(videoIntegrityState, integrity.state)
|
|
|
}}</el-descriptions-item>
|
|
|
<el-descriptions-item label="录像日期">{{
|
|
|
- dayjs(data.integrity.recordDate).format("YYYY年M月D日")
|
|
|
+ dayjs(integrity.recordDate).format("YYYY年M月D日")
|
|
|
}}</el-descriptions-item>
|
|
|
<el-descriptions-item label="丢失时长">{{
|
|
|
- data.integrity.loseDuration == 0
|
|
|
+ integrity.loseDuration == 0
|
|
|
? "未丢失"
|
|
|
- : data.integrity.loseDuration + "分钟"
|
|
|
+ : integrity.loseDuration + "分钟"
|
|
|
}}</el-descriptions-item>
|
|
|
<el-descriptions-item label="更新时间">{{
|
|
|
- dayjs(data.integrity.updateTime).format("YYYY年M月D日H时m分")
|
|
|
+ dayjs(integrity.updateTime).format("YYYY年M月D日H时m分")
|
|
|
}}</el-descriptions-item>
|
|
|
</el-descriptions>
|
|
|
<el-descriptions :column="1">
|
|
|
@@ -193,7 +193,6 @@
|
|
|
<i class="legend" style="background-color: red"></i>
|
|
|
<span>无录像</span>
|
|
|
</li>
|
|
|
-
|
|
|
</ul>
|
|
|
</el-descriptions-item>
|
|
|
</el-descriptions>
|
|
|
@@ -294,6 +293,7 @@
|
|
|
:full="data.storage.fullDates"
|
|
|
:paritialLoss="data.storage.partialLossDates"
|
|
|
:allLoss="data.storage.allLostDates"
|
|
|
+ @select="onSelectDate"
|
|
|
></Calendar>
|
|
|
</div>
|
|
|
</div>
|
|
|
@@ -310,6 +310,7 @@ import Calendar from "./Calendar.vue";
|
|
|
import dayjs from "dayjs";
|
|
|
import { detail } from "@/api/iot/videoDiagnosis.js";
|
|
|
import { getLabel } from "@/views/commonOption.js";
|
|
|
+import { integrity } from "@/api/iot/videoDiagnosis";
|
|
|
|
|
|
export default {
|
|
|
components: { TimeLine, ProgressBar, Calendar },
|
|
|
@@ -318,10 +319,11 @@ export default {
|
|
|
src: "https://cube.elemecdn.com/6/94/4d3ea53c084bad6931a56d5158a48jpeg.jpeg",
|
|
|
isShow: false,
|
|
|
data: {},
|
|
|
+ integrity: {},
|
|
|
id: null,
|
|
|
// playVideoObj: {}, //选中的正在播放的录像
|
|
|
timeCells: [], //录像时间块
|
|
|
- lostData:[], //不存在视频的时间块
|
|
|
+ lostData: [], //不存在视频的时间块
|
|
|
// start_timestamp: new Date().getTime() - 5 * 60 * 60 * 1000, //刻度轴开始时间
|
|
|
labelStyle: {
|
|
|
color: "#000",
|
|
|
@@ -344,34 +346,52 @@ export default {
|
|
|
async show(hostCode, channelCode) {
|
|
|
detail(hostCode, channelCode).then((r) => {
|
|
|
let data = r.data;
|
|
|
-
|
|
|
+ data.hostCode=hostCode;
|
|
|
+ data.channelCode=channelCode;
|
|
|
// this.data.storage.fullDates=["2024-02-15","2024-02-16","2024-02-17","2024-02-18","2024-02-19"]
|
|
|
// this.data.storage.partialLossDates=["2024-02-5","2024-02-6","2024-02-7","2024-02-8","2024-02-9"]
|
|
|
// this.data.storage.allLostDates=["2024-02-10","2024-02-11","2024-02-12","2024-02-13","2024-02-14"]
|
|
|
- if (data.integrity && data.integrity.recordDate) {
|
|
|
- let recordDateStr = dayjs(data.integrity.recordDate).format(
|
|
|
- "YYYY-MM-DD"
|
|
|
- );
|
|
|
- if (data.integrity.checks) {
|
|
|
- this.timeCells = data.integrity.checks.map(
|
|
|
- (d) =>({beginTime: `${recordDateStr} ${d.st}`,endTime: `${recordDateStr} ${d.et}`})
|
|
|
- );
|
|
|
- }
|
|
|
-
|
|
|
- if (data.integrity.losts) {
|
|
|
- this.lostData = data.integrity.losts.map(
|
|
|
- (d) =>({beginTime: `${recordDateStr} ${d.st}`,endTime: `${recordDateStr} ${d.et}`})
|
|
|
- );
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
+ this.handleInterity(data.integrity);
|
|
|
this.data = data;
|
|
|
this.isShow = true;
|
|
|
});
|
|
|
},
|
|
|
+ getIntegrity(hostCode, channelCode, date) {
|
|
|
+ integrity(hostCode, channelCode, dayjs(date).format("YYYY-MM-DD")).then((r) => {
|
|
|
+
|
|
|
+ this.handleInterity(r.data);
|
|
|
+ });
|
|
|
+ },
|
|
|
+ handleInterity(integrity) {
|
|
|
+ this.integrity = integrity;
|
|
|
+ let timeCells = [];
|
|
|
+ let lostData = [];
|
|
|
+ if (integrity && integrity.recordDate) {
|
|
|
+ let recordDateStr = dayjs(integrity.recordDate).format("YYYY-MM-DD");
|
|
|
+ if (integrity.checks) {
|
|
|
+ timeCells = integrity.checks.map((d) => ({
|
|
|
+ beginTime: `${recordDateStr} ${d.st}`,
|
|
|
+ endTime: `${recordDateStr} ${d.et}`,
|
|
|
+ }));
|
|
|
+ }
|
|
|
+
|
|
|
+ if (integrity.losts) {
|
|
|
+ lostData = integrity.losts.map((d) => ({
|
|
|
+ beginTime: `${recordDateStr} ${d.st}`,
|
|
|
+ endTime: `${recordDateStr} ${d.et}`,
|
|
|
+ }));
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ this.timeCells = timeCells;
|
|
|
+ this.lostData = lostData;
|
|
|
+ },
|
|
|
onHide() {
|
|
|
this.isShow = false;
|
|
|
},
|
|
|
+ onSelectDate(date) {
|
|
|
+ this.getIntegrity(this.data.hostCode,this. data.channelCode, date);
|
|
|
+ },
|
|
|
},
|
|
|
};
|
|
|
</script>
|