user5 %!s(int64=4) %!d(string=hai) anos
pai
achega
0d53f10c81

+ 7 - 0
src/main/java/com/jeeplus/modules/ruralprojectrecords/dao/RuralProjectRecordReportDao.java

@@ -35,4 +35,11 @@ public interface RuralProjectRecordReportDao extends CrudDao<RuralProjectRecordR
      * @return
      */
     List<Office> getOffice(RuralProjectRecordReportInfo ruralProjectRecordReportInfo);
+
+    /**
+     * 查询负责或登记的项目
+     * @param ruralProjectRecordReportInfo
+     * @return
+     */
+    List<RuralProjectRecordReportInfo> findPageHome(RuralProjectRecordReportInfo ruralProjectRecordReportInfo);
 }

+ 15 - 0
src/main/java/com/jeeplus/modules/ruralprojectrecords/dao/RuralProjectRecordsDao.java

@@ -5,6 +5,7 @@ package com.jeeplus.modules.ruralprojectrecords.dao;
 
 import com.jeeplus.common.persistence.CrudDao;
 import com.jeeplus.common.persistence.annotation.MyBatisDao;
+import com.jeeplus.modules.ruralprojectrecords.entity.RuralProjectRecordReportInfo;
 import com.jeeplus.modules.ruralprojectrecords.entity.RuralProjectRecords;
 
 import java.util.List;
@@ -41,4 +42,18 @@ public interface RuralProjectRecordsDao extends CrudDao<RuralProjectRecords> {
      * @param records
      */
     void adminDelete(RuralProjectRecords records);
+
+    /**
+     * 查询负责或登记的项目(首页)
+     * @param records
+     * @return
+     */
+    List<RuralProjectRecords> findPageList(RuralProjectRecords records);
+
+    /**
+     * 查询负责或登记的项目数据(首页)
+     * @param records
+     * @return
+     */
+    Integer findPageCount(RuralProjectRecords records);
 }

+ 12 - 0
src/main/java/com/jeeplus/modules/ruralprojectrecords/service/RuralProjectRecordReportService.java

@@ -84,4 +84,16 @@ public class RuralProjectRecordReportService extends CrudService<RuralProjectRec
     public List<Office> getOffice(RuralProjectRecordReportInfo ruralProjectRecordReportInfo){
         return dao.getOffice(ruralProjectRecordReportInfo);
     }
+
+    /**
+     * 查询负责或登记的项目
+     * @param page
+     * @param ruralProjectRecordReportInfo
+     * @return
+     */
+    public Page<RuralProjectRecordReportInfo> findPageHome(Page<RuralProjectRecordReportInfo> page, RuralProjectRecordReportInfo ruralProjectRecordReportInfo) {
+        ruralProjectRecordReportInfo.setPage(page);
+        page.setList(dao.findPageHome(ruralProjectRecordReportInfo));
+        return page;
+    }
 }

+ 24 - 1
src/main/java/com/jeeplus/modules/ruralprojectrecords/service/RuralProjectRecordsService.java

@@ -1264,5 +1264,28 @@ public class RuralProjectRecordsService extends CrudService<RuralProjectRecordsD
 		projectRecords.setWorkContractInfo(workContractInfo);
 	}
 
-
+	/**
+	 * 查询负责或登记的项目(首页)
+	 * @param page
+	 * @param projectRecords
+	 * @return
+	 */
+	public Page<RuralProjectRecords> listShow(Page<RuralProjectRecords> page, RuralProjectRecords projectRecords) {
+		projectRecords.setCreateBy(UserUtils.getUser());
+		int count = dao.findPageCount(projectRecords);
+		page.setCount(count);
+		page.setCountFlag(false);
+		projectRecords.setPage(page);
+		List<RuralProjectRecords> recordsList = dao.findPageList(projectRecords);
+		//查询负责人信息
+		for (RuralProjectRecords records : recordsList) {
+			this.queryContractInfos(records);
+			List<User> users = workProjectUserDao.queryProjectUsers(records.getId(), "1");
+			records.setProjectLeaders(users);
+			records.setLeaderNameStr(Collections3.extractToString(users, "name", ","));
+			records.setLeaderIds(Collections3.extractToString(users, "id", ","));
+		}
+		page.setList(recordsList);
+		return page;
+	}
 }

+ 31 - 0
src/main/java/com/jeeplus/modules/ruralprojectrecords/web/RuralProjectRecordsController.java

@@ -711,4 +711,35 @@ public class RuralProjectRecordsController extends BaseController {
 		model.addAttribute("ruralProjectRecords", projectRecords);
 		return "modules/ruralprojectrecords/ruralporjectmessage/downloadType/downloadProjectView";
 	}
