Pārlūkot izejas kodu

Merge remote-tracking branch 'origin/master'

# Conflicts:
#	src/main/java/com/jeeplus/modules/projectFilingBatch/web/ProjectFilingBatchController.java
[user3] 4 gadi atpakaļ
vecāks
revīzija
0cc5a841f3
18 mainītis faili ar 1256 papildinājumiem un 425 dzēšanām
  1. 7 0
      src/main/java/com/jeeplus/modules/projectFilingBatch/dao/ProjectFilingBatchDao.java
  2. 56 0
      src/main/java/com/jeeplus/modules/projectFilingBatch/entity/ProjectFilingBatch.java
  3. 136 0
      src/main/java/com/jeeplus/modules/projectFilingBatch/entity/ProjectFilingBatchTree.java
  4. 36 0
      src/main/java/com/jeeplus/modules/projectFilingBatch/entity/ProjectFilingbatchRelation.java
  5. 190 0
      src/main/java/com/jeeplus/modules/projectFilingBatch/service/ProjectFilingBatchService.java
  6. 32 2
      src/main/java/com/jeeplus/modules/projectFilingBatch/web/ProjectFilingBatchController.java
  7. 13 0
      src/main/java/com/jeeplus/modules/ruralprojectrecords/web/RuralProjectRecordChooseCheckAllController.java
  8. 13 0
      src/main/java/com/jeeplus/modules/ruralprojectrecords/web/RuralProjectRecordChooseCheckController.java
  9. 66 7
      src/main/resources/mappings/modules/projectGuidang/ProjectFilingBatchDao.xml
  10. 20 3
      src/main/webapp/static/common/jeeplus.js
  11. 318 113
      src/main/webapp/webpage/modules/projectFilingBatch/projectFilingBatchList.jsp
  12. 112 62
      src/main/webapp/webpage/modules/projectFilingBatch/projectFilingBatchView.jsp
  13. 73 21
      src/main/webapp/webpage/modules/ruralprojectrecords/check/all/ruralProjectRecordsAllList.jsp
  14. 61 9
      src/main/webapp/webpage/modules/ruralprojectrecords/check/ruralProjectRecordsList.jsp
  15. 60 1
      src/main/webapp/webpage/modules/ruralprojectrecords/cost/projectcontentinfo/reportView.jsp
  16. 1 1
      src/main/webapp/webpage/modules/ruralprojectrecords/cost/ruralCostProjectMessageLists.jsp
  17. 61 205
      src/main/webapp/webpage/modules/ruralprojectrecords/ruralporjectmessage/projectcontentinfo/reportView.jsp
  18. 1 1
      src/main/webapp/webpage/modules/ruralprojectrecords/ruralporjectmessage/ruralProjectMessageLists.jsp

+ 7 - 0
src/main/java/com/jeeplus/modules/projectFilingBatch/dao/ProjectFilingBatchDao.java

@@ -25,4 +25,11 @@ public interface ProjectFilingBatchDao extends CrudDao<ProjectFilingBatch> {
      * @return
      */
     ProjectFilingBatch findByFilingBatchOnProject(@Param("filingBatch") String filingBatch);
+
+    /**
+     * 根据批次id查询项目信息
+     * @param childrenBatch
+     * @return
+     */
+    List<ProjectFilingbatchRelation> getRelationList(ProjectFilingBatch childrenBatch);
 }

+ 56 - 0
src/main/java/com/jeeplus/modules/projectFilingBatch/entity/ProjectFilingBatch.java

@@ -8,6 +8,7 @@ import com.jeeplus.modules.sys.entity.Office;
 import com.jeeplus.modules.sys.entity.User;
 
 import javax.validation.constraints.NotNull;
+import java.util.Date;
 import java.util.List;
 
 /**
@@ -21,6 +22,7 @@ public class ProjectFilingBatch extends DataEntity<ProjectFilingBatch> {
     private static final long serialVersionUID = 1L;
     @NotNull(message = "归档编号不能为空")
     private String filingBatch ;//档次批号
+    private String filingName ;//批次归档名称
     private String processinstanceId;// 审批流程id
     private Integer filingStatus;//归档审批状态
     private String projectId; //项目id
@@ -38,6 +40,12 @@ public class ProjectFilingBatch extends DataEntity<ProjectFilingBatch> {
     private String relationId;
     private Integer relationdelFlag;
 
+    private Date beginDate;
+    private Date endDate;
+    private String createName;
+    private String createNameStr;   //创建人
+    private String createId;     //创建人id
+
     public String getProcessinstanceId() {
         return processinstanceId;
     }
@@ -173,4 +181,52 @@ public class ProjectFilingBatch extends DataEntity<ProjectFilingBatch> {
     public void setRelationdelFlag(Integer relationdelFlag) {
         this.relationdelFlag = relationdelFlag;
     }
+
+    public String getFilingName() {
+        return filingName;
+    }
+
+    public void setFilingName(String filingName) {
+        this.filingName = filingName;
+    }
+
+    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;
+    }
+
+    public String getCreateName() {
+        return createName;
+    }
+
+    public void setCreateName(String createName) {
+        this.createName = createName;
+    }
+
+    public String getCreateNameStr() {
+        return createNameStr;
+    }
+
+    public void setCreateNameStr(String createNameStr) {
+        this.createNameStr = createNameStr;
+    }
+
+    public String getCreateId() {
+        return createId;
+    }
+
+    public void setCreateId(String createId) {
+        this.createId = createId;
+    }
 }

+ 136 - 0
src/main/java/com/jeeplus/modules/projectFilingBatch/entity/ProjectFilingBatchTree.java

@@ -0,0 +1,136 @@
+package com.jeeplus.modules.projectFilingBatch.entity;
+
+import com.jeeplus.common.persistence.DataEntity;
+
+/**
+ * @author: 大猫
+ * @create: 2021-03-29 19:55
+ **/
+public class ProjectFilingBatchTree extends DataEntity<ProjectFilingBatchTree> {
+    private String filingBatch ;//档次批号
+    private String filingName ;//批次归档名称
+    private String projectId; //项目id
+    private String projectNum; //项目编号
+    private String boxNum; //案卷号
+    private String reBoxNum;//确认案卷号
+    private String number;//报告号
+    private String information; //归档批次信息
+    private Integer status;//归档状态
+    private String createName;
+    private String pid;
+    private String url;
+    private Integer flag;
+    private String statusStr;
+
+    public String getFilingBatch() {
+        return filingBatch;
+    }
+
+    public void setFilingBatch(String filingBatch) {
+        this.filingBatch = filingBatch;
+    }
+
+    public String getFilingName() {
+        return filingName;
+    }
+
+    public void setFilingName(String filingName) {
+        this.filingName = filingName;
+    }
+
+    public String getProjectId() {
+        return projectId;
+    }
+
+    public void setProjectId(String projectId) {
+        this.projectId = projectId;
+    }
+
+    public String getBoxNum() {
+        return boxNum;
+    }
+
+    public void setBoxNum(String boxNum) {
+        this.boxNum = boxNum;
+    }
+
+    public String getReBoxNum() {
+        return reBoxNum;
+    }
+
+    public void setReBoxNum(String reBoxNum) {
+        this.reBoxNum = reBoxNum;
+    }
+
+    public String getNumber() {
+        return number;
+    }
+
+    public void setNumber(String number) {
+        this.number = number;
+    }
+
+    public String getInformation() {
+        return information;
+    }
+
+    public void setInformation(String information) {
+        this.information = information;
+    }
+
+    public String getPid() {
+        return pid;
+    }
+
+    public void setPid(String pid) {
+        this.pid = pid;
+    }
+
+    public String getCreateName() {
+        return createName;
+    }
+
+    public void setCreateName(String createName) {
+        this.createName = createName;
+    }
+
+    public Integer getStatus() {
+        return status;
+    }
+
+    public void setStatus(Integer status) {
+        this.status = status;
+    }
+
+    public String getProjectNum() {
+        return projectNum;
+    }
+
+    public void setProjectNum(String projectNum) {
+        this.projectNum = projectNum;
+    }
+
+    public Integer getFlag() {
+        return flag;
+    }
+
+    public void setFlag(Integer flag) {
+        this.flag = flag;
+    }
+
+    public String getUrl() {
+        return url;
+    }
+
+    public void setUrl(String url) {
+        this.url = url;
+    }
+
+    public String getStatusStr() {
+        return statusStr;
+    }
+
+    public void setStatusStr(String statusStr) {
+        this.statusStr = statusStr;
+    }
+}

+ 36 - 0
src/main/java/com/jeeplus/modules/projectFilingBatch/entity/ProjectFilingbatchRelation.java

@@ -15,6 +15,10 @@ public class ProjectFilingbatchRelation extends DataEntity<ProjectFilingbatchRel
     private Integer status;//归档状态
     private String boxNum; //盒号
     private String reBoxNum;//确认盒号
+    private String projectNum;//项目编号
+    private String projectName;//项目名称
+    private String createName;//项目创建人
+    private String number;//报告号
 
     public String getFilingBatch() {
         return filingBatch;
@@ -63,4 +67,36 @@ public class ProjectFilingbatchRelation extends DataEntity<ProjectFilingbatchRel
     public void setFilingBatchStr(String filingBatchStr) {
         this.filingBatchStr = filingBatchStr;
     }
+
+    public String getProjectNum() {
+        return projectNum;
+    }
+
+    public void setProjectNum(String projectNum) {
+        this.projectNum = projectNum;
+    }
+
+    public String getProjectName() {
+        return projectName;
+    }
+
+    public void setProjectName(String projectName) {
+        this.projectName = projectName;
+    }
+
+    public String getCreateName() {
+        return createName;
+    }
+
+    public void setCreateName(String createName) {
+        this.createName = createName;
+    }
+
+    public String getNumber() {
+        return number;
+    }
+
+    public void setNumber(String number) {
+        this.number = number;
+    }
 }

+ 190 - 0
src/main/java/com/jeeplus/modules/projectFilingBatch/service/ProjectFilingBatchService.java

@@ -10,16 +10,21 @@ import com.jeeplus.modules.act.service.ActTaskService;
 import com.jeeplus.modules.projectFilingBatch.dao.ProjectFilingBatchDao;
 import com.jeeplus.modules.projectFilingBatch.dao.ProjectFilingbatchRelationDao;
 import com.jeeplus.modules.projectFilingBatch.entity.ProjectFilingBatch;
+import com.jeeplus.modules.projectFilingBatch.entity.ProjectFilingBatchTree;
 import com.jeeplus.modules.projectFilingBatch.entity.ProjectFilingbatchRelation;
 import com.jeeplus.modules.projectcontentinfo.entity.Projectcontentinfo;
