Pārlūkot izejas kodu

地区负责人申请调整

sangwenwei 1 gadu atpakaļ
vecāks
revīzija
a1479a8c05
13 mainītis faili ar 927 papildinājumiem un 27 dzēšanām
  1. 75 1
      src/main/java/com/jeeplus/modules/signatureManagement/electronicSignature/controller/DistrictDirectorApplicationController.java
  2. 1 0
      src/main/java/com/jeeplus/modules/signatureManagement/electronicSignature/controller/ElectronicSignatureController.java
  3. 38 1
      src/main/java/com/jeeplus/modules/signatureManagement/electronicSignature/entity/DistrictDirectorApplication.java
  4. 31 0
      src/main/java/com/jeeplus/modules/signatureManagement/electronicSignature/service/DistrictDirectorApplicationService.java
  5. 99 0
      src/main/resources/mappings/modules/signatureManagement/electronicSignature/DistrictDirectorApplicationDao.xml
  6. 21 0
      src/main/webapp/static/common/jeeplus.js
  7. 4 1
      src/main/webapp/webpage/modules/signatureManagement/electronicSignature/ElectronicSignatureList.jsp
  8. 15 0
      src/main/webapp/webpage/modules/signatureManagement/electronicSignature/directApplicationTask.jsp
  9. 21 19
      src/main/webapp/webpage/modules/signatureManagement/electronicSignature/directorApplicationAudit.jsp
  10. 14 2
      src/main/webapp/webpage/modules/signatureManagement/electronicSignature/directorApplicationForm.jsp
  11. 141 0
      src/main/webapp/webpage/modules/signatureManagement/electronicSignature/directorApplicationLookForm.jsp
  12. 15 3
      src/main/webapp/webpage/modules/signatureManagement/electronicSignature/directorApplicationView.jsp
  13. 452 0
      src/main/webapp/webpage/modules/signatureManagement/electronicSignature/districtDirectorApplicationList.jsp

+ 75 - 1
src/main/java/com/jeeplus/modules/signatureManagement/electronicSignature/controller/DistrictDirectorApplicationController.java

@@ -3,6 +3,7 @@ package com.jeeplus.modules.signatureManagement.electronicSignature.controller;
 import com.google.common.base.Strings;
 import com.google.common.collect.Maps;
 import com.jeeplus.common.config.Global;
+import com.jeeplus.common.persistence.Page;
 import com.jeeplus.common.utils.MyBeanUtils;
 import com.jeeplus.common.utils.StringUtils;
 import com.jeeplus.common.web.BaseController;
@@ -18,6 +19,8 @@ import com.jeeplus.modules.sys.utils.UserUtils;
 import com.jeeplus.modules.test.entity.act.ActTest;
 import com.jeeplus.modules.workclientinfo.entity.WorkClientInfo;
 import com.jeeplus.modules.workcontractinfo.entity.WorkCntractBorrow;
+import com.jeeplus.modules.workprojectnotify.entity.WorkProjectNotify;
+import com.jeeplus.modules.workprojectnotify.service.WorkProjectNotifyService;
 import org.activiti.engine.runtime.ProcessInstance;
 import org.activiti.engine.task.Task;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -30,7 +33,9 @@ import org.springframework.web.bind.annotation.ResponseBody;
 import org.springframework.web.servlet.mvc.support.RedirectAttributes;
 
 import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
 import java.util.Date;
