From a39031776b70e546098701ec9b92fad171a7a360 Mon Sep 17 00:00:00 2001
From: batman <978517621@qq.com>
Date: 星期三, 08 三月 2023 10:46:38 +0800
Subject: [PATCH] 新修改添加页面

---
 src/views/specialWorkSystem/specialIndex/index.vue   |  151 +++++++++++---
 src/views/facilityManagement/facilityIndex/index.vue |  266 +++++++++++++------------
 src/views/intellectInspect/inspectIndex2/index.vue   |  180 +++++++++++------
 3 files changed, 365 insertions(+), 232 deletions(-)

diff --git a/src/views/facilityManagement/facilityIndex/index.vue b/src/views/facilityManagement/facilityIndex/index.vue
index 0e011e8..4f10dde 100644
--- a/src/views/facilityManagement/facilityIndex/index.vue
+++ b/src/views/facilityManagement/facilityIndex/index.vue
@@ -41,18 +41,13 @@
               </div>
             </div>
             <div class="chart" style="margin-top: 10px">
-              <el-table ref="multipleTableRef" :data="warningData" style="width: 100%" :header-cell-style="{ background: '#fafafa' }">
-                <el-table-column property="name" label="姓名" align="center"/>
-                <el-table-column property="depName" label="所属部门" align="center"/>
-                <el-table-column property="applyUname" label="异常报警次数" align="center"/>
-                <el-table-column property="operators" label="角色" align="center"/>
-                <el-table-column label="是否持证" align="center">
-                  <template #default="scope">
-
-                  </template>
-                </el-table-column>
+              <el-table ref="multipleTableRef" :data="rankData" style="width: 100%" :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"/>
+                <el-table-column property="count" label="关联次数" align="center"/>
               </el-table>
-              <el-button type="text" size="small">查看所有设计特殊作业的设备>></el-button>
+              <el-button type="text" size="small" style="margin-top: 10px">查看所有涉及殊作业的设备>></el-button>
             </div>
             <!--            <div class="chart" :id="ycqs"></div>-->
           </div>
@@ -67,18 +62,20 @@
             </div>
             <div class="chart" style="margin-top: 10px">
               <el-table :data="wdsbData" style="width: 100%" stripe border :header-cell-style="{ background: '#fafafa' }">
-                <el-table-column label="设备位号" align="center"/>
-                <el-table-column label="设备名称" align="center"/>
-                <el-table-column label="所属事业部" align="center"/>
-                <el-table-column label="温度敏感范围" align="center"/>
-                <el-table-column label="当前气温" align="center"/>
-                <el-table-column label="状态" align="center" width="180">
+                <el-table-column prop="num" label="设备位号" align="center"/>
+                <el-table-column prop="name" label="设备名称" align="center"/>
+                <el-table-column prop="dep" label="所属事业部" align="center"/>
+                <el-table-column prop="temRange" label="温度敏感范围" align="center"/>
+                <el-table-column prop="tem" label="当前气温" align="center"/>
+                <el-table-column prop="status" label="状态" align="center" width="180">
                   <template #default="scope">
-                    <span :style="{color: scope.row.taskStatus == 1 ? '#999' : scope.row.taskStatus == 2 ? '#44b100' : scope.row.taskStatus == 3 ? '#409eff' : 'red'}">{{ scope.row.taskStatus == 1 ? '待巡检' : scope.row.taskStatus == 2 ? '巡检中' : scope.row.taskStatus == 3 ? '已巡检' : '超期未巡检' }}</span>
+                    <el-tag :type="scope.row.status == 0 ? 'success' : scope.row.status == 1 ? '' : 'danger'">{{ scope.row.status == 0 ? '正常' : scope.row.status == 1 ? '低温警报' : '高温警报' }}</el-tag>
                   </template>
                 </el-table-column>
               </el-table>
