Prechádzať zdrojové kódy

1. 手机号验证
2. 修改电话移到直接修改页面,并同步到三张表
3. 项目登记细节调整
4. 项目登记委托人修改为“新增委托方联系人”和“新增客户”
5. 无合同的项目,查看时自动切换到无合同状态

user4 5 rokov pred
rodič
commit
868da07f5e
23 zmenil súbory, kde vykonal 309 pridanie a 155 odobranie
  1. 16 0
      src/main/java/com/jeeplus/modules/projectcontentinfo/web/ProjectcontentinfoController.java
  2. 5 3
      src/main/java/com/jeeplus/modules/projectrecord/service/ProjectRecordsService.java
  3. 1 1
      src/main/java/com/jeeplus/modules/projectrecord/web/ProjectRecordsController.java
  4. 1 4
      src/main/java/com/jeeplus/modules/sys/web/UserController.java
  5. 7 0
      src/main/java/com/jeeplus/modules/workclientinfo/dao/WorkClientLinkmanDao.java
  6. 12 0
      src/main/java/com/jeeplus/modules/workclientinfo/service/WorkClientInfoService.java
  7. 41 0
      src/main/java/com/jeeplus/modules/workclientinfo/web/WorkClientInfoController.java
  8. 6 1
      src/main/java/com/jeeplus/modules/workstaff/service/WorkStaffBasicInfoService.java
  9. 0 1
      src/main/java/com/jeeplus/modules/workstaff/web/WorkStaffBasicInfoController.java
  10. 1 2
      src/main/resources/jeeplus.properties
  11. 3 3
      src/main/resources/mappings/modules/sys/UserDao.xml
  12. 23 3
      src/main/resources/mappings/modules/workclientinfo/WorkClientLinkmanDao.xml
  13. 3 0
      src/main/resources/mappings/modules/workstaff/WorkStaffAchivesDao.xml
  14. 10 1
      src/main/resources/mappings/modules/workstaff/WorkStaffBasicInfoDao.xml
  15. 9 6
      src/main/webapp/WEB-INF/tags/sys/gridselect1.tag
  16. 101 98
      src/main/webapp/webpage/modules/projectrecord/projectRecordsForm.jsp
  17. 36 23
      src/main/webapp/webpage/modules/projectrecord/projectRecordsView.jsp
  18. 2 1
      src/main/webapp/webpage/modules/sys/userInfo.jsp
  19. 1 7
      src/main/webapp/webpage/modules/sys/userInfoEdit.jsp
  20. 3 0
      src/main/webapp/webpage/modules/workclientinfo/workClientInfoForm.jsp
  21. 6 0
      src/main/webapp/webpage/modules/workstaff/workStaffBasicDetailModify.jsp
  22. 21 0
      src/main/webapp/webpage/modules/workstaff/workStaffBasicDetailModifyDirectly.jsp
  23. 1 1
      src/main/webapp/webpage/modules/workstaff/workStaffBasicInfoForm.jsp

+ 16 - 0
src/main/java/com/jeeplus/modules/projectcontentinfo/web/ProjectcontentinfoController.java

@@ -26,6 +26,8 @@ import com.jeeplus.modules.projectrecord.service.ProjectRecordsService;
 import com.jeeplus.modules.sys.entity.User;
 import com.jeeplus.modules.sys.utils.DictUtils;
 import com.jeeplus.modules.sys.utils.UserUtils;
+import com.jeeplus.modules.workclientinfo.entity.WorkClientLinkman;
+import com.jeeplus.modules.workcontractinfo.entity.WorkContractInfo;
 import com.jeeplus.modules.workgoout.entity.GoOut;
 import com.jeeplus.modules.workreview.entity.WorkReviewAudit;
 import com.jeeplus.modules.workreview.entity.WorkReviewStandard;