+import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
@@ -53,6 +58,9 @@ public class DistrictDirectorApplicationController extends BaseController {
     @Autowired
     private OfficeService officeService;
 
+    @Autowired
+    private WorkProjectNotifyService workProjectNotifyService;
+
 
     @ModelAttribute
     public DistrictDirectorApplication get(@RequestParam(required=false) String id) {
@@ -67,6 +75,14 @@ public class DistrictDirectorApplicationController extends BaseController {
     }
 
 
+    @RequestMapping(value = {"list", ""})
+    public String list(DistrictDirectorApplication directorApplication, HttpServletRequest request, HttpServletResponse response, Model model) {
+        Page<DistrictDirectorApplication> page = directorApplicationService.findPage(new Page<DistrictDirectorApplication>(request, response), directorApplication);
+        model.addAttribute("page", page);
+        return "modules/signatureManagement/electronicSignature/districtDirectorApplicationList";
+    }
+
+
 
     @RequestMapping(value = "form")
     public String form(DistrictDirectorApplication directorApplication, Model model){
@@ -80,7 +96,19 @@ public class DistrictDirectorApplicationController extends BaseController {
         String view = "directorApplicationForm";
         String tabId = request.getParameter("tabId");
         if ("1".equals(tabId)){
-            view = "directorApplicationView";
+            directorApplication = directorApplicationService.get(directorApplication.getId());
+            if(StringUtils.isNotBlank(directorApplication.getProcessInstanceId())){
+                if(null == directorApplication.getAct() || StringUtils.isBlank(directorApplication.getAct().getProcInsId())){
+                    Act act = new Act();
+                    act.setProcInsId(directorApplication.getProcessInstanceId());
+                    directorApplication.setAct(act);
+                }
+                WorkProjectNotify workProjectNotify = workProjectNotifyService.getByProcessInstanceId(directorApplication.getProcessInstanceId());
+                if(null != workProjectNotify && StringUtils.isNotBlank(workProjectNotify.getNotifyType())){
+                    model.addAttribute("projectNotifyType", workProjectNotify.getNotifyType());
+                }
+            }
+            view = "directorApplicationLookForm";
         }else if ("3".equals(tabId)){
             ProcessInstance procIns = actTaskService.getProcIns(directorApplication.getProcessInstanceId());
             if (procIns != null){
@@ -107,6 +135,24 @@ public class DistrictDirectorApplicationController extends BaseController {
         return "modules/signatureManagement/electronicSignature/"+view;
     }
 
+    @RequestMapping(value = "lookForm")
+    public String lookForm(DistrictDirectorApplication directorApplication, Model model){
+        directorApplication = directorApplicationService.get(directorApplication.getId());
+        if(StringUtils.isNotBlank(directorApplication.getProcessInstanceId())){
+            if(null == directorApplication.getAct() || StringUtils.isBlank(directorApplication.getAct().getProcInsId())){
+                Act act = new Act();
+                act.setProcInsId(directorApplication.getProcessInstanceId());
+                directorApplication.setAct(act);
+            }
+            WorkProjectNotify workProjectNotify = workProjectNotifyService.getByProcessInstanceId(directorApplication.getProcessInstanceId());
+            if(null != workProjectNotify && StringUtils.isNotBlank(workProjectNotify.getNotifyType())){
+                model.addAttribute("projectNotifyType", workProjectNotify.getNotifyType());
+            }
+        }
+        model.addAttribute("districtDirectorApplication",directorApplication);
+        return "modules/signatureManagement/electronicSignature/directorApplicationLookForm";
+    }
+
 
     @RequestMapping(value = "save")
     public String save(DistrictDirectorApplication directorApplication, Model model, RedirectAttributes attributes)throws Exception{
@@ -235,6 +281,34 @@ public class DistrictDirectorApplicationController extends BaseController {
         return "true";
     }
 
+    @RequestMapping(value = "getProcess")
+    public String getProcess(DistrictDirectorApplication directorApplication, Model model, HttpServletRequest request){
+        model.addAttribute("processInstanceId", directorApplication.getProcessInstanceId());
+        return "modules/signatureManagement/electronicSignature/directApplicationTask";
+    }
+
+
+    /**
+     * 申请是否存在
+     * @param id
+     * @return
+     */
+    @RequestMapping(value = "getExist")
+    @ResponseBody
+    public Map<String,String> getExist(String id){
+        Map map = new HashMap();
+        DistrictDirectorApplication directorApplication = null;
+        if (StringUtils.isNotBlank(id)){
+            directorApplication = directorApplicationService.get(id);
+        }
+        if(null != directorApplication){
+            map.put("success",true);
+        }else{
+            map.put("success",false);
+        }
+        return map;
+    }
+
 
 
 

+ 1 - 0
src/main/java/com/jeeplus/modules/signatureManagement/electronicSignature/controller/ElectronicSignatureController.java

@@ -120,6 +120,7 @@ public class ElectronicSignatureController extends BaseController {
         List<DistrictDirectorApplication> directorApplication=directorApplicationService.isApplyArea();
         if (null != directorApplication && directorApplication.size()>0){
             model.addAttribute("isArea","1");
+            model.addAttribute("districtId",directorApplication.get(0).getId());
         }
         model.addAttribute("page", page);
         return "modules/signatureManagement/electronicSignature/ElectronicSignatureList";

+ 38 - 1
src/main/java/com/jeeplus/modules/signatureManagement/electronicSignature/entity/DistrictDirectorApplication.java

@@ -19,12 +19,49 @@ public class DistrictDirectorApplication extends ActEntity<DistrictDirectorAppli
     private String status;   //流程状态
     private String processInstanceId;   //流程id
     private String home;
-    private Area area; //地区
+    private Area area; //关联地区
     private String areaId;
+    private String territory; //负责区域
+    private String areaDirector; // 区域负责人
 
     private String officeId;
     private String companyId;
 
+    private Date beginDate;   //申请开始时间
+    private Date endDate;   //申请结束时间
+
+    public String getTerritory() {
+        return territory;
+    }
+
+    public void setTerritory(String territory) {
+        this.territory = territory;
+    }
+
+    public String getAreaDirector() {
+        return areaDirector;
+    }
+
+    public void setAreaDirector(String areaDirector) {
+        this.areaDirector = areaDirector;
+    }
+
+    public Date getBeginDate() {
+        return beginDate;
+    }
+
+    public void setBeginDate(Date beginDate) {
+        this.beginDate = beginDate;
+    }
+
+    public Date getEndDate() {
+        return endDate;
+    }
+
+    public void setEndDate(Date endDate) {
+        this.endDate = endDate;
+    }
+
     // 运行中的流程实例
     private ProcessInstance processInstance;
 

+ 31 - 0
src/main/java/com/jeeplus/modules/signatureManagement/electronicSignature/service/DistrictDirectorApplicationService.java

@@ -1,13 +1,16 @@
 package com.jeeplus.modules.signatureManagement.electronicSignature.service;
 
 import com.google.common.collect.Maps;
+import com.jeeplus.common.persistence.Page;
 import com.jeeplus.common.service.CrudService;
+import com.jeeplus.common.utils.MenuStatusEnum;
 import com.jeeplus.common.utils.StringUtils;
 import com.jeeplus.modules.act.service.ActTaskService;
 import com.jeeplus.modules.areaStaff.service.AreaStaffService;
 import com.jeeplus.modules.serialnum.service.SerialNumTplService;
 import com.jeeplus.modules.signatureManagement.electronicSignature.dao.DistrictDirectorApplicationDao;
 import com.jeeplus.modules.signatureManagement.electronicSignature.entity.DistrictDirectorApplication;
+import com.jeeplus.modules.signatureManagement.electronicSignature.entity.ElectronicSignatureInfo;
 import com.jeeplus.modules.sys.dao.AreaDao;
 import com.jeeplus.modules.sys.entity.Area;
 import com.jeeplus.modules.sys.entity.Office;
@@ -81,6 +84,34 @@ public class DistrictDirectorApplicationService extends CrudService<DistrictDire
         return directorApplication;
     }
 
+
+    public Page<DistrictDirectorApplication> findPage(Page<DistrictDirectorApplication> page, DistrictDirectorApplication directorApplication) {
+        //设置数据权限
+        if(!UserUtils.getUser().isAdmin()) {
+            String dataScopeSql = null;
+            dataScopeSql = dataScopeFilter(directorApplication.getCurrentUser(), "o", "u", "s", MenuStatusEnum.ELECTRONIC_SIGNATURE.getValue());
+            directorApplication.getSqlMap().put("dsf", dataScopeSql);
+            directorApplication.getSqlMap().put("delFlag", "AND a.del_flag = 0");
+        }
+        if(null!= directorApplication.getOffice() && org.apache.commons.lang3.StringUtils.isNotBlank(directorApplication.getOffice().getId())){
+            //查询该选择节点下所有的部门Id
+            List<String> officeIdList = officeService.getChildrenOffice(directorApplication.getOffice().getId());
+            officeIdList.add(directorApplication.getOffice().getId());
+            directorApplication.setOfficeIdList(officeIdList);
+        }
+        int count = dao.queryCount(directorApplication);
+        page.setCount(count);
+        page.setCountFlag(false);
+        directorApplication.setPage(page);
+        List<DistrictDirectorApplication> recordsList = findList(directorApplication);
+        page.setList(recordsList);
+        return page;
+    }
+
+
+
+
+
     @Transactional(readOnly = false)
     public  void save(DistrictDirectorApplication directorApplication){
         super.save(directorApplication);

+ 99 - 0
src/main/resources/mappings/modules/signatureManagement/electronicSignature/DistrictDirectorApplicationDao.xml

@@ -14,6 +14,8 @@
 		a.office_id as "office.id",
 		a.office_id as "officeId",
 		a.area_id as "area.id",
+		a.territory as "territory",
+		a.area_director as "areaDirector",
 		a.company_id as "companyId",
 		area.name AS "area.name",
 		su.name as "createBy.name",
@@ -37,6 +39,98 @@
         WHERE a.id = #{id}
     </select>
 
+	<select id="findList" resultType="com.jeeplus.modules.signatureManagement.electronicSignature.entity.DistrictDirectorApplication" >
+		SELECT
+		<include refid="districtColumns"/>
+
+		FROM district_director_application a
+		<include refid="districtJoins"/>
+		<where>
+			a.del_flag = 0
+
+			<if test="createBy != null and((createBy.id != null and createBy.id != '') or (createBy.name != null and createBy.name != ''))">
+				AND (a.create_by = #{createBy.id} or su.name like concat('%',#{createBy.name},'%'))
+			</if>
+			<if test="area != null and((area.id != null and area.id != '') or (area.name != null and area.name != ''))">
+				AND (a.area_id = #{area.id} or area.name like concat('%',#{area.name},'%'))
+			</if>
+			<if test="beginDate !=null">
+				AND a.create_date >= #{beginDate}
+			</if>
+			<if test="endDate !=null">
+				AND a.create_date &lt;= #{endDate}
+			</if>
+
+			<if test="status != null and status != ''">
+				AND a.status = #{status}
+			</if>
+
+			<if test="office!=null and office.id=='' and office.name!=null and office.name!='' ">
+				and  so.name like concat('%',#{office.name},'%')
+			</if>
+
+			<if test="officeIdList!=null and officeIdList.size!=0">
+				and a.office_id in
+				<foreach collection="officeIdList" item="officeId" separator="," open="(" close=")">
+					#{officeId}
+				</foreach>
+			</if>
+
+			<if test="sqlMap.dsf !=null and sqlMap.dsf!=''">
+				${sqlMap.dsf}
+			</if>
+		</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>
+
+	<select id="queryCount" resultType="int" >
+		SELECT count(a.id)
+		FROM district_director_application a
+		<include refid="districtJoins"/>
+		<where>
+			a.del_flag = 0
+			<if test="createBy != null and((createBy.id != null and createBy.id != '') or (createBy.name != null and createBy.name != ''))">
+				AND (a.create_by = #{createBy.id} or su.name like concat('%',#{createBy.name},'%'))
+			</if>
+			<if test="area != null and((area.id != null and area.id != '') or (area.name != null and area.name != ''))">
+				AND (a.area_id = #{area.id} or area.name like concat('%',#{area.name},'%'))
+			</if>
+			<if test="beginDate !=null">
+				AND a.create_date >= #{beginDate}
+			</if>
+			<if test="endDate !=null">
+				AND a.create_date &lt;= #{endDate}
+			</if>
+
+			<if test="status != null and status != ''">
+				AND a.status = #{status}
+			</if>
+
+			<if test="office!=null and office.id=='' and office.name!=null and office.name!='' ">
+				and  so.name like concat('%',#{office.name},'%')
+			</if>
+
+			<if test="officeIdList!=null and officeIdList.size!=0">
+				and a.office_id in
+				<foreach collection="officeIdList" item="officeId" separator="," open="(" close=")">
+					#{officeId}
+				</foreach>
+			</if>
+
+			<if test="sqlMap.dsf !=null and sqlMap.dsf!=''">
+				${sqlMap.dsf}
+			</if>
+		</where>
+	</select>
+
+
     <insert id="insert">
 		INSERT INTO district_director_application(
 			id,
@@ -50,6 +144,7 @@
 			office_id,
 			company_id,
 			area_id,
+			territory,
 			status
 		) VALUES (
 			#{id},
@@ -63,6 +158,7 @@
 			#{officeId},
 			#{companyId},
             #{area.id},
+            #{territory},
 			#{status}
 		)
 	</insert>
@@ -76,6 +172,8 @@
 			office_id = #{officeId},
 			company_id = #{companyId},
 			area_id = #{area.id},
+			territory = #{territory},
+			area_director = #{areaDirector},
 			status = #{status}
 		WHERE id = #{id}
 	</update>
@@ -102,6 +200,7 @@
 		select a.id
 		from district_director_application a
 		where a.status in ('2','5') and a.del_flag = '0' and a.create_by = #{createBy.id}
+		order by a.create_date DESC
 	</select>
 
 

+ 21 - 0
src/main/webapp/static/common/jeeplus.js

@@ -434,6 +434,27 @@ function getruralProjectState(id)
     return result;
 }
 
+function directorApplicationState(id)
+{
+    var result ={};
+    result.action = true;
+    switch(id)
+    {
+        case "0":result.status="";result.action = false;break;
+        case "1":result.label = "tempstore";result.status="暂存";result.action = false;break;
+        case "2":result.label = "auditing";result.status="审批中";break;
+        case "3":result.label = "cancel";result.status="撤回";break;
+        case "4":result.label = "reject";result.status="驳回";break;
+        case "5":result.label = "signed";result.status="申请完成";break;
+        case "7":result.label = "discarded";result.status="作废";result.action = false;break;
+        case "8":result.label = "discarded";result.status="已删除";result.action = false;break;
+        case "10":result.label = "unknown";result.status="待发起";result.action = false;break;
+        default:
+            result.label = "unknown";result.status="未知";break;
+    }
+    return result;
+}
+
 
 function getCheckProjectState(id)
 {

+ 4 - 1
src/main/webapp/webpage/modules/signatureManagement/electronicSignature/ElectronicSignatureList.jsp

@@ -387,7 +387,10 @@
                         </shiro:hasPermission>
                         <button class="layui-btn layui-btn-sm" data-toggle="tooltip" data-placement="left" onclick="sortOrRefresh()" title="刷新"> 刷新</button>
                         <c:if test="${masterState == 1 && isArea != '1'}">
-                            <button class="layui-btn layui-btn-sm layui-bg-blue" title="地区负责人申请" onclick="openDialogDis('地区负责人申请','${ctx}/districtDirectorApplication/districtDirectorApplication/form','95%','95%')">&nbsp;地区负责人申请</button>
+                            <button class="layui-btn layui-btn-sm layui-bg-blue" title="地区负责人申请" onclick="openDialogre('地区负责人申请','${ctx}/districtDirectorApplication/districtDirectorApplication/form','95%','95%','','送审,关闭')">&nbsp;地区负责人申请</button>
+                        </c:if>
+                        <c:if test="${masterState == 1 && isArea == '1'}">
+                            <button class="layui-btn layui-btn-sm layui-bg-blue" title="地区负责人申请详情" onclick="openDialogre('地区负责人申请详情','${ctx}/districtDirectorApplication/districtDirectorApplication/lookForm?id='+'${districtId}','95%','95%','','关闭')">&nbsp;地区负责人申请详情</button>
                         </c:if>
 
 

+ 15 - 0
src/main/webapp/webpage/modules/signatureManagement/electronicSignature/directApplicationTask.jsp

@@ -0,0 +1,15 @@
+<%@ page contentType="text/html;charset=UTF-8" %>
+<%@ include file="/webpage/include/taglib.jsp"%>
+<html>
+<head>
+	<title>流程追踪</title>
+	<meta name="decorator" content="default"/>
+</head>
+<body class="gray-bg">
+<div class="container form layui-form">
+	<act:flowChart procInsId="${processInstanceId}"/>
+	<act:histoicFlow procInsId="${processInstanceId}"/>
+</div>
+</body>
+</html>
+

+ 21 - 19
src/main/webapp/webpage/modules/signatureManagement/electronicSignature/directorApplicationAudit.jsp

@@ -8,28 +8,18 @@
 	<link rel='stylesheet' type="text/css" href="${ctxStatic}/layui/css/layui.css"/>
 	<script src="${ctxStatic}/common/html/js/script.js"></script>
 	<style>
-		#contractTypeDoc-error{
-			top:80px;
-			left:0;
-		}
-		/*超过5个汉字,调整label的长度,以下是配套的*/
-		.layui-item .layui-form-label{
-			width:90px;
-		}
-		.form-group .layui-item .layui-input-block,
-		.query .layui-input-block {
-			margin-left: 116px;
-		}
-		#workInvoiceProjectRelationList td{
-			padding-left: 0px;
-			padding-right: 0px;
-		}
+
 	</style>
 	<script type="text/javascript">
         var validateForm;
         function doSubmit(obj){//回调函数,在编辑和保存动作时,供openDialog调用提交表单。
             if(validateForm.form()){
 				if(obj == 1) {
+					var areaDirector = $("#areaDirector").val();
+					if (areaDirector == null || "" == areaDirector) {
+						parent.layer.msg("请填写区域负责人!", {icon: 5});
+						return false;
+					}
 					$("#flag").val("yes");
 				}else {
 					$("#flag").val("no");
@@ -108,10 +98,16 @@
 			<form:hidden path="act.procDefId"/>
 			<form:hidden id="flag" path="act.flag"/>
 			<c:set var="status" value="${districtDirectorApplication.act.status}" />
-			<div class="form-group layui-row first">
+			<div class="form-group layui-row first lw9">
 				<div class="form-group-label"><h2>基础信息</h2></div>
 				<div class="layui-item layui-col-sm6">
-					<label class="layui-form-label"><span class="require-item">*</span>负责地区:</label>
+					<label class="layui-form-label"><span class="require-item">*</span>负责区域:</label>
+					<div class="layui-input-block with-icon">
+						<form:input path="territory" htmlEscape="false" readonly="true" maxlength="64" class="form-control  layui-input"/>
+					</div>
+				</div>
+				<div class="layui-item layui-col-sm6">
+					<label class="layui-form-label">关联地区:</label>
 					<div class="layui-input-block with-icon">
 						<sys:treeselect id="area" name="area.id" disabled="disabled" value="${districtDirectorApplication.area.id}" labelName="area.name"
 										labelValue="${districtDirectorApplication.area.name}"
@@ -122,7 +118,7 @@
 					</div>
 				</div>
 				<div class="layui-item layui-col-sm6">
-					<label class="layui-form-label">创建人:</label>
+					<label class="layui-form-label">申请人:</label>
 					<div class="layui-input-block">
 						<form:input path="createBy.name" htmlEscape="false"  readonly="true"  class="form-control  layui-input"/>
 						<form:hidden path="createBy.id" htmlEscape="false"   readonly="true"  class="form-control  layui-input"/>
@@ -140,6 +136,12 @@
 						<input id="createDate" name="createDate" htmlEscape="false"  value="<fmt:formatDate value="${districtDirectorApplication.createDate}" pattern="yyyy-MM-dd"/>" readonly="readonly"  class="form-control judgment layui-input"/>
 					</div>
 				</div>
+				<div class="layui-item layui-col-sm6 ">
+					<label class="layui-form-label double-line"><span class="require-item">*</span>区域负责人:</label>
+					<div class="layui-input-block">
+						<form:input path="areaDirector" htmlEscape="false" maxlength="64" class="form-control  layui-input"/>
+					</div>
+				</div>
 				<div class="layui-item layui-col-sm12  with-textarea">
 					<label class="layui-form-label">备注:</label>
 					<div class="layui-input-block">

+ 14 - 2
src/main/webapp/webpage/modules/signatureManagement/electronicSignature/directorApplicationForm.jsp

@@ -8,6 +8,12 @@
         var validateForm;
         function doSubmit(obj){//回调函数,在编辑和保存动作时,供openDialog调用提交表单。
             if(validateForm.form()){
+				var territory = $("#territory").val();
+				if (territory == null || "" == territory) {
+					parent.layer.msg("请填写负责区域!", {icon: 5});
+					return false;
+				}
+
 				$("#inputForm").attr("action","${ctx}/districtDirectorApplication/districtDirectorApplication/save");
 				$("#inputForm").submit();
 				return true;
@@ -57,7 +63,13 @@
 			<div class="form-group layui-row first">
 				<div class="form-group-label"><h2>基础信息</h2></div>
 				<div class="layui-item layui-col-sm6">
-					<label class="layui-form-label"><span class="require-item">*</span>负责地区:</label>
+					<label class="layui-form-label"><span class="require-item">*</span>负责区域:</label>
+					<div class="layui-input-block with-icon">
+						<form:input path="territory" htmlEscape="false" maxlength="64" class="form-control  layui-input"/>
+					</div>
+				</div>
+				<div class="layui-item layui-col-sm6">
+					<label class="layui-form-label">关联地区:</label>
 					<div class="layui-input-block with-icon">
 						<sys:treeselectStaffArea id="area" name="area.id" value="${districtDirectorApplication.area.id}" labelName="area.name"
 										labelValue="${districtDirectorApplication.area.name}"
@@ -68,7 +80,7 @@
 					</div>
 				</div>
 				<div class="layui-item layui-col-sm6">
-					<label class="layui-form-label">创建人:</label>
+					<label class="layui-form-label">申请人:</label>
 					<div class="layui-input-block">
 						<form:input path="createBy.name" htmlEscape="false"  readonly="true"  class="form-control  layui-input"/>
 						<form:hidden path="createBy.id" htmlEscape="false"   readonly="true"  class="form-control  layui-input"/>

+ 141 - 0
src/main/webapp/webpage/modules/signatureManagement/electronicSignature/directorApplicationLookForm.jsp

@@ -0,0 +1,141 @@
+<%@ page contentType="text/html;charset=UTF-8" %>
+<%@ include file="/webpage/include/taglib.jsp"%>
+<html>
+<head>
+	<title>地区负责人申请管理</title>
+	<meta name="decorator" content="default"/>
+	<script type="text/javascript">
+        var validateForm;
+        function doSubmit(obj){//回调函数,在编辑和保存动作时,供openDialog调用提交表单。
+            if(validateForm.form()){
+				$("#inputForm").attr("action","${ctx}/districtDirectorApplication/districtDirectorApplication/save");
+                $("#inputForm").submit();
+                return true;
+            }else {
+                parent.layer.msg("信息未填写完整!", {icon: 5});
+            }
+            return false;
+        }
+        $(document).ready(function() {
+
+			$("#area").on("change",function(){
+						var area = $("#area").val()
+						$.ajax({
+							url:"${ctx}/districtDirectorApplication/districtDirectorApplication/checkArea",
+							type:"post",
+							data:{"area":area,},
+							success:function(data){
+								if(data==="false"){
+									$("#ph").html("该地区已被选择");
+								}else {
+									$("#ph").html('');
+								}
+							}
+						});
+					}
+			)
+			function openDialogre(title,url,width,height,target,buttons) {
+				if (navigator.userAgent.match(/(iPhone|iPod|Android|ios)/i)) {//如果是移动端,就使用自适应大小弹窗
+					width = 'auto';
+					height = 'auto';
+				} else {//如果是PC端,根据用户设置的width和height显示。
+				}
+				var split = buttons.split(",");
+				top.layer.open({
+					type: 2,
+					area: [width, height],
+					title: title,
+					maxmin: true, //开启最大化最小化按钮
+					skin: 'three-btns',
+					content: url,
+					btn: split,
+					btn1: function(index, layero){
+						top.layer.close(index)
+						document.getElementById('iframe').contentWindow.location.reload();
+					}
+				});
+			}
+
+            validateForm = $("#inputForm").validate({
+                submitHandler: function(form){
+                    loading('正在提交,请稍等...');
+                    form.submit();
+                },
+
+            });
+
+        });
+
+	</script>
+</head>
+<body>
+<div class="single-form">
+	<div class="container">
+		<form:form id="inputForm" modelAttribute="districtDirectorApplication" action="${ctx}/districtDirectorApplication/districtDirectorApplication/save" method="post" class="form-horizontal">
+			<form:hidden path="id"/>
+
+			<div class="form-group layui-row first lw9">
+				<div class="form-group-label"><h2>基础信息</h2></div>
+				<div class="layui-item layui-col-sm6">
+					<label class="layui-form-label"><span class="require-item">*</span>负责区域:</label>
+					<div class="layui-input-block with-icon">
+						<form:input path="territory" htmlEscape="false" readonly="true" maxlength="64" class="form-control  layui-input"/>
+					</div>
+				</div>
+				<div class="layui-item layui-col-sm6">
+					<label class="layui-form-label">关联地区:</label>
+					<div class="layui-input-block with-icon">
+						<sys:treeselect id="area" name="area.id" disabled="disabled" value="${districtDirectorApplication.area.id}" labelName="area.name"
+										labelValue="${districtDirectorApplication.area.name}"
+										cssStyle="background-color:#fff"
+										title="区域" url="/sys/area/treeData" cssClass="form-control required layui-input"
+										allowClear="true" notAllowSelectParent="false"/>
+						<span id="ph" style="color:#cc5965"></span>
+					</div>
+				</div>
+				<div class="layui-item layui-col-sm6">
+					<label class="layui-form-label">申请人:</label>
+					<div class="layui-input-block">
+						<form:input path="createBy.name" htmlEscape="false"  readonly="true"  class="form-control  layui-input"/>
+						<form:hidden path="createBy.id" htmlEscape="false"   readonly="true"  class="form-control  layui-input"/>
+					</div>
+				</div>
+				<div class="layui-item layui-col-sm6">
+					<label class="layui-form-label">所属部门:</label>
+					<div class="layui-input-block">
+						<form:input path="office.name" htmlEscape="false" id="officeName" class="form-control layui-input" readonly="true"/>
+					</div>
+				</div>
+				<div class="layui-item layui-col-sm6">
+					<label class="layui-form-label">申请日期:</label>
+					<div class="layui-input-block">
+						<input id="createDate" name="createDate" htmlEscape="false"  value="<fmt:formatDate value="${districtDirectorApplication.createDate}" pattern="yyyy-MM-dd"/>" readonly="readonly"  class="form-control judgment layui-input"/>
+					</div>
+				</div>
+				<div class="layui-item layui-col-sm6">
+					<label class="layui-form-label"><span class="require-item">*</span>区域负责人:</label>
+					<div class="layui-input-block">
+						<form:input path="areaDirector" htmlEscape="false" readonly="true" maxlength="64" class="form-control  layui-input"/>
+					</div>
+				</div>
+				<div class="layui-item layui-col-sm12  with-textarea">
+					<label class="layui-form-label">备注:</label>
+					<div class="layui-input-block">
+						<form:textarea placeholder="请输入备注" readonly="true" path="remarks" htmlEscape="false" rows="4" maxlength="255" class="form-control "/>
+					</div>
+				</div>
+			</div>
+			<div class="form-group layui-row">
+				<div class="form-group-label"><h2>${projectNotifyType}审批流程</h2></div>
+				<div class="layui-item layui-col-xs12 form-table-container" >
+					<act:flowChart procInsId="${districtDirectorApplication.act.procInsId}"/>
+					<act:histoicFlow procInsId="${districtDirectorApplication.act.procInsId}"/>
+				</div>
+			</div>
+			<div class="form-group layui-row page-end"></div>
+		</form:form>
+
+	</div>
+</div>
+</body>
+</html>

+ 15 - 3
src/main/webapp/webpage/modules/signatureManagement/electronicSignature/directorApplicationView.jsp

@@ -81,10 +81,16 @@
 			<form:hidden path="act.procDefId"/>
 			<form:hidden id="flag" path="act.flag"/>
 			<c:set var="status" value="${districtDirectorApplication.act.status}" />
-			<div class="form-group layui-row first">
+			<div class="form-group layui-row first lw9">
 				<div class="form-group-label"><h2>基础信息</h2></div>
 				<div class="layui-item layui-col-sm6">
-					<label class="layui-form-label"><span class="require-item">*</span>负责地区:</label>
+					<label class="layui-form-label"><span class="require-item">*</span>负责区域:</label>
+					<div class="layui-input-block with-icon">
+						<form:input path="territory" htmlEscape="false" readonly="true" maxlength="64" class="form-control  layui-input"/>
+					</div>
+				</div>
+				<div class="layui-item layui-col-sm6">
+					<label class="layui-form-label">关联地区:</label>
 					<div class="layui-input-block with-icon">
 						<sys:treeselect id="area" name="area.id" disabled="disabled" value="${districtDirectorApplication.area.id}" labelName="area.name"
 										labelValue="${districtDirectorApplication.area.name}"
@@ -95,7 +101,7 @@
 					</div>
 				</div>
 				<div class="layui-item layui-col-sm6">
-					<label class="layui-form-label">创建人:</label>
+					<label class="layui-form-label">申请人:</label>
 					<div class="layui-input-block">
 						<form:input path="createBy.name" htmlEscape="false"  readonly="true"  class="form-control  layui-input"/>
 						<form:hidden path="createBy.id" htmlEscape="false"   readonly="true"  class="form-control  layui-input"/>
@@ -113,6 +119,12 @@
 						<input id="createDate" name="createDate" htmlEscape="false"  value="<fmt:formatDate value="${districtDirectorApplication.createDate}" pattern="yyyy-MM-dd"/>" readonly="readonly"  class="form-control judgment layui-input"/>
 					</div>
 				</div>
+				<div class="layui-item layui-col-sm6">
+					<label class="layui-form-label"><span class="require-item">*</span>区域负责人:</label>
+					<div class="layui-input-block">
+						<form:input path="areaDirector" htmlEscape="false" readonly="true" maxlength="64" class="form-control  layui-input"/>
+					</div>
+				</div>
 				<div class="layui-item layui-col-sm12  with-textarea">
 					<label class="layui-form-label">备注:</label>
 					<div class="layui-input-block">

+ 452 - 0
src/main/webapp/webpage/modules/signatureManagement/electronicSignature/districtDirectorApplicationList.jsp

@@ -0,0 +1,452 @@
+<%@ page contentType="text/html;charset=UTF-8" %>
+<%@ include file="/webpage/include/taglib.jsp"%>
+<html>
+<head>
+    <title>地区负责人申请</title>
+    <meta name="decorator" content="default"/>
+    <script type="text/javascript" src="${ctxStatic}/layui/layuidown.js"></script>
+    <link rel='stylesheet' type="text/css" href="${ctxStatic}/layui/layuidown.css"/>
+    <%--<script src="${ctxStatic}/layer-v2.3/laydate/laydate.js"></script>--%>
+    <script type="text/javascript">
+        $(document).ready(function() {
+            layui.use(['dropdown', 'util', 'layer'], function () {
+                var form = layui.form;
+            })
+
+            //搜索框收放
+            $('#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'
+                , trigger: 'click'
+            });
+            laydate.render({
+                elem: '#endDate', //目标元素。由于laydate.js封装了一个轻量级的选择器引擎,因此elem还允许你传入class、tag但必须按照这种方式 '#id .class'
+                event: 'focus', //响应事件。如果没有传入event,则按照默认的click
+                type : 'date'
+                , trigger: 'click'
+            });
+        });
+
+        function reset() {
+            $("#searchForm").resetForm();
+        }
+
+        function openDialog(title,url,width,height,target) {
+
+            if (navigator.userAgent.match(/(iPhone|iPod|Android|ios)/i)) {//如果是移动端,就使用自适应大小弹窗
+                width = 'auto';
+                height = 'auto';
+            } else {//如果是PC端,根据用户设置的width和height显示。
+
+            }
+
+            top.layer.open({
+                type: 2,
+                area: [width, height],
+                title: title,
+                maxmin: true, //开启最大化最小化按钮
+                content: url,
+                skin: 'three-btns',
+                btn: ['送审', '暂存', '关闭'],
+                btn1: function(index, layero){
+                    var body = top.layer.getChildFrame('body', index);
+                    var iframeWin = layero.find('iframe')[0]; //得到iframe页的窗口对象,执行iframe页的方法:iframeWin.method();
+                    var inputForm = body.find('#inputForm');
+                    var top_iframe;
+                    if(target){
+                        top_iframe = target;//如果指定了iframe,则在改frame中跳转
+                    }else{
+                        top_iframe = top.getActiveTab().attr("name");//获取当前active的tab的iframe
+                    }
+                    inputForm.attr("target",top_iframe);//表单提交成功后,从服务器返回的url在当前tab中展示
+                    if(iframeWin.contentWindow.doSubmit(1) ){
+                        // top.layer.close(index);//关闭对话框。
+                        setTimeout(function(){top.layer.close(index)}, 100);//延时0.1秒,对应360 7.1版本bug
+                    }
+                },
+                btn2:function(index,layero){
+                    var body = top.layer.getChildFrame('body', index);
+                    var iframeWin = layero.find('iframe')[0]; //得到iframe页的窗口对象,执行iframe页的方法:iframeWin.method();
+                    var inputForm = body.find('#inputForm');
+                    var top_iframe;
+                    if(target){
+                        top_iframe = target;//如果指定了iframe,则在改frame中跳转
+                    }else{
+                        top_iframe = top.getActiveTab().attr("name");//获取当前active的tab的iframe
+                    }
+                    inputForm.attr("target",top_iframe);//表单提交成功后,从服务器返回的url在当前tab中展示
+                    if(iframeWin.contentWindow.doSubmit(2) ){
+                        // top.layer.close(index);//关闭对话框。
+                        setTimeout(function(){top.layer.close(index)}, 100);//延时0.1秒,对应360 7.1版本bug
+                    }else {
+                        return false;
+                    }
+                },
+                btn3: function (index) {
+                }
+            });
+        }
+        //打开对话框(查看)
+        function openDialogView(title,url,id,width,height){
+
+            if(navigator.userAgent.match(/(iPhone|iPod|Android|ios)/i)){//如果是移动端,就使用自适应大小弹窗
+                width='auto';
+                height='auto';
+            }else{//如果是PC端,根据用户设置的width和height显示。
+
+            }
+            $.ajax({
+                async: false,
+                url: "${ctx}/districtDirectorApplication/districtDirectorApplication/getExist?id="+id,
+                dataType: "json",
+                success: function (data) {
+                    if(data.success){
+                        top.layer.open({
+                            type: 2,
+                            skin: 'one-btn',
+                            area: [width, height],
+                            title: title,
+                            maxmin: true, //开启最大化最小化按钮
+                            content: url ,
+                            btn: ['关闭'],
+                            cancel: function(index){
+                            }
+                        });
+                    }else{
+                        top.layer.msg("该地区申请信息已删除!", {icon: 0});
+                        window.location.reload();
+                    }
+                }
+            });
+
+        }
+        function openDialogre(title,url,width,height,target,buttons) {
+
+            if (navigator.userAgent.match(/(iPhone|iPod|Android|ios)/i)) {//如果是移动端,就使用自适应大小弹窗
+                width = 'auto';
+                height = 'auto';
+            } else {//如果是PC端,根据用户设置的width和height显示。
+
+            }
+            var split = buttons.split(",");
+            top.layer.open({
+                type: 2,
+                area: [width, height],
+                title: title,
+                maxmin: true, //开启最大化最小化按钮
+                skin: 'three-btns',
+                content: url,
+                btn: split,
+                btn1: function(index, layero){
+                    var body = top.layer.getChildFrame('body', index);
+                    var iframeWin = layero.find('iframe')[0]; //得到iframe页的窗口对象,执行iframe页的方法:iframeWin.method();
+                    var inputForm = body.find('#inputForm');
+                    var top_iframe;
+                    if(target){
+                        top_iframe = target;//如果指定了iframe,则在改frame中跳转
+                    }else{
+                        top_iframe = top.getActiveTab().attr("name");//获取当前active的tab的iframe
+                    }
+                    inputForm.attr("target",top_iframe);//表单提交成功后,从服务器返回的url在当前tab中展示
+                    if(iframeWin.contentWindow.doSubmit(1) ){
+                        // top.layer.close(index);//关闭对话框。
+                        setTimeout(function(){top.layer.close(index)}, 100);//延时0.1秒,对应360 7.1版本bug
+                    }
+                },
+                btn2:function(index,layero){
+                    if(split.length==2){return}
+                    var body = top.layer.getChildFrame('body', index);
+                    var iframeWin = layero.find('iframe')[0]; //得到iframe页的窗口对象,执行iframe页的方法:iframeWin.method();
+                    var inputForm = body.find('#inputForm');
+                    var top_iframe;
+                    if(target){
+                        top_iframe = target;//如果指定了iframe,则在改frame中跳转
+                    }else{
+                        top_iframe = top.getActiveTab().attr("name");//获取当前active的tab的iframe
+                    }
+                    inputForm.attr("target",top_iframe);//表单提交成功后,从服务器返回的url在当前tab中展示
+                    if(iframeWin.contentWindow.doSubmit(2) ){
+                        // top.layer.close(index);//关闭对话框。
+                        setTimeout(function(){top.layer.close(index)}, 100);//延时0.1秒,对应360 7.1版本bug
+                    }else {
+                        return false;
+                    }
+                },
+                btn3: function (index) {
+                }
+            });
+        }
+        function adminDelete(title,url,width,height,target,id) {
+            if (navigator.userAgent.match(/(iPhone|iPod|Android|ios)/i)) {//如果是移动端,就使用自适应大小弹窗
+                width = 'auto';
+                height = 'auto';
+            } else {//如果是PC端,根据用户设置的width和height显示。
+
+            }
+
+            top.layer.open({
+                type: 0,
+                title: title,
+                content: '确定删除这个申请吗?',
+                btn:["确定","取消"],
+                btn1: function (index){
+                    layer.close(index);
+                    $.ajax({
+                        async: false,
+                        url: url,
+                        dataType: "json",
+                        success: function (data) {
+                            if(data.success){
+                                $.ajax({
+                                    async: false,
+                                    url: "${ctx}/electronicSignature/electronicSignature/adminDelete?id="+id,
+                                    dataType: "json",
+                                    success: function (data) {
+                                        if(data.success){
+                                            top.layer.msg("该申请删除成功!", {icon: 0});
+                                            window.location.reload();
+                                        }else{
+                                            top.layer.msg("该申请删除失败!", {icon: 0});
+                                        }
+                                    }
+                                });
+                            }else{
+                            }
+                        }
+                    });
+                },
+                btn2:function (index) {
+                    layer.close(index);
+
+                }
+            });
+        }
+        function openDialogDis(title,url,width,height,target){
+            if(navigator.userAgent.match(/(iPhone|iPod|Android|ios)/i)){//如果是移动端,就使用自适应大小弹窗
+                width='auto';
+                height='auto';
+            }else{//如果是PC端,根据用户设置的width和height显示。
+
+            }
+            top.layer.open({
+                type: 2,
+                area: [width, height],
+                title: title,
+                maxmin: false, //开启最大化最小化按钮
+                content: url ,
+                skin:"three-btns",
+                btn: ['送审','关闭'],
+                btn1: function(index, layero){
+                    var body = top.layer.getChildFrame('body', index);
+                    var iframeWin = layero.find('iframe')[0]; //得到iframe页的窗口对象,执行iframe页的方法:iframeWin.method();
+                    var inputForm = body.find('#inputForm');
+                    var top_iframe;
+                    if(target){
+                        top_iframe = target;//如果指定了iframe,则在改frame中跳转
+                    }else{
+                        top_iframe = top.getActiveTab().attr("name");//获取当前active的tab的iframe
+                    }
+                    inputForm.attr("target",top_iframe);//表单提交成功后,从服务器返回的url在当前tab中展示
+                    if(iframeWin.contentWindow.doSubmit(1) ){
+                        // top.layer.close(index);//关闭对话框。
+                        setTimeout(function(){top.layer.close(index)}, 100);//延时0.1秒,对应360 7.1版本bug
+                    }
+                },
+                btn2:function(index,layero){
+                    var body = top.layer.getChildFrame('body', index);
+                    var iframeWin = layero.find('iframe')[0]; //得到iframe页的窗口对象,执行iframe页的方法:iframeWin.method();
+                    var inputForm = body.find('#inputForm');
+                    var top_iframe;
+                    if(target){
+                        top_iframe = target;//如果指定了iframe,则在改frame中跳转
+                    }else{
+                        top_iframe = top.getActiveTab().attr("name");//获取当前active的tab的iframe
+                    }
+                    inputForm.attr("target",top_iframe);//表单提交成功后,从服务器返回的url在当前tab中展示
+                    if(iframeWin.contentWindow.doSubmit(3) ){
+                        // top.layer.close(index);//关闭对话框。
+                        setTimeout(function(){top.layer.close(index)}, 100);//延时0.1秒,对应360 7.1版本bug
+                    }
+                },
+                btn3: function(index){
+                }
+            });
+
+        }
+    </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="districtDirectorApplication" action="${ctx}/districtDirectorApplication/districtDirectorApplication/" 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}"/>
+                    <input id="toflag" name="toflag" type="hidden" value="1"/>
+                    <table:sortColumn id="orderBy" name="orderBy" value="${page.orderBy}" callback="sortOrRefresh();"/><!-- 支持排序 -->
+                    <div class="commonQuery lw6">
+                        <div class="layui-item athird">
+                                <label class="layui-form-label">申请人:</label>
+                                <div class="layui-input-block with-icon">
+                                    <sys:inquireselectUserNotReadolny id="createBy" name="createBy.id" value="${districtDirectorApplication.createBy.id}" labelName="createBy.name" labelValue="${districtDirectorApplication.createBy.name}" cssStyle="background-color: #fff"
+                                                                      title="登记人" url="/sys/office/treeDataAll?type=3" cssClass="form-control layui-input" allowClear="true" notAllowSelectParent="true"/>
+                                </div>
+                        </div>
+                        <div class="layui-item query athird">
+                            <label class="layui-form-label">申请部门:</label>
+                            <div class="layui-input-block with-icon">
+                                <sys:treeselectMoHu id="officeId" name="office.id" value="${districtDirectorApplication.office.id}" labelName="office.name" labelValue="${districtDirectorApplication.office.name}"
+                                                    title="部门" url="/sys/office/treeDataAll?type=2" cssClass="form-control layui-input" allowClear="true" notAllowSelectParent="false"/>
+                            </div>
+                        </div>
+                        <div class="layui-item athird">
+                            <div class="input-group">
+                                <a href="#" id="moresee"><i class="glyphicon glyphicon-menu-down"></i></a>
+                                <div class="layui-btn-group search-spacing">
+                                    <button id="searchQuery" class="layui-btn layui-btn-sm layui-bg-blue" onclick="search()">查询</button>
+                                    <button id="searchReset" class="layui-btn layui-btn-sm" onclick="resetSearch()">重置</button>
+                                </div>
+                            </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 with-icon">
+                                <sys:treeselectStaffArea id="area" name="area.id" value="${districtDirectorApplication.area.id}" labelName="area.name"
+                                                         labelValue="${districtDirectorApplication.area.name}"
+                                                         cssStyle="background-color:#fff"
+                                                         title="区域" url="/sys/area/treeData" cssClass="form-control required layui-input"
+                                                         allowClear="true" notAllowSelectParent="false"/></div>
+                        </div>
+                        <div class="layui-item query athird ">
+                            <label class="layui-form-label">申请时间:</label>
+                            <div class="layui-input-block readOnlyFFF">
+                                <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="${districtDirectorApplication.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="${districtDirectorApplication.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="status" 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">
+                    <div class="layui-btn-group">
+                        <button class="layui-btn layui-btn-sm" data-toggle="tooltip" data-placement="left" onclick="sortOrRefresh()" title="刷新"> 刷新</button>
+                    </div>
+                    <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>
+
+<script>
+
+    layui.use('table', function(){
+        layui.table.render({
+            limit:${ page.pageSize }
+            ,id:"checkboxTable"
+            ,elem: '#contentTable1'
+            ,page: false
+            ,cols: [[
+                /*{checkbox: true, fixed: true},*/
+                {field:'index',align:'center', title: '序号',width:80}
+                /*,{field:'number',align:'center', title: '申请编号',  width:160}*/
+
+                ,{field:'areaName',align:'center', title: '关联区域',  width:200}
+                ,{field:'territory',align:'center', title: '负责地区',  width:100}
+                ,{field:'areaDirector',align:'center', title: '地区负责人',  width:100}
+                ,{field:'createName', align:'center',title: '申请人', width:100,templet:function(d){
+                        return "<span title=\"" + d.createName + "\">" + d.createName + "</span>";
+                    }}
+                ,{field:'officeName',align:'center', title: '申请部门',  width:200}
+                ,{field:'createDate',align:'center', title: '申请日期',  width:200}
+                ,{align:'center', title: '状态',  width:150,templet:function(d){
+                        var st = directorApplicationState(d.status);
+                        if(st.action)
+                            var xml ="<span onclick=\"openDialogView('流程追踪', '${ctx}/districtDirectorApplication/districtDirectorApplication/getProcess?id=" + d.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;
+                    }}
+                ,{field:'op',align:'center',title:"操作",width:150,}
+
+            ]]
+            ,data: [
+                <c:if test="${ not empty page.list}">
+                <c:forEach items="${page.list}" var="districtDirectorApplication" varStatus="index">
+                <c:if test="${index.index != 0}">,</c:if>
+                {
+                    "index":"${index.index+1}"
+                    ,"id":"${districtDirectorApplication.id}"
+                    ,"officeName":"${districtDirectorApplication.office.name}"
+                    ,"areaName":"<c:out value="${districtDirectorApplication.area.name}" escapeXml="false"/>"
+                    ,"createDate":"<fmt:formatDate value="${districtDirectorApplication.createDate}" pattern="yyyy-MM-dd"/>"
+                    ,"status":"${districtDirectorApplication.status}"
+                    ,"territory":"${districtDirectorApplication.territory}"
+                    ,"areaDirector":"${districtDirectorApplication.areaDirector}"
+                    ,"createName":"<c:out value="${districtDirectorApplication.createBy.name}" escapeXml="false"/>"
+                }
+                </c:forEach>
+                </c:if>
+            ]
+        });
+    })
+
+    resizeListTable();
+    $("a").on("click",addLinkVisied);
+</script>
+<script>
+    resizeListWindow2();
+    $(window).resize(function(){
+        resizeListWindow2();
+    });
+</script>
+</body>
+</html>