소스 검색

资料缺失说明信息补全,添加资料缺失说明页签

wangqiang 2 년 전
부모
커밋
15cc1e3db8
34개의 변경된 파일1528개의 추가작업 그리고 55개의 파일을 삭제
  1. 6 0
      src/main/java/com/jeeplus/modules/projectcontentinfo/dao/ProjectReportRecordDao.java
  2. 4 0
      src/main/java/com/jeeplus/modules/projectcontentinfo/service/ProjectReportRecordService.java
  3. 198 4
      src/main/java/com/jeeplus/modules/projectcontentinfo/web/ProjectReportDefectRecordController.java
  4. 7 0
      src/main/java/com/jeeplus/modules/ruralprojectrecords/dao/RuralProjectMessageDao.java
  5. 7 0
      src/main/java/com/jeeplus/modules/ruralprojectrecords/dao/RuralProjectRecordsDao.java
  6. 36 0
      src/main/java/com/jeeplus/modules/ruralprojectrecords/entity/RuralProjectRecords.java
  7. 69 1
      src/main/java/com/jeeplus/modules/ruralprojectrecords/service/RuralProjectMessageAllService.java
  8. 11 2
      src/main/java/com/jeeplus/modules/ruralprojectrecords/service/RuralProjectMessageNewService.java
  9. 69 1
      src/main/java/com/jeeplus/modules/ruralprojectrecords/service/RuralProjectMessageService.java
  10. 9 2
      src/main/java/com/jeeplus/modules/ruralprojectrecords/service/RuralProjectRecordsService.java
  11. 2 0
      src/main/java/com/jeeplus/modules/ruralprojectrecords/web/RuralCostProjectMessageController.java
  12. 4 0
      src/main/resources/mappings/modules/projectcontentinfo/ProjectReportRecordDao.xml
  13. 1 0
      src/main/resources/mappings/modules/ruralprojectrecords/RuralProjectMessageAllDao.xml
  14. 9 0
      src/main/resources/mappings/modules/ruralprojectrecords/RuralProjectMessageDao.xml
  15. 33 1
      src/main/resources/mappings/modules/ruralprojectrecords/RuralProjectRecordsDao.xml
  16. 34 2
      src/main/webapp/webpage/modules/ruralprojectrecords/cost/ruralCostProjectMessageList.jsp
  17. 27 5
      src/main/webapp/webpage/modules/ruralprojectrecords/record/cost/projectRecordDescriptionForm.jsp
  18. 611 0
      src/main/webapp/webpage/modules/ruralprojectrecords/record/cost/projectRecordDescriptionVew2.jsp
  19. 7 1
      src/main/webapp/webpage/modules/ruralprojectrecords/record/projectRepordDescriptionAudit.jsp
  20. 29 7
      src/main/webapp/webpage/modules/ruralprojectrecords/record/projectRepordDescriptionModify.jsp
  21. 9 3
      src/main/webapp/webpage/modules/ruralprojectrecords/record/projectRepordDescriptionView.jsp
  22. 14 2
      src/main/webapp/webpage/modules/ruralprojectrecords/ruralporjectmessage/all/ruralProjectMessageAllList.jsp
  23. 16 2
      src/main/webapp/webpage/modules/ruralprojectrecords/ruralporjectmessage/ruralProjectMessageList.jsp
  24. 6 2
      src/main/webapp/webpage/modules/ruralprojectrecords/subProjectInfo/subProjectInfoList.jsp
  25. 6 2
      src/main/webapp/webpage/modules/ruralprojectrecords/view/projectAccessoryView.jsp
  26. 7 2
      src/main/webapp/webpage/modules/ruralprojectrecords/view/projectFilingBatchView.jsp
  27. 6 1
      src/main/webapp/webpage/modules/ruralprojectrecords/view/projectPlanView.jsp
  28. 7 3
      src/main/webapp/webpage/modules/ruralprojectrecords/view/projectReportRecordView.jsp
  29. 3 1
      src/main/webapp/webpage/modules/ruralprojectrecords/view/reportIssueView.jsp
  30. 6 2
      src/main/webapp/webpage/modules/ruralprojectrecords/view/reportView.jsp
  31. 6 2
      src/main/webapp/webpage/modules/ruralprojectrecords/view/reportedView.jsp
  32. 6 1
      src/main/webapp/webpage/modules/ruralprojectrecords/view/ruralProjectRecordsView.jsp
  33. 6 1
      src/main/webapp/webpage/modules/ruralprojectrecords/view/workClientAndContractView.jsp
  34. 257 5
      src/main/webapp/webpage/modules/workreimbursement/workReimbursementInformationTrack.jsp

+ 6 - 0
src/main/java/com/jeeplus/modules/projectcontentinfo/dao/ProjectReportRecordDao.java

@@ -92,4 +92,10 @@ public interface ProjectReportRecordDao extends CrudDao<ProjectReportRecord> {
 
     Integer updateRuralProjectReportRecordOnFileId(ProjectReportRecord projectReportRecord);
 
+    /**
+     * 根据reportid获取资料缺失说明信息
+     * @param id
+     * @return
+     */
+    ProjectMaterialDefectRecord getByReportId(String id);
 }

+ 4 - 0
src/main/java/com/jeeplus/modules/projectcontentinfo/service/ProjectReportRecordService.java

@@ -148,6 +148,10 @@ public class ProjectReportRecordService extends CrudService<ProjectReportRecordD
 		return projectReportRecord;
 	}
 
+	public ProjectMaterialDefectRecord getByReportId(String id){
+		return dao.getByReportId(id);
+	}
+
 
 	/**
 	 * 获取归档资料说明信息

+ 198 - 4
src/main/java/com/jeeplus/modules/projectcontentinfo/web/ProjectReportDefectRecordController.java

@@ -88,9 +88,12 @@ public class ProjectReportDefectRecordController extends BaseController {
 	@SuppressWarnings("unlikely-arg-type")
 	@RequestMapping(value="/getZuzhi")
 	@ResponseBody
-	public List<ZuZhi> getZuzhi(HttpServletRequest request,ProjectMaterialDefectRecord materialDefectRecord) {
+	public List<ZuZhi> getZuzhi(HttpServletRequest request,ProjectMaterialDefectRecord materialDefectRecord,String biaoJi) {
 		//查询“配农网”工程类型id
 		String engineeringId = engineeringService.getEngineeringId("202");
+		if (StringUtils.isNotEmpty(materialDefectRecord.getId())){
+			materialDefectRecord = projectReportRecordService.getMaterialDefectRecord(materialDefectRecord.getId());
+		}
 		//获取项目信息
 		RuralProjectRecords ruralProjectRecords = projectRecordsService.get(materialDefectRecord.getReportId());
 		ProjectAccessoryRelationInfo relateInfo = new ProjectAccessoryRelationInfo();
@@ -133,6 +136,10 @@ public class ProjectReportDefectRecordController extends BaseController {
 		//根据id查流程状态
 		String status = chooseService.getStatusById(materialDefectRecord.getId());
 
+		if (null == biaoJi){
+			biaoJi = "cs";
+		}
+
 		List<ZuZhi> zuList = new ArrayList<>();
 		List<ZuZhi> childList01 = new ArrayList<>();
 		List<ZuZhi> childList02 = new ArrayList<>();
@@ -142,8 +149,9 @@ public class ProjectReportDefectRecordController extends BaseController {
 			zuZhi.setId(mainDictDetails.get(i).getValue());
 			zuZhi.setTitle(mainDictDetails.get(i).getLabel());
 			if (mainDictDetails.get(i).getLabel().equals("成果文件")){
+				String finalBiaoJi = biaoJi;
 				materialDefectRecord.getFileAttachmentList().forEach(att->{
-					if (StringUtils.isNotEmpty(status) && (status.equals("2") || status.equals("5"))){
+					if (StringUtils.isNotEmpty(status) && (status.equals("2") || status.equals("5") || finalBiaoJi.equals("test"))){
 						if (childIdList.contains(att.getId())){
 							ZuZhi child01 = new ZuZhi();
 							child01.setId(att.getId());
@@ -170,8 +178,9 @@ public class ProjectReportDefectRecordController extends BaseController {
 //				zuZhi.setChildren(childList01);
 			}
 			if (mainDictDetails.get(i).getLabel().equals("依据文件")){
+				String finalBiaoJi = biaoJi;
 				materialDefectRecord.getFileGistdataList().forEach(att->{
-					if (StringUtils.isNotEmpty(status) && (status.equals("2") || status.equals("5"))){
+					if (StringUtils.isNotEmpty(status) && (status.equals("2") || status.equals("5") || finalBiaoJi.equals("test"))){
 						if (childIdList.contains(att.getId())){
 							ZuZhi child02 = new ZuZhi();
 							child02.setId(att.getId());
@@ -198,8 +207,9 @@ public class ProjectReportDefectRecordController extends BaseController {
 				}
 			}
 			if (mainDictDetails.get(i).getLabel().equals("其他文件")){
+				String finalBiaoJi = biaoJi;
 				materialDefectRecord.getFileOtherList().forEach(att->{
-					if (StringUtils.isNotEmpty(status) && (status.equals("2") || status.equals("5"))){
+					if (StringUtils.isNotEmpty(status) && (status.equals("2") || status.equals("5") || finalBiaoJi.equals("test"))){
 						if (childIdList.contains(att.getId())){
 							ZuZhi child03 = new ZuZhi();
 							child03.setId(att.getId());
@@ -270,6 +280,190 @@ public class ProjectReportDefectRecordController extends BaseController {
 	}
 
 	/**
+	 * 获取组织架构
+	 * @param request
+	 * @return
+	 */
+	@SuppressWarnings("unlikely-arg-type")
+	@RequestMapping(value="/getZuzhi2")
+	@ResponseBody
+	public List<ZuZhi> getZuzhi2(HttpServletRequest request,ProjectMaterialDefectRecord materialDefectRecord) {
+		//查询“配农网”工程类型id
+		String engineeringId = engineeringService.getEngineeringId("202");
+		if (StringUtils.isNotEmpty(materialDefectRecord.getReportId())){
+			materialDefectRecord = projectReportRecordService.getByReportId(materialDefectRecord.getReportId());
+		}
+
+		//获取项目信息
+		RuralProjectRecords ruralProjectRecords = projectRecordsService.getMaterInfo(materialDefectRecord.getReportId());
+		ProjectAccessoryRelationInfo relateInfo = new ProjectAccessoryRelationInfo();
+		//添加项目类型
+		relateInfo.setAttachmentProjectType(ruralProjectRecords.getProjectType());
+		relateInfo.setAttachmentProjectSort(ruralProjectRecords.getAttachmentProjectSort());
+		//判断是否为打包项目,打包项目无需查看项目送审金额是否为500w以上判定
+		String money=ruralProjectRecords.getSubmitMoney();
+		Integer approvalMoney=null;
+		if(StringUtils.isBlank(money)){
+			approvalMoney=1;
+		}else{
+			approvalMoney=Integer.parseInt(money);
+		}
+		switch (approvalMoney){
+			case 0:
+				//金额为0
+				relateInfo.setAttachmentProjectApprovalMoney(null);
+				break;
+			case 1:
+				//500w以下金额状态
+				relateInfo.setAttachmentProjectApprovalMoney("1");
+				break;
+			case 2:
+				//500w以上金额状态
+				relateInfo.setAttachmentProjectApprovalMoney("2");
+				break;
+		}
+
+		//添加报告类型
+		relateInfo.setRequiredStage(2);
+		relateInfo.setId(ruralProjectRecords.getId());
+		List<MainDictDetail> mainDictDetails = projectTemplateService.attachmentTemplateList();
+
+		projectTemplateService.disposeProjectTemplateFile(mainDictDetails,relateInfo,engineeringId,ruralProjectRecords,materialDefectRecord,"");
+
+		//根据reportId获取所有的选择过的树形文件类型数据
+
+		List<String> childIdList = chooseService.getAllChildId(materialDefectRecord.getId());
+
+		//根据id查流程状态
+		String status = chooseService.getStatusById(materialDefectRecord.getId());
+
+		List<ZuZhi> zuList = new ArrayList<>();
+		List<ZuZhi> childList01 = new ArrayList<>();
+		List<ZuZhi> childList02 = new ArrayList<>();
+		List<ZuZhi> childList03 = new ArrayList<>();
+		for (int i=0;i<mainDictDetails.size();i++){
+			ZuZhi zuZhi = new ZuZhi();
+			zuZhi.setId(mainDictDetails.get(i).getValue());
+			zuZhi.setTitle(mainDictDetails.get(i).getLabel());
+			if (mainDictDetails.get(i).getLabel().equals("成果文件")){
+				materialDefectRecord.getFileAttachmentList().forEach(att->{
+					if (StringUtils.isNotEmpty(status)){
+						if (childIdList.contains(att.getId())){
+							ZuZhi child01 = new ZuZhi();
+							child01.setId(att.getId());
+							child01.setTitle(att.getAttachName());
+							zuZhi.setSpread(true);
+							child01.setChecked(true);
+							childList01.add(child01);
+						}
+					} else {
+						ZuZhi child01 = new ZuZhi();
+						child01.setId(att.getId());
+						child01.setTitle(att.getAttachName());
+						if (childIdList.contains(att.getId())){
+							zuZhi.setSpread(true);
+							child01.setChecked(true);
+						}
+						childList01.add(child01);
+					}
+
+				});
+				if (childList01.size()>0){
+					zuZhi.setChildren(childList01);
+				}
+//				zuZhi.setChildren(childList01);
+			}
+			if (mainDictDetails.get(i).getLabel().equals("依据文件")){
+				materialDefectRecord.getFileGistdataList().forEach(att->{
+					if (StringUtils.isNotEmpty(status)){
+						if (childIdList.contains(att.getId())){
+							ZuZhi child02 = new ZuZhi();
+							child02.setId(att.getId());
+							child02.setTitle(att.getAttachName());
+							zuZhi.setSpread(true);
+							child02.setChecked(true);
+							childList02.add(child02);
+						}
+
+					} else {
+						ZuZhi child02 = new ZuZhi();
+						child02.setId(att.getId());
+						child02.setTitle(att.getAttachName());
+						if (childIdList.contains(att.getId())){
+							zuZhi.setSpread(true);
+							child02.setChecked(true);
+						}
+						childList02.add(child02);
+					}
+
+				});
+				if (childList02.size()>0){
+					zuZhi.setChildren(childList02);
+				}
+			}
+			if (mainDictDetails.get(i).getLabel().equals("其他文件")){
+				materialDefectRecord.getFileOtherList().forEach(att->{
+					if (StringUtils.isNotEmpty(status)){
+						if (childIdList.contains(att.getId())){
+							ZuZhi child03 = new ZuZhi();
+							child03.setId(att.getId());
+							child03.setTitle(att.getAttachName());
+							zuZhi.setSpread(true);
+							child03.setChecked(true);
+							childList03.add(child03);
+						}
+					}else {
+						ZuZhi child03 = new ZuZhi();
+						child03.setId(att.getId());
+						child03.setTitle(att.getAttachName());
+						if (childIdList.contains(att.getId())){
+							zuZhi.setSpread(true);
+							child03.setChecked(true);
+						}
+						childList03.add(child03);
+					}
+
+
+				});
+				if (childList03.size()>0){
+					zuZhi.setChildren(childList03);
+				}
+			}
+			if (null != zuZhi.getChildren()){
+				zuList.add(zuZhi);
+			}
+		}
+		return zuList;
+	}
+
+	/**
+	 * 跳转到资料缺失说明页面2
+	 */
+	@RequestMapping(value = "formDescription2")
+	public String formDescription2(ProjectMaterialDefectRecord materialDefectRecord, Model model) throws Exception {
+		//查询“配农网”工程类型id
+		String engineeringId = engineeringService.getEngineeringId("202");
+		if (StringUtils.isBlank(materialDefectRecord.getView()) || !materialDefectRecord.getView().equals("view")){
+			if(StringUtils.isBlank(materialDefectRecord.getId())){
+				materialDefectRecord.setCreateDate(new Date());
+				materialDefectRecord.setCreateBy(UserUtils.getUser());
+			}
+		}
+		//获取项目信息
+		RuralProjectRecords ruralProjectRecords = projectRecordsService.getMaterInfo(materialDefectRecord.getReportId());
+//		materialDefectRecord.setUploadMode(uploadMode);
+		ruralProjectRecords.setUploadMode(uploadMode);
+		ruralProjectRecords.setPmdrReportId(materialDefectRecord.getReportId());
+//		materialDefectRecord.setHiatus(ruralProjectRecords.getHiatus());
+//		materialDefectRecord.setRemarks(ruralProjectRecords.getRemarks());
+
+		model.addAttribute("ruralProjectRecords", ruralProjectRecords);
+//		model.addAttribute("project", materialDefectRecord.getReport().getProject());
+
+		return "modules/ruralprojectrecords/record/cost/projectRecordDescriptionVew2";
+	}
+
+	/**
 	 * 跳转到资料缺失说明页面
 	 */
 	@RequestMapping(value = "formDescription")

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