+import com.jeeplus.modules.projectrecord.entity.ProjectRecordTreeData;
 import com.jeeplus.modules.ruralprojectrecords.dao.RuralProjectRecordsDao;
 import com.jeeplus.modules.ruralprojectrecords.entity.RuralProjectRecords;
+import com.jeeplus.modules.ruralprojectrecords.entity.SubProjectInfo;
 import com.jeeplus.modules.ruralprojectrecords.enums.ProjectStatusEnum;
 import com.jeeplus.modules.ruralprojectrecords.service.RuralProjectRecordsService;
 import com.jeeplus.modules.serialnum.service.SerialNumTplService;
 import com.jeeplus.modules.sys.entity.Office;
 import com.jeeplus.modules.sys.entity.User;
+import com.jeeplus.modules.sys.entity.Workattachment;
 import com.jeeplus.modules.sys.service.OfficeService;
+import com.jeeplus.modules.sys.service.WorkattachmentService;
 import com.jeeplus.modules.sys.utils.UserUtils;
 import com.jeeplus.modules.workactivity.dao.WorkActivityProcessDao;
 import com.jeeplus.modules.workactivity.entity.Activity;
@@ -28,6 +33,8 @@ import com.jeeplus.modules.workactivity.service.ActivityService;
 import com.jeeplus.modules.workactivity.service.WorkActivityProcessService;
 import com.jeeplus.modules.workactivitymenu.entity.WorkActivityMenu;
 import com.jeeplus.modules.workactivitymenu.service.WorkActivityMenuService;
+import com.jeeplus.modules.workclientinfo.entity.WorkClientLinkman;
+import com.jeeplus.modules.workcontractinfo.entity.WorkContractInfo;
 import com.jeeplus.modules.workprojectnotify.entity.WorkProjectNotify;
 import com.jeeplus.modules.workprojectnotify.service.WorkProjectNotifyService;
 import com.jeeplus.modules.workprojectnotify.util.UtilNotify;
@@ -41,6 +48,8 @@ import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Propagation;
 import org.springframework.transaction.annotation.Transactional;
 
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
@@ -75,6 +84,8 @@ public class ProjectFilingBatchService extends CrudService<ProjectFilingBatchDao
     private ActivityService activityService;
     @Autowired
     private SerialNumTplService serialNumTplService;
+    @Autowired
+    private WorkattachmentService workattachmentService;
     @Override
     public ProjectFilingBatch get(String id) {
         return super.get(id);
@@ -102,6 +113,185 @@ public class ProjectFilingBatchService extends CrudService<ProjectFilingBatchDao
         page.setList(projectGuidangList);
         return page;
     }
+
+
+    @Transactional(readOnly = false)
+    public Map<String,List> getList(ProjectFilingBatch projectFilingBatch, HttpServletRequest request, HttpServletResponse response) {
+        //添加查询类型(工程咨询)
+        Page<ProjectFilingBatch> page = this.findPage(new Page<ProjectFilingBatch>(request, response), projectFilingBatch);
+        //无合同状态下,获取委托方的名称
+        List<ProjectFilingBatch> list = page.getList();
+        List<ProjectFilingBatchTree> dataList = new ArrayList<>();
+        Map<String,List> map = new HashMap<>();
+        for (int i = 0; i < list.size(); i++) {
+            ProjectFilingBatchTree batchData = new ProjectFilingBatchTree();
+            ProjectFilingBatch batch = list.get(i);
+
+            batchData = getParentInfo(batch);
+            dataList.add(batchData);
+            //获取子项目信息
+            ProjectFilingBatch childrenBatch = new ProjectFilingBatch();
+            childrenBatch.setId(batch.getId());
+            //查询对应子项目数据
+            List<ProjectFilingbatchRelation> relationList = dao.getRelationList(childrenBatch);
+
+            //项目名称不为空则进行所有项目的查询和处理
+            for (ProjectFilingbatchRelation relation: relationList) {
+                ProjectFilingBatchTree treeData = getSubInfo(relation);
+                dataList.add(treeData);
+
+            }
+        }
+
+        map.put("data",dataList);
+        return map;
+    }
+
+
+    private ProjectFilingBatchTree getParentInfo(ProjectFilingBatch info){
+        ProjectFilingBatchTree treeData = new ProjectFilingBatchTree();
+        //将界面需要展示数据放入类中
+        //id
+        treeData.setId(info.getId());
+        treeData.setFilingBatch(info.getFilingBatch());
+        if(StringUtils.isNotBlank(info.getFilingName())){
+            treeData.setFilingName(info.getFilingName());
+        }else{
+            treeData.setFilingName("");
+        }
+        treeData.setCreateName(info.getCreateBy().getName());
+        treeData.setStatus(info.getFilingStatus());
+        treeData.setCreateDate(info.getCreateDate());
+        //父节点的pid设置为0
+        treeData.setPid("0");
+
+        //判断当前登陆人是否有操作权限
+        if(UserUtils.getUser().getId().equals(info.getCreateBy().getId())){
+            treeData.setFlag(1);
+        }else {
+            treeData.setFlag(0);
+        }
+        return treeData;
+    }
+
+    private ProjectFilingBatchTree getSubInfo(ProjectFilingbatchRelation relation){
+
+        ProjectFilingBatchTree treeData = new ProjectFilingBatchTree();
+
+        //将界面需要展示数据放入类中
+        //项目id
+        treeData.setId(relation.getId());
+        //项目id
+        treeData.setProjectId(relation.getProjectId());
+        //项目编号
+        treeData.setFilingBatch(relation.getProjectNum());
+        //项目名称
+        treeData.setFilingName(relation.getProjectName());
+        //项目创建人
+        treeData.setCreateName(relation.getCreateName());
+        //状态
+        treeData.setStatus(relation.getStatus());
+        treeData.setPid(relation.getFilingBatch());
+        treeData.setCreateDate(relation.getCreateDate());
+        treeData.setFlag(0);
+        return treeData;
+    }
+
+
+    @Transactional(readOnly = false)
+    public Map<String,List> getFilingBatchById(ProjectFilingBatch projectFilingBatch, HttpServletRequest request, HttpServletResponse response) {
+        //查询批次项目信息
+        List<ProjectFilingbatchRelation> relationList = dao.getRelationList(projectFilingBatch);
+
+        List<ProjectFilingBatchTree> dataList = new ArrayList<>();
+        Map<String,List> map = new HashMap<>();
+        for (int i = 0; i < relationList.size(); i++) {
+            ProjectFilingBatchTree batchData = new ProjectFilingBatchTree();
+            ProjectFilingbatchRelation batch = relationList.get(i);
+
+            batchData = getRelationInfo(batch,projectFilingBatch);
+            dataList.add(batchData);
+            //获取子项目信息
+            Workattachment workattachment = new Workattachment();
+            workattachment.setAttachmentId(batch.getProjectId());
+            workattachment.setDivIdType("_filingBatch");
+            //查询对应子项目数据
+            List<Workattachment> attachmentList = workattachmentService.findList(workattachment);
+
+            //项目名称不为空则进行所有项目的查询和处理
+            for (Workattachment attachment: attachmentList) {
+                ProjectFilingBatchTree treeData = getAttachmentInfo(attachment,batch.getProjectId());
+                dataList.add(treeData);
+
+            }
+        }
+
+        map.put("data",dataList);
+        return map;
+    }
+
+    private ProjectFilingBatchTree getRelationInfo(ProjectFilingbatchRelation relation,ProjectFilingBatch filingBatch){
+        ProjectFilingBatchTree treeData = new ProjectFilingBatchTree();
+        //将界面需要展示数据放入类中
+        //项目id
+        treeData.setId(relation.getId());
+        //项目id
+        treeData.setProjectId(relation.getProjectId());
+        //项目编号
+        treeData.setProjectNum(relation.getProjectNum());
+        //项目名称
+        treeData.setFilingName(relation.getProjectName());
+        //报告号
+        treeData.setNumber(relation.getNumber());
+        //案卷号
+        if(7 == filingBatch.getFilingStatus()){
+            treeData.setBoxNum("");
+            treeData.setStatusStr("已作废");
+        }else{
+            if(2 == filingBatch.getFilingStatus()){
+                treeData.setBoxNum("");
+                treeData.setStatusStr("审批中");
+            }else if(5 == filingBatch.getFilingStatus() || 4 == filingBatch.getFilingStatus()){
+                if("1" == filingBatch.getDelFlag()){
+                    treeData.setBoxNum("");
+                    treeData.setStatusStr("驳回");
+                }else{
+                    if(StringUtils.isNotBlank(relation.getBoxNum())){
+                        treeData.setBoxNum(relation.getBoxNum());
+                    }else{
+                        treeData.setBoxNum("");
+                    }
+                    treeData.setStatusStr("通过");
+                }
+            }
+        }
+        //状态
+        treeData.setStatus(relation.getStatus());
+        treeData.setPid("0");
+        return treeData;
+    }
+
+    private ProjectFilingBatchTree getAttachmentInfo(Workattachment attachment,String pId){
+        ProjectFilingBatchTree treeData = new ProjectFilingBatchTree();
+        //将界面需要展示数据放入类中
+        //项目编号
+        treeData.setProjectNum(attachment.getRemarks());
+        //报告号
+        treeData.setNumber(attachment.getAttachmentName());
+        //文件路径
+        treeData.setUrl(attachment.getUrl());
+        //项目名称
+        treeData.setFilingName("");
+        //案卷号
+        treeData.setBoxNum("");
+        treeData.setStatusStr("");
+        treeData.setPid(pId);
+        return treeData;
+    }
+
+
+
+
     public List<ProjectFilingBatch> findProjectIdByFiling(String id){
         return projectFilingBatchDao.findProjectIdByFiling(id);
     }

+ 32 - 2
src/main/java/com/jeeplus/modules/projectFilingBatch/web/ProjectFilingBatchController.java

@@ -67,8 +67,7 @@ public class ProjectFilingBatchController extends BaseController {
     }
 
     @RequestMapping(value = "getProcess")