@@ -437,6 +439,20 @@ public class ProjectcontentinfoController extends BaseController {
 		ProjectRecords projectRecords = projectcontentinfo.getProject()==null?new ProjectRecords():projectcontentinfo.getProject();
 		projectRecords.setProjectStatus(ProjectStatusEnum.SIGNED.getValue());
 		Page<ProjectRecords> page = projectRecordsService.findPage(new Page<ProjectRecords>(request, response), projectRecords);
+		/*无合同状态下,获取委托方的名称*/
+		List<ProjectRecords> list = page.getList();
+		for (int i = 0; i < list.size(); i++) {
+			ProjectRecords records1 = list.get(i);
+			if (records1.getWorkContractInfo() == null) {
+				projectRecordsService.queryLinkmanInfos(records1);
+				if (records1.getWorkClientLinkmanList() != null && records1.getWorkClientLinkmanList().size() > 0) {
+					WorkClientLinkman linkman = records1.getWorkClientLinkmanList().get(0);
+					WorkContractInfo contractInfo = new WorkContractInfo();
+					contractInfo.setClient(linkman.getClientId());
+					records1.setWorkContractInfo(contractInfo);
+				}
+			}
+		}
 		model.addAttribute("page", page);
 		return "modules/projectcontentinfo/projectcontentinfoList";
 

+ 5 - 3
src/main/java/com/jeeplus/modules/projectrecord/service/ProjectRecordsService.java

@@ -121,9 +121,11 @@ public class ProjectRecordsService extends CrudService<ProjectRecordsDao, Projec
 		ProjectRecords projectRecords = super.get(id);
 		List<User> users = workProjectUserDao.queryProjectUsers(projectRecords.getId(), "1");
 		projectRecords.setLeaderNameStr(Collections3.extractToString(users, "name", ","));
-		WorkContractInfo workContractInfo = contractInfoService.get(projectRecords.getWorkContractInfo().getId());
-		workContractInfo.setConstructionProjectTypeStr(DictUtils.getDictLabel(String.valueOf(workContractInfo.getConstructionProjectType()), "construction_project_type", ""));
-		projectRecords.setWorkContractInfo(workContractInfo);
+		if (StringUtils.isNotBlank(projectRecords.getWorkContractInfo().getId())) {
+			WorkContractInfo workContractInfo = contractInfoService.get(projectRecords.getWorkContractInfo().getId());
+			workContractInfo.setConstructionProjectTypeStr(DictUtils.getDictLabel(String.valueOf(workContractInfo.getConstructionProjectType()), "construction_project_type", ""));
+			projectRecords.setWorkContractInfo(workContractInfo);
+		}
 		return projectRecords;
 	}
 	public ProjectRecords getQueryProjectMasters(ProjectRecords projectRecords) {

+ 1 - 1
src/main/java/com/jeeplus/modules/projectrecord/web/ProjectRecordsController.java

@@ -610,7 +610,7 @@ public class ProjectRecordsController extends BaseController {
 			map.put("linkName",linkman.getName());
 			map.put("linkMobile",linkman.getLinkMobile());
 			map.put("linkPhone",linkman.getLinkPhone());
-			map.put("str","保存信息成功!");
+			map.put("str","新增客户信息成功!");
         }catch (Exception e){
             e.printStackTrace();
         }

+ 1 - 4
src/main/java/com/jeeplus/modules/sys/web/UserController.java

@@ -584,10 +584,7 @@ public class UserController extends BaseController {
                 currentUser.setEmail(user.getEmail());
                 workStaffBasicInfo.setEmail(user.getEmail());
             }
-            if (StringUtils.isNotBlank(user.getPhone())) {
-                currentUser.setPhone(user.getPhone());
-                workStaffBasicInfo.setPhone(user.getPhone());
-            }
+
             if (StringUtils.isNotBlank(user.getMobile())) {
                 currentUser.setMobile(user.getMobile());
                 workStaffBasicInfo.setMobile(user.getMobile());

+ 7 - 0
src/main/java/com/jeeplus/modules/workclientinfo/dao/WorkClientLinkmanDao.java

@@ -34,4 +34,11 @@ public interface WorkClientLinkmanDao extends CrudDao<WorkClientLinkman> {
     List<WorkClientLinkman> queryProjectLinkmans(@Param("projectId") String projectId, @Param("isEntrust") int i);
 
     WorkClientLinkman queryLinkManByClientId(String id);
+
+    /**
+     * 无合同状态下,添加委托方联系人,查询该公司下所有客户
+     * @param workClientLinkman
+     * @return
+     */
+    List<WorkClientLinkman> queryLinkManByCompany(WorkClientLinkman workClientLinkman);
 }

+ 12 - 0
src/main/java/com/jeeplus/modules/workclientinfo/service/WorkClientInfoService.java

@@ -570,4 +570,16 @@ public class WorkClientInfoService extends CrudService<WorkClientInfoDao, WorkCl
     public WorkClientLinkman queryLinkManByClientId(String clientId){
         return workClientLinkmanDao.queryLinkManByClientId(clientId);
     }
+
+    /**
+     * 无合同状态,获取公司所有的客户相关联的联系人信息
+     * @param page
+     * @return
+     */
+    public Page<WorkClientLinkman> queryLinkManPageByCompany(Page<WorkClientLinkman> page, WorkClientLinkman linkman){
+        linkman.setPage(page);
+        page.setList(workClientLinkmanDao.queryLinkManByCompany(linkman));
+        return page;
+    }
+
 }

+ 41 - 0
src/main/java/com/jeeplus/modules/workclientinfo/web/WorkClientInfoController.java

@@ -599,4 +599,45 @@ public class WorkClientInfoController extends BaseController {
 		}
 		return TicketQueryUtils.enterpriseTicketInfoQueryById(id);
 	}
+
+	/**
+	 * 无合同,查询公司所有客户及其关联的联系人
+	 * @param linkman
+	 * @param url
+	 * @param fieldLabels
+	 * @param fieldKeys
+	 * @param searchLabel
+	 * @param searchKey
+	 * @param searchLabel1
+	 * @param searchKey1
+	 * @param request
+	 * @param response
+	 * @param model
+	 * @return
+	 */
+	@RequestMapping("queryLinkManByCompany")
+	public String queryLinkManByCompany(WorkClientLinkman linkman, String url, String fieldLabels, String fieldKeys, String searchLabel, String searchKey, String searchLabel1, String searchKey1, HttpServletRequest request, HttpServletResponse response, Model model){
+		WorkClientInfo clientInfo = new WorkClientInfo();
+		clientInfo.setCompanyId(UserUtils.getUser().getCompany().getId());
+		linkman.setClientId(clientInfo);
+		Page<WorkClientLinkman> page = workClientInfoService.queryLinkManPageByCompany(new Page<WorkClientLinkman>(request, response), linkman);
+		try {
+			fieldLabels = URLDecoder.decode(fieldLabels, "UTF-8");
+			fieldKeys = URLDecoder.decode(fieldKeys, "UTF-8");
+			searchLabel = URLDecoder.decode(searchLabel, "UTF-8");
+			searchKey = URLDecoder.decode(searchKey, "UTF-8");
+		} catch (UnsupportedEncodingException e) {
+			e.printStackTrace();
+		}
+		model.addAttribute("labelNames", fieldLabels.split("\\|"));
+		model.addAttribute("labelValues", fieldKeys.split("\\|"));
+		model.addAttribute("fieldLabels", fieldLabels);
+		model.addAttribute("fieldKeys", fieldKeys);
+		model.addAttribute("url", url);
+		model.addAttribute("searchLabel", searchLabel);
+		model.addAttribute("searchKey", searchKey);
+		model.addAttribute("obj", linkman);
+		model.addAttribute("page", page);
+		return  "modules/sys/gridselect1";
+	}
 }

