From e62dd14590c140970b86801444c70b3e90892b4d Mon Sep 17 00:00:00 2001
From: Your Name <123456>
Date: 星期四, 09 三月 2023 17:44:58 +0800
Subject: [PATCH] Merge branch 'master' of https://sinanoaq.cn:8888/r/gtqt

---
 src/views/specialWorkSystem/specialIndex/index.vue                  |  157 ++++++++-
 src/router/route.ts                                                 |   32 --
 src/views/facilityManagement/facilityIndex/index.vue                |  627 ++++++++++++++++++++++----------------
 src/views/specialWorkSystem/specialIndex/components/videoDetail.vue |   44 ++
 src/views/intellectInspect/inspectIndex2/index.vue                  |   45 ++
 5 files changed, 576 insertions(+), 329 deletions(-)

diff --git a/src/router/route.ts b/src/router/route.ts
index 7cce428..00c835b 100644
--- a/src/router/route.ts
+++ b/src/router/route.ts
@@ -103,37 +103,5 @@
         meta: {
             title: '安全物资与设备'
         }
-    },
-    {
-        path: '/inspectIndex2',
-        name: 'inspectIndex2',
-        component: () => import('/@/views/intellectInspect/inspectIndex2/index.vue'),
-        meta: {
-            title: '巡检首页'
-        }
-    },
-    {
-        path: '/video',
-        name: 'video',
-        component: () => import('/@/views/system/video/index.vue'),
-        meta: {
-            title: '视频设备管理'
-        }
-    },
-    {
-        path: '/specialIndex',
-        name: 'specialIndex',
-        component: () => import('/@/views/specialWorkSystem/specialIndex/index.vue'),
-        meta: {
-            title: '特殊作业首页'
-        }
-    },
-    {
-        path: '/facilityIndex',
-        name: 'facilityIndex',
-        component: () => import('/@/views/facilityManagement/facilityIndex/index.vue'),
-        meta: {
-            title: '设备管理首页'
-        }
     }
 ];
diff --git a/src/views/facilityManagement/facilityIndex/index.vue b/src/views/facilityManagement/facilityIndex/index.vue
index 4f10dde..211a44a 100644
--- a/src/views/facilityManagement/facilityIndex/index.vue
+++ b/src/views/facilityManagement/facilityIndex/index.vue
@@ -1,36 +1,50 @@
 <template>
-    <div class="home-container">
+    <div class="home-container" :class="isFull==true?'container':''" id="bigScreen">
+      <div class="full">
+        <el-button v-if="isFull==false" type="text" style="height: 34px" @click="toFullscreen">
+          <el-icon style="vertical-align: middle">
+            <FullScreen />
+          </el-icon>
+          <span style="vertical-align: middle">全屏</span>
+        </el-button>
+        <el-button v-else type="text" style="height: 34px" @click="toFullscreen">
+          <el-icon style="vertical-align: middle">
+            <Close />
+          </el-icon>
+          <span style="vertical-align: middle">退出全屏</span>
+        </el-button>
+      </div>
         <div class="topChart">
-          <div class="chart-item">
+          <div class="chart-item" :class="zin==1?'upItem':''">
             <div class="chart-tit">
               <span class="tit">当前时间设备状态</span>
               <div class="filter-part filter-part2">
-                <el-cascader v-model="chartSearch1.searchDep" :options="departmentList" :props="casProps" :show-all-levels="false" size="small"/>
+                <el-cascader @focus="upgrade(1)" :teleported="false" v-model="chartSearch1.searchDep" :options="departmentList" :props="casProps" :show-all-levels="false" size="small"/>
               </div>
             </div>
             <div class="chart" :id="sbzt"></div>
           </div>
-          <div class="chart-item">
+          <div class="chart-item" :class="zin==2?'upItem':''">
             <div class="chart-tit">
               <span class="tit">设备异常趋势</span>
               <div class="filter-part filter-part2">
-                <el-cascader v-model="chartSearch2.searchDep" :options="departmentList" :props="casProps" :show-all-levels="false" size="small"/>
+                <el-cascader @focus="upgrade(2)" :teleported="false" v-model="chartSearch2.searchDep" :options="departmentList" :props="casProps" :show-all-levels="false" size="small"/>
               </div>
             </div>
             <div class="chart" :id="ycqs"></div>
           </div>
-          <div class="chart-item">
+          <div class="chart-item" :class="zin==3?'upItem':''">
             <div class="chart-tit">
               <span class="tit">关联作业排行</span>
               <div class="filter-part filter-part3">
-                <el-cascader v-model="chartSearch3.searchDep" :options="departmentList" :props="casProps" :show-all-levels="false" size="small"/>
-                <el-select v-model="chartSearch3.period" size="small">
+                <el-cascader @focus="upgrade(3)" :teleported="false" v-model="chartSearch3.searchDep" :options="departmentList" :props="casProps" :show-all-levels="false" size="small"/>
+                <el-select :teleported="false" v-model="chartSearch3.period" size="small">
                   <el-option label="近7天" value="week"/>
                   <el-option label="近30天" value="month"/>
                   <el-option label="近90天" value="season"/>
                   <el-option label="近1年" value="year"/>
                 </el-select>
-                <el-select v-model="chartSearch3.workType" size="small">
+                <el-select :teleported="false" v-model="chartSearch3.workType" size="small">
                   <el-option
                       v-for="item in workType1"
                       :key="item.id"