@@ -159,6 +159,13 @@ public interface RuralProjectMessageDao extends CrudDao<RuralProjectRecords> {
     ProjectMaterialDefectRecord getDeficiencyRemarks(String reportId);
 
     /**
+     * 获取报告详情数据
+     * @param id
+     * @return
+     */
+    ProjectReportData getInfoById(String id);
+
+    /**
      * 查询开票信息
      * @param ruralProjectRecords
      * @return

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

@@ -446,4 +446,11 @@ public interface RuralProjectRecordsDao extends CrudDao<RuralProjectRecords> {
      * @return
      */
     Integer updateProjectBatchArchiveOnOverDue(@Param("id") String id, @Param("status") String status);
+
+    /**
+     * 点击项目名称时,获取资料缺失说明数据
+     * @param id
+     * @return
+     */
+    RuralProjectRecords getMaterInfo(String id);
 }

+ 36 - 0
src/main/java/com/jeeplus/modules/ruralprojectrecords/entity/RuralProjectRecords.java

@@ -36,6 +36,42 @@ public class RuralProjectRecords extends ActEntity<RuralProjectRecords> {
 	private String hiatus;	//短期/永久(0:短期,1:永久)
 	private String pmdrCompanyId;
 	private String pmdrCreateBy;
+	private String pmdrReportId; //资料缺失说明所需
+	private String noArchivedDays; //电子未归档天数
+	private String paperNoArchivedDays; //纸质未归档天数
+	private String twoAuditPassDate; //签发审批通过日期
+
+	public String getTwoAuditPassDate() {
+		return twoAuditPassDate;
+	}
+
+	public void setTwoAuditPassDate(String twoAuditPassDate) {
+		this.twoAuditPassDate = twoAuditPassDate;
+	}
+
+	public String getPaperNoArchivedDays() {
+		return paperNoArchivedDays;
+	}
+
+	public void setPaperNoArchivedDays(String paperNoArchivedDays) {
+		this.paperNoArchivedDays = paperNoArchivedDays;
+	}
+
+	public String getNoArchivedDays() {
+		return noArchivedDays;
+	}
+
+	public void setNoArchivedDays(String noArchivedDays) {
+		this.noArchivedDays = noArchivedDays;
+	}
+
+	public String getPmdrReportId() {
+		return pmdrReportId;
+	}
+
+	public void setPmdrReportId(String pmdrReportId) {
+		this.pmdrReportId = pmdrReportId;
+	}
 
 	public String getPmdrCreateBy() {
 		return pmdrCreateBy;

+ 69 - 1
src/main/java/com/jeeplus/modules/ruralprojectrecords/service/RuralProjectMessageAllService.java

@@ -52,6 +52,7 @@ import org.springframework.transaction.annotation.Transactional;
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
+import java.text.ParseException;
 import java.text.SimpleDateFormat;
 import java.util.*;
 
@@ -236,9 +237,76 @@ public class RuralProjectMessageAllService extends CrudService<RuralProjectMessa
         List<WorkProjectNotify> paperProjectNotifyList = workProjectNotifyService.findList(workProjectNotify);*/
 
 
-
+        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
+        Date date = new Date();
         //查询负责人信息
         for (RuralProjectRecords records : recordsList) {
+
+            //判断是A类还是B类 2是A类1是B类
+            if ("1".equals(records.getSubmitMoney())){
+                //设置电子未归档天数
+                if (null != records.getPrdAuditDate() && 5 != records.getProjectReportRecordStatus()
+                        && 7!= records.getProjectReportRecordStatus()){
+                    try {
+                        Date date2 = format.parse(records.getPrdAuditDate());
+                        Long dateTimeLong = date.getTime();
+                        Long date2TimeLong = date2.getTime();
+                        //计算未归档天数
+                        Long endTime = (dateTimeLong - date2TimeLong)/(24*60*60*1000);
+                        records.setNoArchivedDays(endTime.toString());
+                    } catch (ParseException e) {
+                        e.printStackTrace();
+                    }
+                }
+
+                //设置纸质未归档天数
+                if (null != records.getPrdAuditDate() && 5 != records.getProjectReportRecordStatus()
+                        && 5 != records.getFilingProjectStatus() && 7!= records.getProjectReportRecordStatus()
+                        && 7 != records.getFilingProjectStatus() && 10 != records.getFilingProjectStatus()){
+                    try {
+                        Date date2 = format.parse(records.getPrdAuditDate());
+                        Long dateTimeLong = date.getTime();
+                        Long date2TimeLong = date2.getTime();
+                        //计算未归档天数
+                        Long endTime = (dateTimeLong - date2TimeLong)/(24*60*60*1000);
+                        records.setPaperNoArchivedDays(endTime.toString());
+                    } catch (ParseException e) {
+                        e.printStackTrace();
+                    }
+                }
+            } else if ("2".equals(records.getSubmitMoney())){
+                //设置电子未归档天数
+                if (null != records.getTwoAuditPassDate() && 5 != records.getProjectReportRecordStatus()
+                        && 7!= records.getProjectReportRecordStatus()){
+                    try {
+                        Date date2 = format.parse(records.getTwoAuditPassDate());
+                        Long dateTimeLong = date.getTime();
+                        Long date2TimeLong = date2.getTime();
+                        //计算未归档天数
+                        Long endTime = (dateTimeLong - date2TimeLong)/(24*60*60*1000);
+                        records.setNoArchivedDays(endTime.toString());
+                    } catch (ParseException e) {
+                        e.printStackTrace();
+                    }
+                }
+
+                //设置纸质未归档天数
+                if (null != records.getTwoAuditPassDate() && 5 != records.getProjectReportRecordStatus()
+                        && !"5".equals(records.getPaperFilingStatus()) && 7!= records.getProjectReportRecordStatus() &&
+                        !"7".equals(records.getPaperFilingStatus()) && !"10".equals(records.getPaperFilingStatus())){
+                    try {
+                        Date date2 = format.parse(records.getTwoAuditPassDate());
+                        Long dateTimeLong = date.getTime();
+                        Long date2TimeLong = date2.getTime();
+                        //计算未归档天数
+                        Long endTime = (dateTimeLong - date2TimeLong)/(24*60*60*1000);
+                        records.setPaperNoArchivedDays(endTime.toString());
+                    } catch (ParseException e) {
+                        e.printStackTrace();
+                    }
+                }
+            }
+
             if(null != records.getProjectRecordStatus() && 0 == records.getProjectReportRecordStatus()){
                 records.setProjectReportRecordStatus(records.getProjectRecordStatus());
             }

+ 11 - 2
src/main/java/com/jeeplus/modules/ruralprojectrecords/service/RuralProjectMessageNewService.java

@@ -207,6 +207,15 @@ public class RuralProjectMessageNewService extends CrudService<RuralProjectMessa
 
     private static byte[] SYN_BYTE = new byte[0];
 
+    /**
+     * 获取报告详情数据
+     * @param id
+     * @return
+     */
+    public ProjectReportData getInfoById(String id){
+        return dao.getInfoById(id);
+    }
+
     public RuralProjectRecords get(String id) {
         return super.get(id);
     }
@@ -3291,8 +3300,8 @@ public class RuralProjectMessageNewService extends CrudService<RuralProjectMessa
         //查询项目新增报告信息
         ProjectReportData reportData = projectReportDataService.get(record.getPrdId());
         //启动流程操作
-        String title = "项目【"+ record.getProjectName()+"】资料缺失申请待审批";
-        String str = "项目【"+ record.getProjectName()+"】资料缺失申请待审批";
+        String title = "报告号:" + record.getProjectReportNumber() + "。项目【"+ record.getProjectName()+"】资料缺失申请待审批";
+        String str = "报告号:" + record.getProjectReportNumber() + "。项目【"+ record.getProjectName()+"】资料缺失申请待审批";
         // 用来设置启动流程的人员ID,引擎会自动把用户ID保存到activiti:initiator中
         identityService.setAuthenticatedUserId(user.getId());
         // 启动流程

+ 69 - 1
src/main/java/com/jeeplus/modules/ruralprojectrecords/service/RuralProjectMessageService.java

@@ -94,6 +94,7 @@ import org.springframework.transaction.annotation.Transactional;
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
+import java.text.ParseException;
 import java.text.SimpleDateFormat;
 import java.util.*;
 
@@ -314,9 +315,76 @@ public class RuralProjectMessageService extends CrudService<RuralProjectMessageD
         List<WorkProjectNotify> paperProjectNotifyList = workProjectNotifyService.findList(workProjectNotify);*/
 
 
-
+        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
+        Date date = new Date();
         //查询负责人信息
         for (RuralProjectRecords records : recordsList) {
+
+            //判断是A类还是B类 2是A类1是B类
+            if ("1".equals(records.getSubmitMoney())){
+                //设置电子未归档天数
+                if (null != records.getPrdAuditDate() && 5 != records.getProjectReportRecordStatus()
+                        && 7 != records.getProjectReportRecordStatus()){
+                    try {
+                        Date date2 = format.parse(records.getPrdAuditDate());
+                        Long dateTimeLong = date.getTime();
+                        Long date2TimeLong = date2.getTime();
+                        //计算未归档天数
+                        Long endTime = (dateTimeLong - date2TimeLong)/(24*60*60*1000);
+                        records.setNoArchivedDays(endTime.toString());
+                    } catch (ParseException e) {
+                        e.printStackTrace();
+                    }
+                }
+
+                //设置纸质未归档天数
+                if (null != records.getPrdAuditDate() && 5 != records.getProjectReportRecordStatus()
+                        && 5 != records.getFilingProjectStatus() && 7 != records.getProjectReportRecordStatus()
+                        && 7 != records.getFilingProjectStatus() && 10 != records.getFilingProjectStatus()){
+                    try {
+                        Date date2 = format.parse(records.getPrdAuditDate());
+                        Long dateTimeLong = date.getTime();
+                        Long date2TimeLong = date2.getTime();
+                        //计算未归档天数
+                        Long endTime = (dateTimeLong - date2TimeLong)/(24*60*60*1000);
+                        records.setPaperNoArchivedDays(endTime.toString());
+                    } catch (ParseException e) {
+                        e.printStackTrace();
+                    }
+                }
+            } else if ("2".equals(records.getSubmitMoney())){
+                //设置电子未归档天数
+                if (null != records.getTwoAuditPassDate() && 5 != records.getProjectReportRecordStatus()
+                            && 7!= records.getProjectReportRecordStatus()){
+                    try {
+                        Date date2 = format.parse(records.getTwoAuditPassDate());
+                        Long dateTimeLong = date.getTime();
+                        Long date2TimeLong = date2.getTime();
+                        //计算未归档天数
+                        Long endTime = (dateTimeLong - date2TimeLong)/(24*60*60*1000);
+                        records.setNoArchivedDays(endTime.toString());
+                    } catch (ParseException e) {
+                        e.printStackTrace();
+                    }
+                }
+
+                //设置纸质未归档天数
+                if (null != records.getTwoAuditPassDate() && 5 != records.getProjectReportRecordStatus()
+                        && !"5".equals(records.getPaperFilingStatus()) && 7!= records.getProjectReportRecordStatus() &&
+                        !"7".equals(records.getPaperFilingStatus())&&!"10".equals(records.getPaperFilingStatus())){
+                    try {
+                        Date date2 = format.parse(records.getTwoAuditPassDate());
+                        Long dateTimeLong = date.getTime();
+                        Long date2TimeLong = date2.getTime();
+                        //计算未归档天数
+                        Long endTime = (dateTimeLong - date2TimeLong)/(24*60*60*1000);
+                        records.setPaperNoArchivedDays(endTime.toString());
+                    } catch (ParseException e) {
+                        e.printStackTrace();
+                    }
+                }
+            }
+
             if(null != records.getProjectRecordStatus() && 0 == records.getProjectReportRecordStatus()){
                 records.setProjectReportRecordStatus(records.getProjectRecordStatus());
             }

+ 9 - 2
src/main/java/com/jeeplus/modules/ruralprojectrecords/service/RuralProjectRecordsService.java

@@ -241,6 +241,13 @@ public class RuralProjectRecordsService extends CrudService<RuralProjectRecordsD
 		}
 		return ruralProjectRecords;
 	}
+	public RuralProjectRecords getMaterInfo(String id) {
+		RuralProjectRecords ruralProjectRecords = dao.getMaterInfo(id);
+		if (null !=ruralProjectRecords){
+			ruralProjectRecords.setUploadMode(uploadMode);
+		}
+		return ruralProjectRecords;
+	}
 	public RuralProjectRecords getById(String id) {
 		RuralProjectRecords ruralProjectRecords = dao.getById(id);
 		ruralProjectRecords.setUploadMode(uploadMode);
@@ -3041,7 +3048,7 @@ public class RuralProjectRecordsService extends CrudService<RuralProjectRecordsD
 				Calendar cal2 = Calendar.getInstance();
 				cal2.setTime(new Date());
 				User user = UserUtils.get(defectRecordList.get(i).getPmdrCreateBy());
-				if (cal2.after(cal)){
+				if (cal2.after(cal) || cal2.equals(cal)){
 					WorkProjectNotify workProjectNotify = UtilNotify
 							.saveNotify(defectRecordList.get(i).getPmdrId(),
 									user,
@@ -3069,7 +3076,7 @@ public class RuralProjectRecordsService extends CrudService<RuralProjectRecordsD
 				Calendar cal2 = Calendar.getInstance();
 				cal2.setTime(new Date());
 				User user = UserUtils.get(defectRecordList.get(i).getPmdrCreateBy());
-				if (cal2.after(cal)) {
+				if (cal2.after(cal) || cal2.equals(cal)) {
 					WorkProjectNotify workProjectNotify = UtilNotify
 							.saveNotify(defectRecordList.get(i).getPmdrId(),
 									user,

+ 2 - 0
src/main/java/com/jeeplus/modules/ruralprojectrecords/web/RuralCostProjectMessageController.java

@@ -2042,6 +2042,8 @@ public class RuralCostProjectMessageController extends BaseController {
         if(StringUtils.isNotBlank(reported.getReportId())){
             projectMaterialDefectRecord = ruralProjectMessageService.getDeficiencyRemarks(reported.getReportId());
         }
+        //附件信息
+        projectMaterialDefectRecord.setUploadMode(uploadMode);
         model.addAttribute("projectMaterialDefectRecord", projectMaterialDefectRecord);
         return "modules/workreimbursement/workReimbursementInformationTrack";
     }

+ 4 - 0
src/main/resources/mappings/modules/projectcontentinfo/ProjectReportRecordDao.xml

@@ -429,6 +429,10 @@
 		<include refid="projectReportRecordJoins"/>
 		WHERE a.report_id = #{reportId}
 	</select>
+	<select id="getByReportId"
+			resultType="com.jeeplus.modules.projectcontentinfo.entity.ProjectMaterialDefectRecord">
+		select * from project_material_defect_record where report_id = #{id} and del_flag = 0
+	</select>
 
 
 	<update id="adminModifyRecord">

+ 1 - 0
src/main/resources/mappings/modules/ruralprojectrecords/RuralProjectMessageAllDao.xml

@@ -446,6 +446,7 @@ END) as projectScale*/
 		,ifnull(prdt.status,0) as "projectReportStatusTwo"
 		,prdt.id as prdtId
 		,prdt.process_instance_id as prdtProcessinstanceId
+		,prdt.audit_pass_date as "twoAuditPassDate"
 		,ifnull(pmdr.status,0) as "defectRecordStatus"
 		,pmdr.process_instance_id as "pmdrProcessInstanceId"
 		,pmdr.id as pmdrId

+ 9 - 0
src/main/resources/mappings/modules/ruralprojectrecords/RuralProjectMessageDao.xml

@@ -440,6 +440,7 @@
 		,ifnull(prdt.status,0) as "projectReportStatusTwo"
 		,prdt.id as prdtId
 		,prdt.process_instance_id as prdtProcessinstanceId
+		,prdt.audit_pass_date as "twoAuditPassDate"
 		,ifnull(pmdr.status,0) as "defectRecordStatus"
 		,pmdr.process_instance_id as "pmdrProcessInstanceId"
 		,pmdr.id as pmdrId
@@ -1752,6 +1753,7 @@
 		  office_id as "officeId",
 		  date as "date",
 		  status as "status",
+		  hiatus as "hiatus",
 		  process_instance_id as "processInstanceId"
 		from
 		  project_material_defect_record
@@ -1759,4 +1761,11 @@
 		order by update_date desc
 		limit 1
 	</select>
+	<select id="getInfoById" resultType="com.jeeplus.modules.projectcontentinfo.entity.ProjectReportData">
+		SELECT
+		<include refid="projectReportDataColumns"/>
+		,a.bzshb_user_id as "bzshbUserId"
+		from project_report_data a
+		where a.id = #{id}
+	</select>
 </mapper>

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

@@ -18,7 +18,6 @@
 		a.area_id AS "area.id",
 		a.project_site AS "projectSite",
 		a.project_desc AS "projectDesc",
-		a.remarks AS "remarks",
 		a.status AS "projectStatus",
 		a.process_instance_id AS "processInstanceId",
 		a.company_id AS "company.id",
@@ -213,16 +212,49 @@
 		,a.submit_money as "submitMoney"
 		,a.engineering_type as "engineeringType"
 		,supmi.name as "projectMasterName"
+		,ifnull(pmdr.status,0) as "defectRecordStatus"
         FROM rural_project_records a
         <include refid="projectRecordsJoins"/>
         LEFT JOIN sys_user su ON su.id = a.create_by
         LEFT JOIN sys_user supmi ON supmi.id = a.project_master_id
 		left join project_report_data prd on prd.project_id = a.id
 		LEFT JOIN rural_project_report_record prr on prd.id = prr.report_id
+		LEFT JOIN project_material_defect_record pmdr on prd.id = pmdr.report_id
 		LEFT JOIN sys_office o ON o.id = a.office_id
 		WHERE a.id = #{id}
 	</select>
 
+	<select id="getMaterInfo" resultType="com.jeeplus.modules.ruralprojectrecords.entity.RuralProjectRecords">
+		SELECT
+		<include refid="projectRecordsColumns"/>
+
+		,(SELECT group_concat( su.NAME ) FROM work_project_user wpu LEFT JOIN sys_user su ON su.id = wpu.user_id WHERE wpu.project_id = a.id ) AS "leaderNameStr",
+		(SELECT group_concat( su.id ) FROM work_project_user wpu LEFT JOIN sys_user su ON su.id = wpu.user_id WHERE wpu.project_id = a.id ) AS "leaderNameIds",
+		(select group_concat(office.name) from sys_office office left join sys_user suo on suo.office_id = office.id left join work_project_user wpu ON suo.id = wpu.user_id where wpu.project_id = a.id) AS "officeName"
+		,a.file_num AS "fileNum"
+		,a.check_process_instance_id AS "checkProcessInstanceId"
+		,su.name AS "createBy.name"
+		,o.top_company AS "office.name"
+		,prd.number AS "projectReportNumber"
+		,prd.id AS "prdId"
+		,prr.id As "prrid"
+		,a.project_master_id as "projectMasterId"
+		,a.submit_money as "submitMoney"
+		,a.engineering_type as "engineeringType"
+		,supmi.name as "projectMasterName"
+		,ifnull(pmdr.status,0) as "defectRecordStatus"
+		,pmdr.hiatus as "hiatus"
+		,pmdr.remarks as "remarks"
+		FROM rural_project_records a
+		<include refid="projectRecordsJoins"/>
+		LEFT JOIN sys_user su ON su.id = a.create_by
+		LEFT JOIN sys_user supmi ON supmi.id = a.project_master_id
+		left join project_report_data prd on prd.project_id = a.id
+		left join project_material_defect_record pmdr on pmdr.report_id = prd.id
+		LEFT JOIN rural_project_report_record prr on prd.id = prr.report_id
+		LEFT JOIN sys_office o ON o.id = a.office_id
+		WHERE prd.id = #{id}
+	</select>
 
 	<select id="getByReportNumber" resultType="RuralProjectRecords" >
 		SELECT

+ 34 - 2
src/main/webapp/webpage/modules/ruralprojectrecords/cost/ruralCostProjectMessageList.jsp

@@ -1391,19 +1391,34 @@
 							var xml = "<span style=\"cursor:default;\" class=\"status-label status-label-" + st.label + "\" >" + st.status + "</span>";
 						return xml;
 					}}
-                ,{align:'center', title: '电子',  width:110,templet:function(d){
+                ,{align:'left', title: '电子',  width:110,templet:function(d){
                         var st = getRuralProjectArchiveState(d.projectReportRecordStatus);
 						var de = getdefectRecordState(""+d.defectRecordStatus);
+						var noArchivedDays=d.noArchivedDays;
 						if(st.action){
 							var xml = "<span onclick=\"openDialogView('流程追踪', '${ctx}/ruralProject/ruralCostProjectMessage/getReportRecordProcessOne?id="+d.prrId+"&processInstanceId=" + d.prrProcessInstanceId + "','95%','95%')\" class=\"new-status-label status-label-" + st.label + "\" >" + st.status+ "</span>";
 						} else{
 							var xml = "<span style=\"cursor:default;\" class=\"new-status-label status-label-" + st.label + "\" >" + st.status + "</span>";
 						}
+						if(noArchivedDays != null && noArchivedDays != undefined && '' != noArchivedDays){
+							// return "<font style = 'margin-left: 5px;' class='layui-badge layui-bg-orange'>"+noArchivedDays + '天'+"</font>";
+							xml+="<span style='margin-left: 5px;'>" + noArchivedDays + "天" + "</span>";
+						}else{
+							// return "<font style = 'margin-left: 5px;'class='layui-badge layui-bg-orange'></font>";
+						}
 						if (d.defectRecordStatus>0){
 							xml+="<span onclick=\"openDialogView('流程追踪', '${ctx}/ruralProject/ruralCostProjectMessage/getReportedProcessInformation?processInstanceId=" + d.pmdrProcessInstanceId + "&reportId=" + d.bid + "','95%','95%')\"  style='margin-left: 5px;' class=\"layui-badge layui-bg-orange\">缺</span>";
 						}
                         return xml;
                     }}
+				// ,{align:'center', title: '电子未归档天数',  width:140,templet:function(d){
+				// 		var noArchivedDays=d.noArchivedDays;
+				// 		if(noArchivedDays != null && noArchivedDays != undefined && '' != noArchivedDays){
+				// 			return "<font style = 'font-size:14px;font-weight:500;'>"+noArchivedDays + '天'+"</font>";
+				// 		}else{
+				// 			return "<font style = 'font-size:14px;font-weight:500;'></font>";
+				// 		}
+				// 	}}
 				<%--,{align:'center', title: '资料缺失',  width:90,templet:function(d){--%>
 				<%--		var st = getdefectRecordState(""+d.defectRecordStatus);--%>
 				<%--		if(st.action)--%>
@@ -1412,12 +1427,13 @@
 				<%--			var xml = "<span style=\"cursor:default;\" class=\"status-label status-label-" + st.label + "\" >" + st.status + "</span>";--%>
 				<%--		return xml;--%>
 				<%--	}}--%>
-				,{align:'center', title: '纸质',  width:110,templet:function(d){
+				,{align:'left', title: '纸质',  width:110,templet:function(d){
 						if (d.submitMoney=="1"){
 							var st = getRuralProjectArchiveState(d.downProjectReportRecordStatus);
 						}else if (d.submitMoney=="2"){
 							var st = getRuralProjectArchiveState(d.paperFilingStatus);
 						}
+						var paperNoArchivedDays=d.paperNoArchivedDays;
 						if(st.action){
 							if (d.submitMoney=="1"){
 								var xml = "<span onclick=\"openDialogView('流程追踪', '${ctx}/ruralProject/ruralCostProjectMessage/getReportedProcess?processInstanceId=" + d.prrdProcessInstanceId + "','95%','95%')\" class=\"new-status-label status-label-" + st.label + "\" >" + st.status + "</span>";
@@ -1427,8 +1443,22 @@
 						}else{
 							var xml = "<span style=\"cursor:default;\" class=\"new-status-label status-label-" + st.label + "\" >" + st.status + "</span>";
 						}
+						if(paperNoArchivedDays != null && paperNoArchivedDays != undefined && '' != paperNoArchivedDays){
+							// return "<font style = 'font-size:14px;font-weight:500;'>"+paperNoArchivedDays + '天'+"</font>";
+							xml+="<span style='margin-left: 5px;'>" + paperNoArchivedDays + "天" + "</span>";
+						}else{
+							// return "<font style = 'font-size:14px;font-weight:500;'></font>";
+						}
 						return xml;
 					}}
+				// ,{align:'center', title: '纸质未归档天数',  width:140,templet:function(d){
+				// 		var paperNoArchivedDays=d.paperNoArchivedDays;
+				// 		if(paperNoArchivedDays != null && paperNoArchivedDays != undefined && '' != paperNoArchivedDays){
+				// 			return "<font style = 'font-size:14px;font-weight:500;'>"+paperNoArchivedDays + '天'+"</font>";
+				// 		}else{
+				// 			return "<font style = 'font-size:14px;font-weight:500;'></font>";
+				// 		}
+				// 	}}
 				,{align:'center', title: '上报',  width:110,templet:function(d){
 						var st = getReportedState(d.reportedState);
 						if(st.action)
@@ -1518,6 +1548,8 @@
 					,"newRecordTwoNotifyFlag":"${projectRecords.newRecordTwoNotifyFlag}"
 					,"newRecordNotifyFlag":"${projectRecords.newRecordNotifyFlag}"
 					,"prdAuditDate":"${projectRecords.prdAuditDate}"
+					,"noArchivedDays":"${projectRecords.noArchivedDays}"
+					,"paperNoArchivedDays":"${projectRecords.paperNoArchivedDays}"
 					,"caseProcessId":"${projectRecords.caseProcessId}"
 					,"caseType":"${projectRecords.caseType}"
 					,"caseCreateBy":"${projectRecords.caseCreateBy}"

+ 27 - 5
src/main/webapp/webpage/modules/ruralprojectrecords/record/cost/projectRecordDescriptionForm.jsp

@@ -111,11 +111,27 @@
                 if (obj == 2) {
                     <%--$("#inputForm").attr("action","${ctx}/ruralProject/ruralCostProjectMessageNew/holdSaveRecord");--%>
                 } else {
+                    // if (boolFlag) {
+                    //     var gistdata = $("#file_attachment tr").length;
+                    //     console.log('说明扫描件数量:' + gistdata)
+                    //     if (gistdata === 0) {
+                    //         top.layer.msg("请上传说明扫描件!", {icon: 0});
+                    //         return false;
+                    //     }
+                    // }
+
                     if (boolFlag) {
-                        var gistdata = $("#file_attachment tr").length;
-                        console.log('说明扫描件数量:' + gistdata)
-                        if (gistdata === 0) {
-                            top.layer.msg("请上传说明扫描件!", {icon: 0});
+                        var hiatus1 = document.getElementById('hiatus1').checked
+                        var hiatus2 = document.getElementById('hiatus2').checked
+                        if (hiatus1 === false && hiatus2 === false) {
+                            top.layer.msg("请选择短期/永久!", {icon: 0});
+                            return false;
+                        }
+                    }
+
+                    if (boolFlag) {
+                        if (test.length === 0) {
+                            top.layer.msg("最少选择一个资料缺失文件类型!", {icon: 0});
                             return false;
                         }
                     }
@@ -324,7 +340,7 @@
                 <div class="form-group-label"><h2>资料缺失说明</h2></div>
 
                 <div class="layui-item layui-col-sm6 lw7">
-                    <label class="layui-form-label">短期/永久:</label>
+                    <label class="layui-form-label"><span class="require-item">*</span>短期/永久:</label>
                     <div class="layui-input-block">
                         <input type="radio" title="短期" lay-filter="ext" name="hiatus" id="hiatus1" value="0" <c:if test="${materialDefectRecord.hiatus=='0'}">checked</c:if>>
                         <input type="radio" title="永久" lay-filter="ext" name="hiatus" id="hiatus2" value="1" <c:if test="${materialDefectRecord.hiatus=='1'}">checked</c:if>>
@@ -337,6 +353,12 @@
                                        maxlength="255" class="form-control required"/>
                     </div>
                 </div>
+<%--                <div class="layui-item layui-col-sm12  with-textarea">--%>
+<%--                    <div id="test2" class="demo-tree-more"></div>--%>
+<%--                </div>--%>
+            </div>
+            <div class="form-group layui-row first lw12">
+                <div class="form-group-label"><h2>资料缺失文件类型</h2></div>
                 <div class="layui-item layui-col-sm12  with-textarea">
                     <div id="test2" class="demo-tree-more"></div>
                 </div>

+ 611 - 0
src/main/webapp/webpage/modules/ruralprojectrecords/record/cost/projectRecordDescriptionVew2.jsp

@@ -0,0 +1,611 @@
+<%@ page contentType="text/html;charset=UTF-8" %>
+<%@ include file="/webpage/include/taglib.jsp"%>
+<html>
+<head>
+    <title>合同归档管理</title>
+    <meta name="decorator" content="default"/>
+    <script type="text/javascript" src="${ctxStatic}/layui/layui.js"></script>
+    <link rel='stylesheet' type="text/css" href="${ctxStatic}/layui/css/layui.css"/>
+    <link href="${ctxStatic}/layer-v2.3/layui/tableTree/treetable.css" rel="stylesheet" />
+    <link rel='stylesheet' type="text/css" href="${ctxStatic}/common/css/style.css"/>
+    <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 type="text/javascript" src="${ctxStatic}/layui/layuidown.js"></script>
+    <%@include file="/webpage/include/treetable.jsp" %>
+    <script type="text/javascript">
+
+        layui.use(['tree', 'util'], function() {
+            var reportId = "${ruralProjectRecords.pmdrReportId}"
+            console.log('reportId', reportId)
+            let re = [];
+            $.ajax({
+                //几个参数需要注意一下
+                type: "post",//方法类型
+                dataType: "json",//预期服务器返回的数据类型
+                url: '${ctx}/projectReportDefectRecord/projectReportDefectRecord/getZuzhi2',
+                data: {"reportId": reportId},
+                success: function (result) {
+                    console.log('result', result)
+                    re=result;
+                    // var tree = layui.tree;
+                    // var util = layui.util
+                    var tree = layui.tree
+                        , layer = layui.layer
+                        , util = layui.util
+                        , data = re
+                    // , data = [{
+                    // id: 1,
+                    // title: '成果文件'
+                    // , children: re}]
+                    console.log('tree', tree)
+                    tree.render({
+                        elem: '#test2'
+                        ,data: data
+                        ,showCheckbox: false  //是否显示复选框
+                        ,id: 'demoId1'
+                        ,isJump: false //是否允许点击节点时弹出新窗口跳转
+                    });
+                },
+                error : function(e) {
+                    alert("发生未知错误!");
+                }
+            });
+        });
+
+        $(document).ready(function() {
+            $("#upTable").treeTable({expandLevel : 5},{ expandable: true });
+            $("#gistdata_upTable").treeTable({expandLevel : 5},{ expandable: true });
+            $("#upTable_other").treeTable({expandLevel : 5},{ expandable: true });
+            validateForm = $("#inputForm").validate({
+                submitHandler: function(form){
+                    loading('正在提交,请稍等...');
+                    form.submit();
+                },
+                errorContainer: "#messageBox",
+                errorPlacement: function(error, element) {
+                    $("#messageBox").text("输入有误,请先更正。");
+                    if (element.is(":checkbox")||element.is(":radio")||element.parent().is(".input-append")){
+                        error.appendTo(element.parent().parent());
+                    } else {
+                        error.insertAfter(element);
+                    }
+                }
+            });
+            $(".tabMove").mouseover(function(){
+                //tips层-下
+                var td=$(this)
+                var tdval=$(this).find("input").val();
+                layer.tips(tdval, td, {
+                    tips: 3
+                });
+            })
+
+            $(".list-tabs li").click(function(){
+                $(".list-tabs li").each(function(){
+                    $(this).removeAttr("class","active");
+                    var id='#'+$(this).find("span").html();
+                    $(id).attr("class","hide");
+                })
+                $(this).attr("class","active");
+                var id='#'+$(this).find("span").html();
+                $(id).removeAttr("class","hide");
+
+            })
+        });
+    </script>
+</head>
+<body>
+<div class="single-form view-form">
+    <div class="tapfixed">
+        <div class="list-form-tab contentShadow shadowLTR" id="tabDiv">
+            <ul class="list-tabs" >
+                <li><a href="${ctx}/ruralProject/ruralProjectView/view?id=${ruralProjectRecords.id}">项目详情</a></li>
+                <li><a href="${ctx}/ruralProject/ruralProjectView/list?parentProId=${ruralProjectRecords.id}&projectType=${ruralProjectRecords.projectType}">子项目列表</a></li>
+                <li><a href="${ctx}/ruralProject/ruralProjectView/workContractView?id=${ruralProjectRecords.workContractInfo.id}&projectId=${ruralProjectRecords.id}">客户合同详情</a></li>
+                <li><a href="${ctx}/ruralProject/ruralProjectView/planView?id=${ruralProjectRecords.id}">项目计划信息</a></li>
+                <li><a href="${ctx}/ruralProject/ruralProjectView/modify?projectId=${ruralProjectRecords.id}">质量复核信息</a></li>
+                <c:if test="${ruralProjectRecords.submitMoney eq '2'}">
+                    <li><a href="${ctx}/ruralProject/ruralProjectView/reportIssue?projectId=${ruralProjectRecords.id}">报告签发信息</a></li>
+                </c:if>
+                <li><a href="${ctx}/ruralProject/ruralProjectView/getAccessoryView?id=${ruralProjectRecords.id}">档案信息</a></li>
+                <li><a href="${ctx}/ruralProject/ruralProjectView/formRecordModify?id=${ruralProjectRecords.id}">线上归档信息</a></li>
+                <li><a href="${ctx}/ruralProject/ruralProjectView/paperView?projectId=${ruralProjectRecords.id}&submitMoney=${ruralProjectRecords.submitMoney}">纸质归档信息</a></li>
+                <li><a href="${ctx}/ruralProject/ruralProjectView/getReportedView?projectId=${ruralProjectRecords.id}&id=${reportedId}">上报信息</a></li>
+                <li class="active"><a href="${ctx}/projectReportDefectRecord/projectReportDefectRecord/formDescription2?reportId=${ruralProjectRecords.prdId}">资料缺失说明</a></li>
+            </ul>
+        </div>
+    </div>
+    <div class="container view-form" style="margin-top: 50px;">
+        <form:form id="inputForm" modelAttribute="ruralProjectRecords" method="post"
+                   class="form-horizontal layui-form">
+            <form:hidden path="id"/>
+<%--            <form:hidden path="numberCount"/>--%>
+<%--            <form:hidden id="reportId" path="report.id"/>--%>
+<%--            <form:hidden path="report.name"/>--%>
+<%--            <form:hidden path="report.project.id"/>--%>
+            <form:hidden path="view"/>
+
+            <div class="form-group layui-row first lw12">
+                <div class="form-group-label"><h2>资料缺失说明</h2></div>
+
+                <div class="layui-item layui-col-sm6 lw7">
+                    <label class="layui-form-label"><span class="require-item">*</span>短期/永久:</label>
+                    <div class="layui-input-block">
+                        <input type="radio" title="短期" disabled lay-filter="ext" name="hiatus" id="hiatus1" value="0" <c:if test="${ruralProjectRecords.hiatus=='0'}">checked</c:if>>
+                        <input type="radio" title="永久" disabled lay-filter="ext" name="hiatus" id="hiatus2" value="1" <c:if test="${ruralProjectRecords.hiatus=='1'}">checked</c:if>>
+                    </div>
+                </div>
+                <div class="layui-item layui-col-sm12  with-textarea">
+                    <label class="layui-form-label"><span class="require-item">*</span>资料缺失说明:</label>
+                    <div class="layui-input-block">
+                        <form:textarea placeholder="请输入资料缺失说明:" readonly="true" path="remarks" htmlEscape="false" rows="8"
+                                       maxlength="255" class="form-control required"/>
+                    </div>
+                </div>
+<%--                <div class="layui-item layui-col-sm12  with-textarea">--%>
+<%--                    <div id="test2" class="demo-tree-more"></div>--%>
+<%--                </div>--%>
+            </div>
+            <div class="form-group layui-row first lw12">
+                <div class="form-group-label"><h2>资料缺失文件类型</h2></div>
+                <div class="layui-item layui-col-sm12  with-textarea">
+                    <div id="test2" class="demo-tree-more"></div>
+                </div>
+            </div>
+            <input id="zuZhiList" name="zuZhiList" htmlEscape="false" readonly="true" style="display: none"/>
+            <div class="form-group layui-row">
+                <div class="form-group-label"><h2>说明扫描件</h2></div>
+                <div class="layui-item nav-btns">
+                    <a id="attachment_btn" class="nav-btn nav-btn-add" title="添加附件"><i class="fa fa-plus"></i>&nbsp;添加附件</a>
+                        <%--<sys:collectSelect  id="linkman" url="${ctx}/workclientinfo/workClientInfo/linkmanList"
+                                            name="linkman.id"  title="选择资料库"
+                                            cssClass="form-control judgment" fieldLabels="资料库" fieldKeys="name"
+                                            searchLabel="资料库" searchKey="fileName"></sys:collectSelect>--%>
+                </div>
+                <div id="addFile_attachment" style="display: none" class="upload-progress">
+                    <span id="fileName_attachment"></span>
+                    <b><span id="baifenbi_attachment"></span></b>
+                    <div class="progress">
+                        <div id="jindutiao_attachment" class="progress-bar" style="width: 0%" aria-valuenow="0">
+                        </div>
+                    </div>
+                </div>
+                <input id="attachment_file" type="file" name="attachment_file" multiple="multiple"
+                       style="display: none;" onChange="if(this.value)insertTitle(this.value);"/>
+                <span id="attachment_title"></span>
+                <div class="layui-item layui-col-xs12" style="padding:0 16px;">
+                    <table id="listAttachment" class="table table-bordered table-condensed details">
+                        <thead>
+                        <tr>
+                                <%-- <th>序号</th>--%>
+                            <th>文件预览</th>
+                            <th>上传人</th>
+                            <th>上传时间</th>
+                            <th width="200px">操作</th>
+                        </tr>
+                        </thead>
+                        <tbody id="file_attachment">
+                        <c:forEach items="${ruralProjectRecords.workAttachments}" var="workClientAttachment"
+                                   varStatus="status">
+                            <tr>
+
+                                    <%-- <td>${status.index + 1}</td>--%>
+                                <c:choose>
+                                    <c:when test="${ruralProjectRecords.uploadMode == 2}">
+                                        <c:choose>
+                                            <c:when test="${fn:containsIgnoreCase(workClientAttachment.attachmentName,'jpg')
+                                                           or fn:containsIgnoreCase(workClientAttachment.attachmentName,'png')
+                                                           or fn:containsIgnoreCase(workClientAttachment.attachmentName,'gif')
+                                                           or fn:containsIgnoreCase(workClientAttachment.attachmentName,'bmp')
+                                                           or fn:containsIgnoreCase(workClientAttachment.attachmentName,'jpeg')}">
+                                                <td><img src="${workClientAttachment.temporaryUrl}" width="50" height="50" onclick="openDialogView('预览','${ctx}/sys/picturepreview/picturePreview?url=${workClientAttachment.temporaryUrl}','90%','90%')" alt="${workClientAttachment.attachmentName}">
+                                            </c:when>
+                                            <c:otherwise>
+                                                <c:choose>
+                                                    <c:when test="${fn:containsIgnoreCase(workClientAttachment.attachmentName,'pdf')}">
+                                                        <td><a class="attention-info" href="javascript:void(0)"
+                                                               onclick="openPreview('${workClientAttachment.temporaryUrl}',1)">${workClientAttachment.attachmentName}</a>
+                                                        </td>
+                                                    </c:when>
+                                                    <c:otherwise>
+                                                        <c:choose>
+                                                            <c:when test="${fn:containsIgnoreCase(workClientAttachment.attachmentName,'rar')
+                                                       or fn:containsIgnoreCase(workClientAttachment.attachmentName,'zip')
+                                                       or fn:containsIgnoreCase(workClientAttachment.attachmentName,'jar')
+                                                       or fn:containsIgnoreCase(workClientAttachment.attachmentName,'7z')}">
+                                                                <td><a class="attention-info" href="javascript:void(0)"
+                                                                       onclick="openPreview('${workClientAttachment.temporaryUrl}',3)">${workClientAttachment.attachmentName}</a>
+                                                                </td>
+                                                            </c:when>
+                                                            <c:otherwise>
+                                                                <td><a class="attention-info" href="javascript:void(0)"
+                                                                       onclick="openPreview('${workClientAttachment.temporaryUrl}',2)">${workClientAttachment.attachmentName}</a>
+                                                                </td>
+                                                            </c:otherwise>
+                                                        </c:choose>
+                                                    </c:otherwise>
+                                                </c:choose>
+                                            </c:otherwise>
+                                        </c:choose>
+                                    </c:when>
+                                    <c:otherwise>
+                                        <c:choose>
+                                            <c:when test="${fn:containsIgnoreCase(workClientAttachment.attachmentName,'jpg')
+                                                           or fn:containsIgnoreCase(workClientAttachment.attachmentName,'png')
+                                                           or fn:containsIgnoreCase(workClientAttachment.attachmentName,'gif')
+                                                           or fn:containsIgnoreCase(workClientAttachment.attachmentName,'bmp')
+                                                           or fn:containsIgnoreCase(workClientAttachment.attachmentName,'jpeg')}">
+                                                <td><img src="${workClientAttachment.url}" width="50" height="50" onclick="openDialogView('预览','${ctx}/sys/picturepreview/picturePreview?url=${workClientAttachment.url}','90%','90%')" alt="${workClientAttachment.attachmentName}">
+                                            </c:when>
+                                            <c:otherwise>
+                                                <c:choose>
+                                                    <c:when test="${fn:containsIgnoreCase(workClientAttachment.attachmentName,'pdf')}">
+                                                        <td><a class="attention-info" href="javascript:void(0)"
+                                                               onclick="openPreview('${workClientAttachment.url}',1)">${workClientAttachment.attachmentName}</a>
+                                                        </td>
+                                                    </c:when>
+                                                    <c:otherwise>
+                                                        <c:choose>
+                                                            <c:when test="${ruralProjectRecords.uploadMode == 2}">
+                                                                <c:choose>
+                                                                    <c:when test="${fn:containsIgnoreCase(workClientAttachment.attachmentName,'jpg')
+                                       or fn:containsIgnoreCase(workClientAttachment.attachmentName,'png')
+                                       or fn:containsIgnoreCase(workClientAttachment.attachmentName,'gif')
+                                       or fn:containsIgnoreCase(workClientAttachment.attachmentName,'bmp')
+                                       or fn:containsIgnoreCase(workClientAttachment.attachmentName,'jpeg')}">
+                                                                        <td><img src="${workClientAttachment.temporaryUrl}" width="50" height="50" onclick="openDialogView('预览','${ctx}/sys/picturepreview/picturePreview?url=${workClientAttachment.temporaryUrl}','90%','90%')" alt="${workClientAttachment.attachmentName}">
+                                                                    </c:when>
+                                                                    <c:otherwise>
+                                                                        <c:choose>
+                                                                            <c:when test="${fn:containsIgnoreCase(workClientAttachment.attachmentName,'pdf')}">
+                                                                                <td><a class="attention-info"
+                                                                                       href="javascript:void(0)"
+                                                                                       onclick="openPreview('${workClientAttachment.temporaryUrl}',1)">${workClientAttachment.attachmentName}</a>
+                                                                                </td>
+                                                                            </c:when>
+                                                                            <c:otherwise>
+                                                                                <c:choose>
+                                                                                    <c:when test="${fn:containsIgnoreCase(workClientAttachment.attachmentName,'rar')
+                                                       or fn:containsIgnoreCase(workClientAttachment.attachmentName,'zip')
+                                                       or fn:containsIgnoreCase(workClientAttachment.attachmentName,'jar')
+                                                       or fn:containsIgnoreCase(workClientAttachment.attachmentName,'7z')}">
+                                                                                        <td><a class="attention-info"
+                                                                                               href="javascript:void(0)"
+                                                                                               onclick="openPreview('${workClientAttachment.temporaryUrl}',3)">${workClientAttachment.attachmentName}</a>
+                                                                                        </td>
+                                                                                    </c:when>
+                                                                                    <c:otherwise>
+                                                                                        <td><a class="attention-info"
+                                                                                               href="javascript:void(0)"
+                                                                                               onclick="openPreview('${workClientAttachment.temporaryUrl}',2)">${workClientAttachment.attachmentName}</a>
+                                                                                        </td>
+                                                                                    </c:otherwise>
+                                                                                </c:choose>
+                                                                            </c:otherwise>
+                                                                        </c:choose>
+                                                                    </c:otherwise>
+                                                                </c:choose>
+                                                            </c:when>
+                                                            <c:otherwise>
+                                                                <c:choose>
+                                                                    <c:when test="${fn:containsIgnoreCase(workClientAttachment.attachmentName,'jpg')
+                                                   or fn:containsIgnoreCase(workClientAttachment.attachmentName,'png')
+                                                   or fn:containsIgnoreCase(workClientAttachment.attachmentName,'gif')
+                                                   or fn:containsIgnoreCase(workClientAttachment.attachmentName,'bmp')
+                                                   or fn:containsIgnoreCase(workClientAttachment.attachmentName,'jpeg')}">
+                                                                        <td><img src="${workClientAttachment.url}" width="50" height="50" onclick="openDialogView('预览','${ctx}/sys/picturepreview/picturePreview?url=${workClientAttachment.url}','90%','90%')" alt="${workClientAttachment.attachmentName}">
+                                                                    </c:when>
+                                                                    <c:otherwise>
+                                                                        <c:choose>
+                                                                            <c:when test="${fn:containsIgnoreCase(workClientAttachment.attachmentName,'pdf')}">
+                                                                                <td><a href="javascript:void(0)"
+                                                                                       onclick="openPreview('${workClientAttachment.url}',1)">${workClientAttachment.attachmentName}</a>
+                                                                                </td>
+                                                                            </c:when>
+                                                                            <c:otherwise>
+                                                                                <c:choose>
+                                                                                    <c:when test="${fn:containsIgnoreCase(workClientAttachment.attachmentName,'rar')
+                                                       or fn:containsIgnoreCase(workClientAttachment.attachmentName,'zip')
+                                                       or fn:containsIgnoreCase(workClientAttachment.attachmentName,'jar')
+                                                       or fn:containsIgnoreCase(workClientAttachment.attachmentName,'7z')}">
+                                                                                        <td><a class="attention-info"
+                                                                                               href="javascript:void(0)"
+                                                                                               onclick="openPreview('${workClientAttachment.url}',3)">${workClientAttachment.attachmentName}</a>
+                                                                                        </td>
+                                                                                    </c:when>
+                                                                                    <c:otherwise>
+                                                                                        <td><a class="attention-info"
+                                                                                               href="javascript:void(0)"
+                                                                                               onclick="openPreview('${workClientAttachment.url}',2)">${workClientAttachment.attachmentName}</a>
+                                                                                        </td>
+                                                                                    </c:otherwise>
+                                                                                </c:choose>
+                                                                            </c:otherwise>
+                                                                        </c:choose>
+                                                                    </c:otherwise>
+                                                                </c:choose>
+                                                            </c:otherwise>
+                                                        </c:choose>
+                                                    </c:otherwise>
+                                                </c:choose>
+                                            </c:otherwise>
+                                        </c:choose>
+                                    </c:otherwise>
+                                </c:choose>
+
+                                <td>${workClientAttachment.createBy.name}</td>
+                                <td><fmt:formatDate value="${workClientAttachment.createDate}" type="both"/></td>
+                                <td class="op-td">
+                                    <div class="op-btn-box">
+                                            <%--附件下载删除--%>
+                                        <c:choose>
+                                            <c:when test="${ruralProjectRecords.uploadMode == 2}">
+                                                <c:choose>
+                                                    <c:when test="${fn:containsIgnoreCase(workClientAttachment.attachmentName,'pdf')}">
+                                                        <a href="${workClientAttachment.temporaryUrl}" target="_blank"
+                                                           class="op-btn op-btn-download"><i class="fa fa-download"></i>&nbsp;下载</a>
+                                                    </c:when>
+                                                    <c:otherwise>
+                                                        <a href="${workClientAttachment.temporaryUrl}"
+                                                           class="op-btn op-btn-download"><i class="fa fa-download"></i>&nbsp;下载</a>
+                                                    </c:otherwise>
+                                                </c:choose>
+                                            </c:when>
+                                            <c:otherwise>
+                                                <a href="javascript:location.href='${ctx}/workfullmanage/workFullManage/downLoadAttach?file='+encodeURIComponent('${workClientAttachment.url}');"
+                                                   class="op-btn op-btn-download"><i class="fa fa-download"></i>&nbsp;下载</a>
+                                            </c:otherwise>
+                                        </c:choose>
+                                        <c:if test="${workClientAttachment.collectFlag != 1}">
+                                            <a href="javascript:void(0)"
+                                               onclick="collectingAccessory(this,'${ctx}/projectAccessory/projectAccessory/saveCollectAccessory','${workClientAttachment.url}','${workClientAttachment.createBy.id}','${workClientAttachment.fileSize}')"
+                                               class="op-btn op-btn-delete" style="background-color: #FFB800"><i
+                                                    class="layui-icon layui-icon-rate"></i>&nbsp;收藏</a>
+                                        </c:if>
+                                        <c:if test="${workClientAttachment.createBy.id eq fns:getUser().id}">
+                                            <a href="javascript:void(0)"
+                                               onclick="deleteFileFromAliyun(this,'${ctx}/sys/workattachment/deleteFileFromAliyun?url=${workClientAttachment.url}&id=${workClientAttachment.id}&type=2','addFile_attachment','_attachment')"
+                                               class="op-btn op-btn-delete"><i class="fa fa-trash"></i>&nbsp;删除</a>
+                                        </c:if>
+
+                                    </div>
+                                </td>
+                            </tr>
+                        </c:forEach>
+                        </tbody>
+                    </table>
+                </div>
+            </div>
+        </form:form>
+    </div>
+</div>
+<script>
+    function f1(row) {
+        // window.parent.document.getElementById('opinion').value = row;
+        $("#opinion").val(row)
+    }
+    function openDialogre(title,url,width,height,target,buttons) {
+        if (navigator.userAgent.match(/(iPhone|iPod|Android|ios)/i)) {//如果是移动端,就使用自适应大小弹窗
+            width = 'auto';
+            height = 'auto';
+        } else {//如果是PC端,根据用户设置的width和height显示。
+        }
+        var split = buttons.split(",");
+        top.layer.open({
+            type: 2,
+            area: [width, height],
+            title: title,
+            maxmin: true, //开启最大化最小化按钮
+            skin: 'three-btns',
+            content: url,
+            btn: split,
+            btn1: function(index, layero){
+                top.layer.close(index)
+                document.getElementById('iframe').contentWindow.location.reload();
+            }
+        });
+    }
+    function openBill3(title,url,width,height,target,formId,tableId){
+        var rows = $(this).parent().prevAll().length + 1;
+        var frameIndex = parent.layer.getFrameIndex(window.name);
+        var urls = url+"&index="+frameIndex;
+        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:"two-btns",
+            maxmin: false, //开启最大化最小化按钮
+            content: urls ,
+            btn: ['确定','关闭'],
+            yes: 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中展示
+                inputForm.attr("action","${ctx}/projectAccessory/projectAccessory/saveWorkAttachment");//表单提交成功后,从服务器返回的url在当前tab中展示
+                var $document = iframeWin.contentWindow.document;
+
+                formSubmit3($document,formId,index,tableId);
+
+            },
+            cancel: function(index){
+            }
+        });
+    }
+    function formSubmit3($document,inputForm,index,tableId){
+
+        var validateForm = $($document.getElementById(inputForm)).validate({
+            submitHandler: function(form){
+                loading('正在提交,请稍等...');
+                form.submit();
+            },
+            errorContainer: "#messageBox",
+            errorPlacement: function(error, element) {
+                $($document.getElementById("#messageBox")).text("输入有误,请先更正。");
+                if (element.is(":checkbox")||element.is(":radio")||element.parent().is(".input-append")){
+                    error.appendTo(element.parent().parent());
+                } else {
+                    error.insertAfter(element);
+                }
+            }
+        });
+        if(validateForm.form()){
+            $($document.getElementById(inputForm)).ajaxSubmit({
+                success:function(data) {
+                    var d = data;
+                    //输出提示信息
+                    if(d.str.length>0){
+                        parent.layer.msg(d.str,{icon:1});
+                    }
+                    //$("#"+tableId).load(location.href + " #"+tableId);
+                    //关闭当前页
+                    top.layer.close(index)
+                    location.reload();
+                }
+            });
+        }
+    }
+
+    function formAttachment(title,url,width,height,target,formId){
+        var rows = $(this).parent().prevAll().length + 1;
+        var frameIndex = parent.layer.getFrameIndex(window.name);
+        var urls = url;
+        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:"two-btns",
+            maxmin: false, //开启最大化最小化按钮
+            content: urls ,
+            btn: ['确定','关闭'],
+            yes: 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中展示
+                inputForm.attr("action","${ctx}/projectAccessory/projectAccessory/saveWorkAttachment");//表单提交成功后,从服务器返回的url在当前tab中展示
+                var $document = iframeWin.contentWindow.document;
+                var iframeWin = layero.find('iframe')[0].contentWindow; //得到iframe页的窗口对象,执行iframe页的方法:iframeWin.method();
+                var item = iframeWin.getSelectedItem();
+                setValuee(item);
+
+            },
+            cancel: function(index){
+            }
+        });
+    }
+    function setValuee(obj){
+        for(var i=0;i<obj.length;i++){
+            var idArr = $("#file_attachment tr:visible .clientId");
+            if(obj[i].id!=''&&!hasInArr(obj[i].id,idArr)){
+                addRowBaseData("#workBaseDataList",workBaseDataRowIdx,workBaseDataTpl,obj[i]);
+                $("#workBaseDataList"+workBaseDataRowIdx+"_nature").html("引用");
+                workBaseDataRowIdx=workBaseDataRowIdx+1;
+            }
+        }
+    }
+</script>
+<script>
+    layui.use(['form', 'layer'], function () {
+        var form = layui.form;
+    });
+
+    function openBill2(title,url,width,height,target,formId){
+        var rows = $(this).parent().prevAll().length + 1;
+        var frameIndex = parent.layer.getFrameIndex(window.name);
+        var urls = url+"&index="+frameIndex;
+        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:"two-btns",
+            maxmin: false, //开启最大化最小化按钮
+            content: urls ,
+            btn: ['确定','关闭'],
+            yes: 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中展示
+                inputForm.attr("action","${ctx}/projectAccessory/projectAccessory/saveWorkAttachment");//表单提交成功后,从服务器返回的url在当前tab中展示
+                var $document = iframeWin.contentWindow.document;
+
+                formSubmit2($document,formId,index);
+
+            },
+            cancel: function(index){
+            }
+        });
+    }
+    function formSubmit2($document,inputForm,index){
+
+        var validateForm = $($document.getElementById(inputForm)).validate({
+            submitHandler: function(form){
+                loading('正在提交,请稍等...');
+                form.submit();
+            },
+            errorContainer: "#messageBox",
+            errorPlacement: function(error, element) {
+                $($document.getElementById("#messageBox")).text("输入有误,请先更正。");
+                if (element.is(":checkbox")||element.is(":radio")||element.parent().is(".input-append")){
+                    error.appendTo(element.parent().parent());
+                } else {
+                    error.insertAfter(element);
+                }
+            }
+        });
+        if(validateForm.form()){
+            $($document.getElementById(inputForm)).ajaxSubmit({
+                success:function(data) {
+                    var d = data;
+                    //调用layui.use中的renderTable()方法刷新列表
+                    renderTable()
+                    //输出提示信息
+                    if(d.str.length>0){
+                        parent.layer.msg(d.str,{icon:1});
+                    }
+                    //关闭当前页
+                    top.layer.close(index)
+                }
+            });
+        }
+    }
+</script>
+</body>
+</html>