-              <el-pagination v-model:currentPage="chartSearch4.pageIndex" v-model:page-size="chartSearch4.pageSize" :page-sizes="[10, 15]" small="false" background layout="total, sizes, prev, pager, next, jumper" :total="totalSize" @size-change="handleSizeChange" @current-change="handleCurrentChange" />
+              <div class="pageBtn">
+                <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">
@@ -89,15 +86,9 @@
               </div>
             </div>
             <div class="chart" style="margin-top: 10px;display: flex;align-items: center">
-              <div class="c-item" :id="aqxj">
-
-              </div>
-              <div class="c-item" :id="aqby">
-
-              </div>
-              <div class="c-item" :id="yhxh">
-
-              </div>
+              <div class="c-item" :id="aqxj"></div>
+              <div class="c-item" :id="aqby"></div>
+              <div class="c-item" :id="yhxh"></div>
             </div>
           </div>
         </div>
@@ -139,19 +130,14 @@
     chartSearch2: object;
     chartSearch3: object;
     chartSearch4: object;
-    searchDep2: number | null;
-    searchDep: number | null;
-    searchDate: Array<any>,
     totalSize1: number;
     details: {};
     workType: Array<type>;
     workType1: Array<type>;
     dialogType: number | null;
     departmentList: Array<any>;