+
+	/**
+	 * 查询负责或登记的项目
+	 */
+	@RequestMapping(value = "listShow")
+	public String listShow(RuralProjectRecords projectRecords, HttpServletRequest request, HttpServletResponse response, Model model) {
+		//获取项目信息
+		Page<RuralProjectRecords> page = projectRecordsService.listShow(new Page<RuralProjectRecords>(request, response), projectRecords);
+		//无合同状态下,获取委托方的名称
+		List<RuralProjectRecords> list = page.getList();
+		for (int i = 0; i < list.size(); i++) {
+			RuralProjectRecords 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);
+				}
+			}
+			//判断是否为admin
+			if (UserUtils.isManager()){
+				records1.setFlagAdmin("1");
+			}else{
+				records1.setFlagAdmin("0");
+			}
+		}
+		model.addAttribute("page", page);
+		return "modules/ruralprojectrecords/ruralProjectRecordsShowList";
+	}
 }

+ 16 - 1
src/main/java/com/jeeplus/modules/sys/web/LoginController.java

@@ -17,6 +17,8 @@ import com.jeeplus.modules.iim.entity.MailPage;
 import com.jeeplus.modules.iim.service.MailBoxService;
 import com.jeeplus.modules.oa.entity.OaNotify;
 import com.jeeplus.modules.oa.service.OaNotifyService;
+import com.jeeplus.modules.ruralprojectrecords.entity.RuralProjectRecordReportInfo;
+import com.jeeplus.modules.ruralprojectrecords.service.RuralProjectRecordReportService;
 import com.jeeplus.modules.sys.dao.UserDao;
 import com.jeeplus.modules.sys.entity.Office;
 import com.jeeplus.modules.sys.entity.Role;