+ 7 - 1
src/main/webapp/webpage/modules/ruralprojectrecords/record/projectRepordDescriptionAudit.jsp

@@ -472,7 +472,7 @@
 					<div class="form-group layui-row first lw12">
 						<div class="form-group-label"><h2>资料缺失说明</h2></div>
 						<div class="layui-item layui-col-sm6 lw7">
-							<label class="layui-form-label">短期/永久:</label>
+							<label class="layui-form-label"><span class="require-item">*</span>短期/永久:</label>
 							<div class="layui-input-block">
 								<input type="radio" title="短期" lay-filter="ext" disabled name="hiatus" id="hiatus1" value="0" <c:if test="${materialDefectRecord.hiatus=='0'}">checked</c:if>>
 								<input type="radio" title="永久" lay-filter="ext" disabled name="hiatus" id="hiatus2" value="1" <c:if test="${materialDefectRecord.hiatus=='1'}">checked</c:if>>
@@ -487,6 +487,12 @@
 <%--						<div class="layui-item layui-col-sm12  with-textarea">--%>
 <%--							<form:textarea placeholder="请输入资料缺失说明:" path="remarks" readonly="true" htmlEscape="false" rows="8" maxlength="255" class="form-control required"/>--%>
 <%--						</div>--%>
+<%--						<div class="layui-item layui-col-sm12  with-textarea">--%>
+<%--							<div id="test2" class="demo-tree-more"></div>--%>
+<%--						</div>--%>
+					</div>
+					<div class="form-group layui-row first lw12">
+						<div class="form-group-label"><h2>资料缺失文件类型</h2></div>
 						<div class="layui-item layui-col-sm12  with-textarea">
 							<div id="test2" class="demo-tree-more"></div>
 						</div>