-    public String getProcess(ProjectFilingBatch projectFilingBatch, Model model, HttpServletRequest request) {
-//       projectFilingBatch=projectFilingBatchService.get(projectFilingBatch.getId());
+    public String getProcess(ProjectFilingBatch projectFilingBatch, Model model) {
         model.addAttribute("processInstanceId", projectFilingBatch.getProcessinstanceId());
         return "modules/projectFilingBatch/projectFilingBacthTask";
     }
@@ -79,12 +78,33 @@ public class ProjectFilingBatchController extends BaseController {
         if (UserUtils.isManager()) {
             model.addAttribute("flag", "1");
         }
+        if(StringUtils.isNotBlank(projectGuidang.getCreateId())){
+            User selectUser = UserUtils.get(projectGuidang.getCreateId());
+            model.addAttribute("createName", selectUser.getName());
+        }else{
+            if(StringUtils.isNotBlank(projectGuidang.getCreateNameStr())){
+                model.addAttribute("createName", projectGuidang.getCreateNameStr());
+            }
+        }
         //获取列表数据
         Page<ProjectFilingBatch> page = projectFilingBatchService.findPage(new Page<ProjectFilingBatch>(request, response), projectGuidang);
         model.addAttribute("page", page);
         return "modules/projectFilingBatch/projectFilingBatchList";
     }
 
+    /**
+     * 项目列表页面
+     */
+    @RequestMapping(value = "getFilingBatchList")
+    @ResponseBody
+    public Map<String,List> getFilingBatchList(ProjectFilingBatch projectFilingBatch, HttpServletRequest request, HttpServletResponse response) {
+        if(StringUtils.isNotBlank(projectFilingBatch.getCreateName())){
+            projectFilingBatch.setCreateNameStr(projectFilingBatch.getCreateName());
+        }
+        Map<String, List> map = projectFilingBatchService.getList(projectFilingBatch, request, response);
+        return map;
+    }
+
 
     /**
      * 查看
@@ -143,6 +163,16 @@ public class ProjectFilingBatchController extends BaseController {
     }
 
     /**
+     * 项目列表页面
+     */
+    @RequestMapping(value = "getFilingBatchById")
+    @ResponseBody
+    public Map<String,List> getFilingBatchById(ProjectFilingBatch projectFilingBatch, HttpServletRequest request, HttpServletResponse response) {
+        Map<String, List> map = projectFilingBatchService.getFilingBatchById(projectFilingBatch, request, response);
+        return map;
+    }
+
+    /**
      * 添加
      *
      * @param projectFilingBatch

+ 13 - 0
src/main/java/com/jeeplus/modules/ruralprojectrecords/web/RuralProjectRecordChooseCheckAllController.java

@@ -99,6 +99,7 @@ public class RuralProjectRecordChooseCheckAllController extends BaseController {
         List<RuralProjectRecords> list = page.getList();
         for (int i = 0; i < list.size(); i++) {
             RuralProjectRecords records1 = list.get(i);
+            //无合同状态下,获取委托方的名称
             if (records1.getWorkContractInfo() == null) {
                 service.queryLinkmanInfos(records1);
                 if (records1.getWorkClientLinkmanList() != null && records1.getWorkClientLinkmanList().size() > 0) {
@@ -108,6 +109,18 @@ public class RuralProjectRecordChooseCheckAllController extends BaseController {
                     records1.setWorkContractInfo(contractInfo);
                 }
             }
+            //获取项目报告号
+            if(records1.getReportData()==null){
+                ruralProjectMessageService.queryReportData(records1);
+                if (records1.getProjectReportData() != null && records1.getProjectReportData().size() > 0) {
+                    ProjectReportData reportData = records1.getProjectReportData().get(0);
+                    ProjectReportData projectReportData = new ProjectReportData();
+                    projectReportData.setNumber(reportData.getNumber());
+//					records1.setReportData(projectReportData);
+                    records1.setProjectReportNumber(reportData.getNumber());
+                }
+            }
+            records1.setCreateBy(UserUtils.get(records1.getCreateBy().getId()));
             //判断是否为admin
             if (UserUtils.isManager()){
                 records1.setFlagAdmin("1");

+ 13 - 0
src/main/java/com/jeeplus/modules/ruralprojectrecords/web/RuralProjectRecordChooseCheckController.java

@@ -99,6 +99,7 @@ public class RuralProjectRecordChooseCheckController extends BaseController {
         List<RuralProjectRecords> list = page.getList();
         for (int i = 0; i < list.size(); i++) {
             RuralProjectRecords records1 = list.get(i);
+            //无合同状态下,获取委托方的名称
             if (records1.getWorkContractInfo() == null) {
                 service.queryLinkmanInfos(records1);
                 if (records1.getWorkClientLinkmanList() != null && records1.getWorkClientLinkmanList().size() > 0) {
@@ -108,6 +109,18 @@ public class RuralProjectRecordChooseCheckController extends BaseController {
                     records1.setWorkContractInfo(contractInfo);
                 }
             }
+            //获取项目报告号
+            if(records1.getReportData()==null){
+                ruralProjectMessageService.queryReportData(records1);
+                if (records1.getProjectReportData() != null && records1.getProjectReportData().size() > 0) {
+                    ProjectReportData reportData = records1.getProjectReportData().get(0);
+                    ProjectReportData projectReportData = new ProjectReportData();
+                    projectReportData.setNumber(reportData.getNumber());
+//					records1.setReportData(projectReportData);
+                    records1.setProjectReportNumber(reportData.getNumber());
+                }
+            }
+            records1.setCreateBy(UserUtils.get(records1.getCreateBy().getId()));
             //判断是否为admin
             if (UserUtils.isManager()){
                 records1.setFlagAdmin("1");

+ 66 - 7
src/main/resources/mappings/modules/projectGuidang/ProjectFilingBatchDao.xml

@@ -11,7 +11,8 @@
 		a.filing_batch AS "filingBatch",
 		a.process_instance_id AS "processinstanceId",
 		a.information AS "information",
-		a.filing_status AS "filingStatus"
+		a.filing_status AS "filingStatus",
+		a.filing_name as "filingName"
 	</sql>
 	<sql id="filingBatchRelationColumns">
 		distinct a.id AS "id",
@@ -23,6 +24,7 @@
 		a.filing_batch AS "filingBatch",
 		a.process_instance_id AS "processinstanceId",
 		a.filing_status AS "filingStatus",
+		a.filing_name as "filingName",
 		a.information AS "information",
 		g.project_id AS "projectId",
 		g.status AS "status",
@@ -40,7 +42,8 @@
 		a.filing_batch AS "filingBatch",
 		a.process_instance_id AS "processinstanceId",
 		a.filing_status AS "filingStatus",
-		a.information AS "information"
+		a.information AS "information",
+		a.filing_name as "filingName"
 	</sql>
 	<insert id="insert">
 		insert into project_filingbatch
@@ -55,7 +58,8 @@
 		information,
 		filing_status,
 		company_id,
-		office_id
+		office_id,
+		filing_name
 		)
 		VALUES
 		(
@@ -70,7 +74,8 @@
 		#{information},
 		#{filingStatus},
 		#{company.id},
-		#{office.id}
+		#{office.id},
+		#{filingName}
 		)
 	</insert>
 	<update id="update">
@@ -94,6 +99,9 @@
 			<if test="updateDate!=null">
 				filing_status=#{filingStatus}
 			</if>
+			<if test="filingName!=null and filingName != ''">
+				,filing_name=#{filingName}
+			</if>
 		</set>
 		where id =#{id}
 	</update>
@@ -105,6 +113,7 @@
 	</update>
 	<select id="queryCount" resultType="int">
 		SELECT count(DISTINCT a.id) FROM project_filingbatch a
+		left join sys_user su on su.id = a.create_by
 		<where>
 			<if test="filingBatch!=null and filingBatch!=''">
 				and a.filing_batch like concat('%',#{filingBatch},'%')
@@ -112,6 +121,15 @@
 			<if test="filingStatus!=null">
 				and a.filing_status = #{filingStatus}
 			</if>
+			<if test="(createId != null and createId != '') or (createNameStr != null and createNameStr != '')">
+				AND (a.create_by = #{createId} or su.name = #{createNameStr})
+			</if>
+			<if test="beginDate !=null">
+				AND a.create_date >= #{beginDate}
+			</if>
+			<if test="endDate !=null">
+				AND a.create_date &lt; #{endDate}
+			</if>
 			AND a.del_flag='0'
 			<if test="sqlMap.dsf !=null and sqlMap.dsf!=''">
 				${sqlMap.dsf}
@@ -119,14 +137,27 @@
 		</where>
 	</select>
 	<select id="findList" resultType="projectFilingBatch" >
-		SELECT <include refid="projectFilingBatchColumns"/>  FROM project_filingbatch a
+		SELECT
+			<include refid="projectFilingBatchColumns"/>
+		FROM project_filingbatch a
+		left join sys_user su on su.id = a.create_by
 		<where>
-			<if test="filingBatch!=null and filingBatch!=''">
-				and a.filing_batch like concat('%',#{filingBatch},'%')
+			<if test="filingName!=null and filingName!=''">
+				and a.filing_name like concat('%',#{filingName},'%')
 			</if>
 			<if test="filingStatus!=null">
 				and a.filing_status = #{filingStatus}
 			</if>
+
+			<if test="(createId != null and createId != '') or (createNameStr != null and createNameStr != '')">
+				AND (a.create_by = #{createId} or su.name = #{createNameStr})
+			</if>
+			<if test="beginDate !=null">
+				AND a.create_date >= #{beginDate}
+			</if>
+			<if test="endDate !=null">
+				AND a.create_date &lt; #{endDate}
+			</if>
 			AND a.del_flag='0'
 			<if test="sqlMap.dsf !=null and sqlMap.dsf!=''">
 				${sqlMap.dsf}
@@ -191,4 +222,32 @@
 			filing_status= 7
 		WHERE id = #{id}
 	</delete>
+
+
+	<select id="getRelationList" resultType="com.jeeplus.modules.projectFilingBatch.entity.ProjectFilingbatchRelation">
+		SELECT
+		  a.id as "id",
+		  a.create_by as "createBy.id",
+		  r.create_date as "createDate",
+		  a.update_by as "updateBy.id",
+		  a.update_date as "updateDate",
+		  a.del_flag as "delFlag",
+		  a.filing_batch as "filingBatch",
+		  a.project_id as "projectId",
+		  a.status as "status",
+		  a.box_num as "boxNum",
+		  a.re_box_num as "reBoxNum",
+		  r.project_name as "projectName",
+		  r.project_id as "projectNum",
+		  r.project_id as "projectRecordsId",
+		  prd.number as "number",
+		  su.name as "createName"
+		FROM project_flingbatch_relation a
+		LEFT JOIN project_filingbatch f on a.id=f.filing_batch
+		LEFT JOIN rural_project_records r on a.project_id=r.id
+		LEFT JOIN project_report_data prd on prd.project_id=r.id
+		LEFT JOIN sys_user su on r.create_by=su.id
+		WHERE a.filing_batch = #{id}
+		order by a.create_date desc
+	</select>
 </mapper>

+ 20 - 3
src/main/webapp/static/common/jeeplus.js

@@ -441,12 +441,12 @@ function getCheckProjectState(id)
     result.action = true;
     switch(id)
     {
-        case "0":result.label = "unknown";result.status="未审查";result.action = false;break;
+        case "0":result.label = "unknown";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 "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 "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;
         default:
@@ -555,6 +555,23 @@ function getAuditRecordState(id)
     return result;
 }
 
+function getFilingBatchRelationStatus(id)
+{
+    var result ={};
+    result.action = true;
+    switch(id)
+    {
+        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;
+        default:
+            result.label = "unknown";result.status="未知";break;
+    }
+    return result;
+}
+
 function getAuditChangeState(id)
 {
     var result ={};

+ 318 - 113
src/main/webapp/webpage/modules/projectFilingBatch/projectFilingBatchList.jsp

@@ -19,16 +19,16 @@
         $(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");
-            //     }
-            // });
+            $('#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
@@ -182,9 +182,9 @@
                     <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>
+                            <label class="layui-form-label">归档名称:</label>
                             <div class="layui-input-block">
-                                <form:input path="filingBatch" htmlEscape="false" maxlength="64"  class=" form-control  layui-input"/>
+                                <form:input path="filingName" htmlEscape="false" maxlength="64"  class=" form-control  layui-input"/>
                             </div>
                         </div>
                         <div class="layui-item query athird ">
@@ -198,13 +198,34 @@
                         </div>
                         <div class="layui-item athird">
                             <div class="input-group">
-<%--                                <a href="#" id="moresee"><i class="glyphicon glyphicon-menu-down"></i></a>--%>
+                                <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="commonQuery lw6">
+                        <div class="layui-item query athird">
+                            <label class="layui-form-label">创建时间:</label>
+                            <div class="layui-input-block">
+                                <input id="beginDate" placeholder="开始时间" name="beginDate" type="text" readonly="readonly" maxlength="20" class="laydate-icondate form-control layer-date layui-input laydate-icon query-group"
+                                       value="<fmt:formatDate value="${projectFilingBatch.beginDate}" pattern="yyyy-MM-dd"/>"/>
+                                </input>
+                                <span class="group-sep">-</span>
+                                <input id="endDate" placeholder="结束时间" name="endDate" type="text" readonly="readonly" maxlength="20" class="laydate-icondate form-control layer-date layui-input laydate-icon query-group"
+                                       value="<fmt:formatDate value="${projectFilingBatch.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  with-icon">
+                                <sys:inquireselectUserNotReadolny id="create" name="createId" value="${createId}" labelName="createNameStr" labelValue="${createName}"
+                                                                  title="用户" url="/sys/office/treeDataAll?type=3" cssClass="form-control required layui-input" allowClear="true" notAllowSelectParent="true"/>
+                            </div>
+                        </div>
+                    </div>
                 </form:form>
             </div>
         </div>
@@ -217,11 +238,15 @@
                     <shiro:hasPermission name="project:projectRecords:export">
                         <table:exportExcel url="${ctx}/project/projectRecords/export"></table:exportExcel><!-- 导出按钮 -->
                     </shiro:hasPermission>
+
+                    <button class="nav-btn layui-btn" id="btn-expand">全部展开</button>
+                    <button class="nav-btn layui-btn-warm" id="btn-fold">全部折叠</button>
                     <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 id="permissionTable" class="layui-table" lay-filter="permissionTable"></table>
+                <!-- 分页代码 -->
                 <table:page page="${page}"></table:page>
                 <div style="clear: both;"></div>
             </div>
@@ -229,114 +254,294 @@
     </div>
     <div id="changewidth"></div>
 </div>
-
 <script src="${ctxStatic}/layer-v2.3/layui/layui.all.js" charset="utf-8"></script>
 <script>
+    resizeListWindow2();
+    $(window).resize(function(){
+        resizeListWindow2();
+    });
+</script>
+<script src="${ctxStatic}/layer-v2.3/layui/layui.all.js" charset="utf-8"></script>
+<script src="${ctxStatic}/layer-v2.3/layui/tableTree/treetable.js" charset="utf-8"></script>
+<script>
+    /*使用模块加载的方式 加载文件*/
+    layui.config({
+        base: '${ctx}/resoueces/css/layui/module/'
+    }).extend({
+        treetable: 'treetable-lay/treetable'
+    }).use(['layer', 'table', 'treetable'], function () {
+        var $ = layui.jquery;
+        var table = layui.table;
+        var layer = layui.layer;
+        var treetable = layui.treetable;
 
-    layui.use('table', function(){
-        layui.table.render({
-            limit:${ page.pageSize }
-            ,elem: '#contentTable1'
-            ,page: false
-            ,cols: [[
-                // {checkbox: true, fixed: true},
-                {field:'index',align:'center', title: '序号',width:"5%"}
-                ,{field:'filingBatch',align:'center',width:'20%', title: '归档批次号',templet:function(d){
-                        return "<a class=\"attention-info\" title=\"" + d.filingBatch + "\" href=\"javascript:void(0);\" onclick=\"openDialogView('查看批次', '${ctx}/projectFilingBatch/projectFilingBatchInfo/view?id=" + d.id +"','95%', '95%')\">" + d.filingBatch + "</a>";
-                    }}
-                ,{field:'createName',align:'center', title: '创建人',  width:'20%'}
-                ,{field:'createDate',align:'center', title: '创建日期',  width:'20%'}
-                ,{align:'center', title: '状态',  width:'20%',templet:function(d){
-                        var st = getAuditState(d.filingStatus);
-                        if(st.action)
-                            var xml = "<span onclick=\"openDialogView('流程追踪', '${ctx}/projectFilingBatch/projectFilingBatchInfo/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;
-                    }}
-                ,{field:'op',align:'center',title:"操作",width:'15%',templet:function(d){
-                        ////对操作进行初始化
-                        var xml="";
-                        if(d.canedit1 != undefined && d.canedit1 =="1")
-                        {
-                            xml+="<a href=\"#\" onclick=\"openDialogre('修改项目', '${ctx}/projectFilingBatch/projectFilingBatchInfo/form?id=" + d.id +"','95%', '95%','','送审,关闭')\" class=\"op-btn op-btn-edit\" ><i class=\"fa fa-edit\"></i> 修改</a>";
-                        }
-                        if(d.canedit2 != undefined && d.canedit2 =="1")
-                        {
-                            xml+="<a href=\"#\" onclick=\"openDialogre('调整项目', '${ctx}/projectFilingBatch/projectFilingBatchInfo/modify?id=" + d.id + "','95%', '95%','','送审,关闭')\" class=\"op-btn op-btn-edit\" ><i class=\"fa fa-edit\"></i> 修改</a>";
-                        }
-                        if(d.canrecall != undefined && d.canrecall =="1")
-                        {
-                            xml+="<a href=\"#\" onclick=\"openDialogre('调整项目', '${ctx}/projectFilingBatch/projectFilingBatchInfo/form?id=" + d.id + "','95%', '95%','','送审,关闭')\" class=\"op-btn op-btn-edit\" ><i class=\"fa fa-edit\"></i> 修改</a>";
-                        }
-                        if(d.candel != undefined && d.candel =="1")
-                        {
-                            xml+="<a href=\"${ctx}/projectFilingBatch/projectFilingBatchInfo/delete?id=" + d.id + "\" onclick=\"return confirmx('确认要删除该项目信息吗?', this.href)\" class=\"op-btn op-btn-delete\"><i class=\"fa fa-trash\"></i> 删除</a>";
-                        }
-                        if(d.cancancel != undefined && d.cancancel =="1")
-                        {
-                            xml+="<a href=\"${ctx}/projectFilingBatch/projectFilingBatchInfo/revoke?id=" + d.id + "&processInstanceId=" + d.procId + "&filingStatus="+d.filingStatus+ "\" onclick=\"return confirmx('确认要撤回该项目审批吗?', this.href)\" class=\"op-btn op-btn-cancel\" ><i class=\"glyphicon glyphicon-share-alt\"></i> 撤回</a>";
-                        }
-                        if(d.canedit3 != undefined && d.canedit3 =="1")
-                        {
-                            <%--xml+="<a href=\"javascript:void(0)\" onclick=\"openDialogre('项目变更管理', '${ctx}/projectFilingBatch/projectFilingBatchInfo/form?alterBeforeRecords.id='+encodeURIComponent('" + d.id + "'),'95%','95%','','送审,暂存,关闭')\" style=\"color: white;background: darkseagreen\" class=\"op-btn op-btn-op-btn-revert\" ><i class=\"fa fa-edit\"></i> 变更</a>";--%>
-                        }
-                        // if(d.deleteAdmin != undefined && d.deleteAdmin =="1")
-                        // {
-                            <%--xml+="<a href=\"#\" onclick=\"openDialogre('修改项目', '${ctx}/projectFilingBatch/projectFilingBatchInfo/form?id=" + d.id + "','95%', '95%','','提交,关闭')\" class=\"op-btn op-btn-edit\" ><i class=\"fa fa-edit\"></i> 修改4</a>";--%>
-                            <%--xml+="<a href=\"${ctx}/projectFilingBatch/projectFilingBatchInfo/adminDelete?id=" + d.id + "\" onclick=\"return confirmx('确认要删除该项目信息吗?', this.href)\" class=\"op-btn op-btn-delete\"><i class=\"fa fa-trash\"></i> 删除</a>";--%>
-                        // }
-                        return xml;
+        // 渲染表格
+        var renderTable = function () {
+            var filingName = $("#filingName").val();
+            var filingStatus = $("#filingStatus").val();
 
-                    }}
-            ]]
-            ,data: [
-                <c:if test="${ not empty page.list}">
-                <c:forEach items="${page.list}" var="projectFilingBatch" varStatus="index">
-                <c:if test="${index.index != 0}">,</c:if>
-                {
-                    "index":"${index.index+1}"
-                    ,"id":"${projectFilingBatch.id}"
-                    ,"filingBatch":"${projectFilingBatch.filingBatch}"
-                    ,"createName":"${projectFilingBatch.createBy.name}"
-                    ,"createDate":"<fmt:formatDate value="${projectFilingBatch.createDate}" pattern="yyyy-MM-dd"/>"
-                    ,"filingStatus":"${projectFilingBatch.filingStatus}"
-                    ,"procId":"${projectFilingBatch.processinstanceId}"
-                    <c:choose><c:when test="${flag == '1' or fns:getUser().id == projectFilingBatch.createBy.id}">
-                    <shiro:hasPermission name="projectFilingBatch:projectFilingBatchInfo:del">,"candel":	<c:choose><c:when test="${projectFilingBatch.filingStatus == 1 or projectFilingBatch.filingStatus == 3 or projectFilingBatch.filingStatus == 4}">"1"</c:when><c:otherwise>"0"</c:otherwise></c:choose></shiro:hasPermission>
-                    <shiro:hasPermission name="projectFilingBatch:projectFilingBatchInfo:edit">,"canedit1":	<c:choose><c:when test="${projectFilingBatch.filingStatus == 1 }">"1"</c:when><c:otherwise>"0"</c:otherwise></c:choose>
-                    ,"canedit2":<c:choose><c:when test="${projectFilingBatch.filingStatus == 4}">"1"</c:when><c:otherwise>"0"</c:otherwise></c:choose>
-                    ,"canrecall":<c:choose><c:when test="${projectFilingBatch.filingStatus == 3}">"1"</c:when><c:otherwise>"0"</c:otherwise></c:choose>
-                    </shiro:hasPermission>
-                    ,"cancancel":<c:choose><c:when test="${projectFilingBatch.filingStatus == 2 && fns:getUser().id == projectFilingBatch.createBy.id}">"1"</c:when><c:otherwise>"0"</c:otherwise></c:choose>
-                    ,"deleteAdmin":<c:choose><c:when test="${projectFilingBatch.filingStatus == 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"
-                    </c:otherwise>
-                    </c:choose>
-                    <shiro:hasPermission name="projectFilingBatch:projectFilingBatchInfo:edit">,"canedit3":<c:choose><c:when test="${projectFilingBatch.filingStatus == 5 }">"1"</c:when><c:otherwise>"0"</c:otherwise></c:choose></shiro:hasPermission>
+            var beginDate = $("#beginDate").val();
+            var endDate = $("#endDate").val();
+            var createId = $("#createId").val();
+            var createName = $("#createName").val();
+            layer.load(2);
+            treetable.render({
+                treeColIndex: 0,//树形图标显示在第几列
+                treeSpid: 0,//最上级的父级id
+                treeIdName: 'permissionId',//id字段的名称
+                treePidName: 'pid',//pid字段的名称
+                treeDefaultClose: true,//是否默认折叠
+                treeLinkage: true,//父级展开时是否自动展开所有子级
+                elem: '#permissionTable',
+                url: '${ctx}/projectFilingBatch/projectFilingBatchInfo/getFilingBatchList?filingName='+filingName+'&pageNo=${page.pageNo}&filingStatus='+filingStatus+'&beginDate='+beginDate+'&endDate='+endDate+'&createId='+createId+'&createName='+createName,
+                page: false,
+                cols: [[
+                    /*{type: 'numbers', align:'center', title: '序号' ,width:80},*/
+                    {field: 'filingBatch', title: '归档批次号/项目编号',templet:function(d){
+                            if(0 == d.pid){
+                                return "<font style = 'font-size:14px;font-weight:500;'>"+d.filingBatch+"</font>";
+                            }else{
+                                return "<font>"+d.filingBatch+"</font>";
+                            }
+                        }},
+                    {field: 'filingName', align:'center', title: '批次名称/项目名称',templet:function(d){
+                            if(0 == d.pid){
+                                return "<a class=\"attention-info pid\" title=\"" + d.filingName + "\" href=\"javascript:void(0);\" onclick=\"openDialogView('查看批次信息', '${ctx}/projectFilingBatch/projectFilingBatchInfo/view?id=" + d.id +"','95%', '95%')\">" + d.filingName + "</a>";
+                            }else{
+                                return "<a class=\"attention-info\" title=\"" + d.filingName + "\" href=\"javascript:void(0);\" onclick=\"openDialogView('查看项目信息', '${ctx}/ruralProject/ruralProjectRecords/view?id=" + d.projectId +"','95%', '95%')\">" + d.filingName + "</a>";
+                            }
+                        }},
+                    {field: 'createName', align:'center', title: '创建人',width:80,templet: function(d){
+                            if(0 == d.pid){
+                                return "<font style = 'font-size:14px;font-weight:500;'>"+d.createName+"</font>";
+                            }else{
+                                return "<font>"+d.createName+"</font>";
+                            }
+                        }},
+                    {field: 'createDate', align:'center', title: '创建日期',width:100,templet: function(d){
+                            var date=d.createDate;
+
+                            if(0 == d.pid){
+                                return "<font style = 'font-size:14px;font-weight:500;'>"+layui.util.toDateString(date,'yyyy-MM-dd')+"</font>";
+                            }else{
+                                return "<font>"+layui.util.toDateString(date,'yyyy-MM-dd')+"</font>";
+                            }
+                        }},
+                    {align:'center', title: '状态',  width:80,templet:function(d){
+                            if(d.pid ==0){
+                                var st = getAuditState(""+d.status);
+                                if(st.action)
+                                    var xml = "<span onclick=\"openDialogView('流程追踪', '${ctx}/projectFilingBatch/projectFilingBatchInfo/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;
+                            }else{
+                                var st = getFilingBatchRelationStatus(""+d.status);
+                                var xml = "<span style=\"cursor:default;\" class=\"status-label status-label-" + st.label + "\" >" + st.status + "</span>";
+                                return xml;
+                            }
+                        }},
+                    {templet: complain, align:'center', title: '操作' ,width:200}
+                ]],
+                done: function () {
+                    layer.closeAll('loading');
+                }
+            });
+        };
+
+        renderTable();
+
+        //触发三个button按钮
+        $('#btn-expand').click(function () {
+            treetable.expandAll('#permissionTable');
+        });
+
+        $('#btn-fold').click(function () {
+            treetable.foldAll('#permissionTable');
+        });
+
+        $('#btn-refresh').click(function () {
+            renderTable();
+        });
+
+
+        function complain(d){//操作中显示的内容
+            var xml = '';
+            if(d.pid=="0") {
+                if(d.flag == 1){
+                    if(d.status == 1){
+                        xml+="<a href=\"#\" onclick=\"openDialogre('修改批次信息', '${ctx}/projectFilingBatch/projectFilingBatchInfo/form?id=" + d.id +"','95%', '95%','','送审,关闭')\" class=\"op-btn op-btn-edit\" ><i class=\"fa fa-edit\"></i> 修改</a>";
+                    }
+                    if(d.status == 2){
+                        xml+="<a href=\"${ctx}/projectFilingBatch/projectFilingBatchInfo/revoke?id=" + d.id + "&filingStatus="+d.status+ "\" onclick=\"return confirmx('确认要撤回该项目审批吗?', this.href)\" class=\"op-btn op-btn-cancel\" ><i class=\"glyphicon glyphicon-share-alt\"></i> 撤回</a>";
+                    }
+                    if(d.status == 3){
+                        //撤回操作
+                        xml+="<a href=\"#\" onclick=\"openDialogre('调整批次信息', '${ctx}/projectFilingBatch/projectFilingBatchInfo/form?id=" + d.id + "','95%', '95%','','送审,关闭')\" class=\"op-btn op-btn-edit\" ><i class=\"fa fa-edit\"></i> 修改</a>";
+                    }
+                    if(d.status == 4){
+                        //驳回操作
+                        xml+="<a href=\"#\" onclick=\"openDialogre('调整批次信息', '${ctx}/projectFilingBatch/projectFilingBatchInfo/modify?id=" + d.id + "','95%', '95%','','送审,关闭')\" class=\"op-btn op-btn-edit\" ><i class=\"fa fa-edit\"></i> 修改</a>";
+                    }
+                    if(d.status == 1 || d.status == 3 || d.status == 4){
+                        xml+="<a href=\"${ctx}/projectFilingBatch/projectFilingBatchInfo/delete?id=" + d.id + "\" onclick=\"return confirmx('确认要删除该项目信息吗?', this.href)\" class=\"op-btn op-btn-delete\"><i class=\"fa fa-trash\"></i> 删除</a>";
+                    }
                 }
-                </c:forEach>
-                </c:if>
-            ]
+                return[xml].join('');
+            }else{
+                var xml = '';
+                return[xml].join('');
+            }
+        }
+        //监听工具条
+        table.on('tool(permissionTable)', function (obj) {
+            var data = obj.data;
+            var layEvent = obj.event;
+            if(data.permissionName!=null){
+                if (layEvent === 'del') {
+                    layer.msg('删除' + data.id);
+                } else if (layEvent === 'edit') {
+                    layer.msg('修改' + data.id);
+                }
+            }
         });
-    })
+    });
 
-    resizeListTable();
-    $("a").on("click",addLinkVisied);
 </script>
 <script>
-    resizeListWindow2();
-    $(window).resize(function(){
-        resizeListWindow2();
-    });
+    function openDialogres(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,
+            skin: 'three-btns',
+            maxmin: true, //开启最大化最小化按钮
+            content: url ,
+            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
+                }
+                return false;
+            },
+            btn3: function(index){
+            }
+        });
+    }
+    function openDialogreAudit(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,
+            skin: 'three-btns',
+            maxmin: true, //开启最大化最小化按钮
+            content: url ,
+            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){
+            }
+        });
+    }
+    // 确认对话框
+    function confirmxRefresh(mess, href){
+        top.layer.confirm(mess, {icon: 3, title:'系统提示'}, function(index){
+            //do something
+            if (typeof href == 'function') {
+                href();
+            }else{
+                resetTip(); //loading();
+                $.ajax({
+                    url:href,
+                    data:$('#loginForm').serialize(),
+                    type:"post",
+                    success:function(data){
+                        if(data.status){
+                            parent.layer.msg(data.msg,{icon:1});
+                        }else {
+                            parent.layer.msg(data.msg,{icon:2});
+                        }
+                        //parent.refreshTrees();
+                        location = '${ctx}/project/projectRecords/list';
+                    }
+                });
+            }
+            top.layer.close(index);
+        });
+        return false;
+    }
+
+    // 确认对话框
+    function confirmxHintContent(mess, href){
+        $.ajax({
+            url:href,
+            data:$('#loginForm').serialize(),
+            type:"post",
+            success:function(data){
+                parent.layer.open({
+                    title: '提示内容'
+                    ,shade: 0
+                    ,maxmin: true
+                    ,content: data.msg
+                });
+            }
+        });
+    }
 </script>
