Explorar el Código

建设,施工,监理,设计添加

user7 hace 5 años
padre
commit
9e15f15bc6

+ 27 - 0
src/main/java/com/jeeplus/modules/projectrecord/entity/ProjectRecords.java

@@ -73,6 +73,9 @@ public class ProjectRecords extends ActEntity<ProjectRecords> {
 	@NotNull(message = "委托方联系人不能为空")
 	private List<WorkClientLinkman> workClientLinkmanList;		// 委托方联系人
 	private List<WorkClientLinkman> workConstructionLinkmanList;		// 施工方及联系人
+	private List<WorkClientLinkman> workBuildLinkmanList;//建设方联系人
+	private List<WorkClientLinkman> workSuperLinkmanList;		// 监理方及联系人
+	private List<WorkClientLinkman> workDesignLinkmanList;//设计方联系人
 	@NotBlank(message = "工程概况不能为空")
 	private String projectDesc;		// 工程概况
 	/*@NotNull(message = "项目负责人不能为空")*/
@@ -580,4 +583,28 @@ public class ProjectRecords extends ActEntity<ProjectRecords> {
 	public void setProjectTypeId(String projectTypeId) {
 		this.projectTypeId = projectTypeId;
 	}
+
+	public List<WorkClientLinkman> getWorkBuildLinkmanList() {
+		return workBuildLinkmanList;
+	}
+
+	public void setWorkBuildLinkmanList(List<WorkClientLinkman> workBuildLinkmanList) {
+		this.workBuildLinkmanList = workBuildLinkmanList;
+	}
+
+	public List<WorkClientLinkman> getWorkSuperLinkmanList() {
+		return workSuperLinkmanList;
+	}
+
+	public void setWorkSuperLinkmanList(List<WorkClientLinkman> workSuperLinkmanList) {
+		this.workSuperLinkmanList = workSuperLinkmanList;
+	}
+
+	public List<WorkClientLinkman> getWorkDesignLinkmanList() {
+		return workDesignLinkmanList;
+	}
+
+	public void setWorkDesignLinkmanList(List<WorkClientLinkman> workDesignLinkmanList) {
+		this.workDesignLinkmanList = workDesignLinkmanList;
+	}
 }

+ 4 - 0
src/main/java/com/jeeplus/modules/workclientinfo/dao/WorkClientInfoDao.java

@@ -32,4 +32,8 @@ public interface WorkClientInfoDao extends CrudDao<WorkClientInfo> {
     List<WorkClientInfo> findByName(WorkClientInfo workClientInfo);
 
     List<MainDictDetail> getJobTypeById(String id);
+
+    int getCount(WorkClientInfo workClientInfo);
+
+    List<WorkClientInfo> findList3(WorkClientInfo workClientInfo);
 }

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

@@ -188,6 +188,7 @@ public class WorkClientInfoService extends CrudService<WorkClientInfoDao, WorkCl
 //        workClientInfo.setOfficeId(UserUtils.getSelectOffice().getId());
 //        workClientInfo.getSqlMap().put("dsf", dataScopeFilter(workClientInfo.getCurrentUser(), "o", "u","s", MenuStatusEnum.WORK_CLIENT_INFO.getValue()));
         long t1 = System.currentTimeMillis();
+        //根据项目类型获取对应的客户id个数
         int count = workClientInfoDao.queryCount(workClientInfo);
         page.setCount(count);
         long t2 = System.currentTimeMillis();
@@ -653,5 +654,60 @@ public class WorkClientInfoService extends CrudService<WorkClientInfoDao, WorkCl
         return dictList;
     }
 
+    /**
+     * 根据类型获取联系人信息
+     * @param page 分页对象
+     * @param workClientInfo
+     * @return
+     */
+    public Page<WorkClientInfo> findPageUnit(Page<WorkClientInfo> page, WorkClientInfo workClientInfo) {
+//        workClientInfo.setOfficeId(UserUtils.getSelectOffice().getId());
+//        workClientInfo.getSqlMap().put("dsf", dataScopeFilter(workClientInfo.getCurrentUser(), "o", "u","s", MenuStatusEnum.WORK_CLIENT_INFO.getValue()));
+        long t1 = System.currentTimeMillis();
+        //根据项目类型获取对应的客户id个数
+        int count =workClientInfoDao.getCount(workClientInfo);
+      //  int count = workClientInfoDao.queryCount(workClientInfo);
+        page.setCount(count);
+        long t2 = System.currentTimeMillis();
+        logger.info("查询客户总数耗时:{}",t2-t1);
+        page.setCountFlag(false);
+        workClientInfo.setPage(page);
+        List<WorkClientInfo> list = findPageUnit(workClientInfo);
+        long t3 = System.currentTimeMillis();
+        logger.info("查询客户列表耗时:{}",t3-t2);
+        if(list!=null && list.size()>0){
+            for (int i = 0; i < list.size(); i++) {
+                WorkClientInfo entity = list.get(i);
+                List<WorkClientLinkman> linkmanList = findLinkmanList(entity);
+                entity.setWorkClientLinkmanList(linkmanList);
+                if(linkmanList!=null && linkmanList.size()>0){
+                    StringBuilder builder = new StringBuilder();
+                    for (int j = 0; j < linkmanList.size(); j++) {
+                        builder.append(linkmanList.get(j).getName());
+                        if(j<linkmanList.size()-1){
+                            builder.append(",");
+                        }
+                    }
+                    entity.setLinkManNames(builder.toString());
+                }
+                List<WorkClientBank> bankList = findBankList(entity);
+                entity.setWorkClientBankList(bankList);
+            }
+        }
+        long t4 = System.currentTimeMillis();
+        logger.info("查询客户详情耗时:{}",t4-t3);
+        logger.info("查询客户总耗时:{}",t4-t1);
+        page.setList(list);
+        return page;
+    }
 
+    /**
+     * 根据类型获取联系人信息集合
+     * @param workClientInfo
+     * @return
+     */
+    public List<WorkClientInfo> findPageUnit(WorkClientInfo workClientInfo) {
+        workClientInfo.setDelFlag("0");
+        return workClientInfoDao.findList3(workClientInfo);
+    }
 }

+ 145 - 3
src/main/java/com/jeeplus/modules/workclientinfo/web/WorkClientInfoController.java

@@ -512,10 +512,101 @@ public class WorkClientInfoController extends BaseController {
 		model.addAttribute("page", page);
 		return  "modules/sys/gridselect1";
 	}