@@ -40,8 +54,8 @@
                 </el-select>
               </div>
             </div>
-            <div class="chart" style="margin-top: 10px">
-              <el-table ref="multipleTableRef" :data="rankData" style="width: 100%" :header-cell-style="{ background: '#fafafa' }">
+            <div class="chart">
+              <el-table ref="multipleTableRef" :data="rankData" style="width: 100%" stripe border :header-cell-style="{ background: '#fafafa' }">
                 <el-table-column property="num" label="设备位号" align="center"/>
                 <el-table-column property="name" label="设备名称" align="center"/>
                 <el-table-column property="dep" label="所属部门" align="center"/>
@@ -53,14 +67,14 @@
           </div>
         </div>
         <div class="topChart">
-          <div class="chart-item chart-item2">
+          <div class="chart-item chart-item2" :class="zin==4?'upItem':''">
             <div class="chart-tit">
               <span class="tit">关联作业趋势图</span>
               <div class="filter-part filter-part2">
-                <el-cascader v-model="chartSearch4.searchDep" :options="departmentList" :props="casProps" :show-all-levels="false" size="small"/>
+                <el-cascader @focus="upgrade(4)" :teleported="false" v-model="chartSearch4.searchDep" :options="departmentList" :props="casProps" :show-all-levels="false" size="small"/>
               </div>
             </div>
-            <div class="chart" style="margin-top: 10px">
+            <div class="chart">
               <el-table :data="wdsbData" style="width: 100%" stripe border :header-cell-style="{ background: '#fafafa' }">
                 <el-table-column prop="num" label="设备位号" align="center"/>
                 <el-table-column prop="name" label="设备名称" align="center"/>
@@ -73,16 +87,16 @@
                   </template>
                 </el-table-column>
               </el-table>
-              <div class="pageBtn">
+              <div class="pageBtn" style="margin-top: 10px">
                 <el-pagination v-model:currentPage="pageIndex1" v-model:page-size="pageSize1" :page-sizes="[3]" small="false" background layout="total, sizes, prev, pager, next, jumper" :total="totalSize1" @size-change="handleSizeChange1" @current-change="handleCurrentChange1" />
               </div>
             </div>
           </div>
-          <div class="chart-item chart-item2">
+          <div class="chart-item chart-item2" :class="zin==5?'upItem':''">
             <div class="chart-tit">
               <span class="tit">其他数据分析</span>
               <div class="filter-part filter-part2">
-                <el-cascader v-model="chartSearch4.searchDep" :options="departmentList" :props="casProps" :show-all-levels="false" size="small"/>
+                <el-cascader @focus="upgrade(5)" :teleported="false" v-model="chartSearch4.searchDep" :options="departmentList" :props="casProps" :show-all-levels="false" size="small"/>
               </div>
             </div>
             <div class="chart" style="margin-top: 10px;display: flex;align-items: center">
@@ -111,6 +125,7 @@
 import Cookies from 'js-cookie';
 import axios from 'axios';
 import * as echarts from "echarts";