-    departmentRecursionList: Array<DepartmentState>;
-    workStatus: Array<status>;
-    reviewForm: object;
-    reviewRules: object;
+    rankData: Array<any>;
+    wdsbData: Array<any>;
 }
 interface type {
     id: number;
@@ -177,7 +163,6 @@
         const userInfo = useUserInfo();
         const { userInfos } = storeToRefs(userInfo);
         const router = useRouter();
-        const reviewFormRef = ref<FormInstance>()
         const sbzt = ref("eChartSbzt" + Date.now() + Math.random())
         const ycqs = ref("eChartYcqs" + Date.now() + Math.random())
         const aqxj = ref("eChartAqxj" + Date.now() + Math.random())
@@ -185,12 +170,11 @@
         const yhxh = ref("eChartYhxh" + Date.now() + Math.random())
         const state = reactive<stateType>({
             pageIndex1: 1,
-            pageSize1: 10,
-            totalSize1: 0,
+            pageSize1: 3,
+            totalSize1: 3,
             dialogType: null,
             dialogReview: false,
             departmentList: [],
-            departmentRecursionList: [],
             chosenIndex: null,
             searchWord: null,
             searchStatus: null,
@@ -208,9 +192,6 @@
             chartSearch4: {
               searchDep: null
             },
-            searchDep2: null,
-            searchDep: null,
-            searchDate: [],
             applyData: [],
             workTimeList: [],
             multipleSelection: [],
@@ -248,34 +229,68 @@
                 { id: 7, name: '临时用电作业' },
                 { id: 8, name: '盲板抽堵作业' }
             ],
-            workStatus: [
+            rankData: [
               {
-                name: '作业进行中',
-                value: 0
+                num: '111',
+                name: '设备1',
+                dep: '事业部1',
+                count: 58
               },
               {
-                name: '作业终止',
-                value: 1
+                num: '222',
+                name: '设备2',
+                dep: '事业部2',
+                count: 58
               },
               {
-                name: '作业结束待验收',
-                value: 2
+                num: '333',
+                name: '设备3',
+                dep: '事业部3',
+                count: 58
               },
               {
-                name: '作业完成',
-                value: 3
+                num: '444',
+                name: '设备4',
+                dep: '事业部4',
+                count: 58
+              },
+              {
+                num: '555',
+                name: '设备5',
+                dep: '事业部5',
+                count: 58
               }
             ],
-            reviewForm: {
-              advice: ''
-            },
-            reviewRules:{
-              advice: [{ required: true, message: '请填写验收意见', trigger: 'blur' }]
-            }
+            wdsbData: [
+              {
+                num: '111',
+                name: '设备1',
+                dep: '事业部1',
+                temRange: '>=35摄氏度',
+                tem: '38摄氏度',
+                status: '2'
+              },
+              {
+                num: '222',
+                name: '设备1',
+                dep: '事业部1',
+                temRange: '<=55摄氏度',
+                tem: '38摄氏度',
+                status: '1'
+              },
+              {
+                num: '333',
+                name: '设备1',
+                dep: '事业部1',
+                temRange: '>=55摄氏度',
+                tem: '38摄氏度',
+                status: '0'
+              }
+            ]
         });
       // 页面载入时执行方法
       onMounted(() => {
-        getListByPage();
+        // getListByPage();
         getAllDepartment();
         initSbzt()
         initYcqs()
@@ -294,9 +309,7 @@
             trigger: 'item'
           },
           legend: {
-            orient: 'vertical',
-            left: 'left',
-            top: 'center'
+            bottom: '10%'
           },
           series: [
             {
@@ -531,7 +544,7 @@
       }
         // 刷新
         const reLoadData = async () => {
-            getListByPage();
+            // getListByPage();
         };
 
         // 填写表单
@@ -556,29 +569,29 @@
         };
 
         // 分页获取列表
-        const getListByPage = async () => {
-            const dateRange = JSON.parse(JSON.stringify(state.searchDate))
-            if(dateRange[1]){dateRange[1] = dateRange[1].replace('00:00:00','23:59:59')}
-            const data = { pageSize: state.pageSize1, pageIndex: state.pageIndex1, searchParams: { workType: state.searchWord, applyDepId: state.searchDep,applyStartTime: dateRange[0],applyEndTime: dateRange[1]} };
-            let res = await workApplyApi().getApplyList(data);
-            if (res.data.code === '200') {
-                state.applyData = JSON.parse(JSON.stringify(res.data.data));
-                state.applyData = state.applyData.map((item) => {
-                    if (item.operators == null || item.operators == []) {
-                        item.operators = [];
-                    } else {
-                        item.operators = Array.from(item.operators, ({ operatorUname }) => operatorUname);
-                    }
-                    return item;
-                });
-                state.totalSize1 = res.data.total;
-            } else {
-                ElMessage({
-                    type: 'warning',
-                    message: res.data.msg
-                });
-            }
-        };
+        // const getListByPage = async () => {
+        //     const dateRange = JSON.parse(JSON.stringify(state.searchDate))
+        //     if(dateRange[1]){dateRange[1] = dateRange[1].replace('00:00:00','23:59:59')}
+        //     const data = { pageSize: state.pageSize1, pageIndex: state.pageIndex1, searchParams: { workType: state.searchWord, applyDepId: state.searchDep,applyStartTime: dateRange[0],applyEndTime: dateRange[1]} };
+        //     let res = await workApplyApi().getApplyList(data);
+        //     if (res.data.code === '200') {
+        //         state.applyData = JSON.parse(JSON.stringify(res.data.data));
+        //         state.applyData = state.applyData.map((item) => {
+        //             if (item.operators == null || item.operators == []) {
+        //                 item.operators = [];
+        //             } else {
+        //                 item.operators = Array.from(item.operators, ({ operatorUname }) => operatorUname);
+        //             }
+        //             return item;
+        //         });
+        //         state.totalSize1 = res.data.total;
+        //     } else {
+        //         ElMessage({
+        //             type: 'warning',
+        //             message: res.data.msg
+        //         });
+        //     }
+        // };
 
         // 表格数据格式化
         const toNames = (row, column, cellValue, index) => {
@@ -598,32 +611,32 @@
         };
 
         // 关键词查询记录
-        const searchRecord = async () => {
-            if (state.searchWord == null && state.searchStatus == null && state.searchDep == null && state.searchDate == []) {
-                ElMessage({
-                    type: 'warning',
-                    message: '请输入查询关键词'
-                });
-            } else {
-                getListByPage();
-            }
-        };
+        // const searchRecord = async () => {
+        //     if (state.searchWord == null && state.searchStatus == null && state.searchDep == null && state.searchDate == []) {
+        //         ElMessage({
+        //             type: 'warning',
+        //             message: '请输入查询关键词'
+        //         });
+        //     } else {
+        //         getListByPage();
+        //     }
+        // };
         // 重置搜索
-        const clearSearch = async () => {
-            state.searchWord = null;
-            state.searchDep = null;
-            state.searchDate = []
-            getListByPage();
-        };
-
-        const handleSizeChange1 = (val: number) => {
-            state.pageSize1 = val;
-            getListByPage();
-        };
-        const handleCurrentChange1 = (val: number) => {
-            state.pageIndex1 = val;
-            getListByPage();
-        };
+        // const clearSearch = async () => {
+        //     state.searchWord = null;
+        //     state.searchDep = null;
+        //     state.searchDate = []
+        //     getListByPage();
+        // };
+        //
+        // const handleSizeChange1 = (val: number) => {
+        //     state.pageSize1 = val;
+        //     getListByPage();
+        // };
+        // const handleCurrentChange1 = (val: number) => {
+        //     state.pageIndex1 = val;
+        //     getListByPage();
+        // };
 
         const handleReview = (row)=>{
           state.dialogReview = true
@@ -656,7 +669,6 @@
             Finished,
             Download,
             FolderChecked,
-            reviewFormRef,
             sbzt,
             ycqs,
             aqxj,
@@ -667,11 +679,11 @@
             reLoadData,
             toApply,
             toNames,
-            searchRecord,
-            clearSearch,
-            getListByPage,
-            handleSizeChange1,
-            handleCurrentChange1,
+            // searchRecord,
+            // clearSearch,
+            // getListByPage,
+            // handleSizeChange1,
+            // handleCurrentChange1,
             ...toRefs(state)
         };
     }
@@ -768,6 +780,15 @@
             width: calc((100% - 20px)/3);
             height: 100%;
           }