-<script src="${ctxStatic}/layer-v2.3/layui/layui.all.js" charset="utf-8"></script>
-<script src="${ctxStatic}/layer-v2.3/layui/tableTree/treetable.js" charset="utf-8"></script>
 </body>
 </html>

+ 112 - 62
src/main/webapp/webpage/modules/projectFilingBatch/projectFilingBatchView.jsp

@@ -229,76 +229,126 @@
                         <form:hidden path="createBy.id" htmlEscape="false"   readonly="true"  class="form-control  layui-input"/>
                     </div>
                 </div>
-                <div class="layui-item layui-col-sm12 lw7">
-                    <label class="layui-form-label">归档信息:</label>
+                <div class="layui-item layui-col-sm6 lw7">
+                    <label class="layui-form-label">归档名称:</label>
                     <div class="layui-input-block">
-                        <form:textarea path="information" htmlEscape="false" readonly="true" rows="4" maxlength="200" class="form-control "/>
+                        <form:input path="filingName" htmlEscape="false" readonly="true"  class="form-control layui-input"/>
                     </div>
                 </div>
-            </div>
-
-            <div class="form-group layui-row">
-                <div class="form-group-label"><h2>归档项目信息</h2></div>
-<%--                <div class="layui-item nav-btns">--%>
-<%--                    <sys:gridselectClientLink url="${ctx}/workclientinfo/workClientInfo/clientInfolist" id="constructionOrgList"   title="选择项目"--%>
-<%--                                              cssClass="form-control required" fieldLabels="${fns:urlEncode('项目编号')}" fieldKeys="name"  searchLabel="${fns:urlEncode('客户名称')}" searchKey="name"></sys:gridselectClientLink>--%>
-<%--                </div>--%>
-                <div class="layui-item layui-col-xs12 form-table-container">
-                    <table id="contentTable2" class="table table-bordered table-condensed details">
-                        <thead>
-                        <tr>
-                            <th class="hide"></th>
-                            <th style="text-align: center" width="16%">归档项目编号</th>
-                            <th style="text-align: center" width="16%">归档项目名称</th>
-                            <th style="text-align: center" width="16%">报告号</th>
-                            <th style="text-align: center" width="16%">案卷号</th>
-                            <th style="text-align: center" width="16%">确认案卷号</th>
-                            <th style="text-align: center" width="16%">状态</th>
-<%--                            <th width="20%">操作</th>--%>
-                        </tr>
-                        </thead>
-                        <tbody id="workConstructionLinkmanList">
-                        <c:choose>
-                            <c:when test="${not empty projectFilingBatch}">
-                                <c:forEach items="${projectFilingBatch.project}" var="project" varStatus="index">
-                                    <tr>
-                                        <td>
-                                                ${project.projectId}
-                                        </td>
-                                        <td>
-                                                ${project.projectName}
-                                        </td>
-                                        <td>
-                                                ${project.projectReportNumber}
-                                        </td>
-                                        <td>
-                                                ${project.boxNum}
-                                        </td>
-                                        <td>
-                                                ${project.reBoxNum}
-                                        </td>
-                                        <td>
-                                                ${project.delFlag}
-                                        </td>
-                                    </tr>
-                                </c:forEach>
-                            </c:when>
-                            <c:otherwise>
-                                <tr>
-                                    <td colspan="7">
-                                        暂无数据
-                                    </td>
-                                </tr>
-                            </c:otherwise>
-                        </c:choose>
-                        </tbody>
-                    </table>
-
+                <div class="layui-item layui-col-sm12 lw7 with-textarea">
+                    <label class="layui-form-label">归档说明:</label>
+                    <div class="layui-input-block">
+                        <form:textarea path="information" htmlEscape="false" readonly="true" rows="4" maxlength="255" class="form-control "/>
+                    </div>
                 </div>
             </div>
 