-
+	//施工方联系人
 	@RequestMapping("clientInfolist")
 	public String queryClientInfolist(WorkClientInfo clientInfo, String url, String fieldLabels, String fieldKeys, String searchLabel, String searchKey, String searchLabel1, String searchKey1, HttpServletRequest request, HttpServletResponse response, Model model){
-		Page<WorkClientInfo> page = workClientInfoService.findPage(new Page<WorkClientInfo>(request, response), clientInfo);
+		Page<WorkClientInfo> page = workClientInfoService.findPageUnit(new Page<WorkClientInfo>(request, response), clientInfo);
+		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", clientInfo);
+		model.addAttribute("page", page);
+		if(clientInfo.getClientType().equals("3")){
+			return  "modules/sys/gridselectClientLink";
+		}else if(clientInfo.getClientType().equals("2")){
+			return  "modules/sys/gridselectClientBuild";
+		}else if(clientInfo.getClientType().equals("4")){
+			return  "modules/sys/gridselectClientSuper";
+		}else if(clientInfo.getClientType().equals("5")){
+			return  "modules/sys/gridselectClientDesign";
+		}
+			return "null";
+	}
+
+	/**
+	 * 新添加页面建设单位
+	 * @return
+	 */
+	@RequestMapping("clientInfoBuild")
+	public String queryClientInfoBuild(WorkClientInfo clientInfo, String url, String fieldLabels, String fieldKeys, String searchLabel, String searchKey, String searchLabel1, String searchKey1, HttpServletRequest request, HttpServletResponse response, Model model){
+		Page<WorkClientInfo> page = workClientInfoService.findPageUnit(new Page<WorkClientInfo>(request, response), clientInfo);
+		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", clientInfo);
+		model.addAttribute("page", page);
+		return  "modules/sys/gridselectClientBuild";
+		/*Page<WorkClientInfo> page = workClientInfoService.findPageUnit(new Page<WorkClientInfo>(request, response), clientInfo);
+		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", clientInfo);
+		model.addAttribute("page", page);
+		if(clientInfo.getClientType().equals("3")){
+			return  "modules/sys/gridselectClientLink";
+		}else if(clientInfo.getClientType().equals("2")){
+			return  "modules/sys/gridselectClientBuild";
+		}else if(clientInfo.getClientType().equals("4")){
+			return  "modules/sys/gridselectClientSuper";
+		}else if(clientInfo.getClientType().equals("5")){
+			return  "modules/sys/gridselectClientDesign";
+		}
+		return "null";*/
+	}
+
+	/**
+	 * 新添加监理单位
+	 * @return
+	 */
+	@RequestMapping("clientInfoSuper")
+	public String queryClientInfoSuper(WorkClientInfo clientInfo, String url, String fieldLabels, String fieldKeys, String searchLabel, String searchKey, String searchLabel1, String searchKey1, HttpServletRequest request, HttpServletResponse response, Model model){
+		Page<WorkClientInfo> page = workClientInfoService.findPageUnit(new Page<WorkClientInfo>(request, response), clientInfo);
 		try {
 			fieldLabels = URLDecoder.decode(fieldLabels, "UTF-8");
 			fieldKeys = URLDecoder.decode(fieldKeys, "UTF-8");
@@ -533,9 +624,60 @@ public class WorkClientInfoController extends BaseController {
 		model.addAttribute("searchKey", searchKey);
 		model.addAttribute("obj", clientInfo);
 		model.addAttribute("page", page);
-		return  "modules/sys/gridselectClientLink";
+		return  "modules/sys/gridselectClientSuper";
 	}
 
+	//设计方联系人
+	@RequestMapping("clientInfoDesign")
+	public String queryClientInfoDesign(WorkClientInfo clientInfo, String url, String fieldLabels, String fieldKeys, String searchLabel, String searchKey, String searchLabel1, String searchKey1, HttpServletRequest request, HttpServletResponse response, Model model){
+		Page<WorkClientInfo> page = workClientInfoService.findPageUnit(new Page<WorkClientInfo>(request, response), clientInfo);
+		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", clientInfo);
+		model.addAttribute("page", page);
+		return  "modules/sys/gridselectClientDesign";
+		/*Page<WorkClientInfo> page = workClientInfoService.findPageUnit(new Page<WorkClientInfo>(request, response), clientInfo);
+		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", clientInfo);
+		model.addAttribute("page", page);
+		if(clientInfo.getClientType().equals("3")){
+			return  "modules/sys/gridselectClientLink";
+		}else if(clientInfo.getClientType().equals("2")){
+			return  "modules/sys/gridselectClientBuild";
+		}else if(clientInfo.getClientType().equals("4")){
+			return  "modules/sys/gridselectClientSuper";
+		}else if(clientInfo.getClientType().equals("5")){
+			return  "modules/sys/gridselectClientDesign";
+		}
+		return "null";*/
+	}
     @ResponseBody
 	@RequestMapping("checkUscCode")
     public String checkUscCode(String uscCode,String oldUscCode){

+ 128 - 0
src/main/resources/mappings/modules/workclientinfo/WorkClientInfoDao.xml

@@ -387,4 +387,132 @@
 		from work_client_job_type_info
 		where work_client_id = #{id}
 	</select>
+
+
+	<!--新添查询对应施工类型的联系人数量-->
+	<select id="getCount" resultType="int" >
+		SELECT
+		count(1)
+		FROM work_client_info a
+		<if test="workClientLinkman != null and workClientLinkman.name !=null and workClientLinkman.name !=''">
+			LEFT JOIN work_client_linkman b ON a.id = b.client_id
+		</if>
+			LEFT join work_client_job_type_info as c on  a.id=c.work_client_id
+		<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="companyType != null and companyType != ''">
+				AND a.company_type = #{companyType}
+			</if>
+			<if test="companyIndustry != null and companyIndustry != ''">
+				AND a.company_industry = #{companyIndustry}
+			</if>
+			<if test="area != null and area.id != null and area.id != ''">
+				AND (a.area_id = #{area.id} OR find_in_set(#{area.id},a.area_parent_ids))
+			</if>
+			<if test="workClientLinkman != null and workClientLinkman.name != null and workClientLinkman.name !=''">
+				AND b.name LIKE concat('%',#{workClientLinkman.name},'%')
+			</if>
+			<if test="workClientLinkman != null and workClientLinkman.linkPhone != null and workClientLinkman.linkPhone !=''">
+				AND b.link_phone LIKE concat('%',#{workClientLinkman.linkPhone},'%')
+			</if>
+			<if test="address != null and address != ''">
+				AND a.address LIKE
+				<if test="dbName == 'oracle'">'%'||#{address}||'%'</if>
+				<if test="dbName == 'mssql'">'%'+#{address}+'%'</if>
+				<if test="dbName == 'mysql'">concat('%',#{address},'%')</if>
+			</if>
+			<!--<if test="clientType != null and clientType != ''">
+				AND a.client_type like concat('%',#{clientType},'%')
+			</if>-->
+			<if test="uscCode != null and uscCode != ''">
+				AND a.usc_code like concat('%',#{uscCode},'%')
+			</if>
+			<if test="beginDate !=null">
+				AND a.create_date >= #{beginDate}
+			</if>
+			<if test="endDate !=null">
+				AND a.create_date &lt; #{endDate}
+			</if>
+			<if test="clientType != null and clientType != ''">
+				AND c.job_type_id=#{clientType}
+			</if>
+			AND a.company_id = #{currentUser.company.id}
+		</where>
+	</select>
+
+	<!--获取联系人信息集合-->
+	<select id="findList3" resultType="WorkClientInfo" >
+		SELECT
+		<include refid="workClientInfoColumns"/>
+		FROM work_client_info a
+		<include refid="workClientInfoJoinsLink"/>
+		<if test="workClientLinkman != null and workClientLinkman.name !=null and workClientLinkman.name !=''">
+			LEFT JOIN work_client_linkman b ON a.id = b.client_id
+		</if>
+			LEFT join work_client_job_type_info as c on  a.id=c.work_client_id
+		<where>
+			a.del_flag = #{DEL_FLAG_NORMAL}
+			<!--<if test="workClientLinkman != null and workClientLinkman.id != '' and workClientLinkman.id != null">-->
+			<!--LEFT JOIN work_client_linkman b ON a.id = b.client_id-->
+			<!--and b.id = #{workClientLinkman.id}-->
+			<!--</if>-->
+			<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="companyType != null and companyType != ''">
+				AND a.company_type = #{companyType}
+			</if>
+			<if test="companyIndustry != null and companyIndustry != ''">
+				AND a.company_industry = #{companyIndustry}
+			</if>
+			<if test="area != null and area.id != null and area.id != ''">
+				AND (a.area_id = #{area.id} OR find_in_set(#{area.id},a.area_parent_ids))
+			</if>
+			<if test="workClientLinkman != null and workClientLinkman.name != null and workClientLinkman.name !=''">
+				AND b.name LIKE concat('%',#{workClientLinkman.name},'%')
+			</if>
+			<if test="workClientLinkman != null and workClientLinkman.linkPhone != null and workClientLinkman.linkPhone !=''">
+				AND b.link_phone LIKE concat('%',#{workClientLinkman.linkPhone},'%')
+			</if>
+			<if test="address != null and address != ''">
+				AND a.address LIKE
+				<if test="dbName == 'oracle'">'%'||#{address}||'%'</if>
+				<if test="dbName == 'mssql'">'%'+#{address}+'%'</if>
+				<if test="dbName == 'mysql'">concat('%',#{address},'%')</if>
+			</if>
+			<!--<if test="clientType != null and clientType != ''">
+				AND a.client_type like concat('%',#{clientType},'%')
+			</if>-->
+			<if test="uscCode != null and uscCode != ''">
+				AND a.usc_code like concat('%',#{uscCode},'%')
+			</if>
+			<if test="beginDate !=null">
+				AND a.create_date >= #{beginDate}
+			</if>
+			<if test="endDate !=null">
+				AND a.create_date &lt; #{endDate}
+			</if>
+			<if test="clientType != null and clientType != ''">
+				AND c.job_type_id=#{clientType}
+			</if>
+			AND a.company_id = #{currentUser.company.id}
+		</where>
+		<choose>
+			<when test="page !=null and page.orderBy != null and page.orderBy != ''">
+				ORDER BY ${page.orderBy}
+			</when>
+			<otherwise>
+				ORDER BY a.update_date DESC
+			</otherwise>
+		</choose>
+	</select>
 </mapper>

+ 59 - 0
src/main/webapp/WEB-INF/tags/sys/gridselectClientBuild.tag

@@ -0,0 +1,59 @@
+<%@ tag language="java" pageEncoding="UTF-8"%>
+<%@ include file="/webpage/include/taglib.jsp"%>
+<%@ attribute name="id" type="java.lang.String" required="true" description="编号"%>
+<%@ attribute name="name" type="java.lang.String" required="false" description="隐藏域名称(ID)"%>
+<%@ attribute name="value" type="java.lang.String" required="false" description="隐藏域值(ID)"%>
+<%@ attribute name="labelName" type="java.lang.String" required="false" description="输入框名称(Name)"%>
+<%@ attribute name="labelValue" type="java.lang.String" required="false" description="输入框值(Name)"%>
+<%@ attribute name="fieldLabels" type="java.lang.String" required="true" description="表格Th里显示的名字"%>
+<%@ attribute name="fieldKeys" type="java.lang.String" required="true" description="表格Td里显示的值"%>
+<%@ attribute name="searchLabel" type="java.lang.String" required="true" description="表格Td里显示的值"%>
+<%@ attribute name="searchKey" type="java.lang.String" required="true" description="表格Td里显示的值"%>
+<%@ attribute name="floorLabel" type="java.lang.String" required="false" description="表格Td里显示的值"%>
+<%@ attribute name="floorKey" type="java.lang.String" required="false" description="表格Td里显示的值"%>
+<%@ attribute name="housenumberLabel" type="java.lang.String" required="false" description="表格Td里显示的值"%>
+<%@ attribute name="housenumberKey" type="java.lang.String" required="false" description="表格Td里显示的值"%>
+<%@ attribute name="title" type="java.lang.String" required="true" description="选择框标题"%>
+<%@ attribute name="url" type="java.lang.String" required="true" description="数据地址"%>
+<%@ attribute name="cssClass" type="java.lang.String" required="false" description="css样式"%>
+<%@ attribute name="cssStyle" type="java.lang.String" required="false" description="css样式"%>
+<%@ attribute name="disabled" type="java.lang.String" required="false" description="是否限制选择,如果限制,设置为disabled"%>
+<script type="text/javascript">
+function searchGrid${id}(){
+    var uri = "${url}clientType=2";
+	top.layer.open({
+	    type: 2,  
+	    area: ['90%','90%'],
+	    title:"${title}",
+	    name:'friend',
+        skin:"two-btns",
+	    content: encodeURI(uri+"&fieldLabels=${fieldLabels}&fieldKeys=${fieldKeys}&url="+uri+"&searchLabel=${searchLabel}&searchKey=${searchKey}&floorLabel=${floorLabel}&floorKey=${floorKey}&housenumberLabel=${housenumberLabel}&housenumberKey=${housenumberKey}") ,
+	    btn: ['确定', '关闭'],
+	    yes: function(index, layero){
+	    	 var iframeWin = layero.find('iframe')[0].contentWindow; //得到iframe页的窗口对象,执行iframe页的方法:iframeWin.method();
+	    	 var item = iframeWin.getSelectedItem();
+
+	    	 if(item == "-1"){
+		    	 return;
+	    	 }
+
+			 top.layer.close(index);//关闭对话框。
+           	 setClientBuild(item);
+		  },
+		  cancel: function(index){ 
+	       }
+	});
+
+}
+</script>
+
+	<input id="${id}Id"  type="hidden" />
+	<div class="input-group" style="width: 100%">
+		<%--<input id="${id}Name"  name="${labelName }" ${allowInput?'':'readonly="readonly"'}  type="text" value="${labelValue}" data-msg-required="${dataMsgRequired}"
+		class="${cssClass}" style="${cssStyle}"/>--%>
+       		 <span class="input-group-btn">
+	       		 <a href=javascript:void(0); style="font-size:14px;" onclick="searchGrid${id}($('#${id}Id').val(),'${id}')" id="${id}Button"  class="nav-btn nav-btn-add"><i class="fa fa-search-plus"></i> 添加建设方信息</a>
+       		 </span>
+       		
+    </div>
+	 <label id="${id}Name-error" class="error" for="${id}Name" style="display:none"></label>

+ 59 - 0
src/main/webapp/WEB-INF/tags/sys/gridselectClientDesign.tag

@@ -0,0 +1,59 @@
+<%@ tag language="java" pageEncoding="UTF-8"%>
+<%@ include file="/webpage/include/taglib.jsp"%>
+<%@ attribute name="id" type="java.lang.String" required="true" description="编号"%>
+<%@ attribute name="name" type="java.lang.String" required="false" description="隐藏域名称(ID)"%>
+<%@ attribute name="value" type="java.lang.String" required="false" description="隐藏域值(ID)"%>
+<%@ attribute name="labelName" type="java.lang.String" required="false" description="输入框名称(Name)"%>
+<%@ attribute name="labelValue" type="java.lang.String" required="false" description="输入框值(Name)"%>
+<%@ attribute name="fieldLabels" type="java.lang.String" required="true" description="表格Th里显示的名字"%>
+<%@ attribute name="fieldKeys" type="java.lang.String" required="true" description="表格Td里显示的值"%>
+<%@ attribute name="searchLabel" type="java.lang.String" required="true" description="表格Td里显示的值"%>
+<%@ attribute name="searchKey" type="java.lang.String" required="true" description="表格Td里显示的值"%>
+<%@ attribute name="floorLabel" type="java.lang.String" required="false" description="表格Td里显示的值"%>
+<%@ attribute name="floorKey" type="java.lang.String" required="false" description="表格Td里显示的值"%>
+<%@ attribute name="housenumberLabel" type="java.lang.String" required="false" description="表格Td里显示的值"%>
+<%@ attribute name="housenumberKey" type="java.lang.String" required="false" description="表格Td里显示的值"%>
+<%@ attribute name="title" type="java.lang.String" required="true" description="选择框标题"%>
+<%@ attribute name="url" type="java.lang.String" required="true" description="数据地址"%>
+<%@ attribute name="cssClass" type="java.lang.String" required="false" description="css样式"%>
+<%@ attribute name="cssStyle" type="java.lang.String" required="false" description="css样式"%>
+<%@ attribute name="disabled" type="java.lang.String" required="false" description="是否限制选择,如果限制,设置为disabled"%>
+<script type="text/javascript">
+function searchGrid${id}(){
+    var uri = "${url}?clientType=5";
+	top.layer.open({
+	    type: 2,  
+	    area: ['90%','90%'],
+	    title:"${title}",
+	    name:'friend',
+        skin:"two-btns",
+	    content: encodeURI(uri+"&fieldLabels=${fieldLabels}&fieldKeys=${fieldKeys}&url="+uri+"&searchLabel=${searchLabel}&searchKey=${searchKey}&floorLabel=${floorLabel}&floorKey=${floorKey}&housenumberLabel=${housenumberLabel}&housenumberKey=${housenumberKey}") ,
+	    btn: ['确定', '关闭'],
+	    yes: function(index, layero){
+	    	 var iframeWin = layero.find('iframe')[0].contentWindow; //得到iframe页的窗口对象,执行iframe页的方法:iframeWin.method();
+	    	 var item = iframeWin.getSelectedItem();
+
+	    	 if(item == "-1"){
+		    	 return;
+	    	 }
+
+			 top.layer.close(index);//关闭对话框。
+           	 setClientDesign(item);
+		  },
+		  cancel: function(index){ 
+	       }
+	});
+
+}
+</script>
+
+	<input id="${id}Id"  type="hidden" />
+	<div class="input-group" style="width: 100%">
+		<%--<input id="${id}Name"  name="${labelName }" ${allowInput?'':'readonly="readonly"'}  type="text" value="${labelValue}" data-msg-required="${dataMsgRequired}"
+		class="${cssClass}" style="${cssStyle}"/>--%>
+       		 <span class="input-group-btn">
+	       		 <a href=javascript:void(0); style="font-size:14px;" onclick="searchGrid${id}($('#${id}Id').val(),'${id}')" id="${id}Button"  class="nav-btn nav-btn-add"><i class="fa fa-search-plus"></i> 添加设计方信息</a>
+       		 </span>
+       		
+    </div>
+	 <label id="${id}Name-error" class="error" for="${id}Name" style="display:none"></label>

+ 59 - 0
src/main/webapp/WEB-INF/tags/sys/gridselectClientSuper.tag

@@ -0,0 +1,59 @@
+<%@ tag language="java" pageEncoding="UTF-8"%>
+<%@ include file="/webpage/include/taglib.jsp"%>
+<%@ attribute name="id" type="java.lang.String" required="true" description="编号"%>
+<%@ attribute name="name" type="java.lang.String" required="false" description="隐藏域名称(ID)"%>
+<%@ attribute name="value" type="java.lang.String" required="false" description="隐藏域值(ID)"%>
+<%@ attribute name="labelName" type="java.lang.String" required="false" description="输入框名称(Name)"%>
+<%@ attribute name="labelValue" type="java.lang.String" required="false" description="输入框值(Name)"%>
+<%@ attribute name="fieldLabels" type="java.lang.String" required="true" description="表格Th里显示的名字"%>
+<%@ attribute name="fieldKeys" type="java.lang.String" required="true" description="表格Td里显示的值"%>
+<%@ attribute name="searchLabel" type="java.lang.String" required="true" description="表格Td里显示的值"%>
+<%@ attribute name="searchKey" type="java.lang.String" required="true" description="表格Td里显示的值"%>
+<%@ attribute name="floorLabel" type="java.lang.String" required="false" description="表格Td里显示的值"%>
+<%@ attribute name="floorKey" type="java.lang.String" required="false" description="表格Td里显示的值"%>
+<%@ attribute name="housenumberLabel" type="java.lang.String" required="false" description="表格Td里显示的值"%>
+<%@ attribute name="housenumberKey" type="java.lang.String" required="false" description="表格Td里显示的值"%>
+<%@ attribute name="title" type="java.lang.String" required="true" description="选择框标题"%>
+<%@ attribute name="url" type="java.lang.String" required="true" description="数据地址"%>
+<%@ attribute name="cssClass" type="java.lang.String" required="false" description="css样式"%>
+<%@ attribute name="cssStyle" type="java.lang.String" required="false" description="css样式"%>
+<%@ attribute name="disabled" type="java.lang.String" required="false" description="是否限制选择,如果限制,设置为disabled"%>
+<script type="text/javascript">
+function searchGrid${id}(){
+    var uri = "${url}?clientType=4";
+	top.layer.open({
+	    type: 2,  
+	    area: ['90%','90%'],
+	    title:"${title}",
+	    name:'friend',
+        skin:"two-btns",
+	    content: encodeURI(uri+"&fieldLabels=${fieldLabels}&fieldKeys=${fieldKeys}&url="+uri+"&searchLabel=${searchLabel}&searchKey=${searchKey}&floorLabel=${floorLabel}&floorKey=${floorKey}&housenumberLabel=${housenumberLabel}&housenumberKey=${housenumberKey}") ,
+	    btn: ['确定', '关闭'],
+	    yes: function(index, layero){
+	    	 var iframeWin = layero.find('iframe')[0].contentWindow; //得到iframe页的窗口对象,执行iframe页的方法:iframeWin.method();
+	    	 var item = iframeWin.getSelectedItem();
+
+	    	 if(item == "-1"){
+		    	 return;
+	    	 }
+
+			 top.layer.close(index);//关闭对话框。
+           	 setClientSuper(item);
+		  },
+		  cancel: function(index){ 
+	       }
+	});
+
+}
+</script>
+
+	<input id="${id}Id"  type="hidden" />
+	<div class="input-group" style="width: 100%">
+		<%--<input id="${id}Name"  name="${labelName }" ${allowInput?'':'readonly="readonly"'}  type="text" value="${labelValue}" data-msg-required="${dataMsgRequired}"
+		class="${cssClass}" style="${cssStyle}"/>--%>
+       		 <span class="input-group-btn">
+	       		 <a href=javascript:void(0); style="font-size:14px;" onclick="searchGrid${id}($('#${id}Id').val(),'${id}')" id="${id}Button"  class="nav-btn nav-btn-add"><i class="fa fa-search-plus"></i> 添加监理方信息</a>
+       		 </span>
+       		
+    </div>
+	 <label id="${id}Name-error" class="error" for="${id}Name" style="display:none"></label>

+ 248 - 18
src/main/webapp/webpage/modules/projectrecord/projectRecordsForm.jsp

@@ -282,6 +282,7 @@
             return false;
         }
 
+        /*施工单位*/
         function setClientInfo(obj) {
             for(var i=0;i<obj.length;i++){
                 var idArr = $("#workConstructionLinkmanList tr:visible .linkmanId");
@@ -291,6 +292,38 @@
                 }
             }
         }
+
+        /*建设单位*/
+        function setClientBuild(obj) {
+            for(var i=0;i<obj.length;i++){
+                var idArr = $("#workBuildLinkmanList tr:visible .linkmanId");
+                if(obj[i].id!=''&&!hasInArr(obj[i].id,idArr)){
+                    addRow("#workBuildLinkmanList",workBuildLinkmanRowIdx,workBuildLinkmanTpl,obj[i]);
+                    workBuildLinkmanRowIdx=workBuildLinkmanRowIdx+1;
+                }
+            }
+        }
+
+        /*监理单位*/
+        function setClientSuper(obj) {
+            for(var i=0;i<obj.length;i++){
+                var idArr = $("#workSuperLinkmanList tr:visible .linkmanId");
+                if(obj[i].id!=''&&!hasInArr(obj[i].id,idArr)){
+                    addRow("#workSuperLinkmanList",workSuperLinkmanRowIdx,workSuperLinkmanTpl,obj[i]);
+                    workSuperLinkmanRowIdx=workSuperLinkmanRowIdx+1;
+                }
+            }
+        }
+        /*设计单位*/
+        function setClientDesign(obj) {
+            for(var i=0;i<obj.length;i++){
+                var idArr = $("#workDesignLinkmanList tr:visible .linkmanId");
+                if(obj[i].id!=''&&!hasInArr(obj[i].id,idArr)){
+                    addRow("#workDesignLinkmanList",workDesignLinkmanRowIdx,workDesignLinkmanTpl,obj[i]);
+                    workDesignLinkmanRowIdx=workDesignLinkmanRowIdx+1;
+                }
+            }
+        }
         function existConstructionLinkman(obj,length) {
             for (var i=0;i<length;i++) {
                 var val = $('#workConstructionLinkmanList'+i+'_id').val();
@@ -800,28 +833,84 @@
                                 }
                             }
                         });
-                        //获取项目类型
-                        /*$(document).ready(function () {
-                            $.ajax({
-                                type:'post',
-                                url:'${ctx}/project/projectRecords/getProjectType',
-                                data:{
-
-                                },
-                                success:function(data){
-                                     console.log(data);
-                                    /!*var pro=$("#projectType");
-                                    for(var i=0;i<data.projectTypeId.length;i++){
-                                        var option="<option value="+data.projectTypeId[i].id+">"+data.projectTypeId[i].type_name+"</option>";
-                                        pro.append(option);
-                                    }*!/
-                                }
-                            });
-                        });*/
+
                     </script>
                 </div>
             </div>
 
+            <%--新添加代码建设方信息(start)--%>
+            <div class="form-group layui-row">
+                <div class="form-group-label"><h2>建设方信息</h2></div>
+                <div class="layui-item nav-btns">
+                    <sys:gridselectClientBuild url="${ctx}/workclientinfo/workClientInfo/clientInfoBuild" id="constructionOrgList2"   title="选择建设单位"
+                                              cssClass="form-control required" fieldLabels="${fns:urlEncode('客户编号')}" fieldKeys="name"  searchLabel="${fns:urlEncode('客户名称')}" searchKey="name">
+                    </sys:gridselectClientBuild>
+                </div>
+                <div class="layui-item layui-col-xs12 form-table-container">
+                    <table id="contentTableBuild" class="table table-bordered table-condensed details">
+                        <thead>
+                        <tr>
+                            <th class="hide"></th>
+                            <th style="text-align: center" width="20%">建设方单位名称</th>
+                            <th style="text-align: center" width="20%">联系人姓名</th>
+                            <th style="text-align: center" width="20%">联系方式1</th>
+                            <th style="text-align: center" width="20%">联系方式2</th>
+                            <th width="20%">操作</th>
+                        </tr>
+                        </thead>
+                        <tbody id="workBuildLinkmanList">
+                        </tbody>
+                    </table>
+                    <script type="text/template" id="workBuildLinkmanTpl">//<!--
+					<tr id="workBuildLinkmanList{{idx}}">
+					<td class="hide">
+						<input id="workBuildLinkmanList{{idx}}_id" name="workBuildLinkmanList[{{idx}}].id" type="hidden" value="{{row.id}}" class="linkmanId"/>
+						<input id="workBuildLinkmanList{{idx}}_delFlag" name="workBuildLinkmanList[{{idx}}].delFlag" type="hidden" value="0"/>
+					</td>
+					<td style="text-align: center">
+						<input id="workBuildLinkmanList{{idx}}_cid" name = "workBuildLinkmanList[{{idx}}].clientId.id" type="hidden" value="{{row.clientId.id}}"/>
+						{{row.clientId.name}}
+					</td>
+					<td style="text-align: center">
+						{{row.name }}
+					</td>
+					<td style="text-align: center">
+						{{row.linkPhone}}
+					</td>
+					<td style="text-align: center">
+						{{row.linkMobile}}
+					</td>
+					<td class="text-center" width="10">
+						{{#delBtn}}<span class="op-btn op-btn-delete" onclick="delRow(this, '#workConstructionLinkmanList2{{idx}}')" title="删除"><i class="fa fa-trash"></i>&nbsp;删除</span>{{/delBtn}}
+					</td>
+				</tr>//-->
+                    </script>
+                    <script>
+                        var workClientLinkmanRowIdx = 0, workClientLinkmanTpl = $("#workClientLinkmanTpl").html().replace(/(\/\/\<!\-\-)|(\/\/\-\->)/g,"");
+                        var workBuildLinkmanRowIdx = 0, workBuildLinkmanTpl = $("#workBuildLinkmanTpl").html().replace(/(\/\/\<!\-\-)|(\/\/\-\->)/g,"");
+                        $(document).ready(function() {
+                            var data = ${fns:toJson(projectRecords.workClientLinkmanList)};
+
+                            if (data!=null) {
+                                for (var i = 0; i < data.length; i++) {
+                                    addRow('#workClientLinkmanList', workClientLinkmanRowIdx, workClientLinkmanTpl, data[i]);
+                                    workClientLinkmanRowIdx = workClientLinkmanRowIdx + 1;
+                                }
+                            }
+                            var dataBuild = ${fns:toJson(projectRecords.workBuildLinkmanList)};
+                            if (dataBuild!=null) {
+                                for (var i = 0; i < dataBuild.length; i++) {
+                                    addRow('#workBuildLinkmanList', workBuildLinkmanRowIdx, workBuildLinkmanTpl, dataBuild[i]);
+                                    workBuildLinkmanRowIdx = workBuildLinkmanRowIdx + 1;
+                                }
+                            }
+                        });
+
+                    </script>
+                </div>
+            </div>
+            <%--end--%>
+            <%--施工单位--%>
             <div class="form-group layui-row">
                 <div class="form-group-label"><h2>施工方信息</h2></div>
                 <div class="layui-item nav-btns">
@@ -890,7 +979,148 @@
                     </script>
                 </div>
             </div>
+            <%--end--%>
+            <%--监理单位(start)--%>
+            <div class="form-group layui-row">
+                <div class="form-group-label"><h2>监理方信息</h2></div>
+                <div class="layui-item nav-btns">
+                    <sys:gridselectClientSuper url="${ctx}/workclientinfo/workClientInfo/clientInfoSuper" id="constructionOrgList"   title="选择施工单位"
+                                              cssClass="form-control required" fieldLabels="${fns:urlEncode('客户编号')}" fieldKeys="name"  searchLabel="${fns:urlEncode('客户名称')}" searchKey="name"></sys:gridselectClientSuper>
+                </div>
+                <div class="layui-item layui-col-xs12 form-table-container">
+                    <table id="contentTableSuper" class="table table-bordered table-condensed details">
+                        <thead>
+                        <tr>
+                            <th class="hide"></th>
+                            <th style="text-align: center" width="20%">监理方单位名称</th>
+                            <th style="text-align: center" width="20%">联系人姓名</th>
+                            <th style="text-align: center" width="20%">联系方式1</th>
+                            <th style="text-align: center" width="20%">联系方式2</th>
+                            <th width="20%">操作</th>
+                        </tr>
+                        </thead>
+                        <tbody id="workSuperLinkmanList">
+                        </tbody>
+                    </table>
+                    <script type="text/template" id="workSuperLinkmanTpl">//<!--
+					<tr id="workSuperLinkmanList{{idx}}">
+					<td class="hide">
+						<input id="workSuperLinkmanList{{idx}}_id" name="workSuperLinkmanList[{{idx}}].id" type="hidden" value="{{row.id}}" class="linkmanId"/>
+						<input id="workSuperLinkmanList{{idx}}_delFlag" name="workSuperLinkmanList[{{idx}}].delFlag" type="hidden" value="0"/>
+					</td>
+					<td style="text-align: center">
+						<input id="workSuperLinkmanList{{idx}}_cid" name = "workSuperLinkmanList[{{idx}}].clientId.id" type="hidden" value="{{row.clientId.id}}"/>
+						{{row.clientId.name}}
+					</td>
+					<td style="text-align: center">
+						{{row.name }}
+					</td>
+					<td style="text-align: center">
+						{{row.linkPhone}}
+					</td>
+					<td style="text-align: center">
+						{{row.linkMobile}}
+					</td>
+					<td class="text-center" width="10">
+						{{#delBtn}}<span class="op-btn op-btn-delete" onclick="delRow(this, '#workSuperLinkmanList{{idx}}')" title="删除"><i class="fa fa-trash"></i>&nbsp;删除</span>{{/delBtn}}
+					</td>
+				</tr>//-->
+                    </script>
+                    <script>
+                        var workClientLinkmanRowIdx = 0, workClientLinkmanTpl = $("#workClientLinkmanTpl").html().replace(/(\/\/\<!\-\-)|(\/\/\-\->)/g,"");
+                        var workSuperLinkmanRowIdx = 0, workSuperLinkmanTpl = $("#workSuperLinkmanTpl").html().replace(/(\/\/\<!\-\-)|(\/\/\-\->)/g,"");
+                        $(document).ready(function() {
+                            var data = ${fns:toJson(projectRecords.workClientLinkmanList)};
+                            if (data!=null) {
+                                for (var i = 0; i < data.length; i++) {
+                                    addRow('#workClientLinkmanList', workClientLinkmanRowIdx, workClientLinkmanTpl, data[i]);
+                                    workClientLinkmanRowIdx = workClientLinkmanRowIdx + 1;
+                                }
+                            }
+                            var dataSuper = ${fns:toJson(projectRecords.workSuperLinkmanList)};
+                            if (dataSuper!=null) {
+                                for (var i = 0; i < dataSuper.length; i++) {
+                                    addRow('#workSuperLinkmanList', workSuperLinkmanRowIdx, workSuperLinkmanTpl, dataSuper[i]);
+                                    workSuperLinkmanRowIdx = workSuperLinkmanRowIdx + 1;
+                                }
+                            }
+                        });
 
+                    </script>
+                </div>
+            </div>
+            <%--end--%>
+
+            <%--设计单位--%>
+            <div class="form-group layui-row">
+                <div class="form-group-label"><h2>设计方信息</h2></div>
+                <div class="layui-item nav-btns">
+                    <sys:gridselectClientDesign url="${ctx}/workclientinfo/workClientInfo/clientInfoDesign" id="constructionOrgList"   title="选择设计单位"
+                                              cssClass="form-control required" fieldLabels="${fns:urlEncode('客户编号')}" fieldKeys="name"  searchLabel="${fns:urlEncode('客户名称')}" searchKey="name"></sys:gridselectClientDesign>
+                </div>
+                <div class="layui-item layui-col-xs12 form-table-container">
+                    <table id="contentTableDesign" class="table table-bordered table-condensed details">
+                        <thead>
+                        <tr>
+                            <th class="hide"></th>
+                            <th style="text-align: center" width="20%">设计方单位名称</th>
+                            <th style="text-align: center" width="20%">联系人姓名</th>
+                            <th style="text-align: center" width="20%">联系方式1</th>
+                            <th style="text-align: center" width="20%">联系方式2</th>
+                            <th width="20%">操作</th>
+                        </tr>
+                        </thead>
+                        <tbody id="workDesignLinkmanList">
+                        </tbody>
+                    </table>
+                    <script type="text/template" id="workDesignLinkmanTpl">//<!--
+					<tr id="workConstructionLinkmanList{{idx}}">
+					<td class="hide">
+						<input id="workDesignLinkmanList{{idx}}_id" name="workDesignLinkmanList[{{idx}}].id" type="hidden" value="{{row.id}}" class="linkmanId"/>
+						<input id="workDesignLinkmanList{{idx}}_delFlag" name="workDesignLinkmanList[{{idx}}].delFlag" type="hidden" value="0"/>
+					</td>
+					<td style="text-align: center">
+						<input id="workDesignkmanList{{idx}}_cid" name = "workDesignLinkmanList[{{idx}}].clientId.id" type="hidden" value="{{row.clientId.id}}"/>
+						{{row.clientId.name}}
+					</td>
+					<td style="text-align: center">
+						{{row.name }}
+					</td>
+					<td style="text-align: center">
+						{{row.linkPhone}}
+					</td>
+					<td style="text-align: center">
+						{{row.linkMobile}}
+					</td>
+					<td class="text-center" width="10">
+						{{#delBtn}}<span class="op-btn op-btn-delete" onclick="delRow(this, '#workDesignLinkmanList{{idx}}')" title="删除"><i class="fa fa-trash"></i>&nbsp;删除</span>{{/delBtn}}
+					</td>
+				</tr>//-->
+                    </script>
+                    <script>
+                        var workClientLinkmanRowIdx = 0, workClientLinkmanTpl = $("#workClientLinkmanTpl").html().replace(/(\/\/\<!\-\-)|(\/\/\-\->)/g,"");
+                        var workDesignLinkmanRowIdx = 0, workDesignLinkmanTpl = $("#workDesignLinkmanTpl").html().replace(/(\/\/\<!\-\-)|(\/\/\-\->)/g,"");
+                        $(document).ready(function() {
+                            var data = ${fns:toJson(projectRecords.workClientLinkmanList)};
+                            if (data!=null) {
+                                for (var i = 0; i < data.length; i++) {
+                                    addRow('#workClientLinkmanList', workClientLinkmanRowIdx, workClientLinkmanTpl, data[i]);
+                                    workClientLinkmanRowIdx = workClientLinkmanRowIdx + 1;
+                                }
+                            }
+                            var dataDesign = ${fns:toJson(projectRecords.workDesignLinkmanList)};
+                            if (dataDesign!=null) {
+                                for (var i = 0; i < dataDesign.length; i++) {
+                                    addRow('#workDesignLinkmanList', workDesignLinkmanRowIdx, workDesignLinkmanTpl, dataDesign[i]);
+                                    workDesignLinkmanRowIdx = workDesignLinkmanRowIdx + 1;
+                                }
+                            }
+                        });
+
+                    </script>
+                </div>
+            </div>
+            <%--end--%>
             <div class="form-group layui-row">
                 <div class="form-group-label"><h2><span class="require-item">*</span>项目计划附件信息</h2></div>
                 <div class="layui-item nav-btns">

+ 129 - 0
src/main/webapp/webpage/modules/sys/gridselectClientBuild.jsp

@@ -0,0 +1,129 @@
+<%@ page contentType="text/html;charset=UTF-8" %>
+<%@ include file="/webpage/include/taglib.jsp"%>
+<html>
+<head>
+	<meta name="decorator" content="default"/>
+	<script type="text/javascript">
+		$(document).ready(function() {
+			    $('#contentTable thead tr th input.i-checks').on('ifChecked', function(event){ //ifCreated 事件应该在插件初始化之前绑定 
+			    	  $('#contentTable tbody tr td input.i-checks').iCheck('check');
+			    	});
+			    $('#contentTable thead tr th input.i-checks').on('ifUnchecked', function(event){ //ifCreated 事件应该在插件初始化之前绑定 
+			    	  $('#contentTable tbody tr td input.i-checks').iCheck('uncheck');
+			    	});
+		});
+
+		function getSelectedItem(){
+			var size = $("#contentTable tbody tr td input.i-checks:checked").size();
+			  if(size == 0 ){
+					top.layer.alert('请至少选择一条数据!', {icon: 0, title:'警告'});
+					return "-1";
+				  }
+			/*  if(size > 1 ){
+					top.layer.alert('只能选择一条数据!', {icon: 0, title:'警告'});
+					return "-1";
+				  }*/
+            var arr=new Array();
+            $("#contentTable tbody tr td input.i-checks:checkbox:checked").each(function () {
+                var id =  $(this).attr("id");
+                var label = $(this).parent().parent().parent().find(".codelabel").html();
+                var label1 = $(this).parent().parent().parent().find(".codelabel1").html();
+                var label2 = $(this).parent().parent().parent().find(".codelabel2").html();
+                var label3 = $(this).parent().parent().parent().find(".codelabel3").html();
+                var label4 = $(this).parent().parent().parent().find(".codelabel4").html();
+                var data=  {'clientId':{'id':label,'name':label4},'id':id,'name':label1,'linkPhone':label2,'linkMobile':label3};
+                arr.push(data);
+			})
+            return arr;
+
+}
+		function page(n,s){
+			if(n) $("#pageNo").val(n);
+			if(s) $("#pageSize").val(s);
+			$("#searchForm").attr("action","${url}");
+			$("#searchForm").submit();
+	    	return false;
+	    }
+	</script>
+</head>
+<body>
+<div class="wrapper wrapper-content">
+	<div class="layui-row">
+		<div class="full-width fl">
+			<div class="layui-row" id="queryDiv">
+				<form:form id="searchForm" modelAttribute="obj" action="${url}" method="post" class="form-inline">
+					<input type="hidden" name="url" value="${url}"/>
+					<input type="hidden" name="fieldLabels" value="${fieldLabels}"/>
+					<input type="hidden" name="fieldKeys" value="${fieldKeys}"/>
+					<input type="hidden" name="searchLabel" value="${searchLabel}"/>
+					<input type="hidden" name="searchKey" value="${searchKey}"/>
+					<input id="pageNo" name="pageNo" type="hidden" value="${page.pageNo}"/>
+					<input id="pageSize" name="pageSize" type="hidden" value="${page.pageSize}"/>
+					<table:sortColumn id="orderBy" name="orderBy" value="${page.orderBy}" callback="sortOrRefresh();"/><!-- 支持排序 -->
+
+					<div class="commonQuery">
+						<div class="layui-item query athird lw9">
+							<span class="layui-form-label">${searchLabel}:</span>
+							<div class="layui-input-block">
+								<form:input path="${searchKey}" htmlEscape="false" maxlength="50" class=" form-control layui-input"/>
+							</div>
+						</div>
+						<div class="layui-item athird fr">
+							<div class="input-group">
+								<button id="searchReset" class="fixed-btn searchReset fr" style="margin-right: 0px;" onclick="resetSearch()">重置</button>
+								<button id="searchQuery" class="fixed-btn searchQuery fr" onclick="search()">查询</button>
+							</div>
+						</div>
+						<div style="    clear:both;"></div>
+					</div>
+				</form:form>
+			</div>
+		</div>
+		<div class="full-width fl">
+			<div class="layui-item layui-col-xs12 form-table-container">
+				<table id="contentTable" class="table details table-bordered table-condensed">
+					<thead>
+					<tr>
+						<th width="50"><input type="checkbox" class="i-checks"></th>
+						<th style="display:none">建设方编号</th>
+						<th width="25%">建设方名称</th>
+						<th width="25%">联系人</th>
+						<th width="25%">联系电话</th>
+						<th width="25%">手机号</th>
+					</tr>
+				</thead>
+				<tbody>
+				<c:choose>
+				<c:when test="${not empty page.list}">
+				<c:forEach items="${page.list}" var="obj">
+					<c:forEach items="${obj.workClientLinkmanList}" var="linkman">
+						<tr>
+							<td> <input type="checkbox" id="${fns:getValue(linkman, 'id')}" class="i-checks"></td>
+							<td title="${fns:getValue(obj, 'id')}" class="codelabel" style="display:none">${fns:getValue(obj, 'id')}</td>
+								<td title="${fns:getValue(obj, 'name')}" class="codelabel4">${fns:getValue(obj, 'name')}</td>
+								<td title="${fns:getValue(linkman, 'name')}" class="codelabel1">${fns:getValue(linkman, 'name')}</td>
+								<td class="codelabel2">${fns:getValue(linkman, 'linkPhone')}</td>
+								<td class="codelabel3">${fns:getValue(linkman, 'linkMobile')}</td>
+						</tr>
+					</c:forEach>
+				</c:forEach>
+				</c:when>
+					<c:otherwise>
+						<tr>
+							<td colspan="15" align="center">
+								暂无数据
+							</td>
+						</tr>
+					</c:otherwise>
+				</c:choose>
+
+				</tbody>
+			</table>
+			<table:page page="${page}"></table:page>
+		</div>
+	</div>
+	<div class="form-group layui-row page-end"></div>
+	</div>
+</div>
+</body>
+</html>

+ 129 - 0
src/main/webapp/webpage/modules/sys/gridselectClientDesign.jsp

@@ -0,0 +1,129 @@
+<%@ page contentType="text/html;charset=UTF-8" %>
+<%@ include file="/webpage/include/taglib.jsp"%>
+<html>
+<head>
+	<meta name="decorator" content="default"/>
+	<script type="text/javascript">
+		$(document).ready(function() {
+			    $('#contentTable thead tr th input.i-checks').on('ifChecked', function(event){ //ifCreated 事件应该在插件初始化之前绑定 
+			    	  $('#contentTable tbody tr td input.i-checks').iCheck('check');
+			    	});
+			    $('#contentTable thead tr th input.i-checks').on('ifUnchecked', function(event){ //ifCreated 事件应该在插件初始化之前绑定 
+			    	  $('#contentTable tbody tr td input.i-checks').iCheck('uncheck');
+			    	});
+		});
+
+		function getSelectedItem(){
+			var size = $("#contentTable tbody tr td input.i-checks:checked").size();
+			  if(size == 0 ){
+					top.layer.alert('请至少选择一条数据!', {icon: 0, title:'警告'});
+					return "-1";
+				  }
+			/*  if(size > 1 ){
+					top.layer.alert('只能选择一条数据!', {icon: 0, title:'警告'});
+					return "-1";
+				  }*/
+            var arr=new Array();
+            $("#contentTable tbody tr td input.i-checks:checkbox:checked").each(function () {
+                var id =  $(this).attr("id");
+                var label = $(this).parent().parent().parent().find(".codelabel").html();
+                var label1 = $(this).parent().parent().parent().find(".codelabel1").html();
+                var label2 = $(this).parent().parent().parent().find(".codelabel2").html();
+                var label3 = $(this).parent().parent().parent().find(".codelabel3").html();
+                var label4 = $(this).parent().parent().parent().find(".codelabel4").html();
+                var data=  {'clientId':{'id':label,'name':label4},'id':id,'name':label1,'linkPhone':label2,'linkMobile':label3};
+                arr.push(data);
+			})
+            return arr;
+
+}
+		function page(n,s){
+			if(n) $("#pageNo").val(n);
+			if(s) $("#pageSize").val(s);
+			$("#searchForm").attr("action","${url}");
+			$("#searchForm").submit();
+	    	return false;
+	    }
+	</script>
+</head>
+<body>
+<div class="wrapper wrapper-content">
+	<div class="layui-row">
+		<div class="full-width fl">
+			<div class="layui-row" id="queryDiv">
+				<form:form id="searchForm" modelAttribute="obj" action="${url}" method="post" class="form-inline">
+					<input type="hidden" name="url" value="${url}"/>
+					<input type="hidden" name="fieldLabels" value="${fieldLabels}"/>
+					<input type="hidden" name="fieldKeys" value="${fieldKeys}"/>
+					<input type="hidden" name="searchLabel" value="${searchLabel}"/>
+					<input type="hidden" name="searchKey" value="${searchKey}"/>
+					<input id="pageNo" name="pageNo" type="hidden" value="${page.pageNo}"/>
+					<input id="pageSize" name="pageSize" type="hidden" value="${page.pageSize}"/>
+					<table:sortColumn id="orderBy" name="orderBy" value="${page.orderBy}" callback="sortOrRefresh();"/><!-- 支持排序 -->
+
+					<div class="commonQuery">
+						<div class="layui-item query athird lw9">
+							<span class="layui-form-label">${searchLabel}:</span>
+							<div class="layui-input-block">
+								<form:input path="${searchKey}" htmlEscape="false" maxlength="50" class=" form-control layui-input"/>
+							</div>
+						</div>
+						<div class="layui-item athird fr">
+							<div class="input-group">
+								<button id="searchReset" class="fixed-btn searchReset fr" style="margin-right: 0px;" onclick="resetSearch()">重置</button>
+								<button id="searchQuery" class="fixed-btn searchQuery fr" onclick="search()">查询</button>
+							</div>
+						</div>
+						<div style="    clear:both;"></div>
+					</div>
+				</form:form>
+			</div>
+		</div>
+		<div class="full-width fl">
+			<div class="layui-item layui-col-xs12 form-table-container">
+				<table id="contentTable" class="table details table-bordered table-condensed">
+					<thead>
+					<tr>
+						<th width="50"><input type="checkbox" class="i-checks"></th>
+						<th style="display:none">设计方编号</th>
+						<th width="25%">设计方名称</th>
+						<th width="25%">联系人</th>
+						<th width="25%">联系电话</th>
+						<th width="25%">手机号</th>
+					</tr>
+				</thead>
+				<tbody>
+				<c:choose>
+				<c:when test="${not empty page.list}">
+				<c:forEach items="${page.list}" var="obj">
+					<c:forEach items="${obj.workClientLinkmanList}" var="linkman">
+						<tr>
+							<td> <input type="checkbox" id="${fns:getValue(linkman, 'id')}" class="i-checks"></td>
+							<td title="${fns:getValue(obj, 'id')}" class="codelabel" style="display:none">${fns:getValue(obj, 'id')}</td>
+								<td title="${fns:getValue(obj, 'name')}" class="codelabel4">${fns:getValue(obj, 'name')}</td>
+								<td title="${fns:getValue(linkman, 'name')}" class="codelabel1">${fns:getValue(linkman, 'name')}</td>
+								<td class="codelabel2">${fns:getValue(linkman, 'linkPhone')}</td>
+								<td class="codelabel3">${fns:getValue(linkman, 'linkMobile')}</td>
+						</tr>
+					</c:forEach>
+				</c:forEach>
+				</c:when>
+					<c:otherwise>
+						<tr>
+							<td colspan="15" align="center">
+								暂无数据
+							</td>
+						</tr>
+					</c:otherwise>
+				</c:choose>
+
+				</tbody>
+			</table>
+			<table:page page="${page}"></table:page>
+		</div>
+	</div>
+	<div class="form-group layui-row page-end"></div>
+	</div>
+</div>
+</body>
+</html>

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

@@ -86,7 +86,7 @@
 					<tr>
 						<th width="50"><input type="checkbox" class="i-checks"></th>
 						<th style="display:none">施工方编号</th>
-						<th>施工方名称</th>
+						<th width="25%">施工方名称</th>
 						<th width="25%">联系人</th>
 						<th width="25%">联系电话</th>
 						<th width="25%">手机号</th>

+ 129 - 0
src/main/webapp/webpage/modules/sys/gridselectClientSuper.jsp

@@ -0,0 +1,129 @@
+<%@ page contentType="text/html;charset=UTF-8" %>
+<%@ include file="/webpage/include/taglib.jsp"%>
+<html>
+<head>
+	<meta name="decorator" content="default"/>
+	<script type="text/javascript">
+		$(document).ready(function() {
+			    $('#contentTable thead tr th input.i-checks').on('ifChecked', function(event){ //ifCreated 事件应该在插件初始化之前绑定 
+			    	  $('#contentTable tbody tr td input.i-checks').iCheck('check');
+			    	});
+			    $('#contentTable thead tr th input.i-checks').on('ifUnchecked', function(event){ //ifCreated 事件应该在插件初始化之前绑定 
+			    	  $('#contentTable tbody tr td input.i-checks').iCheck('uncheck');
+			    	});
+		});
+
+		function getSelectedItem(){
+			var size = $("#contentTable tbody tr td input.i-checks:checked").size();
+			  if(size == 0 ){
+					top.layer.alert('请至少选择一条数据!', {icon: 0, title:'警告'});
+					return "-1";
+				  }
+			/*  if(size > 1 ){
+					top.layer.alert('只能选择一条数据!', {icon: 0, title:'警告'});
+					return "-1";
+				  }*/
+            var arr=new Array();
+            $("#contentTable tbody tr td input.i-checks:checkbox:checked").each(function () {
+                var id =  $(this).attr("id");
+                var label = $(this).parent().parent().parent().find(".codelabel").html();
+                var label1 = $(this).parent().parent().parent().find(".codelabel1").html();
+                var label2 = $(this).parent().parent().parent().find(".codelabel2").html();
+                var label3 = $(this).parent().parent().parent().find(".codelabel3").html();
+                var label4 = $(this).parent().parent().parent().find(".codelabel4").html();
+                var data=  {'clientId':{'id':label,'name':label4},'id':id,'name':label1,'linkPhone':label2,'linkMobile':label3};
+                arr.push(data);
+			})
+            return arr;
+
+}
+		function page(n,s){
+			if(n) $("#pageNo").val(n);
+			if(s) $("#pageSize").val(s);
+			$("#searchForm").attr("action","${url}");
+			$("#searchForm").submit();
+	    	return false;
+	    }
+	</script>
+</head>
+<body>
+<div class="wrapper wrapper-content">
+	<div class="layui-row">
+		<div class="full-width fl">
+			<div class="layui-row" id="queryDiv">
+				<form:form id="searchForm" modelAttribute="obj" action="${url}" method="post" class="form-inline">
+					<input type="hidden" name="url" value="${url}"/>
+					<input type="hidden" name="fieldLabels" value="${fieldLabels}"/>
+					<input type="hidden" name="fieldKeys" value="${fieldKeys}"/>
+					<input type="hidden" name="searchLabel" value="${searchLabel}"/>
+					<input type="hidden" name="searchKey" value="${searchKey}"/>
+					<input id="pageNo" name="pageNo" type="hidden" value="${page.pageNo}"/>
+					<input id="pageSize" name="pageSize" type="hidden" value="${page.pageSize}"/>
+					<table:sortColumn id="orderBy" name="orderBy" value="${page.orderBy}" callback="sortOrRefresh();"/><!-- 支持排序 -->
+
+					<div class="commonQuery">
+						<div class="layui-item query athird lw9">
+							<span class="layui-form-label">${searchLabel}:</span>
+							<div class="layui-input-block">
+								<form:input path="${searchKey}" htmlEscape="false" maxlength="50" class=" form-control layui-input"/>
+							</div>
+						</div>
+						<div class="layui-item athird fr">
+							<div class="input-group">
+								<button id="searchReset" class="fixed-btn searchReset fr" style="margin-right: 0px;" onclick="resetSearch()">重置</button>
+								<button id="searchQuery" class="fixed-btn searchQuery fr" onclick="search()">查询</button>
+							</div>
+						</div>
+						<div style="    clear:both;"></div>
+					</div>
+				</form:form>
+			</div>
+		</div>
+		<div class="full-width fl">
+			<div class="layui-item layui-col-xs12 form-table-container">
+				<table id="contentTable" class="table details table-bordered table-condensed">
+					<thead>
+					<tr>
+						<th width="50"><input type="checkbox" class="i-checks"></th>
+						<th style="display:none">监理方编号</th>
+						<th width="25%">监理方名称</th>
+						<th width="25%">联系人</th>
+						<th width="25%">联系电话</th>
+						<th width="25%">手机号</th>
+					</tr>
+				</thead>
+				<tbody>
+				<c:choose>
+				<c:when test="${not empty page.list}">
+				<c:forEach items="${page.list}" var="obj">
+					<c:forEach items="${obj.workClientLinkmanList}" var="linkman">
+						<tr>
+							<td> <input type="checkbox" id="${fns:getValue(linkman, 'id')}" class="i-checks"></td>
+							<td title="${fns:getValue(obj, 'id')}" class="codelabel" style="display:none">${fns:getValue(obj, 'id')}</td>
+								<td title="${fns:getValue(obj, 'name')}" class="codelabel4">${fns:getValue(obj, 'name')}</td>
+								<td title="${fns:getValue(linkman, 'name')}" class="codelabel1">${fns:getValue(linkman, 'name')}</td>
+								<td class="codelabel2">${fns:getValue(linkman, 'linkPhone')}</td>
+								<td class="codelabel3">${fns:getValue(linkman, 'linkMobile')}</td>
+						</tr>
+					</c:forEach>
+				</c:forEach>
+				</c:when>
+					<c:otherwise>
+						<tr>
+							<td colspan="15" align="center">
+								暂无数据
+							</td>
+						</tr>
+					</c:otherwise>
+				</c:choose>
+
+				</tbody>
+			</table>
+			<table:page page="${page}"></table:page>
+		</div>
+	</div>
+	<div class="form-group layui-row page-end"></div>
+	</div>
+</div>
+</body>
+</html>