+          .pageBtn {
+            display: flex;
+            align-items: center;
+            justify-content: right;
+
+            .demo-pagination-block .demonstration {
+              margin-bottom: 16px;
+            }
+          }
         }
         .el-radio-group{
           width: 20%;
@@ -850,19 +871,6 @@
                   }
                 }
               }
-            }
-            .pageBtn {
-                height: 60px;
-                display: flex;
-                align-items: center;
-                justify-content: right;
-
-                .demo-pagination-block + .demo-pagination-block {
-                    margin-top: 10px;
-                }
-                .demo-pagination-block .demonstration {
-                    margin-bottom: 16px;
-                }
             }
         }
     }
diff --git a/src/views/intellectInspect/inspectIndex2/index.vue b/src/views/intellectInspect/inspectIndex2/index.vue
index c530dfd..83c0fd9 100644
--- a/src/views/intellectInspect/inspectIndex2/index.vue
+++ b/src/views/intellectInspect/inspectIndex2/index.vue
@@ -11,21 +11,22 @@
             <div class="chart-item">
               <div class="chart-tit">
                 <span class="tit">异常区域设备统计</span>
-                <el-switch
-                    v-model="chartStatus"
-                    class="ml-2"
-                    inline-prompt
-                    style="--el-switch-on-color: #13ce66; --el-switch-off-color: #13ce66"
-                    active-text="区域"
-                    inactive-text="设备"
-                />
+                <div class="filter-part">
+                  <el-switch
+                      v-model="chartStatus"
+                      inline-prompt
+                      style="--el-switch-on-color: #13ce66; --el-switch-off-color: #13ce66"
+                      active-text="区域"
+                      inactive-text="设备"
+                  />
+                </div>
               </div>
