Browse Source

人力资源管理 人员信息登记代码提交

徐滕 1 week ago
parent
commit
c7b4205710
21 changed files with 422 additions and 326 deletions
  1. 8 0
      src/main/java/com/jeeplus/modules/sys/dao/UserDao.java
  2. 5 0
      src/main/java/com/jeeplus/modules/sys/service/SystemService.java
  3. 10 0
      src/main/java/com/jeeplus/modules/sys/service/UserService.java
  4. 5 2
      src/main/java/com/jeeplus/modules/sys/web/UserController.java
  5. 14 0
      src/main/java/com/jeeplus/modules/workstaff/dao/WorkStaffBasicInfoDao.java
  6. 114 29
      src/main/java/com/jeeplus/modules/workstaff/service/WorkStaffBasicInfoService.java
  7. 48 4
      src/main/java/com/jeeplus/modules/workstaff/web/WorkStaffBasicInfoController.java
  8. 8 0
      src/main/resources/mappings/modules/sys/UserDao.xml
  9. 12 0
      src/main/resources/mappings/modules/workstaff/WorkStaffBasicInfoDao.xml
  10. 18 5
      src/main/webapp/webpage/modules/sys/userInfo.jsp
  11. 3 3
      src/main/webapp/webpage/modules/workstaff/workStaffAchiveInfoForm.jsp
  12. 3 3
      src/main/webapp/webpage/modules/workstaff/workStaffAchiveInfoForms.jsp
  13. 3 2
      src/main/webapp/webpage/modules/workstaff/workStaffBasicDetailAudit.jsp
  14. 21 5
      src/main/webapp/webpage/modules/workstaff/workStaffBasicDetailForm.jsp
  15. 21 5
      src/main/webapp/webpage/modules/workstaff/workStaffBasicDetailModify.jsp
  16. 3 3
      src/main/webapp/webpage/modules/workstaff/workStaffBasicDetailModifyDirectly.jsp
  17. 19 95
      src/main/webapp/webpage/modules/workstaff/workStaffBasicDirectlyAudit.jsp
  18. 14 90
      src/main/webapp/webpage/modules/workstaff/workStaffBasicDirectlyModify.jsp
  19. 3 3
      src/main/webapp/webpage/modules/workstaff/workStaffBasicInfoEmploymentInForm.jsp
  20. 89 76
      src/main/webapp/webpage/modules/workstaff/workStaffBasicInfoForm.jsp
  21. 1 1
      src/main/webapp/webpage/modules/workstaff/workStaffBasicInfoView.jsp

+ 8 - 0
src/main/java/com/jeeplus/modules/sys/dao/UserDao.java

@@ -368,6 +368,14 @@ public interface UserDao extends CrudDao<User> {
 	 */
     User getByNameAndMobile(@Param("createMobile")String createMobile, @Param("createByName")String createByName);
 
+	/**
+	 * 根据手机号和姓名获取用户信息
+	 * @param name
+	 * @param userId
+	 * @return
+	 */
+    void updateUserNameById(@Param("name")String name, @Param("userId")String userId);
+
 
 	/**
 	 * 修改员工可登录状态

+ 5 - 0
src/main/java/com/jeeplus/modules/sys/service/SystemService.java

@@ -621,7 +621,12 @@ public class SystemService extends BaseService implements InitializingBean {
 
     @Transactional(readOnly = false)
     public void updateUserInfo(User user) {
+        String oldPhoto = user.getPhoto();
         user.preUpdate();
+
+        if(StringUtils.isNotBlank(oldPhoto)){
+            user.setPhoto(oldPhoto);
+        }
         userDao.updateUserInfo(user);
         // 清除用户缓存
         UserUtils.clearCache(user);

+ 10 - 0
src/main/java/com/jeeplus/modules/sys/service/UserService.java

@@ -721,4 +721,14 @@ public class UserService extends BaseController {
         userDao.updateUserLoginFlag(userId);
     }
 
+    /**
+     * 根据id修改人员名称
+     * @param name
+     * @param userId
+     */
+    @Transactional(readOnly = false)
+    public void updateUserNameById(String name, String userId) {
+        userDao.updateUserNameById(name, userId);
+    }
+
 }

+ 5 - 2
src/main/java/com/jeeplus/modules/sys/web/UserController.java

@@ -849,12 +849,15 @@ public class UserController extends BaseController {
                 url = bosClientUtil.upload(path, inputStream);
             }else if("2".equals(uploadMode)){
                 OSSClientUtil ossClientUtil = new OSSClientUtil();
-                ossClientUtil.uploadFile2OSS(inputStream,filePath,imgName);
-                url = "/" + filePath+imgName+".png";
+
+                url = ossClientUtil.uploadFile2OSS(file, "certificate");
+
             }
             currentUser.setPhoto(url);
             currentUser.setDefaultPhoto("1");
             systemService.updateUserInfo(currentUser);
+            //修改work_staff_achives表中的头像存储信息
+            workStaffBasicInfoService.updatePictureUrlByUserId(currentUser.getId(),url);
         }
         return "modules/sys/userImageEdit";
     }

+ 14 - 0
src/main/java/com/jeeplus/modules/workstaff/dao/WorkStaffBasicInfoDao.java

@@ -106,4 +106,18 @@ public interface WorkStaffBasicInfoDao extends CrudDao<WorkStaffBasicInfo> {
 
     void updateActComment(WorkStaffBasicInfo workStaffBasicInfo);
 
+    /**
+     * 修改work_staff_achives表中的头像存储信息
+     * @param userId
+     * @param url
+     */
+    void updatePictureUrlOnAchivesByUserId(@Param("userId") String userId, @Param("url") String url);
+
+    /**
+     * 修改work_staff_achives表中的头像存储信息
+     * @param userId
+     * @param url
+     */
+    void updatePictureUrlOnBasicByUserId(@Param("userId") String userId, @Param("url") String url);
+
 }

+ 114 - 29
src/main/java/com/jeeplus/modules/workstaff/service/WorkStaffBasicInfoService.java

@@ -18,6 +18,7 @@ import com.jeeplus.common.service.CrudService;
 import com.jeeplus.common.utils.MenuStatusEnum;
 import com.jeeplus.common.utils.MyBeanUtils;
 import com.jeeplus.common.utils.StringUtils;
+import com.jeeplus.modules.caseinfo.entity.CaseInfo;
 import com.jeeplus.modules.projectAccessory.entity.ProjectAccessoryRelationInfo;
 import com.jeeplus.modules.projectAccessory.entity.ProjectTemplateInfo;
 import com.jeeplus.modules.ruralprojectrecords.entity.RuralProjectRecords;
@@ -33,6 +34,7 @@ import com.jeeplus.modules.sysuseroffice.entity.Useroffice;
 import com.jeeplus.modules.sysuseroffice.service.UserofficeService;
 import com.jeeplus.modules.utils.SftpClientUtil;
 import com.jeeplus.modules.utils.ZipCompressUtil;
+import com.jeeplus.modules.workactivity.entity.WorkActivityProcess;
 import com.jeeplus.modules.workclientinfo.dao.WorkClientAttachmentDao;
 import com.jeeplus.modules.workclientinfo.entity.WorkClientAttachment;
 import com.jeeplus.modules.workprojectnotify.entity.WorkProjectNotify;
@@ -47,6 +49,7 @@ import com.jeeplus.modules.workstaffachiveslog.dao.WorkStaffAchivesLogDao;
 import com.jeeplus.modules.workstaffachiveslog.entity.WorkStaffAchivesLog;
 import com.jeeplus.modules.workstaffachiveslog.service.WorkStaffAchivesLogService;
 import com.taobao.api.ApiException;
+import org.activiti.engine.ActivitiObjectNotFoundException;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -174,9 +177,12 @@ public class WorkStaffBasicInfoService extends CrudService<WorkStaffBasicInfoDao
             }
             if(StringUtils.isNotEmpty(workStaffBasicInfo.getIdCardPortraitPath())) {
                 workStaffBasicInfo.setIdCardPortraitPathStr(WorkattachmentService.fileUrlManage(workStaffBasicInfo.getIdCardPortraitPath()));
+                workStaffBasicInfo.setIdCardPortraitPathThumbnailStr(WorkattachmentService.getThumbnailTemporaryWithWatermarkDimLookUrl(workStaffBasicInfo.getIdCardPortraitPath()));
             }
             if(StringUtils.isNotEmpty(workStaffBasicInfo.getIdCardNationalEmblemPath())) {
                 workStaffBasicInfo.setIdCardNationalEmblemPathStr(WorkattachmentService.fileUrlManage(workStaffBasicInfo.getIdCardNationalEmblemPath()));
+                //获取虚化图
+                workStaffBasicInfo.setIdCardNationalEmblemPathThumbnailStr(WorkattachmentService.getThumbnailTemporaryWithWatermarkDimLookUrl(workStaffBasicInfo.getIdCardNationalEmblemPath()));
             }
 
         }
@@ -948,7 +954,7 @@ public class WorkStaffBasicInfoService extends CrudService<WorkStaffBasicInfoDao
         cou += this.cacuField(workStaffBasicInfo);
         //修改员工档案表父节点信息
         workStaffAchivesDao.updatePercent(workStaffBasicInfo.getId(), this.cacuPercent(cou));