+        <div class="form-group layui-row">
+            <div class="form-group-label"><h2>归档项目信息</h2></div>
+            <table id="permissionTable" class="layui-table" lay-filter="permissionTable"></table>
+        </div>
         </form:form>
     </div>
 </div>
+<script src="${ctxStatic}/layer-v2.3/layui/layui.all.js" charset="utf-8"></script>
+<script src="${ctxStatic}/layer-v2.3/layui/tableTree/treetable.js" charset="utf-8"></script>
+<script>
+    /*使用模块加载的方式 加载文件*/
+    layui.config({
+        base: '${ctx}/resoueces/css/layui/module/'
+    }).extend({
+        treetable: 'treetable-lay/treetable'
+    }).use(['layer', 'table', 'treetable'], function () {
+        var $ = layui.jquery;
+        var table = layui.table;
+        var layer = layui.layer;
+        var treetable = layui.treetable;
+        var id =$("#id").val();
+        // 渲染表格
+        var renderTable = function () {
+            layer.load(2);
+            treetable.render({
+                treeColIndex: 0,//树形图标显示在第几列
+                treeSpid: 0,//最上级的父级id
+                treeIdName: 'permissionId',//id字段的名称
+                treePidName: 'pid',//pid字段的名称
+                treeDefaultClose: false,//是否默认折叠
+                treeLinkage: true,//父级展开时是否自动展开所有子级
+                elem: '#permissionTable',
+                url: '${ctx}/projectFilingBatch/projectFilingBatchInfo/getFilingBatchById?id='+id,
+                page: false,
+                cols: [[
+                    {field: 'projectNum', title: '项目编号/文件类型',templet:function(d){
+                            if(0 == d.pid){
+                                return "<font style = 'font-size:14px;font-weight:500;'>"+d.projectNum+"</font>";
+                            }else{
+                                return "<font>"+d.projectNum+"</font>";
+                            }
+                        }},
+                    {field: 'number', align:'center', title: '报告号/文件名',templet:function(d){
+                            if(0 == d.pid){
+                                return "<font style = 'font-size:14px;font-weight:500;'>"+d.number+"</font>";
+                            }else{
+                                return "<font>"+d.number+"</font>";
+                            }
+                        }},
+                    {field: 'filingName', align:'center', title: '项目名称',templet:function(d){
+                            if(0 == d.pid){
+                                return "<font style = 'font-size:14px;font-weight:500;'>"+d.filingName+"</font>";
+                            }else{
+                                return "<font>"+d.filingName+"</font>";
+                            }
+                        }},
+                    {field: 'boxNum', align:'center', title: '案卷号',templet: function(d){
+                            if(0 == d.pid){
+                                return "<font style = 'font-size:14px;font-weight:500;'>"+d.boxNum+"</font>";
+                            }else{
+                                return "<font>"+d.boxNum+"</font>";
+                            }
+                        }},
+                    {field: 'statusStr', align:'center', title: '状态',width:120,templet: function(d){
+                            if(0 == d.pid){
+                                return "<font style = 'font-size:14px;font-weight:500;'>"+d.statusStr+"</font>";
+                            }else{
+                                return "<font>"+d.statusStr+"</font>";
+                            }
+                        }}
+                ]],
+                done: function () {
+                    layer.closeAll('loading');
+                }
+            });
+        };
+
+        renderTable();
+
+        //触发三个button按钮
+        $('#btn-expand').click(function () {
+            treetable.expandAll('#permissionTable');
+        });
+
+        $('#btn-fold').click(function () {
+            treetable.foldAll('#permissionTable');
+        });
+
+        $('#btn-refresh').click(function () {
+            renderTable();
+        });
+
+        //监听工具条
+        table.on('tool(permissionTable)', function (obj) {
+            var data = obj.data;
+            var layEvent = obj.event;
+            if(data.permissionName!=null){
+                if (layEvent === 'del') {
+                    layer.msg('删除' + data.id);
+                } else if (layEvent === 'edit') {
+                    layer.msg('修改' + data.id);
+                }
+            }
+        });
+    });
+
+</script>
 </body>
 </html>

