Ver Fonte

上级领导页面:鼠标悬浮时显示上次审计时间、下次审计时间

wangggziwen há 11 meses atrás
pai
commit
3f0a96b3ea

+ 29 - 0
rc-admin/src/main/java/com/ruoyi/web/controller/rc/TAuditController.java

@@ -2,6 +2,7 @@ package com.ruoyi.web.controller.rc;
 
 import java.math.BigDecimal;
 import java.math.BigInteger;
+import java.text.SimpleDateFormat;
 import java.util.Calendar;
 import java.util.Date;
 import java.util.HashMap;
@@ -71,6 +72,34 @@ public class TAuditController extends BaseController
     @Autowired
     private TAuditMapper tAuditMapper;
 
+    /**
+     * 查询装置下次审计时间列表
+     */
+    @GetMapping("/getNextAuditTimeList")
+    public AjaxResult getNextAuditTimeList() {
+        HashMap<String, String> map = new HashMap<>();
+        List<TAudit> tAudits = tAuditMapper.selectNextAuditTimeList();
+        for (TAudit tAudit : tAudits) {
+            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+            map.put(tAudit.getDeptId(), sdf.format(tAudit.getAuditTime()));
+        }
+        return success(map);
+    }
+
+    /**
+     * 查询装置上次审计时间列表
+     */
+    @GetMapping("/getLastAuditTimeList")
+    public AjaxResult getLastAuditTimeList() {
+        HashMap<String, String> map = new HashMap<>();
+        List<TAudit> tAudits = tAuditMapper.selectLastAuditTimeList();
+        for (TAudit tAudit : tAudits) {
+            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+            map.put(tAudit.getDeptId(), sdf.format(tAudit.getAuditTime()));
+        }
+        return success(map);
+    }
+
     /**
      * 查询当前年份审计装置列表
      */

+ 4 - 0
rc-buisness/src/main/java/com/ruoyi/rc/mapper/TAuditMapper.java

@@ -24,6 +24,10 @@ public interface TAuditMapper
 
     public TAudit selectTAuditLatest(TAudit tAudit);
 