-              <dv-active-ring-chart :config="conf" class="chart"/>
-              <el-radio-group v-model="period" label="size control" size="small" height="250px" style="display: flex;justify-content: center;margin-top: 10px">
-                <el-radio-button label="week">近7天</el-radio-button>
-                <el-radio-button label="month">近30天</el-radio-button>
-                <el-radio-button label="season">近90天</el-radio-button>
-                <el-radio-button label="year">近一年</el-radio-button>
+              <div class="chart" :id="sbtj"></div>
+              <el-radio-group v-model="period" size="small">
+                <el-radio border label="week">近7天</el-radio>
+                <el-radio border label="month">近30天</el-radio>
+                <el-radio border label="season">近90天</el-radio>
+                <el-radio border label="year">近一年</el-radio>
               </el-radio-group>
             </div>
           </div>
@@ -205,7 +206,6 @@
     classGroupList: Array<classGroup>;
     quotaList: [];
     inspectPointAllList: [];
-    conf:{};
     chartStatus:boolean;
     period: string
 }
@@ -223,6 +223,7 @@
     setup() {
         const router = useRouter();
         const xjLine = ref("eChartXjLine" + Date.now() + Math.random())
+        const sbtj = ref("eChartSbtj" + Date.now() + Math.random())
         const state = reactive<stateType>({
             pageIndex: 1,
             pageSize: 4,
@@ -302,39 +303,7 @@
             ],
             classGroupList: [],
             quotaList: [],
-            inspectPointAllList: [],
-            conf:{
-              radius: '75%',
-              activeRadius: '80%',
-              lineWidth: 24,
-              digitalFlopStyle: {
-                fontSize: 25,
-                fill: '#000',
-              },
-              textColor: '#000',
-              data: [
-                {
-                  name: '区域1',
-                  value: 98,
-                },
-                {
-                  name: '区域2',
-                  value: 150,
-                },
-                {
-                  name: '区域3',
-                  value: 62,
-                },
-                {
-                  name: '区域4',
-                  value: 54,
-                },
-                {
-                  name: '区域5',
-                  value: 54,
-                }
-              ]
-          }
+            inspectPointAllList: []
         });
         const inspectRecordDialogRef = ref();
         const inspectListRef = ref();
@@ -352,6 +321,7 @@
             getDayData();
             getDepartmentData();
             initXjLine()
+            initSbtj()
         });
         const checkAllRecord =()=>{
           inspectListRef.value.departmentList = state.departmentList
@@ -447,7 +417,60 @@
             myChart.resize();
           });
         }