+ 73 - 21
src/main/webapp/webpage/modules/ruralprojectrecords/check/all/ruralProjectRecordsAllList.jsp

@@ -148,6 +148,42 @@
                 }
             });
         }
+
+		//打开对话框(查看)
+		function openDialogReportView(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}/ruralProject/ruralProjectMessage/getReportExist?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();
+					}
+				}
+			});
+
+		}
 	</script>
 	<style>
 		body{
@@ -262,32 +298,46 @@
             ,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:'index',align:'center', title: '序号',width:40}
 				,{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:'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: 'projectReportNumber', align:'center', title: '报告号',width:170,templet: function(d){
+						if(""!= d.projectReportNumber){
+							return "<a class=\"attention-info pid\" title=\"" + d.projectReportNumber + "\" href=\"javascript:void(0);\" onclick=\"openDialogReportView('查看报告信息', '${ctx}/ruralProject/ruralProjectMessage/modify?projectId=" + d.id + "&view=view&reportedId="+d.id+"','"+ d.id +"','95%', '95%')\">" + d.projectReportNumber + "</a>";
+						}else{
+							return "<span title='暂无报告'  style='color: #009688'>暂无报告</span>";
+						}
 					}}
 				,{field:'fileNum', align:'center',title: '案卷号',minWidth:200,templet:function(d){
 						return "<span title='"+ d.fileNum +"'>" + d.fileNum + "</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 = getCheckProjectState(d.checkStatus);
-                        if(st.action)
-                            var xml = "<span onclick=\"openDialogView('流程追踪', '${ctx}/project/recordChooseCheck/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;
-                    }}
+				,{field:'contract', align:'center',title: '合同名称',minWidth:200,templet:function(d){
+						if(""!= d.contract){
+							return "<span title='"+ d.contract +"'>" + d.contract + "</span>";
+						}else{
+							return "<span title='暂无合同'  style='color: #FF5722'>暂无合同</span>";
+						}
+					}}
+				,{field:'client',align:'center', title: '委托单位',  width:150,templet:function(d){
+						return "<span title=\"" + d.client + "\">" + d.client + "</span>";
+					}}
+				,{field:'projMaster', align:'center',title: '项目负责人', width:65,templet:function(d){
+						return "<span title=\"" + d.projMaster + "\">" + d.projMaster + "</span>";
+					}}
+				,{field:'createDate',align:'center', title: '创建日期',  width:80}
+				,{field:'creatName', align:'center',title: '登记人', width:65,templet:function(d){
+						return "<span title=\"" + d.creatName + "\">" + d.creatName + "</span>";
+					}}
+				,{align:'center', title: '状态',  width:70,templet:function(d){
+						var st = getCheckProjectState(d.checkStatus);
+						if(st.action)
+							var xml = "<span onclick=\"openDialogView('流程追踪', '${ctx}/project/recordChooseCheck/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;
+					}}
                 ,{field:'op',align:'center',title:"操作",width:130,templet:function(d){
                         ////对操作进行初始化
                         var xml="";
@@ -338,6 +388,8 @@
 					,"flagAdmin":"${projectRecords.flagAdmin}"
 					,"checkStatus":"${projectRecords.checkStatus}"
 					,"fileNum":"${projectRecords.fileNum}"
+					,"projectReportNumber":"${projectRecords.projectReportNumber}"
+					,"creatName":"${projectRecords.createBy.name}"
 					<shiro:hasPermission name="project:recordChooseCheckAll:add">
 					,"canAdd":	<c:choose><c:when test="${projectRecords.checkStatus == 0}">"1"</c:when><c:otherwise>"0"</c:otherwise></c:choose>
 					</shiro:hasPermission>

+ 61 - 9
src/main/webapp/webpage/modules/ruralprojectrecords/check/ruralProjectRecordsList.jsp

@@ -148,6 +148,42 @@
                 }
             });
         }