+ 29 - 7
src/main/webapp/webpage/modules/ruralprojectrecords/record/projectRepordDescriptionModify.jsp

@@ -83,13 +83,29 @@
             if(validateForm.form()){
 				var projectId = '${project.id}';
 				var boolFlag = true;
+				// if (boolFlag) {
+				//     var gistdata = $("#file_attachment tr").length;
+				//     console.log('说明扫描件数量:' + gistdata)
+				//     if (gistdata === 0) {
+				//         top.layer.msg("请上传说明扫描件!", {icon: 0});
+				//         return false;
+				//     }
+				// }
+
+				if (boolFlag) {
+					var hiatus1 = document.getElementById('hiatus1').checked
+					var hiatus2 = document.getElementById('hiatus2').checked
+					if (hiatus1 === false && hiatus2 === false) {
+						top.layer.msg("请选择短期/永久!", {icon: 0});
+						return false;
+					}
+				}
+
 				if (boolFlag) {
-				    var gistdata = $("#file_attachment tr").length;
-				    console.log('说明扫描件数量:' + gistdata)
-				    if (gistdata === 0) {
-				        top.layer.msg("请上传说明扫描件!", {icon: 0});
-				        return false;
-				    }
+					if (test.length === 0) {
+						top.layer.msg("最少选择一个资料缺失文件类型!", {icon: 0});
+						return false;
+					}
 				}
 
 				// var leng = $("#file_attachment tr").length;
@@ -313,7 +329,7 @@
 				<div class="form-group-label"><h2>资料缺失说明</h2></div>
 
 				<div class="layui-item layui-col-sm6 lw7">
-					<label class="layui-form-label">短期/永久:</label>
+					<label class="layui-form-label"><span class="require-item">*</span>短期/永久:</label>
 					<div class="layui-input-block">
 						<input type="radio" title="短期" lay-filter="ext" name="hiatus" id="hiatus1" value="0" <c:if test="${materialDefectRecord.hiatus=='0'}">checked</c:if>>
 						<input type="radio" title="永久" lay-filter="ext" name="hiatus" id="hiatus2" value="1" <c:if test="${materialDefectRecord.hiatus=='1'}">checked</c:if>>
@@ -326,6 +342,12 @@
 									   maxlength="255" class="form-control required"/>
 					</div>
 				</div>
+<%--				<div class="layui-item layui-col-sm12  with-textarea">--%>
+<%--					<div id="test2" class="demo-tree-more"></div>--%>
+<%--				</div>--%>
+			</div>
+			<div class="form-group layui-row first lw12">
+				<div class="form-group-label"><h2>资料缺失文件类型</h2></div>
 				<div class="layui-item layui-col-sm12  with-textarea">
 					<div id="test2" class="demo-tree-more"></div>
 				</div>

+ 9 - 3
src/main/webapp/webpage/modules/ruralprojectrecords/record/projectRepordDescriptionView.jsp

@@ -440,17 +440,23 @@
 								<div class="layui-item layui-col-sm6 lw7">
 									<label class="layui-form-label">短期/永久:</label>
 									<div class="layui-input-block">
-										<input type="radio" title="短期" lay-filter="ext" name="hiatus" id="hiatus1" value="0" <c:if test="${materialDefectRecord.hiatus=='0'}">checked</c:if>>
-										<input type="radio" title="永久" lay-filter="ext" name="hiatus" id="hiatus2" value="1" <c:if test="${materialDefectRecord.hiatus=='1'}">checked</c:if>>
+										<input type="radio" title="短期" lay-filter="ext" disabled name="hiatus" id="hiatus1" value="0" <c:if test="${materialDefectRecord.hiatus=='0'}">checked</c:if>>
+										<input type="radio" title="永久" lay-filter="ext" disabled name="hiatus" id="hiatus2" value="1" <c:if test="${materialDefectRecord.hiatus=='1'}">checked</c:if>>
 									</div>
 								</div>
 								<div class="layui-item layui-col-sm12  with-textarea">
 									<label class="layui-form-label">资料缺失说明:</label>
 									<div class="layui-input-block">
-										<form:textarea placeholder="请输入资料缺失说明:" path="remarks" htmlEscape="false" rows="8"
+										<form:textarea placeholder="请输入资料缺失说明:" readonly="true" path="remarks" htmlEscape="false" rows="8"
 													   maxlength="255" class="form-control required"/>
 									</div>
 								</div>
+<%--								<div class="layui-item layui-col-sm12  with-textarea">--%>
+<%--									<div id="test2" class="demo-tree-more"></div>--%>
+<%--								</div>--%>
+							</div>
+							<div class="form-group layui-row first lw12">
+								<div class="form-group-label"><h2>资料缺失文件类型</h2></div>
 								<div class="layui-item layui-col-sm12  with-textarea">
 									<div id="test2" class="demo-tree-more"></div>
 								</div>

+ 14 - 2
src/main/webapp/webpage/modules/ruralprojectrecords/ruralporjectmessage/all/ruralProjectMessageAllList.jsp

@@ -1039,14 +1039,19 @@
 						}
 						return xml;
 					}}
