Procházet zdrojové kódy

普通员工页面:预审倒计时、审计倒计时

wangggziwen před 9 měsíci
rodič
revize
5805f65227

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

@@ -1,9 +1,12 @@
 package com.ruoyi.web.controller.rc;
 
+import java.util.Date;
 import java.util.List;
 import javax.servlet.http.HttpServletResponse;
 
 import com.ruoyi.common.core.domain.entity.SysDept;
+import com.ruoyi.common.core.domain.entity.SysUser;
+import com.ruoyi.common.core.domain.model.LoginUser;
 import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.rc.domain.*;
 import com.ruoyi.rc.service.*;
@@ -56,6 +59,17 @@ public class TAuditController extends BaseController
     @Autowired
     private ITProgressService tProgressService;
 
+    /**
+     * 查询当前登录用户所在部门最近一次审计记录
+     */
+    @GetMapping("/current")
+    public AjaxResult getCurrent() {
+        TAudit audit = new TAudit();
+        audit.setDeptId(getLoginUser().getDeptId().toString());
+        TAudit latest = tAuditService.selectTAuditLatest(audit);
+        return success(latest);
+    }
+
     /**
      * 查询审计记录列表
      */

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

@@ -11,6 +11,8 @@ import com.ruoyi.rc.domain.TAudit;
  */
 public interface TAuditMapper 
 {
+    public TAudit selectTAuditLatest(TAudit tAudit);
+
     /**
      * 查询审计记录
      * 

+ 2 - 0
rc-buisness/src/main/java/com/ruoyi/rc/service/ITAuditService.java

@@ -27,6 +27,8 @@ public interface ITAuditService
      */
     public List<TAudit> selectTAuditList(TAudit tAudit);
 
+    public TAudit selectTAuditLatest(TAudit tAudit);
+
     /**
      * 新增审计记录
      * 

+ 5 - 0
rc-buisness/src/main/java/com/ruoyi/rc/service/impl/TAuditServiceImpl.java

@@ -46,6 +46,11 @@ public class TAuditServiceImpl implements ITAuditService
         return tAuditMapper.selectTAuditList(tAudit);
     }
 
+    public TAudit selectTAuditLatest(TAudit tAudit)
+    {
+        return tAuditMapper.selectTAuditLatest(tAudit);
+    }
+
     /**
      * 新增审计记录
      * 

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

@@ -30,6 +30,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             ${params.dataScope}
         </where>
     </select>
+
+    <select id="selectTAuditLatest" parameterType="TAudit" resultMap="TAuditResult">
+        <include refid="selectTAuditVo"/>
+        where dept_id like concat(concat('%', #{deptId}), '%')
+        order by d.audit_time desc, d.pre_audit_time desc
+        limit 1
+    </select>
     
     <select id="selectTAuditById" parameterType="Long" resultMap="TAuditResult">
         <include refid="selectTAuditVo"/>

+ 1 - 1
ruoyi-ui/.env.development

@@ -6,7 +6,7 @@ ENV = 'development'
 
 # 若依管理系统/开发环境
 # VUE_APP_BASE_API = '/dev-api'
-VUE_APP_BASE_API = 'http://43.143.92.79:8094'
+VUE_APP_BASE_API = 'http://localhost:8094'
 
 
 # 路由懒加载

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

@@ -1,5 +1,13 @@
 import request from '@/utils/request'
 
+// 查询当前登录用户所在部门最近一次审计记录
+export function getCurrent() {
+  return request({
+    url: '/rc/audit/current',
+    method: 'get'
+  })
+}
+
 // 查询审计记录列表
 export function listAudit(query) {
   return request({

+ 47 - 9
ruoyi-ui/src/views/home2.vue

@@ -7,23 +7,23 @@
       <div class="card_left">
         <div class="card_title"><img src="../assets/images/index/yushen.png" alt=""></div>
         <div class="card_timeBg">
-          <div class="day"><div class="fontElec1">321</div><div class="dayword">天</div></div>
+          <div class="day"><div class="fontElec1">{{preAuditTimeCountDown == null ? "--" : preAuditTimeCountDown}}</div><div class="dayword">天</div></div>
           <div class="hourglass"><img src="../assets/images/index/hourglass.png" alt=""></div>
         </div>
         <div class="time">
-          <div class="time1">2019年01月14日</div>
-          <div class="time2">星期一 20时59分32秒</div>
+          <div class="time1">{{preAuditTimeString1}}</div>
+          <div class="time2">{{preAuditTimeString2}}</div>
         </div>
       </div>
       <div class="card_right">
         <div class="card_title"><img src="../assets/images/index/shenji.png" alt=""></div>
         <div class="card_timeBg">
-          <div class="day"><div class="fontElec1">321</div><div class="dayword">天</div></div>
+          <div class="day"><div class="fontElec1">{{auditTimeCountDown == null ? "--" : auditTimeCountDown}}</div><div class="dayword">天</div></div>
           <div class="hourglass"><img src="../assets/images/index/hourglass.png" alt=""></div>
         </div>
         <div class="time">
-          <div class="time1">2019年01月14日</div>
-          <div class="time2">星期一 20时59分32秒</div>
+          <div class="time1">{{auditTimeString1}}</div>
+          <div class="time2">{{auditTimeString2}}</div>
         </div>
       </div>
     </div>
@@ -44,9 +44,19 @@
 </template>
 
 <script>
+import { getCurrent } from "@/api/rc/audit";
+
 export default {
   data() {
     return {
+      auditTime: null,
+      auditTimeString1: null,
+      auditTimeString2: null,
+      preAuditTime: null,
+      preAuditTimeString1: null,
+      preAuditTimeString2: null,
+      auditTimeCountDown: null,
+      preAuditTimeCountDown: null,
       capsuleConfig: {
         data: [
           {
@@ -131,9 +141,37 @@ export default {
       },
     }
   },
-  mounted() {
-
-  }
+  created() {
+    getCurrent().then(response => {
+      if (response.data) {
+        let data = response.data;
+        this.auditTime = data.auditTime;
+        this.preAuditTime = data.preAuditTime;
+        let date = new Date();
+        let auditTime = new Date(data.auditTime);
+        let preAuditTime = new Date(data.preAuditTime);
+        this.auditTimeString1 = this.getString1(auditTime);
+        this.auditTimeString2 = this.getString2(auditTime);
+        this.preAuditTimeString1 = this.getString1(preAuditTime);
+        this.preAuditTimeString2 = this.getString2(preAuditTime);
+        if (date <= auditTime) {
+          this.auditTimeCountDown = Math.ceil((auditTime - date) / (1000 * 60 * 60 * 24));
+        }
+        if (date <= preAuditTime) {
+          this.preAuditTimeCountDown = Math.ceil((preAuditTime - date) / (1000 * 60 * 60 * 24));
+        }
+      }
+    });
+  },
+  methods: {
+    getString1(date) {
+      return Number(date.getYear() + 1900) + "年" + Number(date.getMonth() + 1) + "月" + date.getDate() + "日";
+    },
+    getString2(date) {
+      let weekdays = ['日', '一', '二', '三', '四', '五', '六'];
+      return "星期" + weekdays[date.getDay()] + " " + "0时0分0秒";
+    },
+  },
 }
 </script>
 

+ 1 - 1
ruoyi-ui/vue.config.js

@@ -35,7 +35,7 @@ module.exports = {
     proxy: {
       // detail: https://cli.vuejs.org/config/#devserver-proxy
       [process.env.VUE_APP_BASE_API]: {
-        target: `http://43.143.92.79:8094`,
+        target: `http://localhost:8094`,
         changeOrigin: true,
         pathRewrite: {
           ['^' + process.env.VUE_APP_BASE_API]: ''