+
+		//打开对话框(查看)
+		function openDialogReportView(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}/ruralProject/ruralProjectMessage/getReportExist?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();
+					}
+				}
+			});
+
+		}
 	</script>
 	<style>
 		body{
@@ -267,19 +303,33 @@
                 ,{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: 'projectReportNumber', align:'center', title: '报告号',width:170,templet: function(d){
+						if(""!= d.projectReportNumber){
+							return "<a class=\"attention-info pid\" title=\"" + d.projectReportNumber + "\" href=\"javascript:void(0);\" onclick=\"openDialogReportView('查看报告信息', '${ctx}/ruralProject/ruralProjectMessage/modify?projectId=" + d.id + "&view=view&reportedId="+d.id+"','"+ d.id +"','95%', '95%')\">" + d.projectReportNumber + "</a>";
+						}else{
+							return "<span title='暂无报告'  style='color: #009688'>暂无报告</span>";
+						}
+					}}
+				,{field:'fileNum', align:'center',title: '案卷号',minWidth:200,templet:function(d){
+						return "<span title='"+ d.fileNum +"'>" + d.fileNum + "</span>";
+					}}
                 ,{field:'contract', align:'center',title: '合同名称',minWidth:200,templet:function(d){
-                    	return "<span title='"+ d.contract +"'>" + d.contract + "</span>";
+						if(""!= d.contract){
+							return "<span title='"+ d.contract +"'>" + d.contract + "</span>";
+						}else{
+							return "<span title='暂无合同'  style='color: #FF5722'>暂无合同</span>";
+						}
 					}}
-                ,{field:'fileNum', align:'center',title: '案卷号',minWidth:200,templet:function(d){
-                    	return "<span title='"+ d.fileNum +"'>" + d.fileNum + "</span>";
+				,{field:'client',align:'center', title: '委托单位',  width:150,templet:function(d){
+						return "<span title=\"" + d.client + "\">" + d.client + "</span>";
+					}}
+				,{field:'projMaster', align:'center',title: '项目负责人', width:65,templet:function(d){
+						return "<span title=\"" + d.projMaster + "\">" + d.projMaster + "</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}
+				,{field:'creatName', align:'center',title: '登记人', width:65,templet:function(d){
+						return "<span title=\"" + d.creatName + "\">" + d.creatName + "</span>";
+					}}
                 ,{align:'center', title: '状态',  width:70,templet:function(d){
                         var st = getCheckProjectState(d.checkStatus);
                         if(st.action)
@@ -338,6 +388,8 @@
 					,"flagAdmin":"${projectRecords.flagAdmin}"
 					,"checkStatus":"${projectRecords.checkStatus}"
 					,"fileNum":"${projectRecords.fileNum}"
+					,"projectReportNumber":"${projectRecords.projectReportNumber}"
+					,"creatName":"${projectRecords.createBy.name}"
 
 					<shiro:hasPermission name="project:recordChooseCheck:del">,"candel":	<c:choose><c:when test="${(projectRecords.checkStatus == 1 or projectRecords.checkStatus == 3 or projectRecords.checkStatus == 4)}">"1"</c:when><c:otherwise>"0"</c:otherwise></c:choose></shiro:hasPermission>
 					<shiro:hasPermission name="project:recordChooseCheck:edit">

+ 60 - 1
src/main/webapp/webpage/modules/ruralprojectrecords/cost/projectcontentinfo/reportView.jsp

@@ -6,6 +6,62 @@
 	<meta name="decorator" content="default"/>
 	<script type="text/javascript">
 
+		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) {
+				}
+			});
+		}
 	</script>
 </head>
 
@@ -241,7 +297,10 @@
 				</div>
 			</div>
 		<div class="form-group layui-row first lw12">
-			<div class="form-group-label"><h2>合同信息</h2></div>
+			<div class="form-group-label">
+				<div style="float: right"> <a href="javascript:void(0)" style='background-color: #FFB800' onclick="openDialogre('下载模板', '${ctx}/ruralProject/ruralProjectMessage/skipDownloadFtl?id=${projectRecords.id}','35%', '35%','','下载,关闭')" class="nav-btn layui-btn" ><i class="fa fa-file-excel-o"></i> 下载模板</a></div>
+				<h2>报告信息</h2>
+			</div>
 			<div class="layui-item layui-col-sm6">
 				<label class="layui-form-label">送审价(元):</label>
 				<div class="layui-input-block with-icon">

+ 1 - 1
src/main/webapp/webpage/modules/ruralprojectrecords/cost/ruralCostProjectMessageLists.jsp

@@ -684,7 +684,7 @@
 
 					//线上归档操作
 					if(d.projectReportStatus == 5){
-						xml+="<a href=\"#\" style='background-color: #FFB800' onclick=\"openDialogre('下载模板', '${ctx}/ruralProject/ruralCostProjectMessage/skipDownloadFtl?id=" + d.id +"','35%', '35%','','下载,关闭')\" class=\"op-btn\" > 下载模板</a>";
+						/*xml+="<a href=\"#\" style='background-color: #FFB800' onclick=\"openDialogre('下载模板', '${ctx}/ruralProject/ruralCostProjectMessage/skipDownloadFtl?id=" + d.id +"','35%', '35%','','下载,关闭')\" class=\"op-btn\" > 下载模板</a>";*/
 						if(d.projectReportRecordStatus == 0){
 							xml+="<a href=\"#\" onclick=\"openDialogre('新增归档信息', '${ctx}/ruralProject/ruralCostProjectMessage/formRecord?reportId=" + d.id +"','95%', '95%','','送审,暂存,关闭')\" class=\"op-btn layui-bg-green\" ><i class=\"fa fa-plus\"></i> 线上归档</a>";
 						}

+ 61 - 205
src/main/webapp/webpage/modules/ruralprojectrecords/ruralporjectmessage/projectcontentinfo/reportView.jsp

@@ -6,6 +6,63 @@
 	<meta name="decorator" content="default"/>
 	<script type="text/javascript">
 
+
+		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) {
+				}
+			});
+		}
 	</script>
 </head>
 
@@ -266,212 +323,11 @@
 					</div>
 				</div>
 			</div>
