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 d1a3581..389eba6 100644
--- a/src/main/java/com/supwisdom/dlpay/atte/controller/AppAtteController.java
+++ b/src/main/java/com/supwisdom/dlpay/atte/controller/AppAtteController.java
@@ -8,10 +8,7 @@
 import com.supwisdom.dlpay.atte.service.AtteClassService;
 import com.supwisdom.dlpay.atte.service.AtteReportService;
 import com.supwisdom.dlpay.atte.service.AtteRestService;
-import com.supwisdom.dlpay.customer.bean.CustomerSearchBean;
-import com.supwisdom.dlpay.doorlist.bean.TCustomerInfo;
 import com.supwisdom.dlpay.framework.util.DateUtil;
-import com.supwisdom.dlpay.framework.util.PageResult;
 import com.supwisdom.dlpay.framework.util.StringUtil;
 import com.supwisdom.dlpay.mainservice.dao.CardDao;
 import com.supwisdom.dlpay.mainservice.domain.TCard;
@@ -49,6 +46,7 @@
     private CardDao cardDao;
 
 
+
     /**
      *    菜单
      * @param
@@ -182,9 +180,10 @@
         searchBean.setCusttypeid(custtypeid);
         searchBean.setRtype(rtype);
         TCustomer cust=webInterfaceService.findCustomerById(custid);
+        String oper_code="2c99808271be7ee60171c019b4e30004";
         if(StringUtil.isEmpty(cust.getDeptcode())){
             searchBean.setDeptcode("99");
-        }else if("WP01".equals(cust.getDeptcode())){
+        }else if(oper_code.equals(cust.getDeptcode())){
             searchBean.setDeptcode(null);
         }else {
             searchBean.setDeptcode(cust.getDeptcode());
@@ -377,9 +376,10 @@
         searchBean.setCusttypeid(custtypeid);
         searchBean.setStatus(status);
         TCustomer cust=webInterfaceService.findCustomerById(custid);
+        String oper_code="2c99808271be7ee60171c019b4e30004";
         if(StringUtil.isEmpty(cust.getDeptcode())){
             searchBean.setDeptcode("99");
-        }else if("WP01".equals(cust.getDeptcode())){
+        }else if(oper_code.equals(cust.getDeptcode())){
             searchBean.setDeptcode(null);
         }else {
             searchBean.setDeptcode(cust.getDeptcode());
diff --git a/src/main/resources/templates/apph5/leavehistory.html b/src/main/resources/templates/apph5/leavehistory.html
index 9cd9ffe..5c3bcf3 100644
--- a/src/main/resources/templates/apph5/leavehistory.html
+++ b/src/main/resources/templates/apph5/leavehistory.html
@@ -157,7 +157,7 @@
             </div>
         </div>
     </div>
-    <el-dialog :title="updatetitle2" :visible.sync="dialogFormVisible2" size="large"
+    <el-dialog style="width: 85%;height: 85%" :title="updatetitle2" :visible.sync="dialogFormVisible2" size="large"
                :modal-append-to-body='false' @close="closeDialog('historyform')">
         <el-form ref="historyform" class="el-form-item " :model="historyform"
                  :rules="rules" label-width="36%">
@@ -203,7 +203,7 @@
 
         </div>
     </el-dialog>
-    <el-dialog :title="updatetitle" :visible.sync="dialogFormVisible" style="width: 100%" :modal-append-to-body='false'
+    <el-dialog :title="updatetitle" :visible.sync="dialogFormVisible" style="width: 85%" :modal-append-to-body='false'
                @close="closeDialog('tempform')" size="large">
         <el-form ref="tempform" :model="tempform" data-parsley-validate
                  class="el-form-item" style="width: 100%">
diff --git a/src/main/resources/templates/apph5/myleave.html b/src/main/resources/templates/apph5/myleave.html
index 03c422a..930dc8e 100644
--- a/src/main/resources/templates/apph5/myleave.html
+++ b/src/main/resources/templates/apph5/myleave.html
@@ -158,7 +158,7 @@
             </div>
         </div>
     </div>
-    <el-dialog :title="updatetitle2" :visible.sync="dialogFormVisible2" size="large"
+    <el-dialog style="width: 85%;height: 85%" :title="updatetitle2" :visible.sync="dialogFormVisible2" size="large"
                :modal-append-to-body='false' @close="closeDialog('historyform')">
         <el-form ref="historyform" class="el-form-item " :model="historyform"
                  :rules="rules" label-width="36%">
@@ -203,7 +203,7 @@
 
         </div>
     </el-dialog>
-    <el-dialog :title="updatetitle" :visible.sync="dialogFormVisible" style="width: 100%" :modal-append-to-body='false'
+    <el-dialog  :title="updatetitle" :visible.sync="dialogFormVisible" style="width: 85%" :modal-append-to-body='false'
                @close="closeDialog('tempform')" size="large">
         <el-form ref="tempform" :model="tempform" data-parsley-validate
                  class="el-form-item" style="width: 100%">
diff --git a/src/main/resources/templates/apph5/reviewclock.html b/src/main/resources/templates/apph5/reviewclock.html
index 4a5d105..0369f44 100644
--- a/src/main/resources/templates/apph5/reviewclock.html
+++ b/src/main/resources/templates/apph5/reviewclock.html
@@ -104,7 +104,7 @@
             </div>
         </div>
     </div>
-    <el-dialog :title="updatetitle2" :visible.sync="dialogFormVisible2" size="large"
+    <el-dialog style="width: 85%;height: 85%"  :title="updatetitle2" :visible.sync="dialogFormVisible2" size="large"
                :modal-append-to-body='false' @close="closeDialog('historyform')">
         <el-form ref="historyform" class="el-form-item " :model="historyform"
                  :rules="rules" label-width="36%">
@@ -145,7 +145,7 @@
 
         </div>
     </el-dialog>
-    <el-dialog :title="updatetitle" :visible.sync="dialogFormVisible" style="width: 100%" :modal-append-to-body='false'
+    <el-dialog  :title="updatetitle" :visible.sync="dialogFormVisible" style="width: 85%" :modal-append-to-body='false'
                @close="closeDialog('tempform')" size="large">
         <el-form ref="tempform" :model="tempform" data-parsley-validate
                  class="el-form-item" style="width: 100%">