+    public List<TAudit> selectLastAuditTimeList();
+
+    public List<TAudit> selectNextAuditTimeList();
+
     /**
      * 查询审计记录
      * 

+ 15 - 0
rc-buisness/src/main/resources/mapper/rc/TAuditMapper.xml

@@ -125,4 +125,19 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         select count(*) from t_open_item o where o.questionnaire_id in (select id from t_questionnaire q where q.chapter_id in (select id from t_chapter ch where ch.audit_id = #{auditId}))
       ) from dual
     </select>
+
+    <select id="selectLastAuditTimeList" resultMap="TAuditResult">
+        select id, max(audit_time) as audit_time, dept_id from t_audit
+        where audit_time &lt; now()
+        group by dept_id
+        order by dept_id asc;
+    </select>
+
+    <select id="selectNextAuditTimeList" resultMap="TAuditResult">
+        select id, max(audit_time) as audit_time, dept_id from t_audit
+        where audit_time &gt; now()
+        group by dept_id
+        order by dept_id asc;
+    </select>
+
 </mapper>

+ 16 - 0
ruoyi-ui/src/api/rc/audit.js

@@ -1,5 +1,21 @@
 import request from '@/utils/request'
 
+// 查询装置下次审计时间列表
+export function getNextAuditTimeList() {
+  return request({
+    url: '/rc/audit/getNextAuditTimeList',
+    method: 'get'
+  })
+}
+
+// 查询装置上次审计时间列表
+export function getLastAuditTimeList() {
+  return request({
+    url: '/rc/audit/getLastAuditTimeList',
+    method: 'get'
+  })
+}
+
 // 查询当前年份审计装置列表
 export function getAuditDeptList() {
   return request({

+ 539 - 123
ruoyi-ui/src/views/home1.vue

@@ -43,128 +43,167 @@
     <div class="bottom">
       <!-- 左边 -->
       <div class="bot-left">
-        <div class="card cardleft1" @click="handleClickPlant(101)">
-          <div class="cardword">
-            <div class="cardleft1Title">
-              <!--&lt;!&ndash;<svg-icon v-if="hasAudit(101)" icon-class="roundGreen" style="font-size: 10px;"></svg-icon>&ndash;&gt;-->
-              <i class="el-icon-s-flag" v-if="hasAudit(101)" style="color: #02B151; font-size: 18px;"></i>
-              <span v-if="!hasAudit(101)">电厂</span>
-              <span v-if="hasAudit(101)" style="color: #02B151;">电厂</span>
-            </div>
-            <div class="cardleft1Content">
-              <span v-if="!hasAudit(101)">Power<br>Plant</span>
-              <span v-if="hasAudit(101)" style="color: #02B151;">Power<br>Plant</span>
+        <el-tooltip placement="top">
+          <div slot="content">上次审计时间:<br/>{{auditTimeList.powerPlant == null ? '暂无': auditTimeList.powerPlant}}</div>
+          <div slot="content">下次审计时间:<br/>{{auditTimeList.powerPlantNext == null ? '暂无': auditTimeList.powerPlantNext}}</div>
+          <div class="card cardleft1" @click="handleClickPlant(101)">
+            <div class="cardword">
+              <div class="cardleft1Title">
+                <!--&lt;!&ndash;<svg-icon v-if="hasAudit(101)" icon-class="roundGreen" style="font-size: 10px;"></svg-icon>&ndash;&gt;-->
+                <i class="el-icon-s-flag" v-if="hasAudit(101)" style="color: #02B151; font-size: 18px;"></i>
+                <span v-if="!hasAudit(101)">电厂</span>
+                <span v-if="hasAudit(101)" style="color: #02B151;">电厂</span>
+              </div>
+              <div class="cardleft1Content">
+                <span v-if="!hasAudit(101)">Power<br>Plant</span>
+                <span v-if="hasAudit(101)" style="color: #02B151;">Power<br>Plant</span>
+              </div>
             </div>
           </div>
-        </div>
+        </el-tooltip>
 
-        <div class="card cardleft2" @click="handleClickPlant(102)">
-          <div class="cardword">
-            <div class="cardleft1Title">
-              <!--&lt;!&ndash;<svg-icon v-if="hasAudit(102)" icon-class="roundGreen" style="font-size: 10px;"></svg-icon>&ndash;&gt;-->
-              <i class="el-icon-s-flag" v-if="hasAudit(102)" style="color: #02B151; font-size: 18px;"></i>
-              <span v-if="!hasAudit(102)">合成气</span>
-              <span v-if="hasAudit(102)" style="color: #02B151;">合成气</span>
-            </div>
-            <div class="cardleft1Content">
-              <span v-if="!hasAudit(102)">Syngas</span>
-              <span v-if="hasAudit(102)" style="color: #02B151;">Syngas</span>
+        <el-tooltip placement="top">
+          <div slot="content">上次审计时间:<br/>{{auditTimeList.syngas == null ? '暂无': auditTimeList.syngas}}</div>
+          <div slot="content">下次审计时间:<br/>{{auditTimeList.syngasNext == null ? '暂无': auditTimeList.syngasNext}}</div>
+          <div class="card cardleft2" @click="handleClickPlant(102)">
+            <div class="cardword">
+              <div class="cardleft1Title">
+                <!--&lt;!&ndash;<svg-icon v-if="hasAudit(102)" icon-class="roundGreen" style="font-size: 10px;"></svg-icon>&ndash;&gt;-->
+                <i class="el-icon-s-flag" v-if="hasAudit(102)" style="color: #02B151; font-size: 18px;"></i>
+                <span v-if="!hasAudit(102)">合成气</span>
+                <span v-if="hasAudit(102)" style="color: #02B151;">合成气</span>
+              </div>
+              <div class="cardleft1Content">
+                <span v-if="!hasAudit(102)">Syngas</span>
+                <span v-if="hasAudit(102)" style="color: #02B151;">Syngas</span>
+              </div>
             </div>
           </div>
-        </div>
+        </el-tooltip>
 
-        <div class="card cardleft3" @click="handleClickPlant(104)">
-          <div class="cardword">
-            <div class="cardleft1Title">
-              <!--&lt;!&ndash;<svg-icon v-if="hasAudit(104)" icon-class="roundGreen" style="font-size: 10px;"></svg-icon>&ndash;&gt;-->
-              <i class="el-icon-s-flag" v-if="hasAudit(104)" style="color: #02B151; font-size: 18px;"></i>
-              <span v-if="!hasAudit(104)">D900</span>
-              <span v-if="hasAudit(104)" style="color: #02B151;">D900</span>
+        <el-tooltip placement="top">
+          <div slot="content">上次审计时间:<br/>{{auditTimeList.d900 == null ? '暂无': auditTimeList.d900}}</div>
+          <div slot="content">下次审计时间:<br/>{{auditTimeList.d900Next == null ? '暂无': auditTimeList.d900Next}}</div>
+          <div class="card cardleft3" @click="handleClickPlant(104)">
+            <div class="cardword">
+              <div class="cardleft1Title">
+                <!--&lt;!&ndash;<svg-icon v-if="hasAudit(104)" icon-class="roundGreen" style="font-size: 10px;"></svg-icon>&ndash;&gt;-->
+                <i class="el-icon-s-flag" v-if="hasAudit(104)" style="color: #02B151; font-size: 18px;"></i>
+                <span v-if="!hasAudit(104)">D900</span>
+                <span v-if="hasAudit(104)" style="color: #02B151;">D900</span>
+              </div>
             </div>
           </div>
-        </div>
+        </el-tooltip>
 
-        <div class="card cardleft4" @click="handleClickPlant(105)">
-          <div class="cardword">
-            <div class="cardleft1Title">
-              <!--&lt;!&ndash;<svg-icon v-if="hasAudit(105)" icon-class="roundGreen" style="font-size: 10px;"></svg-icon>&ndash;&gt;-->
-              <i class="el-icon-s-flag" v-if="hasAudit(105)" style="color: #02B151; font-size: 18px;"></i>
-              <span v-if="!hasAudit(105)">C900</span>
-              <span v-if="hasAudit(105)" style="color: #02B151;">C900</span>
+        <el-tooltip placement="top">
+          <div slot="content">上次审计时间:<br/>{{auditTimeList.c900 == null ? '暂无': auditTimeList.c900}}</div>
+          <div slot="content">下次审计时间:<br/>{{auditTimeList.c900Next == null ? '暂无': auditTimeList.c900Next}}</div>
+          <div class="card cardleft4" @click="handleClickPlant(105)">
+            <div class="cardword">
+              <div class="cardleft1Title">
+                <!--&lt;!&ndash;<svg-icon v-if="hasAudit(105)" icon-class="roundGreen" style="font-size: 10px;"></svg-icon>&ndash;&gt;-->
+                <i class="el-icon-s-flag" v-if="hasAudit(105)" style="color: #02B151; font-size: 18px;"></i>
+                <span v-if="!hasAudit(105)">C900</span>
+                <span v-if="hasAudit(105)" style="color: #02B151;">C900</span>
+              </div>
             </div>
           </div>
-        </div>
+        </el-tooltip>
 
-        <div class="card cardleft5" @click="handleClickPlant(106)">
-          <div class="cardword">
-            <div class="cardleft1Title">
-              <!--<svg-icon v-if="hasAudit(106)" icon-class="roundGreen" style="font-size: 10px;"></svg-icon>-->
-              <i class="el-icon-s-flag" v-if="hasAudit()" style="color: #02B151; font-size: 18px;"></i>
-              <span v-if="!hasAudit(106)">B900</span>
-              <span v-if="hasAudit(106)" style="color: #02B151;">B900</span>
+        <el-tooltip placement="top">
+          <div slot="content">上次审计时间:<br/>{{auditTimeList.b900 == null ? '暂无': auditTimeList.b900}}</div>
+          <div slot="content">下次审计时间:<br/>{{auditTimeList.b900Next == null ? '暂无': auditTimeList.b900Next}}</div>
+          <div class="card cardleft5" @click="handleClickPlant(106)">
+            <div class="cardword">
+              <div class="cardleft1Title">
+                <!--<svg-icon v-if="hasAudit(106)" icon-class="roundGreen" style="font-size: 10px;"></svg-icon>-->
+                <i class="el-icon-s-flag" v-if="hasAudit()" style="color: #02B151; font-size: 18px;"></i>
+                <span v-if="!hasAudit(106)">B900</span>
+                <span v-if="hasAudit(106)" style="color: #02B151;">B900</span>
+              </div>
             </div>
           </div>
-        </div>
+        </el-tooltip>
 
-        <div class="card card2 cardleft6" @click="handleClickPlant(107)">
-          <div class="cardword">
-            <div class="cardleft1Title">
-              <!--<svg-icon v-if="hasAudit(107)" icon-class="roundGreen" style="font-size: 10px;"></svg-icon>-->
-              <i class="el-icon-s-flag" v-if="hasAudit(107)" style="color: #02B151; font-size: 18px;"></i>
-              <span v-if="!hasAudit(107)">聚苯乙烯包装库房</span>
-              <span v-if="hasAudit(107)" style="color: #02B151;">聚苯乙烯包装库房</span>
-            </div>
-            <div class="cardleft1Content">
-              <span v-if="!hasAudit(107)">PS Storage<br>A900 A800</span>
-              <span v-if="hasAudit(107)" style="color: #02B151;">PS Storage<br>A900 A800</span>
+        <el-tooltip placement="top">
+          <div slot="content">上次审计时间:<br/>{{auditTimeList.psStorage == null ? '暂无': auditTimeList.psStorage}}</div>
+          <div slot="content">下次审计时间:<br/>{{auditTimeList.psStorageNext == null ? '暂无': auditTimeList.psStorageNext}}</div>
+          <div class="card card2 cardleft6" @click="handleClickPlant(107)">
+            <div class="cardword">
+              <div class="cardleft1Title">
+                <!--<svg-icon v-if="hasAudit(107)" icon-class="roundGreen" style="font-size: 10px;"></svg-icon>-->
+                <i class="el-icon-s-flag" v-if="hasAudit(107)" style="color: #02B151; font-size: 18px;"></i>
+                <span v-if="!hasAudit(107)">聚苯乙烯包装库房</span>
+                <span v-if="hasAudit(107)" style="color: #02B151;">聚苯乙烯包装库房</span>
+              </div>
+              <div class="cardleft1Content">
+                <span v-if="!hasAudit(107)">PS Storage<br>A900 A800</span>
+                <span v-if="hasAudit(107)" style="color: #02B151;">PS Storage<br>A900 A800</span>
+              </div>
             </div>
           </div>
-        </div>
+        </el-tooltip>
 
-        <div class="card cardleft7" @click="handleClickPlant(108)">
-          <div class="cardword">
-            <div class="cardleft1Title">
-              <!--<svg-icon v-if="hasAudit(108)" icon-class="roundGreen" style="font-size: 10px;"></svg-icon>-->
-              <i class="el-icon-s-flag" v-if="hasAudit(108)" style="color: #02B151; font-size: 18px;"></i>
-              <span v-if="!hasAudit(108)">D800</span>
-              <span v-if="hasAudit(108)" style="color: #02B151;">D800</span>
+        <el-tooltip placement="top">
+          <div slot="content">上次审计时间:<br/>{{auditTimeList.d800 == null ? '暂无': auditTimeList.d800}}</div>
+          <div slot="content">下次审计时间:<br/>{{auditTimeList.d800Next == null ? '暂无': auditTimeList.d800Next}}</div>
+          <div class="card cardleft7" @click="handleClickPlant(108)">
+            <div class="cardword">
+              <div class="cardleft1Title">
+                <!--<svg-icon v-if="hasAudit(108)" icon-class="roundGreen" style="font-size: 10px;"></svg-icon>-->
+                <i class="el-icon-s-flag" v-if="hasAudit(108)" style="color: #02B151; font-size: 18px;"></i>
+                <span v-if="!hasAudit(108)">D800</span>
+                <span v-if="hasAudit(108)" style="color: #02B151;">D800</span>
+              </div>
             </div>
           </div>
-        </div>
+        </el-tooltip>
 
-        <div class="card cardleft8" @click="handleClickPlant(109)">
-          <div class="cardword">
-            <div class="cardleft1Title">
-              <!--<svg-icon v-if="hasAudit(109)" icon-class="roundGreen" style="font-size: 10px;"></svg-icon>-->
-              <i class="el-icon-s-flag" v-if="hasAudit(109)" style="color: #02B151; font-size: 18px;"></i>
-              <span v-if="!hasAudit(109)">C800</span>
-              <span v-if="hasAudit(109)" style="color: #02B151;">C800</span>
-            </div>
-            <div class="cardleft1Content">
-              <span v-if="!hasAudit(109)">乙苯/苯乙烯<br>EB/SM</span>
-              <span v-if="hasAudit(109)" style="color: #02B151;">乙苯/苯乙烯<br>EB/SM</span>
+        <el-tooltip placement="top">
+          <div slot="content">上次审计时间:<br/>{{auditTimeList.c800 == null ? '暂无': auditTimeList.c800}}</div>
+          <div slot="content">下次审计时间:<br/>{{auditTimeList.c800Next == null ? '暂无': auditTimeList.c800Next}}</div>
+          <div class="card cardleft8" @click="handleClickPlant(109)">
+            <div class="cardword">
+              <div class="cardleft1Title">
+                <!--<svg-icon v-if="hasAudit(109)" icon-class="roundGreen" style="font-size: 10px;"></svg-icon>-->
+                <i class="el-icon-s-flag" v-if="hasAudit(109)" style="color: #02B151; font-size: 18px;"></i>
+                <span v-if="!hasAudit(109)">C800</span>
+                <span v-if="hasAudit(109)" style="color: #02B151;">C800</span>
+              </div>
+              <div class="cardleft1Content">
+                <span v-if="!hasAudit(109)">乙苯/苯乙烯<br>EB/SM</span>
+                <span v-if="hasAudit(109)" style="color: #02B151;">乙苯/苯乙烯<br>EB/SM</span>
+              </div>
             </div>
           </div>
-        </div>
+        </el-tooltip>
 
-        <div class="card cardleft9" @click="handleClickPlant(110)">
-          <div class="cardword">
-            <div class="cardleft1Title">
-              <!--<svg-icon v-if="hasAudit(110)" icon-class="roundGreen" style="font-size: 10px;"></svg-icon>-->
-              <i class="el-icon-s-flag" v-if="hasAudit(110)" style="color: #02B151; font-size: 18px;"></i>
-              <span v-if="!hasAudit(110)">聚苯乙烯</span>
-              <span v-if="hasAudit(110)" style="color: #02B151;">聚苯乙烯</span>
-            </div>
-            <div class="cardleft1Content">
-              <span v-if="!hasAudit(110)">PS<br>B800</span>
-              <span v-if="hasAudit(110)" style="color: #02B151;">PS<br>B800</span>
+        <el-tooltip placement="top">
+          <div slot="content">上次审计时间:<br/>{{auditTimeList.b800 == null ? '暂无': auditTimeList.b800}}</div>
+          <div slot="content">下次审计时间:<br/>{{auditTimeList.b800Next == null ? '暂无': auditTimeList.b800Next}}</div>
+          <div class="card cardleft9" @click="handleClickPlant(110)">
+            <div class="cardword">
+              <div class="cardleft1Title">
+                <!--<svg-icon v-if="hasAudit(110)" icon-class="roundGreen" style="font-size: 10px;"></svg-icon>-->
+                <i class="el-icon-s-flag" v-if="hasAudit(110)" style="color: #02B151; font-size: 18px;"></i>
+                <span v-if="!hasAudit(110)">聚苯乙烯</span>
+                <span v-if="hasAudit(110)" style="color: #02B151;">聚苯乙烯</span>
+              </div>
+              <div class="cardleft1Content">
+                <span v-if="!hasAudit(110)">PS<br>B800</span>
+                <span v-if="hasAudit(110)" style="color: #02B151;">PS<br>B800</span>
+              </div>
             </div>
           </div>
-        </div>
+        </el-tooltip>
       </div>
 
       <!-- 中间 -->
       <div class="bot-center">
+        <el-tooltip placement="top">
+          <div slot="content">上次审计时间:<br/>{{auditTimeList.bcc == null ? '暂无': auditTimeList.bcc}}</div>
+          <div slot="content">下次审计时间:<br/>{{auditTimeList.bcc == nullNext ? '暂无': auditTimeList.bccNext}}</div>
         <div class="card card2 cardleft10" @click="handleClickPlant(103)">
           <div class="cardword">
             <div class="cardleft1Title">
@@ -175,7 +214,11 @@
             </div>
           </div>
         </div>
+        </el-tooltip>
 
+        <el-tooltip placement="top">
+          <div slot="content">上次审计时间:<br/>{{auditTimeList.bcc == null ? '暂无': auditTimeList.bcc}}</div>
+          <div slot="content">下次审计时间:<br/>{{auditTimeList.bccNext == null ? '暂无': auditTimeList.bccNext}}</div>
         <div class="card card2 cardleft11" @click="handleClickPlant(103)">
           <div class="cardword">
             <div class="cardleft1Title">
@@ -186,7 +229,11 @@
             </div>
           </div>
         </div>
+        </el-tooltip>
 
+        <el-tooltip placement="top">
+          <div slot="content">上次审计时间:<br/>{{auditTimeList.bcc == null ? '暂无': auditTimeList.bcc}}</div>
+          <div slot="content">下次审计时间:<br/>{{auditTimeList.bccNext == null ? '暂无': auditTimeList.bccNext}}</div>
         <div class="card card2 cardleft12" @click="handleClickPlant(103)">
           <div class="cardword">
             <div class="cardleft1Title">
@@ -201,7 +248,11 @@
             </div>
           </div>
         </div>
+        </el-tooltip>
 
+        <el-tooltip placement="top">
+          <div slot="content">上次审计时间:<br/>{{auditTimeList.aeuPgu == null ? '暂无': auditTimeList.aeuPgu}}</div>
+          <div slot="content">下次审计时间:<br/>{{auditTimeList.aeuPguNext == null ? '暂无': auditTimeList.aeuPguNext}}</div>
         <div class="card card2 cardleft13" @click="handleClickPlant(111)">
           <div class="cardword">
             <div class="cardleft1Title">
@@ -216,7 +267,11 @@
             </div>
           </div>
         </div>
+        </el-tooltip>
 
+        <el-tooltip placement="top">
+          <div slot="content">上次审计时间:<br/>{{auditTimeList.c100200 == null ? '暂无': auditTimeList.c100200}}</div>
+          <div slot="content">下次审计时间:<br/>{{auditTimeList.c100200Next == null ? '暂无': auditTimeList.c100200Next}}</div>
         <div class="card card2 cardleft14" @click="handleClickPlant(112)">
           <div class="cardword">
             <div class="cardleft1Title">
@@ -231,7 +286,11 @@
             </div>
           </div>
         </div>
+        </el-tooltip>
 
+        <el-tooltip placement="top">
+          <div slot="content">上次审计时间:<br/>{{auditTimeList.c300 == null ? '暂无': auditTimeList.c300}}</div>
+          <div slot="content">下次审计时间:<br/>{{auditTimeList.c300Next == null ? '暂无': auditTimeList.c300Next}}</div>
         <div class="card card2 cardleft15" @click="handleClickPlant(113)">
           <div class="cardword">
             <div class="cardleft1Title">
@@ -246,7 +305,11 @@
             </div>
           </div>
         </div>
+        </el-tooltip>
 
+        <el-tooltip placement="top">
+          <div slot="content">上次审计时间:<br/>{{auditTimeList.ldpe == null ? '暂无': auditTimeList.ldpe}}</div>
+          <div slot="content">下次审计时间:<br/>{{auditTimeList.ldpeNext == null ? '暂无': auditTimeList.ldpeNext}}</div>
         <div class="card card2 cardleft16" @click="handleClickPlant(114)">
           <div class="cardword">
             <div class="cardleft1Title">
@@ -261,7 +324,11 @@
             </div>
           </div>
         </div>
+        </el-tooltip>
 
+        <el-tooltip placement="top">
+          <div slot="content">上次审计时间:<br/>{{auditTimeList.ldpe == null ? '暂无': auditTimeList.ldpe}}</div>
+          <div slot="content">下次审计时间:<br/>{{auditTimeList.ldpeNext == null ? '暂无': auditTimeList.ldpeNext}}</div>
         <div class="card card2 cardleft17" @click="handleClickPlant(114)">
           <div class="cardword">
             <div class="cardleft1Title">
@@ -276,7 +343,11 @@
             </div>
           </div>
         </div>
+        </el-tooltip>
 
+        <el-tooltip placement="top">
+          <div slot="content">上次审计时间:<br/>{{auditTimeList.ldpe == null ? '暂无': auditTimeList.ldpe}}</div>
+          <div slot="content">下次审计时间:<br/>{{auditTimeList.ldpeNext == null ? '暂无': auditTimeList.ldpeNext}}</div>
         <div class="card card2 cardleft18" @click="handleClickPlant(114)">
           <div class="cardword">
             <div class="cardleft1Title">
@@ -291,7 +362,11 @@
             </div>
           </div>
         </div>
+        </el-tooltip>
 
+        <el-tooltip placement="top">
+          <div slot="content">上次审计时间:<br/>{{auditTimeList.a300 == null ? '暂无': auditTimeList.a300}}</div>
+          <div slot="content">下次审计时间:<br/>{{auditTimeList.a300Next == null ? '暂无': auditTimeList.a300Next}}</div>
         <div class="card card2 cardleft19" @click="handleClickPlant(117)">
           <div class="cardword">
             <div class="cardleft1Title">
@@ -306,10 +381,14 @@
             </div>
           </div>
         </div>
+        </el-tooltip>
       </div>
 
       <!-- 右边 -->
       <div class="bot-right">
+        <el-tooltip placement="top">
+          <div slot="content">上次审计时间:<br/>{{auditTimeList.to == null ? '暂无': auditTimeList.to}}</div>
+          <div slot="content">下次审计时间:<br/>{{auditTimeList.toNext == null ? '暂无': auditTimeList.toNext}}</div>
         <div class="card cardleft20" @click="handleClickPlant(118)">
           <div class="cardword">
             <div class="cardleft1Title">
@@ -323,7 +402,11 @@
               <span v-if="hasAudit(118)" style="color: #02B151;">TO</span>
             </div>
           </div>
-        </div>
+        </div></el-tooltip>
+
+        <el-tooltip placement="top">
+          <div slot="content">上次审计时间:<br/>{{auditTimeList.cltf == null ? '暂无': auditTimeList.cltf}}</div>
+          <div slot="content">下次审计时间:<br/>{{auditTimeList.cltfNext == null ? '暂无': auditTimeList.cltfNext}}</div>
         <div class="card card2 cardleft21" @click="handleClickPlant(119)">
           <div class="cardword">
             <div class="cardleft1Title">
@@ -337,7 +420,11 @@
               <span v-if="hasAudit(119)" style="color: #02B151;">CLTF</span>
             </div>
           </div>
-        </div>
+        </div></el-tooltip>
+
+        <el-tooltip placement="top">
+          <div slot="content">上次审计时间:<br/>{{auditTimeList.d400 == null ? '暂无': auditTimeList.d400}}</div>
+          <div slot="content">下次审计时间:<br/>{{auditTimeList.d400Next == null ? '暂无': auditTimeList.d400Next}}</div>
         <div class="card cardleft22" @click="handleClickPlant(120)">
           <div class="cardword">
             <div class="cardleft1Title">
@@ -351,7 +438,11 @@
               <span v-if="hasAudit(120)" style="color: #02B151;">EO/EG<br>D400</span>
             </div>
           </div>
-        </div>
+        </div></el-tooltip>
+
+        <el-tooltip placement="top">
+          <div slot="content">上次审计时间:<br/>{{auditTimeList.nis500 == null ? '暂无': auditTimeList.nis500}}</div>
+          <div slot="content">下次审计时间:<br/>{{auditTimeList.nis500Next == null ? '暂无': auditTimeList.nis500Next}}</div>
         <div class="card cardleft23" @click="handleClickPlant(121)">
           <div class="cardword">
             <div class="cardleft1Title">
@@ -365,7 +456,11 @@
               <span v-if="hasAudit(121)" style="color: #02B151;">NIS<br>500</span>
             </div>
           </div>
-        </div>
+        </div></el-tooltip>
+
+        <el-tooltip placement="top">
+          <div slot="content">上次审计时间:<br/>{{auditTimeList.d600 == null ? '暂无': auditTimeList.d600}}</div>
+          <div slot="content">下次审计时间:<br/>{{auditTimeList.d600Next == null ? '暂无': auditTimeList.d600Next}}</div>
         <div class="card cardleft24" @click="handleClickPlant(122)">
           <div class="cardword">
             <div class="cardleft1Title">
@@ -379,7 +474,11 @@
               <span v-if="hasAudit(122)" style="color: #02B151;">SAP<br>D600</span>
             </div>
           </div>
-        </div>
+        </div></el-tooltip>
+
+        <el-tooltip placement="top">
+          <div slot="content">上次审计时间:<br/>{{auditTimeList.d700 == null ? '暂无': auditTimeList.d700}}</div>
+          <div slot="content">下次审计时间:<br/>{{auditTimeList.d700Next == null ? '暂无': auditTimeList.d700Next}}</div>
         <div class="card cardleft25" @click="handleClickPlant(123)">
           <div class="cardword">
             <div class="cardleft1Title">
@@ -393,7 +492,11 @@
               <span v-if="hasAudit(123)" style="color: #02B151;">中心库房<br>D700</span>
             </div>
           </div>
-        </div>
+        </div></el-tooltip>
+
+        <el-tooltip placement="top">
+          <div slot="content">上次审计时间:<br/>{{auditTimeList.c400 == null ? '暂无': auditTimeList.c400}}</div>
+          <div slot="content">下次审计时间:<br/>{{auditTimeList.c400Next == null ? '暂无': auditTimeList.c400Next}}</div>
         <div class="card cardleft26" @click="handleClickPlant(124)">
           <div class="cardword">
             <div class="cardleft1Title">
@@ -407,7 +510,11 @@
               <span v-if="hasAudit(124)" style="color: #02B151;">U2<br>C400</span>
             </div>
           </div>
-        </div>
+        </div></el-tooltip>
+
+        <el-tooltip placement="top">
+          <div slot="content">上次审计时间:<br/>{{auditTimeList.c500 == null ? '暂无': auditTimeList.c500}}</div>
+          <div slot="content">下次审计时间:<br/>{{auditTimeList.c500Next == null ? '暂无': auditTimeList.c500Next}}</div>
         <div class="card cardleft27" @click="handleClickPlant(125)">
           <div class="cardword">
             <div class="cardleft1Title">
@@ -421,7 +528,11 @@
               <span v-if="hasAudit(125)" style="color: #02B151;">GAA<br>C500</span>
             </div>
           </div>
-        </div>
+        </div></el-tooltip>
+
+        <el-tooltip placement="top">
+          <div slot="content">上次审计时间:<br/>{{auditTimeList.c600 == null ? '暂无': auditTimeList.c600}}</div>
+          <div slot="content">下次审计时间:<br/>{{auditTimeList.c600Next == null ? '暂无': auditTimeList.c600Next}}</div>
         <div class="card cardleft28" @click="handleClickPlant(126)">
           <div class="cardword">
             <div class="cardleft1Title">
@@ -435,7 +546,11 @@
               <span v-if="hasAudit(126)" style="color: #02B151;">ACN<br>C600</span>
             </div>
           </div>
-        </div>
+        </div></el-tooltip>
+
+        <el-tooltip placement="top">
+          <div slot="content">上次审计时间:<br/>{{auditTimeList.c700 == null ? '暂无': auditTimeList.c700}}</div>
+          <div slot="content">下次审计时间:<br/>{{auditTimeList.c700Next == null ? '暂无': auditTimeList.c700Next}}</div>
         <div class="card cardleft29" @click="handleClickPlant(127)">
           <div class="cardword">
             <div class="cardleft1Title">
@@ -449,7 +564,11 @@
               <span v-if="hasAudit(127)" style="color: #02B151;">RTTF<br>C700</span>
             </div>
           </div>
-        </div>
+        </div></el-tooltip>
+
+        <el-tooltip placement="top">
+          <div slot="content">上次审计时间:<br/>{{auditTimeList.b400500 == null ? '暂无': auditTimeList.b400500}}</div>
+          <div slot="content">下次审计时间:<br/>{{auditTimeList.b400500Next == null ? '暂无': auditTimeList.b400500Next}}</div>
         <div class="card card2 cardleft30" @click="handleClickPlant(128)">
           <div class="cardword">
             <div class="cardleft1Title">
@@ -463,7 +582,11 @@
               <span v-if="hasAudit(128)" style="color: #02B151;">AA/AE<br>B400/B500</span>
             </div>
           </div>
-        </div>
+        </div></el-tooltip>
+
+        <el-tooltip placement="top">
+          <div slot="content">上次审计时间:<br/>{{auditTimeList.b600 == null ? '暂无': auditTimeList.b600}}</div>
+          <div slot="content">下次审计时间:<br/>{{auditTimeList.b600Next == null ? '暂无': auditTimeList.b600Next}}</div>
         <div class="card cardleft31" @click="handleClickPlant(129)">
           <div class="cardword">
             <div class="cardleft1Title">
@@ -477,7 +600,11 @@
               <span v-if="hasAudit(129)" style="color: #02B151;">C1<br>B600</span>
             </div>
           </div>
-        </div>
+        </div></el-tooltip>
+
+        <el-tooltip placement="top">
+          <div slot="content">上次审计时间:<br/>{{auditTimeList.b700 == null ? '暂无': auditTimeList.b700}}</div>
+          <div slot="content">下次审计时间:<br/>{{auditTimeList.b700Next == null ? '暂无': auditTimeList.b700Next}}</div>
         <div class="card cardleft32" @click="handleClickPlant(130)">
           <div class="cardword">
             <div class="cardleft1Title">
@@ -487,7 +614,11 @@
               <span v-if="hasAudit(130)" style="color: #02B151;">B700</span>
             </div>
           </div>
-        </div>
+        </div></el-tooltip>
+
+        <el-tooltip placement="top">
+          <div slot="content">上次审计时间:<br/>{{auditTimeList.a400500 == null ? '暂无': auditTimeList.a400500}}</div>
+          <div slot="content">下次审计时间:<br/>{{auditTimeList.a400500Next == null ? '暂无': auditTimeList.a400500Next}}</div>
         <div class="card card2 cardleft33" @click="handleClickPlant(131)">
           <div class="cardword">
             <div class="cardleft1Title">
@@ -501,7 +632,11 @@
               <span v-if="hasAudit(131)" style="color: #02B151;">Logistical storage<br>A400/A500</span>
             </div>
           </div>
-        </div>
+        </div></el-tooltip>
+
+        <el-tooltip placement="top">
+          <div slot="content">上次审计时间:<br/>{{auditTimeList.a600 == null ? '暂无': auditTimeList.a600}}</div>
+          <div slot="content">下次审计时间:<br/>{{auditTimeList.a600Next == null ? '暂无': auditTimeList.a600Next}}</div>
         <div class="card cardleft34" @click="handleClickPlant(132)">
           <div class="cardword">
             <div class="cardleft1Title">
@@ -515,7 +650,11 @@
               <span v-if="hasAudit(132)" style="color: #02B151;">C1 complex<br>Storage<br>A600</span>
             </div>
           </div>
-        </div>
+        </div></el-tooltip>
+
+        <el-tooltip placement="top">
+          <div slot="content">上次审计时间:<br/>{{auditTimeList.a700 == null ? '暂无': auditTimeList.a700}}</div>
+          <div slot="content">下次审计时间:<br/>{{auditTimeList.a700Next == null ? '暂无': auditTimeList.a700Next}}</div>
         <div class="card cardleft35" @click="handleClickPlant(133)">
           <div class="cardword">
             <div class="cardleft1Title">
@@ -530,13 +669,14 @@
             </div>
           </div>
         </div>
+        </el-tooltip>
       </div>
     </div>
   </div>
 </template>
 
 <script>
-  import { getHomeData, getAuditDeptList } from "@/api/rc/audit";
+  import { getHomeData, getAuditDeptList, getLastAuditTimeList, getNextAuditTimeList } from "@/api/rc/audit";
 
   export default {
     data() {
@@ -546,26 +686,302 @@
         homeData3: 0,
         homeData4: 0,
         auditDeptList: [],
+        auditTimeList: {
+          powerPlant: null,
+          syngas: null,
+          d900: null,
+          c900: null,
+          b900: null,
+          psStorage: null,
+          d800: null,
+          c800: null,
+          b800: null,
+          bcc: null,
+          aeuPgu: null,
+          c100200: null,
+          c300: null,
+          ldpe: null,
+          a300: null,
+          to: null,
+          cltf: null,
+          d400: null,
+          nis500: null,
+          d600: null,
+          d700: null,
+          c400: null,
+          c500: null,
+          c600: null,
+          c700: null,
+          b400500: null,
+          b600: null,
+          b700: null,
+          a400500: null,
+          a600: null,
+          a700: null,
+          powerPlantNext: null,
+          syngasNext: null,
+          d900Next: null,
+          c900Next: null,
+          b900Next: null,
+          psStorageNext: null,
+          d800Next: null,
+          c800Next: null,
+          b800Next: null,
+          bccNext: null,
+          aeuPguNext: null,
+          c100200Next: null,
+          c300Next: null,
+          ldpeNext: null,
+          a300Next: null,
+          toNext: null,
+          cltfNext: null,
+          d400Next: null,
+          nis500Next: null,
+          d600Next: null,
+          d700Next: null,
+          c400Next: null,
+          c500Next: null,
+          c600Next: null,
+          c700Next: null,
+          b400500Next: null,
+          b600Next: null,
+          b700Next: null,
+          a400500Next: null,
+          a600Next: null,
+          a700Next: null,
+        },
       }
     },
     created() {
-      getHomeData().then(response => {
-        if (response.data != null) {
-          this.homeData1 = response.data.homeData1;
-          this.homeData2 = (response.data.homeData2 * 100) + "%";
-          this.homeData3 = response.data.homeData3;
-          this.homeData4 = response.data.homeData4;
-        }
-      });
-      getAuditDeptList().then(response => {
-        this.auditDeptList = [];
-        let data = response.data;
-        for (let i = 0; i < data.length; i++) {
-          this.auditDeptList.push(data[i].deptId);
-        }
-      });
+      this.getHomeData();
+      this.getAuditDeptList();
+      this.getLastAuditTimeList();
+      this.getNextAuditTimeList();
     },
     methods: {
+      getLastAuditTimeList() {
+        getLastAuditTimeList().then(response => {
+          let map = new Map(Object.entries(response.data));
+          map.forEach((value, key) => {
+            switch(key) {
+              case '101':
+                this.auditTimeList.powerPlant = value;
+                break;
+              case '102':
+                this.auditTimeList.syngas = value;
+                break;
+              case '103':
+                this.auditTimeList.bcc = value;
+                break;
+              case '104':
+                this.auditTimeList.d900 = value;
+                break;
+              case '105':
+                this.auditTimeList.c900 = value;
+                break;
+              case '106':
+                this.auditTimeList.b900 = value;
+                break;
+              case '107':
+                this.auditTimeList.psStorage = value;
+                break;
+              case '108':
+                this.auditTimeList.d800 = value;
+                break;
+              case '109':
+                this.auditTimeList.c800 = value;
+                break;
+              case '110':
+                this.auditTimeList.b800 = value;
+                break;
+              case '111':
+                this.auditTimeList.aeuPgu = value;
+                break;
+              case '112':
+                this.auditTimeList.c100200 = value;
+                break;
+              case '113':
+                this.auditTimeList.c300 = value;
+                break;
+              case '114':
+                this.auditTimeList.ldpe = value;
+                break;
+              case '117':
+                this.auditTimeList.a300 = value;
+                break;
+              case '118':
+                this.auditTimeList.to = value;
+                break;
+              case '119':
+                this.auditTimeList.cltf = value;
+                break;
+              case '120':
+                this.auditTimeList.d400 = value;
+                break;
+              case '121':
+                this.auditTimeList.nis500 = value;
+                break;
+              case '122':
+                this.auditTimeList.d600 = value;
+                break;
+              case '123':
+                this.auditTimeList.d700 = value;
+                break;
+              case '124':
+                this.auditTimeList.c400 = value;
+                break;
+              case '125':
+                this.auditTimeList.c500 = value;
+                break;
+              case '126':
+                this.auditTimeList.c600 = value;
+                break;
+              case '127':
+                this.auditTimeList.c700 = value;
+                break;
+              case '128':
+                this.auditTimeList.b400500 = value;
+                break;
+              case '129':
+                this.auditTimeList.b600 = value;
+                break;
+              case '130':
+                this.auditTimeList.b700 = value;
+                break;
+              case '131':
+                this.auditTimeList.a400500 = value;
+                break;
+              case '132':
+                this.auditTimeList.a600 = value;
+                break;
+              case '133':
+                this.auditTimeList.a700 = value;
+                break;
+            }
+          })
+        });
+      },
+      getNextAuditTimeList() {
+        getNextAuditTimeList().then(response => {
+          let map = new Map(Object.entries(response.data));
+          map.forEach((value, key) => {
+            switch(key) {
+              case '101':
+                this.auditTimeList.powerPlantNext = value;
+                break;
+              case '102':
+                this.auditTimeList.syngasNext = value;
+                break;
+              case '103':
+                this.auditTimeList.bccNext = value;
+                break;
+              case '104':
+                this.auditTimeList.d900Next = value;
+                break;
+              case '105':
+                this.auditTimeList.c900Next = value;
+                break;
+              case '106':
+                this.auditTimeList.b900Next = value;
+                break;
+              case '107':
+                this.auditTimeList.psStorageNext = value;
+                break;
+              case '108':
+                this.auditTimeList.d800Next = value;
+                break;
+              case '109':
+                this.auditTimeList.c800Next = value;
+                break;
+              case '110':
+                this.auditTimeList.b800Next = value;
+                break;
+              case '111':
+                this.auditTimeList.aeuPguNext = value;
+                break;
+              case '112':
+                this.auditTimeList.c100200Next = value;
+                break;
+              case '113':
+                this.auditTimeList.c300Next = value;
+                break;
+              case '114':
+                this.auditTimeList.ldpeNext = value;
+                break;
+              case '117':
+                this.auditTimeList.a300Next = value;
+                break;
+              case '118':
+                this.auditTimeList.toNext = value;
+                break;
+              case '119':
+                this.auditTimeList.cltfNext = value;
+                break;
+              case '120':
+                this.auditTimeList.d400Next = value;
+                break;
+              case '121':
+                this.auditTimeList.nis500Next = value;
+                break;
+              case '122':
+                this.auditTimeList.d600Next = value;
+                break;
+              case '123':
+                this.auditTimeList.d700Next = value;
+                break;
+              case '124':
+                this.auditTimeList.c400Next = value;
+                break;
+              case '125':
+                this.auditTimeList.c500Next = value;
+                break;
+              case '126':
+                this.auditTimeList.c600Next = value;
+                break;
+              case '127':
+                this.auditTimeList.c700Next = value;
+                break;
+              case '128':
+                this.auditTimeList.b400500Next = value;
+                break;
+              case '129':
+                this.auditTimeList.b600Next = value;
+                break;
+              case '130':
+                this.auditTimeList.b700Next = value;
+                break;
+              case '131':
+                this.auditTimeList.a400500Next = value;
+                break;
+              case '132':
+                this.auditTimeList.a600Next = value;
+                break;
+              case '133':
+                this.auditTimeList.a700Next = value;
+                break;
+            }
+          })
+        });
+      },
+      getHomeData() {
+        getHomeData().then(response => {
+          if (response.data != null) {
+            this.homeData1 = response.data.homeData1;
+            this.homeData2 = (response.data.homeData2 * 100) + "%";
+            this.homeData3 = response.data.homeData3;
+            this.homeData4 = response.data.homeData4;
+          }
+        });
+      },
+      getAuditDeptList() {
+        getAuditDeptList().then(response => {
+          this.auditDeptList = [];
+          let data = response.data;
+          for (let i = 0; i < data.length; i++) {
+            this.auditDeptList.push(data[i].deptId);
+          }
+        });
+      },
       hasAudit(deptId) {
         let auditDeptList = this.auditDeptList;
         let hasAudit = false;