+import screenfull from "screenfull";
 
 // 定义接口来定义对象的类型
 interface stateType {
@@ -138,6 +153,9 @@
     departmentList: Array<any>;
     rankData: Array<any>;
     wdsbData: Array<any>;
+    isFull:boolean;
+    themeColor:string;
+    zin:number
 }
 interface type {
     id: number;
@@ -169,6 +187,9 @@
         const aqby = ref("eChartAqby" + Date.now() + Math.random())
         const yhxh = ref("eChartYhxh" + Date.now() + Math.random())
         const state = reactive<stateType>({
+            isFull: false,
+            themeColor: '#333',
+            zin: 1,
             pageIndex1: 1,
             pageSize1: 3,
             totalSize1: 3,
@@ -298,7 +319,30 @@
         initAqby()
         initYhxh()
       });
-
+      const toFullscreen =()=>{
+        console.log(state.isFull,'quanp',state.themeColor)
+        const element = document.getElementById('bigScreen')
+        if (!screenfull.isEnabled) {
+          ElMessage.warning('暂不不支持全屏');
+          return false;
+        }
+        screenfull.toggle(element);
+        state.isFull = !state.isFull
+        if(state.isFull == true){
+          state.themeColor = '#11FEEE'
+        }else{
+          state.themeColor = '#333'
+        }
+        initSbzt()
+        initYcqs()
+        initAqxj()
+        initAqby()
+        initYhxh()
+      }
+      const upgrade =(level:number)=>{
+        state.zin = level
+        console.log(state.zin,'zin')
+      }
       type EChartsOption = echarts.EChartsOption
       const initSbzt =()=>{
         let dom = document.getElementById(sbzt.value);
@@ -309,7 +353,15 @@
             trigger: 'item'
           },
           legend: {
-            bottom: '10%'
+            bottom: '10%',
+            textStyle: {
+              // 设置默认的文字颜色
+              color: state.themeColor,
+              fontSize: 12
+            },
+            itemStyle: {
+              borderWidth: 0 // 设置图例边框宽度为0
+            }
           },
           series: [
             {
@@ -358,7 +410,10 @@
         option = {
           xAxis: {
             type: 'category',
-            data: ['四月', '五月', '六月', '七月', '八月', '九月', '十月', '十一月', '十二月', '一月', '二月', '三月']
+            data: ['四月', '五月', '六月', '七月', '八月', '九月', '十月', '十一月', '十二月', '一月', '二月', '三月'],
+            axisLabel: {
+              color: state.themeColor
+            }
           },
           yAxis: {
             type: 'value'
@@ -387,14 +442,25 @@
         option = {
           title: {
             text: '按期巡检率',
-            left: 'center'
+            left: 'center',
+            textStyle:{
+              color: state.themeColor
+            }
           },
           tooltip: {
             trigger: 'item'
           },
           legend: {
             bottom: '5%',
-            left: 'center'
+            left: 'center',
+            textStyle: {
+              // 设置默认的文字颜色
+              color: state.themeColor,
+              fontSize: 12
+            },
+            itemStyle: {
+              borderWidth: 0 // 设置图例边框宽度为0
+            }
           },
           series: [
             {
@@ -441,14 +507,25 @@
         option = {
           title: {
             text: '按期保养率',
-            left: 'center'
+            left: 'center',
+            textStyle:{
+              color: state.themeColor
+            }
           },
           tooltip: {
             trigger: 'item'
           },
           legend: {
             bottom: '5%',
-            left: 'center'
+            left: 'center',
+            textStyle: {
+              // 设置默认的文字颜色
+              color: state.themeColor,
+              fontSize: 12
+            },
+            itemStyle: {
+              borderWidth: 0 // 设置图例边框宽度为0
+            }
           },
           series: [
             {
@@ -495,14 +572,25 @@
         option = {
           title: {
             text: '隐患销号率',
-            left: 'center'
+            left: 'center',
+            textStyle:{
+              color: state.themeColor
+            }
           },
           tooltip: {
             trigger: 'item'
           },
           legend: {
             bottom: '5%',
-            left: 'center'
+            left: 'center',
+            textStyle: {
+              // 设置默认的文字颜色
+              color: state.themeColor,
+              fontSize: 12
+            },
+            itemStyle: {
+              borderWidth: 0 // 设置图例边框宽度为0
+            }
           },
           series: [
             {
@@ -674,6 +762,8 @@
             aqxj,
             aqby,
             yhxh,
+            toFullscreen,
+            upgrade,
             handleReview,
             submitReview,
             reLoadData,
@@ -696,6 +786,14 @@
     height: calc(100vh - 144px);
     box-sizing: border-box;
     overflow: hidden;
+    .full{
+      position:fixed;
+      height: 34px;
+      line-height: 34px;
+      top: 80px;
+      right: 20px;
+      z-index: 99999;
+    }
     .demo-tabs {
         width: 100%;
         height: 100%;
@@ -710,11 +808,11 @@
     }
     .topChart{
       width: 100%;
+      height: calc(50% - 10px);
       display: flex;
       justify-content: space-between;
       align-items: flex-start;
       margin-bottom: 20px;
-      height: 50%;
 
       .chart-item{
         width: calc((100% - 40px)/3);
@@ -730,6 +828,7 @@
 
         .chart-tit{
           width: 100%;
+          height: 15%;
           display: flex;
           align-items: flex-start;
           justify-content: space-between;
@@ -774,8 +873,59 @@
         }
         .chart{
           width: 100%;
-          height: 88%;
-
+          height: 85%;
+          .el-table{
+            height: 90% !important;
+            :deep(.el-table__inner-wrapper){
+              height: 100% !important;
+              .el-table__header-wrapper {
+                height: 20% !important;
+                .el-table__header{
+                  height: 100% !important;
+                  th{
+                    height: 100% !important;
+                    padding: 0 0 !important;
+                    .cell{
+                      white-space: nowrap;
+                      overflow: hidden;
+                      text-overflow: ellipsis;
+                    }
+                  }
+                }
+              }
+              .el-table__body-wrapper {
+                height: 80% !important;
+                .el-scrollbar__view{
+                  height: 100% !important;
+                  .el-table__body{
+                    height: 100% !important;
+                    tbody{
+                      height: 100% !important;
+                      .el-table__row{
+                        height: 20% !important;
+                        td{
+                          height: 20% !important;
+                          padding: 0 0 !important;
+                          .left-info{
+                            display: flex;
+                            align-items: center;
+                          }
+                          .cell{
+                            white-space: nowrap;
+                            overflow: hidden;
+                            text-overflow: ellipsis;
+                          }
+                          .el-button{
+                            padding: 0 !important;
+                          }
+                        }
+                      }
+                    }
+                  }
+                }
+              }
+            }
+          }
           .c-item{
             width: calc((100% - 20px)/3);
             height: 100%;
@@ -824,255 +974,63 @@
         &:last-of-type{
           margin-right: 0;
         }
-      }
-    }
-    .homeCard {
-        width: 100%;
-        padding: 20px;
-        box-sizing: border-box;
-        background: #fff;
-        border-radius: 4px;
-
-        .main-card {
-            width: 100%;
-            height: 100%;
-            .cardTop {
-                display: flex;
-                align-items: center;
-                justify-content: space-between;
-                margin-bottom: 20px;
-                .mainCardBtn {
-                    margin: 0;
+        .chart{
+          .el-table{
+            height: 90% !important;
+            :deep(.el-table__inner-wrapper){
+              height: 100% !important;
+              .el-table__header-wrapper {
+                height: 20% !important;
+                .el-table__header{
+                  height: 100% !important;
+                  th{
+                    height: 100% !important;
+                    padding: 0 0 !important;
+                    .cell{
+                      white-space: nowrap;
+                      overflow: hidden;
+                      text-overflow: ellipsis;
+                    }
+                  }
                 }
-
-              .top-info {
-                display: flex;
-                font-size: 16px;
-                font-weight: bolder;
-                align-items: center;
-                padding: 6px 10px;
-                background: #ffeb87;
-                border-radius: 4px;
-                border: 1px solid #ffae00;
-                margin-right: 20px;
-
-                & > div {
-                  vertical-align: middle;
-                  white-space: nowrap;
-                  span {
-                    font-size: 22px;
-                    color: #f3001e;
-                    margin: 0 2px;
-                    cursor: pointer;
-
-                    &:hover{
-                      text-decoration: underline;
+              }
+              .el-table__body-wrapper {
+                height: 80% !important;
+                .el-scrollbar__view{
+                  height: 100% !important;
+                  .el-table__body{
+                    height: 100% !important;
+                    tbody{
+                      height: 100% !important;
+                      .el-table__row{
+                        height: 20% !important;
+                        td{
+                          height: 20% !important;
+                          padding: 0 0 !important;
+                          .left-info{
+                            display: flex;
+                            align-items: center;
+                          }
+                          .cell{
+                            white-space: nowrap;
+                            overflow: hidden;
+                            text-overflow: ellipsis;
+                          }
+                          .el-button{
+                            padding: 0 !important;
+                          }
+                        }
+                      }
                     }
                   }
                 }
               }
             }
+          }
         }
+      }
     }
-    .stepItem {
-        display: flex;
-        align-items: flex-start;
-        margin-top: 30px;
-        margin-left: 30px;
-        padding-bottom: 30px;
-        padding-left: 40px;
-        border-left: 1px solid #a0cfff;
-        position: relative;
-        &:first-of-type {
-            margin-top: 30px;
-        }
-        &:first-of-type {
-            margin-bottom: 0;
-            border-left: none;
-        }
-        .stepNum {
-            position: absolute;
-            width: 40px;
-            height: 40px;
-            border-radius: 20px;
-            box-sizing: border-box;
-            font-size: 18px;
-            color: #333;
-            border: 1px solid #a0cfff;
-            line-height: 38px;
-            text-align: center;
-            left: -20px;
-            top: -30px;
-            background: #d9ecff;
-        }
-        .stepCard {
-            width: 100%;
-            margin-top: -30px;
 
-            .box-card {
-                width: 100%;
-
-                .card-header {
-                    display: flex;
-                    justify-content: space-between;
-                    align-items: center;
-
-                    span {
-                        font-weight: bold;
-                        margin-left: 10px;
-                    }
-                }
-
-                .text {
-                    width: 100%;
-                    font-size: 14px;
-                    margin-bottom: 10px;
-                    padding-left: 10px;
-
-                    span {
-                        font-weight: bolder;
-                        color: #409eff;
-                    }
-
-                    &:last-of-type {
-                        margin-bottom: 0;
-                    }
-                }
-                .approveUnit {
-                    width: 100%;
-                    font-size: 14px;
-                    margin-bottom: 20px;
-                    padding: 10px 15px;
-                    border: 1px solid #fff;
-                    background: #ecf8ff;
-                    border-radius: 6px;
-                    .item-tit {
-                        width: 100%;
-                        display: flex;
-                        color: #409eff;
-                        align-items: flex-start;
-                        justify-content: space-between;
-                        padding-bottom: 10px;
-                        border-bottom: 1px solid #a0cfff;
-
-                        & > span {
-                            flex: 1;
-                            &:last-of-type{
-                                text-align: center;
-                            }
-                        }
-                        & > div {
-                            flex: 1;
-                            text-align: center;
-                        }
-                    }
-                    .item-cont {
-                        width: 100%;
-                        display: flex;
-                        align-items: center;
-                        justify-content: space-between;
-                        padding: 10px 0;
-                        border-bottom: 1px solid #c6e2ff;
-
-                        & > span {
-                            flex: 1;
-                            &:last-of-type{
-                                text-align: center;
-                            }
-                        }
-                        & > div {
-                            flex: 1;
-                            text-align: center;
-
-                            & > div {
-                                text-align: left;
-                                width: 100%;
-                                display: flex;
-                                justify-content: center;
-                                align-items: center;
-                                span {
-                                    width: 45%;
-                                    &:first-of-type {
-                                        width: 30%;
-                                    }
-                                }
-                            }
-                        }
-                        &:last-of-type {
-                            border-bottom: 0;
-                        }
-                    }
-                }
-                .approveItem {
-                    width: 100%;
-                    font-size: 14px;
-                    margin-bottom: 20px;
-                    padding: 10px 15px;
-                    background: #ecf8ff;
-                    border: 1px solid #fff;
-                    border-radius: 6px;
-                    .item-tit {
-                        width: 100%;
-                        display: flex;
-                        color: #409eff;
-                        align-items: flex-start;
-                        justify-content: space-between;
-                        padding-bottom: 10px;
-                        border-bottom: 1px solid #a0cfff;
-
-                        & > span {
-                            flex: 1;
-                        }
-                        & > div {
-                            flex: 2;
-                            text-align: center;
-                        }
-                    }
-                    .item-cont {
-                        width: 100%;
-                        display: flex;
-                        align-items: center;
-                        justify-content: space-between;
-                        padding: 10px 0;
-                        border-bottom: 1px solid #c6e2ff;
-
-                        & > span {
-                            flex: 1;
-                        }
-                        & > div {
-                            flex: 2;
-                            text-align: center;
-
-                            & > div {
-                                text-align: left;
-                                width: 100%;
-                                display: flex;
-                                justify-content: center;
-                                align-items: flex-start;
-                                margin-bottom: 10px;
-                                span {
-                                    width: 50%;
-                                    &:first-of-type {
-                                        width: 25%;
-                                    }
-                                }
-                            }
-                        }
-                        &:last-of-type {
-                            border-bottom: 0;
-                        }
-                    }
-                }
-            }
-        }
-        &:hover .card-header {
-            color: #0098f5;
-        }
-        &:hover .stepNum {
-            border: 2px solid #0098f5;
-            color: #0098f5;
-        }
-    }
     .el-row {
         display: flex;
         align-items: center;
@@ -1099,6 +1057,137 @@
         }
     }
 }
+.container{
+  padding: 20px;
+  background: url('../../../assets/spwbg.png') no-repeat center;
+
+  .full{
+    position:fixed;
+    background: #fff;
+    border-radius: 17px;
+    box-shadow: 3px 3px 12px rgba(0,0,0,.2);
+    height: 34px;
+    line-height: 34px;
+    top: 0;
+    right: 20px;
+    z-index: 99999;
+  }
+  .topChart{
+    .chart-item{
+      border-radius: 4px;
+      background: rgba(8, 109, 209, 0.2);
+      border: 1px solid rgba(54, 252, 252, .6);
+      backdrop-filter: blur(5px);
+
+      .el-radio.is-bordered.is-checked{
+        border-color: #11FEEE !important;
+        :deep(.el-radio__inner){
+          border-color: #11FEEE !important;
+          background: #11FEEE !important;
+        }
+        :deep(.el-radio__label){
+          color: #11FEEE !important
+        }
+      }
+      .chart-tit{
+        .tit{
+          color: #11FEEE;
+        }
+
+        ::v-deep(.el-popper){
+          background-color: rgba(10,31,92,1);
+          border: 1px solid rgba(17,254,238,.4);
+          color: #11FEEE;
+          .el-cascader-node{
+            .in-active-path{
+              background: #0049af;
+            }
+            &:hover{
+              background: #0049af;
+            }
+          }
+          .el-cascader-node__label{
+            color: #11FEEE;
+          }
+          .el-icon{
+            color: #11FEEE;
+          }
+          .el-select-dropdown__item{
+            color: #11FEEE;
+          }
+          .el-select-dropdown__item.hover{
+            background: #0049af;
+          }
+        }
+        ::v-deep(.el-popper__arrow){
+          &::before{
+            background-color: rgba(10,31,92,.6) !important;
+            border: 1px solid rgba(17,254,238,.4);
+          }
+        }
+        ::v-deep(.el-input__wrapper){
+          box-shadow: none;
+          border: 1px solid rgba(17,254,238,.2);
+          background: rgba(10,31,92,.6) !important;
+          height: 1.5rem;
+          color: #11FEEE;
+
+          input{
+            font-size: 0.8rem;
+            color: #11FEEE;
+          }
+          .el-icon{
+            color: #11FEEE;
+          }
+        }
+      }
+      .chart{
+        .el-table {
+          color: #11FEEE !important;
+          background-color: rgba(0,0,0,0) !important;
+          :deep(thead){
+            color: #11FEEE !important;
+            background-color: #092846 !important
+          }
+          :deep(tr){
+            background-color: rgba(0,0,0,0) !important;
+            .el-table__cell{
+              background-color: rgba(0,0,0,0) !important;
+            }
+          }
+        }
+        .el-button--text{
+          color: #11FEEE;
+        }
+      }
+    }
+    .upItem{
+      position: relative;
+      z-index: 9999;
+    }
+    .chart-item2{
+      .chart{
+        .el-table {
+          color: #11FEEE !important;
+          background-color: rgba(0,0,0,0) !important;
+          :deep(thead){
+            color: #11FEEE !important;
+            background-color: #092846 !important
+          }
+          :deep(tr){
+            background-color: rgba(0,0,0,0) !important;
+            .el-table__cell{
+              background-color: rgba(0,0,0,0) !important;
+            }
+          }
+        }
+        .el-button--text{
+          color: #11FEEE;
+        }
+      }
+    }
+  }
+}
 .el-card {
     border: 0;
 }
diff --git a/src/views/intellectInspect/inspectIndex2/index.vue b/src/views/intellectInspect/inspectIndex2/index.vue
index 00200da..2ef1411 100644
--- a/src/views/intellectInspect/inspectIndex2/index.vue
+++ b/src/views/intellectInspect/inspectIndex2/index.vue
@@ -78,7 +78,7 @@
                   </div>
                 </div>
                 <div class="chart">
-                  <el-table :data="tableData" stripe border :header-cell-style="isFull==true?{background: none}:{ background: '#fafafa' }">
+                  <el-table :data="tableData" stripe border :header-cell-style="{ background: '#fafafa' }">
                     <el-table-column label="任务信息" align="center">
                       <template #default="scope">
                         <div class="left-info">
@@ -141,7 +141,7 @@
                   </div>
               </div>
               <div class="chart">
-                <el-table :data="unusualData" stripe border :header-cell-style="isFull==true?{background: none}:{ background: '#fafafa' }">
+                <el-table :data="unusualData" stripe border :header-cell-style="{ background: '#fafafa' }">
                   <el-table-column prop="num" label="工单编号" align="center"/>
                   <el-table-column prop="spot" label="异常巡检点" align="center"/>
                   <el-table-column prop="time" label="巡检(发现)时间" align="center"/>
@@ -221,7 +221,7 @@
     groupName: string;
 }
 export default {
-    name: 'workingHours',
+    name: 'inspectIndex',
     components: { inspectRecordDialog, inspectList, unusualList },
     setup() {
         const router = useRouter();
@@ -329,6 +329,13 @@
             initSbtj()
         });
         const toFullscreen =()=>{
+          console.log(state.isFull,'quanp',state.themeColor)
+          const element = document.getElementById('bigScreen')
+          if (!screenfull.isEnabled) {
+            ElMessage.warning('暂不不支持全屏');
+            return false;
+          }
+          screenfull.toggle(element);
           state.isFull = !state.isFull
           if(state.isFull == true){
             state.themeColor = '#11FEEE'
@@ -337,13 +344,6 @@
           }
           initXjLine()
           initSbtj()
-          console.log(state.isFull,'quanp',state.themeColor)
-          const element = document.getElementById('bigScreen')
-          if (!screenfull.isEnabled) {
-            ElMessage.warning('暂不不支持全屏');
-            return false;
-          }
-          screenfull.toggle(element);
         }
         const checkAllRecord =()=>{
           inspectListRef.value.departmentList = state.departmentList
@@ -822,7 +822,6 @@
                     }
                   }
                 }
-
               }
             }
           }
@@ -905,6 +904,14 @@
           background-color: rgba(10,31,92,1);
           border: 1px solid rgba(17,254,238,.4);
           color: #11FEEE;
+          .el-cascader-node{
+            .in-active-path{
+              background: #0049af;
+            }
+            &:hover{
+              background: #0049af;
+            }
+          }
           .el-cascader-node__label{
             color: #11FEEE;
           }
@@ -967,11 +974,19 @@
     .tit{
       color: #11FEEE;
     }
+    .checkAll{
+      cursor: pointer;
+      color: #11feee;
+      &:hover{
+        color: #409eff
+      }
+    }
     .el-table {
       color: #11FEEE !important;
       background-color: rgba(0,0,0,0) !important;
       :deep(thead){
         color: #11FEEE !important;
+        background-color: #092846 !important
       }
       :deep(tr){
         background-color: rgba(0,0,0,0) !important;
@@ -988,6 +1003,14 @@
       background-color: rgba(10,31,92,1);
       border: 1px solid rgba(17,254,238,.4);
       color: #11FEEE;
+      .el-cascader-node{
+        .in-active-path{
+          background: #0049af;
+        }
+        &:hover{
+          background: #0049af;
+        }
+      }
       .el-cascader-node__label{
         color: #11FEEE;
       }
diff --git a/src/views/specialWorkSystem/specialIndex/components/videoDetail.vue b/src/views/specialWorkSystem/specialIndex/components/videoDetail.vue
new file mode 100644
index 0000000..52337d2
--- /dev/null
+++ b/src/views/specialWorkSystem/specialIndex/components/videoDetail.vue
@@ -0,0 +1,44 @@
+<template>
+  <el-dialog v-model="videoDetailDialog" title="实时监控" width="80%" center>
+
+  </el-dialog>
+</template>
+
+<script lang="ts">
+	import { toRefs, reactive, defineComponent, ref, defineAsyncComponent } from 'vue';
+	import { storeToRefs } from 'pinia';
+	import { initBackEndControlRoutes } from '/@/router/backEnd';
+	import {useUserInfo} from "/@/stores/userInfo";
+	import { Session } from '/@/utils/storage';
+	import { ElMessage } from 'element-plus'
+	import type { FormInstance, FormRules } from 'element-plus'
+	import { workApplyApi } from '/@/api/specialWorkSystem/workApply';
+
+
+	interface stateType {
+    videoDetailDialog:boolean
+	}
+	export default defineComponent({
+		name: 'videoDetail',
+		components: {},
+		props:[],
+		setup() {
+			const userInfo = useUserInfo()
+			const { userInfos } = storeToRefs(userInfo);
+      const state = reactive<stateType>({
+        videoDetailDialog: false
+      })
+      const openDialog = ()=>{
+        state.videoDetailDialog = true
+      }
+			return {
+        openDialog,
+        ...toRefs(state)
+			};
+		},
+	});
+</script>
+
+<style scoped lang="scss">
+
+</style>
diff --git a/src/views/specialWorkSystem/specialIndex/index.vue b/src/views/specialWorkSystem/specialIndex/index.vue
index 54102a3..f18f329 100644
--- a/src/views/specialWorkSystem/specialIndex/index.vue
+++ b/src/views/specialWorkSystem/specialIndex/index.vue
@@ -83,21 +83,21 @@
                       :value="item.id"
                   />
                 </el-select>
-                <el-button type="text" size="small">所有记录>></el-button>
               </div>
             </div>
             <div class="chart">
-              <el-table ref="multipleTableRef" :data="warningData" style="width: 100%" :header-cell-style="isFull==true?{background: none}:{ background: '#fafafa' }">
-                <el-table-column property="name" label="姓名" width="180" align="center"/>
+              <el-table ref="multipleTableRef" :data="warningData" style="width: 100%" stripe border :header-cell-style="{ background: '#fafafa' }">
+                <el-table-column property="name" label="姓名" align="center"/>
                 <el-table-column property="dep" label="所属部门" align="center"/>
                 <el-table-column property="warning" label="异常报警次数" align="center"/>
                 <el-table-column property="role" label="角色" align="center"/>
-                <el-table-column property="isCard" label="是否持证" align="center" width="180">
+                <el-table-column property="isCard" label="是否持证" align="center">
                   <template #default="scope">
                     <span>{{scope.row.isCard == 1?'是':'否'}}</span>
                   </template>
                 </el-table-column>
               </el-table>
+              <el-button type="text" size="small" style="margin-top: 10px">所有记录>></el-button>
             </div>
 <!--            <div class="chart" :id="slfx"></div>-->
           </div>
@@ -179,9 +179,9 @@
                           <el-button type="primary" :icon="Refresh" size="default" @click="reLoadData()" />
                         </el-col>
                     </el-row>
-                    <el-table ref="multipleTableRef" :data="workData" style="width: 100%" :header-cell-style="{ background: '#fafafa' }">
+                    <el-table ref="multipleTableRef" stripe border :data="workData" style="width: 100%" :header-cell-style="{ background: '#fafafa' }">
                         <el-table-column property="num" label="作业证编号" align="center"/>
-                      <el-table-column property="dep" label="部门" align="center"/>
+                        <el-table-column property="dep" label="部门" align="center"/>
                         <el-table-column property="applyer" label="申请人" align="center"/>
                         <el-table-column property="worker" label="作业人" align="center"/>
                         <el-table-column property="type" label="作业类型" align="center"/>
@@ -210,7 +210,7 @@
                             <template #default="scope">
                               <el-button link type="primary" size="small" :icon="View" @click="viewRecord(scope.row)">查看作业票</el-button>
                               <el-button link type="primary" size="small" :icon="FolderChecked" @click="handleReview(scope.row)">验收</el-button>
-                              <el-button link type="primary" size="small" :icon="FolderChecked" @click="handleReview(scope.row)">查看实时监控</el-button>
+                              <el-button link type="primary" size="small" :icon="VideoPlay" @click="openVideo(scope.row)">查看实时监控</el-button>
                             </template>
                         </el-table-column>
                     </el-table>
@@ -254,6 +254,7 @@
               </span>
           </template>
         </el-dialog>
+        <video-detail ref="videoRef"></video-detail>
     </div>
 </template>
 
@@ -264,7 +265,7 @@
 import { useUserInfo } from '/@/stores/userInfo';
 import { Session } from '/@/utils/storage';
 import { useRouter } from 'vue-router';
-import { Edit, View, Plus, Delete, Refresh, Search, Finished, Download, FolderChecked } from '@element-plus/icons-vue';
+import { Edit, View, Plus, Delete, Refresh, Search, Finished, Download, FolderChecked, VideoPlay } from '@element-plus/icons-vue';
 import { ElTable, ElMessage } from 'element-plus';
 import { specialIndexApi } from '/@/api/specialWorkSystem/specialIndex';
 import { workApplyApi } from '/@/api/specialWorkSystem/workApply';
@@ -275,6 +276,7 @@
 import axios from 'axios';
 import * as echarts from "echarts";
 import screenfull from "screenfull";
+import VideoDetail from "/@/views/specialWorkSystem/specialIndex/components/videoDetail.vue";
 
 // 定义接口来定义对象的类型
 interface stateType {
@@ -331,6 +333,7 @@
 export default defineComponent({
     name: 'specialIndex',
     components: {
+      VideoDetail,
         fire: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/wdsq/components/fireLog.vue')),
         space: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/wdsq/components/spaceLog.vue')),
         hoist: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/wdsq/components/hoistLog.vue')),
@@ -348,6 +351,7 @@
         const zyfb = ref("eChartZyfb" + Date.now() + Math.random())
         const slfx = ref("eChartSlfx" + Date.now() + Math.random())
         const zyqs = ref("eChartZyqs" + Date.now() + Math.random())
+        const videoRef = ref();
         const state = reactive<stateType>({
             pageIndex1: 1,
             pageSize1: 10,
@@ -393,6 +397,36 @@
                 reason: '分析超时',
                 warning: 0,
                 message: 1
+              },
+              {
+                num: '222',
+                dep: '部门2',
+                applyer: '张凤',
+                worker: '李羽飞',
+                type: '动土作业',
+                level: '一级',
+                applyTime: '2023-03-08',
+                startTime: '2023-03-08',
+                endTime: '2023-03-08',
+                status: 1,
+                reason: '分析超时',
+                warning: 1,
+                message: 0
+              },
+              {
+                num: '333',
+                dep: '部门3',
+                applyer: '张凤',
+                worker: '李羽飞',
+                type: '动火作业',
+                level: '一级',
+                applyTime: '2023-03-08',
+                startTime: '2023-03-08',
+                endTime: '2023-03-08',
+                status: 2,
+                reason: '分析超时',
+                warning: 2,
+                message: 0
               },
               {
                 num: '222',
@@ -495,6 +529,13 @@
                 warning: 51,
                 role: '监护人',
                 isCard: 0
+              },
+              {
+                name: '黄公子',
+                dep: '有机事业部',
+                warning: 69,
+                role: '作业人',
+                isCard: 1
               }
             ],
             reviewForm: {
@@ -513,6 +554,12 @@
         initZyqs()
       });
       const toFullscreen =()=>{
+        const element = document.getElementById('bigScreen')
+        if (!screenfull.isEnabled) {
+          ElMessage.warning('暂不不支持全屏');
+          return false;
+        }
+        screenfull.toggle(element);
         state.isFull = !state.isFull
         if(state.isFull == true){
           state.themeColor = '#11FEEE'
@@ -522,13 +569,6 @@
         initZyfb()
         initSlfx()
         initZyqs()
-        console.log(state.isFull,'quanp',state.themeColor)
-        const element = document.getElementById('bigScreen')
-        if (!screenfull.isEnabled) {
-          ElMessage.warning('暂不不支持全屏');
-          return false;
-        }
-        screenfull.toggle(element);
       }
       const getTypePie = async ()=>{
         let res = await specialIndexApi().analyseType(state.chartSearch1.startTime,state.chartSearch1.endTime,state.chartSearch1.searchDep);
@@ -827,7 +867,9 @@
         const handleReview = (row)=>{
           state.dialogReview = true
         }
-
+        const openVideo = ()=>{
+          videoRef.value.openDialog()
+        }
       const submitReview = async (formEl: FormInstance | undefined) => {
         if (!formEl) return
         await formEl.validate((valid, fields) => {
@@ -855,12 +897,15 @@
             Finished,
             Download,
             FolderChecked,
+            VideoPlay,
             reviewFormRef,
+            videoRef,
             zyfb,
             slfx,
             zyqs,
             toFullscreen,
             handleReview,
+            openVideo,
             submitReview,
             reLoadData,
             toApply,
@@ -937,12 +982,14 @@
 
         .chart-tit{
           width: 100%;
+          height: 15%;
           display: flex;
           align-items: flex-start;
           justify-content: space-between;
           .tit{
             font-size: 1.33rem;
             font-weight: bolder;
+            white-space: nowrap;
           }
           .filter-part{
             display: flex;
@@ -972,7 +1019,59 @@
         }
         .chart{
           width: 100%;
-          height: 88%;
+          height: 85%;
+          .el-table{
+            height: 90% !important;
+            :deep(.el-table__inner-wrapper){
+              height: 100% !important;
+              .el-table__header-wrapper {
+                height: 20% !important;
+                .el-table__header{
+                  height: 100% !important;
+                  th{
+                    height: 100% !important;
+                    padding: 0 0 !important;
+                    .cell{
+                      white-space: nowrap;
+                      overflow: hidden;
+                      text-overflow: ellipsis;
+                    }
+                  }
+                }
+              }
+              .el-table__body-wrapper {
+                height: 80% !important;
+                .el-scrollbar__view{
+                  height: 100% !important;
+                  .el-table__body{
+                    height: 100% !important;
+                    tbody{
+                      height: 100% !important;
+                      .el-table__row{
+                        height: 25% !important;
+                        td{
+                          height: 25% !important;
+                          padding: 0 0 !important;
+                          .left-info{
+                            display: flex;
+                            align-items: center;
+                          }
+                          .cell{
+                            white-space: nowrap;
+                            overflow: hidden;
+                            text-overflow: ellipsis;
+                          }
+                          .el-button{
+                            padding: 0 !important;
+                          }
+                        }
+                      }
+                    }
+                  }
+                }
+              }
+            }
+          }
         }
         .el-radio-group{
           width: 20%;
@@ -1329,6 +1428,14 @@
           background-color: rgba(10,31,92,1);
           border: 1px solid rgba(17,254,238,.4);
           color: #11FEEE;
+          .el-cascader-node{
+            .in-active-path{
+              background: #0049af;
+            }
+            &:hover{
+              background: #0049af;
+            }
+          }
           .el-cascader-node__label{
             color: #11FEEE;
           }
@@ -1370,6 +1477,7 @@
           background-color: rgba(0,0,0,0) !important;
           :deep(thead){
             color: #11FEEE !important;
+            background-color: #092846 !important
           }
           :deep(tr){
             background-color: rgba(0,0,0,0) !important;
@@ -1377,6 +1485,9 @@
               background-color: rgba(0,0,0,0) !important;
             }
           }
+        }
+        .el-button--text{
+          color: #11FEEE;
         }
       }
     }
@@ -1395,11 +1506,15 @@
         }
       }
     }
+    :deep(.el-range-separator){
+      color: #11FEEE;
+    }
     .el-table {
       color: #11FEEE !important;
       background-color: rgba(0,0,0,0) !important;
       :deep(thead){
         color: #11FEEE !important;
+        background-color: #092846 !important
       }
       :deep(tr){
         background-color: rgba(0,0,0,0) !important;
@@ -1416,6 +1531,14 @@
       background-color: rgba(10,31,92,1);
       border: 1px solid rgba(17,254,238,.4);
       color: #11FEEE;
+      .el-cascader-node{
+        .in-active-path{
+          background: #0049af;
+        }
+        &:hover{
+          background: #0049af;
+        }
+      }
       .el-cascader-node__label{
         color: #11FEEE;
       }

--
Gitblit v1.9.2