-        if (StringUtils.isNotBlank(workStaffBasicInfo.getHome()) && "home".equals(workStaffBasicInfo.getHome())) {
+        if (StringUtils.isNotBlank(workStaffBasicInfo.getHome())  && ("home".equals(workStaffBasicInfo.getHome()) || "notifyList".equals(workStaffBasicInfo.getHome()))) {
             WorkProjectNotify workProjectNotify = new WorkProjectNotify();
             workProjectNotify.setNotifyId(workStaffBasicInfo.getId());
             workProjectNotifyService.readByNotifyId(workProjectNotify);
@@ -1070,7 +1076,7 @@ public class WorkStaffBasicInfoService extends CrudService<WorkStaffBasicInfoDao
                             || "nativePlace".equals(name) || "household".equals(name) || "industryDate".equals(name) || "idCard".equals(name) || "age".equals(name)
                             || "idCardPortraitName".equals(name) || "idCardPortraitPath".equals(name) || "idCardNationalEmblemName".equals(name) || "idCardNationalEmblemPath".equals(name)
                             || "birthday".equals(name) || "email".equals(name) || "nation".equals(name) || "exIdCard".equals(name) || "bankName".equals(name) || "bankCard".equals(name)
-                            || "pictureFile".equals(name)) {
+                            || "pictureFile".equals(name)|| "phone".equals(name) || "mobile".equals(name) || "name".equals(name) || "gender".equals(name)) {
                         String setMethod = "set"+name.substring(0,1).toUpperCase()+name.substring(1);
                         String getMethod = "get"+name.substring(0,1).toUpperCase()+name.substring(1);
                         WorkStaffAchivesLog workStaffAchivesLog=new WorkStaffAchivesLog();
@@ -1082,6 +1088,20 @@ public class WorkStaffBasicInfoService extends CrudService<WorkStaffBasicInfoDao
                         List<WorkStaffAchivesLog> logs=workStaffAchivesLogService.findList(workStaffAchivesLog);
                         try {
                             Object newInvoke = newClass.getMethod(getMethod).invoke(workStaffBasicInfo);//修改后
+
+                            if ("nativePlace".equals(name)) {
+                                Method setReadOnly = workStaffBasicInfo.getClass().getMethod(setMethod, Area.class);
+                                if (logs != null && !logs.isEmpty()) {
+                                    String newKey = logs.get(0).getNewKey();
+                                    // 根据 ID 查询 Area 对象
+                                    Area area = areaDao.get(newKey);
+                                    if (area != null) {
+                                        // 将 Area 对象反射设置到 nativePlace 字段中
+                                        setReadOnly.invoke(workStaffBasicInfo, area);
+                                    }
+                                }
+                            }
+
                             if(newInvoke instanceof String){
                                 Method setReadOnly = workStaffBasicInfo.getClass().getMethod(setMethod, String.class);
                                 if(logs!=null&&logs.size()>0){
@@ -1137,9 +1157,12 @@ public class WorkStaffBasicInfoService extends CrudService<WorkStaffBasicInfoDao
 
         if(StringUtils.isNotEmpty(workStaffBasicInfo.getIdCardPortraitPath())) {
             workStaffBasicInfo.setIdCardPortraitPathStr(WorkattachmentService.fileUrlManage(workStaffBasicInfo.getIdCardPortraitPath()));
+            workStaffBasicInfo.setIdCardPortraitPathThumbnailStr(WorkattachmentService.getThumbnailTemporaryWithWatermarkDimLookUrl(workStaffBasicInfo.getIdCardPortraitPath()));
         }
         if(StringUtils.isNotEmpty(workStaffBasicInfo.getIdCardNationalEmblemPath())) {
             workStaffBasicInfo.setIdCardNationalEmblemPathStr(WorkattachmentService.fileUrlManage(workStaffBasicInfo.getIdCardNationalEmblemPath()));
+            //获取虚化图
+            workStaffBasicInfo.setIdCardNationalEmblemPathThumbnailStr(WorkattachmentService.getThumbnailTemporaryWithWatermarkDimLookUrl(workStaffBasicInfo.getIdCardNationalEmblemPath()));
         }
     }
 
@@ -1157,7 +1180,7 @@ public class WorkStaffBasicInfoService extends CrudService<WorkStaffBasicInfoDao
                             || "nativePlace".equals(name) || "household".equals(name) || "industryDate".equals(name) || "idCard".equals(name) || "age".equals(name)
                             || "idCardPortraitName".equals(name) || "idCardPortraitPath".equals(name) || "idCardNationalEmblemName".equals(name) || "idCardNationalEmblemPath".equals(name)
                             || "birthday".equals(name) || "email".equals(name) || "nation".equals(name) || "exIdCard".equals(name) || "bankName".equals(name) || "bankCard".equals(name)
-                            || "pictureFile".equals(name)) {
+                            || "pictureFile".equals(name)|| "phone".equals(name) || "mobile".equals(name) || "name".equals(name) || "gender".equals(name)) {
                         String setMethod = "set"+name.substring(0,1).toUpperCase()+name.substring(1);
                         String getMethod = "get"+name.substring(0,1).toUpperCase()+name.substring(1);
                         WorkStaffAchivesLog workStaffAchivesLog=new WorkStaffAchivesLog();
@@ -1169,6 +1192,18 @@ public class WorkStaffBasicInfoService extends CrudService<WorkStaffBasicInfoDao
                         List<WorkStaffAchivesLog> logs=workStaffAchivesLogService.findList(workStaffAchivesLog);
                         try {
                             Object newInvoke = newClass.getMethod(getMethod).invoke(workStaffBasicInfo);//修改后
+                            if ("nativePlace".equals(name)) {
+                                Method setReadOnly = workStaffBasicInfo.getClass().getMethod(setMethod, Area.class);
+                                if (logs != null && !logs.isEmpty()) {
+                                    String newKey = logs.get(0).getNewKey();
+                                    // 根据 ID 查询 Area 对象
+                                    Area area = areaDao.get(newKey);
+                                    if (area != null) {
+                                        // 将 Area 对象反射设置到 nativePlace 字段中
+                                        setReadOnly.invoke(workStaffBasicInfo, area);
+                                    }
+                                }
+                            }
                             if(newInvoke instanceof String){
                                 Method setReadOnly = workStaffBasicInfo.getClass().getMethod(setMethod, String.class);
                                 if(logs!=null&&logs.size()>0){
@@ -1277,7 +1312,7 @@ public class WorkStaffBasicInfoService extends CrudService<WorkStaffBasicInfoDao
             userIds.add(u.getId());
             workProjectNotify.setUser(u);
             workProjectNotify.setId("");
-            workProjectNotify.setNotifyRole("");
+            workProjectNotify.setNotifyRole("办公室审批");
             List<WorkProjectNotify> byNotifyIdAndNotifyUserAndTitle = workProjectNotifyService.getByNotifyIdAndNotifyUserAndTitle(workProjectNotify.getTitle(), workProjectNotify.getNotifyId(), workProjectNotify.getUser().getId());
             if(byNotifyIdAndNotifyUserAndTitle.isEmpty()){
                 workProjectNotifyService.save(workProjectNotify);
@@ -1344,7 +1379,7 @@ public class WorkStaffBasicInfoService extends CrudService<WorkStaffBasicInfoDao
         cou += this.cacuField(workStaffBasicInfo);
         workStaffAchivesDao.updatePercent(workStaffBasicInfo.getId(), this.cacuPercent(cou));
         workStaffAchivesLogDao.updateState(workStaffBasicInfo.getId(), UserUtils.getUser().getId(), new Date());
-        if (StringUtils.isNotBlank(workStaffBasicInfo.getHome()) && "home".equals(workStaffBasicInfo.getHome())) {
+        if (StringUtils.isNotBlank(workStaffBasicInfo.getHome()) && ("home".equals(workStaffBasicInfo.getHome()) || "notifyList".equals(workStaffBasicInfo.getHome()))) {
             WorkProjectNotify workProjectNotify = new WorkProjectNotify();
             workProjectNotify.setNotifyId(workStaffBasicInfo.getId());
             workProjectNotify.setType("86");
@@ -1368,7 +1403,7 @@ public class WorkStaffBasicInfoService extends CrudService<WorkStaffBasicInfoDao
         cou += this.cacuField(workStaffBasicInfo);
         workStaffAchivesDao.updatePercent(workStaffBasicInfo.getId(), this.cacuPercent(cou));
         workStaffAchivesLogDao.updateDirectlyState("执业资格证书",workStaffBasicInfo.getId(), UserUtils.getUser().getId(), new Date());
-        if (StringUtils.isNotBlank(workStaffBasicInfo.getHome()) && "home".equals(workStaffBasicInfo.getHome())) {
+        if (StringUtils.isNotBlank(workStaffBasicInfo.getHome())  && ("home".equals(workStaffBasicInfo.getHome()) || "notifyList".equals(workStaffBasicInfo.getHome()))) {
             WorkProjectNotify workProjectNotify = new WorkProjectNotify();
             workProjectNotify.setType("186");
             workProjectNotify.setNotifyId(workStaffBasicInfo.getId());
@@ -1402,6 +1437,10 @@ public class WorkStaffBasicInfoService extends CrudService<WorkStaffBasicInfoDao
         CODE_MAP.put("bankCard", "银行卡号");
         CODE_MAP.put("bankName", "开户银行");
         CODE_MAP.put("pictureFile", "头像");
+        CODE_MAP.put("phone", "座机");
+        CODE_MAP.put("mobile", "移动电话");
+        CODE_MAP.put("name", "姓名");
+        CODE_MAP.put("gender", "性别");
     }
 
     @Transactional(readOnly = false)
@@ -1429,7 +1468,7 @@ public class WorkStaffBasicInfoService extends CrudService<WorkStaffBasicInfoDao
                     || "nativePlace".equals(name) || "household".equals(name) || "industryDate".equals(name) || "idCard".equals(name) || "age".equals(name)
                     || "idCardPortraitName".equals(name) || "idCardPortraitPath".equals(name) || "idCardNationalEmblemName".equals(name) || "idCardNationalEmblemPath".equals(name)
                     || "birthday".equals(name) || "email".equals(name) || "nation".equals(name) || "exIdCard".equals(name) || "bankName".equals(name) || "bankCard".equals(name)
-                    || "pictureFile".equals(name)) {
+                    || "pictureFile".equals(name) || "phone".equals(name) || "mobile".equals(name) || "name".equals(name) || "gender".equals(name)) {
                 String methodName = "get" + name.substring(0, 1).toUpperCase() + name.substring(1);
                 WorkStaffAchivesLog workStaffAchivesLog = new WorkStaffAchivesLog();
                 workStaffAchivesLog.setStaffId(workStaffBasicInfo.getId());
@@ -1441,6 +1480,17 @@ public class WorkStaffBasicInfoService extends CrudService<WorkStaffBasicInfoDao
                     Object oldInvoke = wClass.getMethod(methodName).invoke(w);//修改前
                     String describes = CODE_MAP.get(name);
                     if (newInvoke == null) continue;
+
+                    if (newInvoke instanceof Area) {
+                        String id = ((Area) newInvoke).getId();
+                        Area a = areaDao.get(id);
+                        if (!((Area) newInvoke).getId().equals(((Area) oldInvoke).getId())) {
+                            workStaffAchivesLogService.saveStaffLog(workStaffAchivesLog, workStaffBasicInfo.getId(),
+                                    "基本信息", describes, name,
+                                    ((Area) oldInvoke).getName(), a.getName(),
+                                    ((Area) oldInvoke).getId(), id, "", "修改");
+                        }
+                    }
                     if (newInvoke instanceof String) {
                         String newValue = newInvoke.toString();
                         String oldValue = "";
@@ -1501,17 +1551,7 @@ public class WorkStaffBasicInfoService extends CrudService<WorkStaffBasicInfoDao
                                     oldDate, newDate, oldDate, newDate, "", "修改");
                         }
                     }
-                    ;
-                    if (newInvoke instanceof Area) {
-                        String id = ((Area) newInvoke).getId();
-                        Area a = areaDao.get(id);
-                        if (!((Area) newInvoke).getId().equals(((Area) oldInvoke).getId())) {
-                            workStaffAchivesLogService.saveStaffLog(workStaffAchivesLog, workStaffBasicInfo.getId(),
-                                    "基本信息", describes, name,
-                                    ((Area) oldInvoke).getName(), a.getName(),
-                                    ((Area) oldInvoke).getId(), id, "", "修改");
-                        }
-                    }
+
                 } catch (NoSuchMethodException e) {
                     e.printStackTrace();
                     logger.error("Exception e:" + e);
@@ -1567,7 +1607,7 @@ public class WorkStaffBasicInfoService extends CrudService<WorkStaffBasicInfoDao
                     || "nativePlace".equals(name) || "household".equals(name) || "industryDate".equals(name) || "idCard".equals(name) || "age".equals(name)
                     || "idCardPortraitName".equals(name) || "idCardPortraitPath".equals(name) || "idCardNationalEmblemName".equals(name) || "idCardNationalEmblemPath".equals(name)
                     || "birthday".equals(name) || "email".equals(name) || "nation".equals(name) || "exIdCard".equals(name) || "bankName".equals(name) || "bankCard".equals(name)
-                    || "pictureFile".equals(name)) {
+                    || "pictureFile".equals(name)|| "phone".equals(name) || "mobile".equals(name) || "name".equals(name) || "gender".equals(name)) {
                 String methodName = "get" + name.substring(0, 1).toUpperCase() + name.substring(1);
                 WorkStaffAchivesLog workStaffAchivesLog = new WorkStaffAchivesLog();
                 workStaffAchivesLog.setStaffId(workStaffBasicInfo.getId());
@@ -1576,9 +1616,25 @@ public class WorkStaffBasicInfoService extends CrudService<WorkStaffBasicInfoDao
                 workStaffAchivesLog.setState("3");
                 try {
                     Object newInvoke = basicInfoClass.getMethod(methodName).invoke(workStaffBasicInfo);//修改后
+                    if ("nativePlace".equals(name)) {
+                        Method getIdMethod = newInvoke.getClass().getMethod("getId");
+                        newInvoke = getIdMethod.invoke(newInvoke);
+                    }
                     Object oldInvoke = wClass.getMethod(methodName).invoke(w);//修改前
                     String describes = CODE_MAP.get(name);
                     if (newInvoke == null) continue;
+
+                    if (newInvoke instanceof Area) {
+                        String id = ((Area) newInvoke).getId();
+                        Area a = areaDao.get(id);
+                        if (!((Area) newInvoke).getId().equals(((Area) oldInvoke).getId())) {
+                            workStaffAchivesLogService.storeStaffLog(workStaffAchivesLog, workStaffBasicInfo.getId(),
+                                    "基本信息", describes, name,
+                                    ((Area) oldInvoke).getName(), a.getName(),
+                                    ((Area) oldInvoke).getId(), id, "", "修改");
+                        }
+                    }
+
                     if (newInvoke instanceof String) {
                         String newValue = newInvoke.toString();
                         String oldValue = "";
@@ -1640,16 +1696,6 @@ public class WorkStaffBasicInfoService extends CrudService<WorkStaffBasicInfoDao
                         }
                     }
                     ;
-                    if (newInvoke instanceof Area) {
-                        String id = ((Area) newInvoke).getId();
-                        Area a = areaDao.get(id);
-                        if (!((Area) newInvoke).getId().equals(((Area) oldInvoke).getId())) {
-                            workStaffAchivesLogService.storeStaffLog(workStaffAchivesLog, workStaffBasicInfo.getId(),
-                                    "基本信息", describes, name,
-                                    ((Area) oldInvoke).getName(), a.getName(),
-                                    ((Area) oldInvoke).getId(), id, "", "修改");
-                        }
-                    }
                 } catch (NoSuchMethodException e) {
                     e.printStackTrace();
                     logger.error("Exception e:" + e);
@@ -2110,4 +2156,43 @@ public class WorkStaffBasicInfoService extends CrudService<WorkStaffBasicInfoDao
         return map;
     }
 
+    @Transactional(readOnly = false)
+    public void cancelInvalidate(WorkStaffBasicInfo workStaffBasicInfo) {
+        try {
+            WorkProjectNotify notify = new WorkProjectNotify();
+            notify.setNotifyId(workStaffBasicInfo.getId());
+            notify.setType("86");
+            workProjectNotifyService.readByNotifyId(notify);
+
+            notify.setType("186");
+            workProjectNotifyService.readByNotifyId(notify);
+
+            notify.setType("69");
+            workProjectNotifyService.readByNotifyId(notify);
+
+            //修改审核状态
+            updateAuditStatus(workStaffBasicInfo.getId(), "1");
+            //将送审的部分数据恢复成暂存状态
+            workStaffAchivesLogDao.updateBackOnTS(workStaffBasicInfo.getId());
+
+        }catch (ActivitiObjectNotFoundException e){
+            e.printStackTrace();
+        }
+        catch (Exception e) {
+            e.printStackTrace();
+        }
+
+    }
+
+    /**
+     * 修改work_staff_achives表中的头像存储信息
+     * @param userId
+     * @param url
+     */
+    @Transactional(readOnly = false)
+    public void updatePictureUrlByUserId(String userId, String url){
+        dao.updatePictureUrlOnAchivesByUserId(userId,url);
+        dao.updatePictureUrlOnBasicByUserId(userId,url);
+    }
+
 }

+ 48 - 4
src/main/java/com/jeeplus/modules/workstaff/web/WorkStaffBasicInfoController.java

@@ -16,6 +16,7 @@ import com.jeeplus.common.utils.ThisLocalityDownloadUtil;
 import com.jeeplus.common.utils.excel.ExportExcel;
 import com.jeeplus.common.utils.excel.ImportExcel;
 import com.jeeplus.common.web.BaseController;
+import com.jeeplus.modules.act.entity.Act;
 import com.jeeplus.modules.sys.entity.MainDictDetail;
 import com.jeeplus.modules.sys.entity.Role;
 import com.jeeplus.modules.sys.entity.User;
@@ -168,9 +169,6 @@ public class WorkStaffBasicInfoController extends BaseController {
 		}
         model.addAttribute("workStaffBasicInfo", workStaffBasicInfo);
         String view = "modules/workstaff/workStaffBasicInfoForm";
-        if(UserUtils.getUser().getId().equals(workStaffBasicInfo.getUserId())){
-            view = "modules/workstaff/workStaffBasicDetailForm";
-        }
 		return view;
 	}
 
@@ -809,6 +807,7 @@ public class WorkStaffBasicInfoController extends BaseController {
 		}
 		workStaffBasicInfoService.completeCertificateApply(workStaffBasicInfo.getId());
 		workStaffBasicInfoService.saveLog(workStaffBasicInfo);
+		workStaffBasicInfoService.updateAuditStatus(workStaffBasicInfo.getId(), "2");
 		addMessage(redirectAttributes, "申请员工档案信息成功");
 		if (StringUtils.isNotBlank(workStaffBasicInfo.getHome()) && "home".equals(workStaffBasicInfo.getHome())){
 			return "redirect:" + Global.getAdminPath() + "/home/?repage";
@@ -1122,7 +1121,16 @@ public class WorkStaffBasicInfoController extends BaseController {
 		workStaffBasicInfoService.saveAchiveApply(t, request);//保存
 		t.setId(basicInfo.getId());
 		workStaffBasicInfoService.save(t);
+		userService.updateUserNameById(t.getName(),t.getUserId());
 		addMessage(redirectAttributes, "保存员工档案信息成功");
+		//调整审核成功
+		workStaffBasicInfoService.updateAuditStatus(workStaffBasicInfo.getId(), "5");
+		//清除驳回原因
+		Act act=new Act();
+		act.setComment("");
+		workStaffBasicInfo.setAct(act);
+		workStaffBasicInfoService.updateActComment(workStaffBasicInfo);
+
 		if (StringUtils.isNotBlank(workStaffBasicInfo.getHome()) && "home".equals(workStaffBasicInfo.getHome())){
 			return "redirect:" + Global.getAdminPath() + "/home/?repage";
 		}else if (StringUtils.isNotBlank(workStaffBasicInfo.getHome()) && "notifyList".equals(workStaffBasicInfo.getHome())){
@@ -1170,6 +1178,14 @@ public class WorkStaffBasicInfoController extends BaseController {
 		workStaffBasicInfoService.saveAchiveDirectlyApply(t, request);//保存
 		t.setId(basicInfo.getId());
 		workStaffBasicInfoService.save(t);
+		//调整审核成功
+		workStaffBasicInfoService.updateAuditStatus(workStaffBasicInfo.getId(), "5");
+		//清除驳回原因
+		Act act=new Act();
+		act.setComment("");
+		workStaffBasicInfo.setAct(act);
+		workStaffBasicInfoService.updateActComment(workStaffBasicInfo);
+
 		addMessage(redirectAttributes, "保存员工档案信息成功");
 		return "redirect:" + Global.getAdminPath() + "/home/?repage";
 	}
@@ -1187,7 +1203,7 @@ public class WorkStaffBasicInfoController extends BaseController {
 			workStaffBasicInfoService.updateActComment(workStaffBasicInfo);
 		}
 		workStaffAchivesLogDao.deleteDirectlyBack("执业资格证书",workStaffBasicInfo.getId());
-		addMessage(redirectAttributes, "驳成功");
+		addMessage(redirectAttributes, "驳成功");
 		return "redirect:" + Global.getAdminPath() + "/home/?repage";
 	}
 
@@ -1334,4 +1350,32 @@ public class WorkStaffBasicInfoController extends BaseController {
 		Map map = workStaffBasicInfoService.getSortMessage(type);
 		return  map;
 	}
+
+
+	/**
+	 * 撤回流程
+	 * @param request
+	 * @param response
+	 * @return
+	 */
+	@RequestMapping(value = "revoke")
+	public String revoke(HttpServletRequest request, HttpServletResponse response,RedirectAttributes redirectAttributes) {
+
+		HashMap<String, String> requestMap = findRequestMap(request);
+		String id = requestMap.get("id");
+		try {
+			WorkStaffBasicInfo info = new WorkStaffBasicInfo();
+			info.setAchiveId(id);
+			WorkStaffBasicInfo workStaffBasicInfo = workStaffBasicInfoService.getAchive(info);
+			if (StringUtils.isNotBlank(workStaffBasicInfo.getAuditStatus()) && "5".equals(workStaffBasicInfo.getAuditStatus())) {
+				addMessage(redirectAttributes, "审核已完成,无需撤回");
+				return "redirect:"+Global.getAdminPath()+"/sys/user/info?repage";
+			}
+			workStaffBasicInfoService.cancelInvalidate(workStaffBasicInfo);
+			addMessage(redirectAttributes, "撤回成功");
+		}catch (Exception e){
+			logger.info(e.getMessage());
+		}
+		return "redirect:"+Global.getAdminPath()+"/sys/user/info?repage";
+	}
 }

+ 8 - 0
src/main/resources/mappings/modules/sys/UserDao.xml

@@ -1432,4 +1432,12 @@
 			activate_date = CASE login_flag WHEN 0 THEN null WHEN 1 THEN now() END
 		where id = #{userId}
 	</update>
+
+
+	<update id="updateUserNameById">
+		update sys_user
+		set
+			name = #{name}
+		where id = #{userId}
+	</update>
 </mapper>

+ 12 - 0
src/main/resources/mappings/modules/workstaff/WorkStaffBasicInfoDao.xml

@@ -807,5 +807,17 @@
 		where id = #{id}
 	</update>
 
+	<update id="updatePictureUrlOnAchivesByUserId">
+		update work_staff_achives
+		set picture = #{url}
+		where user_id = #{userId}
+	</update>
+
+	<update id="updatePictureUrlOnBasicByUserId">
+		update work_staff_basic_info
+		set picture = #{url}
+		where user_id = #{userId}
+	</update>
+
 
 </mapper>

+ 18 - 5
src/main/webapp/webpage/modules/sys/userInfo.jsp

@@ -256,6 +256,7 @@
                             title: title,
                             maxmin: true, //开启最大化最小化按钮
                             content: url,
+                            skin: 'two-btns',
                             btn: ["提交","关闭"],
                             btn1: function(index, layero){
                                 var body = top.layer.getChildFrame('body', index);
@@ -582,10 +583,22 @@
                                         编辑<i class="fa fa-wrench"></i>
                                     </a>
                                     <ul class="dropdown-menu dropdown-user">
-                                        <li><a id="userEdit" data-toggle="modal" onclick="openDialog('修改档案信息', '${ctx}/workstaff/workStaffBasicInfo/applyEdit','95%','95%')" data-target="#register">申请修改</a>
-                                        </li>
-                                        <li><a id="userEditDirectly" data-toggle="modal" onclick="openDialogCertificate('修改执业资格证信息', '${ctx}/workstaff/workStaffBasicInfo/applyCertificateEdit','95%','95%')" data-target="#register">执业资格证修改</a>
-                                        </li>
+
+
+
+                                        <c:if test="${workStaffBasicInfo.auditStatus == null || workStaffBasicInfo.auditStatus == '' || workStaffBasicInfo.auditStatus == '0' || workStaffBasicInfo.auditStatus == '1' || workStaffBasicInfo.auditStatus == '3' || workStaffBasicInfo.auditStatus == '4' || workStaffBasicInfo.auditStatus == '5'}">
+                                            <li>
+                                                <a id="userEdit" data-toggle="modal" onclick="openDialog('修改档案信息', '${ctx}/workstaff/workStaffBasicInfo/applyEdit','95%','95%')" data-target="#register">申请修改</a>
+                                            </li>
+                                            <li>
+                                                <a id="userEditDirectly" data-toggle="modal" onclick="openDialogCertificate('修改执业资格证信息', '${ctx}/workstaff/workStaffBasicInfo/applyCertificateEdit','95%','95%')" data-target="#register">执业资格证修改</a>
+                                            </li>
+                                        </c:if>
+                                        <c:if test="${workStaffBasicInfo.auditStatus == '2'}">
+                                            <li>
+                                                <a href="${ctx}/workstaff/workStaffBasicInfo/revoke?id=${workStaffBasicInfo.id}" data-toggle="modal" data-target="#register" onclick="return confirmx('确认要撤回吗?', this.href)" > 撤回申请</a>
+                                            </li>
+                                        </c:if>
                                         <%--<li><a id="userEditDirectly" data-toggle="modal" onclick="openDialog2('修改档案信息', '${ctx}/workstaff/workStaffBasicInfo/applyEditDirectly','95%','95%')" data-target="#register">申请修改</a>
                                         </li>--%>
                                     </ul>
@@ -1052,7 +1065,7 @@
                                                 <th width="15%"><span class="require-item">*</span>工作部门</th>
                                                 <th width="15%"><span class="require-item">*</span>职务或岗位</th>
                                                 <th width="15%"><span class="require-item">*</span>起始日期</th>
-                                                <th width="15%"><span class="require-item">*</span>终止日期</th>
+                                                <th width="15%">终止日期</th>
                                                 <th width="13%">证明人</th>
                                                 <th width="12%">证明人联系方式</th>
                                             </tr>

+ 3 - 3
src/main/webapp/webpage/modules/workstaff/workStaffAchiveInfoForm.jsp

@@ -778,7 +778,7 @@
                             <th width="15%"><span class="require-item">*</span>工作部门</th>
                             <th width="14%"><span class="require-item">*</span>职务或岗位</th>
                             <th width="12%"><span class="require-item">*</span>起始日期</th>
-                            <th width="12%"><span class="require-item">*</span>终止日期</th>
+                            <th width="12%">终止日期</th>
                             <th width="11%">证明人</th>
                             <th width="11%">证明人联系方式</th>
                             <th width="10%">操作</th>
@@ -805,7 +805,7 @@
                                            value="<fmt:formatDate value="${experience.startDate}" pattern="yyyy-MM-dd"/>" readOnly="true" />
                                 </td>
                                 <td style="text-align:center;">
-                                    <input id="experienceList${varStatus.index}_endDate" name="experienceList[${varStatus.index}].endDate" type="text" maxlength="20" class="laydate-icon form-control layer-date laydate-icondate required"
+                                    <input id="experienceList${varStatus.index}_endDate" name="experienceList[${varStatus.index}].endDate" type="text" maxlength="20" class="laydate-icon form-control layer-date laydate-icondate"
                                            value="<fmt:formatDate value="${experience.endDate}" pattern="yyyy-MM-dd"/>" readOnly="true" />
                                 </td>
                                 <td style="text-align:center;">
@@ -841,7 +841,7 @@
 							            value="<fmt:formatDate value="${row.startDate}" pattern="yyyy-MM-dd"/>" readOnly="true" />
                                 </td>
                                 <td style="text-align:center;">
-                                    <input id="experienceList{{idx}}_endDate" name="experienceList[{{idx}}].endDate" type="text" maxlength="20" class="laydate-icon form-control layer-date laydate-icondate required"
+                                    <input id="experienceList{{idx}}_endDate" name="experienceList[{{idx}}].endDate" type="text" maxlength="20" class="laydate-icon form-control layer-date laydate-icondate"
 							            value="<fmt:formatDate value="${row.endDate}" pattern="yyyy-MM-dd"/>" readOnly="true" />
                                 </td>
                                 <td style="text-align:center;">

+ 3 - 3
src/main/webapp/webpage/modules/workstaff/workStaffAchiveInfoForms.jsp

@@ -778,7 +778,7 @@
                             <th width="15%"><span class="require-item">*</span>工作部门</th>
                             <th width="14%"><span class="require-item">*</span>职务或岗位</th>
                             <th width="12%"><span class="require-item">*</span>起始日期</th>
-                            <th width="12%"><span class="require-item">*</span>终止日期</th>
+                            <th width="12%">终止日期</th>
                             <th width="11%">证明人</th>
                             <th width="11%">证明人联系方式</th>
                             <th width="10%">操作</th>
@@ -805,7 +805,7 @@
                                            value="<fmt:formatDate value="${experience.startDate}" pattern="yyyy-MM-dd"/>" readOnly="true" />
                                 </td>
                                 <td style="text-align:center;">
-                                    <input id="experienceList${varStatus.index}_endDate" name="experienceList[${varStatus.index}].endDate" type="text" maxlength="20" class="laydate-icon form-control layer-date laydate-icondate required"
+                                    <input id="experienceList${varStatus.index}_endDate" name="experienceList[${varStatus.index}].endDate" type="text" maxlength="20" class="laydate-icon form-control layer-date laydate-icondate"
                                            value="<fmt:formatDate value="${experience.endDate}" pattern="yyyy-MM-dd"/>" readOnly="true" />
                                 </td>
                                 <td style="text-align:center;">
@@ -841,7 +841,7 @@
 							            value="<fmt:formatDate value="${row.startDate}" pattern="yyyy-MM-dd"/>" readOnly="true" />
                                 </td>
                                 <td style="text-align:center;">
-                                    <input id="experienceList{{idx}}_endDate" name="experienceList[{{idx}}].endDate" type="text" maxlength="20" class="laydate-icon form-control layer-date laydate-icondate required"
+                                    <input id="experienceList{{idx}}_endDate" name="experienceList[{{idx}}].endDate" type="text" maxlength="20" class="laydate-icon form-control layer-date laydate-icondate"
 							            value="<fmt:formatDate value="${row.endDate}" pattern="yyyy-MM-dd"/>" readOnly="true" />
                                 </td>
                                 <td style="text-align:center;">

+ 3 - 2
src/main/webapp/webpage/modules/workstaff/workStaffBasicDetailAudit.jsp

@@ -42,6 +42,7 @@
                     success:function(data) {
                         if(data.newValue!=null){
                             if(name=='nativePlace'){//地区
+                                console.log(131231)
                                 $("#nativePlaceId").val(data.newKey);
                                 $("#nativePlaceName").val(data.newValue);
                                 $("#nativePlaceName").css("color","red");
@@ -857,7 +858,7 @@
                                 <th width="15%"><span class="require-item">*</span>工作部门</th>
                                 <th width="14%"><span class="require-item">*</span>职务或岗位</th>
                                 <th width="12%"><span class="require-item">*</span>起始日期</th>
-                                <th width="12%"><span class="require-item">*</span>终止日期</th>
+                                <th width="12%">终止日期</th>
                                 <th width="11%">证明人</th>
                                 <th width="11%">证明人联系方式</th>
                             </tr>
@@ -883,7 +884,7 @@
                                                value="<fmt:formatDate value="${experience.startDate}" pattern="yyyy-MM-dd"/>" readOnly="true" />
                                     </td>
                                     <td style="text-align:center;">
-                                        <input id="experienceList${varStatus.index}_endDate" name="experienceList[${varStatus.index}].endDate" type="text" maxlength="20" class="laydate-icon form-control layer-date laydate-icondate required"
+                                        <input id="experienceList${varStatus.index}_endDate" name="experienceList[${varStatus.index}].endDate" type="text" maxlength="20" class="laydate-icon form-control layer-date laydate-icondate"
                                                value="<fmt:formatDate value="${experience.endDate}" pattern="yyyy-MM-dd"/>" readOnly="true" />
                                     </td>
                                     <td style="text-align:center;">

+ 21 - 5
src/main/webapp/webpage/modules/workstaff/workStaffBasicDetailForm.jsp

@@ -265,16 +265,32 @@
             var year='';
             var months='';
             var days='';
+            var sex='';
+            var sexShow='';
             if(idCard.length==15){
                 year = "19"+idCard.substring(6,8);
                 months=idCard.substring(8,10);//截取身份证上的月
                 days=idCard.substring(10,12);//截取身份证上的日
+                sex = idCard.substring(13, 14)
             }else {
                 year=idCard.substring(6,10);//截取身份证上的年
                 months=idCard.substring(10,12);//截取身份证上的月
                 days=idCard.substring(12,14);//截取身份证上的日
+                sex = idCard.substring(16, 17)
             }
 
+            if (sex % 2 === 0) {
+                sex = '2'  // 性别代码 1代表男,2代表女,暂时不涉及其他类型性别
+                sexShow = '女'
+            } else {
+                sex = '1'
+                sexShow = '男'
+            }
+
+            $("#gender").val(sex);
+            $("#genderShow").val(sexShow);
+
+
             birthday=year+"-"+months+"-"+days;//转为2000-01-01的格式
             $("#birthday").val(birthday);
             cacuAge(idCard,'0');
@@ -537,8 +553,8 @@
                         <div class="layui-item layui-col-sm12">
                             <label class="layui-form-label"><span class="require-item">*</span>性    别:</label>
                             <div class="layui-input-block">
-                                <input value="${fns:getDictLabel(workStaffBasicInfo.gender,'sex','')}" type="text" class="form-control  layui-input" />
-                                <input name="gender" value="${workStaffBasicInfo.gender}" type="hidden" readonly="true" class="form-control  layui-input" />
+                                <input id="genderShow" value="${fns:getDictLabel(workStaffBasicInfo.gender,'sex','')}" readonly="true" type="text"  class="form-control  layui-input" />
+                                <input id="gender" name="gender" value="${workStaffBasicInfo.gender}" type="hidden" readonly="true" class="form-control  layui-input" />
                             </div>
                         </div>
                         <div class="layui-item layui-col-sm12">
@@ -1203,7 +1219,7 @@
                                 <th width="15%"><span class="require-item">*</span>工作部门</th>
                                 <th width="14%"><span class="require-item">*</span>职务或岗位</th>
                                 <th width="12%"><span class="require-item">*</span>起始日期</th>
-                                <th width="12%"><span class="require-item">*</span>终止日期</th>
+                                <th width="12%">终止日期</th>
                                 <th width="11%">证明人</th>
                                 <th width="11%">证明人联系方式</th>
                                 <th width="10%">操作</th>
@@ -1230,7 +1246,7 @@
                                                value="<fmt:formatDate value="${experience.startDate}" pattern="yyyy-MM-dd"/>" readOnly="true" />
                                     </td>
                                     <td style="text-align:center;">
-                                        <input id="experienceList${varStatus.index}_endDate" name="experienceList[${varStatus.index}].endDate" type="text" maxlength="20" class="laydate-icon form-control layer-date laydate-icondate judgment"
+                                        <input id="experienceList${varStatus.index}_endDate" name="experienceList[${varStatus.index}].endDate" type="text" maxlength="20" class="laydate-icon form-control layer-date laydate-icondate"
                                                value="<fmt:formatDate value="${experience.endDate}" pattern="yyyy-MM-dd"/>" readOnly="true" />
                                     </td>
                                     <td style="text-align:center;">
@@ -1266,7 +1282,7 @@
 							            value="<fmt:formatDate value="${row.startDate}" pattern="yyyy-MM-dd"/>" readOnly="true" />
                                 </td>
                                 <td style="text-align:center;">
-                                    <input id="experienceList{{idx}}_endDate" name="experienceList[{{idx}}].endDate" type="text" maxlength="20" class="laydate-icon form-control layer-date laydate-icondate judgment"
+                                    <input id="experienceList{{idx}}_endDate" name="experienceList[{{idx}}].endDate" type="text" maxlength="20" class="laydate-icon form-control layer-date laydate-icondate"
 							            value="<fmt:formatDate value="${row.endDate}" pattern="yyyy-MM-dd"/>" readOnly="true" />
                                 </td>
                                 <td style="text-align:center;">

+ 21 - 5
src/main/webapp/webpage/modules/workstaff/workStaffBasicDetailModify.jsp

@@ -269,16 +269,32 @@
             var year='';
             var months='';
             var days='';
+            var sex='';
+            var sexShow='';
             if(idCard.length==15){
                 year = "19"+idCard.substring(6,8);
                 months=idCard.substring(8,10);//截取身份证上的月
                 days=idCard.substring(10,12);//截取身份证上的日
+                sex = idCard.substring(13, 14)
             }else {
                 year=idCard.substring(6,10);//截取身份证上的年
                 months=idCard.substring(10,12);//截取身份证上的月
                 days=idCard.substring(12,14);//截取身份证上的日
+                sex = idCard.substring(16, 17)
             }
 
+            if (sex % 2 === 0) {
+                sex = '2'  // 性别代码 1代表男,2代表女,暂时不涉及其他类型性别
+                sexShow = '女'
+            } else {
+                sex = '1'
+                sexShow = '男'
+            }
+
+            $("#gender").val(sex);
+            $("#genderShow").val(sexShow);
+
+
             birthday=year+"-"+months+"-"+days;//转为2000-01-01的格式
             $("#birthday").val(birthday);
             cacuAge(idCard,'0');
@@ -542,8 +558,8 @@
                         <div class="layui-item layui-col-sm12">
                             <label class="layui-form-label"><span class="require-item">*</span>性    别:</label>
                             <div class="layui-input-block">
-                                <input value="${fns:getDictLabel(workStaffBasicInfo.gender,'sex','')}" type="text"  class="form-control  layui-input" />
-                                <input name="gender" value="${workStaffBasicInfo.gender}" type="hidden" readonly="true" class="form-control  layui-input" />
+                                <input id="genderShow" value="${fns:getDictLabel(workStaffBasicInfo.gender,'sex','')}" readonly="true" type="text"  class="form-control  layui-input" />
+                                <input id="gender" name="gender" value="${workStaffBasicInfo.gender}" type="hidden" readonly="true" class="form-control  layui-input" />
                             </div>
                         </div>
                         <div class="layui-item layui-col-sm12">
@@ -1137,7 +1153,7 @@
                                 <th width="15%"><span class="require-item">*</span>工作部门</th>
                                 <th width="14%"><span class="require-item">*</span>职务或岗位</th>
                                 <th width="12%"><span class="require-item">*</span>起始日期</th>
-                                <th width="12%"><span class="require-item">*</span>终止日期</th>
+                                <th width="12%">终止日期</th>
                                 <th width="11%">证明人</th>
                                 <th width="11%">证明人联系方式</th>
                                 <th width="10%">操作</th>
@@ -1164,7 +1180,7 @@
                                                value="<fmt:formatDate value="${experience.startDate}" pattern="yyyy-MM-dd"/>" readOnly="true" />
                                     </td>
                                     <td style="text-align:center;">
-                                        <input id="experienceList${varStatus.index}_endDate" name="experienceList[${varStatus.index}].endDate" type="text" maxlength="20" class="laydate-icon form-control layer-date laydate-icondate judgment"
+                                        <input id="experienceList${varStatus.index}_endDate" name="experienceList[${varStatus.index}].endDate" type="text" maxlength="20" class="laydate-icon form-control layer-date laydate-icondate"
                                                value="<fmt:formatDate value="${experience.endDate}" pattern="yyyy-MM-dd"/>" readOnly="true" />
                                     </td>
                                     <td style="text-align:center;">
@@ -1200,7 +1216,7 @@
 							            value="<fmt:formatDate value="${row.startDate}" pattern="yyyy-MM-dd"/>" readOnly="true" />
                                 </td>
                                 <td style="text-align:center;">
-                                    <input id="experienceList{{idx}}_endDate" name="experienceList[{{idx}}].endDate" type="text" maxlength="20" class="laydate-icon form-control layer-date laydate-icondate judgment"
+                                    <input id="experienceList{{idx}}_endDate" name="experienceList[{{idx}}].endDate" type="text" maxlength="20" class="laydate-icon form-control layer-date laydate-icondate"
 							            value="<fmt:formatDate value="${row.endDate}" pattern="yyyy-MM-dd"/>" readOnly="true" />
                                 </td>
                                 <td style="text-align:center;">

+ 3 - 3
src/main/webapp/webpage/modules/workstaff/workStaffBasicDetailModifyDirectly.jsp

@@ -765,7 +765,7 @@
                             <th width="15%"><span class="require-item">*</span>工作部门</th>
                             <th width="14%"><span class="require-item">*</span>职务或岗位</th>
                             <th width="12%"><span class="require-item">*</span>起始日期</th>
-                            <th width="12%"><span class="require-item">*</span>终止日期</th>
+                            <th width="12%">终止日期</th>
                             <th width="11%">证明人</th>
                             <th width="11%">证明人联系方式</th>
                             <th width="10%">操作</th>
@@ -792,7 +792,7 @@
                                            value="<fmt:formatDate value="${experience.startDate}" pattern="yyyy-MM-dd"/>" readOnly="true" />
                                 </td>
                                 <td style="text-align:center;">
-                                    <input id="experienceList${varStatus.index}_endDate" name="experienceList[${varStatus.index}].endDate" type="text" maxlength="20" class="laydate-icon form-control layer-date laydate-icondate required"
+                                    <input id="experienceList${varStatus.index}_endDate" name="experienceList[${varStatus.index}].endDate" type="text" maxlength="20" class="laydate-icon form-control layer-date laydate-icondate"
                                            value="<fmt:formatDate value="${experience.endDate}" pattern="yyyy-MM-dd"/>" readOnly="true" />
                                 </td>
                                 <td style="text-align:center;">
@@ -828,7 +828,7 @@
 							            value="<fmt:formatDate value="${row.startDate}" pattern="yyyy-MM-dd"/>" readOnly="true" />
                                 </td>
                                 <td style="text-align:center;">
-                                    <input id="experienceList{{idx}}_endDate" name="experienceList[{{idx}}].endDate" type="text" maxlength="20" class="laydate-icon form-control layer-date laydate-icondate required"
+                                    <input id="experienceList{{idx}}_endDate" name="experienceList[{{idx}}].endDate" type="text" maxlength="20" class="laydate-icon form-control layer-date laydate-icondate"
 							            value="<fmt:formatDate value="${row.endDate}" pattern="yyyy-MM-dd"/>" readOnly="true" />
                                 </td>
                                 <td style="text-align:center;">

+ 19 - 95
src/main/webapp/webpage/modules/workstaff/workStaffBasicDirectlyAudit.jsp

@@ -406,120 +406,44 @@
                 <form:hidden path="home"/>
                 <div class="form-group layui-row first">
                     <div class="form-group-label"><h2>基本信息</h2></div>
-                    <div class="layui-item layui-col-sm6 lw7" style="padding-right: 0;">
-                        <div class="layui-item layui-col-sm12">
-                            <label class="layui-form-label"><span class="require-item">*</span>工    号:</label>
-                            <div class="layui-input-block">
-                                <form:input path="no" htmlEscape="false" readonly="true" class="form-control  layui-input"/>
-                            </div>
-                        </div>
-                        <div class="layui-item layui-col-sm12">
-                            <label class="layui-form-label"><span class="require-item">*</span>性    别:</label>
-                            <div class="layui-input-block">
-                                <input value="${fns:getDictLabel(workStaffBasicInfo.gender,'sex','')}" type="text" readonly="true" class="form-control basicInfo layui-input" />
-                                <input name="gender" value="${workStaffBasicInfo.gender}" type="hidden" readonly="true" class="form-control  layui-input" />
-                            </div>
-                        </div>
-                        <div class="layui-item layui-col-sm12">
-                            <label class="layui-form-label"><span class="require-item">*</span>身份证号码:</label>
-                            <div class="layui-input-block">
-                                <form:input path="idCard" htmlEscape="false" onchange="caculateAge(this.value);" readonly="true" class="form-control idCard basicInfo layui-input required"/>
-                            </div>
+                    <div class="layui-item layui-col-sm6 lw7">
+                        <label class="layui-form-label"><span class="require-item">*</span>工    号:</label>
+                        <div class="layui-input-block">
+                            <form:input path="no" htmlEscape="false" style="background-color: #f1f1f1" readonly="true" class="form-control  layui-input"/>
                         </div>
                     </div>
                     <div class="layui-item layui-col-sm6 lw7">
-                        <div style="margin-right: 120px;">
-                            <div class="layui-item layui-col-sm12">
-                                <label class="layui-form-label"><span class="require-item">*</span>姓    名:</label>
-                                <div class="layui-input-block">
-                                    <form:input path="name" htmlEscape="false" readonly="true" class="form-control layui-input basicInfo required"/>
-                                </div>
-                            </div>
-                            <div class="layui-item layui-col-sm12">
-                                <label class="layui-form-label"><span class="require-item">*</span>民    族:</label>
-                                <div class="layui-input-block">
-                                    <input value="${fns:getDictLabel(workStaffBasicInfo.nation,'nation_type','')}" type="text" readonly="true" class="form-control  layui-input" />
-                                    <input name="nation" value="${workStaffBasicInfo.nation}" type="hidden" readonly="true" class="form-control  layui-input" />
-                                </div>
-                            </div>
-                            <div class="layui-item layui-col-sm12">
-                                <label class="layui-form-label"><span class="require-item">*</span>年    龄:</label>
-                                <div class="layui-input-block">
-                                    <form:input path="age" htmlEscape="false" readonly="true" class="form-control basicInfo layui-input required"/>
-                                </div>
-                            </div>
-                        </div>
-                        <div class="profile_box_wrapper">
-                            <div class="profile_box">
-                                <div id="this_upload_image_div_1">
-                                    <div id="this_upload_div_1" style="position:relative;">
-                                        <c:choose>
-                                            <c:when test="${not empty workStaffBasicInfo.pictureStr}">
-                                                <span id="this_upload_close_1" class="pic_close glyphicon glyphicon-remove" onclick="this_close_img(1)"></span>
-                                                <img alt="_blank" id="this_upload_image_1" class="upload_ico" style="cursor:pointer;"  src="${workStaffBasicInfo.pictureStr}"/>
-                                            </c:when>
-                                            <c:otherwise>
-                                                <img alt="_blank" id="this_upload_image_1" name="pictureFile" class="upload_ico" style="cursor:pointer;"  src="${pageContext.request.contextPath}/static/common/img/pic_add.png"/>
-                                            </c:otherwise>
-                                        </c:choose>
-                                        <input id="picture" type="text" name="picture" style="display: none" class="basicInfo">
-                                        <input id="this_upload_file_1" type="file" style="display:none"  name="pictureFile"  onchange="this_upload_show_image(1)"  class="form-control"/>
-                                    </div>
-                                </div>
-                            </div>
+                        <label class="layui-form-label">姓    名:</label>
+                        <div class="layui-input-block">
+                            <form:input path="name" htmlEscape="false" style="background-color: #f1f1f1" readonly="true" class="form-control layui-input"/>
                         </div>
                     </div>
                     <div class="layui-item layui-col-sm6 lw7">
-                        <label class="layui-form-label"><span class="require-item">*</span>出生日期:</label>
+                        <label class="layui-form-label">身份证号码:</label>
                         <div class="layui-input-block">
-                            <input name="birthday" value="<fmt:formatDate value="${workStaffBasicInfo.birthday}" pattern="yyyy-MM-dd"/>" type="text" readonly="true" class="form-control basicInfo layui-input" />
+                            <form:input path="idCard" htmlEscape="false" style="background-color: #f1f1f1" onchange="caculateAge(this.value);" readonly="true" class="form-control idCard layui-input"/>
                         </div>
                     </div>
-                    <%--<div class="layui-item layui-col-sm6 lw7">
-                        <label class="layui-form-label"><span class="require-item">*</span>公历/农历:</label>
+                    <div class="layui-item layui-col-sm6 lw7">
+                        <label class="layui-form-label">性    别:</label>
                         <div class="layui-input-block">
-                            <input value="${fns:getDictLabel(workStaffBasicInfo.calendar,'calendar_type','')}" type="text" readonly="true" class="form-control  layui-input" />
-                            <input value="${workStaffBasicInfo.calendar}" type="hidden" readonly="true" class="form-control  layui-input" />
+                            <input value="${fns:getDictLabel(workStaffBasicInfo.gender,'sex','')}" style="background-color: #f1f1f1" type="text" readonly="true"  class="form-control  layui-input" />
+                            <input name="gender" value="${workStaffBasicInfo.gender}" type="hidden" style="background-color: #f1f1f1" readonly="true" class="form-control  layui-input" />
                         </div>
-                    </div>--%>
+                    </div>
                     <div class="layui-item layui-col-sm6 lw7">
-                        <label class="layui-form-label">电子邮箱:</label>
+                        <label class="layui-form-label">年    龄:</label>
                         <div class="layui-input-block">
-                            <form:input path="email" htmlEscape="false" readonly="true" class="form-control basicInfo layui-input email"/>
+                            <form:input path="age" htmlEscape="false" readonly="true" style="background-color: #f1f1f1" class="form-control  layui-input"/>
                         </div>
                     </div>
                     <div class="layui-item layui-col-sm6 lw7">
-                        <label class="layui-form-label"><span class="require-item">*</span>移动电话:</label>
+                        <label class="layui-form-label">出生日期:</label>
                         <div class="layui-input-block">
-                            <form:input path="mobile" htmlEscape="false" readonly="true" class="form-control layui-input basicInfo isPhone"/>
+                            <input id="birthday" name="birthday" readonly="true" style="background-color: #f1f1f1" value="<fmt:formatDate value="${workStaffBasicInfo.birthday}"  pattern="yyyy-MM-dd"/>" disabled type="text" class="form-control  layui-input" />
                         </div>
                     </div>
-                        <div class="layui-item layui-col-sm6 lw7">
-                            <label class="layui-form-label">座机:</label>
-                            <div class="layui-input-block">
-                                <form:input path="phone" id="phone" placeholder=""  readonly="true"  htmlEscape="false"   class="form-control isTel basicInfo  layui-input"  maxlength="50"/>
-                            </div>
-                        </div>
-                        <div class="layui-item layui-col-sm6 lw7">
-                            <label class="layui-form-label"><span class="require-item">*</span>员工状态:</label>
-                            <div class="layui-input-block">
-                                <input name="status" value="${workStaffBasicInfo.status}" type="text" readonly="true" class="form-control  layui-input" />
-                            </div>
-                        </div>
-                        <div class="layui-item layui-col-sm6 lw7">
-                            <label class="layui-form-label"><span class="require-item">*</span>归属部门:</label>
-                            <div class="layui-input-block">
-                                <input name="office.name" value="${workStaffBasicInfo.office.name}" type="text" readonly="true" class="form-control  layui-input" />
-                                <input name="office.id" value="${workStaffBasicInfo.office.id}" type="hidden" readonly="true" class="form-control  layui-input" />
-                            </div>
-                        </div>
-                        <%--<div class="layui-item layui-col-sm6 lw7">
-                            <input name="roleId" value="${workStaffBasicInfo.roleId}" style="display: none"/>
-                            <label class="layui-form-label"><span class="require-item">*</span>岗    位:</label>
-                            <div class="layui-input-block">
-                                <input name="roleName" value="${workStaffBasicInfo.roleName}" type="text" readonly="true" class="form-control  layui-input" />
-                            </div>
-                        </div>--%>
+
                 </div>
 
 

+ 14 - 90
src/main/webapp/webpage/modules/workstaff/workStaffBasicDirectlyModify.jsp

@@ -374,120 +374,44 @@
                 <form:hidden path="home"/>
                 <div class="form-group layui-row first">
                     <div class="form-group-label"><h2>基本信息</h2></div>
-                    <div class="layui-item layui-col-sm6 lw7" style="padding-right: 0;">
-                        <div class="layui-item layui-col-sm12">
-                            <label class="layui-form-label"><span class="require-item">*</span>工    号:</label>
-                            <div class="layui-input-block">
-                                <form:input path="no" htmlEscape="false" readonly="true" class="form-control  layui-input"/>
-                            </div>
-                        </div>
-                        <div class="layui-item layui-col-sm12">
-                            <label class="layui-form-label"><span class="require-item">*</span>性    别:</label>
-                            <div class="layui-input-block">
-                                <input value="${fns:getDictLabel(workStaffBasicInfo.gender,'sex','')}" type="text" readonly="true" class="form-control basicInfo layui-input" />
-                                <input name="gender" value="${workStaffBasicInfo.gender}" type="hidden" readonly="true" class="form-control  layui-input" />
-                            </div>
-                        </div>
-                        <div class="layui-item layui-col-sm12">
-                            <label class="layui-form-label"><span class="require-item">*</span>身份证号码:</label>
-                            <div class="layui-input-block">
-                                <form:input path="idCard" htmlEscape="false" onchange="caculateAge(this.value);" readonly="true" class="form-control idCard basicInfo layui-input required"/>
-                            </div>
-                        </div>
-                    </div>
                     <div class="layui-item layui-col-sm6 lw7">
-                        <div style="margin-right: 120px;">
-                            <div class="layui-item layui-col-sm12">
-                                <label class="layui-form-label"><span class="require-item">*</span>姓    名:</label>
-                                <div class="layui-input-block">
-                                    <form:input path="name" htmlEscape="false" readonly="true" class="form-control layui-input basicInfo required"/>
-                                </div>
-                            </div>
-                            <div class="layui-item layui-col-sm12">
-                                <label class="layui-form-label"><span class="require-item">*</span>民    族:</label>
-                                <div class="layui-input-block">
-                                    <input value="${fns:getDictLabel(workStaffBasicInfo.nation,'nation_type','')}" type="text" readonly="true" class="form-control  layui-input" />
-                                    <input name="nation" value="${workStaffBasicInfo.nation}" type="hidden" readonly="true" class="form-control  layui-input" />
-                                </div>
-                            </div>
-                            <div class="layui-item layui-col-sm12">
-                                <label class="layui-form-label"><span class="require-item">*</span>年    龄:</label>
-                                <div class="layui-input-block">
-                                    <form:input path="age" htmlEscape="false" readonly="true" class="form-control basicInfo layui-input required"/>
-                                </div>
-                            </div>
-                        </div>
-                        <div class="profile_box_wrapper">
-                            <div class="profile_box">
-                                <div id="this_upload_image_div_1">
-                                    <div id="this_upload_div_1" style="position:relative;">
-                                        <c:choose>
-                                            <c:when test="${not empty workStaffBasicInfo.pictureStr}">
-                                                <span id="this_upload_close_1" class="pic_close glyphicon glyphicon-remove" onclick="this_close_img(1)"></span>
-                                                <img alt="_blank" id="this_upload_image_1" class="upload_ico" style="cursor:pointer;"  src="${workStaffBasicInfo.pictureStr}"/>
-                                            </c:when>
-                                            <c:otherwise>
-                                                <img alt="_blank" id="this_upload_image_1" name="pictureFile" class="upload_ico" style="cursor:pointer;"  src="${pageContext.request.contextPath}/static/common/img/pic_add.png"/>
-                                            </c:otherwise>
-                                        </c:choose>
-                                        <input id="picture" type="text" name="picture" style="display: none" class="basicInfo">
-                                        <input id="this_upload_file_1" type="file" style="display:none"  name="pictureFile"  onchange="this_upload_show_image(1)"  class="form-control"/>
-                                    </div>
-                                </div>
-                            </div>
-                        </div>
-                    </div>
-                    <div class="layui-item layui-col-sm6 lw7">
-                        <label class="layui-form-label"><span class="require-item">*</span>出生日期:</label>
+                        <label class="layui-form-label"><span class="require-item">*</span>工    号:</label>
                         <div class="layui-input-block">
-                            <input name="birthday" value="<fmt:formatDate value="${workStaffBasicInfo.birthday}" pattern="yyyy-MM-dd"/>" type="text" readonly="true" class="form-control basicInfo layui-input" />
+                            <form:input path="no" htmlEscape="false" readonly="true" class="form-control  layui-input"/>
                         </div>
                     </div>
-                        <%--<div class="layui-item layui-col-sm6 lw7">
-                            <label class="layui-form-label"><span class="require-item">*</span>公历/农历:</label>
-                            <div class="layui-input-block">
-                                <input value="${fns:getDictLabel(workStaffBasicInfo.calendar,'calendar_type','')}" type="text" readonly="true" class="form-control  layui-input" />
-                                <input value="${workStaffBasicInfo.calendar}" type="hidden" readonly="true" class="form-control  layui-input" />
-                            </div>
-                        </div>--%>
                     <div class="layui-item layui-col-sm6 lw7">
-                        <label class="layui-form-label">电子邮箱:</label>
+                        <label class="layui-form-label">姓    名:</label>
                         <div class="layui-input-block">
-                            <form:input path="email" htmlEscape="false" readonly="true" class="form-control basicInfo layui-input email"/>
+                            <form:input path="name" htmlEscape="false" readonly="true" class="form-control layui-input"/>
                         </div>
                     </div>
                     <div class="layui-item layui-col-sm6 lw7">
-                        <label class="layui-form-label"><span class="require-item">*</span>移动电话:</label>
+                        <label class="layui-form-label">身份证号码:</label>
                         <div class="layui-input-block">
-                            <form:input path="mobile" htmlEscape="false" readonly="true" class="form-control layui-input basicInfo isPhone"/>
+                            <form:input path="idCard" htmlEscape="false" onchange="caculateAge(this.value);" readonly="true" class="form-control idCard layui-input"/>
                         </div>
                     </div>
                     <div class="layui-item layui-col-sm6 lw7">
-                        <label class="layui-form-label">座机:</label>
+                        <label class="layui-form-label">性    别:</label>
                         <div class="layui-input-block">
-                            <form:input path="phone" id="phone" placeholder=""  readonly="true"  htmlEscape="false"   class="form-control isTel basicInfo  layui-input"  maxlength="50"/>
+                            <input value="${fns:getDictLabel(workStaffBasicInfo.gender,'sex','')}" type="text" readonly="true"  class="form-control  layui-input" />
+                            <input name="gender" value="${workStaffBasicInfo.gender}" type="hidden" readonly="true" class="form-control  layui-input" />
                         </div>
                     </div>
                     <div class="layui-item layui-col-sm6 lw7">
-                        <label class="layui-form-label"><span class="require-item">*</span>员工状态:</label>
+                        <label class="layui-form-label">年    龄:</label>
                         <div class="layui-input-block">
-                            <input name="status" value="${workStaffBasicInfo.status}" type="text" readonly="true" class="form-control  layui-input" />
+                            <form:input path="age" htmlEscape="false" readonly="true" class="form-control  layui-input"/>
                         </div>
                     </div>
                     <div class="layui-item layui-col-sm6 lw7">
-                        <label class="layui-form-label"><span class="require-item">*</span>归属部门:</label>
+                        <label class="layui-form-label">出生日期:</label>
                         <div class="layui-input-block">
-                            <input name="office.name" value="${workStaffBasicInfo.office.name}" type="text" readonly="true" class="form-control  layui-input" />
-                            <input name="office.id" value="${workStaffBasicInfo.office.id}" type="hidden" readonly="true" class="form-control  layui-input" />
+                            <input id="birthday" name="birthday" readonly="true" style="background-color: #f1f1f1" value="<fmt:formatDate value="${workStaffBasicInfo.birthday}"  pattern="yyyy-MM-dd"/>" disabled type="text" class="form-control  layui-input" />
                         </div>
                     </div>
-                    <%--<div class="layui-item layui-col-sm6 lw7">
-                        <input name="roleId" value="${workStaffBasicInfo.roleId}" style="display: none"/>
-                        <label class="layui-form-label"><span class="require-item">*</span>岗    位:</label>
-                        <div class="layui-input-block">
-                            <input name="roleName" value="${workStaffBasicInfo.roleName}" type="text" readonly="true" class="form-control  layui-input" />
-                        </div>
-                    </div>--%>
+
                 </div>
 
                 <div class="form-group layui-row">

+ 3 - 3
src/main/webapp/webpage/modules/workstaff/workStaffBasicInfoEmploymentInForm.jsp

@@ -1181,7 +1181,7 @@
                             <th width="15%"><span class="require-item">*</span>工作部门</th>
                             <th width="14%"><span class="require-item">*</span>职务或岗位</th>
                             <th width="12%"><span class="require-item">*</span>起始日期</th>
-                            <th width="12%"><span class="require-item">*</span>终止日期</th>
+                            <th width="12%">终止日期</th>
                             <th width="11%">证明人</th>
                             <th width="11%">证明人联系方式</th>
                             <th width="10%">操作</th>
@@ -1208,7 +1208,7 @@
                                            value="<fmt:formatDate value="${experience.startDate}" pattern="yyyy-MM-dd"/>" readOnly="true" />
                                 </td>
                                 <td style="text-align:center;">
-                                    <input id="experienceList${varStatus.index}_endDate" name="experienceList[${varStatus.index}].endDate" type="text" maxlength="20" class="laydate-icon form-control layer-date laydate-icondate required"
+                                    <input id="experienceList${varStatus.index}_endDate" name="experienceList[${varStatus.index}].endDate" type="text" maxlength="20" class="laydate-icon form-control layer-date laydate-icondate"
                                            value="<fmt:formatDate value="${experience.endDate}" pattern="yyyy-MM-dd"/>" readOnly="true" />
                                 </td>
                                 <td style="text-align:center;">
@@ -1244,7 +1244,7 @@
 							           style="background-color:#fff " placeholder="起始日期" value="<fmt:formatDate value="${row.startDate}" pattern="yyyy-MM-dd"/>" readOnly="true" />
                                 </td>
                                 <td style="text-align:center;">
-                                    <input id="experienceList{{idx}}_endDate" name="experienceList[{{idx}}].endDate" type="text" maxlength="20" class="laydate-icon form-control layer-date laydate-icondate required"
+                                    <input id="experienceList{{idx}}_endDate" name="experienceList[{{idx}}].endDate" type="text" maxlength="20" class="laydate-icon form-control layer-date laydate-icondate"
 							           style="background-color:#fff " placeholder="终止日期" value="<fmt:formatDate value="${row.endDate}" pattern="yyyy-MM-dd"/>" readOnly="true" />
                                 </td>
                                 <td style="text-align:center;">

+ 89 - 76
src/main/webapp/webpage/modules/workstaff/workStaffBasicInfoForm.jsp

@@ -479,15 +479,28 @@
             var year='';
             var months='';
             var days='';
+            var sex='';
             if(idCard.length==15){
                 year = "19"+idCard.substring(6,8);
                 months=idCard.substring(8,10);//截取身份证上的月
                 days=idCard.substring(10,12);//截取身份证上的日
+                sex = idCard.substring(13, 14)
             }else {
                 year=idCard.substring(6,10);//截取身份证上的年
                 months=idCard.substring(10,12);//截取身份证上的月
                 days=idCard.substring(12,14);//截取身份证上的日
+                sex = idCard.substring(16, 17)
             }
+
+            if (sex % 2 === 0) {
+                sex = '2'  // 性别代码 1代表男,2代表女,暂时不涉及其他类型性别
+            } else {
+                sex = '1'
+            }
+
+            $("#gender").val(sex);
+
+
             birthday=year+"-"+months+"-"+days;//转为2000-01-01的格式
             $("#birthday").val(birthday);
             cacuAge(idCard,'0');
@@ -753,9 +766,9 @@
                         </div>
                     </div>
                     <div class="layui-item layui-col-sm12">
-                        <label class="layui-form-label"><span class="require-item">*</span>性    别:</label>
+                        <label class="layui-form-label">性    别:</label>
                         <div class="layui-input-block">
-                            <form:select path="gender" class="form-control simple-select required">
+                            <form:select path="gender" class="form-control simple-select">
                                 <form:option value="" label="请选择"/>
                                 <form:options items="${fns:getDictList('sex')}" itemLabel="label" itemValue="value" htmlEscape="false"/>
                             </form:select>
@@ -777,9 +790,9 @@
                             </div>
                         </div>
                         <div class="layui-item layui-col-sm12">
-                            <label class="layui-form-label"><span class="require-item">*</span>民    族:</label>
+                            <label class="layui-form-label">民    族:</label>
                             <div class="layui-input-block layui-form readOnlyFFF">
-                                <form:select path="nation" class="form-control simple-select required">
+                                <form:select path="nation" class="form-control simple-select">
                                     <form:options items="${fns:getDictList('nation_type')}" itemLabel="label" itemValue="value" htmlEscape="false"/>
                                 </form:select>
                             </div>
@@ -834,9 +847,9 @@
                     </div>
                 </div>
                 <div class="layui-item layui-col-sm6 lw7">
-                    <label class="layui-form-label"><span class="require-item">*</span>移动电话:</label>
+                    <label class="layui-form-label">移动电话:</label>
                     <div class="layui-input-block">
-                        <form:input path="mobile" id="mobile" placeholder="请输入移动电话" htmlEscape="false" class="form-control required layui-input isPhone"/>
+                        <form:input path="mobile" id="mobile" placeholder="请输入移动电话" htmlEscape="false" class="form-control layui-input isPhone"/>
                         <span id="ph" style="color: #CC5965"></span>
                     </div>
                 </div>
@@ -951,15 +964,15 @@
                 <div class="layui-item layui-col-sm6 lw7">
                     <label class="layui-form-label double-line"><span id="tryEndTimeSpan" class="require-item"></span>试用期结束日期:</label>
                     <div class="layui-input-block">
-                        <input id="tryEndTime" name="tryEndTime"   type="text" maxlength="20" readonly class="laydate-icondate form-control layui-input layer-date laydate-icon"
-                             placeholder="请选择试用期结束时间" value="<fmt:formatDate value="${workStaffBasicInfo.tryEndTime}" pattern="yyyy-MM-dd"/>"/>
+                        <input id="tryEndTimeDate" name="tryEndTime"   type="text" maxlength="20" readonly class="laydate-icondate form-control layui-input layer-date laydate-icon"
+                               style="background-color: #fff" placeholder="请选择试用期结束时间" value="<fmt:formatDate value="${workStaffBasicInfo.tryEndTime}" pattern="yyyy-MM-dd"/>"/>
                     </div>
                 </div>
 
                 <div class="layui-item layui-col-sm6 lw7">
                     <label class="layui-form-label"><span class="require-item">*</span>职    位:</label>
                     <div class="layui-input-block layui-form readOnlyFFF">
-                        <form:select path="duty" class="form-control required simple-select">
+                        <form:select path="duty" class="form-control simple-select">
                             <form:option value="" label=""/>
                             <form:options items="${fns:getMainDictList('staff_duty')}" itemLabel="label" itemValue="label" htmlEscape="false"/>
                         </form:select>
@@ -967,10 +980,10 @@
                 </div>
 
                 <div class="layui-item layui-col-sm6 lw7">
-                    <label class="layui-form-label"><span class="require-item">*</span>归属部门:</label>
+                    <label class="layui-form-label">归属部门:</label>
                     <div class="layui-input-block with-icon">
                         <sys:treeselect id="office" name="office.id" value="${workStaffBasicInfo.office.id}" labelName="office.name" labelValue="${workStaffBasicInfo.office.name}"
-                                       cssStyle="background-color:#fff" title="部门" url="/sys/office/treeData?type=2" cssClass="form-control layui-input required"/>
+                                       cssStyle="background-color:#fff" title="部门" url="/sys/office/treeData?type=2" cssClass="form-control layui-input"/>
                     </div>
                 </div>
                 <%--<div class="layui-item layui-col-sm6 lw7">
@@ -982,14 +995,14 @@
                 </div>--%>
 
                 <div class="layui-item layui-col-sm6 lw7">
-                    <label class="layui-form-label"><span class="require-item">*</span>岗   位:</label>
+                    <label class="layui-form-label">岗   位:</label>
                     <div class="layui-input-block">
                         <div id="roleId" class="xm-select-demo" tabindex="0" contenteditable="true"></div>
                     </div>
                 </div>
 
                 <div class="layui-item layui-col-sm6 lw7">
-                    <label class="layui-form-label double-line"><span class="require-item">*</span>身份证人像面:</label>
+                    <label class="layui-form-label double-line">身份证人像面:</label>
                     <div class="layui-input-block">
                         <a class="op-btn op-btn-add" title="上传" onclick="this_upload_file_button('idCardPortrait')"><i class="fa fa-plus"></i>&nbsp;上传</a>
                         <!-- 图片展示区域 -->
@@ -1012,7 +1025,7 @@
                 </div>
 
                 <div class="layui-item layui-col-sm6 lw7">
-                    <label class="layui-form-label double-line"><span class="require-item">*</span>身份证国徽面:</label>
+                    <label class="layui-form-label double-line">身份证国徽面:</label>
                     <div class="layui-input-block">
                         <a class="op-btn op-btn-add" title="上传" onclick="this_upload_file_button('idCardNationalEmblem')"><i class="fa fa-plus"></i>&nbsp;上传</a>
                         <!-- 图片展示区域 -->
@@ -1203,13 +1216,13 @@
                                     <input id="educationList${varStatus.index}_eduPhoto" name="educationList[${varStatus.index}].eduPhoto" type="hidden" value="${education.eduPhoto}"/>
                                 </td>
                                 <td style="text-align:center;">
-                                    <input id="educationList${varStatus.index}_school" name="educationList[${varStatus.index}].school" htmlEscape="false" value="${education.school}" class="form-control required"/>
+                                    <input id="educationList${varStatus.index}_school" name="educationList[${varStatus.index}].school" htmlEscape="false" value="${education.school}" class="form-control"/>
                                 </td>
                                 <td style="text-align:center;">
                                     <input id="educationList${varStatus.index}_major" name="educationList[${varStatus.index}].major" htmlEscape="false" value="${education.major}" class="form-control"/>
                                 </td>
                                 <td style="text-align:center;">
-                                    <select name="educationList[${varStatus.index}].edu" id="educationList${varStatus.index}_edu" class="form-control required">
+                                    <select name="educationList[${varStatus.index}].edu" id="educationList${varStatus.index}_edu" class="form-control">
                                         <c:forEach items="${fns:getDictList('education_level')}" var="var">
                                             <option value="${var.value}" <c:if test="${education.edu eq var.value}">selected</c:if>>${var.label}</option>
                                         </c:forEach>
@@ -1223,7 +1236,7 @@
                                     </select>
                                 </td>
                                 <td style="text-align:center;">
-                                    <select name="educationList[${varStatus.index}].eduType" id="educationList${varStatus.index}_eduType" class="form-control required">
+                                    <select name="educationList[${varStatus.index}].eduType" id="educationList${varStatus.index}_eduType" class="form-control">
                                         <c:forEach items="${fns:getDictList('edu_type')}" var="var">
                                             <option value="${var.value}" <c:if test="${education.eduType eq var.value}">selected</c:if>>${var.label}</option>
                                         </c:forEach>
@@ -1237,7 +1250,7 @@
                                     </select>
                                 </td>
                                 <td style="text-align:center;">
-                                    <input id="educationList${varStatus.index}_startDate" name="educationList[${varStatus.index}].startDate" type="text" maxlength="20" class="laydate-icon form-control layer-date laydate-icondate required"
+                                    <input id="educationList${varStatus.index}_startDate" name="educationList[${varStatus.index}].startDate" type="text" maxlength="20" class="laydate-icon form-control layer-date laydate-icondate"
                                            value="<fmt:formatDate value="${education.startDate}" pattern="yyyy-MM-dd"/>" readOnly="true" />
                                 </td>
                                 <td style="text-align:center;">
@@ -1271,13 +1284,13 @@
                         <input id="educationList{{idx}}_eduPhoto" name="educationList[{{idx}}].eduPhoto" type="hidden" value="{{row.eduPhoto}}"/>
                     </td>
                     <td style="text-align:center;">
-                        <input placeholder="请输入毕业院校" id="educationList{{idx}}_school" name="educationList[{{idx}}].school" htmlEscape="false" value="{{row.school}}" class="form-control required"/>
+                        <input placeholder="请输入毕业院校" id="educationList{{idx}}_school" name="educationList[{{idx}}].school" htmlEscape="false" value="{{row.school}}" class="form-control"/>
                     </td>
                     <td style="text-align:center;">
                         <input placeholder="请输入所学专业" id="educationList{{idx}}_major" name="educationList[{{idx}}].major" htmlEscape="false" value="{{row.major}}" class="form-control"/>
                     </td>
                     <td style="text-align:center;">
-                        <select name="educationList[{{idx}}].edu" id="educationList{{idx}}_edu" class="form-control required">
+                        <select name="educationList[{{idx}}].edu" id="educationList{{idx}}_edu" class="form-control">
                             <c:forEach items="${fns:getDictList('education_level')}" var="var">
                                 <option value="${var.value}" <c:if test="${row.edu eq var.value}">selected</c:if>>${var.label}</option>
                             </c:forEach>
@@ -1380,14 +1393,14 @@
                                     <input id="languageList${varStatus.index}_filePath" name="languageList[${varStatus.index}].filePath" type="hidden" value="${language.filePath}"/>
                                 </td>
                                 <td style="text-align:center;">
-                                    <select name="languageList[${varStatus.index}].language" id="languageList${varStatus.index}_language" class="form-control required">
+                                    <select name="languageList[${varStatus.index}].language" id="languageList${varStatus.index}_language" class="form-control">
                                         <c:forEach items="${fns:getMainDictList('language')}" var="var">
                                             <option value="${var.value}" <c:if test="${language.language eq var.value}">selected</c:if>>${var.label}</option>
                                         </c:forEach>
                                     </select>
                                 </td>
                                 <td style="text-align:center;">
-                                    <select name="languageList[${varStatus.index}].proficiency" id="languageList${varStatus.index}_proficiency" class="form-control required">
+                                    <select name="languageList[${varStatus.index}].proficiency" id="languageList${varStatus.index}_proficiency" class="form-control">
                                         <c:forEach items="${fns:getDictList('proficiency')}" var="var">
                                             <option value="${var.value}" <c:if test="${language.proficiency eq var.value}">selected</c:if>>${var.label}</option>
                                         </c:forEach>
@@ -1418,14 +1431,14 @@
                         <input id="languageList{{idx}}_delFlag" name="languageList[{{idx}}].delFlag" type="hidden" value="0"/>
                     </td>
                     <td style="text-align:center;">
-                        <select name="languageList[{{idx}}].language" id="languageList{{idx}}_language" class="form-control required">
+                        <select name="languageList[{{idx}}].language" id="languageList{{idx}}_language" class="form-control ">
                             <c:forEach items="${fns:getMainDictList('language')}" var="var">
                                 <option value="${var.value}">${var.label}</option>
                             </c:forEach>
                         </select>
                     </td>
                     <td style="text-align:center;">
-                        <select name="languageList[{{idx}}].proficiency" id="languageList{{idx}}_proficiency" class="form-control required">
+                        <select name="languageList[{{idx}}].proficiency" id="languageList{{idx}}_proficiency" class="form-control ">
                             <c:forEach items="${fns:getDictList('proficiency')}" var="var">
                                 <option value="${var.value}">${var.label}</option>
                             </c:forEach>
@@ -1480,7 +1493,7 @@
                             <th width="15%"><span class="require-item">*</span>工作部门</th>
                             <th width="14%"><span class="require-item">*</span>职务或岗位</th>
                             <th width="12%"><span class="require-item">*</span>起始日期</th>
-                            <th width="12%"><span class="require-item">*</span>终止日期</th>
+                            <th width="12%">终止日期</th>
                             <th width="11%">证明人</th>
                             <th width="11%">证明人联系方式</th>
                             <th width="10%">操作</th>
@@ -1494,20 +1507,20 @@
                                     <input id="experienceList${varStatus.index}_delFlag" name="experienceList[${varStatus.index}].delFlag" type="hidden" value="0"/>
                                 </td>
                                 <td style="text-align:center;">
-                                    <input id="experienceList${varStatus.index}_company" name="experienceList[${varStatus.index}].company" class="form-control required" value="${experience.company}"/>
+                                    <input id="experienceList${varStatus.index}_company" name="experienceList[${varStatus.index}].company" class="form-control " value="${experience.company}"/>
                                 </td>
                                 <td style="text-align:center;">
-                                    <input id="experienceList${varStatus.index}_dept" name="experienceList[${varStatus.index}].dept" class="form-control required" value="${experience.dept}"/>
+                                    <input id="experienceList${varStatus.index}_dept" name="experienceList[${varStatus.index}].dept" class="form-control " value="${experience.dept}"/>
                                 </td>
                                 <td style="text-align:center;">
-                                    <input id="experienceList${varStatus.index}_duty" name="experienceList[${varStatus.index}].duty" class="form-control required" value="${experience.duty}"/>
+                                    <input id="experienceList${varStatus.index}_duty" name="experienceList[${varStatus.index}].duty" class="form-control " value="${experience.duty}"/>
                                 </td>
                                 <td style="text-align:center;">
-                                    <input id="experienceList${varStatus.index}_startDate" name="experienceList[${varStatus.index}].startDate" type="text" maxlength="20" class="laydate-icon form-control layer-date laydate-icondate required"
+                                    <input id="experienceList${varStatus.index}_startDate" name="experienceList[${varStatus.index}].startDate" type="text" maxlength="20" class="laydate-icon form-control layer-date laydate-icondate "
                                            value="<fmt:formatDate value="${experience.startDate}" pattern="yyyy-MM-dd"/>" readOnly="true" />
                                 </td>
                                 <td style="text-align:center;">
-                                    <input id="experienceList${varStatus.index}_endDate" name="experienceList[${varStatus.index}].endDate" type="text" maxlength="20" class="laydate-icon form-control layer-date laydate-icondate required"
+                                    <input id="experienceList${varStatus.index}_endDate" name="experienceList[${varStatus.index}].endDate" type="text" maxlength="20" class="laydate-icon form-control layer-date laydate-icondate"
                                            value="<fmt:formatDate value="${experience.endDate}" pattern="yyyy-MM-dd"/>" readOnly="true" />
                                 </td>
                                 <td style="text-align:center;">
@@ -1530,20 +1543,20 @@
                                     <input id="experienceList{{idx}}_delFlag" name="experienceList[{{idx}}].delFlag" type="hidden" value="0"/>
                                 </td>
                                 <td style="text-align:center;">
-                                    <input placeholder="请输入所在单位" id="experienceList{{idx}}_company" name="experienceList[{{idx}}].company" class="form-control required" value="{{row.company}}"/>
+                                    <input placeholder="请输入所在单位" id="experienceList{{idx}}_company" name="experienceList[{{idx}}].company" class="form-control " value="{{row.company}}"/>
                                 </td>
                                 <td style="text-align:center;">
-                                    <input placeholder="请输入工作部门" id="experienceList{{idx}}_dept" name="experienceList[{{idx}}].dept" class="form-control required" value="{{row.dept}}"/>
+                                    <input placeholder="请输入工作部门" id="experienceList{{idx}}_dept" name="experienceList[{{idx}}].dept" class="form-control " value="{{row.dept}}"/>
                                 </td>
                                 <td style="text-align:center;">
-                                    <input placeholder="请输入职位或岗位" id="experienceList{{idx}}_duty" name="experienceList[{{idx}}].duty" class="form-control required" value="{{row.duty}}"/>
+                                    <input placeholder="请输入职位或岗位" id="experienceList{{idx}}_duty" name="experienceList[{{idx}}].duty" class="form-control " value="{{row.duty}}"/>
                                 </td>
                                 <td style="text-align:center;">
-                                    <input id="experienceList{{idx}}_startDate" name="experienceList[{{idx}}].startDate" type="text" maxlength="20" class="laydate-icon form-control layer-date laydate-icondate required"
+                                    <input id="experienceList{{idx}}_startDate" name="experienceList[{{idx}}].startDate" type="text" maxlength="20" class="laydate-icon form-control layer-date laydate-icondate "
 							           style="background-color:#fff " placeholder="起始日期" value="<fmt:formatDate value="${row.startDate}" pattern="yyyy-MM-dd"/>" readOnly="true" />
                                 </td>
                                 <td style="text-align:center;">
-                                    <input id="experienceList{{idx}}_endDate" name="experienceList[{{idx}}].endDate" type="text" maxlength="20" class="laydate-icon form-control layer-date laydate-icondate required"
+                                    <input id="experienceList{{idx}}_endDate" name="experienceList[{{idx}}].endDate" type="text" maxlength="20" class="laydate-icon form-control layer-date laydate-icondate"
 							           style="background-color:#fff " placeholder="终止日期" value="<fmt:formatDate value="${row.endDate}" pattern="yyyy-MM-dd"/>" readOnly="true" />
                                 </td>
                                 <td style="text-align:center;">
@@ -1825,24 +1838,24 @@
                                     <input id="titleList${varStatus.index}_filePath" name="titleList[${varStatus.index}].filePath" type="hidden" value="${title.filePath}"/>
                                 </td>
                                 <td>
-                                    <select name="titleList[${varStatus.index}].name" id="titleList${varStatus.index}_name" class="form-control required">
+                                    <select name="titleList[${varStatus.index}].name" id="titleList${varStatus.index}_name" class="form-control ">
                                         <c:forEach items="${fns:getMainDictList('title_type')}" var="var">
                                             <option value="${var.label}" <c:if test="${title.name eq var.label}">selected</c:if>>${var.label}</option>
                                         </c:forEach>
                                     </select>
                                 </td>
                                 <td>
-                                    <input id="titleList${varStatus.index}_grade" name="titleList[${varStatus.index}].grade" class="form-control required" value="${title.grade}"/>
+                                    <input id="titleList${varStatus.index}_grade" name="titleList[${varStatus.index}].grade" class="form-control " value="${title.grade}"/>
                                 </td>
                                 <td>
-                                    <input id="titleList${varStatus.index}_startDate" name="titleList[${varStatus.index}].startDate" type="text" maxlength="20" class="laydate-icon form-control layer-date laydate-icondate required"
+                                    <input id="titleList${varStatus.index}_startDate" name="titleList[${varStatus.index}].startDate" type="text" maxlength="20" class="laydate-icon form-control layer-date laydate-icondate "
                                            value="<fmt:formatDate value="${title.startDate}" pattern="yyyy-MM-dd"/>" readOnly="true" />
                                 </td>
                                 <td>
-                                    <input id="titleList${varStatus.index}_pathway" name="titleList[${varStatus.index}].pathway" class="form-control required" value="${title.pathway}"/>
+                                    <input id="titleList${varStatus.index}_pathway" name="titleList[${varStatus.index}].pathway" class="form-control " value="${title.pathway}"/>
                                 </td>
                                 <td>
-                                    <input id="titleList${varStatus.index}_approvalAuthority" name="titleList[${varStatus.index}].approvalAuthority" class="form-control required" value="${title.approvalAuthority}"/>
+                                    <input id="titleList${varStatus.index}_approvalAuthority" name="titleList[${varStatus.index}].approvalAuthority" class="form-control " value="${title.approvalAuthority}"/>
                                 </td>
                                 <td class="text-left op-td">
                                     <!-- 修改按钮 -->
@@ -1917,7 +1930,7 @@
                                         <input id="titleList{{idx}}_filePath" name="titleList[{{idx}}].filePath" type="hidden" value="{{row.filePath}}"/>
                                     </td>
                                     <td>
-                                        <select name="titleList[{{idx}}].name" id="titleList{{idx}}_name" class="form-control required">
+                                        <select name="titleList[{{idx}}].name" id="titleList{{idx}}_name" class="form-control ">
                                             <option value=""></option>
                                             <c:forEach items="${fns:getMainDictList('title_type')}" var="var">
                                                 <option value="${var.label}">${var.label}</option>
@@ -1925,17 +1938,17 @@
                                         </select>
                                     </td>
                                     <td>
-                                        <input placeholder="请输入职称等级" id="titleList{{idx}}_grade" name="titleList[{{idx}}].grade" class="form-control required" value="{{row.grade}}"/>
+                                        <input placeholder="请输入职称等级" id="titleList{{idx}}_grade" name="titleList[{{idx}}].grade" class="form-control " value="{{row.grade}}"/>
                                     </td>
                                     <td>
-                                        <input id="titleList{{idx}}_startDate" name="titleList[{{idx}}].startDate" type="text" maxlength="20" class="laydate-icon form-control layer-date laydate-icondate required"
+                                        <input id="titleList{{idx}}_startDate" name="titleList[{{idx}}].startDate" type="text" maxlength="20" class="laydate-icon form-control layer-date laydate-icondate "
                                                style="background-color:#fff " placeholder="获取日期" value="<fmt:formatDate value="${row.startDate}" pattern="yyyy-MM-dd"/>" readOnly="true" />
                                     </td>
                                     <td>
-                                        <input  placeholder="请输入途径" id="titleList{{idx}}_pathway" name="titleList[{{idx}}].pathway" class="form-control required" value="{{row.pathway}}"/>
+                                        <input  placeholder="请输入途径" id="titleList{{idx}}_pathway" name="titleList[{{idx}}].pathway" class="form-control " value="{{row.pathway}}"/>
                                     </td>
                                     <td>
-                                        <input  placeholder="请输入审批单位" id="titleList{{idx}}_approvalAuthority" name="titleList[{{idx}}].approvalAuthority" class="form-control required" value="{{row.approvalAuthority}}"/>
+                                        <input  placeholder="请输入审批单位" id="titleList{{idx}}_approvalAuthority" name="titleList[{{idx}}].approvalAuthority" class="form-control " value="{{row.approvalAuthority}}"/>
                                     </td>
                                     <td class="text-center op-td">
                                         <a class="op-btn op-btn-add" title="上传" onclick="this_upload_file_button('titleList{{idx}}_file')"><i class="fa fa-plus"></i>&nbsp;上传</a><span id="titleList{{idx}}_fileName1"></span>
@@ -1991,13 +2004,13 @@
                                     <input id="familyList${varStatus.index}_delFlag" name="familyList[${varStatus.index}].delFlag" type="hidden" value="0"/>
                                 </td>
                                 <td>
-                                    <input id="familyList${varStatus.index}_relation" name="familyList[${varStatus.index}].relation" class="form-control required" value="${family.relation}"/>
+                                    <input id="familyList${varStatus.index}_relation" name="familyList[${varStatus.index}].relation" class="form-control " value="${family.relation}"/>
                                 </td>
                                 <td>
-                                    <input id="familyList${varStatus.index}_name" name="familyList[${varStatus.index}].name" class="form-control required" value="${family.name}"/>
+                                    <input id="familyList${varStatus.index}_name" name="familyList[${varStatus.index}].name" class="form-control " value="${family.name}"/>
                                 </td>
                                 <td>
-                                    <input id="familyList${varStatus.index}_idCard" name="familyList[${varStatus.index}].idCard" class="form-control required idCard" value="${family.idCard}"/>
+                                    <input id="familyList${varStatus.index}_idCard" name="familyList[${varStatus.index}].idCard" class="form-control  idCard" value="${family.idCard}"/>
                                 </td>
                                 <td>
                                     <select name="familyList[${varStatus.index}].gender" class="form-control ">
@@ -2006,7 +2019,7 @@
                                     </select>
                                 </td>
                                 <td>
-                                    <input id="familyList${varStatus.index}_contact" name="familyList[${varStatus.index}].contact" class="form-control required" value="${family.contact}"/>
+                                    <input id="familyList${varStatus.index}_contact" name="familyList[${varStatus.index}].contact" class="form-control " value="${family.contact}"/>
                                 </td>
                                 <td class="text-center op-td">
                                     <a href=javascript:void(0); onclick="delRow(this, '#familyList${varStatus.index}')"   class="op-btn op-btn-delete"><i class="fa fa-trash"></i> 取消</a>
@@ -2022,22 +2035,22 @@
                                     <input id="familyList{{idx}}_delFlag" name="familyList[{{idx}}].delFlag" type="hidden" value="0"/>
                                 </td>
                                 <td style="text-align:center;">
-                                    <input placeholder="请输入与本人的关系" id="familyList{{idx}}_relation" name="familyList[{{idx}}].relation" class="form-control required" value="{{row.relation}}"/>
+                                    <input placeholder="请输入与本人的关系" id="familyList{{idx}}_relation" name="familyList[{{idx}}].relation" class="form-control " value="{{row.relation}}"/>
                                 </td>
                                 <td style="text-align:center;">
-                                    <input placeholder="请输入成员姓名" id="familyList{{idx}}_name" name="familyList[{{idx}}].name" class="form-control required" value="{{row.name}}"/>
+                                    <input placeholder="请输入成员姓名" id="familyList{{idx}}_name" name="familyList[{{idx}}].name" class="form-control " value="{{row.name}}"/>
                                 </td>
                                 <td style="text-align:center;">
-                                    <input placeholder="请输入身份证号" id="familyList{{idx}}_idCard" name="familyList[{{idx}}].idCard" class="form-control required idCard" value="{{row.idCard}}"/>
+                                    <input placeholder="请输入身份证号" id="familyList{{idx}}_idCard" name="familyList[{{idx}}].idCard" class="form-control  idCard" value="{{row.idCard}}"/>
                                 </td>
                                 <td style="text-align:center;">
-                                    <select name="familyList[{{idx}}].gender" class="form-control required">
+                                    <select name="familyList[{{idx}}].gender" class="form-control ">
                                         <option value="男">男</option>
                                         <option value="女">女</option>
                                     </select>
                                 </td>
                                 <td style="text-align:center;">
-                                    <input placeholder="请输入联系方式" id="familyList{{idx}}_contact" name="familyList[{{idx}}].contact" class="form-control required" value="{{row.contact}}"/>
+                                    <input placeholder="请输入联系方式" id="familyList{{idx}}_contact" name="familyList[{{idx}}].contact" class="form-control " value="{{row.contact}}"/>
                                 </td>
                                 <td class="text-center op-td">
                                     <a href=javascript:void(0); onclick="delRow(this, '#familyList{{idx}}')"   class="op-btn op-btn-delete"><i class="fa fa-trash"></i> 取消</a>
@@ -2090,7 +2103,7 @@
                                     <input id="trainingList${varStatus.index}_filePath" name="trainingList[${varStatus.index}].filePath" type="hidden" value="${training.filePath}"/>
                                 </td>
                                 <td>
-                                    <input id="trainingList${varStatus.index}_name" name="trainingList[${varStatus.index}].name" class="form-control required" value="${training.name}"/>
+                                    <input id="trainingList${varStatus.index}_name" name="trainingList[${varStatus.index}].name" class="form-control " value="${training.name}"/>
                                 </td>
                                 <td>
                                     <input id="trainingList${varStatus.index}_agency" name="trainingList[${varStatus.index}].agency" class="form-control" value="${training.agency}"/>
@@ -2107,7 +2120,7 @@
                                            value="<fmt:formatDate value="${training.endDate}" pattern="yyyy-MM-dd"/>" readOnly="true" />
                                 </td>
                                 <td>
-                                    <select name="trainingList[${varStatus.index}].type" id="trainingList${varStatus.index}_type" class="form-control required">
+                                    <select name="trainingList[${varStatus.index}].type" id="trainingList${varStatus.index}_type" class="form-control ">
                                         <option value=""></option>
                                         <c:forEach items="${fns:getMainDictList('training_type')}" var="var">
                                             <option value="${var.label}" <c:if test="${var.label eq training.type}">selected</c:if> >${var.label}</option>
@@ -2118,7 +2131,7 @@
                                     <input id="trainingList${varStatus.index}_hours" name="trainingList[${varStatus.index}].hours" class="form-control" value="${training.hours}"/>
                                 </td>
                                 <td>
-                                    <input id="trainingList${varStatus.index}_certificate" name="trainingList[${varStatus.index}].certificate" class="form-control required" value="${training.certificate}"/>
+                                    <input id="trainingList${varStatus.index}_certificate" name="trainingList[${varStatus.index}].certificate" class="form-control " value="${training.certificate}"/>
                                 </td>
                                 <td class="text-left op-td">
                                     <a class="op-btn op-btn-add" title="修改" onclick="this_upload_file_button('trainingList${varStatus.index}_file')"><i class="fa fa-plus"></i>&nbsp;修改</a><span id="trainingList${varStatus.index}_fileName1"><c:if test="${not empty training.filePathStr}"><img src="${training.filePathStr}" width="24" height="24" onclick="openDialogView('预览','${ctx}/sys/picturepreview/picturePreview?url=${training.filePathStr}','90%','90%')" alt=""></c:if></span>
@@ -2143,7 +2156,7 @@
                                     <input id="trainingList{{idx}}_filePath" name="trainingList[{{idx}}].filePath" type="hidden" value="{{row.filePath}}"/>
                                 </td>
                                 <td>
-                                    <input placeholder="请输入培训名称" id="trainingList{{idx}}_name" name="trainingList[{{idx}}].name" class="form-control required" value="{{row.name}}"/>
+                                    <input placeholder="请输入培训名称" id="trainingList{{idx}}_name" name="trainingList[{{idx}}].name" class="form-control " value="{{row.name}}"/>
                                 </td>
                                 <td>
                                     <input placeholder="请输入培训机构" id="trainingList{{idx}}_agency" name="trainingList[{{idx}}].agency" class="form-control" value="{{row.agency}}"/>
@@ -2160,7 +2173,7 @@
                                           placeholder="终止日期" style="background-color:#fff" value="<fmt:formatDate value="${row.endDate}" pattern="yyyy-MM-dd"/>" readOnly="true" />
                                 </td>
                                 <td>
-                                    <select name="trainingList[{{idx}}].type" id="trainingList{{idx}}_type" class="form-control required">
+                                    <select name="trainingList[{{idx}}].type" id="trainingList{{idx}}_type" class="form-control ">
                                         <option value=""></option>
                                         <c:forEach items="${fns:getMainDictList('training_type')}" var="var">
                                             <option value="${var.label}">${var.label}</option>
@@ -2171,7 +2184,7 @@
                                     <input placeholder="学时" id="trainingList{{idx}}_hours" name="trainingList[{{idx}}].hours" class="form-control" value="{{row.hours}}"/>
                                 </td>
                                 <td>
-                                    <input placeholder="请输入所获证书" id="trainingList{{idx}}_certificate" name="trainingList[{{idx}}].certificate" class="form-control required" value="{{row.certificate}}"/>
+                                    <input placeholder="请输入所获证书" id="trainingList{{idx}}_certificate" name="trainingList[{{idx}}].certificate" class="form-control " value="{{row.certificate}}"/>
                                 </td>
                                 <td class="text-center op-td">
                                     <a class="op-btn op-btn-add" title="上传" onclick="this_upload_file_button('trainingList{{idx}}_file')"><i class="fa fa-plus"></i>&nbsp;上传</a><span id="trainingList{{idx}}_fileName1"></span>
@@ -2235,7 +2248,7 @@
                                     <input id="socialPositionList${varStatus.index}_delFlag" name="socialPositionList[${varStatus.index}].delFlag" type="hidden" value="0"/>
                                 </td>
                                 <td>
-                                    <input id="socialPositionList${varStatus.index}_name" name="socialPositionList[${varStatus.index}].name" class="form-control required" value="${socialPosition.name}"/>
+                                    <input id="socialPositionList${varStatus.index}_name" name="socialPositionList[${varStatus.index}].name" class="form-control " value="${socialPosition.name}"/>
                                 </td>
                                 <td>
                                     <input id="socialPositionList${varStatus.index}_startDate" name="socialPositionList[${varStatus.index}].startDate" type="text" maxlength="20" class="laydate-icon form-control layer-date laydate-icondate"
@@ -2262,7 +2275,7 @@
                                     <input id="socialPositionList{{idx}}_delFlag" name="socialPositionList[{{idx}}].delFlag" type="hidden" value="0"/>
                                 </td>
                                 <td style="text-align:center;">
-                                    <input placeholder="请输入职务名称" id="socialPositionList{{idx}}_name" name="socialPositionList[{{idx}}].name" class="form-control required" value="{{row.name}}"/>
+                                    <input placeholder="请输入职务名称" id="socialPositionList{{idx}}_name" name="socialPositionList[{{idx}}].name" class="form-control " value="{{row.name}}"/>
                                 </td>
                                 <td style="text-align:center;">
                                     <input id="socialPositionList{{idx}}_startDate" name="socialPositionList[{{idx}}].startDate" type="text" maxlength="20" class="laydate-icon form-control layer-date laydate-icondate"
@@ -2332,25 +2345,25 @@
                                     <input id="rewardsList${varStatus.index}_delFlag" name="rewardsList[${varStatus.index}].delFlag" type="hidden" value="0"/>
                                 </td>
                                 <td>
-                                    <select name="rewardsList[${varStatus.index}].type" class="form-control required">
+                                    <select name="rewardsList[${varStatus.index}].type" class="form-control ">
                                         <option value="奖励" <c:if test="${'奖励' eq rewards.type}">selected</c:if>>奖励</option>
                                         <option value="惩罚" <c:if test="${'惩罚' eq rewards.type}">selected</c:if>>惩罚</option>
                                     </select>
                                 </td>
                                 <td>
-                                    <input id="rewardsList${varStatus.index}_name" name="rewardsList[${varStatus.index}].name" class="form-control required" value="${rewards.name}"/>
+                                    <input id="rewardsList${varStatus.index}_name" name="rewardsList[${varStatus.index}].name" class="form-control " value="${rewards.name}"/>
                                 </td>
                                 <td>
-                                    <input id="rewardsList${varStatus.index}_atTime" name="rewardsList[${varStatus.index}].atTime" class="form-control required" value="${rewards.atTime}"/>
+                                    <input id="rewardsList${varStatus.index}_atTime" name="rewardsList[${varStatus.index}].atTime" class="form-control " value="${rewards.atTime}"/>
                                 </td>
                                 <td>
                                     <input id="rewardsList${varStatus.index}_grade" name="rewardsList[${varStatus.index}].grade" class="form-control" value="${rewards.grade}"/>
                                 </td>
                                 <td>
-                                    <input id="rewardsList${varStatus.index}_reason" name="rewardsList[${varStatus.index}].reason" class="form-control required" value="${rewards.reason}"/>
+                                    <input id="rewardsList${varStatus.index}_reason" name="rewardsList[${varStatus.index}].reason" class="form-control " value="${rewards.reason}"/>
                                 </td>
                                 <td>
-                                    <input id="rewardsList${varStatus.index}_organization" name="rewardsList[${varStatus.index}].organization" class="form-control required" value="${rewards.organization}"/>
+                                    <input id="rewardsList${varStatus.index}_organization" name="rewardsList[${varStatus.index}].organization" class="form-control " value="${rewards.organization}"/>
                                 </td>
                                 <td class="text-center op-td">
                                     <a href=javascript:void(0); onclick="delRow(this, '#rewardsList${varStatus.index}')"   class="op-btn op-btn-delete"><i class="fa fa-trash"></i> 取消</a>
@@ -2366,25 +2379,25 @@
                                     <input id="rewardsList{{idx}}_delFlag" name="rewardsList[{{idx}}].delFlag" type="hidden" value="0"/>
                                 </td>
                                 <td style="text-align:center;">
-                                    <select name="rewardsList[{{idx}}].type" class="form-control required">
+                                    <select name="rewardsList[{{idx}}].type" class="form-control ">
                                         <option value="奖励">奖励</option>
                                         <option value="惩罚">惩罚</option>
                                     </select>
                                 </td>
                                 <td style="text-align:center;">
-                                    <input placeholder="请输入名称" id="rewardsList{{idx}}_name" name="rewardsList[{{idx}}].name" class="form-control required" value="{{row.name}}"/>
+                                    <input placeholder="请输入名称" id="rewardsList{{idx}}_name" name="rewardsList[{{idx}}].name" class="form-control " value="{{row.name}}"/>
                                 </td>
                                 <td style="text-align:center;">
-                                    <input placeholder="请输入时间" id="rewardsList{{idx}}_atTime" name="rewardsList[{{idx}}].atTime" class="form-control required" value="{{row.atTime}}"/>
+                                    <input placeholder="请输入时间" id="rewardsList{{idx}}_atTime" name="rewardsList[{{idx}}].atTime" class="form-control " value="{{row.atTime}}"/>
                                 </td>
                                 <td style="text-align:center;">
                                     <input placeholder="请输入级别" id="rewardsList{{idx}}_grade" name="rewardsList[{{idx}}].grade" class="form-control" value="{{row.grade}}"/>
                                 </td>
                                 <td style="text-align:center;">
-                                    <input placeholder="请输入原因" id="rewardsList{{idx}}_reason" name="rewardsList[{{idx}}].reason" class="form-control required" value="{{row.reason}}"/>
+                                    <input placeholder="请输入原因" id="rewardsList{{idx}}_reason" name="rewardsList[{{idx}}].reason" class="form-control " value="{{row.reason}}"/>
                                 </td>
                                 <td style="text-align:center;">
-                                    <input placeholder="请输入授予机构" id="rewardsList{{idx}}_organization" name="rewardsList[{{idx}}].organization" class="form-control required" value="{{row.organization}}"/>
+                                    <input placeholder="请输入授予机构" id="rewardsList{{idx}}_organization" name="rewardsList[{{idx}}].organization" class="form-control " value="{{row.organization}}"/>
                                 </td>
                                 <td class="text-center op-td">
                                     <a href=javascript:void(0); onclick="delRow(this, '#rewardsList{{idx}}')"   class="op-btn op-btn-delete"><i class="fa fa-trash"></i> 取消</a>
@@ -2536,7 +2549,7 @@
                                     <input id="laborContractList${varStatus.index}_filePath" name="laborContractList[${varStatus.index}].filePath" type="hidden" value="${buyDetails.filePath}"/>
                                 </td>
                                 <td>
-                                    <select name="laborContractList[${varStatus.index}].contractType" id="laborContractList${varStatus.index}_contractType" class="form-control required">
+                                    <select name="laborContractList[${varStatus.index}].contractType" id="laborContractList${varStatus.index}_contractType" class="form-control ">
                                         <c:forEach items="${fns:getMainDictList('relsp_cType')}" var="var">
                                             <option value="${var.value}" <c:if test="${buyDetails.contractType eq var.value}">selected</c:if>>${var.label}</option>
                                         </c:forEach>
@@ -2546,7 +2559,7 @@
                                     <input id="laborContractList${varStatus.index}_contractNum" name="laborContractList[${varStatus.index}].contractNum" type="text" value="${buyDetails.contractNum}"/>
                                 </td>--%>
                                 <td>
-                                    <select name="laborContractList[${varStatus.index}].contractLimit" id="laborContractList${varStatus.index}_contractLimit" class="form-control required">
+                                    <select name="laborContractList[${varStatus.index}].contractLimit" id="laborContractList${varStatus.index}_contractLimit" class="form-control ">
                                         <c:forEach items="${fns:getMainDictList('contract_limit')}" var="var">
                                             <option value="${var.value}" <c:if test="${buyDetails.contractLimit eq var.value}">selected</c:if>>${var.label}</option>
                                         </c:forEach>
@@ -2644,7 +2657,7 @@
                                 <input id="laborContractList{{idx}}_filePath" name="laborContractList[{{idx}}].filePath" type="hidden" value="{{row.filePath}}"/>
                             </td>
                             <td style="text-align:center;">
-                                <select name="laborContractList[{{idx}}].contractType" id="laborContractList{{idx}}_contractType" class="form-control required">
+                                <select name="laborContractList[{{idx}}].contractType" id="laborContractList{{idx}}_contractType" class="form-control ">
                                     <option value=""></option>
                                     <c:forEach items="${fns:getMainDictList('relsp_cType')}" var="var">
                                         <option value="${var.value}">${var.label}</option>
@@ -2657,7 +2670,7 @@
                             </td>--%>
 
                             <td style="text-align:center;">
-                                <select name="laborContractList[{{idx}}].contractLimit" id="laborContractList{{idx}}_contractLimit" class="form-control required">
+                                <select name="laborContractList[{{idx}}].contractLimit" id="laborContractList{{idx}}_contractLimit" class="form-control ">
                                         <option value=""></option>
                                     <c:forEach items="${fns:getMainDictList('contract_limit')}" var="var">
                                         <option value="${var.value}">${var.label}</option>

+ 1 - 1
src/main/webapp/webpage/modules/workstaff/workStaffBasicInfoView.jsp

@@ -624,7 +624,7 @@
                                 <th width="15%"><span class="require-item">*</span>工作部门</th>
                                 <th width="15%"><span class="require-item">*</span>职务或岗位</th>
                                 <th width="15%"><span class="require-item">*</span>起始日期</th>
-                                <th width="15%"><span class="require-item">*</span>终止日期</th>
+                                <th width="15%">终止日期</th>
                                 <th width="13%">证明人</th>
                                 <th width="12%">证明人联系方式</th>
                             </tr>