diff --git a/src/main/java/com/supwisdom/dlpay/atte/controller/AppAtteController.java b/src/main/java/com/supwisdom/dlpay/atte/controller/AppAtteController.java
index 4d3570c..41080ed 100644
--- a/src/main/java/com/supwisdom/dlpay/atte/controller/AppAtteController.java
+++ b/src/main/java/com/supwisdom/dlpay/atte/controller/AppAtteController.java
@@ -184,7 +184,7 @@
     /**
      *  审核
      */
-    @RequestMapping(value = "/atte/getreviewlist")
+    @RequestMapping(value = "/atte/review")
     @ResponseBody
      public Map reviewer(@RequestParam("custid") String custid,
                          @RequestParam("status") Integer status,
diff --git a/src/main/kotlin/com/supwisdom/dlpay/security.kt b/src/main/kotlin/com/supwisdom/dlpay/security.kt
index 6b309f0..9fc95e1 100644
--- a/src/main/kotlin/com/supwisdom/dlpay/security.kt
+++ b/src/main/kotlin/com/supwisdom/dlpay/security.kt
@@ -128,6 +128,7 @@
                         .antMatchers("/api/conference/**").permitAll()
                         .antMatchers("/api/notify/**").permitAll()
                         .antMatchers("/app/atte/*").permitAll()
+                        .antMatchers("/app/*").permitAll()
                         .antMatchers("/app/doorappindex").permitAll()
                         .antMatchers("/api/common/**").hasAnyRole("THIRD_COMMON", "THIRD_ADMIN")
                         .antMatchers("/api/consume/**").hasRole("THIRD_CONSUME")
diff --git a/src/main/resources/templates/apph5/leavehistory.html b/src/main/resources/templates/apph5/leavehistory.html
index be829b9..8eeea95 100644
--- a/src/main/resources/templates/apph5/leavehistory.html
+++ b/src/main/resources/templates/apph5/leavehistory.html
@@ -343,7 +343,7 @@
                 var _that = this;
                 this.pagesize = 10;
                 this.currPage = 1;
-                reviewupdate(this, 1, this.historyform.id);
+                reviewupdate(this, 1,this.tempform.custid, this.historyform.id);
                 commonQuery(this, this.tempform.rtype, this.tempform.custtype, this.tempform.status, this.tempform.custid, this.currPage, this.pageSize);
 
             },unreview: function (formName) {
@@ -352,7 +352,7 @@
                 var _that = this;
                 this.pagesize = 10;
                 this.currPage = 1;
-                reviewupdate(this, 2, this.historyform.id);
+                reviewupdate(this, 2,this.tempform.custid, this.historyform.id);
                 commonQuery(this, this.tempform.rtype, this.tempform.custtype, this.tempform.status, this.tempform.custid, this.currPage, this.pageSize);
 
             },
@@ -565,14 +565,18 @@
         })
     }
 
-    function reviewupdate(_self, status, id) {
+    function reviewupdate(_self, status,custid, id) {
         $.ajax({
             type: "get",
             dataType: "json",
-            url: "[[@{/app/atte/getreviewlist?id=}]]" + id + "&status=" + status,
+            url: "[[@{/app/atte/review?id=}]]" + id + "&status=" + status+ "&custid=" + custid,
             success: function (info) {
                 console.log(info)
-
+                if (data.errStr != "") {
+                    layer.msg(data.errStr, {icon: 2, time: 2000});
+                } else {
+                    layer.msg('审核成功!', {icon: 1, time: 1000});
+                }
             }
         })
     }
diff --git a/src/main/resources/templates/apph5/myleave.html b/src/main/resources/templates/apph5/myleave.html
index f501076..f9cacdc 100644
--- a/src/main/resources/templates/apph5/myleave.html
+++ b/src/main/resources/templates/apph5/myleave.html
@@ -544,10 +544,14 @@
         $.ajax({
             type: "get",
             dataType: "json",
-            url: "[[@{/app/atte/getreviewlist?id=}]]" + id + "&status=" + status,
+            url: "[[@{/app/atte/cancelRest?id=}]]" + id + "&status=" + status,
             success: function (info) {
                 console.log(info)
-
+                if (data.errStr != "") {
+                    layer.msg(data.errStr, {icon: 2, time: 2000});
+                } else {
+                    layer.msg('修改成功!', {icon: 1, time: 1000});
+                }
             }
         })
     }