+        const initSbtj =()=>{
+          let dom = document.getElementById(sbtj.value);
+          let myChart = echarts.init(dom);
+          let option: EChartsOption;
+          option = {
+            tooltip: {
+              trigger: 'item'
+            },
+            legend: {
+              orient: 'vertical',
+              left: 'left',
+              top: 'center'
+            },
+            series: [
+              {
+                name: 'Access From',
+                type: 'pie',
+                radius: ['40%', '70%'],
+                avoidLabelOverlap: false,
+                itemStyle: {
+                  borderRadius: 1,
+                  borderColor: '#fff',
+                  borderWidth: 2
+                },
+                label: {
+                  show: false,
+                  position: 'center'
+                },
+                emphasis: {
+                  label: {
+                    show: true,
+                    fontSize: 40,
+                    fontWeight: 'bold'
+                  }
+                },
+                labelLine: {
+                  show: true
+                },
+                data: [
+                  { value: 1048, name: '区域1' },
+                  { value: 735, name: '区域2' },
+                  { value: 580, name: '区域3' },
+                  { value: 484, name: '区域4' },
+                  { value: 735, name: '区域5' }
+                ]
+              }
+            ]
+          }
 
+          option && myChart.setOption(option);
+          window.addEventListener("resize",function (){
+            myChart.resize();
+          });
+        }
         // 分页获取工作时段列表
         const getInspectRecord = async () => {
             const data = { pageSize: state.pageSize, pageIndex: state.pageIndex };
@@ -528,6 +551,7 @@
             Delete,
             Refresh,
             xjLine,
+            sbtj,
             Plus,
             router,
             inspectRecordDialogRef,
@@ -564,51 +588,69 @@
     overflow: hidden;
 
     .topChart{
-      height: calc((100% - 40px) / 3);
       width: 100%;
-      background: #fff;
+      height: calc((100% - 40px) / 3);
       display: flex;
       justify-content: space-between;
       align-items: flex-start;
       margin-bottom: 20px;
-      padding: 20px 20px 90px;
+      &:last-of-type{
+        margin-bottom: 0;
+      }
 
       .chart-item{
-        width: 70%;
-        height: 120%;
-        padding-right: 10px;
+        width: calc(60% - 20px);
+        height: 100%;
+        margin-right: 20px;
+        position: relative;
+        background: #fff;
+        padding: 20px;
 
         &:last-of-type{
-          width: 30%;
-          height: 100%;
-          padding-right: 0;
-          padding-left: 10px;
-          position: relative;
+          width: 40%;
+          margin-right: 0;
         }
 
         .chart-tit{
           width: 100%;
           display: flex;
-          align-items: center;
+          align-items: flex-start;
           justify-content: space-between;
           .tit{
-            font-size: 20px;
+            font-size: 1.33rem;
             font-weight: bolder;
           }
-          :deep(.el-switch__core){
-            width: 120px;
+          .filter-part{
+            display: flex;
+            align-items: center;
+            justify-content: right;
+            width: 20%;
+            .el-switch{
+              width: 100% !important;
+              :deep(.el-switch__core){
+                width: 100% !important;
+              }
+            }
           }
         }
         .chart{
           width: 100%;
-          height: 100%;
+          height: 88%;
         }
         .el-radio-group{
-          width: 100%;
-          flex-wrap: nowrap;
+          width: 20%;
+          display: flex;
+          flex-flow: column nowrap;
+          align-items: flex-start;
           position: absolute;
-          left: 50%;
-          transform: translateX(-50%);
+          right: 10px;
+          top: 50%;
+          transform: translateY(-30%);
+
+          .el-radio{
+            width: 100%;
+            margin-bottom: 4px;
+          }
         }
         :deep(.active-ring-info){
           .active-ring-name{
@@ -652,7 +694,7 @@
             font-size: 14px;
             align-items: center;
             background: #ffeb87;
-            padding: 4px 15px;
+            padding: 4px 10px;
             margin-left: 20px;
             border-radius: 2px;
             border: 1px solid #ffae00;
diff --git a/src/views/specialWorkSystem/specialIndex/index.vue b/src/views/specialWorkSystem/specialIndex/index.vue
index 206a13f..9f747d8 100644
--- a/src/views/specialWorkSystem/specialIndex/index.vue
+++ b/src/views/specialWorkSystem/specialIndex/index.vue
@@ -1,5 +1,8 @@
 <template>
     <div class="home-container">
+      <div class="full">
+        全屏
+      </div>
         <div class="topChart">
           <div class="chart-item">
             <div class="chart-tit">
@@ -50,7 +53,6 @@
               <div class="filter-part">
                 <el-switch
                     v-model="chartSearch4.type"
-                    class="ml-2"
                     inline-prompt
                     style="--el-switch-on-color: #13ce66; --el-switch-off-color: #13ce66"
                     active-text="作业人"
@@ -76,12 +78,12 @@
             <div class="chart">
               <el-table ref="multipleTableRef" :data="warningData" style="width: 100%" :header-cell-style="{ background: '#fafafa' }">
                 <el-table-column property="name" label="姓名" width="180" align="center"/>
-                <el-table-column property="depName" label="所属部门" align="center"/>
-                <el-table-column property="applyUname" label="异常报警次数" align="center"/>
-                <el-table-column property="operators" label="角色" align="center"/>
-                <el-table-column label="是否持证" align="center" width="180">
+                <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">
                   <template #default="scope">
-
+                    <span>{{scope.row.isCard == 1?'是':'否'}}</span>
                   </template>
                 </el-table-column>
               </el-table>
@@ -89,7 +91,7 @@
 <!--            <div class="chart" :id="slfx"></div>-->
           </div>
         </div>
-        <div style="height: 100%">
+        <div>
             <div class="homeCard">
                 <el-row>
                   <el-col :span="5" style="display:flex;align-items: center">
@@ -165,31 +167,38 @@
                           <el-button type="primary" :icon="Refresh" size="default" @click="reLoadData()" />
                         </el-col>
                     </el-row>
-                    <el-table ref="multipleTableRef" :data="applyData" style="width: 100%" :header-cell-style="{ background: '#fafafa' }">
-                        <el-table-column property="workPermitNo" label="作业证编号" width="180" align="center"/>
-                      <el-table-column property="depName" label="部门" align="center"/>
-                        <el-table-column property="applyUname" label="申请人" align="center"/>
-                        <el-table-column property="operators" label="作业人" align="center"/>
-                        <el-table-column property="workTypeDesc" label="作业类型" align="center"/>
-                        <el-table-column property="workLevelDesc" label="作业等级" align="center"/>
-                        <el-table-column property="applyTime" label="申请时间" width="180" align="center"/>
-                        <el-table-column property="startTime" label="作业开始时间" width="180" align="center"/>
-                        <el-table-column property="endTime" label="作业结束时间" width="180" align="center"/>
-                        <el-table-column label="作业状态" align="center" width="180">
+                    <el-table ref="multipleTableRef" :data="workData" style="width: 100%" :header-cell-style="{ background: '#fafafa' }">
+                        <el-table-column property="num" label="作业证编号" width="180" 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"/>
+                        <el-table-column property="level" label="作业等级" align="center"/>
+                        <el-table-column property="applyTime" label="申请时间" align="center"/>
+                        <el-table-column property="startTime" label="作业开始时间" align="center"/>
+                        <el-table-column property="endTime" label="作业结束时间" align="center"/>
+                        <el-table-column label="作业状态" align="center">
                             <template #default="scope">
-                                <el-tag :type="scope.row.status==2?'success':(scope.row.status==8||scope.row.status==9)?'warning':'danger'">{{ scope.row.statusDesc }}</el-tag>
+                                <el-tag>{{ scope.row.status==0?'进行中':scope.row.status==1?'作业中止':scope.row.status==2?'作业结束验收': '作业完成'}}</el-tag>
                             </template>
                         </el-table-column>
-                        <el-table-column property="stopReason" label="中止原因" align="center"/>
-                        <el-table-column label="安全预警" align="center" width="180">
+                        <el-table-column property="reason" label="中止原因" align="center"/>
+                        <el-table-column label="安全预警" align="center">
                           <template #default="scope">
-                            <el-tag :type="scope.row.saftyWarning==0?'success':(scope.row.saftyWarning==1||scope.row.saftyWarning==2)?'warning':'danger'">{{ scope.row.saftyWarning==0?'正常':'报警' }}</el-tag>
+                            <el-tag :type="scope.row.warning==0?'success':(scope.row.warning==1||scope.row.warning==2)?'warning':'danger'">{{ scope.row.warning==0?'正常':'报警' }}</el-tag>
                           </template>
                         </el-table-column>
+                      <el-table-column property="message" label="报警信息" align="center">
+                        <template #default="scope">
+                          <el-button type="text" size="small" v-if="scope.row.message == 1">查看报警信息</el-button>
+                          <span v-else>无</span>
+                        </template>
+                      </el-table-column>
                         <el-table-column fixed="right" label="操作" align="center" width="250">
                             <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="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>
                             </template>
                         </el-table-column>
                     </el-table>
@@ -255,7 +264,7 @@
 
 // 定义接口来定义对象的类型
 interface stateType {
-    applyData: Array<string>;
+    workData: Array<any>;
     workTimeList: Array<string>;
     multipleSelection: Array<any>;
     casProps: {};
@@ -284,6 +293,7 @@
     workStatus: Array<status>;
     reviewForm: object;
     reviewRules: object;
+    warningData: Array<any>;
 }
 interface type {
     id: number;
@@ -350,7 +360,53 @@
             searchDep2: null,
             searchDep: null,
             searchDate: [],
-            applyData: [],
+            workData: [
+              {
+                num: '111',
+                dep: '部门1',
+                applyer: '张凤',
+                worker: '李羽飞',
+                type: '动火作业',
+                level: '一级',
+                applyTime: '2023-03-08',
+                startTime: '2023-03-08',
+                endTime: '2023-03-08',
+                status: 0,
+                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
+              }
+            ],
             workTimeList: [],
             multipleSelection: [],
             approveInfo: {
@@ -403,6 +459,22 @@
               {
                 name: '作业完成',
                 value: 3
+              }
+            ],
+            warningData: [
+              {
+                name: '黄公子',
+                dep: '有机事业部',
+                warning: 69,
+                role: '作业人',
+                isCard: 1
+              },
+              {
+                name: '李飞飞',
+                dep: '有机事业部',
+                warning: 51,
+                role: '监护人',
+                isCard: 0
               }
             ],
             reviewForm: {
@@ -587,8 +659,8 @@
             const data = { pageSize: state.pageSize1, pageIndex: state.pageIndex1, searchParams: { workType: state.searchWord, applyDepId: state.searchDep,applyStartTime: dateRange[0],applyEndTime: dateRange[1]} };
             let res = await workApplyApi().getApplyList(data);
             if (res.data.code === '200') {
-                state.applyData = JSON.parse(JSON.stringify(res.data.data));
-                state.applyData = state.applyData.map((item) => {
+                state.workData = JSON.parse(JSON.stringify(res.data.data));
+                state.workData = state.workData.map((item) => {
                     if (item.operators == null || item.operators == []) {
                         item.operators = [];
                     } else {
@@ -746,8 +818,16 @@
 $homeNavLengh: 8;
 .home-container {
     height: calc(100vh - 144px);
+    position: relative;
     box-sizing: border-box;
     overflow: hidden;
+    overflow-y: scroll;
+    scrollbar-width: none; /* firefox */
+    -ms-overflow-style: none; /* IE 10+ */
+
+    &::-webkit-scrollbar {
+      display: none; /* Chrome Safari */
+    }
     .demo-tabs {
         width: 100%;
         height: 100%;
@@ -767,6 +847,9 @@
       align-items: flex-start;
       margin-bottom: 20px;
       height: 40%;
+      &:last-of-type{
+        margin-bottom: 0;
+      }
 
       .chart-item{
         width: calc(50% - 10px);
@@ -786,7 +869,7 @@
           align-items: flex-start;
           justify-content: space-between;
           .tit{
-            font-size: 16px;
+            font-size: 1.33rem;
             font-weight: bolder;
           }
           .filter-part{
@@ -863,12 +946,12 @@
 
               .top-info {
                 display: flex;
-                font-size: 16px;
+                font-size: 14px;
                 font-weight: bolder;
                 align-items: center;
-                padding: 6px 10px;
+                padding: 4px 10px;
                 background: #ffeb87;
-                border-radius: 4px;
+                border-radius: 2px;
                 border: 1px solid #ffae00;
                 margin-right: 20px;
 
@@ -876,7 +959,7 @@
                   vertical-align: middle;
                   white-space: nowrap;
                   span {
-                    font-size: 22px;
+                    font-size: 18px;
                     color: #f3001e;
                     margin: 0 2px;
                     cursor: pointer;
@@ -1105,7 +1188,7 @@
     .el-row {
         display: flex;
         align-items: center;
-        margin-bottom: 20px;
+        margin-bottom: 10px;
         &:last-child {
             margin-bottom: 0;
         }

--
Gitblit v1.9.2