From 4bc6693ad48805b40614e7de3a14f92d8fb751eb Mon Sep 17 00:00:00 2001 From: Rain_ <904416525@qq.com> Date: Fri, 7 Nov 2025 10:50:22 +0800 Subject: [PATCH] =?UTF-8?q?flx:=E6=89=A7=E6=B3=95=E8=AE=B0=E5=BD=95?= =?UTF-8?q?=E4=BB=AA=E5=85=BC=E5=AE=B9web=E6=8F=92=E4=BB=B6=20=E6=96=B0?= =?UTF-8?q?=E5=A2=9E=E5=88=B7=E6=96=B0=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- index.html | 2 +- .../aIEarlyWarning/bottomRight.vue | 2 + .../components/isc_plugin.vue | 135 +++++++++ .../components/video_isc_plugin.js | 284 ++++++++++++++++++ .../homeworkControlProcess/index.vue | 92 +++++- src/views/sevenLargeScreen/indexL.vue | 8 +- 6 files changed, 508 insertions(+), 15 deletions(-) create mode 100644 src/views/sevenLargeScreen/homeworkControlProcess/components/isc_plugin.vue create mode 100644 src/views/sevenLargeScreen/homeworkControlProcess/components/video_isc_plugin.js diff --git a/index.html b/index.html index 0900f2e..c317431 100644 --- a/index.html +++ b/index.html @@ -125,7 +125,7 @@ - + - + +
+ +
设备详情
@@ -406,7 +430,7 @@ import { ref, onMounted, reactive, computed } from "vue"; import Card from "@/components/card.vue"; import HlsPlayer from "./components/HlsPlayer.vue"; import IscPlayer from "./components/iscPlayer.vue"; - +import IscPlugin from "./components/isc_plugin.vue"; import { ElMessage } from "element-plus"; import { getWorkTicketCountWorkTicketApi, @@ -531,7 +555,7 @@ const getWorkTicketPage = () => { console.log("进来了", Number(res.result.total)); workTicketInfo.total = Number(res.result.total); if (workTicketList.value.length > 0) { - onViewDetail(workTicketList.value[0]); + onViewDetail(workTicketList.value[0], true); } } } @@ -558,8 +582,10 @@ const viewAllShow = ref(false); const onViewAllClick = () => { viewAllShow.value = !viewAllShow.value; if (viewAllShow.value) { + policeCameraItemInfo.deviceState = 1; policeCameraItemInfo.pageSize = policeCameraItemInfo.pageSize; } else { + policeCameraItemInfo.deviceState = ""; policeCameraItemInfo.pageSize = policeCameraItemInfo.pageSize; } initPoliceCameraItemList(); @@ -610,8 +636,8 @@ const isJSON = str => { }; const timeInterval = ref(null); // 查看详情 -const onViewDetail = row => { - if (row.id == workTicketDetail.value.id) return; +const onViewDetail = (row, flag) => { + if (row.id == workTicketDetail.value.id && flag != true) return; workTicketDetail.value = row; getWorkTicketQueryById(); getWorkTicketHistoryList(); @@ -621,7 +647,7 @@ const onViewDetail = row => { } timeInterval.value = setInterval(() => { initPoliceCameraItemList(); - }, 1000 * 60 * 5); + }, 1000 * 60 * 30); }; // 通过id查询作业票详情 const getWorkTicketQueryById = () => { @@ -685,14 +711,30 @@ const getWorkTicketHistoryList = () => { const policeCameraItemInfo = reactive({ pageNo: 1, pageSize: 6, - total: 0 + total: 0, + deviceState: "" }); +const deviceStateList = [ + { + id: "", + title: "全部设备" + }, + { + id: 1, + title: "施工中在线" + }, + { + id: 2, + title: "施工中离线" + } +]; const policeCameraItemList = ref([]); const initPoliceCameraItemList = () => { policeCameraItemInfo.pageNo = 1; policeCameraItemList.value = []; getPoliceCameraItemPage(); }; + const onCurrentChange = val => { policeCameraItemInfo.pageNo = val; policeCameraItemList.value = []; @@ -744,6 +786,15 @@ const getVideoItemInfoPoliceCameraItem = async row => { return res.result.videoInfo; }; +const onRefresh = () => { + if (!viewAllShow.value) { + onWorkTicketQuery(); + } else { + policeCameraItemList.value = []; + getPoliceCameraItemPage(); + } +}; + const statusList = [ { value: 1, @@ -768,7 +819,9 @@ const updateStatus = computed(() => { return find ? find.label : "--"; }; }); - +const itemListDevNameUp = computed(() => { + return workTicketDetail.value.itemList ? workTicketDetail.value.itemList.map(item => item.devName).join('、') : "" +}) const workTicketTypeTreeList = ref([]); // 获取工作票类型 const getWorkTicketTypeTreePage = () => { @@ -837,14 +890,14 @@ const downloadFileBtn = (url, name) => { height: 100%; display: flex; justify-content: space-between; - .headerNoise-left { width: 400px; height: 100%; .content-box { padding: 20px 10px; - + height: calc(100% - 40px); + width: calc(100% - 20px); .box-main { width: 100%; margin-top: 10px; @@ -1143,18 +1196,29 @@ const downloadFileBtn = (url, name) => { right: 10px; top: 10px; cursor: pointer; + :deep(.el-input__wrapper) { + background-color: transparent; + } + :deep(.el-input__inner) { + height: 23px; + line-height: 23px; + background-color: transparent; + color: white; + } > div:last-child { width: 26px; height: 26px; background-image: url("@/assets/images/workTicket/index-icon8.png"); background-repeat: no-repeat; background-size: 100% 100%; - margin-left: 10px; } .goback { background-image: url("@/assets/images/workTicket/goback.png") !important; } - > div:first-child { + > div:not(:first-child) { + margin-left: 10px; + } + > div:nth-child(2) { font-weight: bold; font-size: 15px; color: #65d7f9; @@ -1317,6 +1381,10 @@ const downloadFileBtn = (url, name) => { width: 100%; height: 160px; } + .videoOverview { + width: 100%; + height: 100%; + } .hls-video_title { display: flex; align-items: center; diff --git a/src/views/sevenLargeScreen/indexL.vue b/src/views/sevenLargeScreen/indexL.vue index c4352dc..f501d75 100644 --- a/src/views/sevenLargeScreen/indexL.vue +++ b/src/views/sevenLargeScreen/indexL.vue @@ -117,7 +117,7 @@ {{ projectPassDay }} 个日历天
--> -
+
@@ -868,6 +868,7 @@ function twoDigits(val: any) { function loginOut() { localStorage.removeItem("GlobalState"); + sessionStorage.removeItem("GlobalState"); location.reload(); router.push("/login"); } @@ -935,7 +936,7 @@ const handleScroll = (e: any) => { justify-content: center; } .largeScreen1 { - margin-top: 130px; + margin-top: 180px; } .largeScreen { background: url("@/assets/images/bigImg.png") no-repeat; @@ -1200,6 +1201,9 @@ const handleScroll = (e: any) => { // background-color: #01131F; // opacity: 0.9; } + .dataBoardContent1 { + height: 76%; + } } .userDialog {