-                ,{align:'center', title: '电子',  width:140,templet:function(d){
+                ,{align:'left', title: '电子',  width:140,templet:function(d){
                         var st = getRuralProjectArchiveState(d.projectReportRecordStatus);
+						var noArchivedDays=d.noArchivedDays;
                         if(st.action){
 
 							var xml = "<span  title='电子归档时间:"+ d.projectReportRecordAuditDate +"' onclick=\"openDialogView('流程追踪', '${ctx}/ruralProject/ruralCostProjectMessage/getReportRecordProcessOne?id="+d.prrId+"&processInstanceId=" + d.prrProcessInstanceId + "','95%','95%')\" class=\"new-status-label status-label-" + st.label + "\" >" + st.status + "</span>";
 						}else{
 							var xml = "<span style=\"cursor:default;\" class=\"new-status-label status-label-" + st.label + "\" >" + st.status + "</span>";
 						}
+						if(noArchivedDays != null && noArchivedDays != undefined && '' != noArchivedDays){
+							xml+="<span style='margin-left: 5px;'>" + noArchivedDays + "天" + "</span>";
+						}else{
+						}
 						var de = getdefectRecordState(""+d.defectRecordStatus);
 						if (d.defectRecordStatus>0){
 							xml+="<span onclick=\"openDialogView('流程追踪', '${ctx}/ruralProject/ruralCostProjectMessage/getReportedProcessInformation?processInstanceId=" + d.pmdrProcessInstanceId + "&reportId=" + d.bid + "','95%','95%')\"  style='margin-left: 5px;' class=\"layui-badge layui-bg-orange\">缺</span>";
@@ -1069,12 +1074,13 @@
 				<%--			var xml = "<span style=\"cursor:default;\" class=\"status-label status-label-" + st.label + "\" >" + st.status + "</span>";--%>
 				<%--		return xml;--%>
 				<%--	}}--%>
-				,{align:'center', title: '纸质',  width:100,templet:function(d){
+				,{align:'left', title: '纸质',  width:100,templet:function(d){
 						if (d.submitMoney=="1"){
 							var st = getRuralProjectArchiveState(d.downProjectReportRecordStatus);
 						}else if (d.submitMoney=="2"){
 							var st = getRuralProjectArchiveState(d.paperFilingStatus);
 						}
+						var paperNoArchivedDays=d.paperNoArchivedDays;
 						if(st.action){
 							if (d.submitMoney=="1"){
 								var xml = "<span onclick=\"openDialogView('流程追踪', '${ctx}/ruralProject/ruralCostProjectMessage/getReportedProcess?processInstanceId=" + d.prrdProcessInstanceId + "','95%','95%')\" class=\"status-label status-label-" + st.label + "\" >" + st.status + "</span>";
@@ -1084,6 +1090,10 @@
 						}else{
 							var xml = "<span style=\"cursor:default;\" class=\"status-label status-label-" + st.label + "\" >" + st.status + "</span>";
 						}
+						if(paperNoArchivedDays != null && paperNoArchivedDays != undefined && '' != paperNoArchivedDays){
+							xml+="<span style='margin-left: 5px;' >" + paperNoArchivedDays + "天" + "</span>";
+						}else{
+						}
 						return xml;
 					}}
 				,{align:'center', title: '上报',  width:105,templet:function(d){
@@ -1248,6 +1258,8 @@
                     ,"reportStatus":"${projectRecords.reportStatus}"
                     ,"syncStatus":"${projectRecords.syncStatus}"
                     ,"downProjectReportRecordStatus":"${projectRecords.filingProjectStatus}"
+					,"noArchivedDays":"${projectRecords.noArchivedDays}"
+					,"paperNoArchivedDays":"${projectRecords.paperNoArchivedDays}"
                     ,"prrdProcessInstanceId":"${projectRecords.filingProcessinstanceId}"
                     ,"prrdId":"${projectRecords.prrdId}"
                     ,"emergencyProject":"${projectRecords.emergencyProject}"

+ 16 - 2
src/main/webapp/webpage/modules/ruralprojectrecords/ruralporjectmessage/ruralProjectMessageList.jsp

@@ -959,14 +959,21 @@
 							var xml = "<span style=\"cursor:default;\" class=\"new-status-label status-label-" + st.label + "\" >" + st.status + "</span>";
 						return xml;
 					}}
-                ,{align:'center', title: '电子',  width:120,templet:function(d){
+                ,{align:'left', title: '电子',  width:120,templet:function(d){
                         var st = getRuralProjectArchiveState(d.projectReportRecordStatus);
 						var de = getdefectRecordState(""+d.defectRecordStatus);
+						var noArchivedDays=d.noArchivedDays;
 						if(st.action){
 							var xml = "<span onclick=\"openDialogView('流程追踪', '${ctx}/ruralProject/ruralProjectMessage/getReportRecordProcessOne?id="+d.prrId+"&processInstanceId=" + d.prrProcessInstanceId + "','95%','95%')\" class=\"new-status-label status-label-" + st.label + "\" >" + st.status + "</span>";
 						}else{
 							var xml = "<span style=\"cursor:default;\" class=\"new-status-label status-label-" + st.label + "\" >" + st.status + "</span>";
 						}
+						if(noArchivedDays != null && noArchivedDays != undefined && '' != noArchivedDays){
+							// return "<font style = 'margin-left: 5px;' class='layui-badge layui-bg-orange'>"+noArchivedDays + '天'+"</font>";
+							xml+="<span style='margin-left: 5px;' >" + noArchivedDays + "天" + "</span>";
+						}else{
+							// return "<font style = 'margin-left: 5px;'class='layui-badge layui-bg-orange'></font>";
+						}
 						if (d.defectRecordStatus>0){
 							xml+="<span onclick=\"openDialogView('流程追踪', '${ctx}/ruralProject/ruralCostProjectMessage/getReportedProcessInformation?processInstanceId=" + d.pmdrProcessInstanceId + "&reportId=" + d.bid + "','95%','95%')\"  style='margin-left: 5px;' class=\"layui-badge layui-bg-orange\">缺</span>";
 						}
@@ -980,12 +987,13 @@
 				<%--			var xml = "<span style=\"cursor:default;\" class=\"status-label status-label-" + st.label + "\" >" + st.status + "</span>";--%>
 				<%--		return xml;--%>
 				<%--	}}--%>
-                ,{align:'center', title: '纸质',  width:110,templet:function(d){
+                ,{align:'left', title: '纸质',  width:110,templet:function(d){
 						if (d.submitMoney=="1"){
 							var st = getRuralProjectArchiveState(d.downProjectReportRecordStatus);
 						}else if (d.submitMoney=="2"){
 							var st = getRuralProjectArchiveState(d.paperFilingStatus);
 						}
+						var paperNoArchivedDays=d.paperNoArchivedDays;
                         if(st.action){
                         	if (d.submitMoney=="1"){
 								var xml = "<span onclick=\"openDialogView('流程追踪', '${ctx}/ruralProject/ruralProjectMessage/getReportedProcess?processInstanceId=" + d.prrdProcessInstanceId + "','95%','95%')\" class=\"new-status-label status-label-" + st.label + "\" >" + st.status + "</span>";
@@ -995,6 +1003,10 @@
 						}else{
 							var xml = "<span style=\"cursor:default;\" class=\"new-status-label status-label-" + st.label + "\" >" + st.status + "</span>";
 						}
+						if(paperNoArchivedDays != null && paperNoArchivedDays != undefined && '' != paperNoArchivedDays){
+							xml+="<span style='margin-left: 5px;' >" + paperNoArchivedDays + "天" + "</span>";
+						}else{
+						}
                         return xml;
                     }}
                 ,{align:'center', title: '上报',  width:110,templet:function(d){
@@ -1385,6 +1397,8 @@
 					,"pmdrId":"${projectRecords.pmdrId}"
 					,"projectReportStatusTwo":"${projectRecords.projectReportStatusTwo}"
 					,"defectRecordStatus":"${projectRecords.defectRecordStatus}"
+					,"noArchivedDays":"${projectRecords.noArchivedDays}"
+					,"paperNoArchivedDays":"${projectRecords.paperNoArchivedDays}"
 					,"prdtProcessinstanceId":"${projectRecords.prdtProcessinstanceId}"
 					,"paperFilingStatus":"${projectRecords.paperFilingStatus}"
 					,"ppfId":"${projectRecords.ppfId}"

+ 6 - 2
src/main/webapp/webpage/modules/ruralprojectrecords/subProjectInfo/subProjectInfoList.jsp

@@ -253,13 +253,17 @@
 			<li ><a href="${ctx}/ruralProject/ruralProjectView/workContractView?id=${projectRecords.workContractInfo.id}&projectId=${projectRecords.id}">客户合同详情</a></li>
 			<li><a href="${ctx}/ruralProject/ruralProjectView/planView?id=${projectRecords.id}">项目计划信息</a></li>
 			<li><a href="${ctx}/ruralProject/ruralProjectView/modify?projectId=${projectRecords.id}">质量复核信息</a></li>
-            <li><a href="${ctx}/ruralProject/ruralProjectView/reportIssue?projectId=${projectRecords.id}">报告签发信息</a></li>
+			<c:if test="${projectRecords.submitMoney eq '2'}">
+				<li><a href="${ctx}/ruralProject/ruralProjectView/reportIssue?projectId=${projectRecords.id}">报告签发信息</a></li>
+			</c:if>
 			<li><a href="${ctx}/ruralProject/ruralProjectView/getAccessoryView?id=${projectRecords.id}">档案信息</a></li>
 			<li><a href="${ctx}/ruralProject/ruralProjectView/formRecordModify?id=${projectRecords.id}">线上归档信息</a></li>
 			<%--<li><a href="${ctx}/ruralProject/ruralProjectView/searchview?id=${projectRecords.id}">选查信息详情</a></li>--%>
 			<li><a href="${ctx}/ruralProject/ruralProjectView/paperView?projectId=${projectRecords.id}&submitMoney=${projectRecords.submitMoney}">纸质归档信息</a></li>
 			<li><a href="${ctx}/ruralProject/ruralProjectView/getReportedView?projectId=${projectRecords.id}&id=${reportedId}">上报信息</a></li>
-
+			<c:if test="${projectRecords.defectRecordStatus != '0'}">
+				<li><a href="${ctx}/projectReportDefectRecord/projectReportDefectRecord/formDescription2?reportId=${projectRecords.prdId}">资料缺失说明</a></li>
+			</c:if>
 		</ul>
 <%--		<ul class="list-tabs" >--%>
 <%--			<li><a href="${ctx}/ruralProject/ruralProjectView/view?id=${projectRecords.id}">项目详情</a></li>--%>

+ 6 - 2
src/main/webapp/webpage/modules/ruralprojectrecords/view/projectAccessoryView.jsp

@@ -77,13 +77,17 @@
 			<li ><a href="${ctx}/ruralProject/ruralProjectView/workContractView?id=${projectRecords.workContractInfo.id}&projectId=${projectRecords.id}">客户合同详情</a></li>
 			<li><a href="${ctx}/ruralProject/ruralProjectView/planView?id=${projectRecords.id}">项目计划信息</a></li>
 			<li><a href="${ctx}/ruralProject/ruralProjectView/modify?projectId=${projectRecords.id}">质量复核信息</a></li>
-			<li><a href="${ctx}/ruralProject/ruralProjectView/reportIssue?projectId=${projectRecords.id}">报告签发信息</a></li>
+			<c:if test="${projectRecords.submitMoney eq '2'}">
+				<li><a href="${ctx}/ruralProject/ruralProjectView/reportIssue?projectId=${projectRecords.id}">报告签发信息</a></li>
+			</c:if>
 			<li class="active"><a href="${ctx}/ruralProject/ruralProjectView/getAccessoryView?id=${projectRecords.id}">档案信息</a></li>
 			<li><a href="${ctx}/ruralProject/ruralProjectView/formRecordModify?id=${projectRecords.id}">线上归档信息</a></li>
 <%--			<li><a href="${ctx}/ruralProject/ruralProjectView/searchview?id=${projectRecords.id}">选查信息详情</a></li>--%>
 			<li><a href="${ctx}/ruralProject/ruralProjectView/paperView?projectId=${projectRecords.id}&submitMoney=${projectRecords.submitMoney}">纸质归档信息</a></li>
 			<li><a href="${ctx}/ruralProject/ruralProjectView/getReportedView?projectId=${projectRecords.id}&id=${reportedId}">上报信息</a></li>
-
+			<c:if test="${projectRecords.defectRecordStatus != '0'}">
+				<li><a href="${ctx}/projectReportDefectRecord/projectReportDefectRecord/formDescription2?reportId=${projectRecords.prdId}">资料缺失说明</a></li>
+			</c:if>
 		</ul>
 	</div>
 	</div>

+ 7 - 2
src/main/webapp/webpage/modules/ruralprojectrecords/view/projectFilingBatchView.jsp

@@ -214,11 +214,16 @@
             <li ><a href="${ctx}/ruralProject/ruralProjectView/workContractView?id=${projectRecords.workContractInfo.id}&projectId=${projectRecords.id}">客户合同详情</a></li>
             <li><a href="${ctx}/ruralProject/ruralProjectView/planView?id=${projectRecords.id}">项目计划信息</a></li>
             <li><a href="${ctx}/ruralProject/ruralProjectView/modify?projectId=${projectRecords.id}">质量复核信息</a></li>
-            <li><a href="${ctx}/ruralProject/ruralProjectView/reportIssue?projectId=${projectRecords.id}">报告签发信息</a></li>
+            <c:if test="${projectRecords.submitMoney eq '2'}">
+                <li><a href="${ctx}/ruralProject/ruralProjectView/reportIssue?projectId=${projectRecords.id}">报告签发信息</a></li>
+            </c:if>
             <li><a href="${ctx}/ruralProject/ruralProjectView/getAccessoryView?id=${projectRecords.id}">档案信息</a></li>
             <li><a href="${ctx}/ruralProject/ruralProjectView/formRecordModify?id=${projectRecords.id}">线上归档信息</a></li>
             <li class="active"><a href="${ctx}/ruralProject/ruralProjectView/paperView?projectId=${projectRecords.id}&submitMoney=${projectRecords.submitMoney}">纸质归档信息</a></li>
             <li><a href="${ctx}/ruralProject/ruralProjectView/getReportedView?projectId=${projectRecords.id}&id=${reportedId}">上报信息</a></li>
+            <c:if test="${projectRecords.defectRecordStatus != '0'}">
+                <li><a href="${ctx}/projectReportDefectRecord/projectReportDefectRecord/formDescription2?reportId=${projectRecords.prdId}">资料缺失说明</a></li>
+            </c:if>
         </ul>
     </div>
 </div>
@@ -338,4 +343,4 @@
 
 </script>
 </body>
-</html>
+</html>

+ 6 - 1
src/main/webapp/webpage/modules/ruralprojectrecords/view/projectPlanView.jsp

@@ -147,12 +147,17 @@
             <li ><a href="${ctx}/ruralProject/ruralProjectView/workContractView?id=${projectRecords.workContractInfo.id}&projectId=${projectRecords.id}">客户合同详情</a></li>
             <li class="active"><a href="${ctx}/ruralProject/ruralProjectView/planView?id=${projectRecords.id}">项目计划信息</a></li>
             <li><a href="${ctx}/ruralProject/ruralProjectView/modify?projectId=${projectRecords.id}">质量复核信息</a></li>
-            <li><a href="${ctx}/ruralProject/ruralProjectView/reportIssue?projectId=${projectRecords.id}">报告签发信息</a></li>
+            <c:if test="${projectRecords.submitMoney eq '2'}">
+                <li><a href="${ctx}/ruralProject/ruralProjectView/reportIssue?projectId=${projectRecords.id}">报告签发信息</a></li>
+            </c:if>
             <li><a href="${ctx}/ruralProject/ruralProjectView/getAccessoryView?id=${projectRecords.id}">档案信息</a></li>
             <li><a href="${ctx}/ruralProject/ruralProjectView/formRecordModify?id=${projectRecords.id}">线上归档信息</a></li>
 <%--            <li><a href="${ctx}/ruralProject/ruralProjectView/searchview?id=${projectRecords.id}">选查信息详情</a></li>--%>
             <li><a href="${ctx}/ruralProject/ruralProjectView/paperView?projectId=${projectRecords.id}&submitMoney=${projectRecords.submitMoney}">纸质归档信息</a></li>
             <li><a href="${ctx}/ruralProject/ruralProjectView/getReportedView?projectId=${projectRecords.id}&id=${reportedId}">上报信息</a></li>
+            <c:if test="${projectRecords.defectRecordStatus != '0'}">
+                <li><a href="${ctx}/projectReportDefectRecord/projectReportDefectRecord/formDescription2?reportId=${projectRecords.prdId}">资料缺失说明</a></li>
+            </c:if>
         </ul>
     </div>
     </div>

+ 7 - 3
src/main/webapp/webpage/modules/ruralprojectrecords/view/projectReportRecordView.jsp

@@ -193,13 +193,17 @@
 				<li ><a href="${ctx}/ruralProject/ruralProjectView/workContractView?id=${projectRecords.workContractInfo.id}&projectId=${projectRecords.id}">客户合同详情</a></li>
 				<li><a href="${ctx}/ruralProject/ruralProjectView/planView?id=${projectRecords.id}">项目计划信息</a></li>
 				<li><a href="${ctx}/ruralProject/ruralProjectView/modify?projectId=${projectRecords.id}">质量复核信息</a></li>
-				<li><a href="${ctx}/ruralProject/ruralProjectView/reportIssue?projectId=${projectRecords.id}">报告签发信息</a></li>
+				<c:if test="${projectRecords.submitMoney eq '2'}">
+					<li><a href="${ctx}/ruralProject/ruralProjectView/reportIssue?projectId=${projectRecords.id}">报告签发信息</a></li>
+				</c:if>
 				<li><a href="${ctx}/ruralProject/ruralProjectView/getAccessoryView?id=${projectRecords.id}">档案信息</a></li>
 				<li class="active"><a href="${ctx}/ruralProject/ruralProjectView/formRecordModify?id=${projectRecords.id}">线上归档信息</a></li>
 <%--				<li><a href="${ctx}/ruralProject/ruralProjectView/searchview?id=${projectRecords.id}">选查信息详情</a></li>--%>
 				<li><a href="${ctx}/ruralProject/ruralProjectView/paperView?projectId=${projectRecords.id}&submitMoney=${projectRecords.submitMoney}">纸质归档信息</a></li>
 				<li><a href="${ctx}/ruralProject/ruralProjectView/getReportedView?projectId=${projectRecords.id}&id=${reportedId}">上报信息</a></li>
-
+				<c:if test="${projectRecords.defectRecordStatus != '0'}">
+					<li><a href="${ctx}/projectReportDefectRecord/projectReportDefectRecord/formDescription2?reportId=${projectRecords.prdId}">资料缺失说明</a></li>
+				</c:if>
 			</ul>
 		</div>
 	</div>
@@ -864,4 +868,4 @@
 	}
 </script>--%>
 </body>
-</html>
+</html>

+ 3 - 1
src/main/webapp/webpage/modules/ruralprojectrecords/view/reportIssueView.jsp

@@ -175,7 +175,9 @@
 <%--				<li><a href="${ctx}/ruralProject/ruralProjectView/searchview?id=${projectRecords.id}">选查信息详情</a></li>--%>
 				<li><a href="${ctx}/ruralProject/ruralProjectView/paperView?projectId=${projectRecords.id}&submitMoney=${projectRecords.submitMoney}">纸质归档信息</a></li>
 				<li><a href="${ctx}/ruralProject/ruralProjectView/getReportedView?projectId=${projectRecords.id}&id=${reportedId}">上报信息</a></li>
-
+				<c:if test="${projectRecords.defectRecordStatus != '0'}">
+					<li><a href="${ctx}/projectReportDefectRecord/projectReportDefectRecord/formDescription2?reportId=${projectRecords.prdId}">资料缺失说明</a></li>
+				</c:if>
 			</ul>
 		</div>
 	</div>

+ 6 - 2
src/main/webapp/webpage/modules/ruralprojectrecords/view/reportView.jsp

@@ -303,13 +303,17 @@
 				<li><a href="${ctx}/ruralProject/ruralProjectView/workContractView?id=${projectRecords.workContractInfo.id}&projectId=${projectRecords.id}">客户合同详情</a></li>
 				<li><a href="${ctx}/ruralProject/ruralProjectView/planView?id=${projectRecords.id}">项目计划信息</a></li>
 				<li class="active"><a href="${ctx}/ruralProject/ruralProjectView/modify?projectId=${projectRecords.id}">质量复核信息</a></li>
-				<li><a href="${ctx}/ruralProject/ruralProjectView/reportIssue?projectId=${projectRecords.id}">报告签发信息</a></li>
+				<c:if test="${projectRecords.submitMoney eq '2'}">
+					<li><a href="${ctx}/ruralProject/ruralProjectView/reportIssue?projectId=${projectRecords.id}">报告签发信息</a></li>
+				</c:if>
 				<li><a href="${ctx}/ruralProject/ruralProjectView/getAccessoryView?id=${projectRecords.id}">档案信息</a></li>
 				<li><a href="${ctx}/ruralProject/ruralProjectView/formRecordModify?id=${projectRecords.id}">线上归档信息</a></li>
 <%--				<li><a href="${ctx}/ruralProject/ruralProjectView/searchview?id=${projectRecords.id}">选查信息详情</a></li>--%>
 				<li><a href="${ctx}/ruralProject/ruralProjectView/paperView?projectId=${projectRecords.id}&submitMoney=${projectRecords.submitMoney}">纸质归档信息</a></li>
 				<li><a href="${ctx}/ruralProject/ruralProjectView/getReportedView?projectId=${projectRecords.id}&id=${reportedId}">上报信息</a></li>
-
+				<c:if test="${projectRecords.defectRecordStatus != '0'}">
+					<li><a href="${ctx}/projectReportDefectRecord/projectReportDefectRecord/formDescription2?reportId=${projectRecords.prdId}">资料缺失说明</a></li>
+				</c:if>
 			</ul>
 		</div>
 	</div>

+ 6 - 2
src/main/webapp/webpage/modules/ruralprojectrecords/view/reportedView.jsp

@@ -119,13 +119,17 @@
             <li ><a href="${ctx}/ruralProject/ruralProjectView/workContractView?id=${projectRecords.workContractInfo.id}&projectId=${projectRecords.id}">客户合同详情</a></li>
             <li><a href="${ctx}/ruralProject/ruralProjectView/planView?id=${projectRecords.id}">项目计划信息</a></li>
             <li><a href="${ctx}/ruralProject/ruralProjectView/modify?projectId=${projectRecords.id}">质量复核信息</a></li>
-            <li><a href="${ctx}/ruralProject/ruralProjectView/reportIssue?projectId=${projectRecords.id}">报告签发信息</a></li>
+            <c:if test="${projectRecords.submitMoney eq '2'}">
+                <li><a href="${ctx}/ruralProject/ruralProjectView/reportIssue?projectId=${projectRecords.id}">报告签发信息</a></li>
+            </c:if>
             <li><a href="${ctx}/ruralProject/ruralProjectView/getAccessoryView?id=${projectRecords.id}">档案信息</a></li>
             <li><a href="${ctx}/ruralProject/ruralProjectView/formRecordModify?id=${projectRecords.id}">线上归档信息</a></li>
 <%--            <li><a href="${ctx}/ruralProject/ruralProjectView/searchview?id=${projectRecords.id}">选查信息详情</a></li>--%>
             <li><a href="${ctx}/ruralProject/ruralProjectView/paperView?projectId=${projectRecords.id}&submitMoney=${projectRecords.submitMoney}">纸质归档信息</a></li>
             <li class="active"><a href="${ctx}/ruralProject/ruralProjectView/getReportedView?projectId=${projectRecords.id}&id=${reportedId}">上报信息</a></li>
-
+            <c:if test="${projectRecords.defectRecordStatus != '0'}">
+                <li><a href="${ctx}/projectReportDefectRecord/projectReportDefectRecord/formDescription2?reportId=${projectRecords.prdId}">资料缺失说明</a></li>
+            </c:if>
         </ul>
 <%--        <ul class="list-tabs" >--%>
 <%--            <li><a href="${ctx}/ruralProject/ruralProjectView/view?id=${projectRecords.id}">项目详情</a></li>--%>

+ 6 - 1
src/main/webapp/webpage/modules/ruralprojectrecords/view/ruralProjectRecordsView.jsp

@@ -95,12 +95,17 @@
 			<li><a href="${ctx}/ruralProject/ruralProjectView/workContractView?id=${projectRecords.workContractInfo.id}&projectId=${projectRecords.id}">客户合同详情</a></li>
 			<li><a href="${ctx}/ruralProject/ruralProjectView/planView?id=${projectRecords.id}">项目计划信息</a></li>
 			<li><a href="${ctx}/ruralProject/ruralProjectView/modify?projectId=${projectRecords.id}">质量复核信息</a></li>
-			<li><a href="${ctx}/ruralProject/ruralProjectView/reportIssue?projectId=${projectRecords.id}">报告签发信息</a></li>
+			<c:if test="${projectRecords.submitMoney eq '2'}">
+				<li><a href="${ctx}/ruralProject/ruralProjectView/reportIssue?projectId=${projectRecords.id}">报告签发信息</a></li>
+			</c:if>
 			<li><a href="${ctx}/ruralProject/ruralProjectView/getAccessoryView?id=${projectRecords.id}">档案信息</a></li>
 			<li><a href="${ctx}/ruralProject/ruralProjectView/formRecordModify?id=${projectRecords.id}">线上归档信息</a></li>
 <%--			<li><a href="${ctx}/ruralProject/ruralProjectView/searchview?id=${projectRecords.id}">选查信息详情</a></li>--%>
 			<li><a href="${ctx}/ruralProject/ruralProjectView/paperView?projectId=${projectRecords.id}&submitMoney=${projectRecords.submitMoney}">纸质归档信息</a></li>
 			<li><a href="${ctx}/ruralProject/ruralProjectView/getReportedView?projectId=${projectRecords.id}&id=${reportedId}">上报信息</a></li>
+			<c:if test="${projectRecords.defectRecordStatus != '0'}">
+				<li><a href="${ctx}/projectReportDefectRecord/projectReportDefectRecord/formDescription2?reportId=${projectRecords.prdId}">资料缺失说明</a></li>
+			</c:if>
 		</ul>
 	</div>
 	</div>

+ 6 - 1
src/main/webapp/webpage/modules/ruralprojectrecords/view/workClientAndContractView.jsp

@@ -26,12 +26,17 @@
             <li  class="active"><a href="${ctx}/ruralProject/ruralProjectView/workContractView?id=${projectRecords.workContractInfo.id}&projectId=${projectRecords.id}">客户合同详情</a></li>
             <li><a href="${ctx}/ruralProject/ruralProjectView/planView?id=${projectRecords.id}">项目计划信息</a></li>
             <li><a href="${ctx}/ruralProject/ruralProjectView/modify?projectId=${projectRecords.id}">质量复核信息</a></li>
-            <li><a href="${ctx}/ruralProject/ruralProjectView/reportIssue?projectId=${projectRecords.id}">报告签发信息</a></li>
+            <c:if test="${projectRecords.submitMoney eq '2'}">
+                <li><a href="${ctx}/ruralProject/ruralProjectView/reportIssue?projectId=${projectRecords.id}">报告签发信息</a></li>
+            </c:if>
             <li><a href="${ctx}/ruralProject/ruralProjectView/getAccessoryView?id=${projectRecords.id}">档案信息</a></li>
             <li><a href="${ctx}/ruralProject/ruralProjectView/formRecordModify?id=${projectRecords.id}">线上归档信息</a></li>
 <%--            <li><a href="${ctx}/ruralProject/ruralProjectView/searchview?id=${projectRecords.id}">选查信息详情</a></li>--%>
             <li><a href="${ctx}/ruralProject/ruralProjectView/paperView?projectId=${projectRecords.id}&submitMoney=${projectRecords.submitMoney}">纸质归档信息</a></li>
             <li><a href="${ctx}/ruralProject/ruralProjectView/getReportedView?projectId=${projectRecords.id}&id=${reportedId}">上报信息</a></li>
+            <c:if test="${projectRecords.defectRecordStatus != '0'}">
+                <li><a href="${ctx}/projectReportDefectRecord/projectReportDefectRecord/formDescription2?reportId=${projectRecords.prdId}">资料缺失说明</a></li>
+            </c:if>
         </ul>
     </div>
     </div>

+ 257 - 5
src/main/webapp/webpage/modules/workreimbursement/workReimbursementInformationTrack.jsp

@@ -5,8 +5,59 @@
 	<title>报销流程</title>
 	<meta name="decorator" content="default"/>
 	<script type="text/javascript" src="${ctxStatic}/layui/layui.js"></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>
 	<link rel='stylesheet' type="text/css" href="${ctxStatic}/layui/css/layui.css"/>
+	<link href="${ctxStatic}/layer-v2.3/layui/tableTree/treetable.css" rel="stylesheet"/>
+	<script type="text/javascript" src="${ctxStatic}/layui/layuidown.js"></script>
+	<%@include file="/webpage/include/treetable.jsp" %>
+
+	<script type="text/javascript">
+
+		layui.use(['tree', 'util'], function() {
+			console.log('进来了')
+			var reportId = "${projectMaterialDefectRecord.reportId}"
+			var id = "${projectMaterialDefectRecord.id}"
+			var test = 'test'
+			// console.log('reportId', reportId)
+			// console.log('id', id)
+			let re = [];
+			$.ajax({
+				//几个参数需要注意一下
+				type: "post",//方法类型
+				dataType: "json",//预期服务器返回的数据类型
+				url: '${ctx}/projectReportDefectRecord/projectReportDefectRecord/getZuzhi',
+				data: {"reportId": reportId,"id": id, "biaoJi": test},
+				success: function (result) {
+					console.log('result', result)
+					re=result;
+					// var tree = layui.tree;
+					// var util = layui.util
+					var tree = layui.tree
+							, layer = layui.layer
+							, util = layui.util
+							, data = re
+					// , data = [{
+					// id: 1,
+					// title: '成果文件'
+					// , children: re}]
+					console.log('tree', tree)
+					tree.render({
+						elem: '#test2'
+						,data: data
+						,showCheckbox: false  //是否显示复选框
+						,id: 'demoId1'
+						,isJump: false //是否允许点击节点时弹出新窗口跳转
+					});
+				},
+				error : function(e) {
+					alert("发生未知错误!");
+				}
+			});
+		});
+	</script>
 </head>
+
 <body class="gray-bg">
 <div class="container form layui-form">
 		<act:flowChart procInsId="${processInstanceId}"/>
@@ -17,13 +68,214 @@
 		<form:form id="inputForm" modelAttribute="projectMaterialDefectRecord" class="form-horizontal layui-form">
 		<form:hidden path="id"/>
 		<div class="form-group layui-row first">
-			<div class="layui-item layui-col-sm12  with-textarea">
-				<label class="layui-form-label double-line">资料缺失说明:</label>
-				<div class="layui-input-block">
-					<form:textarea path="remarks" htmlEscape="false" rows="8" maxlength="255" readonly="true" class="form-control"/>
+<%--			<div class="layui-item layui-col-sm12  with-textarea">--%>
+<%--				<label class="layui-form-label double-line">资料缺失说明:</label>--%>
+<%--				<div class="layui-input-block">--%>
+<%--					<form:textarea path="remarks" htmlEscape="false" rows="8" maxlength="255" readonly="true" class="form-control"/>--%>
+<%--				</div>--%>
+<%--			</div>--%>
+				<div class="form-group layui-row first lw12">
+					<div class="form-group-label"><h2>资料缺失说明</h2></div>
+
+					<div class="layui-item layui-col-sm6 lw7">
+						<label class="layui-form-label"><span class="require-item">*</span>短期/永久:</label>
+						<div class="layui-input-block">
+							<input type="radio" title="短期" lay-filter="ext" disabled name="hiatus" id="hiatus1" value="0" <c:if test="${projectMaterialDefectRecord.hiatus=='0'}">checked</c:if>>
+							<input type="radio" title="永久" lay-filter="ext" disabled name="hiatus" id="hiatus2" value="1" <c:if test="${projectMaterialDefectRecord.hiatus=='1'}">checked</c:if>>
+						</div>
+					</div>
+					<div class="layui-item layui-col-sm12  with-textarea">
+						<label class="layui-form-label">资料缺失说明:</label>
+						<div class="layui-input-block">
+							<form:textarea placeholder="请输入资料缺失说明:" path="remarks" htmlEscape="false" rows="8"
+										   maxlength="255" class="form-control required"/>
+						</div>
+					</div>
 				</div>
-			</div>
+				<div class="form-group layui-row first lw12">
+					<div class="form-group-label"><h2>资料缺失文件类型</h2></div>
+					<div class="layui-item layui-col-sm12  with-textarea">
+						<div id="test2" class="demo-tree-more"></div>
+					</div>
+				</div>
+				<div class="form-group layui-row">
+					<div class="form-group-label"><h2>说明扫描件</h2></div>
+					<div id="addFile_attachment" style="display: none" class="upload-progress">
+						<span id="fileName_attachment" ></span>
+						<b><span id="baifenbi_attachment" ></span></b>
+						<div class="progress">
+							<div id="jindutiao_attachment" class="progress-bar" style="width: 0%" aria-valuenow="0">
+							</div>
+						</div>
+					</div>
+					<input id="attachment_file" type="file" name="attachment_file" multiple="multiple" style="display: none;" onChange="if(this.value)insertTitle(this.value);"/>
+					<span id="attachment_title"></span>
+					<div class="layui-item layui-col-xs12" style="padding:0 16px;">
+						<table id="listAttachment" class="table table-bordered table-condensed details">
+							<thead>
+							<tr>
+									<%-- <th>序号</th>--%>
+								<th>文件预览</th>
+								<th>上传人</th>
+								<th>上传时间</th>
+								<th width="200px">操作</th>
+							</tr>
+							</thead>
+							<tbody id="file_attachment">
+							<c:forEach items="${projectMaterialDefectRecord.workAttachments}" var = "workClientAttachment" varStatus="status">
+								<tr>
+
+										<%-- <td>${status.index + 1}</td>--%>
+									<c:choose>
+										<c:when test="${projectMaterialDefectRecord.uploadMode == 2}">
+											<c:choose>
+												<c:when test="${fn:containsIgnoreCase(workClientAttachment.attachmentName,'jpg')
+																	   or fn:containsIgnoreCase(workClientAttachment.attachmentName,'png')
+																	   or fn:containsIgnoreCase(workClientAttachment.attachmentName,'gif')
+																	   or fn:containsIgnoreCase(workClientAttachment.attachmentName,'bmp')
+																	   or fn:containsIgnoreCase(workClientAttachment.attachmentName,'jpeg')}">
+													<td><img src="${workClientAttachment.temporaryUrl}" width="50" height="50" onclick="openDialogView('预览','${ctx}/sys/picturepreview/picturePreview?url=${workClientAttachment.temporaryUrl}','90%','90%')" alt="${workClientAttachment.attachmentName}">
+												</c:when>
+												<c:otherwise>
+													<c:choose>
+														<c:when test="${fn:containsIgnoreCase(workClientAttachment.attachmentName,'pdf')}">
+															<td><a class="attention-info" href="javascript:void(0)" onclick="openPreview('${workClientAttachment.temporaryUrl}',1)">${workClientAttachment.attachmentName}</a></td>
+														</c:when>
+														<c:otherwise>
+															<c:choose>
+																<c:when test="${fn:containsIgnoreCase(workClientAttachment.attachmentName,'rar')
+																   or fn:containsIgnoreCase(workClientAttachment.attachmentName,'zip')
+																   or fn:containsIgnoreCase(workClientAttachment.attachmentName,'jar')
+																   or fn:containsIgnoreCase(workClientAttachment.attachmentName,'7z')}">
+																	<td><a class="attention-info" href="javascript:void(0)" onclick="openPreview('${workClientAttachment.temporaryUrl}',3)">${workClientAttachment.attachmentName}</a></td>
+																</c:when>
+																<c:otherwise>
+																	<td><a class="attention-info" href="javascript:void(0)" onclick="openPreview('${workClientAttachment.temporaryUrl}',2)">${workClientAttachment.attachmentName}</a></td>
+																</c:otherwise>
+															</c:choose>
+														</c:otherwise>
+													</c:choose>
+												</c:otherwise>
+											</c:choose>
+										</c:when>
+										<c:otherwise>
+											<c:choose>
+												<c:when test="${fn:containsIgnoreCase(workClientAttachment.attachmentName,'jpg')
+																	   or fn:containsIgnoreCase(workClientAttachment.attachmentName,'png')
+																	   or fn:containsIgnoreCase(workClientAttachment.attachmentName,'gif')
+																	   or fn:containsIgnoreCase(workClientAttachment.attachmentName,'bmp')
+																	   or fn:containsIgnoreCase(workClientAttachment.attachmentName,'jpeg')}">
+													<td><img src="${workClientAttachment.url}" width="50" height="50" onclick="openDialogView('预览','${ctx}/sys/picturepreview/picturePreview?url=${workClientAttachment.url}','90%','90%')" alt="${workClientAttachment.attachmentName}">
+												</c:when>
+												<c:otherwise>
+													<c:choose>
+														<c:when test="${fn:containsIgnoreCase(workClientAttachment.attachmentName,'pdf')}">
+															<td><a class="attention-info" href="javascript:void(0)" onclick="openPreview('${workClientAttachment.url}',1)">${workClientAttachment.attachmentName}</a></td>
+														</c:when>
+														<c:otherwise>
+															<c:choose>
+																<c:when test="${projectMaterialDefectRecord.uploadMode == 2}">
+																	<c:choose>
+																		<c:when test="${fn:containsIgnoreCase(workClientAttachment.attachmentName,'jpg')
+												   or fn:containsIgnoreCase(workClientAttachment.attachmentName,'png')
+												   or fn:containsIgnoreCase(workClientAttachment.attachmentName,'gif')
+												   or fn:containsIgnoreCase(workClientAttachment.attachmentName,'bmp')
+												   or fn:containsIgnoreCase(workClientAttachment.attachmentName,'jpeg')}">
+																			<td><img src="${workClientAttachment.temporaryUrl}" width="50" height="50" onclick="openDialogView('预览','${ctx}/sys/picturepreview/picturePreview?url=${workClientAttachment.temporaryUrl}','90%','90%')" alt="${workClientAttachment.attachmentName}">
+																		</c:when>
+																		<c:otherwise>
+																			<c:choose>
+																				<c:when test="${fn:containsIgnoreCase(workClientAttachment.attachmentName,'pdf')}">
+																					<td><a class="attention-info" href="javascript:void(0)" onclick="openPreview('${workClientAttachment.temporaryUrl}',1)">${workClientAttachment.attachmentName}</a></td>
+																				</c:when>
+																				<c:otherwise>
+																					<c:choose>
+																						<c:when test="${fn:containsIgnoreCase(workClientAttachment.attachmentName,'rar')
+																   or fn:containsIgnoreCase(workClientAttachment.attachmentName,'zip')
+																   or fn:containsIgnoreCase(workClientAttachment.attachmentName,'jar')
+																   or fn:containsIgnoreCase(workClientAttachment.attachmentName,'7z')}">
+																							<td><a class="attention-info" href="javascript:void(0)" onclick="openPreview('${workClientAttachment.temporaryUrl}',3)">${workClientAttachment.attachmentName}</a></td>
+																						</c:when>
+																						<c:otherwise>
+																							<td><a class="attention-info" href="javascript:void(0)" onclick="openPreview('${workClientAttachment.temporaryUrl}',2)">${workClientAttachment.attachmentName}</a></td>
+																						</c:otherwise>
+																					</c:choose>
+																				</c:otherwise>
+																			</c:choose>
+																		</c:otherwise>
+																	</c:choose>
+																</c:when>
+																<c:otherwise>
+																	<c:choose>
+																		<c:when test="${fn:containsIgnoreCase(workClientAttachment.attachmentName,'jpg')
+															   or fn:containsIgnoreCase(workClientAttachment.attachmentName,'png')
+															   or fn:containsIgnoreCase(workClientAttachment.attachmentName,'gif')
+															   or fn:containsIgnoreCase(workClientAttachment.attachmentName,'bmp')
+															   or fn:containsIgnoreCase(workClientAttachment.attachmentName,'jpeg')}">
+																			<td><img src="${workClientAttachment.url}" width="50" height="50" onclick="openDialogView('预览','${ctx}/sys/picturepreview/picturePreview?url=${workClientAttachment.url}','90%','90%')" alt="${workClientAttachment.attachmentName}">
+																		</c:when>
+																		<c:otherwise>
+																			<c:choose>
+																				<c:when test="${fn:containsIgnoreCase(workClientAttachment.attachmentName,'pdf')}">
+																					<td><a href="javascript:void(0)" onclick="openPreview('${workClientAttachment.url}',1)">${workClientAttachment.attachmentName}</a></td>
+																				</c:when>
+																				<c:otherwise>
+																					<c:choose>
+																						<c:when test="${fn:containsIgnoreCase(workClientAttachment.attachmentName,'rar')
+																   or fn:containsIgnoreCase(workClientAttachment.attachmentName,'zip')
+																   or fn:containsIgnoreCase(workClientAttachment.attachmentName,'jar')
+																   or fn:containsIgnoreCase(workClientAttachment.attachmentName,'7z')}">
+																							<td><a class="attention-info" href="javascript:void(0)" onclick="openPreview('${workClientAttachment.url}',3)">${workClientAttachment.attachmentName}</a></td>
+																						</c:when>
+																						<c:otherwise>
+																							<td><a class="attention-info" href="javascript:void(0)" onclick="openPreview('${workClientAttachment.url}',2)">${workClientAttachment.attachmentName}</a></td>
+																						</c:otherwise>
+																					</c:choose>
+																				</c:otherwise>
+																			</c:choose>
+																		</c:otherwise>
+																	</c:choose>
+																</c:otherwise>
+															</c:choose>
+														</c:otherwise>
+													</c:choose>
+												</c:otherwise>
+											</c:choose>
+										</c:otherwise>
+									</c:choose>
 
+									<td>${workClientAttachment.createBy.name}</td>
+									<td><fmt:formatDate value="${workClientAttachment.createDate}" type="both"/></td>
+									<td class="op-td">
+										<div class="op-btn-box" >
+												<%--附件下载删除--%>
+											<c:choose>
+												<c:when test="${projectMaterialDefectRecord.uploadMode == 2}">
+													<c:choose>
+														<c:when test="${fn:containsIgnoreCase(workClientAttachment.attachmentName,'pdf')}">
+															<a href="${workClientAttachment.temporaryUrl}" target="_blank" class="op-btn op-btn-download"><i class="fa fa-download"></i>&nbsp;下载</a>
+														</c:when>
+														<c:otherwise>
+															<a href="${workClientAttachment.temporaryUrl}" class="op-btn op-btn-download"><i class="fa fa-download"></i>&nbsp;下载</a>
+														</c:otherwise>
+													</c:choose>
+												</c:when>
+												<c:otherwise>
+													<a href="javascript:location.href='${ctx}/workfullmanage/workFullManage/downLoadAttach?file='+encodeURIComponent('${workClientAttachment.url}');" class="op-btn op-btn-download"><i class="fa fa-download"></i>&nbsp;下载</a>
+												</c:otherwise>
+											</c:choose>
+											<c:if test="${workClientAttachment.collectFlag != 1}">
+												<a href="javascript:void(0)" onclick="collectingAccessory(this,'${ctx}/projectAccessory/projectAccessory/saveCollectAccessory','${workClientAttachment.url}','${workClientAttachment.createBy.id}','${workClientAttachment.fileSize}')" class="op-btn op-btn-delete" style="background-color: #FFB800"><i class="layui-icon layui-icon-rate"></i>&nbsp;收藏</a>
+											</c:if>
+
+										</div>
+									</td>
+								</tr>
+							</c:forEach>
+							</tbody>
+						</table>
+					</div>
+				</div>
 
 
 			<div class="form-group layui-row page-end"></div>