dedsudiyu il y a 10 mois
Parent
commit
0b74cd667d

+ 24 - 0
src/api/index.js

@@ -189,6 +189,30 @@ export function securityBigViewList(data) {
         data: data
     })
 }
+//风险预警统计列表
+export function laboratoryBigViewCollegeEventStatisticsList(data) {
+    return request({
+        url: '/laboratory/bigView/collegeEventStatisticsList',
+        method: 'post',
+        data: data
+    })
+}
+//风险预警统计列表
+export function laboratoryRiskDeviceTypeGetList(query) {
+    return request({
+        url: '/laboratory/riskDeviceType/getList',
+        method: 'get',
+        params: query
+    })
+}
+//首页-安全检查-统计数量
+export function securityBigViewCheckStatusCount(query) {
+    return request({
+        url: '/security/bigView/checkStatusCount',
+        method: 'get',
+        params: query
+    })
+}
 //首页-人员违规统计-违规原因
 export function examViolationSiteGetListByType(query) {
     return request({

+ 2 - 1
src/components/header.vue

@@ -17,7 +17,7 @@ export default {
   },
   methods:{
     back(){
-      this.$router.push('/')
+      this.$router.push('/home')
     },
   },
   mounted() {
@@ -61,6 +61,7 @@ export default {
             padding-top: 26px;
         }
         .header_r {
+            cursor: pointer;
             margin-left: 264px;
             width: 82px;
             height: 32px;

+ 1 - 1
src/views/courtyardManage/admittanceDetail.vue

@@ -96,7 +96,7 @@ export default {
   },
   methods: {
     back(){
-      this.$router.push('/')
+        this.$router.push('/home')
     },
     tableRowClassName({rowIndex}) {
       if (rowIndex%2 === 0) {

+ 1 - 1
src/views/courtyardManage/controlDetail.vue

@@ -100,7 +100,7 @@ export default {
       console.log(this.dateRange)
     },
     back(){
-      this.$router.push('/')
+        this.$router.push('/home')
     },
     tableRowClassName({ rowIndex}) {
       if (rowIndex%2 === 0) {

+ 39 - 46
src/views/courtyardManage/courtyardHome.vue

@@ -64,28 +64,28 @@
                 <!--安全检查-->
                 <div class="left_t_r3">
                   <div class="left_t_r2_t">
-                    <i>{{inspecremark}}-安全检查</i>
+                    <i>安全检查</i>
                     <img src="@/assets/image/index_icon8.png" @click="openinspectUrl()"/>
                   </div>
                   <div class="left_t_r2_t2">
-                    <i>本次隐患排查数:{{inspeccheckZs}}</i>
-                    <i>历史遗留:{{inspeccheckWzg}}</i>
-                    <i>本次已整改:{{inspeccheckYzg}}</i>
+                    <i>未开始:{{inspeccheckZs}}</i>
+                    <i>进行中:{{inspeccheckWzg}}</i>
+                    <i>已结束:{{inspeccheckYzg}}</i>
                   </div>
                   <div class="left_t_r2_m">
-                    <i>实验室</i>
-                    <i>类型</i>
-                    <i>级别</i>
-                    <i>隐患排查数</i>
-                    <i>已整改</i>
+                    <i>计划标题</i>
+                    <i>检查范围</i>
+                    <i>检查类型</i>
+                    <i>任务周期</i>
+                    <i>已结束</i>
                   </div>
                   <div class="left_t_r2_b" v-if="inspectList">
                     <li v-for='(item,index3) in inspectList' :key="index3">
-                      <i class="over">{{item.subjectName}}</i>
-                      <i>{{item.typeName}}</i>
-                      <i>{{item.levelName}}</i>
-                      <i>{{item.dangerNum}}</i>
-                      <i>{{item.amount}}</i>
+                      <i class="over">{{item.title}}</i>
+                      <i>{{item.checkRange==1?'全校':(item.checkRange==2?'学院':(item.checkRange==3?'实验室':''))}}</i>
+                      <i>{{item.checkCategory==1?'综合检查':(item.checkCategory==2?'专项检查':'')}}</i>
+                      <i>{{item.cycleStartTime}}至{{item.cycleEndTime}}</i>
+                      <i>{{item.checkStatus==1?'未开始':(item.checkStatus==2?'进行中':(item.checkStatus==3?'已结束':''))}}</i>
                     </li>
                   </div>
                    <div v-if="inspectList.length<=0" style="position:relative;left: 44%; top:8%;color:#fff;">暂无数据</div>
@@ -302,7 +302,9 @@ import {
     laboratoryBigViewSelectTriggerInfo,
     laboratoryBigViewCollegeEventStatistics,
     laboratoryBigViewListCollegeApplyColumn,
-    examBigViewNewStatistics
+    examBigViewNewStatistics,
+    securityBigViewList,
+    securityBigViewCheckStatusCount
 } from "@/api/index"
 import {
   laboratoryBigViewsSubTypeLevelCount,
@@ -379,9 +381,12 @@ export default {
     this.laboratoryBigViewsSubTypeLevelCount()
     this.laboratoryBigViewSubHazardCount()
     this.securityBigViewCheckOptionCharts()
+      //校院通知 工作通知  分级管控  安全检查
     self.infoFun();
     self.workPlanFun();
+    self.securityBigViewList();
     self.laboratoryGradeManageList();
+    //图表
     self.laboratoryBigViewSubTotalUserCount();
     self.laboratoryBigViewSelectTriggerInfo();
     self.laboratoryBigViewCollegeEventStatistics();
@@ -390,7 +395,6 @@ export default {
     /*let self=this;
     self.getAjaxData();
     self.warningInfoFun();
-    self.safetyInspectFun();
     self.safetyInspectTitle();
     self.initSwiper();
     self.subscriptionMQTT();
@@ -863,32 +867,21 @@ export default {
         }
       })
     },
-    //安全检查头部信息
-    safetyInspectTitle:function () {
-      safetyInspectTitle().then((res) =>{
-        if(res.code==200){
-          let self=this;
-          let data=res.data;
-          self.inspecremark=data.title;
-          self.inspeccheckWzg=data.ylTotal;
-          self.inspeccheckYzg=data.yzgTotal;
-          self.inspeccheckZs=data.yhTotal;
-          self.planId=data.planId;
-
-        }
-      })
-    },
     //安全检查
-    safetyInspectFun:function(){
+      securityBigViewList:function(){
       let self=this;
-      indexCollegeListCheck({pageNum:1,pageSize:7}).then((res) =>{
+      securityBigViewList({page:1,pageSize:7}).then((res) =>{
         if(res.code==200){
-          let data=res.rows;
-          self.inspectList=data
-
+          this.$set(this,'inspectList',res.data.records);
         }
-      })
-
+      });
+      securityBigViewCheckStatusCount({page:1,pageSize:7}).then((res) =>{
+        if(res.code==200){
+          this.$set(this,'inspeccheckZs',res.data.notStarted);
+          this.$set(this,'inspeccheckWzg',res.data.underway);
+          this.$set(this,'inspeccheckYzg',res.data.finished);
+        }
+      });
     },
     //获取报警信息
       laboratoryBigViewSelectTriggerInfo:function(){
@@ -1975,16 +1968,16 @@ export default {
                 margin-left: 22px;
               }
               >i:nth-of-type(2){
-                width: 110px;
+                width: 100px;
               }
               >i:nth-of-type(3){
-                width: 106px;
+                width: 100px;
               }
               >i:nth-of-type(4){
-                width: 156px;
+                width: 182px;
               }
               >i:nth-of-type(5){
-                width: 72px;
+                width: 62px;
               }
             }
             .left_t_r2_b{
@@ -2008,16 +2001,16 @@ export default {
                   margin-left: 22px;
                 }
                 >i:nth-of-type(2){
-                  width: 110px;
+                  width: 100px;
                 }
                 >i:nth-of-type(3){
-                  width: 106px;
+                  width: 100px;
                 }
                 >i:nth-of-type(4){
-                  width: 156px;
+                  width: 182px;
                 }
                 >i:nth-of-type(5){
-                  width: 72px;
+                  width: 62px;
                 }
                 >img{
                   width:12px;

+ 1 - 1
src/views/courtyardManage/dangerDetail.vue

@@ -175,7 +175,7 @@ export default {
       }
     },
     back(){
-      this.$router.push('/')
+        this.$router.push('/home')
     },
     tableRowClassName({ rowIndex}) {
       if (rowIndex%2 === 0) {

+ 1 - 1
src/views/courtyardManage/illegalDetail.vue

@@ -157,7 +157,7 @@ export default {
     },
 
     back(){
-      this.$router.push('/')
+      this.$router.push('/home')
     },
     tableRowClassName({ rowIndex}) {
       if (rowIndex%2 === 0) {

+ 104 - 127
src/views/courtyardManage/inspectDetail.vue

@@ -1,6 +1,5 @@
 <template>
   <div class="main">
-
     <Header/>
     <div class="main_t">
       <div class="main_t_t">
@@ -8,28 +7,22 @@
         <i>安全检查</i>
       </div>
     </div>
-
     <div class="main_b">
-      <div class="main_b_title">遗留问题</div>
+      <div class="main_b_title">校院巡查</div>
       <!--查询条件-->
       <el-form :model="editForm" ref="queryParams" class="form-box" :inline="true" style="margin:20px;">
-
-        <el-form-item label="实验室:" prop="subId" label-width="80px">
-          <el-select
-              style="width:180px;"
-              v-model="editForm.subId"
-              filterable
-              remote
-              reserve-keyword
-              @change="subChange"
-              placeholder="实验室/房间号"
-              :remote-method="subSelectList">
-            <el-option
-                v-for="item in subOptions"
-                :key="item.subId"
-                :label="item.subName"
-                :value="item.subId">
-            </el-option>
+        <el-form-item label="" prop="searchValue" label-width="80px">
+          <el-input
+                  maxLength="30"
+                  v-model="editForm.searchValue"
+                  placeholder="计划标题"
+          />
+        </el-form-item>
+        <el-form-item label="" prop="checkStatus" label-width="80px">
+          <el-select v-model="editForm.checkStatus" popper-class="select-big-data" placeholder="状态">
+            <el-option key="1" label="未开始" value="1"></el-option>
+            <el-option key="2" label="进行中" value="2"></el-option>
+            <el-option key="3" label="已结束" value="3"></el-option>
           </el-select>
         </el-form-item>
         <el-form-item label-width="0">
@@ -39,44 +32,56 @@
       </el-form>
       <!--列表-->
       <el-table :data="tableData"  style="width: 100%" height="250" :row-class-name="tableRowClassName">
-        <el-table-column align="center" header-align='center' type="index" :index="indexMethod" label="序号" width="60"></el-table-column>
-        <el-table-column align="center" header-align='center' prop="subjectName" label="实验室"></el-table-column>
-        <el-table-column align="center" header-align='center' prop="typeName" label="安全分类"></el-table-column>
-        <el-table-column align="center" header-align='center' prop="levelName" label="安全分级"></el-table-column>
-        <el-table-column align="center" header-align='center' prop="hazardCheckPoint" label="隐患名称"></el-table-column>
-        <el-table-column align="center" header-align='center' prop="title" label="检查批次"></el-table-column>
+        <el-table-column align="center" header-align='center' type="index" :index="indexMethod" label="序号" width="60"/>
+        <el-table-column align="center" header-align='center' prop="title" label="计划标题"/>
+        <el-table-column align="center" header-align='center' prop="typeName" label="检查范围">
+          <template slot-scope="scope">
+            <span>{{scope.row.checkRange ==1?'全校':(scope.row.checkRange ==2?'学院':(scope.row.checkRange ==3?'实验室':''))}}</span>
+          </template>
+        </el-table-column>
+        <el-table-column align="center" header-align='center' prop="levelName" label="检查类型">
+          <template slot-scope="scope">
+            <span>{{scope.row.checkCategory ==1?'综合检查':(scope.row.checkCategory ==2?'专项检查':'')}}</span>
+          </template>
+        </el-table-column>
+        <el-table-column align="center" header-align='center' prop="hazardCheckPoint" label="任务周期">
+          <template slot-scope="scope">
+            <span>{{scope.row.cycleStartTime}}至{{scope.row.cycleEndTime}}</span>
+          </template>
+        </el-table-column>
+        <el-table-column align="center" header-align='center' prop="title" label="状态">
+          <template slot-scope="scope">
+            <span>{{scope.row.checkStatus==1?'未开始':(scope.row.checkStatus==2?'进行中':(scope.row.checkStatus==3?'已结束':''))}}</span>
+          </template>
+        </el-table-column>
       </el-table>
       <el-pagination
           style="margin-top: 14px"
           background
           @current-change="handleCurrentChange"
           :page-sizes="[10, 20, 30, 40]"
-          :current-page.sync="editForm.pageNum"
+          :current-page.sync="editForm.page"
           :page-size="editForm.pageSize"
           layout="total,prev, pager, next"
           :total="totalNum">
       </el-pagination>
     </div>
     <div class="main_b2">
-      <div class="main_b_title">本次检查问题</div>
+      <div class="main_b_title">实验室自查</div>
       <!--查询条件-->
       <el-form :model="editForm2" ref="queryParams" class="form-box" :inline="true" style="margin:20px;">
-        <el-form-item label="实验室:" prop="subId" label-width="80px">
-          <el-select
-              style="width:180px;"
-              v-model="editForm2.subId"
-              filterable
-              remote
-              reserve-keyword
-              @change="subChange"
-              placeholder="实验室/房间号"
-              :remote-method="subSelectList">
-            <el-option
-                v-for="item in subOptions"
-                :key="item.subId"
-                :label="item.subName"
-                :value="item.subId">
-            </el-option>
+        <el-form-item label="" prop="searchValue" label-width="80px">
+          <el-input
+                  maxLength="30"
+                  v-model="editForm2.searchValue"
+                  placeholder="计划标题"
+          />
+        </el-form-item>
+        <el-form-item label="" prop="checkStatus" label-width="80px">
+          <el-select v-model="editForm2.checkStatus" popper-class="select-big-data" placeholder="状态">
+            <el-option key="1" label="未开始" value="1"></el-option>
+            <el-option key="2" label="进行中" value="2"></el-option>
+            <el-option key="3" label="已结束" value="3"></el-option>
           </el-select>
         </el-form-item>
         <el-form-item label-width="0">
@@ -86,27 +91,35 @@
       </el-form>
       <!--列表-->
       <el-table :data="tableData2"  style="width: 100%" height="250" :row-class-name="tableRowClassName">
-        <el-table-column align="center" header-align='center' type="index" :index="indexMethod2" label="序号" width="60"></el-table-column>
-        <el-table-column align="center" header-align='center' prop="subjectName" label="实验室"></el-table-column>
-        <el-table-column align="center" header-align='center' prop="typeName" label="安全分类"></el-table-column>
-        <el-table-column align="center" header-align='center' prop="levelName" label="安全分级"></el-table-column>
-        <el-table-column align="center" header-align='center' prop="hazardCheckPoint" label="隐患名称"></el-table-column>
-        <el-table-column align="center" header-align='center' prop="rectifyStatus" label="整改状态">
-          <template #default="{row}">
-            <span v-if="row.rectifyStatus == 1">已完成</span>
-            <span v-if="row.rectifyStatus == 2">待整改</span>
-            <span v-if="row.rectifyStatus == 3">待复核</span>
-            <span v-if="row.rectifyStatus == 4">暂无法整改</span>
+        <el-table-column align="center" header-align='center' type="index" :index="indexMethod" label="序号" width="60"/>
+        <el-table-column align="center" header-align='center' prop="title" label="计划标题"/>
+        <el-table-column align="center" header-align='center' prop="typeName" label="检查范围">
+          <template slot-scope="scope">
+            <span>{{scope.row.checkRange ==1?'全校':(scope.row.checkRange ==2?'学院':(scope.row.checkRange ==3?'实验室':''))}}</span>
+          </template>
+        </el-table-column>
+        <el-table-column align="center" header-align='center' prop="levelName" label="检查类型">
+          <template slot-scope="scope">
+            <span>{{scope.row.checkCategory ==1?'综合检查':(scope.row.checkCategory ==2?'专项检查':'')}}</span>
+          </template>
+        </el-table-column>
+        <el-table-column align="center" header-align='center' prop="hazardCheckPoint" label="任务周期">
+          <template slot-scope="scope">
+            <span>{{scope.row.cycleStartTime}}至{{scope.row.cycleEndTime}}</span>
+          </template>
+        </el-table-column>
+        <el-table-column align="center" header-align='center' prop="title" label="状态">
+          <template slot-scope="scope">
+            <span>{{scope.row.checkStatus==1?'未开始':(scope.row.checkStatus==2?'进行中':(scope.row.checkStatus==3?'已结束':''))}}</span>
           </template>
         </el-table-column>
-
       </el-table>
       <el-pagination
           style="margin-top: 14px"
           background
           @current-change="handleCurrentChange2"
           :page-sizes="[10, 20, 30, 40]"
-          :current-page.sync="editForm2.pageNum"
+          :current-page.sync="editForm2.page"
           :page-size="editForm2.pageSize"
           layout="total,prev, pager, next"
           :total="totalNum2">
@@ -116,7 +129,7 @@
 </template>
 
 <script>
-import {getSubjectDict, indexCheckDetalsWzg, indexCheckDetalsYzg,systemSubjectGetList} from "../../api/http"
+import { securityBigViewList } from "@/api/index"
 import Header from '@/components/header.vue'
 export default {
   components: {
@@ -125,15 +138,17 @@ export default {
   data() {
     return {
       editForm:{
-        deptLevel:'',//这个是登陆后,刘波给你的院校的类型
-        subId:'',//实验室类型
-        pageNum:1,
+        checkType:1,
+        searchValue:'',
+        checkStatus:'',
+        page:1,
         pageSize:10
       },
       editForm2:{
-        deptLevel:'',//这个是登陆后,刘波给你的院校的类型
-        subId:'',//实验室类型
-        pageNum:1,
+        checkType:2,
+        searchValue:'',
+        checkStatus:'',
+        page:1,
         pageSize:10
       },
       labList:[],//实验室
@@ -147,7 +162,7 @@ export default {
   },
   methods: {
     back(){
-      this.$router.push('/')
+        this.$router.push('/home')
     },
     //选中实验室
     subChange(val){
@@ -180,105 +195,67 @@ export default {
     },
 
     indexMethod(index) {
-      return (this.editForm.pageNum - 1) * this.editForm.pageSize + index + 1;
+      return (this.editForm.page - 1) * this.editForm.pageSize + index + 1;
     },
     indexMethod2(index) {
-      return (this.editForm2.pageNum - 1) * this.editForm2.pageSize + index + 1;
+      return (this.editForm2.page - 1) * this.editForm2.pageSize + index + 1;
     },
     //请求列表
     getAjaxList:function (){
-      let _this=this;
-
-      //遗留问题
-      let obj={
-        'subId':this.editForm.subId,
-        'planId':this.codeData,
-        'pageNum':this.editForm.pageNum,
-        'pageSize':this.editForm.pageSize,
-      }
-      indexCheckDetalsWzg(obj).then((res) =>{
-        if(res.code==200){
-          let data = res.rows;
-          if(data && data.length>0){
-            _this.tableData = data;
-            _this.totalNum = parseInt(res.total);
-          }else{
-            _this.tableData = [];
-            _this.totalNum = 0;
-          }
-        }
-      })
+        securityBigViewList(this.editForm).then((res) =>{
+            if(res.code==200){
+                this.$set(this,'tableData',res.data.records);
+                this.$set(this,'totalNum',res.data.total);
+            }
+        })
     },
     //请求列表
     getAjaxList2:function (){
-      let _this=this;
-      //已整改的
-      let obj={
-        'subId':this.editForm2.subId,
-        'planId':this.codeData,
-        'pageNum':this.editForm2.pageNum,
-        'pageSize':this.editForm2.pageSize,
-      }
-      indexCheckDetalsYzg(obj).then((res) =>{
-        if(res.code==200){
-          let data = res.rows;
-          if(data && data.length>0){
-            _this.tableData2 = data;
-            _this.totalNum2 = parseInt(res.total);
-          }else{
-            _this.tableData2 = [];
-            _this.totalNum2 = 0;
-          }
-        }
-      })
-    },
-    getAjaxData: function () {
-      let _this=this;
-      //查询实验室
-      getSubjectDict().then((res) =>{
-        if(res.code==200){
-          let data=res.data;
-          _this.labList=data
-
-        }
-      })
+        securityBigViewList(this.editForm2).then((res) =>{
+            if(res.code==200){
+                this.$set(this,'tableData2',res.data.records);
+                this.$set(this,'totalNum2',res.data.total);
+            }
+        })
     },
     /*查询*/
     onSearch() {
 
-      this.editForm.pageNum =1;
+      this.editForm.page =1;
       this.getAjaxList();
     },
     /*重置*/
     resetForm() {
-      this.editForm.subId = "";
+      this.editForm.searchValue = "";
+      this.editForm.checkStatus = "";
       this.onSearch();
     },
     /*查询*/
     onSearch2() {
 
-      this.editForm2.pageNum =1;
+      this.editForm2.page =1;
       this.getAjaxList2();
     },
     /*重置*/
     resetForm2() {
-      this.editForm2.subId = "";
+      this.editForm2.searchValue = "";
+      this.editForm2.checkStatus = "";
       this.onSearch2();
     },
     handleCurrentChange(val) {
-      this.editForm.pageNum = val;
+      this.editForm.page = val;
       this.getAjaxList();
     },
     handleCurrentChange2(val) {
-      this.editForm2.pageNum = val;
+      this.editForm2.page = val;
       this.getAjaxList2();
     },
   },
   mounted() {
     this.codeData=this.$route.query.key
    // this.getAjaxData()
-   // this.getAjaxList()
-    //this.getAjaxList2()
+    this.getAjaxList();
+    this.getAjaxList2()
   },
 
 

+ 1 - 1
src/views/courtyardManage/labPersonDetail.vue

@@ -96,7 +96,7 @@ export default {
   },
   methods: {
     back(){
-      this.$router.push('/')
+        this.$router.push('/home')
     },
     tableRowClassName({ rowIndex}) {
       if (rowIndex%2 === 0) {

+ 184 - 347
src/views/courtyardManage/planDetail.vue

@@ -1,26 +1,22 @@
 <template>
-<div class="main">
-
+    <div class="main">
         <Header/>
         <div class="main_t">
             <div class="main_t_t">
                 <i class="main_t_t_l">当前位置:首页 &gt;</i>
-                <i>预案执行统计</i>
+                <i>风险预警统计</i>
             </div>
             <!--<div class="main_t_b" id="plan_chart"></div>-->
         </div>
         <div class="main_b">
             <!--查询条件-->
             <el-form :model="editForm" ref="queryParams" class="form-box" :inline="true" style="margin:20px;">
-                <el-form-item label="实验室" prop="dangerId" label-width="98px">
-                    <el-select v-model="editForm.subjectId" popper-class="select-big-data" placeholder="请选择实验室">
-                        <el-option
-                                v-for="item in labList"
-                                :key="item.id"
-                                :label="item.name"
-                                :value="item.id">
-                        </el-option>
-                    </el-select>
+                <el-form-item label="" prop="searchValue" label-width="98px">
+                    <el-input
+                        maxLength="30"
+                        v-model="editForm.searchValue"
+                        placeholder="实验室/房间号"
+                    />
                 </el-form-item>
                 <el-form-item label="日期" prop="dateRange" label-width="68px">
                     <el-date-picker
@@ -41,31 +37,46 @@
                 </el-form-item>
             </el-form>
             <!--列表-->
-            <el-table :data="tableData"  style="width: 100%;" height="740"   :row-class-name="tableRowClassName">
-                <el-table-column align="center" header-align='center' type="index" :index="indexMethod" label="序号" width="60"></el-table-column>
-                <el-table-column align="left" header-align='center' prop="subjectName" label="实验室">
-                     <template slot-scope="scope" >
+            <el-table :data="tableData" style="width: 100%;" height="740" :row-class-name="tableRowClassName">
+                <el-table-column align="center" header-align='center' type="index" :index="indexMethod" label="序号"
+                                 width="60"></el-table-column>
+                <el-table-column align="left" header-align='center' prop="subjectName" label="实验室" width="400">
+                    <template slot-scope="scope">
                         <div class="lab_border">
-                           <span class="lab_span"><i>{{scope.row.classifiedName}}</i><i>{{scope.row.typeName}}</i></span>
-                           <span class="lab_span2">{{scope.row.subjectName}}</span>
+                            <span class="lab_span"><i>{{scope.row.classLevelName}}</i><i>{{scope.row.classTypeNames}}</i></span>
+                            <span class="lab_span2">{{scope.row.subName}}</span>
                         </div>
-                     </template>
+                    </template>
+                </el-table-column>
+                <el-table-column align="center" header-align='center' prop="eventStartTime" label="起始时间" width="160">
+                    <template slot-scope="scope">
+                        <span>{{parseTime(scope.row.eventStartTime)}}</span>
+                    </template>
                 </el-table-column>
-                <el-table-column align="center" header-align='center' prop="createTimeStr" label="起始时间"></el-table-column>
-                <el-table-column align="center" header-align='center' prop="overTime" label="结束时间"></el-table-column>
-                <el-table-column align="center" header-align='center' prop="alarmInfo" label="风险预警">
-                 <template slot-scope="scope">
-                     <span class="risk_span"><img v-if="scope.row.alarmInfo==1" src="@/assets/image/icon_fxyj_xz.png"/><img v-if="scope.row.alarmInfo==0" src="@/assets/image/icon_fxyj_zc.png"/>声光报警</span>
-                     <span class="risk_span"><img v-if="scope.row.phoneInfo==1" src="@/assets/image/icon_fxyj_xz.png"/><img v-if="scope.row.phoneInfo==0" src="@/assets/image/icon_fxyj_zc.png"/>电话</span>
-                     <span class="risk_span"><img v-if="scope.row.phoneInfo==1" src="@/assets/image/icon_fxyj_xz.png"/><img v-if="scope.row.phoneInfo==0" src="@/assets/image/icon_fxyj_zc.png"/>短信</span>
-                 </template>
+                <el-table-column align="center" header-align='center' prop="eventEndTime" label="结束时间" width="160">
+                    <template slot-scope="scope">
+                        <span>{{parseTime(scope.row.eventEndTime)}}</span>
+                    </template>
+                </el-table-column>
+                <el-table-column align="center" header-align='center' prop="alarmInfo" label="风险预警" width="200">
+                    <template slot-scope="scope">
+                        <span class="risk_span">
+                            <img v-if="scope.row.checkOne" src="@/assets/image/icon_fxyj_xz.png"/>
+                            <img v-if="!scope.row.checkOne" src="@/assets/image/icon_fxyj_zc.png"/>电话
+                        </span>
+                        <span class="risk_span">
+                            <img v-if="scope.row.checkTwo" src="@/assets/image/icon_fxyj_xz.png"/>
+                            <img v-if="!scope.row.checkTwo" src="@/assets/image/icon_fxyj_zc.png"/>短信
+                        </span>
+                    </template>
                 </el-table-column>
                 <el-table-column align="center" header-align='center' prop="sesorContent" label="应急处置">
-                     <template slot-scope="scope" >
-                         <span class="risk_span"><img v-if="scope.row.windInfo==1" src="@/assets/image/icon_fxyj_xz.png"/><img v-if="scope.row.windInfo==0" src="@/assets/image/icon_fxyj_zc.png"/>通风</span>
-                         <span class="risk_span"><img v-if="scope.row.powerInfo==1" src="@/assets/image/icon_fxyj_xz.png"/><img v-if="scope.row.powerInfo==0" src="@/assets/image/icon_fxyj_zc.png"/>断电</span>
-                         <span class="risk_span"><img  src="@/assets/image/icon_fxyj_zc.png"/>短信</span>
-                     </template>
+                    <template slot-scope="scope">
+                        <span class="risk_span" v-for="(item,index) in scope.row.deviceList" :key="index">
+                            <img src="@/assets/image/icon_fxyj_xz.png"/>
+                            {{item.deviceName}}
+                        </span>
+                    </template>
                 </el-table-column>
             </el-table>
             <el-pagination
@@ -73,9 +84,8 @@
                     background
                     @current-change="handleCurrentChange"
                     :page-sizes="[10, 20, 30, 40]"
-                    :current-page.sync="editForm.pageNum"
+                    :current-page.sync="editForm.page"
                     :page-size="editForm.pageSize"
-                    layout="total,prev, pager, next"
                     :total="totalNum">
             </el-pagination>
         </div>
@@ -83,309 +93,120 @@
 </template>
 
 <script>
-import {departmentsList, getRiskPlanList, getSubjectDict, getYearControlInfo,} from "../../api/http"
-import Header from '@/components/header.vue'
-export default {
-  components: {
-    Header
-  },
-  data() {
-    return {
-      editForm:{
-        deptLevel:'',//这个是登陆后,刘波给你的院校的类型
-        groupDeptId:'',//院系id
-        subjectId:'',//实验室类型
-        beginTimeStr:'',//开始时间
-        endTimeStr:'',//结束时间
-        pageNum:1,
-        pageSize:10
-      },
-      subjectOptions:[],//院系
-      labList:[],//实验室
-      dateRange:[],//时间
-      totalNum:0,
-      tableData:[],
-
-    }
-  },
-  methods: {
-    back(){
-      this.$router.push('/')
-    },
-    tableRowClassName({ rowIndex}) {
-      if (rowIndex%2 === 0) {
-        return 'success-row';
-      } else{
-
-        return 'warning-row';
-      }
-
-    },
-    indexMethod(index) {
-      return (this.editForm.pageNum - 1) * this.editForm.pageSize + index + 1;
-    },
-    //请求列表
-    getAjaxList:function (){
-
-
-      let _this=this;
-      //列表
-      let obj={
-        'groupDeptId':this.editForm.groupDeptId,
-        'subjectId':this.editForm.subjectId,
-        'pageNum':this.editForm.pageNum,
-        'pageSize':this.editForm.pageSize,
-        'beginTimeStr':this.editForm.beginTimeStr,
-        'endTimeStr':this.editForm.endTimeStr,
-      }
-      getRiskPlanList(obj).then((res) =>{
-        if(res.code==200){
-          let data = res.rows;
-          if(data && data.length>0){
-            _this.tableData = data;
-            _this.totalNum = parseInt(res.total);
-          }else{
-            _this.tableData = [];
-            _this.totalNum = 0;
-          }
-        }
-      })
-    },
-    getAjaxData: function () {
-      let _this=this;
-      let obj={
-        'deptLevel':localStorage.getItem('deptLevel')
-      }
-      //图表
-      getYearControlInfo(obj).then((res) =>{
-        if(res.code==200){
-          let dataX=[];
-          let dataValue=[];
-          let data=res.data.list;
-          for (var i = 0; i < data.length; i++) {
-
-
-            dataX.push( data[i].yearMonth)
-            dataValue.push(data[i].num)
-          }
-          // planDetailFun(dataX,dataValue)
-
-        }
-      })
+    import {laboratoryBigViewCollegeEventStatisticsList,laboratoryRiskDeviceTypeGetList } from "@/api/index"
+    import Header from '@/components/header.vue'
 
-      //查询院系
-      departmentsList().then((res) =>{
-        if(res.code==200){
-          let data=res.data;
-          _this.subjectOptions=data
-        }
-      })
-      //查询实验室
-      getSubjectDict().then((res) =>{
-        if(res.code==200){
-          let data=res.data;
-          _this.labList=data
-
-        }
-      })
-
-
-
-    },
-    /*查询*/
-    onSearch() {
-
-      if(this.dateRange.length>0){
-        this.editForm.beginTimeStr = this.dateRange[0];
-        this.editForm.endTimeStr = this.dateRange[1];
-      }
-      this.editForm.pageNum =1;
-      this.getAjaxList();
-      this.getAjaxData();
-    },
-    /*重置*/
-    resetForm() {
-
-      this.editForm.groupDeptId = "";
-      this.editForm.subjectId = "";
-      this.editForm.beginTimeStr = "";
-      this.editForm.endTimeStr = "";
-      this.dateRange = [];
-      this.onSearch();
-
-    },
-    handleCurrentChange(val) {
-      this.editForm.pageNum = val;
-      this.getAjaxList();
-    },
-    /*安全隐患详情图表*/
-     planDetailFun:function (dataX,dataVal) {
-  const data = dataVal
-  const sideData = data.map(item => item)//侧边主体高度
-  let planOption =  {
-
-
-    tooltip: {
-      /*   trigger: 'axis',
-
-         axisPointer: { // 坐标轴指示器,坐标轴触发有效
-             type: 'shadow' // 默认为直线,可选为:'line' | 'shadow'
-         }*/
-    },
-    /*内边距*/
-    grid: {
-      top: '14%',
-      left: '2%',
-      right: '2%',
-      bottom: '5%',
-      containLabel: true
-    },
-    xAxis: {
-      data: dataX,
-      //坐标轴
-      axisLine: {
-        lineStyle: {
-          "color": "#486CC2",
-          width:2,
-        }
-      },
-      axisTick: {
-        show: false,
-        length: 9,
-        alignWithLabel: true,
-        lineStyle: {
-          color: '#7DFFFD'
-        }
-      },
-      //坐标值标注
-      axisLabel: {
-        show: true,
-        textStyle: {
-          color: '#fff',
-          fontSize:16,
-        }
-      }
-    },
-    yAxis: [
-      {
+    export default {
+        components: {
+            Header
+        },
+        data() {
+            return {
+                editForm: {
+                    searchValue:'',
+                    page: 1,
+                    pageSize: 10
+                },
+                subjectOptions: [],//院系
+                labList: [],//实验室
+                dateRange: [],//时间
+                totalNum: 0,
+                tableData: [],
+                //硬件列表
+                deviceList:[],
 
-        //坐标轴
-        axisLine: {
-          lineStyle: {
-            "color": "#486CC2",
-            width:2,
-          }
+            }
         },
-        axisTick: {
-          show: false,
+        methods: {
+            back() {
+                this.$router.push('/home')
+            },
+            tableRowClassName({rowIndex}) {
+                if (rowIndex % 2 === 0) {
+                    return 'success-row';
+                } else {
+
+                    return 'warning-row';
+                }
 
+            },
+            indexMethod(index) {
+                return (this.editForm.page - 1) * this.editForm.pageSize + index + 1;
+            },
+            laboratoryRiskDeviceTypeGetList(){
+                laboratoryRiskDeviceTypeGetList().then((res) => {
+                    this.$set(this,'deviceList',res.data);
+                    this.getAjaxList();
+                })
+            },
+            //请求列表
+            getAjaxList: function () {
+                let _this = this;
+                let obj = JSON.parse(JSON.stringify(this.editForm))
+                if (this.dateRange[0]) {
+                    obj.startTime = this.dateRange[0]+'T00:00:00';
+                    obj.endTime = this.dateRange[1]+'T23:59:59';
+                }else{
+                    obj.startTime = '';
+                    obj.endTime = '';
+                }
+                laboratoryBigViewCollegeEventStatisticsList(obj).then((res) => {
+                    if (res.code == 200) {
+                        res.data.records.forEach((item)=>{
+                            if(item.bindingDevice){
+                                item.deviceList =  JSON.parse(item.bindingDevice);
+                                item.deviceList.forEach((minItem)=>{
+                                    this.deviceList.forEach((deviceItem)=>{
+                                        if(minItem.typeKey == deviceItem.typeKey){
+                                            minItem.deviceName = deviceItem.riskDeviceTypeName
+                                        }
+                                    })
+                                })
+                            }else{
+                                item.deviceList = [];
+                            }
+                            if (item.alarmType){
+                                item.checkOne = item.alarmType.indexOf('1') != -1;
+                                item.checkTwo = item.alarmType.indexOf('2') != -1;
+                            } else {
+                                item.checkOne = false;
+                                item.checkTwo = false;
+                            }
+                        })
+                        let data = res.data.records;
+                        if (data && data.length > 0) {
+                            _this.tableData = data;
+                            _this.totalNum = parseInt(res.data.total);
+                        } else {
+                            _this.tableData = [];
+                            _this.totalNum = 0;
+                        }
+                    }
+                })
+            },
+            /*查询*/
+            onSearch() {
+                this.editForm.page = 1;
+                this.getAjaxList();
+            },
+            /*重置*/
+            resetForm() {
+                this.editForm.searchValue = "";
+                this.dateRange = [];
+                this.onSearch();
+
+            },
+            handleCurrentChange(val) {
+                this.editForm.page = val;
+                this.getAjaxList();
+            },
         },
-        //坐标值标注
-        axisLabel: {
-          show: true,
-          textStyle: {
-            color: '#fff',
-            fontSize:16,
-          }
+        mounted() {
+            this.laboratoryRiskDeviceTypeGetList()
         },
-        //分格线
-        splitLine: {
-          show: false,
-          lineStyle: {
-            color: '#4784e8'
-          }
-        }
-      }
-    ],
-    series: [{
-      name: '预案执行统计',//正面
-      //柱状图顶部数值
-      "label": {
-        "normal": {
-          "show": true,
-          "position": "top",
-          fontSize: 14,
-          fontWeight: '500',
-          color: '#fff',
-          padding:[2,2,2,10],
-        }
-      },
-      tooltip: {
-        show: false
-      },
-      type: 'bar',
-      barWidth: 24.5,
-
-      itemStyle: {
-        normal: {
-          color: new this.$echarts.graphic.LinearGradient(0, 1, 0, 0, [{
-            offset: 0,
-            color: "#228efb" // 0% 处的颜色
-          }, {
-            offset: 0.6,
-            color: "#04acf3" // 60% 处的颜色
-          }, {
-            offset: 1,
-            color: "#05e5e5" // 100% 处的颜色
-          }], false)
-        }
-      },
-
-      data: data,
-
-
-    }, {
-      type: 'bar',//侧边
-      name: '预案执行统计',
-      barWidth: 8,
-      itemStyle: {
-        normal: {
-          color: new this.$echarts.graphic.LinearGradient(0, 1, 0, 0, [{
-            offset: 0,
-            color: "#228efb" // 0% 处的颜色
-          }, {
-            offset: 0.6,
-            color: "#04acf3" // 60% 处的颜色
-          }, {
-            offset: 1,
-            color: "#05e5e5" // 100% 处的颜色
-          }], false)
-        }
-      },
-      barGap: 0,
-      data: sideData
-    }, {
-      name: '预案执行统计',
-      tooltip: {
-        show: false
-      },
-      type: 'pictorialBar',
-      itemStyle: {
-        borderWidth: 1,
-        borderColor: '#0058FF',
-        color: '#0058FF'
-      },
-      symbol: 'path://M 0,0 l 120,0 l -30,60 l -120,0 z',
-      symbolSize: ['32', '12'],
-      symbolOffset: ['-1', '-11'],
-      //symbolRotate: -5,
-      symbolPosition: 'end',
-      data: data,
-      z: 3
-    },
-    ]
-  };
-  var plan_chart = this.$echarts.init(document.getElementById('plan_chart'));
-  plan_chart.setOption(planOption);
-}
-  },
-  mounted() {
-    this.getAjaxData()
-    this.getAjaxList()
-  },
 
 
-}
+    }
 </script>
 <style lang="scss" scoped>
     * {
@@ -393,17 +214,19 @@ export default {
         margin: 0;
         box-sizing: border-box;
     }
-    .lab_border{
+
+    .lab_border {
         display: flex;
         align-items: center;
     }
-    .lab_span{
+
+    .lab_span {
         display: inline-block;
         border: 1px solid #0183FA;
         border-radius: 6px;
         padding: 6px 16px;
         margin-right: 8px;
-        >i{
+        > i {
             font-size: 12px;
             font-family: Microsoft YaHei;
             font-weight: 400;
@@ -411,30 +234,35 @@ export default {
             line-height: 16px;
             display: block;
         }
-        >i:nth-of-type(1){}
-        >i:nth-of-type(2){}
+        > i:nth-of-type(1) {
+        }
+        > i:nth-of-type(2) {
+        }
     }
-    .lab_span2{
+
+    .lab_span2 {
         display: inline-block;
         font-size: 14px;
         font-family: Microsoft YaHei;
         font-weight: 400;
         color: #FFFFFF;
     }
-    .risk_span{
+
+    .risk_span {
         font-size: 14px;
         font-family: Microsoft YaHei;
         font-weight: 400;
         color: #FFFFFF;
         margin-right: 28px;
-        >img{
+        > img {
             width: 14px;
-            height:14px;
+            height: 14px;
             margin-right: 8px;
             position: relative;
             top: 2px;
         }
     }
+
     .main {
         width: 1920px;
         height: 1080px;
@@ -482,7 +310,7 @@ export default {
                 margin-top: 18px;
             }
         }
-        .main_t{
+        .main_t {
             /*background: rgba(9, 55, 81, 0.6px;*/
             width: 1852px;
             /* height: 352px;*/
@@ -490,19 +318,19 @@ export default {
             left: 34px;
             top: 86px;
             z-index: 200;
-            .main_t_t{
+            .main_t_t {
                 margin: 20px 0 0 18px;
-                >i{
+                > i {
                     font-size: 16px;
                     font-family: Microsoft YaHei;
                     font-weight: bold;
                     color: #FFFFFF;
                     line-height: 16px;
                 }
-                >i:nth-of-type(1){
+                > i:nth-of-type(1) {
 
                 }
-                >i:nth-of-type(2){
+                > i:nth-of-type(2) {
                     color: #1ED0F8;
                 }
             }
@@ -511,7 +339,7 @@ export default {
                height: 302px;
              }*/
         }
-        .main_b{
+        .main_b {
             background: rgba(9, 55, 81, 0.6);
             padding: 0 32px;
             width: 1852px;
@@ -524,7 +352,16 @@ export default {
     }
 </style>
 <style lang="scss">
-li{list-style:none}
-i,em,b{font-style:normal;font-weight:100;}
-body{margin: 0}
+    li {
+        list-style: none
+    }
+
+    i, em, b {
+        font-style: normal;
+        font-weight: 100;
+    }
+
+    body {
+        margin: 0
+    }
 </style>

+ 1 - 1
src/views/courtyardManage/riskDetail.vue

@@ -115,7 +115,7 @@ export default {
   },
   methods: {
     back(){
-      this.$router.push('/')
+        this.$router.push('/home')
     },
     tableRowClassName({ rowIndex}) {
       if (rowIndex%2 === 0) {

+ 1 - 1
src/views/courtyardManage/warningDetail.vue

@@ -212,7 +212,7 @@ export default {
       });
     },
     back(){
-      this.$router.push('/')
+        this.$router.push('/home')
     },
     leftVideoFunction:function(){
       //videoElement

+ 1 - 1
src/views/courtyardManage/workInfoDetail.vue

@@ -39,7 +39,7 @@ export default {
   },
   methods: {
     back(){
-      this.$router.push('/')
+        this.$router.push('/home')
     },
 
 

+ 1 - 1
src/views/courtyardManage/workPlanDetail.vue

@@ -51,7 +51,7 @@ export default {
   },
   methods: {
     back(){
-      this.$router.push('/')
+        this.$router.push('/home')
     },
     tableRowClassName({ rowIndex}) {
       if (rowIndex%2 === 0) {