-			<div class="form-group layui-row first">
-				<div class="form-group-label"><h2>项目信息</h2></div>
-				<div class="layui-item layui-col-sm6 lw6">
-					<label class="layui-form-label">项目名称:</label>
-					<div class="layui-input-block">
-						<input htmlEscape="false" style="background-color: #f1f1f1"  readonly="true" class="form-control layui-input" value="${projectRecords.projectName}"/>
-					</div>
-				</div>
-				<div class="layui-item layui-col-sm6 lw6">
-					<label class="layui-form-label">项目编号:</label>
-					<div class="layui-input-block">
-						<div class="input-group">
-							<input htmlEscape="false" style="background-color: #f1f1f1"  readonly="true" class="form-control layui-input" value="${projectRecords.projectId}"/>
-								<%--							<form:input path="projectId" htmlEscape="false"  readonly="true" class="form-control layui-input"/>--%>
-							<span class="input-group-btn">
-                                <label class="form-status"><c:choose><c:when test="${not empty projectRecords.projectStatus}">${fns:getDictLabel(projectRecords.projectStatus, 'audit_state', '')}</c:when><c:otherwise>新添</c:otherwise></c:choose></label>
-                             </span>
-						</div>
-					</div>
-				</div>
-					<%--<div class="layui-item layui-col-sm6 lw6">--%>
-					<%--<label class="layui-form-label">规模类型:</label>--%>
-					<%--<div class="layui-input-block">--%>
-					<%--<input htmlEscape="false"  readonly="true" class="form-control layui-input" value="${projectRecords.scaleType}"/>--%>
-					<%--</div>--%>
-					<%--</div>--%>
-					<%--<div class="layui-item layui-col-sm6 lw6">--%>
-					<%--<label class="layui-form-label">规模单位:</label>--%>
-					<%--<div class="layui-input-block">--%>
-					<%--<input htmlEscape="false"  readonly="true" class="form-control layui-input" value="${projectRecords.scaleUnit}"/>--%>
-					<%--</div>--%>
-					<%--</div>--%>
-					<%--<div class="layui-item layui-col-sm6 lw6">--%>
-					<%--<label class="layui-form-label">规模数量:</label>--%>
-					<%--<div class="layui-input-block">--%>
-					<%--<input htmlEscape="false"  readonly="true" class="form-control layui-input" value="${projectRecords.scaleQuantity}"/>--%>
-					<%--</div>--%>
-					<%--</div>--%>
-				<div class="layui-item layui-col-sm6 lw6">
-					<label class="layui-form-label">项目所在地:</label>
-					<div class="layui-input-block">
-						<input htmlEscape="false" style="background-color: #f1f1f1" readonly="true" class="form-control layui-input" value="${projectRecords.area.name}"/>
-					</div>
-				</div>
-				<div class="layui-item layui-col-sm6 lw7">
-					<label class="layui-form-label">所在省份:</label>
-					<div class="layui-input-block">
-						<input htmlEscape="false" style="background-color: #f1f1f1" readonly="true" class="form-control layui-input" value="${projectRecords.province}"/>
-							<%--						<form:input path="${projectRecords.province}" htmlEscape="false" id="province" class="form-control layui-input" readonly="true"/>--%>
-					</div>
-				</div>
-				<div class="layui-item layui-col-sm6 lw7">
-					<label class="layui-form-label">所在地级市:</label>
-					<div class="layui-input-block">
-						<input htmlEscape="false" style="background-color: #f1f1f1" readonly="true" class="form-control layui-input" value="${projectRecords.city}"/>
-							<%--						<form:input path="city" htmlEscape="false" id="city" class="form-control layui-input" readonly="true"/>--%>
-					</div>
-				</div>
-				<div class="layui-item layui-col-sm6 lw7">
-					<label class="layui-form-label">所在区县:</label>
-					<div class="layui-input-block">
-						<input htmlEscape="false" style="background-color: #f1f1f1" readonly="true" class="form-control layui-input" value="${projectRecords.county}"/>
-							<%--						<form:input path="county" htmlEscape="false" id="areaName1" class="form-control layui-input" readonly="true"/>--%>
-					</div>
-				</div>
-				<div class="layui-item layui-col-sm6 lw6">
-					<label class="layui-form-label">建设地点:</label>
-					<div class="layui-input-block">
-						<input htmlEscape="false" style="background-color: #f1f1f1" readonly="true" class="form-control layui-input" value="${projectRecords.projectSite}"/>
-					</div>
-				</div>
-				<div class="layui-item layui-col-sm6 lw6">
-					<label class="layui-form-label">项目负责人:</label>
-					<div class="layui-input-block">
-						<input htmlEscape="false" style="background-color: #f1f1f1" readonly="true" class="form-control layui-input" value="${projectRecords.leaderNameStr}"/>
-					</div>
-				</div>
-					<%--<div class="layui-item layui-col-sm6 lw6">
-                        <label class="layui-form-label">项目类型:</label>
-                        <div class="layui-input-block">
-                            <input htmlEscape="false"  readonly="true" class="form-control layui-input" value="${projectRecords.projectTypeId}"/>
-                        </div>
-                    </div>--%>
-				<div class="layui-item layui-col-sm6 lw7">
-					<label class="layui-form-label">项目类型:</label>
-					<div class="layui-input-block">
-						<input htmlEscape="false" style="background-color: #f1f1f1" readonly="true" class="form-control layui-input" value="${fns:getMainDictLabel(projectRecords.workContractInfo.contractTypeDoc, 'contract_info_type', '')}"/>
-							<%--						<form:select path="projectTypeId" class="form-control editable-select layui-input" id="projectTypeId" value="${projectTypeId}" readonly="true">--%>
-							<%--							&lt;%&ndash;<form:option value=""/>--%>
-							<%--                            <form:options items="${fns:getProjectType()}" itemLabel="label" itemValue="label" htmlEscape="false"/>&ndash;%&gt;--%>
-							<%--							<form:options items="${fns:getProjectType()}" itemLabel="typeName" itemValue="typeId" readonly="true"></form:options>--%>
-							<%--						</form:select>--%>
-					</div>
-				</div>
-				<div class="layui-item layui-col-sm6 lw6">
-					<label class="layui-form-label">创建人:</label>
-					<div class="layui-input-block">
-						<input htmlEscape="false" style="background-color: #f1f1f1" readonly="true" class="form-control layui-input" value="${projectRecords.createBy.name}"/>
-					</div>
-				</div>
-				<div class="layui-item layui-col-sm6 lw6">
-					<label class="layui-form-label">创建日期:</label>
-					<div class="layui-input-block">
-						<input htmlEscape="false" style="background-color: #f1f1f1" readonly="true" class="form-control layui-input" value="<fmt:formatDate value="${projectRecords.createDate}" pattern="yyyy-MM-dd"/>"/>
-					</div>
-				</div>
-					<%--<div class="layui-item layui-col-sm6 lw7">
-                        <label class="layui-form-label">工程结构:</label>
-                        <div class="layui-input-block">
-                                <input htmlEscape="false"  readonly="true" class="form-control layui-input" value="${projectRecords.projectStructure}"/>
-                        </div>
-                    </div>
-                    <div class="layui-item layui-col-sm6 lw7">
-                        <label class="layui-form-label">地上层数:</label>
-                        <div class="layui-input-block">
-                            <form:input path="onGroundNum" htmlEscape="false"  class="form-control layui-input number" readonly="true"/>
-                        </div>
-                    </div>
-                    <div class="layui-item layui-col-sm6 lw7">
-                        <label class="layui-form-label">底下层数:</label>
-                        <div class="layui-input-block">
-                            <form:input path="underGroundNum" htmlEscape="false"  class="form-control layui-input number" readonly="true"/>
-                        </div>
-                    </div>--%>
-				<div class="layui-item layui-col-sm6 lw7">
-					<label class="layui-form-label double-line">建筑面积或规模:</label>
-					<div class="layui-input-block">
-						<input htmlEscape="false" style="background-color: #f1f1f1" readonly="true" class="form-control layui-input" value="${projectRecords.buildingScale}"/>
-							<%--						<form:input path="buildingScale" htmlEscape="false"  class="form-control layui-input number" readonly="true"/>--%>
-					</div>
-				</div>
-					<%--<div class="layui-item layui-col-sm6 lw7">
-                        <label class="layui-form-label">计量单位:</label>
-                        <div class="layui-input-block">
-                            <input htmlEscape="false"  readonly="true" class="form-control layui-input" value="${projectRecords.measuringUnit}"/>
-                        </div>
-                    </div>--%>
-				<div class="layui-item layui-col-sm6 lw7">
-					<label class="layui-form-label">工程用途:</label>
-					<div class="layui-input-block">
-						<input htmlEscape="false" style="background-color: #f1f1f1" readonly="true" class="form-control layui-input" value="${projectRecords.projectUse}"/>
-					</div>
-				</div>
-					<%--<div class="layui-item layui-col-sm6 lw7">
-                        <label class="layui-form-label double-line"><span class="require-item">*</span>咨询标的额(万元):</label>
-                        <div class="layui-input-block">
-                            <input value="<fmt:formatNumber value="${projectRecords.totalFees}" pattern="#,##0.00#"/>" htmlEscape="false" id="totalFees" class="form-control layui-input required number"  readonly="true"/>
-                        </div>
-                    </div>
-                    <div class="layui-item layui-col-sm6 lw7">
-                        <label class="layui-form-label double-line">其中土建造价(万元):</label>
-                        <div class="layui-input-block">
-                            <input   value="<fmt:formatNumber value="${projectRecords.buildingFees}" pattern="#,##0.00#"/>" htmlEscape="false" id="buildingFees" class="form-control layui-input" readonly="true"/>
-                        </div>
-                    </div>
-                    <div class="layui-item layui-col-sm6 lw7">
-                        <label class="layui-form-label double-line">其中安装造价(万元):</label>
-                        <div class="layui-input-block">
-                            <input  value="<fmt:formatNumber value="${projectRecords.installFees}" pattern="#,##0.00#"/>" htmlEscape="false" id="installFees" class="form-control layui-input" readonly="true"/>
-                        </div>
-                    </div>
-                    <div class="layui-item layui-col-sm6 lw7">
-                        <label class="layui-form-label double-line">其中土建百分比(%):</label>
-                        <div class="layui-input-block">
-                            <form:input path="buildingPercent" htmlEscape="false" id="buildingPercent" class="form-control layui-input" readonly="true"/>
-                        </div>
-                    </div>
-                    <div class="layui-item layui-col-sm6 lw7">
-                        <label class="layui-form-label double-line">其中安装百分比(%):</label>
-                        <div class="layui-input-block">
-                            <form:input path="installPercent" htmlEscape="false" id="installPercent" class="form-control layui-input" readonly="true"/>
-                        </div>
-                    </div>--%>
-				<div class="layui-item layui-col-sm6 lw7">
-					<label class="layui-form-label">单位造价(元):</label>
-					<div class="layui-input-block">
-						<input value="<fmt:formatNumber value="${projectRecords.unitFees}" pattern="#,##0.00#"/>" htmlEscape="false" id="unitFees" class="form-control layui-input" style="background-color: #f1f1f1" readonly="true"/>
-					</div>
-				</div>
-				<div class="layui-item layui-col-sm6 lw7">
-					<label class="layui-form-label double-line">土建单位造价(元):</label>
-					<div class="layui-input-block">
-						<input  value="<fmt:formatNumber value="${projectRecords.buildingUnitFees}" pattern="#,##0.00#"/>" htmlEscape="false" id="buildingUnitFees" style="background-color: #f1f1f1" class="form-control layui-input" readonly="true"/>
-					</div>
-				</div>
-				<div class="layui-item layui-col-sm6 lw7">
-					<label class="layui-form-label double-line">安装单位造价(元):</label>
-					<div class="layui-input-block">
-						<input  value="<fmt:formatNumber value="${projectRecords.installUnitFees}" pattern="#,##0.00#"/>" htmlEscape="false" id="installUnitFees" style="background-color: #f1f1f1" class="form-control layui-input" readonly="readonly"/>
-					</div>
-				</div>
-				<div class="layui-item layui-col-sm6 lw6 with-textarea">
-					<label class="layui-form-label">工程概况:</label>
-					<div class="layui-input-block">
-						<textarea htmlEscape="false" rows="4" readonly="true" style="background-color: #f1f1f1" maxlength="1000" class="form-control" >${projectRecords.projectDesc}</textarea>
-					</div>
-				</div>
-				<div class="layui-item layui-col-sm6 lw6 with-textarea">
-					<label class="layui-form-label">特殊要求:</label>
-					<div class="layui-input-block">
-						<textarea htmlEscape="false" rows="4" readonly="true" style="background-color: #f1f1f1" maxlength="1000" class="form-control" >${projectRecords.remarks}</textarea>
-					</div>
-				</div>
-			</div>
 		<div class="form-group layui-row first lw12">
-			<div class="form-group-label"><h2>合同信息</h2></div>
+			<div class="form-group-label">
+				<div style="float: right"> <a href="javascript:void(0)" style='background-color: #FFB800' onclick="openDialogre('下载模板', '${ctx}/ruralProject/ruralProjectMessage/skipDownloadFtl?id=${projectRecords.id}','35%', '35%','','下载,关闭')" class="nav-btn layui-btn" ><i class="fa fa-file-excel-o"></i> 下载模板</a></div>
+				<h2>报告信息</h2>
+			</div>
 			<div class="layui-item layui-col-sm6">
 				<label class="layui-form-label">送审价(元):</label>
 				<div class="layui-input-block with-icon">

+ 1 - 1
src/main/webapp/webpage/modules/ruralprojectrecords/ruralporjectmessage/ruralProjectMessageLists.jsp

@@ -684,7 +684,7 @@
 
 					//线上归档操作
 					if(d.projectReportStatus == 5){
-						xml+="<a href=\"#\" style='background-color: #FFB800' onclick=\"openDialogre('下载模板', '${ctx}/ruralProject/ruralProjectMessage/skipDownloadFtl?id=" + d.id +"','35%', '35%','','下载,关闭')\" class=\"op-btn\" > 下载模板</a>";
+						/*xml+="<a href=\"#\" style='background-color: #FFB800' onclick=\"openDialogre('下载模板', '${ctx}/ruralProject/ruralProjectMessage/skipDownloadFtl?id=" + d.id +"','35%', '35%','','下载,关闭')\" class=\"op-btn\" > 下载模板</a>";*/
 						if(d.projectReportRecordStatus == 0){
 							xml+="<a href=\"#\" onclick=\"openDialogre('新增归档信息', '${ctx}/ruralProject/ruralProjectMessage/formRecord?reportId=" + d.id +"','95%', '95%','','送审,暂存,关闭')\" class=\"op-btn layui-bg-green\" ><i class=\"fa fa-plus\"></i> 线上归档</a>";
 						}