@@ -83,6 +85,8 @@ public class LoginController extends BaseController{
 	private OfficeService officeService;
 	@Autowired
 	private WorkCalendarService workCalendarService;
+	@Autowired
+	private RuralProjectRecordReportService ruralProjectRecordReportService;
 
 	/**
 	 * 管理登录
@@ -397,6 +401,7 @@ public class LoginController extends BaseController{
 		OaNotify oaNotify = new OaNotify();
 		oaNotify.setSelf(true);
 		oaNotify.setNowDate(new Date());
+		//公告信息
 		Page<OaNotify> page = oaNotifyService.findMyself(new Page<OaNotify>(request, response), oaNotify);
 		model.addAttribute("page", page.getList());
 		model.addAttribute("count", page.getList().size());//未读通知条数
@@ -405,22 +410,32 @@ public class LoginController extends BaseController{
 		workProjectNotify.setUser(user);
 		workProjectNotify.setCompanyId(user.getComId());
 		workProjectNotify.setRemarks("待审批");
+		//待办事项
 		Page<WorkProjectNotify> notifyPage = workProjectNotifyService.findPage(new Page<WorkProjectNotify>(request, response), workProjectNotify);
 		model.addAttribute("notifyPage", notifyPage.getList());
 		model.addAttribute("notifyCount", notifyPage.getList().size());//未读通知条数
 		model.addAttribute("notifyCount1", notifyPage.getCount());//未读通知条数
 		workProjectNotify.setStatus("0");
 		workProjectNotify.setRemarks("待通知");
+		//通知信息
 		Page<WorkProjectNotify> notifyPageShow = workProjectNotifyService.findPage(new Page<WorkProjectNotify>(request, response), workProjectNotify);
 		model.addAttribute("notifyShowPage", notifyPageShow.getList());
 		model.addAttribute("notifyShowCount", notifyPageShow.getList().size());//未读通知条数
 		model.addAttribute("notifyShowCount1", notifyPageShow.getCount());//未读通知条数
-
+		//我的日程
         WorkCalendar workCalendar = new WorkCalendar();
         Page<WorkCalendar> workCalendars=workCalendarService.findHomePage(new Page<WorkCalendar>(request, response), workCalendar);
 		model.addAttribute("calendarCount", workCalendars.getList());
 		model.addAttribute("calendarPage", workCalendars.getList().size());
 		model.addAttribute("calendarSize", workCalendars.getCount());
+		//我的项目
+		RuralProjectRecordReportInfo ruralProjectRecordReportInfo = new RuralProjectRecordReportInfo();
+		ruralProjectRecordReportInfo.setCreateBy(user);
+		Page<RuralProjectRecordReportInfo> projectPage = ruralProjectRecordReportService.findPageHome(new Page<RuralProjectRecordReportInfo>(request, response), ruralProjectRecordReportInfo);
+		model.addAttribute("projectCount", projectPage.getList());
+		model.addAttribute("projectPage", projectPage.getList().size());
+		model.addAttribute("projectSize", projectPage.getCount());
+
 		MailBox mailBox = new MailBox();
 		mailBox.setReceiver(user);
 		mailBox.setReadstatus("0");//筛选未读

+ 22 - 1
src/main/resources/mappings/modules/ruralprojectrecords/RuralProjectRecordReportDao.xml

@@ -3,7 +3,7 @@
 <mapper namespace="com.jeeplus.modules.ruralprojectrecords.dao.RuralProjectRecordReportDao">
     
 	<sql id="ruralProjectInfoColumns">
-		a.id AS "id",
+		distinct a.id AS "id",
 		year(a.create_date) as "year",
 		month(a.create_date) as "month",
 		a.create_by AS "createBy.id",
@@ -163,4 +163,25 @@
 			</otherwise>
 		</choose>
 	</select>
+
+	<select id="findPageHome" resultType="com.jeeplus.modules.ruralprojectrecords.entity.RuralProjectRecordReportInfo" >
+		SELECT
+		<include refid="ruralProjectInfoColumns"/>
+		,a.project_type as "projectType"
+		FROM rural_project_records a
+		<include refid="ruralProjectInfoJoins"/>
+		<where>
+			a.del_flag = 0
+			and (
+			(((prr.status != 5 or prr.status is null) and (a.reported_state!=5 or a.reported_state is null) and date_add(prd.update_date,interval 40 day)>= now())
+			or ((prr.status != 5 or prr.status is null) and (a.reported_state!=5 or a.reported_state is null) and prd.update_date is null))
+			or ((prr.status = 5 and (a.reported_state!=5 or a.reported_state is null) and date_add(prd.update_date,interval 40 day)>= now())
+			or (prr.status = 5 and (a.reported_state!=5 or a.reported_state is null) and prd.update_date is null))
+			or (((prr.status != 5 or prr.status is null) and a.reported_state=5 and date_add(prd.update_date,interval 40 day)>= now())
+			or ((prr.status != 5 or prr.status is null) and a.reported_state=5 and prd.update_date is null))
+			)
+			and (a.create_by = #{createBy.id} or w1.user_id = #{createBy.id})
+		</where>
+		ORDER BY a.create_date DESC
+	</select>
 </mapper>

+ 166 - 1
src/main/resources/mappings/modules/ruralprojectrecords/RuralProjectRecordsDao.xml

@@ -3,7 +3,7 @@
 <mapper namespace="com.jeeplus.modules.ruralprojectrecords.dao.RuralProjectRecordsDao">
 
 	<sql id="projectRecordsColumns">
-		a.id AS "id",
+		distinct a.id AS "id",
 		a.create_by AS "createBy.id",
 		a.create_date AS "createDate",
 		a.update_by AS "updateBy.id",
@@ -712,4 +712,169 @@
 			</otherwise>
 		</choose>
 	</select>
+
+
+
+	<select id="findPageList" resultType="com.jeeplus.modules.ruralprojectrecords.entity.RuralProjectRecords" >
+		SELECT
+		<include refid="projectRecordsColumns"/>
+		,a.project_type as "projectType"
+		FROM rural_project_records a
+		left join work_contract_info wci on a.contract_id = wci.id
+		left join project_report_data prd on prd.project_id = a.id
+		left join rural_project_report_record prr on prr.report_id = prd.id
+		left join sys_user u on u.id = a.create_by
+		left join sys_office o on o.id = a.office_id
+		LEFT JOIN sys_area area ON area.id = a.area_id
+		LEFT JOIN work_project_user w1 on a.id = w1.project_id
+		left join sys_user su on su.id = w1.user_id
+		left join sys_office so on so.id = su.office_id
+		<where>
+			a.del_flag = 0
+			and (
+			(((prr.status != 5 or prr.status is null) and (a.reported_state!=5 or a.reported_state is null) and date_add(prd.update_date,interval 40 day)>= now())
+			or ((prr.status != 5 or prr.status is null) and (a.reported_state!=5 or a.reported_state is null) and prd.update_date is null))
+			or ((prr.status = 5 and (a.reported_state!=5 or a.reported_state is null) and date_add(prd.update_date,interval 40 day)>= now())
+			or (prr.status = 5 and (a.reported_state!=5 or a.reported_state is null) and prd.update_date is null))
+			or (((prr.status != 5 or prr.status is null) and a.reported_state=5 and date_add(prd.update_date,interval 40 day)>= now())
+			or ((prr.status != 5 or prr.status is null) and a.reported_state=5 and prd.update_date is null))
+			)
+			and (a.create_by = #{createBy.id} or w1.user_id = #{createBy.id})
+			<if test="projectId != null and projectId != ''">
+				AND a.project_id like concat('%',#{projectId},'%')
+			</if>
+			<if test="projectName != null and projectName != ''">
+				AND a.project_name like concat(concat('%',#{projectName}),'%')
+			</if>
+			<if test="scaleType != null and scaleType != ''">
+				AND a.scale_type = #{scaleType}
+			</if>
+			<if test="scaleUnit != null and scaleUnit != ''">
+				AND a.scale_unit = #{scaleUnit}
+			</if>
+			<if test="scaleQuantity != null and scaleQuantity != ''">
+				AND a.scale_quantity = #{scaleQuantity}
+			</if>
+			<if test="projectSite != null and projectSite != ''">
+				AND a.project_site LIKE concat('%',#{projectSite},'%')
+			</if>
+			<if test="remarks != null and remarks != ''">
+				AND a.remarks LIKE concat('%',#{remarks},'%')
+			</if>
+			<if test="projectDesc != null and projectDesc != ''">
+				AND a.project_desc LIKE concat('%',#{projectDesc},'%')
+			</if>
+			<if test="area != null and area.id != null and area.id != ''">
+				AND a.area_id = #{area.id}
+			</if>
+			<if test="workContractInfo !=null and workContractInfo.name !=null and workContractInfo.name !=''">
+				AND wci.name like concat(concat('%',#{workContractInfo.name}),'%')
+			</if>
+			<if test="workContractInfo !=null and workContractInfo.contractNum !=null and workContractInfo.contractNum !=''">
+				AND wci.contract_num like concat(concat('%',#{workContractInfo.contractNum}),'%')
+			</if>
+			<if test="workContractInfo !=null and workContractInfo.contractPrice !=null and workContractInfo.contractPrice !=''">
+				AND wci.contract_price = #{workContractInfo.contractPrice}
+			</if>
+			<if test="workContractInfo !=null and workContractInfo.contractType !=null and workContractInfo.contractType !=''">
+				AND wci.contract_type = #{workContractInfo.contractType}
+			</if>
+			<if test="workContractInfo!=null and workContractInfo.client !=null and workContractInfo.client.name !=null and workContractInfo.client.name !=''">
+				AND wct.name like concat(concat('%',#{workContractInfo.client.name}),'%')
+			</if>
+			<if test="leaderNameStr !=null and leaderNameStr !=''">
+				AND su.name like concat(concat('%',#{leaderNameStr}),'%') AND w.is_master = '1' AND w.del_flag='0'
+			</if>
+			<if test="projectStatus !=null">
+				AND a.status = #{projectStatus}
+			</if>
+			<if test="beginDate !=null">
+				AND a.create_date >= #{beginDate}
+			</if>
+			<if test="endDate !=null">
+				AND a.create_date &lt; #{endDate}
+			</if>
+		</where>
+		ORDER BY a.create_date DESC
+	</select>
+
+	<select id="findPageCount" resultType="java.lang.Integer">
+		SELECT count(DISTINCT a.id)
+		FROM rural_project_records a
+		left join work_contract_info wci on a.contract_id = wci.id
+		left join project_report_data prd on prd.project_id = a.id
+		left join rural_project_report_record prr on prr.report_id = prd.id
+		left join sys_user u on u.id = a.create_by
+		left join sys_office o on o.id = a.office_id
+		LEFT JOIN sys_area area ON area.id = a.area_id
+		LEFT JOIN work_project_user w1 on a.id = w1.project_id
+		left join sys_user su on su.id = w1.user_id
+		left join sys_office so on so.id = su.office_id
+		<where>
+			a.del_flag = 0
+			and (
+			(((prr.status != 5 or prr.status is null) and (a.reported_state!=5 or a.reported_state is null) and date_add(prd.update_date,interval 40 day)>= now())
+			or ((prr.status != 5 or prr.status is null) and (a.reported_state!=5 or a.reported_state is null) and prd.update_date is null))
+			or ((prr.status = 5 and (a.reported_state!=5 or a.reported_state is null) and date_add(prd.update_date,interval 40 day)>= now())
+			or (prr.status = 5 and (a.reported_state!=5 or a.reported_state is null) and prd.update_date is null))
+			or (((prr.status != 5 or prr.status is null) and a.reported_state=5 and date_add(prd.update_date,interval 40 day)>= now())
+			or ((prr.status != 5 or prr.status is null) and a.reported_state=5 and prd.update_date is null))
+			)
+			and (a.create_by = #{createBy.id} or w1.user_id = #{createBy.id})
+			<if test="projectId != null and projectId != ''">
+				AND a.project_id like concat('%',#{projectId},'%')
+			</if>
+			<if test="projectName != null and projectName != ''">
+				AND a.project_name like concat(concat('%',#{projectName}),'%')
+			</if>
+			<if test="scaleType != null and scaleType != ''">
+				AND a.scale_type = #{scaleType}
+			</if>
+			<if test="scaleUnit != null and scaleUnit != ''">
+				AND a.scale_unit = #{scaleUnit}
+			</if>
+			<if test="scaleQuantity != null and scaleQuantity != ''">
+				AND a.scale_quantity = #{scaleQuantity}
+			</if>
+			<if test="projectSite != null and projectSite != ''">
+				AND a.project_site LIKE concat('%',#{projectSite},'%')
+			</if>
+			<if test="remarks != null and remarks != ''">
+				AND a.remarks LIKE concat('%',#{remarks},'%')
+			</if>
+			<if test="projectDesc != null and projectDesc != ''">
+				AND a.project_desc LIKE concat('%',#{projectDesc},'%')
+			</if>
+			<if test="area != null and area.id != null and area.id != ''">
+				AND a.area_id = #{area.id}
+			</if>
+			<if test="workContractInfo !=null and workContractInfo.name !=null and workContractInfo.name !=''">
+				AND wci.name like concat(concat('%',#{workContractInfo.name}),'%')
+			</if>
+			<if test="workContractInfo !=null and workContractInfo.contractNum !=null and workContractInfo.contractNum !=''">
+				AND wci.contract_num like concat(concat('%',#{workContractInfo.contractNum}),'%')
+			</if>
+			<if test="workContractInfo !=null and workContractInfo.contractPrice !=null and workContractInfo.contractPrice !=''">
+				AND wci.contract_price = #{workContractInfo.contractPrice}
+			</if>
+			<if test="workContractInfo !=null and workContractInfo.contractType !=null and workContractInfo.contractType !=''">
+				AND wci.contract_type = #{workContractInfo.contractType}
+			</if>
+			<if test="workContractInfo!=null and workContractInfo.client !=null and workContractInfo.client.name !=null and workContractInfo.client.name !=''">
+				AND wct.name like concat(concat('%',#{workContractInfo.client.name}),'%')
+			</if>
+			<if test="leaderNameStr !=null and leaderNameStr !=''">
+				AND su.name like concat(concat('%',#{leaderNameStr}),'%') AND w.is_master = '1' AND w.del_flag='0'
+			</if>
+			<if test="projectStatus !=null">
+				AND a.status = #{projectStatus}
+			</if>
+			<if test="beginDate !=null">
+				AND a.create_date >= #{beginDate}
+			</if>
+			<if test="endDate !=null">
+				AND a.create_date &lt; #{endDate}
+			</if>
+		</where>
+	</select>
 </mapper>

+ 229 - 0
src/main/webapp/webpage/modules/ruralprojectrecords/ruralProjectRecordsShowList.jsp

@@ -0,0 +1,229 @@
+<%@ page contentType="text/html;charset=UTF-8" %>
+<%@ include file="/webpage/include/taglib.jsp"%>
+<html>
+<head>
+	<title>项目登记</title>
+	<meta name="decorator" content="default"/>
+	<%--<script src="${ctxStatic}/layer-v2.3/laydate/laydate.js"></script>--%>
+	<script type="text/javascript">
+        $(document).ready(function() {
+
+            //搜索框收放
+            $('#moresee').click(function(){
+                if($('#moresees').is(':visible'))
+                {
+                    $('#moresees').slideUp(0,resizeListWindow2);
+                    $('#moresee i').removeClass("glyphicon glyphicon-menu-up").addClass("glyphicon glyphicon-menu-down");
+                }else{
+                    $('#moresees').slideDown(0,resizeListWindow2);
+                    $('#moresee i').removeClass("glyphicon glyphicon-menu-down").addClass("glyphicon glyphicon-menu-up");
+                }
+            });
+            laydate.render({
+                elem: '#beginDate', //目标元素。由于laydate.js封装了一个轻量级的选择器引擎,因此elem还允许你传入class、tag但必须按照这种方式 '#id .class'
+                event: 'focus', //响应事件。如果没有传入event,则按照默认的click
+                type : 'date'
+            });
+            laydate.render({
+                elem: '#endDate', //目标元素。由于laydate.js封装了一个轻量级的选择器引擎,因此elem还允许你传入class、tag但必须按照这种方式 '#id .class'
+                event: 'focus', //响应事件。如果没有传入event,则按照默认的click
+                type : 'date'
+            });
+        });
+
+        function reset() {
+            $("#searchForm").resetForm();
+        }
+	</script>
+	<style>
+		body{
+			background-color:transparent;
+			filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#26FFFFFF, endColorstr=#26FFFFFF);
+			color:#ffffff;
+			background-color:rgba(255,255,255,0);
+			height:100%;
+		}
+	</style>
+</head>
+<body>
+<div class="wrapper wrapper-content">
+	<sys:message content="${message}"/>
+	<div class="layui-row">
+		<div class="full-width fl">
+			<div class="layui-row contentShadow shadowLR" id="queryDiv">
+				<form:form id="searchForm" modelAttribute="ruralProjectRecords" action="${ctx}/ruralProject/ruralProjectRecords/listShow" method="post" class="form-inline">
+					<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 lw6">
+						<div class="layui-item query athird">
+							<label class="layui-form-label">项目编号:</label>
+							<div class="layui-input-block with-icon">
+								<form:input path="projectId" htmlEscape="false" maxlength="64"  class=" form-control  layui-input"/>
+							</div>
+						</div>
+						<div class="layui-item query athird">
+							<label class="layui-form-label">项目名称:</label>
+							<div class="layui-input-block">
+								<form:input path="projectName" htmlEscape="false" maxlength="64"  class=" form-control  layui-input"/>
+							</div>
+						</div>
+						<div class="layui-item athird">
+							<div class="input-group">
+								<a href="#" id="moresee"><i class="glyphicon glyphicon-menu-down"></i></a>
+								<button id="searchReset" class="fixed-btn searchReset fr" onclick="resetSearch()">重置</button>
+								<button id="searchQuery" class="fixed-btn searchQuery fr" onclick="search()">查询</button>
+							</div>
+						</div>
+						<div style="    clear:both;"></div>
+					</div>
+					<div id="moresees" style="clear:both;display:none;" class="lw6">
+						<div class="layui-item query athird ">
+							<label class="layui-form-label">项目负责人:</label>
+							<div class="layui-input-block">
+								<form:input path="leaderNameStr" htmlEscape="false" maxlength="255"  class=" form-control layui-input"/>
+							</div>
+						</div>
+						<div class="layui-item query athird ">
+							<label class="layui-form-label">合同名称:</label>
+							<div class="layui-input-block">
+								<form:input path="workContractInfo.name" htmlEscape="false" maxlength="255"  class=" form-control layui-input"/>
+							</div>
+						</div>
+						<div class="layui-item query athird ">
+							<label class="layui-form-label">委托方:</label>
+							<div class="layui-input-block">
+								<form:input path="workContractInfo.client.name" htmlEscape="false" maxlength="255"  class=" form-control layui-input"/>
+							</div>
+						</div>
+						<div class="layui-item query athird ">
+							<label class="layui-form-label">创建时间:</label>
+							<div class="layui-input-block">
+								<input id="beginDate" name="beginDate" placeholder="开始时间" type="text" readonly="readonly" maxlength="20" class="laydate-icondate form-control layer-date layui-input laydate-icon query-group"
+									   value="<fmt:formatDate value="${projectRecords.beginDate}" pattern="yyyy-MM-dd"/>"/>
+								</input>
+                                <span class="group-sep">-</span>
+                                <input id="endDate" name="endDate" placeholder="结束时间" type="text" readonly="readonly" maxlength="20" class="laydate-icondate form-control layer-date layui-input laydate-icon query-group"
+                                       value="<fmt:formatDate value="${projectRecords.endDate}" pattern="yyyy-MM-dd"/>"/>
+                                </input>
+							</div>
+						</div>
+						<div class="layui-item query athird ">
+							<label class="layui-form-label">状态:</label>
+							<div class="layui-input-block">
+								<form:select path="projectStatus" class=" form-control  simple-select">
+									<form:option value="" label=""/>
+									<form:options items="${fns:getRuralDictList('rural_project_audit_state')}" itemLabel="label" itemValue="value" htmlEscape="false"/>
+								</form:select>
+							</div>
+						</div>
+						<div style="clear:both;"></div>
+					</div>
+				</form:form>
+			</div>
+		</div>
+		<div class="full-width fl">
+			<div class="layui-form contentDetails contentShadow shadowLBR">
+				<div class="nav-btns">
+					<button class="nav-btn nav-btn-refresh" data-toggle="tooltip" data-placement="left" onclick="sortOrRefresh()" title="刷新"><i class="glyphicon glyphicon-repeat"></i>&nbsp;刷新</button>
+					<div style="clear: both;"></div>
+				</div>
+				<table class="oa-table layui-table" id="contentTable1"></table>
+
+				<!-- 分页代码 -->
+				<table:page page="${page}"></table:page>
+				<div style="clear: both;"></div>
+			</div>
+		</div>
+	</div>
+	<div id="changewidth"></div>
+</div>
+
+<script src="${ctxStatic}/layer-v2.3/layui/layui.all.js" charset="utf-8"></script>
+<script>
+
+    layui.use('table', function(){
+        layui.table.render({
+            limit:${ page.pageSize }
+            ,elem: '#contentTable1'
+            ,page: false
+            ,cols: [[
+                {field:'index',align:'center', title: '序号',width:40}
+                ,{field:'projName',align:'center', title: '项目名称',minWidth:200,templet:function(d){
+                        return "<a class=\"attention-info\" title=\"" + d.projName + "\" href=\"javascript:void(0);\" onclick=\"openDialogView('查看项目', '${ctx}/ruralProject/ruralProjectRecords/view?id=" + d.id +"','95%', '95%')\">" + d.projName + "</a>";
+                    }}
+				,{field:'projId',align:'center', title: '项目编号',  width:150}
+                ,{field:'contract', align:'center',title: '合同名称',minWidth:200,templet:function(d){
+                    	return "<span title='"+ d.contract +"'>" + d.contract + "</span>";
+					}}
+                ,{field:'projMaster', align:'center',title: '负责人', width:65,templet:function(d){
+                        return "<span title=\"" + d.projMaster + "\">" + d.projMaster + "</span>";
+                    }}
+                ,{field:'client',align:'center', title: '委托方',  width:150,templet:function(d){
+                        return "<span title=\"" + d.client + "\">" + d.client + "</span>";
+                    }}
+                ,{field:'createDate',align:'center', title: '创建日期',  width:80}
+                ,{align:'center', title: '状态',  width:70,templet:function(d){
+                        var st = getruralProjectState(d.projectStatus);
+                        if(st.action)
+                            var xml = "<span onclick=\"openDialogView('流程追踪', '${ctx}/ruralProject/ruralProjectRecords/getProcess?id=" + d.id + "','95%','95%')\" class=\"status-label status-label-" + st.label + "\" >" + st.status + "</span>";
+                        else
+                            var xml = "<span style=\"cursor:default;\" class=\"status-label status-label-" + st.label + "\" >" + st.status + "</span>";
+                        return xml;
+                    }}
+            ]]
+            ,data: [
+                <c:if test="${ not empty page.list}">
+                <c:forEach items="${page.list}" var="projectRecords" varStatus="index">
+                <c:if test="${index.index != 0}">,</c:if>
+                {
+                    "index":"${index.index+1}"
+                    ,"id":"${projectRecords.id}"
+                    ,"projId":"${projectRecords.projectId}"
+                    ,"projName":"<c:out value="${projectRecords.projectName}" escapeXml="true"/>"
+                    ,"projMaster":"<c:forEach items="${projectRecords.projectLeaders}" var="leader" varStatus="status"><c:choose><c:when test="${status.last}">${leader.name}</c:when><c:otherwise>${leader.name},</c:otherwise></c:choose></c:forEach>"
+                    ,"contract":"${projectRecords.workContractInfo.name}"
+                    ,"client":"${projectRecords.workContractInfo.client.name}"
+                    ,"createDate":"<fmt:formatDate value="${projectRecords.createDate}" pattern="yyyy-MM-dd"/>"
+                    ,"projectStatus":"${projectRecords.projectStatus}"
+                    ,"procId":"${projectRecords.processInstanceId}"
+					,"flagAdmin":"${projectRecords.flagAdmin}"
+                    <c:choose><c:when test="${flag == '1' or fns:getUser().id == projectRecords.createBy.id}">
+                    <shiro:hasPermission name="ruralProject:ruralProjectRecords:del">,"candel":	<c:choose><c:when test="${(projectRecords.projectStatus == 1 or projectRecords.projectStatus == 3 or projectRecords.projectStatus == 4) && fns:getUser().id == projectRecords.createBy.id}">"1"</c:when><c:otherwise>"0"</c:otherwise></c:choose></shiro:hasPermission>
+                    <shiro:hasPermission name="ruralProject:ruralProjectRecords:edit">,"canedit1":	<c:choose><c:when test="${projectRecords.projectStatus == 1 && fns:getUser().id == projectRecords.createBy.id}">"1"</c:when><c:otherwise>"0"</c:otherwise></c:choose>
+                    ,"canedit2":<c:choose><c:when test="${projectRecords.projectStatus == 4 && fns:getUser().id == projectRecords.createBy.id}">"1"</c:when><c:otherwise>"0"</c:otherwise></c:choose>
+                    ,"canrecall":<c:choose><c:when test="${projectRecords.projectStatus == 3 && fns:getUser().id == projectRecords.createBy.id}">"1"</c:when><c:otherwise>"0"</c:otherwise></c:choose>
+                    </shiro:hasPermission>
+                    ,"cancancel":<c:choose><c:when test="${projectRecords.projectStatus == 2 && fns:getUser().id == projectRecords.createBy.id}">"1"</c:when><c:otherwise>"0"</c:otherwise></c:choose>
+                    ,"deleteAdmin":<c:choose><c:when test="${'1' == projectRecords.flagAdmin && projectRecords.projectStatus == 5}">"1"</c:when><c:otherwise>"0"</c:otherwise></c:choose>
+                    </c:when>
+                    <c:otherwise>
+                    ,"candel":"0"
+                    ,"canedit1":"0"
+                    ,"canedit2":"0"
+                    ,"canrecall":"0"
+                    ,"cancancel":"0"
+                    ,"deleteAdmin":"0"
+                    </c:otherwise>
+                    </c:choose>
+                    <shiro:hasPermission name="ruralProject:ruralProjectRecords:edit">,"canedit3":<c:choose><c:when test="${projectRecords.projectStatus == 5 && fn:contains(projectRecords.leaderIds,fns:getUser().id)}">"1"</c:when><c:otherwise>"0"</c:otherwise></c:choose></shiro:hasPermission>
+                }
+                </c:forEach>
+                </c:if>
+            ]
+            // ,even: true
+            // ,height: 315
+        });
+    })
+
+    resizeListTable();
+    $("a").on("click",addLinkVisied);
+</script>
+<script>
+    resizeListWindow2();
+    $(window).resize(function(){
+        resizeListWindow2();
+    });
+</script>
+</body>
+</html>

+ 9 - 6
src/main/webapp/webpage/modules/sys/sysHome.jsp

@@ -665,12 +665,12 @@
             <div id="email-bord" class="call-bord-content contentShadow">
                 <div class="bord-left">
                     <div class="bord-left-content">
-                        <div class="bord-title">我的日程(${calendarSize})</div>
+                        <div class="bord-title">项目信息(${projectSize})</div>
                         <%--<div class="bord-pic"><img src="${ctxStatic}/common/img/icon05.png" height="100%" /></div>--%>
                         <%--<div class="bord-num">${calendarSize}</div>--%>
                     </div>
                     <div class="bord-more">
-                        <a href="javascript:void(0)" onclick='top.openTab("${ctx}/workcalendar/workCalendar","我的日程", false)'><span>更多 </span><i class="fa fa-angle-right"></i></a>
+                        <a href="javascript:void(0)" onclick='top.openTab("${ctx }/ruralProject/ruralProjectRecords/listShow","项目信息", false)'><span>更多 </span><i class="fa fa-angle-right"></i></a>
                     </div>
                 </div>
                 <div class="bord-right">
@@ -928,15 +928,18 @@
      function initBord4(){
          var elem = $("#email-bord .bord-right ul");
          var xml = "";
-         <c:forEach items="${calendarCount}" var="workCalendar" varStatus="index">
-         <c:if test="${index.index < 8}">
+         <c:forEach items="${projectCount}" var="project" varStatus="index">
+         xml = "<a  href=\"javascript:void(0)\" onclick=\"openDialogView('查看通知', '${ctx}/ruralProject/ruralProjectRecords/view?id=${project.id}','95%','95%')\">";
+         elem.append('<li>' + xml + "<span class=\"bord-record-type\" title=\"${fns:getDictLabel(project.projectType, 'project_type', '')}\">${fns:getDictLabel(project.projectType, 'project_type', '')}</span><span class=\"bord-record\" title=\"${project.projectName}\">${project.projectName}</span>" +
+             '<span class="bord-record-time">' + '<fmt:formatDate value="${project.updateDate}" pattern="yyyy-MM-dd"/>' + '</span></a></li>');
+         <%--<c:if test="${index.index < 8}">
          xml ="<a href=\"javascript:void(0)\" onclick=\"openDialogView('查看工作日历', '${ctx}/workcalendar/workCalendar/view?id=${workCalendar.id}','95%', '95%')\" >";
          elem.append('<li>' + xml + "<span class=\"bord-record-type\" title=\"${workCalendar.subject }\">${workCalendar.subject }</span><span class=\"bord-record\" title=\"${workCalendar.content}\">${workCalendar.content}</span>" +
              '<span class="bord-record-time">' + '<fmt:formatDate value="${workCalendar.startDate}" pattern="yyyy-MM-dd"/>' + '</span></a></li>');
-         </c:if>
+         </c:if>--%>
          </c:forEach>
 
-         <c:if test="${calendarSize < 7}">
+         <c:if test="${projectSize < 7}">
             hasEmail = false
          </c:if>
      }