+ 6 - 1
src/main/java/com/jeeplus/modules/workstaff/service/WorkStaffBasicInfoService.java

@@ -210,7 +210,12 @@ public class WorkStaffBasicInfoService extends CrudService<WorkStaffBasicInfoDao
         workStaffBasicInfo.setId(baseId);
         super.save(workStaffBasicInfo);
         this.saveDetails(workStaffBasicInfo,false);
-
+        if (workStaffBasicInfo.getPhone() != null) {
+            User user = new User();
+            user.setId(workStaffBasicInfo.getUserId());
+            user.setPhone(workStaffBasicInfo.getPhone());
+            userService.updateUser(user);
+        }
     }
     public void preSave(WorkStaffBasicInfo workStaffBasicInfo, HttpServletRequest request) throws IOException {
         if(workStaffBasicInfo.getCompany()==null){

+ 0 - 1
src/main/java/com/jeeplus/modules/workstaff/web/WorkStaffBasicInfoController.java

@@ -544,7 +544,6 @@ public class WorkStaffBasicInfoController extends BaseController {
 		MyBeanUtils.copyBeanNotNull2Bean(workStaffBasicInfo, t);//将编辑表单中的非NULL值覆盖数据库记录中的值
 		t.setAchiveId(achieveId);
 		t.setId(staffId);
-		System.out.println("----------"+t.getAchiveId());
 		workStaffBasicInfoService.updateAchieveDirectly(t,request);
 		addMessage(redirectAttributes, "保存员工档案信息成功");
 

+ 1 - 2
src/main/resources/jeeplus.properties

@@ -9,6 +9,7 @@ db.name=ruihuaoa-activity-data
 jdbc.url=jdbc:mysql://192.168.2.4:3306/total_process_master?useUnicode=true&characterEncoding=utf-8
 #jdbc.url=jdbc:mysql://127.0.0.1:3306/total_process_master?useUnicode=true&characterEncoding=utf-8
 jdbc.username=root
+#jdbc.password=123456
 jdbc.password=root
 
 #pool settings
@@ -21,13 +22,11 @@ jdbc.testSql=SELECT 'x' FROM DUAL
 
 #master
 master.jdbc.url=jdbc:mysql://192.168.2.4:3306/total_process_master?useUnicode=true&characterEncoding=utf-8
-#master.jdbc.url=jdbc:mysql://localhost:3306/total_process_master?useUnicode=true&characterEncoding=utf-8
 master.jdbc.username=root
 master.jdbc.password=root
 
 #slave
 slave.jdbc.url=jdbc:mysql://192.168.2.4:3306/total_process_slave?useUnicode=true&characterEncoding=utf-8
-#slave.jdbc.url=jdbc:mysql://localhost:3306/total_process_slave?useUnicode=true&characterEncoding=utf-8
 slave.jdbc.username=root
 slave.jdbc.password=root
 

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

@@ -1058,7 +1058,7 @@
         UPDATE sys_user SET  com_id = '1',company_id = '1',office_id='5' WHERE company_id=#{companyId}
     </update>
 
-	<update id="updateUser">
+	<update id="updateUser" parameterType="User">
 		update  sys_user
 		<set>
 			<if test="loginName != null and loginName != ''">
@@ -1094,10 +1094,10 @@
 			<if test="comId != null and comId != ''">
 				com_id = #{comId},
 			</if>
-			<if test="company.id != null and company.id != ''">
+			<if test="company!=null and company.id != null and company.id != ''">
 				company_id = #{company.id},
 			</if>
-			<if test="office.id != null and office.id != ''">
+			<if test="office!=null  and office.id != null and office.id != ''">
 				office_id = #{office.id}
 			</if>
 		</set>

+ 23 - 3
src/main/resources/mappings/modules/workclientinfo/WorkClientLinkmanDao.xml

@@ -35,6 +35,7 @@
 		a.update_date AS "updateDate",
 		a.del_flag AS "delFlag",
 		a.client_id AS "clientId.id",
+		a.office AS "office"
 	</sql>
 
 	<sql id="workClientLinkmanJoins">
@@ -287,8 +288,27 @@
 	</select>
 
 	<select id="queryLinkManByClientId" resultType="WorkClientLinkman">
-		select *
-		from work_client_linkman
-		where client_id = #{id}
+		select <include refid="linkManColumn"/>
+		from work_client_linkman a
+		where a.client_id = #{id}
 	</select>
+
+	<select id="queryLinkManByCompany" parameterType="WorkClientLinkman" resultType="WorkClientLinkman">
+		select <include refid="workClientLinkmanColumns"/>
+		from work_client_linkman a
+		<include refid="workClientLinkmanJoins"/>
+		where
+		a.del_flag = #{DEL_FLAG_NORMAL}
+		<if test="name != null and name != ''">
+			AND a.name LIKE
+			<if test="dbName == 'oracle'">'%'||#{name}||'%'</if>
+			<if test="dbName == 'mssql'">'%'+#{name}+'%'</if>
+			<if test="dbName == 'mysql'">concat('%',#{name},'%')</if>
+		</if>
+		<if test="clientId != null and clientId.companyId != null and clientId.companyId != ''">
+			AND b.company_id = #{clientId.companyId}
+		</if>
+
+	</select>
+
 </mapper>

+ 3 - 0
src/main/resources/mappings/modules/workstaff/WorkStaffAchivesDao.xml

@@ -356,6 +356,7 @@
 			calendar,
 			email,
 			mobile,
+			phone,
 			marriage,
 			politics,
 			ex_soldier,
@@ -398,6 +399,7 @@
 			#{calendar},
 			#{email},
 			#{mobile},
+			#{phone},
 			#{marriage},
 			#{politics},
 			#{exSoldier},
@@ -440,6 +442,7 @@
 			calendar = #{calendar},
 			email = #{email},
 			mobile = #{mobile},
+			phone = #{phone},
 			marriage = #{marriage},
 			politics = #{politics},
 			ex_soldier = #{exSoldier},

+ 10 - 1
src/main/resources/mappings/modules/workstaff/WorkStaffBasicInfoDao.xml

@@ -242,6 +242,7 @@
 			calendar,
 			email,
 			mobile,
+			phone,
 			marriage,
 			politics,
 			ex_soldier,
@@ -282,6 +283,7 @@
 			#{calendar},
 			#{email},
 			#{mobile},
+			#{phone},
 			#{marriage},
 			#{politics},
 			#{exSoldier},
@@ -321,6 +323,7 @@
 			birthday = #{birthday},
 			calendar = #{calendar},
 			email = #{email},
+			phone = #{phone},
 			mobile = #{mobile},
 			marriage = #{marriage},
 			politics = #{politics},
@@ -485,7 +488,10 @@
 		select a.id
 		from work_staff_basic_info a
 		<where>
-			a.mobile=#{mobile} and a.id != #{id}
+			a.mobile=#{mobile}
+			<if test="id != null and id != ''">
+				and a.id != #{id}
+			</if>
 		</where>
 	</select>
 
@@ -516,6 +522,9 @@
 			<if test="phone != null and phone != ''">
 				phone = #{phone},
 			</if>
+			<if test="mobile != null and mobile != ''">
+				mobile = #{mobile},
+			</if>
 			<if test="remarks != null and remarks != ''">
 				remarks = #{remarks},
 			</if>

+ 9 - 6
src/main/webapp/WEB-INF/tags/sys/gridselect1.tag

@@ -20,12 +20,15 @@
 <%@ attribute name="disabled" type="java.lang.String" required="false" description="是否限制选择,如果限制,设置为disabled"%>
 <script type="text/javascript">
 function searchGrid${id}(clientId){
-    if(clientId==null||clientId==''){
-        // top.layer.msg("请先选择合同信息");
-		top.layer.msg('<span id="confirm" style="border:1px solid red;background:#fff;color:red;margin-left:-25px;padding: 14px 25px 15px 25px;overflow:hidden;position:relative;border-right:none;">请先选择合同信息<b style="position:absolute;top:-1px;width:24px;height:46px;right:-25px;border:1px solid red;border-left:none;background:#fff;"></b></span>')
-		return false;
-    }
-    var uri = "${url}?clientIds="+clientId;
+	var uri;
+	if(clientId==null||clientId==''){
+		// top.layer.msg("请先选择合同信息");
+		// top.layer.msg('<span id="confirm" style="border:1px solid red;background:#fff;color:red;margin-left:-25px;padding: 14px 25px 15px 25px;overflow:hidden;position:relative;border-right:none;">请先选择合同信息<b style="position:absolute;top:-1px;width:24px;height:46px;right:-25px;border:1px solid red;border-left:none;background:#fff;"></b></span>')
+		// return false;
+		uri = "${ctx}/workclientinfo/workClientInfo/queryLinkManByCompany?clientId=null";
+    }else{
+		uri = "${url}?clientIds="+clientId;
+	}
 	top.layer.open({
 	    type: 2,
 	    area: ['90%','90%'],

+ 101 - 98
src/main/webapp/webpage/modules/projectrecord/projectRecordsForm.jsp

@@ -18,6 +18,7 @@
     </style>
     <script type="text/javascript">
         var validateForm;
+        var isMasterClient = true;//是否是主委托方
         function doSubmit(i){//回调函数,在编辑和保存动作时,供openDialog调用提交表单。
             if(validateForm.form()){
                 // if($(".trIdAdds").length==0){
@@ -42,8 +43,6 @@
             return false;
         }
         $(document).ready(function() {
-            var div1 = $("#div1").html();
-            var div2 = $("#div2").html();
             var radioVal ;
             validateForm = $("#inputForm").validate({
                 submitHandler: function(form){
@@ -70,36 +69,32 @@
             });
             $('#scaleUnit').val("${projectRecords.scaleUnit}")
 
-            var flag = $("input[name='ext']").val();
-            if(flag == 0){
-                $("#div2").hide();
-            }else {
-                $("#div1").hide();
-            }
-
-
-
             $("input[name='ext']").on('ifChecked',function(event){
                 radioVal = $(this).val();
                 if(radioVal == 0){
                     //有合同状态
                     $("#divv2 input").val("");
+                    // $("#workClientLinkmanList tr").remove();
                     $("#divv").show();
-                    $("#div1").remove();
-                    $("#div2").remove();
-                    var temp = $("<div id='div1'></div>").html(div1);
-                    $("#LinkMenDiv").append(temp);
+                    $("#divv3").show();
                 }else{
+                    $("#divv input").val('');
                     $("#divv2 input").val("");
+                    $("#divv3 input").val("");
+                    // $("#workClientLinkmanList tr").remove();
                     $("#divv").hide();
-                    $("#divv input").val('');
-                    $("#div1").remove();
-                    $("#div2").remove();
-                    var temp = $("<div id='div2'></div>").html(div2);
-                    $("#LinkMenDiv").append(temp);
+                    $("#divv3").hide();
+                    $("#linkmanId").val("");
                 }
             });
 
+            //自动选择合同状态
+            if ($("#projectName").val() != null) {
+                if ($("#contractName").val() == "") {
+                    $("#ext1").iCheck("check");
+                }
+            }
+
         });
 
 
@@ -122,18 +117,19 @@
                     //清理之前的联系人
                     var newClientId  = data.client.id;
                     if(clientId != newClientId){
-                        $("#workClientLinkmanList tr").remove()
+                        $("#workClientLinkmanList tr").remove();
                         setLinkMan(newClientId);
                     }
+                    // console.log("clientId------newClientId");
                     // console.log(clientId+"------"+newClientId);
                 }
             });
         }
 
-        function setLinkMan(client_Id) {
+        function setLinkMan(newClientId) {
             $.ajax({
                 url:"${ctx}/project/projectRecords/getLinkManByClientId",
-                data:{"clientId":client_Id},
+                data:{"clientId":newClientId},
                 type:"post",
                 dataType:"json",
                 success:function (d) {
@@ -146,7 +142,6 @@
                     $("#workClientLinkmanList"+row+"_name").val(d.linkName);
                     $("#workClientLinkmanList"+row+"_linkMobile").val(d.linkMobile);
                     $("#workClientLinkmanList"+row+"_linkPhone").val(d.linkPhone);
-
                     $("#workClientLinkmanList"+row+"_clientName").prop("readonly","readonly");
                     $("#workClientLinkmanList"+row+"_name").prop("readonly","readonly");
                     $("#workClientLinkmanList"+row+"_linkMobile").prop("readonly","readonly");
@@ -162,6 +157,12 @@
                     workClientLinkmanRowIdx=workClientLinkmanRowIdx+1;
                 }
             }
+            if(obj[0].name != null){
+                if(isMasterClient){
+                    $("#contractClientName").val(obj[0].clientId.name);
+                    isMasterClient = false;
+                }
+            }
         }
         function hasInArr(id,idArr) {
             for(var i=0;i<idArr.length;i++){
@@ -326,7 +327,7 @@
                             parent.layer.msg("保存客户信息异常!",{icon:2});
                             return false;
                         }
-                        console.log("-------success-----");
+
                         addRow('#workClientLinkmanList', workClientLinkmanRowIdx, workClientLinkmanTpl);workClientLinkmanRowIdx = workClientLinkmanRowIdx + 1;
                         var row = workClientLinkmanRowIdx - 1 ;
 
@@ -336,7 +337,10 @@
                         $("#"+"workClientLinkmanList"+row+"_name").val(d.linkName);
                         $("#"+"workClientLinkmanList"+row+"_linkMobile").val(d.linkMobile);
                         $("#"+"workClientLinkmanList"+row+"_linkPhone").val(d.linkPhone);
-                        $("#contractClientName").val(d.clientName);
+                        if(isMasterClient){
+                            $("#contractClientName").val(d.clientName);
+                            isMasterClient = false;
+                        }
                         parent.layer.msg(d.str,{icon:1});
                         top.layer.close(index)
                     }
@@ -354,18 +358,18 @@
             <form:hidden path="workContractInfo.client.id" id="contractClientId" value="${workContractInfo.client.id}"/>
 
             <div class="form-group layui-row first">
-               <div class="form-group layui-row">
-                   <div class="form-group-label"><h2>项目合同信息</h2></div>
-                   <div class="layui-item layui-col-sm6 lw7">
-                       <label class="layui-form-label">合同情况:</label>
-                       <div class="layui-input-block">
-                           <input type="radio" class="i-checks" name="ext" checked id="ext" value="0">
-                           <label for="ext">有合同</label>
-                           <input type="radio" class="i-checks" name="ext" id="ext1" value="1">
-                           <label for="ext1">无合同</label>
-                       </div>
-                   </div>
-               </div>
+                <div class="form-group layui-row">
+                    <div class="form-group-label"><h2>项目合同信息</h2></div>
+                    <div class="layui-item layui-col-sm6 lw7">
+                        <label class="layui-form-label">合同情况:</label>
+                        <div class="layui-input-block">
+                            <input type="radio" class="i-checks" name="ext" checked id="ext" value="0">
+                            <label for="ext">有合同</label>
+                            <input type="radio" class="i-checks" name="ext" id="ext1" value="1">
+                            <label for="ext1">无合同</label>
+                        </div>
+                    </div>
+                </div>
                 <div id="divv">
                     <div class="layui-item layui-col-sm12 lw7" id="d1">
                         <label class="layui-form-label"><span class="require-item">*</span>选择合同:</label>
@@ -387,20 +391,22 @@
                         </div>
                     </div>
                 </div>
-               <div id="divv2">
-                   <div class="layui-item layui-col-sm6 lw7">
-                       <label class="layui-form-label">主委托方:</label>
-                       <div class="layui-input-block">
-                           <input htmlEscape="false"  readonly="true" id="contractClientName" name="workContractInfo.client.name" class="form-control layui-input" value="${projectRecords.workContractInfo.client.name}"/>
-                       </div>
-                   </div>
-                   <div class="layui-item layui-col-sm6 lw7">
-                       <label class="layui-form-label">工程分类:</label>
-                       <div class="layui-input-block">
-                           <input htmlEscape="false"  readonly="true" id="constructionProjectType"  class="form-control layui-input" value="${projectRecords.workContractInfo.constructionProjectTypeStr}"/>
-                       </div>
-                   </div>
-               </div>
+                <div id="divv2">
+                    <div class="layui-item layui-col-sm6 lw7">
+                        <label class="layui-form-label">主委托方:</label>
+                        <div class="layui-input-block">
+                            <input htmlEscape="false"  readonly="true" id="contractClientName" name="workContractInfo.client.name" class="form-control layui-input" value="${projectRecords.workContractInfo.client.name}"/>
+                        </div>
+                    </div>
+                </div>
+                <div id="divv3">
+                    <div class="layui-item layui-col-sm6 lw7">
+                        <label class="layui-form-label">工程分类:</label>
+                        <div class="layui-input-block">
+                            <input htmlEscape="false"  readonly="true" id="constructionProjectType"  class="form-control layui-input" value="${projectRecords.workContractInfo.constructionProjectTypeStr}"/>
+                        </div>
+                    </div>
+                </div>
             </div>
 
             <div class="form-group layui-row">
@@ -494,23 +500,19 @@
             </div>
 
 
-            <div class="form-group layui-row">
+            <div>
                 <div class="form-group-label"><h2><span class="require-item">*</span>委托方联系人信息</h2></div>
-                <div id="LinkMenDiv">
-                    <div id="div1">
-                        <div class="layui-item nav-btns">
-                            <sys:gridselect1 url="${ctx}/workclientinfo/workClientInfo/linkmanList" id="linkman"
-                                             name="linkman.id" title="选择客户"
-                                             value="${projectRecords.workContractInfo.workClinetInfoIds}"
-                                             cssClass="form-control required" fieldLabels="联系人" fieldKeys="name"
-                                             searchLabel="联系人" searchKey="name"></sys:gridselect1>
-                        </div>
-                    </div>
-                    <div id="div2">
-                        <div class="layui-item nav-btns">
-                            <a href="javascript:void(0)" onclick="openBill2('新增客户管理', '${ctx}/workclientinfo/workClientInfo/form?param=2','95%','95%',false,'inputForm')" class="nav-btn nav-btn-add" ><i class="fa fa-plus"></i> 新增客户</a>
-                        </div>
-                    </div>
+                <div class="layui-item nav-btns" style="float: left;width: 155px">
+                    <sys:gridselect1  id="linkman" url="${ctx}/workclientinfo/workClientInfo/linkmanList"
+                                      name="linkman.id"  title="选择客户"
+                                      value="${projectRecords.workContractInfo.workClinetInfoIds}"
+                                      cssClass="form-control required" fieldLabels="联系人" fieldKeys="name"
+                                      searchLabel="联系人" searchKey="name"></sys:gridselect1>
+                </div>
+                <div class="layui-item nav-btns" style="float: left;">
+                    <a href="javascript:void(0)"
+                       onclick="openBill2('新增客户管理', '${ctx}/workclientinfo/workClientInfo/form?param=2','95%','95%',false,'inputForm')"
+                       class="nav-btn nav-btn-add"><i class="fa fa-plus"></i> 新增客户</a>
                 </div>
 
                 <div class="layui-item layui-col-xs12 form-table-container">
@@ -526,32 +528,32 @@
                         </tr>
                         </thead>
                         <tbody id="workClientLinkmanList">
-                        <c:if test="${not empty projectRecords.workClientLinkmanList}">
-                            <c:forEach items="${projectRecords.workClientLinkmanList}" var="casePeopleNorm" varStatus="index">
-                                <tr id="workClientInfoList${index.index}">
-                                    <td class="hide">
-                                        <input id="workClientLinkmanList${index.index}_id" name="workClientLinkmanList[${index.index}].id" type="hidden" value="${casePeopleNorm.id}" class="clientInfoId"/>
-                                        <input id="workClientLinkmanList${index.index}_clientId_id" name="workClientLinkmanList[${index.index}].clientId.id" type="hidden" value="${casePeopleNorm.clientId.id}" class="clientInfoId"/>
-                                        <input id="workClientLinkmanList${index.index}_delFlag" name="workClientLinkmanList[${index.index}].delFlag" type="hidden" value="0"/>
-                                    </td>
-                                    <td>
-                                        <input id="workClientLinkmanList${index.index}_clientName" name="workClientLinkmanList[${index.index}].clientId.name" type="text" value="${casePeopleNorm.clientId.name}" readonly="true"   class="form-control "/>
-                                    </td>
-                                    <td>
-                                        <input id="workClientLinkmanList${index.index}_name" name="workClientLinkmanList[${index.index}].name" type="text" value="${casePeopleNorm.name}" readonly="true"   class="form-control "/>
-                                    </td>
-                                    <td>
-                                        <input id="workClientLinkmanList${index.index}_linkPhone" name="workClientLinkmanList[${index.index}].linkPhone" type="text" value="${casePeopleNorm.linkPhone}" readonly="true"   class="form-control "/>
-                                    </td>
-                                    <td>
-                                        <input id="workClientLinkmanList${index.index}_linkMobile" name="workClientLinkmanList[${index.index}].linkMobile" type="text" value="${casePeopleNorm.linkMobile}" readonly="true"   class="form-control "/>
-                                    </td>
-                                    <td class="text-center op-td">
-                                        <span class="op-btn op-btn-delete" onclick="delRow(this, '#workClientLinkmanList${index.index}')" title="删除"><i class="glyphicon glyphicon-remove"></i>&nbsp;删除</span>
-                                    </td>
-                                </tr>
-                            </c:forEach>
-                        </c:if>
+<%--                        <c:if test="${not empty projectRecords.workClientLinkmanList}">--%>
+<%--                            <c:forEach items="${projectRecords.workClientLinkmanList}" var="casePeopleNorm" varStatus="index">--%>
+<%--                                <tr id="workClientInfoList${index.index}">--%>
+<%--                                    <td class="hide">--%>
+<%--                                        <input id="workClientLinkmanList${index.index}_id" name="workClientLinkmanList[${index.index}].id" type="hidden" value="${casePeopleNorm.id}" class="clientInfoId"/>--%>
+<%--                                        <input id="workClientLinkmanList${index.index}_clientId_id" name="workClientLinkmanList[${index.index}].clientId.id" type="hidden" value="${casePeopleNorm.clientId.id}" class="clientInfoId"/>--%>
+<%--                                        <input id="workClientLinkmanList${index.index}_delFlag" name="workClientLinkmanList[${index.index}].delFlag" type="hidden" value="0"/>--%>
+<%--                                    </td>--%>
+<%--                                    <td>--%>
+<%--                                        <input id="workClientLinkmanList${index.index}_clientName" name="workClientLinkmanList[${index.index}].clientId.name" type="text" value="${casePeopleNorm.clientId.name}" readonly="true"   class="form-control "/>--%>
+<%--                                    </td>--%>
+<%--                                    <td>--%>
+<%--                                        <input id="workClientLinkmanList${index.index}_name" name="workClientLinkmanList[${index.index}].name" type="text" value="${casePeopleNorm.name}" readonly="true"   class="form-control "/>--%>
+<%--                                    </td>--%>
+<%--                                    <td>--%>
+<%--                                        <input id="workClientLinkmanList${index.index}_linkPhone" name="workClientLinkmanList[${index.index}].linkPhone" type="text" value="${casePeopleNorm.linkPhone}" readonly="true"   class="form-control "/>--%>
+<%--                                    </td>--%>
+<%--                                    <td>--%>
+<%--                                        <input id="workClientLinkmanList${index.index}_linkMobile" name="workClientLinkmanList[${index.index}].linkMobile" type="text" value="${casePeopleNorm.linkMobile}" readonly="true"   class="form-control "/>--%>
+<%--                                    </td>--%>
+<%--                                    <td class="text-center op-td">--%>
+<%--                                        <span class="op-btn op-btn-delete" onclick="delRow(this, '#workClientLinkmanList${index.index}')" title="删除"><i class="glyphicon glyphicon-remove"></i>&nbsp;删除</span>--%>
+<%--                                    </td>--%>
+<%--                                </tr>--%>
+<%--                            </c:forEach>--%>
+<%--                        </c:if>--%>
                         </tbody>
                     </table>
                     <script type="text/template" id="workClientLinkmanTpl">//<!--
@@ -584,12 +586,13 @@
                             workClientLinkmanTpl = $("#workClientLinkmanTpl").html().replace(/(\/\/\<!\-\-)|(\/\/\-\->)/g, "");
                         $(document).ready(function () {
                             var data = ${fns:toJson(workClientInfo.workClientLinkmanList)};
-                            for (var i = 0; i < data.length; i++) {
-                                addRow('#workClientLinkmanList', workClientLinkmanRowIdx, workClientLinkmanTpl, data[i]);
-                                workClientLinkmanRowIdx = workClientLinkmanRowIdx + 1;
+                            if(data!=null && data.length() > 0){
+                                for (var i = 0; i < data.length; i++) {
+                                    addRow('#workClientLinkmanList', workClientLinkmanRowIdx, workClientLinkmanTpl, data[i]);
+                                    workClientLinkmanRowIdx = workClientLinkmanRowIdx + 1;
+                                }
                             }
                         });
-
                     </script>
                 </div>
             </div>

+ 36 - 23
src/main/webapp/webpage/modules/projectrecord/projectRecordsView.jsp

@@ -4,6 +4,15 @@
 <head>
 	<title>项目审批管理</title>
 	<meta name="decorator" content="default"/>
+	<script>
+		$(document).ready(function () {
+			if ($("#contractNum").val() == null || $("#contractNum").val() == "") {
+				$("#divv").hide();
+				$("#divv3").hide();
+			}
+
+		})
+	</script>
 	<script type="text/javascript">
         function addRow(list, idx, tpl, row){
             // var idx1 = $("#workClientLinkmanList tr").length;
@@ -46,34 +55,38 @@
 		<form:form id="inputForm" modelAttribute="projectRecords" action="${ctx}/project/projectRecords/saveAudit" method="post" class="form-horizontal">
 			<div class="form-group layui-row first">
 				<div class="form-group-label"><h2>项目合同信息</h2></div>
-                <div class="layui-item layui-col-sm12 lw6">
-					<label class="layui-form-label">合同编号:</label>
-					<div class="layui-input-block">
-						<input htmlEscape="false"  readonly="true" class="form-control layui-input" value="${projectRecords.workContractInfo.contractNum}"/>
-					</div>
-				</div>
-				<div class="layui-item layui-col-sm6 lw6">
-					<label class="layui-form-label">合同名称:</label>
-					<div class="layui-input-block">
-						<input htmlEscape="false"  readonly="true" class="form-control layui-input" value="${projectRecords.workContractInfo.name}"/>
-					</div>
-				</div>
-				<div class="layui-item layui-col-sm6 lw6">
-					<label class="layui-form-label double-line">合同金额(元):</label>
-					<div class="layui-input-block">
-						<input htmlEscape="false"  readonly="true" class="form-control layui-input" value="<fmt:formatNumber value="${projectRecords.workContractInfo.contractPrice}" pattern="#,##0.00#"/>"/>
-					</div>
-				</div>
+               <div id="divv">
+				   <div class="layui-item layui-col-sm12 lw6">
+					   <label class="layui-form-label">合同编号:</label>
+					   <div class="layui-input-block">
+						   <input htmlEscape="false" id="contractNum" readonly="true" class="form-control layui-input" value="${projectRecords.workContractInfo.contractNum}"/>
+					   </div>
+				   </div>
+				   <div class="layui-item layui-col-sm6 lw6">
+					   <label class="layui-form-label">合同名称:</label>
+					   <div class="layui-input-block">
+						   <input htmlEscape="false"  readonly="true" class="form-control layui-input" value="${projectRecords.workContractInfo.name}"/>
+					   </div>
+				   </div>
+				   <div class="layui-item layui-col-sm6 lw6">
+					   <label class="layui-form-label double-line">合同金额(元):</label>
+					   <div class="layui-input-block">
+						   <input htmlEscape="false"  readonly="true" class="form-control layui-input" value="<fmt:formatNumber value="${projectRecords.workContractInfo.contractPrice}" pattern="#,##0.00#"/>"/>
+					   </div>
+				   </div>
+			   </div>
 				<div class="layui-item layui-col-sm6 lw6">
 					<label class="layui-form-label">主委托方:</label>
 					<div class="layui-input-block">
-						<input htmlEscape="false"  readonly="true" class="form-control layui-input" value="${projectRecords.workContractInfo.client.name}"/>
+						<input htmlEscape="false"  id="clientName" readonly="true" class="form-control layui-input" value="${projectRecords.workContractInfo.client.name}"/>
 					</div>
 				</div>
-				<div class="layui-item layui-col-sm6 lw6">
-					<label class="layui-form-label">工程分类:</label>
-					<div class="layui-input-block">
-						<input htmlEscape="false"  readonly="true" class="form-control layui-input" value="${projectRecords.workContractInfo.constructionProjectTypeStr}"/>
+				<div id="divv3">
+					<div class="layui-item layui-col-sm6 lw6">
+						<label class="layui-form-label">工程分类:</label>
+						<div class="layui-input-block">
+							<input htmlEscape="false"  readonly="true" class="form-control layui-input" value="${projectRecords.workContractInfo.constructionProjectTypeStr}"/>
+						</div>
 					</div>
 				</div>
 			</div>

+ 2 - 1
src/main/webapp/webpage/modules/sys/userInfo.jsp

@@ -114,6 +114,7 @@
                         }
 
                         top.layer.close(index);//关闭对话框。
+                        parent.location.reload();
 
                     },
                     cancel: function (index) {
@@ -525,7 +526,7 @@
                                     </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">
                                             <input name="phone" value="${workStaffBasicInfo.phone}" htmlEscape="false" readonly="true" class="form-control  layui-input"/>
                                         </div>

+ 1 - 7
src/main/webapp/webpage/modules/sys/userInfoEdit.jsp

@@ -36,13 +36,7 @@
                     <span class="help-inline"></span>
                 </div>
 			</div>
-			<div class="layui-item layui-col-sm12">
-				<label class="layui-form-label">座机:</label>
-				<div class="layui-input-block">
-					<form:input path="phone" id="phone"   htmlEscape="false" class="form-control  layui-input " maxlength="50"/>
-                    <span class="help-inline"></span>
-                </div>
-			</div>
+
 			<div class="layui-item layui-col-sm12">
 				<label class="layui-form-label">手机:</label>
 				<div class="layui-input-block">

+ 3 - 0
src/main/webapp/webpage/modules/workclientinfo/workClientInfoForm.jsp

@@ -285,6 +285,9 @@
                 "${ctx}/workclientinfo/workClientInfo/enterpriseSearchByName",
                 {"keyword": keyword},
                 function (result) {
+                    if(result==null){
+                        return;
+                    }
                     var json = eval(result.data.items);
                     var html = "<ul>";
                     for (var i = 0; i < json.length; i++) {

+ 6 - 0
src/main/webapp/webpage/modules/workstaff/workStaffBasicDetailModify.jsp

@@ -307,6 +307,12 @@
                         </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"   htmlEscape="false" class="form-control  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="office.name" value="${workStaffBasicInfo.office.name}" type="text" readonly="true" class="form-control  layui-input" />

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

@@ -55,6 +55,20 @@
                 });
             }
             cacuAge('${workStaffBasicInfo.idCard}','1');
+
+            $('#phone').blur(function (){
+                if($('#phone').val()==null||$('#phone').val()=="") {
+                    /*$('#phone').next("span").html("电话不能为空");
+                    $('#phone').focus();*/
+                }else{
+                    var phone = /^0\d{2,3}-?\d{7,8}$|^1[3|5|8]\d{9}$/;
+                    if(!phone.test($('#phone').val())){
+                        $('#phone').next("span").html("电话号码格式不正确");
+                    }else{
+                        $('#phone').next("span").html("");
+                    }
+                }
+            });
         });
     </script>
     <script type="text/javascript">
@@ -307,6 +321,13 @@
                     </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"   htmlEscape="false" class="form-control  layui-input " maxlength="50"/>
+                        <span class="help-inline"></span>
+                    </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" />

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

@@ -48,7 +48,7 @@
                     form.submit();
                 },
                 rules: {
-                    mobile: {remote: "${ctx}/workstaff/workStaffBasicInfo/checkMobile"},//设置了远程验证,在初始化时必须预先调用一次。
+                    mobile: {remote: "${ctx}/workstaff/workStaffBasicInfo/checkMobile?id="+$("#id").val()},//设置了远程验证,在初始化时必须预先调用一次。
                 },
                 messages: {
                     mobile: {remote: "手机号已存在"},